auto-coder 0.1.301__tar.gz → 0.1.302__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.301 → auto_coder-0.1.302}/PKG-INFO +1 -1
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/PKG-INFO +1 -1
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/auto_coder.py +1 -4
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/auto_coder_runner.py +2 -2
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/commands/auto_command.py +32 -3
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/action_yml_file_manager.py +6 -6
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/auto_coder_lang.py +2 -2
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge.py +1 -1
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge_diff.py +1 -1
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge_editblock.py +1 -1
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge_strict_diff.py +1 -1
- auto_coder-0.1.302/src/autocoder/version.py +1 -0
- auto_coder-0.1.301/src/autocoder/version.py +0 -1
- {auto_coder-0.1.301 → auto_coder-0.1.302}/LICENSE +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/README.md +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/setup.cfg +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/setup.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/SOURCES.txt +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/dependency_links.txt +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/entry_points.txt +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/requires.txt +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/auto_coder.egg-info/top_level.txt +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_demand_organizer.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_filegroup.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_guess_query.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_learn_from_commit.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_review_commit.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/auto_tool.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/coder.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/designer.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/planner.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/agent/project_reader.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/auto_coder_rag.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/auto_coder_server.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/benchmark.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/chat/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/chat_auto_coder.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/chat_auto_coder_lang.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/command_args.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/command_parser.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/commands/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/commands/auto_web.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/commands/tools.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/JupyterClient.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/ShellClient.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/anything2images.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/anything2img.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/audio.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/auto_configure.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/buildin_tokenizer.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/chunk_validation.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/cleaner.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_execute.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate_diff.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate_editblock.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate_strict_diff.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_modification_ranker.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/command_completer.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/command_generator.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/command_templates.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/computer_use.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/conf_import_export.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/conf_validator.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/const.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/context_pruner.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/conversation_pruner.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/files.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/git_utils.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/global_cancel.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/image_to_page.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/index_import_export.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/interpreter.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/llm_rerank.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_hub.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_server.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_servers/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_tools.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/memory_manager.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/model_speed_test.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/printer.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/recall_validation.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/result_manager.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/screenshots.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/search.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/search_replace.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/shells.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/stats_panel.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/sys_prompt.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/text.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/types.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/utils_code_auto_generate.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/data/byzerllm.md +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/data/tokenizer.json +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/db/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/db/store.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/action.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/copilot.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/plugins/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/plugins/action_regex_project.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/plugins/action_translate.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/entry.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/filter/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/filter/normal_filter.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/filter/quick_filter.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/for_command.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/index.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/symbols_utils.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/index/types.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/lang.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/models.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/dynamic_completion_example.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/git_helper_plugin.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/sample_plugin.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/token_helper_plugin.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/utils.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/privacy/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/privacy/model_filter.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/pyproject/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/api_server.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/base_cache.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/byzer_storage_cache.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/cache_result_merge.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/file_monitor_cache.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/local_byzer_storage_cache.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/local_duckdb_storage_cache.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/rag_file_meta.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/simple_cache.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/conversation_to_queries.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/doc_filter.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/document_retriever.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/lang.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/llm_wrapper.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/docx_loader.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/excel_loader.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/pdf_loader.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/loaders/ppt_loader.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/long_context_rag.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/qa_conversation_strategy.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/rag_config.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/rag_entry.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/raw_rag.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/relevant_utils.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/searchable.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/simple_directory_reader.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/simple_rag.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/stream_event/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/stream_event/event_writer.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/stream_event/types.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/token_checker.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/token_counter.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/token_limiter.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/token_limiter_utils.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/types.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/utils.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/variable_holder.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/regexproject/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/suffixproject/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/tsproject/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/_markitdown.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/auto_coder_utils/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/auto_project_type.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/chat_auto_coder_utils/__init__.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/conversation_store.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/llm_client_interceptors.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/llms.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/log_capture.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/model_provider_selector.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/multi_turn.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/operate_config_api.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/print_table.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/project_structure.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/queue_communicate.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/request_event_queue.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/request_queue.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/rest.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/stream_thinking.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/tests.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/thread_utils.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/types.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_action_regex_project.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_action_yml_file_manager.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_chat_auto_coder.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_code_auto_merge_editblock.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_command_completer.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_planner.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_plugins.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_privacy.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_queue_communicate.py +0 -0
- {auto_coder-0.1.301 → auto_coder-0.1.302}/tests/test_symbols_utils.py +0 -0
|
@@ -120,12 +120,9 @@ def main(input_args: Optional[List[str]] = None):
|
|
|
120
120
|
if raw_args.command == "revert":
|
|
121
121
|
repo_path = args.source_dir
|
|
122
122
|
|
|
123
|
-
file_content = open(args.file).read()
|
|
124
|
-
md5 = hashlib.md5(file_content.encode("utf-8")).hexdigest()
|
|
125
123
|
file_name = os.path.basename(args.file)
|
|
126
|
-
|
|
127
124
|
revert_result = git_utils.revert_changes(
|
|
128
|
-
repo_path, f"auto_coder_{file_name}
|
|
125
|
+
repo_path, f"auto_coder_{file_name}"
|
|
129
126
|
)
|
|
130
127
|
if revert_result:
|
|
131
128
|
print(f"Successfully reverted changes for {args.file}")
|
|
@@ -1402,7 +1402,7 @@ def commit(query: str):
|
|
|
1402
1402
|
md5 = hashlib.md5(file_content.encode("utf-8")).hexdigest()
|
|
1403
1403
|
file_name = os.path.basename(execute_file)
|
|
1404
1404
|
commit_result = git_utils.commit_changes(
|
|
1405
|
-
".", f"{commit_message}\nauto_coder_{file_name}
|
|
1405
|
+
".", f"{commit_message}\nauto_coder_{file_name}"
|
|
1406
1406
|
)
|
|
1407
1407
|
git_utils.print_commit_info(commit_result=commit_result)
|
|
1408
1408
|
if commit_message:
|
|
@@ -1542,7 +1542,7 @@ def coding(query: str):
|
|
|
1542
1542
|
cmd = ["--file", execute_file]
|
|
1543
1543
|
auto_coder_main(cmd)
|
|
1544
1544
|
result_manager = ResultManager()
|
|
1545
|
-
result_manager.append(content="", meta={"commit_message": f"auto_coder_{latest_yaml_file}
|
|
1545
|
+
result_manager.append(content="", meta={"commit_message": f"auto_coder_{latest_yaml_file}","action": "coding", "input":{
|
|
1546
1546
|
"query": query
|
|
1547
1547
|
}})
|
|
1548
1548
|
|
|
@@ -57,22 +57,36 @@ def load_memory_file(args: AutoCoderArgs) -> CommandConversation:
|
|
|
57
57
|
return CommandConversation(history={}, current_conversation=[])
|
|
58
58
|
|
|
59
59
|
|
|
60
|
+
class TimeBasedStrategy:
|
|
61
|
+
def __init__(self, max_idle_time=3600): # 1 hour in seconds
|
|
62
|
+
self.max_idle_time = max_idle_time
|
|
63
|
+
|
|
64
|
+
def should_archive(self, last_message_time):
|
|
65
|
+
"""Check if the conversation should be archived based on last message time"""
|
|
66
|
+
current_time = time.time()
|
|
67
|
+
return current_time - last_message_time > self.max_idle_time
|
|
68
|
+
|
|
60
69
|
def save_to_memory_file(query: str, response: str):
|
|
61
70
|
"""Save command conversation to memory file using CommandConversation structure"""
|
|
62
71
|
memory_dir = os.path.join(".auto-coder", "memory")
|
|
63
72
|
os.makedirs(memory_dir, exist_ok=True)
|
|
64
73
|
file_path = os.path.join(memory_dir, "command_chat_history.json")
|
|
74
|
+
|
|
75
|
+
# Initialize time-based strategy
|
|
76
|
+
time_strategy = TimeBasedStrategy()
|
|
77
|
+
|
|
65
78
|
# Create new message objects
|
|
79
|
+
current_time = time.time()
|
|
66
80
|
user_msg = CommandMessage(role="user", content=query)
|
|
67
81
|
assistant_msg = CommandMessage(role="assistant", content=response)
|
|
68
82
|
|
|
69
83
|
extended_user_msg = ExtendedCommandMessage(
|
|
70
84
|
message=user_msg,
|
|
71
|
-
timestamp=str(int(
|
|
85
|
+
timestamp=str(int(current_time))
|
|
72
86
|
)
|
|
73
87
|
extended_assistant_msg = ExtendedCommandMessage(
|
|
74
88
|
message=assistant_msg,
|
|
75
|
-
timestamp=str(int(
|
|
89
|
+
timestamp=str(int(current_time))
|
|
76
90
|
)
|
|
77
91
|
|
|
78
92
|
# Load existing conversation or create new
|
|
@@ -81,6 +95,14 @@ def save_to_memory_file(query: str, response: str):
|
|
|
81
95
|
try:
|
|
82
96
|
existing_conv = CommandConversation.model_validate_json(
|
|
83
97
|
f.read())
|
|
98
|
+
# Check if we should archive current conversation
|
|
99
|
+
if existing_conv.current_conversation:
|
|
100
|
+
last_message_time = float(existing_conv.current_conversation[-1].timestamp)
|
|
101
|
+
if time_strategy.should_archive(last_message_time):
|
|
102
|
+
# Move current conversation to history
|
|
103
|
+
timestamp = str(int(last_message_time))
|
|
104
|
+
existing_conv.history[timestamp] = existing_conv.current_conversation
|
|
105
|
+
existing_conv.current_conversation = []
|
|
84
106
|
except Exception:
|
|
85
107
|
existing_conv = CommandConversation(
|
|
86
108
|
history={},
|
|
@@ -314,12 +336,19 @@ class CommandAutoTuner:
|
|
|
314
336
|
### 关于对话大小的问题
|
|
315
337
|
我们对话历史以及查看的内容累计不能超过 {{ conversation_safe_zone_tokens }} 个tokens,当你读取索引文件 (get_project_map) 的时候,你可以看到
|
|
316
338
|
每个文件的tokens数,你可以根据这个信息来决定如何读取这个文件。如果不确定,使用 count_file_tokens 函数来获取文件的tokens数,再决定如何读取。
|
|
317
|
-
而对于分析一个超大文件推荐组合 read_files 带上 line_ranges 参数来读取,或者组合
|
|
339
|
+
而对于分析一个超大文件推荐组合 read_files 带上 line_ranges 参数来读取,或者组合 read_file_with_keyword_ranges 等来读取,
|
|
318
340
|
每个函数你还可以使用多次来获取更多信息。
|
|
319
341
|
|
|
320
342
|
### 善用脚本完成一些基本的操作
|
|
321
343
|
根据操作系统,终端类型,脚本类型等各种信息,在涉及到路径或者脚本的时候,需要考虑平台差异性。
|
|
322
344
|
|
|
345
|
+
### 关于查看文件的技巧
|
|
346
|
+
在使用 read_files 之前,如果你有明确的目标,比如查看这个文件某个函数在这个文件的实现,你可以先用 read_file_with_keyword_ranges 函数来大致定位,该函数会返回你看到的
|
|
347
|
+
内容的行号范围,你可以通过拓展这个行号范围继续使用 read_file_with_line_ranges 来查看完整函数信息,或者使用 read_files 函数带上 line_ranges 参数来精确读取。
|
|
348
|
+
|
|
349
|
+
如果你没有明确目标,需要单纯查看这个文件获取必要的信息,可以先通过 count_file_tokens 函数来获取文件的tokens数,如果数目小于安全对话窗口的tokens数的1/2, 那么可以直接用
|
|
350
|
+
read_files 函数来读取,否则建议一次读取200-600行,多次读取直到找到合适的信息。
|
|
351
|
+
|
|
323
352
|
## 其他一些注意事项
|
|
324
353
|
1. 使用 read_files 时,一次性读取文件数量不要超过1个,每次只读取200行。如果发现读取的内容不够,则继续读取下面200行。
|
|
325
354
|
2. 确实有必要才使用 get_project_structure 函数,否则可以多使用 list_files 函数来查看目录。
|
|
@@ -249,7 +249,7 @@ class ActionYmlFileManager:
|
|
|
249
249
|
with open(yaml_path, 'r', encoding='utf-8') as f:
|
|
250
250
|
yaml_content = f.read()
|
|
251
251
|
file_md5 = hashlib.md5(yaml_content.encode("utf-8")).hexdigest()
|
|
252
|
-
return f"auto_coder_{file_name}
|
|
252
|
+
return f"auto_coder_{file_name}"
|
|
253
253
|
except Exception as e:
|
|
254
254
|
logger.error(f"Failed to calculate commit ID: {e}")
|
|
255
255
|
return None
|
|
@@ -269,11 +269,11 @@ class ActionYmlFileManager:
|
|
|
269
269
|
|
|
270
270
|
try:
|
|
271
271
|
# auto_coder_000000001926_chat_action.yml_88614d5bd4046a068786c252fbc39c13
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
return "_".join(
|
|
272
|
+
# auto_coder_000000001926_chat_action.yml
|
|
273
|
+
if commit_id.endswith("_chat_action.yml"):
|
|
274
|
+
return commit_id[len("auto_coder_"):]
|
|
275
|
+
else:
|
|
276
|
+
return "_".join(commit_id[len("auto_coder_"):].split("_")[0:-1])
|
|
277
277
|
return None
|
|
278
278
|
except Exception:
|
|
279
279
|
return None
|
|
@@ -195,7 +195,7 @@ MESSAGES = {
|
|
|
195
195
|
"mcp_server_info_error": "Error getting MCP server info: {{ error }}",
|
|
196
196
|
"mcp_server_info_title": "Connected MCP Server Info",
|
|
197
197
|
"no_commit_file_name": "Cannot get the file name of the commit_id in the actions directory: {{commit_id}}",
|
|
198
|
-
"yaml_update_success": "✅ Successfully updated YAML file: {{yaml_file}}
|
|
198
|
+
"yaml_update_success": "✅ Successfully updated YAML file: {{yaml_file}}",
|
|
199
199
|
"yaml_save_error": "❌ Error saving YAML file {{yaml_file}}: {{error}}",
|
|
200
200
|
},
|
|
201
201
|
"zh": {
|
|
@@ -389,7 +389,7 @@ MESSAGES = {
|
|
|
389
389
|
"mcp_server_info_error": "获取MCP服务器信息时出错: {{ error }}",
|
|
390
390
|
"mcp_server_info_title": "已连接的MCP服务器信息",
|
|
391
391
|
"no_commit_file_name": "无法获取commit_id关联的actions 目录下的文件名: {{commit_id}}",
|
|
392
|
-
"yaml_update_success": "✅ 成功更新YAML文件: {{yaml_file}}
|
|
392
|
+
"yaml_update_success": "✅ 成功更新YAML文件: {{yaml_file}}",
|
|
393
393
|
"yaml_save_error": "❌ 保存YAML文件出错 {{yaml_file}}: {{error}}",
|
|
394
394
|
}}
|
|
395
395
|
|
|
@@ -197,7 +197,7 @@ class CodeAutoMerge:
|
|
|
197
197
|
|
|
198
198
|
self.printer.print_in_terminal("files_merged", total=total)
|
|
199
199
|
if not force_skip_git and not self.args.skip_commit:
|
|
200
|
-
commit_result = git_utils.commit_changes(self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}
|
|
200
|
+
commit_result = git_utils.commit_changes(self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}")
|
|
201
201
|
|
|
202
202
|
action_yml_file_manager = ActionYmlFileManager(self.args.source_dir)
|
|
203
203
|
action_file_name = os.path.basename(self.args.file)
|
|
@@ -580,7 +580,7 @@ class CodeAutoMergeDiff:
|
|
|
580
580
|
|
|
581
581
|
self.printer.print_in_terminal("files_merged_total", total=total)
|
|
582
582
|
if not force_skip_git and not self.args.skip_commit:
|
|
583
|
-
commit_result = git_utils.commit_changes(self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}
|
|
583
|
+
commit_result = git_utils.commit_changes(self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}")
|
|
584
584
|
|
|
585
585
|
action_yml_file_manager = ActionYmlFileManager(self.args.source_dir)
|
|
586
586
|
action_file_name = os.path.basename(self.args.file)
|
|
@@ -427,7 +427,7 @@ class CodeAutoMergeEditBlock:
|
|
|
427
427
|
try:
|
|
428
428
|
commit_result = git_utils.commit_changes(
|
|
429
429
|
self.args.source_dir,
|
|
430
|
-
f"{self.args.query}\nauto_coder_{file_name}
|
|
430
|
+
f"{self.args.query}\nauto_coder_{file_name}",
|
|
431
431
|
)
|
|
432
432
|
|
|
433
433
|
action_yml_file_manager = ActionYmlFileManager(self.args.source_dir)
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_merge_strict_diff.py
RENAMED
|
@@ -287,7 +287,7 @@ class CodeAutoMergeStrictDiff:
|
|
|
287
287
|
self.printer.print_in_terminal("files_merged_total", total=total)
|
|
288
288
|
if not force_skip_git and not self.args.skip_commit:
|
|
289
289
|
commit_result = git_utils.commit_changes(
|
|
290
|
-
self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}
|
|
290
|
+
self.args.source_dir, f"{self.args.query}\nauto_coder_{file_name}"
|
|
291
291
|
)
|
|
292
292
|
action_yml_file_manager = ActionYmlFileManager(self.args.source_dir)
|
|
293
293
|
action_file_name = os.path.basename(self.args.file)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.302"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.301"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate_editblock.py
RENAMED
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/code_auto_generate_strict_diff.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/common/mcp_servers/mcp_server_perplexity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/dispacher/actions/plugins/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/plugins/dynamic_completion_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/local_byzer_storage_cache.py
RENAMED
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/rag/cache/local_duckdb_storage_cache.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/auto_coder_utils/chat_stream_out.py
RENAMED
|
File without changes
|
|
File without changes
|
{auto_coder-0.1.301 → auto_coder-0.1.302}/src/autocoder/utils/chat_auto_coder_utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|