teddy-cli 0.1.17.dev1366__tar.gz → 0.1.17.dev1368__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.dev1366 → teddy_cli-0.1.17.dev1368}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/makefile.md +37 -19
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/README.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/session_notices.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/MRP.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -13,7 +13,7 @@ make commit "feat(templates): add PROJECT.md template"
|
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
**What is `.PHONY`?**
|
|
16
|
-
`.PHONY` is a Makefile directive that declares `commit`, `push`, `ci-watch`, `probe`, `test`, and `
|
|
16
|
+
`.PHONY` is a Makefile directive that declares `commit`, `push`, `ci-watch`, `probe`, `test`, `logs`, and the internal `_preflight` gate as phony targets — they do not correspond to actual files. Without `.PHONY`, if a file named `commit` or `probe` existed in the directory (e.g., a script called `commit`), Make would see it as up-to-date and skip the target entirely. By declaring them phony, Make always runs the recipe when you call `make commit`, `make push`, `make ci-watch`, `make probe`, or `make test`.
|
|
17
17
|
|
|
18
18
|
### Push
|
|
19
19
|
```shell
|
|
@@ -86,7 +86,10 @@ Always use GNU Make native features for cross-platform compatibility instead of
|
|
|
86
86
|
|
|
87
87
|
- **Native argument validation:** Use `$(if $(strip $(VAR)),,$(error Usage: ...))` instead of POSIX `[ -n "$$VAR" ]`. GNU Make validates parameters before spawning any shell process.
|
|
88
88
|
- **Shell-less empty recipe:** Use `%: ;` to absorb extra command-line arguments. In Windows `cmd.exe`, the Unix built-in `@:` fails because `:` is reserved syntax for labels and drives. The empty recipe `%: ;` tells Make to do nothing without spawning a subshell.
|
|
89
|
-
- **
|
|
89
|
+
- **POSIX shell preflight:** Every POSIX recipe target (`ci-watch`, `probe`, `logs`) depends on the internal `_preflight` target, which verifies `git`, `gh`, `awk`, and `sed` before any network call. It aborts with one actionable message instead of a generic `make: *** Error 1`.
|
|
90
|
+
- **Windows shell selection:** Set `SHELL := bash.exe` when `OS` is `Windows_NT` so multi-line shell pipelines (`ci-watch`, `probe`, `logs`) execute through Git Bash. `_preflight` also confirms that the shell is Git Bash rather than the WSL `bash.exe` shim, and it names the `SHELL=` override when it is not.
|
|
91
|
+
- **Portable quoting:** Pass values with double quotes, as in `--field reason="..."`, because Windows `cmd.exe` keeps single quotes literally.
|
|
92
|
+
- **ASCII-only output:** Recipe output stays ASCII, because a Windows console turns a non-ASCII dash into mojibake in captured logs.
|
|
90
93
|
- **Native error suppression:** The Makefile uses Make's built-in `-` prefix (`-pre-commit run`) instead of shell-level `|| true` or `&&`/`||` chaining. Make suppresses non-zero exit codes natively before passing lines to the shell.
|
|
91
94
|
- **Error transparency:** The first pre-commit pass is advisory, so its non-zero exit is ignored and auto-fixed files are re-staged. Git then runs the same hooks again during `git commit`, and that second run is the blocking local gate. A hook failure there aborts the commit. The post-commit test gate is the final safety net. `make push` runs `git pull --rebase` and `git push` without suppression, so a rebase conflict or push rejection surfaces as a non-zero exit.
|
|
92
95
|
|
|
@@ -119,7 +122,7 @@ commit: ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
|
|
|
119
122
|
commit:
|
|
120
123
|
$(if $(strip $(ARGS)),,$(error Usage: make commit '<message>'))
|
|
121
124
|
git add .
|
|
122
|
-
-pre-commit run
|
|
125
|
+
-uv run pre-commit run
|
|
123
126
|
git add .
|
|
124
127
|
git commit -m "$(ARGS)"
|
|
125
128
|
|
|
@@ -155,7 +158,7 @@ push:
|
|
|
155
158
|
|
|
156
159
|
## CI Watch & Attribution
|
|
157
160
|
|
|
158
|
-
`make ci-watch` discovers **every** CI run for the target commit (`HEAD` by default, or `COMMIT=<sha>`), waits for and reports each workflow with its jobs. It answers ONE question: **did this commit turn a BLOCKING gate red?** Only push-triggered workflows are attributed; a downstream workflow that registers from a `workflow_run` event is not a regression in this commit. Only include and configure this target if a remote CI pipeline is configured or planned for the project.
|
|
161
|
+
`make ci-watch` discovers **every** CI run for the target commit (`HEAD` by default, or `COMMIT=<sha>`), waits for and reports each workflow with its jobs. The target depends on `_preflight`, so a missing `gh`, `awk`, or Git Bash shell fails once with an actionable message. Before polling, it rejects an unknown `COMMIT` and a commit that no remote branch contains, because no run can exist for an un-pushed commit. Every blocking verdict prints to stdout for the log and repeats its reason on stderr. It answers ONE question: **did this commit turn a BLOCKING gate red?** Only push-triggered workflows are attributed; a downstream workflow that registers from a `workflow_run` event is not a regression in this commit. Only include and configure this target if a remote CI pipeline is configured or planned for the project.
|
|
159
162
|
|
|
160
163
|
The pushed RUN's own conclusion is authoritative: it already folds in `continue-on-error`, so a **non-blocking** job (e.g. the CI `Quality Checks` job) can NEVER block the session — it is reported as a triage item instead. Only when the run-level conclusion is `failure` does attribution run, comparing the pushed run's failing-JOB set against the base run's:
|
|
161
164
|
|
|
@@ -165,7 +168,7 @@ The pushed RUN's own conclusion is authoritative: it already folds in `continue-
|
|
|
165
168
|
- **all green / non-blocking** → PASSED → **exit 0**.
|
|
166
169
|
- **job-less base** → NOT green: a base run that exists but carries zero jobs (an invalid-workflow failure) is treated as an unknown base and fails safe (block).
|
|
167
170
|
|
|
168
|
-
When any step fails — blocking or not — the target prints the failing step's name and its run id, then that step's log details (ANSI/timestamp-stripped and indented), bounded to `DETAIL_LINES` lines (default 50), and points to `make logs <run-id>
|
|
171
|
+
When any step fails — blocking or not — the target prints the failing step's name and its run id, then that step's log details (ANSI/timestamp-stripped and indented), bounded to `DETAIL_LINES` lines (default 50), and points to `make logs <run-id> "<step-name>"` for the full step log when needed.
|
|
169
172
|
|
|
170
173
|
Attribution is deterministic: SHA → run → run-level + per-job conclusion (never "the latest run").
|
|
171
174
|
|
|
@@ -185,12 +188,20 @@ DETAIL_LINES ?= 50
|
|
|
185
188
|
BASE_DEPTH ?= 50
|
|
186
189
|
BASE ?=
|
|
187
190
|
|
|
188
|
-
ci-watch:
|
|
189
|
-
@SHA=$$(git rev-parse
|
|
191
|
+
ci-watch: _preflight
|
|
192
|
+
@SHA=$$(git rev-parse --verify --quiet "$(or $(COMMIT),HEAD)^{commit}") || { \
|
|
193
|
+
echo "ERROR: '$(or $(COMMIT),HEAD)' is not a known commit. Pass COMMIT=<sha> for a commit that exists locally." >&2; \
|
|
194
|
+
exit 1; \
|
|
195
|
+
}; \
|
|
190
196
|
if [ -z "$$(ls .github/workflows/*.yml .github/workflows/*.yaml 2>/dev/null)" ]; then \
|
|
191
197
|
echo "No CI configured - skipping attribution"; \
|
|
192
198
|
exit 0; \
|
|
193
199
|
fi; \
|
|
200
|
+
if [ -n "$$(git remote)" ] && ! git branch -r --contains "$$SHA" 2>/dev/null | grep -q .; then \
|
|
201
|
+
echo "CI: commit $$SHA is not on any remote branch, so no run can exist." >&2; \
|
|
202
|
+
echo "CI: push the commit first, then retry." >&2; \
|
|
203
|
+
exit 1; \
|
|
204
|
+
fi; \
|
|
194
205
|
STATUS=0; ATTEMPTS=0; WFS=""; \
|
|
195
206
|
while [ -z "$$WFS" ] && [ $$ATTEMPTS -lt $(RETRY_POLLS) ]; do \
|
|
196
207
|
WFS=$$(gh run list --commit "$$SHA" --json workflowName --jq '.[].workflowName' | sort -u); \
|
|
@@ -200,7 +211,9 @@ ci-watch:
|
|
|
200
211
|
done; \
|
|
201
212
|
echo "Watching CI for $$SHA after $$ATTEMPTS poll(s)"; \
|
|
202
213
|
if [ -z "$$WFS" ]; then \
|
|
203
|
-
|
|
214
|
+
ELAPSED=$$(( $(RETRY_POLLS) * $(RETRY_SLEEP) )); \
|
|
215
|
+
echo "CI: no run registered for $$SHA after $${ELAPSED}s - fail-safe block"; \
|
|
216
|
+
echo "CI: no run registered for $$SHA after $${ELAPSED}s. Wait for CI to start, then retry." >&2; \
|
|
204
217
|
exit 1; \
|
|
205
218
|
fi; \
|
|
206
219
|
WFLIST=$${TMPDIR:-/tmp}/ci-watch-workflows.$$$$; \
|
|
@@ -216,18 +229,19 @@ ci-watch:
|
|
|
216
229
|
echo "$$WF: failing step(s): $$NEWSTEPS (run $$NEW)"; \
|
|
217
230
|
gh run view "$$NEW" --log-failed 2>/dev/null | awk -F'\t' '{ l=$$3; p=index(l,"Z "); if(p>0)l=substr(l,p+2); gsub(/\x1B\[[0-9;]*[a-zA-Z]/,"",l); gsub(/\^\[\[[0-9;]*[a-zA-Z]/,"",l); if(l ~ /^##\[group\]/ || l ~ /^##\[endgroup\]/) next; gsub(/^##\[error\]/,"Error: ",l); print l }' | tail -n $(DETAIL_LINES) | sed 's/^/ /'; \
|
|
218
231
|
echo " view all failed logs: make logs $$NEW"; \
|
|
219
|
-
echo " view specific step: make logs $$NEW
|
|
232
|
+
echo " view specific step: make logs $$NEW \"<step-name>\""; \
|
|
220
233
|
fi; \
|
|
221
234
|
if [ "$$NEWCONC" = "success" ]; then \
|
|
222
235
|
if [ -n "$$NEWFAIL" ]; then \
|
|
223
|
-
echo "$$WF: PASSED (run=$$NEWCONC)
|
|
236
|
+
echo "$$WF: PASSED (run=$$NEWCONC) - non-blocking failure(s) [$$NEWFAIL] - triage, does not block"; \
|
|
224
237
|
else \
|
|
225
238
|
echo "$$WF: PASSED"; \
|
|
226
239
|
fi; \
|
|
227
240
|
continue; \
|
|
228
241
|
fi; \
|
|
229
242
|
if [ "$$NEWCONC" != "failure" ]; then \
|
|
230
|
-
echo "$$WF: BLOCKING (run=$$NEWCONC)
|
|
243
|
+
echo "$$WF: BLOCKING (run=$$NEWCONC) - unknown conclusion - fail-safe block"; \
|
|
244
|
+
echo "$$WF: unknown conclusion '$$NEWCONC' on run $$NEW blocks the session." >&2; \
|
|
231
245
|
STATUS=1; continue; \
|
|
232
246
|
fi; \
|
|
233
247
|
BASE="$(BASE)"; CUR="$$SHA"; DEPTH=0; \
|
|
@@ -240,25 +254,29 @@ ci-watch:
|
|
|
240
254
|
DEPTH=$$((DEPTH + 1)); \
|
|
241
255
|
done; \
|
|
242
256
|
if [ -z "$$BASE" ]; then \
|
|
243
|
-
echo "$$WF: BLOCKING failure ($$NEWFAIL)
|
|
257
|
+
echo "$$WF: BLOCKING failure ($$NEWFAIL) - no run-bearing ancestor (unknown base) - YOUR regression"; \
|
|
258
|
+
echo "$$WF: no run-bearing ancestor within $(BASE_DEPTH) commits, so the baseline is unknown." >&2; \
|
|
244
259
|
STATUS=1; continue; \
|
|
245
260
|
fi; \
|
|
246
261
|
OLD=$$(gh run list --commit "$$BASE" --workflow "$$WF" --json databaseId --jq '.[0].databaseId'); \
|
|
247
262
|
if [ -z "$$OLD" ]; then \
|
|
248
|
-
echo "$$WF: BLOCKING failure ($$NEWFAIL)
|
|
263
|
+
echo "$$WF: BLOCKING failure ($$NEWFAIL) - pinned base has no run (unknown base) - YOUR regression"; \
|
|
264
|
+
echo "$$WF: pinned base $$BASE carries no run for this workflow." >&2; \
|
|
249
265
|
STATUS=1; continue; \
|
|
250
266
|
fi; \
|
|
251
267
|
OLDJOBS=$$(gh run view "$$OLD" --json jobs --jq '.jobs | length'); \
|
|
252
268
|
if [ "$$OLDJOBS" = "0" ]; then \
|
|
253
|
-
echo "$$WF: BLOCKING failure ($$NEWFAIL)
|
|
269
|
+
echo "$$WF: BLOCKING failure ($$NEWFAIL) - base run is job-less (invalid workflow, not green) - YOUR regression"; \
|
|
270
|
+
echo "$$WF: base run $$OLD carries zero jobs, so it cannot prove a green baseline." >&2; \
|
|
254
271
|
STATUS=1; continue; \
|
|
255
272
|
fi; \
|
|
256
273
|
OLDFAIL=$$(gh run view "$$OLD" --json jobs --jq '[.jobs[] | select(.conclusion=="failure") | .name] | sort | join(",")'); \
|
|
257
274
|
SUBSET=$$(awk -v new="$$NEWFAIL" -v old="$$OLDFAIL" 'BEGIN { n=split(new,na,","); m=split(old,oa,","); for (i=1;i<=n;i++) { if (na[i]=="") continue; f=0; for (j=1;j<=m;j++) { if (oa[j]==na[i]) { f=1; break } } if (!f) { print "regression"; exit } } print "pre-existing" }' </dev/null); \
|
|
258
275
|
if [ "$$SUBSET" = "pre-existing" ]; then \
|
|
259
|
-
echo "$$WF: pre-existing BLOCKING failure ($$NEWFAIL)
|
|
276
|
+
echo "$$WF: pre-existing BLOCKING failure ($$NEWFAIL) - not yours"; \
|
|
260
277
|
else \
|
|
261
|
-
echo "$$WF: BLOCKING failure ($$NEWFAIL)
|
|
278
|
+
echo "$$WF: BLOCKING failure ($$NEWFAIL) - YOUR regression"; \
|
|
279
|
+
echo "$$WF: YOUR regression - run $$NEW turned these jobs red and base $$BASE did not: $$NEWFAIL" >&2; \
|
|
262
280
|
STATUS=1; \
|
|
263
281
|
fi; \
|
|
264
282
|
done < "$$WFLIST"; \
|
|
@@ -282,7 +300,7 @@ probe:
|
|
|
282
300
|
git add -f spikes/debug/probe.sh
|
|
283
301
|
git commit -m 'debug: probe' --no-verify --allow-empty
|
|
284
302
|
git push
|
|
285
|
-
@gh workflow run debug.yml --field reason=
|
|
303
|
+
@gh workflow run debug.yml --field reason="$(REASON)"
|
|
286
304
|
@sleep 5
|
|
287
305
|
@RUN_ID=$$(gh run list --workflow debug.yml -L 1 --json databaseId --jq '.[0].databaseId') && \
|
|
288
306
|
gh run watch "$$RUN_ID" --exit-status >/dev/null 2>&1 && \
|
|
@@ -303,7 +321,7 @@ logs: LOGS_RUN := $(word 2,$(MAKECMDGOALS))
|
|
|
303
321
|
logs: LOGS_STEP := $(wordlist 3,99,$(MAKECMDGOALS))
|
|
304
322
|
|
|
305
323
|
logs:
|
|
306
|
-
$(if $(strip $(LOGS_RUN)),,$(error Usage: make logs <run-id> [
|
|
324
|
+
$(if $(strip $(LOGS_RUN)),,$(error Usage: make logs <run-id> ["<step-name>"]))
|
|
307
325
|
@if [ -z "$(LOGS_STEP)" ]; then \
|
|
308
326
|
gh run view "$(LOGS_RUN)" --log-failed 2>/dev/null | awk -F'\t' '{ if(j!=$$1||s!=$$2){j=$$1;s=$$2;print "\n["j" > "s"]"} l=$$3; p=index(l,"Z "); if(p>0)l=substr(l,p+2); gsub(/\x1B\[[0-9;]*[a-zA-Z]/,"",l); gsub(/\^\[\[[0-9;]*[a-zA-Z]/,"",l); if(l ~ /^##\[group\]Run /){k=1;next} if(k && l ~ /^##\[endgroup\]/){k=0;next} if(k)next; if(l ~ /^##\[group\]/ || l ~ /^##\[endgroup\]/)next; gsub(/^##\[error\]/,"Error: ",l); print l }'; \
|
|
309
327
|
else \
|
|
@@ -316,7 +334,7 @@ logs:
|
|
|
316
334
|
|
|
317
335
|
**Usage:**
|
|
318
336
|
- `make logs 12345` — extract logs for ALL failed steps from run `12345`.
|
|
319
|
-
- `make logs 12345
|
|
337
|
+
- `make logs 12345 "Run tests"` — extract logs for a specific step (substring match) from run `12345`.
|
|
320
338
|
|
|
321
339
|
**How it works:**
|
|
322
340
|
- `$(word 2,$(MAKECMDGOALS))` takes the run ID and `$(wordlist 3,99,$(MAKECMDGOALS))` captures any optional step name.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/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
|
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/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.dev1366 → teddy_cli-0.1.17.dev1368}/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.dev1366 → teddy_cli-0.1.17.dev1368}/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.dev1366 → teddy_cli-0.1.17.dev1368}/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.dev1366 → teddy_cli-0.1.17.dev1368}/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.dev1366 → teddy_cli-0.1.17.dev1368}/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.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/paths.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1366 → teddy_cli-0.1.17.dev1368}/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.dev1366 → teddy_cli-0.1.17.dev1368}/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
|