auto-coder 1.0.0__py3-none-any.whl → 2.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of auto-coder might be problematic. Click here for more details.

Files changed (574) hide show
  1. auto_coder-2.0.1.dist-info/LICENSE +158 -0
  2. auto_coder-2.0.1.dist-info/METADATA +558 -0
  3. auto_coder-2.0.1.dist-info/RECORD +795 -0
  4. {auto_coder-1.0.0.dist-info → auto_coder-2.0.1.dist-info}/WHEEL +1 -1
  5. {auto_coder-1.0.0.dist-info → auto_coder-2.0.1.dist-info}/entry_points.txt +3 -3
  6. autocoder/__init__.py +31 -0
  7. autocoder/agent/auto_filegroup.py +32 -13
  8. autocoder/agent/auto_learn_from_commit.py +9 -1
  9. autocoder/agent/base_agentic/__init__.py +3 -0
  10. autocoder/agent/base_agentic/agent_hub.py +1 -1
  11. autocoder/agent/base_agentic/base_agent.py +235 -136
  12. autocoder/agent/base_agentic/default_tools.py +119 -118
  13. autocoder/agent/base_agentic/test_base_agent.py +1 -1
  14. autocoder/agent/base_agentic/tool_registry.py +32 -20
  15. autocoder/agent/base_agentic/tools/read_file_tool_resolver.py +24 -3
  16. autocoder/agent/base_agentic/tools/write_to_file_tool_resolver.py +24 -11
  17. autocoder/agent/base_agentic/types.py +42 -0
  18. autocoder/agent/entry_command_agent/chat.py +77 -73
  19. autocoder/auto_coder.py +31 -40
  20. autocoder/auto_coder_rag.py +11 -1084
  21. autocoder/auto_coder_runner.py +962 -2345
  22. autocoder/auto_coder_terminal.py +26 -0
  23. autocoder/auto_coder_terminal_v3.py +190 -0
  24. autocoder/chat/conf_command.py +224 -124
  25. autocoder/chat/models_command.py +361 -299
  26. autocoder/chat/rules_command.py +79 -31
  27. autocoder/chat_auto_coder.py +988 -398
  28. autocoder/chat_auto_coder_lang.py +23 -732
  29. autocoder/commands/auto_command.py +25 -8
  30. autocoder/commands/auto_web.py +1 -1
  31. autocoder/commands/tools.py +44 -44
  32. autocoder/common/__init__.py +150 -128
  33. autocoder/common/ac_style_command_parser/__init__.py +39 -2
  34. autocoder/common/ac_style_command_parser/config.py +422 -0
  35. autocoder/common/ac_style_command_parser/parser.py +292 -78
  36. autocoder/common/ac_style_command_parser/test_parser.py +241 -16
  37. autocoder/common/ac_style_command_parser/test_typed_parser.py +342 -0
  38. autocoder/common/ac_style_command_parser/typed_parser.py +653 -0
  39. autocoder/common/action_yml_file_manager.py +25 -13
  40. autocoder/common/agent_events/__init__.py +52 -0
  41. autocoder/common/agent_events/agent_event_emitter.py +193 -0
  42. autocoder/common/agent_events/event_factory.py +177 -0
  43. autocoder/common/agent_events/examples.py +307 -0
  44. autocoder/common/agent_events/types.py +113 -0
  45. autocoder/common/agent_events/utils.py +68 -0
  46. autocoder/common/agent_hooks/__init__.py +44 -0
  47. autocoder/common/agent_hooks/examples.py +582 -0
  48. autocoder/common/agent_hooks/hook_executor.py +217 -0
  49. autocoder/common/agent_hooks/hook_manager.py +288 -0
  50. autocoder/common/agent_hooks/types.py +133 -0
  51. autocoder/common/agent_hooks/utils.py +99 -0
  52. autocoder/common/agent_query_queue/queue_executor.py +324 -0
  53. autocoder/common/agent_query_queue/queue_manager.py +325 -0
  54. autocoder/common/agents/__init__.py +11 -0
  55. autocoder/common/agents/agent_manager.py +323 -0
  56. autocoder/common/agents/agent_parser.py +189 -0
  57. autocoder/common/agents/example_usage.py +344 -0
  58. autocoder/common/agents/integration_example.py +330 -0
  59. autocoder/common/agents/test_agent_parser.py +545 -0
  60. autocoder/common/async_utils.py +101 -0
  61. autocoder/common/auto_coder_lang.py +23 -972
  62. autocoder/common/autocoderargs_parser/__init__.py +14 -0
  63. autocoder/common/autocoderargs_parser/parser.py +184 -0
  64. autocoder/common/autocoderargs_parser/tests/__init__.py +1 -0
  65. autocoder/common/autocoderargs_parser/tests/test_args_parser.py +235 -0
  66. autocoder/common/autocoderargs_parser/tests/test_token_parser.py +195 -0
  67. autocoder/common/autocoderargs_parser/token_parser.py +290 -0
  68. autocoder/common/buildin_tokenizer.py +2 -4
  69. autocoder/common/code_auto_generate.py +149 -74
  70. autocoder/common/code_auto_generate_diff.py +163 -70
  71. autocoder/common/code_auto_generate_editblock.py +179 -89
  72. autocoder/common/code_auto_generate_strict_diff.py +167 -72
  73. autocoder/common/code_auto_merge_editblock.py +13 -6
  74. autocoder/common/code_modification_ranker.py +1 -1
  75. autocoder/common/command_completer.py +3 -3
  76. autocoder/common/command_file_manager/manager.py +183 -47
  77. autocoder/common/command_file_manager/test_command_file_manager.py +507 -0
  78. autocoder/common/command_templates.py +1 -1
  79. autocoder/common/conf_utils.py +2 -4
  80. autocoder/common/conversations/config.py +11 -3
  81. autocoder/common/conversations/get_conversation_manager.py +100 -2
  82. autocoder/common/conversations/llm_stats_models.py +264 -0
  83. autocoder/common/conversations/manager.py +112 -28
  84. autocoder/common/conversations/models.py +16 -2
  85. autocoder/common/conversations/storage/index_manager.py +134 -10
  86. autocoder/common/core_config/__init__.py +63 -0
  87. autocoder/common/core_config/agentic_mode_manager.py +109 -0
  88. autocoder/common/core_config/base_manager.py +123 -0
  89. autocoder/common/core_config/compatibility.py +151 -0
  90. autocoder/common/core_config/config_manager.py +156 -0
  91. autocoder/common/core_config/conversation_manager.py +31 -0
  92. autocoder/common/core_config/exclude_manager.py +72 -0
  93. autocoder/common/core_config/file_manager.py +177 -0
  94. autocoder/common/core_config/human_as_model_manager.py +129 -0
  95. autocoder/common/core_config/lib_manager.py +54 -0
  96. autocoder/common/core_config/main_manager.py +81 -0
  97. autocoder/common/core_config/mode_manager.py +126 -0
  98. autocoder/common/core_config/models.py +70 -0
  99. autocoder/common/core_config/test_memory_manager.py +1056 -0
  100. autocoder/common/env_manager.py +282 -0
  101. autocoder/common/env_manager_usage_example.py +211 -0
  102. autocoder/common/file_checkpoint/conversation_checkpoint.py +19 -19
  103. autocoder/common/file_checkpoint/manager.py +264 -48
  104. autocoder/common/file_checkpoint/test_backup.py +1 -18
  105. autocoder/common/file_checkpoint/test_manager.py +270 -1
  106. autocoder/common/file_checkpoint/test_store.py +1 -17
  107. autocoder/common/file_handler/__init__.py +23 -0
  108. autocoder/common/file_handler/active_context_handler.py +159 -0
  109. autocoder/common/file_handler/add_files_handler.py +409 -0
  110. autocoder/common/file_handler/chat_handler.py +180 -0
  111. autocoder/common/file_handler/coding_handler.py +409 -0
  112. autocoder/common/file_handler/commit_handler.py +200 -0
  113. autocoder/common/file_handler/lib_handler.py +156 -0
  114. autocoder/common/file_handler/list_files_handler.py +111 -0
  115. autocoder/common/file_handler/mcp_handler.py +268 -0
  116. autocoder/common/file_handler/models_handler.py +493 -0
  117. autocoder/common/file_handler/remove_files_handler.py +172 -0
  118. autocoder/common/git_utils.py +44 -8
  119. autocoder/common/global_cancel.py +15 -6
  120. autocoder/common/ignorefiles/test_ignore_file_utils.py +1 -1
  121. autocoder/common/international/__init__.py +31 -0
  122. autocoder/common/international/demo_international.py +92 -0
  123. autocoder/common/international/message_manager.py +157 -0
  124. autocoder/common/international/messages/__init__.py +56 -0
  125. autocoder/common/international/messages/async_command_messages.py +507 -0
  126. autocoder/common/international/messages/auto_coder_messages.py +2208 -0
  127. autocoder/common/international/messages/chat_auto_coder_messages.py +1547 -0
  128. autocoder/common/international/messages/command_help_messages.py +986 -0
  129. autocoder/common/international/messages/conversation_command_messages.py +191 -0
  130. autocoder/common/international/messages/git_helper_plugin_messages.py +159 -0
  131. autocoder/common/international/messages/queue_command_messages.py +751 -0
  132. autocoder/common/international/messages/rules_command_messages.py +77 -0
  133. autocoder/common/international/messages/sdk_messages.py +1707 -0
  134. autocoder/common/international/messages/token_helper_plugin_messages.py +361 -0
  135. autocoder/common/international/messages/tool_display_messages.py +1212 -0
  136. autocoder/common/international/messages/workflow_exception_messages.py +473 -0
  137. autocoder/common/international/test_international.py +612 -0
  138. autocoder/common/linter_core/__init__.py +28 -0
  139. autocoder/common/linter_core/base_linter.py +61 -0
  140. autocoder/common/linter_core/config_loader.py +271 -0
  141. autocoder/common/linter_core/formatters/__init__.py +0 -0
  142. autocoder/common/linter_core/formatters/base_formatter.py +38 -0
  143. autocoder/common/linter_core/formatters/raw_formatter.py +17 -0
  144. autocoder/common/linter_core/linter.py +166 -0
  145. autocoder/common/linter_core/linter_factory.py +216 -0
  146. autocoder/common/linter_core/linter_manager.py +333 -0
  147. autocoder/common/linter_core/linters/__init__.py +9 -0
  148. autocoder/common/linter_core/linters/java_linter.py +342 -0
  149. autocoder/common/linter_core/linters/python_linter.py +115 -0
  150. autocoder/common/linter_core/linters/typescript_linter.py +119 -0
  151. autocoder/common/linter_core/models/__init__.py +7 -0
  152. autocoder/common/linter_core/models/lint_result.py +91 -0
  153. autocoder/common/linter_core/models.py +33 -0
  154. autocoder/common/linter_core/tests/__init__.py +3 -0
  155. autocoder/common/linter_core/tests/test_config_loader.py +323 -0
  156. autocoder/common/linter_core/tests/test_config_loading.py +308 -0
  157. autocoder/common/linter_core/tests/test_factory_manager.py +234 -0
  158. autocoder/common/linter_core/tests/test_formatters.py +147 -0
  159. autocoder/common/linter_core/tests/test_integration.py +317 -0
  160. autocoder/common/linter_core/tests/test_java_linter.py +496 -0
  161. autocoder/common/linter_core/tests/test_linters.py +265 -0
  162. autocoder/common/linter_core/tests/test_models.py +81 -0
  163. autocoder/common/linter_core/tests/verify_config_loading.py +296 -0
  164. autocoder/common/linter_core/tests/verify_fixes.py +183 -0
  165. autocoder/common/llm_friendly_package/__init__.py +31 -0
  166. autocoder/common/llm_friendly_package/base_manager.py +102 -0
  167. autocoder/common/llm_friendly_package/docs_manager.py +121 -0
  168. autocoder/common/llm_friendly_package/library_manager.py +171 -0
  169. autocoder/common/{llm_friendly_package.py → llm_friendly_package/main_manager.py} +204 -231
  170. autocoder/common/llm_friendly_package/models.py +40 -0
  171. autocoder/common/llm_friendly_package/test_llm_friendly_package.py +536 -0
  172. autocoder/common/llms/__init__.py +15 -0
  173. autocoder/common/llms/demo_error_handling.py +85 -0
  174. autocoder/common/llms/factory.py +142 -0
  175. autocoder/common/llms/manager.py +264 -0
  176. autocoder/common/llms/pricing.py +121 -0
  177. autocoder/common/llms/registry.py +316 -0
  178. autocoder/common/llms/schema.py +77 -0
  179. autocoder/common/llms/simple_demo.py +45 -0
  180. autocoder/common/llms/test_quick_model.py +116 -0
  181. autocoder/common/llms/test_remove_functionality.py +182 -0
  182. autocoder/common/llms/tests/__init__.py +1 -0
  183. autocoder/common/llms/tests/test_manager.py +330 -0
  184. autocoder/common/llms/tests/test_registry.py +364 -0
  185. autocoder/common/mcp_tools/__init__.py +62 -0
  186. autocoder/common/{mcp_tools.py → mcp_tools/executor.py} +49 -40
  187. autocoder/common/{mcp_hub.py → mcp_tools/hub.py} +42 -68
  188. autocoder/common/{mcp_server_install.py → mcp_tools/installer.py} +16 -28
  189. autocoder/common/{mcp_server.py → mcp_tools/server.py} +176 -48
  190. autocoder/common/mcp_tools/test_keyboard_interrupt.py +93 -0
  191. autocoder/common/mcp_tools/test_mcp_tools.py +391 -0
  192. autocoder/common/{mcp_server_types.py → mcp_tools/types.py} +121 -48
  193. autocoder/common/mcp_tools/verify_functionality.py +202 -0
  194. autocoder/common/model_speed_tester.py +32 -26
  195. autocoder/common/priority_directory_finder/__init__.py +142 -0
  196. autocoder/common/priority_directory_finder/examples.py +230 -0
  197. autocoder/common/priority_directory_finder/finder.py +283 -0
  198. autocoder/common/priority_directory_finder/models.py +236 -0
  199. autocoder/common/priority_directory_finder/test_priority_directory_finder.py +431 -0
  200. autocoder/common/project_scanner/__init__.py +18 -0
  201. autocoder/common/project_scanner/compat.py +77 -0
  202. autocoder/common/project_scanner/scanner.py +436 -0
  203. autocoder/common/project_tracker/__init__.py +27 -0
  204. autocoder/common/project_tracker/api.py +228 -0
  205. autocoder/common/project_tracker/demo.py +272 -0
  206. autocoder/common/project_tracker/tracker.py +487 -0
  207. autocoder/common/project_tracker/types.py +53 -0
  208. autocoder/common/pruner/__init__.py +67 -0
  209. autocoder/common/pruner/agentic_conversation_pruner.py +651 -102
  210. autocoder/common/pruner/conversation_message_ids_api.py +386 -0
  211. autocoder/common/pruner/conversation_message_ids_manager.py +347 -0
  212. autocoder/common/pruner/conversation_message_ids_pruner.py +473 -0
  213. autocoder/common/pruner/conversation_normalizer.py +347 -0
  214. autocoder/common/pruner/conversation_pruner.py +26 -6
  215. autocoder/common/pruner/test_agentic_conversation_pruner.py +554 -112
  216. autocoder/common/pruner/test_conversation_normalizer.py +502 -0
  217. autocoder/common/pruner/test_tool_content_detector.py +324 -0
  218. autocoder/common/pruner/tool_content_detector.py +227 -0
  219. autocoder/common/pruner/tools/__init__.py +18 -0
  220. autocoder/common/pruner/tools/query_message_ids.py +264 -0
  221. autocoder/common/pruner/tools/test_agentic_pruning_logic.py +432 -0
  222. autocoder/common/pruner/tools/test_message_ids_pruning_only.py +192 -0
  223. autocoder/common/pull_requests/__init__.py +9 -1
  224. autocoder/common/pull_requests/utils.py +122 -1
  225. autocoder/common/rag_manager/rag_manager.py +36 -40
  226. autocoder/common/rulefiles/__init__.py +53 -1
  227. autocoder/common/rulefiles/api.py +250 -0
  228. autocoder/common/rulefiles/core/__init__.py +14 -0
  229. autocoder/common/rulefiles/core/manager.py +241 -0
  230. autocoder/common/rulefiles/core/selector.py +805 -0
  231. autocoder/common/rulefiles/models/__init__.py +20 -0
  232. autocoder/common/rulefiles/models/index.py +16 -0
  233. autocoder/common/rulefiles/models/init_rule.py +18 -0
  234. autocoder/common/rulefiles/models/rule_file.py +18 -0
  235. autocoder/common/rulefiles/models/rule_relevance.py +14 -0
  236. autocoder/common/rulefiles/models/summary.py +16 -0
  237. autocoder/common/rulefiles/test_rulefiles.py +776 -0
  238. autocoder/common/rulefiles/utils/__init__.py +34 -0
  239. autocoder/common/rulefiles/utils/monitor.py +86 -0
  240. autocoder/common/rulefiles/utils/parser.py +230 -0
  241. autocoder/common/save_formatted_log.py +67 -10
  242. autocoder/common/search_replace.py +8 -1
  243. autocoder/common/search_replace_patch/__init__.py +24 -0
  244. autocoder/common/search_replace_patch/base.py +115 -0
  245. autocoder/common/search_replace_patch/manager.py +248 -0
  246. autocoder/common/search_replace_patch/patch_replacer.py +304 -0
  247. autocoder/common/search_replace_patch/similarity_replacer.py +306 -0
  248. autocoder/common/search_replace_patch/string_replacer.py +181 -0
  249. autocoder/common/search_replace_patch/tests/__init__.py +3 -0
  250. autocoder/common/search_replace_patch/tests/run_tests.py +126 -0
  251. autocoder/common/search_replace_patch/tests/test_base.py +188 -0
  252. autocoder/common/search_replace_patch/tests/test_empty_line_insert.py +233 -0
  253. autocoder/common/search_replace_patch/tests/test_integration.py +389 -0
  254. autocoder/common/search_replace_patch/tests/test_manager.py +351 -0
  255. autocoder/common/search_replace_patch/tests/test_patch_replacer.py +316 -0
  256. autocoder/common/search_replace_patch/tests/test_regex_replacer.py +306 -0
  257. autocoder/common/search_replace_patch/tests/test_similarity_replacer.py +384 -0
  258. autocoder/common/shell_commands/__init__.py +197 -0
  259. autocoder/common/shell_commands/background_process_notifier.py +346 -0
  260. autocoder/common/shell_commands/command_executor.py +1127 -0
  261. autocoder/common/shell_commands/error_recovery.py +541 -0
  262. autocoder/common/shell_commands/exceptions.py +120 -0
  263. autocoder/common/shell_commands/interactive_executor.py +476 -0
  264. autocoder/common/shell_commands/interactive_pexpect_process.py +623 -0
  265. autocoder/common/shell_commands/interactive_process.py +744 -0
  266. autocoder/common/shell_commands/interactive_session_manager.py +1014 -0
  267. autocoder/common/shell_commands/monitoring.py +529 -0
  268. autocoder/common/shell_commands/process_cleanup.py +386 -0
  269. autocoder/common/shell_commands/process_manager.py +606 -0
  270. autocoder/common/shell_commands/test_interactive_pexpect_process.py +281 -0
  271. autocoder/common/shell_commands/tests/__init__.py +6 -0
  272. autocoder/common/shell_commands/tests/conftest.py +118 -0
  273. autocoder/common/shell_commands/tests/test_background_process_notifier.py +703 -0
  274. autocoder/common/shell_commands/tests/test_command_executor.py +448 -0
  275. autocoder/common/shell_commands/tests/test_error_recovery.py +305 -0
  276. autocoder/common/shell_commands/tests/test_exceptions.py +299 -0
  277. autocoder/common/shell_commands/tests/test_execute_batch.py +588 -0
  278. autocoder/common/shell_commands/tests/test_indented_batch_commands.py +244 -0
  279. autocoder/common/shell_commands/tests/test_integration.py +664 -0
  280. autocoder/common/shell_commands/tests/test_monitoring.py +546 -0
  281. autocoder/common/shell_commands/tests/test_performance.py +632 -0
  282. autocoder/common/shell_commands/tests/test_process_cleanup.py +397 -0
  283. autocoder/common/shell_commands/tests/test_process_manager.py +606 -0
  284. autocoder/common/shell_commands/tests/test_timeout_config.py +343 -0
  285. autocoder/common/shell_commands/tests/test_timeout_manager.py +520 -0
  286. autocoder/common/shell_commands/timeout_config.py +315 -0
  287. autocoder/common/shell_commands/timeout_manager.py +352 -0
  288. autocoder/common/terminal_paste/__init__.py +14 -0
  289. autocoder/common/terminal_paste/demo.py +145 -0
  290. autocoder/common/terminal_paste/demo_paste_functionality.py +95 -0
  291. autocoder/common/terminal_paste/paste_handler.py +200 -0
  292. autocoder/common/terminal_paste/paste_manager.py +118 -0
  293. autocoder/common/terminal_paste/tests/__init__.py +1 -0
  294. autocoder/common/terminal_paste/tests/test_paste_handler.py +182 -0
  295. autocoder/common/terminal_paste/tests/test_paste_manager.py +126 -0
  296. autocoder/common/terminal_paste/utils.py +163 -0
  297. autocoder/common/test_autocoder_args.py +232 -0
  298. autocoder/common/test_env_manager.py +173 -0
  299. autocoder/common/test_env_manager_integration.py +159 -0
  300. autocoder/common/text_similarity/__init__.py +9 -0
  301. autocoder/common/text_similarity/demo.py +216 -0
  302. autocoder/common/text_similarity/examples.py +266 -0
  303. autocoder/common/text_similarity/test_text_similarity.py +306 -0
  304. autocoder/common/text_similarity/text_similarity.py +194 -0
  305. autocoder/common/text_similarity/utils.py +125 -0
  306. autocoder/common/todos/__init__.py +61 -0
  307. autocoder/common/todos/cache/__init__.py +16 -0
  308. autocoder/common/todos/cache/base_cache.py +89 -0
  309. autocoder/common/todos/cache/cache_manager.py +228 -0
  310. autocoder/common/todos/cache/memory_cache.py +225 -0
  311. autocoder/common/todos/config.py +155 -0
  312. autocoder/common/todos/exceptions.py +35 -0
  313. autocoder/common/todos/get_todo_manager.py +161 -0
  314. autocoder/common/todos/manager.py +537 -0
  315. autocoder/common/todos/models.py +239 -0
  316. autocoder/common/todos/storage/__init__.py +14 -0
  317. autocoder/common/todos/storage/base_storage.py +76 -0
  318. autocoder/common/todos/storage/file_storage.py +278 -0
  319. autocoder/common/tokens/counter.py +24 -2
  320. autocoder/common/tools_manager/__init__.py +17 -0
  321. autocoder/common/tools_manager/examples.py +162 -0
  322. autocoder/common/tools_manager/manager.py +385 -0
  323. autocoder/common/tools_manager/models.py +39 -0
  324. autocoder/common/tools_manager/test_tools_manager.py +303 -0
  325. autocoder/common/tools_manager/utils.py +191 -0
  326. autocoder/common/v2/agent/agentic_callbacks.py +270 -0
  327. autocoder/common/v2/agent/agentic_edit.py +2699 -1856
  328. autocoder/common/v2/agent/agentic_edit_change_manager.py +474 -0
  329. autocoder/common/v2/agent/agentic_edit_tools/__init__.py +35 -1
  330. autocoder/common/v2/agent/agentic_edit_tools/ac_mod_list_tool_resolver.py +279 -0
  331. autocoder/common/v2/agent/agentic_edit_tools/ac_mod_write_tool_resolver.py +10 -1
  332. autocoder/common/v2/agent/agentic_edit_tools/background_task_tool_resolver.py +1167 -0
  333. autocoder/common/v2/agent/agentic_edit_tools/base_tool_resolver.py +2 -2
  334. autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_read_tool_resolver.py +214 -0
  335. autocoder/common/v2/agent/agentic_edit_tools/conversation_message_ids_write_tool_resolver.py +299 -0
  336. autocoder/common/v2/agent/agentic_edit_tools/count_tokens_tool_resolver.py +290 -0
  337. autocoder/common/v2/agent/agentic_edit_tools/execute_command_tool_resolver.py +564 -29
  338. autocoder/common/v2/agent/agentic_edit_tools/execute_workflow_tool_resolver.py +485 -0
  339. autocoder/common/v2/agent/agentic_edit_tools/extract_to_text_tool_resolver.py +225 -0
  340. autocoder/common/v2/agent/agentic_edit_tools/lint_report.py +79 -0
  341. autocoder/common/v2/agent/agentic_edit_tools/linter_config_models.py +343 -0
  342. autocoder/common/v2/agent/agentic_edit_tools/linter_enabled_tool_resolver.py +189 -0
  343. autocoder/common/v2/agent/agentic_edit_tools/list_files_tool_resolver.py +169 -101
  344. autocoder/common/v2/agent/agentic_edit_tools/load_extra_document_tool_resolver.py +356 -0
  345. autocoder/common/v2/agent/agentic_edit_tools/read_file_tool_resolver.py +243 -50
  346. autocoder/common/v2/agent/agentic_edit_tools/replace_in_file_tool_resolver.py +667 -147
  347. autocoder/common/v2/agent/agentic_edit_tools/run_named_subagents_tool_resolver.py +691 -0
  348. autocoder/common/v2/agent/agentic_edit_tools/search_files_tool_resolver.py +410 -86
  349. autocoder/common/v2/agent/agentic_edit_tools/session_interactive_tool_resolver.py +115 -0
  350. autocoder/common/v2/agent/agentic_edit_tools/session_start_tool_resolver.py +190 -0
  351. autocoder/common/v2/agent/agentic_edit_tools/session_stop_tool_resolver.py +76 -0
  352. autocoder/common/v2/agent/agentic_edit_tools/test_write_to_file_tool_resolver.py +207 -192
  353. autocoder/common/v2/agent/agentic_edit_tools/todo_read_tool_resolver.py +80 -63
  354. autocoder/common/v2/agent/agentic_edit_tools/todo_write_tool_resolver.py +237 -233
  355. autocoder/common/v2/agent/agentic_edit_tools/use_mcp_tool_resolver.py +2 -2
  356. autocoder/common/v2/agent/agentic_edit_tools/web_crawl_tool_resolver.py +557 -0
  357. autocoder/common/v2/agent/agentic_edit_tools/web_search_tool_resolver.py +600 -0
  358. autocoder/common/v2/agent/agentic_edit_tools/write_to_file_tool_resolver.py +56 -121
  359. autocoder/common/v2/agent/agentic_edit_types.py +343 -9
  360. autocoder/common/v2/agent/runner/__init__.py +3 -3
  361. autocoder/common/v2/agent/runner/base_runner.py +12 -26
  362. autocoder/common/v2/agent/runner/{event_runner.py → file_based_event_runner.py} +3 -2
  363. autocoder/common/v2/agent/runner/sdk_runner.py +150 -8
  364. autocoder/common/v2/agent/runner/terminal_runner.py +170 -57
  365. autocoder/common/v2/agent/runner/tool_display.py +557 -159
  366. autocoder/common/v2/agent/test_agentic_callbacks.py +265 -0
  367. autocoder/common/v2/agent/test_agentic_edit.py +194 -0
  368. autocoder/common/v2/agent/tool_caller/__init__.py +24 -0
  369. autocoder/common/v2/agent/tool_caller/default_tool_resolver_map.py +135 -0
  370. autocoder/common/v2/agent/tool_caller/integration_test.py +172 -0
  371. autocoder/common/v2/agent/tool_caller/plugins/__init__.py +14 -0
  372. autocoder/common/v2/agent/tool_caller/plugins/base_plugin.py +126 -0
  373. autocoder/common/v2/agent/tool_caller/plugins/examples/__init__.py +13 -0
  374. autocoder/common/v2/agent/tool_caller/plugins/examples/logging_plugin.py +164 -0
  375. autocoder/common/v2/agent/tool_caller/plugins/examples/security_filter_plugin.py +198 -0
  376. autocoder/common/v2/agent/tool_caller/plugins/plugin_interface.py +141 -0
  377. autocoder/common/v2/agent/tool_caller/test_tool_caller.py +278 -0
  378. autocoder/common/v2/agent/tool_caller/tool_call_plugin_manager.py +331 -0
  379. autocoder/common/v2/agent/tool_caller/tool_caller.py +337 -0
  380. autocoder/common/v2/agent/tool_caller/usage_example.py +193 -0
  381. autocoder/common/v2/code_agentic_editblock_manager.py +4 -4
  382. autocoder/common/v2/code_auto_generate.py +136 -78
  383. autocoder/common/v2/code_auto_generate_diff.py +135 -79
  384. autocoder/common/v2/code_auto_generate_editblock.py +174 -99
  385. autocoder/common/v2/code_auto_generate_strict_diff.py +151 -71
  386. autocoder/common/v2/code_auto_merge.py +1 -1
  387. autocoder/common/v2/code_auto_merge_editblock.py +13 -1
  388. autocoder/common/v2/code_diff_manager.py +3 -3
  389. autocoder/common/v2/code_editblock_manager.py +4 -14
  390. autocoder/common/v2/code_manager.py +1 -1
  391. autocoder/common/v2/code_strict_diff_manager.py +2 -2
  392. autocoder/common/wrap_llm_hint/__init__.py +10 -0
  393. autocoder/common/wrap_llm_hint/test_wrap_llm_hint.py +1067 -0
  394. autocoder/common/wrap_llm_hint/utils.py +432 -0
  395. autocoder/common/wrap_llm_hint/wrap_llm_hint.py +323 -0
  396. autocoder/completer/__init__.py +8 -0
  397. autocoder/completer/command_completer_v2.py +1094 -0
  398. autocoder/default_project/__init__.py +501 -0
  399. autocoder/dispacher/__init__.py +4 -12
  400. autocoder/dispacher/actions/action.py +400 -129
  401. autocoder/dispacher/actions/plugins/action_regex_project.py +2 -2
  402. autocoder/index/entry.py +117 -125
  403. autocoder/{agent → index/filter}/agentic_filter.py +322 -333
  404. autocoder/index/filter/normal_filter.py +5 -11
  405. autocoder/index/filter/quick_filter.py +1 -1
  406. autocoder/index/index.py +36 -9
  407. autocoder/index/tests/__init__.py +1 -0
  408. autocoder/index/tests/run_tests.py +195 -0
  409. autocoder/index/tests/test_entry.py +303 -0
  410. autocoder/index/tests/test_index_manager.py +314 -0
  411. autocoder/index/tests/test_module_integration.py +300 -0
  412. autocoder/index/tests/test_symbols_utils.py +183 -0
  413. autocoder/inner/__init__.py +4 -0
  414. autocoder/inner/agentic.py +923 -0
  415. autocoder/inner/async_command_handler.py +992 -0
  416. autocoder/inner/conversation_command_handlers.py +623 -0
  417. autocoder/inner/merge_command_handler.py +213 -0
  418. autocoder/inner/queue_command_handler.py +684 -0
  419. autocoder/models.py +95 -266
  420. autocoder/plugins/git_helper_plugin.py +31 -29
  421. autocoder/plugins/token_helper_plugin.py +65 -46
  422. autocoder/pyproject/__init__.py +32 -29
  423. autocoder/rag/agentic_rag.py +215 -75
  424. autocoder/rag/cache/simple_cache.py +1 -2
  425. autocoder/rag/loaders/image_loader.py +1 -1
  426. autocoder/rag/long_context_rag.py +42 -26
  427. autocoder/rag/qa_conversation_strategy.py +1 -1
  428. autocoder/rag/terminal/__init__.py +17 -0
  429. autocoder/rag/terminal/args.py +581 -0
  430. autocoder/rag/terminal/bootstrap.py +61 -0
  431. autocoder/rag/terminal/command_handlers.py +653 -0
  432. autocoder/rag/terminal/formatters/__init__.py +20 -0
  433. autocoder/rag/terminal/formatters/base.py +70 -0
  434. autocoder/rag/terminal/formatters/json_format.py +66 -0
  435. autocoder/rag/terminal/formatters/stream_json.py +95 -0
  436. autocoder/rag/terminal/formatters/text.py +28 -0
  437. autocoder/rag/terminal/init.py +120 -0
  438. autocoder/rag/terminal/utils.py +106 -0
  439. autocoder/rag/test_agentic_rag.py +389 -0
  440. autocoder/rag/test_doc_filter.py +3 -3
  441. autocoder/rag/test_long_context_rag.py +1 -1
  442. autocoder/rag/test_token_limiter.py +517 -10
  443. autocoder/rag/token_counter.py +3 -0
  444. autocoder/rag/token_limiter.py +19 -15
  445. autocoder/rag/tools/__init__.py +26 -2
  446. autocoder/rag/tools/bochaai_example.py +343 -0
  447. autocoder/rag/tools/bochaai_sdk.py +541 -0
  448. autocoder/rag/tools/metaso_example.py +268 -0
  449. autocoder/rag/tools/metaso_sdk.py +417 -0
  450. autocoder/rag/tools/recall_tool.py +28 -7
  451. autocoder/rag/tools/run_integration_tests.py +204 -0
  452. autocoder/rag/tools/test_all_providers.py +318 -0
  453. autocoder/rag/tools/test_bochaai_integration.py +482 -0
  454. autocoder/rag/tools/test_final_integration.py +215 -0
  455. autocoder/rag/tools/test_metaso_integration.py +424 -0
  456. autocoder/rag/tools/test_metaso_real.py +171 -0
  457. autocoder/rag/tools/test_web_crawl_tool.py +639 -0
  458. autocoder/rag/tools/test_web_search_tool.py +509 -0
  459. autocoder/rag/tools/todo_read_tool.py +202 -0
  460. autocoder/rag/tools/todo_write_tool.py +412 -0
  461. autocoder/rag/tools/web_crawl_tool.py +634 -0
  462. autocoder/rag/tools/web_search_tool.py +558 -0
  463. autocoder/rag/tools/web_tools_example.py +119 -0
  464. autocoder/rag/types.py +16 -0
  465. autocoder/rag/variable_holder.py +4 -2
  466. autocoder/rags.py +86 -79
  467. autocoder/regexproject/__init__.py +23 -21
  468. autocoder/sdk/__init__.py +46 -190
  469. autocoder/sdk/api.py +370 -0
  470. autocoder/sdk/async_runner/__init__.py +26 -0
  471. autocoder/sdk/async_runner/async_executor.py +650 -0
  472. autocoder/sdk/async_runner/async_handler.py +356 -0
  473. autocoder/sdk/async_runner/markdown_processor.py +595 -0
  474. autocoder/sdk/async_runner/task_metadata.py +284 -0
  475. autocoder/sdk/async_runner/worktree_manager.py +438 -0
  476. autocoder/sdk/cli/__init__.py +2 -5
  477. autocoder/sdk/cli/formatters.py +28 -204
  478. autocoder/sdk/cli/handlers.py +77 -44
  479. autocoder/sdk/cli/main.py +154 -171
  480. autocoder/sdk/cli/options.py +95 -22
  481. autocoder/sdk/constants.py +139 -51
  482. autocoder/sdk/core/auto_coder_core.py +484 -109
  483. autocoder/sdk/core/bridge.py +297 -115
  484. autocoder/sdk/exceptions.py +18 -12
  485. autocoder/sdk/formatters/__init__.py +19 -0
  486. autocoder/sdk/formatters/input.py +64 -0
  487. autocoder/sdk/formatters/output.py +247 -0
  488. autocoder/sdk/formatters/stream.py +54 -0
  489. autocoder/sdk/models/__init__.py +6 -5
  490. autocoder/sdk/models/options.py +55 -18
  491. autocoder/sdk/utils/formatters.py +27 -195
  492. autocoder/suffixproject/__init__.py +28 -25
  493. autocoder/terminal/__init__.py +14 -0
  494. autocoder/terminal/app.py +454 -0
  495. autocoder/terminal/args.py +32 -0
  496. autocoder/terminal/bootstrap.py +178 -0
  497. autocoder/terminal/command_processor.py +521 -0
  498. autocoder/terminal/command_registry.py +57 -0
  499. autocoder/terminal/help.py +97 -0
  500. autocoder/terminal/tasks/__init__.py +5 -0
  501. autocoder/terminal/tasks/background.py +77 -0
  502. autocoder/terminal/tasks/task_event.py +70 -0
  503. autocoder/terminal/ui/__init__.py +13 -0
  504. autocoder/terminal/ui/completer.py +268 -0
  505. autocoder/terminal/ui/keybindings.py +75 -0
  506. autocoder/terminal/ui/session.py +41 -0
  507. autocoder/terminal/ui/toolbar.py +64 -0
  508. autocoder/terminal/utils/__init__.py +13 -0
  509. autocoder/terminal/utils/errors.py +18 -0
  510. autocoder/terminal/utils/paths.py +19 -0
  511. autocoder/terminal/utils/shell.py +43 -0
  512. autocoder/terminal_v3/__init__.py +10 -0
  513. autocoder/terminal_v3/app.py +201 -0
  514. autocoder/terminal_v3/handlers/__init__.py +5 -0
  515. autocoder/terminal_v3/handlers/command_handler.py +131 -0
  516. autocoder/terminal_v3/models/__init__.py +6 -0
  517. autocoder/terminal_v3/models/conversation_buffer.py +214 -0
  518. autocoder/terminal_v3/models/message.py +50 -0
  519. autocoder/terminal_v3/models/tool_display.py +247 -0
  520. autocoder/terminal_v3/ui/__init__.py +7 -0
  521. autocoder/terminal_v3/ui/keybindings.py +56 -0
  522. autocoder/terminal_v3/ui/layout.py +141 -0
  523. autocoder/terminal_v3/ui/styles.py +43 -0
  524. autocoder/tsproject/__init__.py +23 -23
  525. autocoder/utils/auto_coder_utils/chat_stream_out.py +1 -1
  526. autocoder/utils/llms.py +88 -80
  527. autocoder/utils/math_utils.py +101 -0
  528. autocoder/utils/model_provider_selector.py +16 -4
  529. autocoder/utils/operate_config_api.py +33 -5
  530. autocoder/utils/thread_utils.py +2 -2
  531. autocoder/version.py +4 -2
  532. autocoder/workflow_agents/__init__.py +84 -0
  533. autocoder/workflow_agents/agent.py +143 -0
  534. autocoder/workflow_agents/exceptions.py +573 -0
  535. autocoder/workflow_agents/executor.py +665 -0
  536. autocoder/workflow_agents/loader.py +749 -0
  537. autocoder/workflow_agents/runner.py +267 -0
  538. autocoder/workflow_agents/types.py +173 -0
  539. autocoder/workflow_agents/utils.py +434 -0
  540. autocoder/workflow_agents/workflow_manager.py +211 -0
  541. auto_coder-1.0.0.dist-info/METADATA +0 -396
  542. auto_coder-1.0.0.dist-info/RECORD +0 -442
  543. auto_coder-1.0.0.dist-info/licenses/LICENSE +0 -201
  544. autocoder/auto_coder_server.py +0 -672
  545. autocoder/benchmark.py +0 -138
  546. autocoder/common/ac_style_command_parser/example.py +0 -7
  547. autocoder/common/cleaner.py +0 -31
  548. autocoder/common/command_completer_v2.py +0 -615
  549. autocoder/common/context_pruner.py +0 -477
  550. autocoder/common/conversation_pruner.py +0 -132
  551. autocoder/common/directory_cache/__init__.py +0 -1
  552. autocoder/common/directory_cache/cache.py +0 -192
  553. autocoder/common/directory_cache/test_cache.py +0 -190
  554. autocoder/common/file_checkpoint/examples.py +0 -217
  555. autocoder/common/llm_friendly_package_example.py +0 -138
  556. autocoder/common/llm_friendly_package_test.py +0 -63
  557. autocoder/common/pull_requests/test_module.py +0 -1
  558. autocoder/common/rulefiles/autocoderrules_utils.py +0 -484
  559. autocoder/common/text.py +0 -30
  560. autocoder/common/v2/agent/agentic_edit_tools/list_package_info_tool_resolver.py +0 -42
  561. autocoder/common/v2/agent/agentic_edit_tools/test_execute_command_tool_resolver.py +0 -70
  562. autocoder/common/v2/agent/agentic_edit_tools/test_search_files_tool_resolver.py +0 -163
  563. autocoder/common/v2/agent/agentic_tool_display.py +0 -183
  564. autocoder/plugins/dynamic_completion_example.py +0 -148
  565. autocoder/plugins/sample_plugin.py +0 -160
  566. autocoder/sdk/cli/__main__.py +0 -26
  567. autocoder/sdk/cli/completion_wrapper.py +0 -38
  568. autocoder/sdk/cli/install_completion.py +0 -301
  569. autocoder/sdk/models/messages.py +0 -209
  570. autocoder/sdk/session/__init__.py +0 -32
  571. autocoder/sdk/session/session.py +0 -106
  572. autocoder/sdk/session/session_manager.py +0 -56
  573. {auto_coder-1.0.0.dist-info → auto_coder-2.0.1.dist-info}/top_level.txt +0 -0
  574. /autocoder/{sdk/example.py → common/agent_query_queue/__init__.py} +0 -0
@@ -0,0 +1,507 @@
1
+ """
2
+ Async command messages for internationalization
3
+ Contains all messages used by the async command functionality
4
+ """
5
+
6
+ ASYNC_COMMAND_MESSAGES = {
7
+ # 错误消息
8
+ "async_task_param_error": {
9
+ "en": "Parameter Error",
10
+ "zh": "参数错误",
11
+ "ja": "パラメータエラー",
12
+ "ar": "خطأ في المعامل",
13
+ "ru": "Ошибка параметра",
14
+ },
15
+ "async_provide_task_id": {
16
+ "en": "Please provide the task ID to terminate",
17
+ "zh": "请提供要终止的任务ID",
18
+ "ja": "終了するタスクIDを提供してください",
19
+ "ar": "يرجى تقديم معرف المهمة للإنهاء",
20
+ "ru": "Пожалуйста, укажите ID задачи для завершения",
21
+ },
22
+ "async_task_not_found": {
23
+ "en": "Task ID not found: {{task_id}}",
24
+ "zh": "未找到任务ID: {{task_id}}",
25
+ "ja": "タスクIDが見つかりません: {{task_id}}",
26
+ "ar": "لم يتم العثور على معرف المهمة: {{task_id}}",
27
+ "ru": "ID задачи не найден: {{task_id}}",
28
+ },
29
+ "async_task_not_exist": {
30
+ "en": "Task Not Exist",
31
+ "zh": "任务不存在",
32
+ "ja": "タスクが存在しません",
33
+ "ar": "المهمة غير موجودة",
34
+ "ru": "Задача не существует",
35
+ },
36
+ "async_task_status_error": {
37
+ "en": "Task Status Error",
38
+ "zh": "任务状态错误",
39
+ "ja": "タスクステータスエラー",
40
+ "ar": "خطأ في حالة المهمة",
41
+ "ru": "Ошибка статуса задачи",
42
+ },
43
+ "async_task_cannot_terminate": {
44
+ "en": "Task {{task_id}} is currently in {{status}} status and cannot be terminated",
45
+ "zh": "任务 {{task_id}} 当前状态为 {{status}},无法终止",
46
+ "ja": "タスク {{task_id}} は現在 {{status}} ステータスで、終了できません",
47
+ "ar": "المهمة {{task_id}} في حالة {{status}} حالياً ولا يمكن إنهاؤها",
48
+ "ru": "Задача {{task_id}} в настоящее время имеет статус {{status}} и не может быть завершена",
49
+ },
50
+ "async_missing_psutil": {
51
+ "en": "Missing psutil dependency, cannot terminate process",
52
+ "zh": "缺少 psutil 依赖,无法终止进程",
53
+ "ja": "psutil の依存関係が見つからないため、プロセスを終了できません",
54
+ "ar": "مكتبة psutil مفقودة، لا يمكن إنهاء العملية",
55
+ "ru": "Отсутствует зависимость psutil, невозможно завершить процесс",
56
+ },
57
+ "async_dependency_missing": {
58
+ "en": "Dependency Missing",
59
+ "zh": "依赖缺失",
60
+ "ja": "依存関係の不足",
61
+ "ar": "التبعية مفقودة",
62
+ "ru": "Отсутствует зависимость",
63
+ },
64
+ "async_process_not_exist": {
65
+ "en": "Process {{pid}} does not exist, may have already finished",
66
+ "zh": "进程 {{pid}} 不存在,可能已经结束",
67
+ "ja": "プロセス {{pid}} は存在しません。既に終了している可能性があります",
68
+ "ar": "العملية {{pid}} غير موجودة، ربما انتهت بالفعل",
69
+ "ru": "Процесс {{pid}} не существует, возможно, уже завершён",
70
+ },
71
+ "async_process_not_exist_title": {
72
+ "en": "Process Not Exist",
73
+ "zh": "进程不存在",
74
+ "ja": "プロセスが存在しません",
75
+ "ar": "العملية غير موجودة",
76
+ "ru": "Процесс не существует",
77
+ },
78
+ "async_terminate_process_error": {
79
+ "en": "Error occurred while terminating process: {{error}}",
80
+ "zh": "终止进程时发生错误: {{error}}",
81
+ "ja": "プロセスの終了中にエラーが発生しました: {{error}}",
82
+ "ar": "حدث خطأ أثناء إنهاء العملية: {{error}}",
83
+ "ru": "Ошибка при завершении процесса: {{error}}",
84
+ },
85
+ "async_terminate_failed": {
86
+ "en": "Terminate Failed",
87
+ "zh": "终止失败",
88
+ "ja": "終了失敗",
89
+ "ar": "فشل الإنهاء",
90
+ "ru": "Завершение не выполнено",
91
+ },
92
+ "async_no_valid_pid": {
93
+ "en": "Task {{task_id}} has no valid PID information",
94
+ "zh": "任务 {{task_id}} 没有有效的PID信息",
95
+ "ja": "タスク {{task_id}} には有効なPID情報がありません",
96
+ "ar": "المهمة {{task_id}} لا تحتوي على معلومات PID صالحة",
97
+ "ru": "Задача {{task_id}} не содержит действительной информации о PID",
98
+ },
99
+ "async_pid_missing": {
100
+ "en": "PID Information Missing",
101
+ "zh": "PID信息缺失",
102
+ "ja": "PID情報の不足",
103
+ "ar": "معلومات PID مفقودة",
104
+ "ru": "Отсутствует информация о PID",
105
+ },
106
+ "async_kill_command_error": {
107
+ "en": "Error occurred while processing kill command: {{error}}",
108
+ "zh": "处理kill命令时发生错误: {{error}}",
109
+ "ja": "killコマンドの処理中にエラーが発生しました: {{error}}",
110
+ "ar": "حدث خطأ أثناء معالجة أمر القتل: {{error}}",
111
+ "ru": "Ошибка при обработке команды завершения: {{error}}",
112
+ },
113
+ "async_processing_error": {
114
+ "en": "Processing Error",
115
+ "zh": "处理错误",
116
+ "ja": "処理エラー",
117
+ "ar": "خطأ في المعالجة",
118
+ "ru": "Ошибка обработки",
119
+ },
120
+ "async_task_detail_load_error": {
121
+ "en": "Error occurred while loading task details: {{error}}",
122
+ "zh": "加载任务详情时发生错误: {{error}}",
123
+ "ja": "タスクの詳細の読み込み中にエラーが発生しました: {{error}}",
124
+ "ar": "حدث خطأ أثناء تحميل تفاصيل المهمة: {{error}}",
125
+ "ru": "Ошибка при загрузке деталей задачи: {{error}}",
126
+ },
127
+ "async_task_list_error": {
128
+ "en": "Error occurred while getting task list: {{error}}",
129
+ "zh": "获取任务列表时发生错误: {{error}}",
130
+ "ja": "タスクリストの取得中にエラーが発生しました: {{error}}",
131
+ "ar": "حدث خطأ أثناء الحصول على قائمة المهام: {{error}}",
132
+ "ru": "Ошибка при получении списка задач: {{error}}",
133
+ },
134
+ # 成功消息
135
+ "async_task_terminated_success": {
136
+ "en": "Task {{task_id}} (PID: {{pid}}) has been successfully terminated",
137
+ "zh": "任务 {{task_id}} (PID: {{pid}}) 已成功终止",
138
+ "ja": "タスク {{task_id}} (PID: {{pid}}) が正常に終了されました",
139
+ "ar": "تم إنهاء المهمة {{task_id}} (PID: {{pid}}) بنجاح",
140
+ "ru": "Задача {{task_id}} (PID: {{pid}}) успешно завершена",
141
+ },
142
+ "async_terminate_success": {
143
+ "en": "Task Terminate Success",
144
+ "zh": "任务终止成功",
145
+ "ja": "タスク終了成功",
146
+ "ar": "نجح إنهاء المهمة",
147
+ "ru": "Задача успешно завершена",
148
+ },
149
+ "async_task_status_updated": {
150
+ "en": "Task status updated",
151
+ "zh": "任务状态已更新",
152
+ "ja": "タスクステータスが更新されました",
153
+ "ar": "تم تحديث حالة المهمة",
154
+ "ru": "Статус задачи обновлён",
155
+ },
156
+ # 任务状态
157
+ "async_task_status_running": {
158
+ "en": "[blue]Running[/blue]",
159
+ "zh": "[blue]运行中[/blue]",
160
+ "ja": "[blue]実行中[/blue]",
161
+ "ar": "[blue]قيد التشغيل[/blue]",
162
+ "ru": "[blue]Выполняется[/blue]",
163
+ },
164
+ "async_task_status_completed": {
165
+ "en": "[green]Completed[/green]",
166
+ "zh": "[green]已完成[/green]",
167
+ "ja": "[green]完了[/green]",
168
+ "ar": "[green]مكتمل[/green]",
169
+ "ru": "[green]Завершено[/green]",
170
+ },
171
+ "async_task_status_failed": {
172
+ "en": "[red]Failed[/red]",
173
+ "zh": "[red]失败[/red]",
174
+ "ja": "[red]失敗[/red]",
175
+ "ar": "[red]فاشل[/red]",
176
+ "ru": "[red]Неудачно[/red]",
177
+ },
178
+ # 任务列表
179
+ "async_task_list_title": {
180
+ "en": "Async Task List",
181
+ "zh": "异步任务列表",
182
+ "ja": "非同期タスクリスト",
183
+ "ar": "قائمة المهام غير المتزامنة",
184
+ "ru": "Список асинхронных задач",
185
+ },
186
+ "async_task_list_no_tasks": {
187
+ "en": "No tasks found",
188
+ "zh": "没有找到任务",
189
+ "ja": "タスクが見つかりません",
190
+ "ar": "لم يتم العثور على مهام",
191
+ "ru": "Задачи не найдены",
192
+ },
193
+ "async_task_table_id": {
194
+ "en": "Task ID",
195
+ "zh": "任务ID",
196
+ "ja": "タスクID",
197
+ "ar": "معرف المهمة",
198
+ "ru": "ID задачи",
199
+ },
200
+ "async_task_table_status": {
201
+ "en": "Status",
202
+ "zh": "状态",
203
+ "ja": "ステータス",
204
+ "ar": "الحالة",
205
+ "ru": "Статус",
206
+ },
207
+ "async_task_table_model": {
208
+ "en": "Model",
209
+ "zh": "模型",
210
+ "ja": "モデル",
211
+ "ar": "النموذج",
212
+ "ru": "Модель",
213
+ },
214
+ "async_task_table_created": {
215
+ "en": "Created",
216
+ "zh": "创建时间",
217
+ "ja": "作成時刻",
218
+ "ar": "وقت الإنشاء",
219
+ "ru": "Создано",
220
+ },
221
+ "async_task_table_query": {
222
+ "en": "Query",
223
+ "zh": "查询",
224
+ "ja": "クエリ",
225
+ "ar": "الاستعلام",
226
+ "ru": "Запрос",
227
+ },
228
+ "async_task_table_log": {
229
+ "en": "Log File",
230
+ "zh": "日志文件",
231
+ "ja": "ログファイル",
232
+ "ar": "ملف السجل",
233
+ "ru": "Файл журнала",
234
+ },
235
+ "async_task_list_summary": {
236
+ "en": "Total: {{total}} | Completed: {{completed}} | Running: {{running}} | Failed: {{failed}}",
237
+ "zh": "总计: {{total}} | 已完成: {{completed}} | 运行中: {{running}} | 失败: {{failed}}",
238
+ "ja": "合計: {{total}} | 完了: {{completed}} | 実行中: {{running}} | 失敗: {{failed}}",
239
+ "ar": "المجموع: {{total}} | مكتمل: {{completed}} | قيد التشغيل: {{running}} | فاشل: {{failed}}",
240
+ "ru": "Всего: {{total}} | Завершено: {{completed}} | Выполняется: {{running}} | Неудачно: {{failed}}",
241
+ },
242
+ # 任务详情
243
+ "async_task_detail_title": {
244
+ "en": "Task Details",
245
+ "zh": "任务详情",
246
+ "ja": "タスクの詳細",
247
+ "ar": "تفاصيل المهمة",
248
+ "ru": "Детали задачи",
249
+ },
250
+ "async_task_detail_not_found": {
251
+ "en": "Task ID {{task_id}} not found",
252
+ "zh": "未找到任务ID {{task_id}}",
253
+ "ja": "タスクID {{task_id}} が見つかりません",
254
+ "ar": "لم يتم العثور على معرف المهمة {{task_id}}",
255
+ "ru": "ID задачи {{task_id}} не найден",
256
+ },
257
+ "async_task_field_id": {
258
+ "en": "Task ID",
259
+ "zh": "任务ID",
260
+ "ja": "タスクID",
261
+ "ar": "معرف المهمة",
262
+ "ru": "ID задачи",
263
+ },
264
+ "async_task_field_status": {
265
+ "en": "Status",
266
+ "zh": "状态",
267
+ "ja": "ステータス",
268
+ "ar": "الحالة",
269
+ "ru": "Статус",
270
+ },
271
+ "async_task_field_model": {
272
+ "en": "Model",
273
+ "zh": "模型",
274
+ "ja": "モデル",
275
+ "ar": "النموذج",
276
+ "ru": "Модель",
277
+ },
278
+ "async_task_field_split_mode": {
279
+ "en": "Split Mode",
280
+ "zh": "分割模式",
281
+ "ja": "分割モード",
282
+ "ar": "وضع التقسيم",
283
+ "ru": "Режим разделения",
284
+ },
285
+ "async_task_field_bg_mode": {
286
+ "en": "Background Mode",
287
+ "zh": "后台模式",
288
+ "ja": "バックグラウンドモード",
289
+ "ar": "وضع الخلفية",
290
+ "ru": "Фоновый режим",
291
+ },
292
+ "async_task_field_pr_mode": {
293
+ "en": "Pull Request Mode",
294
+ "zh": "拉取请求模式",
295
+ "ja": "プルリクエストモード",
296
+ "ar": "وضع طلب السحب",
297
+ "ru": "Режим запроса на слияние",
298
+ },
299
+ "async_task_field_created": {
300
+ "en": "Created At",
301
+ "zh": "创建时间",
302
+ "ja": "作成時刻",
303
+ "ar": "وقت الإنشاء",
304
+ "ru": "Создано в",
305
+ },
306
+ "async_task_field_completed": {
307
+ "en": "Completed At",
308
+ "zh": "完成时间",
309
+ "ja": "完了時刻",
310
+ "ar": "وقت الإكمال",
311
+ "ru": "Завершено в",
312
+ },
313
+ "async_task_field_duration": {
314
+ "en": "Duration",
315
+ "zh": "耗时",
316
+ "ja": "所要時間",
317
+ "ar": "المدة",
318
+ "ru": "Длительность",
319
+ },
320
+ "async_task_duration_format": {
321
+ "en": "{{duration}} seconds",
322
+ "zh": "{{duration}} 秒",
323
+ "ja": "{{duration}} 秒",
324
+ "ar": "{{duration}} ثانية",
325
+ "ru": "{{duration}} секунд",
326
+ },
327
+ "async_task_field_worktree_path": {
328
+ "en": "Worktree Path",
329
+ "zh": "工作树路径",
330
+ "ja": "ワークツリーパス",
331
+ "ar": "مسار شجرة العمل",
332
+ "ru": "Путь рабочего дерева",
333
+ },
334
+ "async_task_field_original_path": {
335
+ "en": "Original Path",
336
+ "zh": "原始路径",
337
+ "ja": "元のパス",
338
+ "ar": "المسار الأصلي",
339
+ "ru": "Исходный путь",
340
+ },
341
+ "async_task_field_log_file": {
342
+ "en": "Log File",
343
+ "zh": "日志文件",
344
+ "ja": "ログファイル",
345
+ "ar": "ملف السجل",
346
+ "ru": "Файл журнала",
347
+ },
348
+ "async_task_field_success": {
349
+ "en": "Success",
350
+ "zh": "成功",
351
+ "ja": "成功",
352
+ "ar": "نجح",
353
+ "ru": "Успех",
354
+ },
355
+ "async_task_field_output_preview": {
356
+ "en": "Output Preview",
357
+ "zh": "输出预览",
358
+ "ja": "出力プレビュー",
359
+ "ar": "معاينة الإخراج",
360
+ "ru": "Предварительный просмотр вывода",
361
+ },
362
+ "async_task_field_error_preview": {
363
+ "en": "Error Preview",
364
+ "zh": "错误预览",
365
+ "ja": "エラープレビュー",
366
+ "ar": "معاينة الخطأ",
367
+ "ru": "Предварительный просмотр ошибки",
368
+ },
369
+ "async_task_value_yes": {
370
+ "en": "Yes",
371
+ "zh": "是",
372
+ "ja": "はい",
373
+ "ar": "نعم",
374
+ "ru": "Да",
375
+ },
376
+ "async_task_value_no": {
377
+ "en": "No",
378
+ "zh": "否",
379
+ "ja": "いいえ",
380
+ "ar": "لا",
381
+ "ru": "Нет",
382
+ },
383
+ # 面板标题
384
+ "async_task_panel_query": {
385
+ "en": "User Query",
386
+ "zh": "用户查询",
387
+ "ja": "ユーザークエリ",
388
+ "ar": "استعلام المستخدم",
389
+ "ru": "Пользовательский запрос",
390
+ },
391
+ "async_task_panel_paths": {
392
+ "en": "Path Information",
393
+ "zh": "路径信息",
394
+ "ja": "パス情報",
395
+ "ar": "معلومات المسار",
396
+ "ru": "Информация о путях",
397
+ },
398
+ "async_task_panel_error": {
399
+ "en": "Error Information",
400
+ "zh": "错误信息",
401
+ "ja": "エラー情報",
402
+ "ar": "معلومات الخطأ",
403
+ "ru": "Информация об ошибке",
404
+ },
405
+ "async_task_panel_execution": {
406
+ "en": "Execution Result",
407
+ "zh": "执行结果",
408
+ "ja": "実行結果",
409
+ "ar": "نتيجة التنفيذ",
410
+ "ru": "Результат выполнения",
411
+ },
412
+ "async_task_operation_hints": {
413
+ "en": "Available Operations",
414
+ "zh": "可用操作",
415
+ "ja": "利用可能な操作",
416
+ "ar": "العمليات المتاحة",
417
+ "ru": "Доступные операции",
418
+ },
419
+ # 操作提示
420
+ "async_task_hint_view_log": {
421
+ "en": "📄 View log: cat {{log_file}}",
422
+ "zh": "📄 查看日志: cat {{log_file}}",
423
+ "ja": "📄 ログ表示: cat {{log_file}}",
424
+ "ar": "📄 عرض السجل: cat {{log_file}}",
425
+ "ru": "📄 Просмотр журнала: cat {{log_file}}",
426
+ },
427
+ "async_task_hint_enter_worktree": {
428
+ "en": "📁 Enter worktree: cd {{worktree_path}}",
429
+ "zh": "📁 进入工作树: cd {{worktree_path}}",
430
+ "ja": "📁 ワークツリーに入る: cd {{worktree_path}}",
431
+ "ar": "📁 دخول شجرة العمل: cd {{worktree_path}}",
432
+ "ru": "📁 Войти в рабочее дерево: cd {{worktree_path}}",
433
+ },
434
+ "async_task_hint_back_to_list": {
435
+ "en": "📋 Back to list: /async /list",
436
+ "zh": "📋 返回列表: /async /list",
437
+ "ja": "📋 リストに戻る: /async /list",
438
+ "ar": "📋 العودة إلى القائمة: /async /list",
439
+ "ru": "📋 Вернуться к списку: /async /list",
440
+ },
441
+ # 异步任务启动消息
442
+ "async_task_started_message": {
443
+ "en": "[green]Async task has been started![/green]\n\nModel: [yellow]{{model}}[/yellow]\nQuery: [blue]{{query}}[/blue]\n\n[bold]Task details can be viewed at:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]Tip: The task is running in the background, you can continue using other features[/dim]",
444
+ "zh": "[green]异步任务已启动![/green]\n\n模型: [yellow]{{model}}[/yellow]\n查询: [blue]{{query}}[/blue]\n\n[bold]任务详情请查看:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]提示: 任务正在后台执行,您可以继续使用其他功能[/dim]",
445
+ "ja": "[green]非同期タスクが開始されました![/green]\n\nモデル: [yellow]{{model}}[/yellow]\nクエリ: [blue]{{query}}[/blue]\n\n[bold]タスクの詳細は以下で確認できます:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]ヒント: タスクはバックグラウンドで実行中です。他の機能を引き続き使用できます[/dim]",
446
+ "ar": "[green]تم بدء المهمة غير المتزامنة![/green]\n\nالنموذج: [yellow]{{model}}[/yellow]\nالاستعلام: [blue]{{query}}[/blue]\n\n[bold]يمكن عرض تفاصيل المهمة في:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]نصيحة: المهمة تعمل في الخلفية، يمكنك الاستمرار في استخدام الميزات الأخرى[/dim]",
447
+ "ru": "[green]Асинхронная задача запущена![/green]\n\nМодель: [yellow]{{model}}[/yellow]\nЗапрос: [blue]{{query}}[/blue]\n\n[bold]Детали задачи можно просмотреть в:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]Совет: Задача выполняется в фоновом режиме, вы можете продолжать использовать другие функции[/dim]",
448
+ },
449
+ # 异步任务启动消息(带名称)
450
+ "async_task_started_message_with_name": {
451
+ "en": "[green]Async task has been started![/green]\n\nModel: [yellow]{{model}}[/yellow]\nQuery: [blue]{{query}}[/blue]\n\n[bold]Worktree Path:[/bold]\n[cyan]~/.auto-coder/async_agent/tasks/{{name}}[/cyan]\n\n[bold]Meta Information:[/bold]\n[cyan]~/.auto-coder/async_agent/meta/{{name}}.json[/cyan]\n\n[bold]Task details can be viewed at:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]Tip: The task is running in the background, you can continue using other features[/dim]",
452
+ "zh": "[green]异步任务已启动![/green]\n\n模型: [yellow]{{model}}[/yellow]\n查询: [blue]{{query}}[/blue]\n\n[bold]工作目录路径:[/bold]\n[cyan]~/.auto-coder/async_agent/tasks/{{name}}[/cyan]\n\n[bold]元信息文件:[/bold]\n[cyan]~/.auto-coder/async_agent/meta/{{name}}.json[/cyan]\n\n[bold]任务详情请查看:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]提示: 任务正在后台执行,您可以继续使用其他功能[/dim]",
453
+ "ja": "[green]非同期タスクが開始されました![/green]\n\nモデル: [yellow]{{model}}[/yellow]\nクエリ: [blue]{{query}}[/blue]\n\n[bold]ワークツリーパス:[/bold]\n[cyan]~/.auto-coder/async_agent/tasks/{{name}}[/cyan]\n\n[bold]メタ情報:[/bold]\n[cyan]~/.auto-coder/async_agent/meta/{{name}}.json[/cyan]\n\n[bold]タスクの詳細は以下で確認できます:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]ヒント: タスクはバックグラウンドで実行中です。他の機能を引き続き使用できます[/dim]",
454
+ "ar": "[green]تم بدء المهمة غير المتزامنة![/green]\n\nالنموذج: [yellow]{{model}}[/yellow]\nالاستعلام: [blue]{{query}}[/blue]\n\n[bold]مسار شجرة العمل:[/bold]\n[cyan]~/.auto-coder/async_agent/tasks/{{name}}[/cyan]\n\n[bold]معلومات التعريف:[/bold]\n[cyan]~/.auto-coder/async_agent/meta/{{name}}.json[/cyan]\n\n[bold]يمكن عرض تفاصيل المهمة في:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]نصيحة: المهمة تعمل في الخلفية، يمكنك الاستمرار في استخدام الميزات الأخرى[/dim]",
455
+ "ru": "[green]Асинхронная задача запущена![/green]\n\nМодель: [yellow]{{model}}[/yellow]\nЗапрос: [blue]{{query}}[/blue]\n\n[bold]Путь рабочего дерева:[/bold]\n[cyan]~/.auto-coder/async_agent/tasks/{{name}}[/cyan]\n\n[bold]Мета информация:[/bold]\n[cyan]~/.auto-coder/async_agent/meta/{{name}}.json[/cyan]\n\n[bold]Детали задачи можно просмотреть в:[/bold]\n[cyan]{{agent_dir}}[/cyan]\n\n[dim]Совет: Задача выполняется в фоновом режиме, вы можете продолжать использовать другие функции[/dim]",
456
+ },
457
+ "async_task_title": {
458
+ "en": "🚀 Async Task",
459
+ "zh": "🚀 异步任务",
460
+ "ja": "🚀 非同期タスク",
461
+ "ar": "🚀 مهمة غير متزامنة",
462
+ "ru": "🚀 Асинхронная задача",
463
+ },
464
+ # Drop command messages
465
+ "async_task_drop_running_warning": {
466
+ "en": "Task {{task_id}} is currently running. It will be terminated before deletion.",
467
+ "zh": "任务 {{task_id}} 正在运行中。将在删除前终止该任务。",
468
+ "ja": "タスク {{task_id}} は現在実行中です。削除前に終了されます。",
469
+ "ar": "المهمة {{task_id}} قيد التشغيل حالياً. سيتم إنهاؤها قبل الحذف.",
470
+ "ru": "Задача {{task_id}} в настоящее время выполняется. Она будет завершена перед удалением.",
471
+ },
472
+ "async_task_terminated_before_drop": {
473
+ "en": "Task {{task_id}} processes terminated before deletion:\n{{processes}}",
474
+ "zh": "任务 {{task_id}} 的进程在删除前已终止:\n{{processes}}",
475
+ "ja": "タスク {{task_id}} のプロセスが削除前に終了しました:\n{{processes}}",
476
+ "ar": "تم إنهاء عمليات المهمة {{task_id}} قبل الحذف:\n{{processes}}",
477
+ "ru": "Процессы задачи {{task_id}} завершены перед удалением:\n{{processes}}",
478
+ },
479
+ "async_task_drop_success": {
480
+ "en": "Task {{task_id}} and all related files have been successfully deleted:\n{{deleted_items}}",
481
+ "zh": "任务 {{task_id}} 及所有相关文件已成功删除:\n{{deleted_items}}",
482
+ "ja": "タスク {{task_id}} とすべての関連ファイルが正常に削除されました:\n{{deleted_items}}",
483
+ "ar": "تم حذف المهمة {{task_id}} وجميع الملفات ذات الصلة بنجاح:\n{{deleted_items}}",
484
+ "ru": "Задача {{task_id}} и все связанные файлы успешно удалены:\n{{deleted_items}}",
485
+ },
486
+ "async_task_drop_title": {
487
+ "en": "🗑️ Task Deleted",
488
+ "zh": "🗑️ 任务已删除",
489
+ "ja": "🗑️ タスクが削除されました",
490
+ "ar": "🗑️ تم حذف المهمة",
491
+ "ru": "🗑️ Задача удалена",
492
+ },
493
+ "async_task_drop_no_files": {
494
+ "en": "Task {{task_id}} metadata deleted, but no related files were found to clean up.",
495
+ "zh": "任务 {{task_id}} 的元数据已删除,但没有找到需要清理的相关文件。",
496
+ "ja": "タスク {{task_id}} のメタデータは削除されましたが、クリーンアップする関連ファイルは見つかりませんでした。",
497
+ "ar": "تم حذف بيانات التعريف للمهمة {{task_id}}، ولكن لم يتم العثور على ملفات ذات صلة للتنظيف.",
498
+ "ru": "Метаданные задачи {{task_id}} удалены, но не найдено связанных файлов для очистки.",
499
+ },
500
+ "async_drop_command_error": {
501
+ "en": "Error occurred while processing drop command: {{error}}",
502
+ "zh": "处理drop命令时发生错误: {{error}}",
503
+ "ja": "dropコマンドの処理中にエラーが発生しました: {{error}}",
504
+ "ar": "حدث خطأ أثناء معالجة أمر الحذف: {{error}}",
505
+ "ru": "Ошибка при обработке команды удаления: {{error}}",
506
+ },
507
+ }