auto-coder 3.0.2__tar.gz → 3.0.4__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.
- {auto_coder-3.0.2/src/auto_coder.egg-info → auto_coder-3.0.4}/PKG-INFO +1 -1
- {auto_coder-3.0.2 → auto_coder-3.0.4}/pyproject.toml +1 -1
- {auto_coder-3.0.2 → auto_coder-3.0.4/src/auto_coder.egg-info}/PKG-INFO +1 -1
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/__init__.py +7 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/git_utils.py +90 -7
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tools_manager/utils.py +32 -3
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit.py +12 -4
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +80 -6
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/events/event_manager.py +150 -107
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/version.py +1 -1
- {auto_coder-3.0.2 → auto_coder-3.0.4}/LICENSE +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/MANIFEST.in +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/README.md +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/requirements.txt +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/setup.cfg +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/setup.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/auto_coder.egg-info/SOURCES.txt +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/auto_coder.egg-info/dependency_links.txt +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/auto_coder.egg-info/entry_points.txt +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/auto_coder.egg-info/requires.txt +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/auto_coder.egg-info/top_level.txt +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/auto_demand_organizer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/auto_filegroup.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/auto_guess_query.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/auto_learn.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/auto_review_commit.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/auto_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/agent_hub.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/agentic_lang.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/agentic_tool_display.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/base_agent.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/default_tools.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/test_base_agent.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tool_registry.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/ask_followup_question_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/attempt_completion_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/base_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/example_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/execute_command_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/list_files_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/plan_mode_respond_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/replace_in_file_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/search_files_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/talk_to_group_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/talk_to_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/use_mcp_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/base_agentic/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/coder.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/designer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/entry_command_agent/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/entry_command_agent/auto_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/entry_command_agent/chat.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/entry_command_agent/designer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/entry_command_agent/generate_command.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/entry_command_agent/project_reader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/entry_command_agent/voice2text.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/planner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/agent/project_reader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/auto_coder.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/auto_coder_rag.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/auto_coder_runner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/auto_coder_terminal.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/auto_coder_terminal_v3.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/chat/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/chat/conf_command.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/chat/models_command.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/chat/rules_command.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/chat_auto_coder.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/chat_auto_coder_lang.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/command_args.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/commands/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/commands/auto_command.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/commands/auto_web.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/commands/tools.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/JupyterClient.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ShellClient.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ac_style_command_parser/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ac_style_command_parser/config.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ac_style_command_parser/parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ac_style_command_parser/test_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ac_style_command_parser/test_typed_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ac_style_command_parser/typed_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/action_yml_file_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_events/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_events/agent_event_emitter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_events/event_factory.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_events/examples.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_events/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_events/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_hooks/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_hooks/examples.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_hooks/hook_executor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_hooks/hook_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_hooks/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_hooks/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_query_queue/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_query_queue/queue_executor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agent_query_queue/queue_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agents/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agents/agent_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agents/agent_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agents/example_usage.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agents/integration_example.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/agents/test_agent_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/anything2images.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/anything2img.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/async_prompt.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/async_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/audio.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/auto_coder_lang.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/auto_configure.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/autocoderargs_parser/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/autocoderargs_parser/parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/autocoderargs_parser/tests/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/autocoderargs_parser/tests/test_args_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/autocoderargs_parser/tests/test_token_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/autocoderargs_parser/token_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/buildin_tokenizer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/chunk_validation.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_execute.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_generate.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_generate_diff.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_merge.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_merge_diff.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/code_modification_ranker.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_completer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_file_manager/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_file_manager/examples.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_file_manager/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_file_manager/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_file_manager/test_command_file_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_file_manager/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_generator.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/command_templates.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/computer_use.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conf_import_export.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conf_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conf_validator.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/const.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/backup/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/backup/backup_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/backup/restore_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/cache/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/cache/base_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/cache/cache_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/cache/memory_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/config.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/exceptions.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/file_locker.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/get_conversation_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/llm_stats_models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/search/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/search/filter_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/search/text_searcher.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/storage/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/storage/base_storage.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/storage/file_storage.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/conversations/storage/index_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/agentic_mode_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/base_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/compatibility.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/config_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/conversation_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/exclude_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/file_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/human_as_model_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/lib_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/main_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/merge_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/mode_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/core_config/test_memory_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/env_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/env_manager_usage_example.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/backup.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/conversation_checkpoint.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/store.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/test_backup.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/test_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/test_models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/test_store.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/test_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_checkpoint/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/active_context_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/add_files_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/chat_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/coding_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/commit_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/lib_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/list_files_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/mcp_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/models_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_handler/remove_files_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_monitor/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_monitor/monitor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/file_monitor/test_file_monitor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/files.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/global_cancel.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ignorefiles/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ignorefiles/ignore_file_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/ignorefiles/test_ignore_file_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/image_to_page.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/index_import_export.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/demo_international.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/message_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/async_command_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/auto_coder_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/chat_auto_coder_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/command_help_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/conversation_command_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/git_helper_plugin_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/queue_command_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/rules_command_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/sdk_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/token_helper_plugin_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/tool_display_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/messages/workflow_exception_messages.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/international/test_international.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/interpreter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/base_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/config_loader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/formatters/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/formatters/base_formatter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/formatters/raw_formatter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/linter_factory.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/linter_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/linters/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/linters/java_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/linters/python_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/linters/typescript_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/models/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/models/lint_result.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/test_config_loader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/test_config_loading.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/test_factory_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/test_formatters.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/test_integration.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/test_java_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/test_linters.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/test_models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/verify_config_loading.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/linter_core/tests/verify_fixes.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llm_friendly_package/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llm_friendly_package/base_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llm_friendly_package/docs_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llm_friendly_package/library_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llm_friendly_package/main_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llm_friendly_package/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llm_friendly_package/test_llm_friendly_package.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/demo_error_handling.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/factory.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/pricing.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/registry.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/schema.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/simple_demo.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/test_quick_model.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/test_remove_functionality.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/tests/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/tests/test_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/llms/tests/test_registry.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_servers/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/executor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/hub.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/installer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/server.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/test_keyboard_interrupt.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/test_mcp_tools.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/mcp_tools/verify_functionality.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/memory_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/model_speed_tester.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/openai_content.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/printer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/priority_directory_finder/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/priority_directory_finder/examples.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/priority_directory_finder/finder.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/priority_directory_finder/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/priority_directory_finder/test_priority_directory_finder.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/project_scanner/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/project_scanner/compat.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/project_scanner/scanner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/project_tracker/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/project_tracker/api.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/project_tracker/demo.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/project_tracker/tracker.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/project_tracker/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/agentic_conversation_pruner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/context_pruner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/conversation_message_ids_api.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/conversation_message_ids_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/conversation_message_ids_pruner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/conversation_normalizer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/conversation_pruner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/test_agentic_conversation_pruner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/test_context_pruner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/test_conversation_normalizer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/test_tool_content_detector.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/tool_content_detector.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/tools/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/tools/query_message_ids.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/tools/test_agentic_pruning_logic.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pruner/tools/test_message_ids_pruning_only.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/base_provider.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/config.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/example.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/exceptions.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/providers/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/providers/gitcode_provider.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/providers/gitee_provider.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/providers/github_provider.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/providers/gitlab_provider.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/pull_requests/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rag_manager/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rag_manager/rag_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/recall_validation.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/result_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/api.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/core/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/core/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/core/selector.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/models/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/models/index.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/models/init_rule.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/models/rule_file.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/models/rule_relevance.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/models/summary.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/test_rulefiles.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/utils/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/utils/log_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/utils/monitor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/rulefiles/utils/parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/run_cmd.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/save_formatted_log.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/screenshots.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/base.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/patch_replacer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/similarity_replacer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/string_replacer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/run_tests.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/test_base.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/test_empty_line_insert.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/test_integration.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/test_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/test_patch_replacer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/test_regex_replacer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/search_replace_patch/tests/test_similarity_replacer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/background_process_notifier.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/command_executor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/error_recovery.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/exceptions.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/interactive_executor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/interactive_pexpect_process.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/interactive_process.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/interactive_session_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/monitoring.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/process_cleanup.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/process_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/test_interactive_pexpect_process.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/conftest.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_background_process_notifier.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_command_executor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_error_recovery.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_exceptions.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_execute_batch.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_indented_batch_commands.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_integration.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_monitoring.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_performance.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_process_cleanup.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_process_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_timeout_config.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/tests/test_timeout_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/timeout_config.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shell_commands/timeout_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/shells.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/skills/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/skills/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/stats_panel.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/stream_out_type.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/sys_prompt.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/demo.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/demo_paste_functionality.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/paste_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/paste_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/tests/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/tests/test_paste_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/tests/test_paste_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/terminal_paste/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/test_autocoder_args.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/test_env_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/test_env_manager_integration.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/test_run_cmd.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/text_similarity/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/text_similarity/demo.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/text_similarity/examples.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/text_similarity/test_text_similarity.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/text_similarity/text_similarity.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/text_similarity/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/cache/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/cache/base_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/cache/cache_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/cache/memory_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/config.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/exceptions.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/get_todo_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/storage/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/storage/base_storage.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/todos/storage/file_storage.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/token_cost_caculate.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tokens/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tokens/counter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tokens/file_detector.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tokens/filters.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tokens/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tools_manager/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tools_manager/examples.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tools_manager/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tools_manager/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/tools_manager/test_tools_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/utils_code_auto_generate.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_callbacks.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_change_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/ac_mod_list_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/ac_mod_read_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/ac_mod_write_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/background_task_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_read_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_write_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/count_tokens_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_external_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_workflow_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/ac_mod_files.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/interactive_session.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/plan_format.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/skill.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/web_research.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/extra_docs/workflow_subagents.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/extract_to_text_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/lint_report.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/linter_config_models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/linter_enabled_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/load_extra_document_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/read_image_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/apply.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/failure_report.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/parsing.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file/paths.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/run_named_subagents_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/session_interactive_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/session_start_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/session_stop_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/todo_read_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/todo_write_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/use_rag_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/web_crawl_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/web_search_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/agentic_edit_types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/llm_stream_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/runner/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/runner/base_runner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/runner/file_based_event_runner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/runner/sdk_runner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/runner/terminal_runner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/runner/tool_display.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/test_agentic_callbacks.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/test_agentic_edit.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/test_llm_stream_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/default_tool_resolver_map.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/integration_test.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/plugins/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/plugins/base_plugin.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/plugins/examples/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/plugins/examples/logging_plugin.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/plugins/examples/security_filter_plugin.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/plugins/plugin_interface.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/test_tool_caller.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/tool_call_plugin_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/tool_caller.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/agent/tool_caller/usage_example.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_agentic_editblock_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_auto_generate.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_auto_generate_diff.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_auto_generate_editblock.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_auto_generate_strict_diff.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_auto_merge.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_auto_merge_diff.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_auto_merge_editblock.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_auto_merge_strict_diff.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_diff_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_editblock_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/v2/code_strict_diff_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/wrap_llm_hint/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/wrap_llm_hint/test_wrap_llm_hint.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/wrap_llm_hint/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/common/wrap_llm_hint/wrap_llm_hint.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/base_compiler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/compiler_config_api.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/compiler_config_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/compiler_factory.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/java_compiler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/normal_compiler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/provided_compiler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/python_compiler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/reactjs_compiler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/shadow_compiler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/compilers/vue_compiler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/completer/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/completer/command_completer_v2.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/data/byzerllm.md +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/data/tokenizer.json +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/db/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/db/store.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/default_project/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/dispacher/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/dispacher/actions/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/dispacher/actions/action.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/dispacher/actions/copilot.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/events/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/events/event_content.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/events/event_manager_singleton.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/events/event_store.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/events/event_types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/helper/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/helper/project_creator.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/helper/rag_doc_creator.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/entry.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/filter/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/filter/agentic_filter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/filter/normal_filter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/filter/quick_filter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/for_command.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/index.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/symbols_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/tests/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/tests/run_tests.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/tests/test_entry.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/tests/test_index_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/tests/test_module_integration.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/tests/test_symbols_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/index/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/inner/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/inner/agentic.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/inner/async_command_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/inner/conversation_command_handlers.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/inner/merge_command_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/inner/queue_command_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/lang.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/base_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/linter_factory.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/normal_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/python_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/reactjs_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/shadow_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/test_python_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/test_reactjs_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/test_vue_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/linters/vue_linter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/active_changes.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/active_context_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/active_diagrams.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/active_documents.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/active_header.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/active_package.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/async_processor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/memory/directory_mapper.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/plugins/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/plugins/git_helper_plugin.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/plugins/token_helper_plugin.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/plugins/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/privacy/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/privacy/model_filter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/pyproject/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/agentic_rag.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/api_server.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/base_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/failed_files_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/cache/simple_cache.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/conversation_to_queries.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/doc_filter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/document_retriever.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/lang.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/llm_wrapper.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/loaders/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/loaders/docx_loader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/loaders/excel_loader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/loaders/filter_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/loaders/image_loader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/long_context_rag.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/rag_config.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/rag_entry.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/relevant_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/sdk/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/sdk/client.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/sdk/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/sdk/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/searchable.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/stream_event/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/stream_event/event_writer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/stream_event/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/args.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/bootstrap.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/command_handlers.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/formatters/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/formatters/base.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/formatters/json_format.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/formatters/stream_json.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/formatters/text.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/init.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/terminal/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/test_agentic_rag.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/test_doc_filter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/test_long_context_rag.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/test_token_limiter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/token_checker.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/token_counter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/token_limiter.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/token_limiter_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/bochaai_example.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/bochaai_sdk.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/metaso_example.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/metaso_sdk.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/recall_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/run_integration_tests.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/search_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/test_all_providers.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/test_bochaai_integration.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/test_final_integration.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/test_metaso_integration.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/test_metaso_real.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/test_web_crawl_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/test_web_search_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/todo_read_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/todo_write_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/web_crawl_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/web_search_tool.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/tools/web_tools_example.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rag/variable_holder.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/rags.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/regexproject/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/remote_service/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/remote_service/api_client.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/remote_service/manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/remote_service/models.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/run_context.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/api.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/async_runner/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/async_runner/async_executor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/async_runner/async_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/async_runner/markdown_processor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/async_runner/task_metadata.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/async_runner/worktree_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/cli/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/cli/formatters.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/cli/handlers.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/cli/main.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/cli/options.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/constants.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/core/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/core/auto_coder_core.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/core/bridge.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/exceptions.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/formatters/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/formatters/input.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/formatters/output.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/formatters/stream.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/models/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/models/options.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/models/responses.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/utils/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/utils/formatters.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/utils/io_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/sdk/utils/validators.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/shadows/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/shadows/shadow_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/suffixproject/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/app.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/args.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/bootstrap.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/command_processor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/command_registry.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/help.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/tasks/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/tasks/background.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/tasks/task_event.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/ui/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/ui/completer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/ui/keybindings.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/ui/session.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/ui/toolbar.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/utils/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/utils/errors.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/utils/paths.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal/utils/shell.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/app.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/handlers/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/handlers/command_handler.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/models/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/models/conversation_buffer.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/models/message.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/models/tool_display.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/ui/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/ui/keybindings.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/ui/layout.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/terminal_v3/ui/styles.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/tsproject/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/_markitdown.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/auto_project_type.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/conversation_store.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/llm_client_interceptors.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/llms.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/log_capture.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/math_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/model_provider_selector.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/multi_turn.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/operate_config_api.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/print_table.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/project_structure.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/queue_communicate.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/request_event_queue.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/request_queue.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/rest.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/stream_thinking.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/thread_utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/utils/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/__init__.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/agent.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/exceptions.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/executor.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/loader.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/runner.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/types.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/utils.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/src/autocoder/workflow_agents/workflow_manager.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/tests/test_args_parser.py +0 -0
- {auto_coder-3.0.2 → auto_coder-3.0.4}/tests/test_conf_global_shorthand.py +0 -0
|
@@ -288,6 +288,9 @@ class AutoCoderArgs(pydantic.BaseModel):
|
|
|
288
288
|
enable_agentic_dangerous_command_check: bool = False
|
|
289
289
|
enable_display_agentic_reasoning_content: bool = True
|
|
290
290
|
enable_agentic_interleaving_thinking: bool = True
|
|
291
|
+
|
|
292
|
+
enable_agentic_replace_ask_followup_question_with_attempt_completion: bool = True
|
|
293
|
+
|
|
291
294
|
agentic_max_rounds: int = 10000
|
|
292
295
|
agentic_mode: str = "act" # plan|act
|
|
293
296
|
agentic_connection_retries: int = 10
|
|
@@ -475,6 +478,10 @@ class AutoCoderArgs(pydantic.BaseModel):
|
|
|
475
478
|
# Default to 30 minutes
|
|
476
479
|
call_subagent_timeout: float = 30 * 60
|
|
477
480
|
|
|
481
|
+
# Timeout (in seconds) for waiting user input in ask_followup_question / ask_user.
|
|
482
|
+
# None means no timeout (block forever in terminal, default 3600s in web).
|
|
483
|
+
ask_user_timeout_seconds: Optional[float] = 3600
|
|
484
|
+
|
|
478
485
|
# RAG cache build workers, 0 means use half of cpu count
|
|
479
486
|
rag_cache_build_workers: int = 0
|
|
480
487
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import locale
|
|
3
|
+
import subprocess
|
|
2
4
|
from loguru import logger
|
|
3
5
|
from typing import List, Optional, Dict, Any
|
|
4
6
|
from pydantic import BaseModel
|
|
@@ -52,6 +54,58 @@ class CommitResult(BaseModel):
|
|
|
52
54
|
error_message: Optional[str] = None
|
|
53
55
|
|
|
54
56
|
|
|
57
|
+
def _safe_decode_output(data: Any) -> str:
|
|
58
|
+
"""
|
|
59
|
+
Safely decode subprocess output bytes to string.
|
|
60
|
+
|
|
61
|
+
- Prefer UTF-8 when possible (common for git output).
|
|
62
|
+
- Fallback to system preferred encoding.
|
|
63
|
+
- Never raise UnicodeDecodeError (use replacement as last resort).
|
|
64
|
+
"""
|
|
65
|
+
if data is None:
|
|
66
|
+
return ""
|
|
67
|
+
if isinstance(data, str):
|
|
68
|
+
return data
|
|
69
|
+
if isinstance(data, memoryview):
|
|
70
|
+
data = data.tobytes()
|
|
71
|
+
if not isinstance(data, (bytes, bytearray)):
|
|
72
|
+
return str(data)
|
|
73
|
+
|
|
74
|
+
preferred = locale.getpreferredencoding(False) or "utf-8"
|
|
75
|
+
for enc in ("utf-8", preferred):
|
|
76
|
+
try:
|
|
77
|
+
return bytes(data).decode(enc)
|
|
78
|
+
except UnicodeDecodeError:
|
|
79
|
+
continue
|
|
80
|
+
return bytes(data).decode(preferred, errors="replace")
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def _run_git_capture(repo_path: str, args: List[str]) -> tuple[int, str, str]:
|
|
84
|
+
"""
|
|
85
|
+
Run `git` with binary capture to avoid Windows locale decode crashes.
|
|
86
|
+
Returns: (exit_code, stdout_text, stderr_text)
|
|
87
|
+
"""
|
|
88
|
+
try:
|
|
89
|
+
completed = subprocess.run(
|
|
90
|
+
["git", *args],
|
|
91
|
+
cwd=repo_path,
|
|
92
|
+
capture_output=True,
|
|
93
|
+
text=False, # critical: avoid implicit decoding (gbk/cp936) in reader threads
|
|
94
|
+
check=False,
|
|
95
|
+
)
|
|
96
|
+
return (
|
|
97
|
+
completed.returncode,
|
|
98
|
+
_safe_decode_output(completed.stdout),
|
|
99
|
+
_safe_decode_output(completed.stderr),
|
|
100
|
+
)
|
|
101
|
+
except FileNotFoundError as e:
|
|
102
|
+
# GitPython requires git executable anyway, but keep this error readable.
|
|
103
|
+
msg = str(e)
|
|
104
|
+
return 127, "", msg
|
|
105
|
+
except Exception as e:
|
|
106
|
+
return 1, "", str(e)
|
|
107
|
+
|
|
108
|
+
|
|
55
109
|
def init(repo_path: str) -> bool:
|
|
56
110
|
if not GIT_AVAILABLE:
|
|
57
111
|
logger.warning("Git is not available. Skipping Git initialization.")
|
|
@@ -111,16 +165,45 @@ def commit_changes(repo_path: str, message: str) -> CommitResult:
|
|
|
111
165
|
)
|
|
112
166
|
|
|
113
167
|
if commit.parents:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
168
|
+
parent_hexsha = commit.parents[0].hexsha
|
|
169
|
+
|
|
170
|
+
# Use `git` CLI in binary mode to avoid UnicodeDecodeError on Windows GBK locale.
|
|
171
|
+
# GitPython's internal decoding can crash in subprocess reader threads when output
|
|
172
|
+
# contains non-GBK bytes (e.g., UTF-8 diff content).
|
|
173
|
+
rc, stdout, stderr = _run_git_capture(
|
|
174
|
+
repo_path,
|
|
175
|
+
[
|
|
176
|
+
"-c",
|
|
177
|
+
"core.quotepath=false",
|
|
178
|
+
"diff",
|
|
179
|
+
"--name-only",
|
|
180
|
+
parent_hexsha,
|
|
181
|
+
commit.hexsha,
|
|
182
|
+
],
|
|
183
|
+
)
|
|
184
|
+
if rc != 0 and stderr:
|
|
185
|
+
logger.warning(f"git diff --name-only failed: {stderr}")
|
|
186
|
+
|
|
187
|
+
changed_files = [line.strip() for line in stdout.splitlines() if line.strip()]
|
|
188
|
+
result.changed_files = changed_files
|
|
118
189
|
|
|
119
190
|
for file in result.changed_files:
|
|
120
|
-
|
|
121
|
-
|
|
191
|
+
rc, diff_out, diff_err = _run_git_capture(
|
|
192
|
+
repo_path,
|
|
193
|
+
[
|
|
194
|
+
"-c",
|
|
195
|
+
"core.quotepath=false",
|
|
196
|
+
"diff",
|
|
197
|
+
"--no-color",
|
|
198
|
+
parent_hexsha,
|
|
199
|
+
commit.hexsha,
|
|
200
|
+
"--",
|
|
201
|
+
file,
|
|
202
|
+
],
|
|
122
203
|
)
|
|
123
|
-
|
|
204
|
+
if rc != 0 and diff_err:
|
|
205
|
+
logger.warning(f"git diff for {file} failed: {diff_err}")
|
|
206
|
+
result.diffs[file] = diff_out
|
|
124
207
|
else:
|
|
125
208
|
result.error_message = (
|
|
126
209
|
"This is the initial commit, no parent to compare against."
|
|
@@ -5,12 +5,39 @@ Tools Manager Utility Functions
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
import os
|
|
8
|
+
import locale
|
|
8
9
|
import subprocess
|
|
9
10
|
from pathlib import Path
|
|
10
11
|
from typing import Optional, List
|
|
11
12
|
from loguru import logger
|
|
12
13
|
|
|
13
14
|
|
|
15
|
+
def _safe_decode_output(data: object) -> str:
|
|
16
|
+
"""
|
|
17
|
+
Safely decode subprocess output to string.
|
|
18
|
+
|
|
19
|
+
- Prefer UTF-8 when possible.
|
|
20
|
+
- Fallback to system preferred encoding.
|
|
21
|
+
- Never raise UnicodeDecodeError.
|
|
22
|
+
"""
|
|
23
|
+
if data is None:
|
|
24
|
+
return ""
|
|
25
|
+
if isinstance(data, str):
|
|
26
|
+
return data
|
|
27
|
+
if isinstance(data, memoryview):
|
|
28
|
+
data = data.tobytes()
|
|
29
|
+
if not isinstance(data, (bytes, bytearray)):
|
|
30
|
+
return str(data)
|
|
31
|
+
|
|
32
|
+
preferred = locale.getpreferredencoding(False) or "utf-8"
|
|
33
|
+
for enc in ("utf-8", preferred):
|
|
34
|
+
try:
|
|
35
|
+
return bytes(data).decode(enc)
|
|
36
|
+
except UnicodeDecodeError:
|
|
37
|
+
continue
|
|
38
|
+
return bytes(data).decode(preferred, errors="replace")
|
|
39
|
+
|
|
40
|
+
|
|
14
41
|
def is_tool_command_file(file_path: str) -> bool:
|
|
15
42
|
"""
|
|
16
43
|
检查文件是否是有效的工具命令文件
|
|
@@ -93,12 +120,14 @@ def _try_command_line_help(file_path: str) -> Optional[str]:
|
|
|
93
120
|
result = subprocess.run(
|
|
94
121
|
cmd,
|
|
95
122
|
capture_output=True,
|
|
96
|
-
text=
|
|
123
|
+
text=False, # Avoid Windows locale decode crashes (gbk/cp936 strict)
|
|
97
124
|
timeout=5,
|
|
98
125
|
cwd=Path(file_path).parent
|
|
99
126
|
)
|
|
100
|
-
|
|
101
|
-
|
|
127
|
+
stdout = _safe_decode_output(result.stdout).strip()
|
|
128
|
+
stderr = _safe_decode_output(result.stderr).strip()
|
|
129
|
+
if result.returncode == 0 and (stdout or stderr):
|
|
130
|
+
return stdout or stderr
|
|
102
131
|
except Exception:
|
|
103
132
|
continue
|
|
104
133
|
return None
|
|
@@ -664,7 +664,7 @@ class AgenticEdit:
|
|
|
664
664
|
<list_code_definition_names>
|
|
665
665
|
<path>Directory path here</path>
|
|
666
666
|
</list_code_definition_names>
|
|
667
|
-
|
|
667
|
+
{% if not enable_agentic_replace_ask_followup_question_with_attempt_completion %}
|
|
668
668
|
## ask_followup_question
|
|
669
669
|
Description: Ask the user a question to gather additional information needed to complete the task. This tool should be used when you encounter ambiguities, need clarification, or require more details to proceed effectively. It allows for interactive problem-solving by enabling direct communication with the user. Use this tool judiciously to maintain a balance between gathering necessary information and avoiding excessive back-and-forth.
|
|
670
670
|
Parameters:
|
|
@@ -677,7 +677,7 @@ class AgenticEdit:
|
|
|
677
677
|
Array of options here (optional), e.g. ["Option 1", "Option 2", "Option 3"]
|
|
678
678
|
</options>
|
|
679
679
|
</ask_followup_question>
|
|
680
|
-
|
|
680
|
+
{% endif %}
|
|
681
681
|
## todo_read
|
|
682
682
|
Description: Request to read the current todo list for the session. This tool helps you track progress, organize complex tasks, and understand the current status of ongoing work. Use this tool proactively to stay aware of task progress and demonstrate thoroughness.
|
|
683
683
|
Parameters:
|
|
@@ -710,6 +710,9 @@ class AgenticEdit:
|
|
|
710
710
|
## attempt_completion
|
|
711
711
|
Description: After each tool use, the user will respond with the result of that tool use, i.e. if it succeeded or failed, along with any reasons for failure. Once you've received the results of tool uses and can confirm that the task is complete, use this tool to present the result of your work to the user. Optionally you may provide a CLI command to showcase the result of your work. The user may respond with feedback if they are not satisfied with the result, which you can use to make improvements and try again.
|
|
712
712
|
IMPORTANT NOTE: This tool CANNOT be used until you've confirmed from the user that any previous tool uses were successful. Failure to do so will result in code corruption and system failure. Before using this tool, you must ask yourself in <thinking></thinking> tags if you've confirmed from the user that any previous tool uses were successful. If not, then DO NOT use this tool.
|
|
713
|
+
{% if enable_agentic_replace_ask_followup_question_with_attempt_completion %}
|
|
714
|
+
If you need to ask the user a question to get additional information, you should use the attempt_completion tool to ask the user a question,just put the question in the result field.
|
|
715
|
+
{% endif %}
|
|
713
716
|
Parameters:
|
|
714
717
|
- result: (required) The result of the task. Formulate this result in a way that is final and does not require further input from the user. Don't end your result with questions or offers for further assistance.
|
|
715
718
|
- command: (optional) A CLI command to execute to show a live demo of the result to the user. For example, use `open index.html` to display a created html website, or `open localhost:3000` to display a locally running development server. But DO NOT use commands like `echo` or `cat` that merely print text. This command should be valid for the current operating system. Ensure the command is properly formatted and does not contain any harmful instructions.
|
|
@@ -2351,8 +2354,12 @@ class AgenticEdit:
|
|
|
2351
2354
|
- When making changes to code, always consider the context in which the code is being used. Ensure that your changes are compatible with the existing codebase and that they follow the project's coding standards and best practices.
|
|
2352
2355
|
- When you want to modify a file, use the replace_in_file or write_to_file tool directly with the desired changes. You do not need to display the changes before using the tool.
|
|
2353
2356
|
- Do not ask for more information than necessary. Use the tools provided to accomplish the user's request efficiently and effectively. When you've completed your task, you must use the attempt_completion tool to present the result to the user. The user may provide feedback, which you can use to make improvements and try again.
|
|
2357
|
+
{% if not enable_agentic_replace_ask_followup_question_with_attempt_completion %}
|
|
2354
2358
|
- You are only allowed to ask the user questions using the ask_followup_question tool. Use this tool only when you need additional details to complete a task, and be sure to use a clear and concise question that will help you move forward with the task. However if you can use the available tools to avoid having to ask the user questions, you should do so. For example, if the user mentions a file that may be in an outside directory like the Desktop, you should use the list_files tool to list the files in the Desktop and check if the file they are talking about is there, rather than asking the user to provide the file path themselves.
|
|
2355
|
-
|
|
2359
|
+
{% else %}
|
|
2360
|
+
- If you need to ask the user a question to get additional information, you should use the attempt_completion tool to ask the user a question.
|
|
2361
|
+
{% endif %}
|
|
2362
|
+
- When executing commands, if you don't see the expected output, assume the terminal executed the command successfully and proceed with the task. The user's terminal may be unable to stream the output back properly. If you absolutely need to see the actual terminal output, use the {% if not enable_agentic_replace_ask_followup_question_with_attempt_completion %}ask_followup_question{% else %}attempt_completion{% endif %} tool to request the user to copy and paste it back to you.
|
|
2356
2363
|
- The user may provide a file's contents directly in their message, in which case you shouldn't use the read_file tool to get the file contents again since you already have it.
|
|
2357
2364
|
- Your goal is to try to accomplish the user's task, NOT engage in a back and forth conversation.
|
|
2358
2365
|
- NEVER end attempt_completion result with a question or request to engage in further conversation! Formulate the end of your result in a way that is final and does not require further input from the user.
|
|
@@ -2390,7 +2397,7 @@ class AgenticEdit:
|
|
|
2390
2397
|
|
|
2391
2398
|
1. Analyze the user's task and set clear, achievable goals to accomplish it. Prioritize these goals in a logical order.
|
|
2392
2399
|
2. Work through these goals sequentially, utilizing available tools one at a time as necessary. Each goal should correspond to a distinct step in your problem-solving process. You will be informed on the work completed and what's remaining as you go.
|
|
2393
|
-
3. Remember, you have extensive capabilities with access to a wide range of tools that can be used in powerful and clever ways as necessary to accomplish each goal. Before calling a tool, do some analysis within <thinking></thinking> tags. First, analyze the file structure provided in environment_details to gain context and insights for proceeding effectively. Then, think about which of the provided tools is the most relevant tool to accomplish the user's task. Next, go through each of the required parameters of the relevant tool and determine if the user has directly provided or given enough information to infer a value. When deciding if the parameter can be inferred, carefully consider all the context to see if it supports a specific value. If all of the required parameters are present or can be reasonably inferred, close the thinking tag and proceed with the tool use. BUT, if one of the values for a required parameter is missing, DO NOT invoke the tool (not even with fillers for the missing params) and instead, ask the user to provide the missing parameters using the ask_followup_question tool. DO NOT ask for more information on optional parameters if it is not provided.
|
|
2400
|
+
3. Remember, you have extensive capabilities with access to a wide range of tools that can be used in powerful and clever ways as necessary to accomplish each goal. Before calling a tool, do some analysis within <thinking></thinking> tags. First, analyze the file structure provided in environment_details to gain context and insights for proceeding effectively. Then, think about which of the provided tools is the most relevant tool to accomplish the user's task. Next, go through each of the required parameters of the relevant tool and determine if the user has directly provided or given enough information to infer a value. When deciding if the parameter can be inferred, carefully consider all the context to see if it supports a specific value. If all of the required parameters are present or can be reasonably inferred, close the thinking tag and proceed with the tool use. BUT, if one of the values for a required parameter is missing, DO NOT invoke the tool (not even with fillers for the missing params) and instead, ask the user to provide the missing parameters using the {% if not enable_agentic_replace_ask_followup_question_with_attempt_completion %}ask_followup_question{% else %}attempt_completion{% endif %} tool. DO NOT ask for more information on optional parameters if it is not provided.
|
|
2394
2401
|
4. Once you've completed the user's task, you must use the attempt_completion tool to present the result of the task to the user. You may also provide a CLI command to showcase the result of your task; this can be particularly useful for web development tasks, where you can run e.g. `open index.html` to show the website you've built.
|
|
2395
2402
|
5. The user may provide feedback, which you can use to make improvements and try again. But DO NOT continue in pointless back and forth conversations, i.e. don't end your responses with questions or offers for further assistance.
|
|
2396
2403
|
6. Work through these goals sequentially, **ALWAYS STARTING WITH COMPREHENSIVE SEARCH AND EXPLORATION** using available tools. For any code-related task, begin with check AC MODULEs exits/list_files to understand structure, then use search_files/commands(grep) to find relevant patterns, and read_file to examine context before making changes.
|
|
@@ -2439,6 +2446,7 @@ class AgenticEdit:
|
|
|
2439
2446
|
or "You are a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.",
|
|
2440
2447
|
"sub_agents_content": sub_agents_content,
|
|
2441
2448
|
"agentic_mode": self.args.agentic_mode,
|
|
2449
|
+
"enable_agentic_replace_ask_followup_question_with_attempt_completion": self.args.enable_agentic_replace_ask_followup_question_with_attempt_completion,
|
|
2442
2450
|
} # type: ignore[misc]
|
|
2443
2451
|
|
|
2444
2452
|
# Removed _execute_command_result and execute_auto_command methods
|
|
@@ -8,6 +8,8 @@ from autocoder.common.v2.agent.agentic_edit_types import (
|
|
|
8
8
|
) # Import ToolResult from types
|
|
9
9
|
from loguru import logger
|
|
10
10
|
import typing
|
|
11
|
+
import asyncio
|
|
12
|
+
from concurrent.futures import ThreadPoolExecutor
|
|
11
13
|
from autocoder.common import AutoCoderArgs
|
|
12
14
|
from autocoder.run_context import get_run_context
|
|
13
15
|
from autocoder.events.event_manager_singleton import get_event_manager
|
|
@@ -22,6 +24,11 @@ from autocoder.common.printer import Printer
|
|
|
22
24
|
if typing.TYPE_CHECKING:
|
|
23
25
|
from autocoder.common.v2.agent.agentic_edit import AgenticEdit
|
|
24
26
|
|
|
27
|
+
# 用于 terminal 模式超时的线程池
|
|
28
|
+
_timeout_executor = ThreadPoolExecutor(
|
|
29
|
+
max_workers=1, thread_name_prefix="ask_user_timeout"
|
|
30
|
+
)
|
|
31
|
+
|
|
25
32
|
|
|
26
33
|
class AskFollowupQuestionToolResolver(BaseToolResolver):
|
|
27
34
|
def __init__(
|
|
@@ -35,10 +42,48 @@ class AskFollowupQuestionToolResolver(BaseToolResolver):
|
|
|
35
42
|
self.result_manager = ResultManager()
|
|
36
43
|
self.printer = Printer()
|
|
37
44
|
|
|
45
|
+
def _prompt_with_timeout(self, timeout_seconds: float) -> str:
|
|
46
|
+
"""
|
|
47
|
+
在独立的事件循环中运行 prompt_async 并应用超时。
|
|
48
|
+
如果超时则返回空字符串。
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
async def _inner() -> str:
|
|
52
|
+
from prompt_toolkit import PromptSession as _RawPromptSession
|
|
53
|
+
|
|
54
|
+
session = _RawPromptSession(
|
|
55
|
+
message=self.printer.get_message_from_key("tool_ask_user")
|
|
56
|
+
)
|
|
57
|
+
return await asyncio.wait_for(
|
|
58
|
+
session.prompt_async(), timeout=timeout_seconds
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
# 在新线程中创建全新的事件循环来运行 prompt_async,
|
|
62
|
+
# 避免与调用方可能存在的 running loop 冲突
|
|
63
|
+
future = _timeout_executor.submit(asyncio.run, _inner())
|
|
64
|
+
try:
|
|
65
|
+
return future.result()
|
|
66
|
+
except asyncio.TimeoutError:
|
|
67
|
+
logger.warning(f"Terminal prompt timed out after {timeout_seconds}s")
|
|
68
|
+
return ""
|
|
69
|
+
except Exception as e:
|
|
70
|
+
logger.warning(
|
|
71
|
+
f"Terminal prompt with timeout failed ({e}), falling back to blocking prompt"
|
|
72
|
+
)
|
|
73
|
+
# 降级:使用普通阻塞 prompt(无超时)
|
|
74
|
+
session = PromptSession(
|
|
75
|
+
message=self.printer.get_message_from_key("tool_ask_user")
|
|
76
|
+
)
|
|
77
|
+
try:
|
|
78
|
+
return session.prompt()
|
|
79
|
+
except KeyboardInterrupt:
|
|
80
|
+
return ""
|
|
81
|
+
|
|
38
82
|
def resolve(self) -> ToolResult:
|
|
39
83
|
"""
|
|
40
84
|
Packages the question and options to be handled by the main loop/UI.
|
|
41
85
|
This resolver doesn't directly ask the user but prepares the data for it.
|
|
86
|
+
Supports optional timeout via args.ask_user_timeout_seconds.
|
|
42
87
|
"""
|
|
43
88
|
# Check if running in CLI mode, if so return immediately with a message
|
|
44
89
|
# instructing the model to solve the problem on its own
|
|
@@ -53,12 +98,28 @@ class AskFollowupQuestionToolResolver(BaseToolResolver):
|
|
|
53
98
|
options_text = "\n".join(
|
|
54
99
|
[f"{i+1}. {option}" for i, option in enumerate(options)]
|
|
55
100
|
)
|
|
101
|
+
|
|
102
|
+
# 统一的超时来源
|
|
103
|
+
timeout_seconds: Optional[float] = self.args.ask_user_timeout_seconds
|
|
104
|
+
|
|
56
105
|
if get_run_context().is_web():
|
|
57
|
-
answer = get_event_manager(self.args.event_file).ask_user(
|
|
106
|
+
answer = get_event_manager(self.args.event_file).ask_user(
|
|
107
|
+
prompt=question, timeout=timeout_seconds
|
|
108
|
+
)
|
|
58
109
|
self.result_manager.append(
|
|
59
110
|
content=answer + ("\n" + options_text if options_text else ""),
|
|
60
111
|
meta={"action": "ask_user", "input": {"question": question}},
|
|
61
112
|
)
|
|
113
|
+
if not answer:
|
|
114
|
+
return ToolResult(
|
|
115
|
+
success=False,
|
|
116
|
+
message=(
|
|
117
|
+
"I did not have time to answer your question. you can decide to how to handle this situation by yourself or ask me to answer the question later."
|
|
118
|
+
if timeout_seconds is not None
|
|
119
|
+
else "Error: Question not answered."
|
|
120
|
+
),
|
|
121
|
+
content="",
|
|
122
|
+
)
|
|
62
123
|
return ToolResult(
|
|
63
124
|
success=True, message="Follow-up question prepared.", content=answer
|
|
64
125
|
)
|
|
@@ -77,18 +138,31 @@ class AskFollowupQuestionToolResolver(BaseToolResolver):
|
|
|
77
138
|
# 显示问题面板
|
|
78
139
|
console.print(question_panel)
|
|
79
140
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
141
|
+
if timeout_seconds is not None:
|
|
142
|
+
console.print(f"[dim](timeout: {timeout_seconds}s)[/dim]")
|
|
143
|
+
|
|
83
144
|
try:
|
|
84
|
-
|
|
145
|
+
if timeout_seconds is not None:
|
|
146
|
+
answer = self._prompt_with_timeout(timeout_seconds)
|
|
147
|
+
else:
|
|
148
|
+
session = PromptSession(
|
|
149
|
+
message=self.printer.get_message_from_key("tool_ask_user")
|
|
150
|
+
)
|
|
151
|
+
answer = session.prompt()
|
|
85
152
|
except KeyboardInterrupt:
|
|
86
153
|
answer = ""
|
|
87
154
|
|
|
88
155
|
# The actual asking logic resides outside the resolver, typically in the agent's main loop
|
|
89
156
|
# or UI interaction layer. The resolver's job is to validate and package the request.
|
|
90
157
|
if not answer:
|
|
91
|
-
return ToolResult(
|
|
158
|
+
return ToolResult(
|
|
159
|
+
success=False,
|
|
160
|
+
message=(
|
|
161
|
+
"I did not have time to answer your question. you can decide to how to handle this situation by yourself or ask me to answer the question later."
|
|
162
|
+
if timeout_seconds is not None
|
|
163
|
+
else "Error: Question not answered."
|
|
164
|
+
),
|
|
165
|
+
)
|
|
92
166
|
|
|
93
167
|
# Indicate success in preparing the question data
|
|
94
168
|
return ToolResult(
|