auto-coder 0.1.335__tar.gz → 0.1.337__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.
Files changed (285) hide show
  1. {auto_coder-0.1.335 → auto_coder-0.1.337}/PKG-INFO +2 -2
  2. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/auto_coder.egg-info/PKG-INFO +2 -2
  3. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/auto_coder.egg-info/SOURCES.txt +19 -15
  4. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/auto_coder.egg-info/requires.txt +1 -1
  5. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/agentic_filter.py +14 -7
  6. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/auto_coder.py +34 -17
  7. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/auto_coder_rag.py +18 -9
  8. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/auto_coder_runner.py +95 -7
  9. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/chat_auto_coder.py +1 -2
  10. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/__init__.py +1 -0
  11. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/auto_coder_lang.py +8 -0
  12. {auto_coder-0.1.335/src/autocoder → auto_coder-0.1.337/src/autocoder/common/v2}/agent/agentic_edit.py +696 -171
  13. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_edit_conversation.py +113 -0
  14. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +70 -0
  15. {auto_coder-0.1.335/src/autocoder → auto_coder-0.1.337/src/autocoder/common/v2}/agent/agentic_edit_tools/attempt_completion_tool_resolver.py +9 -3
  16. {auto_coder-0.1.335/src/autocoder → auto_coder-0.1.337/src/autocoder/common/v2}/agent/agentic_edit_tools/base_tool_resolver.py +6 -2
  17. {auto_coder-0.1.335/src/autocoder → auto_coder-0.1.337/src/autocoder/common/v2}/agent/agentic_edit_tools/execute_command_tool_resolver.py +10 -6
  18. {auto_coder-0.1.335/src/autocoder → auto_coder-0.1.337/src/autocoder/common/v2}/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py +12 -7
  19. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +105 -0
  20. {auto_coder-0.1.335/src/autocoder → auto_coder-0.1.337/src/autocoder/common/v2}/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +8 -3
  21. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +51 -0
  22. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +144 -0
  23. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +104 -0
  24. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +46 -0
  25. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +58 -0
  26. {auto_coder-0.1.335/src/autocoder → auto_coder-0.1.337/src/autocoder/common/v2}/agent/agentic_edit_types.py +40 -2
  27. auto_coder-0.1.337/src/autocoder/common/v2/agent/agentic_tool_display.py +184 -0
  28. auto_coder-0.1.337/src/autocoder/common/v2/code_editblock_manager.py +812 -0
  29. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/events/event_manager.py +4 -4
  30. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/events/event_types.py +1 -0
  31. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/memory/active_context_manager.py +2 -29
  32. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/models.py +10 -2
  33. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/llms.py +4 -2
  34. auto_coder-0.1.337/src/autocoder/utils/types.py +0 -0
  35. auto_coder-0.1.337/src/autocoder/version.py +1 -0
  36. auto_coder-0.1.335/src/autocoder/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +0 -32
  37. auto_coder-0.1.335/src/autocoder/agent/agentic_edit_tools/list_files_tool_resolver.py +0 -62
  38. auto_coder-0.1.335/src/autocoder/agent/agentic_edit_tools/read_file_tool_resolver.py +0 -36
  39. auto_coder-0.1.335/src/autocoder/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +0 -95
  40. auto_coder-0.1.335/src/autocoder/agent/agentic_edit_tools/search_files_tool_resolver.py +0 -70
  41. auto_coder-0.1.335/src/autocoder/agent/agentic_edit_tools/use_mcp_tool_resolver.py +0 -55
  42. auto_coder-0.1.335/src/autocoder/agent/agentic_edit_tools/write_to_file_tool_resolver.py +0 -98
  43. auto_coder-0.1.335/src/autocoder/version.py +0 -1
  44. {auto_coder-0.1.335 → auto_coder-0.1.337}/LICENSE +0 -0
  45. {auto_coder-0.1.335 → auto_coder-0.1.337}/README.md +0 -0
  46. {auto_coder-0.1.335 → auto_coder-0.1.337}/setup.cfg +0 -0
  47. {auto_coder-0.1.335 → auto_coder-0.1.337}/setup.py +0 -0
  48. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  49. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/auto_coder.egg-info/entry_points.txt +0 -0
  50. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/auto_coder.egg-info/top_level.txt +0 -0
  51. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/__init__.py +0 -0
  52. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/__init__.py +0 -0
  53. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  54. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/auto_filegroup.py +0 -0
  55. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/auto_guess_query.py +0 -0
  56. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
  57. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/auto_review_commit.py +0 -0
  58. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/auto_tool.py +0 -0
  59. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/coder.py +0 -0
  60. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/designer.py +0 -0
  61. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/planner.py +0 -0
  62. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/agent/project_reader.py +0 -0
  63. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/auto_coder_server.py +0 -0
  64. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/benchmark.py +0 -0
  65. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/chat/__init__.py +0 -0
  66. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/chat_auto_coder_lang.py +0 -0
  67. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/command_args.py +0 -0
  68. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/command_parser.py +0 -0
  69. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/commands/__init__.py +0 -0
  70. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/commands/auto_command.py +0 -0
  71. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/commands/auto_web.py +0 -0
  72. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/commands/tools.py +0 -0
  73. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/JupyterClient.py +0 -0
  74. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/ShellClient.py +0 -0
  75. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/action_yml_file_manager.py +0 -0
  76. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/anything2images.py +0 -0
  77. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/anything2img.py +0 -0
  78. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/audio.py +0 -0
  79. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/auto_configure.py +0 -0
  80. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/buildin_tokenizer.py +0 -0
  81. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/chunk_validation.py +0 -0
  82. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/cleaner.py +0 -0
  83. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_execute.py +0 -0
  84. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_generate.py +0 -0
  85. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  86. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  87. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  88. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_merge.py +0 -0
  89. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_merge_diff.py +0 -0
  90. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
  91. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
  92. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/code_modification_ranker.py +0 -0
  93. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/command_completer.py +0 -0
  94. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/command_generator.py +0 -0
  95. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/command_templates.py +0 -0
  96. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/computer_use.py +0 -0
  97. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/conf_import_export.py +0 -0
  98. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/conf_utils.py +0 -0
  99. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/conf_validator.py +0 -0
  100. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/const.py +0 -0
  101. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/context_pruner.py +0 -0
  102. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/conversation_pruner.py +0 -0
  103. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/files.py +0 -0
  104. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/git_utils.py +0 -0
  105. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/global_cancel.py +0 -0
  106. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/image_to_page.py +0 -0
  107. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/index_import_export.py +0 -0
  108. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/interpreter.py +0 -0
  109. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/llm_rerank.py +0 -0
  110. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/mcp_hub.py +0 -0
  111. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/mcp_server.py +0 -0
  112. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/mcp_server_install.py +0 -0
  113. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/mcp_server_types.py +0 -0
  114. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  115. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
  116. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
  117. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/mcp_tools.py +0 -0
  118. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/memory_manager.py +0 -0
  119. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/model_speed_test.py +0 -0
  120. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/openai_content.py +0 -0
  121. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/printer.py +0 -0
  122. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/recall_validation.py +0 -0
  123. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/result_manager.py +0 -0
  124. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/screenshots.py +0 -0
  125. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/search.py +0 -0
  126. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/search_replace.py +0 -0
  127. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/shells.py +0 -0
  128. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/stats_panel.py +0 -0
  129. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/stream_out_type.py +0 -0
  130. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/sys_prompt.py +0 -0
  131. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/text.py +0 -0
  132. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/token_cost_caculate.py +0 -0
  133. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/types.py +0 -0
  134. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  135. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/__init__.py +0 -0
  136. {auto_coder-0.1.335/src/autocoder/db → auto_coder-0.1.337/src/autocoder/common/v2/agent}/__init__.py +0 -0
  137. {auto_coder-0.1.335/src/autocoder → auto_coder-0.1.337/src/autocoder/common/v2}/agent/agentic_edit_tools/__init__.py +0 -0
  138. /auto_coder-0.1.335/src/autocoder/common/v2/code_editblock_manager.py → /auto_coder-0.1.337/src/autocoder/common/v2/code_agentic_editblock_manager.py +0 -0
  139. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_auto_generate.py +0 -0
  140. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_auto_generate_diff.py +0 -0
  141. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_auto_generate_editblock.py +0 -0
  142. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_auto_generate_strict_diff.py +0 -0
  143. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_auto_merge.py +0 -0
  144. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_auto_merge_diff.py +0 -0
  145. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_auto_merge_editblock.py +0 -0
  146. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_auto_merge_strict_diff.py +0 -0
  147. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_diff_manager.py +0 -0
  148. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_manager.py +0 -0
  149. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/common/v2/code_strict_diff_manager.py +0 -0
  150. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/__init__.py +0 -0
  151. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/base_compiler.py +0 -0
  152. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/compiler_config_api.py +0 -0
  153. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/compiler_config_manager.py +0 -0
  154. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/compiler_factory.py +0 -0
  155. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/java_compiler.py +0 -0
  156. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/models.py +0 -0
  157. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/provided_compiler.py +0 -0
  158. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/python_compiler.py +0 -0
  159. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/reactjs_compiler.py +0 -0
  160. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/shadow_compiler.py +0 -0
  161. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/compilers/vue_compiler.py +0 -0
  162. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/data/byzerllm.md +0 -0
  163. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/data/tokenizer.json +0 -0
  164. {auto_coder-0.1.335/src/autocoder/dispacher/actions → auto_coder-0.1.337/src/autocoder/db}/__init__.py +0 -0
  165. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/db/store.py +0 -0
  166. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/dispacher/__init__.py +0 -0
  167. {auto_coder-0.1.335/src/autocoder/dispacher/actions/plugins → auto_coder-0.1.337/src/autocoder/dispacher/actions}/__init__.py +0 -0
  168. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/dispacher/actions/action.py +0 -0
  169. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/dispacher/actions/copilot.py +0 -0
  170. {auto_coder-0.1.335/src/autocoder/helper → auto_coder-0.1.337/src/autocoder/dispacher/actions/plugins}/__init__.py +0 -0
  171. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  172. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/events/__init__.py +0 -0
  173. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/events/event_content.py +0 -0
  174. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/events/event_manager_singleton.py +0 -0
  175. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/events/event_store.py +0 -0
  176. {auto_coder-0.1.335/src/autocoder/index → auto_coder-0.1.337/src/autocoder/helper}/__init__.py +0 -0
  177. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/helper/project_creator.py +0 -0
  178. {auto_coder-0.1.335/src/autocoder/index/filter → auto_coder-0.1.337/src/autocoder/index}/__init__.py +0 -0
  179. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/index/entry.py +0 -0
  180. {auto_coder-0.1.335/src/autocoder/linters → auto_coder-0.1.337/src/autocoder/index/filter}/__init__.py +0 -0
  181. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/index/filter/normal_filter.py +0 -0
  182. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/index/filter/quick_filter.py +0 -0
  183. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/index/for_command.py +0 -0
  184. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/index/index.py +0 -0
  185. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/index/symbols_utils.py +0 -0
  186. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/index/types.py +0 -0
  187. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/lang.py +0 -0
  188. {auto_coder-0.1.335/src/autocoder/rag → auto_coder-0.1.337/src/autocoder/linters}/__init__.py +0 -0
  189. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/linters/base_linter.py +0 -0
  190. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/linters/linter_factory.py +0 -0
  191. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/linters/models.py +0 -0
  192. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/linters/python_linter.py +0 -0
  193. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/linters/reactjs_linter.py +0 -0
  194. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/linters/shadow_linter.py +0 -0
  195. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/linters/vue_linter.py +0 -0
  196. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/memory/__init__.py +0 -0
  197. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/memory/active_package.py +0 -0
  198. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/memory/async_processor.py +0 -0
  199. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/memory/directory_mapper.py +0 -0
  200. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/plugins/__init__.py +0 -0
  201. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
  202. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/plugins/git_helper_plugin.py +0 -0
  203. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/plugins/sample_plugin.py +0 -0
  204. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/plugins/token_helper_plugin.py +0 -0
  205. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/plugins/utils.py +0 -0
  206. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/privacy/__init__.py +0 -0
  207. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/privacy/model_filter.py +0 -0
  208. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/pyproject/__init__.py +0 -0
  209. {auto_coder-0.1.335/src/autocoder/rag/cache → auto_coder-0.1.337/src/autocoder/rag}/__init__.py +0 -0
  210. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/api_server.py +0 -0
  211. {auto_coder-0.1.335/src/autocoder/rag/stream_event → auto_coder-0.1.337/src/autocoder/rag/cache}/__init__.py +0 -0
  212. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/cache/base_cache.py +0 -0
  213. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  214. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
  215. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  216. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
  217. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
  218. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
  219. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/cache/simple_cache.py +0 -0
  220. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/conversation_to_queries.py +0 -0
  221. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/doc_filter.py +0 -0
  222. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/document_retriever.py +0 -0
  223. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/lang.py +0 -0
  224. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/llm_wrapper.py +0 -0
  225. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/loaders/__init__.py +0 -0
  226. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  227. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  228. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  229. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  230. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/long_context_rag.py +0 -0
  231. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
  232. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/rag_config.py +0 -0
  233. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/rag_entry.py +0 -0
  234. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/raw_rag.py +0 -0
  235. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/relevant_utils.py +0 -0
  236. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/searchable.py +0 -0
  237. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/simple_directory_reader.py +0 -0
  238. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/simple_rag.py +0 -0
  239. {auto_coder-0.1.335/src/autocoder/shadows → auto_coder-0.1.337/src/autocoder/rag/stream_event}/__init__.py +0 -0
  240. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  241. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/stream_event/types.py +0 -0
  242. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/token_checker.py +0 -0
  243. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/token_counter.py +0 -0
  244. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/token_limiter.py +0 -0
  245. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/token_limiter_utils.py +0 -0
  246. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/types.py +0 -0
  247. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/utils.py +0 -0
  248. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/rag/variable_holder.py +0 -0
  249. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/regexproject/__init__.py +0 -0
  250. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/run_context.py +0 -0
  251. {auto_coder-0.1.335/src/autocoder/utils/auto_coder_utils → auto_coder-0.1.337/src/autocoder/shadows}/__init__.py +0 -0
  252. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/shadows/shadow_manager.py +0 -0
  253. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/suffixproject/__init__.py +0 -0
  254. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/tsproject/__init__.py +0 -0
  255. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/__init__.py +0 -0
  256. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/_markitdown.py +0 -0
  257. {auto_coder-0.1.335/src/autocoder/utils/chat_auto_coder_utils → auto_coder-0.1.337/src/autocoder/utils/auto_coder_utils}/__init__.py +0 -0
  258. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  259. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/auto_project_type.py +0 -0
  260. /auto_coder-0.1.335/src/autocoder/utils/types.py → /auto_coder-0.1.337/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  261. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/conversation_store.py +0 -0
  262. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  263. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/log_capture.py +0 -0
  264. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/model_provider_selector.py +0 -0
  265. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/multi_turn.py +0 -0
  266. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/operate_config_api.py +0 -0
  267. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/print_table.py +0 -0
  268. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/project_structure.py +0 -0
  269. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/queue_communicate.py +0 -0
  270. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/request_event_queue.py +0 -0
  271. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/request_queue.py +0 -0
  272. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/rest.py +0 -0
  273. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/stream_thinking.py +0 -0
  274. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/tests.py +0 -0
  275. {auto_coder-0.1.335 → auto_coder-0.1.337}/src/autocoder/utils/thread_utils.py +0 -0
  276. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_action_regex_project.py +0 -0
  277. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_action_yml_file_manager.py +0 -0
  278. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_chat_auto_coder.py +0 -0
  279. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_code_auto_merge_editblock.py +0 -0
  280. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_command_completer.py +0 -0
  281. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_planner.py +0 -0
  282. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_plugins.py +0 -0
  283. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_privacy.py +0 -0
  284. {auto_coder-0.1.335 → auto_coder-0.1.337}/tests/test_queue_communicate.py +0 -0
  285. {auto_coder-0.1.335 → auto_coder-0.1.337}/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.335
3
+ Version: 0.1.337
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -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.180
31
+ Requires-Dist: byzerllm[saas]>=0.1.181
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.335
3
+ Version: 0.1.337
4
4
  Summary: AutoCoder: AutoCoder
5
5
  Author: allwefantasy
6
6
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -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.180
31
+ Requires-Dist: byzerllm[saas]>=0.1.181
32
32
  Requires-Dist: patch
33
33
  Requires-Dist: diff_match_patch
34
34
  Requires-Dist: GitPython
@@ -22,8 +22,6 @@ src/autocoder/models.py
22
22
  src/autocoder/run_context.py
23
23
  src/autocoder/version.py
24
24
  src/autocoder/agent/__init__.py
25
- src/autocoder/agent/agentic_edit.py
26
- src/autocoder/agent/agentic_edit_types.py
27
25
  src/autocoder/agent/agentic_filter.py
28
26
  src/autocoder/agent/auto_demand_organizer.py
29
27
  src/autocoder/agent/auto_filegroup.py
@@ -35,19 +33,6 @@ src/autocoder/agent/coder.py
35
33
  src/autocoder/agent/designer.py
36
34
  src/autocoder/agent/planner.py
37
35
  src/autocoder/agent/project_reader.py
38
- src/autocoder/agent/agentic_edit_tools/__init__.py
39
- src/autocoder/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py
40
- src/autocoder/agent/agentic_edit_tools/attempt_completion_tool_resolver.py
41
- src/autocoder/agent/agentic_edit_tools/base_tool_resolver.py
42
- src/autocoder/agent/agentic_edit_tools/execute_command_tool_resolver.py
43
- src/autocoder/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py
44
- src/autocoder/agent/agentic_edit_tools/list_files_tool_resolver.py
45
- src/autocoder/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py
46
- src/autocoder/agent/agentic_edit_tools/read_file_tool_resolver.py
47
- src/autocoder/agent/agentic_edit_tools/replace_in_file_tool_resolver.py
48
- src/autocoder/agent/agentic_edit_tools/search_files_tool_resolver.py
49
- src/autocoder/agent/agentic_edit_tools/use_mcp_tool_resolver.py
50
- src/autocoder/agent/agentic_edit_tools/write_to_file_tool_resolver.py
51
36
  src/autocoder/chat/__init__.py
52
37
  src/autocoder/commands/__init__.py
53
38
  src/autocoder/commands/auto_command.py
@@ -118,6 +103,7 @@ src/autocoder/common/mcp_servers/__init__.py
118
103
  src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py
119
104
  src/autocoder/common/mcp_servers/mcp_server_perplexity.py
120
105
  src/autocoder/common/v2/__init__.py
106
+ src/autocoder/common/v2/code_agentic_editblock_manager.py
121
107
  src/autocoder/common/v2/code_auto_generate.py
122
108
  src/autocoder/common/v2/code_auto_generate_diff.py
123
109
  src/autocoder/common/v2/code_auto_generate_editblock.py
@@ -130,6 +116,24 @@ src/autocoder/common/v2/code_diff_manager.py
130
116
  src/autocoder/common/v2/code_editblock_manager.py
131
117
  src/autocoder/common/v2/code_manager.py
132
118
  src/autocoder/common/v2/code_strict_diff_manager.py
119
+ src/autocoder/common/v2/agent/__init__.py
120
+ src/autocoder/common/v2/agent/agentic_edit.py
121
+ src/autocoder/common/v2/agent/agentic_edit_conversation.py
122
+ src/autocoder/common/v2/agent/agentic_edit_types.py
123
+ src/autocoder/common/v2/agent/agentic_tool_display.py
124
+ src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py
125
+ src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py
126
+ src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py
127
+ src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py
128
+ src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py
129
+ src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py
130
+ src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py
131
+ src/autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py
132
+ src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py
133
+ src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py
134
+ src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py
135
+ src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py
136
+ src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py
133
137
  src/autocoder/compilers/__init__.py
134
138
  src/autocoder/compilers/base_compiler.py
135
139
  src/autocoder/compilers/compiler_config_api.py
@@ -18,7 +18,7 @@ prompt-toolkit
18
18
  tokenizers
19
19
  aiofiles
20
20
  readerwriterlock
21
- byzerllm[saas]>=0.1.180
21
+ byzerllm[saas]>=0.1.181
22
22
  patch
23
23
  diff_match_patch
24
24
  GitPython
@@ -259,8 +259,8 @@ class AgenticFilter:
259
259
  3. **深入分析**:
260
260
  * 使用 `read_files` 读取关键文件的内容进行确认。如果文件过大,使用 `line_ranges` 参数分段读取。
261
261
  * 如有必要,使用 `run_python` 或 `execute_shell_command` 执行代码或命令进行更复杂的分析。
262
- 4. **迭代决策**: 根据工具的返回结果,你可能需要多次调用不同的工具来逐步缩小范围或获取更多信息。
263
- 5. **最终响应**: 当你确定了所有需要参考和修改的文件后,**必须**调用 `output_result` 工具,并提供符合其要求格式的JSON字符串作为其 `response` 参数。
262
+ 4. **迭代决策**: 根据工具的返回结果,你可能需要多次调用不同的工具来逐步缩小范围或获取更多信息。
263
+ 6. **最终响应**: 当你确定了所有需要参考和修改的文件后,**必须**调用 `output_result` 工具,并提供符合其要求格式的JSON字符串作为其 `response` 参数。
264
264
  该json格式要求为:
265
265
  ```json
266
266
  {
@@ -273,9 +273,17 @@ class AgenticFilter:
273
273
  "reasoning": "详细说明你是如何通过分析和使用工具得出这个文件列表的。"
274
274
  }
275
275
  ```
276
-
277
-
278
- """
276
+
277
+ {% if enable_active_context %}
278
+ ** 非常非常重要的提示 **
279
+ 每一个目录都有一个描述信息,比如 {{ project_path }}/src/abc/bbc 的目录描述信息会放在 {{ project_path }}/.auto-coder/active-context/src/abc/bbc/active.md 文件中。
280
+ 你可以使用 read_files 函数读取,从而帮助你更好的挑选要详细阅读哪个文件。值得注意的是,active.md 并不会包含该目录下所有的文件信息,只保存最近发生变更的文件的信息。
281
+ {% endif %}
282
+ """
283
+ return {
284
+ "project_path": os.path.abspath(self.args.source_dir),
285
+ "enable_active_context": self.args.enable_active_context,
286
+ }
279
287
 
280
288
  @byzerllm.prompt()
281
289
  def _execute_command_result(self, result: str) -> str:
@@ -590,8 +598,7 @@ class AgenticFilter:
590
598
  - 如果未找到匹配项,会返回提示信息
591
599
 
592
600
  </usage>
593
- </command>
594
-
601
+ </command>
595
602
  <command>
596
603
  <n>execute_mcp_server</n>
597
604
  <description>执行MCP服务器</description>
@@ -266,7 +266,8 @@ def main(input_args: Optional[List[str]] = None):
266
266
  "saas.base_url": model_info["base_url"],
267
267
  "saas.api_key": model_info["api_key"],
268
268
  "saas.model": model_info["model_name"],
269
- "saas.is_reasoning": model_info["is_reasoning"]
269
+ "saas.is_reasoning": model_info["is_reasoning"],
270
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
270
271
  }
271
272
  )
272
273
 
@@ -289,7 +290,8 @@ def main(input_args: Optional[List[str]] = None):
289
290
  "saas.base_url": model_info["base_url"],
290
291
  "saas.api_key": model_info["api_key"],
291
292
  "saas.model": model_info["model_name"],
292
- "saas.is_reasoning": model_info["is_reasoning"]
293
+ "saas.is_reasoning": model_info["is_reasoning"],
294
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
293
295
  }
294
296
  )
295
297
  models.append(code_model)
@@ -307,7 +309,8 @@ def main(input_args: Optional[List[str]] = None):
307
309
  "saas.base_url": model_info["base_url"],
308
310
  "saas.api_key": model_info["api_key"],
309
311
  "saas.model": model_info["model_name"],
310
- "saas.is_reasoning": model_info["is_reasoning"]
312
+ "saas.is_reasoning": model_info["is_reasoning"],
313
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
311
314
  }
312
315
  )
313
316
  llm.setup_sub_client("code_model", code_model)
@@ -328,7 +331,8 @@ def main(input_args: Optional[List[str]] = None):
328
331
  "saas.base_url": model_info["base_url"],
329
332
  "saas.api_key": model_info["api_key"],
330
333
  "saas.model": model_info["model_name"],
331
- "saas.is_reasoning": model_info["is_reasoning"]
334
+ "saas.is_reasoning": model_info["is_reasoning"],
335
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
332
336
  }
333
337
  )
334
338
  models.append(rerank_model)
@@ -346,7 +350,8 @@ def main(input_args: Optional[List[str]] = None):
346
350
  "saas.base_url": model_info["base_url"],
347
351
  "saas.api_key": model_info["api_key"],
348
352
  "saas.model": model_info["model_name"],
349
- "saas.is_reasoning": model_info["is_reasoning"]
353
+ "saas.is_reasoning": model_info["is_reasoning"],
354
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
350
355
  }
351
356
  )
352
357
  llm.setup_sub_client("generate_rerank_model", rerank_model)
@@ -363,7 +368,8 @@ def main(input_args: Optional[List[str]] = None):
363
368
  "saas.base_url": model_info["base_url"],
364
369
  "saas.api_key": model_info["api_key"],
365
370
  "saas.model": model_info["model_name"],
366
- "saas.is_reasoning": model_info["is_reasoning"]
371
+ "saas.is_reasoning": model_info["is_reasoning"],
372
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
367
373
  }
368
374
  )
369
375
  llm.setup_sub_client("inference_model", inference_model)
@@ -380,7 +386,8 @@ def main(input_args: Optional[List[str]] = None):
380
386
  "saas.base_url": model_info["base_url"],
381
387
  "saas.api_key": model_info["api_key"],
382
388
  "saas.model": model_info["model_name"],
383
- "saas.is_reasoning": model_info["is_reasoning"]
389
+ "saas.is_reasoning": model_info["is_reasoning"],
390
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
384
391
  }
385
392
  )
386
393
  llm.setup_sub_client("index_filter_model", index_filter_model)
@@ -546,7 +553,8 @@ def main(input_args: Optional[List[str]] = None):
546
553
  "saas.base_url": model_info["base_url"],
547
554
  "saas.api_key": model_info["api_key"],
548
555
  "saas.model": model_info["model_name"],
549
- "saas.is_reasoning": model_info["is_reasoning"]
556
+ "saas.is_reasoning": model_info["is_reasoning"],
557
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
550
558
  }
551
559
  )
552
560
  llm.setup_sub_client("chat_model", chat_model)
@@ -563,7 +571,8 @@ def main(input_args: Optional[List[str]] = None):
563
571
  "saas.base_url": model_info["base_url"],
564
572
  "saas.api_key": model_info["api_key"],
565
573
  "saas.model": model_info["model_name"],
566
- "saas.is_reasoning": model_info["is_reasoning"]
574
+ "saas.is_reasoning": model_info["is_reasoning"],
575
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
567
576
  }
568
577
  )
569
578
  llm.setup_sub_client("vl_model", vl_model)
@@ -580,7 +589,8 @@ def main(input_args: Optional[List[str]] = None):
580
589
  "saas.base_url": model_info["base_url"],
581
590
  "saas.api_key": model_info["api_key"],
582
591
  "saas.model": model_info["model_name"],
583
- "saas.is_reasoning": model_info["is_reasoning"]
592
+ "saas.is_reasoning": model_info["is_reasoning"],
593
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
584
594
  }
585
595
  )
586
596
  llm.setup_sub_client("index_model", index_model)
@@ -597,7 +607,8 @@ def main(input_args: Optional[List[str]] = None):
597
607
  "saas.base_url": model_info["base_url"],
598
608
  "saas.api_key": model_info["api_key"],
599
609
  "saas.model": model_info["model_name"],
600
- "saas.is_reasoning": model_info["is_reasoning"]
610
+ "saas.is_reasoning": model_info["is_reasoning"],
611
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
601
612
  }
602
613
  )
603
614
  llm.setup_sub_client("sd_model", sd_model)
@@ -614,7 +625,8 @@ def main(input_args: Optional[List[str]] = None):
614
625
  "saas.base_url": model_info["base_url"],
615
626
  "saas.api_key": model_info["api_key"],
616
627
  "saas.model": model_info["model_name"],
617
- "saas.is_reasoning": model_info["is_reasoning"]
628
+ "saas.is_reasoning": model_info["is_reasoning"],
629
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
618
630
  }
619
631
  )
620
632
  llm.setup_sub_client("text2voice_model", text2voice_model)
@@ -631,7 +643,8 @@ def main(input_args: Optional[List[str]] = None):
631
643
  "saas.base_url": model_info["base_url"],
632
644
  "saas.api_key": model_info["api_key"],
633
645
  "saas.model": model_info["model_name"],
634
- "saas.is_reasoning": model_info["is_reasoning"]
646
+ "saas.is_reasoning": model_info["is_reasoning"],
647
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
635
648
  }
636
649
  )
637
650
  llm.setup_sub_client("voice2text_model", voice2text_model)
@@ -648,7 +661,8 @@ def main(input_args: Optional[List[str]] = None):
648
661
  "saas.base_url": model_info["base_url"],
649
662
  "saas.api_key": model_info["api_key"],
650
663
  "saas.model": model_info["model_name"],
651
- "saas.is_reasoning": model_info["is_reasoning"]
664
+ "saas.is_reasoning": model_info["is_reasoning"],
665
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
652
666
  }
653
667
  )
654
668
  llm.setup_sub_client("planner_model", planner_model)
@@ -665,7 +679,8 @@ def main(input_args: Optional[List[str]] = None):
665
679
  "saas.base_url": model_info["base_url"],
666
680
  "saas.api_key": model_info["api_key"],
667
681
  "saas.model": model_info["model_name"],
668
- "saas.is_reasoning": model_info["is_reasoning"]
682
+ "saas.is_reasoning": model_info["is_reasoning"],
683
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
669
684
  }
670
685
  )
671
686
  llm.setup_sub_client("commit_model", commit_model)
@@ -682,7 +697,8 @@ def main(input_args: Optional[List[str]] = None):
682
697
  "saas.base_url": model_info["base_url"],
683
698
  "saas.api_key": model_info["api_key"],
684
699
  "saas.model": model_info["model_name"],
685
- "saas.is_reasoning": model_info["is_reasoning"]
700
+ "saas.is_reasoning": model_info["is_reasoning"],
701
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
686
702
  }
687
703
  )
688
704
  llm.setup_sub_client("designer_model", designer_model)
@@ -699,7 +715,8 @@ def main(input_args: Optional[List[str]] = None):
699
715
  "saas.base_url": model_info["base_url"],
700
716
  "saas.api_key": model_info["api_key"],
701
717
  "saas.model": model_info["model_name"],
702
- "saas.is_reasoning": model_info["is_reasoning"]
718
+ "saas.is_reasoning": model_info["is_reasoning"],
719
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
703
720
  }
704
721
  )
705
722
  llm.setup_sub_client("emb_model", emb_model)
@@ -636,7 +636,8 @@ def main(input_args: Optional[List[str]] = None):
636
636
  "saas.base_url": model_info["base_url"],
637
637
  "saas.api_key": model_info["api_key"],
638
638
  "saas.model": model_info["model_name"],
639
- "saas.is_reasoning": model_info["is_reasoning"]
639
+ "saas.is_reasoning": model_info["is_reasoning"],
640
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
640
641
  }
641
642
  )
642
643
 
@@ -652,7 +653,8 @@ def main(input_args: Optional[List[str]] = None):
652
653
  "saas.base_url": model_info["base_url"],
653
654
  "saas.api_key": model_info["api_key"],
654
655
  "saas.model": model_info["model_name"],
655
- "saas.is_reasoning": model_info["is_reasoning"]
656
+ "saas.is_reasoning": model_info["is_reasoning"],
657
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
656
658
  }
657
659
  )
658
660
  llm.setup_sub_client("recall_model", recall_model)
@@ -668,7 +670,8 @@ def main(input_args: Optional[List[str]] = None):
668
670
  "saas.base_url": model_info["base_url"],
669
671
  "saas.api_key": model_info["api_key"],
670
672
  "saas.model": model_info["model_name"],
671
- "saas.is_reasoning": model_info["is_reasoning"]
673
+ "saas.is_reasoning": model_info["is_reasoning"],
674
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
672
675
  }
673
676
  )
674
677
  llm.setup_sub_client("chunk_model", chunk_model)
@@ -684,7 +687,8 @@ def main(input_args: Optional[List[str]] = None):
684
687
  "saas.base_url": model_info["base_url"],
685
688
  "saas.api_key": model_info["api_key"],
686
689
  "saas.model": model_info["model_name"],
687
- "saas.is_reasoning": model_info["is_reasoning"]
690
+ "saas.is_reasoning": model_info["is_reasoning"],
691
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
688
692
  }
689
693
  )
690
694
  llm.setup_sub_client("qa_model", qa_model)
@@ -700,7 +704,8 @@ def main(input_args: Optional[List[str]] = None):
700
704
  "saas.base_url": model_info["base_url"],
701
705
  "saas.api_key": model_info["api_key"],
702
706
  "saas.model": model_info["model_name"],
703
- "saas.is_reasoning": False
707
+ "saas.is_reasoning": False,
708
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
704
709
  }
705
710
  )
706
711
  llm.setup_sub_client("emb_model", emb_model)
@@ -792,7 +797,8 @@ def main(input_args: Optional[List[str]] = None):
792
797
  "saas.base_url": model_info["base_url"],
793
798
  "saas.api_key": model_info["api_key"],
794
799
  "saas.model": model_info["model_name"],
795
- "saas.is_reasoning": model_info["is_reasoning"]
800
+ "saas.is_reasoning": model_info["is_reasoning"],
801
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
796
802
  }
797
803
  )
798
804
 
@@ -806,7 +812,8 @@ def main(input_args: Optional[List[str]] = None):
806
812
  "saas.base_url": model_info["base_url"],
807
813
  "saas.api_key": model_info["api_key"],
808
814
  "saas.model": model_info["model_name"],
809
- "saas.is_reasoning": False
815
+ "saas.is_reasoning": False,
816
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
810
817
  }
811
818
  )
812
819
  llm.setup_sub_client("emb_model", emb_model)
@@ -852,7 +859,8 @@ def main(input_args: Optional[List[str]] = None):
852
859
  "saas.base_url": model_info["base_url"],
853
860
  "saas.api_key": model_info["api_key"],
854
861
  "saas.model": model_info["model_name"],
855
- "saas.is_reasoning": model_info["is_reasoning"]
862
+ "saas.is_reasoning": model_info["is_reasoning"],
863
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
856
864
  }
857
865
  )
858
866
 
@@ -882,7 +890,8 @@ def main(input_args: Optional[List[str]] = None):
882
890
  "saas.base_url": model_info["base_url"],
883
891
  "saas.api_key": model_info["api_key"],
884
892
  "saas.model": model_info["model_name"],
885
- "saas.is_reasoning": model_info["is_reasoning"]
893
+ "saas.is_reasoning": model_info["is_reasoning"],
894
+ "saas.max_output_tokens": model_info.get("max_output_tokens", 8096)
886
895
  }
887
896
  )
888
897
 
@@ -22,6 +22,8 @@ from autocoder.common.result_manager import ResultManager
22
22
  from autocoder.version import __version__
23
23
  from autocoder.auto_coder import main as auto_coder_main
24
24
  from autocoder.utils import get_last_yaml_file
25
+ from autocoder.commands.auto_command import CommandAutoTuner, AutoCommandRequest, CommandConfig, MemoryConfig
26
+ from autocoder.common.v2.agent.agentic_edit import AgenticEdit,AgenticEditRequest
25
27
  from autocoder.index.symbols_utils import (
26
28
  extract_symbols,
27
29
  SymbolType,
@@ -58,11 +60,12 @@ from autocoder.memory.active_context_manager import ActiveContextManager
58
60
  from autocoder.common.command_completer import CommandCompleter,FileSystemModel as CCFileSystemModel,MemoryConfig as CCMemoryModel
59
61
  from autocoder.common.conf_validator import ConfigValidator
60
62
  from autocoder import command_parser as CommandParser
61
- from loguru import logger
63
+ from loguru import logger as global_logger
62
64
  from autocoder.utils.project_structure import EnhancedFileAnalyzer
65
+ from autocoder.common import SourceCodeList,SourceCode
63
66
 
64
- ## 对外API,用于第三方集成 auto-coder 使用。
65
67
 
68
+ ## 对外API,用于第三方集成 auto-coder 使用。
66
69
  class SymbolItem(BaseModel):
67
70
  symbol_name: str
68
71
  symbol_type: SymbolType
@@ -222,6 +225,36 @@ def get_all_extensions(directory: str = ".") -> str:
222
225
  # 转换为逗号分隔的字符串
223
226
  return ",".join(sorted(all_extensions))
224
227
 
228
+ def configure_logger():
229
+ # 设置日志目录和文件
230
+ log_dir = os.path.join(project_root, ".auto-coder", "logs")
231
+ os.makedirs(log_dir, exist_ok=True)
232
+ log_file = os.path.join(log_dir, "auto-coder.log")
233
+
234
+ # 配置全局日志
235
+ # 默认情况下,所有日志都写入文件
236
+ # 控制台上默认不输出任何日志,除非显式配置
237
+ global_logger.configure(
238
+ handlers=[
239
+ {
240
+ "sink": log_file,
241
+ "level": "INFO",
242
+ "rotation": "10 MB",
243
+ "retention": "1 week",
244
+ "format": "{time:YYYY-MM-DD HH:mm:ss} | {level} | {name} | {message}",
245
+ },
246
+ {
247
+ "sink": sys.stdout,
248
+ "level": "INFO",
249
+ "format": "{time:YYYY-MM-DD HH:mm:ss} | {name} | {message}",
250
+ # 默认不打印任何日志到控制台
251
+ "filter": lambda record: False
252
+ }
253
+ ]
254
+ )
255
+
256
+ configure_logger()
257
+
225
258
  def initialize_system(args:InitializeSystemRequest):
226
259
  from autocoder.utils.model_provider_selector import ModelProviderSelector
227
260
  from autocoder import models as models_module
@@ -2746,12 +2779,67 @@ def conf_import(path: str):
2746
2779
  from autocoder.common.conf_import_export import import_conf
2747
2780
  import_conf(os.getcwd(), path)
2748
2781
 
2749
- @run_in_raw_thread()
2750
- def auto_command(query: str,extra_args: Dict[str,Any]={}):
2751
- """处理/auto指令"""
2752
- from autocoder.commands.auto_command import CommandAutoTuner, AutoCommandRequest, CommandConfig, MemoryConfig
2753
- args = get_final_config()
2782
+ def generate_new_yaml(query: str):
2783
+ memory = get_memory()
2784
+ conf = memory.get("conf",{})
2785
+ current_files = memory.get("current_files",{}).get("files",[])
2786
+ auto_coder_main(["next", "chat_action"])
2787
+ latest_yaml_file = get_last_yaml_file("actions")
2788
+ if latest_yaml_file:
2789
+ yaml_config = {
2790
+ "include_file": ["./base/base.yml"],
2791
+ "auto_merge": conf.get("auto_merge", "editblock"),
2792
+ "human_as_model": conf.get("human_as_model", "false") == "true",
2793
+ "skip_build_index": conf.get("skip_build_index", "true") == "true",
2794
+ "skip_confirm": conf.get("skip_confirm", "true") == "true",
2795
+ "silence": conf.get("silence", "true") == "true",
2796
+ "include_project_structure": conf.get("include_project_structure", "true")
2797
+ == "true",
2798
+ "exclude_files": memory.get("exclude_files", []),
2799
+ }
2800
+ yaml_config["context"] = ""
2801
+ for key, value in conf.items():
2802
+ converted_value = convert_config_value(key, value)
2803
+ if converted_value is not None:
2804
+ yaml_config[key] = converted_value
2805
+
2806
+ yaml_config["urls"] = current_files + get_llm_friendly_package_docs(
2807
+ return_paths=True
2808
+ )
2809
+ # handle image
2810
+ v = Image.convert_image_paths_from(query)
2811
+ yaml_config["query"] = v
2754
2812
 
2813
+ yaml_content = convert_yaml_config_to_str(yaml_config=yaml_config)
2814
+
2815
+ execute_file = os.path.join("actions", latest_yaml_file)
2816
+ with open(os.path.join(execute_file), "w",encoding="utf-8") as f:
2817
+ f.write(yaml_content)
2818
+ return execute_file,convert_yaml_to_config(execute_file)
2819
+
2820
+ @run_in_raw_thread()
2821
+ def auto_command(query: str,extra_args: Dict[str,Any]={}):
2822
+ """处理/auto指令"""
2823
+ args = get_final_config()
2824
+ memory = get_memory()
2825
+ if args.enable_agentic_edit:
2826
+ execute_file,args = generate_new_yaml(query)
2827
+ args.file = execute_file
2828
+ current_files = memory.get("current_files",{}).get("files",[])
2829
+ sources = []
2830
+ for file in current_files:
2831
+ with open(file,"r",encoding="utf-8") as f:
2832
+ sources.append(SourceCode(module_name=file,source_code=f.read()))
2833
+
2834
+ llm = get_single_llm(args.code_model or args.model,product_mode=args.product_mode)
2835
+ agent = AgenticEdit(llm=llm,args=args,files=SourceCodeList(sources=sources),
2836
+ conversation_history=[],
2837
+ memory_config=MemoryConfig(memory=memory,
2838
+ save_memory_func=save_memory), command_config=CommandConfig)
2839
+ agent.run_in_terminal(AgenticEditRequest(user_input=query))
2840
+ return
2841
+
2842
+ args = get_final_config()
2755
2843
  # 准备请求参数
2756
2844
  request = AutoCommandRequest(
2757
2845
  user_input=query
@@ -668,8 +668,7 @@ def main():
668
668
  try:
669
669
  # Shutdown all plugins before exiting
670
670
  plugin_manager.shutdown_all()
671
-
672
- save_memory()
671
+ # save_memory()
673
672
  try:
674
673
  if get_mcp_server():
675
674
  get_mcp_server().stop()
@@ -272,6 +272,7 @@ class AutoCoderArgs(pydantic.BaseModel):
272
272
  index_model_anti_quota_limit: Optional[int] = 0
273
273
 
274
274
  enable_agentic_filter: Optional[bool] = False
275
+ enable_agentic_edit: Optional[bool] = False
275
276
 
276
277
 
277
278
  index_filter_level: Optional[int] = 0
@@ -825,6 +825,14 @@ MESSAGES = {
825
825
  "/compile/check/end": {
826
826
  "en": "Finished compile error checking process.",
827
827
  "zh": "结束编译错误检查过程."
828
+ },
829
+ "/agent/edit/objective":{
830
+ "en":"Objective",
831
+ "zh":"目标"
832
+ },
833
+ "/agent/edit/user_query":{
834
+ "en":"User Query",
835
+ "zh":"用户查询"
828
836
  }
829
837
  }
830
838