auto-coder 0.1.389__tar.gz → 0.1.391__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.
- {auto_coder-0.1.389 → auto_coder-0.1.391}/PKG-INFO +2 -2
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/auto_coder.egg-info/PKG-INFO +2 -2
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/auto_coder.egg-info/SOURCES.txt +5 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/auto_coder.egg-info/requires.txt +1 -1
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/auto_coder_rag.py +5 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/auto_coder_runner.py +12 -3
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/chat_auto_coder.py +6 -2
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/__init__.py +2 -0
- auto_coder-0.1.391/src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py +191 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +34 -25
- auto_coder-0.1.391/src/autocoder/memory/active_changes.py +255 -0
- auto_coder-0.1.391/src/autocoder/memory/active_diagrams.py +302 -0
- auto_coder-0.1.391/src/autocoder/memory/active_documents.py +287 -0
- auto_coder-0.1.391/src/autocoder/memory/active_header.py +88 -0
- auto_coder-0.1.391/src/autocoder/memory/active_package.py +355 -0
- auto_coder-0.1.391/src/autocoder/utils/types.py +0 -0
- auto_coder-0.1.391/src/autocoder/version.py +2 -0
- auto_coder-0.1.389/src/autocoder/memory/__init__.py +0 -7
- auto_coder-0.1.389/src/autocoder/memory/active_package.py +0 -611
- auto_coder-0.1.389/src/autocoder/version.py +0 -2
- {auto_coder-0.1.389 → auto_coder-0.1.391}/LICENSE +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/README.md +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/setup.cfg +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/setup.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/auto_coder.egg-info/dependency_links.txt +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/auto_coder.egg-info/entry_points.txt +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/auto_coder.egg-info/top_level.txt +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/agentic_filter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/auto_demand_organizer.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/auto_filegroup.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/auto_guess_query.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/auto_learn.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/auto_review_commit.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/auto_tool.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/agent_hub.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/agentic_lang.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/agentic_tool_display.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/base_agent.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/default_tools.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/test_base_agent.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tool_registry.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/ask_followup_question_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/attempt_completion_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/base_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/example_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/execute_command_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/list_files_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/plan_mode_respond_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/replace_in_file_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/search_files_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/talk_to_group_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/talk_to_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/use_mcp_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/types.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/base_agentic/utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/coder.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/designer.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/planner.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/agent/project_reader.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/auto_coder.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/auto_coder_server.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/benchmark.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/chat/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/chat/conf_command.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/chat/models_command.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/chat/rules_command.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/chat_auto_coder_lang.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/command_args.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/command_parser.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/commands/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/commands/auto_command.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/commands/auto_web.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/commands/tools.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/JupyterClient.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/ShellClient.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/action_yml_file_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/anything2images.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/anything2img.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/audio.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/auto_coder_lang.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/auto_configure.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/buildin_tokenizer.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/chunk_validation.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/cleaner.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_execute.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_generate.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_generate_diff.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_merge.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_merge_diff.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/code_modification_ranker.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_completer.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_completer_v2.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_file_manager/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_file_manager/examples.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_file_manager/manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_file_manager/models.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_file_manager/utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_generator.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/command_templates.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/computer_use.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/conf_import_export.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/conf_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/conf_validator.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/const.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/context_pruner.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/conversation_pruner.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/conversations/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/conversations/compatibility.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/conversations/conversation_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/conversations/example.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/directory_cache/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/directory_cache/cache.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/directory_cache/test_cache.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/backup.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/conversation_checkpoint.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/examples.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/models.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/store.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/test_backup.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/test_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/test_models.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/test_store.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/test_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_checkpoint/utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_monitor/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/file_monitor/monitor.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/files.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/git_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/global_cancel.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/ignorefiles/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/ignorefiles/ignore_file_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/ignorefiles/test_ignore_file_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/image_to_page.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/index_import_export.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/interpreter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/llm_friendly_package.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/llm_friendly_package_example.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/llm_friendly_package_test.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/mcp_hub.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/mcp_server.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/mcp_server_install.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/mcp_server_types.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/mcp_servers/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/mcp_tools.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/memory_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/model_speed_tester.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/openai_content.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/printer.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/recall_validation.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/result_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/rulefiles/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/rulefiles/autocoderrules_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/run_cmd.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/save_formatted_log.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/screenshots.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/search.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/search_replace.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/shells.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/stats_panel.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/stream_out_type.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/sys_prompt.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/test_run_cmd.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/text.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/token_cost_caculate.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/types.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/utils_code_auto_generate.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/list_package_info_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_edit_types.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/agent/agentic_tool_display.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_agentic_editblock_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_auto_generate.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_auto_generate_diff.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_auto_generate_editblock.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_auto_generate_strict_diff.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_auto_merge.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_auto_merge_diff.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_auto_merge_editblock.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_auto_merge_strict_diff.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_diff_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_editblock_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/common/v2/code_strict_diff_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/base_compiler.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/compiler_config_api.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/compiler_config_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/compiler_factory.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/java_compiler.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/models.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/normal_compiler.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/provided_compiler.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/python_compiler.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/reactjs_compiler.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/shadow_compiler.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/compilers/vue_compiler.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/data/byzerllm.md +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/data/tokenizer.json +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/db/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/db/store.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/dispacher/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/dispacher/actions/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/dispacher/actions/action.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/dispacher/actions/copilot.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/events/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/events/event_content.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/events/event_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/events/event_manager_singleton.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/events/event_store.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/events/event_types.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/helper/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/helper/project_creator.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/helper/rag_doc_creator.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/entry.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/filter/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/filter/normal_filter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/filter/quick_filter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/for_command.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/index.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/symbols_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/index/types.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/lang.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/base_linter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/linter_factory.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/models.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/normal_linter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/python_linter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/reactjs_linter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/shadow_linter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/test_python_linter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/test_reactjs_linter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/test_vue_linter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/linters/vue_linter.py +0 -0
- {auto_coder-0.1.389/src/autocoder/rag → auto_coder-0.1.391/src/autocoder/memory}/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/memory/active_context_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/memory/async_processor.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/memory/directory_mapper.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/models.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/plugins/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/plugins/git_helper_plugin.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/plugins/sample_plugin.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/plugins/token_helper_plugin.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/plugins/utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/privacy/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/privacy/model_filter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/pyproject/__init__.py +0 -0
- {auto_coder-0.1.389/src/autocoder/rag/cache → auto_coder-0.1.391/src/autocoder/rag}/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/agentic_rag.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/api_server.py +0 -0
- {auto_coder-0.1.389/src/autocoder/rag/stream_event → auto_coder-0.1.391/src/autocoder/rag/cache}/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/base_cache.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/failed_files_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/cache/simple_cache.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/conversation_to_queries.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/doc_filter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/document_retriever.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/lang.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/llm_wrapper.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/loaders/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/loaders/docx_loader.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/loaders/excel_loader.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/loaders/filter_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/loaders/image_loader.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/long_context_rag.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/rag_config.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/rag_entry.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/relevant_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/searchable.py +0 -0
- {auto_coder-0.1.389/src/autocoder/shadows → auto_coder-0.1.391/src/autocoder/rag/stream_event}/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/stream_event/event_writer.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/stream_event/types.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/test_doc_filter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/test_long_context_rag.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/test_token_limiter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/token_checker.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/token_counter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/token_limiter.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/token_limiter_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/tools/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/tools/recall_tool.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/tools/search_tool.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/types.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/rag/variable_holder.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/regexproject/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/run_context.py +0 -0
- {auto_coder-0.1.389/src/autocoder/utils/auto_coder_utils → auto_coder-0.1.391/src/autocoder/shadows}/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/shadows/shadow_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/suffixproject/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/tsproject/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/_markitdown.py +0 -0
- {auto_coder-0.1.389/src/autocoder/utils/chat_auto_coder_utils → auto_coder-0.1.391/src/autocoder/utils/auto_coder_utils}/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/auto_project_type.py +0 -0
- /auto_coder-0.1.389/src/autocoder/utils/types.py → /auto_coder-0.1.391/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/conversation_store.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/llm_client_interceptors.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/llms.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/log_capture.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/model_provider_selector.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/multi_turn.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/operate_config_api.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/print_table.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/project_structure.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/queue_communicate.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/request_event_queue.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/request_queue.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/rest.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/stream_thinking.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/src/autocoder/utils/thread_utils.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_action_regex_project.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_action_yml_file_manager.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_chat_auto_coder.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_code_auto_merge_editblock.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_command_completer.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_planner.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_plugins.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_privacy.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/tests/test_queue_communicate.py +0 -0
- {auto_coder-0.1.389 → auto_coder-0.1.391}/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.
|
|
3
|
+
Version: 0.1.391
|
|
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.
|
|
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.
|
|
3
|
+
Version: 0.1.391
|
|
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.
|
|
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
|
|
@@ -191,6 +191,7 @@ src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py
|
|
|
191
191
|
src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py
|
|
192
192
|
src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py
|
|
193
193
|
src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py
|
|
194
|
+
src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py
|
|
194
195
|
src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py
|
|
195
196
|
src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py
|
|
196
197
|
src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py
|
|
@@ -258,7 +259,11 @@ src/autocoder/linters/test_reactjs_linter.py
|
|
|
258
259
|
src/autocoder/linters/test_vue_linter.py
|
|
259
260
|
src/autocoder/linters/vue_linter.py
|
|
260
261
|
src/autocoder/memory/__init__.py
|
|
262
|
+
src/autocoder/memory/active_changes.py
|
|
261
263
|
src/autocoder/memory/active_context_manager.py
|
|
264
|
+
src/autocoder/memory/active_diagrams.py
|
|
265
|
+
src/autocoder/memory/active_documents.py
|
|
266
|
+
src/autocoder/memory/active_header.py
|
|
262
267
|
src/autocoder/memory/active_package.py
|
|
263
268
|
src/autocoder/memory/async_processor.py
|
|
264
269
|
src/autocoder/memory/directory_mapper.py
|
|
@@ -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
|
-
|
|
279
|
-
|
|
280
|
-
|
|
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,8 @@ 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
|
|
279
|
+
enable_agentic_dangerous_command_check: Optional[bool] = False
|
|
278
280
|
|
|
279
281
|
|
|
280
282
|
index_filter_level: Optional[int] = 0
|
auto_coder-0.1.391/src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from typing import List, Tuple, Optional
|
|
3
|
+
from loguru import logger
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class DangerousCommandChecker:
|
|
7
|
+
"""危险命令检查器,用于检测和防止执行潜在危险的系统命令"""
|
|
8
|
+
|
|
9
|
+
def __init__(self):
|
|
10
|
+
# 危险命令模式列表
|
|
11
|
+
self.dangerous_patterns = [
|
|
12
|
+
# 文件删除相关
|
|
13
|
+
(r'\brm\s+.*-[rf]', "删除文件命令"),
|
|
14
|
+
(r'\brm\s+-[rf]', "删除文件命令"),
|
|
15
|
+
(r'\bunlink\b', "删除文件命令"),
|
|
16
|
+
|
|
17
|
+
# 系统格式化和分区操作
|
|
18
|
+
(r'\bmkfs\b', "格式化文件系统命令"),
|
|
19
|
+
(r'\bfdisk\b', "磁盘分区命令"),
|
|
20
|
+
(r'\bparted\b', "磁盘分区命令"),
|
|
21
|
+
(r'\bdd\s+.*if=.*of=', "数据复制命令,可能覆盖系统文件"),
|
|
22
|
+
|
|
23
|
+
# 权限修改
|
|
24
|
+
(r'\bchmod\s+777\b', "危险权限修改"),
|
|
25
|
+
(r'\bchmod\s+\d*7\d*7\b', "危险权限修改"),
|
|
26
|
+
(r'\bchown\s+.*root\b', "更改文件所有者为root"),
|
|
27
|
+
|
|
28
|
+
# 提权相关
|
|
29
|
+
(r'\bsudo\s+.*rm\b', "使用sudo执行删除命令"),
|
|
30
|
+
(r'\bsu\s+-\b', "切换到root用户"),
|
|
31
|
+
(r'\bsu\s+root\b', "切换到root用户"),
|
|
32
|
+
|
|
33
|
+
# 系统服务相关
|
|
34
|
+
(r'\bsystemctl\s+stop\b', "停止系统服务"),
|
|
35
|
+
(r'\bsystemctl\s+disable\b', "禁用系统服务"),
|
|
36
|
+
(r'\bservice\s+.*stop\b', "停止系统服务"),
|
|
37
|
+
|
|
38
|
+
# 进程操作
|
|
39
|
+
(r'\bkill\s+-9\s+1\b', "强制终止init进程"),
|
|
40
|
+
(r'\bkillall\s+-9\b', "强制终止所有进程"),
|
|
41
|
+
(r'\bpkill\s+-9\b', "强制终止进程"),
|
|
42
|
+
|
|
43
|
+
# 系统关机重启
|
|
44
|
+
(r'\bshutdown\b', "系统关机命令"),
|
|
45
|
+
(r'\breboot\b', "系统重启命令"),
|
|
46
|
+
(r'\bhalt\b', "系统停机命令"),
|
|
47
|
+
(r'\bpoweroff\b', "系统断电命令"),
|
|
48
|
+
|
|
49
|
+
# 环境变量和系统配置
|
|
50
|
+
(r'\bexport\s+PATH=', "修改PATH环境变量"),
|
|
51
|
+
(r'\bunset\s+PATH\b', "删除PATH环境变量"),
|
|
52
|
+
(r'>\s*/etc/', "重定向写入系统配置文件"),
|
|
53
|
+
(r'\becho\s+.*>\s*/etc/', "写入系统配置文件"),
|
|
54
|
+
|
|
55
|
+
# 系统文件编辑
|
|
56
|
+
(r'\bvi\s+/etc/', "编辑系统配置文件"),
|
|
57
|
+
(r'\bnano\s+/etc/', "编辑系统配置文件"),
|
|
58
|
+
(r'\bemacs\s+/etc/', "编辑系统配置文件"),
|
|
59
|
+
|
|
60
|
+
# 历史和日志清理
|
|
61
|
+
(r'\bhistory\s+-c\b', "清空命令历史"),
|
|
62
|
+
(r'>\s*/dev/null\s+2>&1', "重定向所有输出到null"),
|
|
63
|
+
(r'\brm\s+.*\.log\b', "删除日志文件"),
|
|
64
|
+
|
|
65
|
+
# 安装和包管理(可能安装恶意软件)
|
|
66
|
+
(r'\bapt\s+install\s+.*--force\b', "强制安装软件包"),
|
|
67
|
+
(r'\byum\s+install\s+.*--assumeyes\b', "自动确认安装软件包"),
|
|
68
|
+
(r'\bpip\s+install\s+.*--force\b', "强制安装Python包"),
|
|
69
|
+
]
|
|
70
|
+
|
|
71
|
+
# 危险字符模式
|
|
72
|
+
self.dangerous_chars = [
|
|
73
|
+
(r';', "命令分隔符,可能执行多个命令"),
|
|
74
|
+
(r'`.*`', "命令替换,可能执行隐藏命令"),
|
|
75
|
+
(r'\$\(.*\)', "命令替换,可能执行隐藏命令"),
|
|
76
|
+
(r'\|(?!\s*head\b|\s*tail\b|\s*grep\b|\s*sort\b|\s*uniq\b|\s*wc\b|\s*cat\b)', "管道符,可能传递敏感数据"),
|
|
77
|
+
(r'&&(?!\s*echo\b)', "逻辑与操作符,可能链式执行命令"),
|
|
78
|
+
(r'\|\|', "逻辑或操作符,可能条件执行命令"),
|
|
79
|
+
(r'<\(', "进程替换"),
|
|
80
|
+
(r'>\(', "进程替换"),
|
|
81
|
+
]
|
|
82
|
+
|
|
83
|
+
# 允许的安全命令前缀(白名单)
|
|
84
|
+
self.safe_command_prefixes = [
|
|
85
|
+
'ls', 'pwd', 'whoami', 'date', 'echo', 'cat', 'head', 'tail',
|
|
86
|
+
'grep', 'find', 'which', 'man', 'help', 'cd', 'mkdir', 'touch',
|
|
87
|
+
'cp', 'mv', 'wc', 'sort', 'uniq', 'diff', 'tree', 'file',
|
|
88
|
+
'stat', 'du', 'df', 'ps', 'top', 'history', 'env', 'printenv'
|
|
89
|
+
]
|
|
90
|
+
|
|
91
|
+
def is_command_dangerous(self, command: str) -> Tuple[bool, Optional[str]]:
|
|
92
|
+
"""
|
|
93
|
+
检查命令是否危险
|
|
94
|
+
|
|
95
|
+
Args:
|
|
96
|
+
command: 要检查的命令字符串
|
|
97
|
+
|
|
98
|
+
Returns:
|
|
99
|
+
Tuple[bool, Optional[str]]: (是否危险, 危险原因)
|
|
100
|
+
"""
|
|
101
|
+
command = command.strip()
|
|
102
|
+
|
|
103
|
+
# 空命令不危险
|
|
104
|
+
if not command:
|
|
105
|
+
return False, None
|
|
106
|
+
|
|
107
|
+
# 检查危险命令模式
|
|
108
|
+
for pattern, reason in self.dangerous_patterns:
|
|
109
|
+
if re.search(pattern, command, re.IGNORECASE):
|
|
110
|
+
logger.warning(f"检测到危险命令模式: {pattern} in command: {command}")
|
|
111
|
+
return True, f"危险命令: {reason}"
|
|
112
|
+
|
|
113
|
+
# 检查危险字符
|
|
114
|
+
for pattern, reason in self.dangerous_chars:
|
|
115
|
+
if re.search(pattern, command):
|
|
116
|
+
# 对于 && 的特殊处理,允许 cd 命令链
|
|
117
|
+
if pattern == r'&&(?!\s*echo\b)' and command.strip().startswith('cd '):
|
|
118
|
+
continue
|
|
119
|
+
logger.warning(f"检测到危险字符: {pattern} in command: {command}")
|
|
120
|
+
return True, f"包含危险字符: {reason}"
|
|
121
|
+
|
|
122
|
+
return False, None
|
|
123
|
+
|
|
124
|
+
def is_command_in_whitelist(self, command: str) -> bool:
|
|
125
|
+
"""
|
|
126
|
+
检查命令是否在安全白名单中
|
|
127
|
+
|
|
128
|
+
Args:
|
|
129
|
+
command: 要检查的命令字符串
|
|
130
|
+
|
|
131
|
+
Returns:
|
|
132
|
+
bool: 是否在白名单中
|
|
133
|
+
"""
|
|
134
|
+
command = command.strip()
|
|
135
|
+
if not command:
|
|
136
|
+
return False
|
|
137
|
+
|
|
138
|
+
# 获取命令的第一个词(命令名)
|
|
139
|
+
first_word = command.split()[0]
|
|
140
|
+
|
|
141
|
+
return first_word.lower() in self.safe_command_prefixes
|
|
142
|
+
|
|
143
|
+
def check_command_safety(self, command: str, allow_whitelist_bypass: bool = True) -> Tuple[bool, Optional[str]]:
|
|
144
|
+
"""
|
|
145
|
+
综合检查命令安全性
|
|
146
|
+
|
|
147
|
+
Args:
|
|
148
|
+
command: 要检查的命令字符串
|
|
149
|
+
allow_whitelist_bypass: 是否允许白名单命令绕过危险检查
|
|
150
|
+
|
|
151
|
+
Returns:
|
|
152
|
+
Tuple[bool, Optional[str]]: (是否安全, 不安全的原因)
|
|
153
|
+
"""
|
|
154
|
+
# 首先检查是否危险
|
|
155
|
+
is_dangerous, danger_reason = self.is_command_dangerous(command)
|
|
156
|
+
|
|
157
|
+
if not is_dangerous:
|
|
158
|
+
return True, None
|
|
159
|
+
|
|
160
|
+
# 如果允许白名单绕过,且命令在白名单中,则认为安全
|
|
161
|
+
if allow_whitelist_bypass and self.is_command_in_whitelist(command):
|
|
162
|
+
logger.info(f"命令在白名单中,允许执行: {command}")
|
|
163
|
+
return True, None
|
|
164
|
+
|
|
165
|
+
return False, danger_reason
|
|
166
|
+
|
|
167
|
+
def get_safety_recommendations(self, command: str) -> List[str]:
|
|
168
|
+
"""
|
|
169
|
+
为不安全的命令提供安全建议
|
|
170
|
+
|
|
171
|
+
Args:
|
|
172
|
+
command: 要检查的命令字符串
|
|
173
|
+
|
|
174
|
+
Returns:
|
|
175
|
+
List[str]: 安全建议列表
|
|
176
|
+
"""
|
|
177
|
+
recommendations = []
|
|
178
|
+
|
|
179
|
+
if 'rm' in command:
|
|
180
|
+
recommendations.append("使用 'rm -i' 进行交互式删除")
|
|
181
|
+
recommendations.append("在删除前使用 'ls' 确认要删除的文件")
|
|
182
|
+
|
|
183
|
+
if 'chmod 777' in command:
|
|
184
|
+
recommendations.append("避免使用 '777' 权限,考虑更安全的权限设置")
|
|
185
|
+
recommendations.append("使用 'chmod 755' 或 'chmod 644' 等更安全的权限")
|
|
186
|
+
|
|
187
|
+
if 'sudo' in command:
|
|
188
|
+
recommendations.append("确认您真的需要root权限")
|
|
189
|
+
recommendations.append("考虑使用更具体的权限而不是sudo")
|
|
190
|
+
|
|
191
|
+
return recommendations
|
|
@@ -4,6 +4,7 @@ from typing import Dict, Any, Optional
|
|
|
4
4
|
from autocoder.common.run_cmd import run_cmd_subprocess
|
|
5
5
|
from autocoder.common.v2.agent.agentic_edit_tools.base_tool_resolver import BaseToolResolver
|
|
6
6
|
from autocoder.common.v2.agent.agentic_edit_types import ExecuteCommandTool, ToolResult # Import ToolResult from types
|
|
7
|
+
from autocoder.common.v2.agent.agentic_edit_tools.dangerous_command_checker import DangerousCommandChecker
|
|
7
8
|
from autocoder.common import shells
|
|
8
9
|
from autocoder.common.printer import Printer
|
|
9
10
|
from loguru import logger
|
|
@@ -26,6 +27,8 @@ class ExecuteCommandToolResolver(BaseToolResolver):
|
|
|
26
27
|
args=self.args,
|
|
27
28
|
llm=self.agent.context_prune_llm
|
|
28
29
|
)
|
|
30
|
+
# 初始化危险命令检查器
|
|
31
|
+
self.danger_checker = DangerousCommandChecker()
|
|
29
32
|
|
|
30
33
|
def _prune_file_content(self, content: str, file_path: str) -> str:
|
|
31
34
|
"""对文件内容进行剪枝处理"""
|
|
@@ -60,33 +63,39 @@ class ExecuteCommandToolResolver(BaseToolResolver):
|
|
|
60
63
|
command = self.tool.command
|
|
61
64
|
requires_approval = self.tool.requires_approval
|
|
62
65
|
source_dir = self.args.source_dir or "."
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
|
|
67
|
+
if self.args.enable_agentic_dangerous_command_check:
|
|
68
|
+
# 使用新的危险命令检查器进行安全检查
|
|
69
|
+
is_safe, danger_reason = self.danger_checker.check_command_safety(command, allow_whitelist_bypass=True)
|
|
70
|
+
|
|
71
|
+
if not is_safe:
|
|
72
|
+
# 获取安全建议
|
|
73
|
+
recommendations = self.danger_checker.get_safety_recommendations(command)
|
|
74
|
+
|
|
75
|
+
error_message = f"检测到危险命令: {danger_reason}"
|
|
76
|
+
if recommendations:
|
|
77
|
+
error_message += f"\n安全建议:\n" + "\n".join(f"- {rec}" for rec in recommendations)
|
|
78
|
+
|
|
79
|
+
logger.warning(f"阻止执行危险命令: {command}, 原因: {danger_reason}")
|
|
80
|
+
return ToolResult(success=False, message=error_message)
|
|
71
81
|
|
|
72
82
|
# Approval mechanism (simplified)
|
|
73
|
-
if requires_approval:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
83
|
+
if not self.args.enable_agentic_auto_approve and requires_approval:
|
|
84
|
+
logger.info(f"Executing command: {command} in {os.path.abspath(source_dir)}")
|
|
85
|
+
try:
|
|
86
|
+
# 使用封装的run_cmd方法执行命令
|
|
87
|
+
if get_run_context().is_web():
|
|
88
|
+
answer = get_event_manager(
|
|
89
|
+
self.args.event_file).ask_user(prompt=f"Allow to execute the `{command}`?",options=["yes","no"])
|
|
90
|
+
if answer == "yes":
|
|
91
|
+
pass
|
|
92
|
+
else:
|
|
93
|
+
return ToolResult(success=False, message=f"Command '{command}' execution denied by user.")
|
|
94
|
+
except Exception as e:
|
|
95
|
+
logger.error(f"Error when ask the user to approve the command '{command}': {str(e)}")
|
|
96
|
+
return ToolResult(success=False, message=f"An unexpected error occurred while asking the user to approve the command: {str(e)}")
|
|
97
|
+
|
|
98
|
+
try:
|
|
90
99
|
exit_code, output = run_cmd_subprocess(command, verbose=True, cwd=source_dir)
|
|
91
100
|
|
|
92
101
|
logger.info(f"Command executed: {command}")
|