teddy-cli 0.1.17.dev1255__tar.gz → 0.1.17.dev1256__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.dev1255 → teddy_cli-0.1.17.dev1256}/PKG-INFO +1 -1
  2. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/pyproject.toml +1 -1
  3. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +14 -38
  4. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/.gitignore +0 -0
  5. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/LICENSE +0 -0
  6. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/__init__.py +0 -0
  7. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/__main__.py +0 -0
  8. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/__init__.py +0 -0
  9. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  10. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  11. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  12. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  13. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  14. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  15. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  16. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  17. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  18. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  19. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  20. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  21. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  22. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  23. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  24. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  25. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  26. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  27. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  28. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  29. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  30. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  31. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  32. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  33. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  34. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  35. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  36. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  37. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  38. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  39. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  40. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/container.py +0 -0
  41. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/__init__.py +0 -0
  42. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/__init__.py +0 -0
  43. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  44. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  45. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  46. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
  47. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  48. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  49. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  50. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/plan.py +0 -0
  51. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  52. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  53. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  54. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/session.py +0 -0
  55. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  56. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  57. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/__init__.py +0 -0
  58. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  59. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  60. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  61. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  62. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  63. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  64. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  65. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  66. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  67. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  68. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  69. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  70. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  71. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  72. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  73. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  74. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  75. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  76. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  77. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  78. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  79. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  80. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  81. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  82. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  83. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  84. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  85. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  86. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/__init__.py +0 -0
  87. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  88. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  89. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  90. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/action_executor.py +0 -0
  91. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/action_factory.py +0 -0
  92. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  93. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  94. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/context_service.py +0 -0
  95. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  96. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  97. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  98. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/init_service.py +0 -0
  99. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  100. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  101. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  102. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  103. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  104. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/plan_validator.py +0 -0
  105. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/planning_service.py +0 -0
  106. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  107. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  108. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  109. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  110. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/session_planner.py +0 -0
  111. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  112. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/session_replanner.py +0 -0
  113. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/session_repository.py +0 -0
  114. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/session_service.py +0 -0
  115. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  116. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/update_checker.py +0 -0
  117. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  118. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  119. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  120. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  121. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  122. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  123. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  124. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  125. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/__init__.py +0 -0
  126. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/diff.py +0 -0
  127. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  128. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/io.py +0 -0
  129. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/markdown.py +0 -0
  130. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/serialization.py +0 -0
  131. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  132. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/string.py +0 -0
  133. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/core/utils/terminal.py +0 -0
  134. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/prompts.py +0 -0
  135. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/registries/__init__.py +0 -0
  136. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/registries/infrastructure.py +0 -0
  137. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/registries/reviewer.py +0 -0
  138. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/registries/validators.py +0 -0
  139. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/MRP.xml +0 -0
  140. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/__init__.py +0 -0
  141. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/__init__.py +0 -0
  142. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/config.yaml +0 -0
  143. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/init.context +0 -0
  144. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
  145. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
  146. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
  147. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/prompts/developer.xml +0 -0
  148. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
  149. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
  150. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
  151. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
  152. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/case-file.md +0 -0
  153. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/ci.md +0 -0
  154. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/component-design.md +0 -0
  155. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/makefile.md +0 -0
  156. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/milestone.md +0 -0
  157. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
  158. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  159. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/src/teddy_executor/resources/templates/task-brief.md +0 -0
  160. {teddy_cli-0.1.17.dev1255 → teddy_cli-0.1.17.dev1256}/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.dev1255
3
+ Version: 0.1.17.dev1256
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.dev1255"
3
+ version = "0.1.17.dev1256"
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" }
@@ -18,7 +18,7 @@ from teddy_executor.core.ports.outbound.session_loop_guard import ISessionLoopGu
18
18
  from teddy_executor.core.ports.outbound.config_service import IConfigService
19
19
  from teddy_executor.core.ports.outbound.session_repository import ISessionRepository
20
20
  from teddy_executor.core.utils.interrupt_guard import INTERRUPT_REASON, InterruptGuard
21
- from teddy_executor.core.utils.string import canonical_agent_name, slugify
21
+ from teddy_executor.core.utils.string import slugify
22
22
  from teddy_executor.adapters.inbound.cli_formatter import format_project_context
23
23
  from teddy_executor.adapters.inbound.cli_helpers import (
24
24
  echo_and_copy,
@@ -415,6 +415,7 @@ def _display_drift_notification(container: Container) -> list[str]:
415
415
  config = container.resolve(IConfigService)
416
416
  report = container.resolve(IInitUseCase).check_drift()
417
417
  fired: list[str] = []
418
+ lines: list[str] = []
418
419
 
419
420
  if config.get_setting("checks.prompts", True) and report.prompts_drifted:
420
421
  clause = _format_drift_clause(
@@ -424,9 +425,9 @@ def _display_drift_notification(container: Container) -> list[str]:
424
425
  report.edited_prompts,
425
426
  report.missing_prompts,
426
427
  )
427
- typer.echo(
428
+ lines.append(
428
429
  typer.style(
429
- f"ℹ {clause}. To overwrite, run: teddy init prompts\n",
430
+ f"ℹ {clause}. To update them, run: teddy init prompts",
430
431
  fg=typer.colors.YELLOW,
431
432
  )
432
433
  )
@@ -440,14 +441,19 @@ def _display_drift_notification(container: Container) -> list[str]:
440
441
  report.edited_templates,
441
442
  report.missing_templates,
442
443
  )
443
- typer.echo(
444
+ lines.append(
444
445
  typer.style(
445
- f"ℹ {clause}. To overwrite, run: teddy init templates\n",
446
+ f"ℹ {clause}. To update them, run: teddy init templates",
446
447
  fg=typer.colors.YELLOW,
447
448
  )
448
449
  )
449
450
  fired.append("checks.templates")
450
451
 
452
+ if lines:
453
+ typer.echo("") # blank separator ABOVE the notification block
454
+ for line in lines:
455
+ typer.echo(line)
456
+
451
457
  return fired
452
458
 
453
459
 
@@ -502,10 +508,11 @@ def _display_update_notification(container: Container, cache_path: Path) -> list
502
508
  command = "uv tool install teddy-cli --force"
503
509
  else:
504
510
  command = "uv tool upgrade teddy-cli"
511
+ typer.echo("") # blank separator ABOVE the notification block
505
512
  typer.echo(
506
513
  typer.style(
507
514
  f"ℹ A new version {latest} is available. "
508
- f"To upgrade, run: {command}\n",
515
+ f"To upgrade, run: {command}",
509
516
  fg=typer.colors.YELLOW,
510
517
  )
511
518
  )
@@ -569,7 +576,6 @@ def handle_new_session( # noqa: PLR0913
569
576
  )
570
577
  )
571
578
  _display_checks_footer(fired)
572
- _echo_config_success(container, agent, model=model)
573
579
 
574
580
  session_manager: ISessionManager = container.resolve(ISessionManager)
575
581
  user_interactor: IUserInteractor = container.resolve(IUserInteractor)
@@ -617,35 +623,6 @@ def handle_new_session( # noqa: PLR0913
617
623
  raise typer.Exit(code=1)
618
624
 
619
625
 
620
- def _echo_config_success(
621
- container: Container,
622
- agent: Optional[str] = None,
623
- model: Optional[str] = None,
624
- actual_model: Optional[str] = None,
625
- ) -> None:
626
- """Retrieves and echoes the active model and agent configuration on success.
627
-
628
- Args:
629
- container: The DI container with resolved services.
630
- agent: Optional agent name to display.
631
- model: Optional model override from CLI. If provided, this takes
632
- precedence over the config file value.
633
- actual_model: Optional actual serving model from meta.yaml. If provided,
634
- this takes precedence over the model parameter.
635
- """
636
- config_service = container.resolve(IConfigService)
637
- if actual_model:
638
- resolved_model = actual_model
639
- elif model:
640
- resolved_model = model
641
- else:
642
- resolved_model = config_service.get_setting("llm.model", "unknown")
643
- msg = f"API key valid! Model: {resolved_model}"
644
- if agent:
645
- msg += f" | Agent: {canonical_agent_name(agent)}"
646
- typer.echo(msg, err=True)
647
-
648
-
649
626
  def _run_cli_preflight_check(
650
627
  container: Container,
651
628
  agent: Optional[str] = None,
@@ -1016,9 +993,8 @@ def _sync_and_display_session_meta(
1016
993
 
1017
994
  latest_turn_path = session_manager.get_latest_turn(session_name)
1018
995
  meta = repository.load_meta(latest_turn_path)
1019
- # Clear actual_model so display falls through to current model (override or config)
996
+ # Clear actual_model so it is not carried into the next turn's meta.yaml
1020
997
  meta.pop("actual_model", None)
1021
- _echo_config_success(container, agent=meta.get("agent_name"), model=model)
1022
998
 
1023
999
  # Sync latest turn's meta.yaml with current config model/overrides
1024
1000
  config_model = config_service.get_setting("llm.model", "unknown")