auto-coder 0.1.301__tar.gz → 0.1.302__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 (204) hide show
  1. {auto_coder-0.1.301 → auto_coder-0.1.302}/PKG-INFO +1 -1
  2. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/PKG-INFO +1 -1
  3. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/auto_coder.py +1 -4
  4. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/auto_coder_runner.py +2 -2
  5. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/commands/auto_command.py +32 -3
  6. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/action_yml_file_manager.py +6 -6
  7. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/auto_coder_lang.py +2 -2
  8. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge.py +1 -1
  9. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge_diff.py +1 -1
  10. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge_editblock.py +1 -1
  11. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge_strict_diff.py +1 -1
  12. auto_coder-0.1.302/src/autocoder/version.py +1 -0
  13. auto_coder-0.1.301/src/autocoder/version.py +0 -1
  14. {auto_coder-0.1.301 → auto_coder-0.1.302}/LICENSE +0 -0
  15. {auto_coder-0.1.301 → auto_coder-0.1.302}/README.md +0 -0
  16. {auto_coder-0.1.301 → auto_coder-0.1.302}/setup.cfg +0 -0
  17. {auto_coder-0.1.301 → auto_coder-0.1.302}/setup.py +0 -0
  18. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/SOURCES.txt +0 -0
  19. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  20. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/entry_points.txt +0 -0
  21. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/requires.txt +0 -0
  22. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/top_level.txt +0 -0
  23. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/__init__.py +0 -0
  24. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/__init__.py +0 -0
  25. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  26. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_filegroup.py +0 -0
  27. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_guess_query.py +0 -0
  28. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
  29. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_review_commit.py +0 -0
  30. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_tool.py +0 -0
  31. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/coder.py +0 -0
  32. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/designer.py +0 -0
  33. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/planner.py +0 -0
  34. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/project_reader.py +0 -0
  35. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/auto_coder_rag.py +0 -0
  36. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/auto_coder_server.py +0 -0
  37. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/benchmark.py +0 -0
  38. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/chat/__init__.py +0 -0
  39. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/chat_auto_coder.py +0 -0
  40. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/chat_auto_coder_lang.py +0 -0
  41. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/command_args.py +0 -0
  42. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/command_parser.py +0 -0
  43. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/commands/__init__.py +0 -0
  44. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/commands/auto_web.py +0 -0
  45. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/commands/tools.py +0 -0
  46. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/JupyterClient.py +0 -0
  47. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/ShellClient.py +0 -0
  48. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/__init__.py +0 -0
  49. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/anything2images.py +0 -0
  50. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/anything2img.py +0 -0
  51. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/audio.py +0 -0
  52. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/auto_configure.py +0 -0
  53. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/buildin_tokenizer.py +0 -0
  54. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/chunk_validation.py +0 -0
  55. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/cleaner.py +0 -0
  56. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_execute.py +0 -0
  57. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate.py +0 -0
  58. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  59. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  60. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  61. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_modification_ranker.py +0 -0
  62. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/command_completer.py +0 -0
  63. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/command_generator.py +0 -0
  64. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/command_templates.py +0 -0
  65. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/computer_use.py +0 -0
  66. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/conf_import_export.py +0 -0
  67. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/conf_validator.py +0 -0
  68. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/const.py +0 -0
  69. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/context_pruner.py +0 -0
  70. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/conversation_pruner.py +0 -0
  71. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/files.py +0 -0
  72. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/git_utils.py +0 -0
  73. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/global_cancel.py +0 -0
  74. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/image_to_page.py +0 -0
  75. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/index_import_export.py +0 -0
  76. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/interpreter.py +0 -0
  77. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/llm_rerank.py +0 -0
  78. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_hub.py +0 -0
  79. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_server.py +0 -0
  80. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  81. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
  82. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
  83. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_tools.py +0 -0
  84. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/memory_manager.py +0 -0
  85. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/model_speed_test.py +0 -0
  86. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/printer.py +0 -0
  87. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/recall_validation.py +0 -0
  88. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/result_manager.py +0 -0
  89. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/screenshots.py +0 -0
  90. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/search.py +0 -0
  91. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/search_replace.py +0 -0
  92. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/shells.py +0 -0
  93. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/stats_panel.py +0 -0
  94. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/sys_prompt.py +0 -0
  95. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/text.py +0 -0
  96. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/types.py +0 -0
  97. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  98. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/data/byzerllm.md +0 -0
  99. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/data/tokenizer.json +0 -0
  100. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/db/__init__.py +0 -0
  101. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/db/store.py +0 -0
  102. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/__init__.py +0 -0
  103. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/__init__.py +0 -0
  104. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/action.py +0 -0
  105. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/copilot.py +0 -0
  106. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  107. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  108. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/plugins/action_translate.py +0 -0
  109. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/__init__.py +0 -0
  110. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/entry.py +0 -0
  111. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/filter/__init__.py +0 -0
  112. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/filter/normal_filter.py +0 -0
  113. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/filter/quick_filter.py +0 -0
  114. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/for_command.py +0 -0
  115. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/index.py +0 -0
  116. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/symbols_utils.py +0 -0
  117. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/types.py +0 -0
  118. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/lang.py +0 -0
  119. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/models.py +0 -0
  120. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/__init__.py +0 -0
  121. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
  122. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/git_helper_plugin.py +0 -0
  123. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/sample_plugin.py +0 -0
  124. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/token_helper_plugin.py +0 -0
  125. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/utils.py +0 -0
  126. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/privacy/__init__.py +0 -0
  127. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/privacy/model_filter.py +0 -0
  128. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/pyproject/__init__.py +0 -0
  129. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/__init__.py +0 -0
  130. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/api_server.py +0 -0
  131. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/__init__.py +0 -0
  132. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/base_cache.py +0 -0
  133. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  134. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
  135. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  136. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
  137. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
  138. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
  139. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/simple_cache.py +0 -0
  140. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/conversation_to_queries.py +0 -0
  141. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/doc_filter.py +0 -0
  142. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/document_retriever.py +0 -0
  143. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/lang.py +0 -0
  144. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/llm_wrapper.py +0 -0
  145. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/__init__.py +0 -0
  146. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  147. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  148. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  149. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  150. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/long_context_rag.py +0 -0
  151. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
  152. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/rag_config.py +0 -0
  153. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/rag_entry.py +0 -0
  154. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/raw_rag.py +0 -0
  155. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/relevant_utils.py +0 -0
  156. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/searchable.py +0 -0
  157. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/simple_directory_reader.py +0 -0
  158. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/simple_rag.py +0 -0
  159. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/stream_event/__init__.py +0 -0
  160. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  161. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/stream_event/types.py +0 -0
  162. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/token_checker.py +0 -0
  163. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/token_counter.py +0 -0
  164. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/token_limiter.py +0 -0
  165. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/token_limiter_utils.py +0 -0
  166. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/types.py +0 -0
  167. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/utils.py +0 -0
  168. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/variable_holder.py +0 -0
  169. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/regexproject/__init__.py +0 -0
  170. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/suffixproject/__init__.py +0 -0
  171. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/tsproject/__init__.py +0 -0
  172. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/__init__.py +0 -0
  173. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/_markitdown.py +0 -0
  174. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
  175. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  176. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/auto_project_type.py +0 -0
  177. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  178. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/conversation_store.py +0 -0
  179. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  180. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/llms.py +0 -0
  181. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/log_capture.py +0 -0
  182. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/model_provider_selector.py +0 -0
  183. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/multi_turn.py +0 -0
  184. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/operate_config_api.py +0 -0
  185. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/print_table.py +0 -0
  186. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/project_structure.py +0 -0
  187. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/queue_communicate.py +0 -0
  188. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/request_event_queue.py +0 -0
  189. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/request_queue.py +0 -0
  190. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/rest.py +0 -0
  191. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/stream_thinking.py +0 -0
  192. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/tests.py +0 -0
  193. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/thread_utils.py +0 -0
  194. {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/types.py +0 -0
  195. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_action_regex_project.py +0 -0
  196. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_action_yml_file_manager.py +0 -0
  197. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_chat_auto_coder.py +0 -0
  198. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_code_auto_merge_editblock.py +0 -0
  199. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_command_completer.py +0 -0
  200. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_planner.py +0 -0
  201. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_plugins.py +0 -0
  202. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_privacy.py +0 -0
  203. {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_queue_communicate.py +0 -0
  204. {auto_coder-0.1.301 → auto_coder-0.1.302}/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.301
3
+ Version: 0.1.302
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.301
3
+ Version: 0.1.302
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -120,12 +120,9 @@ def main(input_args: Optional[List[str]] = None):
120
120
  if raw_args.command == "revert":
121
121
  repo_path = args.source_dir
122
122
 
123
- file_content = open(args.file).read()
124
- md5 = hashlib.md5(file_content.encode("utf-8")).hexdigest()
125
123
  file_name = os.path.basename(args.file)
126
-
127
124
  revert_result = git_utils.revert_changes(
128
- repo_path, f"auto_coder_{file_name}_{md5}"
125
+ repo_path, f"auto_coder_{file_name}"
129
126
  )
130
127
  if revert_result:
131
128
  print(f"Successfully reverted changes for {args.file}")
@@ -1402,7 +1402,7 @@ def commit(query: str):
1402
1402
  md5 = hashlib.md5(file_content.encode("utf-8")).hexdigest()
1403
1403
  file_name = os.path.basename(execute_file)
1404
1404
  commit_result = git_utils.commit_changes(
1405
- ".", f"{commit_message}\nauto_coder_{file_name}_{md5}"
1405
+ ".", f"{commit_message}\nauto_coder_{file_name}"
1406
1406
  )
1407
1407
  git_utils.print_commit_info(commit_result=commit_result)
1408
1408
  if commit_message:
@@ -1542,7 +1542,7 @@ def coding(query: str):
1542
1542
  cmd = ["--file", execute_file]
1543
1543
  auto_coder_main(cmd)
1544
1544
  result_manager = ResultManager()
1545
- result_manager.append(content="", meta={"commit_message": f"auto_coder_{latest_yaml_file}_{md5}","action": "coding", "input":{
1545
+ result_manager.append(content="", meta={"commit_message": f"auto_coder_{latest_yaml_file}","action": "coding", "input":{
1546
1546
  "query": query
1547
1547
  }})
1548
1548
 
@@ -57,22 +57,36 @@ def load_memory_file(args: AutoCoderArgs) -> CommandConversation:
57
57
  return CommandConversation(history={}, current_conversation=[])
58
58
 
59
59
 
60
+ class TimeBasedStrategy:
61
+ def __init__(self, max_idle_time=3600): # 1 hour in seconds
62
+ self.max_idle_time = max_idle_time
63
+
64
+ def should_archive(self, last_message_time):
65
+ """Check if the conversation should be archived based on last message time"""
66
+ current_time = time.time()
67
+ return current_time - last_message_time > self.max_idle_time
68
+
60
69
  def save_to_memory_file(query: str, response: str):
61
70
  """Save command conversation to memory file using CommandConversation structure"""
62
71
  memory_dir = os.path.join(".auto-coder", "memory")
63
72
  os.makedirs(memory_dir, exist_ok=True)
64
73
  file_path = os.path.join(memory_dir, "command_chat_history.json")
74
+
75
+ # Initialize time-based strategy
76
+ time_strategy = TimeBasedStrategy()
77
+
65
78
  # Create new message objects
79
+ current_time = time.time()
66
80
  user_msg = CommandMessage(role="user", content=query)
67
81
  assistant_msg = CommandMessage(role="assistant", content=response)
68
82
 
69
83
  extended_user_msg = ExtendedCommandMessage(
70
84
  message=user_msg,
71
- timestamp=str(int(time.time()))
85
+ timestamp=str(int(current_time))
72
86
  )
73
87
  extended_assistant_msg = ExtendedCommandMessage(
74
88
  message=assistant_msg,
75
- timestamp=str(int(time.time()))
89
+ timestamp=str(int(current_time))
76
90
  )
77
91
 
78
92
  # Load existing conversation or create new
@@ -81,6 +95,14 @@ def save_to_memory_file(query: str, response: str):
81
95
  try:
82
96
  existing_conv = CommandConversation.model_validate_json(
83
97
  f.read())
98
+ # Check if we should archive current conversation
99
+ if existing_conv.current_conversation:
100
+ last_message_time = float(existing_conv.current_conversation[-1].timestamp)
101
+ if time_strategy.should_archive(last_message_time):
102
+ # Move current conversation to history
103
+ timestamp = str(int(last_message_time))
104
+ existing_conv.history[timestamp] = existing_conv.current_conversation
105
+ existing_conv.current_conversation = []
84
106
  except Exception:
85
107
  existing_conv = CommandConversation(
86
108
  history={},
@@ -314,12 +336,19 @@ class CommandAutoTuner:
314
336
  ### 关于对话大小的问题
315
337
  我们对话历史以及查看的内容累计不能超过 {{ conversation_safe_zone_tokens }} 个tokens,当你读取索引文件 (get_project_map) 的时候,你可以看到
316
338
  每个文件的tokens数,你可以根据这个信息来决定如何读取这个文件。如果不确定,使用 count_file_tokens 函数来获取文件的tokens数,再决定如何读取。
317
- 而对于分析一个超大文件推荐组合 read_files 带上 line_ranges 参数来读取,或者组合 read_file_withread_file_with_keyword_ranges 等来读取,
339
+ 而对于分析一个超大文件推荐组合 read_files 带上 line_ranges 参数来读取,或者组合 read_file_with_keyword_ranges 等来读取,
318
340
  每个函数你还可以使用多次来获取更多信息。
319
341
 
320
342
  ### 善用脚本完成一些基本的操作
321
343
  根据操作系统,终端类型,脚本类型等各种信息,在涉及到路径或者脚本的时候,需要考虑平台差异性。
322
344
 
345
+ ### 关于查看文件的技巧
346
+ 在使用 read_files 之前,如果你有明确的目标,比如查看这个文件某个函数在这个文件的实现,你可以先用 read_file_with_keyword_ranges 函数来大致定位,该函数会返回你看到的
347
+ 内容的行号范围,你可以通过拓展这个行号范围继续使用 read_file_with_line_ranges 来查看完整函数信息,或者使用 read_files 函数带上 line_ranges 参数来精确读取。
348
+
349
+ 如果你没有明确目标,需要单纯查看这个文件获取必要的信息,可以先通过 count_file_tokens 函数来获取文件的tokens数,如果数目小于安全对话窗口的tokens数的1/2, 那么可以直接用
350
+ read_files 函数来读取,否则建议一次读取200-600行,多次读取直到找到合适的信息。
351
+
323
352
  ## 其他一些注意事项
324
353
  1. 使用 read_files 时,一次性读取文件数量不要超过1个,每次只读取200行。如果发现读取的内容不够,则继续读取下面200行。
325
354
  2. 确实有必要才使用 get_project_structure 函数,否则可以多使用 list_files 函数来查看目录。
@@ -249,7 +249,7 @@ class ActionYmlFileManager:
249
249
  with open(yaml_path, 'r', encoding='utf-8') as f:
250
250
  yaml_content = f.read()
251
251
  file_md5 = hashlib.md5(yaml_content.encode("utf-8")).hexdigest()
252
- return f"auto_coder_{file_name}_{file_md5}"
252
+ return f"auto_coder_{file_name}"
253
253
  except Exception as e:
254
254
  logger.error(f"Failed to calculate commit ID: {e}")
255
255
  return None
@@ -269,11 +269,11 @@ class ActionYmlFileManager:
269
269
 
270
270
  try:
271
271
  # auto_coder_000000001926_chat_action.yml_88614d5bd4046a068786c252fbc39c13
272
- parts = commit_id.split("_")
273
- # 去掉第一部分 "auto_coder_" 和最后一部分 hash 值
274
- if len(parts) >= 3:
275
- file_name_parts = parts[1:-1]
276
- return "_".join(file_name_parts)
272
+ # auto_coder_000000001926_chat_action.yml
273
+ if commit_id.endswith("_chat_action.yml"):
274
+ return commit_id[len("auto_coder_"):]
275
+ else:
276
+ return "_".join(commit_id[len("auto_coder_"):].split("_")[0:-1])
277
277
  return None
278
278
  except Exception:
279
279
  return None
@@ -195,7 +195,7 @@ MESSAGES = {
195
195
  "mcp_server_info_error": "Error getting MCP server info: {{ error }}",
196
196
  "mcp_server_info_title": "Connected MCP Server Info",
197
197
  "no_commit_file_name": "Cannot get the file name of the commit_id in the actions directory: {{commit_id}}",
198
- "yaml_update_success": "✅ Successfully updated YAML file: {{yaml_file}} with how_to_reproduce field",
198
+ "yaml_update_success": "✅ Successfully updated YAML file: {{yaml_file}}",
199
199
  "yaml_save_error": "❌ Error saving YAML file {{yaml_file}}: {{error}}",
200
200
  },
201
201
  "zh": {
@@ -389,7 +389,7 @@ MESSAGES = {
389
389
  "mcp_server_info_error": "获取MCP服务器信息时出错: {{ error }}",
390
390
  "mcp_server_info_title": "已连接的MCP服务器信息",
391
391
  "no_commit_file_name": "无法获取commit_id关联的actions 目录下的文件名: {{commit_id}}",
392
- "yaml_update_success": "✅ 成功更新YAML文件: {{yaml_file}},添加了how_to_reproduce字段",
392
+ "yaml_update_success": "✅ 成功更新YAML文件: {{yaml_file}}",
393
393
  "yaml_save_error": "❌ 保存YAML文件出错 {{yaml_file}}: {{error}}",
394
394
  }}
395
395
 
@@ -197,7 +197,7 @@ class CodeAutoMerge:
197
197
 
198
198
  self.printer.print_in_terminal("files_merged", total=total)
199
199
  if not force_skip_git and not self.args.skip_commit:
200
- commit_result = git_utils.commit_changes(self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}_{md5}")
200
+ commit_result = git_utils.commit_changes(self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}")
201
201
 
202
202
  action_yml_file_manager = ActionYmlFileManager(self.args.source_dir)
203
203
  action_file_name = os.path.basename(self.args.file)
@@ -580,7 +580,7 @@ class CodeAutoMergeDiff:
580
580
 
581
581
  self.printer.print_in_terminal("files_merged_total", total=total)
582
582
  if not force_skip_git and not self.args.skip_commit:
583
- commit_result = git_utils.commit_changes(self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}_{md5}")
583
+ commit_result = git_utils.commit_changes(self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}")
584
584
 
585
585
  action_yml_file_manager = ActionYmlFileManager(self.args.source_dir)
586
586
  action_file_name = os.path.basename(self.args.file)
@@ -427,7 +427,7 @@ class CodeAutoMergeEditBlock:
427
427
  try:
428
428
  commit_result = git_utils.commit_changes(
429
429
  self.args.source_dir,
430
- f"{self.args.query}\nauto_coder_{file_name}_{md5}",
430
+ f"{self.args.query}\nauto_coder_{file_name}",
431
431
  )
432
432
 
433
433
  action_yml_file_manager = ActionYmlFileManager(self.args.source_dir)
@@ -287,7 +287,7 @@ class CodeAutoMergeStrictDiff:
287
287
  self.printer.print_in_terminal("files_merged_total", total=total)
288
288
  if not force_skip_git and not self.args.skip_commit:
289
289
  commit_result = git_utils.commit_changes(
290
- self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}_{md5}"
290
+ self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}"
291
291
  )
292
292
  action_yml_file_manager = ActionYmlFileManager(self.args.source_dir)
293
293
  action_file_name = os.path.basename(self.args.file)
@@ -0,0 +1 @@
1
+ __version__ = "0.1.302"
@@ -1 +0,0 @@
1
- __version__ = "0.1.301"
File without changes
File without changes
File without changes
File without changes