zen-gitsync 2.18.12 → 2.18.13

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.
Files changed (79) hide show
  1. package/package.json +1 -1
  2. package/src/cli/ai/agent.js +1385 -1385
  3. package/src/cli/ai/context.js +431 -431
  4. package/src/cli/ai/context.test.js +376 -376
  5. package/src/cli/ai/turn.js +190 -190
  6. package/src/ui/public/assets/AgentView-CuEM6xzC.js +11 -0
  7. package/src/ui/public/assets/AppVersionBadge-BK1Fiv3b.js +2 -0
  8. package/src/ui/public/assets/BranchSelector-avxY_m05.js +1 -0
  9. package/src/ui/public/assets/CommitForm-hThTnoNt.js +14 -0
  10. package/src/ui/public/assets/CommonDialog-zaBdFGFH.js +1 -0
  11. package/src/ui/public/assets/CopySessionButton-CAxaqLQL.js +21 -0
  12. package/src/ui/public/assets/EditorView-iSA2SXJR.js +37 -0
  13. package/src/ui/public/assets/{FlowExecutionViewer-Ce4Q5ia6.js → FlowExecutionViewer-C5ylYV2C.js} +1 -1
  14. package/src/ui/public/assets/FlowOrchestrationWorkspace-CiQ07ZQv.js +21 -0
  15. package/src/ui/public/assets/LogList-Sjb8vmvq.js +7 -0
  16. package/src/ui/public/assets/MindmapView-B5rChFMP.js +2 -0
  17. package/src/ui/public/assets/MonitorView-Dcc-i2Fo.js +3 -0
  18. package/src/ui/public/assets/ProjectStartupButton-fz6eLCZU.js +1 -0
  19. package/src/ui/public/assets/RecentDirectoriesChat-BDnNp9jh.js +3 -0
  20. package/src/ui/public/assets/RemoteManagerDialog-NA1jRC7O.js +4 -0
  21. package/src/ui/public/assets/RemoteRepoCard-CKm4KqHs.js +7 -0
  22. package/src/ui/public/assets/SourceMapView-Drfato_u.js +3 -0
  23. package/src/ui/public/assets/SvgIcon-DR_79iBR.js +1 -0
  24. package/src/ui/public/assets/UserInputNode-DroKvDOa.js +1 -0
  25. package/src/ui/public/assets/WorkbenchView-CW7OACCU.js +326 -0
  26. package/src/ui/public/assets/{WorkbenchView-DzBtCzay.css → WorkbenchView-C_u6BptZ.css} +1 -1
  27. package/src/ui/public/assets/{_plugin-vue_export-helper-BY0jlMBE.js → _plugin-vue_export-helper-bQQyMRS6.js} +5 -5
  28. package/src/ui/public/assets/{agentConversations-CC01a7SP.js → agentConversations-wYAksLq1.js} +8 -8
  29. package/src/ui/public/assets/{configStore-EvRYufor.js → configStore-BeHB-gV4.js} +1 -1
  30. package/src/ui/public/assets/{css.worker-BDCmgL4U.js → css.worker-DFdt6_zu.js} +9 -9
  31. package/src/ui/public/assets/{dagre-Ct-SQ-7k.js → dagre-CXi8gaG9.js} +4 -4
  32. package/src/ui/public/assets/editor.worker-O-CH8JUO.js +26 -0
  33. package/src/ui/public/assets/{element-plus-D-6gla1z.css → element-plus-DJ3ZQa98.css} +1 -1
  34. package/src/ui/public/assets/element-plus-DgSY_Wt4.js +48 -0
  35. package/src/ui/public/assets/{flow-mindmap-C8x6ucsA.js → flow-mindmap-BsTRkgat.js} +56 -56
  36. package/src/ui/public/assets/{html.worker-DG8hnSJR.js → html.worker-JUzsMP-j.js} +8 -8
  37. package/src/ui/public/assets/index-BRQstBzy.js +211 -0
  38. package/src/ui/public/assets/json.worker-B4dEhy0e.js +58 -0
  39. package/src/ui/public/assets/{monaco-BV4P06MT.js → monaco-CnWeufxc.js} +6 -6
  40. package/src/ui/public/assets/{office-docx-B8BoOvth.js → office-docx-EUfAIM4w.js} +6 -6
  41. package/src/ui/public/assets/{office-excel-CFRkxKv8.js → office-excel-BZW0bXQo.js} +1 -1
  42. package/src/ui/public/assets/{office-pptx-DXdbDvLM.js → office-pptx-CBvDNZ4m.js} +3 -3
  43. package/src/ui/public/assets/{ts.worker-DgFMIcEs.js → ts.worker-CmEKzkmF.js} +49 -49
  44. package/src/ui/public/assets/{useOrchestrator-C8BD2JSO.js → useOrchestrator-Bhl7DGKW.js} +1 -1
  45. package/src/ui/public/assets/{vendor-DYtaPSUU.js → vendor-CZlKgriV.js} +43 -43
  46. package/src/ui/public/assets/vue-flow-DawpR_uk.js +39 -0
  47. package/src/ui/public/index.html +12 -12
  48. package/src/ui/server/routes/config.js +1348 -1348
  49. package/src/ui/server/routes/workbench/agentChat.js +752 -752
  50. package/src/ui/server/routes/workbench/agentChatShared.test.js +496 -496
  51. package/src/ui/server/routes/workbench/agentRoutes.js +13 -1
  52. package/src/ui/server/routes/workbench/agentRoutes.test.js +75 -0
  53. package/src/ui/server/routes/workbench/index.js +2 -1
  54. package/src/ui/server/routes/workbench/scheduleRoutes.js +2 -2
  55. package/src/ui/server/routes/workbench/shared.js +17 -0
  56. package/src/ui/public/assets/AgentView-CVbcrngz.js +0 -11
  57. package/src/ui/public/assets/AppVersionBadge-7gFB6t_t.js +0 -2
  58. package/src/ui/public/assets/BranchSelector-BIRNxA6U.js +0 -1
  59. package/src/ui/public/assets/CommitForm-CWpaazi7.js +0 -14
  60. package/src/ui/public/assets/CommonDialog-DrxsmpDL.js +0 -1
  61. package/src/ui/public/assets/CopySessionButton-C_01fcd3.js +0 -21
  62. package/src/ui/public/assets/EditorView-D80wG480.js +0 -37
  63. package/src/ui/public/assets/FlowOrchestrationWorkspace-Cq1zEt5K.js +0 -21
  64. package/src/ui/public/assets/LogList-DtmJG27U.js +0 -7
  65. package/src/ui/public/assets/MindmapView-BR2_C4Du.js +0 -2
  66. package/src/ui/public/assets/MonitorView-Cs_kwPBu.js +0 -3
  67. package/src/ui/public/assets/ProjectStartupButton-BfQJ0i5X.js +0 -1
  68. package/src/ui/public/assets/RecentDirectoriesChat-_gNQGqkM.js +0 -3
  69. package/src/ui/public/assets/RemoteManagerDialog-KY5I3Ftv.js +0 -4
  70. package/src/ui/public/assets/RemoteRepoCard-BUgdGtwC.js +0 -7
  71. package/src/ui/public/assets/SourceMapView-RkGgdvnN.js +0 -3
  72. package/src/ui/public/assets/SvgIcon-CP7WAT4C.js +0 -1
  73. package/src/ui/public/assets/UserInputNode-CwSqPh4O.js +0 -1
  74. package/src/ui/public/assets/WorkbenchView-CBfccRIP.js +0 -320
  75. package/src/ui/public/assets/editor.worker-GCPm6rMv.js +0 -26
  76. package/src/ui/public/assets/element-plus-CDrtgG55.js +0 -48
  77. package/src/ui/public/assets/index-CyEcaEC9.js +0 -211
  78. package/src/ui/public/assets/json.worker-CxwlJRnL.js +0 -58
  79. package/src/ui/public/assets/vue-flow-B7Hdmt-y.js +0 -39
@@ -1 +1 @@
1
- import"./rolldown-runtime-C0FnF6B9.js";import{i as e,mr as t,xr as n}from"./element-plus-CDrtgG55.js";import{n as r}from"./_plugin-vue_export-helper-BY0jlMBE.js";import{t as i}from"./configStore-EvRYufor.js";import{m as a}from"./index-CyEcaEC9.js";var o=[0,5,10,15,30,60].map(e=>e*60*1e3),s=6e5;function c(e){let t=Number(e);return o.includes(t)?t:s}function l(e){return e?e>=36e5?`@WORKBENCH:每 {n} 小时报告`:`@WORKBENCH:每 {n} 分钟报告`:`@WORKBENCH:关闭自动报告`}function u(e){return e?{n:Math.round(e>=36e5?e/36e5:e/6e4)}:{}}function d(e){switch(e){case`NO_MODEL`:return`@WORKBENCH:没有可用的 AI 模型,只记录了任务事实`;case`LLM_TIMEOUT`:return`@WORKBENCH:生成超时,只记录了任务事实`;case`LLM_EMPTY`:return`@WORKBENCH:模型没有返回正文,只记录了任务事实`;case`LLM_FAILED`:return`@WORKBENCH:生成失败,只记录了任务事实`;default:return`@WORKBENCH:生成失败,只记录了任务事实`}}function f(e){if(e==null||e===``)return null;let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.round(t);return n>=0&&n<=100?n:null}function p(e,t){let n=new Map,r=new Map;for(let t of e||[])for(let e of t?.tasks||[]){let t=f(e.percent);t!==null&&(e.jobId?n.has(e.jobId)||n.set(e.jobId,t):e.taskId&&!r.has(e.taskId)&&r.set(e.taskId,t))}let i={};for(let e of t||[]){if(!e||!e.id||!e.live)continue;let t=(e.live.jobId?n.get(e.live.jobId):void 0)??r.get(e.id);t!==void 0&&(i[e.id]=t)}return i}function m(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?null:Math.floor(e)}var h=`@WORKBENCH:AI 估计`,g=`@WORKBENCH:百分比是主 Agent 根据任务思考与工具调用推测的大致估计,不是精确进度`;t();var _=1e5;function v(){let t=n([]),o=n([]),l=n(_),u=n([]),d=n(null),f=n(!1),p=n(!1),m=n(``),h=n({}),g=n([]),v=n(!1),y=n(!1),b=n(s);async function x(n=!1){try{let i=await fetch(`/api/workbench/orchestrator`,{cache:`no-store`}).then(e=>e.json());return i?.success?(Number.isInteger(i.maxInstructionChars)&&i.maxInstructionChars>0&&(l.value=i.maxInstructionChars),t.value=Array.isArray(i.instructions)?i.instructions:[],o.value=Array.isArray(i.activity)?i.activity:[],u.value=Array.isArray(i.running)?i.running:[],a().setRunning(u.value.length),d.value=i.updatedAt||null,m.value=typeof i.defaultPrompt==`string`?i.defaultPrompt:``,h.value=i.projectPrompts&&typeof i.projectPrompts==`object`?i.projectPrompts:{},b.value=c(i.reportIntervalMs),f.value=!0,!0):(n||e.error(i?.error||r(`@WORKBENCH:读取编排状态失败`)),!1)}catch(t){return n||e.error(r(`@WORKBENCH:网络错误: `)+(t?.message||t)),!1}}async function S(t=!1){if(v.value)return!1;v.value=!0;try{let n=await fetch(`/api/workbench/orchestrator/reports`,{cache:`no-store`}).then(e=>e.json());return n?.success?(g.value=Array.isArray(n.reports)?n.reports:[],!0):(t||e.error(n?.error||r(`@WORKBENCH:读取进度报告失败`)),!1)}catch(n){return t||e.error(r(`@WORKBENCH:网络错误: `)+(n?.message||n)),!1}finally{v.value=!1}}async function C(){if(y.value)return null;y.value=!0;try{let t=String(i().locale||``).startsWith(`en`)?`en`:`zh`,n=await fetch(`/api/workbench/orchestrator/report`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({locale:t})}).then(e=>e.json());return n?.success?n.report?(g.value=[n.report,...g.value].slice(0,20),n.report):(e.info(r(`@WORKBENCH:当前没有正在执行的任务,没有可汇报的进度`)),null):(e.error(n?.error||r(`@WORKBENCH:生成进度报告失败`)),null)}catch(t){return e.error(r(`@WORKBENCH:网络错误: `)+(t?.message||t)),null}finally{y.value=!1}}async function w(t){try{let n=await fetch(`/api/workbench/orchestrator/report-interval`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({intervalMs:t})}).then(e=>e.json());return n?.success?(b.value=c(n.reportIntervalMs),!0):(e.error(n?.error||r(`@WORKBENCH:保存失败`)),!1)}catch(t){return e.error(r(`@WORKBENCH:网络错误: `)+(t?.message||t)),!1}}async function T(t){try{let n=await fetch(`/api/workbench/orchestrator/default-prompt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({prompt:t})}).then(e=>e.json());return n?.success?(m.value=typeof n.defaultPrompt==`string`?n.defaultPrompt:``,e.success(r(`@WORKBENCH:已保存全局预设提示词`)),!0):(e.error(n?.error||r(`@WORKBENCH:保存失败`)),!1)}catch(t){return e.error(r(`@WORKBENCH:网络错误: `)+(t?.message||t)),!1}}async function E(t,n){try{let i=await fetch(`/api/workbench/orchestrator/project-prompt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({projectPath:t,prompt:n})}).then(e=>e.json());return i?.success?(h.value=i.projectPrompts&&typeof i.projectPrompts==`object`?i.projectPrompts:{},e.success(r(`@WORKBENCH:已保存项目预设提示词`)),!0):(e.error(i?.error||r(`@WORKBENCH:保存失败`)),!1)}catch(t){return e.error(r(`@WORKBENCH:网络错误: `)+(t?.message||t)),!1}}async function D(t){if(p.value)return null;p.value=!0;try{let n=await fetch(`/api/workbench/orchestrator/dispatch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:t.text,projectPath:t.projectPath||``,autoRun:t.autoRun!==!1,useDefaultPrompt:t.useDefaultPrompt!==!1,executor:t.executor,attachments:(t.attachments||[]).map(e=>({id:e.id,ext:e.ext,originalName:e.originalName}))})}).then(e=>e.json());return n?.success?(await x(!0),{task:n.task||null,ran:!!n.ran}):(e.error(n?.error||r(`@WORKBENCH:派发失败`)),null)}catch(t){return e.error(r(`@WORKBENCH:网络错误: `)+(t?.message||t)),null}finally{p.value=!1}}return{instructions:t,activity:o,running:u,updatedAt:d,loaded:f,dispatching:p,maxInstructionChars:l,defaultPrompt:m,projectPrompts:h,reports:g,loadingReports:v,generatingReport:y,reportIntervalMs:b,loadOrchestrator:x,dispatch:D,saveDefaultPrompt:T,saveProjectPrompt:E,loadReports:S,generateReport:C,setReportInterval:w}}export{d as a,f as c,h as i,m as l,o as n,l as o,g as r,u as s,v as t,p as u};
1
+ import"./rolldown-runtime-C0FnF6B9.js";import{Sr as e,a as t,hr as n}from"./element-plus-DgSY_Wt4.js";import{n as r}from"./_plugin-vue_export-helper-bQQyMRS6.js";import{t as i}from"./configStore-BeHB-gV4.js";import{m as a}from"./index-BRQstBzy.js";var o=[0,5,10,15,30,60].map(e=>e*60*1e3),s=6e5;function c(e){let t=Number(e);return o.includes(t)?t:s}function l(e){return e?e>=36e5?`@WORKBENCH:每 {n} 小时报告`:`@WORKBENCH:每 {n} 分钟报告`:`@WORKBENCH:关闭自动报告`}function u(e){return e?{n:Math.round(e>=36e5?e/36e5:e/6e4)}:{}}function d(e){switch(e){case`NO_MODEL`:return`@WORKBENCH:没有可用的 AI 模型,只记录了任务事实`;case`LLM_TIMEOUT`:return`@WORKBENCH:生成超时,只记录了任务事实`;case`LLM_EMPTY`:return`@WORKBENCH:模型没有返回正文,只记录了任务事实`;case`LLM_FAILED`:return`@WORKBENCH:生成失败,只记录了任务事实`;default:return`@WORKBENCH:生成失败,只记录了任务事实`}}function f(e){if(e==null||e===``)return null;let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.round(t);return n>=0&&n<=100?n:null}function p(e,t){let n=new Map,r=new Map;for(let t of e||[])for(let e of t?.tasks||[]){let t=f(e.percent);t!==null&&(e.jobId?n.has(e.jobId)||n.set(e.jobId,t):e.taskId&&!r.has(e.taskId)&&r.set(e.taskId,t))}let i={};for(let e of t||[]){if(!e||!e.id||!e.live)continue;let t=(e.live.jobId?n.get(e.live.jobId):void 0)??r.get(e.id);t!==void 0&&(i[e.id]=t)}return i}function m(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?null:Math.floor(e)}var h=`@WORKBENCH:AI 估计`,g=`@WORKBENCH:百分比是主 Agent 根据任务思考与工具调用推测的大致估计,不是精确进度`;n();var _=1e5;function v(){let n=e([]),o=e([]),l=e(_),u=e([]),d=e(null),f=e(!1),p=e(!1),m=e(``),h=e({}),g=e([]),v=e(!1),y=e(!1),b=e(s);async function x(e=!1){try{let i=await fetch(`/api/workbench/orchestrator`,{cache:`no-store`}).then(e=>e.json());return i?.success?(Number.isInteger(i.maxInstructionChars)&&i.maxInstructionChars>0&&(l.value=i.maxInstructionChars),n.value=Array.isArray(i.instructions)?i.instructions:[],o.value=Array.isArray(i.activity)?i.activity:[],u.value=Array.isArray(i.running)?i.running:[],a().setRunning(u.value.length),d.value=i.updatedAt||null,m.value=typeof i.defaultPrompt==`string`?i.defaultPrompt:``,h.value=i.projectPrompts&&typeof i.projectPrompts==`object`?i.projectPrompts:{},b.value=c(i.reportIntervalMs),f.value=!0,!0):(e||t.error(i?.error||r(`@WORKBENCH:读取编排状态失败`)),!1)}catch(n){return e||t.error(r(`@WORKBENCH:网络错误: `)+(n?.message||n)),!1}}async function S(e=!1){if(v.value)return!1;v.value=!0;try{let n=await fetch(`/api/workbench/orchestrator/reports`,{cache:`no-store`}).then(e=>e.json());return n?.success?(g.value=Array.isArray(n.reports)?n.reports:[],!0):(e||t.error(n?.error||r(`@WORKBENCH:读取进度报告失败`)),!1)}catch(n){return e||t.error(r(`@WORKBENCH:网络错误: `)+(n?.message||n)),!1}finally{v.value=!1}}async function C(){if(y.value)return null;y.value=!0;try{let e=String(i().locale||``).startsWith(`en`)?`en`:`zh`,n=await fetch(`/api/workbench/orchestrator/report`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({locale:e})}).then(e=>e.json());return n?.success?n.report?(g.value=[n.report,...g.value].slice(0,20),n.report):(t.info(r(`@WORKBENCH:当前没有正在执行的任务,没有可汇报的进度`)),null):(t.error(n?.error||r(`@WORKBENCH:生成进度报告失败`)),null)}catch(e){return t.error(r(`@WORKBENCH:网络错误: `)+(e?.message||e)),null}finally{y.value=!1}}async function w(e){try{let n=await fetch(`/api/workbench/orchestrator/report-interval`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({intervalMs:e})}).then(e=>e.json());return n?.success?(b.value=c(n.reportIntervalMs),!0):(t.error(n?.error||r(`@WORKBENCH:保存失败`)),!1)}catch(e){return t.error(r(`@WORKBENCH:网络错误: `)+(e?.message||e)),!1}}async function T(e){try{let n=await fetch(`/api/workbench/orchestrator/default-prompt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({prompt:e})}).then(e=>e.json());return n?.success?(m.value=typeof n.defaultPrompt==`string`?n.defaultPrompt:``,t.success(r(`@WORKBENCH:已保存全局预设提示词`)),!0):(t.error(n?.error||r(`@WORKBENCH:保存失败`)),!1)}catch(e){return t.error(r(`@WORKBENCH:网络错误: `)+(e?.message||e)),!1}}async function E(e,n){try{let i=await fetch(`/api/workbench/orchestrator/project-prompt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({projectPath:e,prompt:n})}).then(e=>e.json());return i?.success?(h.value=i.projectPrompts&&typeof i.projectPrompts==`object`?i.projectPrompts:{},t.success(r(`@WORKBENCH:已保存项目预设提示词`)),!0):(t.error(i?.error||r(`@WORKBENCH:保存失败`)),!1)}catch(e){return t.error(r(`@WORKBENCH:网络错误: `)+(e?.message||e)),!1}}async function D(e){if(p.value)return null;p.value=!0;try{let n=await fetch(`/api/workbench/orchestrator/dispatch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:e.text,projectPath:e.projectPath||``,autoRun:e.autoRun!==!1,useDefaultPrompt:e.useDefaultPrompt!==!1,executor:e.executor,attachments:(e.attachments||[]).map(e=>({id:e.id,ext:e.ext,originalName:e.originalName}))})}).then(e=>e.json());return n?.success?(await x(!0),{task:n.task||null,ran:!!n.ran}):(t.error(n?.error||r(`@WORKBENCH:派发失败`)),null)}catch(e){return t.error(r(`@WORKBENCH:网络错误: `)+(e?.message||e)),null}finally{p.value=!1}}return{instructions:n,activity:o,running:u,updatedAt:d,loaded:f,dispatching:p,maxInstructionChars:l,defaultPrompt:m,projectPrompts:h,reports:g,loadingReports:v,generatingReport:y,reportIntervalMs:b,loadOrchestrator:x,dispatch:D,saveDefaultPrompt:T,saveProjectPrompt:E,loadReports:S,generateReport:C,setReportInterval:w}}export{d as a,f as c,h as i,m as l,o as n,l as o,g as r,u as s,v as t,p as u};