teddy-cli 0.1.17.dev1424__tar.gz → 0.1.17.dev1426__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.dev1424 → teddy_cli-0.1.17.dev1426}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/__main__.py +3 -4
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +60 -118
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/README.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/editor_names.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/session_notices.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/MRP.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/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:
|
|
@@ -245,49 +245,29 @@ def _check_git_initialized() -> None:
|
|
|
245
245
|
)
|
|
246
246
|
|
|
247
247
|
|
|
248
|
-
def _warn_disabled_workspace_steps(config_service: IConfigService) -> None:
|
|
249
|
-
"""Print one warning per disabled workspace step with a real consequence.
|
|
250
|
-
|
|
251
|
-
A disabled hook installer warns because the unskippable post-commit test
|
|
252
|
-
gate then depends on a hook that never landed. A disabled git init warns
|
|
253
|
-
only when the workspace is not already a repository, because an existing
|
|
254
|
-
repository needs no initialization.
|
|
255
|
-
"""
|
|
256
|
-
if not config_service.get_setting("workspace.pre-commit", True):
|
|
257
|
-
typer.secho(
|
|
258
|
-
"⚠ Pre-commit hook installation is disabled. "
|
|
259
|
-
"The post-commit test gate will not run.",
|
|
260
|
-
fg=typer.colors.YELLOW,
|
|
261
|
-
err=True,
|
|
262
|
-
)
|
|
263
|
-
init_disabled = not config_service.get_setting("workspace.init", True)
|
|
264
|
-
if init_disabled and not (Path.cwd() / ".git").exists():
|
|
265
|
-
typer.secho(
|
|
266
|
-
"⚠ Git repository not initialized. Version control actions will fail.",
|
|
267
|
-
fg=typer.colors.YELLOW,
|
|
268
|
-
err=True,
|
|
269
|
-
)
|
|
270
|
-
|
|
271
|
-
|
|
272
248
|
def _run_health_checks(config_service: IConfigService) -> None:
|
|
273
249
|
"""Run each startup health check the workspace toggles allow.
|
|
274
250
|
|
|
275
|
-
A disabled step is skipped,
|
|
276
|
-
|
|
251
|
+
A disabled step is skipped without a warning, because the setting is the
|
|
252
|
+
user's own choice and needs no reminder.
|
|
277
253
|
"""
|
|
278
254
|
if config_service.get_setting("workspace.pre-commit", True):
|
|
279
255
|
_ensure_commit_hooks()
|
|
280
256
|
if config_service.get_setting("workspace.init", True):
|
|
281
257
|
_check_git_initialized()
|
|
282
|
-
_warn_disabled_workspace_steps(config_service)
|
|
283
258
|
|
|
284
259
|
|
|
285
260
|
_GIT_PULL_TIMEOUT_SECONDS = 15
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
261
|
+
_PULL_DETACHED_HEAD_WARNING = "⚠ Workspace pull skipped: detached HEAD."
|
|
262
|
+
_PULL_NO_UPSTREAM_WARNING = "⚠ Workspace pull skipped: no upstream branch."
|
|
263
|
+
_PULL_IN_PROGRESS_WARNING = "⚠ Workspace pull skipped: Git operation in progress."
|
|
264
|
+
_PULL_NOT_A_REPOSITORY_WARNING = "⚠ Workspace pull skipped: not a Git repository."
|
|
265
|
+
_PULL_FAILED_WARNING = "⚠ Workspace pull failed."
|
|
266
|
+
_PULL_GIT_UNAVAILABLE_WARNING = "⚠ Workspace pull failed: git is unavailable."
|
|
267
|
+
_PULL_TIMEOUT_WARNING = (
|
|
268
|
+
f"⚠ Workspace pull timed out after {_GIT_PULL_TIMEOUT_SECONDS}s."
|
|
269
|
+
)
|
|
289
270
|
_PULL_UP_TO_DATE_NOTICE = "✓ Workspace up-to-date with remote"
|
|
290
|
-
_PULL_SKIPPED_NOTICE = "✓ Workspace pull skipped"
|
|
291
271
|
_IN_PROGRESS_GIT_MARKERS = (
|
|
292
272
|
"rebase-merge",
|
|
293
273
|
"rebase-apply",
|
|
@@ -305,30 +285,21 @@ def _warn_pull(message: str) -> None:
|
|
|
305
285
|
typer.secho(message, fg=typer.colors.YELLOW, err=True)
|
|
306
286
|
|
|
307
287
|
|
|
308
|
-
def _notice_pull(message: str) -> None:
|
|
309
|
-
"""Print one green pull notice.
|
|
310
|
-
|
|
311
|
-
The checkmark line joins the startup block, so it carries no trailing
|
|
312
|
-
blank and never uses the warning color.
|
|
313
|
-
"""
|
|
314
|
-
typer.secho(message, fg=typer.colors.GREEN, err=True)
|
|
315
|
-
|
|
316
|
-
|
|
317
288
|
def _pull_workspace_on_start(
|
|
318
289
|
config_service: IConfigService,
|
|
319
290
|
run_func: Optional[Callable[..., Any]] = None,
|
|
320
291
|
) -> None:
|
|
321
292
|
"""Fast-forward the workspace before starting a new session.
|
|
322
293
|
|
|
323
|
-
The pull runs only when ``workspace.pull`` is enabled
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
pull, a timeout, or an unavailable git binary reports
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
294
|
+
The pull runs only when ``workspace.pull`` is enabled, so a disabled toggle
|
|
295
|
+
stays silent because the user opted out. Every other outcome warns once and
|
|
296
|
+
names its cause, so a skipped or failed pull never carries a checkmark. A
|
|
297
|
+
detached HEAD, a missing upstream, an in-progress operation, a dirty
|
|
298
|
+
worktree, or a missing repository reports why the workspace stayed
|
|
299
|
+
unchanged. A failed pull, a timeout, or an unavailable git binary reports
|
|
300
|
+
the failure. A successful fast-forward names the number of commits it
|
|
301
|
+
moved, and a pull that moves no commit confirms the workspace is up to
|
|
302
|
+
date.
|
|
332
303
|
|
|
333
304
|
The Git process is injected through ``run_func`` so every decision is
|
|
334
305
|
testable without spawning a real repository.
|
|
@@ -336,6 +307,7 @@ def _pull_workspace_on_start(
|
|
|
336
307
|
if not config_service.get_setting("workspace.pull", True):
|
|
337
308
|
return
|
|
338
309
|
if not (Path.cwd() / ".git").exists():
|
|
310
|
+
_warn_pull(_PULL_NOT_A_REPOSITORY_WARNING)
|
|
339
311
|
return
|
|
340
312
|
git_run = run_func or subprocess.run
|
|
341
313
|
try:
|
|
@@ -350,16 +322,12 @@ def _fast_forward_workspace(git_run: Callable[..., Any]) -> None:
|
|
|
350
322
|
"""Run the pull decision table through the injected Git runner.
|
|
351
323
|
|
|
352
324
|
Each precondition is probed before the pull so an unsafe state never
|
|
353
|
-
reaches ``git pull``.
|
|
354
|
-
|
|
355
|
-
sees a pull outcome.
|
|
325
|
+
reaches ``git pull``. Every skip reports its cause as one warning, so the
|
|
326
|
+
user always sees a pull outcome.
|
|
356
327
|
"""
|
|
357
|
-
|
|
358
|
-
if
|
|
359
|
-
|
|
360
|
-
_warn_pull(_PULL_SKIPPED_WARNING)
|
|
361
|
-
else:
|
|
362
|
-
_notice_pull(_PULL_SKIPPED_NOTICE)
|
|
328
|
+
skip_message = _pull_skip_message(git_run)
|
|
329
|
+
if skip_message is not None:
|
|
330
|
+
_warn_pull(skip_message)
|
|
363
331
|
return
|
|
364
332
|
before = _read_head(git_run)
|
|
365
333
|
result = git_run(
|
|
@@ -370,52 +338,60 @@ def _fast_forward_workspace(git_run: Callable[..., Any]) -> None:
|
|
|
370
338
|
timeout=_GIT_PULL_TIMEOUT_SECONDS,
|
|
371
339
|
)
|
|
372
340
|
if result.returncode != 0:
|
|
373
|
-
_warn_pull(
|
|
341
|
+
_warn_pull(_PULL_FAILED_WARNING)
|
|
374
342
|
return
|
|
375
343
|
_report_fast_forward(git_run, before, _read_head(git_run))
|
|
376
344
|
|
|
377
345
|
|
|
378
|
-
def
|
|
379
|
-
"""Return the skip
|
|
346
|
+
def _pull_skip_message(git_run: Callable[..., Any]) -> Optional[str]:
|
|
347
|
+
"""Return the warning text for a skip, or None when the pull may proceed.
|
|
380
348
|
|
|
381
|
-
Every skip
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
returns the warning, because tracked changes can conflict.
|
|
349
|
+
Every skip names its own cause, because the user needs to know why the
|
|
350
|
+
workspace stayed unchanged. A dirty worktree reports how many tracked
|
|
351
|
+
files block the fast-forward.
|
|
385
352
|
"""
|
|
386
353
|
git_dir = Path.cwd() / ".git"
|
|
387
354
|
if any((git_dir / marker).exists() for marker in _IN_PROGRESS_GIT_MARKERS):
|
|
388
|
-
return
|
|
355
|
+
return _PULL_IN_PROGRESS_WARNING
|
|
389
356
|
detached = git_run(
|
|
390
357
|
["git", "symbolic-ref", "-q", "HEAD"],
|
|
391
358
|
capture_output=True,
|
|
392
359
|
timeout=_GIT_PULL_TIMEOUT_SECONDS,
|
|
393
360
|
)
|
|
394
361
|
if detached.returncode != 0:
|
|
395
|
-
return
|
|
362
|
+
return _PULL_DETACHED_HEAD_WARNING
|
|
396
363
|
upstream = git_run(
|
|
397
364
|
["git", "rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"],
|
|
398
365
|
capture_output=True,
|
|
399
366
|
timeout=_GIT_PULL_TIMEOUT_SECONDS,
|
|
400
367
|
)
|
|
401
368
|
if upstream.returncode != 0:
|
|
402
|
-
return
|
|
369
|
+
return _PULL_NO_UPSTREAM_WARNING
|
|
403
370
|
status = git_run(
|
|
404
371
|
["git", "status", "--porcelain"],
|
|
405
372
|
capture_output=True,
|
|
406
373
|
text=True,
|
|
407
374
|
timeout=_GIT_PULL_TIMEOUT_SECONDS,
|
|
408
375
|
)
|
|
376
|
+
# Porcelain prints exactly one line per tracked path, so the line count is
|
|
377
|
+
# the file count. A path that is both staged and modified still yields one
|
|
378
|
+
# line with two status columns.
|
|
409
379
|
tracked_changes = [
|
|
410
380
|
line
|
|
411
381
|
for line in status.stdout.splitlines()
|
|
412
382
|
if line and not line.startswith("??")
|
|
413
383
|
]
|
|
414
384
|
if tracked_changes:
|
|
415
|
-
return
|
|
385
|
+
return _format_uncommitted_warning(len(tracked_changes))
|
|
416
386
|
return None
|
|
417
387
|
|
|
418
388
|
|
|
389
|
+
def _format_uncommitted_warning(count: int) -> str:
|
|
390
|
+
"""Name how many tracked files block the fast-forward."""
|
|
391
|
+
noun = "file" if count == 1 else "files"
|
|
392
|
+
return f"⚠ Workspace pull skipped: {count} uncommitted {noun}."
|
|
393
|
+
|
|
394
|
+
|
|
419
395
|
def _read_head(git_run: Callable[..., Any]) -> str:
|
|
420
396
|
"""Read the current commit id through the injected Git runner."""
|
|
421
397
|
return git_run(
|
|
@@ -457,8 +433,7 @@ def _start_background_update_check(container: Container) -> list[str]:
|
|
|
457
433
|
|
|
458
434
|
Both session entry points share this preamble: it spawns the daemon
|
|
459
435
|
version-fetch thread, then emits the cached update notification (if any).
|
|
460
|
-
The returned list names the checks that fired
|
|
461
|
-
can report them.
|
|
436
|
+
The returned list names the update checks that fired.
|
|
462
437
|
"""
|
|
463
438
|
import threading
|
|
464
439
|
|
|
@@ -472,9 +447,8 @@ def _start_background_update_check(container: Container) -> list[str]:
|
|
|
472
447
|
return _display_update_notification(container, cache_path)
|
|
473
448
|
|
|
474
449
|
|
|
475
|
-
def _run_startup_preamble(
|
|
450
|
+
def _run_startup_preamble(
|
|
476
451
|
container: Container,
|
|
477
|
-
fired: list[str],
|
|
478
452
|
agent: Optional[str] = None,
|
|
479
453
|
setup_editor: Optional[bool] = None,
|
|
480
454
|
setup_api_key: Optional[bool] = None,
|
|
@@ -484,11 +458,10 @@ def _run_startup_preamble( # noqa: PLR0913 # Each parameter is an explicit sta
|
|
|
484
458
|
|
|
485
459
|
The order is fixed so the banner layout cannot drift: health checks, the
|
|
486
460
|
start-only workspace fast-forward line, one separator blank line, the
|
|
487
|
-
``Checking configurations...`` line, the preflight check
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
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.
|
|
492
465
|
"""
|
|
493
466
|
config_service = container.resolve(IConfigService)
|
|
494
467
|
_run_health_checks(config_service)
|
|
@@ -497,15 +470,12 @@ def _run_startup_preamble( # noqa: PLR0913 # Each parameter is an explicit sta
|
|
|
497
470
|
# One separator groups the checkmark block above with the notices below.
|
|
498
471
|
typer.echo("", err=True)
|
|
499
472
|
typer.echo("Checking configurations...", err=True)
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
setup_api_key=setup_api_key,
|
|
506
|
-
)
|
|
473
|
+
_run_cli_preflight_check(
|
|
474
|
+
container,
|
|
475
|
+
agent=agent,
|
|
476
|
+
setup_editor=setup_editor,
|
|
477
|
+
setup_api_key=setup_api_key,
|
|
507
478
|
)
|
|
508
|
-
_display_checks_footer(fired)
|
|
509
479
|
|
|
510
480
|
|
|
511
481
|
def _handle_startup_error(container: Container, error: Exception) -> None:
|
|
@@ -798,32 +768,6 @@ def _display_drift_notification(container: Container) -> list[str]:
|
|
|
798
768
|
return fired
|
|
799
769
|
|
|
800
770
|
|
|
801
|
-
def _display_checks_footer(keys: list[str]) -> None:
|
|
802
|
-
"""Emit the shared disable-footer naming the checks that just fired.
|
|
803
|
-
|
|
804
|
-
No-op when no check fired. Otherwise prints exactly ONE plain (uncolored)
|
|
805
|
-
line so the user can discover how to silence the notifications they saw,
|
|
806
|
-
ordering the deduped keys by the canonical check sequence.
|
|
807
|
-
"""
|
|
808
|
-
if not keys:
|
|
809
|
-
return
|
|
810
|
-
|
|
811
|
-
canonical = ("checks.prompts", "checks.templates", "checks.update")
|
|
812
|
-
unique = set(keys)
|
|
813
|
-
ordered = [key for key in canonical if key in unique]
|
|
814
|
-
|
|
815
|
-
if len(ordered) == 1:
|
|
816
|
-
typer.echo(
|
|
817
|
-
f"You can disable this check in .teddy/config.yaml: {ordered[0]}.",
|
|
818
|
-
err=True,
|
|
819
|
-
)
|
|
820
|
-
else:
|
|
821
|
-
typer.echo(
|
|
822
|
-
f"You can disable these checks in .teddy/config.yaml: {', '.join(ordered)}.",
|
|
823
|
-
err=True,
|
|
824
|
-
)
|
|
825
|
-
|
|
826
|
-
|
|
827
771
|
def _display_update_notification(container: Container, cache_path: Path) -> list[str]:
|
|
828
772
|
"""Check the update cache and display a non-blocking notification
|
|
829
773
|
if a newer version is available. Called on session startup, after
|
|
@@ -886,7 +830,7 @@ def handle_new_session( # noqa: PLR0913
|
|
|
886
830
|
max_cost: Optional[float] = None,
|
|
887
831
|
):
|
|
888
832
|
"""Logic for the 'start' command."""
|
|
889
|
-
|
|
833
|
+
_start_background_update_check(container)
|
|
890
834
|
|
|
891
835
|
try:
|
|
892
836
|
# 0. Pipeline mode requires an initial message
|
|
@@ -898,10 +842,9 @@ def handle_new_session( # noqa: PLR0913
|
|
|
898
842
|
# 1. Ensure project is initialized
|
|
899
843
|
container.resolve(IInitUseCase).ensure_initialized()
|
|
900
844
|
|
|
901
|
-
# 2. Shared startup preamble (health checks + preflight
|
|
845
|
+
# 2. Shared startup preamble (health checks + preflight)
|
|
902
846
|
_run_startup_preamble(
|
|
903
847
|
container,
|
|
904
|
-
fired,
|
|
905
848
|
agent=agent,
|
|
906
849
|
setup_editor=setup_editor,
|
|
907
850
|
setup_api_key=setup_api_key,
|
|
@@ -1570,13 +1513,12 @@ def handle_resume_session( # noqa: PLR0913
|
|
|
1570
1513
|
max_cost: Optional[float] = None,
|
|
1571
1514
|
):
|
|
1572
1515
|
"""Logic for the 'resume' command."""
|
|
1573
|
-
|
|
1516
|
+
_start_background_update_check(container)
|
|
1574
1517
|
|
|
1575
1518
|
try:
|
|
1576
|
-
# 1. Shared startup preamble (health checks + preflight
|
|
1519
|
+
# 1. Shared startup preamble (health checks + preflight)
|
|
1577
1520
|
_run_startup_preamble(
|
|
1578
1521
|
container,
|
|
1579
|
-
fired,
|
|
1580
1522
|
setup_editor=setup_editor,
|
|
1581
1523
|
setup_api_key=setup_api_key,
|
|
1582
1524
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/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.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/domain/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/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.dev1424 → teddy_cli-0.1.17.dev1426}/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.dev1424 → teddy_cli-0.1.17.dev1426}/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.dev1424 → teddy_cli-0.1.17.dev1426}/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.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/editor_names.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/paths.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1424 → teddy_cli-0.1.17.dev1426}/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.dev1424 → teddy_cli-0.1.17.dev1426}/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
|