zen-gitsync 2.16.39 → 2.16.40
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.
- package/package.json +1 -1
- package/src/ui/public/assets/AgentView-8-xsOmE6.css +1 -0
- package/src/ui/public/assets/AgentView-Bq-j251E.js +4 -0
- package/src/ui/public/assets/AppVersionBadge-CRlSamah.js +2 -0
- package/src/ui/public/assets/AppVersionBadge-CS7Trvp-.css +1 -0
- package/src/ui/public/assets/BranchSelector-B0eLkAdv.css +1 -0
- package/src/ui/public/assets/BranchSelector-Biy2pKuK.js +1 -0
- package/src/ui/public/assets/CommitForm-BYIuRiRJ.js +6 -0
- package/src/ui/public/assets/CommitForm-DdK8dymc.css +1 -0
- package/src/ui/public/assets/CommonDialog-ChSKsEz2.css +1 -0
- package/src/ui/public/assets/CommonDialog-CvY72fzL.js +1 -0
- package/src/ui/public/assets/EditorView-DT3IJba3.js +1 -0
- package/src/ui/public/assets/EditorView-DZMLvQds.css +1 -0
- package/src/ui/public/assets/FlowExecutionViewer-LBsfGuvz.js +1 -0
- package/src/ui/public/assets/FlowExecutionViewer-jNHI5zdm.css +1 -0
- package/src/ui/public/assets/FlowOrchestrationWorkspace-CYGp-PqS.css +1 -0
- package/src/ui/public/assets/FlowOrchestrationWorkspace-CsTGSbYE.js +21 -0
- package/src/ui/public/assets/LogList-BlJplIi1.css +1 -0
- package/src/ui/public/assets/LogList-l9uO6Ha0.js +7 -0
- package/src/ui/public/assets/MindmapView-BQTqx842.css +1 -0
- package/src/ui/public/assets/MindmapView-DnVrnLHD.js +2 -0
- package/src/ui/public/assets/MonitorView-Bf0Of_p8.js +1 -0
- package/src/ui/public/assets/MonitorView-TaS4kL0Y.css +1 -0
- package/src/ui/public/assets/ProjectStartupButton-DHTR7mNn.js +1 -0
- package/src/ui/public/assets/ProjectStartupButton-QLPltCK5.css +1 -0
- package/src/ui/public/assets/RemoteRepoCard-BRGNlbeO.css +1 -0
- package/src/ui/public/assets/RemoteRepoCard-D1gtEIet.js +5 -0
- package/src/ui/public/assets/SourceMapView-BNRjvgzH.css +1 -0
- package/src/ui/public/assets/SourceMapView-CsyaXo_r.js +3 -0
- package/src/ui/public/assets/{SvgIcon-BQ6bR7l0.css → SvgIcon-CDNsk4-Q.css} +1 -1
- package/src/ui/public/assets/SvgIcon-u2ews5tw.js +1 -0
- package/src/ui/public/assets/UserInputNode-BVgQkB2l.css +1 -0
- package/src/ui/public/assets/UserInputNode-DxZXDacC.js +1 -0
- package/src/ui/public/assets/{WorkbenchView-CcYljxjT.css → WorkbenchView-Bp2YaSGS.css} +1 -1
- package/src/ui/public/assets/WorkbenchView-BpLFh2D9.js +28 -0
- package/src/ui/public/assets/{_plugin-vue_export-helper-C5Vpcpi0.js → _plugin-vue_export-helper-D-BeVTHz.js} +3 -3
- package/src/ui/public/assets/{configStore-DdYe2Jg3.js → configStore-CE5yEOT7.js} +1 -1
- package/src/ui/public/assets/element-plus-DXuL5yWp.js +39 -0
- package/src/ui/public/assets/{flow-mindmap-D4bc307Q.js → flow-mindmap-Bi227PSm.js} +12 -12
- package/src/ui/public/assets/index-D5j1I9uQ.js +86 -0
- package/src/ui/public/assets/index-DkH9R2Dr.css +1 -0
- package/src/ui/public/assets/office-docx-ZOPof2Jf.js +32 -0
- package/src/ui/public/assets/{office-excel-CgdzbtOn.js → office-excel-DxreApmb.js} +1 -1
- package/src/ui/public/assets/office-pptx-CR0bf9zY.js +74 -0
- package/src/ui/public/assets/{toolsStore-C0VjU2dD.js → toolsStore-B2-ptwkb.js} +1 -1
- package/src/ui/public/assets/{vendor-FHXYVNcm.js → vendor-I3yQCqJK.js} +46 -39
- package/src/ui/public/assets/vue-flow-DV5FYL9P.js +39 -0
- package/src/ui/public/index.html +13 -13
- package/src/ui/server/routes/instances.js +13 -4
- package/src/ui/server/routes/instances.test.js +51 -6
- package/src/ui/public/assets/AgentView-BsN9y4Kg.css +0 -1
- package/src/ui/public/assets/AgentView-DWZx4tNO.js +0 -4
- package/src/ui/public/assets/AppVersionBadge-Crbg_My9.js +0 -2
- package/src/ui/public/assets/AppVersionBadge-Dj6H729N.css +0 -1
- package/src/ui/public/assets/BranchSelector-D5veuJEK.js +0 -1
- package/src/ui/public/assets/BranchSelector-T_rJm-JY.css +0 -1
- package/src/ui/public/assets/CommitForm-CUvl0VcF.css +0 -1
- package/src/ui/public/assets/CommitForm-DOlVaeAm.js +0 -6
- package/src/ui/public/assets/CommonDialog-ByvhJIxb.js +0 -1
- package/src/ui/public/assets/CommonDialog-Cyh3xu0p.css +0 -1
- package/src/ui/public/assets/EditorView-BgA-_8WV.css +0 -1
- package/src/ui/public/assets/EditorView-DIWt74ii.js +0 -1
- package/src/ui/public/assets/FlowExecutionViewer-B5kh7VxS.css +0 -1
- package/src/ui/public/assets/FlowExecutionViewer-CiK6fWX0.js +0 -1
- package/src/ui/public/assets/FlowOrchestrationWorkspace-BAQDU9Jd.css +0 -1
- package/src/ui/public/assets/FlowOrchestrationWorkspace-QzKGpumZ.js +0 -21
- package/src/ui/public/assets/LogList-DmvJXefN.js +0 -7
- package/src/ui/public/assets/LogList-r8sgFBhZ.css +0 -1
- package/src/ui/public/assets/MindmapView-CS2t30Ko.css +0 -1
- package/src/ui/public/assets/MindmapView-DGbJgFMZ.js +0 -1
- package/src/ui/public/assets/MonitorView-BlfmRbaV.js +0 -1
- package/src/ui/public/assets/MonitorView-DxFogQIt.css +0 -1
- package/src/ui/public/assets/ProjectStartupButton-B7zvqRj_.css +0 -1
- package/src/ui/public/assets/ProjectStartupButton-Dr8VCQSL.js +0 -1
- package/src/ui/public/assets/RemoteRepoCard-CrC-ph-p.js +0 -1
- package/src/ui/public/assets/RemoteRepoCard-d0klonVb.css +0 -1
- package/src/ui/public/assets/SourceMapView-BIfkwd0_.js +0 -3
- package/src/ui/public/assets/SourceMapView-DG_a_076.css +0 -1
- package/src/ui/public/assets/SvgIcon-ryKBwC8P.js +0 -1
- package/src/ui/public/assets/UserInputNode-8v5LCzR9.js +0 -1
- package/src/ui/public/assets/UserInputNode-DDtvv9Iq.css +0 -1
- package/src/ui/public/assets/WorkbenchView-KKlaNqT0.js +0 -12
- package/src/ui/public/assets/element-plus-Cchqf1s7.js +0 -19
- package/src/ui/public/assets/index-DDmVbc4D.css +0 -1
- package/src/ui/public/assets/index-hyzLLFKf.js +0 -46
- package/src/ui/public/assets/office-docx-BHL8ws1l.js +0 -31
- package/src/ui/public/assets/office-pptx-DyxMcWQh.js +0 -60
- package/src/ui/public/assets/vue-flow-3jJr-V2W.js +0 -39
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-BM3Ffeng.js";import{Qn as e,dr as t,i as n,n as r,t as i,vn as a}from"./element-plus-Cchqf1s7.js";import{ga as o}from"./vendor-FHXYVNcm.js";import{a as s,n as c,r as l}from"./_plugin-vue_export-helper-C5Vpcpi0.js";var u={"zh-CN":r,"en-US":i};function d(e){return u[e]||r}var f=o(`locale`,()=>{let e=t(l()),n=a(()=>d(e.value));async function r(t){s(t),e.value=t;let n=p();n.locale!==t&&await n.saveGeneralSettings({locale:t})}return{currentLocale:e,elementPlusLocale:n,changeLocale:r}}),p=o(`config`,()=>{let r=t(``),i=t([]),o=t([]),l=t([]),u=t([]),d=t([]),p=t([]),m=t([]),h=t([]),g=t(!1),_=t({enabled:!1,type:`command`,refId:``}),v=t(!1),y=t(!1),b=t(``),x=t(``),S=t(``),C=t(!0),w=t(!1),T=t(!0),E=t(!1),D=t(!1),O=t(!0),k=t(`light`),A=t(`zh-CN`),j=t([]),M={layout:{leftRatio:.25,midRatio:.375,rightRatio:.375,topRatio:.5},layoutsByProject:{},aiDiffSummaryByProject:{},fileListViewMode:`list`,fileDiffSplitPercent:35,diffPreviewSplitPercent:55,commandConsole:{expanded:!0,useTerminal:!0,showTerminalSessions:!0,splitPercent:25},editorAutoSave:!1,mindmapDir:``},N=t(JSON.parse(JSON.stringify(M))),P=t(!1);function ee(e){S.value=e||``}let F=a(()=>{let e=S.value;return e?N.value.aiDiffSummaryByProject[e]!==!1:!1});function te(){let e=S.value;if(e&&N.value.layoutsByProject?.[e]){N.value.layout={...N.value.layoutsByProject[e]};return}}function I(e){let t=document.documentElement;e===`dark`?t.setAttribute(`data-theme`,`dark`):e===`light`?t.removeAttribute(`data-theme`):window.matchMedia(`(prefers-color-scheme: dark)`).matches?t.setAttribute(`data-theme`,`dark`):t.removeAttribute(`data-theme`)}function ne(){let e=document.documentElement.getAttribute(`data-theme`)===`dark`?`light`:`dark`;return k.value=e,I(e),$({theme:e}).catch(e=>{console.error(`保存主题切换结果失败:`,e)}),e}I(k.value);let L=a(()=>({defaultCommitMessage:r.value,descriptionTemplates:i.value,scopeTemplates:o.value,messageTemplates:l.value,commandTemplates:u.value,lockedFiles:d.value,customCommands:p.value,orchestrations:m.value,startupItems:h.value,startupAutoRun:g.value,afterQuickPushAction:_.value,currentDirectory:S.value})),R=a(()=>!!(b.value&&b.value.trim()));async function z(){try{let e=await fetch(`/api/config/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`}}),t=await e.json().catch(()=>({}));return e.ok&&t?.success?(n.success(c(`@D50BB:已打开系统配置文件`)),!0):(n.error(`${c(`@D50BB:打开系统配置文件失败: `)}${t?.error||``}`),!1)}catch(e){return n.error(`${c(`@D50BB:打开系统配置文件失败: `)}${e.message}`),!1}}async function B(e=!1){if(!e&&y.value&&!v.value)return console.log(c(`@D50BB:使用缓存的配置信息`)),L.value;v.value=!0;try{v.value=!0,console.log(c(`@D50BB:加载配置信息...`));let e=await fetch(`/api/config/getConfig`),t=await e.json().catch(()=>({}));if(!e.ok||t&&t.success===!1){let e=String(t?.error||c(`@D50BB:加载配置失败`)),r=String(t?.configPath||``),i=r?`\n${c(`@D50BB:配置文件`)}: ${r}`:``;return n.error(`${c(`@D50BB:加载配置失败: `)}${e}${i}`),b.value=e,x.value=r,null}if(b.value=``,x.value=``,r.value=t.defaultCommitMessage||``,i.value=t.descriptionTemplates||[],o.value=t.scopeTemplates||[],l.value=t.messageTemplates||[],u.value=t.commandTemplates||[],d.value=t.lockedFiles||[],p.value=t.customCommands||[],m.value=t.orchestrations||[],h.value=(t.startupItems||[]).map(e=>({id:String(e?.id??``),type:e?.type===`workflow`?`workflow`:`command`,refId:String(e?.refId??e?.commandId??``),createdAt:Number(e?.createdAt??Date.now()),enabled:typeof e?.enabled==`boolean`?e.enabled:!0})).filter(e=>e.id&&e.refId),g.value=t.startupAutoRun||!1,_.value={enabled:!!t?.afterQuickPushAction?.enabled,type:t?.afterQuickPushAction?.type===`workflow`?`workflow`:`command`,refId:String(t?.afterQuickPushAction?.refId||``).trim()},t.isStandardCommit!==void 0&&(T.value=!!t.isStandardCommit),t.skipHooks!==void 0&&(E.value=!!t.skipHooks),t.autoQuickPushOnEnter!==void 0&&(D.value=!!t.autoQuickPushOnEnter),t.autoSetDefaultMessage!==void 0&&(w.value=!!t.autoSetDefaultMessage),t.autoClosePushModal!==void 0&&(C.value=!!t.autoClosePushModal),t.pullBeforePush!==void 0&&(O.value=!!t.pullBeforePush),Array.isArray(t.models)&&(j.value=t.models),t.theme&&[`light`,`dark`,`auto`].includes(t.theme)&&(k.value=t.theme,I(t.theme)),t.locale&&[`zh-CN`,`en-US`].includes(t.locale)){A.value=t.locale,s(t.locale);let e=f();e.currentLocale=t.locale}if(t.currentDirectory&&(S.value=t.currentDirectory),t.ui==null){let e=e=>{try{return localStorage.getItem(e)}catch{return null}},t={},n=e(`zen-gitsync-layout-left-ratio`),r=e(`zen-gitsync-layout-mid-ratio`),i=e(`zen-gitsync-layout-right-ratio`),a=e(`zen-gitsync-layout-top-ratio`);if(n||r||i||a){let e=(e,t)=>{let n=e==null?NaN:parseFloat(e);return Number.isFinite(n)?n:t};t.layout={leftRatio:e(n,M.layout.leftRatio),midRatio:e(r,M.layout.midRatio),rightRatio:e(i,M.layout.rightRatio),topRatio:e(a,M.layout.topRatio)}}let o=e(`zen-gitsync-file-list-view-mode`);(o===`list`||o===`tree`)&&(t.fileListViewMode=o);let s=e(`zen-gitsync-filediff-ratio`)??e(`fileDiff.splitPercent`);if(s!=null){let e=parseFloat(s);Number.isFinite(e)&&(t.fileDiffSplitPercent=Math.min(85,Math.max(15,e)))}let c=e(`useTerminal`),l=e(`isConsoleExpanded`),u=e(`showTerminalSessions`),d=e(`zen-gitsync-commandconsole-ratio`);if(c!==null||l!==null||u!==null||d!=null){let e=d==null?NaN:parseFloat(d);t.commandConsole={useTerminal:c!==`false`,expanded:l!==`false`,showTerminalSessions:u==null?!0:u===`true`,splitPercent:Number.isFinite(e)?Math.min(85,Math.max(15,e)):M.commandConsole.splitPercent}}let f=e(`zen-gitsync-editor-auto-save`);f!=null&&(t.editorAutoSave=f===`true`),Object.keys(t).length>0&&(N.value={...N.value,...t}),Object.keys(t).length>0&&G(t,{immediate:!0}).catch(e=>{console.error(`迁移 UI 设置到文件失败:`,e)});try{[`zen-gitsync-theme`,`zen-gitsync-locale`,`zen-gitsync-editor-auto-save`,`zen-gitsync-file-list-view-mode`,`zen-gitsync-filediff-ratio`,`fileDiff.splitPercent`,`isConsoleExpanded`,`useTerminal`,`showTerminalSessions`,`zen-gitsync-commandconsole-ratio`,`zen-gitsync-layout-left-ratio`,`zen-gitsync-layout-mid-ratio`,`zen-gitsync-layout-right-ratio`,`zen-gitsync-layout-top-ratio`,`locale`].forEach(e=>localStorage.removeItem(e))}catch{}}else{let e=t.ui.layoutsByProject&&typeof t.ui.layoutsByProject==`object`&&!Array.isArray(t.ui.layoutsByProject)?t.ui.layoutsByProject:{},n={};for(let[t,r]of Object.entries(e))if(r&&typeof r==`object`&&!Array.isArray(r)){let e=r;n[t]={leftRatio:Number.isFinite(Number(e.leftRatio))?Number(e.leftRatio):M.layout.leftRatio,midRatio:Number.isFinite(Number(e.midRatio))?Number(e.midRatio):M.layout.midRatio,rightRatio:Number.isFinite(Number(e.rightRatio))?Number(e.rightRatio):M.layout.rightRatio,topRatio:Number.isFinite(Number(e.topRatio))?Number(e.topRatio):M.layout.topRatio}}let r=t.ui.aiDiffSummaryByProject&&typeof t.ui.aiDiffSummaryByProject==`object`&&!Array.isArray(t.ui.aiDiffSummaryByProject)?t.ui.aiDiffSummaryByProject:{},i={};for(let[e,t]of Object.entries(r))typeof t==`boolean`&&(i[e]=t);N.value={layout:{...M.layout,...t.ui.layout||{}},layoutsByProject:n,aiDiffSummaryByProject:i,fileListViewMode:t.ui.fileListViewMode===`tree`?`tree`:`list`,fileDiffSplitPercent:Number.isFinite(Number(t.ui.fileDiffSplitPercent))?Math.min(85,Math.max(15,Number(t.ui.fileDiffSplitPercent))):M.fileDiffSplitPercent,diffPreviewSplitPercent:Number.isFinite(Number(t.ui.diffPreviewSplitPercent))?Math.min(85,Math.max(25,Number(t.ui.diffPreviewSplitPercent))):M.diffPreviewSplitPercent,commandConsole:{expanded:typeof t.ui.commandConsole?.expanded==`boolean`?t.ui.commandConsole.expanded:M.commandConsole.expanded,useTerminal:typeof t.ui.commandConsole?.useTerminal==`boolean`?t.ui.commandConsole.useTerminal:M.commandConsole.useTerminal,showTerminalSessions:typeof t.ui.commandConsole?.showTerminalSessions==`boolean`?t.ui.commandConsole.showTerminalSessions:M.commandConsole.showTerminalSessions,splitPercent:Number.isFinite(Number(t.ui.commandConsole?.splitPercent))?Math.min(85,Math.max(15,Number(t.ui.commandConsole.splitPercent))):M.commandConsole.splitPercent},editorAutoSave:typeof t.ui.editorAutoSave==`boolean`?t.ui.editorAutoSave:M.editorAutoSave,mindmapDir:typeof t.ui.mindmapDir==`string`?t.ui.mindmapDir:M.mindmapDir}}return te(),P.value=!0,y.value=!0,console.log(c(`@D50BB:配置信息加载完成`)),L.value}catch(e){return console.error(`加载配置失败:`,e),n.error(`${c(`@D50BB:加载配置失败: `)}${e.message}`),b.value=e.message,null}finally{v.value=!1}}async function V(){try{await fetch(`/api/config/save-commit-settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({isStandardCommit:T.value,skipHooks:E.value,autoQuickPushOnEnter:D.value,autoSetDefaultMessage:w.value,autoClosePushModal:C.value,pullBeforePush:O.value})})}catch(e){console.error(`保存提交设置失败:`,e)}}e([T,E,D,w,C,O],()=>{y.value&&V()});let H=null,U={};async function W(){if(H&&=(clearTimeout(H),null),Object.keys(U).length===0)return;let e=U;U={};try{await fetch(`/api/config/save-ui-settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}catch(e){console.error(`保存 UI 设置失败:`,e)}}async function G(e,t={}){if(P.value){if(t.immediate){Object.assign(U,e),await W();return}Object.assign(U,e),H&&clearTimeout(H),H=setTimeout(()=>{W()},300)}}async function K(){N.value.layout={...M.layout};let e=S.value;return e&&(N.value.layoutsByProject={...N.value.layoutsByProject,[e]:{...N.value.layout}}),await G({layoutsByProject:N.value.layoutsByProject},{immediate:!0}),N.value.layout}async function q(e){let t=S.value;t&&(N.value.aiDiffSummaryByProject={...N.value.aiDiffSummaryByProject,[t]:e},await G({aiDiffSummaryByProject:{[t]:e}},{immediate:!0}))}e(()=>N.value.fileListViewMode,e=>{P.value&&G({fileListViewMode:e})}),e(()=>N.value.fileDiffSplitPercent,e=>{P.value&&G({fileDiffSplitPercent:e})}),e(()=>N.value.diffPreviewSplitPercent,e=>{P.value&&e!=null&&G({diffPreviewSplitPercent:e})}),e(()=>N.value.editorAutoSave,e=>{P.value&&G({editorAutoSave:e})}),e(()=>N.value.layout,e=>{if(!P.value)return;let t=S.value;t&&(N.value.layoutsByProject={...N.value.layoutsByProject,[t]:e},G({layoutsByProject:N.value.layoutsByProject}))},{deep:!0}),e(()=>N.value.commandConsole,e=>{P.value&&G({commandConsole:e})},{deep:!0}),typeof window<`u`&&window.addEventListener(`beforeunload`,()=>{W()});async function J(e){try{let t=await(await fetch(`/api/config/saveDefaultMessage`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({defaultCommitMessage:e})})).json();return t.success?(r.value=e,n.success(c(`@D50BB:默认提交信息已保存`)),!0):(n.error(`${c(`@D50BB:保存失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:保存失败: `)}${e.message}`),!1}}async function Y(e){try{let t=await(await fetch(`/api/config/save-after-quick-push-action`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({afterQuickPushAction:{enabled:!!e?.enabled,type:e?.type===`workflow`?`workflow`:`command`,refId:String(e?.refId||``).trim()}})})).json();return t.success?(_.value={enabled:!!e?.enabled,type:e?.type===`workflow`?`workflow`:`command`,refId:String(e?.refId||``).trim()},!0):(n.error(`保存提交后启动项失败: ${t.error}`),!1)}catch(e){return n.error(`保存提交后启动项失败: ${e.message}`),!1}}async function X(e,t){try{let r=await(await fetch(`/api/config/save-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return r.success?(t===`description`?i.value.includes(e)||i.value.push(e):t===`scope`?o.value.includes(e)||o.value.push(e):t===`message`?l.value.includes(e)||l.value.push(e):t===`command`&&(u.value.includes(e)||u.value.push(e)),n.success(c(`@D50BB:模板已保存`)),!0):(n.error(`${c(`@D50BB:保存模板失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:保存模板失败: `)}${e.message}`),!1}}async function re(e,t){try{let r=await(await fetch(`/api/config/delete-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return r.success?(t===`description`?i.value=i.value.filter(t=>t!==e):t===`scope`?o.value=o.value.filter(t=>t!==e):t===`message`?l.value=l.value.filter(t=>t!==e):t===`command`&&(u.value=u.value.filter(t=>t!==e)),n.success(c(`@D50BB:模板已删除`)),!0):(n.error(`${c(`@D50BB:删除模板失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:删除模板失败: `)}${e.message}`),!1}}async function ie(e,t,r){try{let a=await(await fetch(`/api/config/update-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({oldTemplate:e,newTemplate:t,type:r})})).json();if(a.success){if(r===`description`){let n=i.value.indexOf(e);n!==-1&&(i.value[n]=t)}else if(r===`scope`){let n=o.value.indexOf(e);n!==-1&&(o.value[n]=t)}else if(r===`message`){let n=l.value.indexOf(e);n!==-1&&(l.value[n]=t)}else if(r===`command`){let n=u.value.indexOf(e);n!==-1&&(u.value[n]=t)}return n.success(c(`@D50BB:模板已更新`)),!0}else return n.error(`${c(`@D50BB:更新模板失败: `)}${a.error}`),!1}catch(e){return n.error(`${c(`@D50BB:更新模板失败: `)}${e.message}`),!1}}async function ae(e,t){try{let r=await(await fetch(`/api/config/pin-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return r.success?(t===`description`?(i.value=i.value.filter(t=>t!==e),i.value.unshift(e)):t===`scope`?(o.value=o.value.filter(t=>t!==e),o.value.unshift(e)):t===`message`?(l.value=l.value.filter(t=>t!==e),l.value.unshift(e)):t===`command`&&(u.value=u.value.filter(t=>t!==e),u.value.unshift(e)),n.success(c(`@D50BB:模板已置顶`)),!0):(n.error(`${c(`@D50BB:置顶模板失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:置顶模板失败: `)}${e.message}`),!1}}async function Z(){try{let e=await(await fetch(`/api/locked-files`)).json();return e.success?(d.value=e.lockedFiles||[],e.lockedFiles):(n.error(`${c(`@D50BB:加载锁定文件列表失败: `)}${e.error}`),[])}catch(e){return console.error(`加载锁定文件列表失败:`,e),n.error(`${c(`@D50BB:加载锁定文件列表失败: `)}${e.message}`),[]}}async function oe(e){try{let t=await(await fetch(`/api/lock-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})})).json();return t.success?(await Z(),n.success(`${c(`@D50BB:文件已锁定: `)}${e}`),!0):(n.error(`${c(`@D50BB:锁定文件失败: `)}${t.error}`),!1)}catch(e){return console.error(`锁定文件失败:`,e),n.error(`${c(`@D50BB:锁定文件失败: `)}${e.message}`),!1}}async function se(e){try{let t=await(await fetch(`/api/unlock-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})})).json();return t.success?(await Z(),n.success(`${c(`@D50BB:文件已解锁: `)}${e}`),!0):(n.error(`${c(`@D50BB:解锁文件失败: `)}${t.error}`),!1)}catch(e){return console.error(`解锁文件失败:`,e),n.error(`${c(`@D50BB:解锁文件失败: `)}${e.message}`),!1}}async function Q(e){try{let t=await(await fetch(`/api/check-file-lock`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})})).json();return t.success?t.isLocked:(console.error(`检查文件锁定状态失败:`,t.error),!1)}catch(e){return console.error(`检查文件锁定状态失败:`,e),!1}}async function ce(e){try{let t=await(await fetch(`/api/config/save-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({command:e})})).json();return t.success?(await B(!0),n.success(c(`@CMD01:命令已保存`)),!0):(n.error(`${c(`@CMD01:保存命令失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@CMD01:保存命令失败: `)}${e.message}`),!1}}async function le(e){try{let t=await(await fetch(`/api/config/delete-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e})})).json();return t.success?(await B(!0),n.success(c(`@CMD01:命令已删除`)),!0):(n.error(`${c(`@CMD01:删除命令失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@CMD01:删除命令失败: `)}${e.message}`),!1}}async function ue(e,t){try{let r=await(await fetch(`/api/config/update-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,command:t})})).json();return r.success?(await B(!0),n.success(c(`@CMD01:命令已更新`)),!0):(n.error(`${c(`@CMD01:更新命令失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@CMD01:更新命令失败: `)}${e.message}`),!1}}async function de(e){try{let t=await(await fetch(`/api/config/pin-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e})})).json();return t.success?(await B(!0),!0):(n.error(t.error),!1)}catch(e){return n.error(e.message),!1}}async function fe(e){try{let t=await(await fetch(`/api/config/save-orchestration`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({orchestration:e})})).json();return t.success?(await B(!0),n.success(c(`@ORCH:编排已保存`)),t.orchestration||null):(n.error(`${c(`@ORCH:保存编排失败: `)}${t.error}`),null)}catch(e){return n.error(`${c(`@ORCH:保存编排失败: `)}${e.message}`),null}}async function pe(e){try{let t=await(await fetch(`/api/config/delete-orchestration`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e})})).json();return t.success?(await B(!0),n.success(c(`@ORCH:编排已删除`)),!0):(n.error(`${c(`@ORCH:删除编排失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@ORCH:删除编排失败: `)}${e.message}`),!1}}async function me(e,t){try{let r=await(await fetch(`/api/config/update-orchestration`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,orchestration:t})})).json();return r.success?(await B(!0),n.success(c(`@ORCH:编排已更新`)),!0):(n.error(`${c(`@ORCH:更新编排失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@ORCH:更新编排失败: `)}${e.message}`),!1}}async function he(e,t){try{let r=await(await fetch(`/api/config/save-startup-items`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({startupItems:e,startupAutoRun:t===void 0?g.value:t})})).json();return r.success?(h.value=e,t!==void 0&&(g.value=t),!0):(n.error(`保存启动项失败: ${r.error}`),!1)}catch(e){return n.error(`保存启动项失败: ${e.message}`),!1}}async function ge(e){try{let t=await(await fetch(`/api/config/save-models`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:e})})).json();return t.success?(j.value=e,!0):(n.error(`${c(`@D50BB:保存模型失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:保存模型失败: `)}${e.message}`),!1}}async function $(e){try{let t=await(await fetch(`/api/config/save-general-settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json();if(t.success){if(e.theme&&(k.value=e.theme,I(e.theme)),e.locale){A.value=e.locale,s(e.locale);let t=f();t.currentLocale=e.locale}return!0}else return n.error(`保存通用设置失败: ${t.error}`),!1}catch(e){return n.error(`保存通用设置失败: ${e.message}`),!1}}return{models:j,defaultCommitMessage:r,descriptionTemplates:i,scopeTemplates:o,messageTemplates:l,commandTemplates:u,lockedFiles:d,customCommands:p,orchestrations:m,startupItems:h,startupAutoRun:g,afterQuickPushAction:_,isLoading:v,isLoaded:y,configLoadError:b,configFilePath:x,hasConfigLoadError:R,currentDirectory:S,config:L,autoClosePushModal:C,autoSetDefaultMessage:w,isStandardCommit:T,skipHooks:E,autoQuickPushOnEnter:D,pullBeforePush:O,theme:k,locale:A,ui:N,isUiLoaded:P,aiDiffSummaryEnabled:F,loadConfig:B,setCurrentDirectory:ee,openSystemConfigFile:z,saveTemplate:X,saveModels:ge,saveGeneralSettings:$,saveUiSettings:G,setAiDiffSummaryEnabled:q,resetUiLayout:K,applyTheme:I,toggleTheme:ne,saveDefaultMessage:J,deleteTemplate:re,updateTemplate:ie,pinTemplate:ae,loadLockedFiles:Z,lockFile:oe,unlockFile:se,isFileLocked:Q,saveCustomCommand:ce,deleteCustomCommand:le,updateCustomCommand:ue,pinCustomCommand:de,saveOrchestration:fe,deleteOrchestration:pe,updateOrchestration:me,saveStartupItems:he,saveAfterQuickPushAction:Y,saveCommitSettings:V}});export{f as n,p as t};
|
|
1
|
+
import"./rolldown-runtime-BM3Ffeng.js";import{Qn as e,dr as t,i as n,n as r,t as i,vn as a}from"./element-plus-DXuL5yWp.js";import{ga as o}from"./vendor-I3yQCqJK.js";import{a as s,n as c,r as l}from"./_plugin-vue_export-helper-D-BeVTHz.js";var u={"zh-CN":r,"en-US":i};function d(e){return u[e]||r}var f=o(`locale`,()=>{let e=t(l()),n=a(()=>d(e.value));async function r(t){s(t),e.value=t;let n=p();n.locale!==t&&await n.saveGeneralSettings({locale:t})}return{currentLocale:e,elementPlusLocale:n,changeLocale:r}}),p=o(`config`,()=>{let r=t(``),i=t([]),o=t([]),l=t([]),u=t([]),d=t([]),p=t([]),m=t([]),h=t([]),g=t(!1),_=t({enabled:!1,type:`command`,refId:``}),v=t(!1),y=t(!1),b=t(``),x=t(``),S=t(``),C=t(!0),w=t(!1),T=t(!0),E=t(!1),D=t(!1),O=t(!0),k=t(`light`),A=t(`zh-CN`),j=t([]),M={layout:{leftRatio:.25,midRatio:.375,rightRatio:.375,topRatio:.5},layoutsByProject:{},aiDiffSummaryByProject:{},fileListViewMode:`list`,fileDiffSplitPercent:35,diffPreviewSplitPercent:55,commandConsole:{expanded:!0,useTerminal:!0,showTerminalSessions:!0,splitPercent:25},editorAutoSave:!1,mindmapDir:``},N=t(JSON.parse(JSON.stringify(M))),P=t(!1);function ee(e){S.value=e||``}let F=a(()=>{let e=S.value;return e?N.value.aiDiffSummaryByProject[e]!==!1:!1});function te(){let e=S.value;if(e&&N.value.layoutsByProject?.[e]){N.value.layout={...N.value.layoutsByProject[e]};return}}function I(e){let t=document.documentElement;e===`dark`?t.setAttribute(`data-theme`,`dark`):e===`light`?t.removeAttribute(`data-theme`):window.matchMedia(`(prefers-color-scheme: dark)`).matches?t.setAttribute(`data-theme`,`dark`):t.removeAttribute(`data-theme`)}function ne(){let e=document.documentElement.getAttribute(`data-theme`)===`dark`?`light`:`dark`;return k.value=e,I(e),$({theme:e}).catch(e=>{console.error(`保存主题切换结果失败:`,e)}),e}I(k.value);let L=a(()=>({defaultCommitMessage:r.value,descriptionTemplates:i.value,scopeTemplates:o.value,messageTemplates:l.value,commandTemplates:u.value,lockedFiles:d.value,customCommands:p.value,orchestrations:m.value,startupItems:h.value,startupAutoRun:g.value,afterQuickPushAction:_.value,currentDirectory:S.value})),R=a(()=>!!(b.value&&b.value.trim()));async function z(){try{let e=await fetch(`/api/config/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`}}),t=await e.json().catch(()=>({}));return e.ok&&t?.success?(n.success(c(`@D50BB:已打开系统配置文件`)),!0):(n.error(`${c(`@D50BB:打开系统配置文件失败: `)}${t?.error||``}`),!1)}catch(e){return n.error(`${c(`@D50BB:打开系统配置文件失败: `)}${e.message}`),!1}}async function B(e=!1){if(!e&&y.value&&!v.value)return console.log(c(`@D50BB:使用缓存的配置信息`)),L.value;v.value=!0;try{v.value=!0,console.log(c(`@D50BB:加载配置信息...`));let e=await fetch(`/api/config/getConfig`),t=await e.json().catch(()=>({}));if(!e.ok||t&&t.success===!1){let e=String(t?.error||c(`@D50BB:加载配置失败`)),r=String(t?.configPath||``),i=r?`\n${c(`@D50BB:配置文件`)}: ${r}`:``;return n.error(`${c(`@D50BB:加载配置失败: `)}${e}${i}`),b.value=e,x.value=r,null}if(b.value=``,x.value=``,r.value=t.defaultCommitMessage||``,i.value=t.descriptionTemplates||[],o.value=t.scopeTemplates||[],l.value=t.messageTemplates||[],u.value=t.commandTemplates||[],d.value=t.lockedFiles||[],p.value=t.customCommands||[],m.value=t.orchestrations||[],h.value=(t.startupItems||[]).map(e=>({id:String(e?.id??``),type:e?.type===`workflow`?`workflow`:`command`,refId:String(e?.refId??e?.commandId??``),createdAt:Number(e?.createdAt??Date.now()),enabled:typeof e?.enabled==`boolean`?e.enabled:!0})).filter(e=>e.id&&e.refId),g.value=t.startupAutoRun||!1,_.value={enabled:!!t?.afterQuickPushAction?.enabled,type:t?.afterQuickPushAction?.type===`workflow`?`workflow`:`command`,refId:String(t?.afterQuickPushAction?.refId||``).trim()},t.isStandardCommit!==void 0&&(T.value=!!t.isStandardCommit),t.skipHooks!==void 0&&(E.value=!!t.skipHooks),t.autoQuickPushOnEnter!==void 0&&(D.value=!!t.autoQuickPushOnEnter),t.autoSetDefaultMessage!==void 0&&(w.value=!!t.autoSetDefaultMessage),t.autoClosePushModal!==void 0&&(C.value=!!t.autoClosePushModal),t.pullBeforePush!==void 0&&(O.value=!!t.pullBeforePush),Array.isArray(t.models)&&(j.value=t.models),t.theme&&[`light`,`dark`,`auto`].includes(t.theme)&&(k.value=t.theme,I(t.theme)),t.locale&&[`zh-CN`,`en-US`].includes(t.locale)){A.value=t.locale,s(t.locale);let e=f();e.currentLocale=t.locale}if(t.currentDirectory&&(S.value=t.currentDirectory),t.ui==null){let e=e=>{try{return localStorage.getItem(e)}catch{return null}},t={},n=e(`zen-gitsync-layout-left-ratio`),r=e(`zen-gitsync-layout-mid-ratio`),i=e(`zen-gitsync-layout-right-ratio`),a=e(`zen-gitsync-layout-top-ratio`);if(n||r||i||a){let e=(e,t)=>{let n=e==null?NaN:parseFloat(e);return Number.isFinite(n)?n:t};t.layout={leftRatio:e(n,M.layout.leftRatio),midRatio:e(r,M.layout.midRatio),rightRatio:e(i,M.layout.rightRatio),topRatio:e(a,M.layout.topRatio)}}let o=e(`zen-gitsync-file-list-view-mode`);(o===`list`||o===`tree`)&&(t.fileListViewMode=o);let s=e(`zen-gitsync-filediff-ratio`)??e(`fileDiff.splitPercent`);if(s!=null){let e=parseFloat(s);Number.isFinite(e)&&(t.fileDiffSplitPercent=Math.min(85,Math.max(15,e)))}let c=e(`useTerminal`),l=e(`isConsoleExpanded`),u=e(`showTerminalSessions`),d=e(`zen-gitsync-commandconsole-ratio`);if(c!==null||l!==null||u!==null||d!=null){let e=d==null?NaN:parseFloat(d);t.commandConsole={useTerminal:c!==`false`,expanded:l!==`false`,showTerminalSessions:u==null?!0:u===`true`,splitPercent:Number.isFinite(e)?Math.min(85,Math.max(15,e)):M.commandConsole.splitPercent}}let f=e(`zen-gitsync-editor-auto-save`);f!=null&&(t.editorAutoSave=f===`true`),Object.keys(t).length>0&&(N.value={...N.value,...t}),Object.keys(t).length>0&&G(t,{immediate:!0}).catch(e=>{console.error(`迁移 UI 设置到文件失败:`,e)});try{[`zen-gitsync-theme`,`zen-gitsync-locale`,`zen-gitsync-editor-auto-save`,`zen-gitsync-file-list-view-mode`,`zen-gitsync-filediff-ratio`,`fileDiff.splitPercent`,`isConsoleExpanded`,`useTerminal`,`showTerminalSessions`,`zen-gitsync-commandconsole-ratio`,`zen-gitsync-layout-left-ratio`,`zen-gitsync-layout-mid-ratio`,`zen-gitsync-layout-right-ratio`,`zen-gitsync-layout-top-ratio`,`locale`].forEach(e=>localStorage.removeItem(e))}catch{}}else{let e=t.ui.layoutsByProject&&typeof t.ui.layoutsByProject==`object`&&!Array.isArray(t.ui.layoutsByProject)?t.ui.layoutsByProject:{},n={};for(let[t,r]of Object.entries(e))if(r&&typeof r==`object`&&!Array.isArray(r)){let e=r;n[t]={leftRatio:Number.isFinite(Number(e.leftRatio))?Number(e.leftRatio):M.layout.leftRatio,midRatio:Number.isFinite(Number(e.midRatio))?Number(e.midRatio):M.layout.midRatio,rightRatio:Number.isFinite(Number(e.rightRatio))?Number(e.rightRatio):M.layout.rightRatio,topRatio:Number.isFinite(Number(e.topRatio))?Number(e.topRatio):M.layout.topRatio}}let r=t.ui.aiDiffSummaryByProject&&typeof t.ui.aiDiffSummaryByProject==`object`&&!Array.isArray(t.ui.aiDiffSummaryByProject)?t.ui.aiDiffSummaryByProject:{},i={};for(let[e,t]of Object.entries(r))typeof t==`boolean`&&(i[e]=t);N.value={layout:{...M.layout,...t.ui.layout||{}},layoutsByProject:n,aiDiffSummaryByProject:i,fileListViewMode:t.ui.fileListViewMode===`tree`?`tree`:`list`,fileDiffSplitPercent:Number.isFinite(Number(t.ui.fileDiffSplitPercent))?Math.min(85,Math.max(15,Number(t.ui.fileDiffSplitPercent))):M.fileDiffSplitPercent,diffPreviewSplitPercent:Number.isFinite(Number(t.ui.diffPreviewSplitPercent))?Math.min(85,Math.max(25,Number(t.ui.diffPreviewSplitPercent))):M.diffPreviewSplitPercent,commandConsole:{expanded:typeof t.ui.commandConsole?.expanded==`boolean`?t.ui.commandConsole.expanded:M.commandConsole.expanded,useTerminal:typeof t.ui.commandConsole?.useTerminal==`boolean`?t.ui.commandConsole.useTerminal:M.commandConsole.useTerminal,showTerminalSessions:typeof t.ui.commandConsole?.showTerminalSessions==`boolean`?t.ui.commandConsole.showTerminalSessions:M.commandConsole.showTerminalSessions,splitPercent:Number.isFinite(Number(t.ui.commandConsole?.splitPercent))?Math.min(85,Math.max(15,Number(t.ui.commandConsole.splitPercent))):M.commandConsole.splitPercent},editorAutoSave:typeof t.ui.editorAutoSave==`boolean`?t.ui.editorAutoSave:M.editorAutoSave,mindmapDir:typeof t.ui.mindmapDir==`string`?t.ui.mindmapDir:M.mindmapDir}}return te(),P.value=!0,y.value=!0,console.log(c(`@D50BB:配置信息加载完成`)),L.value}catch(e){return console.error(`加载配置失败:`,e),n.error(`${c(`@D50BB:加载配置失败: `)}${e.message}`),b.value=e.message,null}finally{v.value=!1}}async function V(){try{await fetch(`/api/config/save-commit-settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({isStandardCommit:T.value,skipHooks:E.value,autoQuickPushOnEnter:D.value,autoSetDefaultMessage:w.value,autoClosePushModal:C.value,pullBeforePush:O.value})})}catch(e){console.error(`保存提交设置失败:`,e)}}e([T,E,D,w,C,O],()=>{y.value&&V()});let H=null,U={};async function W(){if(H&&=(clearTimeout(H),null),Object.keys(U).length===0)return;let e=U;U={};try{await fetch(`/api/config/save-ui-settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}catch(e){console.error(`保存 UI 设置失败:`,e)}}async function G(e,t={}){if(P.value){if(t.immediate){Object.assign(U,e),await W();return}Object.assign(U,e),H&&clearTimeout(H),H=setTimeout(()=>{W()},300)}}async function K(){N.value.layout={...M.layout};let e=S.value;return e&&(N.value.layoutsByProject={...N.value.layoutsByProject,[e]:{...N.value.layout}}),await G({layoutsByProject:N.value.layoutsByProject},{immediate:!0}),N.value.layout}async function q(e){let t=S.value;t&&(N.value.aiDiffSummaryByProject={...N.value.aiDiffSummaryByProject,[t]:e},await G({aiDiffSummaryByProject:{[t]:e}},{immediate:!0}))}e(()=>N.value.fileListViewMode,e=>{P.value&&G({fileListViewMode:e})}),e(()=>N.value.fileDiffSplitPercent,e=>{P.value&&G({fileDiffSplitPercent:e})}),e(()=>N.value.diffPreviewSplitPercent,e=>{P.value&&e!=null&&G({diffPreviewSplitPercent:e})}),e(()=>N.value.editorAutoSave,e=>{P.value&&G({editorAutoSave:e})}),e(()=>N.value.layout,e=>{if(!P.value)return;let t=S.value;t&&(N.value.layoutsByProject={...N.value.layoutsByProject,[t]:e},G({layoutsByProject:N.value.layoutsByProject}))},{deep:!0}),e(()=>N.value.commandConsole,e=>{P.value&&G({commandConsole:e})},{deep:!0}),typeof window<`u`&&window.addEventListener(`beforeunload`,()=>{W()});async function J(e){try{let t=await(await fetch(`/api/config/saveDefaultMessage`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({defaultCommitMessage:e})})).json();return t.success?(r.value=e,n.success(c(`@D50BB:默认提交信息已保存`)),!0):(n.error(`${c(`@D50BB:保存失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:保存失败: `)}${e.message}`),!1}}async function Y(e){try{let t=await(await fetch(`/api/config/save-after-quick-push-action`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({afterQuickPushAction:{enabled:!!e?.enabled,type:e?.type===`workflow`?`workflow`:`command`,refId:String(e?.refId||``).trim()}})})).json();return t.success?(_.value={enabled:!!e?.enabled,type:e?.type===`workflow`?`workflow`:`command`,refId:String(e?.refId||``).trim()},!0):(n.error(`保存提交后启动项失败: ${t.error}`),!1)}catch(e){return n.error(`保存提交后启动项失败: ${e.message}`),!1}}async function X(e,t){try{let r=await(await fetch(`/api/config/save-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return r.success?(t===`description`?i.value.includes(e)||i.value.push(e):t===`scope`?o.value.includes(e)||o.value.push(e):t===`message`?l.value.includes(e)||l.value.push(e):t===`command`&&(u.value.includes(e)||u.value.push(e)),n.success(c(`@D50BB:模板已保存`)),!0):(n.error(`${c(`@D50BB:保存模板失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:保存模板失败: `)}${e.message}`),!1}}async function re(e,t){try{let r=await(await fetch(`/api/config/delete-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return r.success?(t===`description`?i.value=i.value.filter(t=>t!==e):t===`scope`?o.value=o.value.filter(t=>t!==e):t===`message`?l.value=l.value.filter(t=>t!==e):t===`command`&&(u.value=u.value.filter(t=>t!==e)),n.success(c(`@D50BB:模板已删除`)),!0):(n.error(`${c(`@D50BB:删除模板失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:删除模板失败: `)}${e.message}`),!1}}async function ie(e,t,r){try{let a=await(await fetch(`/api/config/update-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({oldTemplate:e,newTemplate:t,type:r})})).json();if(a.success){if(r===`description`){let n=i.value.indexOf(e);n!==-1&&(i.value[n]=t)}else if(r===`scope`){let n=o.value.indexOf(e);n!==-1&&(o.value[n]=t)}else if(r===`message`){let n=l.value.indexOf(e);n!==-1&&(l.value[n]=t)}else if(r===`command`){let n=u.value.indexOf(e);n!==-1&&(u.value[n]=t)}return n.success(c(`@D50BB:模板已更新`)),!0}else return n.error(`${c(`@D50BB:更新模板失败: `)}${a.error}`),!1}catch(e){return n.error(`${c(`@D50BB:更新模板失败: `)}${e.message}`),!1}}async function ae(e,t){try{let r=await(await fetch(`/api/config/pin-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return r.success?(t===`description`?(i.value=i.value.filter(t=>t!==e),i.value.unshift(e)):t===`scope`?(o.value=o.value.filter(t=>t!==e),o.value.unshift(e)):t===`message`?(l.value=l.value.filter(t=>t!==e),l.value.unshift(e)):t===`command`&&(u.value=u.value.filter(t=>t!==e),u.value.unshift(e)),n.success(c(`@D50BB:模板已置顶`)),!0):(n.error(`${c(`@D50BB:置顶模板失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:置顶模板失败: `)}${e.message}`),!1}}async function Z(){try{let e=await(await fetch(`/api/locked-files`)).json();return e.success?(d.value=e.lockedFiles||[],e.lockedFiles):(n.error(`${c(`@D50BB:加载锁定文件列表失败: `)}${e.error}`),[])}catch(e){return console.error(`加载锁定文件列表失败:`,e),n.error(`${c(`@D50BB:加载锁定文件列表失败: `)}${e.message}`),[]}}async function oe(e){try{let t=await(await fetch(`/api/lock-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})})).json();return t.success?(await Z(),n.success(`${c(`@D50BB:文件已锁定: `)}${e}`),!0):(n.error(`${c(`@D50BB:锁定文件失败: `)}${t.error}`),!1)}catch(e){return console.error(`锁定文件失败:`,e),n.error(`${c(`@D50BB:锁定文件失败: `)}${e.message}`),!1}}async function se(e){try{let t=await(await fetch(`/api/unlock-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})})).json();return t.success?(await Z(),n.success(`${c(`@D50BB:文件已解锁: `)}${e}`),!0):(n.error(`${c(`@D50BB:解锁文件失败: `)}${t.error}`),!1)}catch(e){return console.error(`解锁文件失败:`,e),n.error(`${c(`@D50BB:解锁文件失败: `)}${e.message}`),!1}}async function Q(e){try{let t=await(await fetch(`/api/check-file-lock`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})})).json();return t.success?t.isLocked:(console.error(`检查文件锁定状态失败:`,t.error),!1)}catch(e){return console.error(`检查文件锁定状态失败:`,e),!1}}async function ce(e){try{let t=await(await fetch(`/api/config/save-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({command:e})})).json();return t.success?(await B(!0),n.success(c(`@CMD01:命令已保存`)),!0):(n.error(`${c(`@CMD01:保存命令失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@CMD01:保存命令失败: `)}${e.message}`),!1}}async function le(e){try{let t=await(await fetch(`/api/config/delete-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e})})).json();return t.success?(await B(!0),n.success(c(`@CMD01:命令已删除`)),!0):(n.error(`${c(`@CMD01:删除命令失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@CMD01:删除命令失败: `)}${e.message}`),!1}}async function ue(e,t){try{let r=await(await fetch(`/api/config/update-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,command:t})})).json();return r.success?(await B(!0),n.success(c(`@CMD01:命令已更新`)),!0):(n.error(`${c(`@CMD01:更新命令失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@CMD01:更新命令失败: `)}${e.message}`),!1}}async function de(e){try{let t=await(await fetch(`/api/config/pin-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e})})).json();return t.success?(await B(!0),!0):(n.error(t.error),!1)}catch(e){return n.error(e.message),!1}}async function fe(e){try{let t=await(await fetch(`/api/config/save-orchestration`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({orchestration:e})})).json();return t.success?(await B(!0),n.success(c(`@ORCH:编排已保存`)),t.orchestration||null):(n.error(`${c(`@ORCH:保存编排失败: `)}${t.error}`),null)}catch(e){return n.error(`${c(`@ORCH:保存编排失败: `)}${e.message}`),null}}async function pe(e){try{let t=await(await fetch(`/api/config/delete-orchestration`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e})})).json();return t.success?(await B(!0),n.success(c(`@ORCH:编排已删除`)),!0):(n.error(`${c(`@ORCH:删除编排失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@ORCH:删除编排失败: `)}${e.message}`),!1}}async function me(e,t){try{let r=await(await fetch(`/api/config/update-orchestration`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,orchestration:t})})).json();return r.success?(await B(!0),n.success(c(`@ORCH:编排已更新`)),!0):(n.error(`${c(`@ORCH:更新编排失败: `)}${r.error}`),!1)}catch(e){return n.error(`${c(`@ORCH:更新编排失败: `)}${e.message}`),!1}}async function he(e,t){try{let r=await(await fetch(`/api/config/save-startup-items`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({startupItems:e,startupAutoRun:t===void 0?g.value:t})})).json();return r.success?(h.value=e,t!==void 0&&(g.value=t),!0):(n.error(`保存启动项失败: ${r.error}`),!1)}catch(e){return n.error(`保存启动项失败: ${e.message}`),!1}}async function ge(e){try{let t=await(await fetch(`/api/config/save-models`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:e})})).json();return t.success?(j.value=e,!0):(n.error(`${c(`@D50BB:保存模型失败: `)}${t.error}`),!1)}catch(e){return n.error(`${c(`@D50BB:保存模型失败: `)}${e.message}`),!1}}async function $(e){try{let t=await(await fetch(`/api/config/save-general-settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json();if(t.success){if(e.theme&&(k.value=e.theme,I(e.theme)),e.locale){A.value=e.locale,s(e.locale);let t=f();t.currentLocale=e.locale}return!0}else return n.error(`保存通用设置失败: ${t.error}`),!1}catch(e){return n.error(`保存通用设置失败: ${e.message}`),!1}}return{models:j,defaultCommitMessage:r,descriptionTemplates:i,scopeTemplates:o,messageTemplates:l,commandTemplates:u,lockedFiles:d,customCommands:p,orchestrations:m,startupItems:h,startupAutoRun:g,afterQuickPushAction:_,isLoading:v,isLoaded:y,configLoadError:b,configFilePath:x,hasConfigLoadError:R,currentDirectory:S,config:L,autoClosePushModal:C,autoSetDefaultMessage:w,isStandardCommit:T,skipHooks:E,autoQuickPushOnEnter:D,pullBeforePush:O,theme:k,locale:A,ui:N,isUiLoaded:P,aiDiffSummaryEnabled:F,loadConfig:B,setCurrentDirectory:ee,openSystemConfigFile:z,saveTemplate:X,saveModels:ge,saveGeneralSettings:$,saveUiSettings:G,setAiDiffSummaryEnabled:q,resetUiLayout:K,applyTheme:I,toggleTheme:ne,saveDefaultMessage:J,deleteTemplate:re,updateTemplate:ie,pinTemplate:ae,loadLockedFiles:Z,lockFile:oe,unlockFile:se,isFileLocked:Q,saveCustomCommand:ce,deleteCustomCommand:le,updateCustomCommand:ue,pinCustomCommand:de,saveOrchestration:fe,deleteOrchestration:pe,updateOrchestration:me,saveStartupItems:he,saveAfterQuickPushAction:Y,saveCommitSettings:V}});export{f as n,p as t};
|