teddy-cli 0.1.17.dev1425__tar.gz → 0.2.0__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.dev1425 → teddy_cli-0.2.0}/PKG-INFO +1 -1
  2. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/pyproject.toml +1 -1
  3. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/__main__.py +3 -4
  4. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +15 -49
  5. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/.gitignore +0 -0
  6. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/LICENSE +0 -0
  7. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/README.md +0 -0
  8. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/__init__.py +0 -0
  9. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/__init__.py +0 -0
  10. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  11. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  12. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  13. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  14. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  15. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  16. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  17. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  18. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  19. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  20. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  21. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  22. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  23. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  24. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  25. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  26. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  27. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  28. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  29. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  30. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  31. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  32. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  33. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  34. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  35. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  36. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  37. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  38. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  39. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  40. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  41. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/container.py +0 -0
  42. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/__init__.py +0 -0
  43. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/__init__.py +0 -0
  44. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  45. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  46. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  47. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
  48. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
  49. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  50. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  51. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  52. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/plan.py +0 -0
  53. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  54. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  55. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  56. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/session.py +0 -0
  57. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  58. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  59. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/__init__.py +0 -0
  60. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  61. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  62. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  63. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  64. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  65. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  66. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  67. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  68. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  69. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  70. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  71. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  72. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  73. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  74. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  75. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  76. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  77. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  78. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  79. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  80. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  81. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  82. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  83. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  84. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  85. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  86. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  87. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  88. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/__init__.py +0 -0
  89. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  90. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  91. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  92. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_executor.py +0 -0
  93. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_factory.py +0 -0
  94. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  95. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  96. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/context_service.py +0 -0
  97. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  98. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  99. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  100. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/init_service.py +0 -0
  101. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  102. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  103. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  104. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  105. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  106. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/plan_validator.py +0 -0
  107. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/planning_service.py +0 -0
  108. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  109. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  110. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  111. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  112. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_planner.py +0 -0
  113. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  114. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_replanner.py +0 -0
  115. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_repository.py +0 -0
  116. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/session_service.py +0 -0
  117. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  118. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/update_checker.py +0 -0
  119. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  120. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  121. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  122. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  123. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  124. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  125. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  126. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  127. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/__init__.py +0 -0
  128. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/diff.py +0 -0
  129. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/editor_names.py +0 -0
  130. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  131. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
  132. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/io.py +0 -0
  133. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/markdown.py +0 -0
  134. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/paths.py +0 -0
  135. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/serialization.py +0 -0
  136. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/session_notices.py +0 -0
  137. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  138. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/string.py +0 -0
  139. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/core/utils/terminal.py +0 -0
  140. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/prompts.py +0 -0
  141. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/__init__.py +0 -0
  142. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/infrastructure.py +0 -0
  143. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/reviewer.py +0 -0
  144. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/registries/validators.py +0 -0
  145. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/MRP.md +0 -0
  146. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/__init__.py +0 -0
  147. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/__init__.py +0 -0
  148. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/config.yaml +0 -0
  149. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/init.context +0 -0
  150. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
  151. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
  152. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
  153. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
  154. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
  155. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
  156. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
  157. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
  158. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/case-file.md +0 -0
  159. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/ci.md +0 -0
  160. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/component-design.md +0 -0
  161. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/makefile.md +0 -0
  162. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/milestone.md +0 -0
  163. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
  164. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  165. {teddy_cli-0.1.17.dev1425 → teddy_cli-0.2.0}/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.dev1425
3
+ Version: 0.2.0
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.dev1425"
3
+ version = "0.2.0"
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 = [
@@ -119,15 +119,14 @@ def _display_init_drift(container) -> None:
119
119
  Bare ``teddy init`` reuses the SAME advice ``teddy start`` prints, so its
120
120
  "unchanged" summary cannot mislead: it flags drifted prompts and missing
121
121
  templates and names the actionable ``teddy init prompts`` /
122
- ``teddy init templates`` commands. The two shared helpers are imported
123
- lazily, and they are advisory only -- they never block the command.
122
+ ``teddy init templates`` commands. The helper is imported lazily, and it is
123
+ advisory only -- it never blocks the command.
124
124
  """
125
125
  from teddy_executor.adapters.inbound.session_cli_handlers import (
126
- _display_checks_footer,
127
126
  _display_drift_notification,
128
127
  )
129
128
 
130
- _display_checks_footer(_display_drift_notification(container))
129
+ _display_drift_notification(container)
131
130
 
132
131
 
133
132
  def _resolve_config_or_exit(container) -> IConfigService:
@@ -433,8 +433,7 @@ def _start_background_update_check(container: Container) -> list[str]:
433
433
 
434
434
  Both session entry points share this preamble: it spawns the daemon
435
435
  version-fetch thread, then emits the cached update notification (if any).
436
- The returned list names the checks that fired so the shared disable-footer
437
- can report them.
436
+ The returned list names the update checks that fired.
438
437
  """
439
438
  import threading
440
439
 
@@ -448,9 +447,8 @@ def _start_background_update_check(container: Container) -> list[str]:
448
447
  return _display_update_notification(container, cache_path)
449
448
 
450
449
 
451
- def _run_startup_preamble( # noqa: PLR0913 # Each parameter is an explicit startup gate.
450
+ def _run_startup_preamble(
452
451
  container: Container,
453
- fired: list[str],
454
452
  agent: Optional[str] = None,
455
453
  setup_editor: Optional[bool] = None,
456
454
  setup_api_key: Optional[bool] = None,
@@ -460,11 +458,10 @@ def _run_startup_preamble( # noqa: PLR0913 # Each parameter is an explicit sta
460
458
 
461
459
  The order is fixed so the banner layout cannot drift: health checks, the
462
460
  start-only workspace fast-forward line, one separator blank line, the
463
- ``Checking configurations...`` line, the preflight check (whose returned
464
- keys extend ``fired``), then the shared disable-footer. ``start`` forwards
465
- its ``agent`` so the preflight validates the agent prompt and enables
466
- ``pull_workspace``; ``resume`` leaves the agent ``None`` and keeps the pull
467
- off.
461
+ ``Checking configurations...`` line, then the preflight check. ``start``
462
+ forwards its ``agent`` so the preflight validates the agent prompt and
463
+ enables ``pull_workspace``; ``resume`` leaves the agent ``None`` and keeps
464
+ the pull off.
468
465
  """
469
466
  config_service = container.resolve(IConfigService)
470
467
  _run_health_checks(config_service)
@@ -473,15 +470,12 @@ def _run_startup_preamble( # noqa: PLR0913 # Each parameter is an explicit sta
473
470
  # One separator groups the checkmark block above with the notices below.
474
471
  typer.echo("", err=True)
475
472
  typer.echo("Checking configurations...", err=True)
476
- fired.extend(
477
- _run_cli_preflight_check(
478
- container,
479
- agent=agent,
480
- setup_editor=setup_editor,
481
- setup_api_key=setup_api_key,
482
- )
473
+ _run_cli_preflight_check(
474
+ container,
475
+ agent=agent,
476
+ setup_editor=setup_editor,
477
+ setup_api_key=setup_api_key,
483
478
  )
484
- _display_checks_footer(fired)
485
479
 
486
480
 
487
481
  def _handle_startup_error(container: Container, error: Exception) -> None:
@@ -774,32 +768,6 @@ def _display_drift_notification(container: Container) -> list[str]:
774
768
  return fired
775
769
 
776
770
 
777
- def _display_checks_footer(keys: list[str]) -> None:
778
- """Emit the shared disable-footer naming the checks that just fired.
779
-
780
- No-op when no check fired. Otherwise prints exactly ONE plain (uncolored)
781
- line so the user can discover how to silence the notifications they saw,
782
- ordering the deduped keys by the canonical check sequence.
783
- """
784
- if not keys:
785
- return
786
-
787
- canonical = ("checks.prompts", "checks.templates", "checks.update")
788
- unique = set(keys)
789
- ordered = [key for key in canonical if key in unique]
790
-
791
- if len(ordered) == 1:
792
- typer.echo(
793
- f"You can disable this check in .teddy/config.yaml: {ordered[0]}.",
794
- err=True,
795
- )
796
- else:
797
- typer.echo(
798
- f"You can disable these checks in .teddy/config.yaml: {', '.join(ordered)}.",
799
- err=True,
800
- )
801
-
802
-
803
771
  def _display_update_notification(container: Container, cache_path: Path) -> list[str]:
804
772
  """Check the update cache and display a non-blocking notification
805
773
  if a newer version is available. Called on session startup, after
@@ -862,7 +830,7 @@ def handle_new_session( # noqa: PLR0913
862
830
  max_cost: Optional[float] = None,
863
831
  ):
864
832
  """Logic for the 'start' command."""
865
- fired = _start_background_update_check(container)
833
+ _start_background_update_check(container)
866
834
 
867
835
  try:
868
836
  # 0. Pipeline mode requires an initial message
@@ -874,10 +842,9 @@ def handle_new_session( # noqa: PLR0913
874
842
  # 1. Ensure project is initialized
875
843
  container.resolve(IInitUseCase).ensure_initialized()
876
844
 
877
- # 2. Shared startup preamble (health checks + preflight + footer)
845
+ # 2. Shared startup preamble (health checks + preflight)
878
846
  _run_startup_preamble(
879
847
  container,
880
- fired,
881
848
  agent=agent,
882
849
  setup_editor=setup_editor,
883
850
  setup_api_key=setup_api_key,
@@ -1546,13 +1513,12 @@ def handle_resume_session( # noqa: PLR0913
1546
1513
  max_cost: Optional[float] = None,
1547
1514
  ):
1548
1515
  """Logic for the 'resume' command."""
1549
- fired = _start_background_update_check(container)
1516
+ _start_background_update_check(container)
1550
1517
 
1551
1518
  try:
1552
- # 1. Shared startup preamble (health checks + preflight + footer)
1519
+ # 1. Shared startup preamble (health checks + preflight)
1553
1520
  _run_startup_preamble(
1554
1521
  container,
1555
- fired,
1556
1522
  setup_editor=setup_editor,
1557
1523
  setup_api_key=setup_api_key,
1558
1524
  )
File without changes
File without changes
File without changes