teddy-cli 0.1.16.dev1157__tar.gz → 0.1.16.dev1159__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.16.dev1157 → teddy_cli-0.1.16.dev1159}/PKG-INFO +1 -1
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/pyproject.toml +1 -1
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/session_repository.py +42 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/config.yaml +2 -4
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/.gitignore +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/LICENSE +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/prompts/developer.xml +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/MM-NN-vertical-slice.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/MM-milestone.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/NN-case-file.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/NN-task-brief.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/specification-document.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "teddy-cli"
|
|
3
|
-
version = "0.1.16.
|
|
3
|
+
version = "0.1.16.dev1159"
|
|
4
4
|
description = "A local-first, file-based AI coding workflow that applies the UNIX philosophy to AI collaboration."
|
|
5
5
|
authors = [{ name = "Raphael Atteritano" }]
|
|
6
6
|
license = { text = "AGPL-3.0-only" }
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import logging
|
|
1
2
|
import re
|
|
2
3
|
import yaml
|
|
3
4
|
from pathlib import Path
|
|
@@ -6,6 +7,8 @@ from typing import Set, Dict, Any
|
|
|
6
7
|
from teddy_executor.core.ports.outbound.file_system_manager import IFileSystemManager
|
|
7
8
|
from teddy_executor.core.ports.outbound.session_repository import ISessionRepository
|
|
8
9
|
|
|
10
|
+
logger = logging.getLogger(__name__)
|
|
11
|
+
|
|
9
12
|
|
|
10
13
|
class SessionRepository(ISessionRepository):
|
|
11
14
|
"""
|
|
@@ -73,6 +76,45 @@ class SessionRepository(ISessionRepository):
|
|
|
73
76
|
|
|
74
77
|
raise ValueError(f"Could not resolve session from path: {path}")
|
|
75
78
|
|
|
79
|
+
def resolve_session_from_slug(self, slug: str) -> str:
|
|
80
|
+
"""Resolves a session folder name from its timestamp-stripped slug."""
|
|
81
|
+
sessions_root = ".teddy/sessions"
|
|
82
|
+
if not self._file_system_manager.path_exists(sessions_root):
|
|
83
|
+
raise ValueError("No sessions found.")
|
|
84
|
+
|
|
85
|
+
target = slug.strip().casefold()
|
|
86
|
+
matches = [
|
|
87
|
+
name
|
|
88
|
+
for name in self._file_system_manager.list_directory(sessions_root)
|
|
89
|
+
if self._strip_prefix(name).casefold() == target
|
|
90
|
+
]
|
|
91
|
+
|
|
92
|
+
if not matches:
|
|
93
|
+
raise ValueError(f"No session found with slug: {slug}")
|
|
94
|
+
|
|
95
|
+
scored: list[tuple[str, float]] = []
|
|
96
|
+
for name in matches:
|
|
97
|
+
try:
|
|
98
|
+
mtime = self._file_system_manager.get_mtime(f"{sessions_root}/{name}")
|
|
99
|
+
scored.append((name, mtime))
|
|
100
|
+
except (FileNotFoundError, OSError):
|
|
101
|
+
continue
|
|
102
|
+
|
|
103
|
+
if not scored:
|
|
104
|
+
raise ValueError(f"No session found with slug: {slug}")
|
|
105
|
+
|
|
106
|
+
scored.sort(key=lambda x: x[1], reverse=True)
|
|
107
|
+
chosen = scored[0][0]
|
|
108
|
+
|
|
109
|
+
if len(scored) > 1:
|
|
110
|
+
logger.warning(
|
|
111
|
+
"Multiple sessions match slug '%s'; resuming latest: %s",
|
|
112
|
+
slug,
|
|
113
|
+
chosen,
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
return chosen
|
|
117
|
+
|
|
76
118
|
def is_valid_path(self, path_str: str) -> bool:
|
|
77
119
|
"""Heuristic to check if a string is a plausible file path."""
|
|
78
120
|
if (
|
|
@@ -51,9 +51,7 @@ auto_pruning:
|
|
|
51
51
|
# LiteLLM Configuration Reference: https://docs.litellm.ai/docs/completion/input
|
|
52
52
|
# All keys under 'llm' are passed directly to litellm.completion().
|
|
53
53
|
llm:
|
|
54
|
-
model: "openrouter
|
|
55
|
-
#
|
|
56
|
-
# Paste your key into .teddy/.env, or replace this with a literal value to override.
|
|
57
|
-
api_key: "${TEDDY_LLM_API_KEY}"
|
|
54
|
+
model: "openrouter/~deepseek/deepseek-flash-latest:nitro" # Syntax: "openrouter/<model-path>" (paths from openrouter.ai/models); ":nitro"=fastest, ":floor"=cheapest.
|
|
55
|
+
api_key: "${TEDDY_LLM_API_KEY}" # Paste your key into .teddy/.env, or replace this with a literal value to override.
|
|
58
56
|
max_retries: 3
|
|
59
57
|
timeout: 300
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/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.16.dev1157 → teddy_cli-0.1.16.dev1159}/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
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/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.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/ports/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/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.16.dev1157 → teddy_cli-0.1.16.dev1159}/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
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/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
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.16.dev1157 → teddy_cli-0.1.16.dev1159}/src/teddy_executor/resources/templates/ci.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|