teddy-cli 0.1.17.dev1217__tar.gz → 0.1.17.dev1218__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.dev1217 → teddy_cli-0.1.17.dev1218}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +74 -24
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/MRP.xml +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/prompts/developer.xml +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/resources/templates/task-brief.md +0 -0
- {teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1218"
|
|
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" }
|
|
@@ -369,37 +369,87 @@ def _orchestrate_session_loop(
|
|
|
369
369
|
signal.signal(signal.SIGINT, previous_handler)
|
|
370
370
|
|
|
371
371
|
|
|
372
|
-
def
|
|
372
|
+
def _format_drift_clause(
|
|
373
|
+
noun_singular: str,
|
|
374
|
+
noun_plural: str,
|
|
375
|
+
target_dir: str,
|
|
376
|
+
edited: Sequence[str],
|
|
377
|
+
missing: Sequence[str],
|
|
378
|
+
) -> str:
|
|
379
|
+
"""Builds the count-aware 'what drifted' clause for ONE notification channel.
|
|
380
|
+
|
|
381
|
+
Distinguishes CHANGED from MISSING files and singularises on a single file,
|
|
382
|
+
e.g. ``2 prompts in .teddy/prompts/ differ from this version's defaults``,
|
|
383
|
+
``1 prompt in .teddy/prompts/ is missing``, or ``3 prompts in .teddy/prompts/
|
|
384
|
+
differ from this version's defaults (1 changed, 2 missing)``.
|
|
385
|
+
"""
|
|
386
|
+
changed = len(edited)
|
|
387
|
+
missing_count = len(missing)
|
|
388
|
+
total = changed + missing_count
|
|
389
|
+
noun = noun_singular if total == 1 else noun_plural
|
|
390
|
+
if changed and missing_count:
|
|
391
|
+
differ = "differs" if total == 1 else "differ"
|
|
392
|
+
return (
|
|
393
|
+
f"{total} {noun} in {target_dir} {differ} from this version's defaults "
|
|
394
|
+
f"({changed} changed, {missing_count} missing)"
|
|
395
|
+
)
|
|
396
|
+
if changed:
|
|
397
|
+
differ = "differs" if total == 1 else "differ"
|
|
398
|
+
return f"{total} {noun} in {target_dir} {differ} from this version's defaults"
|
|
399
|
+
is_are = "is" if total == 1 else "are"
|
|
400
|
+
return f"{total} {noun} in {target_dir} {is_are} missing"
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
def _display_drift_notification(container: Container) -> list[str]:
|
|
373
404
|
"""Advises the restore command when user prompts/templates have drifted.
|
|
374
405
|
|
|
375
406
|
Compares the user's ``.teddy/prompts/`` and ``docs/templates/`` against the
|
|
376
|
-
bundled defaults (via ``IInitUseCase.check_drift``) and,
|
|
377
|
-
|
|
378
|
-
restore command
|
|
379
|
-
|
|
380
|
-
|
|
407
|
+
bundled defaults (via ``IInitUseCase.check_drift``) and, for EACH channel that
|
|
408
|
+
is BOTH enabled AND drifted, emits exactly ONE yellow, count-aware advice line
|
|
409
|
+
naming the restore command. The prompts channel is emitted before the
|
|
410
|
+
templates channel. Returns the list of config keys whose check actually fired
|
|
411
|
+
(``checks.prompts`` / ``checks.templates``) so a shared disable-footer can
|
|
412
|
+
name them. Advisory only: it runs on the preflight HEALTHY path and never
|
|
413
|
+
blocks the session. Each channel is gated by its own config toggle
|
|
414
|
+
(``checks.prompts`` / ``checks.templates``), both defaulting to enabled.
|
|
381
415
|
"""
|
|
382
416
|
config = container.resolve(IConfigService)
|
|
383
|
-
if not config.get_setting("checks.prompts_templates", True):
|
|
384
|
-
return
|
|
385
|
-
|
|
386
417
|
report = container.resolve(IInitUseCase).check_drift()
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
typer.echo(
|
|
397
|
-
typer.style(
|
|
398
|
-
"ℹ Prompt/template drift detected. To restore the bundled "
|
|
399
|
-
f"defaults, run: {' and '.join(commands)}\n",
|
|
400
|
-
fg=typer.colors.YELLOW,
|
|
418
|
+
fired: list[str] = []
|
|
419
|
+
|
|
420
|
+
if config.get_setting("checks.prompts", True) and report.prompts_drifted:
|
|
421
|
+
clause = _format_drift_clause(
|
|
422
|
+
"prompt",
|
|
423
|
+
"prompts",
|
|
424
|
+
".teddy/prompts/",
|
|
425
|
+
report.edited_prompts,
|
|
426
|
+
report.missing_prompts,
|
|
401
427
|
)
|
|
402
|
-
|
|
428
|
+
typer.echo(
|
|
429
|
+
typer.style(
|
|
430
|
+
f"ℹ {clause}. To overwrite, run: teddy init prompts\n",
|
|
431
|
+
fg=typer.colors.YELLOW,
|
|
432
|
+
)
|
|
433
|
+
)
|
|
434
|
+
fired.append("checks.prompts")
|
|
435
|
+
|
|
436
|
+
if config.get_setting("checks.templates", True) and report.templates_drifted:
|
|
437
|
+
clause = _format_drift_clause(
|
|
438
|
+
"template",
|
|
439
|
+
"templates",
|
|
440
|
+
"docs/templates/",
|
|
441
|
+
report.edited_templates,
|
|
442
|
+
report.missing_templates,
|
|
443
|
+
)
|
|
444
|
+
typer.echo(
|
|
445
|
+
typer.style(
|
|
446
|
+
f"ℹ {clause}. To overwrite, run: teddy init templates\n",
|
|
447
|
+
fg=typer.colors.YELLOW,
|
|
448
|
+
)
|
|
449
|
+
)
|
|
450
|
+
fired.append("checks.templates")
|
|
451
|
+
|
|
452
|
+
return fired
|
|
403
453
|
|
|
404
454
|
|
|
405
455
|
def _display_update_notification(container: Container, cache_path: Path) -> None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1217 → teddy_cli-0.1.17.dev1218}/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.dev1217 → teddy_cli-0.1.17.dev1218}/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
|