teddy-cli 0.1.17.dev1360__tar.gz → 0.1.17.dev1361__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 (163) hide show
  1. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/PKG-INFO +7 -9
  2. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/README.md +6 -8
  3. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/pyproject.toml +1 -1
  4. teddy_cli-0.1.17.dev1361/src/teddy_executor/resources/config/config.yaml +56 -0
  5. teddy_cli-0.1.17.dev1360/src/teddy_executor/resources/config/config.yaml +0 -96
  6. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/.gitignore +0 -0
  7. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/LICENSE +0 -0
  8. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/__init__.py +0 -0
  9. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/__main__.py +0 -0
  10. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/__init__.py +0 -0
  11. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  12. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  13. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  14. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
  15. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  16. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  17. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  18. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  19. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  20. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  21. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  22. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  23. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  24. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  25. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  26. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  27. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  28. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  29. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  30. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  31. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  32. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  33. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  34. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  35. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  36. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  37. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  38. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  39. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  40. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  41. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  42. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  43. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/container.py +0 -0
  44. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/__init__.py +0 -0
  45. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/__init__.py +0 -0
  46. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  47. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  48. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  49. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
  50. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  51. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  52. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  53. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/plan.py +0 -0
  54. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  55. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  56. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  57. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/session.py +0 -0
  58. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  59. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  60. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/__init__.py +0 -0
  61. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  62. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  63. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  64. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  65. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  66. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  67. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  68. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  69. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  70. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  71. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  72. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  73. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  74. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  75. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  76. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  77. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  78. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  79. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  80. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  81. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  82. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  83. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  84. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  85. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  86. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  87. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  88. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  89. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/__init__.py +0 -0
  90. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  91. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  92. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  93. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/action_executor.py +0 -0
  94. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/action_factory.py +0 -0
  95. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  96. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  97. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/context_service.py +0 -0
  98. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  99. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  100. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  101. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/init_service.py +0 -0
  102. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  103. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  104. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  105. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  106. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  107. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/plan_validator.py +0 -0
  108. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/planning_service.py +0 -0
  109. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  110. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  111. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  112. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  113. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/session_planner.py +0 -0
  114. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  115. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/session_replanner.py +0 -0
  116. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/session_repository.py +0 -0
  117. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/session_service.py +0 -0
  118. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  119. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/update_checker.py +0 -0
  120. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  121. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  122. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  123. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  124. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  125. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  126. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  127. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  128. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/__init__.py +0 -0
  129. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/diff.py +0 -0
  130. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  131. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/io.py +0 -0
  132. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/markdown.py +0 -0
  133. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/paths.py +0 -0
  134. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/serialization.py +0 -0
  135. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/session_notices.py +0 -0
  136. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  137. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/string.py +0 -0
  138. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/core/utils/terminal.py +0 -0
  139. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/prompts.py +0 -0
  140. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/registries/__init__.py +0 -0
  141. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/registries/infrastructure.py +0 -0
  142. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/registries/reviewer.py +0 -0
  143. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/registries/validators.py +0 -0
  144. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/MRP.md +0 -0
  145. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/__init__.py +0 -0
  146. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/config/__init__.py +0 -0
  147. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/config/init.context +0 -0
  148. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
  149. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
  150. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
  151. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
  152. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
  153. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
  154. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
  155. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
  156. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/case-file.md +0 -0
  157. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/ci.md +0 -0
  158. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/component-design.md +0 -0
  159. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/makefile.md +0 -0
  160. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/milestone.md +0 -0
  161. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
  162. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  163. {teddy_cli-0.1.17.dev1360 → teddy_cli-0.1.17.dev1361}/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.dev1360
3
+ Version: 0.1.17.dev1361
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
@@ -208,10 +208,6 @@ Use subcommands to overwrite specific defaults:
208
208
 
209
209
  The first execution of `teddy start` runs an interactive setup to configure your API key and preferred editor. For deeper customization, edit `.teddy/config.yaml`. All `llm.*` settings pass directly through to [LiteLLM](https://docs.litellm.ai/docs/completion/input), allowing you to route to cloud providers or local endpoints (Ollama, llama.cpp, or any OpenAI-compatible server via `api_base`). The config file also lets you adjust your external editor, command execution timeouts, diff similarity thresholds, and automated context pruning budgets.
210
210
 
211
- #### OpenRouter App Attribution
212
-
213
- The bundled config attributes OpenRouter usage to TeDDy through the documented `HTTP-Referer` and `X-OpenRouter-Title` headers, so the usage appears on [TeDDy's app page](https://openrouter.ai/apps?url=https://github.com/atte500/teddy). Attribution is provider-side visibility only: the headers travel to the endpoint you already configured and the TeDDy project receives nothing. The block ships in the bundled baseline, so set `llm.extra_headers: null` in your own `.teddy/config.yaml` to opt out. LiteLLM then falls back to its own defaults, which credit `liteLLM` instead. Other providers ignore these headers.
214
-
215
211
  ### Environment Variables
216
212
 
217
213
  TeDDy checks the following process environment variables at startup and during a session.
@@ -324,7 +320,9 @@ TeDDy packages your workspace context into a single clipboard payload, and the a
324
320
 
325
321
  <br />
326
322
 
327
- No. TeDDy collects zero telemetry, zero analytics, and runs no background tracking. All requests go directly to whichever LLM provider or local endpoint you configure in your local config file. The bundled config sends OpenRouter's published app-attribution headers, so OpenRouter credits your usage to TeDDy on its public leaderboard, and that visibility reaches only the provider you chose. Set `llm.extra_headers: null` in `.teddy/config.yaml` to opt out, which makes LiteLLM fall back to its own defaults.
323
+ No. TeDDy collects zero telemetry, zero analytics, and runs no background tracking. All requests go directly to whichever LLM provider or local endpoint you configure in your local config file.
324
+
325
+ By default, OpenRouter requests include attribution headers (`HTTP-Referer` and `X-OpenRouter-Title`) to credit usage to TeDDy on OpenRouter rankings. Set `llm.extra_headers: null` in `.teddy/config.yaml` to opt out. Other providers ignore these headers.
328
326
 
329
327
  </details>
330
328
 
@@ -372,9 +370,9 @@ The tool itself is not monetized. If your team needs custom agent architectures,
372
370
 
373
371
  ## Learn More
374
372
 
375
- - [Project Roadmap & Vision](/docs/project/PROJECT.md)
376
- - [System Architecture](/docs/architecture/ARCHITECTURE.md)
377
- - [Agent Prompt Templates](/src/teddy_executor/resources/config/prompts/)
373
+ - [Project Roadmap & Vision](./docs/project/PROJECT.md)
374
+ - [System Architecture](./docs/architecture/ARCHITECTURE.md)
375
+ - [Agent Prompt Templates](./src/teddy_executor/resources/config/prompts/)
378
376
 
379
377
  ---
380
378
 
@@ -174,10 +174,6 @@ Use subcommands to overwrite specific defaults:
174
174
 
175
175
  The first execution of `teddy start` runs an interactive setup to configure your API key and preferred editor. For deeper customization, edit `.teddy/config.yaml`. All `llm.*` settings pass directly through to [LiteLLM](https://docs.litellm.ai/docs/completion/input), allowing you to route to cloud providers or local endpoints (Ollama, llama.cpp, or any OpenAI-compatible server via `api_base`). The config file also lets you adjust your external editor, command execution timeouts, diff similarity thresholds, and automated context pruning budgets.
176
176
 
177
- #### OpenRouter App Attribution
178
-
179
- The bundled config attributes OpenRouter usage to TeDDy through the documented `HTTP-Referer` and `X-OpenRouter-Title` headers, so the usage appears on [TeDDy's app page](https://openrouter.ai/apps?url=https://github.com/atte500/teddy). Attribution is provider-side visibility only: the headers travel to the endpoint you already configured and the TeDDy project receives nothing. The block ships in the bundled baseline, so set `llm.extra_headers: null` in your own `.teddy/config.yaml` to opt out. LiteLLM then falls back to its own defaults, which credit `liteLLM` instead. Other providers ignore these headers.
180
-
181
177
  ### Environment Variables
182
178
 
183
179
  TeDDy checks the following process environment variables at startup and during a session.
@@ -290,7 +286,9 @@ TeDDy packages your workspace context into a single clipboard payload, and the a
290
286
 
291
287
  <br />
292
288
 
293
- No. TeDDy collects zero telemetry, zero analytics, and runs no background tracking. All requests go directly to whichever LLM provider or local endpoint you configure in your local config file. The bundled config sends OpenRouter's published app-attribution headers, so OpenRouter credits your usage to TeDDy on its public leaderboard, and that visibility reaches only the provider you chose. Set `llm.extra_headers: null` in `.teddy/config.yaml` to opt out, which makes LiteLLM fall back to its own defaults.
289
+ No. TeDDy collects zero telemetry, zero analytics, and runs no background tracking. All requests go directly to whichever LLM provider or local endpoint you configure in your local config file.
290
+
291
+ By default, OpenRouter requests include attribution headers (`HTTP-Referer` and `X-OpenRouter-Title`) to credit usage to TeDDy on OpenRouter rankings. Set `llm.extra_headers: null` in `.teddy/config.yaml` to opt out. Other providers ignore these headers.
294
292
 
295
293
  </details>
296
294
 
@@ -338,9 +336,9 @@ The tool itself is not monetized. If your team needs custom agent architectures,
338
336
 
339
337
  ## Learn More
340
338
 
341
- - [Project Roadmap & Vision](/docs/project/PROJECT.md)
342
- - [System Architecture](/docs/architecture/ARCHITECTURE.md)
343
- - [Agent Prompt Templates](/src/teddy_executor/resources/config/prompts/)
339
+ - [Project Roadmap & Vision](./docs/project/PROJECT.md)
340
+ - [System Architecture](./docs/architecture/ARCHITECTURE.md)
341
+ - [Agent Prompt Templates](./src/teddy_executor/resources/config/prompts/)
344
342
 
345
343
  ---
346
344
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "teddy-cli"
3
- version = "0.1.17.dev1360"
3
+ version = "0.1.17.dev1361"
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 = [
@@ -0,0 +1,56 @@
1
+ # TeDDy Configuration
2
+
3
+ editor: ""
4
+
5
+ execution:
6
+ default_timeout_seconds: 60 # EXECUTE timeout.
7
+ similarity_threshold: 0.95 # EDIT match threshold (1.0 = exact match; ignores relative indentation).
8
+ max_output_lines: 100 # Caps EXECUTE stdout/stderr output lines.
9
+
10
+ read:
11
+ max_lines: 1000 # Caps READ action output lines.
12
+
13
+ research:
14
+ max_results: 5 # Number of search results to fetch and scrape.
15
+
16
+ checks:
17
+ prompts: true # Warn when local .teddy/prompts/ differ from bundled defaults.
18
+ templates: true # Warn when local docs/templates/ differ from bundled defaults.
19
+ update: true # Warn when a newer TeDDy release is available on PyPI.
20
+
21
+ yolo_default: false # When true, runs non-interactively by default; overridden per-command by -n / --no-yolo.
22
+
23
+ guardrails: # Non-interactive limits (--yolo / --pipeline). Counters reset on 'teddy resume' and on message turns if message_reset: true.
24
+ enabled: true
25
+ max_turns: 150
26
+ max_session_cost: 5.00
27
+ message_reset: true
28
+
29
+ auto_pruning:
30
+ enabled: true
31
+ turn_context_threshold: 50000 # Token budget for turn-scoped files only (excludes session.context & system prompts).
32
+ prune_failure_history: true # Prunes non-green turns once recovery succeeds.
33
+ prune_validation_failures: true # Prunes malformed turns that failed validation.
34
+ preserve_message_turns: true # Preserves user-communicating turns from pruning.
35
+ max_turns_retention: 10 # Max historical turns retained in turn context.
36
+
37
+ # LiteLLM reference: https://docs.litellm.ai/docs/completion/input (all keys under llm pass directly to litellm).
38
+ llm:
39
+ model: "openrouter/~deepseek/deepseek-flash-latest:nitro" # OpenRouter syntax: "openrouter/<slug>" (:nitro=fast, :floor=cheap).
40
+ api_key: "${TEDDY_LLM_API_KEY}" # Resolves from .teddy/.env or shell environment.
41
+ max_retries: 3
42
+ timeout: 300
43
+ extra_headers:
44
+ HTTP-Referer: "https://github.com/atte500/teddy"
45
+ X-Title: "TeDDy"
46
+ X-OpenRouter-Title: "TeDDy"
47
+ X-OpenRouter-Categories: "cli-agent"
48
+
49
+ # Local models (Ollama, LM Studio):
50
+ # model: "ollama/qwen3-coder:30b"
51
+ # model: "lm_studio/qwen3-coder-30b"
52
+
53
+ # OpenAI-compatible server (vLLM, llama.cpp):
54
+ # model: "openai/qwen3-coder-30b"
55
+ # api_base: "http://localhost:8080/v1"
56
+ # api_key: "dummy-key-custom-endpoints"
@@ -1,96 +0,0 @@
1
- # TeDDy Configuration
2
-
3
- # The preferred external editor for reviewing and modifying plans/messages.
4
- # Supports arbitrary command strings (e.g., "code --wait", "nvim -R", "zed").
5
- # Fallback chain: Config -> VISUAL/EDITOR env vars -> discovery prompt.
6
- editor: ""
7
-
8
- # Optional diff viewer flags override. If set, these flags are used instead
9
- # of the built-in translation table for this editor.
10
- # Example: ["--diff", "--wait"]
11
- # diff_flags: []
12
-
13
- # Execution Settings
14
- execution:
15
- default_timeout_seconds: 60
16
- similarity_threshold: 0.95 # 1.00 means exact match required (ignoring relative indentation).
17
- max_output_lines: 100 # Caps EXECUTE output to the last X lines.
18
-
19
- # File Read Settings
20
- read:
21
- max_lines: 1000 # Caps READ action output to the first X lines.
22
-
23
- # Research Settings
24
- research:
25
- max_results: 5 # Number of SERP results to retrieve and automatically scrape.
26
-
27
- # Notification Checks
28
- # Independent toggles for user-facing notifications. All three default to
29
- # enabled (true) when absent, so existing user configs keep working.
30
- checks:
31
- prompts: true # Notify when .teddy/prompts/ files differ from the bundled defaults.
32
- templates: true # Notify when docs/templates/ files differ from the bundled defaults.
33
- update: true # Notify when a newer TeDDy version is available (background fetch still runs).
34
-
35
- # Default for the --yolo / -y flag. When true, sessions auto-approve all
36
- # actions (non-interactive) without needing to pass --yolo. The explicit
37
- # --no-yolo / -n flag always overrides this setting for a single invocation.
38
- yolo_default: false
39
-
40
- # Safety limits enforced in non-interactive runs (--yolo and --pipeline).
41
- # Limits are per-run: `teddy resume` starts counting from 0 again.
42
- guardrails:
43
- enabled: true
44
- max_turns: 150
45
- max_session_cost: 5.00
46
- message_reset: true
47
-
48
- # Auto-Pruning Settings
49
- # Intelligently pre-deselects context files to save tokens and manage complexity.
50
- auto_pruning:
51
- enabled: true
52
- turn_context_threshold: 50000 # Token budget for Turn-scope files only (excludes session.context and system prompts). Triggers pruning of largest Turn-scope files if exceeded.
53
- prune_failure_history: true # Prune non-green turns once recovery is achieved.
54
- prune_validation_failures: true # Prune plans and reports that failed validation.
55
- preserve_message_turns: true # Ensure successful communicating turns are not pruned.
56
- max_turns_retention: 10 # Max number of turns persisted in session history (excl. initial request & preserved message turns).
57
-
58
- # LLM Settings
59
- # LiteLLM Configuration Reference: https://docs.litellm.ai/docs/completion/input
60
- # All keys under 'llm' are passed directly to litellm.completion().
61
- llm:
62
- model: "openrouter/~deepseek/deepseek-flash-latest:nitro" # Syntax: "openrouter/<model-path>" (model paths: https://openrouter.ai/models); ":nitro"=fastest, ":floor"=cheapest.
63
- api_key: "${TEDDY_LLM_API_KEY}" # Paste your key into .teddy/.env, or replace this with a literal value to override.
64
- max_retries: 3
65
- timeout: 300
66
- # OpenRouter app attribution (https://openrouter.ai/docs/app-attribution).
67
- # Usage from this app appears at https://openrouter.ai/apps?url=https://github.com/atte500/teddy.
68
- # LiteLLM also sends a legacy X-Title default, so both title headers are pinned here.
69
- # This block ships in the baseline. Set `llm.extra_headers: null` in .teddy/config.yaml to opt out.
70
- # Non-OpenRouter providers ignore these headers.
71
- extra_headers:
72
- HTTP-Referer: "https://github.com/atte500/teddy"
73
- X-Title: "TeDDy"
74
- X-OpenRouter-Title: "TeDDy"
75
- X-OpenRouter-Categories: "cli-agent"
76
-
77
- # Local models (no API key needed — LiteLLM supplies a keyless default):
78
- # model: "ollama/llama3.2" # Ollama (default endpoint http://localhost:11434)
79
- # model: "lm_studio/qwen2.5" # LM Studio
80
- # model: "hosted_vllm/mistral" # vLLM (set api_base to your server, e.g. http://localhost:8000/v1)
81
-
82
- # Any OpenAI-compatible server (e.g. llama.cpp's llama-server) works via the
83
- # openai/ prefix with an explicit endpoint and a non-empty api_key (a dummy
84
- # value is fine). A provider prefix is required — an endpoint alone is rejected.
85
- # model: "openai/<model-name>"
86
- # api_base: "http://localhost:8080/v1"
87
- # api_key: "sk-noop"
88
-
89
- # Any other LiteLLM/OpenAI-compatible parameters are forwarded unchanged
90
- # (e.g. temperature, top_p, max_tokens). Omit them to keep provider defaults.
91
-
92
- # OpenRouter provider routing (optional): prefer specific upstream providers,
93
- # in order.
94
- # extra_body:
95
- # provider:
96
- # order: ["<provider-slug>"] # Preference-ordered list of OpenRouter provider slugs.