auto-coder 0.1.312__tar.gz → 0.1.313__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 (219) hide show
  1. {auto_coder-0.1.312 → auto_coder-0.1.313}/PKG-INFO +1 -1
  2. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/auto_coder.egg-info/PKG-INFO +1 -1
  3. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/commands/tools.py +94 -13
  4. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/action_yml_file_manager.py +2 -2
  5. auto_coder-0.1.313/src/autocoder/rag/lang.py +74 -0
  6. auto_coder-0.1.313/src/autocoder/version.py +1 -0
  7. auto_coder-0.1.312/src/autocoder/rag/lang.py +0 -52
  8. auto_coder-0.1.312/src/autocoder/version.py +0 -1
  9. {auto_coder-0.1.312 → auto_coder-0.1.313}/LICENSE +0 -0
  10. {auto_coder-0.1.312 → auto_coder-0.1.313}/README.md +0 -0
  11. {auto_coder-0.1.312 → auto_coder-0.1.313}/setup.cfg +0 -0
  12. {auto_coder-0.1.312 → auto_coder-0.1.313}/setup.py +0 -0
  13. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/auto_coder.egg-info/SOURCES.txt +0 -0
  14. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  15. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/auto_coder.egg-info/entry_points.txt +0 -0
  16. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/auto_coder.egg-info/requires.txt +0 -0
  17. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/auto_coder.egg-info/top_level.txt +0 -0
  18. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/__init__.py +0 -0
  19. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/__init__.py +0 -0
  20. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  21. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/auto_filegroup.py +0 -0
  22. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/auto_guess_query.py +0 -0
  23. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
  24. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/auto_review_commit.py +0 -0
  25. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/auto_tool.py +0 -0
  26. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/coder.py +0 -0
  27. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/designer.py +0 -0
  28. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/planner.py +0 -0
  29. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/agent/project_reader.py +0 -0
  30. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/auto_coder.py +0 -0
  31. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/auto_coder_rag.py +0 -0
  32. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/auto_coder_runner.py +0 -0
  33. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/auto_coder_server.py +0 -0
  34. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/benchmark.py +0 -0
  35. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/chat/__init__.py +0 -0
  36. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/chat_auto_coder.py +0 -0
  37. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/chat_auto_coder_lang.py +0 -0
  38. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/command_args.py +0 -0
  39. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/command_parser.py +0 -0
  40. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/commands/__init__.py +0 -0
  41. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/commands/auto_command.py +0 -0
  42. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/commands/auto_web.py +0 -0
  43. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/JupyterClient.py +0 -0
  44. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/ShellClient.py +0 -0
  45. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/__init__.py +0 -0
  46. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/anything2images.py +0 -0
  47. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/anything2img.py +0 -0
  48. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/audio.py +0 -0
  49. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/auto_coder_lang.py +0 -0
  50. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/auto_configure.py +0 -0
  51. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/buildin_tokenizer.py +0 -0
  52. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/chunk_validation.py +0 -0
  53. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/cleaner.py +0 -0
  54. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_execute.py +0 -0
  55. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_generate.py +0 -0
  56. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  57. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  58. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  59. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_merge.py +0 -0
  60. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_merge_diff.py +0 -0
  61. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
  62. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
  63. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/code_modification_ranker.py +0 -0
  64. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/command_completer.py +0 -0
  65. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/command_generator.py +0 -0
  66. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/command_templates.py +0 -0
  67. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/computer_use.py +0 -0
  68. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/conf_import_export.py +0 -0
  69. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/conf_validator.py +0 -0
  70. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/const.py +0 -0
  71. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/context_pruner.py +0 -0
  72. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/conversation_pruner.py +0 -0
  73. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/files.py +0 -0
  74. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/git_utils.py +0 -0
  75. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/global_cancel.py +0 -0
  76. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/image_to_page.py +0 -0
  77. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/index_import_export.py +0 -0
  78. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/interpreter.py +0 -0
  79. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/llm_rerank.py +0 -0
  80. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/mcp_hub.py +0 -0
  81. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/mcp_server.py +0 -0
  82. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  83. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
  84. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
  85. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/mcp_tools.py +0 -0
  86. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/memory_manager.py +0 -0
  87. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/model_speed_test.py +0 -0
  88. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/openai_content.py +0 -0
  89. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/printer.py +0 -0
  90. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/recall_validation.py +0 -0
  91. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/result_manager.py +0 -0
  92. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/screenshots.py +0 -0
  93. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/search.py +0 -0
  94. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/search_replace.py +0 -0
  95. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/shells.py +0 -0
  96. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/stats_panel.py +0 -0
  97. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/stream_out_type.py +0 -0
  98. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/sys_prompt.py +0 -0
  99. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/text.py +0 -0
  100. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/token_cost_caculate.py +0 -0
  101. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/types.py +0 -0
  102. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  103. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/data/byzerllm.md +0 -0
  104. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/data/tokenizer.json +0 -0
  105. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/db/__init__.py +0 -0
  106. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/db/store.py +0 -0
  107. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/dispacher/__init__.py +0 -0
  108. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/dispacher/actions/__init__.py +0 -0
  109. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/dispacher/actions/action.py +0 -0
  110. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/dispacher/actions/copilot.py +0 -0
  111. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  112. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  113. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/events/__init__.py +0 -0
  114. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/events/event_content.py +0 -0
  115. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/events/event_manager.py +0 -0
  116. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/events/event_manager_singleton.py +0 -0
  117. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/events/event_store.py +0 -0
  118. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/events/event_types.py +0 -0
  119. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/__init__.py +0 -0
  120. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/entry.py +0 -0
  121. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/filter/__init__.py +0 -0
  122. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/filter/normal_filter.py +0 -0
  123. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/filter/quick_filter.py +0 -0
  124. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/for_command.py +0 -0
  125. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/index.py +0 -0
  126. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/symbols_utils.py +0 -0
  127. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/index/types.py +0 -0
  128. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/lang.py +0 -0
  129. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/memory/__init__.py +0 -0
  130. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/memory/active_context_manager.py +0 -0
  131. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/memory/active_package.py +0 -0
  132. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/memory/async_processor.py +0 -0
  133. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/memory/directory_mapper.py +0 -0
  134. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/models.py +0 -0
  135. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/plugins/__init__.py +0 -0
  136. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
  137. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/plugins/git_helper_plugin.py +0 -0
  138. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/plugins/sample_plugin.py +0 -0
  139. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/plugins/token_helper_plugin.py +0 -0
  140. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/plugins/utils.py +0 -0
  141. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/privacy/__init__.py +0 -0
  142. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/privacy/model_filter.py +0 -0
  143. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/pyproject/__init__.py +0 -0
  144. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/__init__.py +0 -0
  145. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/api_server.py +0 -0
  146. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/__init__.py +0 -0
  147. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/base_cache.py +0 -0
  148. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  149. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
  150. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  151. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
  152. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
  153. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
  154. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/cache/simple_cache.py +0 -0
  155. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/conversation_to_queries.py +0 -0
  156. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/doc_filter.py +0 -0
  157. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/document_retriever.py +0 -0
  158. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/llm_wrapper.py +0 -0
  159. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/loaders/__init__.py +0 -0
  160. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  161. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  162. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  163. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  164. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/long_context_rag.py +0 -0
  165. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
  166. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/rag_config.py +0 -0
  167. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/rag_entry.py +0 -0
  168. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/raw_rag.py +0 -0
  169. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/relevant_utils.py +0 -0
  170. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/searchable.py +0 -0
  171. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/simple_directory_reader.py +0 -0
  172. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/simple_rag.py +0 -0
  173. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/stream_event/__init__.py +0 -0
  174. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  175. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/stream_event/types.py +0 -0
  176. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/token_checker.py +0 -0
  177. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/token_counter.py +0 -0
  178. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/token_limiter.py +0 -0
  179. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/token_limiter_utils.py +0 -0
  180. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/types.py +0 -0
  181. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/utils.py +0 -0
  182. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/rag/variable_holder.py +0 -0
  183. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/regexproject/__init__.py +0 -0
  184. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/run_context.py +0 -0
  185. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/suffixproject/__init__.py +0 -0
  186. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/tsproject/__init__.py +0 -0
  187. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/__init__.py +0 -0
  188. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/_markitdown.py +0 -0
  189. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
  190. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  191. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/auto_project_type.py +0 -0
  192. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  193. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/conversation_store.py +0 -0
  194. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  195. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/llms.py +0 -0
  196. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/log_capture.py +0 -0
  197. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/model_provider_selector.py +0 -0
  198. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/multi_turn.py +0 -0
  199. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/operate_config_api.py +0 -0
  200. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/print_table.py +0 -0
  201. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/project_structure.py +0 -0
  202. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/queue_communicate.py +0 -0
  203. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/request_event_queue.py +0 -0
  204. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/request_queue.py +0 -0
  205. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/rest.py +0 -0
  206. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/stream_thinking.py +0 -0
  207. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/tests.py +0 -0
  208. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/thread_utils.py +0 -0
  209. {auto_coder-0.1.312 → auto_coder-0.1.313}/src/autocoder/utils/types.py +0 -0
  210. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_action_regex_project.py +0 -0
  211. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_action_yml_file_manager.py +0 -0
  212. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_chat_auto_coder.py +0 -0
  213. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_code_auto_merge_editblock.py +0 -0
  214. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_command_completer.py +0 -0
  215. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_planner.py +0 -0
  216. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_plugins.py +0 -0
  217. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_privacy.py +0 -0
  218. {auto_coder-0.1.312 → auto_coder-0.1.313}/tests/test_queue_communicate.py +0 -0
  219. {auto_coder-0.1.312 → auto_coder-0.1.313}/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.312
3
+ Version: 0.1.313
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.312
3
+ Version: 0.1.313
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -40,6 +40,8 @@ from autocoder.index.symbols_utils import (
40
40
  from autocoder.run_context import get_run_context
41
41
  from autocoder.events.event_manager_singleton import get_event_manager
42
42
  from autocoder.events import event_content as EventContentCreator
43
+ from autocoder.linters.linter_factory import LinterFactory, lint_file, lint_project, format_lint_result
44
+ import traceback
43
45
 
44
46
 
45
47
  @byzerllm.prompt()
@@ -159,23 +161,31 @@ class AutoCommandTools:
159
161
  return answer
160
162
 
161
163
  def response_user(self, response: str):
162
-
163
164
  # 如果是在web模式下,则使用event_manager事件来询问用户
164
165
  if get_run_context().is_web():
165
- answer = get_event_manager(
166
- self.args.event_file).write_result(
167
- EventContentCreator.create_result(
168
- EventContentCreator.ResultSummaryContent(
169
- summary=response
166
+ try:
167
+ answer = get_event_manager(
168
+ self.args.event_file).write_result(
169
+ EventContentCreator.create_result(
170
+ EventContentCreator.ResultSummaryContent(
171
+ summary=response
172
+ )
170
173
  )
171
174
  )
172
- )
173
- self.result_manager.append(content=response, meta={
174
- "action": "response_user",
175
- "input": {
176
- "response": response
177
- }
178
- })
175
+ self.result_manager.append(content=response, meta={
176
+ "action": "response_user",
177
+ "input": {
178
+ "response": response
179
+ }
180
+ })
181
+ except Exception as e:
182
+ error_message = f"Error: {str(e)}\n\n完整异常堆栈信息:\n{traceback.format_exc()}"
183
+ self.result_manager.append(content=f"Error: {error_message}", meta={
184
+ "action": "response_user",
185
+ "input": {
186
+ "response": response
187
+ }
188
+ })
179
189
  return answer
180
190
 
181
191
  console = Console()
@@ -764,3 +774,74 @@ class AutoCommandTools:
764
774
  }
765
775
  })
766
776
  return v
777
+
778
+ def lint_code(self, path: str, language: Optional[str] = None, fix: bool = False, verbose: bool = False) -> str:
779
+ """
780
+ 对代码进行质量检查,支持多种编程语言。
781
+
782
+ 参数说明:
783
+ path (str): 要检查的文件路径或项目目录
784
+ language (str, optional): 明确指定语言类型,如'python', 'javascript', 'typescript', 'react', 'vue'等
785
+ 如果不指定,将尝试根据文件扩展名或项目结构自动检测
786
+ fix (bool): 是否自动修复可修复的问题,默认为False
787
+ verbose (bool): 是否显示详细输出,默认为False
788
+
789
+ 返回值:
790
+ 格式化后的lint结果,包含错误和警告信息
791
+
792
+ 支持的语言:
793
+ - 前端: JavaScript, TypeScript, React, Vue (使用ESLint)
794
+ - Python: 使用pylint, flake8, black
795
+
796
+ 说明:
797
+ - 对于前端代码,需要Node.js环境
798
+ - 对于Python代码,需要pylint/flake8/black
799
+ - 工具会尝试自动安装缺少的依赖
800
+ - 如果路径是文件,则只检查该文件
801
+ - 如果路径是目录,则检查整个项目
802
+ - fix=True时会尝试自动修复问题
803
+ """
804
+ try:
805
+ # 检查是否是目录或文件
806
+ is_directory = os.path.isdir(path)
807
+
808
+ # 根据路径类型执行相应的lint操作
809
+ if is_directory:
810
+ # 对整个项目进行lint
811
+ result = lint_project(path, language=language, fix=fix, verbose=verbose)
812
+ else:
813
+ # 对单个文件进行lint
814
+ result = lint_file(path, fix=fix, verbose=verbose)
815
+
816
+ # 格式化结果
817
+ formatted_result = format_lint_result(result, language=language)
818
+
819
+ # 记录操作结果
820
+ self.result_manager.add_result(content=formatted_result, meta={
821
+ "action": "lint_code",
822
+ "input": {
823
+ "path": path,
824
+ "language": language,
825
+ "fix": fix,
826
+ "verbose": verbose
827
+ },
828
+ "result": result
829
+ })
830
+
831
+ return formatted_result
832
+
833
+ except Exception as e:
834
+ error_message = f"Linting failed: {str(e)}\n\n完整异常堆栈信息:\n{traceback.format_exc()}"
835
+
836
+ self.result_manager.add_result(content=error_message, meta={
837
+ "action": "lint_code",
838
+ "input": {
839
+ "path": path,
840
+ "language": language,
841
+ "fix": fix,
842
+ "verbose": verbose
843
+ },
844
+ "error": error_message
845
+ })
846
+
847
+ return error_message
@@ -63,7 +63,7 @@ class ActionYmlFileManager:
63
63
 
64
64
  action_files = [
65
65
  f for f in os.listdir(self.actions_dir)
66
- if f[:3].isdigit() and "_" in f and f.endswith('.yml')
66
+ if f[:3].isdigit() and "_" in f and f.endswith('_chat_action.yml')
67
67
  ]
68
68
 
69
69
  if filter_prefix:
@@ -185,7 +185,7 @@ class ActionYmlFileManager:
185
185
  Returns:
186
186
  Dict: YAML 内容,如果加载失败返回空字典
187
187
  """
188
- yaml_path = os.path.join(self.actions_dir, file_name)
188
+ yaml_path = os.path.join(self.actions_dir, file_name)
189
189
  try:
190
190
  with open(yaml_path, 'r', encoding='utf-8') as f:
191
191
  content = yaml.safe_load(f) or {}
@@ -0,0 +1,74 @@
1
+ import locale
2
+ from byzerllm.utils import format_str_jinja2
3
+
4
+ MESSAGES = {
5
+ "rag_error_title": {
6
+ "en": "RAG Error",
7
+ "zh": "RAG 错误"
8
+ },
9
+ "rag_error_message": {
10
+ "en": "Failed to generate response: {{error}}",
11
+ "zh": "生成响应失败: {{error}}"
12
+ },
13
+ "rag_searching_docs": {
14
+ "en": "Searching documents with {{model}}...",
15
+ "zh": "正在使用 {{model}} 搜索文档..."
16
+ },
17
+ "rag_docs_filter_result": {
18
+ "en": "{{model}} processed {{docs_num}} documents, cost {{filter_time}} seconds, input tokens: {{input_tokens}}, output tokens: {{output_tokens}}",
19
+ "zh": "{{model}} 处理了 {{docs_num}} 个文档, 耗时 {{filter_time}} 秒, 输入 tokens: {{input_tokens}}, 输出 tokens: {{output_tokens}}"
20
+ },
21
+ "dynamic_chunking_start": {
22
+ "en": "Dynamic chunking start with {{model}}",
23
+ "zh": "使用 {{model}} 进行动态分块"
24
+ },
25
+ "dynamic_chunking_result": {
26
+ "en": "Dynamic chunking result with {{model}}, first round cost {{first_round_time}} seconds, second round cost {{sencond_round_time}} seconds, input tokens: {{input_tokens}}, output tokens: {{output_tokens}}, first round full docs: {{first_round_full_docs}}, second round extracted docs: {{second_round_extracted_docs}}",
27
+ "zh": "使用 {{model}} 进行动态分块, 第一轮耗时 {{first_round_time}} 秒, 第二轮耗时 {{sencond_round_time}} 秒, 输入 tokens: {{input_tokens}}, 输出 tokens: {{output_tokens}}, 第一轮全量文档: {{first_round_full_docs}}, 第二轮提取文档: {{second_round_extracted_docs}}"
28
+ },
29
+ "send_to_model": {
30
+ "en": "Send to model {{model}} with {{tokens}} tokens",
31
+ "zh": "发送给模型 {{model}} 的 tokens 数量预估为 {{tokens}}"
32
+ },
33
+ "doc_filter_start": {
34
+ "en": "Document filtering start, total {{total}} documents",
35
+ "zh": "开始过滤文档,共 {{total}} 个文档"
36
+ },
37
+ "doc_filter_progress": {
38
+ "en": "Document filtering progress: {{progress_percent}}% processed {{relevant_count}}/{{total}} documents",
39
+ "zh": "文档过滤进度:{{progress_percent}}%,处理了 {{relevant_count}}/{{total}} 个文档"
40
+ },
41
+ "doc_filter_error": {
42
+ "en": "Document filtering error: {{error}}",
43
+ "zh": "文档过滤错误:{{error}}"
44
+ },
45
+ "doc_filter_complete": {
46
+ "en": "Document filtering complete, cost {{total_time}} seconds, found {{relevant_count}} relevant documents",
47
+ "zh": "文档过滤完成,耗时 {{total_time}} 秒,找到 {{relevant_count}} 个相关文档"
48
+ },
49
+ "context_docs_names": {
50
+ "en": "The following are the documents related to the user's question: {{context_docs_names}}",
51
+ "zh": "以下是和用户问题相关的文档:{{context_docs_names}}"
52
+ }
53
+ }
54
+
55
+
56
+ def get_system_language():
57
+ try:
58
+ return locale.getdefaultlocale()[0][:2]
59
+ except:
60
+ return 'en'
61
+
62
+
63
+ def get_message(key):
64
+ lang = get_system_language()
65
+ if key in MESSAGES:
66
+ return MESSAGES[key].get(lang, MESSAGES[key].get("en", ""))
67
+ return ""
68
+
69
+
70
+ def get_message_with_format(msg_key: str, **kwargs):
71
+ return format_str_jinja2(get_message(msg_key), **kwargs)
72
+
73
+ def get_message_with_format_and_newline(msg_key: str, **kwargs):
74
+ return format_str_jinja2(get_message(msg_key), **kwargs) + "\n"
@@ -0,0 +1 @@
1
+ __version__ = "0.1.313"
@@ -1,52 +0,0 @@
1
- import locale
2
- from byzerllm.utils import format_str_jinja2
3
-
4
- MESSAGES = {
5
- "en": {
6
- "rag_error_title": "RAG Error",
7
- "rag_error_message": "Failed to generate response: {{error}}",
8
- "rag_searching_docs": "Searching documents with {{model}}...",
9
- "rag_docs_filter_result": "{{model}} processed {{docs_num}} documents, cost {{filter_time}} seconds, input tokens: {{input_tokens}}, output tokens: {{output_tokens}}",
10
- "dynamic_chunking_start": "Dynamic chunking start with {{model}}",
11
- "dynamic_chunking_result": "Dynamic chunking result with {{model}}, first round cost {{first_round_time}} seconds, second round cost {{sencond_round_time}} seconds, input tokens: {{input_tokens}}, output tokens: {{output_tokens}}, first round full docs: {{first_round_full_docs}}, second round extracted docs: {{second_round_extracted_docs}}",
12
- "send_to_model": "Send to model {{model}} with {{tokens}} tokens",
13
- "doc_filter_start": "Document filtering start, total {{total}} documents",
14
- "doc_filter_progress": "Document filtering progress: {{progress_percent}}% processed {{relevant_count}}/{{total}} documents",
15
- "doc_filter_error": "Document filtering error: {{error}}",
16
- "doc_filter_complete": "Document filtering complete, cost {{total_time}} seconds, found {{relevant_count}} relevant documents",
17
- "context_docs_names": "The following are the documents related to the user's question: {{context_docs_names}}",
18
- },
19
- "zh": {
20
- "rag_error_title": "RAG 错误",
21
- "rag_error_message": "生成响应失败: {{error}}",
22
- "rag_searching_docs": "正在使用 {{model}} 搜索文档...",
23
- "rag_docs_filter_result": "{{model}} 处理了 {{docs_num}} 个文档, 耗时 {{filter_time}} 秒, 输入 tokens: {{input_tokens}}, 输出 tokens: {{output_tokens}}",
24
- "dynamic_chunking_start": "使用 {{model}} 进行动态分块",
25
- "dynamic_chunking_result": "使用 {{model}} 进行动态分块, 第一轮耗时 {{first_round_time}} 秒, 第二轮耗时 {{sencond_round_time}} 秒, 输入 tokens: {{input_tokens}}, 输出 tokens: {{output_tokens}}, 第一轮全量文档: {{first_round_full_docs}}, 第二轮提取文档: {{second_round_extracted_docs}}",
26
- "send_to_model": "发送给模型 {{model}} 的 tokens 数量预估为 {{tokens}}",
27
- "doc_filter_start": "开始过滤文档,共 {{total}} 个文档",
28
- "doc_filter_progress": "文档过滤进度:{{progress_percent}}%,处理了 {{relevant_count}}/{{total}} 个文档",
29
- "doc_filter_error": "文档过滤错误:{{error}}",
30
- "doc_filter_complete": "文档过滤完成,耗时 {{total_time}} 秒,找到 {{relevant_count}} 个相关文档",
31
- "context_docs_names": "以下是和用户问题相关的文档:{{context_docs_names}}",
32
- }
33
- }
34
-
35
-
36
- def get_system_language():
37
- try:
38
- return locale.getdefaultlocale()[0][:2]
39
- except:
40
- return 'en'
41
-
42
-
43
- def get_message(key):
44
- lang = get_system_language()
45
- return MESSAGES.get(lang, MESSAGES['en']).get(key, MESSAGES['en'][key])
46
-
47
-
48
- def get_message_with_format(msg_key: str, **kwargs):
49
- return format_str_jinja2(get_message(msg_key), **kwargs)
50
-
51
- def get_message_with_format_and_newline(msg_key: str, **kwargs):
52
- return format_str_jinja2(get_message(msg_key), **kwargs) + "\n"
@@ -1 +0,0 @@
1
- __version__ = "0.1.312"
File without changes
File without changes
File without changes
File without changes