auto-coder-web 0.1.62__py3-none-any.whl → 0.1.64__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/model_router.py +1 -0
- auto_coder_web/version.py +1 -1
- auto_coder_web/web/assets/HistoryPanel-gl864o6H.js +1 -0
- auto_coder_web/web/{main-DxnFm18B.css → assets/main-DJWilGUK.css} +2 -2
- auto_coder_web/web/{main.js → assets/main.js} +319 -319
- auto_coder_web/web/index.html +2 -2
- {auto_coder_web-0.1.62.dist-info → auto_coder_web-0.1.64.dist-info}/METADATA +2 -2
- {auto_coder_web-0.1.62.dist-info → auto_coder_web-0.1.64.dist-info}/RECORD +97 -97
- auto_coder_web/web/HistoryPanel-WXEMtQ1V.js +0 -1
- /auto_coder_web/web/{abap-BrgZPUOV.js → assets/abap-BrgZPUOV.js} +0 -0
- /auto_coder_web/web/{apex-DyP6w7ZV.js → assets/apex-DyP6w7ZV.js} +0 -0
- /auto_coder_web/web/{azcli-BaLxmfj-.js → assets/azcli-BaLxmfj-.js} +0 -0
- /auto_coder_web/web/{bat-CFOPXBzS.js → assets/bat-CFOPXBzS.js} +0 -0
- /auto_coder_web/web/{bicep-BfEKNvv3.js → assets/bicep-BfEKNvv3.js} +0 -0
- /auto_coder_web/web/{cameligo-BFG1Mk7z.js → assets/cameligo-BFG1Mk7z.js} +0 -0
- /auto_coder_web/web/{clojure-DTECt2xU.js → assets/clojure-DTECt2xU.js} +0 -0
- /auto_coder_web/web/{codicon-DCmgc-ay.ttf → assets/codicon-DCmgc-ay.ttf} +0 -0
- /auto_coder_web/web/{coffee-CDGzqUPQ.js → assets/coffee-CDGzqUPQ.js} +0 -0
- /auto_coder_web/web/{cpp-CLLBncYj.js → assets/cpp-CLLBncYj.js} +0 -0
- /auto_coder_web/web/{csharp-dUCx_-0o.js → assets/csharp-dUCx_-0o.js} +0 -0
- /auto_coder_web/web/{csp-5Rap-vPy.js → assets/csp-5Rap-vPy.js} +0 -0
- /auto_coder_web/web/{css-D3h14YRZ.js → assets/css-D3h14YRZ.js} +0 -0
- /auto_coder_web/web/{cssMode-CQYz0o1d.js → assets/cssMode-CQYz0o1d.js} +0 -0
- /auto_coder_web/web/{cypher-DrQuvNYM.js → assets/cypher-DrQuvNYM.js} +0 -0
- /auto_coder_web/web/{dart-CFKIUWau.js → assets/dart-CFKIUWau.js} +0 -0
- /auto_coder_web/web/{dockerfile-Zznr-cwX.js → assets/dockerfile-Zznr-cwX.js} +0 -0
- /auto_coder_web/web/{ecl-Ce3n6wWz.js → assets/ecl-Ce3n6wWz.js} +0 -0
- /auto_coder_web/web/{elixir-deUWdS0T.js → assets/elixir-deUWdS0T.js} +0 -0
- /auto_coder_web/web/{flow9-i9-g7ZhI.js → assets/flow9-i9-g7ZhI.js} +0 -0
- /auto_coder_web/web/{freemarker2-BJU3cSen.js → assets/freemarker2-BJU3cSen.js} +0 -0
- /auto_coder_web/web/{fsharp-CzKuDChf.js → assets/fsharp-CzKuDChf.js} +0 -0
- /auto_coder_web/web/{go-Cphgjts3.js → assets/go-Cphgjts3.js} +0 -0
- /auto_coder_web/web/{graphql-Cg7bfA9N.js → assets/graphql-Cg7bfA9N.js} +0 -0
- /auto_coder_web/web/{handlebars-VxUdciXQ.js → assets/handlebars-VxUdciXQ.js} +0 -0
- /auto_coder_web/web/{hcl-0cvrggvQ.js → assets/hcl-0cvrggvQ.js} +0 -0
- /auto_coder_web/web/{html-DEgskwXL.js → assets/html-DEgskwXL.js} +0 -0
- /auto_coder_web/web/{htmlMode-58cXxJlI.js → assets/htmlMode-58cXxJlI.js} +0 -0
- /auto_coder_web/web/{ini-Drc7WvVn.js → assets/ini-Drc7WvVn.js} +0 -0
- /auto_coder_web/web/{java-B_fMsGYe.js → assets/java-B_fMsGYe.js} +0 -0
- /auto_coder_web/web/{javascript-DbZlm-ig.js → assets/javascript-DbZlm-ig.js} +0 -0
- /auto_coder_web/web/{jsonMode-C2HKgmE0.js → assets/jsonMode-C2HKgmE0.js} +0 -0
- /auto_coder_web/web/{julia-Bqgm2twL.js → assets/julia-Bqgm2twL.js} +0 -0
- /auto_coder_web/web/{kotlin-BSkB5QuD.js → assets/kotlin-BSkB5QuD.js} +0 -0
- /auto_coder_web/web/{less-BsTHnhdd.js → assets/less-BsTHnhdd.js} +0 -0
- /auto_coder_web/web/{lexon-YWi4-JPR.js → assets/lexon-YWi4-JPR.js} +0 -0
- /auto_coder_web/web/{liquid-BFft-XkQ.js → assets/liquid-BFft-XkQ.js} +0 -0
- /auto_coder_web/web/{lua-nf6ki56Z.js → assets/lua-nf6ki56Z.js} +0 -0
- /auto_coder_web/web/{m3-Cpb6xl2v.js → assets/m3-Cpb6xl2v.js} +0 -0
- /auto_coder_web/web/{markdown-DSZPf7rp.js → assets/markdown-DSZPf7rp.js} +0 -0
- /auto_coder_web/web/{mdx-DZdDhrJW.js → assets/mdx-DZdDhrJW.js} +0 -0
- /auto_coder_web/web/{mips-B_c3zf-v.js → assets/mips-B_c3zf-v.js} +0 -0
- /auto_coder_web/web/{msdax-rUNN04Wq.js → assets/msdax-rUNN04Wq.js} +0 -0
- /auto_coder_web/web/{mysql-DDwshQtU.js → assets/mysql-DDwshQtU.js} +0 -0
- /auto_coder_web/web/{objective-c-B5zXfXm9.js → assets/objective-c-B5zXfXm9.js} +0 -0
- /auto_coder_web/web/{pascal-CXOwvkN_.js → assets/pascal-CXOwvkN_.js} +0 -0
- /auto_coder_web/web/{pascaligo-Bc-ZgV77.js → assets/pascaligo-Bc-ZgV77.js} +0 -0
- /auto_coder_web/web/{perl-CwNk8-XU.js → assets/perl-CwNk8-XU.js} +0 -0
- /auto_coder_web/web/{pgsql-tGk8EFnU.js → assets/pgsql-tGk8EFnU.js} +0 -0
- /auto_coder_web/web/{php-CpIb_Oan.js → assets/php-CpIb_Oan.js} +0 -0
- /auto_coder_web/web/{pla-B03wrqEc.js → assets/pla-B03wrqEc.js} +0 -0
- /auto_coder_web/web/{postiats-BKlk5iyT.js → assets/postiats-BKlk5iyT.js} +0 -0
- /auto_coder_web/web/{powerquery-Bhzvs7bI.js → assets/powerquery-Bhzvs7bI.js} +0 -0
- /auto_coder_web/web/{powershell-Dd3NCNK9.js → assets/powershell-Dd3NCNK9.js} +0 -0
- /auto_coder_web/web/{protobuf-COyEY5Pt.js → assets/protobuf-COyEY5Pt.js} +0 -0
- /auto_coder_web/web/{pug-BaJupSGV.js → assets/pug-BaJupSGV.js} +0 -0
- /auto_coder_web/web/{python-DOHUGzLU.js → assets/python-DOHUGzLU.js} +0 -0
- /auto_coder_web/web/{qsharp-DXyYeYxl.js → assets/qsharp-DXyYeYxl.js} +0 -0
- /auto_coder_web/web/{r-CdQndTaG.js → assets/r-CdQndTaG.js} +0 -0
- /auto_coder_web/web/{razor-Dh5mSHi2.js → assets/razor-Dh5mSHi2.js} +0 -0
- /auto_coder_web/web/{redis-CVwtpugi.js → assets/redis-CVwtpugi.js} +0 -0
- /auto_coder_web/web/{redshift-25W9uPmb.js → assets/redshift-25W9uPmb.js} +0 -0
- /auto_coder_web/web/{restructuredtext-DfzH4Xui.js → assets/restructuredtext-DfzH4Xui.js} +0 -0
- /auto_coder_web/web/{ruby-Cp1zYvxS.js → assets/ruby-Cp1zYvxS.js} +0 -0
- /auto_coder_web/web/{rust-D5C2fndG.js → assets/rust-D5C2fndG.js} +0 -0
- /auto_coder_web/web/{sb-CDntyWJ8.js → assets/sb-CDntyWJ8.js} +0 -0
- /auto_coder_web/web/{scala-BoFRg7Ot.js → assets/scala-BoFRg7Ot.js} +0 -0
- /auto_coder_web/web/{scheme-Bio4gycK.js → assets/scheme-Bio4gycK.js} +0 -0
- /auto_coder_web/web/{scss-4Ik7cdeQ.js → assets/scss-4Ik7cdeQ.js} +0 -0
- /auto_coder_web/web/{shell-CX-rkNHf.js → assets/shell-CX-rkNHf.js} +0 -0
- /auto_coder_web/web/{solidity-Tw7wswEv.js → assets/solidity-Tw7wswEv.js} +0 -0
- /auto_coder_web/web/{sophia-C5WLch3f.js → assets/sophia-C5WLch3f.js} +0 -0
- /auto_coder_web/web/{sparql-DHaeiCBh.js → assets/sparql-DHaeiCBh.js} +0 -0
- /auto_coder_web/web/{sql-CCSDG5nI.js → assets/sql-CCSDG5nI.js} +0 -0
- /auto_coder_web/web/{st-pnP8ivHi.js → assets/st-pnP8ivHi.js} +0 -0
- /auto_coder_web/web/{swift-DwJ7jVG9.js → assets/swift-DwJ7jVG9.js} +0 -0
- /auto_coder_web/web/{systemverilog-B9Xyijhd.js → assets/systemverilog-B9Xyijhd.js} +0 -0
- /auto_coder_web/web/{tcl-DnHyzjbg.js → assets/tcl-DnHyzjbg.js} +0 -0
- /auto_coder_web/web/{tsMode-tyI6CeIR.js → assets/tsMode-tyI6CeIR.js} +0 -0
- /auto_coder_web/web/{twig-CPajHgWi.js → assets/twig-CPajHgWi.js} +0 -0
- /auto_coder_web/web/{typescript-DZzM_VgT.js → assets/typescript-DZzM_VgT.js} +0 -0
- /auto_coder_web/web/{typespec-D-MeaMDU.js → assets/typespec-D-MeaMDU.js} +0 -0
- /auto_coder_web/web/{vb-DgyLZaXg.js → assets/vb-DgyLZaXg.js} +0 -0
- /auto_coder_web/web/{wgsl-BIv9DU6q.js → assets/wgsl-BIv9DU6q.js} +0 -0
- /auto_coder_web/web/{xml-Dl6413Na.js → assets/xml-Dl6413Na.js} +0 -0
- /auto_coder_web/web/{yaml-DML583wh.js → assets/yaml-DML583wh.js} +0 -0
- {auto_coder_web-0.1.62.dist-info → auto_coder_web-0.1.64.dist-info}/WHEEL +0 -0
- {auto_coder_web-0.1.62.dist-info → auto_coder_web-0.1.64.dist-info}/entry_points.txt +0 -0
- {auto_coder_web-0.1.62.dist-info → auto_coder_web-0.1.64.dist-info}/top_level.txt +0 -0
auto_coder_web/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.1.
|
1
|
+
__version__ = "0.1.64"
|
@@ -0,0 +1 @@
|
|
1
|
+
import{r,I as U,_ as G,j as e,S as Q,T as P,R as ee,a as I,h as se,v as te,b as K,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 q,g as ie,i as oe,k as ce,M as de}from"./main.js";var he={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"},fe=function(c,i){return r.createElement(U,G({},c,{ref:i,icon:he}))},ue=r.forwardRef(fe),xe={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"},me=function(c,i){return r.createElement(U,G({},c,{ref:i,icon:xe}))},ge=r.forwardRef(me);J.config({paths:{vs:"/monaco-editor/min/vs"},"vs/nls":{availableLanguages:{"*":"zh-cn"}}});const{TabPane:W}=P,pe=({commitId:n,onClose:c})=>{const[i,D]=r.useState({diff:""}),[l,C]=r.useState(null),[o,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),B=async()=>{if(n){y(!0);try{const t=encodeURIComponent(n),a=await K.get(`/api/history/commit-diff/${t}`);a.data.success?D({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)}}},k=async t=>{if(n)try{R(!0),v(null),j.current=null,p.current=null,w.current=null;const a=encodeURIComponent(n),x=await K.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=>{l===t?(C(null),v(null),j.current=null,p.current=null,w.current=null,L(null)):(C(t),k(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(!l||!o)return null;const t=d(l),a=`diff-${n}-${l}-${f}`,x=`before-${n}-${l}`,_=`after-${n}-${l}`,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:o.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:["修改前 (",o.file_status==="added"?"新文件":l,")"]}),e.jsx(h,{viewType:"before"})]}),e.jsx(O,{height:"calc(100% - 26px)",width:"100%",defaultLanguage:t,value:o.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:["修改后 (",o.file_status==="deleted"?"文件已删除":l,")"]}),e.jsx(h,{viewType:"after"})]}),e.jsx(O,{height:"calc(100% - 26px)",width:"100%",defaultLanguage:t,value:o.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&&B()},[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:c&&e.jsx("button",{className:"px-3 py-1.5 bg-gray-700 hover:bg-gray-600 text-white rounded text-sm",onClick:c,children:"关闭"})})]}),e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsxs(P,{activeKey:g,onChange:$,type:"card",className:"diff-viewer-tabs",renderTabBar:Z,style:{background:"#111827"},children:[e.jsx(W,{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"})}):i.file_changes&&i.file_changes.length>0?i.file_changes.map((t,a)=>e.jsx("div",{className:`text-sm py-2 px-3 rounded cursor-pointer ${l===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"})}),l&&o&&!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:"统一视图"})]})}),l&&o&&!S&&X()]})},"1"),e.jsx(W,{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:i.diff||""})})},"2")]})})]})};J.config({paths:{vs:"/monaco-editor/min/vs"},"vs/nls":{availableLanguages:{"*":"zh-cn"}}});const{Text:H}=ie,{TabPane:ve}=P,ye=()=>{const[n,c]=r.useState([]),[i,D]=r.useState(!1),[l,C]=r.useState(!1),[o,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),B=s=>{if(!s){b.info("该消息没有关联的代码变更");return}E(s)},k=async()=>{C(!0);try{const s=await K.get("/api/history/validate-and-load");s.data.success?c(s.data.queries):b.error(s.data.message||"加载历史记录失败")}catch(s){console.error("Error loading queries:",s),b.error("加载失败")}finally{C(!1)}};re.useEffect(()=>{k();const s=ae.subscribe(ne.CODING.TASK_COMPLETE,d=>{console.log("Coding task completed, reloading queries",d),k()});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})),k(),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(pe,{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:i?e.jsx(ue,{}):e.jsx(ge,{}),onClick:()=>{D(!i),c([...n].reverse())},children:i?"升序":"降序"}),e.jsx(M,{type:"primary",onClick:k,loading:l,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(q,{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(q,{}),type:"link",style:{color:"#60A5FA"},onClick:()=>{R(s.urls||[]),v(!0)},children:"查看上下文"}),s.response&&!s.is_reverted&&e.jsx(M,{icon:e.jsx(oe,{}),type:"link",style:{color:"#F87171"},onClick:d=>F(d,s.response,s.query),children:"撤销"}),e.jsx(M,{icon:e.jsx(ce,{}),type:"link",style:{color:s.response?"#60A5FA":"#9CA3AF"},onClick:()=>B(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(de,{title:"上下文文件列表",open:o,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{ye as default};
|