auto-coder 0.1.392__tar.gz → 0.1.395__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.

Potentially problematic release.


This version of auto-coder might be problematic. Click here for more details.

Files changed (369) hide show
  1. {auto_coder-0.1.392 → auto_coder-0.1.395}/PKG-INFO +1 -1
  2. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/auto_coder.egg-info/PKG-INFO +1 -1
  3. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/auto_coder.egg-info/SOURCES.txt +4 -0
  4. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/execute_command_tool_resolver.py +1 -9
  5. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/auto_coder_rag.py +67 -20
  6. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/llm_friendly_package.py +36 -3
  7. auto_coder-0.1.395/src/autocoder/common/rag_manager/__init__.py +4 -0
  8. auto_coder-0.1.395/src/autocoder/common/rag_manager/rag_manager.py +144 -0
  9. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit.py +349 -16
  10. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py +2 -0
  11. auto_coder-0.1.395/src/autocoder/common/v2/agent/agentic_edit_tools/use_rag_tool_resolver.py +91 -0
  12. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_types.py +5 -0
  13. auto_coder-0.1.395/src/autocoder/rags.py +348 -0
  14. auto_coder-0.1.395/src/autocoder/version.py +1 -0
  15. auto_coder-0.1.392/src/autocoder/version.py +0 -1
  16. {auto_coder-0.1.392 → auto_coder-0.1.395}/LICENSE +0 -0
  17. {auto_coder-0.1.392 → auto_coder-0.1.395}/README.md +0 -0
  18. {auto_coder-0.1.392 → auto_coder-0.1.395}/setup.cfg +0 -0
  19. {auto_coder-0.1.392 → auto_coder-0.1.395}/setup.py +0 -0
  20. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  21. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/auto_coder.egg-info/entry_points.txt +0 -0
  22. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/auto_coder.egg-info/requires.txt +0 -0
  23. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/auto_coder.egg-info/top_level.txt +0 -0
  24. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/__init__.py +0 -0
  25. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/__init__.py +0 -0
  26. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/agentic_filter.py +0 -0
  27. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  28. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/auto_filegroup.py +0 -0
  29. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/auto_guess_query.py +0 -0
  30. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/auto_learn.py +0 -0
  31. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
  32. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/auto_review_commit.py +0 -0
  33. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/auto_tool.py +0 -0
  34. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/__init__.py +0 -0
  35. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/agent_hub.py +0 -0
  36. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/agentic_lang.py +0 -0
  37. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/agentic_tool_display.py +0 -0
  38. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/base_agent.py +0 -0
  39. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/default_tools.py +0 -0
  40. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/test_base_agent.py +0 -0
  41. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tool_registry.py +0 -0
  42. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/__init__.py +0 -0
  43. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/ask_followup_question_tool_resolver.py +0 -0
  44. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/attempt_completion_tool_resolver.py +0 -0
  45. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/base_tool_resolver.py +0 -0
  46. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/example_tool_resolver.py +0 -0
  47. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/list_files_tool_resolver.py +0 -0
  48. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/plan_mode_respond_tool_resolver.py +0 -0
  49. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +0 -0
  50. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/replace_in_file_tool_resolver.py +0 -0
  51. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/search_files_tool_resolver.py +0 -0
  52. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/talk_to_group_tool_resolver.py +0 -0
  53. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/talk_to_tool_resolver.py +0 -0
  54. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/use_mcp_tool_resolver.py +0 -0
  55. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +0 -0
  56. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/types.py +0 -0
  57. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/base_agentic/utils.py +0 -0
  58. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/coder.py +0 -0
  59. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/designer.py +0 -0
  60. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/planner.py +0 -0
  61. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/agent/project_reader.py +0 -0
  62. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/auto_coder.py +0 -0
  63. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/auto_coder_runner.py +0 -0
  64. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/auto_coder_server.py +0 -0
  65. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/benchmark.py +0 -0
  66. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/chat/__init__.py +0 -0
  67. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/chat/conf_command.py +0 -0
  68. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/chat/models_command.py +0 -0
  69. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/chat/rules_command.py +0 -0
  70. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/chat_auto_coder.py +0 -0
  71. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/chat_auto_coder_lang.py +0 -0
  72. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/command_args.py +0 -0
  73. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/command_parser.py +0 -0
  74. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/commands/__init__.py +0 -0
  75. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/commands/auto_command.py +0 -0
  76. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/commands/auto_web.py +0 -0
  77. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/commands/tools.py +0 -0
  78. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/JupyterClient.py +0 -0
  79. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/ShellClient.py +0 -0
  80. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/__init__.py +0 -0
  81. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/action_yml_file_manager.py +0 -0
  82. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/anything2images.py +0 -0
  83. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/anything2img.py +0 -0
  84. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/audio.py +0 -0
  85. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/auto_coder_lang.py +0 -0
  86. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/auto_configure.py +0 -0
  87. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/buildin_tokenizer.py +0 -0
  88. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/chunk_validation.py +0 -0
  89. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/cleaner.py +0 -0
  90. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_execute.py +0 -0
  91. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_generate.py +0 -0
  92. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  93. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  94. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  95. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_merge.py +0 -0
  96. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_merge_diff.py +0 -0
  97. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
  98. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
  99. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/code_modification_ranker.py +0 -0
  100. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_completer.py +0 -0
  101. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_completer_v2.py +0 -0
  102. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_file_manager/__init__.py +0 -0
  103. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_file_manager/examples.py +0 -0
  104. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_file_manager/manager.py +0 -0
  105. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_file_manager/models.py +0 -0
  106. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_file_manager/utils.py +0 -0
  107. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_generator.py +0 -0
  108. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/command_templates.py +0 -0
  109. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/computer_use.py +0 -0
  110. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/conf_import_export.py +0 -0
  111. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/conf_utils.py +0 -0
  112. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/conf_validator.py +0 -0
  113. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/const.py +0 -0
  114. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/context_pruner.py +0 -0
  115. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/conversation_pruner.py +0 -0
  116. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/conversations/__init__.py +0 -0
  117. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/conversations/compatibility.py +0 -0
  118. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/conversations/conversation_manager.py +0 -0
  119. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/conversations/example.py +0 -0
  120. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/directory_cache/__init__.py +0 -0
  121. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/directory_cache/cache.py +0 -0
  122. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/directory_cache/test_cache.py +0 -0
  123. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/__init__.py +0 -0
  124. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/backup.py +0 -0
  125. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/conversation_checkpoint.py +0 -0
  126. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/examples.py +0 -0
  127. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/manager.py +0 -0
  128. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/models.py +0 -0
  129. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/store.py +0 -0
  130. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/test_backup.py +0 -0
  131. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/test_manager.py +0 -0
  132. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/test_models.py +0 -0
  133. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/test_store.py +0 -0
  134. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/test_utils.py +0 -0
  135. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_checkpoint/utils.py +0 -0
  136. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_monitor/__init__.py +0 -0
  137. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/file_monitor/monitor.py +0 -0
  138. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/files.py +0 -0
  139. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/git_utils.py +0 -0
  140. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/global_cancel.py +0 -0
  141. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/ignorefiles/__init__.py +0 -0
  142. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/ignorefiles/ignore_file_utils.py +0 -0
  143. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/ignorefiles/test_ignore_file_utils.py +0 -0
  144. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/image_to_page.py +0 -0
  145. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/index_import_export.py +0 -0
  146. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/interpreter.py +0 -0
  147. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/llm_friendly_package_example.py +0 -0
  148. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/llm_friendly_package_test.py +0 -0
  149. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/mcp_hub.py +0 -0
  150. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/mcp_server.py +0 -0
  151. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/mcp_server_install.py +0 -0
  152. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/mcp_server_types.py +0 -0
  153. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  154. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
  155. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
  156. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/mcp_tools.py +0 -0
  157. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/memory_manager.py +0 -0
  158. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/model_speed_tester.py +0 -0
  159. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/openai_content.py +0 -0
  160. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/printer.py +0 -0
  161. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/recall_validation.py +0 -0
  162. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/result_manager.py +0 -0
  163. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/rulefiles/__init__.py +0 -0
  164. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/rulefiles/autocoderrules_utils.py +0 -0
  165. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/run_cmd.py +0 -0
  166. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/save_formatted_log.py +0 -0
  167. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/screenshots.py +0 -0
  168. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/search.py +0 -0
  169. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/search_replace.py +0 -0
  170. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/shells.py +0 -0
  171. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/stats_panel.py +0 -0
  172. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/stream_out_type.py +0 -0
  173. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/sys_prompt.py +0 -0
  174. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/test_run_cmd.py +0 -0
  175. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/text.py +0 -0
  176. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/token_cost_caculate.py +0 -0
  177. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/types.py +0 -0
  178. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  179. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/__init__.py +0 -0
  180. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/__init__.py +0 -0
  181. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +0 -0
  182. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py +0 -0
  183. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +0 -0
  184. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py +0 -0
  185. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +0 -0
  186. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py +0 -0
  187. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +0 -0
  188. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/list_package_info_tool_resolver.py +0 -0
  189. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +0 -0
  190. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +0 -0
  191. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +0 -0
  192. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +0 -0
  193. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resolver.py +0 -0
  194. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py +0 -0
  195. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +0 -0
  196. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +0 -0
  197. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +0 -0
  198. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/agent/agentic_tool_display.py +0 -0
  199. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_agentic_editblock_manager.py +0 -0
  200. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_auto_generate.py +0 -0
  201. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_auto_generate_diff.py +0 -0
  202. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_auto_generate_editblock.py +0 -0
  203. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_auto_generate_strict_diff.py +0 -0
  204. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_auto_merge.py +0 -0
  205. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_auto_merge_diff.py +0 -0
  206. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_auto_merge_editblock.py +0 -0
  207. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_auto_merge_strict_diff.py +0 -0
  208. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_diff_manager.py +0 -0
  209. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_editblock_manager.py +0 -0
  210. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_manager.py +0 -0
  211. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/common/v2/code_strict_diff_manager.py +0 -0
  212. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/__init__.py +0 -0
  213. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/base_compiler.py +0 -0
  214. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/compiler_config_api.py +0 -0
  215. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/compiler_config_manager.py +0 -0
  216. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/compiler_factory.py +0 -0
  217. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/java_compiler.py +0 -0
  218. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/models.py +0 -0
  219. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/normal_compiler.py +0 -0
  220. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/provided_compiler.py +0 -0
  221. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/python_compiler.py +0 -0
  222. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/reactjs_compiler.py +0 -0
  223. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/shadow_compiler.py +0 -0
  224. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/compilers/vue_compiler.py +0 -0
  225. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/data/byzerllm.md +0 -0
  226. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/data/tokenizer.json +0 -0
  227. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/db/__init__.py +0 -0
  228. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/db/store.py +0 -0
  229. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/dispacher/__init__.py +0 -0
  230. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/dispacher/actions/__init__.py +0 -0
  231. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/dispacher/actions/action.py +0 -0
  232. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/dispacher/actions/copilot.py +0 -0
  233. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  234. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  235. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/events/__init__.py +0 -0
  236. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/events/event_content.py +0 -0
  237. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/events/event_manager.py +0 -0
  238. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/events/event_manager_singleton.py +0 -0
  239. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/events/event_store.py +0 -0
  240. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/events/event_types.py +0 -0
  241. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/helper/__init__.py +0 -0
  242. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/helper/project_creator.py +0 -0
  243. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/helper/rag_doc_creator.py +0 -0
  244. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/__init__.py +0 -0
  245. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/entry.py +0 -0
  246. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/filter/__init__.py +0 -0
  247. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/filter/normal_filter.py +0 -0
  248. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/filter/quick_filter.py +0 -0
  249. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/for_command.py +0 -0
  250. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/index.py +0 -0
  251. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/symbols_utils.py +0 -0
  252. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/index/types.py +0 -0
  253. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/lang.py +0 -0
  254. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/__init__.py +0 -0
  255. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/base_linter.py +0 -0
  256. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/linter_factory.py +0 -0
  257. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/models.py +0 -0
  258. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/normal_linter.py +0 -0
  259. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/python_linter.py +0 -0
  260. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/reactjs_linter.py +0 -0
  261. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/shadow_linter.py +0 -0
  262. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/test_python_linter.py +0 -0
  263. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/test_reactjs_linter.py +0 -0
  264. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/test_vue_linter.py +0 -0
  265. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/linters/vue_linter.py +0 -0
  266. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/__init__.py +0 -0
  267. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/active_changes.py +0 -0
  268. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/active_context_manager.py +0 -0
  269. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/active_diagrams.py +0 -0
  270. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/active_documents.py +0 -0
  271. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/active_header.py +0 -0
  272. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/active_package.py +0 -0
  273. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/async_processor.py +0 -0
  274. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/memory/directory_mapper.py +0 -0
  275. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/models.py +0 -0
  276. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/plugins/__init__.py +0 -0
  277. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
  278. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/plugins/git_helper_plugin.py +0 -0
  279. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/plugins/sample_plugin.py +0 -0
  280. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/plugins/token_helper_plugin.py +0 -0
  281. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/plugins/utils.py +0 -0
  282. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/privacy/__init__.py +0 -0
  283. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/privacy/model_filter.py +0 -0
  284. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/pyproject/__init__.py +0 -0
  285. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/__init__.py +0 -0
  286. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/agentic_rag.py +0 -0
  287. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/api_server.py +0 -0
  288. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/__init__.py +0 -0
  289. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/base_cache.py +0 -0
  290. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  291. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
  292. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/failed_files_utils.py +0 -0
  293. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  294. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
  295. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
  296. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
  297. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/cache/simple_cache.py +0 -0
  298. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/conversation_to_queries.py +0 -0
  299. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/doc_filter.py +0 -0
  300. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/document_retriever.py +0 -0
  301. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/lang.py +0 -0
  302. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/llm_wrapper.py +0 -0
  303. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/loaders/__init__.py +0 -0
  304. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  305. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  306. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/loaders/filter_utils.py +0 -0
  307. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/loaders/image_loader.py +0 -0
  308. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  309. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  310. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/long_context_rag.py +0 -0
  311. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
  312. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/rag_config.py +0 -0
  313. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/rag_entry.py +0 -0
  314. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/relevant_utils.py +0 -0
  315. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/searchable.py +0 -0
  316. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/stream_event/__init__.py +0 -0
  317. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  318. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/stream_event/types.py +0 -0
  319. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/test_doc_filter.py +0 -0
  320. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/test_long_context_rag.py +0 -0
  321. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/test_token_limiter.py +0 -0
  322. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/token_checker.py +0 -0
  323. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/token_counter.py +0 -0
  324. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/token_limiter.py +0 -0
  325. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/token_limiter_utils.py +0 -0
  326. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/tools/__init__.py +0 -0
  327. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/tools/recall_tool.py +0 -0
  328. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/tools/search_tool.py +0 -0
  329. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/types.py +0 -0
  330. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/utils.py +0 -0
  331. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/rag/variable_holder.py +0 -0
  332. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/regexproject/__init__.py +0 -0
  333. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/run_context.py +0 -0
  334. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/shadows/__init__.py +0 -0
  335. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/shadows/shadow_manager.py +0 -0
  336. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/suffixproject/__init__.py +0 -0
  337. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/tsproject/__init__.py +0 -0
  338. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/__init__.py +0 -0
  339. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/_markitdown.py +0 -0
  340. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
  341. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  342. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/auto_project_type.py +0 -0
  343. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  344. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/conversation_store.py +0 -0
  345. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  346. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/llms.py +0 -0
  347. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/log_capture.py +0 -0
  348. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/model_provider_selector.py +0 -0
  349. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/multi_turn.py +0 -0
  350. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/operate_config_api.py +0 -0
  351. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/print_table.py +0 -0
  352. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/project_structure.py +0 -0
  353. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/queue_communicate.py +0 -0
  354. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/request_event_queue.py +0 -0
  355. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/request_queue.py +0 -0
  356. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/rest.py +0 -0
  357. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/stream_thinking.py +0 -0
  358. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/thread_utils.py +0 -0
  359. {auto_coder-0.1.392 → auto_coder-0.1.395}/src/autocoder/utils/types.py +0 -0
  360. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_action_regex_project.py +0 -0
  361. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_action_yml_file_manager.py +0 -0
  362. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_chat_auto_coder.py +0 -0
  363. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_code_auto_merge_editblock.py +0 -0
  364. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_command_completer.py +0 -0
  365. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_planner.py +0 -0
  366. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_plugins.py +0 -0
  367. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_privacy.py +0 -0
  368. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_queue_communicate.py +0 -0
  369. {auto_coder-0.1.392 → auto_coder-0.1.395}/tests/test_symbols_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.392
3
+ Version: 0.1.395
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.392
3
+ Version: 0.1.395
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -19,6 +19,7 @@ src/autocoder/command_args.py
19
19
  src/autocoder/command_parser.py
20
20
  src/autocoder/lang.py
21
21
  src/autocoder/models.py
22
+ src/autocoder/rags.py
22
23
  src/autocoder/run_context.py
23
24
  src/autocoder/version.py
24
25
  src/autocoder/agent/__init__.py
@@ -167,6 +168,8 @@ src/autocoder/common/ignorefiles/test_ignore_file_utils.py
167
168
  src/autocoder/common/mcp_servers/__init__.py
168
169
  src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py
169
170
  src/autocoder/common/mcp_servers/mcp_server_perplexity.py
171
+ src/autocoder/common/rag_manager/__init__.py
172
+ src/autocoder/common/rag_manager/rag_manager.py
170
173
  src/autocoder/common/rulefiles/__init__.py
171
174
  src/autocoder/common/rulefiles/autocoderrules_utils.py
172
175
  src/autocoder/common/v2/__init__.py
@@ -204,6 +207,7 @@ src/autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resol
204
207
  src/autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py
205
208
  src/autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py
206
209
  src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py
210
+ src/autocoder/common/v2/agent/agentic_edit_tools/use_rag_tool_resolver.py
207
211
  src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py
208
212
  src/autocoder/compilers/__init__.py
209
213
  src/autocoder/compilers/base_compiler.py
@@ -21,15 +21,7 @@ class ExecuteCommandToolResolver(BaseToolResolver):
21
21
  def resolve(self) -> ToolResult:
22
22
  command = self.tool.command
23
23
  requires_approval = self.tool.requires_approval
24
- source_dir = self.args.source_dir or "."
25
-
26
- # Basic security check (can be expanded)
27
- if ";" in command or "&&" in command or "|" in command or "`" in command:
28
- # Allow && for cd chaining, but be cautious
29
- if not command.strip().startswith("cd ") and " && " in command:
30
- pass # Allow cd chaining like 'cd subdir && command'
31
- else:
32
- return ToolResult(success=False, message=f"Command '{command}' contains potentially unsafe characters.")
24
+ source_dir = self.args.source_dir or "."
33
25
 
34
26
  # Approval mechanism (simplified)
35
27
  if requires_approval:
@@ -35,6 +35,7 @@ import pkg_resources
35
35
  from autocoder.rag.token_counter import TokenCounter
36
36
  from autocoder.rag.types import RAGServiceInfo
37
37
  from autocoder.version import __version__
38
+ from autocoder.rags import get_rag_config
38
39
 
39
40
  if platform.system() == "Windows":
40
41
  from colorama import init
@@ -169,6 +170,40 @@ def initialize_system(args):
169
170
  print_status(get_message("init_complete_final"), "success")
170
171
 
171
172
 
173
+ def merge_args_with_config(args, config, arg_class, parser):
174
+ """
175
+ 合并命令行参数和配置文件参数,优先级如下:
176
+ 1. 命令行参数非默认值,以命令行为准
177
+ 2. 命令行参数为默认值,且配置文件有值,以配置文件为准
178
+ 3. 否则用命令行参数
179
+ """
180
+ merged = {}
181
+ for arg in vars(arg_class()):
182
+ # 获取默认值
183
+ try:
184
+ default = parser.get_default(arg)
185
+ except Exception:
186
+ default = None
187
+
188
+
189
+ if not hasattr(args,arg) and arg not in config:
190
+ continue
191
+
192
+ cli_value = getattr(args, arg, None)
193
+ config_value = config.get(arg, None)
194
+
195
+
196
+ # 判断优先级
197
+ if cli_value != default:
198
+ merged[arg] = cli_value
199
+ elif config_value is not None:
200
+ merged[arg] = config_value
201
+ else:
202
+ merged[arg] = cli_value
203
+
204
+ return arg_class(**merged)
205
+
206
+
172
207
  def main(input_args: Optional[List[str]] = None):
173
208
  print(
174
209
  f"""
@@ -297,6 +332,7 @@ def main(input_args: Optional[List[str]] = None):
297
332
  serve_parser.add_argument("--source_dir", default=".", help="")
298
333
  serve_parser.add_argument("--host", default="", help="")
299
334
  serve_parser.add_argument("--port", type=int, default=8000, help="")
335
+ serve_parser.add_argument("--name", default="", help="RAG服务的名称(可选)")
300
336
  serve_parser.add_argument("--workers", type=int, default=4, help="")
301
337
  serve_parser.add_argument("--uvicorn_log_level", default="info", help="")
302
338
  serve_parser.add_argument("--allow_credentials", action="store_true", help="")
@@ -565,29 +601,40 @@ def main(input_args: Optional[List[str]] = None):
565
601
  benchmark_byzerllm(args.model, args.parallel, args.rounds, args.query)
566
602
 
567
603
  elif args.command == "serve":
568
- # Handle lite/pro flags
569
- if args.lite:
570
- args.product_mode = "lite"
571
- elif args.pro:
604
+ # 如果用户传递了 --name 参数,则加载已保存的配置并与命令行参数合并
605
+ server_args_config = {}
606
+ auto_coder_args_config = {}
607
+ if args.name:
608
+ saved_config = get_rag_config(args.name)
609
+ if saved_config:
610
+ logger.info(f"加载已保存的RAG配置: {args.name}")
611
+ # 将保存的配置合并到 args 中(命令行参数优先)
612
+ for key, value in saved_config.items():
613
+ # 跳过一些不应该被合并的字段
614
+ skip_fields = {'name', 'status', 'created_at', 'updated_at', 'process_id', 'stdout_fd', 'stderr_fd', 'cache_build_task_id'}
615
+ if key in skip_fields:
616
+ continue
617
+ server_args_config[key] = value
618
+ # 特殊处理 infer_params 字段
619
+ if 'infer_params' in saved_config and saved_config['infer_params']:
620
+ for infer_key, infer_value in saved_config['infer_params'].items():
621
+ auto_coder_args_config[infer_key] = infer_value
622
+ logger.info(f"配置合并完成,使用文档目录: {getattr(args, 'doc_dir', 'N/A')}")
623
+ else:
624
+ logger.warning(f"未找到名为 '{args.name}' 的RAG配置")
625
+
626
+ # Handle lite/pro flags
627
+ if args.pro:
572
628
  args.product_mode = "pro"
573
-
629
+ else:
630
+ args.product_mode = "lite"
631
+
574
632
  if not args.quick:
575
633
  initialize_system(args)
576
-
577
- server_args = ServerArgs(
578
- **{
579
- arg: getattr(args, arg)
580
- for arg in vars(ServerArgs())
581
- if hasattr(args, arg)
582
- }
583
- )
584
- auto_coder_args = AutoCoderArgs(
585
- **{
586
- arg: getattr(args, arg)
587
- for arg in vars(AutoCoderArgs())
588
- if hasattr(args, arg)
589
- }
590
- )
634
+
635
+ # 使用新的合并逻辑
636
+ server_args = merge_args_with_config(args, server_args_config, ServerArgs, serve_parser)
637
+ auto_coder_args = merge_args_with_config(args, server_args_config, AutoCoderArgs, serve_parser)
591
638
  # 设置本地图床的地址
592
639
  if args.enable_local_image_host:
593
640
  host = server_args.host or "127.0.0.1"
@@ -178,6 +178,41 @@ class LLMFriendlyPackageManager:
178
178
 
179
179
  return docs
180
180
 
181
+ def get_package_path(self, package_name: str) -> Optional[str]:
182
+ """
183
+ Get the full path of a package by its name
184
+
185
+ Args:
186
+ package_name: Package name (can be just lib_name or username/lib_name)
187
+
188
+ Returns:
189
+ Full path to the package directory, or None if not found
190
+ """
191
+ if not os.path.exists(self.llm_friendly_packages_dir):
192
+ return None
193
+
194
+ for domain in os.listdir(self.llm_friendly_packages_dir):
195
+ domain_path = os.path.join(self.llm_friendly_packages_dir, domain)
196
+ if not os.path.isdir(domain_path):
197
+ continue
198
+
199
+ for username in os.listdir(domain_path):
200
+ username_path = os.path.join(domain_path, username)
201
+ if not os.path.isdir(username_path):
202
+ continue
203
+
204
+ for lib_name in os.listdir(username_path):
205
+ lib_path = os.path.join(username_path, lib_name)
206
+ if not os.path.isdir(lib_path):
207
+ continue
208
+
209
+ # Check if this matches the requested package
210
+ if (lib_name == package_name or
211
+ package_name == os.path.join(username, lib_name)):
212
+ return lib_path
213
+
214
+ return None
215
+
181
216
  def list_added_libraries(self) -> List[str]:
182
217
  """List all added libraries"""
183
218
  memory = self._load_memory()
@@ -405,6 +440,4 @@ class LLMFriendlyPackageManager:
405
440
  table.add_column("File Path", style="cyan")
406
441
 
407
442
  for doc in docs:
408
- table.add_row(doc)
409
-
410
- self.console.print(table)
443
+ table.add_row(doc)
@@ -0,0 +1,4 @@
1
+ # flake8: noqa
2
+ from .rag_manager import RAGManager
3
+
4
+ __all__ = ["RAGManager"]
@@ -0,0 +1,144 @@
1
+ import os
2
+ import json
3
+ from typing import List, Dict, Any, Optional
4
+ from pydantic import BaseModel
5
+ from autocoder.common import AutoCoderArgs
6
+ from loguru import logger
7
+
8
+
9
+ class RAGConfig(BaseModel):
10
+ """RAG 配置项模型"""
11
+ name: str
12
+ server_name: str # 实际的服务器地址,如 http://127.0.0.1:8107/v1
13
+ api_key: Optional[str] = None
14
+ description: Optional[str] = None
15
+
16
+
17
+ class RAGManager:
18
+ """RAG 管理器,用于读取和管理 RAG 服务器配置"""
19
+
20
+ def __init__(self, args: AutoCoderArgs):
21
+ self.args = args
22
+ self.configs: List[RAGConfig] = []
23
+ self._load_configs()
24
+
25
+ def _load_configs(self):
26
+ """加载 RAG 配置,优先从项目配置,然后从全局配置"""
27
+ # 优先读取项目级别配置
28
+ project_config_path = os.path.join(
29
+ self.args.source_dir,
30
+ ".auto-coder",
31
+ "auto-coder.web",
32
+ "rags",
33
+ "rags.json"
34
+ )
35
+
36
+ if os.path.exists(project_config_path):
37
+ logger.info(f"正在加载项目级别 RAG 配置: {project_config_path}")
38
+ self._load_project_config(project_config_path)
39
+ else:
40
+ logger.info("未找到项目级别 RAG 配置,尝试加载全局配置")
41
+ # 读取全局配置
42
+ global_config_path = os.path.expanduser("~/.auto-coder/keys/rags.json")
43
+ if os.path.exists(global_config_path):
44
+ logger.info(f"正在加载全局 RAG 配置: {global_config_path}")
45
+ self._load_global_config(global_config_path)
46
+ else:
47
+ logger.warning("未找到任何 RAG 配置文件")
48
+
49
+ def _load_project_config(self, config_path: str):
50
+ """加载项目级别的 RAG 配置"""
51
+ try:
52
+ with open(config_path, 'r', encoding='utf-8') as f:
53
+ config_data = json.load(f)
54
+
55
+ if "data" in config_data and isinstance(config_data["data"], list):
56
+ for item in config_data["data"]:
57
+ try:
58
+ rag_config = RAGConfig(
59
+ name=item.get("name", ""),
60
+ server_name=item.get("base_url", ""),
61
+ api_key=item.get("api_key"),
62
+ description=item.get("description")
63
+ )
64
+ self.configs.append(rag_config)
65
+ logger.info(f"已加载 RAG 配置: {rag_config.name} -> {rag_config.server_name}")
66
+ except Exception as e:
67
+ logger.error(f"解析项目级别 RAG 配置项时出错: {e}, 配置项: {item}")
68
+ else:
69
+ logger.error(f"项目级别 RAG 配置格式错误,缺少 'data' 字段或 'data' 不是列表")
70
+
71
+ except json.JSONDecodeError as e:
72
+ logger.error(f"项目级别 RAG 配置文件 JSON 格式错误: {e}")
73
+ except Exception as e:
74
+ logger.error(f"读取项目级别 RAG 配置文件时出错: {e}")
75
+
76
+ def _load_global_config(self, config_path: str):
77
+ """加载全局级别的 RAG 配置"""
78
+ try:
79
+ with open(config_path, 'r', encoding='utf-8') as f:
80
+ config_data = json.load(f)
81
+
82
+ for key, item in config_data.items():
83
+ try:
84
+ # 构造 server_name: http://host:port/v1
85
+ host = item.get("host", "127.0.0.1")
86
+ port = item.get("port", 8080)
87
+ server_name = f"http://{host}:{port}/v1"
88
+
89
+ rag_config = RAGConfig(
90
+ name=item.get("name", key),
91
+ server_name=server_name,
92
+ api_key=None, # 全局配置中没有 api_key
93
+ description=item.get("description", f"{key} RAG 服务")
94
+ )
95
+ self.configs.append(rag_config)
96
+ logger.info(f"已加载 RAG 配置: {rag_config.name} -> {rag_config.server_name}")
97
+ except Exception as e:
98
+ logger.error(f"解析全局 RAG 配置项时出错: {e}, 配置项: {item}")
99
+
100
+ except json.JSONDecodeError as e:
101
+ logger.error(f"全局 RAG 配置文件 JSON 格式错误: {e}")
102
+ except Exception as e:
103
+ logger.error(f"读取全局 RAG 配置文件时出错: {e}")
104
+
105
+ def get_all_configs(self) -> List[RAGConfig]:
106
+ """获取所有 RAG 配置"""
107
+ return self.configs
108
+
109
+ def get_config_by_name(self, name: str) -> Optional[RAGConfig]:
110
+ """根据名称获取特定的 RAG 配置"""
111
+ for config in self.configs:
112
+ if config.name == name:
113
+ return config
114
+ return None
115
+
116
+ def get_server_names(self) -> List[str]:
117
+ """获取所有服务器名称列表"""
118
+ return [config.server_name for config in self.configs]
119
+
120
+ def get_config_info(self) -> str:
121
+ """获取格式化的配置信息,用于显示"""
122
+ if not self.configs:
123
+ return "未找到可用的 RAG 服务器配置"
124
+
125
+ info_lines = []
126
+ info_lines.append("可用的 RAG 服务器配置")
127
+
128
+ for i, config in enumerate(self.configs, 1):
129
+ info_lines.append(f"\n{i}. 配置名称: {config.name}")
130
+ info_lines.append(f" 服务器地址: {config.server_name}")
131
+
132
+ if config.description:
133
+ info_lines.append(f" 描述信息: {config.description}")
134
+ else:
135
+ info_lines.append(f" 描述信息: 无")
136
+
137
+ if i < len(self.configs):
138
+ info_lines.append("-" * 30)
139
+
140
+ return "\n".join(info_lines)
141
+
142
+ def has_configs(self) -> bool:
143
+ """检查是否有可用的配置"""
144
+ return len(self.configs) > 0