teddy-cli 0.1.17.dev1256__tar.gz → 0.1.17.dev1257__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.dev1256 → teddy_cli-0.1.17.dev1257}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +38 -14
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/MRP.xml +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/prompts/developer.xml +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/task-brief.md +0 -0
- {teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "teddy-cli"
|
|
3
|
-
version = "0.1.17.
|
|
3
|
+
version = "0.1.17.dev1257"
|
|
4
4
|
description = "A local-first, file-based AI coding workflow that applies the UNIX philosophy to AI collaboration."
|
|
5
5
|
authors = [{ name = "Raphael Atteritano" }]
|
|
6
6
|
license = { text = "AGPL-3.0-only" }
|
|
@@ -18,7 +18,7 @@ from teddy_executor.core.ports.outbound.session_loop_guard import ISessionLoopGu
|
|
|
18
18
|
from teddy_executor.core.ports.outbound.config_service import IConfigService
|
|
19
19
|
from teddy_executor.core.ports.outbound.session_repository import ISessionRepository
|
|
20
20
|
from teddy_executor.core.utils.interrupt_guard import INTERRUPT_REASON, InterruptGuard
|
|
21
|
-
from teddy_executor.core.utils.string import slugify
|
|
21
|
+
from teddy_executor.core.utils.string import canonical_agent_name, slugify
|
|
22
22
|
from teddy_executor.adapters.inbound.cli_formatter import format_project_context
|
|
23
23
|
from teddy_executor.adapters.inbound.cli_helpers import (
|
|
24
24
|
echo_and_copy,
|
|
@@ -415,7 +415,6 @@ def _display_drift_notification(container: Container) -> list[str]:
|
|
|
415
415
|
config = container.resolve(IConfigService)
|
|
416
416
|
report = container.resolve(IInitUseCase).check_drift()
|
|
417
417
|
fired: list[str] = []
|
|
418
|
-
lines: list[str] = []
|
|
419
418
|
|
|
420
419
|
if config.get_setting("checks.prompts", True) and report.prompts_drifted:
|
|
421
420
|
clause = _format_drift_clause(
|
|
@@ -425,9 +424,9 @@ def _display_drift_notification(container: Container) -> list[str]:
|
|
|
425
424
|
report.edited_prompts,
|
|
426
425
|
report.missing_prompts,
|
|
427
426
|
)
|
|
428
|
-
|
|
427
|
+
typer.echo(
|
|
429
428
|
typer.style(
|
|
430
|
-
f"ℹ {clause}. To
|
|
429
|
+
f"ℹ {clause}. To overwrite, run: teddy init prompts\n",
|
|
431
430
|
fg=typer.colors.YELLOW,
|
|
432
431
|
)
|
|
433
432
|
)
|
|
@@ -441,19 +440,14 @@ def _display_drift_notification(container: Container) -> list[str]:
|
|
|
441
440
|
report.edited_templates,
|
|
442
441
|
report.missing_templates,
|
|
443
442
|
)
|
|
444
|
-
|
|
443
|
+
typer.echo(
|
|
445
444
|
typer.style(
|
|
446
|
-
f"ℹ {clause}. To
|
|
445
|
+
f"ℹ {clause}. To overwrite, run: teddy init templates\n",
|
|
447
446
|
fg=typer.colors.YELLOW,
|
|
448
447
|
)
|
|
449
448
|
)
|
|
450
449
|
fired.append("checks.templates")
|
|
451
450
|
|
|
452
|
-
if lines:
|
|
453
|
-
typer.echo("") # blank separator ABOVE the notification block
|
|
454
|
-
for line in lines:
|
|
455
|
-
typer.echo(line)
|
|
456
|
-
|
|
457
451
|
return fired
|
|
458
452
|
|
|
459
453
|
|
|
@@ -508,11 +502,10 @@ def _display_update_notification(container: Container, cache_path: Path) -> list
|
|
|
508
502
|
command = "uv tool install teddy-cli --force"
|
|
509
503
|
else:
|
|
510
504
|
command = "uv tool upgrade teddy-cli"
|
|
511
|
-
typer.echo("") # blank separator ABOVE the notification block
|
|
512
505
|
typer.echo(
|
|
513
506
|
typer.style(
|
|
514
507
|
f"ℹ A new version {latest} is available. "
|
|
515
|
-
f"To upgrade, run: {command}",
|
|
508
|
+
f"To upgrade, run: {command}\n",
|
|
516
509
|
fg=typer.colors.YELLOW,
|
|
517
510
|
)
|
|
518
511
|
)
|
|
@@ -576,6 +569,7 @@ def handle_new_session( # noqa: PLR0913
|
|
|
576
569
|
)
|
|
577
570
|
)
|
|
578
571
|
_display_checks_footer(fired)
|
|
572
|
+
_echo_config_success(container, agent, model=model)
|
|
579
573
|
|
|
580
574
|
session_manager: ISessionManager = container.resolve(ISessionManager)
|
|
581
575
|
user_interactor: IUserInteractor = container.resolve(IUserInteractor)
|
|
@@ -623,6 +617,35 @@ def handle_new_session( # noqa: PLR0913
|
|
|
623
617
|
raise typer.Exit(code=1)
|
|
624
618
|
|
|
625
619
|
|
|
620
|
+
def _echo_config_success(
|
|
621
|
+
container: Container,
|
|
622
|
+
agent: Optional[str] = None,
|
|
623
|
+
model: Optional[str] = None,
|
|
624
|
+
actual_model: Optional[str] = None,
|
|
625
|
+
) -> None:
|
|
626
|
+
"""Retrieves and echoes the active model and agent configuration on success.
|
|
627
|
+
|
|
628
|
+
Args:
|
|
629
|
+
container: The DI container with resolved services.
|
|
630
|
+
agent: Optional agent name to display.
|
|
631
|
+
model: Optional model override from CLI. If provided, this takes
|
|
632
|
+
precedence over the config file value.
|
|
633
|
+
actual_model: Optional actual serving model from meta.yaml. If provided,
|
|
634
|
+
this takes precedence over the model parameter.
|
|
635
|
+
"""
|
|
636
|
+
config_service = container.resolve(IConfigService)
|
|
637
|
+
if actual_model:
|
|
638
|
+
resolved_model = actual_model
|
|
639
|
+
elif model:
|
|
640
|
+
resolved_model = model
|
|
641
|
+
else:
|
|
642
|
+
resolved_model = config_service.get_setting("llm.model", "unknown")
|
|
643
|
+
msg = f"API key valid! Model: {resolved_model}"
|
|
644
|
+
if agent:
|
|
645
|
+
msg += f" | Agent: {canonical_agent_name(agent)}"
|
|
646
|
+
typer.echo(msg, err=True)
|
|
647
|
+
|
|
648
|
+
|
|
626
649
|
def _run_cli_preflight_check(
|
|
627
650
|
container: Container,
|
|
628
651
|
agent: Optional[str] = None,
|
|
@@ -993,8 +1016,9 @@ def _sync_and_display_session_meta(
|
|
|
993
1016
|
|
|
994
1017
|
latest_turn_path = session_manager.get_latest_turn(session_name)
|
|
995
1018
|
meta = repository.load_meta(latest_turn_path)
|
|
996
|
-
# Clear actual_model so
|
|
1019
|
+
# Clear actual_model so display falls through to current model (override or config)
|
|
997
1020
|
meta.pop("actual_model", None)
|
|
1021
|
+
_echo_config_success(container, agent=meta.get("agent_name"), model=model)
|
|
998
1022
|
|
|
999
1023
|
# Sync latest turn's meta.yaml with current config model/overrides
|
|
1000
1024
|
config_model = config_service.get_setting("llm.model", "unknown")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/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.dev1256 → teddy_cli-0.1.17.dev1257}/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.dev1256 → teddy_cli-0.1.17.dev1257}/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.dev1256 → teddy_cli-0.1.17.dev1257}/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.dev1256 → teddy_cli-0.1.17.dev1257}/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.dev1256 → teddy_cli-0.1.17.dev1257}/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.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1256 → teddy_cli-0.1.17.dev1257}/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.dev1256 → teddy_cli-0.1.17.dev1257}/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
|
|
File without changes
|