auto-coder 0.1.390__tar.gz → 0.1.392__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 (365) hide show
  1. {auto_coder-0.1.390 → auto_coder-0.1.392}/PKG-INFO +2 -2
  2. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/auto_coder.egg-info/PKG-INFO +2 -2
  3. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/auto_coder.egg-info/SOURCES.txt +1 -0
  4. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/auto_coder.egg-info/requires.txt +1 -1
  5. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/chat_auto_coder.py +4 -4
  6. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/__init__.py +1 -0
  7. auto_coder-0.1.392/src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py +191 -0
  8. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +18 -8
  9. auto_coder-0.1.392/src/autocoder/version.py +1 -0
  10. auto_coder-0.1.390/src/autocoder/version.py +0 -2
  11. {auto_coder-0.1.390 → auto_coder-0.1.392}/LICENSE +0 -0
  12. {auto_coder-0.1.390 → auto_coder-0.1.392}/README.md +0 -0
  13. {auto_coder-0.1.390 → auto_coder-0.1.392}/setup.cfg +0 -0
  14. {auto_coder-0.1.390 → auto_coder-0.1.392}/setup.py +0 -0
  15. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  16. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/auto_coder.egg-info/entry_points.txt +0 -0
  17. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/auto_coder.egg-info/top_level.txt +0 -0
  18. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/__init__.py +0 -0
  19. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/__init__.py +0 -0
  20. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/agentic_filter.py +0 -0
  21. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  22. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/auto_filegroup.py +0 -0
  23. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/auto_guess_query.py +0 -0
  24. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/auto_learn.py +0 -0
  25. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
  26. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/auto_review_commit.py +0 -0
  27. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/auto_tool.py +0 -0
  28. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/__init__.py +0 -0
  29. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/agent_hub.py +0 -0
  30. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/agentic_lang.py +0 -0
  31. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/agentic_tool_display.py +0 -0
  32. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/base_agent.py +0 -0
  33. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/default_tools.py +0 -0
  34. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/test_base_agent.py +0 -0
  35. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tool_registry.py +0 -0
  36. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/__init__.py +0 -0
  37. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/ask_followup_question_tool_resolver.py +0 -0
  38. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/attempt_completion_tool_resolver.py +0 -0
  39. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/base_tool_resolver.py +0 -0
  40. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/example_tool_resolver.py +0 -0
  41. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/execute_command_tool_resolver.py +0 -0
  42. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/list_files_tool_resolver.py +0 -0
  43. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/plan_mode_respond_tool_resolver.py +0 -0
  44. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +0 -0
  45. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/replace_in_file_tool_resolver.py +0 -0
  46. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/search_files_tool_resolver.py +0 -0
  47. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/talk_to_group_tool_resolver.py +0 -0
  48. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/talk_to_tool_resolver.py +0 -0
  49. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/use_mcp_tool_resolver.py +0 -0
  50. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +0 -0
  51. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/types.py +0 -0
  52. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/base_agentic/utils.py +0 -0
  53. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/coder.py +0 -0
  54. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/designer.py +0 -0
  55. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/planner.py +0 -0
  56. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/agent/project_reader.py +0 -0
  57. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/auto_coder.py +0 -0
  58. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/auto_coder_rag.py +0 -0
  59. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/auto_coder_runner.py +0 -0
  60. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/auto_coder_server.py +0 -0
  61. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/benchmark.py +0 -0
  62. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/chat/__init__.py +0 -0
  63. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/chat/conf_command.py +0 -0
  64. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/chat/models_command.py +0 -0
  65. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/chat/rules_command.py +0 -0
  66. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/chat_auto_coder_lang.py +0 -0
  67. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/command_args.py +0 -0
  68. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/command_parser.py +0 -0
  69. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/commands/__init__.py +0 -0
  70. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/commands/auto_command.py +0 -0
  71. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/commands/auto_web.py +0 -0
  72. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/commands/tools.py +0 -0
  73. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/JupyterClient.py +0 -0
  74. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/ShellClient.py +0 -0
  75. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/action_yml_file_manager.py +0 -0
  76. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/anything2images.py +0 -0
  77. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/anything2img.py +0 -0
  78. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/audio.py +0 -0
  79. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/auto_coder_lang.py +0 -0
  80. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/auto_configure.py +0 -0
  81. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/buildin_tokenizer.py +0 -0
  82. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/chunk_validation.py +0 -0
  83. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/cleaner.py +0 -0
  84. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_execute.py +0 -0
  85. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_generate.py +0 -0
  86. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  87. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  88. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  89. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_merge.py +0 -0
  90. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_merge_diff.py +0 -0
  91. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
  92. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
  93. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/code_modification_ranker.py +0 -0
  94. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_completer.py +0 -0
  95. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_completer_v2.py +0 -0
  96. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_file_manager/__init__.py +0 -0
  97. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_file_manager/examples.py +0 -0
  98. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_file_manager/manager.py +0 -0
  99. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_file_manager/models.py +0 -0
  100. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_file_manager/utils.py +0 -0
  101. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_generator.py +0 -0
  102. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/command_templates.py +0 -0
  103. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/computer_use.py +0 -0
  104. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/conf_import_export.py +0 -0
  105. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/conf_utils.py +0 -0
  106. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/conf_validator.py +0 -0
  107. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/const.py +0 -0
  108. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/context_pruner.py +0 -0
  109. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/conversation_pruner.py +0 -0
  110. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/conversations/__init__.py +0 -0
  111. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/conversations/compatibility.py +0 -0
  112. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/conversations/conversation_manager.py +0 -0
  113. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/conversations/example.py +0 -0
  114. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/directory_cache/__init__.py +0 -0
  115. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/directory_cache/cache.py +0 -0
  116. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/directory_cache/test_cache.py +0 -0
  117. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/__init__.py +0 -0
  118. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/backup.py +0 -0
  119. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/conversation_checkpoint.py +0 -0
  120. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/examples.py +0 -0
  121. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/manager.py +0 -0
  122. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/models.py +0 -0
  123. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/store.py +0 -0
  124. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/test_backup.py +0 -0
  125. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/test_manager.py +0 -0
  126. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/test_models.py +0 -0
  127. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/test_store.py +0 -0
  128. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/test_utils.py +0 -0
  129. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_checkpoint/utils.py +0 -0
  130. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_monitor/__init__.py +0 -0
  131. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/file_monitor/monitor.py +0 -0
  132. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/files.py +0 -0
  133. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/git_utils.py +0 -0
  134. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/global_cancel.py +0 -0
  135. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/ignorefiles/__init__.py +0 -0
  136. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/ignorefiles/ignore_file_utils.py +0 -0
  137. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/ignorefiles/test_ignore_file_utils.py +0 -0
  138. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/image_to_page.py +0 -0
  139. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/index_import_export.py +0 -0
  140. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/interpreter.py +0 -0
  141. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/llm_friendly_package.py +0 -0
  142. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/llm_friendly_package_example.py +0 -0
  143. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/llm_friendly_package_test.py +0 -0
  144. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/mcp_hub.py +0 -0
  145. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/mcp_server.py +0 -0
  146. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/mcp_server_install.py +0 -0
  147. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/mcp_server_types.py +0 -0
  148. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  149. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
  150. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
  151. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/mcp_tools.py +0 -0
  152. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/memory_manager.py +0 -0
  153. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/model_speed_tester.py +0 -0
  154. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/openai_content.py +0 -0
  155. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/printer.py +0 -0
  156. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/recall_validation.py +0 -0
  157. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/result_manager.py +0 -0
  158. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/rulefiles/__init__.py +0 -0
  159. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/rulefiles/autocoderrules_utils.py +0 -0
  160. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/run_cmd.py +0 -0
  161. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/save_formatted_log.py +0 -0
  162. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/screenshots.py +0 -0
  163. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/search.py +0 -0
  164. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/search_replace.py +0 -0
  165. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/shells.py +0 -0
  166. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/stats_panel.py +0 -0
  167. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/stream_out_type.py +0 -0
  168. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/sys_prompt.py +0 -0
  169. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/test_run_cmd.py +0 -0
  170. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/text.py +0 -0
  171. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/token_cost_caculate.py +0 -0
  172. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/types.py +0 -0
  173. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  174. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/__init__.py +0 -0
  175. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/__init__.py +0 -0
  176. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit.py +0 -0
  177. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py +0 -0
  178. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +0 -0
  179. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py +0 -0
  180. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +0 -0
  181. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py +0 -0
  182. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +0 -0
  183. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/list_package_info_tool_resolver.py +0 -0
  184. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +0 -0
  185. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +0 -0
  186. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +0 -0
  187. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +0 -0
  188. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resolver.py +0 -0
  189. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py +0 -0
  190. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +0 -0
  191. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +0 -0
  192. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +0 -0
  193. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_edit_types.py +0 -0
  194. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/agent/agentic_tool_display.py +0 -0
  195. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_agentic_editblock_manager.py +0 -0
  196. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_auto_generate.py +0 -0
  197. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_auto_generate_diff.py +0 -0
  198. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_auto_generate_editblock.py +0 -0
  199. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_auto_generate_strict_diff.py +0 -0
  200. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_auto_merge.py +0 -0
  201. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_auto_merge_diff.py +0 -0
  202. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_auto_merge_editblock.py +0 -0
  203. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_auto_merge_strict_diff.py +0 -0
  204. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_diff_manager.py +0 -0
  205. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_editblock_manager.py +0 -0
  206. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_manager.py +0 -0
  207. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/common/v2/code_strict_diff_manager.py +0 -0
  208. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/__init__.py +0 -0
  209. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/base_compiler.py +0 -0
  210. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/compiler_config_api.py +0 -0
  211. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/compiler_config_manager.py +0 -0
  212. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/compiler_factory.py +0 -0
  213. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/java_compiler.py +0 -0
  214. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/models.py +0 -0
  215. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/normal_compiler.py +0 -0
  216. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/provided_compiler.py +0 -0
  217. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/python_compiler.py +0 -0
  218. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/reactjs_compiler.py +0 -0
  219. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/shadow_compiler.py +0 -0
  220. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/compilers/vue_compiler.py +0 -0
  221. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/data/byzerllm.md +0 -0
  222. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/data/tokenizer.json +0 -0
  223. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/db/__init__.py +0 -0
  224. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/db/store.py +0 -0
  225. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/dispacher/__init__.py +0 -0
  226. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/dispacher/actions/__init__.py +0 -0
  227. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/dispacher/actions/action.py +0 -0
  228. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/dispacher/actions/copilot.py +0 -0
  229. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  230. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  231. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/events/__init__.py +0 -0
  232. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/events/event_content.py +0 -0
  233. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/events/event_manager.py +0 -0
  234. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/events/event_manager_singleton.py +0 -0
  235. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/events/event_store.py +0 -0
  236. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/events/event_types.py +0 -0
  237. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/helper/__init__.py +0 -0
  238. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/helper/project_creator.py +0 -0
  239. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/helper/rag_doc_creator.py +0 -0
  240. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/__init__.py +0 -0
  241. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/entry.py +0 -0
  242. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/filter/__init__.py +0 -0
  243. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/filter/normal_filter.py +0 -0
  244. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/filter/quick_filter.py +0 -0
  245. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/for_command.py +0 -0
  246. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/index.py +0 -0
  247. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/symbols_utils.py +0 -0
  248. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/index/types.py +0 -0
  249. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/lang.py +0 -0
  250. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/__init__.py +0 -0
  251. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/base_linter.py +0 -0
  252. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/linter_factory.py +0 -0
  253. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/models.py +0 -0
  254. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/normal_linter.py +0 -0
  255. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/python_linter.py +0 -0
  256. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/reactjs_linter.py +0 -0
  257. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/shadow_linter.py +0 -0
  258. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/test_python_linter.py +0 -0
  259. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/test_reactjs_linter.py +0 -0
  260. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/test_vue_linter.py +0 -0
  261. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/linters/vue_linter.py +0 -0
  262. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/__init__.py +0 -0
  263. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/active_changes.py +0 -0
  264. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/active_context_manager.py +0 -0
  265. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/active_diagrams.py +0 -0
  266. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/active_documents.py +0 -0
  267. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/active_header.py +0 -0
  268. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/active_package.py +0 -0
  269. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/async_processor.py +0 -0
  270. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/memory/directory_mapper.py +0 -0
  271. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/models.py +0 -0
  272. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/plugins/__init__.py +0 -0
  273. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
  274. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/plugins/git_helper_plugin.py +0 -0
  275. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/plugins/sample_plugin.py +0 -0
  276. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/plugins/token_helper_plugin.py +0 -0
  277. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/plugins/utils.py +0 -0
  278. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/privacy/__init__.py +0 -0
  279. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/privacy/model_filter.py +0 -0
  280. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/pyproject/__init__.py +0 -0
  281. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/__init__.py +0 -0
  282. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/agentic_rag.py +0 -0
  283. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/api_server.py +0 -0
  284. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/__init__.py +0 -0
  285. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/base_cache.py +0 -0
  286. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  287. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
  288. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/failed_files_utils.py +0 -0
  289. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  290. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
  291. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
  292. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
  293. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/cache/simple_cache.py +0 -0
  294. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/conversation_to_queries.py +0 -0
  295. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/doc_filter.py +0 -0
  296. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/document_retriever.py +0 -0
  297. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/lang.py +0 -0
  298. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/llm_wrapper.py +0 -0
  299. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/loaders/__init__.py +0 -0
  300. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  301. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  302. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/loaders/filter_utils.py +0 -0
  303. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/loaders/image_loader.py +0 -0
  304. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  305. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  306. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/long_context_rag.py +0 -0
  307. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
  308. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/rag_config.py +0 -0
  309. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/rag_entry.py +0 -0
  310. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/relevant_utils.py +0 -0
  311. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/searchable.py +0 -0
  312. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/stream_event/__init__.py +0 -0
  313. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  314. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/stream_event/types.py +0 -0
  315. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/test_doc_filter.py +0 -0
  316. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/test_long_context_rag.py +0 -0
  317. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/test_token_limiter.py +0 -0
  318. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/token_checker.py +0 -0
  319. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/token_counter.py +0 -0
  320. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/token_limiter.py +0 -0
  321. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/token_limiter_utils.py +0 -0
  322. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/tools/__init__.py +0 -0
  323. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/tools/recall_tool.py +0 -0
  324. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/tools/search_tool.py +0 -0
  325. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/types.py +0 -0
  326. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/utils.py +0 -0
  327. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/rag/variable_holder.py +0 -0
  328. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/regexproject/__init__.py +0 -0
  329. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/run_context.py +0 -0
  330. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/shadows/__init__.py +0 -0
  331. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/shadows/shadow_manager.py +0 -0
  332. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/suffixproject/__init__.py +0 -0
  333. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/tsproject/__init__.py +0 -0
  334. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/__init__.py +0 -0
  335. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/_markitdown.py +0 -0
  336. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
  337. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  338. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/auto_project_type.py +0 -0
  339. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  340. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/conversation_store.py +0 -0
  341. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  342. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/llms.py +0 -0
  343. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/log_capture.py +0 -0
  344. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/model_provider_selector.py +0 -0
  345. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/multi_turn.py +0 -0
  346. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/operate_config_api.py +0 -0
  347. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/print_table.py +0 -0
  348. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/project_structure.py +0 -0
  349. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/queue_communicate.py +0 -0
  350. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/request_event_queue.py +0 -0
  351. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/request_queue.py +0 -0
  352. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/rest.py +0 -0
  353. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/stream_thinking.py +0 -0
  354. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/thread_utils.py +0 -0
  355. {auto_coder-0.1.390 → auto_coder-0.1.392}/src/autocoder/utils/types.py +0 -0
  356. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_action_regex_project.py +0 -0
  357. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_action_yml_file_manager.py +0 -0
  358. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_chat_auto_coder.py +0 -0
  359. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_code_auto_merge_editblock.py +0 -0
  360. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_command_completer.py +0 -0
  361. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_planner.py +0 -0
  362. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_plugins.py +0 -0
  363. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_privacy.py +0 -0
  364. {auto_coder-0.1.390 → auto_coder-0.1.392}/tests/test_queue_communicate.py +0 -0
  365. {auto_coder-0.1.390 → auto_coder-0.1.392}/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.390
3
+ Version: 0.1.392
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -28,7 +28,7 @@ Requires-Dist: prompt-toolkit
28
28
  Requires-Dist: tokenizers
29
29
  Requires-Dist: aiofiles
30
30
  Requires-Dist: readerwriterlock
31
- Requires-Dist: byzerllm[saas]>=0.1.188
31
+ Requires-Dist: byzerllm[saas]>=0.1.189
32
32
  Requires-Dist: patch
33
33
  Requires-Dist: diff_match_patch
34
34
  Requires-Dist: GitPython
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: auto-coder
3
- Version: 0.1.390
3
+ Version: 0.1.392
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -28,7 +28,7 @@ Requires-Dist: prompt-toolkit
28
28
  Requires-Dist: tokenizers
29
29
  Requires-Dist: aiofiles
30
30
  Requires-Dist: readerwriterlock
31
- Requires-Dist: byzerllm[saas]>=0.1.188
31
+ Requires-Dist: byzerllm[saas]>=0.1.189
32
32
  Requires-Dist: patch
33
33
  Requires-Dist: diff_match_patch
34
34
  Requires-Dist: GitPython
@@ -191,6 +191,7 @@ src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py
191
191
  src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py
192
192
  src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py
193
193
  src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py
194
+ src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py
194
195
  src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py
195
196
  src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py
196
197
  src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py
@@ -18,7 +18,7 @@ prompt-toolkit
18
18
  tokenizers
19
19
  aiofiles
20
20
  readerwriterlock
21
- byzerllm[saas]>=0.1.188
21
+ byzerllm[saas]>=0.1.189
22
22
  patch
23
23
  diff_match_patch
24
24
  GitPython
@@ -270,10 +270,8 @@ ARGS = None
270
270
 
271
271
 
272
272
  def main():
273
- load_tokenizer()
274
- start_engine()
275
-
276
- ARGS = parse_arguments()
273
+ load_tokenizer()
274
+ ARGS = parse_arguments()
277
275
 
278
276
  if ARGS.lite:
279
277
  ARGS.product_mode = "lite"
@@ -292,6 +290,8 @@ def main():
292
290
  pro=ARGS.pro,
293
291
  )
294
292
  )
293
+
294
+ start_engine()
295
295
 
296
296
  # Initialize plugin system
297
297
  # Add default plugin directory into global plugin dirs
@@ -276,6 +276,7 @@ class AutoCoderArgs(pydantic.BaseModel):
276
276
  enable_agentic_filter: Optional[bool] = False
277
277
  enable_agentic_edit: Optional[bool] = True
278
278
  enable_agentic_auto_approve: Optional[bool] = False
279
+ enable_agentic_dangerous_command_check: Optional[bool] = False
279
280
 
280
281
 
281
282
  index_filter_level: Optional[int] = 0
@@ -0,0 +1,191 @@
1
+ import re
2
+ from typing import List, Tuple, Optional
3
+ from loguru import logger
4
+
5
+
6
+ class DangerousCommandChecker:
7
+ """危险命令检查器,用于检测和防止执行潜在危险的系统命令"""
8
+
9
+ def __init__(self):
10
+ # 危险命令模式列表
11
+ self.dangerous_patterns = [
12
+ # 文件删除相关
13
+ (r'\brm\s+.*-[rf]', "删除文件命令"),
14
+ (r'\brm\s+-[rf]', "删除文件命令"),
15
+ (r'\bunlink\b', "删除文件命令"),
16
+
17
+ # 系统格式化和分区操作
18
+ (r'\bmkfs\b', "格式化文件系统命令"),
19
+ (r'\bfdisk\b', "磁盘分区命令"),
20
+ (r'\bparted\b', "磁盘分区命令"),
21
+ (r'\bdd\s+.*if=.*of=', "数据复制命令,可能覆盖系统文件"),
22
+
23
+ # 权限修改
24
+ (r'\bchmod\s+777\b', "危险权限修改"),
25
+ (r'\bchmod\s+\d*7\d*7\b', "危险权限修改"),
26
+ (r'\bchown\s+.*root\b', "更改文件所有者为root"),
27
+
28
+ # 提权相关
29
+ (r'\bsudo\s+.*rm\b', "使用sudo执行删除命令"),
30
+ (r'\bsu\s+-\b', "切换到root用户"),
31
+ (r'\bsu\s+root\b', "切换到root用户"),
32
+
33
+ # 系统服务相关
34
+ (r'\bsystemctl\s+stop\b', "停止系统服务"),
35
+ (r'\bsystemctl\s+disable\b', "禁用系统服务"),
36
+ (r'\bservice\s+.*stop\b', "停止系统服务"),
37
+
38
+ # 进程操作
39
+ (r'\bkill\s+-9\s+1\b', "强制终止init进程"),
40
+ (r'\bkillall\s+-9\b', "强制终止所有进程"),
41
+ (r'\bpkill\s+-9\b', "强制终止进程"),
42
+
43
+ # 系统关机重启
44
+ (r'\bshutdown\b', "系统关机命令"),
45
+ (r'\breboot\b', "系统重启命令"),
46
+ (r'\bhalt\b', "系统停机命令"),
47
+ (r'\bpoweroff\b', "系统断电命令"),
48
+
49
+ # 环境变量和系统配置
50
+ (r'\bexport\s+PATH=', "修改PATH环境变量"),
51
+ (r'\bunset\s+PATH\b', "删除PATH环境变量"),
52
+ (r'>\s*/etc/', "重定向写入系统配置文件"),
53
+ (r'\becho\s+.*>\s*/etc/', "写入系统配置文件"),
54
+
55
+ # 系统文件编辑
56
+ (r'\bvi\s+/etc/', "编辑系统配置文件"),
57
+ (r'\bnano\s+/etc/', "编辑系统配置文件"),
58
+ (r'\bemacs\s+/etc/', "编辑系统配置文件"),
59
+
60
+ # 历史和日志清理
61
+ (r'\bhistory\s+-c\b', "清空命令历史"),
62
+ (r'>\s*/dev/null\s+2>&1', "重定向所有输出到null"),
63
+ (r'\brm\s+.*\.log\b', "删除日志文件"),
64
+
65
+ # 安装和包管理(可能安装恶意软件)
66
+ (r'\bapt\s+install\s+.*--force\b', "强制安装软件包"),
67
+ (r'\byum\s+install\s+.*--assumeyes\b', "自动确认安装软件包"),
68
+ (r'\bpip\s+install\s+.*--force\b', "强制安装Python包"),
69
+ ]
70
+
71
+ # 危险字符模式
72
+ self.dangerous_chars = [
73
+ (r';', "命令分隔符,可能执行多个命令"),
74
+ (r'`.*`', "命令替换,可能执行隐藏命令"),
75
+ (r'\$\(.*\)', "命令替换,可能执行隐藏命令"),
76
+ (r'\|(?!\s*head\b|\s*tail\b|\s*grep\b|\s*sort\b|\s*uniq\b|\s*wc\b|\s*cat\b)', "管道符,可能传递敏感数据"),
77
+ (r'&&(?!\s*echo\b)', "逻辑与操作符,可能链式执行命令"),
78
+ (r'\|\|', "逻辑或操作符,可能条件执行命令"),
79
+ (r'<\(', "进程替换"),
80
+ (r'>\(', "进程替换"),
81
+ ]
82
+
83
+ # 允许的安全命令前缀(白名单)
84
+ self.safe_command_prefixes = [
85
+ 'ls', 'pwd', 'whoami', 'date', 'echo', 'cat', 'head', 'tail',
86
+ 'grep', 'find', 'which', 'man', 'help', 'cd', 'mkdir', 'touch',
87
+ 'cp', 'mv', 'wc', 'sort', 'uniq', 'diff', 'tree', 'file',
88
+ 'stat', 'du', 'df', 'ps', 'top', 'history', 'env', 'printenv'
89
+ ]
90
+
91
+ def is_command_dangerous(self, command: str) -> Tuple[bool, Optional[str]]:
92
+ """
93
+ 检查命令是否危险
94
+
95
+ Args:
96
+ command: 要检查的命令字符串
97
+
98
+ Returns:
99
+ Tuple[bool, Optional[str]]: (是否危险, 危险原因)
100
+ """
101
+ command = command.strip()
102
+
103
+ # 空命令不危险
104
+ if not command:
105
+ return False, None
106
+
107
+ # 检查危险命令模式
108
+ for pattern, reason in self.dangerous_patterns:
109
+ if re.search(pattern, command, re.IGNORECASE):
110
+ logger.warning(f"检测到危险命令模式: {pattern} in command: {command}")
111
+ return True, f"危险命令: {reason}"
112
+
113
+ # 检查危险字符
114
+ for pattern, reason in self.dangerous_chars:
115
+ if re.search(pattern, command):
116
+ # 对于 && 的特殊处理,允许 cd 命令链
117
+ if pattern == r'&&(?!\s*echo\b)' and command.strip().startswith('cd '):
118
+ continue
119
+ logger.warning(f"检测到危险字符: {pattern} in command: {command}")
120
+ return True, f"包含危险字符: {reason}"
121
+
122
+ return False, None
123
+
124
+ def is_command_in_whitelist(self, command: str) -> bool:
125
+ """
126
+ 检查命令是否在安全白名单中
127
+
128
+ Args:
129
+ command: 要检查的命令字符串
130
+
131
+ Returns:
132
+ bool: 是否在白名单中
133
+ """
134
+ command = command.strip()
135
+ if not command:
136
+ return False
137
+
138
+ # 获取命令的第一个词(命令名)
139
+ first_word = command.split()[0]
140
+
141
+ return first_word.lower() in self.safe_command_prefixes
142
+
143
+ def check_command_safety(self, command: str, allow_whitelist_bypass: bool = True) -> Tuple[bool, Optional[str]]:
144
+ """
145
+ 综合检查命令安全性
146
+
147
+ Args:
148
+ command: 要检查的命令字符串
149
+ allow_whitelist_bypass: 是否允许白名单命令绕过危险检查
150
+
151
+ Returns:
152
+ Tuple[bool, Optional[str]]: (是否安全, 不安全的原因)
153
+ """
154
+ # 首先检查是否危险
155
+ is_dangerous, danger_reason = self.is_command_dangerous(command)
156
+
157
+ if not is_dangerous:
158
+ return True, None
159
+
160
+ # 如果允许白名单绕过,且命令在白名单中,则认为安全
161
+ if allow_whitelist_bypass and self.is_command_in_whitelist(command):
162
+ logger.info(f"命令在白名单中,允许执行: {command}")
163
+ return True, None
164
+
165
+ return False, danger_reason
166
+
167
+ def get_safety_recommendations(self, command: str) -> List[str]:
168
+ """
169
+ 为不安全的命令提供安全建议
170
+
171
+ Args:
172
+ command: 要检查的命令字符串
173
+
174
+ Returns:
175
+ List[str]: 安全建议列表
176
+ """
177
+ recommendations = []
178
+
179
+ if 'rm' in command:
180
+ recommendations.append("使用 'rm -i' 进行交互式删除")
181
+ recommendations.append("在删除前使用 'ls' 确认要删除的文件")
182
+
183
+ if 'chmod 777' in command:
184
+ recommendations.append("避免使用 '777' 权限,考虑更安全的权限设置")
185
+ recommendations.append("使用 'chmod 755' 或 'chmod 644' 等更安全的权限")
186
+
187
+ if 'sudo' in command:
188
+ recommendations.append("确认您真的需要root权限")
189
+ recommendations.append("考虑使用更具体的权限而不是sudo")
190
+
191
+ return recommendations
@@ -4,6 +4,7 @@ from typing import Dict, Any, Optional
4
4
  from autocoder.common.run_cmd import run_cmd_subprocess
5
5
  from autocoder.common.v2.agent.agentic_edit_tools.base_tool_resolver import BaseToolResolver
6
6
  from autocoder.common.v2.agent.agentic_edit_types import ExecuteCommandTool, ToolResult # Import ToolResult from types
7
+ from autocoder.common.v2.agent.agentic_edit_tools.dangerous_command_checker import DangerousCommandChecker
7
8
  from autocoder.common import shells
8
9
  from autocoder.common.printer import Printer
9
10
  from loguru import logger
@@ -26,6 +27,8 @@ class ExecuteCommandToolResolver(BaseToolResolver):
26
27
  args=self.args,
27
28
  llm=self.agent.context_prune_llm
28
29
  )
30
+ # 初始化危险命令检查器
31
+ self.danger_checker = DangerousCommandChecker()
29
32
 
30
33
  def _prune_file_content(self, content: str, file_path: str) -> str:
31
34
  """对文件内容进行剪枝处理"""
@@ -60,14 +63,21 @@ class ExecuteCommandToolResolver(BaseToolResolver):
60
63
  command = self.tool.command
61
64
  requires_approval = self.tool.requires_approval
62
65
  source_dir = self.args.source_dir or "."
63
-
64
- # Basic security check (can be expanded)
65
- if ";" in command or "&&" in command or "|" in command or "`" in command:
66
- # Allow && for cd chaining, but be cautious
67
- if not command.strip().startswith("cd ") and " && " in command:
68
- pass # Allow cd chaining like 'cd subdir && command'
69
- else:
70
- return ToolResult(success=False, message=f"Command '{command}' contains potentially unsafe characters.")
66
+
67
+ if self.args.enable_agentic_dangerous_command_check:
68
+ # 使用新的危险命令检查器进行安全检查
69
+ is_safe, danger_reason = self.danger_checker.check_command_safety(command, allow_whitelist_bypass=True)
70
+
71
+ if not is_safe:
72
+ # 获取安全建议
73
+ recommendations = self.danger_checker.get_safety_recommendations(command)
74
+
75
+ error_message = f"检测到危险命令: {danger_reason}"
76
+ if recommendations:
77
+ error_message += f"\n安全建议:\n" + "\n".join(f"- {rec}" for rec in recommendations)
78
+
79
+ logger.warning(f"阻止执行危险命令: {command}, 原因: {danger_reason}")
80
+ return ToolResult(success=False, message=error_message)
71
81
 
72
82
  # Approval mechanism (simplified)
73
83
  if not self.args.enable_agentic_auto_approve and requires_approval:
@@ -0,0 +1 @@
1
+ __version__ = "0.1.392"
@@ -1,2 +0,0 @@
1
-
2
- __version__ = "0.1.390"
File without changes
File without changes
File without changes
File without changes