auto-coder 3.0.49__tar.gz → 3.0.50__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 (895) hide show
  1. {auto_coder-3.0.49/src/auto_coder.egg-info → auto_coder-3.0.50}/PKG-INFO +2 -2
  2. {auto_coder-3.0.49 → auto_coder-3.0.50}/pyproject.toml +2 -2
  3. {auto_coder-3.0.49 → auto_coder-3.0.50}/requirements.txt +1 -1
  4. {auto_coder-3.0.49 → auto_coder-3.0.50/src/auto_coder.egg-info}/PKG-INFO +2 -2
  5. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/auto_coder.egg-info/SOURCES.txt +9 -1
  6. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/auto_coder.egg-info/requires.txt +1 -1
  7. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/base_agent.py +140 -23
  8. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/auto_coder_terminal_v3.py +12 -0
  9. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_generate.py +2 -3
  10. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_generate_diff.py +2 -3
  11. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_generate_editblock.py +2 -3
  12. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_generate_strict_diff.py +2 -3
  13. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/llm_stats_models.py +110 -17
  14. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/storage/index_manager.py +2 -2
  15. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/manager.py +30 -2
  16. auto_coder-3.0.50/src/autocoder/common/llms/pricing.py +505 -0
  17. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/registry.py +61 -13
  18. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/schema.py +38 -3
  19. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/background_process_notifier.py +26 -6
  20. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_background_process_notifier.py +2 -1
  21. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/utils_code_auto_generate.py +168 -8
  22. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit.py +104 -23
  23. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/run_subagents_tool_resolver.py +1 -1
  24. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_types.py +47 -5
  25. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/runner/file_based_event_runner.py +104 -19
  26. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/runner/terminal_runner.py +129 -17
  27. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/runner/tool_display.py +4 -1
  28. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_auto_generate.py +2 -3
  29. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_auto_generate_diff.py +2 -3
  30. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_auto_generate_editblock.py +4 -5
  31. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_auto_generate_strict_diff.py +2 -3
  32. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/completer/command_completer_v2.py +17 -0
  33. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/events/event_content.py +8 -0
  34. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/core/auto_coder_core.py +167 -26
  35. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/core/bridge.py +36 -14
  36. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/app.py +67 -8
  37. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/handlers/command_handler.py +330 -136
  38. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/models/conversation_buffer.py +154 -5
  39. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/models/session_slot.py +2 -2
  40. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/models/tool_display.py +63 -16
  41. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/version.py +1 -1
  42. auto_coder-3.0.50/tests/test_deepseek_cache_billing.py +164 -0
  43. auto_coder-3.0.50/tests/test_deepseek_cache_billing_real.py +599 -0
  44. auto_coder-3.0.50/tests/test_llm_pricing_detailed.py +336 -0
  45. auto_coder-3.0.50/tests/test_llm_usage_side_paths.py +83 -0
  46. auto_coder-3.0.50/tests/test_model_pricing.py +184 -0
  47. auto_coder-3.0.50/tests/test_stream_chat_with_continue.py +210 -0
  48. auto_coder-3.0.50/tests/test_terminal_usage_display.py +156 -0
  49. auto_coder-3.0.50/tests/test_tiered_pricing.py +299 -0
  50. auto_coder-3.0.49/src/autocoder/common/llms/pricing.py +0 -121
  51. {auto_coder-3.0.49 → auto_coder-3.0.50}/LICENSE +0 -0
  52. {auto_coder-3.0.49 → auto_coder-3.0.50}/MANIFEST.in +0 -0
  53. {auto_coder-3.0.49 → auto_coder-3.0.50}/README.md +0 -0
  54. {auto_coder-3.0.49 → auto_coder-3.0.50}/setup.cfg +0 -0
  55. {auto_coder-3.0.49 → auto_coder-3.0.50}/setup.py +0 -0
  56. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  57. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/auto_coder.egg-info/entry_points.txt +0 -0
  58. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/auto_coder.egg-info/top_level.txt +0 -0
  59. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/__init__.py +0 -0
  60. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/__init__.py +0 -0
  61. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  62. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/auto_filegroup.py +0 -0
  63. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/auto_guess_query.py +0 -0
  64. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/auto_learn.py +0 -0
  65. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
  66. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/auto_review_commit.py +0 -0
  67. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/auto_tool.py +0 -0
  68. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/__init__.py +0 -0
  69. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/agent_hub.py +0 -0
  70. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/agentic_lang.py +0 -0
  71. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/agentic_tool_display.py +0 -0
  72. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/default_tools.py +0 -0
  73. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/test_base_agent.py +0 -0
  74. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tool_registry.py +0 -0
  75. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/__init__.py +0 -0
  76. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/ask_followup_question_tool_resolver.py +0 -0
  77. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/attempt_completion_tool_resolver.py +0 -0
  78. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/base_tool_resolver.py +0 -0
  79. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/example_tool_resolver.py +0 -0
  80. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/execute_command_tool_resolver.py +0 -0
  81. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/list_files_tool_resolver.py +0 -0
  82. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/plan_mode_respond_tool_resolver.py +0 -0
  83. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +0 -0
  84. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/replace_in_file_tool_resolver.py +0 -0
  85. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/search_files_tool_resolver.py +0 -0
  86. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/talk_to_group_tool_resolver.py +0 -0
  87. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/talk_to_tool_resolver.py +0 -0
  88. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +0 -0
  89. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/types.py +0 -0
  90. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/base_agentic/utils.py +0 -0
  91. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/coder.py +0 -0
  92. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/designer.py +0 -0
  93. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/entry_command_agent/__init__.py +0 -0
  94. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/entry_command_agent/auto_tool.py +0 -0
  95. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/entry_command_agent/chat.py +0 -0
  96. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/entry_command_agent/designer.py +0 -0
  97. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/entry_command_agent/generate_command.py +0 -0
  98. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/entry_command_agent/project_reader.py +0 -0
  99. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/entry_command_agent/voice2text.py +0 -0
  100. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/planner.py +0 -0
  101. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/agent/project_reader.py +0 -0
  102. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/auto_coder.py +0 -0
  103. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/auto_coder_rag.py +0 -0
  104. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/auto_coder_runner.py +0 -0
  105. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/auto_coder_terminal.py +0 -0
  106. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/chat/__init__.py +0 -0
  107. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/chat/conf_command.py +0 -0
  108. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/chat/conf_spec.py +0 -0
  109. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/chat/models_command.py +0 -0
  110. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/chat/rules_command.py +0 -0
  111. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/chat_auto_coder_lang.py +0 -0
  112. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/command_args.py +0 -0
  113. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/commands/__init__.py +0 -0
  114. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/commands/auto_command.py +0 -0
  115. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/commands/auto_web.py +0 -0
  116. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/commands/tools.py +0 -0
  117. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/JupyterClient.py +0 -0
  118. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ShellClient.py +0 -0
  119. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/__init__.py +0 -0
  120. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ac_style_command_parser/__init__.py +0 -0
  121. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ac_style_command_parser/config.py +0 -0
  122. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ac_style_command_parser/parser.py +0 -0
  123. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ac_style_command_parser/test_parser.py +0 -0
  124. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ac_style_command_parser/test_typed_parser.py +0 -0
  125. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ac_style_command_parser/typed_parser.py +0 -0
  126. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/action_yml_file_manager.py +0 -0
  127. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_events/__init__.py +0 -0
  128. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_events/agent_event_emitter.py +0 -0
  129. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_events/event_factory.py +0 -0
  130. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_events/examples.py +0 -0
  131. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_events/types.py +0 -0
  132. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_events/utils.py +0 -0
  133. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_hooks/__init__.py +0 -0
  134. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_hooks/examples.py +0 -0
  135. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_hooks/hook_executor.py +0 -0
  136. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_hooks/hook_manager.py +0 -0
  137. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_hooks/types.py +0 -0
  138. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_hooks/utils.py +0 -0
  139. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_query_queue/__init__.py +0 -0
  140. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_query_queue/queue_executor.py +0 -0
  141. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agent_query_queue/queue_manager.py +0 -0
  142. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agents/__init__.py +0 -0
  143. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agents/agent_manager.py +0 -0
  144. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agents/agent_parser.py +0 -0
  145. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agents/example_usage.py +0 -0
  146. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agents/integration_example.py +0 -0
  147. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/agents/test_agent_parser.py +0 -0
  148. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/anything2images.py +0 -0
  149. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/anything2img.py +0 -0
  150. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/async_prompt.py +0 -0
  151. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/async_utils.py +0 -0
  152. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/audio.py +0 -0
  153. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/auto_coder_lang.py +0 -0
  154. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/auto_configure.py +0 -0
  155. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/autocoderargs_parser/__init__.py +0 -0
  156. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/autocoderargs_parser/parser.py +0 -0
  157. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/autocoderargs_parser/tests/__init__.py +0 -0
  158. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/autocoderargs_parser/tests/test_args_parser.py +0 -0
  159. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/autocoderargs_parser/tests/test_token_parser.py +0 -0
  160. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/autocoderargs_parser/token_parser.py +0 -0
  161. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/buildin_tokenizer.py +0 -0
  162. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/chunk_validation.py +0 -0
  163. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/cli_invocation.py +0 -0
  164. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_execute.py +0 -0
  165. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_merge.py +0 -0
  166. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_merge_diff.py +0 -0
  167. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
  168. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
  169. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/code_modification_ranker.py +0 -0
  170. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_completer.py +0 -0
  171. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_file_manager/__init__.py +0 -0
  172. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_file_manager/examples.py +0 -0
  173. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_file_manager/manager.py +0 -0
  174. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_file_manager/models.py +0 -0
  175. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_file_manager/test_command_file_manager.py +0 -0
  176. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_file_manager/utils.py +0 -0
  177. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_generator.py +0 -0
  178. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/command_templates.py +0 -0
  179. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/computer_use.py +0 -0
  180. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conf_import_export.py +0 -0
  181. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conf_utils.py +0 -0
  182. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conf_validator.py +0 -0
  183. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/const.py +0 -0
  184. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/__init__.py +0 -0
  185. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/backup/__init__.py +0 -0
  186. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/backup/backup_manager.py +0 -0
  187. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/backup/restore_manager.py +0 -0
  188. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/cache/__init__.py +0 -0
  189. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/cache/base_cache.py +0 -0
  190. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/cache/cache_manager.py +0 -0
  191. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/cache/memory_cache.py +0 -0
  192. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/config.py +0 -0
  193. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/exceptions.py +0 -0
  194. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/file_locker.py +0 -0
  195. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/get_conversation_manager.py +0 -0
  196. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/manager.py +0 -0
  197. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/models.py +0 -0
  198. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/runtime_registry.py +0 -0
  199. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/search/__init__.py +0 -0
  200. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/search/filter_manager.py +0 -0
  201. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/search/text_searcher.py +0 -0
  202. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/storage/__init__.py +0 -0
  203. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/storage/base_storage.py +0 -0
  204. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/conversations/storage/file_storage.py +0 -0
  205. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/__init__.py +0 -0
  206. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/agentic_mode_manager.py +0 -0
  207. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/base_manager.py +0 -0
  208. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/compatibility.py +0 -0
  209. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/config_manager.py +0 -0
  210. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/conversation_manager.py +0 -0
  211. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/exclude_manager.py +0 -0
  212. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/file_manager.py +0 -0
  213. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/human_as_model_manager.py +0 -0
  214. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/lib_manager.py +0 -0
  215. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/main_manager.py +0 -0
  216. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/merge_utils.py +0 -0
  217. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/mode_manager.py +0 -0
  218. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/models.py +0 -0
  219. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/core_config/test_memory_manager.py +0 -0
  220. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/env_manager.py +0 -0
  221. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/env_manager_usage_example.py +0 -0
  222. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/__init__.py +0 -0
  223. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/backup.py +0 -0
  224. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/conversation_checkpoint.py +0 -0
  225. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/manager.py +0 -0
  226. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/models.py +0 -0
  227. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/store.py +0 -0
  228. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/test_backup.py +0 -0
  229. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/test_manager.py +0 -0
  230. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/test_models.py +0 -0
  231. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/test_store.py +0 -0
  232. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/test_utils.py +0 -0
  233. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_checkpoint/utils.py +0 -0
  234. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/__init__.py +0 -0
  235. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/add_files_handler.py +0 -0
  236. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/chat_handler.py +0 -0
  237. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/coding_handler.py +0 -0
  238. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/commit_handler.py +0 -0
  239. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/lib_handler.py +0 -0
  240. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/list_files_handler.py +0 -0
  241. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/models_handler.py +0 -0
  242. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_handler/remove_files_handler.py +0 -0
  243. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_monitor/__init__.py +0 -0
  244. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_monitor/monitor.py +0 -0
  245. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/file_monitor/test_file_monitor.py +0 -0
  246. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/files.py +0 -0
  247. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/git_utils.py +0 -0
  248. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/global_cancel.py +0 -0
  249. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ignorefiles/__init__.py +0 -0
  250. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ignorefiles/ignore_file_utils.py +0 -0
  251. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/ignorefiles/test_ignore_file_utils.py +0 -0
  252. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/image_to_page.py +0 -0
  253. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/index_import_export.py +0 -0
  254. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/__init__.py +0 -0
  255. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/demo_international.py +0 -0
  256. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/message_manager.py +0 -0
  257. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/__init__.py +0 -0
  258. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/async_command_messages.py +0 -0
  259. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/auto_coder_messages.py +0 -0
  260. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/chat_auto_coder_messages.py +0 -0
  261. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/command_help_messages.py +0 -0
  262. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/conversation_command_messages.py +0 -0
  263. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/fast_command_messages.py +0 -0
  264. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/git_helper_plugin_messages.py +0 -0
  265. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/queue_command_messages.py +0 -0
  266. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/rules_command_messages.py +0 -0
  267. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/sdk_messages.py +0 -0
  268. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/token_helper_plugin_messages.py +0 -0
  269. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/tool_display_messages.py +0 -0
  270. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/messages/workflow_exception_messages.py +0 -0
  271. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/international/test_international.py +0 -0
  272. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/interpreter.py +0 -0
  273. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/__init__.py +0 -0
  274. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/base_linter.py +0 -0
  275. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/config_loader.py +0 -0
  276. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/formatters/__init__.py +0 -0
  277. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/formatters/base_formatter.py +0 -0
  278. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/formatters/raw_formatter.py +0 -0
  279. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/linter.py +0 -0
  280. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/linter_factory.py +0 -0
  281. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/linter_manager.py +0 -0
  282. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/linters/__init__.py +0 -0
  283. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/linters/java_linter.py +0 -0
  284. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/linters/python_linter.py +0 -0
  285. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/linters/typescript_linter.py +0 -0
  286. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/models/__init__.py +0 -0
  287. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/models/lint_result.py +0 -0
  288. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/models.py +0 -0
  289. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/__init__.py +0 -0
  290. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/test_config_loader.py +0 -0
  291. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/test_config_loading.py +0 -0
  292. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/test_factory_manager.py +0 -0
  293. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/test_formatters.py +0 -0
  294. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/test_integration.py +0 -0
  295. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/test_java_linter.py +0 -0
  296. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/test_linters.py +0 -0
  297. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/test_models.py +0 -0
  298. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/verify_config_loading.py +0 -0
  299. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/linter_core/tests/verify_fixes.py +0 -0
  300. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llm_friendly_package/__init__.py +0 -0
  301. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llm_friendly_package/base_manager.py +0 -0
  302. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llm_friendly_package/docs_manager.py +0 -0
  303. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llm_friendly_package/library_manager.py +0 -0
  304. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llm_friendly_package/main_manager.py +0 -0
  305. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llm_friendly_package/models.py +0 -0
  306. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llm_friendly_package/test_llm_friendly_package.py +0 -0
  307. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/__init__.py +0 -0
  308. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/demo_error_handling.py +0 -0
  309. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/factory.py +0 -0
  310. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/simple_demo.py +0 -0
  311. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/test_quick_model.py +0 -0
  312. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/test_remove_functionality.py +0 -0
  313. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/tests/__init__.py +0 -0
  314. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/tests/test_manager.py +0 -0
  315. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/llms/tests/test_registry.py +0 -0
  316. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/memory_manager.py +0 -0
  317. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/model_speed_tester.py +0 -0
  318. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/openai_content.py +0 -0
  319. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/printer.py +0 -0
  320. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/priority_directory_finder/__init__.py +0 -0
  321. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/priority_directory_finder/examples.py +0 -0
  322. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/priority_directory_finder/finder.py +0 -0
  323. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/priority_directory_finder/models.py +0 -0
  324. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/priority_directory_finder/test_priority_directory_finder.py +0 -0
  325. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/project_scanner/__init__.py +0 -0
  326. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/project_scanner/compat.py +0 -0
  327. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/project_scanner/scanner.py +0 -0
  328. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/project_tracker/__init__.py +0 -0
  329. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/project_tracker/api.py +0 -0
  330. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/project_tracker/demo.py +0 -0
  331. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/project_tracker/tracker.py +0 -0
  332. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/project_tracker/types.py +0 -0
  333. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/__init__.py +0 -0
  334. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/agentic_conversation_pruner.py +0 -0
  335. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/context_pruner.py +0 -0
  336. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/conversation_message_ids_api.py +0 -0
  337. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/conversation_message_ids_manager.py +0 -0
  338. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/conversation_message_ids_pruner.py +0 -0
  339. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/conversation_normalizer.py +0 -0
  340. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/conversation_pruner.py +0 -0
  341. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/test_agentic_conversation_pruner.py +0 -0
  342. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/test_context_pruner.py +0 -0
  343. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/test_conversation_normalizer.py +0 -0
  344. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/test_tool_content_detector.py +0 -0
  345. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/tool_content_detector.py +0 -0
  346. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/tools/__init__.py +0 -0
  347. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/tools/query_message_ids.py +0 -0
  348. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/tools/test_agentic_pruning_logic.py +0 -0
  349. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pruner/tools/test_message_ids_pruning_only.py +0 -0
  350. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/__init__.py +0 -0
  351. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/base_provider.py +0 -0
  352. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/config.py +0 -0
  353. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/example.py +0 -0
  354. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/exceptions.py +0 -0
  355. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/manager.py +0 -0
  356. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/models.py +0 -0
  357. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/providers/__init__.py +0 -0
  358. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/providers/gitcode_provider.py +0 -0
  359. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/providers/gitee_provider.py +0 -0
  360. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/providers/github_provider.py +0 -0
  361. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/providers/gitlab_provider.py +0 -0
  362. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/pull_requests/utils.py +0 -0
  363. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rag_manager/__init__.py +0 -0
  364. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rag_manager/rag_manager.py +0 -0
  365. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/recall_validation.py +0 -0
  366. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/result_manager.py +0 -0
  367. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/__init__.py +0 -0
  368. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/api.py +0 -0
  369. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/core/__init__.py +0 -0
  370. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/core/manager.py +0 -0
  371. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/core/selector.py +0 -0
  372. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/models/__init__.py +0 -0
  373. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/models/index.py +0 -0
  374. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/models/init_rule.py +0 -0
  375. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/models/rule_file.py +0 -0
  376. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/models/rule_relevance.py +0 -0
  377. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/models/summary.py +0 -0
  378. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/test_rulefiles.py +0 -0
  379. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/test_subagents_filter.py +0 -0
  380. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/utils/__init__.py +0 -0
  381. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/utils/log_utils.py +0 -0
  382. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/utils/monitor.py +0 -0
  383. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/rulefiles/utils/parser.py +0 -0
  384. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/run_cmd.py +0 -0
  385. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/save_formatted_log.py +0 -0
  386. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/screenshots.py +0 -0
  387. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search.py +0 -0
  388. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace.py +0 -0
  389. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/__init__.py +0 -0
  390. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/base.py +0 -0
  391. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/manager.py +0 -0
  392. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/patch_replacer.py +0 -0
  393. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/similarity_replacer.py +0 -0
  394. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/string_replacer.py +0 -0
  395. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/__init__.py +0 -0
  396. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/run_tests.py +0 -0
  397. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/test_base.py +0 -0
  398. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/test_empty_line_insert.py +0 -0
  399. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/test_integration.py +0 -0
  400. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/test_manager.py +0 -0
  401. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/test_patch_replacer.py +0 -0
  402. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/test_regex_replacer.py +0 -0
  403. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/search_replace_patch/tests/test_similarity_replacer.py +0 -0
  404. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/__init__.py +0 -0
  405. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/command_executor.py +0 -0
  406. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/error_recovery.py +0 -0
  407. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/exceptions.py +0 -0
  408. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/interactive_executor.py +0 -0
  409. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/interactive_pexpect_process.py +0 -0
  410. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/interactive_process.py +0 -0
  411. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/interactive_session_manager.py +0 -0
  412. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/monitoring.py +0 -0
  413. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/process_cleanup.py +0 -0
  414. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/process_manager.py +0 -0
  415. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/test_interactive_pexpect_process.py +0 -0
  416. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/__init__.py +0 -0
  417. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/conftest.py +0 -0
  418. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_command_executor.py +0 -0
  419. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_error_recovery.py +0 -0
  420. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_exceptions.py +0 -0
  421. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_execute_batch.py +0 -0
  422. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_indented_batch_commands.py +0 -0
  423. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_integration.py +0 -0
  424. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_monitoring.py +0 -0
  425. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_performance.py +0 -0
  426. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_process_cleanup.py +0 -0
  427. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_process_manager.py +0 -0
  428. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_timeout_config.py +0 -0
  429. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_timeout_manager.py +0 -0
  430. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/tests/test_windows_support.py +0 -0
  431. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/timeout_config.py +0 -0
  432. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/timeout_manager.py +0 -0
  433. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shell_commands/windows_support.py +0 -0
  434. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/shells.py +0 -0
  435. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/skills/__init__.py +0 -0
  436. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/skills/manager.py +0 -0
  437. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/stats_panel.py +0 -0
  438. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/stream_out_type.py +0 -0
  439. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/sys_prompt.py +0 -0
  440. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/__init__.py +0 -0
  441. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/clipboard_image.py +0 -0
  442. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/demo.py +0 -0
  443. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/demo_paste_functionality.py +0 -0
  444. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/paste_handler.py +0 -0
  445. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/paste_manager.py +0 -0
  446. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/tests/__init__.py +0 -0
  447. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/tests/test_paste_handler.py +0 -0
  448. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/tests/test_paste_manager.py +0 -0
  449. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/terminal_paste/utils.py +0 -0
  450. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/test_autocoder_args.py +0 -0
  451. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/test_env_manager.py +0 -0
  452. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/test_env_manager_integration.py +0 -0
  453. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/test_run_cmd.py +0 -0
  454. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/text_similarity/__init__.py +0 -0
  455. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/text_similarity/demo.py +0 -0
  456. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/text_similarity/examples.py +0 -0
  457. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/text_similarity/test_text_similarity.py +0 -0
  458. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/text_similarity/text_similarity.py +0 -0
  459. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/text_similarity/utils.py +0 -0
  460. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/__init__.py +0 -0
  461. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/cache/__init__.py +0 -0
  462. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/cache/base_cache.py +0 -0
  463. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/cache/cache_manager.py +0 -0
  464. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/cache/memory_cache.py +0 -0
  465. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/config.py +0 -0
  466. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/exceptions.py +0 -0
  467. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/formatting.py +0 -0
  468. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/get_todo_manager.py +0 -0
  469. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/manager.py +0 -0
  470. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/models.py +0 -0
  471. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/storage/__init__.py +0 -0
  472. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/storage/base_storage.py +0 -0
  473. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/todos/storage/file_storage.py +0 -0
  474. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/token_cost_caculate.py +0 -0
  475. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tokens/__init__.py +0 -0
  476. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tokens/counter.py +0 -0
  477. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tokens/file_detector.py +0 -0
  478. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tokens/filters.py +0 -0
  479. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tokens/models.py +0 -0
  480. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tools_manager/__init__.py +0 -0
  481. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tools_manager/examples.py +0 -0
  482. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tools_manager/manager.py +0 -0
  483. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tools_manager/models.py +0 -0
  484. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tools_manager/test_tools_manager.py +0 -0
  485. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/tools_manager/utils.py +0 -0
  486. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/types.py +0 -0
  487. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/__init__.py +0 -0
  488. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/__init__.py +0 -0
  489. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_callbacks.py +0 -0
  490. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_change_manager.py +0 -0
  491. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py +0 -0
  492. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/ac_mod_list_tool_resolver.py +0 -0
  493. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/ac_mod_read_tool_resolver.py +0 -0
  494. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/ac_mod_write_tool_resolver.py +0 -0
  495. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +0 -0
  496. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py +0 -0
  497. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +0 -0
  498. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_read_tool_resolver.py +0 -0
  499. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_write_tool_resolver.py +0 -0
  500. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/count_tokens_tool_resolver.py +0 -0
  501. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py +0 -0
  502. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +0 -0
  503. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_external_tool_resolver.py +0 -0
  504. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_workflow_tool_resolver.py +0 -0
  505. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/__init__.py +0 -0
  506. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/ac_mod_files.py +0 -0
  507. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/interactive_session.py +0 -0
  508. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/plan_format.py +0 -0
  509. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/skill.py +0 -0
  510. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/web_research.py +0 -0
  511. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/workflow_subagents.py +0 -0
  512. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/extract_text_to_file_tool_resolver.py +0 -0
  513. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/lint_report.py +0 -0
  514. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/linter_config_models.py +0 -0
  515. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/linter_enabled_tool_resolver.py +0 -0
  516. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py +0 -0
  517. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +0 -0
  518. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/load_extra_document_tool_resolver.py +0 -0
  519. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/manage_background_tasks_tool_resolver.py +0 -0
  520. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +0 -0
  521. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +0 -0
  522. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/read_image_tool_resolver.py +0 -0
  523. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/repl_close_tool_resolver.py +0 -0
  524. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/repl_open_tool_resolver.py +0 -0
  525. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/repl_send_tool_resolver.py +0 -0
  526. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/__init__.py +0 -0
  527. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/apply.py +0 -0
  528. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/failure_report.py +0 -0
  529. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/parsing.py +0 -0
  530. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/paths.py +0 -0
  531. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +0 -0
  532. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/run_named_subagents_tool_resolver.py +0 -0
  533. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +0 -0
  534. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +0 -0
  535. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/todo_read_tool_resolver.py +0 -0
  536. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/todo_write_tool_resolver.py +0 -0
  537. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/use_rag_tool_resolver.py +0 -0
  538. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/web_crawl_tool_resolver.py +0 -0
  539. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/web_search_tool_resolver.py +0 -0
  540. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +0 -0
  541. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/llm_stream_parser.py +0 -0
  542. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/runner/__init__.py +0 -0
  543. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/runner/base_runner.py +0 -0
  544. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/runner/sdk_runner.py +0 -0
  545. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/__init__.py +0 -0
  546. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/backends/__init__.py +0 -0
  547. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/backends/cli_process.py +0 -0
  548. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/backends/external_cli_drivers.py +0 -0
  549. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/backends/external_cli_process.py +0 -0
  550. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/backends/in_process.py +0 -0
  551. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/client.py +0 -0
  552. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/models.py +0 -0
  553. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/prompt_provider.py +0 -0
  554. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/tests/__init__.py +0 -0
  555. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/subagents/tests/test_subagent_client.py +0 -0
  556. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/test_agentic_callbacks.py +0 -0
  557. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/test_agentic_edit.py +0 -0
  558. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/test_agentic_edit_conversation_lifecycle.py +0 -0
  559. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/test_llm_stream_parser.py +0 -0
  560. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/__init__.py +0 -0
  561. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/default_tool_resolver_map.py +0 -0
  562. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/integration_test.py +0 -0
  563. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/plugins/__init__.py +0 -0
  564. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/plugins/base_plugin.py +0 -0
  565. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/plugins/examples/__init__.py +0 -0
  566. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/plugins/examples/command_policy_plugin.py +0 -0
  567. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/plugins/examples/logging_plugin.py +0 -0
  568. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/plugins/examples/security_filter_plugin.py +0 -0
  569. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/plugins/examples/workspace_delta_plugin.py +0 -0
  570. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/plugins/plugin_interface.py +0 -0
  571. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/test_hook_mechanism.py +0 -0
  572. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/test_tool_caller.py +0 -0
  573. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/tool_call_plugin_manager.py +0 -0
  574. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/tool_caller.py +0 -0
  575. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/agent/tool_caller/usage_example.py +0 -0
  576. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_agentic_editblock_manager.py +0 -0
  577. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_auto_merge.py +0 -0
  578. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_auto_merge_diff.py +0 -0
  579. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_auto_merge_editblock.py +0 -0
  580. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_auto_merge_strict_diff.py +0 -0
  581. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_diff_manager.py +0 -0
  582. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_editblock_events/__init__.py +0 -0
  583. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_editblock_events/manager.py +0 -0
  584. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_editblock_events/types.py +0 -0
  585. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_editblock_manager.py +0 -0
  586. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_manager.py +0 -0
  587. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/v2/code_strict_diff_manager.py +0 -0
  588. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/wrap_llm_hint/__init__.py +0 -0
  589. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/wrap_llm_hint/test_wrap_llm_hint.py +0 -0
  590. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/wrap_llm_hint/utils.py +0 -0
  591. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/common/wrap_llm_hint/wrap_llm_hint.py +0 -0
  592. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/__init__.py +0 -0
  593. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/base_compiler.py +0 -0
  594. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/compiler_config_api.py +0 -0
  595. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/compiler_config_manager.py +0 -0
  596. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/compiler_factory.py +0 -0
  597. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/java_compiler.py +0 -0
  598. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/models.py +0 -0
  599. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/normal_compiler.py +0 -0
  600. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/provided_compiler.py +0 -0
  601. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/python_compiler.py +0 -0
  602. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/reactjs_compiler.py +0 -0
  603. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/shadow_compiler.py +0 -0
  604. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/compilers/vue_compiler.py +0 -0
  605. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/completer/__init__.py +0 -0
  606. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/completer/tests/__init__.py +0 -0
  607. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/completer/tests/test_task_completion.py +0 -0
  608. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/data/byzerllm.md +0 -0
  609. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/data/tokenizer.json +0 -0
  610. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/db/__init__.py +0 -0
  611. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/db/store.py +0 -0
  612. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/default_project/__init__.py +0 -0
  613. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/dispacher/__init__.py +0 -0
  614. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/dispacher/actions/__init__.py +0 -0
  615. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/dispacher/actions/action.py +0 -0
  616. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/dispacher/actions/copilot.py +0 -0
  617. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  618. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  619. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/events/__init__.py +0 -0
  620. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/events/event_manager.py +0 -0
  621. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/events/event_manager_singleton.py +0 -0
  622. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/events/event_store.py +0 -0
  623. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/events/event_types.py +0 -0
  624. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/helper/__init__.py +0 -0
  625. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/helper/project_creator.py +0 -0
  626. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/helper/rag_doc_creator.py +0 -0
  627. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/__init__.py +0 -0
  628. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/entry.py +0 -0
  629. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/filter/__init__.py +0 -0
  630. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/filter/agentic_filter.py +0 -0
  631. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/filter/normal_filter.py +0 -0
  632. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/filter/quick_filter.py +0 -0
  633. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/for_command.py +0 -0
  634. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/index.py +0 -0
  635. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/symbols_utils.py +0 -0
  636. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/tests/__init__.py +0 -0
  637. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/tests/run_tests.py +0 -0
  638. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/tests/test_entry.py +0 -0
  639. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/tests/test_index_manager.py +0 -0
  640. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/tests/test_module_integration.py +0 -0
  641. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/tests/test_symbols_utils.py +0 -0
  642. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/index/types.py +0 -0
  643. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/inner/__init__.py +0 -0
  644. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/inner/agentic.py +0 -0
  645. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/inner/async_command_handler.py +0 -0
  646. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/inner/conversation_command_handlers.py +0 -0
  647. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/inner/merge_command_handler.py +0 -0
  648. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/inner/queue_command_handler.py +0 -0
  649. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/lang.py +0 -0
  650. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/__init__.py +0 -0
  651. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/base_linter.py +0 -0
  652. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/linter_factory.py +0 -0
  653. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/models.py +0 -0
  654. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/normal_linter.py +0 -0
  655. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/python_linter.py +0 -0
  656. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/reactjs_linter.py +0 -0
  657. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/shadow_linter.py +0 -0
  658. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/test_python_linter.py +0 -0
  659. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/test_reactjs_linter.py +0 -0
  660. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/test_vue_linter.py +0 -0
  661. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/linters/vue_linter.py +0 -0
  662. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/__init__.py +0 -0
  663. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/agent_executor.py +0 -0
  664. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/context_provider.py +0 -0
  665. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/manager.py +0 -0
  666. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/registry.py +0 -0
  667. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/scheduler.py +0 -0
  668. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/sources/__init__.py +0 -0
  669. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/sources/ac_modules.py +0 -0
  670. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/sources/history.py +0 -0
  671. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/store.py +0 -0
  672. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/tasks/__init__.py +0 -0
  673. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/tasks/base.py +0 -0
  674. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/tasks/history_memory_mining.py +0 -0
  675. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/tasks/module_context_refresh.py +0 -0
  676. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/tests/__init__.py +0 -0
  677. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/memory/tests/test_memory.py +0 -0
  678. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/models.py +0 -0
  679. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/plugins/__init__.py +0 -0
  680. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/plugins/git_helper_plugin.py +0 -0
  681. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/plugins/token_helper_plugin.py +0 -0
  682. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/plugins/utils.py +0 -0
  683. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/privacy/__init__.py +0 -0
  684. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/privacy/model_filter.py +0 -0
  685. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/pyproject/__init__.py +0 -0
  686. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/__init__.py +0 -0
  687. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/agentic_rag.py +0 -0
  688. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/api_server.py +0 -0
  689. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/__init__.py +0 -0
  690. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/base_cache.py +0 -0
  691. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  692. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
  693. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/failed_files_utils.py +0 -0
  694. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  695. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
  696. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
  697. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
  698. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/cache/simple_cache.py +0 -0
  699. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/conversation_to_queries.py +0 -0
  700. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/doc_filter.py +0 -0
  701. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/document_retriever.py +0 -0
  702. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/lang.py +0 -0
  703. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/llm_wrapper.py +0 -0
  704. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/loaders/__init__.py +0 -0
  705. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  706. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  707. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/loaders/filter_utils.py +0 -0
  708. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/loaders/image_loader.py +0 -0
  709. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  710. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  711. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/long_context_rag.py +0 -0
  712. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
  713. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/rag_config.py +0 -0
  714. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/rag_entry.py +0 -0
  715. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/relevant_utils.py +0 -0
  716. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/sdk/__init__.py +0 -0
  717. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/sdk/client.py +0 -0
  718. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/sdk/models.py +0 -0
  719. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/sdk/utils.py +0 -0
  720. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/searchable.py +0 -0
  721. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/stream_event/__init__.py +0 -0
  722. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  723. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/stream_event/types.py +0 -0
  724. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/__init__.py +0 -0
  725. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/args.py +0 -0
  726. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/bootstrap.py +0 -0
  727. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/command_handlers.py +0 -0
  728. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/formatters/__init__.py +0 -0
  729. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/formatters/base.py +0 -0
  730. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/formatters/json_format.py +0 -0
  731. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/formatters/stream_json.py +0 -0
  732. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/formatters/text.py +0 -0
  733. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/init.py +0 -0
  734. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/terminal/utils.py +0 -0
  735. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/test_agentic_rag.py +0 -0
  736. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/test_doc_filter.py +0 -0
  737. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/test_long_context_rag.py +0 -0
  738. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/test_token_limiter.py +0 -0
  739. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/token_checker.py +0 -0
  740. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/token_counter.py +0 -0
  741. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/token_limiter.py +0 -0
  742. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/token_limiter_utils.py +0 -0
  743. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/__init__.py +0 -0
  744. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/bochaai_example.py +0 -0
  745. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/bochaai_sdk.py +0 -0
  746. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/metaso_example.py +0 -0
  747. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/metaso_sdk.py +0 -0
  748. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/recall_tool.py +0 -0
  749. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/run_integration_tests.py +0 -0
  750. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/search_tool.py +0 -0
  751. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/test_all_providers.py +0 -0
  752. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/test_bochaai_integration.py +0 -0
  753. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/test_final_integration.py +0 -0
  754. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/test_metaso_integration.py +0 -0
  755. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/test_metaso_real.py +0 -0
  756. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/test_web_crawl_tool.py +0 -0
  757. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/test_web_search_tool.py +0 -0
  758. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/todo_read_tool.py +0 -0
  759. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/todo_write_tool.py +0 -0
  760. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/web_crawl_tool.py +0 -0
  761. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/web_search_tool.py +0 -0
  762. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/tools/web_tools_example.py +0 -0
  763. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/types.py +0 -0
  764. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/utils.py +0 -0
  765. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/variable_holder.py +0 -0
  766. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rag/wildcard_sync.py +0 -0
  767. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/rags.py +0 -0
  768. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/regexproject/__init__.py +0 -0
  769. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/run_context.py +0 -0
  770. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/__init__.py +0 -0
  771. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/api.py +0 -0
  772. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/__init__.py +0 -0
  773. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/async_executor.py +0 -0
  774. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/async_handler.py +0 -0
  775. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/async_service.py +0 -0
  776. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/markdown_processor.py +0 -0
  777. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/task_completion_provider.py +0 -0
  778. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/task_metadata.py +0 -0
  779. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/tests/__init__.py +0 -0
  780. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/tests/test_async_service.py +0 -0
  781. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/async_runner/worktree_manager.py +0 -0
  782. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/cli/__init__.py +0 -0
  783. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/cli/formatters.py +0 -0
  784. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/cli/handlers.py +0 -0
  785. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/cli/main.py +0 -0
  786. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/cli/options.py +0 -0
  787. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/constants.py +0 -0
  788. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/core/__init__.py +0 -0
  789. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/exceptions.py +0 -0
  790. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/formatters/__init__.py +0 -0
  791. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/formatters/input.py +0 -0
  792. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/formatters/output.py +0 -0
  793. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/formatters/stream.py +0 -0
  794. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/models/__init__.py +0 -0
  795. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/models/options.py +0 -0
  796. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/models/responses.py +0 -0
  797. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/utils/__init__.py +0 -0
  798. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/utils/formatters.py +0 -0
  799. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/utils/io_utils.py +0 -0
  800. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/sdk/utils/validators.py +0 -0
  801. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/shadows/__init__.py +0 -0
  802. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/shadows/shadow_manager.py +0 -0
  803. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/suffixproject/__init__.py +0 -0
  804. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/__init__.py +0 -0
  805. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/app.py +0 -0
  806. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/args.py +0 -0
  807. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/bootstrap.py +0 -0
  808. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/command_processor.py +0 -0
  809. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/command_registry.py +0 -0
  810. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/help.py +0 -0
  811. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/tasks/__init__.py +0 -0
  812. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/tasks/background.py +0 -0
  813. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/tasks/task_event.py +0 -0
  814. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/ui/__init__.py +0 -0
  815. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/ui/completer.py +0 -0
  816. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/ui/keybindings.py +0 -0
  817. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/ui/session.py +0 -0
  818. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/ui/toolbar.py +0 -0
  819. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/utils/__init__.py +0 -0
  820. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/utils/errors.py +0 -0
  821. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/utils/paths.py +0 -0
  822. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal/utils/shell.py +0 -0
  823. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/__init__.py +0 -0
  824. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/cloud_block_command.py +0 -0
  825. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/cloud_bridge.py +0 -0
  826. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/cloud_command_dispatcher.py +0 -0
  827. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/cloud_config.py +0 -0
  828. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/cloud_file_uploader.py +0 -0
  829. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/command_registry.py +0 -0
  830. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/execution_broker.py +0 -0
  831. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/forward_input.py +0 -0
  832. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/lifecycle.py +0 -0
  833. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/output.py +0 -0
  834. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/status.py +0 -0
  835. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/task_runtime.py +0 -0
  836. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_core/tunnel_worker.py +0 -0
  837. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/__init__.py +0 -0
  838. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/async_runner/__init__.py +0 -0
  839. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/async_runner/async_executor.py +0 -0
  840. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/async_runner/async_service.py +0 -0
  841. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/async_runner/markdown_processor.py +0 -0
  842. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/async_runner/stop_signals.py +0 -0
  843. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/async_runner/task_metadata.py +0 -0
  844. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/async_runner/worktree_manager.py +0 -0
  845. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/handlers/__init__.py +0 -0
  846. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/models/__init__.py +0 -0
  847. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/models/markdown_render.py +0 -0
  848. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/models/message.py +0 -0
  849. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/models/session_registry.py +0 -0
  850. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/ui/__init__.py +0 -0
  851. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/ui/keybindings.py +0 -0
  852. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/ui/layout.py +0 -0
  853. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/terminal_v3/ui/styles.py +0 -0
  854. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/tsproject/__init__.py +0 -0
  855. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/__init__.py +0 -0
  856. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/_markitdown.py +0 -0
  857. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
  858. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  859. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/auto_project_type.py +0 -0
  860. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  861. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/conversation_store.py +0 -0
  862. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  863. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/llms.py +0 -0
  864. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/log_capture.py +0 -0
  865. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/math_utils.py +0 -0
  866. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/model_provider_selector.py +0 -0
  867. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/multi_turn.py +0 -0
  868. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/operate_config_api.py +0 -0
  869. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/print_table.py +0 -0
  870. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/project_structure.py +0 -0
  871. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/queue_communicate.py +0 -0
  872. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/request_event_queue.py +0 -0
  873. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/request_queue.py +0 -0
  874. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/rest.py +0 -0
  875. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/stream_thinking.py +0 -0
  876. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/thread_utils.py +0 -0
  877. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/utils/types.py +0 -0
  878. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/__init__.py +0 -0
  879. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/agent.py +0 -0
  880. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/exceptions.py +0 -0
  881. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/executor.py +0 -0
  882. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/loader.py +0 -0
  883. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/runner.py +0 -0
  884. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/tests/__init__.py +0 -0
  885. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/tests/test_loader.py +0 -0
  886. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/tests/test_types.py +0 -0
  887. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/tests/test_utils.py +0 -0
  888. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/types.py +0 -0
  889. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/utils.py +0 -0
  890. {auto_coder-3.0.49 → auto_coder-3.0.50}/src/autocoder/workflow_agents/workflow_manager.py +0 -0
  891. {auto_coder-3.0.49 → auto_coder-3.0.50}/tests/test_args_parser.py +0 -0
  892. {auto_coder-3.0.49 → auto_coder-3.0.50}/tests/test_command_consistency.py +0 -0
  893. {auto_coder-3.0.49 → auto_coder-3.0.50}/tests/test_conf_completions.py +0 -0
  894. {auto_coder-3.0.49 → auto_coder-3.0.50}/tests/test_conf_global_shorthand.py +0 -0
  895. {auto_coder-3.0.49 → auto_coder-3.0.50}/tests/test_plugin_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: auto-coder
3
- Version: 3.0.49
3
+ Version: 3.0.50
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Author-email: allwefantasy <allwefantasy@gmail.com>
@@ -189,7 +189,7 @@ Requires-Dist: prompt-toolkit
189
189
  Requires-Dist: tokenizers
190
190
  Requires-Dist: aiofiles
191
191
  Requires-Dist: readerwriterlock
192
- Requires-Dist: byzerllm[saas]>=0.1.207
192
+ Requires-Dist: byzerllm[saas]>=0.1.208
193
193
  Requires-Dist: patch
194
194
  Requires-Dist: diff_match_patch
195
195
  Requires-Dist: GitPython
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
5
5
 
6
6
  [project]
7
7
  name = "auto-coder"
8
- version = "3.0.49"
8
+ version = "3.0.50"
9
9
  description = "AutoCoder: AutoCoder"
10
10
  authors = [
11
11
  {name = "allwefantasy", email = "allwefantasy@gmail.com"}
@@ -39,7 +39,7 @@ dependencies = [
39
39
  "tokenizers",
40
40
  "aiofiles",
41
41
  "readerwriterlock",
42
- "byzerllm[saas]>=0.1.207",
42
+ "byzerllm[saas]>=0.1.208",
43
43
  "patch",
44
44
  "diff_match_patch",
45
45
  "GitPython",
@@ -46,7 +46,7 @@ readerwriterlock
46
46
 
47
47
  # camelot-py
48
48
  # llama_index
49
- byzerllm[saas]>=0.1.207
49
+ byzerllm[saas]>=0.1.208
50
50
  patch
51
51
  diff_match_patch
52
52
  GitPython
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: auto-coder
3
- Version: 3.0.49
3
+ Version: 3.0.50
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Author-email: allwefantasy <allwefantasy@gmail.com>
@@ -189,7 +189,7 @@ Requires-Dist: prompt-toolkit
189
189
  Requires-Dist: tokenizers
190
190
  Requires-Dist: aiofiles
191
191
  Requires-Dist: readerwriterlock
192
- Requires-Dist: byzerllm[saas]>=0.1.207
192
+ Requires-Dist: byzerllm[saas]>=0.1.208
193
193
  Requires-Dist: patch
194
194
  Requires-Dist: diff_match_patch
195
195
  Requires-Dist: GitPython
@@ -881,4 +881,12 @@ tests/test_args_parser.py
881
881
  tests/test_command_consistency.py
882
882
  tests/test_conf_completions.py
883
883
  tests/test_conf_global_shorthand.py
884
- tests/test_plugin_manager.py
884
+ tests/test_deepseek_cache_billing.py
885
+ tests/test_deepseek_cache_billing_real.py
886
+ tests/test_llm_pricing_detailed.py
887
+ tests/test_llm_usage_side_paths.py
888
+ tests/test_model_pricing.py
889
+ tests/test_plugin_manager.py
890
+ tests/test_stream_chat_with_continue.py
891
+ tests/test_terminal_usage_display.py
892
+ tests/test_tiered_pricing.py
@@ -16,7 +16,7 @@ prompt-toolkit
16
16
  tokenizers
17
17
  aiofiles
18
18
  readerwriterlock
19
- byzerllm[saas]>=0.1.207
19
+ byzerllm[saas]>=0.1.208
20
20
  patch
21
21
  diff_match_patch
22
22
  GitPython
@@ -10,6 +10,7 @@ from typing import List, Dict, Any, Union, Optional, Tuple, Type, Generator, Ite
10
10
  from rich.console import Console
11
11
  from rich.panel import Panel
12
12
  from loguru import logger
13
+ from autocoder.common.llms.pricing import lookup_usage_field
13
14
  import byzerllm
14
15
  from pydantic import BaseModel
15
16
 
@@ -1409,26 +1410,120 @@ class BaseAgent(ABC):
1409
1410
  elif isinstance(agent_event, TokenUsageEvent):
1410
1411
  # 缓存模型价格信息
1411
1412
  if not hasattr(self, "_cached_model_info"):
1412
- model_name = ",".join(llms_utils.get_llm_names(self.llm))
1413
- self._cached_model_info = (
1414
- llms_utils.get_model_info(
1415
- model_name, self.args.product_mode
1413
+ model_names = [
1414
+ name.strip()
1415
+ for raw_name in llms_utils.get_llm_names(self.llm)
1416
+ for name in raw_name.split(",")
1417
+ if name.strip()
1418
+ ]
1419
+ self._cached_model_name = ",".join(model_names)
1420
+ self._cached_model_info = {}
1421
+ for candidate_name in model_names or [self._cached_model_name]:
1422
+ model_info = (
1423
+ llms_utils.get_model_info(
1424
+ candidate_name, self.args.product_mode
1425
+ )
1426
+ or {}
1416
1427
  )
1417
- or {}
1418
- )
1419
- self._cached_model_name = model_name
1420
-
1421
- # 获取价格
1422
- input_price = self._cached_model_info.get("input_price", 0.0)
1423
- output_price = self._cached_model_info.get("output_price", 0.0)
1428
+ if model_info:
1429
+ self._cached_model_name = candidate_name
1430
+ self._cached_model_info = model_info
1431
+ break
1424
1432
 
1425
1433
  # 计算成本
1426
1434
  last_meta = agent_event.usage
1427
- input_tokens = max(last_meta.input_tokens_count, 0)
1428
- output_tokens = max(last_meta.generated_tokens_count, 0)
1435
+ def _usage_int(*keys: str, default: int = 0) -> int:
1436
+ for key in keys:
1437
+ value = lookup_usage_field(last_meta, key)
1438
+ if value is None:
1439
+ continue
1440
+ try:
1441
+ return max(int(value), 0)
1442
+ except (TypeError, ValueError):
1443
+ continue
1444
+ return default
1445
+
1446
+ def _usage_float(*keys: str, default: float = 0.0) -> float:
1447
+ for key in keys:
1448
+ value = lookup_usage_field(last_meta, key)
1449
+ if value is None:
1450
+ continue
1451
+ try:
1452
+ return float(value)
1453
+ except (TypeError, ValueError):
1454
+ continue
1455
+ return default
1456
+
1457
+ input_tokens = _usage_int(
1458
+ "input_tokens_count",
1459
+ "input_tokens",
1460
+ "prompt_tokens",
1461
+ )
1462
+ output_tokens = _usage_int(
1463
+ "generated_tokens_count",
1464
+ "output_tokens",
1465
+ "completion_tokens",
1466
+ )
1467
+ cache_creation_input_tokens = _usage_int(
1468
+ "cache_creation_input_tokens",
1469
+ "cache_creation_tokens",
1470
+ )
1471
+ cache_read_input_tokens = _usage_int(
1472
+ "cache_read_input_tokens",
1473
+ "cache_read_tokens",
1474
+ "prompt_cached_tokens",
1475
+ "cached_tokens",
1476
+ )
1477
+ reasoning_tokens = _usage_int("reasoning_tokens")
1478
+ billable_output_tokens = max(output_tokens - reasoning_tokens, 0)
1429
1479
 
1430
- input_cost = (input_tokens * input_price) / 1000000 # 转换为百万
1431
- output_cost = (output_tokens * output_price) / 1000000
1480
+ input_cost = 0.0
1481
+ output_cost = 0.0
1482
+ cache_read_cost = 0.0
1483
+ cache_creation_cost = 0.0
1484
+ reasoning_cost = 0.0
1485
+ total_cost = 0.0
1486
+
1487
+ if self._cached_model_info:
1488
+ from autocoder.common.llms.manager import LLMManager
1489
+
1490
+ cost_detail = LLMManager().calculate_detailed_cost(
1491
+ self._cached_model_name, last_meta
1492
+ )
1493
+ if cost_detail:
1494
+ input_cost = cost_detail.input_cost
1495
+ output_cost = cost_detail.output_cost
1496
+ cache_read_cost = cost_detail.cache_read_cost
1497
+ cache_creation_cost = cost_detail.cache_creation_cost
1498
+ reasoning_cost = cost_detail.reasoning_cost
1499
+ total_cost = cost_detail.total_cost
1500
+ else:
1501
+ input_price = self._cached_model_info.get("input_price", 0.0)
1502
+ output_price = self._cached_model_info.get("output_price", 0.0)
1503
+ input_cost = (input_tokens * input_price) / 1000000
1504
+ output_cost = (billable_output_tokens * output_price) / 1000000
1505
+ reasoning_price = self._cached_model_info.get(
1506
+ "reasoning_price", output_price
1507
+ )
1508
+ reasoning_cost = (
1509
+ reasoning_tokens * reasoning_price
1510
+ ) / 1000000
1511
+ total_cost = input_cost + output_cost + reasoning_cost
1512
+ else:
1513
+ input_cost = _usage_float("input_cost", "prompt_cost")
1514
+ output_cost = _usage_float("output_cost", "completion_cost")
1515
+ cache_read_cost = _usage_float("cache_read_cost")
1516
+ cache_creation_cost = _usage_float("cache_creation_cost")
1517
+ reasoning_cost = _usage_float("reasoning_cost")
1518
+ total_cost = _usage_float("total_cost")
1519
+ if total_cost == 0.0:
1520
+ total_cost = (
1521
+ input_cost
1522
+ + output_cost
1523
+ + cache_read_cost
1524
+ + cache_creation_cost
1525
+ + reasoning_cost
1526
+ )
1432
1527
 
1433
1528
  # 预测总成本
1434
1529
  if not hasattr(self, "_total_input_tokens"):
@@ -1436,22 +1531,37 @@ class BaseAgent(ABC):
1436
1531
  self._total_output_tokens = 0
1437
1532
  self._total_input_cost = 0.0
1438
1533
  self._total_output_cost = 0.0
1534
+ self._total_cache_read_cost = 0.0
1535
+ self._total_cache_creation_cost = 0.0
1536
+ self._total_reasoning_cost = 0.0
1537
+ self._total_total_cost = 0.0
1439
1538
 
1440
1539
  self._total_input_tokens += input_tokens
1441
1540
  self._total_output_tokens += output_tokens
1442
1541
  self._total_input_cost += input_cost
1443
1542
  self._total_output_cost += output_cost
1543
+ self._total_cache_read_cost += cache_read_cost
1544
+ self._total_cache_creation_cost += cache_creation_cost
1545
+ self._total_reasoning_cost += reasoning_cost
1546
+ self._total_total_cost += total_cost
1444
1547
 
1445
1548
  # 记录详细Token使用情况
1446
1549
  logger.info(
1447
1550
  f"Token Usage Details:\n"
1448
1551
  f"- Model: {self._cached_model_name}\n"
1449
- f"- Input: {input_tokens} tokens (${input_cost:.6f})\n"
1450
- f"- Output: {output_tokens} tokens (${output_cost:.6f})\n"
1552
+ f"- Input: {input_tokens} tokens (¥{input_cost:.6f})\n"
1553
+ f"- Cache Read: {cache_read_input_tokens} tokens (¥{cache_read_cost:.6f})\n"
1554
+ f"- Cache Creation: {cache_creation_input_tokens} tokens (¥{cache_creation_cost:.6f})\n"
1555
+ f"- Output: {billable_output_tokens} tokens (¥{output_cost:.6f})\n"
1556
+ f"- Reasoning: {reasoning_tokens} tokens (¥{reasoning_cost:.6f})\n"
1451
1557
  f"- Running Totals:\n"
1452
- f" - Input: {self._total_input_tokens} tokens (${self._total_input_cost:.6f})\n"
1453
- f" - Output: {self._total_output_tokens} tokens (${self._total_output_cost:.6f})\n"
1454
- f"- Estimated Final Cost: ${(self._total_input_cost + self._total_output_cost) * 1.2:.6f} (with 20% buffer)"
1558
+ f" - Input: {self._total_input_tokens} tokens (¥{self._total_input_cost:.6f})\n"
1559
+ f" - Output: {self._total_output_tokens} tokens (¥{self._total_output_cost:.6f})\n"
1560
+ f" - Cache Read: ¥{self._total_cache_read_cost:.6f}\n"
1561
+ f" - Cache Creation: ¥{self._total_cache_creation_cost:.6f}\n"
1562
+ f" - Reasoning: ¥{self._total_reasoning_cost:.6f}\n"
1563
+ f" - Total: ¥{self._total_total_cost:.6f}\n"
1564
+ f"- Estimated Final Cost: ¥{self._total_total_cost * 1.2:.6f} (with 20% buffer)"
1455
1565
  )
1456
1566
 
1457
1567
  # 写入Token统计事件
@@ -1460,11 +1570,18 @@ class BaseAgent(ABC):
1460
1570
  content=EventContentCreator.ResultTokenStatContent(
1461
1571
  model_name=model_name,
1462
1572
  elapsed_time=0.0,
1463
- first_token_time=last_meta.first_token_time,
1464
- input_tokens=last_meta.input_tokens_count,
1465
- output_tokens=last_meta.generated_tokens_count,
1573
+ first_token_time=_usage_float("first_token_time"),
1574
+ input_tokens=input_tokens,
1575
+ output_tokens=output_tokens,
1576
+ cache_creation_input_tokens=cache_creation_input_tokens,
1577
+ cache_read_input_tokens=cache_read_input_tokens,
1578
+ reasoning_tokens=reasoning_tokens,
1466
1579
  input_cost=input_cost,
1467
1580
  output_cost=output_cost,
1581
+ cache_read_cost=cache_read_cost,
1582
+ cache_creation_cost=cache_creation_cost,
1583
+ reasoning_cost=reasoning_cost,
1584
+ total_cost=total_cost,
1468
1585
  ).to_dict()
1469
1586
  ),
1470
1587
  metadata=metadata.to_dict(),
@@ -96,6 +96,17 @@ def parse_arguments():
96
96
  )
97
97
  parser.add_argument("--lite", action="store_true", help="Lite mode")
98
98
  parser.add_argument("--pro", action="store_true", help="Pro mode")
99
+ parser.add_argument(
100
+ "--display-session-cost",
101
+ type=str,
102
+ default=None,
103
+ choices=["CNY", "USD", "NONE", "HIDE"],
104
+ help=(
105
+ "Whether to display the session cost in the status bar, and which "
106
+ "currency to use. CNY shows ¥, USD shows $, NONE/HIDE hides the cost. "
107
+ "If not provided, the cost is hidden by default."
108
+ ),
109
+ )
99
110
 
100
111
  from autocoder.terminal_core.cloud_config import (
101
112
  DEFAULT_BASE_URL,
@@ -302,6 +313,7 @@ async def async_main():
302
313
  startup_logs=startup_logs,
303
314
  debug=args.debug,
304
315
  cloud_bridge=cloud_bridge,
316
+ display_session_cost=args.display_session_cost,
305
317
  )
306
318
  try:
307
319
  await chat_app.run()
@@ -282,10 +282,9 @@ class CodeAutoGenerate:
282
282
  "stream_out_type": CodeGenerateStreamOutType.CODE_GENERATE.value
283
283
  },
284
284
  )
285
- return ChatWithContinueResult(
285
+ return ChatWithContinueResult.from_metadata(
286
286
  content=full_response,
287
- input_tokens_count=last_meta.input_tokens_count,
288
- generated_tokens_count=last_meta.generated_tokens_count,
287
+ metadata=last_meta,
289
288
  )
290
289
 
291
290
  futures.append(executor.submit(job))
@@ -493,10 +493,9 @@ class CodeAutoGenerateDiff:
493
493
  "stream_out_type": CodeGenerateStreamOutType.CODE_GENERATE.value
494
494
  },
495
495
  )
496
- return ChatWithContinueResult(
496
+ return ChatWithContinueResult.from_metadata(
497
497
  content=full_response,
498
- input_tokens_count=last_meta.input_tokens_count,
499
- generated_tokens_count=last_meta.generated_tokens_count,
498
+ metadata=last_meta,
500
499
  )
501
500
 
502
501
  futures.append(executor.submit(job))
@@ -603,10 +603,9 @@ class CodeAutoGenerateEditBlock:
603
603
  "stream_out_type": CodeGenerateStreamOutType.CODE_GENERATE.value
604
604
  },
605
605
  )
606
- return ChatWithContinueResult(
606
+ return ChatWithContinueResult.from_metadata(
607
607
  content=full_response,
608
- input_tokens_count=last_meta.input_tokens_count,
609
- generated_tokens_count=last_meta.generated_tokens_count,
608
+ metadata=last_meta,
610
609
  )
611
610
 
612
611
  futures.append(executor.submit(job))
@@ -469,10 +469,9 @@ class CodeAutoGenerateStrictDiff:
469
469
  "stream_out_type": CodeGenerateStreamOutType.CODE_GENERATE.value
470
470
  },
471
471
  )
472
- return ChatWithContinueResult(
472
+ return ChatWithContinueResult.from_metadata(
473
473
  content=full_response,
474
- input_tokens_count=last_meta.input_tokens_count,
475
- generated_tokens_count=last_meta.generated_tokens_count,
474
+ metadata=last_meta,
476
475
  )
477
476
 
478
477
  futures.append(executor.submit(job))
@@ -7,6 +7,12 @@ from pydantic import BaseModel, Field, ConfigDict
7
7
  import time
8
8
  from loguru import logger
9
9
 
10
+ from autocoder.common.llms.pricing import lookup_usage_field
11
+
12
+
13
+ def _is_simple_scalar(value: Any) -> bool:
14
+ return isinstance(value, (int, float, str, bool, type(None)))
15
+
10
16
 
11
17
  class LLMUsageStats(BaseModel):
12
18
  """LLM 使用统计信息模型"""
@@ -18,10 +24,14 @@ class LLMUsageStats(BaseModel):
18
24
  # 缓存相关信息
19
25
  cache_creation_input_tokens: Optional[int] = Field(default=None, description="缓存创建输入token数量")
20
26
  cache_read_input_tokens: Optional[int] = Field(default=None, description="缓存读取输入token数量")
27
+ reasoning_tokens: Optional[int] = Field(default=None, description="推理token数量")
21
28
 
22
29
  # 成本信息
23
30
  input_cost: Optional[float] = Field(default=None, description="输入成本")
24
31
  output_cost: Optional[float] = Field(default=None, description="输出成本")
32
+ cache_creation_cost: Optional[float] = Field(default=None, description="缓存创建成本")
33
+ cache_read_cost: Optional[float] = Field(default=None, description="缓存读取成本")
34
+ reasoning_cost: Optional[float] = Field(default=None, description="推理成本")
25
35
  total_cost: Optional[float] = Field(default=None, description="总成本")
26
36
 
27
37
  # 模型信息
@@ -95,8 +105,23 @@ class LLMCallMetadata(BaseModel):
95
105
  usage_data = None
96
106
  if "usage" in raw_metadata:
97
107
  usage_data = raw_metadata["usage"]
98
- elif any(key in raw_metadata for key in ["prompt_tokens", "completion_tokens", "input_tokens", "output_tokens", "total_tokens",
99
- "input_tokens_count", "generated_tokens_count", "total_tokens_count"]):
108
+ elif any(
109
+ lookup_usage_field(raw_metadata, key) is not None
110
+ for key in [
111
+ "prompt_tokens",
112
+ "completion_tokens",
113
+ "input_tokens",
114
+ "output_tokens",
115
+ "total_tokens",
116
+ "input_tokens_count",
117
+ "generated_tokens_count",
118
+ "total_tokens_count",
119
+ "cache_creation_input_tokens",
120
+ "cache_read_input_tokens",
121
+ "prompt_cached_tokens",
122
+ "reasoning_tokens",
123
+ ]
124
+ ):
100
125
  # 如果直接包含使用统计字段,则使用 raw_metadata 本身
101
126
  usage_data = raw_metadata
102
127
 
@@ -117,12 +142,9 @@ class LLMCallMetadata(BaseModel):
117
142
  def _extract_usage_stats(cls, usage_data: Union[Dict[str, Any], object], raw_metadata: Dict[str, Any]) -> Optional[LLMUsageStats]:
118
143
  """从usage数据中提取统计信息,支持dict和对象两种形态"""
119
144
  def safe_get(data, *keys):
120
- """安全获取值,支持dict和对象属性访问"""
145
+ """安全获取值,支持 dict / 对象 / extra_info。"""
121
146
  for key in keys:
122
- if isinstance(data, dict):
123
- value = data.get(key)
124
- else:
125
- value = getattr(data, key, None)
147
+ value = lookup_usage_field(data, key)
126
148
  # 检查值是否有效(不是Mock对象或其他无效类型)
127
149
  if value is not None and not str(type(value)).startswith("<class 'unittest.mock."):
128
150
  # 验证基本数据类型
@@ -146,17 +168,60 @@ class LLMCallMetadata(BaseModel):
146
168
 
147
169
  # 提取缓存相关token数量 (支持多种字段名变体)
148
170
  cache_creation_input_tokens = safe_get(usage_data, "cache_creation_input_tokens", "cache_creation_tokens")
149
- cache_read_input_tokens = safe_get(usage_data, "cache_read_input_tokens", "cache_read_tokens")
171
+ cache_read_input_tokens = safe_get(
172
+ usage_data,
173
+ "cache_read_input_tokens",
174
+ "cache_read_tokens",
175
+ "prompt_cached_tokens",
176
+ )
177
+ reasoning_tokens = safe_get(usage_data, "reasoning_tokens")
178
+
179
+ # 标准化input_tokens: 永远只包含非缓存输入token,避免重复计数
180
+ # - Anthropic原生格式: input_tokens原本就是非缓存的,无需修改
181
+ # - OpenAI兼容格式(如TaoToken网关): prompt_tokens已经包含缓存token,需要减去缓存部分得到纯非缓存输入
182
+ if input_tokens is not None:
183
+ cache_total = (cache_creation_input_tokens or 0) + (cache_read_input_tokens or 0)
184
+ if cache_total > 0 and input_tokens >= cache_total:
185
+ input_tokens = input_tokens - cache_total
150
186
 
151
187
  # 提取成本信息
152
188
  input_cost = safe_get(usage_data, "input_cost", "prompt_cost")
153
189
  output_cost = safe_get(usage_data, "output_cost", "completion_cost")
190
+ cache_creation_cost = safe_get(usage_data, "cache_creation_cost")
191
+ cache_read_cost = safe_get(usage_data, "cache_read_cost")
192
+ reasoning_cost = safe_get(usage_data, "reasoning_cost")
154
193
  total_cost = safe_get(usage_data, "total_cost")
155
- if total_cost is None and input_cost is not None and output_cost is not None:
156
- total_cost = input_cost + output_cost
194
+ if total_cost is None:
195
+ known_costs = [
196
+ cost
197
+ for cost in [
198
+ input_cost,
199
+ output_cost,
200
+ cache_creation_cost,
201
+ cache_read_cost,
202
+ reasoning_cost,
203
+ ]
204
+ if cost is not None
205
+ ]
206
+ if known_costs:
207
+ total_cost = sum(known_costs)
157
208
 
158
209
  # 提取时间信息
159
210
  duration_ms = safe_get(usage_data, "duration_ms", "duration", "response_time_ms")
211
+
212
+ if total_tokens is None:
213
+ total_tokens_parts = [
214
+ value
215
+ for value in [
216
+ input_tokens,
217
+ cache_creation_input_tokens,
218
+ cache_read_input_tokens,
219
+ output_tokens,
220
+ ]
221
+ if value is not None
222
+ ]
223
+ if total_tokens_parts:
224
+ total_tokens = sum(total_tokens_parts)
160
225
 
161
226
  # 如果没有任何有效的token信息,返回None
162
227
  if input_tokens is None and output_tokens is None and total_tokens is None:
@@ -168,8 +233,12 @@ class LLMCallMetadata(BaseModel):
168
233
  total_tokens=total_tokens,
169
234
  cache_creation_input_tokens=cache_creation_input_tokens,
170
235
  cache_read_input_tokens=cache_read_input_tokens,
236
+ reasoning_tokens=reasoning_tokens,
171
237
  input_cost=input_cost,
172
238
  output_cost=output_cost,
239
+ cache_creation_cost=cache_creation_cost,
240
+ cache_read_cost=cache_read_cost,
241
+ reasoning_cost=reasoning_cost,
173
242
  total_cost=total_cost,
174
243
  model_name=model_name,
175
244
  duration_ms=duration_ms
@@ -178,15 +247,28 @@ class LLMCallMetadata(BaseModel):
178
247
  @classmethod
179
248
  def _extract_cache_info(cls, raw_metadata: Dict[str, Any]) -> Optional[LLMCacheInfo]:
180
249
  """从原始元数据中提取缓存信息"""
181
- # 检查是否有缓存相关字段
182
- cache_keys = [key for key in raw_metadata.keys() if key.startswith("cache")]
183
- if not cache_keys:
250
+ if not any(
251
+ lookup_usage_field(raw_metadata, key) is not None
252
+ for key in [
253
+ "cache_hit",
254
+ "is_cache_hit",
255
+ "cache_type",
256
+ "cache_provider",
257
+ "cache_key",
258
+ "cache_id",
259
+ "cache_creation_input_tokens",
260
+ "cache_creation_tokens",
261
+ "cache_read_input_tokens",
262
+ "cache_read_tokens",
263
+ "prompt_cached_tokens",
264
+ ]
265
+ ):
184
266
  return None
185
267
 
186
268
  def safe_get(data, *keys):
187
269
  """安全获取值"""
188
270
  for key in keys:
189
- value = data.get(key) if isinstance(data, dict) else getattr(data, key, None)
271
+ value = lookup_usage_field(data, key)
190
272
  if value is not None:
191
273
  return value
192
274
  return None
@@ -196,7 +278,12 @@ class LLMCallMetadata(BaseModel):
196
278
  cache_type = safe_get(raw_metadata, "cache_type", "cache_provider")
197
279
  cache_key = safe_get(raw_metadata, "cache_key", "cache_id")
198
280
  cache_creation_input_tokens = safe_get(raw_metadata, "cache_creation_input_tokens", "cache_creation_tokens")
199
- cache_read_input_tokens = safe_get(raw_metadata, "cache_read_input_tokens", "cache_read_tokens")
281
+ cache_read_input_tokens = safe_get(
282
+ raw_metadata,
283
+ "cache_read_input_tokens",
284
+ "cache_read_tokens",
285
+ "prompt_cached_tokens",
286
+ )
200
287
 
201
288
  return LLMCacheInfo(
202
289
  cache_hit=cache_hit,
@@ -233,6 +320,12 @@ def create_llm_metadata_from_token_usage_event(
233
320
  if not isinstance(usage_data, dict):
234
321
  # 尝试将对象转换为dict
235
322
  raw_metadata = {}
323
+ extra_info = getattr(usage_data, "extra_info", None)
324
+ if isinstance(extra_info, dict):
325
+ raw_metadata["extra_info"] = dict(extra_info)
326
+ for key, value in extra_info.items():
327
+ if _is_simple_scalar(value):
328
+ raw_metadata[key] = value
236
329
 
237
330
  # 获取对象的所有属性
238
331
  for attr_name in dir(usage_data):
@@ -240,12 +333,12 @@ def create_llm_metadata_from_token_usage_event(
240
333
  try:
241
334
  attr_value = getattr(usage_data, attr_name)
242
335
  # 只保存基本数据类型
243
- if isinstance(attr_value, (int, float, str, bool, type(None))):
336
+ if _is_simple_scalar(attr_value):
244
337
  raw_metadata[attr_name] = attr_value
245
338
  except Exception:
246
339
  continue # 跳过无法访问的属性
247
340
  else:
248
- raw_metadata = usage_data
341
+ raw_metadata = dict(usage_data)
249
342
 
250
343
  # 如果还有其他有用的属性,也加入到metadata中
251
344
  if hasattr(token_usage_event, 'model'):
@@ -45,7 +45,7 @@ class IndexManager:
45
45
  self._index_data = json.load(f)
46
46
  else:
47
47
  self._index_data = {}
48
- except (json.JSONDecodeError, OSError, IOError):
48
+ except (json.JSONDecodeError, UnicodeDecodeError, OSError, IOError):
49
49
  # 如果索引损坏,重建空索引
50
50
  self._index_data = {}
51
51
 
@@ -57,7 +57,7 @@ class IndexManager:
57
57
  self._config_data = json.load(f)
58
58
  else:
59
59
  self._config_data = {}
60
- except (json.JSONDecodeError, OSError, IOError):
60
+ except (json.JSONDecodeError, UnicodeDecodeError, OSError, IOError):
61
61
  # 如果配置损坏,重建空配置
62
62
  self._config_data = {}
63
63