auto-coder 0.1.298__tar.gz → 0.1.299__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 (201) hide show
  1. {auto_coder-0.1.298 → auto_coder-0.1.299}/PKG-INFO +2 -2
  2. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/auto_coder.egg-info/PKG-INFO +2 -2
  3. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/auto_coder.egg-info/requires.txt +1 -1
  4. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +111 -17
  5. auto_coder-0.1.299/src/autocoder/version.py +1 -0
  6. auto_coder-0.1.298/src/autocoder/version.py +0 -1
  7. {auto_coder-0.1.298 → auto_coder-0.1.299}/LICENSE +0 -0
  8. {auto_coder-0.1.298 → auto_coder-0.1.299}/README.md +0 -0
  9. {auto_coder-0.1.298 → auto_coder-0.1.299}/setup.cfg +0 -0
  10. {auto_coder-0.1.298 → auto_coder-0.1.299}/setup.py +0 -0
  11. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/auto_coder.egg-info/SOURCES.txt +0 -0
  12. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  13. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/auto_coder.egg-info/entry_points.txt +0 -0
  14. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/auto_coder.egg-info/top_level.txt +0 -0
  15. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/__init__.py +0 -0
  16. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/__init__.py +0 -0
  17. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  18. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/auto_filegroup.py +0 -0
  19. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/auto_guess_query.py +0 -0
  20. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
  21. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/auto_review_commit.py +0 -0
  22. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/auto_tool.py +0 -0
  23. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/coder.py +0 -0
  24. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/designer.py +0 -0
  25. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/planner.py +0 -0
  26. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/agent/project_reader.py +0 -0
  27. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/auto_coder.py +0 -0
  28. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/auto_coder_rag.py +0 -0
  29. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/auto_coder_runner.py +0 -0
  30. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/auto_coder_server.py +0 -0
  31. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/benchmark.py +0 -0
  32. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/chat/__init__.py +0 -0
  33. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/chat_auto_coder.py +0 -0
  34. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/chat_auto_coder_lang.py +0 -0
  35. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/command_args.py +0 -0
  36. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/commands/__init__.py +0 -0
  37. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/commands/auto_command.py +0 -0
  38. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/commands/auto_web.py +0 -0
  39. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/commands/tools.py +0 -0
  40. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/JupyterClient.py +0 -0
  41. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/ShellClient.py +0 -0
  42. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/__init__.py +0 -0
  43. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/anything2images.py +0 -0
  44. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/anything2img.py +0 -0
  45. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/audio.py +0 -0
  46. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/auto_coder_lang.py +0 -0
  47. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/auto_configure.py +0 -0
  48. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/buildin_tokenizer.py +0 -0
  49. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/chunk_validation.py +0 -0
  50. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/cleaner.py +0 -0
  51. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_execute.py +0 -0
  52. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_generate.py +0 -0
  53. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  54. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  55. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  56. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_merge.py +0 -0
  57. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_merge_diff.py +0 -0
  58. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
  59. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
  60. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/code_modification_ranker.py +0 -0
  61. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/command_completer.py +0 -0
  62. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/command_generator.py +0 -0
  63. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/command_templates.py +0 -0
  64. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/computer_use.py +0 -0
  65. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/conf_import_export.py +0 -0
  66. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/conf_validator.py +0 -0
  67. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/const.py +0 -0
  68. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/context_pruner.py +0 -0
  69. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/conversation_pruner.py +0 -0
  70. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/files.py +0 -0
  71. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/git_utils.py +0 -0
  72. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/global_cancel.py +0 -0
  73. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/image_to_page.py +0 -0
  74. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/index_import_export.py +0 -0
  75. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/interpreter.py +0 -0
  76. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/llm_rerank.py +0 -0
  77. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/mcp_hub.py +0 -0
  78. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/mcp_server.py +0 -0
  79. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  80. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
  81. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
  82. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/mcp_tools.py +0 -0
  83. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/memory_manager.py +0 -0
  84. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/model_speed_test.py +0 -0
  85. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/printer.py +0 -0
  86. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/recall_validation.py +0 -0
  87. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/result_manager.py +0 -0
  88. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/screenshots.py +0 -0
  89. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/search.py +0 -0
  90. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/search_replace.py +0 -0
  91. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/shells.py +0 -0
  92. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/stats_panel.py +0 -0
  93. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/sys_prompt.py +0 -0
  94. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/text.py +0 -0
  95. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/types.py +0 -0
  96. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  97. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/data/byzerllm.md +0 -0
  98. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/data/tokenizer.json +0 -0
  99. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/db/__init__.py +0 -0
  100. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/db/store.py +0 -0
  101. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/dispacher/__init__.py +0 -0
  102. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/dispacher/actions/__init__.py +0 -0
  103. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/dispacher/actions/action.py +0 -0
  104. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/dispacher/actions/copilot.py +0 -0
  105. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  106. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  107. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/dispacher/actions/plugins/action_translate.py +0 -0
  108. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/__init__.py +0 -0
  109. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/entry.py +0 -0
  110. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/filter/__init__.py +0 -0
  111. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/filter/normal_filter.py +0 -0
  112. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/filter/quick_filter.py +0 -0
  113. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/for_command.py +0 -0
  114. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/index.py +0 -0
  115. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/symbols_utils.py +0 -0
  116. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/index/types.py +0 -0
  117. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/lang.py +0 -0
  118. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/models.py +0 -0
  119. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/plugins/__init__.py +0 -0
  120. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
  121. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/plugins/git_helper_plugin.py +0 -0
  122. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/plugins/sample_plugin.py +0 -0
  123. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/plugins/token_helper_plugin.py +0 -0
  124. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/plugins/utils.py +0 -0
  125. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/privacy/__init__.py +0 -0
  126. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/privacy/model_filter.py +0 -0
  127. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/pyproject/__init__.py +0 -0
  128. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/__init__.py +0 -0
  129. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/api_server.py +0 -0
  130. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/__init__.py +0 -0
  131. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/base_cache.py +0 -0
  132. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  133. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
  134. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  135. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
  136. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
  137. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/cache/simple_cache.py +0 -0
  138. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/conversation_to_queries.py +0 -0
  139. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/doc_filter.py +0 -0
  140. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/document_retriever.py +0 -0
  141. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/lang.py +0 -0
  142. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/llm_wrapper.py +0 -0
  143. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/loaders/__init__.py +0 -0
  144. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  145. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  146. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  147. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  148. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/long_context_rag.py +0 -0
  149. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
  150. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/rag_config.py +0 -0
  151. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/rag_entry.py +0 -0
  152. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/raw_rag.py +0 -0
  153. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/relevant_utils.py +0 -0
  154. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/searchable.py +0 -0
  155. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/simple_directory_reader.py +0 -0
  156. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/simple_rag.py +0 -0
  157. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/stream_event/__init__.py +0 -0
  158. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  159. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/stream_event/types.py +0 -0
  160. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/token_checker.py +0 -0
  161. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/token_counter.py +0 -0
  162. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/token_limiter.py +0 -0
  163. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/token_limiter_utils.py +0 -0
  164. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/types.py +0 -0
  165. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/utils.py +0 -0
  166. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/rag/variable_holder.py +0 -0
  167. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/regexproject/__init__.py +0 -0
  168. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/suffixproject/__init__.py +0 -0
  169. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/tsproject/__init__.py +0 -0
  170. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/__init__.py +0 -0
  171. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/_markitdown.py +0 -0
  172. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
  173. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  174. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/auto_project_type.py +0 -0
  175. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  176. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/conversation_store.py +0 -0
  177. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  178. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/llms.py +0 -0
  179. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/log_capture.py +0 -0
  180. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/model_provider_selector.py +0 -0
  181. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/multi_turn.py +0 -0
  182. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/operate_config_api.py +0 -0
  183. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/print_table.py +0 -0
  184. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/project_structure.py +0 -0
  185. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/queue_communicate.py +0 -0
  186. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/request_event_queue.py +0 -0
  187. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/request_queue.py +0 -0
  188. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/rest.py +0 -0
  189. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/stream_thinking.py +0 -0
  190. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/tests.py +0 -0
  191. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/thread_utils.py +0 -0
  192. {auto_coder-0.1.298 → auto_coder-0.1.299}/src/autocoder/utils/types.py +0 -0
  193. {auto_coder-0.1.298 → auto_coder-0.1.299}/tests/test_action_regex_project.py +0 -0
  194. {auto_coder-0.1.298 → auto_coder-0.1.299}/tests/test_chat_auto_coder.py +0 -0
  195. {auto_coder-0.1.298 → auto_coder-0.1.299}/tests/test_code_auto_merge_editblock.py +0 -0
  196. {auto_coder-0.1.298 → auto_coder-0.1.299}/tests/test_command_completer.py +0 -0
  197. {auto_coder-0.1.298 → auto_coder-0.1.299}/tests/test_planner.py +0 -0
  198. {auto_coder-0.1.298 → auto_coder-0.1.299}/tests/test_plugins.py +0 -0
  199. {auto_coder-0.1.298 → auto_coder-0.1.299}/tests/test_privacy.py +0 -0
  200. {auto_coder-0.1.298 → auto_coder-0.1.299}/tests/test_queue_communicate.py +0 -0
  201. {auto_coder-0.1.298 → auto_coder-0.1.299}/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.298
3
+ Version: 0.1.299
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -27,7 +27,7 @@ Requires-Dist: jupyter_client
27
27
  Requires-Dist: prompt-toolkit
28
28
  Requires-Dist: tokenizers
29
29
  Requires-Dist: aiofiles
30
- Requires-Dist: byzerllm[saas]>=0.1.176
30
+ Requires-Dist: byzerllm[saas]>=0.1.177
31
31
  Requires-Dist: patch
32
32
  Requires-Dist: diff_match_patch
33
33
  Requires-Dist: GitPython
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.298
3
+ Version: 0.1.299
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -27,7 +27,7 @@ Requires-Dist: jupyter_client
27
27
  Requires-Dist: prompt-toolkit
28
28
  Requires-Dist: tokenizers
29
29
  Requires-Dist: aiofiles
30
- Requires-Dist: byzerllm[saas]>=0.1.176
30
+ Requires-Dist: byzerllm[saas]>=0.1.177
31
31
  Requires-Dist: patch
32
32
  Requires-Dist: diff_match_patch
33
33
  Requires-Dist: GitPython
@@ -17,7 +17,7 @@ jupyter_client
17
17
  prompt-toolkit
18
18
  tokenizers
19
19
  aiofiles
20
- byzerllm[saas]>=0.1.176
20
+ byzerllm[saas]>=0.1.177
21
21
  patch
22
22
  diff_match_patch
23
23
  GitPython
@@ -652,40 +652,68 @@ class LocalDuckDBStorageCache(BaseCacheManager):
652
652
 
653
653
  return all_files
654
654
 
655
- def get_cache(self, options: Optional[Dict[str, Any]] = None) -> Dict[str, Dict]:
656
- """Search cached documents using query"""
657
- self.trigger_update() # 检查更新
658
-
659
- if options is None or "queries" not in options:
660
- return {file_path: self.cache[file_path].model_dump() for file_path in self.cache}
661
-
662
- queries = options.get("queries", "")
663
- query = queries[0]
655
+ def _get_single_cache(self, query: str, options: Dict[str, Any]) -> List[Dict[str, Any]]:
656
+ """
657
+ 使用单个查询检索缓存文档
658
+
659
+ 参数:
660
+ query: 查询字符串
661
+ options: 包含查询选项的字典
662
+
663
+ 返回:
664
+ 包含文档信息的字典列表,每个字典包含_id、file_path、mtime和score字段
665
+ """
664
666
  logger.info(f"正在使用向量搜索检索数据, 你的问题: {query}")
665
- total_tokens = 0
666
667
  results = []
667
668
 
668
669
  # Add vector search if enabled
669
670
  if options.get("enable_vector_search", True):
670
671
  # 返回值包含 [(_id, file_path, mtime, score,),]
671
- # results = self.storage.vector_search(query, similarity_value=0.7, similarity_top_k=200)
672
672
  search_results = self.storage.vector_search(
673
673
  query,
674
674
  similarity_value=self.extra_params.rag_duckdb_query_similarity,
675
675
  similarity_top_k=self.extra_params.rag_duckdb_query_top_k,
676
676
  query_dim=self.extra_params.rag_duckdb_vector_dim
677
677
  )
678
- results.extend(search_results)
679
-
678
+
679
+ # Convert tuples to dictionaries for the merger
680
+ for _id, file_path, mtime, score in search_results:
681
+ results.append({
682
+ "_id": _id,
683
+ "file_path": file_path,
684
+ "mtime": mtime,
685
+ "score": score
686
+ })
687
+
688
+ logger.info(f"查询 '{query}' 返回 {len(results)} 条记录")
689
+ return results
690
+
691
+ def _process_search_results(self, results: List[Dict[str, Any]]) -> Dict[str, Dict]:
692
+ """
693
+ 处理搜索结果,提取文件路径并构建结果字典
694
+
695
+ 参数:
696
+ results: 搜索结果列表,每项包含文档信息的字典
697
+
698
+ 返回:
699
+ 匹配文档的字典,键为文件路径,值为文件内容
700
+
701
+ 说明:
702
+ 该方法会根据查询结果从缓存中提取文件内容,并记录累计token数,
703
+ 当累计token数超过max_output_tokens时,将停止处理并返回已处理的结果。
704
+ """
705
+ # 记录被处理的总tokens数
706
+ total_tokens = 0
707
+
680
708
  # Group results by file_path and reconstruct documents while preserving order
681
709
  # 这里还可以有排序优化,综合考虑一篇内容出现的次数以及排序位置
682
710
  file_paths = []
683
711
  seen = set()
684
712
  for result in results:
685
- _id, _file_path, _mtime, _score = result
686
- if _file_path not in seen:
687
- seen.add(_file_path)
688
- file_paths.append(_file_path)
713
+ file_path = result["file_path"]
714
+ if file_path not in seen:
715
+ seen.add(file_path)
716
+ file_paths.append(file_path)
689
717
 
690
718
  # 从缓存中获取文件内容
691
719
  result = {}
@@ -706,3 +734,69 @@ class LocalDuckDBStorageCache(BaseCacheManager):
706
734
  f"累计tokens: {total_tokens}, "
707
735
  f"经过向量搜索共检索出 {len(result.keys())} 个文档, 共 {len(self.cache.keys())} 个文档")
708
736
  return result
737
+
738
+ def get_cache(self, options: Optional[Dict[str, Any]] = None) -> Dict[str, Dict]:
739
+ """
740
+ 获取缓存中的文档信息
741
+
742
+ 参数:
743
+ options: 包含查询参数的字典,可以包含以下键:
744
+ - queries: 查询列表,可以是单个查询或多个查询
745
+ - enable_vector_search: 是否启用向量搜索,默认为True
746
+ - merge_strategy: 多查询时的合并策略,默认为WEIGHTED_RANK
747
+ - max_results: 最大结果数,默认为None表示不限制
748
+
749
+ 返回:
750
+ 匹配文档的字典,键为文件路径,值为文件内容
751
+ """
752
+ self.trigger_update() # 检查更新
753
+
754
+ if options is None or "queries" not in options:
755
+ return {file_path: self.cache[file_path].model_dump() for file_path in self.cache}
756
+
757
+ queries = options.get("queries", [])
758
+
759
+ # 如果没有查询或只有一个查询,使用原来的方法
760
+ if not queries:
761
+ return {file_path: self.cache[file_path].model_dump() for file_path in self.cache}
762
+ elif len(queries) == 1:
763
+ results = self._get_single_cache(queries[0], options)
764
+ return self._process_search_results(results)
765
+
766
+ # 导入合并策略
767
+ from autocoder.rag.cache.cache_result_merge import CacheResultMerger, MergeStrategy
768
+
769
+ # 获取合并策略
770
+ merge_strategy_name = options.get("merge_strategy", MergeStrategy.WEIGHTED_RANK.value)
771
+ try:
772
+ merge_strategy = MergeStrategy(merge_strategy_name)
773
+ except ValueError:
774
+ logger.warning(f"未知的合并策略: {merge_strategy_name}, 使用默认策略 WEIGHTED_RANK")
775
+ merge_strategy = MergeStrategy.WEIGHTED_RANK
776
+
777
+ # 限制最大结果数
778
+ max_results = options.get("max_results", None)
779
+ merger = CacheResultMerger(max_results=max_results)
780
+
781
+ # 并发处理多个查询
782
+ logger.info(f"处理多查询请求,查询数量: {len(queries)}, 合并策略: {merge_strategy}")
783
+ query_results = []
784
+ with ThreadPoolExecutor(max_workers=min(len(queries), 10)) as executor:
785
+ future_to_query = {executor.submit(self._get_single_cache, query, options): query for query in queries}
786
+ for future in as_completed(future_to_query):
787
+ query = future_to_query[future]
788
+ try:
789
+ query_result = future.result()
790
+ logger.info(f"查询 '{query}' 返回 {len(query_result)} 条记录")
791
+ query_results.append((query, query_result))
792
+ except Exception as e:
793
+ logger.error(f"处理查询 '{query}' 时出错: {str(e)}")
794
+
795
+ logger.info(f"所有查询共返回 {sum(len(r) for _, r in query_results)} 条记录")
796
+
797
+ # 使用策略合并结果
798
+ merged_results = merger.merge(query_results, strategy=merge_strategy)
799
+ logger.info(f"合并后的结果共 {len(merged_results)} 条记录")
800
+
801
+ # 处理合并后的结果
802
+ return self._process_search_results(merged_results)
@@ -0,0 +1 @@
1
+ __version__ = "0.1.299"
@@ -1 +0,0 @@
1
- __version__ = "0.1.298"
File without changes
File without changes
File without changes
File without changes