teddy-cli 0.1.17.dev1342__tar.gz → 0.1.17.dev1344__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.
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +8 -3
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/container.py +5 -4
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/interrupt_guard.py +12 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/README.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/session_notices.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/MRP.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -16,12 +16,12 @@ from __future__ import annotations
|
|
|
16
16
|
import importlib
|
|
17
17
|
import os
|
|
18
18
|
import select
|
|
19
|
-
import signal
|
|
20
19
|
import sys
|
|
21
20
|
import threading
|
|
22
21
|
from typing import Any, Optional, cast
|
|
23
22
|
|
|
24
23
|
from teddy_executor.core.ports.outbound.quit_key_listener import QuitCallback
|
|
24
|
+
from teddy_executor.core.utils.interrupt_guard import raise_interrupt
|
|
25
25
|
from teddy_executor.core.utils.stdin_ownership import is_stdin_owned
|
|
26
26
|
from teddy_executor.core.utils.terminal import restore_cooked_mode
|
|
27
27
|
|
|
@@ -150,8 +150,13 @@ class TerminalQuitKeyListener:
|
|
|
150
150
|
self._trigger()
|
|
151
151
|
|
|
152
152
|
def _trigger(self) -> None:
|
|
153
|
-
"""Invoke the injected hook, or self-deliver SIGINT by default.
|
|
153
|
+
"""Invoke the injected hook, or self-deliver SIGINT by default.
|
|
154
|
+
|
|
155
|
+
The default branch uses the shared ``raise_interrupt`` primitive so
|
|
156
|
+
the installed guard handler runs on every platform. ``os.kill`` would
|
|
157
|
+
terminate the process on Windows before the handler runs.
|
|
158
|
+
"""
|
|
154
159
|
if self._on_quit is not None:
|
|
155
160
|
self._on_quit()
|
|
156
161
|
return
|
|
157
|
-
|
|
162
|
+
raise_interrupt()
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import os
|
|
4
|
-
import signal
|
|
5
3
|
import time
|
|
6
4
|
|
|
7
5
|
import punq
|
|
@@ -41,10 +39,13 @@ def _record_quit_source(container: punq.Container) -> None:
|
|
|
41
39
|
default `Ctrl+C`; the self-delivered SIGINT then drives the shared guard's
|
|
42
40
|
already-tested WAITING/EXECUTING branch unchanged.
|
|
43
41
|
"""
|
|
44
|
-
from teddy_executor.core.utils.interrupt_guard import
|
|
42
|
+
from teddy_executor.core.utils.interrupt_guard import (
|
|
43
|
+
InterruptGuard,
|
|
44
|
+
raise_interrupt,
|
|
45
|
+
)
|
|
45
46
|
|
|
46
47
|
container.resolve(InterruptGuard).record_source("q")
|
|
47
|
-
|
|
48
|
+
raise_interrupt()
|
|
48
49
|
|
|
49
50
|
|
|
50
51
|
def _register_services(container: punq.Container) -> None:
|
|
@@ -121,3 +121,15 @@ class InterruptGuard:
|
|
|
121
121
|
finally:
|
|
122
122
|
self._executing = False
|
|
123
123
|
self._first_signal_at = None
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def raise_interrupt() -> None:
|
|
127
|
+
"""Deliver SIGINT in-process so the installed handler runs on every platform.
|
|
128
|
+
|
|
129
|
+
``os.kill(os.getpid(), signal.SIGINT)`` terminates the process on Windows
|
|
130
|
+
through ``TerminateProcess`` instead of invoking the Python SIGINT handler,
|
|
131
|
+
which suppresses the interrupt notice. ``signal.raise_signal`` uses the
|
|
132
|
+
process-level CRT raise path and reaches the handler from the main thread
|
|
133
|
+
and from a reader thread on every platform.
|
|
134
|
+
"""
|
|
135
|
+
signal.raise_signal(signal.SIGINT)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/adapters/__init__.py
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
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/__init__.py
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
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/domain/models/plan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/ports/inbound/init.py
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
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/services/__init__.py
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
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/paths.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/__init__.py
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
|
{teddy_cli-0.1.17.dev1342 → teddy_cli-0.1.17.dev1344}/src/teddy_executor/resources/templates/ci.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|