auto-coder 0.1.266__tar.gz → 0.1.267__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 (180) hide show
  1. {auto_coder-0.1.266 → auto_coder-0.1.267}/PKG-INFO +1 -1
  2. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/auto_coder.egg-info/PKG-INFO +1 -1
  3. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/chat_auto_coder.py +41 -8
  4. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/commands/auto_command.py +28 -9
  5. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/auto_configure.py +4 -1
  6. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/entry.py +4 -3
  7. auto_coder-0.1.267/src/autocoder/version.py +1 -0
  8. auto_coder-0.1.266/src/autocoder/version.py +0 -1
  9. {auto_coder-0.1.266 → auto_coder-0.1.267}/LICENSE +0 -0
  10. {auto_coder-0.1.266 → auto_coder-0.1.267}/README.md +0 -0
  11. {auto_coder-0.1.266 → auto_coder-0.1.267}/setup.cfg +0 -0
  12. {auto_coder-0.1.266 → auto_coder-0.1.267}/setup.py +0 -0
  13. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/auto_coder.egg-info/SOURCES.txt +0 -0
  14. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  15. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/auto_coder.egg-info/entry_points.txt +0 -0
  16. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/auto_coder.egg-info/requires.txt +0 -0
  17. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/auto_coder.egg-info/top_level.txt +0 -0
  18. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/__init__.py +0 -0
  19. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/__init__.py +0 -0
  20. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  21. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/auto_filegroup.py +0 -0
  22. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/auto_guess_query.py +0 -0
  23. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/auto_review_commit.py +0 -0
  24. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/auto_tool.py +0 -0
  25. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/coder.py +0 -0
  26. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/designer.py +0 -0
  27. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/planner.py +0 -0
  28. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/agent/project_reader.py +0 -0
  29. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/auto_coder.py +0 -0
  30. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/auto_coder_rag.py +0 -0
  31. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/auto_coder_rag_client_mcp.py +0 -0
  32. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/auto_coder_rag_mcp.py +0 -0
  33. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/auto_coder_server.py +0 -0
  34. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/benchmark.py +0 -0
  35. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/chat/__init__.py +0 -0
  36. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/chat_auto_coder_lang.py +0 -0
  37. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/command_args.py +0 -0
  38. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/commands/__init__.py +0 -0
  39. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/commands/tools.py +0 -0
  40. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/JupyterClient.py +0 -0
  41. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/ShellClient.py +0 -0
  42. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/__init__.py +0 -0
  43. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/anything2images.py +0 -0
  44. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/anything2img.py +0 -0
  45. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/audio.py +0 -0
  46. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/auto_coder_lang.py +0 -0
  47. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/buildin_tokenizer.py +0 -0
  48. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/chunk_validation.py +0 -0
  49. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/cleaner.py +0 -0
  50. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_execute.py +0 -0
  51. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_generate.py +0 -0
  52. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  53. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  54. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  55. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_merge.py +0 -0
  56. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_merge_diff.py +0 -0
  57. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
  58. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
  59. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/code_modification_ranker.py +0 -0
  60. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/command_completer.py +0 -0
  61. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/command_generator.py +0 -0
  62. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/command_templates.py +0 -0
  63. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/conf_import_export.py +0 -0
  64. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/conf_validator.py +0 -0
  65. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/const.py +0 -0
  66. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/context_pruner.py +0 -0
  67. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/conversation_pruner.py +0 -0
  68. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/files.py +0 -0
  69. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/git_utils.py +0 -0
  70. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/global_cancel.py +0 -0
  71. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/image_to_page.py +0 -0
  72. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/index_import_export.py +0 -0
  73. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/interpreter.py +0 -0
  74. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/llm_rerank.py +0 -0
  75. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/mcp_hub.py +0 -0
  76. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/mcp_server.py +0 -0
  77. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  78. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
  79. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/mcp_tools.py +0 -0
  80. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/memory_manager.py +0 -0
  81. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/model_speed_test.py +0 -0
  82. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/printer.py +0 -0
  83. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/recall_validation.py +0 -0
  84. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/result_manager.py +0 -0
  85. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/screenshots.py +0 -0
  86. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/search.py +0 -0
  87. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/search_replace.py +0 -0
  88. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/shells.py +0 -0
  89. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/stats_panel.py +0 -0
  90. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/sys_prompt.py +0 -0
  91. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/text.py +0 -0
  92. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/types.py +0 -0
  93. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  94. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/data/byzerllm.md +0 -0
  95. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/data/tokenizer.json +0 -0
  96. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/db/__init__.py +0 -0
  97. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/db/store.py +0 -0
  98. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/dispacher/__init__.py +0 -0
  99. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/dispacher/actions/__init__.py +0 -0
  100. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/dispacher/actions/action.py +0 -0
  101. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/dispacher/actions/copilot.py +0 -0
  102. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  103. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  104. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/dispacher/actions/plugins/action_translate.py +0 -0
  105. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/__init__.py +0 -0
  106. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/filter/__init__.py +0 -0
  107. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/filter/normal_filter.py +0 -0
  108. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/filter/quick_filter.py +0 -0
  109. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/for_command.py +0 -0
  110. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/index.py +0 -0
  111. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/symbols_utils.py +0 -0
  112. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/index/types.py +0 -0
  113. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/lang.py +0 -0
  114. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/models.py +0 -0
  115. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/privacy/__init__.py +0 -0
  116. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/privacy/model_filter.py +0 -0
  117. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/pyproject/__init__.py +0 -0
  118. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/__init__.py +0 -0
  119. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/api_server.py +0 -0
  120. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/cache/__init__.py +0 -0
  121. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/cache/base_cache.py +0 -0
  122. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  123. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  124. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/cache/simple_cache.py +0 -0
  125. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/doc_filter.py +0 -0
  126. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/document_retriever.py +0 -0
  127. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/llm_wrapper.py +0 -0
  128. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/loaders/__init__.py +0 -0
  129. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  130. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  131. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  132. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  133. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/long_context_rag.py +0 -0
  134. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/rag_config.py +0 -0
  135. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/rag_entry.py +0 -0
  136. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/raw_rag.py +0 -0
  137. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/relevant_utils.py +0 -0
  138. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/simple_directory_reader.py +0 -0
  139. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/simple_rag.py +0 -0
  140. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/stream_event/__init__.py +0 -0
  141. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  142. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/stream_event/types.py +0 -0
  143. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/token_checker.py +0 -0
  144. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/token_counter.py +0 -0
  145. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/token_limiter.py +0 -0
  146. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/types.py +0 -0
  147. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/utils.py +0 -0
  148. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/rag/variable_holder.py +0 -0
  149. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/regexproject/__init__.py +0 -0
  150. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/suffixproject/__init__.py +0 -0
  151. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/tsproject/__init__.py +0 -0
  152. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/__init__.py +0 -0
  153. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/_markitdown.py +0 -0
  154. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
  155. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  156. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  157. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/conversation_store.py +0 -0
  158. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  159. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/llms.py +0 -0
  160. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/log_capture.py +0 -0
  161. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/model_provider_selector.py +0 -0
  162. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/multi_turn.py +0 -0
  163. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/operate_config_api.py +0 -0
  164. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/print_table.py +0 -0
  165. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/project_structure.py +0 -0
  166. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/queue_communicate.py +0 -0
  167. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/request_event_queue.py +0 -0
  168. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/request_queue.py +0 -0
  169. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/rest.py +0 -0
  170. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/tests.py +0 -0
  171. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/thread_utils.py +0 -0
  172. {auto_coder-0.1.266 → auto_coder-0.1.267}/src/autocoder/utils/types.py +0 -0
  173. {auto_coder-0.1.266 → auto_coder-0.1.267}/tests/test_action_regex_project.py +0 -0
  174. {auto_coder-0.1.266 → auto_coder-0.1.267}/tests/test_chat_auto_coder.py +0 -0
  175. {auto_coder-0.1.266 → auto_coder-0.1.267}/tests/test_code_auto_merge_editblock.py +0 -0
  176. {auto_coder-0.1.266 → auto_coder-0.1.267}/tests/test_command_completer.py +0 -0
  177. {auto_coder-0.1.266 → auto_coder-0.1.267}/tests/test_planner.py +0 -0
  178. {auto_coder-0.1.266 → auto_coder-0.1.267}/tests/test_privacy.py +0 -0
  179. {auto_coder-0.1.266 → auto_coder-0.1.267}/tests/test_queue_communicate.py +0 -0
  180. {auto_coder-0.1.266 → auto_coder-0.1.267}/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.266
3
+ Version: 0.1.267
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.266
3
+ Version: 0.1.267
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -133,8 +133,7 @@ commands = [
133
133
  "/index/build",
134
134
  "/index/export",
135
135
  "/index/import",
136
- "/exclude_dirs",
137
- "/exclude_files",
136
+ "/exclude_files",
138
137
  "/help",
139
138
  "/shell",
140
139
  "/voice_input",
@@ -148,6 +147,7 @@ commands = [
148
147
  "/auto",
149
148
  "/conf/export",
150
149
  "/conf/import",
150
+ "/exclude_dirs",
151
151
  ]
152
152
 
153
153
 
@@ -2284,10 +2284,44 @@ def exclude_dirs(dir_names: List[str]):
2284
2284
  save_memory()
2285
2285
  completer.refresh_files()
2286
2286
 
2287
- def exclude_files(file_patterns: List[str]):
2287
+ def exclude_files(query: str):
2288
2288
  result_manager = ResultManager()
2289
2289
  printer = Printer()
2290
- new_file_patterns = file_patterns
2290
+ if "/list" in query:
2291
+ query = query.replace("/list", "", 1).strip()
2292
+ existing_file_patterns = memory.get("exclude_files", [])
2293
+ console = Console()
2294
+ # 打印表格
2295
+ table = Table(title="Exclude Files")
2296
+ table.add_column("File Pattern")
2297
+ for file_pattern in existing_file_patterns:
2298
+ table.add_row(file_pattern)
2299
+ console.print(table)
2300
+ result_manager.add_result(content=f"Exclude files: {existing_file_patterns}",meta={
2301
+ "action": "exclude_files",
2302
+ "input": {
2303
+ "query": query
2304
+ }
2305
+ })
2306
+ return
2307
+
2308
+ if "/drop" in query:
2309
+ query = query.replace("/drop", "", 1).strip()
2310
+ existing_file_patterns = memory.get("exclude_files", [])
2311
+ existing_file_patterns.remove(query.strip())
2312
+ memory["exclude_files"] = existing_file_patterns
2313
+ save_memory()
2314
+ completer.refresh_files()
2315
+ result_manager.add_result(content=f"Dropped exclude files: {query}",meta={
2316
+ "action": "exclude_files",
2317
+ "input": {
2318
+ "query": query
2319
+ }
2320
+ })
2321
+ return
2322
+
2323
+ new_file_patterns = query.strip().split(",")
2324
+
2291
2325
  existing_file_patterns = memory.get("exclude_files", [])
2292
2326
  file_patterns_to_add = [f for f in new_file_patterns if f not in existing_file_patterns]
2293
2327
 
@@ -2383,7 +2417,7 @@ def help(query: str):
2383
2417
  args = get_final_config()
2384
2418
  product_mode = memory.get("product_mode", "lite")
2385
2419
  llm = get_single_llm(args.chat_model or args.model, product_mode=product_mode)
2386
- auto_config_tuner = ConfigAutoTuner(llm=llm, memory_config=MemoryConfig(memory=memory, save_memory_func=save_memory))
2420
+ auto_config_tuner = ConfigAutoTuner(args=args, llm=llm, memory_config=MemoryConfig(memory=memory, save_memory_func=save_memory))
2387
2421
  auto_config_tuner.tune(AutoConfigRequest(query=query))
2388
2422
 
2389
2423
  @run_in_raw_thread()
@@ -2924,9 +2958,8 @@ def main():
2924
2958
  exclude_dirs(dir_names)
2925
2959
 
2926
2960
  elif user_input.startswith("/exclude_files"):
2927
- file_patterns = user_input[len(
2928
- "/exclude_files"):].strip().split(",")
2929
- exclude_files(file_patterns)
2961
+ query = user_input[len("/exclude_files"):].strip()
2962
+ exclude_files(query)
2930
2963
 
2931
2964
  elif user_input.startswith("/ask"):
2932
2965
  query = user_input[len("/ask"):].strip()
@@ -302,8 +302,7 @@ class CommandAutoTuner:
302
302
  # 提取 JSON 并转换为 AutoCommandResponse
303
303
  try:
304
304
  response = to_model(content, AutoCommandResponse)
305
- if response.suggestions:
306
- print(response)
305
+ if response.suggestions:
307
306
  command = response.suggestions[0].command
308
307
  parameters = response.suggestions[0].parameters
309
308
  if parameters:
@@ -507,11 +506,21 @@ class CommandAutoTuner:
507
506
  如果你检测到用户的coding执行结果,缺少必要的文件修改,可以尝试使用该函数先添加文件再执行coding。
508
507
  </description>
509
508
  <usage>
510
- 该方法只有一个参数 args,args 是一个列表,列表的元素是字符串。会包含子指令,例如
511
-
512
- add_files(args=["/refresh"])
513
-
514
- 会刷新文件列表。下面是常见的子指令:
509
+ 该方法只有一个参数 args,args 是一个列表,列表的元素是字符串。
510
+
511
+ 如果没有包含子指令,单纯的添加文件,那么 args 列表的元素是文件路径,注意我们需要使用绝对路径。
512
+
513
+ 使用例子:
514
+
515
+ add_files(args=["/absolute/path/to/file1.py"])
516
+
517
+ 也支持glob 语法,例如:
518
+
519
+ add_files(args=["**/*.py"])
520
+
521
+ 这样会把项目根目录下的所有.py文件添加到活跃区,尽量确保少的添加文件。
522
+
523
+ 如果是有子指令,参考下面是常见的子指令说明。
515
524
 
516
525
  ## /refresh 刷新文件列表
517
526
  刷新文件列表
@@ -757,6 +766,8 @@ class CommandAutoTuner:
757
766
  coding(query="@auth.py 添加JWT认证")
758
767
  coding(query="@@login 优化错误处理")
759
768
  coding(query="<img>design/flow.png</img> 实现这个流程图的功能")
769
+
770
+ 在使用 coding 函数时,建议通过 ask_user 来确认是否执行 coding 函数,除非用户明确说不要询问,直接执行。
760
771
  </usage>
761
772
  </command>
762
773
 
@@ -1170,15 +1181,23 @@ class CommandAutoTuner:
1170
1181
  <name>exclude_files</name>
1171
1182
  <description>排除指定文件。</description>
1172
1183
  <usage>
1173
- 该命令接受一个参数 file_patterns, 为要排除的文件模式字符串列表。
1184
+ 该命令接受一个参数 query, 为要排除的文件模式字符串,多个文件模式用逗号分隔。
1174
1185
 
1175
1186
  使用例子,比如你想要排除 package-lock.json 文件,你可以这样调用:
1176
1187
 
1177
- exclude_files(file_patterns=["regex://.*/package-lock\.json"])
1188
+ exclude_files(query="regex://.*/package-lock\.json")
1178
1189
 
1179
1190
  注意:
1180
1191
  - 文件模式字符串必须以 regex:// 开头
1181
1192
  - regex:// 后面部分是标准的正则表达式
1193
+
1194
+ 也支持子命令:
1195
+ /list 列出当前排除的文件模式
1196
+ /drop 删除指定的文件模式
1197
+
1198
+ 使用例子:
1199
+ exclude_files(query="/list")
1200
+ exclude_files(query="/drop regex://.*/package-lock\.json")
1182
1201
  </usage>
1183
1202
  </command>
1184
1203
  </commands>
@@ -14,6 +14,8 @@ from byzerllm.utils.str2model import to_model
14
14
  from autocoder.utils.auto_coder_utils.chat_stream_out import stream_out
15
15
  from autocoder.common.result_manager import ResultManager
16
16
  from autocoder.utils import llms as llms_utils
17
+ from autocoder.common import AutoCoderArgs
18
+
17
19
  logger = logging.getLogger(__name__)
18
20
 
19
21
  class ConfigMessage(BaseModel):
@@ -120,9 +122,10 @@ class AutoConfigResponse(BaseModel):
120
122
  reasoning: str = ""
121
123
 
122
124
  class ConfigAutoTuner:
123
- def __init__(self, llm: Union[byzerllm.ByzerLLM, byzerllm.SimpleByzerLLM], memory_config: MemoryConfig):
125
+ def __init__(self,args: AutoCoderArgs, llm: Union[byzerllm.ByzerLLM, byzerllm.SimpleByzerLLM], memory_config: MemoryConfig):
124
126
  self.llm = llm
125
127
  self.memory_config = memory_config
128
+ self.args = args
126
129
 
127
130
 
128
131
  def configure(self, conf: str, skip_print: bool = False) -> None:
@@ -128,8 +128,9 @@ def build_index_and_filter_files(
128
128
  model_name = "unknown(without default model name)"
129
129
  printer.print_in_terminal("normal_filter_start", style="blue",model_name=model_name)
130
130
  normal_filter = NormalFilter(index_manager,stats,sources)
131
+ normal_filter_result = normal_filter.filter(index_manager.read_index(),args.query)
131
132
  # Merge normal filter results into final_files
132
- final_files.update(normal_filter.filter(index_manager.read_index(),args.query))
133
+ final_files.update(normal_filter_result.files)
133
134
 
134
135
 
135
136
  def display_table_and_get_selections(data):
@@ -212,7 +213,7 @@ def build_index_and_filter_files(
212
213
 
213
214
  # Phase 6: File selection and limitation
214
215
  printer.print_in_terminal("phase6_file_selection")
215
- phase_start = time.monotonic()
216
+ phase_start = time.monotonic()
216
217
 
217
218
  if args.index_filter_file_num > 0:
218
219
  logger.info(
@@ -278,7 +279,7 @@ def build_index_and_filter_files(
278
279
  event=CommunicateEvent(
279
280
  event_type=CommunicateEventType.CODE_INDEX_FILTER_FILE_SELECTED.value,
280
281
  data=json.dumps([
281
- (file.file_path, file.reason)
282
+ (file["file_path"], file.reason)
282
283
  for file in final_files.values()
283
284
  if file.file_path in depulicated_sources
284
285
  ])
@@ -0,0 +1 @@
1
+ __version__ = "0.1.267"
@@ -1 +0,0 @@
1
- __version__ = "0.1.266"
File without changes
File without changes
File without changes
File without changes