teddy-cli 0.1.17.dev1422__tar.gz → 0.1.17.dev1423__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.
Files changed (165) hide show
  1. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/PKG-INFO +1 -1
  2. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/pyproject.toml +1 -1
  3. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +24 -28
  4. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/.gitignore +0 -0
  5. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/LICENSE +0 -0
  6. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/README.md +0 -0
  7. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/__init__.py +0 -0
  8. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/__main__.py +0 -0
  9. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/__init__.py +0 -0
  10. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  11. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  12. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  13. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  14. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  15. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  16. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  17. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  18. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  19. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  20. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  21. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  22. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  23. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  24. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  25. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  26. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  27. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  28. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  29. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  30. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  31. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  32. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  33. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  34. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  35. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  36. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  37. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  38. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  39. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  40. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  41. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/container.py +0 -0
  42. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/__init__.py +0 -0
  43. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/__init__.py +0 -0
  44. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  45. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  46. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  47. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
  48. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
  49. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  50. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  51. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  52. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/plan.py +0 -0
  53. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  54. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  55. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  56. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/session.py +0 -0
  57. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  58. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  59. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/__init__.py +0 -0
  60. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  61. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  62. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  63. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  64. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  65. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  66. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  67. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  68. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  69. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  70. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  71. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  72. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  73. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  74. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  75. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  76. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  77. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  78. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  79. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  80. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  81. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  82. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  83. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  84. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  85. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  86. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  87. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  88. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/__init__.py +0 -0
  89. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  90. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  91. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  92. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/action_executor.py +0 -0
  93. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/action_factory.py +0 -0
  94. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  95. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  96. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/context_service.py +0 -0
  97. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  98. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  99. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  100. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/init_service.py +0 -0
  101. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  102. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  103. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  104. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  105. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  106. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/plan_validator.py +0 -0
  107. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/planning_service.py +0 -0
  108. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  109. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  110. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  111. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  112. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/session_planner.py +0 -0
  113. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  114. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/session_replanner.py +0 -0
  115. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/session_repository.py +0 -0
  116. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/session_service.py +0 -0
  117. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  118. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/update_checker.py +0 -0
  119. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  120. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  121. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  122. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  123. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  124. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  125. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  126. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  127. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/__init__.py +0 -0
  128. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/diff.py +0 -0
  129. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/editor_names.py +0 -0
  130. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  131. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
  132. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/io.py +0 -0
  133. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/markdown.py +0 -0
  134. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/paths.py +0 -0
  135. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/serialization.py +0 -0
  136. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/session_notices.py +0 -0
  137. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  138. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/string.py +0 -0
  139. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/core/utils/terminal.py +0 -0
  140. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/prompts.py +0 -0
  141. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/registries/__init__.py +0 -0
  142. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/registries/infrastructure.py +0 -0
  143. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/registries/reviewer.py +0 -0
  144. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/registries/validators.py +0 -0
  145. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/MRP.md +0 -0
  146. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/__init__.py +0 -0
  147. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/__init__.py +0 -0
  148. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/config.yaml +0 -0
  149. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/init.context +0 -0
  150. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
  151. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
  152. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
  153. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
  154. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
  155. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
  156. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
  157. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
  158. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/case-file.md +0 -0
  159. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/ci.md +0 -0
  160. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/component-design.md +0 -0
  161. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/makefile.md +0 -0
  162. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/milestone.md +0 -0
  163. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
  164. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  165. {teddy_cli-0.1.17.dev1422 → teddy_cli-0.1.17.dev1423}/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.1.17.dev1422
3
+ Version: 0.1.17.dev1423
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "teddy-cli"
3
- version = "0.1.17.dev1422"
3
+ version = "0.1.17.dev1423"
4
4
  description = "The local-first, test-driven agentic engineering harness. Because you should own the means of development."
5
5
  readme = "README.md"
6
6
  keywords = [
@@ -283,13 +283,11 @@ def _run_health_checks(config_service: IConfigService) -> None:
283
283
 
284
284
 
285
285
  _GIT_PULL_TIMEOUT_SECONDS = 15
286
- _PULL_SKIPPED_WARNING = "⚠ Workspace pull skipped; continuing with the current branch."
287
- _PULL_TIMEOUT_WARNING = "⚠ Workspace pull timed out; continuing without it."
286
+ _PULL_SKIPPED_WARNING = "⚠ Workspace pull skipped."
287
+ _PULL_TIMEOUT_WARNING = "⚠ Workspace pull timed out."
288
288
  _PULL_GIT_UNAVAILABLE_WARNING = "⚠ Workspace pull skipped; git is unavailable."
289
289
  _PULL_UP_TO_DATE_NOTICE = "✓ Workspace up-to-date with remote"
290
- _PULL_IN_PROGRESS_NOTICE = "✓ Workspace pull skipped; Git operation in progress"
291
- _PULL_DETACHED_HEAD_NOTICE = "✓ Workspace pull skipped; detached HEAD"
292
- _PULL_NO_UPSTREAM_NOTICE = "✓ Workspace pull skipped; no upstream branch"
290
+ _PULL_SKIPPED_NOTICE = "✓ Workspace pull skipped"
293
291
  _IN_PROGRESS_GIT_MARKERS = (
294
292
  "rebase-merge",
295
293
  "rebase-apply",
@@ -325,11 +323,12 @@ def _pull_workspace_on_start(
325
323
  The pull runs only when ``workspace.pull`` is enabled and the workspace is
326
324
  a Git repository, so a disabled toggle or a non-repository directory stays
327
325
  silent. A detached HEAD, a missing upstream, or an in-progress operation
328
- reports one checkmark notice, because the user needs a pull outcome on
329
- every run. A dirty worktree, a failed pull, a timeout, or an unavailable
330
- git binary reports one warning and leaves the workspace unchanged. A
331
- successful fast-forward names the number of commits it moved, and a pull
332
- that moves no commit confirms the workspace is up to date.
326
+ reports one generic checkmark notice, because the user needs a pull outcome
327
+ on every run without the diagnostic detail. A dirty worktree, a failed
328
+ pull, a timeout, or an unavailable git binary reports one warning and
329
+ leaves the workspace unchanged. A successful fast-forward names the number
330
+ of commits it moved, and a pull that moves no commit confirms the workspace
331
+ is up to date.
333
332
 
334
333
  The Git process is injected through ``run_func`` so every decision is
335
334
  testable without spawning a real repository.
@@ -352,16 +351,15 @@ def _fast_forward_workspace(git_run: Callable[..., Any]) -> None:
352
351
 
353
352
  Each precondition is probed before the pull so an unsafe state never
354
353
  reaches ``git pull``. A dirty worktree reports one warning, while every
355
- other unsafe state reports one checkmark notice so the user always sees a
356
- pull outcome.
354
+ other unsafe state reports one generic checkmark notice so the user always
355
+ sees a pull outcome.
357
356
  """
358
357
  skip = _pull_skip_reason(git_run)
359
358
  if skip is not None:
360
- message, is_warning = skip
361
- if is_warning:
362
- _warn_pull(message)
359
+ if skip:
360
+ _warn_pull(_PULL_SKIPPED_WARNING)
363
361
  else:
364
- _notice_pull(message)
362
+ _notice_pull(_PULL_SKIPPED_NOTICE)
365
363
  return
366
364
  before = _read_head(git_run)
367
365
  result = git_run(
@@ -377,33 +375,31 @@ def _fast_forward_workspace(git_run: Callable[..., Any]) -> None:
377
375
  _report_fast_forward(git_run, before, _read_head(git_run))
378
376
 
379
377
 
380
- def _pull_skip_reason(
381
- git_run: Callable[..., Any],
382
- ) -> Optional[tuple[str, bool]]:
383
- """Return the outcome text and severity, or None when the pull may proceed.
378
+ def _pull_skip_reason(git_run: Callable[..., Any]) -> Optional[bool]:
379
+ """Return the skip severity, or None when the pull may proceed.
384
380
 
385
- Each unsafe state names its own reason, because the user needs a pull
386
- outcome on every run. The boolean marks a warning (``True``) versus a
387
- checkmark notice (``False``). A dirty worktree returns the skipped
388
- warning, because tracked changes can conflict.
381
+ Every skip prints one generic notice, so the caller only needs to know
382
+ whether an attention-worthy warning replaces it. The boolean marks a
383
+ warning (``True``) versus a checkmark notice (``False``). A dirty worktree
384
+ returns the warning, because tracked changes can conflict.
389
385
  """
390
386
  git_dir = Path.cwd() / ".git"
391
387
  if any((git_dir / marker).exists() for marker in _IN_PROGRESS_GIT_MARKERS):
392
- return _PULL_IN_PROGRESS_NOTICE, False
388
+ return False
393
389
  detached = git_run(
394
390
  ["git", "symbolic-ref", "-q", "HEAD"],
395
391
  capture_output=True,
396
392
  timeout=_GIT_PULL_TIMEOUT_SECONDS,
397
393
  )
398
394
  if detached.returncode != 0:
399
- return _PULL_DETACHED_HEAD_NOTICE, False
395
+ return False
400
396
  upstream = git_run(
401
397
  ["git", "rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"],
402
398
  capture_output=True,
403
399
  timeout=_GIT_PULL_TIMEOUT_SECONDS,
404
400
  )
405
401
  if upstream.returncode != 0:
406
- return _PULL_NO_UPSTREAM_NOTICE, False
402
+ return False
407
403
  status = git_run(
408
404
  ["git", "status", "--porcelain"],
409
405
  capture_output=True,
@@ -416,7 +412,7 @@ def _pull_skip_reason(
416
412
  if line and not line.startswith("??")
417
413
  ]
418
414
  if tracked_changes:
419
- return _PULL_SKIPPED_WARNING, True
415
+ return True
420
416
  return None
421
417
 
422
418