zen-gitsync 2.17.45 → 2.17.46
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/cli/ai/agent.js +5 -1
- package/src/cli/ai/context.js +81 -7
- package/src/cli/ai/context.test.js +64 -1
- package/src/cli/ai/turn.js +3 -1
- package/src/config.js +20 -1
- package/src/ui/public/assets/{AgentEngineSelector-DklehAya.js → AgentEngineSelector-D6rlSfMD.js} +1 -1
- package/src/ui/public/assets/{AgentView-BB83G3x3.js → AgentView-BFRGoIVb.js} +1 -1
- package/src/ui/public/assets/{AppVersionBadge-DD9jzd0T.js → AppVersionBadge-BnPsn1X5.js} +2 -2
- package/src/ui/public/assets/{BranchSelector-BNK9Sh9m.js → BranchSelector-D30GJwUl.js} +1 -1
- package/src/ui/public/assets/{CommitForm-DhOR8SLd.js → CommitForm-Dvg-RUZI.js} +1 -1
- package/src/ui/public/assets/{CommonDialog-DiiVswHL.js → CommonDialog-BzLau2RJ.js} +1 -1
- package/src/ui/public/assets/{EditorView-Bujglhs9.js → EditorView-D4ZQutRw.js} +1 -1
- package/src/ui/public/assets/{FlowExecutionViewer-Bn4uBFZ9.js → FlowExecutionViewer-VL-rUElj.js} +1 -1
- package/src/ui/public/assets/{FlowOrchestrationWorkspace-B91-BIvF.js → FlowOrchestrationWorkspace-BPNlHRVu.js} +1 -1
- package/src/ui/public/assets/{LogList-kVdrFbaC.js → LogList-COwGjQl6.js} +1 -1
- package/src/ui/public/assets/{MindmapView-C19009vK.js → MindmapView-BVuqPD_H.js} +1 -1
- package/src/ui/public/assets/{MonitorView-kcZy_KA1.js → MonitorView-hqe-4xd0.js} +1 -1
- package/src/ui/public/assets/{ProjectStartupButton-BA4CrfPz.js → ProjectStartupButton-RBc-DJBR.js} +1 -1
- package/src/ui/public/assets/{RecentDirectoriesChat-Qx78wLVb.js → RecentDirectoriesChat-DFljcYFH.js} +1 -1
- package/src/ui/public/assets/{RemoteManagerDialog-DnRcxJ1E.js → RemoteManagerDialog-D6Rbjchl.js} +1 -1
- package/src/ui/public/assets/{RemoteRepoCard-Tpm3yKuD.js → RemoteRepoCard-l0NpXgvB.js} +1 -1
- package/src/ui/public/assets/{SourceMapView-DyS6VOG0.js → SourceMapView-CeVystt0.js} +1 -1
- package/src/ui/public/assets/{SvgIcon-CRCQbZ1H.js → SvgIcon-B-xDJQA1.js} +1 -1
- package/src/ui/public/assets/{UserInputNode-CibAkKOU.js → UserInputNode-DJglU68l.js} +1 -1
- package/src/ui/public/assets/{WorkbenchView-CzKsiGr3.css → WorkbenchView-BSQ87CDi.css} +1 -1
- package/src/ui/public/assets/WorkbenchView-BpH5kNht.js +20 -0
- package/src/ui/public/assets/{_plugin-vue_export-helper-DO_hkLgw.js → _plugin-vue_export-helper-Dz1ARW9a.js} +4 -4
- package/src/ui/public/assets/{agentConversations-gSbkMpVI.js → agentConversations-B8nY45V4.js} +2 -2
- package/src/ui/public/assets/configStore-CMlW8sMa.js +1 -0
- package/src/ui/public/assets/{index-Czdu1C9o.js → index-BQxIFopZ.js} +10 -10
- package/src/ui/public/assets/{index-DxRA_V28.css → index-u9LyUFkr.css} +1 -1
- package/src/ui/public/index.html +6 -6
- package/src/ui/server/routes/config.js +43 -11
- package/src/ui/server/routes/workbench/agentChat.js +7 -2
- package/src/ui/server/routes/workbench/agentRoutes.js +11 -1
- package/src/ui/public/assets/WorkbenchView-CZoswfeC.js +0 -20
- package/src/ui/public/assets/configStore-7LTPR6P8.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-C0FnF6B9.js";import{Cn as e,Rn as t,dr as n,i as r,ir as i,n as a,t as o,vr as s}from"./element-plus-DrCk0pcV.js";import{S as c,h as l,v as u}from"./vendor-yntih_em.js";import{a as d,n as f,r as p}from"./_plugin-vue_export-helper-DO_hkLgw.js";var m=[{id:`claude`,name:`Claude Code`},{id:`opencode`,name:`OpenCode`},{id:`codex`,name:`Codex`}];function h(e){return m.some(t=>t.id===e)}function g(e){return m.find(t=>t.id===e)?.name||m[0].name}var _={"zh-CN":a,"en-US":o};function v(e){return _[e]||a}n(),t();var y=c(`locale`,()=>{let t=s(p()),n=e(()=>v(t.value));async function r(e){d(e),t.value=e;let n=D();n.locale!==e&&await n.saveGeneralSettings({locale:e})}return{currentLocale:t,elementPlusLocale:n,changeLocale:r}}),b=`flowdash-md-preview-theme`,x=`data-md-theme`,S=`github`,C=Object.keys(l);function w(e,t){let n=RegExp(`(?:^|[;{\\n])\\s*${t}\\s*:\\s*([^;]+);`).exec(e);return n?n[1].trim():void 0}var T=C.map(e=>{let t=u(e)||``;return{value:e,bg:w(t,`background`),fg:w(t,`color`)}});function E(e){if(typeof document>`u`)return;let t=typeof e==`string`&&e.trim()?e.trim():S,n=u(t)??u(`github`),r=document.getElementById(b);if(!n){r?.remove();return}r||(r=document.createElement(`style`),r.id=b,document.head.appendChild(r)),r.setAttribute(x,t),r.textContent!==n&&(r.textContent=n)}n(),t();var D=c(`config`,()=>{let t=s(``),n=s([]),a=s([]),o=s([]),c=s([]),l=s([]),u=s([]),p=s([]),m=s([]),g=s(!1),_=s({enabled:!1,type:`command`,refId:``}),v=s(!1),b=s(!1),x=s(``),w=s(``),T=s(``),D=s(!0),O=s(!1),k=s(!0),A=s(!1),j=s(!1),M=s(!0),N=s(`light`),P=s(`zh-CN`),F=s([]),I=s(1e3),L=s(`claude`),R=s(!0),z=s(!1),B=s(!0),V={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:!0,fileTreeAutoRefresh:!0,editorSidebarWidth:220,mindmapDirs:[],mindmapDir:``,headerToolsHidden:[],lastTaskExecutor:null,pickerGlobalSearch:!1,markdownTheme:S,editorWorkspaceByProject:{}},H=s(JSON.parse(JSON.stringify(V))),U=s(!1);function ee(e){T.value=e||``}let te=e(()=>{let e=T.value;return e?H.value.aiDiffSummaryByProject[e]!==!1:!1});function ne(){let e=T.value;if(e&&H.value.layoutsByProject?.[e]){H.value.layout={...H.value.layoutsByProject[e]};return}}function W(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 re(){let e=document.documentElement.getAttribute(`data-theme`)===`dark`?`light`:`dark`;return N.value=e,W(e),$({theme:e}).catch(e=>{console.error(`保存主题切换结果失败:`,e)}),e}W(N.value);let G=e(()=>({defaultCommitMessage:t.value,descriptionTemplates:n.value,scopeTemplates:a.value,messageTemplates:o.value,commandTemplates:c.value,lockedFiles:l.value,customCommands:u.value,orchestrations:p.value,startupItems:m.value,startupAutoRun:g.value,afterQuickPushAction:_.value,currentDirectory:T.value})),ie=e(()=>!!(x.value&&x.value.trim()));async function ae(){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?(r.success(f(`@D50BB:已打开系统配置文件`)),!0):(r.error(`${f(`@D50BB:打开系统配置文件失败: `)}${t?.error||``}`),!1)}catch(e){return r.error(`${f(`@D50BB:打开系统配置文件失败: `)}${e.message}`),!1}}async function K(e=!1){if(!e&&b.value&&!v.value)return console.log(f(`@D50BB:使用缓存的配置信息`)),G.value;v.value=!0;try{v.value=!0,console.log(f(`@D50BB:加载配置信息...`));let e=await fetch(`/api/config/getConfig`),i=await e.json().catch(()=>({}));if(!e.ok||i&&i.success===!1){let e=String(i?.error||f(`@D50BB:加载配置失败`)),t=String(i?.configPath||``),n=t?`\n${f(`@D50BB:配置文件`)}: ${t}`:``;return r.error(`${f(`@D50BB:加载配置失败: `)}${e}${n}`),x.value=e,w.value=t,null}if(x.value=``,w.value=``,t.value=i.defaultCommitMessage||``,n.value=i.descriptionTemplates||[],a.value=i.scopeTemplates||[],o.value=i.messageTemplates||[],c.value=i.commandTemplates||[],l.value=i.lockedFiles||[],u.value=i.customCommands||[],p.value=i.orchestrations||[],m.value=(i.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})).filter(e=>e.id&&e.refId),g.value=i.startupAutoRun||!1,_.value={enabled:!!i?.afterQuickPushAction?.enabled,type:i?.afterQuickPushAction?.type===`workflow`?`workflow`:`command`,refId:String(i?.afterQuickPushAction?.refId||``).trim()},i.isStandardCommit!==void 0&&(k.value=!!i.isStandardCommit),i.skipHooks!==void 0&&(A.value=!!i.skipHooks),i.autoQuickPushOnEnter!==void 0&&(j.value=!!i.autoQuickPushOnEnter),i.autoSetDefaultMessage!==void 0&&(O.value=!!i.autoSetDefaultMessage),i.autoClosePushModal!==void 0&&(D.value=!!i.autoClosePushModal),i.pullBeforePush!==void 0&&(M.value=!!i.pullBeforePush),Array.isArray(i.models)&&(F.value=i.models),Number.isFinite(Number(i.aiMaxToolIterations))&&Number(i.aiMaxToolIterations)>0&&(I.value=Math.floor(Number(i.aiMaxToolIterations))),h(i.taskExecutor)&&(L.value=i.taskExecutor),typeof i.notifyPageOnTaskDone==`boolean`&&(R.value=i.notifyPageOnTaskDone),typeof i.notifyBrowserOnTaskDone==`boolean`&&(z.value=i.notifyBrowserOnTaskDone),typeof i.notifySoundOnTaskDone==`boolean`&&(B.value=i.notifySoundOnTaskDone),i.theme&&[`light`,`dark`,`auto`].includes(i.theme)&&(N.value=i.theme,W(i.theme)),i.locale&&[`zh-CN`,`en-US`].includes(i.locale)){P.value=i.locale,d(i.locale);let e=y();e.currentLocale=i.locale}if(i.currentDirectory&&(T.value=i.currentDirectory),i.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,V.layout.leftRatio),midRatio:e(r,V.layout.midRatio),rightRatio:e(i,V.layout.rightRatio),topRatio:e(a,V.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||u===`true`,splitPercent:Number.isFinite(e)?Math.min(85,Math.max(15,e)):V.commandConsole.splitPercent}}let f=e(`zen-gitsync-editor-auto-save`);f!=null&&(t.editorAutoSave=f===`true`),Object.keys(t).length>0&&(H.value={...H.value,...t}),Object.keys(t).length>0&&Z(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=i.ui.layoutsByProject&&typeof i.ui.layoutsByProject==`object`&&!Array.isArray(i.ui.layoutsByProject)?i.ui.layoutsByProject:{},t={};for(let[n,r]of Object.entries(e))if(r&&typeof r==`object`&&!Array.isArray(r)){let e=r;t[n]={leftRatio:Number.isFinite(Number(e.leftRatio))?Number(e.leftRatio):V.layout.leftRatio,midRatio:Number.isFinite(Number(e.midRatio))?Number(e.midRatio):V.layout.midRatio,rightRatio:Number.isFinite(Number(e.rightRatio))?Number(e.rightRatio):V.layout.rightRatio,topRatio:Number.isFinite(Number(e.topRatio))?Number(e.topRatio):V.layout.topRatio}}let n=i.ui.aiDiffSummaryByProject&&typeof i.ui.aiDiffSummaryByProject==`object`&&!Array.isArray(i.ui.aiDiffSummaryByProject)?i.ui.aiDiffSummaryByProject:{},r={};for(let[e,t]of Object.entries(n))typeof t==`boolean`&&(r[e]=t);let a=i.ui.editorWorkspaceByProject&&typeof i.ui.editorWorkspaceByProject==`object`&&!Array.isArray(i.ui.editorWorkspaceByProject)?i.ui.editorWorkspaceByProject:{},o={},s=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`&&e.length>0):[];for(let[e,t]of Object.entries(a)){if(!t||typeof t!=`object`||Array.isArray(t))continue;let n=t,r=s(n.tabs).slice(0,40);o[e]={expandedDirs:s(n.expandedDirs).slice(0,200),tabs:r,activeTab:typeof n.activeTab==`string`&&r.includes(n.activeTab)?n.activeTab:null}}let c=typeof i.ui.mindmapDir==`string`?i.ui.mindmapDir.trim():``,l=[],u=new Set,d=Array.isArray(i.ui.mindmapDirs)?i.ui.mindmapDirs:[];for(let e of d){if(typeof e!=`string`)continue;let t=e.trim();if(!t)continue;let n=t.toLowerCase();u.has(n)||(u.add(n),l.push(t))}l.length===0&&c&&l.push(c);let f={...V.layout,...i.ui.layout||{}};H.value={layout:f,layoutsByProject:t,aiDiffSummaryByProject:r,fileListViewMode:i.ui.fileListViewMode===`tree`?`tree`:`list`,fileDiffSplitPercent:Number.isFinite(Number(i.ui.fileDiffSplitPercent))?Math.min(85,Math.max(15,Number(i.ui.fileDiffSplitPercent))):V.fileDiffSplitPercent,diffPreviewSplitPercent:Number.isFinite(Number(i.ui.diffPreviewSplitPercent))?Math.min(85,Math.max(25,Number(i.ui.diffPreviewSplitPercent))):V.diffPreviewSplitPercent,commandConsole:{expanded:typeof i.ui.commandConsole?.expanded==`boolean`?i.ui.commandConsole.expanded:V.commandConsole.expanded,useTerminal:typeof i.ui.commandConsole?.useTerminal==`boolean`?i.ui.commandConsole.useTerminal:V.commandConsole.useTerminal,showTerminalSessions:typeof i.ui.commandConsole?.showTerminalSessions==`boolean`?i.ui.commandConsole.showTerminalSessions:V.commandConsole.showTerminalSessions,splitPercent:Number.isFinite(Number(i.ui.commandConsole?.splitPercent))?Math.min(85,Math.max(15,Number(i.ui.commandConsole.splitPercent))):V.commandConsole.splitPercent},editorAutoSave:typeof i.ui.editorAutoSave==`boolean`?i.ui.editorAutoSave:V.editorAutoSave,fileTreeAutoRefresh:typeof i.ui.fileTreeAutoRefresh==`boolean`?i.ui.fileTreeAutoRefresh:V.fileTreeAutoRefresh,editorSidebarWidth:Number.isFinite(Number(i.ui.editorSidebarWidth))?Math.min(400,Math.max(140,Number(i.ui.editorSidebarWidth))):V.editorSidebarWidth,mindmapDirs:l,mindmapDir:c,headerToolsHidden:Array.isArray(i.ui.headerToolsHidden)?i.ui.headerToolsHidden.filter(e=>typeof e==`string`):[],lastTaskExecutor:h(i.ui.lastTaskExecutor)?i.ui.lastTaskExecutor:V.lastTaskExecutor,pickerGlobalSearch:typeof i.ui.pickerGlobalSearch==`boolean`?i.ui.pickerGlobalSearch:V.pickerGlobalSearch,markdownTheme:typeof i.ui.markdownTheme==`string`&&C.includes(i.ui.markdownTheme)?i.ui.markdownTheme:V.markdownTheme,editorWorkspaceByProject:o}}return ne(),E(H.value.markdownTheme),U.value=!0,b.value=!0,console.log(f(`@D50BB:配置信息加载完成`)),G.value}catch(e){return console.error(`加载配置失败:`,e),r.error(`${f(`@D50BB:加载配置失败: `)}${e.message}`),x.value=e.message,null}finally{v.value=!1}}async function q(){try{await fetch(`/api/config/save-commit-settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({isStandardCommit:k.value,skipHooks:A.value,autoQuickPushOnEnter:j.value,autoSetDefaultMessage:O.value,autoClosePushModal:D.value,pullBeforePush:M.value})})}catch(e){console.error(`保存提交设置失败:`,e)}}i([k,A,j,O,D,M],()=>{b.value&&q()});let J=null,Y={};async function X(){if(J&&=(clearTimeout(J),null),Object.keys(Y).length===0)return;let e=Y;Y={};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 Z(e,t={}){if(U.value){if(t.immediate){Object.assign(Y,e),await X();return}Object.assign(Y,e),J&&clearTimeout(J),J=setTimeout(()=>{X()},300)}}async function oe(e){h(e)&&H.value.lastTaskExecutor!==e&&(H.value.lastTaskExecutor=e,await Z({lastTaskExecutor:e},{immediate:!0}))}let se=e(()=>h(H.value.lastTaskExecutor)?H.value.lastTaskExecutor:L.value);async function ce(){H.value.layout={...V.layout};let e=T.value;return e&&(H.value.layoutsByProject={...H.value.layoutsByProject,[e]:{...H.value.layout}}),await Z({layoutsByProject:H.value.layoutsByProject},{immediate:!0}),H.value.layout}async function le(e){let t=T.value;t&&(H.value.aiDiffSummaryByProject={...H.value.aiDiffSummaryByProject,[t]:e},await Z({aiDiffSummaryByProject:{[t]:e}},{immediate:!0}))}async function ue(e){if(!Number.isFinite(e))return;let t=Math.min(400,Math.max(140,e));H.value.editorSidebarWidth=t,await Z({editorSidebarWidth:t})}function de(e){let t=T.value;if(!t)return;let n=e.tabs.slice(0,40);H.value.editorWorkspaceByProject={...H.value.editorWorkspaceByProject,[t]:{expandedDirs:e.expandedDirs.slice(0,200),tabs:n,activeTab:e.activeTab&&n.includes(e.activeTab)?e.activeTab:null}},Z({editorWorkspaceByProject:H.value.editorWorkspaceByProject})}function fe(e){let t=e??T.value;return t?H.value.editorWorkspaceByProject[t]??null:null}i(()=>H.value.fileListViewMode,e=>{U.value&&Z({fileListViewMode:e})}),i(()=>H.value.fileDiffSplitPercent,e=>{U.value&&Z({fileDiffSplitPercent:e})}),i(()=>H.value.diffPreviewSplitPercent,e=>{U.value&&e!=null&&Z({diffPreviewSplitPercent:e})}),i(()=>H.value.editorAutoSave,e=>{U.value&&Z({editorAutoSave:e})}),i(()=>H.value.fileTreeAutoRefresh,e=>{U.value&&Z({fileTreeAutoRefresh:e})}),i(()=>H.value.headerToolsHidden,e=>{U.value&&Array.isArray(e)&&Z({headerToolsHidden:e})}),i(()=>H.value.mindmapDirs,e=>{U.value&&Array.isArray(e)&&Z({mindmapDirs:e})}),i(()=>H.value.pickerGlobalSearch,e=>{U.value&&Z({pickerGlobalSearch:e})});let pe=e(()=>H.value.markdownTheme);async function me(e){let t=C.includes(e)?e:V.markdownTheme;return H.value.markdownTheme=t,E(t),await Z({markdownTheme:t},{immediate:!0}),t}i(()=>H.value.markdownTheme,e=>{U.value&&typeof e==`string`&&e&&(E(e),Z({markdownTheme:e}))}),i(()=>H.value.layout,e=>{if(!U.value)return;let t=T.value;t&&(H.value.layoutsByProject={...H.value.layoutsByProject,[t]:e},Z({layoutsByProject:H.value.layoutsByProject}))},{deep:!0}),i(()=>H.value.commandConsole,e=>{U.value&&Z({commandConsole:e})},{deep:!0}),typeof window<`u`&&window.addEventListener(`beforeunload`,()=>{X()});async function he(e){try{let n=await(await fetch(`/api/config/saveDefaultMessage`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({defaultCommitMessage:e})})).json();return n.success?(t.value=e,r.success(f(`@D50BB:默认提交信息已保存`)),!0):(r.error(`${f(`@D50BB:保存失败: `)}${n.error}`),!1)}catch(e){return r.error(`${f(`@D50BB:保存失败: `)}${e.message}`),!1}}async function ge(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):(r.error(`保存提交后启动项失败: ${t.error}`),!1)}catch(e){return r.error(`保存提交后启动项失败: ${e.message}`),!1}}async function _e(e,t){try{let i=await(await fetch(`/api/config/save-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return i.success?(t===`description`?n.value.includes(e)||n.value.push(e):t===`scope`?a.value.includes(e)||a.value.push(e):t===`message`?o.value.includes(e)||o.value.push(e):t===`command`&&(c.value.includes(e)||c.value.push(e)),r.success(f(`@D50BB:模板已保存`)),!0):(r.error(`${f(`@D50BB:保存模板失败: `)}${i.error}`),!1)}catch(e){return r.error(`${f(`@D50BB:保存模板失败: `)}${e.message}`),!1}}async function ve(e,t){try{let i=await(await fetch(`/api/config/delete-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return i.success?(t===`description`?n.value=n.value.filter(t=>t!==e):t===`scope`?a.value=a.value.filter(t=>t!==e):t===`message`?o.value=o.value.filter(t=>t!==e):t===`command`&&(c.value=c.value.filter(t=>t!==e)),r.success(f(`@D50BB:模板已删除`)),!0):(r.error(`${f(`@D50BB:删除模板失败: `)}${i.error}`),!1)}catch(e){return r.error(`${f(`@D50BB:删除模板失败: `)}${e.message}`),!1}}async function ye(e,t,i){try{let s=await(await fetch(`/api/config/update-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({oldTemplate:e,newTemplate:t,type:i})})).json();if(s.success){if(i===`description`){let r=n.value.indexOf(e);r!==-1&&(n.value[r]=t)}else if(i===`scope`){let n=a.value.indexOf(e);n!==-1&&(a.value[n]=t)}else if(i===`message`){let n=o.value.indexOf(e);n!==-1&&(o.value[n]=t)}else if(i===`command`){let n=c.value.indexOf(e);n!==-1&&(c.value[n]=t)}return r.success(f(`@D50BB:模板已更新`)),!0}return r.error(`${f(`@D50BB:更新模板失败: `)}${s.error}`),!1}catch(e){return r.error(`${f(`@D50BB:更新模板失败: `)}${e.message}`),!1}}async function be(e,t){try{let i=await(await fetch(`/api/config/pin-template`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({template:e,type:t})})).json();return i.success?(t===`description`?(n.value=n.value.filter(t=>t!==e),n.value.unshift(e)):t===`scope`?(a.value=a.value.filter(t=>t!==e),a.value.unshift(e)):t===`message`?(o.value=o.value.filter(t=>t!==e),o.value.unshift(e)):t===`command`&&(c.value=c.value.filter(t=>t!==e),c.value.unshift(e)),r.success(f(`@D50BB:模板已置顶`)),!0):(r.error(`${f(`@D50BB:置顶模板失败: `)}${i.error}`),!1)}catch(e){return r.error(`${f(`@D50BB:置顶模板失败: `)}${e.message}`),!1}}async function Q(){try{let e=await(await fetch(`/api/locked-files`)).json();return e.success?(l.value=e.lockedFiles||[],e.lockedFiles):(r.error(`${f(`@D50BB:加载锁定文件列表失败: `)}${e.error}`),[])}catch(e){return console.error(`加载锁定文件列表失败:`,e),r.error(`${f(`@D50BB:加载锁定文件列表失败: `)}${e.message}`),[]}}async function xe(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 Q(),r.success(`${f(`@D50BB:文件已锁定: `)}${e}`),!0):(r.error(`${f(`@D50BB:锁定文件失败: `)}${t.error}`),!1)}catch(e){return console.error(`锁定文件失败:`,e),r.error(`${f(`@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 Q(),r.success(`${f(`@D50BB:文件已解锁: `)}${e}`),!0):(r.error(`${f(`@D50BB:解锁文件失败: `)}${t.error}`),!1)}catch(e){return console.error(`解锁文件失败:`,e),r.error(`${f(`@D50BB:解锁文件失败: `)}${e.message}`),!1}}async function Ce(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 we(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 K(!0),r.success(f(`@CMD01:命令已保存`)),!0):(r.error(`${f(`@CMD01:保存命令失败: `)}${t.error}`),!1)}catch(e){return r.error(`${f(`@CMD01:保存命令失败: `)}${e.message}`),!1}}async function Te(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 K(!0),r.success(f(`@CMD01:命令已删除`)),!0):(r.error(`${f(`@CMD01:删除命令失败: `)}${t.error}`),!1)}catch(e){return r.error(`${f(`@CMD01:删除命令失败: `)}${e.message}`),!1}}async function Ee(e,t){try{let n=await(await fetch(`/api/config/update-custom-command`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,command:t})})).json();return n.success?(await K(!0),r.success(f(`@CMD01:命令已更新`)),!0):(r.error(`${f(`@CMD01:更新命令失败: `)}${n.error}`),!1)}catch(e){return r.error(`${f(`@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 K(!0),!0):(r.error(t.error),!1)}catch(e){return r.error(e.message),!1}}async function Oe(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 K(!0),r.success(f(`@ORCH:编排已保存`)),t.orchestration||null):(r.error(`${f(`@ORCH:保存编排失败: `)}${t.error}`),null)}catch(e){return r.error(`${f(`@ORCH:保存编排失败: `)}${e.message}`),null}}async function ke(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 K(!0),r.success(f(`@ORCH:编排已删除`)),!0):(r.error(`${f(`@ORCH:删除编排失败: `)}${t.error}`),!1)}catch(e){return r.error(`${f(`@ORCH:删除编排失败: `)}${e.message}`),!1}}async function Ae(e,t){try{let n=await(await fetch(`/api/config/update-orchestration`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,orchestration:t})})).json();return n.success?(await K(!0),r.success(f(`@ORCH:编排已更新`)),!0):(r.error(`${f(`@ORCH:更新编排失败: `)}${n.error}`),!1)}catch(e){return r.error(`${f(`@ORCH:更新编排失败: `)}${e.message}`),!1}}async function je(e,t){try{let n=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 n.success?(m.value=e,t!==void 0&&(g.value=t),!0):(r.error(`保存启动项失败: ${n.error}`),!1)}catch(e){return r.error(`保存启动项失败: ${e.message}`),!1}}async function Me(e){try{let t=await(await fetch(`/api/config/save-ai-settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({aiMaxToolIterations:e.aiMaxToolIterations})})).json();return t.success?(I.value=Number(t.aiMaxToolIterations)||e.aiMaxToolIterations,!0):(r.error(`${f(`@D50BB:保存 AI 设置失败: `)}${t.error}`),!1)}catch(e){return r.error(`${f(`@D50BB:保存 AI 设置失败: `)}${e.message}`),!1}}async function Ne(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?(F.value=e,!0):(r.error(`${f(`@D50BB:保存模型失败: `)}${t.error}`),!1)}catch(e){return r.error(`${f(`@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&&(N.value=e.theme,W(e.theme)),e.locale){P.value=e.locale,d(e.locale);let t=y();t.currentLocale=e.locale}return h(e.taskExecutor)&&(L.value=e.taskExecutor),typeof e.notifyPageOnTaskDone==`boolean`&&(R.value=e.notifyPageOnTaskDone),typeof e.notifyBrowserOnTaskDone==`boolean`&&(z.value=e.notifyBrowserOnTaskDone),typeof e.notifySoundOnTaskDone==`boolean`&&(B.value=e.notifySoundOnTaskDone),!0}return r.error(`保存通用设置失败: ${t.error}`),!1}catch(e){return r.error(`保存通用设置失败: ${e.message}`),!1}}return{models:F,aiMaxToolIterations:I,taskExecutor:L,resolvedTaskExecutor:se,setLastTaskExecutor:oe,notifyPageOnTaskDone:R,notifyBrowserOnTaskDone:z,notifySoundOnTaskDone:B,defaultCommitMessage:t,descriptionTemplates:n,scopeTemplates:a,messageTemplates:o,commandTemplates:c,lockedFiles:l,customCommands:u,orchestrations:p,startupItems:m,startupAutoRun:g,afterQuickPushAction:_,isLoading:v,isLoaded:b,configLoadError:x,configFilePath:w,hasConfigLoadError:ie,currentDirectory:T,config:G,autoClosePushModal:D,autoSetDefaultMessage:O,isStandardCommit:k,skipHooks:A,autoQuickPushOnEnter:j,pullBeforePush:M,theme:N,locale:P,ui:H,isUiLoaded:U,aiDiffSummaryEnabled:te,markdownTheme:pe,loadConfig:K,setCurrentDirectory:ee,openSystemConfigFile:ae,saveTemplate:_e,saveModels:Ne,saveAiSettings:Me,saveGeneralSettings:$,saveUiSettings:Z,setAiDiffSummaryEnabled:le,setEditorSidebarWidth:ue,saveEditorWorkspace:de,getEditorWorkspace:fe,setMarkdownTheme:me,resetUiLayout:ce,applyTheme:W,toggleTheme:re,saveDefaultMessage:he,deleteTemplate:ve,updateTemplate:ye,pinTemplate:be,loadLockedFiles:Q,lockFile:xe,unlockFile:Se,isFileLocked:Ce,saveCustomCommand:we,deleteCustomCommand:Te,updateCustomCommand:Ee,pinCustomCommand:De,saveOrchestration:Oe,deleteOrchestration:ke,updateOrchestration:Ae,saveStartupItems:je,saveAfterQuickPushAction:ge,saveCommitSettings:q}});export{h as a,m as i,T as n,g as o,y as r,D as t};
|