@customize-agent/server 4.0.110 → 4.0.111
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +4 -4
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/chunks/6041.js +8 -8
- package/.next/server/chunks/8204.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/api/documents/generated/[id].js +2 -1
- package/.next/server/pages/asset-library.html +1 -1
- package/.next/server/pages/document-roles.html +1 -1
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages-manifest.json +23 -23
- package/.next/static/{WFPMB0O5frURgkh5Qa8-n → JB9RY8Th5ev3d7Ja5Jys1}/_buildManifest.js +1 -1
- package/.next/static/chunks/pages/{_app-45a68e88c43b4f2c.js → _app-708815cd5af2fe03.js} +1 -1
- package/.next/static/chunks/pages/documents-181c9242fd75682b.js +1 -0
- package/package.json +4 -4
- package/scripts/verify-next-static.js +9 -6
- package/.next/static/chunks/pages/documents-e79320e8cb87a955.js +0 -1
- /package/.next/static/{WFPMB0O5frURgkh5Qa8-n → JB9RY8Th5ev3d7Ja5Jys1}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[298],{16403:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/documents",function(){return r(19562)}])},19562:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>eo});var l=r(65321),s=r(97109),a=r(7576),n=r(35292),o=r(33442),i=r(17807),c=r(63455),d=r(11702),u=r(88762),m=r(85114),p=r(58569),x=r(84253),h=r(26171),g=r(34052),f=r(68787),v=r(42700),j=r(2256),y=r(38770),w=r(38332),A=r(76506),b=r(50883),k=r(23718),S=r(23216),I=r(26619),C=r(8263),N=r(16285),T=r(8579),R=r(75548),E=r(7851),B=r(84742),z=r(29071),M=r(63552),F=r(26631),_=r(7225),D=r(83914),P=r(58209),L=r(54746),G=r(93051),W=r(64068),O=r(38762),q=r(64629),H=r(1310),V=r(67547),K=r(76830),U=r(6578),X=r(48321);let{TextArea:Q}=a.A,{Text:J}=n.A;function Y(e){let{type:t="info",title:r,children:s,style:a}=e,n="error"===t?"var(--colorError)":"warning"===t?"var(--colorWarning)":"success"===t?"var(--colorSuccess)":"var(--colorInfo)";return(0,l.jsxs)("div",{style:{border:"1px solid ".concat(n),background:"error"===t?"var(--colorErrorBg)":"warning"===t?"var(--colorWarningBg)":"success"===t?"var(--colorSuccessBg)":"var(--colorInfoBg)",borderRadius:8,padding:"9px 12px",...a},children:[(0,l.jsx)(J,{strong:!0,style:{color:n},children:r}),s&&(0,l.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12},children:s})]})}function Z(e){let{children:t,gap:r=12,style:s}=e;return(0,l.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:r,...s},children:t})}let $=null;function ee(){null==$||$.listeners.forEach(e=>e())}let et={role_binding:(0,l.jsx)(S.A,{}),knowledge_retrieval:(0,l.jsx)(I.A,{}),file_understanding:(0,l.jsx)(C.A,{}),fact_extraction:(0,l.jsx)(N.A,{}),chapter_generation:(0,l.jsx)(T.A,{}),asset_generation:(0,l.jsx)(R.A,{}),validation:(0,l.jsx)(E.A,{}),formatting:(0,l.jsx)(B.A,{}),llm_review:(0,l.jsx)(z.A,{}),export_ready:(0,l.jsx)(M.A,{}),reference:(0,l.jsx)(R.A,{})},er={施工组织设计:(0,l.jsx)(E.A,{}),投标文件:(0,l.jsx)(M.A,{}),技术方案:(0,l.jsx)(N.A,{}),报告:(0,l.jsx)(F.A,{}),自定义:(0,l.jsx)(T.A,{})};function el(e){return[...new Set(e.map(e=>e.trim()).filter(Boolean))]}function es(e){return e.map(e=>({key:e.key,value:e.key,rawTitle:e.title,title:e.isFolder?(0,l.jsxs)("div",{className:"flex items-center justify-between w-full pr-4",children:[(0,l.jsxs)(o.A,{size:4,children:[(0,l.jsx)(_.A,{style:{color:"#faad14"}}),(0,l.jsx)("span",{children:e.title})]}),(0,l.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:[e.fileCount||0," 项"]})]}):(0,l.jsx)("span",{title:e.key,children:e.title}),isFolder:e.isFolder,fileCount:e.fileCount||+!e.isFolder,isLeaf:e.isLeaf}))}let ea={role_binding:"角色配置绑定",knowledge_retrieval:"知识库检索",file_understanding:"多模态文件理解",fact_extraction:"LLM 事实抽取",chapter_generation:"LLM 章节生成",asset_generation:"多模态资源生成",validation:"规则校验",formatting:"格式化排版",llm_review:"LLM 审查优化",export_ready:"导出就绪",reference:"参考资源处理"},en={"knowledge-base":"知识库","document-readiness":"生成准备度检查","quality-repair":"质量补写","export-gate":"导出门禁","context-memory":"项目上下文","final-format":"正式排版","multimodal-files":"多模态文件理解",tender_announcement:"招标公告"};function eo(){var e,t,r,n,R;let _=(0,X.Vr)(),{message:eo}=i.A.useApp(),[ei]=c.A.useForm(),ec=(0,s.useRef)(null),[ed,eu]=(0,s.useState)([]),[em,ep]=(0,s.useState)("construction-organization-design"),[ex,eh]=(0,s.useState)([]),[eg,ef]=(0,s.useState)([]),[ev,ej]=(0,s.useState)([]),[ey,ew]=(0,s.useState)([]),[eA,eb]=(0,s.useState)(!1),[ek,eS]=(0,s.useState)(),[eI,eC]=(0,s.useState)(!0),[eN,eT]=(0,s.useState)(!1),[eR,eE]=(0,s.useState)(null),[eB,ez]=(0,s.useState)(""),[eM,eF]=(0,s.useState)([]),[e_,eD]=(0,s.useState)(null),[eP,eL]=(0,s.useState)(null),[eG,eW]=(0,s.useState)(""),[eO,eq]=(0,s.useState)(!1),[eH,eV]=(0,s.useState)("idle"),[eK,eU]=(0,s.useState)(null),[eX,eQ]=(0,s.useState)(null),[eJ,eY]=(0,s.useState)({start:0,end:0}),[eZ,e$]=(0,s.useState)([]),[e0,e1]=(0,s.useState)(!1),[e2,e6]=(0,s.useState)(!1),[e5,e8]=(0,s.useState)({}),e4=c.A.useWatch("projectRoleConfigId",ei),e3=(0,s.useMemo)(()=>eg.find(e=>e.id===e4),[eg,e4]),e7=(0,s.useMemo)(()=>new Set(((null==e3?void 0:e3.fileRoles)||[]).map(e=>e.roleId)),[e3]),e9=(0,s.useMemo)(()=>ex.filter(e=>"file"===e.type&&(!e4||e7.has(e.id))).map(e=>({label:e.name,value:e.id})),[ex,e7,e4]),te=c.A.useWatch("fileBindingGroups",ei)||{},tt=(0,s.useMemo)(()=>{var e,t,r;return(null==(e=ev.find(e=>e.selected))?void 0:e.projectRoot)||(null==(t=ev.find(e=>e.isCurrent))?void 0:t.projectRoot)||(null==(r=ev[0])?void 0:r.projectRoot)||""},[ev]);(0,s.useEffect)(()=>{if(!e2||!e4)return;let e=ei.getFieldValue("fileBindingGroups")||{},t=Object.fromEntries(Object.entries(e).filter(e=>{let[t]=e;return e7.has(t)}));Object.keys(t).length!==Object.keys(e).length&&ei.setFieldValue("fileBindingGroups",t)},[ei,e7,e4,e2]),(0,s.useEffect)(()=>{if(e2){if(0===e9.length)return void eS(void 0);ek&&e9.some(e=>e.value===ek)||eS(e9[0].value)}},[ek,e9,e2]);let[tr,tl]=(0,s.useState)([]),[ts,ta]=(0,s.useState)(null),[tn,to]=(0,s.useState)(null),[ti,tc]=(0,s.useState)("templates"),[td,tu]=(0,s.useState)(!1),[tm,tp]=(0,s.useState)("workflow"),tx=(0,s.useRef)(null),th=(0,s.useRef)(null),tg=(0,s.useRef)(0),tf=(0,s.useMemo)(()=>"activeGenDocId:".concat(tt||"default"),[tt]),tv=async()=>{try{eF((await (0,U.cQ)(tt||void 0)).documents)}catch(e){eF([])}};(0,s.useEffect)(()=>{let e=()=>{$&&(tl($.flowSteps),ta($.activeFlowKey),eT($.loading),$.documentId&&eD($.documentId),$.draft&&eE($.draft),void 0!==$.content&&ez($.content))},t=$;return null==t||t.listeners.add(e),e(),()=>{null==t||t.listeners.delete(e)}},[]),(0,s.useEffect)(()=>{eC(!0),Promise.all([(0,U.Dl)().then(e=>{var t,r;eu(e.templates),ep(null!=(r=null==(t=e.templates[0])?void 0:t.id)?r:"construction-organization-design")}),(0,U.lv)().then(e=>{eh(e.roles),ef(e.configs)}),(0,U.dx)().then(e=>ej(e))]).catch(()=>eo.error(_("common.error"))).finally(()=>eC(!1))},[eo,_]),(0,s.useEffect)(()=>{tt&&(localStorage.removeItem("activeGenDocId"),tv())},[tt]),(0,s.useEffect)(()=>{if(0===eM.length)return;let e=localStorage.getItem(tf);if(!e)return;if(!eM.find(t=>t.id===e&&"generating"===t.status))return void localStorage.removeItem(tf);let t=setInterval(()=>{(async()=>{try{let{document:r}=await (0,U.v7)(e,!1,tt||void 0);await tv(),"generating"!==r.status&&(localStorage.removeItem(tf),clearInterval(t))}catch(e){clearInterval(t)}})()},3e3);return()=>clearInterval(t)},[eM]);let tj=(0,s.useMemo)(()=>ed.find(e=>e.id===em),[ed,em]),ty=eg.map(e=>({label:e.name,value:e.id})),tw=Math.max(0,tr.findIndex(e=>e.key===ts)),tA=e=>{var t;return e?(null==(t=ex.find(t=>t.id===e))?void 0:t.name)||en[e]||"未知角色":""},tb=e=>e.subtitle||e.roleName||tA(e.roleId)||ea[e.type]||e.type,tk=e=>{var t,r,l;return e.promptName||((t=e.promptId)?(null==(r=ev.find(e=>e.id===t))?void 0:r.projectName)||(null==(l=ex.find(e=>e.id===t))?void 0:l.name)||en[t]||"未知提示词":"")},tS=()=>{tg.current+=1,eW(""),eU(null),eQ(null),e$([]),e1(!1),eq(!1),eV("idle")},tI=e=>{ep(e),eD(null),eE(null),ez(""),tS(),tp("workflow"),tu(!0),tc("drafts")},tC=async e=>{eD(e.id),ep(e.templateId);let t=tN(e.status);if(t||"failed"===e.status||"aborted"===e.status){tS(),to(e),eE(null),ez(""),eT(t),tp("workflow"),tu(!0);try{let{document:t}=await (0,U.v7)(e.id,!1,e.projectRoot||tt||void 0);tE(t),tN(t.status)?tB(t.id,t.projectRoot||e.projectRoot||tt||void 0):await tv()}catch(t){tE(e)}return}tp("editor"),tl([]),ta(null),tS();try{let{document:t}=await (0,U.v7)(e.id,!1,e.projectRoot||tt||void 0);eE(t.draft||null),ez(t.editedMarkdown||t.markdown)}catch(e){eo.error(_("common.error"))}tu(!0)},tN=e=>"completed"!==e&&"warning"!==e&&"failed"!==e&&"aborted"!==e,tT=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eN;(null==$?void 0:$.loading)&&($.flowSteps=e,$.activeFlowKey=t,$.loading=r,ee())},tR=e=>{var t,r,s,a,n;let o=e.executionStages||(null==(t=e.draft)?void 0:t.executionStages)||[];if(o.length>0){let t=o.map((t,r)=>{var s;let a,n=("failed"===e.status||"aborted"===e.status)&&"running"===t.status||"failed"===(a=t.status)?"error":"running"===a?"process":"fallback"===a?"warning":"finish";return{key:"".concat(t.type,"-").concat(r),title:t.title||ea[t.type]||t.type,subtitle:tb(t),description:t.message||"",status:n,icon:"role_binding"===(s=t.type)?(0,l.jsx)(S.A,{}):"knowledge_retrieval"===s?(0,l.jsx)(I.A,{}):"file_understanding"===s?(0,l.jsx)(C.A,{}):"fact_extraction"===s?(0,l.jsx)(N.A,{}):"chapter_generation"===s?(0,l.jsx)(T.A,{}):"llm_review"===s?(0,l.jsx)(z.A,{}):"validation"===s?(0,l.jsx)(E.A,{}):"formatting"===s?(0,l.jsx)(B.A,{}):"export_ready"===s?(0,l.jsx)(M.A,{}):(0,l.jsx)(F.A,{}),subSteps:((e,t,r)=>{let l=Array.isArray(e.details)?e.details.filter(Boolean):[],s=e.progress?"".concat(e.progress.label||"进度",":").concat(e.progress.current,"/").concat(e.progress.total):"",a=[...s?[s]:[],...l];return 0===a.length?[{key:"stage-".concat(r),title:tk(e)?"提示词:".concat(tk(e)):tb(e),status:t}]:a.slice(0,8).map((e,l)=>({key:"stage-".concat(r,"-").concat(l),title:e,status:"process"===t&&0===l?"process":"error"===t&&0===l?"error":"warning"===t?"warning":"process"===t?"finish":t}))})(t,n,r)}});"generating"===e.status&&t.length>0&&(null==(r=t.at(-1))?void 0:r.status)==="finish"&&(t[t.length-1]={...t[t.length-1],status:"process"});let i="generating"===e.status?(null==(s=t.at(-1))?void 0:s.key)||"prepare":"failed"===e.status||"aborted"===e.status?(null==(a=t.find(e=>"error"===e.status))?void 0:a.key)||(null==(n=t.at(-1))?void 0:n.key)||"prepare":"done";return{steps:t,activeKey:i}}return{steps:[],activeKey:null}},tE=e=>{to(e);let{steps:t,activeKey:r}=tR(e);tl(t),ta(r),eT(tN(e.status)),tT(t,r,tN(e.status)),("failed"===e.status||"aborted"===e.status)&&tp("workflow"),("completed"===e.status||"warning"===e.status)&&e.draft&&(eE(e.draft),ez(e.editedMarkdown||e.markdown),tp("editor"),tl([]),ta(null))},tB=(e,t)=>{tx.current&&clearInterval(tx.current),tx.current=setInterval(()=>{(async()=>{try{let{document:r}=await (0,U.v7)(e,!0,t||tt||void 0);tE(r),await tv(),tN(r.status)||(tx.current&&clearInterval(tx.current),tx.current=null,localStorage.removeItem(tf))}catch(e){}})()},2e3)};(0,s.useEffect)(()=>()=>{tx.current&&(clearInterval(tx.current),tx.current=null),th.current&&(clearTimeout(th.current),th.current=null)},[]),(0,s.useEffect)(()=>{if(!eN||!ts)return;let e=window.setInterval(()=>tl(e=>{let t=e.map(e=>{if(e.key!==ts||"process"!==e.status)return e;let t=e.subSteps.findIndex(e=>"process"===e.status),r=t<0?0:Math.min(t+1,e.subSteps.length-1);return{...e,subSteps:e.subSteps.map((e,t)=>t<r?{...e,status:"finish"}:t===r?{...e,status:"process"}:{...e,status:"wait"})}});return tT(t,ts),t}),1400);return()=>window.clearInterval(e)},[ts,eN]);let tz=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";eb(!0);try{let t=await (0,U.Fi)(e,tt||void 0);ew(es(t.nodes))}catch(e){eo.error("知识库文件加载失败")}finally{eb(!1)}},tM=async e=>{var t;let r=String(null!=(t=e.key)?t:"");if(r)try{let e=await (0,U.Fi)(r,tt||void 0),t=es(e.nodes),l=e=>e.map(e=>e.key===r?{...e,children:t}:e.children?{...e,children:l(e.children)}:e);ew(e=>l(e))}catch(e){eo.error("加载子文件夹失败")}},tF=e=>{var t,r,l;let s=null!=e?e:{id:"tpl-".concat(Date.now()),name:"",description:"",category:"自定义",outputTitle:"",projectRoleConfigId:void 0,chapters:[],fileBindings:[]};ei.resetFields(),ei.setFieldsValue({...s,fileBindingGroups:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce((e,t)=>(t.roleId&&t.filePath&&(e[t.roleId]=el([...e[t.roleId]||[],t.filePath])),e),{})}(s.fileBindings)}),eS(null==(l=eg.find(e=>e.id===s.projectRoleConfigId))||null==(r=l.fileRoles)||null==(t=r[0])?void 0:t.roleId),tz(),e6(!0)},t_=(e,t)=>{let r=ei.getFieldValue("fileBindingGroups")||{};ei.setFieldValue("fileBindingGroups",{...r,[e]:el(t)})},tD=async()=>{try{var e;await ei.validateFields();let t=ei.getFieldsValue(!0),r=new Set(((null==(e=eg.find(e=>e.id===t.projectRoleConfigId))?void 0:e.fileRoles)||[]).map(e=>e.roleId)),l=t.fileBindingGroups||{},s=Object.entries(l).filter(e=>{let[t]=e;return 0===r.size||r.has(t)}).flatMap(e=>{let[t,r]=e;return el(r||[]).map(e=>({roleId:t,filePath:e}))}),{fileBindingGroups:a,...n}=t,o={...n,chapters:[],fileBindings:s},i=await (0,U.l2)(o);eu(i.templates),ep(i.template.id),e6(!1),await tv(),eo.success(_("common.success"))}catch(e){e instanceof Error&&eo.error(e.message)}},tP=async e=>{try{let t=await (0,U.bV)(e);eu(t.templates),ep(t.template.id),eo.success(_("common.success"))}catch(e){eo.error(_("common.error"))}},tL=async e=>{try{var t,r;let l=await (0,U.h0)(e);eu(l.templates),ep(null!=(r=null==(t=l.templates[0])?void 0:t.id)?r:""),eo.success(_("common.success"))}catch(e){eo.error(_("common.error"))}},tG=async e=>{try{let{validation:t}=await (0,U.SM)(e,tt||void 0);e8(r=>({...r,[e]:t}));let r=t.issues.filter(e=>"error"===e.level);if(ep(e),r.length>0)return void eo.warning("模板运行前检查未通过,请先处理阻断项");if(t.issues.length>0)return void eo.warning("模板存在警告,可在检查面板确认后继续运行");tI(e)}catch(e){eo.error(e instanceof Error?e.message:"模板运行前检查失败")}},tW=async e=>{try{await (0,U.QG)(e.id,e.projectRoot||tt||void 0),e_===e.id&&(eD(null),eE(null),ez("")),await tv(),eo.success(_("common.success"))}catch(e){eo.error(_("common.error"))}},tO=async(e,t)=>{let r=Date.now(),l=0,s=Date.now();for(;;){let a;if(null==t?void 0:t.aborted)throw Error("用户中止");let n=new AbortController;t&&(t.pollController=n);try{({document:a}=await (0,U.v7)(e,!0,tt||void 0,n.signal))}finally{(null==t?void 0:t.pollController)===n&&(t.pollController=void 0)}if(tE(a),a.updatedAt!==l&&(l=a.updatedAt,s=Date.now()),("completed"===a.status||"warning"===a.status)&&a.draft)return a;if("failed"===a.status||"aborted"===a.status)throw Error(a.error||("aborted"===a.status?"生成已中止":"生成失败"));if(Date.now()-r>75e5||Date.now()-s>96e4)throw Error("生成任务疑似卡住,请点击继续生成或重新生成");await new Promise(e=>window.setTimeout(e,1500))}},tq=async()=>{if(!em)return;if((null==$?void 0:$.aborted)&&($=null),null==$?void 0:$.loading){tl($.flowSteps),ta($.activeFlowKey),eT(!0);return}if(!tt)return void eo.error("未识别当前项目,请先选择或打开项目后再生成文件");eT(!0);let e=(0,U.OX)({templateId:em,projectRoot:tt});$={id:Date.now(),templateId:em,loading:!0,flowSteps:[],activeFlowKey:null,promise:e,listeners:new Set},tl([]),ta(null);let t=[];try{let r=await e;r.documentId&&(localStorage.setItem(tf,r.documentId),eD(r.documentId),(null==$?void 0:$.promise)===e&&($.documentId=r.documentId)),await tv();let l=r.documentId?await tO(r.documentId,(null==$?void 0:$.promise)===e?$:void 0):void 0,s=r.draft||(null==l?void 0:l.draft);if(!s)throw Error("生成结果为空");(r.documentId||(null==l?void 0:l.id))&&eD(r.documentId||l.id),t.forEach(e=>window.clearTimeout(e)),eE(s),ez((null==l?void 0:l.editedMarkdown)||(null==l?void 0:l.markdown)||s.markdown),(null==$?void 0:$.promise)===e&&($.draft=s,$.content=(null==l?void 0:l.editedMarkdown)||(null==l?void 0:l.markdown)||s.markdown);let a=l||{id:r.documentId||"draft-".concat(Date.now()),templateId:em,title:s.title,requirement:s.requirement,projectRoot:s.projectRoot||tt,projectId:s.projectId,markdown:s.markdown,status:s.validationIssues.some(e=>"error"===e.level||"warning"===e.level)||!s.exportGate.passed?"warning":"completed",draft:s,executionStages:s.executionStages,assets:s.assets||[],createdAt:s.generatedAt,updatedAt:Date.now()},{steps:n}=tR(a);tl(n),tT(n,"done",!1),ta("done"),(null==$?void 0:$.promise)===e&&($.activeFlowKey="done",$.loading=!1,ee(),$=null),localStorage.removeItem(tf),await tv(),eo.success(_("common.success")),window.setTimeout(()=>{var e;return null==(e=ec.current)?void 0:e.scrollIntoView({behavior:"smooth",block:"start"})},200)}catch(l){localStorage.removeItem(tf);let t=l instanceof Error?l.message:_("common.error"),r=/用户中止|abort|aborted/i.test(t);r||tl(e=>{let r=e.map(e=>"process"===e.status?{...e,status:"error",description:t,subSteps:((e,t)=>{if("wait"===t)return e.subSteps.map(e=>({...e,status:"wait"}));if("finish"===t)return e.subSteps.map(e=>({...e,status:"finish"}));if("error"===t)return e.subSteps.map((e,t)=>({...e,status:0===t?"error":e.status}));let r=e.subSteps.findIndex(e=>"wait"===e.status);return e.subSteps.map((e,t)=>t<r||-1===r?{...e,status:"finish"}:t===r?{...e,status:"process"}:e)})(e,"error")}:e);return tT(r,ts,!1),r}),(null==$?void 0:$.promise)===e&&($.loading=!1,$.error=t,ee(),$=null),await tv().catch(()=>void 0),r||eo.error(t)}finally{t.forEach(e=>window.clearTimeout(e)),eT(!1),(null==$?void 0:$.promise)===e&&($.loading=!1,ee())}},tH=(0,s.useRef)(!1);(0,s.useEffect)(()=>(th.current&&(clearTimeout(th.current),th.current=null),!td||"workflow"!==tm||e_||tH.current||(null==$?void 0:$.loading)||null==tj||!tj.projectRoleConfigId||(tH.current=!0,th.current=setTimeout(()=>{th.current=null,td&&"workflow"===tm&&!e_&&em==em&&tq()},300)),td||(tH.current=!1),()=>{th.current&&(clearTimeout(th.current),th.current=null)}),[td,tm,e_,tj,em]);let tV=async e=>{try{eD(e.id),ep(e.templateId),tp("workflow"),tu(!0),eT(!0);let t=await (0,U.UQ)(e.id,e.projectRoot||tt||void 0);localStorage.setItem(tf,t.documentId),await tv();let r=await tO(t.documentId);r.draft&&(eE(r.draft),ez(r.editedMarkdown||r.markdown||r.draft.markdown),tp("editor")),localStorage.removeItem(tf),await tv(),eo.success("已继续生成并完成")}catch(e){eo.error(e instanceof Error?e.message:"继续生成失败")}finally{eT(!1)}},tK=async e=>{if((null==$?void 0:$.loading)&&$.documentId===e.id){var t;$.aborted=!0,null==(t=$.pollController)||t.abort(),$.loading=!1,$.error="用户中止",ee(),$=null,eT(!1)}localStorage.removeItem(tf),tx.current&&(clearInterval(tx.current),tx.current=null);try{await (0,U.r)(e.id,e.projectRoot||tt||void 0),eo.success("已中止生成任务")}catch(e){eo.info("任务已不在运行,已刷新状态")}finally{await tv(),e_===e.id&&(eD(null),to(null),eE(null),ez(""))}},tU=async e=>{if(eR){eL(e);try{eR.exportGate.passed||eo.warning("导出门禁存在风险项,已允许导出,请下载后人工复核。");let t={documentId:e_||void 0,title:eR.title,markdown:eB,format:e,enforceGate:!1,exportGate:eR.exportGate,useClientMarkdown:!0,projectRoot:eR.projectRoot||tt||void 0},r=await (0,U.UE)(t);((e,t,r)=>{let l=new Blob([e],{type:r}),s=URL.createObjectURL(l),a=document.createElement("a");a.href=s,a.download=t,a.target="_self",a.rel="noopener",a.style.display="none",document.body.appendChild(a),a.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),a.remove(),window.setTimeout(()=>URL.revokeObjectURL(s),1e3)})(r,"".concat(eR.title,".").concat("markdown"===e?"md":e),{markdown:"text/markdown;charset=utf-8",html:"text/html;charset=utf-8",pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}[e])}catch(e){eo.error(e instanceof Error?e.message:_("common.error"))}finally{eL(null)}}},tX=async()=>{if(eR)try{if(e_)await (0,U.a6)(e_,{editedMarkdown:eB,markdown:eB},eR.projectRoot||tt||void 0);else{let e=await (0,U.Af)({...eR,markdown:eB});eE(e.draft)}await tv(),eo.success(_("common.success"))}catch(e){eo.error(_("common.error"))}},tQ=(e,t)=>{e$(r=>[{id:"".concat(Date.now()),content:e,prompt:t,createdAt:Date.now()},...r].slice(0,12))},tJ=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e&&eW(""),eU(null),eQ(null),eY({start:0,end:0})},tY=(e,t)=>{var r,l;return{title:(null==eR?void 0:eR.title)||"未命名文档",markdown:t,instruction:e,facts:null==eR||null==(r=eR.structuredFacts)?void 0:r.map(e=>"".concat(e.key,": ").concat(e.value)),chapters:null==eR||null==(l=eR.chapters)?void 0:l.map(e=>e.title),...(()=>{let e=eJ.start,t=eJ.end;return t>e?{selection:{start:e,end:t,text:eB.slice(e,t)},cursorOffset:e}:{cursorOffset:e}})()}},tZ=async()=>{let e=eG.trim();if(!eR||!e||eO)return;let t=tg.current+1;tg.current=t,eq(!0),eV("planning"),eQ(null);try{let r=await (0,U.Gi)({mode:"plan",...tY(e,eB)});if(tg.current!==t||e_!=e_)return;if(!r.plan)throw Error("AI 未返回修改计划");eU(r.plan)}catch(e){tg.current===t&&eo.error(e instanceof Error?e.message:_("common.error"))}finally{tg.current===t&&(eq(!1),eV("idle"))}},t$=async e=>{let t=eG.trim();if(!eR||!t||eO)return;let r=tg.current+1;tg.current=r,eq(!0),eV("applying");try{let l=await (0,U.Gi)({mode:"apply",...tY(t,eB),plan:e});if(tg.current!==r||e_!=e_)return;if(!l.markdown)throw Error("AI 未返回修改结果");eQ({plan:l.plan||e,markdown:l.markdown,beforeSnippet:l.beforeSnippet,afterSnippet:l.afterSnippet,summary:l.summary,changedChars:l.changedChars,prompt:t,before:eB})}catch(e){tg.current===r&&eo.error(e instanceof Error?e.message:_("common.error"))}finally{tg.current===r&&(eq(!1),eV("idle"))}};if(eI)return(0,l.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,l.jsx)(u.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,l.jsx)(u.A,{active:!0,paragraph:{rows:2}}),(0,l.jsx)(u.A,{active:!0,paragraph:{rows:8}})]});let t0="workflow"===tm?"工作流:".concat((null==tj?void 0:tj.name)||"选择模板"):"编辑:".concat((null==eR?void 0:eR.title)||(null==tj?void 0:tj.outputTitle)||"文档");return(0,l.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,l.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4 pb-6 mb-2",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("h1",{className:"text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2.5 flex items-center gap-2",children:[(0,l.jsx)(S.A,{className:"text-[var(--colorAccent)]"}),_("documents.title")]}),(0,l.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)]",children:_("documents.description")})]}),(0,l.jsx)(m.Ay,{type:"primary",icon:(0,l.jsx)(L.A,{}),onClick:()=>tF(),className:"shadow-none rounded-lg",children:_("documents.newTemplate")})]}),(0,l.jsxs)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl shadow-sm overflow-hidden",children:[(0,l.jsx)(p.A,{items:[{key:"templates",label:(0,l.jsxs)("span",{className:"px-4",children:["模板库 ",(0,l.jsx)(d.A,{className:"ml-2 border-0 bg-[var(--colorFillAlter)]",children:ed.length})]})},{key:"drafts",label:(0,l.jsxs)("span",{className:"px-4",children:["生成记录 ",(0,l.jsx)(d.A,{className:"ml-2 border-0 bg-[var(--colorFillAlter)]",children:eM.length})]})}],activeKey:ti,onChange:tc,className:"documents-tabs",size:"large",tabBarStyle:{margin:0,padding:"0 16px",background:"var(--colorBgHover)",borderBottom:"1px solid var(--borderColor)"}}),(0,l.jsx)("div",{className:"p-4 bg-[var(--colorFillAlter)] min-h-[500px]",children:"templates"===ti?0===ed.length?(0,l.jsx)("div",{className:"py-32 text-center border border-dashed border-[var(--borderColor)] rounded-2xl bg-[var(--colorBgContainer)]",children:(0,l.jsx)(x.A,{description:(0,l.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:_("common.noData")})})}):(0,l.jsx)("div",{className:"grid grid-cols-1 gap-4",children:ed.map(e=>(0,l.jsxs)("div",{className:"group flex items-center p-4 rounded-2xl transition-all cursor-pointer ".concat(em===e.id?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),onClick:()=>ep(e.id),children:[(0,l.jsxs)("div",{className:"flex-1 min-w-0 pr-4",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3 mb-2 min-w-0",children:[function(e,t){let r=er[e]||(0,l.jsx)(F.A,{});return(0,l.jsx)("span",{style:{color:t?"var(--colorAccent)":"var(--colorTextSecondary)",fontSize:16,marginTop:2,flexShrink:0},children:r})}(e.category,em===e.id),(0,l.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate",children:e.name}),em===e.id&&(0,l.jsx)(d.A,{color:"blue",className:"border-0 m-0 shrink-0",children:"当前选中"}),(0,l.jsx)(d.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0 shrink-0",children:e.category})]}),e.description&&(0,l.jsx)("div",{className:"text-sm text-[var(--colorTextSecondary)] line-clamp-2 leading-relaxed mb-3",children:e.description}),e5[e.id]&&(0,l.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"inline-flex items-center gap-2 p-1.5 px-3 rounded-lg border text-xs ".concat(e5[e.id].issues.some(e=>"error"===e.level)?"border-red-200 bg-red-50/50":e5[e.id].issues.length?"border-yellow-200 bg-yellow-50/50":"border-green-200 bg-green-50/50"),children:[(0,l.jsx)("span",{className:"font-medium",children:e5[e.id].issues.some(e=>"error"===e.level)?"检查未通过":e5[e.id].issues.length?"存在警告":"检查通过"}),(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsxs)("span",{children:["文件角色 ",e5[e.id].fileDiagnostics.length]}),(0,l.jsxs)("span",{children:["提示词 ",e5[e.id].promptDiagnostics.length]}),!e5[e.id].issues.some(e=>"error"===e.level)&&e5[e.id].issues.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsx)("span",{className:"text-blue-500 cursor-pointer hover:underline",onClick:()=>tI(e.id),children:"忽略警告"})]})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2 shrink-0 transition-opacity ".concat(em===e.id?"opacity-100":"opacity-0 group-hover:opacity-100"),onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(m.Ay,{size:"small",onClick:t=>{t.stopPropagation(),tF(e)},className:"rounded-md",children:"配置"}),(0,l.jsx)(m.Ay,{size:"small",icon:(0,l.jsx)(G.A,{}),onClick:t=>{t.stopPropagation(),tP(e.id)},className:"rounded-md"}),(0,l.jsx)(h.A,{title:_("documents.deleteTemplateConfirm"),onConfirm:t=>{null==t||t.stopPropagation(),tL(e.id)},children:(0,l.jsx)(m.Ay,{size:"small",danger:!0,icon:(0,l.jsx)(P.A,{}),onClick:e=>e.stopPropagation(),className:"rounded-md"})}),(0,l.jsx)(m.Ay,{size:"small",type:"primary",icon:(0,l.jsx)(W.A,{}),onClick:t=>{t.stopPropagation(),tG(e.id)},className:"rounded-md justify-center",children:"运行"})]})]},e.id))}):0===eM.length?(0,l.jsx)("div",{className:"py-32 text-center border border-dashed border-[var(--borderColor)] rounded-2xl bg-[var(--colorBgContainer)]",children:(0,l.jsx)(x.A,{description:(0,l.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:_("common.noData")})})}):(0,l.jsx)("div",{className:"grid grid-cols-1 gap-4",children:eM.slice(0,15).map((e,t)=>{var r,s,a,n,o;let i,c;return(0,l.jsxs)("div",{className:"group flex items-center gap-4 p-4 rounded-2xl transition-all cursor-pointer ".concat(e_===e.id?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),onClick:()=>{tC(e)},children:[(0,l.jsx)("div",{className:"mt-1",children:"completed"===e.status?(0,l.jsx)(B.A,{className:"text-xl text-[var(--colorOk)]"}):"failed"===e.status||"aborted"===e.status?(0,l.jsx)(O.A,{className:"text-xl text-[var(--colorDanger)]"}):"warning"===e.status?(0,l.jsx)(E.A,{className:"text-xl text-[var(--colorWarning)]"}):(0,l.jsx)(q.A,{spin:!0,className:"text-xl text-blue-500"})}),(0,l.jsxs)("div",{className:"flex-1 min-w-0 pr-4",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3 mb-2",children:[(0,l.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate",children:e.title}),(0,l.jsxs)(d.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0 shrink-0",children:["#",t+1]}),(0,l.jsx)(d.A,{color:"completed"===(i=e.status)?"success":"warning"===i?"warning":"failed"===i?"error":"aborted"===i?"default":"processing",className:"border-0 m-0 shrink-0",children:"completed"===(c=e.status)?"已完成":"warning"===c?"需复核":"failed"===c?"失败":"aborted"===c?"已中止":"生成中"})]}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-x-4 gap-y-2 text-xs text-[var(--colorTextSecondary)] mb-3",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,l.jsx)(H.A,{})," ",new Date(e.updatedAt).toLocaleString()]}),(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsxs)("span",{children:["耗时 ",(e=>{let t=Math.max(0,Math.round(((e.completedAt||e.updatedAt)-e.createdAt)/1e3));if(t<60)return"".concat(t," 秒");let r=Math.floor(t/60),l=t%60;if(r<60)return l?"".concat(r," 分 ").concat(l," 秒"):"".concat(r," 分");let s=Math.floor(r/60),a=r%60;return a?"".concat(s," 小时 ").concat(a," 分"):"".concat(s," 小时")})(e)]}),e.partialChapters&&e.partialChapters.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsxs)("span",{children:["进度 ",e.partialChapters.filter(e=>"completed"===e.status).length,"/",e.partialChapters.length," 章"]}),(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsxs)("span",{children:["共 ",e.partialChapters.reduce((e,t)=>e+t.chars,0).toLocaleString()," 字"]})]})]}),("warning"===e.status||"failed"===e.status||"aborted"===e.status)&&(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 p-1.5 px-3 rounded-lg border text-xs ".concat("failed"===e.status||"aborted"===e.status?"border-red-200 bg-red-50/50":"border-yellow-200 bg-yellow-50/50"),children:[(0,l.jsx)("span",{className:"font-medium",children:"failed"===e.status?"生成失败":"aborted"===e.status?"已中止":"需复核"}),(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsx)("span",{className:"truncate max-w-[400px]",children:e.error||(null==(r=e.warningIssues)?void 0:r[0])||(null==(a=e.draft)||null==(s=a.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:s.message)||"需复核"})]})]}),(0,l.jsxs)("div",{className:"flex flex-col gap-2 shrink-0 transition-opacity ".concat(e_===e.id?"opacity-100":"opacity-0 group-hover:opacity-100"),onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(m.Ay,{size:"small",type:"primary",icon:tN(e.status)?(0,l.jsx)(q.A,{spin:!0}):(0,l.jsx)(W.A,{}),onClick:t=>{t.stopPropagation(),tC(e)},className:"rounded-md w-full justify-center",children:"打开"}),(0,l.jsxs)("div",{className:"flex gap-2 justify-end",children:[tN(e.status)&&(0,l.jsx)(h.A,{title:"确定中止此生成任务?",onConfirm:t=>{null==t||t.stopPropagation(),tK(e)},children:(0,l.jsx)(m.Ay,{size:"small",danger:!0,onClick:e=>e.stopPropagation(),className:"rounded-md flex-1",children:"中止"})}),("failed"===e.status||"aborted"===e.status||"warning"===e.status&&!!(null==(n=e.checkpointChapters)?void 0:n.length)&&/继续生成|重新生成|中断|卡住|未完成/u.test(e.error||(null==(o=e.warningIssues)?void 0:o.join(";"))||""))&&(0,l.jsx)(m.Ay,{size:"small",onClick:t=>{t.stopPropagation(),tV(e)},className:"rounded-md flex-1",children:"继续"}),(0,l.jsx)(h.A,{title:"确认删除?",onConfirm:t=>{null==t||t.stopPropagation(),tW(e)},children:(0,l.jsx)(m.Ay,{size:"small",danger:!0,icon:(0,l.jsx)(P.A,{}),onClick:e=>e.stopPropagation(),className:"rounded-md"})})]})]})]},e.id)})})})]}),(0,l.jsx)(g.A,{title:t0,open:td,onClose:()=>{tu(!1),tx.current&&(clearInterval(tx.current),tx.current=null)},size:800,mask:{closable:!1},style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:eR?(0,l.jsxs)(o.A,{wrap:!0,children:[(0,l.jsx)(m.Ay,{icon:(0,l.jsx)(V.A,{}),disabled:eO,onClick:()=>{tX()},children:_("documents.saveDraft")}),(0,l.jsx)(m.Ay,{icon:(0,l.jsx)(K.A,{}),disabled:eO,loading:"markdown"===eP,onClick:()=>{tU("markdown")},children:"MD"}),(0,l.jsx)(m.Ay,{disabled:eO,loading:"html"===eP,onClick:()=>{tU("html")},children:"HTML"}),(0,l.jsx)(m.Ay,{disabled:eO,loading:"docx"===eP,onClick:()=>{tU("docx")},children:"DOCX"}),(0,l.jsx)(m.Ay,{type:"primary",disabled:eO,loading:"pdf"===eP,onClick:()=>{tU("pdf")},children:"PDF"})]}):eN&&"workflow"===tm?(0,l.jsx)(m.Ay,{danger:!0,onClick:()=>{(async()=>{if(e_&&await (0,U.r)(e_,tt||void 0).catch(()=>void 0),$){var e;$.aborted=!0,null==(e=$.pollController)||e.abort(),$.loading=!1,$.error="用户中止",ee(),$=null}localStorage.removeItem(tf),tx.current&&(clearInterval(tx.current),tx.current=null),eT(!1),tl([]),ta(null),tu(!1),await tv(),eo.info("已中止生成任务")})()},children:"中止任务"}):void 0,children:(0,l.jsxs)(Z,{style:{width:"100%"},gap:16,children:["workflow"===tm&&tr.length>0&&(0,l.jsx)(Z,{gap:10,children:tr.map((e,t)=>{let r;return(0,l.jsxs)("div",{style:{display:"flex",gap:10,padding:10,border:"1px solid var(--colorBorderSecondary)",borderRadius:10,background:t===tw?"var(--colorFillAlter)":"var(--colorBgContainer)"},children:[(0,l.jsx)("span",{children:"process"===e.status?(0,l.jsx)(D.A,{}):"warning"===e.status?(0,l.jsx)(E.A,{style:{color:"var(--colorWarning)"}}):e.icon}),(0,l.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,l.jsxs)(o.A,{wrap:!0,children:[(0,l.jsx)(J,{strong:!0,children:e.title}),(0,l.jsx)(d.A,{color:"finish"===e.status?"success":"error"===e.status?"error":"warning"===e.status?"warning":"process"===e.status?"processing":"default",children:"warning"===(r=e.status)?"finish":r})]}),(0,l.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12,whiteSpace:"pre-wrap"},children:(0,l.jsxs)("div",{children:[e.subtitle&&(0,l.jsx)("div",{style:{marginBottom:4},children:(0,l.jsx)(d.A,{children:e.subtitle})}),(0,l.jsx)("div",{children:e.description}),(0,l.jsx)("div",{style:{marginTop:4},children:e.subSteps.map(e=>{var t;return(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,fontSize:12,color:"process"===e.status?"var(--colorPrimary)":"var(--colorTextSecondary)"},children:["process"===(t=e.status)?(0,l.jsx)(D.A,{}):"finish"===t?(0,l.jsx)(B.A,{}):"warning"===t?(0,l.jsx)(E.A,{style:{color:"var(--colorWarning)"}}):"error"===t?(0,l.jsx)(P.A,{}):(0,l.jsx)("span",{style:{display:"inline-block",height:6,width:6,borderRadius:"50%",background:"var(--colorTextTertiary)"}}),(0,l.jsx)("span",{children:e.title})]},e.key)})})]})})]})]},e.key)})}),"workflow"===tm&&(null==tn?void 0:tn.partialChapters)&&tn.partialChapters.length>0&&(0,l.jsx)(f.A,{size:"small",title:"章节进度",extra:(0,l.jsxs)(d.A,{color:"blue",children:[tn.partialChapters.filter(e=>"completed"===e.status).length,"/",tn.partialChapters.length]}),children:(0,l.jsx)(Z,{gap:6,style:{width:"100%"},children:tn.partialChapters.map(e=>(0,l.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:8,fontSize:12},children:[(0,l.jsx)(J,{ellipsis:!0,style:{maxWidth:480},children:e.title}),(0,l.jsxs)(o.A,{size:6,children:[(0,l.jsx)(d.A,{color:"failed"===e.status?"error":"success",children:"failed"===e.status?"失败":"完成"}),(0,l.jsxs)(J,{type:"secondary",children:[e.chars.toLocaleString()," 字"]})]})]},e.id))})}),"workflow"===tm&&(null==tn||null==(e=tn.reviewMetadata)?void 0:e.diagnostics)&&(0,l.jsx)(Y,{type:"info",title:"后台自动优化",children:"策略:".concat(tn.reviewMetadata.diagnostics.strategy.mode,";LLM 调用 ").concat(tn.reviewMetadata.diagnostics.llm.calls," 次;噪声过滤 ").concat((null==(t=tn.reviewMetadata.diagnostics.evidence)?void 0:t.filteredNoise)||0," 条;质量门禁 阻断").concat((null==(r=tn.reviewMetadata.diagnostics.quality)?void 0:r.blockingCount)||0,"/重要").concat((null==(n=tn.reviewMetadata.diagnostics.quality)?void 0:n.importantCount)||0,"/轻微").concat((null==(R=tn.reviewMetadata.diagnostics.quality)?void 0:R.minorCount)||0,";自动限流调整 ").concat(tn.reviewMetadata.diagnostics.llm.limitAdjustments," 次。审查与诊断信息仅用于系统修复,不会写入正文或导出文件。")}),"workflow"===tm&&eN&&0===tr.length&&(0,l.jsxs)("div",{style:{textAlign:"center",padding:40},children:[(0,l.jsx)(v.A,{}),(0,l.jsx)("div",{style:{marginTop:12,color:"var(--colorTextSecondary)"},children:"正在准备生成…"})]}),eR&&(0,l.jsx)("div",{ref:ec,children:(0,l.jsx)(p.A,{items:[{key:"edit",label:_("documents.edit"),children:(0,l.jsxs)(Z,{gap:16,style:{width:"100%"},children:[(0,l.jsx)(Q,{rows:28,value:eB,disabled:eO,onSelect:e=>{var t,r,l;return eY({start:null!=(t=e.currentTarget.selectionStart)?t:0,end:null!=(l=null!=(r=e.currentTarget.selectionEnd)?r:e.currentTarget.selectionStart)?l:0})},onChange:e=>{var t,r,l;ez(e.target.value),eU(null),eQ(null),eY({start:null!=(t=e.target.selectionStart)?t:0,end:null!=(l=null!=(r=e.target.selectionEnd)?r:e.target.selectionStart)?l:0})}}),(0,l.jsx)(f.A,{size:"small",style:{borderRadius:12,background:"linear-gradient(135deg, var(--colorFillAlter), var(--colorBgContainer))"},children:(0,l.jsxs)(Z,{gap:16,style:{width:"100%"},children:[(0,l.jsxs)(o.A,{align:"start",style:{width:"100%",justifyContent:"space-between"},children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)(o.A,{size:6,children:[(0,l.jsx)(z.A,{style:{color:"var(--colorAccent)"}}),(0,l.jsx)(J,{strong:!0,children:"精准修改"}),(0,l.jsx)(d.A,{color:"blue",children:"AI 辅助"})]}),(0,l.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12},children:"针对当前编辑内容补充更具体的要求,AI 会保留文档结构并按你的提示细化修改。"})]}),(0,l.jsxs)(m.Ay,{size:"small",icon:(0,l.jsx)(H.A,{}),onClick:()=>e1(e=>!e),disabled:0===eZ.length,children:["历史版本 ",eZ.length>0?eZ.length:""]})]}),(0,l.jsx)(Y,{type:"info",title:"系统只负责识别修改范围,不改写你的提示词;选中文字后优先只改选区,没有选区时按光标所在小节/章节定位。"}),(0,l.jsx)(Q,{rows:4,value:eG,disabled:eO,onChange:e=>{eW(e.target.value),eU(null),eQ(null)},placeholder:"例如:写细一点;润色这段;第七章补充高处作业和临电安全措施;把安全检查频次改成每周一次。"}),(0,l.jsxs)(o.A,{wrap:!0,style:{width:"100%",justifyContent:"space-between"},children:[(0,l.jsx)(o.A,{wrap:!0,children:["写细一点","更专业","只润色选区","补充可执行措施"].map(e=>(0,l.jsx)(m.Ay,{size:"small",disabled:eO,onClick:()=>eW(t=>t?"".concat(t,";").concat(e):e),children:e},e))}),(0,l.jsx)(m.Ay,{type:"primary",icon:(0,l.jsx)(z.A,{}),loading:eO&&"planning"===eH,disabled:!eG.trim()||eO,onClick:()=>{tZ()},children:"识别修改范围"})]}),eK&&!eX&&(0,l.jsx)(f.A,{size:"small",style:{borderRadius:10,borderColor:"var(--colorAccent)"},children:(0,l.jsxs)(Z,{gap:8,style:{width:"100%"},children:[(0,l.jsxs)(o.A,{wrap:!0,children:[(0,l.jsx)(d.A,{color:"purple",children:eK.scope}),(0,l.jsx)(d.A,{color:"blue",children:eK.action}),(0,l.jsxs)(d.A,{color:eK.confidence>=.8?"green":"orange",children:["置信度 ",Math.round(100*eK.confidence),"%"]}),eK.targetTitle&&(0,l.jsx)(J,{strong:!0,children:eK.targetTitle})]}),(0,l.jsx)(J,{children:eK.summary}),(0,l.jsx)(J,{type:"secondary",style:{fontSize:12},children:"将按你的原始提示词执行,不添加额外编辑任务。"}),(0,l.jsxs)(o.A,{children:[(0,l.jsx)(m.Ay,{type:"primary",loading:eO&&"applying"===eH,onClick:()=>{t$(eK)},children:"执行并预览"}),(0,l.jsx)(m.Ay,{disabled:eO,onClick:()=>eU(null),children:"取消"})]})]})}),eX&&(0,l.jsx)(f.A,{size:"small",style:{borderRadius:10,borderColor:"var(--colorSuccess)"},children:(0,l.jsxs)(Z,{gap:8,style:{width:"100%"},children:[(0,l.jsxs)(o.A,{wrap:!0,children:[(0,l.jsx)(d.A,{color:"green",children:"修改预览"}),(0,l.jsx)(J,{children:eX.summary||eX.plan.summary}),(0,l.jsxs)(d.A,{children:[eX.changedChars&&eX.changedChars>0?"+".concat(eX.changedChars):eX.changedChars," 字符"]})]}),(0,l.jsxs)(j.A,{gutter:12,children:[(0,l.jsxs)(y.A,{span:12,children:[(0,l.jsx)(J,{strong:!0,children:"修改前"}),(0,l.jsx)("div",{style:{marginTop:6,maxHeight:180,overflow:"auto",padding:10,borderRadius:8,background:"var(--colorFillAlter)",whiteSpace:"pre-wrap",fontSize:12},children:eX.beforeSnippet||"无片段预览"})]}),(0,l.jsxs)(y.A,{span:12,children:[(0,l.jsx)(J,{strong:!0,children:"修改后"}),(0,l.jsx)("div",{style:{marginTop:6,maxHeight:180,overflow:"auto",padding:10,borderRadius:8,background:"var(--colorFillAlter)",whiteSpace:"pre-wrap",fontSize:12},children:eX.afterSnippet||"无片段预览"})]})]}),(0,l.jsxs)(o.A,{children:[(0,l.jsx)(m.Ay,{type:"primary",onClick:()=>{eX&&(tQ(eX.before,eX.prompt),ez(eX.markdown),tJ(!0),eo.success("已应用精准修改"))},children:"应用到文档"}),(0,l.jsx)(m.Ay,{onClick:()=>eQ(null),children:"返回计划"}),(0,l.jsx)(m.Ay,{danger:!0,onClick:()=>{eU(null),eQ(null)},children:"放弃"})]})]})}),e0&&(0,l.jsx)("div",{style:{borderTop:"1px solid var(--colorBorderSecondary)",paddingTop:12},children:(0,l.jsx)(w.A,{size:"small",dataSource:eZ,locale:{emptyText:"暂无历史版本"},renderItem:e=>(0,l.jsx)(w.A.Item,{actions:[(0,l.jsx)(m.Ay,{size:"small",disabled:eO,onClick:()=>{tQ(eB,"恢复前版本"),ez(e.content),tJ(!0),eo.success("已恢复历史版本")},children:"恢复"},"restore")],children:(0,l.jsx)(w.A.Item.Meta,{title:(0,l.jsxs)(o.A,{children:[(0,l.jsx)(J,{children:new Date(e.createdAt).toLocaleString()}),(0,l.jsx)(d.A,{children:e.prompt})]}),description:(0,l.jsx)(J,{type:"secondary",ellipsis:!0,children:e.content.replace(/\s+/gu," ").slice(0,120)})})})})})]})})]})},{key:"chapters-facts",label:"章节与事实",children:(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[eR.chapters.length>0&&(0,l.jsxs)("div",{children:[(0,l.jsxs)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["章节 (",eR.chapters.length,")"]}),(0,l.jsx)(w.A,{size:"small",dataSource:eR.chapters,renderItem:e=>(0,l.jsx)(w.A.Item,{children:(0,l.jsx)(w.A.Item.Meta,{title:e.title,description:"证据: ".concat(e.evidence.length," \xb7 缺失: ").concat(e.missingFacts.length)})})})]}),eR.structuredFacts.length>0&&(0,l.jsxs)("div",{children:[(0,l.jsxs)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["结构化事实 (",eR.structuredFacts.length,")"]}),(0,l.jsx)(A.A,{size:"small",column:1,bordered:!0,children:eR.structuredFacts.map((e,t)=>(0,l.jsxs)(A.A.Item,{label:e.key,children:[(0,l.jsx)("span",{children:e.value}),(0,l.jsx)(d.A,{style:{marginLeft:8},children:e.confidence.toFixed(2)}),(0,l.jsx)(J,{type:"secondary",style:{fontSize:11,marginLeft:8},children:e.sourceFile})]},t))})]})]})},{key:"sources-missing",label:"来源与缺失",children:(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["引用来源 (",eR.sources.length,")"]}),0===eR.sources.length?(0,l.jsx)(x.A,{description:"暂无"}):(0,l.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:eR.sources.map(e=>(0,l.jsxs)(d.A,{color:"blue",children:[e.filePath," (",e.count,")"]},e.filePath))})]}),(0,l.jsxs)("div",{children:[(0,l.jsxs)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["缺失项 (",eR.missingItems.length,")"]}),0===eR.missingItems.length?(0,l.jsx)(x.A,{description:"无缺失"}):(0,l.jsx)(w.A,{size:"small",dataSource:eR.missingItems,renderItem:e=>(0,l.jsx)(w.A.Item,{children:e})})]})]})},{key:"validation",label:"校验 (".concat(eR.validationIssues.length,")"),children:0===eR.validationIssues.length?(0,l.jsx)(x.A,{description:"校验通过"}):(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[eR.validationIssues.map(e=>(0,l.jsxs)("div",{style:{border:"1px solid var(--colorBorderSecondary)",borderRadius:8,padding:12},children:[(0,l.jsx)(d.A,{color:"error"===e.level?"error":"warning"===e.level?"warning":"blue",children:e.level}),(0,l.jsx)("div",{style:{marginTop:6,whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all",lineHeight:1.6},children:e.message}),e.suggestion&&(0,l.jsx)("div",{style:{marginTop:6,color:"var(--colorTextSecondary)",whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all"},children:e.suggestion})]},"".concat(e.level,"-").concat(e.message))),eR.exportGate.checklist.length>0&&(0,l.jsxs)("div",{style:{marginTop:8},children:[(0,l.jsx)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:"导出门禁"}),(0,l.jsx)(w.A,{size:"small",dataSource:eR.exportGate.checklist,renderItem:e=>(0,l.jsxs)(w.A.Item,{children:[(0,l.jsx)(J,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:e.label}),(0,l.jsx)(d.A,{color:e.passed?"success":"error",children:e.passed?"PASS":"FAIL"})]})})]})]})},{key:"stages",label:"执行阶段 (".concat(eR.executionStages.length,")"),children:(0,l.jsx)(w.A,{size:"small",dataSource:eR.executionStages,renderItem:e=>(0,l.jsxs)(w.A.Item,{children:[(0,l.jsx)(w.A.Item.Meta,{avatar:et[e.type]||(0,l.jsx)(F.A,{}),title:(0,l.jsx)(J,{title:e.roleId,style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:"".concat(ea[e.type]||e.type," \xb7 ").concat(e.roleName||tA(e.roleId))}),description:(0,l.jsx)(J,{type:"secondary",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-word"},children:e.message})}),(0,l.jsx)(d.A,{color:"success"===e.status?"success":"failed"===e.status?"error":"skipped"===e.status?"default":"warning",children:e.status})]})})}]})})]})}),(0,l.jsx)(g.A,{title:_("documents.templateEditor"),open:e2,onClose:()=>e6(!1),size:860,mask:{closable:!1},styles:{body:{padding:20,overflow:"auto"},header:{borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,l.jsxs)(o.A,{children:[(0,l.jsx)(m.Ay,{onClick:()=>e6(!1),children:_("common.cancel")}),(0,l.jsx)(m.Ay,{type:"primary",onClick:()=>{tD()},children:_("common.save")})]}),children:(0,l.jsxs)(c.A,{form:ei,layout:"vertical",requiredMark:"optional",children:[(0,l.jsxs)(j.A,{gutter:12,children:[(0,l.jsx)(c.A.Item,{name:"id",hidden:!0,children:(0,l.jsx)(a.A,{})}),(0,l.jsx)(y.A,{xs:24,md:8,children:(0,l.jsx)(c.A.Item,{name:"name",label:_("documents.templateName"),rules:[{required:!0}],children:(0,l.jsx)(a.A,{})})}),(0,l.jsx)(y.A,{xs:24,md:8,children:(0,l.jsx)(c.A.Item,{name:"category",label:_("documents.templateCategory"),children:(0,l.jsx)(a.A,{})})}),(0,l.jsx)(y.A,{xs:24,md:8,children:(0,l.jsx)(c.A.Item,{name:"outputTitle",label:_("documents.outputTitle"),children:(0,l.jsx)(a.A,{})})}),(0,l.jsx)(y.A,{xs:24,md:12,children:(0,l.jsx)(c.A.Item,{name:"description",label:_("documents.templateDescription"),children:(0,l.jsx)(a.A,{})})})]}),(0,l.jsx)(c.A.Item,{name:"projectRoleConfigId",label:_("documents.projectRoleConfig"),rules:[{required:!0,message:_("documents.projectRoleConfigRequired")}],children:(0,l.jsx)(b.A,{showSearch:!0,placeholder:_("documents.projectRoleConfigRequired"),options:ty})}),(0,l.jsxs)("div",{className:"mb-6",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)(J,{strong:!0,className:"text-base text-[var(--colorText)] block mb-1",children:"项目文件绑定"}),(0,l.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:"每个文件角色可直接从下拉树形列表中多选文件或文件夹。"})]}),(0,l.jsx)(d.A,{color:"blue",bordered:!1,children:"按文件角色多选"})]}),eA?(0,l.jsxs)("div",{className:"text-center py-8",children:[(0,l.jsx)(v.A,{}),(0,l.jsx)("div",{className:"mt-3 text-[var(--colorTextSecondary)] text-xs",children:"正在加载知识库文件…"})]}):0===e9.length?(0,l.jsx)(x.A,{image:x.A.PRESENTED_IMAGE_SIMPLE,description:e4?"当前项目角色未配置文件角色":"请先选择项目角色"}):0===ey.length?(0,l.jsx)(x.A,{image:x.A.PRESENTED_IMAGE_SIMPLE,description:"暂无知识库文件"}):(0,l.jsx)("div",{className:"flex flex-col gap-4",children:e9.map(e=>{let t=e.value,r=t?el(te[t]||[]):[];return(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("span",{className:"font-medium text-sm text-[var(--colorText)]",children:e.label}),(0,l.jsx)(m.Ay,{type:"link",size:"small",danger:!0,disabled:0===r.length,onClick:()=>t_(t,[]),className:"p-0 h-auto",children:"清空"})]}),(0,l.jsx)(c.A.Item,{name:["fileBindingGroups",t],hidden:!0,children:(0,l.jsx)(a.A,{})}),(0,l.jsx)(k.A,{treeData:ey,loadData:tM,value:r,onChange:e=>{t_(t,e.map(e=>String(e)))},treeCheckable:!0,showCheckedStrategy:k.A.SHOW_PARENT,placeholder:"点击这里搜索或选择文件...",style:{width:"100%"},listHeight:300,treeNodeFilterProp:"rawTitle",showSearch:!0,maxTagCount:"responsive",size:"large"})]},e.value)})})]})]})})]})}}},e=>{e.O(0,[433,576,713,787,195,455,506,497,636,593,792],()=>e(e.s=16403)),_N_E=e.O()}]);
|
|
File without changes
|