teddy-cli 0.1.17.dev1210__tar.gz → 0.1.17.dev1211__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 (160) hide show
  1. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/PKG-INFO +1 -1
  2. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/pyproject.toml +1 -1
  3. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +43 -4
  4. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/.gitignore +0 -0
  5. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/LICENSE +0 -0
  6. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/__init__.py +0 -0
  7. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/__main__.py +0 -0
  8. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/__init__.py +0 -0
  9. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  10. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  11. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  12. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  13. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  14. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  15. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  16. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  17. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  18. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  19. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  20. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  21. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  22. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  23. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  24. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  25. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  26. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  27. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  28. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  29. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  30. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  31. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  32. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  33. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  34. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  35. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  36. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  37. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  38. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  39. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  40. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/container.py +0 -0
  41. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/__init__.py +0 -0
  42. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/__init__.py +0 -0
  43. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  44. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  45. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  46. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
  47. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  48. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  49. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  50. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/plan.py +0 -0
  51. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  52. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  53. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  54. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/session.py +0 -0
  55. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  56. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  57. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/__init__.py +0 -0
  58. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  59. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  60. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  61. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  62. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  63. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  64. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  65. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  66. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  67. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  68. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  69. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  70. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  71. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  72. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  73. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  74. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  75. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  76. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  77. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  78. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  79. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  80. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  81. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  82. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  83. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  84. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  85. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  86. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/__init__.py +0 -0
  87. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  88. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  89. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  90. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/action_executor.py +0 -0
  91. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/action_factory.py +0 -0
  92. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  93. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  94. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/context_service.py +0 -0
  95. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  96. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  97. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  98. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/init_service.py +0 -0
  99. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  100. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  101. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  102. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  103. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  104. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/plan_validator.py +0 -0
  105. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/planning_service.py +0 -0
  106. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  107. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  108. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  109. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  110. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/session_planner.py +0 -0
  111. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  112. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/session_replanner.py +0 -0
  113. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/session_repository.py +0 -0
  114. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/session_service.py +0 -0
  115. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  116. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/update_checker.py +0 -0
  117. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  118. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  119. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  120. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  121. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  122. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  123. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  124. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  125. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/__init__.py +0 -0
  126. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/diff.py +0 -0
  127. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  128. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/io.py +0 -0
  129. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/markdown.py +0 -0
  130. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/serialization.py +0 -0
  131. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  132. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/string.py +0 -0
  133. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/core/utils/terminal.py +0 -0
  134. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/prompts.py +0 -0
  135. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/registries/__init__.py +0 -0
  136. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/registries/infrastructure.py +0 -0
  137. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/registries/reviewer.py +0 -0
  138. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/registries/validators.py +0 -0
  139. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/MRP.xml +0 -0
  140. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/__init__.py +0 -0
  141. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/__init__.py +0 -0
  142. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/config.yaml +0 -0
  143. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/init.context +0 -0
  144. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
  145. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
  146. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
  147. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/prompts/developer.xml +0 -0
  148. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
  149. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
  150. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
  151. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
  152. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/case-file.md +0 -0
  153. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/ci.md +0 -0
  154. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/component-design.md +0 -0
  155. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/makefile.md +0 -0
  156. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/milestone.md +0 -0
  157. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
  158. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  159. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/src/teddy_executor/resources/templates/task-brief.md +0 -0
  160. {teddy_cli-0.1.17.dev1210 → teddy_cli-0.1.17.dev1211}/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.dev1210
3
+ Version: 0.1.17.dev1211
4
4
  Summary: A local-first, file-based AI coding workflow that applies the UNIX philosophy to AI collaboration.
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.dev1210"
3
+ version = "0.1.17.dev1211"
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" }
@@ -369,10 +369,48 @@ def _orchestrate_session_loop(
369
369
  signal.signal(signal.SIGINT, previous_handler)
370
370
 
371
371
 
372
- def _display_update_notification(cache_path: Path) -> None:
372
+ def _display_drift_notification(container: Container) -> None:
373
+ """Advises the restore command when user prompts/templates have drifted.
374
+
375
+ Compares the user's ``.teddy/prompts/`` and ``docs/templates/`` against the
376
+ bundled defaults (via ``IInitUseCase.check_drift``) and, when they have
377
+ drifted (edited or missing), emits a yellow, actionable advice naming the
378
+ restore command(s). Advisory only: it runs on the preflight HEALTHY path and
379
+ never blocks the session. Gated by the checks.prompts_templates config
380
+ toggle (defaults to enabled).
381
+ """
382
+ config = container.resolve(IConfigService)
383
+ if not config.get_setting("checks.prompts_templates", True):
384
+ return
385
+
386
+ report = container.resolve(IInitUseCase).check_drift()
387
+ if not report.has_drift:
388
+ return
389
+
390
+ commands: list[str] = []
391
+ if report.prompts_drifted:
392
+ commands.append("teddy init prompts")
393
+ if report.templates_drifted:
394
+ commands.append("teddy init templates")
395
+
396
+ typer.echo(
397
+ typer.style(
398
+ "ℹ Prompt/template drift detected. To restore the bundled "
399
+ f"defaults, run: {' and '.join(commands)}\n",
400
+ fg=typer.colors.YELLOW,
401
+ )
402
+ )
403
+
404
+
405
+ def _display_update_notification(container: Container, cache_path: Path) -> None:
373
406
  """Check the update cache and display a non-blocking notification
374
407
  if a newer version is available. Called on session startup, after
375
- the background check thread has been started."""
408
+ the background check thread has been started. Gated by the
409
+ checks.update config toggle (defaults to enabled); a disabled toggle
410
+ suppresses the notification only -- the background fetch still runs."""
411
+ config = container.resolve(IConfigService)
412
+ if not config.get_setting("checks.update", True):
413
+ return
376
414
  try:
377
415
  cache = read_update_cache(cache_path)
378
416
  if cache is None:
@@ -428,7 +466,7 @@ def handle_new_session( # noqa: PLR0913
428
466
  daemon=True,
429
467
  )
430
468
  thread.start()
431
- _display_update_notification(cache_path)
469
+ _display_update_notification(container, cache_path)
432
470
 
433
471
  try:
434
472
  # 0. Pipeline mode requires an initial message
@@ -591,6 +629,7 @@ def _run_cli_preflight_check(
591
629
  # one-time setup stays decoupled from the approval flag (Slice 00-26).
592
630
  if setup_editor:
593
631
  _validate_editor_config(container)
632
+ _display_drift_notification(container)
594
633
  return
595
634
 
596
635
  error_msg = f"Configuration Error: {', '.join(errors)}"
@@ -977,7 +1016,7 @@ def handle_resume_session( # noqa: PLR0913
977
1016
  daemon=True,
978
1017
  )
979
1018
  thread.start()
980
- _display_update_notification(cache_path)
1019
+ _display_update_notification(container, cache_path)
981
1020
 
982
1021
  try:
983
1022
  # 1. Health checks (advisory, non-blocking)