auto-coder 0.1.399__tar.gz → 0.1.400__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of auto-coder might be problematic. Click here for more details.
- {auto_coder-0.1.399 → auto_coder-0.1.400}/PKG-INFO +1 -1
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/auto_coder.egg-info/PKG-INFO +1 -1
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/auto_coder.egg-info/SOURCES.txt +19 -2
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/auto_coder_runner.py +2 -1
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/ac_style_command_parser/parser.py +27 -12
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/auto_coder_lang.py +78 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_completer_v2.py +1 -1
- auto_coder-0.1.400/src/autocoder/common/pull_requests/__init__.py +256 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/base_provider.py +191 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/config.py +66 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/example.py +1 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/exceptions.py +46 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/manager.py +201 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/models.py +164 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/providers/__init__.py +23 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/providers/gitcode_provider.py +19 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/providers/gitee_provider.py +20 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/providers/github_provider.py +214 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/providers/gitlab_provider.py +29 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/test_module.py +1 -0
- auto_coder-0.1.400/src/autocoder/common/pull_requests/utils.py +344 -0
- auto_coder-0.1.400/src/autocoder/common/tokens/__init__.py +62 -0
- auto_coder-0.1.400/src/autocoder/common/tokens/counter.py +211 -0
- auto_coder-0.1.400/src/autocoder/common/tokens/file_detector.py +105 -0
- auto_coder-0.1.400/src/autocoder/common/tokens/filters.py +111 -0
- auto_coder-0.1.400/src/autocoder/common/tokens/models.py +28 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit.py +182 -68
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_types.py +1 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/cli/handlers.py +2 -1
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/cli/main.py +4 -2
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/cli/options.py +4 -3
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/core/auto_coder_core.py +14 -1
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/core/bridge.py +3 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/models/options.py +8 -6
- auto_coder-0.1.400/src/autocoder/version.py +2 -0
- auto_coder-0.1.399/src/autocoder/common/ac_style_command_parser/example.py +0 -7
- auto_coder-0.1.399/src/autocoder/sdk/example.py +0 -0
- auto_coder-0.1.399/src/autocoder/version.py +0 -2
- {auto_coder-0.1.399 → auto_coder-0.1.400}/LICENSE +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/README.md +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/setup.cfg +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/setup.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/auto_coder.egg-info/dependency_links.txt +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/auto_coder.egg-info/entry_points.txt +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/auto_coder.egg-info/requires.txt +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/auto_coder.egg-info/top_level.txt +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/agentic_filter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/auto_demand_organizer.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/auto_filegroup.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/auto_guess_query.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/auto_learn.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/auto_review_commit.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/auto_tool.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/agent_hub.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/agentic_lang.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/agentic_tool_display.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/base_agent.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/default_tools.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/test_base_agent.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tool_registry.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/ask_followup_question_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/attempt_completion_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/base_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/example_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/execute_command_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/list_files_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/plan_mode_respond_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/replace_in_file_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/search_files_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/talk_to_group_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/talk_to_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/use_mcp_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/types.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/base_agentic/utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/coder.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/designer.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/entry_command_agent/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/entry_command_agent/auto_tool.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/entry_command_agent/chat.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/entry_command_agent/designer.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/entry_command_agent/generate_command.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/entry_command_agent/project_reader.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/entry_command_agent/voice2text.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/planner.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/agent/project_reader.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/auto_coder.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/auto_coder_rag.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/auto_coder_server.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/benchmark.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/chat/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/chat/conf_command.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/chat/models_command.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/chat/rules_command.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/chat_auto_coder.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/chat_auto_coder_lang.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/command_args.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/commands/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/commands/auto_command.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/commands/auto_web.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/commands/tools.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/JupyterClient.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/ShellClient.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/ac_style_command_parser/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/ac_style_command_parser/test_parser.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/action_yml_file_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/anything2images.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/anything2img.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/audio.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/auto_configure.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/buildin_tokenizer.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/chunk_validation.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/cleaner.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_execute.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_generate.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_generate_diff.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_merge.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_merge_diff.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_merge_editblock.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_auto_merge_strict_diff.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/code_modification_ranker.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_completer.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_file_manager/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_file_manager/examples.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_file_manager/manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_file_manager/models.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_file_manager/utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_generator.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/command_templates.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/computer_use.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conf_import_export.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conf_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conf_validator.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/const.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/context_pruner.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversation_pruner.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/backup/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/backup/backup_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/backup/restore_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/cache/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/cache/base_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/cache/cache_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/cache/memory_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/config.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/exceptions.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/file_locker.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/get_conversation_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/models.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/search/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/search/filter_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/search/text_searcher.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/storage/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/storage/base_storage.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/storage/file_storage.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/conversations/storage/index_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/directory_cache/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/directory_cache/cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/directory_cache/test_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/backup.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/conversation_checkpoint.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/examples.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/models.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/store.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/test_backup.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/test_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/test_models.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/test_store.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/test_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_checkpoint/utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_monitor/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/file_monitor/monitor.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/files.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/git_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/global_cancel.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/ignorefiles/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/ignorefiles/ignore_file_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/ignorefiles/test_ignore_file_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/image_to_page.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/index_import_export.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/interpreter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/llm_friendly_package.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/llm_friendly_package_example.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/llm_friendly_package_test.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/mcp_hub.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/mcp_server.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/mcp_server_install.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/mcp_server_types.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/mcp_servers/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/mcp_tools.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/memory_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/model_speed_tester.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/openai_content.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/printer.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/rag_manager/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/rag_manager/rag_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/recall_validation.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/result_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/rulefiles/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/rulefiles/autocoderrules_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/run_cmd.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/save_formatted_log.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/screenshots.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/search.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/search_replace.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/shells.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/stats_panel.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/stream_out_type.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/sys_prompt.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/test_run_cmd.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/text.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/token_cost_caculate.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/types.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/utils_code_auto_generate.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/ask_followup_question_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/attempt_completion_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/dangerous_command_checker.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/list_code_definition_names_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/list_package_info_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/plan_mode_respond_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/use_rag_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/agent/agentic_tool_display.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_agentic_editblock_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_auto_generate.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_auto_generate_diff.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_auto_generate_editblock.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_auto_generate_strict_diff.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_auto_merge.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_auto_merge_diff.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_auto_merge_editblock.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_auto_merge_strict_diff.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_diff_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_editblock_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/v2/code_strict_diff_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/base_compiler.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/compiler_config_api.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/compiler_config_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/compiler_factory.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/java_compiler.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/models.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/normal_compiler.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/provided_compiler.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/python_compiler.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/reactjs_compiler.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/shadow_compiler.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/compilers/vue_compiler.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/data/byzerllm.md +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/data/tokenizer.json +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/db/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/db/store.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/dispacher/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/dispacher/actions/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/dispacher/actions/action.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/dispacher/actions/copilot.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/events/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/events/event_content.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/events/event_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/events/event_manager_singleton.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/events/event_store.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/events/event_types.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/helper/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/helper/project_creator.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/helper/rag_doc_creator.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/entry.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/filter/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/filter/normal_filter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/filter/quick_filter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/for_command.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/index.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/symbols_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/index/types.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/lang.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/base_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/linter_factory.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/models.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/normal_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/python_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/reactjs_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/shadow_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/test_python_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/test_reactjs_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/test_vue_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/linters/vue_linter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/active_changes.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/active_context_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/active_diagrams.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/active_documents.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/active_header.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/active_package.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/async_processor.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/memory/directory_mapper.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/models.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/plugins/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/plugins/git_helper_plugin.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/plugins/sample_plugin.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/plugins/token_helper_plugin.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/plugins/utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/privacy/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/privacy/model_filter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/pyproject/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/agentic_rag.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/api_server.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/base_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/failed_files_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/cache/simple_cache.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/conversation_to_queries.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/doc_filter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/document_retriever.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/lang.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/llm_wrapper.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/loaders/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/loaders/docx_loader.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/loaders/excel_loader.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/loaders/filter_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/loaders/image_loader.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/long_context_rag.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/rag_config.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/rag_entry.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/relevant_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/searchable.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/stream_event/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/stream_event/event_writer.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/stream_event/types.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/test_doc_filter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/test_long_context_rag.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/test_token_limiter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/token_checker.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/token_counter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/token_limiter.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/token_limiter_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/tools/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/tools/recall_tool.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/tools/search_tool.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/types.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rag/variable_holder.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/rags.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/regexproject/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/run_context.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/cli/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/cli/__main__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/cli/completion_wrapper.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/cli/formatters.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/cli/install_completion.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/constants.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/core/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/exceptions.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/models/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/models/messages.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/models/responses.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/session/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/session/session.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/session/session_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/utils/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/utils/formatters.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/utils/io_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/sdk/utils/validators.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/shadows/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/shadows/shadow_manager.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/suffixproject/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/tsproject/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/_markitdown.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/auto_project_type.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/conversation_store.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/llm_client_interceptors.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/llms.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/log_capture.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/model_provider_selector.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/multi_turn.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/operate_config_api.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/print_table.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/project_structure.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/queue_communicate.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/request_event_queue.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/request_queue.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/rest.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/stream_thinking.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/thread_utils.py +0 -0
- {auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/utils/types.py +0 -0
|
@@ -142,7 +142,6 @@ src/autocoder/common/token_cost_caculate.py
|
|
|
142
142
|
src/autocoder/common/types.py
|
|
143
143
|
src/autocoder/common/utils_code_auto_generate.py
|
|
144
144
|
src/autocoder/common/ac_style_command_parser/__init__.py
|
|
145
|
-
src/autocoder/common/ac_style_command_parser/example.py
|
|
146
145
|
src/autocoder/common/ac_style_command_parser/parser.py
|
|
147
146
|
src/autocoder/common/ac_style_command_parser/test_parser.py
|
|
148
147
|
src/autocoder/common/command_file_manager/__init__.py
|
|
@@ -195,10 +194,29 @@ src/autocoder/common/ignorefiles/test_ignore_file_utils.py
|
|
|
195
194
|
src/autocoder/common/mcp_servers/__init__.py
|
|
196
195
|
src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py
|
|
197
196
|
src/autocoder/common/mcp_servers/mcp_server_perplexity.py
|
|
197
|
+
src/autocoder/common/pull_requests/__init__.py
|
|
198
|
+
src/autocoder/common/pull_requests/base_provider.py
|
|
199
|
+
src/autocoder/common/pull_requests/config.py
|
|
200
|
+
src/autocoder/common/pull_requests/example.py
|
|
201
|
+
src/autocoder/common/pull_requests/exceptions.py
|
|
202
|
+
src/autocoder/common/pull_requests/manager.py
|
|
203
|
+
src/autocoder/common/pull_requests/models.py
|
|
204
|
+
src/autocoder/common/pull_requests/test_module.py
|
|
205
|
+
src/autocoder/common/pull_requests/utils.py
|
|
206
|
+
src/autocoder/common/pull_requests/providers/__init__.py
|
|
207
|
+
src/autocoder/common/pull_requests/providers/gitcode_provider.py
|
|
208
|
+
src/autocoder/common/pull_requests/providers/gitee_provider.py
|
|
209
|
+
src/autocoder/common/pull_requests/providers/github_provider.py
|
|
210
|
+
src/autocoder/common/pull_requests/providers/gitlab_provider.py
|
|
198
211
|
src/autocoder/common/rag_manager/__init__.py
|
|
199
212
|
src/autocoder/common/rag_manager/rag_manager.py
|
|
200
213
|
src/autocoder/common/rulefiles/__init__.py
|
|
201
214
|
src/autocoder/common/rulefiles/autocoderrules_utils.py
|
|
215
|
+
src/autocoder/common/tokens/__init__.py
|
|
216
|
+
src/autocoder/common/tokens/counter.py
|
|
217
|
+
src/autocoder/common/tokens/file_detector.py
|
|
218
|
+
src/autocoder/common/tokens/filters.py
|
|
219
|
+
src/autocoder/common/tokens/models.py
|
|
202
220
|
src/autocoder/common/v2/__init__.py
|
|
203
221
|
src/autocoder/common/v2/code_agentic_editblock_manager.py
|
|
204
222
|
src/autocoder/common/v2/code_auto_generate.py
|
|
@@ -357,7 +375,6 @@ src/autocoder/rag/tools/search_tool.py
|
|
|
357
375
|
src/autocoder/regexproject/__init__.py
|
|
358
376
|
src/autocoder/sdk/__init__.py
|
|
359
377
|
src/autocoder/sdk/constants.py
|
|
360
|
-
src/autocoder/sdk/example.py
|
|
361
378
|
src/autocoder/sdk/exceptions.py
|
|
362
379
|
src/autocoder/sdk/cli/__init__.py
|
|
363
380
|
src/autocoder/sdk/cli/__main__.py
|
|
@@ -3357,7 +3357,8 @@ def run_auto_command(query: str,
|
|
|
3357
3357
|
conversation_config.action = "command"
|
|
3358
3358
|
task_query = render_command_file_with_variables(command_infos)
|
|
3359
3359
|
|
|
3360
|
-
conversation_config.query = task_query
|
|
3360
|
+
conversation_config.query = task_query
|
|
3361
|
+
conversation_config.pull_request = pr
|
|
3361
3362
|
|
|
3362
3363
|
agent = AgenticEdit(llm=llm,args=args,files=SourceCodeList(sources=sources),
|
|
3363
3364
|
conversation_history=conversation_history,
|
{auto_coder-0.1.399 → auto_coder-0.1.400}/src/autocoder/common/ac_style_command_parser/parser.py
RENAMED
|
@@ -22,8 +22,8 @@ class CommandParser:
|
|
|
22
22
|
# 匹配命令的正则表达式 - 必须是以/开头,后跟单词字符,且不能后跟/或.
|
|
23
23
|
# (?<!\S) 确保命令前是字符串开头或空白字符
|
|
24
24
|
self.command_pattern = r'(?<!\S)/(\w+)(?!/|\.)'
|
|
25
|
-
#
|
|
26
|
-
self.key_value_pattern = r'(\w+)=(
|
|
25
|
+
# 匹配键值对参数的正则表达式,支持带引号的值(包括三重引号)
|
|
26
|
+
self.key_value_pattern = r'(\w+)=(?:\'\'\'([^\']*?)\'\'\'|"""([^"]*?)"""|"([^"]*?)"|\'([^\']*?)\'|([^\s"\']*))(?:\s|$)'
|
|
27
27
|
# 匹配路径模式的正则表达式
|
|
28
28
|
self.path_pattern = r'/\w+(?:/[^/\s]+)+'
|
|
29
29
|
|
|
@@ -119,8 +119,9 @@ class CommandParser:
|
|
|
119
119
|
if key_value_pairs:
|
|
120
120
|
for match in key_value_pairs:
|
|
121
121
|
key = match[0]
|
|
122
|
-
#
|
|
123
|
-
|
|
122
|
+
# 值可能在六个捕获组中的一个,取非空的那个
|
|
123
|
+
# match[1]: 三重单引号, match[2]: 三重双引号, match[3]: 双引号, match[4]: 单引号, match[5]: 无引号
|
|
124
|
+
value = match[1] or match[2] or match[3] or match[4] or match[5]
|
|
124
125
|
kwargs[key] = value.strip()
|
|
125
126
|
|
|
126
127
|
# 替换带引号的键值对
|
|
@@ -131,15 +132,22 @@ class CommandParser:
|
|
|
131
132
|
|
|
132
133
|
# 现在 processed_params_str 中应该只剩下位置参数
|
|
133
134
|
|
|
134
|
-
#
|
|
135
|
-
quote_pattern = r'(
|
|
135
|
+
# 处理带引号的位置参数(包括三重引号)
|
|
136
|
+
quote_pattern = r'(?:\'\'\'([^\']*?)\'\'\'|"""([^"]*?)"""|"([^"]*?)"|\'([^\']*?)\')'
|
|
136
137
|
quoted_args = re.findall(quote_pattern, processed_params_str)
|
|
137
138
|
for quoted_arg in quoted_args:
|
|
138
139
|
# 取非空的那个捕获组
|
|
139
|
-
arg = quoted_arg[0] or quoted_arg[1]
|
|
140
|
+
arg = quoted_arg[0] or quoted_arg[1] or quoted_arg[2] or quoted_arg[3]
|
|
140
141
|
args.append(arg)
|
|
141
142
|
# 从参数字符串中移除这个带引号的参数
|
|
142
|
-
|
|
143
|
+
if quoted_arg[0]: # 三重单引号
|
|
144
|
+
quoted_pattern = f"'''{arg}'''"
|
|
145
|
+
elif quoted_arg[1]: # 三重双引号
|
|
146
|
+
quoted_pattern = f'"""{arg}"""'
|
|
147
|
+
elif quoted_arg[2]: # 双引号
|
|
148
|
+
quoted_pattern = f'"{arg}"'
|
|
149
|
+
else: # 单引号
|
|
150
|
+
quoted_pattern = f"'{arg}'"
|
|
143
151
|
processed_params_str = processed_params_str.replace(quoted_pattern, "", 1).strip()
|
|
144
152
|
|
|
145
153
|
# 分割剩余的位置参数(不带引号的)
|
|
@@ -148,17 +156,24 @@ class CommandParser:
|
|
|
148
156
|
else:
|
|
149
157
|
# 如果没有键值对,处理所有参数作为位置参数
|
|
150
158
|
|
|
151
|
-
#
|
|
152
|
-
quote_pattern = r'(
|
|
159
|
+
# 处理带引号的位置参数(包括三重引号)
|
|
160
|
+
quote_pattern = r'(?:\'\'\'([^\']*?)\'\'\'|"""([^"]*?)"""|"([^"]*?)"|\'([^\']*?)\')'
|
|
153
161
|
quoted_args = re.findall(quote_pattern, params_str)
|
|
154
162
|
processed_params_str = params_str
|
|
155
163
|
|
|
156
164
|
for quoted_arg in quoted_args:
|
|
157
165
|
# 取非空的那个捕获组
|
|
158
|
-
arg = quoted_arg[0] or quoted_arg[1]
|
|
166
|
+
arg = quoted_arg[0] or quoted_arg[1] or quoted_arg[2] or quoted_arg[3]
|
|
159
167
|
args.append(arg)
|
|
160
168
|
# 从参数字符串中移除这个带引号的参数
|
|
161
|
-
|
|
169
|
+
if quoted_arg[0]: # 三重单引号
|
|
170
|
+
quoted_pattern = f"'''{arg}'''"
|
|
171
|
+
elif quoted_arg[1]: # 三重双引号
|
|
172
|
+
quoted_pattern = f'"""{arg}"""'
|
|
173
|
+
elif quoted_arg[2]: # 双引号
|
|
174
|
+
quoted_pattern = f'"{arg}"'
|
|
175
|
+
else: # 单引号
|
|
176
|
+
quoted_pattern = f"'{arg}'"
|
|
162
177
|
processed_params_str = processed_params_str.replace(quoted_pattern, "", 1).strip()
|
|
163
178
|
|
|
164
179
|
# 分割剩余的位置参数(不带引号的)
|
|
@@ -849,6 +849,84 @@ MESSAGES = {
|
|
|
849
849
|
"/agent/edit/apply_changes":{
|
|
850
850
|
"en":"Commit the changes in preview steps",
|
|
851
851
|
"zh":"提交前面步骤的修改"
|
|
852
|
+
},
|
|
853
|
+
"/agent/edit/pull_request/branch_name_failed": {
|
|
854
|
+
"en": "Unable to get current branch name, skipping PR creation",
|
|
855
|
+
"zh": "无法获取当前分支名,跳过 PR 创建"
|
|
856
|
+
},
|
|
857
|
+
"/agent/edit/pull_request/title": {
|
|
858
|
+
"en": "AutoCoder: {{query}}",
|
|
859
|
+
"zh": "AutoCoder: {{query}}"
|
|
860
|
+
},
|
|
861
|
+
"/agent/edit/pull_request/default_query": {
|
|
862
|
+
"en": "Code auto generation",
|
|
863
|
+
"zh": "代码自动生成"
|
|
864
|
+
},
|
|
865
|
+
"/agent/edit/pull_request/description": {
|
|
866
|
+
"en": """## 🤖 AutoCoder Generated Pull Request
|
|
867
|
+
|
|
868
|
+
**Task Description**: {{query}}
|
|
869
|
+
|
|
870
|
+
### 📝 Change Summary
|
|
871
|
+
- Modified {{file_count}} files
|
|
872
|
+
- Commit Hash: `{{commit_hash}}`
|
|
873
|
+
|
|
874
|
+
### 📂 Changed Files List
|
|
875
|
+
{{file_list}}
|
|
876
|
+
|
|
877
|
+
### ⚙️ Generation Configuration
|
|
878
|
+
- Source Branch: `{{source_branch}}`
|
|
879
|
+
- Target Branch: `{{target_branch}}`
|
|
880
|
+
- Auto-generated Time: {{timestamp}}
|
|
881
|
+
|
|
882
|
+
### 🔍 Next Steps
|
|
883
|
+
- [ ] Code Review
|
|
884
|
+
- [ ] Test Verification
|
|
885
|
+
- [ ] Merge to Main Branch
|
|
886
|
+
|
|
887
|
+
---
|
|
888
|
+
*This PR was automatically created by AutoCoder*
|
|
889
|
+
""",
|
|
890
|
+
"zh": """## 🤖 AutoCoder 自动生成的 Pull Request
|
|
891
|
+
|
|
892
|
+
**任务描述**: {{query}}
|
|
893
|
+
|
|
894
|
+
### 📝 变更摘要
|
|
895
|
+
- 共修改 {{file_count}} 个文件
|
|
896
|
+
- 提交哈希: `{{commit_hash}}`
|
|
897
|
+
|
|
898
|
+
### 📂 变更文件列表
|
|
899
|
+
{{file_list}}
|
|
900
|
+
|
|
901
|
+
### ⚙️ 生成配置
|
|
902
|
+
- 源分支: `{{source_branch}}`
|
|
903
|
+
- 目标分支: `{{target_branch}}`
|
|
904
|
+
- 自动生成时间: {{timestamp}}
|
|
905
|
+
|
|
906
|
+
### 🔍 下一步
|
|
907
|
+
- [ ] 代码审查
|
|
908
|
+
- [ ] 测试验证
|
|
909
|
+
- [ ] 合并到主分支
|
|
910
|
+
|
|
911
|
+
---
|
|
912
|
+
*此 PR 由 AutoCoder 自动创建*
|
|
913
|
+
"""
|
|
914
|
+
},
|
|
915
|
+
"/agent/edit/pull_request/creating": {
|
|
916
|
+
"en": "Creating Pull Request: {{title}}",
|
|
917
|
+
"zh": "正在创建 Pull Request: {{title}}"
|
|
918
|
+
},
|
|
919
|
+
"/agent/edit/pull_request/success": {
|
|
920
|
+
"en": "✅ Pull Request created successfully",
|
|
921
|
+
"zh": "✅ Pull Request 创建成功"
|
|
922
|
+
},
|
|
923
|
+
"/agent/edit/pull_request/failed": {
|
|
924
|
+
"en": "❌ Pull Request creation failed: {{error}}",
|
|
925
|
+
"zh": "❌ Pull Request 创建失败: {{error}}"
|
|
926
|
+
},
|
|
927
|
+
"/agent/edit/pull_request/exception": {
|
|
928
|
+
"en": "❌ Exception occurred while creating Pull Request: {{error}}",
|
|
929
|
+
"zh": "❌ 创建 Pull Request 时发生异常: {{error}}"
|
|
852
930
|
}
|
|
853
931
|
}
|
|
854
932
|
|
|
@@ -22,7 +22,7 @@ COMMAND_HIERARCHY = {
|
|
|
22
22
|
"/mcp": {"/add": {}, "/remove": {}, "/list": {}, "/list_running": {}, "/refresh": {}, "/info": {}},
|
|
23
23
|
"/lib": {"/add": {}, "/remove": {}, "/list": {}, "/set-proxy": {}, "/refresh": {}, "/get": {}},
|
|
24
24
|
"/models": {"/chat": {}, "/add": {}, "/add_model": {}, "/remove": {}, "/list": {}, "/speed": {}, "/speed-test": {}, "/input_price": {}, "/output_price": {}, "/activate": {}},
|
|
25
|
-
"/auto": {"/new": {}, "/
|
|
25
|
+
"/auto": {"/new": {}, "/resume": {}, "/list": {},"/command":{}},
|
|
26
26
|
"/shell": {"/chat": {}},
|
|
27
27
|
"/active_context": {"/list": {}, "/run": {}},
|
|
28
28
|
"/index": {"/query": {}, "/build": {}, "/export": {}, "/import": {}},
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Pull Request 统一管理模块
|
|
3
|
+
|
|
4
|
+
统一的 Pull Request 创建和管理模块,支持 GitHub、GitLab、Gitee、GitCode 四大代码托管平台的 PR 操作。
|
|
5
|
+
"""
|
|
6
|
+
from typing import Optional, List, Dict, Any
|
|
7
|
+
from loguru import logger
|
|
8
|
+
|
|
9
|
+
from .models import (
|
|
10
|
+
PRConfig, PRResult, PRInfo, PRData, RepoInfo, PlatformType,
|
|
11
|
+
DEFAULT_TEMPLATES
|
|
12
|
+
)
|
|
13
|
+
from .manager import PullRequestManager, get_global_manager, set_global_config
|
|
14
|
+
from .exceptions import (
|
|
15
|
+
PRError, AuthenticationError, RepositoryNotFoundError,
|
|
16
|
+
BranchNotFoundError, NetworkError, RateLimitError,
|
|
17
|
+
ValidationError, PlatformNotSupportedError, ConfigurationError
|
|
18
|
+
)
|
|
19
|
+
from .config import get_config
|
|
20
|
+
from .utils import (
|
|
21
|
+
parse_git_url, detect_platform_from_repo, get_repo_info_from_path,
|
|
22
|
+
get_current_branch, branch_exists, is_git_repo, get_default_remote_branch,
|
|
23
|
+
ensure_branch_exists_remotely, is_main_branch, create_and_checkout_branch,
|
|
24
|
+
generate_auto_branch_name
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def create_pull_request(
|
|
29
|
+
repo_path: str,
|
|
30
|
+
title: str,
|
|
31
|
+
source_branch: Optional[str] = None,
|
|
32
|
+
target_branch: Optional[str] = None,
|
|
33
|
+
description: str = "",
|
|
34
|
+
labels: Optional[List[str]] = None,
|
|
35
|
+
assignees: Optional[List[str]] = None,
|
|
36
|
+
reviewers: Optional[List[str]] = None,
|
|
37
|
+
draft: bool = False,
|
|
38
|
+
template_type: Optional[str] = None,
|
|
39
|
+
template_vars: Optional[Dict[str, str]] = None,
|
|
40
|
+
platform: Optional[str] = None,
|
|
41
|
+
token: Optional[str] = None,
|
|
42
|
+
**kwargs
|
|
43
|
+
) -> PRResult:
|
|
44
|
+
"""
|
|
45
|
+
创建 Pull Request(主要接口函数)
|
|
46
|
+
|
|
47
|
+
Args:
|
|
48
|
+
repo_path: 仓库路径
|
|
49
|
+
title: PR标题
|
|
50
|
+
source_branch: 源分支(可选,默认为当前分支)
|
|
51
|
+
target_branch: 目标分支(可选,默认为远程默认分支或main)
|
|
52
|
+
description: PR描述
|
|
53
|
+
labels: 标签列表
|
|
54
|
+
assignees: 负责人列表
|
|
55
|
+
reviewers: 审查者列表
|
|
56
|
+
draft: 是否为草稿PR
|
|
57
|
+
template_type: 模板类型
|
|
58
|
+
template_vars: 模板变量
|
|
59
|
+
platform: 平台类型(可选,会自动检测)
|
|
60
|
+
token: 访问令牌(可选)
|
|
61
|
+
**kwargs: 其他配置参数
|
|
62
|
+
|
|
63
|
+
Returns:
|
|
64
|
+
PR创建结果
|
|
65
|
+
"""
|
|
66
|
+
# 处理可选的分支参数
|
|
67
|
+
if source_branch is None:
|
|
68
|
+
source_branch = get_current_branch(repo_path)
|
|
69
|
+
if not source_branch:
|
|
70
|
+
raise ValidationError("无法获取当前分支,请指定source_branch参数")
|
|
71
|
+
|
|
72
|
+
# 从当前分支,自动创建新分支
|
|
73
|
+
auto_branch_name = generate_auto_branch_name()
|
|
74
|
+
logger.info(f"检测到当前分支 '{source_branch}' 为主分支,自动创建新分支: {auto_branch_name}")
|
|
75
|
+
|
|
76
|
+
if not create_and_checkout_branch(repo_path, auto_branch_name):
|
|
77
|
+
raise ValidationError(f"无法从主分支 '{source_branch}' 创建新分支 '{auto_branch_name}'")
|
|
78
|
+
|
|
79
|
+
source_branch = auto_branch_name
|
|
80
|
+
logger.info(f"已切换到新分支: {source_branch}")
|
|
81
|
+
|
|
82
|
+
if target_branch is None:
|
|
83
|
+
target_branch = get_default_remote_branch(repo_path)
|
|
84
|
+
if not target_branch:
|
|
85
|
+
target_branch = "main" # 默认值
|
|
86
|
+
|
|
87
|
+
# 验证仓库是否为Git仓库
|
|
88
|
+
if not is_git_repo(repo_path):
|
|
89
|
+
raise ValidationError(f"路径 {repo_path} 不是一个有效的Git仓库")
|
|
90
|
+
|
|
91
|
+
# 检查源分支和目标分支是否相同
|
|
92
|
+
if source_branch == target_branch:
|
|
93
|
+
raise ValidationError(f"源分支和目标分支不能相同: {source_branch}")
|
|
94
|
+
|
|
95
|
+
# 确保源分支存在于远程仓库,如果不存在则自动推送
|
|
96
|
+
if not ensure_branch_exists_remotely(repo_path, source_branch):
|
|
97
|
+
raise BranchNotFoundError(
|
|
98
|
+
f"源分支 '{source_branch}' 在本地不存在或推送失败。"
|
|
99
|
+
f"请检查分支是否存在或网络连接是否正常。"
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
# 检查目标分支是否存在于远程仓库
|
|
103
|
+
if not branch_exists(repo_path, target_branch, remote=True):
|
|
104
|
+
raise BranchNotFoundError(
|
|
105
|
+
f"目标分支 '{target_branch}' 在远程仓库中不存在。"
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
# 如果提供了token,创建临时配置
|
|
109
|
+
manager = get_global_manager()
|
|
110
|
+
|
|
111
|
+
if token:
|
|
112
|
+
# 自动检测平台或使用指定平台
|
|
113
|
+
if not platform:
|
|
114
|
+
detected_platform = detect_platform_from_repo(repo_path)
|
|
115
|
+
if detected_platform:
|
|
116
|
+
platform = detected_platform.value
|
|
117
|
+
else:
|
|
118
|
+
raise ValidationError("无法检测平台类型,请指定platform参数")
|
|
119
|
+
|
|
120
|
+
# 创建临时配置
|
|
121
|
+
temp_config = PRConfig(platform=PlatformType(platform), token=token)
|
|
122
|
+
temp_manager = PullRequestManager(temp_config)
|
|
123
|
+
|
|
124
|
+
return temp_manager.create_pull_request(
|
|
125
|
+
repo_path=repo_path,
|
|
126
|
+
source_branch=source_branch,
|
|
127
|
+
target_branch=target_branch,
|
|
128
|
+
title=title,
|
|
129
|
+
description=description,
|
|
130
|
+
labels=labels,
|
|
131
|
+
assignees=assignees,
|
|
132
|
+
reviewers=reviewers,
|
|
133
|
+
draft=draft,
|
|
134
|
+
template_type=template_type,
|
|
135
|
+
template_vars=template_vars,
|
|
136
|
+
platform=platform
|
|
137
|
+
)
|
|
138
|
+
else:
|
|
139
|
+
# 使用全局管理器
|
|
140
|
+
return manager.create_pull_request(
|
|
141
|
+
repo_path=repo_path,
|
|
142
|
+
source_branch=source_branch,
|
|
143
|
+
target_branch=target_branch,
|
|
144
|
+
title=title,
|
|
145
|
+
description=description,
|
|
146
|
+
labels=labels,
|
|
147
|
+
assignees=assignees,
|
|
148
|
+
reviewers=reviewers,
|
|
149
|
+
draft=draft,
|
|
150
|
+
template_type=template_type,
|
|
151
|
+
template_vars=template_vars,
|
|
152
|
+
platform=platform
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
def get_pull_request(
|
|
157
|
+
repo_path: str,
|
|
158
|
+
pr_number: int,
|
|
159
|
+
platform: Optional[str] = None,
|
|
160
|
+
token: Optional[str] = None,
|
|
161
|
+
**kwargs
|
|
162
|
+
) -> PRResult:
|
|
163
|
+
"""获取 Pull Request 信息"""
|
|
164
|
+
manager = get_global_manager()
|
|
165
|
+
|
|
166
|
+
if token:
|
|
167
|
+
if not platform:
|
|
168
|
+
detected_platform = detect_platform_from_repo(repo_path)
|
|
169
|
+
if detected_platform:
|
|
170
|
+
platform = detected_platform.value
|
|
171
|
+
else:
|
|
172
|
+
raise ValidationError("无法检测平台类型,请指定platform参数")
|
|
173
|
+
|
|
174
|
+
config_data = {"token": token}
|
|
175
|
+
config_data.update(kwargs)
|
|
176
|
+
temp_config = PRConfig(platform=platform, **config_data)
|
|
177
|
+
temp_manager = PullRequestManager(temp_config)
|
|
178
|
+
|
|
179
|
+
return temp_manager.get_pull_request(repo_path, pr_number, platform)
|
|
180
|
+
else:
|
|
181
|
+
return manager.get_pull_request(repo_path, pr_number, platform)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def list_pull_requests(
|
|
185
|
+
repo_path: str,
|
|
186
|
+
state: str = "open",
|
|
187
|
+
per_page: int = 30,
|
|
188
|
+
page: int = 1,
|
|
189
|
+
platform: Optional[str] = None,
|
|
190
|
+
token: Optional[str] = None,
|
|
191
|
+
**kwargs
|
|
192
|
+
) -> List[PRInfo]:
|
|
193
|
+
"""列出 Pull Requests"""
|
|
194
|
+
manager = get_global_manager()
|
|
195
|
+
|
|
196
|
+
if token:
|
|
197
|
+
if not platform:
|
|
198
|
+
detected_platform = detect_platform_from_repo(repo_path)
|
|
199
|
+
if detected_platform:
|
|
200
|
+
platform = detected_platform.value
|
|
201
|
+
else:
|
|
202
|
+
raise ValidationError("无法检测平台类型,请指定platform参数")
|
|
203
|
+
|
|
204
|
+
config_data = {"token": token}
|
|
205
|
+
config_data.update(kwargs)
|
|
206
|
+
temp_config = PRConfig(platform=platform, **config_data)
|
|
207
|
+
temp_manager = PullRequestManager(temp_config)
|
|
208
|
+
|
|
209
|
+
return temp_manager.list_pull_requests(repo_path, state, per_page, page, platform)
|
|
210
|
+
else:
|
|
211
|
+
return manager.list_pull_requests(repo_path, state, per_page, page, platform)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
# 导出所有公共接口
|
|
215
|
+
__all__ = [
|
|
216
|
+
# 主要函数
|
|
217
|
+
'create_pull_request',
|
|
218
|
+
'get_pull_request',
|
|
219
|
+
'list_pull_requests',
|
|
220
|
+
|
|
221
|
+
# 类和模型
|
|
222
|
+
'PullRequestManager',
|
|
223
|
+
'PRConfig',
|
|
224
|
+
'PRResult',
|
|
225
|
+
'PRInfo',
|
|
226
|
+
'PRData',
|
|
227
|
+
'RepoInfo',
|
|
228
|
+
'PlatformType',
|
|
229
|
+
|
|
230
|
+
# 异常
|
|
231
|
+
'PRError',
|
|
232
|
+
'AuthenticationError',
|
|
233
|
+
'RepositoryNotFoundError',
|
|
234
|
+
'BranchNotFoundError',
|
|
235
|
+
'NetworkError',
|
|
236
|
+
'RateLimitError',
|
|
237
|
+
'ValidationError',
|
|
238
|
+
'PlatformNotSupportedError',
|
|
239
|
+
'ConfigurationError',
|
|
240
|
+
|
|
241
|
+
# 工具函数
|
|
242
|
+
'parse_git_url',
|
|
243
|
+
'detect_platform_from_repo',
|
|
244
|
+
'get_repo_info_from_path',
|
|
245
|
+
'get_current_branch',
|
|
246
|
+
'branch_exists',
|
|
247
|
+
'is_git_repo',
|
|
248
|
+
|
|
249
|
+
# 配置函数
|
|
250
|
+
'get_config',
|
|
251
|
+
'set_global_config',
|
|
252
|
+
'get_global_manager',
|
|
253
|
+
|
|
254
|
+
# 模板
|
|
255
|
+
'DEFAULT_TEMPLATES'
|
|
256
|
+
]
|