teddy-cli 0.2.1.dev1428__tar.gz → 0.2.1.dev1431__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.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/PKG-INFO +9 -9
  2. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/README.md +8 -8
  3. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/pyproject.toml +1 -1
  4. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +18 -15
  5. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/.gitignore +0 -0
  6. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/LICENSE +0 -0
  7. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/__init__.py +0 -0
  8. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/__main__.py +0 -0
  9. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/__init__.py +0 -0
  10. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  11. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  12. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  13. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  14. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  15. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  16. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  17. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  18. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  19. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  20. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  21. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  22. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  23. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  24. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  25. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  26. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  27. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  28. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  29. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  30. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  31. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  32. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  33. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  34. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  35. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  36. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  37. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  38. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  39. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  40. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  41. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/container.py +0 -0
  42. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/__init__.py +0 -0
  43. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/__init__.py +0 -0
  44. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  45. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  46. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  47. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
  48. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
  49. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  50. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  51. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  52. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/plan.py +0 -0
  53. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  54. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  55. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  56. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/session.py +0 -0
  57. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  58. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  59. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/__init__.py +0 -0
  60. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  61. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  62. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  63. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  64. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  65. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  66. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  67. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  68. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  69. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  70. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  71. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  72. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  73. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  74. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  75. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  76. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  77. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  78. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  79. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  80. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  81. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  82. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  83. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  84. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  85. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  86. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  87. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  88. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/__init__.py +0 -0
  89. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  90. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  91. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  92. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_executor.py +0 -0
  93. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_factory.py +0 -0
  94. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  95. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  96. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/context_service.py +0 -0
  97. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  98. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  99. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  100. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/init_service.py +0 -0
  101. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  102. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  103. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  104. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  105. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  106. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/plan_validator.py +0 -0
  107. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/planning_service.py +0 -0
  108. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  109. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  110. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  111. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  112. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_planner.py +0 -0
  113. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  114. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_replanner.py +0 -0
  115. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_repository.py +0 -0
  116. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/session_service.py +0 -0
  117. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  118. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/update_checker.py +0 -0
  119. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  120. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  121. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  122. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  123. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  124. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  125. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  126. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  127. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/__init__.py +0 -0
  128. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/diff.py +0 -0
  129. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/editor_names.py +0 -0
  130. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  131. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
  132. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/io.py +0 -0
  133. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/markdown.py +0 -0
  134. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/paths.py +0 -0
  135. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/serialization.py +0 -0
  136. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/session_notices.py +0 -0
  137. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  138. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/string.py +0 -0
  139. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/core/utils/terminal.py +0 -0
  140. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/prompts.py +0 -0
  141. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/__init__.py +0 -0
  142. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/infrastructure.py +0 -0
  143. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/reviewer.py +0 -0
  144. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/registries/validators.py +0 -0
  145. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/MRP.md +0 -0
  146. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/__init__.py +0 -0
  147. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/__init__.py +0 -0
  148. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/config.yaml +0 -0
  149. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/init.context +0 -0
  150. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
  151. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
  152. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
  153. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
  154. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
  155. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
  156. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
  157. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
  158. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/case-file.md +0 -0
  159. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/ci.md +0 -0
  160. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/component-design.md +0 -0
  161. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/makefile.md +0 -0
  162. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/milestone.md +0 -0
  163. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
  164. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  165. {teddy_cli-0.2.1.dev1428 → teddy_cli-0.2.1.dev1431}/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.2.1.dev1428
3
+ Version: 0.2.1.dev1431
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
@@ -35,13 +35,13 @@ Description-Content-Type: text/markdown
35
35
  <div align="center">
36
36
 
37
37
  <p align="center">
38
- <img src="./assets/banner.png" alt="TeDDy: The opinionated software engineering harness - Because you should own the means of development" width="100%" style="max-width: 650px;" />
38
+ <img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/banner.png" alt="TeDDy: The opinionated software engineering harness - Because you should own the means of development" width="100%" style="max-width: 650px;" />
39
39
  </p>
40
40
 
41
41
  <p align="center">
42
42
  <a href="https://pypi.org/project/teddy-cli/"><img src="https://img.shields.io/pypi/v/teddy-cli?color=blue&style=flat-square" alt="PyPI version" /></a>
43
43
  <a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.11+-blue.svg?style=flat-square" alt="Python 3.11+" /></a>
44
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-purple.svg?style=flat-square" alt="License: AGPL-3.0" /></a>
44
+ <a href="https://github.com/atte500/teddy/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-purple.svg?style=flat-square" alt="License: AGPL-3.0" /></a>
45
45
  </p>
46
46
 
47
47
  ```bash
@@ -49,7 +49,7 @@ uv tool install teddy-cli
49
49
  ```
50
50
 
51
51
  <p align="center">
52
- <img src="./assets/demo.gif" alt="TeDDy TUI Demo" width="100%" style="max-width: 100%; height: auto;" />
52
+ <img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/demo.gif" alt="TeDDy TUI Demo" width="100%" style="max-width: 100%; height: auto;" />
53
53
  </p>
54
54
 
55
55
  [Why TeDDy?](#why-not-just-use) &bull; [TeDDy's SDLC](#teddys-software-delivery-lifecycle) &bull; [Owning Your SDLC](#owning-your-sdlc) &bull; [Quickstart](#getting-started) &bull; [Usage](#usage) &bull; [FAQ](#frequently-asked-questions) &bull; [Support](#support)
@@ -130,7 +130,7 @@ For **technical defects**, TeDDy prevents structural failures through Design by
130
130
  For **misalignment**, TeDDy prevents building the wrong thing by using spikes and prototypes to de-risk uncertain solutions before committing to an architecture. During implementation, it mitigates drift by delivering features through small vertical slices. Specific Markdown documents mediate every phase transition, anchoring the agents and providing a high-level steering interface to keep humans in the loop.
131
131
 
132
132
  <p align="center">
133
- <img src="./assets/matrix.png" alt="Workflow Matrix" width="800" />
133
+ <img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/matrix.png" alt="Workflow Matrix" width="100%" />
134
134
  </p>
135
135
 
136
136
  ---
@@ -140,7 +140,7 @@ For **misalignment**, TeDDy prevents building the wrong thing by using spikes an
140
140
  Instead of winging the process on the go or taking the shortest path to generate code, agents follow a structured delivery process mediated by plain Markdown documents:
141
141
 
142
142
  <p align="center">
143
- <img src="./assets/workflow-schematic.png" alt="TeDDy Workflow" width="850" />
143
+ <img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/workflow-schematic.png" alt="TeDDy Workflow" width="100%" />
144
144
  </p>
145
145
 
146
146
  1. **Strategic Alignment & Roadmapping:** The **Pathfinder** aligns incoming requests with the product vision, roadmap, and permanent system invariant specifications.
@@ -398,9 +398,9 @@ The tool itself is not monetized. If your team needs custom agent architectures,
398
398
 
399
399
  ## Learn More
400
400
 
401
- - [Project Roadmap & Vision](./docs/project/PROJECT.md)
402
- - [System Architecture](./docs/architecture/ARCHITECTURE.md)
403
- - [Agent Prompt Templates](./src/teddy_executor/resources/config/prompts/)
401
+ - [Project Roadmap & Vision](https://github.com/atte500/teddy/blob/main/docs/project/PROJECT.md)
402
+ - [System Architecture](https://github.com/atte500/teddy/blob/main/docs/architecture/ARCHITECTURE.md)
403
+ - [Agent Prompt Templates](https://github.com/atte500/teddy/tree/main/src/teddy_executor/resources/config/prompts)
404
404
 
405
405
  ---
406
406
 
@@ -1,13 +1,13 @@
1
1
  <div align="center">
2
2
 
3
3
  <p align="center">
4
- <img src="./assets/banner.png" alt="TeDDy: The opinionated software engineering harness - Because you should own the means of development" width="100%" style="max-width: 650px;" />
4
+ <img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/banner.png" alt="TeDDy: The opinionated software engineering harness - Because you should own the means of development" width="100%" style="max-width: 650px;" />
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
8
  <a href="https://pypi.org/project/teddy-cli/"><img src="https://img.shields.io/pypi/v/teddy-cli?color=blue&style=flat-square" alt="PyPI version" /></a>
9
9
  <a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.11+-blue.svg?style=flat-square" alt="Python 3.11+" /></a>
10
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-purple.svg?style=flat-square" alt="License: AGPL-3.0" /></a>
10
+ <a href="https://github.com/atte500/teddy/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-purple.svg?style=flat-square" alt="License: AGPL-3.0" /></a>
11
11
  </p>
12
12
 
13
13
  ```bash
@@ -15,7 +15,7 @@ uv tool install teddy-cli
15
15
  ```
16
16
 
17
17
  <p align="center">
18
- <img src="./assets/demo.gif" alt="TeDDy TUI Demo" width="100%" style="max-width: 100%; height: auto;" />
18
+ <img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/demo.gif" alt="TeDDy TUI Demo" width="100%" style="max-width: 100%; height: auto;" />
19
19
  </p>
20
20
 
21
21
  [Why TeDDy?](#why-not-just-use) &bull; [TeDDy's SDLC](#teddys-software-delivery-lifecycle) &bull; [Owning Your SDLC](#owning-your-sdlc) &bull; [Quickstart](#getting-started) &bull; [Usage](#usage) &bull; [FAQ](#frequently-asked-questions) &bull; [Support](#support)
@@ -96,7 +96,7 @@ For **technical defects**, TeDDy prevents structural failures through Design by
96
96
  For **misalignment**, TeDDy prevents building the wrong thing by using spikes and prototypes to de-risk uncertain solutions before committing to an architecture. During implementation, it mitigates drift by delivering features through small vertical slices. Specific Markdown documents mediate every phase transition, anchoring the agents and providing a high-level steering interface to keep humans in the loop.
97
97
 
98
98
  <p align="center">
99
- <img src="./assets/matrix.png" alt="Workflow Matrix" width="800" />
99
+ <img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/matrix.png" alt="Workflow Matrix" width="100%" />
100
100
  </p>
101
101
 
102
102
  ---
@@ -106,7 +106,7 @@ For **misalignment**, TeDDy prevents building the wrong thing by using spikes an
106
106
  Instead of winging the process on the go or taking the shortest path to generate code, agents follow a structured delivery process mediated by plain Markdown documents:
107
107
 
108
108
  <p align="center">
109
- <img src="./assets/workflow-schematic.png" alt="TeDDy Workflow" width="850" />
109
+ <img src="https://raw.githubusercontent.com/atte500/teddy/main/assets/workflow-schematic.png" alt="TeDDy Workflow" width="100%" />
110
110
  </p>
111
111
 
112
112
  1. **Strategic Alignment & Roadmapping:** The **Pathfinder** aligns incoming requests with the product vision, roadmap, and permanent system invariant specifications.
@@ -364,9 +364,9 @@ The tool itself is not monetized. If your team needs custom agent architectures,
364
364
 
365
365
  ## Learn More
366
366
 
367
- - [Project Roadmap & Vision](./docs/project/PROJECT.md)
368
- - [System Architecture](./docs/architecture/ARCHITECTURE.md)
369
- - [Agent Prompt Templates](./src/teddy_executor/resources/config/prompts/)
367
+ - [Project Roadmap & Vision](https://github.com/atte500/teddy/blob/main/docs/project/PROJECT.md)
368
+ - [System Architecture](https://github.com/atte500/teddy/blob/main/docs/architecture/ARCHITECTURE.md)
369
+ - [Agent Prompt Templates](https://github.com/atte500/teddy/tree/main/src/teddy_executor/resources/config/prompts)
370
370
 
371
371
  ---
372
372
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "teddy-cli"
3
- version = "0.2.1.dev1428"
3
+ version = "0.2.1.dev1431"
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 = [
@@ -428,23 +428,25 @@ def _report_fast_forward(git_run: Callable[..., Any], before: str, after: str) -
428
428
  )
429
429
 
430
430
 
431
- def _start_background_update_check(container: Container) -> list[str]:
432
- """Start the non-blocking version check and report the update-check keys.
431
+ def _update_cache_path() -> Path:
432
+ """Resolve the project-local cache file that carries the latest version."""
433
+ return find_project_root() / ".teddy" / ".update_cache.json"
433
434
 
434
- Both session entry points share this preamble: it spawns the daemon
435
- version-fetch thread, then emits the cached update notification (if any).
436
- The returned list names the update checks that fired.
435
+
436
+ def _start_background_update_check() -> None:
437
+ """Start the daemon version fetch that fills the cache for the next run.
438
+
439
+ The fetch never blocks startup and never prints. The startup preamble emits
440
+ the notice from the cache this fetch leaves behind.
437
441
  """
438
442
  import threading
439
443
 
440
- cache_path = find_project_root() / ".teddy" / ".update_cache.json"
441
444
  thread = threading.Thread(
442
445
  target=background_check,
443
- args=(cache_path,),
446
+ args=(_update_cache_path(),),
444
447
  daemon=True,
445
448
  )
446
449
  thread.start()
447
- return _display_update_notification(container, cache_path)
448
450
 
449
451
 
450
452
  def _run_startup_preamble(
@@ -458,10 +460,10 @@ def _run_startup_preamble(
458
460
 
459
461
  The order is fixed so the banner layout cannot drift: health checks, the
460
462
  start-only workspace fast-forward line, one separator blank line, the
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.
463
+ ``Checking configurations...`` line, the cached update notice, then the
464
+ preflight check with its drift advice. ``start`` forwards its ``agent`` so
465
+ the preflight validates the agent prompt and enables ``pull_workspace``;
466
+ ``resume`` leaves the agent ``None`` and keeps the pull off.
465
467
  """
466
468
  config_service = container.resolve(IConfigService)
467
469
  _run_health_checks(config_service)
@@ -470,6 +472,7 @@ def _run_startup_preamble(
470
472
  # One separator groups the checkmark block above with the notices below.
471
473
  typer.echo("", err=True)
472
474
  typer.echo("Checking configurations...", err=True)
475
+ _display_update_notification(container, _update_cache_path())
473
476
  _run_cli_preflight_check(
474
477
  container,
475
478
  agent=agent,
@@ -800,7 +803,7 @@ def _display_update_notification(container: Container, cache_path: Path) -> list
800
803
  typer.echo(
801
804
  typer.style(
802
805
  f"ℹ A new version {latest} is available. "
803
- f"To upgrade, run: {command}\n",
806
+ f"To upgrade, run: {command}",
804
807
  fg=typer.colors.YELLOW,
805
808
  ),
806
809
  err=True,
@@ -830,7 +833,7 @@ def handle_new_session( # noqa: PLR0913
830
833
  max_cost: Optional[float] = None,
831
834
  ):
832
835
  """Logic for the 'start' command."""
833
- _start_background_update_check(container)
836
+ _start_background_update_check()
834
837
 
835
838
  try:
836
839
  # 0. Pipeline mode requires an initial message
@@ -1513,7 +1516,7 @@ def handle_resume_session( # noqa: PLR0913
1513
1516
  max_cost: Optional[float] = None,
1514
1517
  ):
1515
1518
  """Logic for the 'resume' command."""
1516
- _start_background_update_check(container)
1519
+ _start_background_update_check()
1517
1520
 
1518
1521
  try:
1519
1522
  # 1. Shared startup preamble (health checks + preflight)