auto-coder 0.1.304__py3-none-any.whl → 0.1.306__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.
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/METADATA +1 -1
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/RECORD +45 -40
- autocoder/agent/auto_learn_from_commit.py +3 -1
- autocoder/agent/auto_review_commit.py +3 -1
- autocoder/auto_coder.py +3 -2
- autocoder/auto_coder_runner.py +116 -3
- autocoder/chat_auto_coder.py +9 -1
- autocoder/chat_auto_coder_lang.py +552 -278
- autocoder/commands/auto_command.py +1 -4
- autocoder/commands/auto_web.py +1 -9
- autocoder/common/__init__.py +4 -0
- autocoder/common/auto_coder_lang.py +737 -392
- autocoder/common/code_auto_generate.py +104 -16
- autocoder/common/code_auto_generate_diff.py +101 -10
- autocoder/common/code_auto_generate_editblock.py +103 -9
- autocoder/common/code_auto_generate_strict_diff.py +99 -9
- autocoder/common/code_auto_merge.py +8 -0
- autocoder/common/code_auto_merge_diff.py +8 -0
- autocoder/common/code_auto_merge_editblock.py +7 -0
- autocoder/common/code_auto_merge_strict_diff.py +5 -0
- autocoder/common/code_modification_ranker.py +4 -2
- autocoder/common/command_completer.py +12 -0
- autocoder/common/command_generator.py +5 -4
- autocoder/common/git_utils.py +13 -7
- autocoder/common/global_cancel.py +68 -7
- autocoder/common/stream_out_type.py +5 -1
- autocoder/common/utils_code_auto_generate.py +29 -3
- autocoder/dispacher/__init__.py +18 -19
- autocoder/dispacher/actions/action.py +6 -162
- autocoder/dispacher/actions/plugins/action_regex_project.py +2 -6
- autocoder/index/filter/quick_filter.py +6 -3
- autocoder/index/index.py +2 -4
- autocoder/memory/__init__.py +7 -0
- autocoder/memory/active_context_manager.py +649 -0
- autocoder/memory/active_package.py +469 -0
- autocoder/memory/async_processor.py +161 -0
- autocoder/memory/directory_mapper.py +67 -0
- autocoder/utils/auto_coder_utils/chat_stream_out.py +61 -11
- autocoder/utils/project_structure.py +35 -1
- autocoder/utils/thread_utils.py +78 -169
- autocoder/version.py +1 -1
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/LICENSE +0 -0
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/WHEEL +0 -0
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/entry_points.txt +0 -0
- {auto_coder-0.1.304.dist-info → auto_coder-0.1.306.dist-info}/top_level.txt +0 -0
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
autocoder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
autocoder/auto_coder.py,sha256=
|
|
2
|
+
autocoder/auto_coder.py,sha256=4NyaafKENW-yRRoaIQbbVac8CLRXQQ_0WFUmxpuIdf8,66047
|
|
3
3
|
autocoder/auto_coder_lang.py,sha256=Rtupq6N3_HT7JRhDKdgCBcwRaiAnyCOR_Gsp4jUomrI,3229
|
|
4
4
|
autocoder/auto_coder_rag.py,sha256=5TtAfbEBwyt-cB4WcI8eQ1G3AuKij0056wFYRViDhLs,34036
|
|
5
5
|
autocoder/auto_coder_rag_client_mcp.py,sha256=QRxUbjc6A8UmDMQ8lXgZkjgqtq3lgKYeatJbDY6rSo0,6270
|
|
6
6
|
autocoder/auto_coder_rag_mcp.py,sha256=-RrjNwFaS2e5v8XDIrKR-zlUNUE8UBaeOtojffBrvJo,8521
|
|
7
|
-
autocoder/auto_coder_runner.py,sha256=
|
|
7
|
+
autocoder/auto_coder_runner.py,sha256=bJKALThUBFKCmX-BB3Cjh9go9HRMnh9yZdKHZz8fAoc,104751
|
|
8
8
|
autocoder/auto_coder_server.py,sha256=E3Z829TPSooRSNhuh3_x9yaZi0f5G0Lm0ntoZhjGaoQ,20576
|
|
9
9
|
autocoder/benchmark.py,sha256=Ypomkdzd1T3GE6dRICY3Hj547dZ6_inqJbBJIp5QMco,4423
|
|
10
|
-
autocoder/chat_auto_coder.py,sha256=
|
|
11
|
-
autocoder/chat_auto_coder_lang.py,sha256
|
|
10
|
+
autocoder/chat_auto_coder.py,sha256=Cp5_m3pCxEDcRrVG1uojTfD8xecdl9FvYtD948TvLsg,25223
|
|
11
|
+
autocoder/chat_auto_coder_lang.py,sha256=p1SUPw1_YBHK69yNViXr6iFhHL-PjFnrXExA2mXJ5ko,21655
|
|
12
12
|
autocoder/command_args.py,sha256=9aYJ-AmPxP1sQh6ciw04FWHjSn31f2W9afXFwo8wgx4,30441
|
|
13
13
|
autocoder/command_parser.py,sha256=fx1g9E6GaM273lGTcJqaFQ-hoksS_Ik2glBMnVltPCE,10013
|
|
14
14
|
autocoder/lang.py,sha256=U6AjVV8Rs1uLyjFCZ8sT6WWuNUxMBqkXXIOs4S120uk,14511
|
|
15
15
|
autocoder/models.py,sha256=AyoZ-Pzy0oyYUmWCxOIRiOImsqboSfRET7LO9-UOuxI,11172
|
|
16
16
|
autocoder/run_context.py,sha256=IUfSO6_gp2Wt1blFWAmOpN0b0nDrTTk4LmtCYUBIoro,1643
|
|
17
|
-
autocoder/version.py,sha256=
|
|
17
|
+
autocoder/version.py,sha256=XqstJG2NUtLXeLrUSdvICbSPFolVEqrCnUeMEAadQlM,23
|
|
18
18
|
autocoder/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
autocoder/agent/auto_demand_organizer.py,sha256=NWSAEsEk94vT3lGjfo25kKLMwYdPcpy9e-i21txPasQ,6942
|
|
20
20
|
autocoder/agent/auto_filegroup.py,sha256=CW7bqp0FW1GIEMnl-blyAc2UGT7O9Mom0q66ITz1ckM,6635
|
|
21
21
|
autocoder/agent/auto_guess_query.py,sha256=rDSdhpPHcOGE5MuDXvIrhCXAPR4ARS1LqpyoLsx2Jhw,11374
|
|
22
|
-
autocoder/agent/auto_learn_from_commit.py,sha256=
|
|
23
|
-
autocoder/agent/auto_review_commit.py,sha256=
|
|
22
|
+
autocoder/agent/auto_learn_from_commit.py,sha256=ssttfsB4Xxjez6bVz1Y1NQlkX8PwpDjUeIhMUitIW0g,11526
|
|
23
|
+
autocoder/agent/auto_review_commit.py,sha256=PGlP_-dSWcT4sqMCaBpNAm7JHNrDYjJorwlO4mBbobo,13323
|
|
24
24
|
autocoder/agent/auto_tool.py,sha256=DBzip-P_T6ZtT2eHexPcusmKYD0h7ufzp7TLwXAY10E,11554
|
|
25
25
|
autocoder/agent/coder.py,sha256=x6bdJwDuETGg9ebQnYlUWCxCtQcDGg73LtI6McpWslQ,72034
|
|
26
26
|
autocoder/agent/designer.py,sha256=EpRbzO58Xym3GrnppIT1Z8ZFAlnNfgzHbIzZ3PX-Yv8,27037
|
|
@@ -28,33 +28,33 @@ autocoder/agent/planner.py,sha256=SZTSZHxHzDmuWZo3K5fs79RwvJLWurg-nbJRRNbX65o,91
|
|
|
28
28
|
autocoder/agent/project_reader.py,sha256=tWLaPoLw1gI6kO_NzivQj28KbobU2ceOLuppHMbfGl8,18234
|
|
29
29
|
autocoder/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
30
|
autocoder/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
autocoder/commands/auto_command.py,sha256=
|
|
32
|
-
autocoder/commands/auto_web.py,sha256=
|
|
31
|
+
autocoder/commands/auto_command.py,sha256=mreV3kJTo1QwaM7kWY9kfol569pQTb8EHFq53B6BugI,62501
|
|
32
|
+
autocoder/commands/auto_web.py,sha256=Cc0eb6JN3SvFy3GD_lpSLvIqj7F1eFDTcwg1t-zDcKg,39024
|
|
33
33
|
autocoder/commands/tools.py,sha256=uSPyEcx6o1upuw6clHdL4yeqoXbywnvCxAPo2mt5rJk,28117
|
|
34
34
|
autocoder/common/JupyterClient.py,sha256=O-wi6pXeAEYhAY24kDa0BINrLYvKS6rKyWe98pDClS0,2816
|
|
35
35
|
autocoder/common/ShellClient.py,sha256=fM1q8t_XMSbLBl2zkCNC2J9xuyKN3eXzGm6hHhqL2WY,2286
|
|
36
|
-
autocoder/common/__init__.py,sha256=
|
|
36
|
+
autocoder/common/__init__.py,sha256=S8edUoKW4EV5L7kKfZ6MSuEI-hLwop1PKJa-parNhg0,14026
|
|
37
37
|
autocoder/common/action_yml_file_manager.py,sha256=q0QBlptWtR9DhqguMBZJfHmmTP9fVGjI5DdDer29sis,16109
|
|
38
38
|
autocoder/common/anything2images.py,sha256=0ILBbWzY02M-CiWB-vzuomb_J1hVdxRcenAfIrAXq9M,25283
|
|
39
39
|
autocoder/common/anything2img.py,sha256=iZQmg8srXlD7N5uGl5b_ONKJMBjYoW8kPmokkG6ISF0,10118
|
|
40
40
|
autocoder/common/audio.py,sha256=Kn9nWKQddWnUrAz0a_ZUgjcu4VUU_IcZBigT7n3N3qc,7439
|
|
41
|
-
autocoder/common/auto_coder_lang.py,sha256=
|
|
41
|
+
autocoder/common/auto_coder_lang.py,sha256=ZE9HSvSNM8w8ZZosdyA4CHL8wM3dErSmRWshWdpl_Gw,36982
|
|
42
42
|
autocoder/common/auto_configure.py,sha256=D4N-fl9v8bKM5-Ds-uhkC2uGDmHH_ZjLJ759F8KXMKs,13129
|
|
43
43
|
autocoder/common/buildin_tokenizer.py,sha256=L7d5t39ZFvUd6EoMPXUhYK1toD0FHlRH1jtjKRGokWU,1236
|
|
44
44
|
autocoder/common/chunk_validation.py,sha256=BrR_ZWavW8IANuueEE7hS8NFAwEvm8TX34WnPx_1hs8,3030
|
|
45
45
|
autocoder/common/cleaner.py,sha256=NU72i8C6o9m0vXExab7nao5bstBUsfJFcj11cXa9l4U,1089
|
|
46
46
|
autocoder/common/code_auto_execute.py,sha256=4KXGmiGObr_B1d6tzV9dwS6MifCSc3Gm4j2d6ildBXQ,6867
|
|
47
|
-
autocoder/common/code_auto_generate.py,sha256=
|
|
48
|
-
autocoder/common/code_auto_generate_diff.py,sha256=
|
|
49
|
-
autocoder/common/code_auto_generate_editblock.py,sha256=
|
|
50
|
-
autocoder/common/code_auto_generate_strict_diff.py,sha256=
|
|
51
|
-
autocoder/common/code_auto_merge.py,sha256=
|
|
52
|
-
autocoder/common/code_auto_merge_diff.py,sha256=
|
|
53
|
-
autocoder/common/code_auto_merge_editblock.py,sha256=
|
|
54
|
-
autocoder/common/code_auto_merge_strict_diff.py,sha256=
|
|
55
|
-
autocoder/common/code_modification_ranker.py,sha256=
|
|
56
|
-
autocoder/common/command_completer.py,sha256=
|
|
57
|
-
autocoder/common/command_generator.py,sha256=
|
|
47
|
+
autocoder/common/code_auto_generate.py,sha256=lAuvMggASauLsWmynQxDcb0B0N1BZukrk2hwHVviwNk,17206
|
|
48
|
+
autocoder/common/code_auto_generate_diff.py,sha256=KqmOq5BsmM18t4ZPc5o1WfmXabfL9fNhCw2x_mRVHm4,23073
|
|
49
|
+
autocoder/common/code_auto_generate_editblock.py,sha256=rY-zqQ8qSgcui8FDsOXdcwqVZeTSPxI3LejKNkFkXIc,24966
|
|
50
|
+
autocoder/common/code_auto_generate_strict_diff.py,sha256=Jz234Nk9G-e7wLojvWiwfLTEpWvJigo9GnEUXK-kCyE,21968
|
|
51
|
+
autocoder/common/code_auto_merge.py,sha256=VWUWxubvbd1eF0ToupCGHP3uHD4wHUhQFOmeSLdCYYo,9941
|
|
52
|
+
autocoder/common/code_auto_merge_diff.py,sha256=xg79LqyuEsuT2SVKGbYGTisIi1NUtSHXwSwazP315uM,19251
|
|
53
|
+
autocoder/common/code_auto_merge_editblock.py,sha256=5m0q1047Ew02gINbB7ZHujW2D21R5st8RB2MenXq1I4,21745
|
|
54
|
+
autocoder/common/code_auto_merge_strict_diff.py,sha256=VbpK-jB-58I0rxYGogcOTBkRYDnfaWVlDWF6GwGhhcg,13189
|
|
55
|
+
autocoder/common/code_modification_ranker.py,sha256=i_ycikE9pE83vtb3oMGK8TLWMWkjzADxuzR-Zop7WLI,13246
|
|
56
|
+
autocoder/common/command_completer.py,sha256=jBFi8Y1xWmMcxwdDz6Gs7r8ADFPb7eRr9egWU0vLxLo,35787
|
|
57
|
+
autocoder/common/command_generator.py,sha256=YwB_E818vx0fQDOpLD61GivsSgLnrIoxKrY22ka49JU,2797
|
|
58
58
|
autocoder/common/command_templates.py,sha256=WAixVjue5QmCFAD13K4ElfcOEjdeGr8tFb0atDAbEoo,8658
|
|
59
59
|
autocoder/common/computer_use.py,sha256=Z5RL-DgkcbF55YDsqnJ37loXGcm_1tzTheukjTTayJM,35816
|
|
60
60
|
autocoder/common/conf_import_export.py,sha256=w__WsIobe6nmsGns2pV-laU7R5ZvtQNuIbXebxhbY7A,3967
|
|
@@ -63,8 +63,8 @@ autocoder/common/const.py,sha256=eTjhjh4Aj4CUzviJ81jaf3Y5cwqsLATySn2wJxaS6RQ,291
|
|
|
63
63
|
autocoder/common/context_pruner.py,sha256=HlU5BmxpCX7uVTJUsTFLlXvkwcOQuidI9uCKZaFxh6s,19874
|
|
64
64
|
autocoder/common/conversation_pruner.py,sha256=pzmrQEa7pFzA66eYSS_h7VqP6ZwUABeooDQzm0PGu0A,5770
|
|
65
65
|
autocoder/common/files.py,sha256=nPiKcnUcYZbSUn3TskKeTVnAxCJRtuehPuB_5d2imX8,4618
|
|
66
|
-
autocoder/common/git_utils.py,sha256=
|
|
67
|
-
autocoder/common/global_cancel.py,sha256=
|
|
66
|
+
autocoder/common/git_utils.py,sha256=d2J5APFIw2LxxRHN8UMY3qwiLeYA1WIf74IO72t0Rbc,26587
|
|
67
|
+
autocoder/common/global_cancel.py,sha256=TyjYQPESwo04D1BOTmC9hH7IbkKDDM-b2zPacEHGIQ8,3264
|
|
68
68
|
autocoder/common/image_to_page.py,sha256=yWiTJQ49Lm3j0FngiJhQ9u7qayqE_bOGb8Rk0TmSWx0,14123
|
|
69
69
|
autocoder/common/index_import_export.py,sha256=h758AYY1df6JMTKUXYmMkSgxItfymDt82XT7O-ygEuw,4565
|
|
70
70
|
autocoder/common/interpreter.py,sha256=62-dIakOunYB4yjmX8SHC0Gdy2h8NtxdgbpdqRZJ5vk,2833
|
|
@@ -82,11 +82,11 @@ autocoder/common/search.py,sha256=245iPFgWhMldoUK3CqCP89ltaxZiNPK73evoG6Fp1h8,16
|
|
|
82
82
|
autocoder/common/search_replace.py,sha256=GphFkc57Hb673CAwmbiocqTbw8vrV7TrZxtOhD0332g,22147
|
|
83
83
|
autocoder/common/shells.py,sha256=elminFpNosnV0hsEUcsugDxlGO8NfH96uah-8bkaBvA,19929
|
|
84
84
|
autocoder/common/stats_panel.py,sha256=wGl9O45pjVVDxhNumLv4_NfLYSlUP_18Tw4hcJSjw50,4596
|
|
85
|
-
autocoder/common/stream_out_type.py,sha256=
|
|
85
|
+
autocoder/common/stream_out_type.py,sha256=3caVTArt1mjKMxl-W3bMhBxqtXdr2SgPjOCroNJAWy8,265
|
|
86
86
|
autocoder/common/sys_prompt.py,sha256=JlexfjZt554faqbgkCmzOJqYUzDHfbnxly5ugFfHfEE,26403
|
|
87
87
|
autocoder/common/text.py,sha256=KGRQq314GHBmY4MWG8ossRoQi1_DTotvhxchpn78c-k,1003
|
|
88
88
|
autocoder/common/types.py,sha256=PXTETrsTvhLE49jqAeUKGySvxBN9pjeyCgRHLDYdd9U,664
|
|
89
|
-
autocoder/common/utils_code_auto_generate.py,sha256=
|
|
89
|
+
autocoder/common/utils_code_auto_generate.py,sha256=Tvb3Mqxedj0Jhi0faKyWvILuNCty9fZi341fyIs33tA,4550
|
|
90
90
|
autocoder/common/mcp_servers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
91
|
autocoder/common/mcp_servers/mcp_server_gpt4o_mini_search.py,sha256=TApShxgoozLluobXHOK1-oAE1zm0-9jdRoPLQB1qwMI,5688
|
|
92
92
|
autocoder/common/mcp_servers/mcp_server_perplexity.py,sha256=CIC26UkfH1lYoVCjfyY5xGGYVx8h0oz0Uj1c7YJ3OPw,5560
|
|
@@ -94,12 +94,12 @@ autocoder/data/byzerllm.md,sha256=SGCMpEaUQ0ysPxQsgzyyp5sgvEr8dZsxEGAfVcPBIq0,47
|
|
|
94
94
|
autocoder/data/tokenizer.json,sha256=7Lb5_DaYlDRvBRH0B0ynXO5c1fOwbQLxujX805-OEh0,7847602
|
|
95
95
|
autocoder/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
96
|
autocoder/db/store.py,sha256=tFT66bP2ZKIqZip-uhLkHRSLaaOAUUDZfozJwcqix3c,1908
|
|
97
|
-
autocoder/dispacher/__init__.py,sha256=
|
|
97
|
+
autocoder/dispacher/__init__.py,sha256=GTGpU9KbyAu3QMsbecnETYHMoIDBfKKP8iEVsU8gKcg,957
|
|
98
98
|
autocoder/dispacher/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
|
-
autocoder/dispacher/actions/action.py,sha256=
|
|
99
|
+
autocoder/dispacher/actions/action.py,sha256=hidiI3CWxHBjjVyJZseWRsiXku5W5jX0mdRV1Ok-M7E,22225
|
|
100
100
|
autocoder/dispacher/actions/copilot.py,sha256=2nQzKt8Sr40mIDOizZWyl4ekCwaHYklvgGlVfvhOlFM,13106
|
|
101
101
|
autocoder/dispacher/actions/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
|
-
autocoder/dispacher/actions/plugins/action_regex_project.py,sha256=
|
|
102
|
+
autocoder/dispacher/actions/plugins/action_regex_project.py,sha256=vH-O0rM2ig-5u-n-hlX1SvwQW8IjsGSl-dC4DUAwfII,7632
|
|
103
103
|
autocoder/dispacher/actions/plugins/action_translate.py,sha256=GEn7dZA22jy5WyzINomjmzzB795p2Olg-CJla97lRF8,7744
|
|
104
104
|
autocoder/events/__init__.py,sha256=1x_juwr9Ows2RADDa2LyI4QlmPxOVOXZeLO1cht-slM,1443
|
|
105
105
|
autocoder/events/event_content.py,sha256=0unVmskGrfvnsniLvNXobco9KG-r6cv_C-gXK3L5zXQ,11557
|
|
@@ -110,12 +110,17 @@ autocoder/events/event_types.py,sha256=wONd3wC_BhGXTbXIlb4kFIr7gkhYSBjQE30JjTc8t
|
|
|
110
110
|
autocoder/index/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
111
111
|
autocoder/index/entry.py,sha256=a8KhkNd6tKuD6W9fh9ohdri2r4UYeZWswi14pVwpr-Q,15740
|
|
112
112
|
autocoder/index/for_command.py,sha256=BFvljE4t6VaMBGboZAuhUCzVK0EitCy_n5D_7FEnihw,3204
|
|
113
|
-
autocoder/index/index.py,sha256=
|
|
113
|
+
autocoder/index/index.py,sha256=Y72N_w6tdI-Lv3GhgGDeCKxKfSzhxpdVuZpSAdJTsDU,30831
|
|
114
114
|
autocoder/index/symbols_utils.py,sha256=_EP7E_qWXxluAxq3FGZLlLfdrfwx3FmxCdulI8VGuac,2244
|
|
115
115
|
autocoder/index/types.py,sha256=a2s_KV5FJlq7jqA2ELSo9E1sjuLwDB-JJYMhSpzBAhU,596
|
|
116
116
|
autocoder/index/filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
117
|
autocoder/index/filter/normal_filter.py,sha256=MI-8xdXCrniaxYCHVTLkq5tafvcUiauD3LN0b3ymRXI,8361
|
|
118
|
-
autocoder/index/filter/quick_filter.py,sha256=
|
|
118
|
+
autocoder/index/filter/quick_filter.py,sha256=ozESEgy506FQ5ecjOumyo4D_KMrterB1QLmnVtiyOiM,43264
|
|
119
|
+
autocoder/memory/__init__.py,sha256=5FeGvsesRViYL4BkFiHw9SdlyHeWlqALpTyqOpfnBRw,179
|
|
120
|
+
autocoder/memory/active_context_manager.py,sha256=yf_AiA8TUt7A7Tlg5TAlLm5iv9Jd86pOQrhXjOQsXT0,27111
|
|
121
|
+
autocoder/memory/active_package.py,sha256=CyfqZSgNucE5mGQH5JGHTE8lTU0KjFGkW2YN8vl9SoI,17480
|
|
122
|
+
autocoder/memory/async_processor.py,sha256=htHzLGupw9IHQAEdLe2AEaALZSItPi3AltDt8FMTRHk,4643
|
|
123
|
+
autocoder/memory/directory_mapper.py,sha256=BXHblOdRpeZb7URDECALp9uN5oi91KmkW9g_UaWFuZY,2513
|
|
119
124
|
autocoder/plugins/__init__.py,sha256=uc8UNSAVb9uQvr5zUSS-Xu_RhrdbO2i3w2NhkrVtODM,43023
|
|
120
125
|
autocoder/plugins/dynamic_completion_example.py,sha256=dDTeISsGqcWjxY_PzbFSZ4Q7_QwYUcuHUdWJT8x7q-4,4693
|
|
121
126
|
autocoder/plugins/git_helper_plugin.py,sha256=nKQWkU-nQ39A4WC8nC8KI-x68VjwVARQvtrtQQ1GTMI,8386
|
|
@@ -181,21 +186,21 @@ autocoder/utils/model_provider_selector.py,sha256=h1eVf4F7qfSOdJbtdwv7_xfIRcNBk3
|
|
|
181
186
|
autocoder/utils/multi_turn.py,sha256=unK9OpqVRbK6uIcTKXgggX2wNmyj7s5eyEAQ2xUwHoM,88
|
|
182
187
|
autocoder/utils/operate_config_api.py,sha256=K1lQxXNHiAYTgRDS2EGpWmjdJTrQaeP16RUWS0DIorw,5841
|
|
183
188
|
autocoder/utils/print_table.py,sha256=ZMRhCA9DD0FUfKyJBWd5bDdj1RrtPtgOMWSJwtvZcLs,403
|
|
184
|
-
autocoder/utils/project_structure.py,sha256
|
|
189
|
+
autocoder/utils/project_structure.py,sha256=-RxWM30a9xXIKLwH3mBNAXdrU_0uMQjfixWXiOnfdkU,11375
|
|
185
190
|
autocoder/utils/queue_communicate.py,sha256=buyEzdvab1QA4i2QKbq35rG5v_9x9PWVLWWMTznWcYM,6832
|
|
186
191
|
autocoder/utils/request_event_queue.py,sha256=r3lo5qGsB1dIjzVQ05dnr0z_9Z3zOkBdP1vmRciKdi4,2095
|
|
187
192
|
autocoder/utils/request_queue.py,sha256=nwp6PMtgTCiuwJI24p8OLNZjUiprC-TsefQrhMI-yPE,3889
|
|
188
193
|
autocoder/utils/rest.py,sha256=hLBhr78y-WVnV0oQf9Rxc22EwqF78KINkScvYa1MuYA,6435
|
|
189
194
|
autocoder/utils/stream_thinking.py,sha256=vbDObflBFW53eWEjMTEHf3nyL167_cqpDLh9zRx7Yk8,7015
|
|
190
195
|
autocoder/utils/tests.py,sha256=BqphrwyycGAvs-5mhH8pKtMZdObwhFtJ5MC_ZAOiLq8,1340
|
|
191
|
-
autocoder/utils/thread_utils.py,sha256=
|
|
196
|
+
autocoder/utils/thread_utils.py,sha256=VQCDrkTdij_5-01FE_X2Fprz_0uA-GahUY4h7DnAlw0,5426
|
|
192
197
|
autocoder/utils/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
193
198
|
autocoder/utils/auto_coder_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
|
-
autocoder/utils/auto_coder_utils/chat_stream_out.py,sha256=
|
|
199
|
+
autocoder/utils/auto_coder_utils/chat_stream_out.py,sha256=xuBeWD0YOckqRo8JB1WkVIMOYH6c24m7JfV4svBfPDo,15113
|
|
195
200
|
autocoder/utils/chat_auto_coder_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
196
|
-
auto_coder-0.1.
|
|
197
|
-
auto_coder-0.1.
|
|
198
|
-
auto_coder-0.1.
|
|
199
|
-
auto_coder-0.1.
|
|
200
|
-
auto_coder-0.1.
|
|
201
|
-
auto_coder-0.1.
|
|
201
|
+
auto_coder-0.1.306.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
|
|
202
|
+
auto_coder-0.1.306.dist-info/METADATA,sha256=dRRK97KSeiakq3KrfZwTZbUUAzwCb24dqfbcnA-OiGE,2721
|
|
203
|
+
auto_coder-0.1.306.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
204
|
+
auto_coder-0.1.306.dist-info/entry_points.txt,sha256=0nzHtHH4pNcM7xq4EBA2toS28Qelrvcbrr59GqD_0Ak,350
|
|
205
|
+
auto_coder-0.1.306.dist-info/top_level.txt,sha256=Jqc0_uJSw2GwoFQAa9iJxYns-2mWla-9ok_Y3Gcznjk,10
|
|
206
|
+
auto_coder-0.1.306.dist-info/RECORD,,
|
|
@@ -37,6 +37,7 @@ class AutoLearnFromCommit:
|
|
|
37
37
|
skip_diff: 是否跳过获取 diff 信息
|
|
38
38
|
"""
|
|
39
39
|
self.project_dir = args.source_dir
|
|
40
|
+
self.args = args
|
|
40
41
|
self.actions_dir = os.path.join(args.source_dir, "actions")
|
|
41
42
|
self.llm = llm
|
|
42
43
|
self.skip_diff = skip_diff
|
|
@@ -267,7 +268,8 @@ class AutoLearnFromCommit:
|
|
|
267
268
|
v = stream_chat_with_continue(
|
|
268
269
|
llm=self.llm,
|
|
269
270
|
conversations=new_conversations,
|
|
270
|
-
llm_config={}
|
|
271
|
+
llm_config={},
|
|
272
|
+
args=self.args
|
|
271
273
|
)
|
|
272
274
|
return v, commit_file_name
|
|
273
275
|
except Exception as e:
|
|
@@ -36,6 +36,7 @@ class AutoReviewCommit:
|
|
|
36
36
|
skip_diff: 是否跳过获取 diff 信息
|
|
37
37
|
"""
|
|
38
38
|
self.project_dir = args.source_dir
|
|
39
|
+
self.args = args
|
|
39
40
|
self.actions_dir = os.path.join(args.source_dir, "actions")
|
|
40
41
|
self.llm = llm
|
|
41
42
|
self.skip_diff = skip_diff
|
|
@@ -315,7 +316,8 @@ class AutoReviewCommit:
|
|
|
315
316
|
v = stream_chat_with_continue(
|
|
316
317
|
llm=self.llm,
|
|
317
318
|
conversations=new_conversations,
|
|
318
|
-
llm_config={}
|
|
319
|
+
llm_config={},
|
|
320
|
+
args=self.args
|
|
319
321
|
)
|
|
320
322
|
return v
|
|
321
323
|
except Exception as e:
|
autocoder/auto_coder.py
CHANGED
|
@@ -945,7 +945,7 @@ def main(input_args: Optional[List[str]] = None):
|
|
|
945
945
|
|
|
946
946
|
console = Console()
|
|
947
947
|
|
|
948
|
-
shell_script = generate_shell_script(args
|
|
948
|
+
shell_script = generate_shell_script(args, llm)
|
|
949
949
|
|
|
950
950
|
console.print(
|
|
951
951
|
Panel(
|
|
@@ -1340,7 +1340,8 @@ def main(input_args: Optional[List[str]] = None):
|
|
|
1340
1340
|
v = stream_chat_with_continue(
|
|
1341
1341
|
llm=chat_llm,
|
|
1342
1342
|
conversations=loaded_conversations,
|
|
1343
|
-
llm_config={}
|
|
1343
|
+
llm_config={},
|
|
1344
|
+
args=args
|
|
1344
1345
|
)
|
|
1345
1346
|
|
|
1346
1347
|
|
autocoder/auto_coder_runner.py
CHANGED
|
@@ -49,10 +49,12 @@ from autocoder.utils.llms import get_single_llm
|
|
|
49
49
|
import pkg_resources
|
|
50
50
|
from autocoder.common.printer import Printer
|
|
51
51
|
from autocoder.utils.thread_utils import run_in_raw_thread
|
|
52
|
+
from autocoder.memory.active_context_manager import ActiveContextManager
|
|
52
53
|
from autocoder.common.command_completer import CommandCompleter,FileSystemModel as CCFileSystemModel,MemoryConfig as CCMemoryModel
|
|
53
54
|
from autocoder.common.conf_validator import ConfigValidator
|
|
54
55
|
from autocoder import command_parser as CommandParser
|
|
55
56
|
from loguru import logger
|
|
57
|
+
from autocoder.utils.project_structure import EnhancedFileAnalyzer
|
|
56
58
|
|
|
57
59
|
class SymbolItem(BaseModel):
|
|
58
60
|
symbol_name: str
|
|
@@ -168,9 +170,10 @@ def configure_project_type():
|
|
|
168
170
|
print_info(get_message("examples"))
|
|
169
171
|
|
|
170
172
|
print_warning(f"{get_message('default_type')}\n")
|
|
171
|
-
|
|
173
|
+
|
|
174
|
+
extensions = get_all_extensions(project_root) or "py"
|
|
172
175
|
project_type = prompt(
|
|
173
|
-
get_message("enter_project_type"), default=
|
|
176
|
+
get_message("enter_project_type"), default=extensions, style=style
|
|
174
177
|
).strip()
|
|
175
178
|
|
|
176
179
|
if project_type:
|
|
@@ -186,6 +189,32 @@ def configure_project_type():
|
|
|
186
189
|
return project_type
|
|
187
190
|
|
|
188
191
|
|
|
192
|
+
def get_all_extensions(directory: str = ".") -> str:
|
|
193
|
+
"""获取指定目录下所有文件的后缀名,多个按逗号分隔,并且带."""
|
|
194
|
+
args = AutoCoderArgs(
|
|
195
|
+
source_dir=directory,
|
|
196
|
+
# 其他必要参数设置为默认值
|
|
197
|
+
target_file="",
|
|
198
|
+
git_url="",
|
|
199
|
+
project_type="",
|
|
200
|
+
conversation_prune_safe_zone_tokens=0
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
analyzer = EnhancedFileAnalyzer(
|
|
204
|
+
args=args,
|
|
205
|
+
llm=None, # 如果只是获取后缀名,可以不需要LLM
|
|
206
|
+
config=None # 使用默认配置
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
# 获取分析结果
|
|
210
|
+
analysis_result = analyzer.analyze_extensions()
|
|
211
|
+
|
|
212
|
+
# 合并 code 和 config 的后缀名
|
|
213
|
+
all_extensions = set(analysis_result["code"] + analysis_result["config"])
|
|
214
|
+
|
|
215
|
+
# 转换为逗号分隔的字符串
|
|
216
|
+
return ",".join(sorted(all_extensions))
|
|
217
|
+
|
|
189
218
|
def initialize_system(args:InitializeSystemRequest):
|
|
190
219
|
from autocoder.utils.model_provider_selector import ModelProviderSelector
|
|
191
220
|
from autocoder import models as models_module
|
|
@@ -1417,7 +1446,7 @@ def commit(query: str):
|
|
|
1417
1446
|
|
|
1418
1447
|
|
|
1419
1448
|
@run_in_raw_thread()
|
|
1420
|
-
def coding(query: str):
|
|
1449
|
+
def coding(query: str):
|
|
1421
1450
|
console = Console()
|
|
1422
1451
|
is_apply = query.strip().startswith("/apply")
|
|
1423
1452
|
if is_apply:
|
|
@@ -1756,6 +1785,90 @@ def design(query: str):
|
|
|
1756
1785
|
os.remove(execute_file)
|
|
1757
1786
|
|
|
1758
1787
|
|
|
1788
|
+
@run_in_raw_thread()
|
|
1789
|
+
def active_context(query: str):
|
|
1790
|
+
"""
|
|
1791
|
+
管理活动上下文任务,支持列表、查询等操作
|
|
1792
|
+
|
|
1793
|
+
Args:
|
|
1794
|
+
query: 命令参数,例如 "list" 列出所有任务
|
|
1795
|
+
"""
|
|
1796
|
+
# 解析命令
|
|
1797
|
+
commands_infos = CommandParser.parse_query(query)
|
|
1798
|
+
command = "list" # 默认命令是列出所有任务
|
|
1799
|
+
|
|
1800
|
+
if len(commands_infos) > 0:
|
|
1801
|
+
if "list" in commands_infos:
|
|
1802
|
+
command = "list"
|
|
1803
|
+
|
|
1804
|
+
args = get_final_config()
|
|
1805
|
+
# 获取LLM实例
|
|
1806
|
+
llm = get_single_llm(args.model,product_mode=args.product_mode)
|
|
1807
|
+
|
|
1808
|
+
# 获取配置和参数
|
|
1809
|
+
|
|
1810
|
+
|
|
1811
|
+
# 获取ActiveContextManager单例
|
|
1812
|
+
active_context_manager = ActiveContextManager(llm, args)
|
|
1813
|
+
|
|
1814
|
+
# 处理不同的命令
|
|
1815
|
+
if command == "list":
|
|
1816
|
+
# 获取所有任务
|
|
1817
|
+
all_tasks = active_context_manager.get_all_tasks()
|
|
1818
|
+
|
|
1819
|
+
if not all_tasks:
|
|
1820
|
+
console = Console()
|
|
1821
|
+
console.print("[yellow]没有找到任何活动上下文任务[/yellow]")
|
|
1822
|
+
return
|
|
1823
|
+
|
|
1824
|
+
# 创建表格
|
|
1825
|
+
table = Table(title="活动上下文任务列表")
|
|
1826
|
+
table.add_column("任务ID", style="cyan")
|
|
1827
|
+
table.add_column("状态", style="green")
|
|
1828
|
+
table.add_column("开始时间", style="yellow")
|
|
1829
|
+
table.add_column("完成时间", style="yellow")
|
|
1830
|
+
table.add_column("文件", style="blue")
|
|
1831
|
+
|
|
1832
|
+
# 添加任务数据
|
|
1833
|
+
for task in all_tasks:
|
|
1834
|
+
status = task.get("status", "未知")
|
|
1835
|
+
status_display = status
|
|
1836
|
+
|
|
1837
|
+
# 根据状态设置不同的显示样式
|
|
1838
|
+
if status == "completed":
|
|
1839
|
+
status_display = "[green]已完成[/green]"
|
|
1840
|
+
elif status == "running":
|
|
1841
|
+
status_display = "[blue]运行中[/blue]"
|
|
1842
|
+
elif status == "queued":
|
|
1843
|
+
position = task.get("queue_position", 0)
|
|
1844
|
+
status_display = f"[yellow]排队中 (位置: {position})[/yellow]"
|
|
1845
|
+
elif status == "failed":
|
|
1846
|
+
status_display = "[red]失败[/red]"
|
|
1847
|
+
|
|
1848
|
+
# 格式化时间
|
|
1849
|
+
start_time = task.get("start_time", "")
|
|
1850
|
+
start_time_str = start_time.strftime("%Y-%m-%d %H:%M:%S") if start_time else "未知"
|
|
1851
|
+
|
|
1852
|
+
completion_time = task.get("completion_time", "")
|
|
1853
|
+
completion_time_str = completion_time.strftime("%Y-%m-%d %H:%M:%S") if completion_time else "-"
|
|
1854
|
+
|
|
1855
|
+
# 获取文件名
|
|
1856
|
+
file_name = task.get("file_name", "未知")
|
|
1857
|
+
|
|
1858
|
+
# 添加到表格
|
|
1859
|
+
table.add_row(
|
|
1860
|
+
task.get("task_id", "未知"),
|
|
1861
|
+
status_display,
|
|
1862
|
+
start_time_str,
|
|
1863
|
+
completion_time_str,
|
|
1864
|
+
file_name
|
|
1865
|
+
)
|
|
1866
|
+
|
|
1867
|
+
# 显示表格
|
|
1868
|
+
console = Console()
|
|
1869
|
+
console.print(table)
|
|
1870
|
+
|
|
1871
|
+
|
|
1759
1872
|
def voice_input():
|
|
1760
1873
|
conf = memory.get("conf", {})
|
|
1761
1874
|
yaml_config = {
|
autocoder/chat_auto_coder.py
CHANGED
|
@@ -49,6 +49,7 @@ from autocoder.auto_coder_runner import (
|
|
|
49
49
|
completer,
|
|
50
50
|
summon,
|
|
51
51
|
get_memory,
|
|
52
|
+
active_context,
|
|
52
53
|
)
|
|
53
54
|
|
|
54
55
|
# Create a global plugin manager
|
|
@@ -63,6 +64,7 @@ original_functions = {
|
|
|
63
64
|
"voice_input": voice_input,
|
|
64
65
|
"auto_command": auto_command,
|
|
65
66
|
"execute_shell_command": execute_shell_command,
|
|
67
|
+
"active_context": active_context,
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
|
|
@@ -149,6 +151,7 @@ def show_help():
|
|
|
149
151
|
print(f" \033[94m/lib\033[0m - \033[92m{get_message('lib_desc')}\033[0m")
|
|
150
152
|
print(f" \033[94m/models\033[0m - \033[92m{get_message('models_desc')}\033[0m")
|
|
151
153
|
print(f" \033[94m/plugins\033[0m - \033[92m{get_message('plugins_desc')}\033[0m")
|
|
154
|
+
print(f" \033[94m/active_context\033[0m - \033[92m{get_message('active_context_desc')}\033[0m")
|
|
152
155
|
print(f" \033[94m/exit\033[0m - \033[92m{get_message('exit_desc')}\033[0m")
|
|
153
156
|
print()
|
|
154
157
|
|
|
@@ -423,13 +426,14 @@ def main():
|
|
|
423
426
|
)
|
|
424
427
|
|
|
425
428
|
# Replace original functions with wrapped versions
|
|
426
|
-
global ask, coding, chat, design, voice_input, auto_command, execute_shell_command
|
|
429
|
+
global ask, coding, chat, design, voice_input, auto_command, execute_shell_command, active_context
|
|
427
430
|
ask = wrapped_functions.get("ask", ask)
|
|
428
431
|
coding = wrapped_functions.get("coding", coding)
|
|
429
432
|
chat = wrapped_functions.get("chat", chat)
|
|
430
433
|
design = wrapped_functions.get("design", design)
|
|
431
434
|
voice_input = wrapped_functions.get("voice_input", voice_input)
|
|
432
435
|
auto_command = wrapped_functions.get("auto_command", auto_command)
|
|
436
|
+
active_context = wrapped_functions.get("active_context", active_context)
|
|
433
437
|
execute_shell_command = wrapped_functions.get(
|
|
434
438
|
"execute_shell_command", execute_shell_command
|
|
435
439
|
)
|
|
@@ -620,6 +624,10 @@ def main():
|
|
|
620
624
|
print("Please enter your query.")
|
|
621
625
|
else:
|
|
622
626
|
mcp(query)
|
|
627
|
+
|
|
628
|
+
elif user_input.startswith("/active_context"):
|
|
629
|
+
query = user_input[len("/active_context") :].strip()
|
|
630
|
+
active_context(query)
|
|
623
631
|
|
|
624
632
|
elif user_input.startswith("/auto"):
|
|
625
633
|
query = user_input[len("/auto") :].strip()
|