teddy-cli 0.1.17.dev1402__tar.gz → 0.1.17.dev1403__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.dev1402 → teddy_cli-0.1.17.dev1403}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +35 -13
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/README.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/editor_names.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/session_notices.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/MRP.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -285,6 +285,7 @@ def _run_health_checks(config_service: IConfigService) -> None:
|
|
|
285
285
|
_GIT_PULL_TIMEOUT_SECONDS = 15
|
|
286
286
|
_PULL_SKIPPED_WARNING = "⚠ Workspace pull skipped; continuing with the current branch."
|
|
287
287
|
_PULL_TIMEOUT_WARNING = "⚠ Workspace pull timed out; continuing without it."
|
|
288
|
+
_PULL_GIT_UNAVAILABLE_WARNING = "⚠ Workspace pull skipped; git is unavailable."
|
|
288
289
|
_IN_PROGRESS_GIT_MARKERS = (
|
|
289
290
|
"rebase-merge",
|
|
290
291
|
"rebase-apply",
|
|
@@ -293,6 +294,16 @@ _IN_PROGRESS_GIT_MARKERS = (
|
|
|
293
294
|
)
|
|
294
295
|
|
|
295
296
|
|
|
297
|
+
def _warn_pull(message: str) -> None:
|
|
298
|
+
"""Print one yellow pull warning followed by a blank line.
|
|
299
|
+
|
|
300
|
+
The trailing blank line keeps every pull block, success or warning, the
|
|
301
|
+
same height before the ``Checking configurations...`` line.
|
|
302
|
+
"""
|
|
303
|
+
typer.secho(message, fg=typer.colors.YELLOW, err=True)
|
|
304
|
+
typer.echo("", err=True)
|
|
305
|
+
|
|
306
|
+
|
|
296
307
|
def _pull_workspace_on_start(
|
|
297
308
|
config_service: IConfigService,
|
|
298
309
|
run_func: Optional[Callable[..., Any]] = None,
|
|
@@ -303,8 +314,9 @@ def _pull_workspace_on_start(
|
|
|
303
314
|
a Git repository, so a disabled toggle or a non-repository directory stays
|
|
304
315
|
silent. A detached HEAD, a missing upstream, or an in-progress operation
|
|
305
316
|
also stays silent, because there is nothing safe to fast-forward. A dirty
|
|
306
|
-
worktree
|
|
307
|
-
unchanged. A successful fast-forward
|
|
317
|
+
worktree, a failed pull, a timeout, or an unavailable git binary reports
|
|
318
|
+
one warning and leaves the workspace unchanged. A successful fast-forward
|
|
319
|
+
names the number of commits it moved.
|
|
308
320
|
|
|
309
321
|
The Git process is injected through ``run_func`` so every decision is
|
|
310
322
|
testable without spawning a real repository.
|
|
@@ -317,7 +329,9 @@ def _pull_workspace_on_start(
|
|
|
317
329
|
try:
|
|
318
330
|
_fast_forward_workspace(git_run)
|
|
319
331
|
except subprocess.TimeoutExpired:
|
|
320
|
-
|
|
332
|
+
_warn_pull(_PULL_TIMEOUT_WARNING)
|
|
333
|
+
except OSError:
|
|
334
|
+
_warn_pull(_PULL_GIT_UNAVAILABLE_WARNING)
|
|
321
335
|
|
|
322
336
|
|
|
323
337
|
def _fast_forward_workspace(git_run: Callable[..., Any]) -> None:
|
|
@@ -330,7 +344,7 @@ def _fast_forward_workspace(git_run: Callable[..., Any]) -> None:
|
|
|
330
344
|
skip_reason = _pull_skip_reason(git_run)
|
|
331
345
|
if skip_reason is not None:
|
|
332
346
|
if skip_reason:
|
|
333
|
-
|
|
347
|
+
_warn_pull(skip_reason)
|
|
334
348
|
return
|
|
335
349
|
before = _read_head(git_run)
|
|
336
350
|
result = git_run(
|
|
@@ -341,7 +355,7 @@ def _fast_forward_workspace(git_run: Callable[..., Any]) -> None:
|
|
|
341
355
|
timeout=_GIT_PULL_TIMEOUT_SECONDS,
|
|
342
356
|
)
|
|
343
357
|
if result.returncode != 0:
|
|
344
|
-
|
|
358
|
+
_warn_pull(_PULL_SKIPPED_WARNING)
|
|
345
359
|
return
|
|
346
360
|
_report_fast_forward(git_run, before, _read_head(git_run))
|
|
347
361
|
|
|
@@ -414,10 +428,13 @@ def _report_fast_forward(git_run: Callable[..., Any], before: str, after: str) -
|
|
|
414
428
|
return
|
|
415
429
|
noun = "commit" if commits == 1 else "commits"
|
|
416
430
|
typer.secho(
|
|
417
|
-
f"Workspace fast-forwarded ({commits} {noun})",
|
|
431
|
+
f"✓ Workspace fast-forwarded ({commits} {noun})",
|
|
418
432
|
fg=typer.colors.GREEN,
|
|
419
433
|
err=True,
|
|
420
434
|
)
|
|
435
|
+
# A trailing blank line separates the fast-forward block from the
|
|
436
|
+
# ``Checking configurations...`` line that follows it.
|
|
437
|
+
typer.echo("", err=True)
|
|
421
438
|
|
|
422
439
|
|
|
423
440
|
def _start_background_update_check(container: Container) -> list[str]:
|
|
@@ -440,22 +457,27 @@ def _start_background_update_check(container: Container) -> list[str]:
|
|
|
440
457
|
return _display_update_notification(container, cache_path)
|
|
441
458
|
|
|
442
459
|
|
|
443
|
-
def _run_startup_preamble(
|
|
460
|
+
def _run_startup_preamble( # noqa: PLR0913 # Each parameter is an explicit startup gate.
|
|
444
461
|
container: Container,
|
|
445
462
|
fired: list[str],
|
|
446
463
|
agent: Optional[str] = None,
|
|
447
464
|
setup_editor: Optional[bool] = None,
|
|
448
465
|
setup_api_key: Optional[bool] = None,
|
|
466
|
+
pull_workspace: bool = False,
|
|
449
467
|
) -> None:
|
|
450
468
|
"""Run the shared startup preamble for both session entry points.
|
|
451
469
|
|
|
452
470
|
The order is fixed so the banner layout cannot drift: health checks, the
|
|
453
|
-
|
|
454
|
-
keys extend ``fired``), then the
|
|
455
|
-
its ``agent`` so the preflight
|
|
456
|
-
|
|
471
|
+
start-only workspace fast-forward line, the ``Checking configurations...``
|
|
472
|
+
line, the preflight check (whose returned keys extend ``fired``), then the
|
|
473
|
+
shared disable-footer. ``start`` forwards its ``agent`` so the preflight
|
|
474
|
+
validates the agent prompt and enables ``pull_workspace``; ``resume``
|
|
475
|
+
leaves the agent ``None`` and keeps the pull off.
|
|
457
476
|
"""
|
|
458
|
-
|
|
477
|
+
config_service = container.resolve(IConfigService)
|
|
478
|
+
_run_health_checks(config_service)
|
|
479
|
+
if pull_workspace:
|
|
480
|
+
_pull_workspace_on_start(config_service)
|
|
459
481
|
typer.echo("Checking configurations...", err=True)
|
|
460
482
|
fired.extend(
|
|
461
483
|
_run_cli_preflight_check(
|
|
@@ -861,8 +883,8 @@ def handle_new_session( # noqa: PLR0913
|
|
|
861
883
|
agent=agent,
|
|
862
884
|
setup_editor=setup_editor,
|
|
863
885
|
setup_api_key=setup_api_key,
|
|
886
|
+
pull_workspace=True,
|
|
864
887
|
)
|
|
865
|
-
_pull_workspace_on_start(container.resolve(IConfigService))
|
|
866
888
|
_echo_config_success(container, agent, model=model)
|
|
867
889
|
|
|
868
890
|
session_manager: ISessionManager = container.resolve(ISessionManager)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/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
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/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
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/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.dev1402 → teddy_cli-0.1.17.dev1403}/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.dev1402 → teddy_cli-0.1.17.dev1403}/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.dev1402 → teddy_cli-0.1.17.dev1403}/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.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/editor_names.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/paths.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1402 → teddy_cli-0.1.17.dev1403}/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.dev1402 → teddy_cli-0.1.17.dev1403}/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
|