teddy-cli 0.1.17.dev1425__tar.gz → 0.2.0__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.dev1425 → teddy_cli-0.2.0}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/__main__.py +3 -4
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +15 -49
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/README.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/editor_names.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/session_notices.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/MRP.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -119,15 +119,14 @@ def _display_init_drift(container) -> None:
|
|
|
119
119
|
Bare ``teddy init`` reuses the SAME advice ``teddy start`` prints, so its
|
|
120
120
|
"unchanged" summary cannot mislead: it flags drifted prompts and missing
|
|
121
121
|
templates and names the actionable ``teddy init prompts`` /
|
|
122
|
-
``teddy init templates`` commands. The
|
|
123
|
-
|
|
122
|
+
``teddy init templates`` commands. The helper is imported lazily, and it is
|
|
123
|
+
advisory only -- it never blocks the command.
|
|
124
124
|
"""
|
|
125
125
|
from teddy_executor.adapters.inbound.session_cli_handlers import (
|
|
126
|
-
_display_checks_footer,
|
|
127
126
|
_display_drift_notification,
|
|
128
127
|
)
|
|
129
128
|
|
|
130
|
-
|
|
129
|
+
_display_drift_notification(container)
|
|
131
130
|
|
|
132
131
|
|
|
133
132
|
def _resolve_config_or_exit(container) -> IConfigService:
|
|
@@ -433,8 +433,7 @@ def _start_background_update_check(container: Container) -> list[str]:
|
|
|
433
433
|
|
|
434
434
|
Both session entry points share this preamble: it spawns the daemon
|
|
435
435
|
version-fetch thread, then emits the cached update notification (if any).
|
|
436
|
-
The returned list names the checks that fired
|
|
437
|
-
can report them.
|
|
436
|
+
The returned list names the update checks that fired.
|
|
438
437
|
"""
|
|
439
438
|
import threading
|
|
440
439
|
|
|
@@ -448,9 +447,8 @@ def _start_background_update_check(container: Container) -> list[str]:
|
|
|
448
447
|
return _display_update_notification(container, cache_path)
|
|
449
448
|
|
|
450
449
|
|
|
451
|
-
def _run_startup_preamble(
|
|
450
|
+
def _run_startup_preamble(
|
|
452
451
|
container: Container,
|
|
453
|
-
fired: list[str],
|
|
454
452
|
agent: Optional[str] = None,
|
|
455
453
|
setup_editor: Optional[bool] = None,
|
|
456
454
|
setup_api_key: Optional[bool] = None,
|
|
@@ -460,11 +458,10 @@ def _run_startup_preamble( # noqa: PLR0913 # Each parameter is an explicit sta
|
|
|
460
458
|
|
|
461
459
|
The order is fixed so the banner layout cannot drift: health checks, the
|
|
462
460
|
start-only workspace fast-forward line, one separator blank line, the
|
|
463
|
-
``Checking configurations...`` line, the preflight check
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
off.
|
|
461
|
+
``Checking configurations...`` line, then the preflight check. ``start``
|
|
462
|
+
forwards its ``agent`` so the preflight validates the agent prompt and
|
|
463
|
+
enables ``pull_workspace``; ``resume`` leaves the agent ``None`` and keeps
|
|
464
|
+
the pull off.
|
|
468
465
|
"""
|
|
469
466
|
config_service = container.resolve(IConfigService)
|
|
470
467
|
_run_health_checks(config_service)
|
|
@@ -473,15 +470,12 @@ def _run_startup_preamble( # noqa: PLR0913 # Each parameter is an explicit sta
|
|
|
473
470
|
# One separator groups the checkmark block above with the notices below.
|
|
474
471
|
typer.echo("", err=True)
|
|
475
472
|
typer.echo("Checking configurations...", err=True)
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
setup_api_key=setup_api_key,
|
|
482
|
-
)
|
|
473
|
+
_run_cli_preflight_check(
|
|
474
|
+
container,
|
|
475
|
+
agent=agent,
|
|
476
|
+
setup_editor=setup_editor,
|
|
477
|
+
setup_api_key=setup_api_key,
|
|
483
478
|
)
|
|
484
|
-
_display_checks_footer(fired)
|
|
485
479
|
|
|
486
480
|
|
|
487
481
|
def _handle_startup_error(container: Container, error: Exception) -> None:
|
|
@@ -774,32 +768,6 @@ def _display_drift_notification(container: Container) -> list[str]:
|
|
|
774
768
|
return fired
|
|
775
769
|
|
|
776
770
|
|
|
777
|
-
def _display_checks_footer(keys: list[str]) -> None:
|
|
778
|
-
"""Emit the shared disable-footer naming the checks that just fired.
|
|
779
|
-
|
|
780
|
-
No-op when no check fired. Otherwise prints exactly ONE plain (uncolored)
|
|
781
|
-
line so the user can discover how to silence the notifications they saw,
|
|
782
|
-
ordering the deduped keys by the canonical check sequence.
|
|
783
|
-
"""
|
|
784
|
-
if not keys:
|
|
785
|
-
return
|
|
786
|
-
|
|
787
|
-
canonical = ("checks.prompts", "checks.templates", "checks.update")
|
|
788
|
-
unique = set(keys)
|
|
789
|
-
ordered = [key for key in canonical if key in unique]
|
|
790
|
-
|
|
791
|
-
if len(ordered) == 1:
|
|
792
|
-
typer.echo(
|
|
793
|
-
f"You can disable this check in .teddy/config.yaml: {ordered[0]}.",
|
|
794
|
-
err=True,
|
|
795
|
-
)
|
|
796
|
-
else:
|
|
797
|
-
typer.echo(
|
|
798
|
-
f"You can disable these checks in .teddy/config.yaml: {', '.join(ordered)}.",
|
|
799
|
-
err=True,
|
|
800
|
-
)
|
|
801
|
-
|
|
802
|
-
|
|
803
771
|
def _display_update_notification(container: Container, cache_path: Path) -> list[str]:
|
|
804
772
|
"""Check the update cache and display a non-blocking notification
|
|
805
773
|
if a newer version is available. Called on session startup, after
|
|
@@ -862,7 +830,7 @@ def handle_new_session( # noqa: PLR0913
|
|
|
862
830
|
max_cost: Optional[float] = None,
|
|
863
831
|
):
|
|
864
832
|
"""Logic for the 'start' command."""
|
|
865
|
-
|
|
833
|
+
_start_background_update_check(container)
|
|
866
834
|
|
|
867
835
|
try:
|
|
868
836
|
# 0. Pipeline mode requires an initial message
|
|
@@ -874,10 +842,9 @@ def handle_new_session( # noqa: PLR0913
|
|
|
874
842
|
# 1. Ensure project is initialized
|
|
875
843
|
container.resolve(IInitUseCase).ensure_initialized()
|
|
876
844
|
|
|
877
|
-
# 2. Shared startup preamble (health checks + preflight
|
|
845
|
+
# 2. Shared startup preamble (health checks + preflight)
|
|
878
846
|
_run_startup_preamble(
|
|
879
847
|
container,
|
|
880
|
-
fired,
|
|
881
848
|
agent=agent,
|
|
882
849
|
setup_editor=setup_editor,
|
|
883
850
|
setup_api_key=setup_api_key,
|
|
@@ -1546,13 +1513,12 @@ def handle_resume_session( # noqa: PLR0913
|
|
|
1546
1513
|
max_cost: Optional[float] = None,
|
|
1547
1514
|
):
|
|
1548
1515
|
"""Logic for the 'resume' command."""
|
|
1549
|
-
|
|
1516
|
+
_start_background_update_check(container)
|
|
1550
1517
|
|
|
1551
1518
|
try:
|
|
1552
|
-
# 1. Shared startup preamble (health checks + preflight
|
|
1519
|
+
# 1. Shared startup preamble (health checks + preflight)
|
|
1553
1520
|
_run_startup_preamble(
|
|
1554
1521
|
container,
|
|
1555
|
-
fired,
|
|
1556
1522
|
setup_editor=setup_editor,
|
|
1557
1523
|
setup_api_key=setup_api_key,
|
|
1558
1524
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/__init__.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/cli_formatter.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/cli_helpers.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.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_tooling.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/litellm_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/shell_adapter.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.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/__init__.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/action_ports.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/change_set.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/config_schema.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/drift_report.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/planning_ports.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/session.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/shell_output.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/__init__.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/edit_simulator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_parser.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/llm_client.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
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/time_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/web_scraper.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/web_searcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_diff_manager.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_dispatcher.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_executor.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/context_service.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/edit_simulator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/init_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/parser_metadata.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/parser_reporting.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/plan_validator.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/planning_service.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/prompt_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_loop_guard.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_planner.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_replanner.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_repository.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/update_checker.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
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/interrupt_guard.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/interruptible_call.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/session_notices.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/stdin_ownership.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/infrastructure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/__init__.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/config.yaml
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/init.context
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/debugger.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/ARCHITECTURE.md
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/PROJECT.md
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/case-file.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/makefile.md
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/milestone.md
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/pre-commit.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|