teddy-cli 0.2.1.dev1428__tar.gz → 0.2.1.dev1431__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.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/PKG-INFO +9 -9
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/README.md +8 -8
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/pyproject.toml +1 -1
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +18 -15
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/.gitignore +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/LICENSE +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/editor_names.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/session_notices.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/MRP.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: teddy-cli
|
|
3
|
-
Version: 0.2.1.
|
|
3
|
+
Version: 0.2.1.dev1431
|
|
4
4
|
Summary: The local-first, test-driven agentic engineering harness. Because you should own the means of development.
|
|
5
5
|
Author: Raphael Atteritano
|
|
6
6
|
License: AGPL-3.0-only
|
|
@@ -35,13 +35,13 @@ Description-Content-Type: text/markdown
|
|
|
35
35
|
<div align="center">
|
|
36
36
|
|
|
37
37
|
<p align="center">
|
|
38
|
-
<img src="
|
|
38
|
+
<img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/banner.png" alt="TeDDy: The opinionated software engineering harness - Because you should own the means of development" width="100%" style="max-width: 650px;" />
|
|
39
39
|
</p>
|
|
40
40
|
|
|
41
41
|
<p align="center">
|
|
42
42
|
<a href="https://pypi.org/project/teddy-cli/"><img src="https://img.shields.io/pypi/v/teddy-cli?color=blue&style=flat-square" alt="PyPI version" /></a>
|
|
43
43
|
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.11+-blue.svg?style=flat-square" alt="Python 3.11+" /></a>
|
|
44
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-purple.svg?style=flat-square" alt="License: AGPL-3.0" /></a>
|
|
44
|
+
<a href="https://github.com/atte500/teddy/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-purple.svg?style=flat-square" alt="License: AGPL-3.0" /></a>
|
|
45
45
|
</p>
|
|
46
46
|
|
|
47
47
|
```bash
|
|
@@ -49,7 +49,7 @@ uv tool install teddy-cli
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
<p align="center">
|
|
52
|
-
<img src="
|
|
52
|
+
<img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/demo.gif" alt="TeDDy TUI Demo" width="100%" style="max-width: 100%; height: auto;" />
|
|
53
53
|
</p>
|
|
54
54
|
|
|
55
55
|
[Why TeDDy?](#why-not-just-use) • [TeDDy's SDLC](#teddys-software-delivery-lifecycle) • [Owning Your SDLC](#owning-your-sdlc) • [Quickstart](#getting-started) • [Usage](#usage) • [FAQ](#frequently-asked-questions) • [Support](#support)
|
|
@@ -130,7 +130,7 @@ For **technical defects**, TeDDy prevents structural failures through Design by
|
|
|
130
130
|
For **misalignment**, TeDDy prevents building the wrong thing by using spikes and prototypes to de-risk uncertain solutions before committing to an architecture. During implementation, it mitigates drift by delivering features through small vertical slices. Specific Markdown documents mediate every phase transition, anchoring the agents and providing a high-level steering interface to keep humans in the loop.
|
|
131
131
|
|
|
132
132
|
<p align="center">
|
|
133
|
-
<img src="
|
|
133
|
+
<img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/matrix.png" alt="Workflow Matrix" width="100%" />
|
|
134
134
|
</p>
|
|
135
135
|
|
|
136
136
|
---
|
|
@@ -140,7 +140,7 @@ For **misalignment**, TeDDy prevents building the wrong thing by using spikes an
|
|
|
140
140
|
Instead of winging the process on the go or taking the shortest path to generate code, agents follow a structured delivery process mediated by plain Markdown documents:
|
|
141
141
|
|
|
142
142
|
<p align="center">
|
|
143
|
-
<img src="
|
|
143
|
+
<img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/workflow-schematic.png" alt="TeDDy Workflow" width="100%" />
|
|
144
144
|
</p>
|
|
145
145
|
|
|
146
146
|
1. **Strategic Alignment & Roadmapping:** The **Pathfinder** aligns incoming requests with the product vision, roadmap, and permanent system invariant specifications.
|
|
@@ -398,9 +398,9 @@ The tool itself is not monetized. If your team needs custom agent architectures,
|
|
|
398
398
|
|
|
399
399
|
## Learn More
|
|
400
400
|
|
|
401
|
-
- [Project Roadmap & Vision](
|
|
402
|
-
- [System Architecture](
|
|
403
|
-
- [Agent Prompt Templates](
|
|
401
|
+
- [Project Roadmap & Vision](https://github.com/atte500/teddy/blob/main/docs/project/PROJECT.md)
|
|
402
|
+
- [System Architecture](https://github.com/atte500/teddy/blob/main/docs/architecture/ARCHITECTURE.md)
|
|
403
|
+
- [Agent Prompt Templates](https://github.com/atte500/teddy/tree/main/src/teddy_executor/resources/config/prompts)
|
|
404
404
|
|
|
405
405
|
---
|
|
406
406
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="
|
|
4
|
+
<img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/banner.png" alt="TeDDy: The opinionated software engineering harness - Because you should own the means of development" width="100%" style="max-width: 650px;" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<a href="https://pypi.org/project/teddy-cli/"><img src="https://img.shields.io/pypi/v/teddy-cli?color=blue&style=flat-square" alt="PyPI version" /></a>
|
|
9
9
|
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.11+-blue.svg?style=flat-square" alt="Python 3.11+" /></a>
|
|
10
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-purple.svg?style=flat-square" alt="License: AGPL-3.0" /></a>
|
|
10
|
+
<a href="https://github.com/atte500/teddy/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-purple.svg?style=flat-square" alt="License: AGPL-3.0" /></a>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
13
|
```bash
|
|
@@ -15,7 +15,7 @@ uv tool install teddy-cli
|
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
<p align="center">
|
|
18
|
-
<img src="
|
|
18
|
+
<img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/demo.gif" alt="TeDDy TUI Demo" width="100%" style="max-width: 100%; height: auto;" />
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
21
|
[Why TeDDy?](#why-not-just-use) • [TeDDy's SDLC](#teddys-software-delivery-lifecycle) • [Owning Your SDLC](#owning-your-sdlc) • [Quickstart](#getting-started) • [Usage](#usage) • [FAQ](#frequently-asked-questions) • [Support](#support)
|
|
@@ -96,7 +96,7 @@ For **technical defects**, TeDDy prevents structural failures through Design by
|
|
|
96
96
|
For **misalignment**, TeDDy prevents building the wrong thing by using spikes and prototypes to de-risk uncertain solutions before committing to an architecture. During implementation, it mitigates drift by delivering features through small vertical slices. Specific Markdown documents mediate every phase transition, anchoring the agents and providing a high-level steering interface to keep humans in the loop.
|
|
97
97
|
|
|
98
98
|
<p align="center">
|
|
99
|
-
<img src="
|
|
99
|
+
<img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/matrix.png" alt="Workflow Matrix" width="100%" />
|
|
100
100
|
</p>
|
|
101
101
|
|
|
102
102
|
---
|
|
@@ -106,7 +106,7 @@ For **misalignment**, TeDDy prevents building the wrong thing by using spikes an
|
|
|
106
106
|
Instead of winging the process on the go or taking the shortest path to generate code, agents follow a structured delivery process mediated by plain Markdown documents:
|
|
107
107
|
|
|
108
108
|
<p align="center">
|
|
109
|
-
<img src="
|
|
109
|
+
<img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/workflow-schematic.png" alt="TeDDy Workflow" width="100%" />
|
|
110
110
|
</p>
|
|
111
111
|
|
|
112
112
|
1. **Strategic Alignment & Roadmapping:** The **Pathfinder** aligns incoming requests with the product vision, roadmap, and permanent system invariant specifications.
|
|
@@ -364,9 +364,9 @@ The tool itself is not monetized. If your team needs custom agent architectures,
|
|
|
364
364
|
|
|
365
365
|
## Learn More
|
|
366
366
|
|
|
367
|
-
- [Project Roadmap & Vision](
|
|
368
|
-
- [System Architecture](
|
|
369
|
-
- [Agent Prompt Templates](
|
|
367
|
+
- [Project Roadmap & Vision](https://github.com/atte500/teddy/blob/main/docs/project/PROJECT.md)
|
|
368
|
+
- [System Architecture](https://github.com/atte500/teddy/blob/main/docs/architecture/ARCHITECTURE.md)
|
|
369
|
+
- [Agent Prompt Templates](https://github.com/atte500/teddy/tree/main/src/teddy_executor/resources/config/prompts)
|
|
370
370
|
|
|
371
371
|
---
|
|
372
372
|
|
|
@@ -428,23 +428,25 @@ def _report_fast_forward(git_run: Callable[..., Any], before: str, after: str) -
|
|
|
428
428
|
)
|
|
429
429
|
|
|
430
430
|
|
|
431
|
-
def
|
|
432
|
-
"""
|
|
431
|
+
def _update_cache_path() -> Path:
|
|
432
|
+
"""Resolve the project-local cache file that carries the latest version."""
|
|
433
|
+
return find_project_root() / ".teddy" / ".update_cache.json"
|
|
433
434
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
435
|
+
|
|
436
|
+
def _start_background_update_check() -> None:
|
|
437
|
+
"""Start the daemon version fetch that fills the cache for the next run.
|
|
438
|
+
|
|
439
|
+
The fetch never blocks startup and never prints. The startup preamble emits
|
|
440
|
+
the notice from the cache this fetch leaves behind.
|
|
437
441
|
"""
|
|
438
442
|
import threading
|
|
439
443
|
|
|
440
|
-
cache_path = find_project_root() / ".teddy" / ".update_cache.json"
|
|
441
444
|
thread = threading.Thread(
|
|
442
445
|
target=background_check,
|
|
443
|
-
args=(
|
|
446
|
+
args=(_update_cache_path(),),
|
|
444
447
|
daemon=True,
|
|
445
448
|
)
|
|
446
449
|
thread.start()
|
|
447
|
-
return _display_update_notification(container, cache_path)
|
|
448
450
|
|
|
449
451
|
|
|
450
452
|
def _run_startup_preamble(
|
|
@@ -458,10 +460,10 @@ def _run_startup_preamble(
|
|
|
458
460
|
|
|
459
461
|
The order is fixed so the banner layout cannot drift: health checks, the
|
|
460
462
|
start-only workspace fast-forward line, one separator blank line, the
|
|
461
|
-
``Checking configurations...`` line,
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
the pull off.
|
|
463
|
+
``Checking configurations...`` line, the cached update notice, then the
|
|
464
|
+
preflight check with its drift advice. ``start`` forwards its ``agent`` so
|
|
465
|
+
the preflight validates the agent prompt and enables ``pull_workspace``;
|
|
466
|
+
``resume`` leaves the agent ``None`` and keeps the pull off.
|
|
465
467
|
"""
|
|
466
468
|
config_service = container.resolve(IConfigService)
|
|
467
469
|
_run_health_checks(config_service)
|
|
@@ -470,6 +472,7 @@ def _run_startup_preamble(
|
|
|
470
472
|
# One separator groups the checkmark block above with the notices below.
|
|
471
473
|
typer.echo("", err=True)
|
|
472
474
|
typer.echo("Checking configurations...", err=True)
|
|
475
|
+
_display_update_notification(container, _update_cache_path())
|
|
473
476
|
_run_cli_preflight_check(
|
|
474
477
|
container,
|
|
475
478
|
agent=agent,
|
|
@@ -800,7 +803,7 @@ def _display_update_notification(container: Container, cache_path: Path) -> list
|
|
|
800
803
|
typer.echo(
|
|
801
804
|
typer.style(
|
|
802
805
|
f"ℹ A new version {latest} is available. "
|
|
803
|
-
f"To upgrade, run: {command}
|
|
806
|
+
f"To upgrade, run: {command}",
|
|
804
807
|
fg=typer.colors.YELLOW,
|
|
805
808
|
),
|
|
806
809
|
err=True,
|
|
@@ -830,7 +833,7 @@ def handle_new_session( # noqa: PLR0913
|
|
|
830
833
|
max_cost: Optional[float] = None,
|
|
831
834
|
):
|
|
832
835
|
"""Logic for the 'start' command."""
|
|
833
|
-
_start_background_update_check(
|
|
836
|
+
_start_background_update_check()
|
|
834
837
|
|
|
835
838
|
try:
|
|
836
839
|
# 0. Pipeline mode requires an initial message
|
|
@@ -1513,7 +1516,7 @@ def handle_resume_session( # noqa: PLR0913
|
|
|
1513
1516
|
max_cost: Optional[float] = None,
|
|
1514
1517
|
):
|
|
1515
1518
|
"""Logic for the 'resume' command."""
|
|
1516
|
-
_start_background_update_check(
|
|
1519
|
+
_start_background_update_check()
|
|
1517
1520
|
|
|
1518
1521
|
try:
|
|
1519
1522
|
# 1. Shared startup preamble (health checks + preflight)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/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
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/__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
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/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.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/plan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/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.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/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
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/init_service.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
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/editor_names.py
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/interrupt_guard.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/session_notices.py
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/stdin_ownership.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/infrastructure.py
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/__init__.py
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/__init__.py
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/config.yaml
RENAMED
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/init.context
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/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
|