auto-coder-web 0.1.63__py3-none-any.whl → 0.1.65__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.
- auto_coder_web/common_router/active_context_router.py +152 -0
- auto_coder_web/common_router/file_router.py +45 -1
- auto_coder_web/common_router/filecacher.py +139 -0
- auto_coder_web/common_router/model_router.py +1 -0
- auto_coder_web/file_cacher/__init__.py +0 -0
- auto_coder_web/file_cacher/filecacher.py +195 -0
- auto_coder_web/proxy.py +4 -0
- auto_coder_web/routers/auto_router.py +67 -2
- auto_coder_web/routers/coding_router.py +1 -1
- auto_coder_web/version.py +1 -1
- auto_coder_web/web/assets/HistoryPanel-gl864o6H.js +1 -0
- auto_coder_web/web/assets/main-C1svZAzf.css +32 -0
- auto_coder_web/web/assets/main.js +378 -377
- auto_coder_web/web/index.html +1 -1
- {auto_coder_web-0.1.63.dist-info → auto_coder_web-0.1.65.dist-info}/METADATA +2 -2
- {auto_coder_web-0.1.63.dist-info → auto_coder_web-0.1.65.dist-info}/RECORD +19 -15
- auto_coder_web/web/assets/HistoryPanel-WXEMtQ1V.js +0 -1
- auto_coder_web/web/assets/main-D4cxFuOT.css +0 -32
- {auto_coder_web-0.1.63.dist-info → auto_coder_web-0.1.65.dist-info}/WHEEL +0 -0
- {auto_coder_web-0.1.63.dist-info → auto_coder_web-0.1.65.dist-info}/entry_points.txt +0 -0
- {auto_coder_web-0.1.63.dist-info → auto_coder_web-0.1.65.dist-info}/top_level.txt +0 -0
auto_coder_web/web/index.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7
7
|
<title>Vite React App</title>
|
8
8
|
<script type="module" crossorigin src="/assets/main.js"></script>
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/main-
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/main-C1svZAzf.css">
|
10
10
|
</head>
|
11
11
|
<body>
|
12
12
|
<div id="root"></div>
|
@@ -1,13 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: auto_coder_web
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.65
|
4
4
|
Summary: auto-coder.web: A Python Project
|
5
5
|
Author: allwefantasy
|
6
6
|
Classifier: Programming Language :: Python :: 3.9
|
7
7
|
Classifier: Programming Language :: Python :: 3.10
|
8
8
|
Classifier: Programming Language :: Python :: 3.11
|
9
9
|
Description-Content-Type: text/markdown
|
10
|
-
Requires-Dist: auto-coder >=0.1.
|
10
|
+
Requires-Dist: auto-coder >=0.1.340
|
11
11
|
Requires-Dist: aiofiles
|
12
12
|
Requires-Dist: psutil
|
13
13
|
Requires-Dist: sse-starlette
|
@@ -5,24 +5,28 @@ auto_coder_web/file_manager.py,sha256=q_ssENI2UCrYEpI9_z0A4pnuxNM5pA2eEBrEFOOse8
|
|
5
5
|
auto_coder_web/init_project.py,sha256=HLTD311OMdomRAaWn3Ck8GVizx0RrEQDiZHhTptVtCM,840
|
6
6
|
auto_coder_web/json_file_storage.py,sha256=elthpcdclXITX3jew2EtT-ypyxZzDAzG1U7_k3looHI,1757
|
7
7
|
auto_coder_web/lang.py,sha256=cXypkDesnMwZ0U6D_CZtxhDTAOp__hoJzYTulQ_8xPc,1108
|
8
|
-
auto_coder_web/proxy.py,sha256=
|
8
|
+
auto_coder_web/proxy.py,sha256=Fiv2uX8Be9pbjC5QdyGkz3YgvRXb-W9IHWbaA84MS6o,11544
|
9
9
|
auto_coder_web/terminal.py,sha256=jtAH7FaC573cgxc7FnI_mOZ3D2dSCO3PrZN0OehtbNQ,9521
|
10
10
|
auto_coder_web/types.py,sha256=TT-0UruUi67wz7w1DpjFyYeaCnkdKYviJvlpSnrdtD4,1435
|
11
|
-
auto_coder_web/version.py,sha256=
|
11
|
+
auto_coder_web/version.py,sha256=6bqD5Mw3hcTKOc-YjfyE34zDg4Y1gqxrV3dmaK0q-JE,23
|
12
12
|
auto_coder_web/common_router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
|
+
auto_coder_web/common_router/active_context_router.py,sha256=wbwG-J2iS5uBorN20q2PVoyJCVueECBR66xYjtIEWhM,6228
|
13
14
|
auto_coder_web/common_router/auto_coder_conf_router.py,sha256=oIRZE5OqeSfp-TYkGtX1M1Qd54iBYxftQtDbivdRj1o,1059
|
14
15
|
auto_coder_web/common_router/chat_list_router.py,sha256=1u_PmcdNSfADaX5-D96_KG0yVxfp6yMej2UKxghh4UA,7975
|
15
16
|
auto_coder_web/common_router/compiler_router.py,sha256=nHlD6VdxV9-CLhYZnykmaI8AP1zq2isA-3eD8ckxFHw,3840
|
16
17
|
auto_coder_web/common_router/completions_router.py,sha256=zeMRNcbQk0AecGkTqA0XWTLwLaD93IL43t7nmTvNHM4,7034
|
17
18
|
auto_coder_web/common_router/file_group_router.py,sha256=F2zkFNv7IwK6-bDiFuLQ0kcnQOibS66Yn6rXNaPGY0c,7113
|
18
|
-
auto_coder_web/common_router/file_router.py,sha256=
|
19
|
-
auto_coder_web/common_router/
|
19
|
+
auto_coder_web/common_router/file_router.py,sha256=7PP0uk8LPcGfspavjNHDAhfVfbE8Xdw1zj-GnT9Ydqc,5156
|
20
|
+
auto_coder_web/common_router/filecacher.py,sha256=3LgmGUqfjUyfRz2rxWvXsP-ovyjGW-t0Cl49Tibhd0Y,4666
|
21
|
+
auto_coder_web/common_router/model_router.py,sha256=rMQWsSHLDv0QRDXQGGRzuBhVSaVlb1UvPAdIuZNS2kY,10908
|
20
22
|
auto_coder_web/expert_routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
23
|
auto_coder_web/expert_routers/history_router.py,sha256=9NUPlDQJJY5xhGepj38ej3qXAlbaquJDVaSniNhFpqw,12471
|
24
|
+
auto_coder_web/file_cacher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
+
auto_coder_web/file_cacher/filecacher.py,sha256=1VugN4kvANc2CKLqDfRgOmjQ9WGKmG8O95Bx2-n7td4,7255
|
22
26
|
auto_coder_web/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
-
auto_coder_web/routers/auto_router.py,sha256=
|
27
|
+
auto_coder_web/routers/auto_router.py,sha256=cWGy99IvAOZ2cRyUaqFa2wch64DuwZcFvac3O9WVzA8,15756
|
24
28
|
auto_coder_web/routers/chat_router.py,sha256=A2jpspGjpK1RUQIIwPKoH8V_OluHMHywvZXWPIu688Y,12217
|
25
|
-
auto_coder_web/routers/coding_router.py,sha256=
|
29
|
+
auto_coder_web/routers/coding_router.py,sha256=eCiqhmY6bdRI9s4U5x1MDfdfRr5dEtZehnKryV7J7Xs,15313
|
26
30
|
auto_coder_web/routers/commit_router.py,sha256=ZvUUlhDUencbGBWuQjgLshfSTA-_j3wHk5-1NLjEQvg,25721
|
27
31
|
auto_coder_web/routers/config_router.py,sha256=E3twdQ_b0udO4NqyYL06feuM1KfKcgR7I4te86VstbA,3156
|
28
32
|
auto_coder_web/routers/editable_preview_router.py,sha256=KxcAlFzbQdk_6auo1PquPEbSSNqUHWGSx2Gv40Y5ALo,8575
|
@@ -34,12 +38,12 @@ auto_coder_web/routers/todo_router.py,sha256=IkQurQTw0Xk9P8yEtY_iie1z5ZK3CzDQE_N
|
|
34
38
|
auto_coder_web/routers/upload_router.py,sha256=HdQIl3ICcT3EB2kwryTbF-PItWV-Gugses7Y0Eaw2WQ,1798
|
35
39
|
auto_coder_web/web/bridge.js,sha256=us40dbuGHa2_zBBVBCa_GznOvpuZNDObViksMeoQch0,7364
|
36
40
|
auto_coder_web/web/favicon.ico,sha256=PRD32mxgMXg0AIFmjErFs66XQ8qaJiqw_NMS-7n0i90,3870
|
37
|
-
auto_coder_web/web/index.html,sha256=
|
41
|
+
auto_coder_web/web/index.html,sha256=B623u6Dx5Ch4m9N4nEjUL_OUhd3ZLwLXDVBu_tIz-bo,410
|
38
42
|
auto_coder_web/web/logo192.png,sha256=w4Y5bscNs2CAdbX7-qxKscyqhroFpoqzk-xVHrZsPgA,5347
|
39
43
|
auto_coder_web/web/logo512.png,sha256=nqT02nBQwMxAiSb2o5wlNiTpursdQ8eXfNghRFpgtGE,9664
|
40
44
|
auto_coder_web/web/manifest.json,sha256=ULPYw5A68_eNhxuUVXqxT045yhkurKPSz6hjyGcnmhQ,492
|
41
45
|
auto_coder_web/web/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
|
42
|
-
auto_coder_web/web/assets/HistoryPanel-
|
46
|
+
auto_coder_web/web/assets/HistoryPanel-gl864o6H.js,sha256=nq5i-mhECaFyG3R6g825QlcAhuVg3sQUiYK_gmukztA,16601
|
43
47
|
auto_coder_web/web/assets/abap-BrgZPUOV.js,sha256=o-KiQdqDx6qAg2rOn7OyokL0WP-Rffnxk2Py5kMN0Fk,14409
|
44
48
|
auto_coder_web/web/assets/apex-DyP6w7ZV.js,sha256=nm1bQzOU_JCzp8WFFKtYxrtJ50DvA-FGkoo_0Ala62g,4198
|
45
49
|
auto_coder_web/web/assets/azcli-BaLxmfj-.js,sha256=1H3GaflQKP3CG9cACVyVEHIIjd2HtFjK0hRmeUFVwLU,1094
|
@@ -79,8 +83,8 @@ auto_coder_web/web/assets/lexon-YWi4-JPR.js,sha256=l9pURhF6kU3UKzKOIIQprnjMAXzdI
|
|
79
83
|
auto_coder_web/web/assets/liquid-BFft-XkQ.js,sha256=KWkYDjD69wSJcJBCql_oDvDfY693eMCeLoBF-6cCRyw,4208
|
80
84
|
auto_coder_web/web/assets/lua-nf6ki56Z.js,sha256=O3vMsGoiFHDMGSxTP1bHnDnRPebfmFnC7kf8-ovGkO8,2369
|
81
85
|
auto_coder_web/web/assets/m3-Cpb6xl2v.js,sha256=PmotBCyVZvUGHh9t9juODmjXptTEP5K6bnPj2WgYO6c,3063
|
82
|
-
auto_coder_web/web/assets/main-
|
83
|
-
auto_coder_web/web/assets/main.js,sha256=
|
86
|
+
auto_coder_web/web/assets/main-C1svZAzf.css,sha256=Dk5-ank8ov-m_vv5K71BbWLmeohbzF9akuYE0oKaq8g,234196
|
87
|
+
auto_coder_web/web/assets/main.js,sha256=wvzvRXBs-QUlbF-KRDbaCB2KuLJlioZqWgsO6M_mMdA,6389256
|
84
88
|
auto_coder_web/web/assets/markdown-DSZPf7rp.js,sha256=3ZMgfYxjKX9U8l6GFCNrO28Hj7JU-4rKrEqXIezyqT4,4034
|
85
89
|
auto_coder_web/web/assets/mdx-DZdDhrJW.js,sha256=Dseh_RH12GzFNKvhWi504HU20_57t06ZYGVAtMxo5Nk,5113
|
86
90
|
auto_coder_web/web/assets/mips-B_c3zf-v.js,sha256=L4uNgcwtDWPbyL0qnO-2w9x2PdI02UJcc8yQrYnHahA,2825
|
@@ -231,8 +235,8 @@ auto_coder_web/web/monaco-editor/min/vs/language/json/jsonMode.js,sha256=kgD_zkr
|
|
231
235
|
auto_coder_web/web/monaco-editor/min/vs/language/json/jsonWorker.js,sha256=Sxl8QWXjVqBIV-kxfsPVNv27krkQd7xINZDE9RBW498,131177
|
232
236
|
auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsMode.js,sha256=-ycH7oQBPivkxY9WVOPWI8z3PPwz283Qv4KngJRc_PE,23919
|
233
237
|
auto_coder_web/web/monaco-editor/min/vs/language/typescript/tsWorker.js,sha256=_9-LDU1BwUWvrmkZvroRAzaGB1nc4L2twqFFwGoaSO0,5749518
|
234
|
-
auto_coder_web-0.1.
|
235
|
-
auto_coder_web-0.1.
|
236
|
-
auto_coder_web-0.1.
|
237
|
-
auto_coder_web-0.1.
|
238
|
-
auto_coder_web-0.1.
|
238
|
+
auto_coder_web-0.1.65.dist-info/METADATA,sha256=I20tMpKYir9NsxUFidBLqK3DWwdjiYeGZCI-n5-5DHk,1378
|
239
|
+
auto_coder_web-0.1.65.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
240
|
+
auto_coder_web-0.1.65.dist-info/entry_points.txt,sha256=oh8kd1ZecWDgdv-bIj_ru3phvl4scuxwXl9DK0Khltg,61
|
241
|
+
auto_coder_web-0.1.65.dist-info/top_level.txt,sha256=UCzEw494Im0KvR-FTYf2jh-okqHvLsC_0JLOrQZoSpg,15
|
242
|
+
auto_coder_web-0.1.65.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
import{r,I as K,_ as P,j as e,S as Q,T as q,R as ee,a as I,h as se,v as te,b as U,s as b,d as O,l as J,c as re,e as ae,E as ne,B as M,L as z,C as le,f as W,g as oe,i as ie,M as ce}from"./main.js";var de={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z"}}]},name:"sort-ascending",theme:"outlined"},he=function(i,l){return r.createElement(K,P({},i,{ref:l,icon:de}))},fe=r.forwardRef(he),ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z"}}]},name:"sort-descending",theme:"outlined"},xe=function(i,l){return r.createElement(K,P({},i,{ref:l,icon:ue}))},me=r.forwardRef(xe),ge={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"}}]},name:"undo",theme:"outlined"},pe=function(i,l){return r.createElement(K,P({},i,{ref:l,icon:ge}))},be=r.forwardRef(pe);J.config({paths:{vs:"/monaco-editor/min/vs"},"vs/nls":{availableLanguages:{"*":"zh-cn"}}});const{TabPane:G}=q,ve=({commitId:n,onClose:i})=>{const[l,B]=r.useState({diff:""}),[o,k]=r.useState(null),[c,v]=r.useState(null),[S,R]=r.useState(!1),[f,E]=r.useState("split"),[u,L]=r.useState(null),[m,y]=r.useState(!1),[g,$]=r.useState("1"),j=r.useRef(null),p=r.useRef(null),w=r.useRef(null),N=r.useRef(null),D=async()=>{if(n){y(!0);try{const t=encodeURIComponent(n),a=await U.get(`/api/history/commit-diff/${t}`);a.data.success?B({diff:a.data.diff,file_changes:a.data.file_changes}):b.error(a.data.message||"获取diff失败")}catch(t){console.error("Error fetching diff:",t),b.error("获取diff失败")}finally{y(!1)}}},C=async t=>{if(n)try{R(!0),v(null),j.current=null,p.current=null,w.current=null;const a=encodeURIComponent(n),x=await U.get(`/api/history/file-diff/${a}?file_path=${encodeURIComponent(t)}`);x.data.success?v(x.data.file_diff):b.error(x.data.message||"获取文件差异失败")}catch(a){console.error("Error fetching file diff:",a),b.error("获取文件差异失败")}finally{R(!1)}},F=t=>{o===t?(k(null),v(null),j.current=null,p.current=null,w.current=null,L(null)):(k(t),C(t),L(null))},A=r.useCallback(t=>{j.current=t},[]),T=r.useCallback(t=>{p.current=t},[]),s=r.useCallback(t=>{w.current=t},[]),d=t=>{var _;const a=(_=t.split(".").pop())==null?void 0:_.toLowerCase();return{js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",py:"python",java:"java",c:"c",cpp:"cpp",cs:"csharp",go:"go",rs:"rust",rb:"ruby",php:"php",html:"html",css:"css",scss:"scss",json:"json",md:"markdown",yml:"yaml",yaml:"yaml",xml:"xml",sh:"shell",bash:"shell",txt:"plaintext"}[a||""]||"plaintext"},h=({viewType:t})=>{const a=u===t;return e.jsx("button",{className:"ml-2 text-gray-400 hover:text-white transition-colors",onClick:x=>{x.stopPropagation(),L(a?null:t)},title:a?"恢复正常视图":"最大化视图",children:a?e.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5v-4m0 4h-4m4 0l-5-5"})}):e.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5v-4m0 4h-4m4 0l-5-5"})})})},X=()=>{if(!o||!c)return null;const t=d(o),a=`diff-${n}-${o}-${f}`,x=`before-${n}-${o}`,_=`after-${n}-${o}`,V={readOnly:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},lineNumbers:"on",wordWrap:"on",automaticLayout:!0,scrollbar:{vertical:"visible",horizontal:"visible",verticalScrollbarSize:14,horizontalScrollbarSize:14}};return f==="unified"?e.jsxs("div",{ref:N,className:"bg-gray-900 rounded-lg border border-gray-700",style:{height:"500px",width:"100%",overflow:"hidden"},children:[e.jsxs("div",{className:"py-1 px-3 bg-gray-800 border-b border-gray-700 text-xs font-medium text-white flex justify-between items-center",children:[e.jsx("span",{children:"差异视图"}),e.jsx(h,{viewType:"diff"})]}),e.jsx(O,{height:"calc(100% - 26px)",width:"100%",defaultLanguage:"diff",value:c.diff_content||"",theme:"vs-dark",onMount:s,options:V,loading:e.jsx("div",{className:"flex items-center justify-center h-full text-white",children:"加载中..."})},a)]}):e.jsxs("div",{ref:N,className:"grid grid-cols-2 gap-2",style:{height:"500px",width:"100%"},children:[(u===null||u==="before")&&e.jsxs("div",{className:`bg-gray-900 rounded-lg border border-gray-700 ${u==="before"?"col-span-2":""}`,style:{overflow:"hidden"},children:[e.jsxs("div",{className:"py-1 px-3 bg-gray-800 border-b border-gray-700 text-xs font-medium text-white flex justify-between items-center",children:[e.jsxs("span",{children:["修改前 (",c.file_status==="added"?"新文件":o,")"]}),e.jsx(h,{viewType:"before"})]}),e.jsx(O,{height:"calc(100% - 26px)",width:"100%",defaultLanguage:t,value:c.before_content||"",theme:"vs-dark",onMount:A,options:V,loading:e.jsx("div",{className:"flex items-center justify-center h-full text-white",children:"加载中..."})},x)]}),(u===null||u==="after")&&e.jsxs("div",{className:`bg-gray-900 rounded-lg border border-gray-700 ${u==="after"?"col-span-2":""}`,style:{overflow:"hidden"},children:[e.jsxs("div",{className:"py-1 px-3 bg-gray-800 border-b border-gray-700 text-xs font-medium text-white flex justify-between items-center",children:[e.jsxs("span",{children:["修改后 (",c.file_status==="deleted"?"文件已删除":o,")"]}),e.jsx(h,{viewType:"after"})]}),e.jsx(O,{height:"calc(100% - 26px)",width:"100%",defaultLanguage:t,value:c.after_content||"",theme:"vs-dark",onMount:T,options:V,loading:e.jsx("div",{className:"flex items-center justify-center h-full text-white",children:"加载中..."})},_)]})]})};r.useEffect(()=>{n&&D()},[n]);const Y={background:"#1F2937",borderBottom:"1px solid #374151",margin:0,padding:"0 16px"},Z=(t,a)=>e.jsx(a,{...t,style:Y,className:"custom-tabs-bar"});return e.jsxs("div",{className:"flex flex-col h-full bg-[#111827] overflow-hidden",children:[e.jsxs("div",{className:"flex justify-between items-center p-4 bg-[#1F2937] border-b border-[#374151]",children:[e.jsx("h2",{className:"text-lg font-semibold text-white",children:"代码变更详情"}),e.jsx(Q,{children:i&&e.jsx("button",{className:"px-3 py-1.5 bg-gray-700 hover:bg-gray-600 text-white rounded text-sm",onClick:i,children:"关闭"})})]}),e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsxs(q,{activeKey:g,onChange:$,type:"card",className:"diff-viewer-tabs",renderTabBar:Z,style:{background:"#111827"},children:[e.jsx(G,{tab:e.jsx("div",{className:`py-2 px-4 ${g==="1"?"text-white font-medium":"text-gray-400"}`,children:"文件列表"}),children:e.jsxs("div",{className:"p-4",children:[e.jsx("div",{className:"space-y-2 mb-4",children:m?e.jsx("div",{className:"flex items-center justify-center py-10",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-white"})}):l.file_changes&&l.file_changes.length>0?l.file_changes.map((t,a)=>e.jsx("div",{className:`text-sm py-2 px-3 rounded cursor-pointer ${o===t.path?"bg-gray-700 border-l-2 border-indigo-500":"hover:bg-gray-750 bg-gray-800"}`,onClick:()=>F(t.path),children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:`w-1.5 h-1.5 rounded-full mr-2 ${t.change_type==="added"?"bg-green-500":t.change_type==="modified"?"bg-yellow-500":t.change_type==="deleted"?"bg-red-500":"bg-blue-500"}`}),e.jsx("span",{className:`font-mono ${t.change_type==="deleted"?"line-through text-gray-500":"text-white"}`,children:t.path}),e.jsx(ee,{className:"ml-2 text-gray-400"})]})},a)):e.jsx("div",{className:"text-center text-white py-8",children:e.jsx("p",{children:"没有文件变更信息"})})}),S&&e.jsx("div",{className:"flex items-center justify-center py-10",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-white"})}),o&&c&&!S&&e.jsx("div",{className:"flex justify-end mb-3",children:e.jsxs(I.Group,{value:f,onChange:t=>E(t.target.value),buttonStyle:"solid",children:[e.jsx(I.Button,{value:"split",style:{color:f==="split"?"#fff":"#1f2937"},children:"分割视图"}),e.jsx(I.Button,{value:"unified",style:{color:f==="unified"?"#fff":"#1f2937"},children:"统一视图"})]})}),o&&c&&!S&&X()]})},"1"),e.jsx(G,{tab:e.jsx("div",{className:`py-2 px-4 ${g==="2"?"text-white font-medium":"text-gray-400"}`,children:"原始差异"}),children:e.jsx("div",{className:"p-4",children:m?e.jsx("div",{className:"flex items-center justify-center py-10",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-white"})}):e.jsx(se,{language:"diff",style:te,customStyle:{padding:"12px",borderRadius:"4px",overflow:"auto",maxHeight:"600px"},children:l.diff||""})})},"2")]})})]})};J.config({paths:{vs:"/monaco-editor/min/vs"},"vs/nls":{availableLanguages:{"*":"zh-cn"}}});const{Text:H}=oe,{TabPane:je}=q,we=()=>{const[n,i]=r.useState([]),[l,B]=r.useState(!1),[o,k]=r.useState(!1),[c,v]=r.useState(!1),[S,R]=r.useState([]),[f,E]=r.useState(null),[u,L]=r.useState(!1),[m,y]=r.useState({show:!1,commitHash:"",commitMessage:""}),[g,$]=r.useState(!1),[j,p]=r.useState(null),[w,N]=r.useState(null),D=s=>{if(!s){b.info("该消息没有关联的代码变更");return}E(s)},C=async()=>{k(!0);try{const s=await U.get("/api/history/validate-and-load");s.data.success?i(s.data.queries):b.error(s.data.message||"加载历史记录失败")}catch(s){console.error("Error loading queries:",s),b.error("加载失败")}finally{k(!1)}};re.useEffect(()=>{C();const s=ae.subscribe(ne.CODING.TASK_COMPLETE,d=>{console.log("Coding task completed, reloading queries",d),C()});return()=>{s()}},[]);const F=(s,d,h)=>{s.stopPropagation(),y({show:!0,commitHash:d,commitMessage:h})},A=async()=>{try{$(!0),p(null),N(null);const s=await fetch(`/api/commits/${m.commitHash}/revert`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!s.ok){const h=await s.json();throw new Error(h.detail||"撤销提交失败")}const d=await s.json();N(`成功撤销提交。新的撤销提交: ${d.new_commit_hash.substring(0,7)}`),y(h=>({...h,show:!1})),C(),setTimeout(()=>{N(null)},5e3)}catch(s){p(s instanceof Error?s.message:"撤销提交失败"),console.error("Failed to revert commit:",s)}finally{$(!1)}},T=()=>{y({show:!1,commitHash:"",commitMessage:""}),p(null)};return f?e.jsx(ve,{commitId:f,onClose:()=>E(null)}):e.jsxs("div",{className:"flex flex-col bg-[#111827] overflow-hidden",style:{height:"650px"},children:[e.jsx("div",{className:"flex justify-between items-center p-4 bg-[#1F2937] border-b border-[#374151] sticky top-0 z-10 shadow-md",children:e.jsxs(Q,{children:[e.jsx(M,{icon:l?e.jsx(fe,{}):e.jsx(me,{}),onClick:()=>{B(!l),i([...n].reverse())},children:l?"升序":"降序"}),e.jsx(M,{type:"primary",onClick:C,loading:o,children:"刷新"})]})}),m.show&&e.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4",children:e.jsxs("div",{className:"bg-gray-800 rounded-lg shadow-xl max-w-md w-full p-6 border border-gray-700",children:[e.jsx("h3",{className:"text-xl font-semibold text-white mb-4",children:"确认撤销提交"}),e.jsx("p",{className:"text-gray-300 mb-6",children:"您确定要撤销此提交吗?这将创建一个新的提交来撤销更改。"}),e.jsxs("div",{className:"bg-gray-900 p-3 rounded mb-6 border border-gray-700",children:[e.jsx("p",{className:"text-sm text-gray-400 mb-1",children:"提交信息:"}),e.jsx("p",{className:"text-white",children:m.commitMessage}),e.jsxs("p",{className:"text-xs text-gray-500 mt-2",children:["Commit: ",m.commitHash.substring(0,7)]})]}),j&&e.jsx("div",{className:"bg-red-900 bg-opacity-25 text-red-400 p-3 rounded mb-4",children:j}),e.jsxs("div",{className:"flex justify-end space-x-3",children:[e.jsx("button",{className:"px-4 py-2 bg-gray-700 hover:bg-gray-600 text-gray-300 rounded transition-colors",onClick:T,disabled:g,children:"取消"}),e.jsx("button",{className:"px-4 py-2 bg-red-600 hover:bg-red-700 text-white rounded transition-colors flex items-center",onClick:A,disabled:g,children:g?e.jsxs(e.Fragment,{children:[e.jsxs("svg",{className:"animate-spin -ml-1 mr-2 h-4 w-4 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"处理中..."]}):e.jsx(e.Fragment,{children:"确认撤销"})})]})]})}),w&&e.jsx("div",{className:"fixed top-4 right-4 bg-green-800 text-green-100 p-4 rounded-lg shadow-lg z-50 animate-fade-in-out",children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M5 13l4 4L19 7"})}),e.jsx("span",{children:w})]})}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[e.jsx(z,{dataSource:n,renderItem:s=>e.jsx(z.Item,{className:"border-b border-[#374151] last:border-b-0",children:e.jsx(le,{className:"w-full bg-[#1F2937] border-[#374151] hover:bg-[#2D3748] transition-colors duration-200",title:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxs("div",{children:[e.jsx(W,{style:{marginRight:"8px",color:"#9CA3AF"}}),e.jsx(H,{style:{color:"#E5E7EB"},children:`${s.file_number}_chat_action.yml`}),s.timestamp&&e.jsx(H,{style:{marginLeft:"10px",fontSize:"12px",color:"#9CA3AF"},children:s.timestamp})]}),e.jsxs("div",{className:"flex space-x-2",children:[s.urls&&s.urls.length>0&&e.jsx(M,{icon:e.jsx(W,{}),type:"link",style:{color:"#60A5FA"},onClick:()=>{R(s.urls||[]),v(!0)},children:"查看上下文"}),s.response&&!s.is_reverted&&e.jsx(M,{icon:e.jsx(be,{}),type:"link",style:{color:"#F87171"},onClick:d=>F(d,s.response,s.query),children:"撤销"}),e.jsx(M,{icon:e.jsx(ie,{}),type:"link",style:{color:s.response?"#60A5FA":"#9CA3AF"},onClick:()=>D(s.response),disabled:!s.response,children:"查看变更"})]})]}),children:e.jsxs("div",{className:`${s.is_reverted?"border border-red-500 rounded-lg p-2 relative":""}`,children:[s.is_reverted&&e.jsx("div",{className:"absolute -top-2 -right-2 bg-red-500 text-white text-xs px-2 py-0.5 rounded-full",children:"已撤销"}),e.jsx("div",{style:{backgroundColor:"#111827",padding:"12px",borderRadius:"4px",color:"#E5E7EB",border:"1px solid #374151",maxWidth:"100%",fontSize:"14px",lineHeight:"1.6",whiteSpace:"normal",wordBreak:"break-word"},children:s.query})]})})})}),e.jsx(ce,{title:"上下文文件列表",open:c,onCancel:()=>v(!1),width:600,footer:null,className:"dark-theme-modal",styles:{content:{backgroundColor:"#1f2937",padding:"20px"},header:{backgroundColor:"#1f2937",borderBottom:"1px solid #374151",color:"#ffffff"},body:{backgroundColor:"#1f2937",color:"#ffffff"},mask:{backgroundColor:"rgba(0, 0, 0, 0.6)"}},children:e.jsx(z,{dataSource:S,className:"dark-theme-list max-h-96 overflow-y-auto",renderItem:s=>e.jsx(z.Item,{className:"text-gray-200 border-gray-700",children:e.jsx("div",{className:"flex items-center w-full",children:e.jsx(H,{style:{color:"#E5E7EB"},children:s})})})})})]})]})};export{we as default};
|