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