auto-coder 0.1.389__tar.gz → 0.1.390__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 (366) hide show
  1. {auto_coder-0.1.389 → auto_coder-0.1.390}/PKG-INFO +2 -2
  2. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/auto_coder.egg-info/PKG-INFO +2 -2
  3. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/auto_coder.egg-info/SOURCES.txt +4 -0
  4. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/auto_coder.egg-info/requires.txt +1 -1
  5. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/auto_coder_rag.py +5 -0
  6. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/auto_coder_runner.py +12 -3
  7. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/chat_auto_coder.py +6 -2
  8. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/__init__.py +1 -0
  9. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +16 -17
  10. auto_coder-0.1.390/src/autocoder/memory/active_changes.py +255 -0
  11. auto_coder-0.1.390/src/autocoder/memory/active_diagrams.py +302 -0
  12. auto_coder-0.1.390/src/autocoder/memory/active_documents.py +287 -0
  13. auto_coder-0.1.390/src/autocoder/memory/active_header.py +88 -0
  14. auto_coder-0.1.390/src/autocoder/memory/active_package.py +355 -0
  15. auto_coder-0.1.390/src/autocoder/utils/types.py +0 -0
  16. auto_coder-0.1.390/src/autocoder/version.py +2 -0
  17. auto_coder-0.1.389/src/autocoder/memory/__init__.py +0 -7
  18. auto_coder-0.1.389/src/autocoder/memory/active_package.py +0 -611
  19. auto_coder-0.1.389/src/autocoder/version.py +0 -2
  20. {auto_coder-0.1.389 → auto_coder-0.1.390}/LICENSE +0 -0
  21. {auto_coder-0.1.389 → auto_coder-0.1.390}/README.md +0 -0
  22. {auto_coder-0.1.389 → auto_coder-0.1.390}/setup.cfg +0 -0
  23. {auto_coder-0.1.389 → auto_coder-0.1.390}/setup.py +0 -0
  24. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/auto_coder.egg-info/dependency_links.txt +0 -0
  25. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/auto_coder.egg-info/entry_points.txt +0 -0
  26. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/auto_coder.egg-info/top_level.txt +0 -0
  27. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/__init__.py +0 -0
  28. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/__init__.py +0 -0
  29. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/agentic_filter.py +0 -0
  30. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/auto_demand_organizer.py +0 -0
  31. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/auto_filegroup.py +0 -0
  32. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/auto_guess_query.py +0 -0
  33. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/auto_learn.py +0 -0
  34. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
  35. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/auto_review_commit.py +0 -0
  36. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/auto_tool.py +0 -0
  37. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/__init__.py +0 -0
  38. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/agent_hub.py +0 -0
  39. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/agentic_lang.py +0 -0
  40. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/agentic_tool_display.py +0 -0
  41. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/base_agent.py +0 -0
  42. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/default_tools.py +0 -0
  43. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/test_base_agent.py +0 -0
  44. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tool_registry.py +0 -0
  45. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/__init__.py +0 -0
  46. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/ask_followup_question_tool_resolver.py +0 -0
  47. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/attempt_completion_tool_resolver.py +0 -0
  48. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/base_tool_resolver.py +0 -0
  49. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/example_tool_resolver.py +0 -0
  50. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/execute_command_tool_resolver.py +0 -0
  51. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/list_files_tool_resolver.py +0 -0
  52. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/plan_mode_respond_tool_resolver.py +0 -0
  53. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +0 -0
  54. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/replace_in_file_tool_resolver.py +0 -0
  55. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/search_files_tool_resolver.py +0 -0
  56. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/talk_to_group_tool_resolver.py +0 -0
  57. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/talk_to_tool_resolver.py +0 -0
  58. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/use_mcp_tool_resolver.py +0 -0
  59. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +0 -0
  60. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/types.py +0 -0
  61. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/base_agentic/utils.py +0 -0
  62. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/coder.py +0 -0
  63. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/designer.py +0 -0
  64. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/planner.py +0 -0
  65. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/agent/project_reader.py +0 -0
  66. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/auto_coder.py +0 -0
  67. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/auto_coder_server.py +0 -0
  68. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/benchmark.py +0 -0
  69. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/chat/__init__.py +0 -0
  70. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/chat/conf_command.py +0 -0
  71. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/chat/models_command.py +0 -0
  72. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/chat/rules_command.py +0 -0
  73. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/chat_auto_coder_lang.py +0 -0
  74. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/command_args.py +0 -0
  75. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/command_parser.py +0 -0
  76. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/commands/__init__.py +0 -0
  77. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/commands/auto_command.py +0 -0
  78. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/commands/auto_web.py +0 -0
  79. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/commands/tools.py +0 -0
  80. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/JupyterClient.py +0 -0
  81. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/ShellClient.py +0 -0
  82. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/action_yml_file_manager.py +0 -0
  83. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/anything2images.py +0 -0
  84. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/anything2img.py +0 -0
  85. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/audio.py +0 -0
  86. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/auto_coder_lang.py +0 -0
  87. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/auto_configure.py +0 -0
  88. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/buildin_tokenizer.py +0 -0
  89. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/chunk_validation.py +0 -0
  90. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/cleaner.py +0 -0
  91. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_execute.py +0 -0
  92. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_generate.py +0 -0
  93. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_generate_diff.py +0 -0
  94. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
  95. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
  96. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_merge.py +0 -0
  97. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_merge_diff.py +0 -0
  98. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
  99. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
  100. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/code_modification_ranker.py +0 -0
  101. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_completer.py +0 -0
  102. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_completer_v2.py +0 -0
  103. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_file_manager/__init__.py +0 -0
  104. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_file_manager/examples.py +0 -0
  105. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_file_manager/manager.py +0 -0
  106. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_file_manager/models.py +0 -0
  107. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_file_manager/utils.py +0 -0
  108. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_generator.py +0 -0
  109. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/command_templates.py +0 -0
  110. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/computer_use.py +0 -0
  111. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/conf_import_export.py +0 -0
  112. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/conf_utils.py +0 -0
  113. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/conf_validator.py +0 -0
  114. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/const.py +0 -0
  115. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/context_pruner.py +0 -0
  116. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/conversation_pruner.py +0 -0
  117. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/conversations/__init__.py +0 -0
  118. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/conversations/compatibility.py +0 -0
  119. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/conversations/conversation_manager.py +0 -0
  120. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/conversations/example.py +0 -0
  121. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/directory_cache/__init__.py +0 -0
  122. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/directory_cache/cache.py +0 -0
  123. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/directory_cache/test_cache.py +0 -0
  124. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/__init__.py +0 -0
  125. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/backup.py +0 -0
  126. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/conversation_checkpoint.py +0 -0
  127. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/examples.py +0 -0
  128. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/manager.py +0 -0
  129. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/models.py +0 -0
  130. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/store.py +0 -0
  131. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/test_backup.py +0 -0
  132. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/test_manager.py +0 -0
  133. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/test_models.py +0 -0
  134. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/test_store.py +0 -0
  135. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/test_utils.py +0 -0
  136. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_checkpoint/utils.py +0 -0
  137. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_monitor/__init__.py +0 -0
  138. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/file_monitor/monitor.py +0 -0
  139. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/files.py +0 -0
  140. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/git_utils.py +0 -0
  141. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/global_cancel.py +0 -0
  142. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/ignorefiles/__init__.py +0 -0
  143. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/ignorefiles/ignore_file_utils.py +0 -0
  144. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/ignorefiles/test_ignore_file_utils.py +0 -0
  145. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/image_to_page.py +0 -0
  146. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/index_import_export.py +0 -0
  147. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/interpreter.py +0 -0
  148. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/llm_friendly_package.py +0 -0
  149. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/llm_friendly_package_example.py +0 -0
  150. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/llm_friendly_package_test.py +0 -0
  151. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/mcp_hub.py +0 -0
  152. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/mcp_server.py +0 -0
  153. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/mcp_server_install.py +0 -0
  154. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/mcp_server_types.py +0 -0
  155. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/mcp_servers/__init__.py +0 -0
  156. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
  157. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
  158. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/mcp_tools.py +0 -0
  159. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/memory_manager.py +0 -0
  160. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/model_speed_tester.py +0 -0
  161. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/openai_content.py +0 -0
  162. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/printer.py +0 -0
  163. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/recall_validation.py +0 -0
  164. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/result_manager.py +0 -0
  165. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/rulefiles/__init__.py +0 -0
  166. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/rulefiles/autocoderrules_utils.py +0 -0
  167. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/run_cmd.py +0 -0
  168. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/save_formatted_log.py +0 -0
  169. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/screenshots.py +0 -0
  170. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/search.py +0 -0
  171. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/search_replace.py +0 -0
  172. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/shells.py +0 -0
  173. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/stats_panel.py +0 -0
  174. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/stream_out_type.py +0 -0
  175. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/sys_prompt.py +0 -0
  176. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/test_run_cmd.py +0 -0
  177. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/text.py +0 -0
  178. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/token_cost_caculate.py +0 -0
  179. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/types.py +0 -0
  180. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/utils_code_auto_generate.py +0 -0
  181. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/__init__.py +0 -0
  182. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/__init__.py +0 -0
  183. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit.py +0 -0
  184. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py +0 -0
  185. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +0 -0
  186. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py +0 -0
  187. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +0 -0
  188. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py +0 -0
  189. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +0 -0
  190. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/list_package_info_tool_resolver.py +0 -0
  191. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +0 -0
  192. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +0 -0
  193. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +0 -0
  194. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +0 -0
  195. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resolver.py +0 -0
  196. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py +0 -0
  197. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +0 -0
  198. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +0 -0
  199. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +0 -0
  200. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_edit_types.py +0 -0
  201. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/agent/agentic_tool_display.py +0 -0
  202. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_agentic_editblock_manager.py +0 -0
  203. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_auto_generate.py +0 -0
  204. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_auto_generate_diff.py +0 -0
  205. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_auto_generate_editblock.py +0 -0
  206. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_auto_generate_strict_diff.py +0 -0
  207. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_auto_merge.py +0 -0
  208. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_auto_merge_diff.py +0 -0
  209. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_auto_merge_editblock.py +0 -0
  210. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_auto_merge_strict_diff.py +0 -0
  211. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_diff_manager.py +0 -0
  212. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_editblock_manager.py +0 -0
  213. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_manager.py +0 -0
  214. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/common/v2/code_strict_diff_manager.py +0 -0
  215. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/__init__.py +0 -0
  216. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/base_compiler.py +0 -0
  217. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/compiler_config_api.py +0 -0
  218. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/compiler_config_manager.py +0 -0
  219. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/compiler_factory.py +0 -0
  220. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/java_compiler.py +0 -0
  221. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/models.py +0 -0
  222. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/normal_compiler.py +0 -0
  223. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/provided_compiler.py +0 -0
  224. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/python_compiler.py +0 -0
  225. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/reactjs_compiler.py +0 -0
  226. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/shadow_compiler.py +0 -0
  227. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/compilers/vue_compiler.py +0 -0
  228. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/data/byzerllm.md +0 -0
  229. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/data/tokenizer.json +0 -0
  230. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/db/__init__.py +0 -0
  231. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/db/store.py +0 -0
  232. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/dispacher/__init__.py +0 -0
  233. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/dispacher/actions/__init__.py +0 -0
  234. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/dispacher/actions/action.py +0 -0
  235. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/dispacher/actions/copilot.py +0 -0
  236. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
  237. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
  238. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/events/__init__.py +0 -0
  239. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/events/event_content.py +0 -0
  240. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/events/event_manager.py +0 -0
  241. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/events/event_manager_singleton.py +0 -0
  242. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/events/event_store.py +0 -0
  243. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/events/event_types.py +0 -0
  244. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/helper/__init__.py +0 -0
  245. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/helper/project_creator.py +0 -0
  246. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/helper/rag_doc_creator.py +0 -0
  247. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/__init__.py +0 -0
  248. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/entry.py +0 -0
  249. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/filter/__init__.py +0 -0
  250. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/filter/normal_filter.py +0 -0
  251. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/filter/quick_filter.py +0 -0
  252. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/for_command.py +0 -0
  253. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/index.py +0 -0
  254. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/symbols_utils.py +0 -0
  255. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/index/types.py +0 -0
  256. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/lang.py +0 -0
  257. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/__init__.py +0 -0
  258. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/base_linter.py +0 -0
  259. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/linter_factory.py +0 -0
  260. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/models.py +0 -0
  261. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/normal_linter.py +0 -0
  262. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/python_linter.py +0 -0
  263. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/reactjs_linter.py +0 -0
  264. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/shadow_linter.py +0 -0
  265. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/test_python_linter.py +0 -0
  266. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/test_reactjs_linter.py +0 -0
  267. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/test_vue_linter.py +0 -0
  268. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/linters/vue_linter.py +0 -0
  269. {auto_coder-0.1.389/src/autocoder/rag → auto_coder-0.1.390/src/autocoder/memory}/__init__.py +0 -0
  270. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/memory/active_context_manager.py +0 -0
  271. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/memory/async_processor.py +0 -0
  272. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/memory/directory_mapper.py +0 -0
  273. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/models.py +0 -0
  274. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/plugins/__init__.py +0 -0
  275. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
  276. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/plugins/git_helper_plugin.py +0 -0
  277. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/plugins/sample_plugin.py +0 -0
  278. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/plugins/token_helper_plugin.py +0 -0
  279. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/plugins/utils.py +0 -0
  280. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/privacy/__init__.py +0 -0
  281. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/privacy/model_filter.py +0 -0
  282. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/pyproject/__init__.py +0 -0
  283. {auto_coder-0.1.389/src/autocoder/rag/cache → auto_coder-0.1.390/src/autocoder/rag}/__init__.py +0 -0
  284. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/agentic_rag.py +0 -0
  285. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/api_server.py +0 -0
  286. {auto_coder-0.1.389/src/autocoder/rag/stream_event → auto_coder-0.1.390/src/autocoder/rag/cache}/__init__.py +0 -0
  287. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/base_cache.py +0 -0
  288. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
  289. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
  290. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/failed_files_utils.py +0 -0
  291. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
  292. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
  293. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
  294. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
  295. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/cache/simple_cache.py +0 -0
  296. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/conversation_to_queries.py +0 -0
  297. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/doc_filter.py +0 -0
  298. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/document_retriever.py +0 -0
  299. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/lang.py +0 -0
  300. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/llm_wrapper.py +0 -0
  301. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/loaders/__init__.py +0 -0
  302. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/loaders/docx_loader.py +0 -0
  303. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/loaders/excel_loader.py +0 -0
  304. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/loaders/filter_utils.py +0 -0
  305. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/loaders/image_loader.py +0 -0
  306. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
  307. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
  308. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/long_context_rag.py +0 -0
  309. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
  310. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/rag_config.py +0 -0
  311. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/rag_entry.py +0 -0
  312. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/relevant_utils.py +0 -0
  313. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/searchable.py +0 -0
  314. {auto_coder-0.1.389/src/autocoder/shadows → auto_coder-0.1.390/src/autocoder/rag/stream_event}/__init__.py +0 -0
  315. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/stream_event/event_writer.py +0 -0
  316. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/stream_event/types.py +0 -0
  317. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/test_doc_filter.py +0 -0
  318. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/test_long_context_rag.py +0 -0
  319. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/test_token_limiter.py +0 -0
  320. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/token_checker.py +0 -0
  321. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/token_counter.py +0 -0
  322. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/token_limiter.py +0 -0
  323. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/token_limiter_utils.py +0 -0
  324. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/tools/__init__.py +0 -0
  325. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/tools/recall_tool.py +0 -0
  326. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/tools/search_tool.py +0 -0
  327. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/types.py +0 -0
  328. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/utils.py +0 -0
  329. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/rag/variable_holder.py +0 -0
  330. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/regexproject/__init__.py +0 -0
  331. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/run_context.py +0 -0
  332. {auto_coder-0.1.389/src/autocoder/utils/auto_coder_utils → auto_coder-0.1.390/src/autocoder/shadows}/__init__.py +0 -0
  333. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/shadows/shadow_manager.py +0 -0
  334. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/suffixproject/__init__.py +0 -0
  335. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/tsproject/__init__.py +0 -0
  336. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/__init__.py +0 -0
  337. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/_markitdown.py +0 -0
  338. {auto_coder-0.1.389/src/autocoder/utils/chat_auto_coder_utils → auto_coder-0.1.390/src/autocoder/utils/auto_coder_utils}/__init__.py +0 -0
  339. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
  340. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/auto_project_type.py +0 -0
  341. /auto_coder-0.1.389/src/autocoder/utils/types.py → /auto_coder-0.1.390/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
  342. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/conversation_store.py +0 -0
  343. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/llm_client_interceptors.py +0 -0
  344. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/llms.py +0 -0
  345. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/log_capture.py +0 -0
  346. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/model_provider_selector.py +0 -0
  347. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/multi_turn.py +0 -0
  348. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/operate_config_api.py +0 -0
  349. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/print_table.py +0 -0
  350. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/project_structure.py +0 -0
  351. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/queue_communicate.py +0 -0
  352. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/request_event_queue.py +0 -0
  353. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/request_queue.py +0 -0
  354. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/rest.py +0 -0
  355. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/stream_thinking.py +0 -0
  356. {auto_coder-0.1.389 → auto_coder-0.1.390}/src/autocoder/utils/thread_utils.py +0 -0
  357. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_action_regex_project.py +0 -0
  358. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_action_yml_file_manager.py +0 -0
  359. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_chat_auto_coder.py +0 -0
  360. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_code_auto_merge_editblock.py +0 -0
  361. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_command_completer.py +0 -0
  362. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_planner.py +0 -0
  363. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_plugins.py +0 -0
  364. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_privacy.py +0 -0
  365. {auto_coder-0.1.389 → auto_coder-0.1.390}/tests/test_queue_communicate.py +0 -0
  366. {auto_coder-0.1.389 → auto_coder-0.1.390}/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.389
3
+ Version: 0.1.390
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.187
31
+ Requires-Dist: byzerllm[saas]>=0.1.188
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.389
3
+ Version: 0.1.390
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.187
31
+ Requires-Dist: byzerllm[saas]>=0.1.188
32
32
  Requires-Dist: patch
33
33
  Requires-Dist: diff_match_patch
34
34
  Requires-Dist: GitPython
@@ -258,7 +258,11 @@ src/autocoder/linters/test_reactjs_linter.py
258
258
  src/autocoder/linters/test_vue_linter.py
259
259
  src/autocoder/linters/vue_linter.py
260
260
  src/autocoder/memory/__init__.py
261
+ src/autocoder/memory/active_changes.py
261
262
  src/autocoder/memory/active_context_manager.py
263
+ src/autocoder/memory/active_diagrams.py
264
+ src/autocoder/memory/active_documents.py
265
+ src/autocoder/memory/active_header.py
262
266
  src/autocoder/memory/active_package.py
263
267
  src/autocoder/memory/async_processor.py
264
268
  src/autocoder/memory/directory_mapper.py
@@ -18,7 +18,7 @@ prompt-toolkit
18
18
  tokenizers
19
19
  aiofiles
20
20
  readerwriterlock
21
- byzerllm[saas]>=0.1.187
21
+ byzerllm[saas]>=0.1.188
22
22
  patch
23
23
  diff_match_patch
24
24
  GitPython
@@ -936,6 +936,11 @@ def main(input_args: Optional[List[str]] = None):
936
936
  logger.error(
937
937
  "The document retriever does not support hybrid index building"
938
938
  )
939
+ try:
940
+ monitor = FileMonitor(args.doc_dir)
941
+ monitor.stop()
942
+ except Exception as e:
943
+ logger.warning(f"Failed to stop file monitor: {e}")
939
944
 
940
945
  elif args.command == "tools":
941
946
  if args.tool == "count":
@@ -258,6 +258,7 @@ def configure_logger():
258
258
  ]
259
259
  )
260
260
 
261
+
261
262
  def init_singleton_instances():
262
263
  # 初始化文件监控系统
263
264
  try:
@@ -275,9 +276,17 @@ def init_singleton_instances():
275
276
  _ = IgnoreFileManager(project_root=project_root)
276
277
 
277
278
 
278
- if os.environ.get('autocoder_auto_init',"true") in ["true","True","True",True]:
279
- configure_logger()
280
- init_singleton_instances()
279
+ def start():
280
+ if os.environ.get('autocoder_auto_init',"true") in ["true","True","True",True]:
281
+ configure_logger()
282
+ init_singleton_instances()
283
+
284
+ def stop():
285
+ try:
286
+ FileMonitor(project_root).stop()
287
+ except Exception as e:
288
+ global_logger.error(f"Failed to stop file monitor: {e}")
289
+ global_logger.exception(e)
281
290
 
282
291
  def initialize_system(args:InitializeSystemRequest):
283
292
  from autocoder.utils.model_provider_selector import ModelProviderSelector
@@ -52,7 +52,9 @@ from autocoder.auto_coder_runner import (
52
52
  summon,
53
53
  get_memory,
54
54
  active_context,
55
- rules
55
+ rules,
56
+ start as start_engine,
57
+ stop as stop_engine
56
58
  )
57
59
  # Ensure the correct import is present
58
60
  from autocoder.chat.conf_command import handle_conf_command
@@ -269,6 +271,7 @@ ARGS = None
269
271
 
270
272
  def main():
271
273
  load_tokenizer()
274
+ start_engine()
272
275
 
273
276
  ARGS = parse_arguments()
274
277
 
@@ -668,13 +671,14 @@ def main():
668
671
  except EOFError:
669
672
  try:
670
673
  # Shutdown all plugins before exiting
671
- plugin_manager.shutdown_all()
674
+ plugin_manager.shutdown_all()
672
675
  # save_memory()
673
676
  try:
674
677
  if get_mcp_server():
675
678
  get_mcp_server().stop()
676
679
  except Exception as e:
677
680
  pass
681
+ stop_engine()
678
682
  except Exception as e:
679
683
  print(
680
684
  f"\033[91mAn error occurred while saving memory:\033[0m \033[93m{type(e).__name__}\033[0m - {str(e)}"
@@ -275,6 +275,7 @@ class AutoCoderArgs(pydantic.BaseModel):
275
275
 
276
276
  enable_agentic_filter: Optional[bool] = False
277
277
  enable_agentic_edit: Optional[bool] = True
278
+ enable_agentic_auto_approve: Optional[bool] = False
278
279
 
279
280
 
280
281
  index_filter_level: Optional[int] = 0
@@ -70,23 +70,22 @@ class ExecuteCommandToolResolver(BaseToolResolver):
70
70
  return ToolResult(success=False, message=f"Command '{command}' contains potentially unsafe characters.")
71
71
 
72
72
  # Approval mechanism (simplified)
73
- if requires_approval:
74
- # In a real scenario, this would involve user interaction
75
- logger.info(f"Command requires approval: {command}")
76
- # For now, let's assume approval is granted in non-interactive mode or handled elsewhere
77
- pass
78
-
79
- logger.info(f"Executing command: {command} in {os.path.abspath(source_dir)}")
80
- try:
81
- # 使用封装的run_cmd方法执行命令
82
- if get_run_context().is_web():
83
- answer = get_event_manager(
84
- self.args.event_file).ask_user(prompt=f"Allow to execute the `{command}`?",options=["yes","no"])
85
- if answer == "yes":
86
- pass
87
- else:
88
- return ToolResult(success=False, message=f"Command '{command}' execution denied by user.")
89
-
73
+ if not self.args.enable_agentic_auto_approve and requires_approval:
74
+ logger.info(f"Executing command: {command} in {os.path.abspath(source_dir)}")
75
+ try:
76
+ # 使用封装的run_cmd方法执行命令
77
+ if get_run_context().is_web():
78
+ answer = get_event_manager(
79
+ self.args.event_file).ask_user(prompt=f"Allow to execute the `{command}`?",options=["yes","no"])
80
+ if answer == "yes":
81
+ pass
82
+ else:
83
+ return ToolResult(success=False, message=f"Command '{command}' execution denied by user.")
84
+ except Exception as e:
85
+ logger.error(f"Error when ask the user to approve the command '{command}': {str(e)}")
86
+ return ToolResult(success=False, message=f"An unexpected error occurred while asking the user to approve the command: {str(e)}")
87
+
88
+ try:
90
89
  exit_code, output = run_cmd_subprocess(command, verbose=True, cwd=source_dir)
91
90
 
92
91
  logger.info(f"Command executed: {command}")
@@ -0,0 +1,255 @@
1
+ """
2
+ 当前变更模块 - 负责生成和更新 active.md 文件的当前变更部分
3
+ """
4
+
5
+ import re
6
+ import time
7
+ from typing import Dict, Any, Optional, Tuple
8
+ import byzerllm
9
+ from byzerllm import MetaHolder
10
+ from loguru import logger as global_logger
11
+ from autocoder.common.token_cost_caculate import TokenCostCalculator, TokenUsageStats
12
+ from autocoder.common import AutoCoderArgs
13
+
14
+
15
+ class ActiveChanges:
16
+ """
17
+ 负责处理 active.md 文件的当前变更部分
18
+ """
19
+
20
+ def __init__(self, llm: byzerllm.ByzerLLM, product_mode: str = "lite"):
21
+ """
22
+ 初始化当前变更处理器
23
+
24
+ Args:
25
+ llm: ByzerLLM实例,用于生成变更内容
26
+ product_mode: 产品模式,用于获取模型价格信息
27
+ """
28
+ self.llm = llm
29
+ self.product_mode = product_mode
30
+ self.logger = global_logger.bind(name="ActiveChanges")
31
+
32
+ def generate_changes(self, context: Dict[str, Any], query: str, args: AutoCoderArgs) -> Tuple[str, Dict[str, Any]]:
33
+ """
34
+ 生成当前变更内容
35
+
36
+ Args:
37
+ context: 目录上下文字典
38
+ query: 用户查询/需求
39
+ args: AutoCoderArgs实例,包含配置信息
40
+
41
+ Returns:
42
+ Tuple[str, Dict[str, Any]]: 生成的变更内容和token使用统计
43
+ """
44
+ try:
45
+ meta_holder = MetaHolder()
46
+ start_time = time.monotonic()
47
+
48
+ current_change = self.generate_current_change.with_llm(self.llm).with_meta(
49
+ meta_holder).run(context, query)
50
+
51
+ end_time = time.monotonic()
52
+
53
+ # 使用TokenCostCalculator跟踪token使用情况
54
+ token_calculator = TokenCostCalculator(logger_name="ActiveChanges", args=args)
55
+ stats: TokenUsageStats = token_calculator.track_token_usage(
56
+ llm=self.llm,
57
+ meta_holder=meta_holder,
58
+ operation_name="Current Change Generation",
59
+ start_time=start_time,
60
+ end_time=end_time,
61
+ product_mode=self.product_mode
62
+ )
63
+
64
+ self.logger.info(f"Current Change Generation - Total tokens: {stats.total_tokens}, Total cost: ${stats.total_cost:.6f}")
65
+
66
+ return current_change, {
67
+ "total_tokens": stats.total_tokens,
68
+ "input_tokens": stats.input_tokens,
69
+ "output_tokens": stats.output_tokens,
70
+ "cost": stats.total_cost
71
+ }
72
+ except Exception as e:
73
+ self.logger.error(f"Error generating changes: {e}")
74
+ empty_stats = {
75
+ "total_tokens": 0,
76
+ "input_tokens": 0,
77
+ "output_tokens": 0,
78
+ "cost": 0.0
79
+ }
80
+ return f"生成变更内容时出错: {str(e)}", empty_stats
81
+
82
+ def extract_changes(self, content: str) -> str:
83
+ """
84
+ 从现有内容中提取当前变更部分
85
+
86
+ Args:
87
+ content: 现有文件内容
88
+
89
+ Returns:
90
+ str: 提取的当前变更部分
91
+ """
92
+ try:
93
+ # 提取当前变更部分
94
+ current_change_match = re.search(r'## 当前变更\s*\n(.*?)(?=\n## |$)', content, re.DOTALL)
95
+ if current_change_match:
96
+ changes = current_change_match.group(1).strip()
97
+ self.logger.debug("Successfully extracted changes from existing content")
98
+ return changes
99
+ else:
100
+ self.logger.warning("No changes section found in existing content")
101
+ return ""
102
+ except Exception as e:
103
+ self.logger.error(f"Error extracting changes: {e}")
104
+ return ""
105
+
106
+ def update_changes(self, context: Dict[str, Any], query: str, existing_changes: str, args: AutoCoderArgs) -> Tuple[str, Dict[str, Any]]:
107
+ """
108
+ 更新现有的当前变更内容
109
+
110
+ Args:
111
+ context: 目录上下文字典
112
+ query: 用户查询/需求
113
+ existing_changes: 现有的变更内容
114
+ args: AutoCoderArgs实例,包含配置信息
115
+
116
+ Returns:
117
+ Tuple[str, Dict[str, Any]]: 更新后的变更内容和token使用统计
118
+ """
119
+ try:
120
+ meta_holder = MetaHolder()
121
+ start_time = time.monotonic()
122
+
123
+ updated_changes = self.update_current_change.with_llm(self.llm).with_meta(
124
+ meta_holder).run(context, query, existing_changes)
125
+
126
+ end_time = time.monotonic()
127
+
128
+ # 使用TokenCostCalculator跟踪token使用情况
129
+ token_calculator = TokenCostCalculator(logger_name="ActiveChanges", args=args)
130
+ stats: TokenUsageStats = token_calculator.track_token_usage(
131
+ llm=self.llm,
132
+ meta_holder=meta_holder,
133
+ operation_name="Update Current Change",
134
+ start_time=start_time,
135
+ end_time=end_time,
136
+ product_mode=self.product_mode
137
+ )
138
+
139
+ self.logger.info(f"Current Change Update - Total tokens: {stats.total_tokens}, Total cost: ${stats.total_cost:.6f}")
140
+
141
+ return updated_changes, {
142
+ "total_tokens": stats.total_tokens,
143
+ "input_tokens": stats.input_tokens,
144
+ "output_tokens": stats.output_tokens,
145
+ "cost": stats.total_cost
146
+ }
147
+ except Exception as e:
148
+ self.logger.error(f"Error updating changes: {e}")
149
+ empty_stats = {
150
+ "total_tokens": 0,
151
+ "input_tokens": 0,
152
+ "output_tokens": 0,
153
+ "cost": 0.0
154
+ }
155
+ return f"更新变更内容时出错: {str(e)}", empty_stats
156
+
157
+ @byzerllm.prompt()
158
+ def update_current_change(self, context: Dict[str, Any], query: str, existing_current_change: str) -> str:
159
+ """
160
+ 请基于现有的"当前变更"文档和新的变更信息,生成一个更新后的"当前变更"部分。
161
+
162
+ 现有的"当前变更"内容:
163
+ ```
164
+ {{ existing_current_change }}
165
+ ```
166
+
167
+ 当前需求:
168
+ {{ query }}
169
+
170
+ 目录:{{ context.directory_path }}
171
+
172
+ 最新变更的文件:
173
+ {% for file in context.changed_files %}
174
+ - {{ file.path }}
175
+ {% endfor %}
176
+
177
+ {% if context.file_diffs %}
178
+ 文件变更摘要:
179
+ {% for diff in context.file_diffs %}
180
+ - {{ diff.path }}: {% if diff.type == 'modified' %}修改 (从{{ diff.before_lines }}行到{{ diff.after_lines }}行){% elif diff.type == 'added' %}新增{% elif diff.type == 'deleted' %}删除{% endif %}
181
+ {% endfor %}
182
+ {% endif %}
183
+
184
+ {% if context.changed_files and context.changed_files[0].has_diff %}
185
+ 变更前后的代码对比:
186
+ {% for file in context.changed_files %}
187
+ {% if file.has_diff %}
188
+ 文件: {{ file.path }}
189
+ 变更前:
190
+ ```
191
+ {{ file.before_content }}
192
+ ```
193
+
194
+ 变更后:
195
+ ```
196
+ {{ file.after_content }}
197
+ ```
198
+ {% endif %}
199
+ {% endfor %}
200
+ {% endif %}
201
+
202
+ 请执行以下任务:
203
+ 1. 保留现有文档中的有用历史信息
204
+ 2. 添加最新的变更信息,重点描述当前需求相关的变更
205
+ 3. 明确指出新的变更与之前变更的关系(如继续完善、修复问题、新增功能等)
206
+ 4. 确保变更描述清晰、具体,并表明每个文件的变更内容和目的
207
+ 5. 如果有冲突的信息,优先保留最新的信息
208
+ 6. 变更部分最多保留20条。
209
+
210
+ 你的回答应该是一个完整的"当前变更"部分内容,不需要包含标题。
211
+ """
212
+
213
+ @byzerllm.prompt()
214
+ def generate_current_change(self, context: Dict[str, Any], query: str) -> str:
215
+ """
216
+ 请分析下面的代码变更,并描述它们与当前需求的关系。
217
+
218
+ 需求:
219
+ {{ query }}
220
+
221
+ 目录:{{ context.directory_path }}
222
+
223
+ 变更的文件:
224
+ {% for file in context.changed_files %}
225
+ - {{ file.path }}
226
+ {% endfor %}
227
+
228
+ {% if context.file_diffs %}
229
+ 文件变更摘要:
230
+ {% for diff in context.file_diffs %}
231
+ - {{ diff.path }}: {% if diff.type == 'modified' %}修改 (从{{ diff.before_lines }}行到{{ diff.after_lines }}行){% elif diff.type == 'added' %}新增{% elif diff.type == 'deleted' %}删除{% endif %}
232
+ {% endfor %}
233
+ {% endif %}
234
+
235
+ {% if context.changed_files and context.changed_files[0].has_diff %}
236
+ 变更前后的代码对比:
237
+ {% for file in context.changed_files %}
238
+ {% if file.has_diff %}
239
+ 文件: {{ file.path }}
240
+ 变更前:
241
+ ```
242
+ {{ file.before_content }}
243
+ ```
244
+
245
+ 变更后:
246
+ ```
247
+ {{ file.after_content }}
248
+ ```
249
+ {% endif %}
250
+ {% endfor %}
251
+ {% endif %}
252
+
253
+ 分析并描述这些变更如何满足需求,以及这个目录中的文件在整体变更中起到什么作用。
254
+ 描述应该清晰、具体,并表明每个文件的变更内容和目的。
255
+ """