@customize-agent/server 4.0.28 → 4.0.30
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 +5 -5
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/chunks/3445.js +21 -16
- 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/assets/generated.js +1 -1
- package/.next/server/pages/api/documents/export.js +2 -15
- package/.next/server/pages/api/documents/roles.js +1 -1
- package/.next/server/pages/api/documents/specs.js +1 -1
- package/.next/server/pages/asset-library.html +1 -1
- package/.next/server/pages/context/long-term.html +1 -1
- package/.next/server/pages/context/short-term.html +1 -1
- package/.next/server/pages/document-roles.html +1 -1
- package/.next/server/pages/document-specs.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/search.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/chunks/pages/{_app-15f2d98b25c5d3ce.js → _app-8abe93a007ab30a7.js} +1 -1
- package/.next/static/chunks/pages/document-specs-0fa19a0e348efc80.js +1 -0
- package/.next/static/chunks/pages/documents-3b87f1bf389b2f18.js +1 -0
- package/.next/static/{vm4gX3opuCeylimLPKC7_ → dq39asOIM1hVN5SMdBZn3}/_buildManifest.js +1 -1
- package/package.json +4 -4
- package/.next/static/chunks/pages/document-specs-3a02d469bf6a43fa.js +0 -1
- package/.next/static/chunks/pages/documents-8516d74b25d9fa0d.js +0 -1
- /package/.next/static/{vm4gX3opuCeylimLPKC7_ → dq39asOIM1hVN5SMdBZn3}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[298],{16403:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/documents",function(){return s(19562)}])},19562:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>en});var r=s(65321),n=s(97109),i=s(7576),l=s(35292),a=s(17807),o=s(63455),c=s(88762),d=s(85114),u=s(68787),p=s(84253),m=s(38332),h=s(26171),x=s(11702),g=s(33442),f=s(85493),v=s(34052),w=s(9730),y=s(42700),j=s(58569),A=s(76506),k=s(2256),S=s(38770),I=s(57271),b=s(23216),C=s(16285),_=s(26619),z=s(8263),D=s(8579),T=s(75548),M=s(7851),F=s(84742),P=s(29071),E=s(63552),L=s(26631),R=s(76830),B=s(83914),W=s(58209),G=s(54746),O=s(71330),N=s(64068),H=s(93051),q=s(38762),K=s(64629),U=s(67547),X=s(99811),V=s(6578),Q=s(79059);let{TextArea:J}=i.A,{Paragraph:Y,Text:Z}=l.A,$=null;function ee(){null==$||$.listeners.forEach(e=>e())}let et={role_binding:(0,r.jsx)(b.A,{}),context_recall:(0,r.jsx)(C.A,{}),knowledge_retrieval:(0,r.jsx)(_.A,{}),file_understanding:(0,r.jsx)(z.A,{}),fact_extraction:(0,r.jsx)(C.A,{}),chapter_generation:(0,r.jsx)(D.A,{}),asset_generation:(0,r.jsx)(T.A,{}),validation:(0,r.jsx)(M.A,{}),formatting:(0,r.jsx)(F.A,{}),llm_review:(0,r.jsx)(P.A,{}),export_ready:(0,r.jsx)(E.A,{}),reference:(0,r.jsx)(T.A,{})},es={施工组织设计:(0,r.jsx)(M.A,{}),投标文件:(0,r.jsx)(E.A,{}),技术方案:(0,r.jsx)(C.A,{}),报告:(0,r.jsx)(L.A,{}),自定义:(0,r.jsx)(D.A,{})},er={role_binding:"角色配置绑定",context_recall:"上下文召回",knowledge_retrieval:"知识库检索",file_understanding:"多模态文件理解",fact_extraction:"LLM 事实抽取",chapter_generation:"LLM 章节生成",asset_generation:"多模态资源生成",validation:"规则校验",formatting:"格式化排版",llm_review:"LLM 审查优化",export_ready:"导出就绪",reference:"参考资源处理"};function en(){let e=(0,Q.Vr)(),{message:t}=a.A.useApp(),[s]=o.A.useForm(),l=(0,n.useRef)(null),[Y,en]=(0,n.useState)([]),[ei,el]=(0,n.useState)("construction-organization-design"),[ea,eo]=(0,n.useState)([]),[ec,ed]=(0,n.useState)([]),[eu,ep]=(0,n.useState)([]),[em,eh]=(0,n.useState)(!0),[ex,eg]=(0,n.useState)(!1),[ef,ev]=(0,n.useState)(null),[ew,ey]=(0,n.useState)(""),[ej,eA]=(0,n.useState)([]),[ek,eS]=(0,n.useState)(null),[eI,eb]=(0,n.useState)(null),[eC,e_]=(0,n.useState)(null),[ez,eD]=(0,n.useState)(!1),[eT,eM]=(0,n.useState)({}),[eF,eP]=(0,n.useState)([]),[eE,eL]=(0,n.useState)(null),[eR,eB]=(0,n.useState)("templates"),[eW,eG]=(0,n.useState)(!1),[eO,eN]=(0,n.useState)("workflow"),eH=(0,n.useRef)(null),eq=async()=>{try{eA((await (0,V.cQ)()).documents)}catch(e){eA([])}};(0,n.useEffect)(()=>{let e=()=>{$&&(eP($.flowSteps),eL($.activeFlowKey),eg($.loading),$.documentId&&eS($.documentId),$.draft&&ev($.draft),void 0!==$.content&&ey($.content))},t=$;return null==t||t.listeners.add(e),e(),()=>{null==t||t.listeners.delete(e)}},[]),(0,n.useEffect)(()=>{eh(!0),Promise.all([(0,V.Dl)().then(e=>{var t,s;en(e.templates),el(null!=(s=null==(t=e.templates[0])?void 0:t.id)?s:"construction-organization-design")}),(0,V.lv)().then(e=>{eo(e.roles),ed(e.configs)}),(0,V.mx)().then(e=>ep(e.specs)),eq()]).catch(()=>t.error(e("common.error"))).finally(()=>eh(!1))},[t,e]),(0,n.useEffect)(()=>{if(0===ej.length)return;let e=localStorage.getItem("activeGenDocId");if(!e)return;if(!ej.find(t=>t.id===e&&"generating"===t.status))return void localStorage.removeItem("activeGenDocId");let t=setInterval(()=>{(async()=>{try{let{document:s}=await (0,V.v7)(e);await eq(),"generating"!==s.status&&(localStorage.removeItem("activeGenDocId"),clearInterval(t))}catch(e){clearInterval(t)}})()},3e3);return()=>clearInterval(t)},[ej]);let eK=(0,n.useMemo)(()=>Y.find(e=>e.id===ei),[Y,ei]),eU=ec.map(e=>({label:e.name,value:e.id})),eX=eu.map(e=>({label:e.name,value:e.id})),eV=Math.max(0,eF.findIndex(e=>e.key===eE)),eQ=e=>{el(e),eS(null),ev(null),ey(""),eN("workflow"),eG(!0),eB("drafts")},eJ=async s=>{eS(s.id),el(s.templateId);let r=e$(s.status);if(r||"failed"===s.status){tn.current=!0,ev(null),ey(""),eg(r),eN("workflow"),eG(!0);try{let{document:e}=await (0,V.v7)(s.id);e2(e),e$(e.status)?e6(e.id):await eq()}catch(e){e2(s)}return}eN("editor"),eP([]),eL(null);try{let{document:e}=await (0,V.v7)(s.id);ev(e.draft||null),ey(e.editedMarkdown||e.markdown)}catch(s){t.error(e("common.error"))}eG(!0)},eY=e=>e.map((e,t)=>({key:"sub-".concat(t),title:e,status:"wait"})),eZ=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:eK,s=eu.find(e=>e.id===(null==t?void 0:t.documentSpecId)),n=ec.find(e=>e.id===(null==t?void 0:t.projectRoleConfigId)),i=((null==n?void 0:n.fileRoles)||[]).map(e=>{var t;return(null==(t=ea.find(t=>t.id===e.roleId))?void 0:t.name)||e.roleId}),l=((null==n?void 0:n.promptRoles)||[]).map(e=>{var t;return(null==(t=ea.find(t=>t.id===e.roleId))?void 0:t.name)||e.roleId}),a=(null==s?void 0:s.factFields.map(e=>e.name))||(null==t?void 0:t.chapters.flatMap(e=>e.requiredFacts))||[],o=(null==t?void 0:t.chapters.map(e=>e.title))||[],c=l.some(e=>/封面|图片|资源|cover|image/iu.test(e));return[{key:"prepare",title:e("documents.flowPrepare"),description:'读取"'.concat((null==t?void 0:t.name)||"当前模板",'"并创建后台生成任务'),status:"process",icon:(0,r.jsx)(L.A,{}),subSteps:eY(["读取模板参数",(null==t?void 0:t.documentSpecId)?"加载规范包:".concat((null==s?void 0:s.name)||t.documentSpecId):"未绑定规范包,使用模板章节要求","创建后台生成任务"])},{key:"role_binding",title:"动态角色配置绑定",description:"绑定 ".concat(i.length," 个文件角色、").concat(l.length," 个提示词角色"),status:"wait",icon:(0,r.jsx)(b.A,{}),subSteps:eY([...i.length?i.map(e=>"文件角色:".concat(e)):["没有文件角色,使用模板绑定文件"],...l.length?l.map(e=>"提示词角色:".concat(e)):["没有提示词角色,使用默认生成策略"]].slice(0,10))},{key:"context_recall",title:"短期/长期上下文召回",description:"从项目记忆中召回用户偏好、历史纠偏和已生成文档摘要,并注入生成提示词",status:"wait",icon:(0,r.jsx)(C.A,{}),subSteps:eY(["召回相关项目记忆","注入章节生成提示词","生成完成后沉淀新记忆"])},{key:"knowledge_retrieval",title:"知识库证据检索",description:"按 ".concat(o.length||"动态"," 个规范章节检索文本、文档、表格、图片、图纸和附件"),status:"wait",icon:(0,r.jsx)(_.A,{}),subSteps:eY(o.length?o.slice(0,10).map(e=>"检索章节:".concat(e)):["按规范包动态章节规则检索证据"])},{key:"file_understanding",title:"多类型文件理解",description:"按文件角色处理文本、PDF/Word、表格、图片、图纸和附件",status:"wait",icon:(0,r.jsx)(z.A,{}),subSteps:eY(["识别文件类型和角色","构建结构化资源证据包","必要时调用多模态文件理解"])},{key:"fact_extraction",title:"动态 schema 事实抽取",description:"按 ".concat(a.length," 个规范/章节事实字段抽取并检测冲突"),status:"wait",icon:(0,r.jsx)(C.A,{}),subSteps:eY(a.length?a.slice(0,10).map(e=>"抽取事实:".concat(e)):["抽取模板要求的事实","合并来源和角色","检测事实冲突"])},{key:"chapter_generation",title:"章节生成",description:(null==s?void 0:s.chapterMode)==="fixed"?"按 ".concat(o.length," 个规范章节逐章生成"):"按规范包动态章节规则生成",status:"wait",icon:(0,r.jsx)(D.A,{}),subSteps:eY(o.length?o.slice(0,10).map(e=>"生成:".concat(e)):["构造动态章节提示词","等待 LLM 生成","整理章节证据"])},...c?[{key:"asset_generation",title:"生成资源处理",description:"根据资源/图片提示词生成或登记本地资源",status:"wait",icon:(0,r.jsx)(T.A,{}),subSteps:eY(["生成资源提示词","保存到 generatedDocuments/assets","登记资源元数据"])}]:[],{key:"validation",title:"规范包与门禁校验",description:s?"执行 ".concat(s.gateRules.length," 条门禁规则"):"执行模板基础校验",status:"wait",icon:(0,r.jsx)(M.A,{}),subSteps:eY([...(null==s?void 0:s.factFields.filter(e=>e.required).map(e=>"必填事实:".concat(e.name)))||[],...(null==s?void 0:s.gateRules.map(e=>"门禁:".concat(e.name)))||["检查章节证据","检查缺失项","检查导出门禁"]].slice(0,10))},{key:"formatting",title:e("documents.flowFormatting"),description:"整理标题、表格、图片、附件引用和正式 Markdown",status:"wait",icon:(0,r.jsx)(F.A,{}),subSteps:eY(["整理标题层级","整理多类型资源引用","生成正式 Markdown"])},{key:"llm_review",title:"LLM 审查优化",description:"再次使用动态 schema、角色和结构化证据审查优化初稿",status:"wait",icon:(0,r.jsx)(P.A,{}),subSteps:eY(["构造审查提示词","检查事实来源和冲突","回填优化后的 Markdown"])},{key:"export_ready",title:"导出就绪",description:"确认 Markdown/HTML/DOCX/PDF 可导出",status:"wait",icon:(0,r.jsx)(E.A,{}),subSteps:eY(["生成导出检查清单","确认阻断项","准备导出格式"])},{key:"done",title:e("documents.flowDone"),description:e("documents.flowDoneDesc"),status:"wait",icon:(0,r.jsx)(R.A,{}),subSteps:eY(["展示生成结果","允许编辑正文","允许导出文件"])}]},e$=e=>"completed"!==e&&"warning"!==e&&"failed"!==e,e0=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ex;(null==$?void 0:$.loading)&&($.flowSteps=e,$.activeFlowKey=t,$.loading=s,ee())},e1=(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 s=e.subSteps.findIndex(e=>"wait"===e.status);return e.subSteps.map((e,t)=>t<s||-1===s?{...e,status:"finish"}:t===s?{...e,status:"process"}:e)},e2=e=>{let{steps:t,activeKey:s}=(e=>{var t,s,r;let n,i=Y.find(t=>t.id===e.templateId)||eK,l=e.executionStages||(null==(t=e.draft)?void 0:t.executionStages)||[],a=new Map(l.map(e=>[e.type,e])),o=eZ(i).map(t=>{let s;if("prepare"===t.key){let s=l.length>0?"finish":"generating"===e.status?"process":"finish";return{...t,status:s,subSteps:e1(t,s)}}if("done"===t.key){let s="completed"===e.status?"finish":"warning"===e.status?"warning":"wait";return{...t,status:s,subSteps:e1(t,s)}}let r=a.get(t.key);if(!r)return t;let n="failed"===(s=r.status)?"error":"fallback"===s?"warning":"finish";return{...t,status:n,description:r.message||t.description,subSteps:e1(t,n)}});if("generating"===e.status){let e=Math.max(-1,...l.map(e=>o.findIndex(t=>t.key===e.type)).filter(e=>e>=0)),t=o.slice(e+1).find(e=>"done"!==e.key&&"wait"===e.status)||o.find(e=>"process"===e.status)||o.find(e=>"done"===e.key);for(let e of(n=(null==t?void 0:t.key)||"prepare",o))e.key===n&&"wait"===e.status&&(e.status="process",e.subSteps=e1(e,"process"))}else n="failed"===e.status?(null==(s=o.find(e=>"error"===e.status))?void 0:s.key)||(null==(r=l.at(-1))?void 0:r.type)||"prepare":"done";return{steps:o,activeKey:n}})(e);eP(t),eL(s),eg(e$(e.status)),"failed"===e.status&&eN("workflow"),("completed"===e.status||"warning"===e.status)&&e.draft&&(ev(e.draft),ey(e.editedMarkdown||e.markdown),eN("editor"),eP([]),eL(null))},e6=e=>{eH.current&&clearInterval(eH.current),eH.current=setInterval(()=>{(async()=>{try{let{document:t}=await (0,V.v7)(e);e2(t),await eq(),e$(t.status)||(eH.current&&clearInterval(eH.current),eH.current=null,localStorage.removeItem("activeGenDocId"))}catch(e){}})()},2e3)},e8=(e,t,s)=>{eL(e),eP(r=>{let n=r.map(r=>r.key===e?{...r,status:t,description:s||r.description,subSteps:e1(r,t)}:r);return e0(n,e),n})};(0,n.useEffect)(()=>{if(!ex||!eE)return;let e=window.setInterval(()=>eP(e=>{let t=e.map(e=>{if(e.key!==eE||"process"!==e.status)return e;let t=e.subSteps.findIndex(e=>"process"===e.status),s=t<0?0:Math.min(t+1,e.subSteps.length-1);return{...e,subSteps:e.subSteps.map((e,t)=>t<s?{...e,status:"finish"}:t===s?{...e,status:"process"}:{...e,status:"wait"})}});return e0(t,eE),t}),1400);return()=>window.clearInterval(e)},[eE,ex]);let e3=e=>{eP(t=>{let s=t.findIndex(t=>t.key===e),r=t.map((e,t)=>t<s&&"error"!==e.status?{...e,status:"finish",subSteps:e1(e,"finish")}:e);return e0(r,e),r})},e5=e=>{let t=null!=e?e:{id:"tpl-".concat(Date.now()),name:"",description:"",category:"自定义",outputTitle:"",projectRoleConfigId:void 0,documentSpecId:void 0,chapters:[]};s.resetFields(),s.setFieldsValue(t),eD(!0)},e7=async()=>{try{let r={...await s.validateFields(),chapters:[]},n=await (0,V.l2)(r);en(n.templates),el(n.template.id),eD(!1),await eq(),t.success(e("common.success"))}catch(e){e instanceof Error&&t.error(e.message)}},e4=async s=>{try{let r=await (0,V.bV)(s);en(r.templates),el(r.template.id),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},e9=async s=>{try{var r,n;let i=await (0,V.h0)(s);en(i.templates),el(null!=(n=null==(r=i.templates[0])?void 0:r.id)?n:""),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},te=async e=>{try{let{validation:s}=await (0,V.SM)(e);eM(t=>({...t,[e]:s}));let r=s.issues.filter(e=>"error"===e.level);if(el(e),r.length>0)return void t.warning("模板运行前检查未通过,请先处理阻断项");if(s.issues.length>0)return void t.warning("模板存在警告,可在检查面板确认后继续运行");eQ(e)}catch(e){t.error(e instanceof Error?e.message:"模板运行前检查失败")}},tt=async s=>{try{await (0,V.QG)(s),ek===s&&(eS(null),ev(null),ey("")),await eq(),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},ts=async e=>{let t=[{k:"chapter_generation",m:"后台任务已创建,正在轮询等待 LLM 章节生成完成…"},{k:"asset_generation",m:"正在轮询等待封面和生成资源写入本地记录…"},{k:"validation",m:"正在轮询等待校验、导出门禁和格式化完成…"},{k:"llm_review",m:"正在轮询等待 LLM 审查优化完成…"}],s=0;for(;;){var r;let{document:n}=await (0,V.v7)(e);if(e2(n),("completed"===n.status||"warning"===n.status)&&n.draft)return n;if("failed"===n.status)throw Error(n.error||"生成失败");if(0===(n.executionStages||(null==(r=n.draft)?void 0:r.executionStages)||[]).length){let e=t[Math.min(s,t.length-1)];e3(e.k),e8(e.k,"process",e.m)}s++,await new Promise(e=>window.setTimeout(e,1500))}},tr=async()=>{if(!ei)return;if(null==$?void 0:$.loading){eP($.flowSteps),eL($.activeFlowKey),eg(!0);return}eg(!0);let s=eZ(Y.find(e=>e.id===ei)||eK),r=(0,V.OX)({templateId:ei});$={id:Date.now(),templateId:ei,loading:!0,flowSteps:s,activeFlowKey:"prepare",promise:r,listeners:new Set},eP(s),eL("prepare");let n=[{k:"role_binding",m:"正在读取模板、文件角色、提示词角色和文档规范包…"},{k:"knowledge_retrieval",m:"正在从知识库检索章节证据、表格、图片和附件…"},{k:"file_understanding",m:"正在准备多模态文件理解…"},{k:"fact_extraction",m:"正在等待 LLM 事实抽取和后续章节生成结果…"}].map((e,t)=>window.setTimeout(()=>{e3(e.k),e8(e.k,"process",e.m)},600+900*t));try{let s=await r;s.documentId&&(localStorage.setItem("activeGenDocId",s.documentId),eS(s.documentId),(null==$?void 0:$.promise)===r&&($.documentId=s.documentId)),await eq();let i=s.documentId?await ts(s.documentId):void 0,a=s.draft||(null==i?void 0:i.draft);if(!a)throw Error("生成结果为空");(s.documentId||(null==i?void 0:i.id))&&eS(s.documentId||i.id),n.forEach(e=>window.clearTimeout(e)),e3("done"),ev(a),ey((null==i?void 0:i.editedMarkdown)||(null==i?void 0:i.markdown)||a.markdown),(null==$?void 0:$.promise)===r&&($.draft=a,$.content=(null==i?void 0:i.editedMarkdown)||(null==i?void 0:i.markdown)||a.markdown),eP(t=>{let s=t.map(t=>{let s=a.executionStages.find(e=>e.type===t.key);if("prepare"===t.key)return{...t,status:"finish",description:e("documents.flowPrepareDone"),subSteps:e1(t,"finish")};if("done"===t.key){var r;let s=a.validationIssues.some(e=>"error"===e.level||"warning"===e.level)||!a.exportGate.passed,n=s?"warning":"finish",i=null==(r=a.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:r.message;return{...t,status:n,description:s?"生成完成,但需复核:".concat(i||e("documents.flowGateFailed")):e("documents.flowDoneDesc"),subSteps:e1(t,n)}}if(!s)return"process"===t.status?{...t,status:"finish",subSteps:e1(t,"finish")}:t;let n="failed"===s.status?"error":"finish";return{...t,status:n,description:"".concat(s.status.toUpperCase(),":").concat(s.message||t.description),subSteps:e1(t,n)}});return e0(s,"done",!1),s}),eL("done"),(null==$?void 0:$.promise)===r&&($.activeFlowKey="done",$.loading=!1,ee()),localStorage.removeItem("activeGenDocId"),await eq(),t.success(e("common.success")),window.setTimeout(()=>{var e;return null==(e=l.current)?void 0:e.scrollIntoView({behavior:"smooth",block:"start"})},200)}catch(n){localStorage.removeItem("activeGenDocId");let s=n instanceof Error?n.message:e("common.error");eP(e=>{let t=e.map(e=>"process"===e.status?{...e,status:"error",description:s,subSteps:e1(e,"error")}:e);return e0(t,eE,!1),t}),(null==$?void 0:$.promise)===r&&($.loading=!1,$.error=s,ee()),t.error(s)}finally{n.forEach(e=>window.clearTimeout(e)),eg(!1),(null==$?void 0:$.promise)===r&&($.loading=!1,ee())}},tn=(0,n.useRef)(!1),ti=async s=>{(null==$?void 0:$.loading)&&($.loading=!1,$.error="用户中止",ee(),$=null,eg(!1)),localStorage.removeItem("activeGenDocId"),eH.current&&(clearInterval(eH.current),eH.current=null);try{await (0,V.r)(s.id),await eq(),ek===s.id&&(eS(null),ev(null),ey("")),t.success("已中止生成任务")}catch(s){t.error(e("common.error"))}};(0,n.useEffect)(()=>{eW&&"workflow"===eO&&!tn.current&&!(null==$?void 0:$.loading)&&(null==eK?void 0:eK.projectRoleConfigId)&&(tn.current=!0,window.setTimeout(()=>{tr()},300)),eW||(tn.current=!1)},[eW,eO]);let tl=async s=>{if(ef){eb(s);try{var r;let e=null==(r=eu.find(e=>e.id===(null==eK?void 0:eK.documentSpecId)))?void 0:r.wordTemplatePath,t=ek?{documentId:ek,title:ef.title,format:s,enforceGate:!1,exportGate:ef.exportGate,wordTemplatePath:e}:{title:ef.title,markdown:ew,format:s,enforceGate:!1,exportGate:ef.exportGate,wordTemplatePath:e,useClientMarkdown:!0},n=await (0,V.UE)(t);((e,t,s)=>{let r=new Blob([e],{type:s}),n=URL.createObjectURL(r),i=document.createElement("a");i.href=n,i.download=t,i.target="_self",i.rel="noopener",i.style.display="none",document.body.appendChild(i),i.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),i.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),1e3)})(n,"".concat(ef.title,".").concat("markdown"===s?"md":s),{markdown:"text/markdown;charset=utf-8",html:"text/html;charset=utf-8",pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}[s])}catch(s){t.error(s instanceof Error?s.message:e("common.error"))}finally{eb(null)}}},ta=async()=>{if(ef)try{if(ek)await (0,V.a6)(ek,{editedMarkdown:ew,markdown:ew});else{let e=await (0,V.Af)({...ef,markdown:ew});ev(e.draft)}await eq(),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},to=async s=>{if(ef){e_(s.id);try{var r,n;let i=await (0,V.R1)({templateId:ef.templateId,chapterId:s.id,documentId:ek||void 0,currentMarkdown:ew,existingFacts:null==(r=ef.structuredFacts)?void 0:r.map(e=>e.value)});ev({...ef,chapters:ef.chapters.map(e=>e.id===s.id?i.chapter:e)}),n=i.chapter,ey(e=>e.includes(s.content)?e.replace(s.content,n.content):"".concat(e,"\n\n").concat(n.content)),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}finally{e_(null)}}};if(em)return(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsx)(c.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,r.jsx)(c.A,{active:!0,paragraph:{rows:2}}),(0,r.jsx)(c.A,{active:!0,paragraph:{rows:8}})]});let tc="workflow"===eO?"工作流:".concat((null==eK?void 0:eK.name)||"选择模板"):"编辑:".concat((null==ef?void 0:ef.title)||(null==eK?void 0:eK.outputTitle)||"文档");return(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"pageTitle",children:e("documents.title")}),(0,r.jsx)("p",{className:"pageDesc",children:e("documents.description")})]}),(0,r.jsx)(d.Ay,{type:"primary",icon:(0,r.jsx)(G.A,{}),onClick:()=>e5(),children:e("documents.newTemplate")})]}),(0,r.jsx)(u.A,{size:"small",tabList:[{key:"templates",label:"模板库 (".concat(Y.length,")")},{key:"drafts",label:"生成记录 (".concat(ej.length,")")}],activeTabKey:eR,onTabChange:eB,children:"templates"===eR?0===Y.length?(0,r.jsx)(p.A,{description:e("common.noData")}):(0,r.jsx)(m.A,{dataSource:Y,renderItem:(t,s)=>(0,r.jsx)(m.A.Item,{style:{cursor:"pointer",padding:"10px 0"},actions:[(0,r.jsx)(d.Ay,{size:"small",icon:(0,r.jsx)(O.A,{}),onClick:e=>{e.stopPropagation(),e5(t)},children:"配置"},"cfg"),(0,r.jsx)(d.Ay,{size:"small",type:"primary",icon:(0,r.jsx)(N.A,{}),onClick:e=>{e.stopPropagation(),te(t.id)},children:"运行"},"run"),(0,r.jsx)(d.Ay,{size:"small",icon:(0,r.jsx)(H.A,{}),onClick:e=>{e.stopPropagation(),e4(t.id)}},"copy"),(0,r.jsx)(h.A,{title:e("documents.deleteTemplateConfirm"),onConfirm:e=>{null==e||e.stopPropagation(),e9(t.id)},children:(0,r.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,r.jsx)(W.A,{}),onClick:e=>e.stopPropagation()})},"del")],onClick:()=>el(t.id),children:(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,minWidth:0,flex:1},children:[function(e,t){let s=es[e]||(0,r.jsx)(L.A,{});return(0,r.jsx)("span",{style:{color:t?"var(--colorAccent)":"var(--colorTextSecondary)",fontSize:16,marginTop:2,flexShrink:0},children:s})}(t.category,ei===t.id),(0,r.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:2},children:[(0,r.jsx)("span",{style:{fontWeight:ei===t.id?600:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.name}),ei===t.id&&(0,r.jsx)(x.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:"当前"}),(0,r.jsx)(x.A,{style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:t.category}),eT[t.id]&&(0,r.jsxs)(x.A,{color:eT[t.id].issues.some(e=>"error"===e.level)?"error":eT[t.id].issues.length?"warning":"success",style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:["检查 ",eT[t.id].fileDiagnostics.length," 文件 / ",eT[t.id].promptDiagnostics.length," 提示词"]})]}),t.description&&(0,r.jsx)(Z,{type:"secondary",style:{fontSize:12,lineHeight:"18px"},children:t.description}),eT[t.id]&&(0,r.jsx)("div",{onClick:e=>e.stopPropagation(),style:{marginTop:8,padding:10,border:"1px solid ".concat(eT[t.id].issues.some(e=>"error"===e.level)?"var(--colorErrorBorder)":eT[t.id].issues.length?"var(--colorWarningBorder)":"var(--colorSuccessBorder)"),borderRadius:10,background:eT[t.id].issues.some(e=>"error"===e.level)?"var(--colorErrorBg)":eT[t.id].issues.length?"var(--colorWarningBg)":"var(--colorSuccessBg)"},children:(0,r.jsxs)(g.A,{direction:"vertical",size:6,style:{width:"100%"},children:[(0,r.jsxs)(g.A,{wrap:!0,children:[(0,r.jsx)(Z,{strong:!0,children:eT[t.id].issues.some(e=>"error"===e.level)?"运行前检查未通过":eT[t.id].issues.length?"运行前检查存在警告":"运行前检查通过"}),(0,r.jsxs)(x.A,{color:"blue",children:["文件角色 ",eT[t.id].fileDiagnostics.length]}),(0,r.jsxs)(x.A,{color:"purple",children:["提示词角色 ",eT[t.id].promptDiagnostics.length]}),eT[t.id].spec&&(0,r.jsxs)(x.A,{color:"cyan",children:["规范包 ",eT[t.id].spec.name]})]}),eT[t.id].issues.length>0?eT[t.id].issues.map(e=>(0,r.jsx)(f.A,{type:"error"===e.level?"error":"warning",message:e.message,showIcon:!0},e.message)):(0,r.jsx)(f.A,{type:"success",message:"文件角色、提示词角色和规范包检查通过,可以运行。",showIcon:!0}),!eT[t.id].issues.some(e=>"error"===e.level)&&eT[t.id].issues.length>0&&(0,r.jsx)("div",{children:(0,r.jsx)(d.Ay,{size:"small",type:"primary",icon:(0,r.jsx)(N.A,{}),onClick:()=>eQ(t.id),children:"忽略警告并继续运行"})})]})})]})]})})}):0===ej.length?(0,r.jsx)(p.A,{description:e("common.noData")}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:ej.slice(0,15).map((e,t)=>{var s,n,i;let l,a;return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,padding:"10px 12px",border:"1px solid var(--colorBorderSecondary)",borderRadius:10,cursor:"pointer",background:ek===e.id?"var(--colorFillAlter)":void 0,minWidth:0},onClick:()=>{eJ(e)},children:["completed"===e.status?(0,r.jsx)(F.A,{style:{fontSize:18,color:"var(--colorOk)",flexShrink:0,marginTop:2}}):"failed"===e.status?(0,r.jsx)(q.A,{style:{fontSize:18,color:"var(--colorDanger)",flexShrink:0,marginTop:2}}):"warning"===e.status?(0,r.jsx)(M.A,{style:{fontSize:18,color:"var(--colorWarning)",flexShrink:0,marginTop:2}}):(0,r.jsx)(K.A,{spin:!0,style:{fontSize:18,color:"#1677ff",flexShrink:0,marginTop:2}}),(0,r.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,r.jsx)("div",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:3},children:e.title}),(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 10px",color:"var(--colorTextSecondary)",fontSize:11},children:[(0,r.jsx)("span",{children:new Date(e.updatedAt).toLocaleString()}),(0,r.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 s=Math.floor(t/60),r=t%60;if(s<60)return r?"".concat(s," 分 ").concat(r," 秒"):"".concat(s," 分");let n=Math.floor(s/60),i=s%60;return i?"".concat(n," 小时 ").concat(i," 分"):"".concat(n," 小时")})(e)]})]}),("warning"===e.status||"failed"===e.status)&&(0,r.jsx)("div",{style:{marginTop:3,color:"failed"===e.status?"var(--colorError)":"var(--colorWarning)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(null==(s=e.warningIssues)?void 0:s[0])||(null==(i=e.draft)||null==(n=i.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:n.message)||"需复核"})]}),(0,r.jsxs)(g.A,{size:4,align:"center",children:[(0,r.jsx)(x.A,{color:"completed"===(l=e.status)?"success":"warning"===l?"warning":"failed"===l?"error":"processing",style:{margin:0,fontSize:10,lineHeight:"18px"},children:"completed"===(a=e.status)?"已完成":"warning"===a?"需复核":"failed"===a?"失败":"生成中"}),(0,r.jsxs)(x.A,{style:{margin:0,fontSize:10,lineHeight:"18px"},children:["#",t+1]}),(0,r.jsx)(h.A,{title:"确认删除?",onConfirm:t=>{null==t||t.stopPropagation(),tt(e.id)},children:(0,r.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,r.jsx)(W.A,{}),onClick:e=>e.stopPropagation()})}),e$(e.status)&&(0,r.jsx)(h.A,{title:"确定中止此生成任务?",onConfirm:t=>{null==t||t.stopPropagation(),ti(e)},children:(0,r.jsx)(d.Ay,{size:"small",danger:!0,onClick:e=>e.stopPropagation(),children:"中止"})}),(0,r.jsx)(d.Ay,{size:"small",type:"primary",icon:e$(e.status)?(0,r.jsx)(K.A,{spin:!0}):(0,r.jsx)(N.A,{}),onClick:t=>{t.stopPropagation(),eJ(e)},children:"打开"})]})]},e.id)})})}),(0,r.jsx)(v.A,{title:tc,open:eW,onClose:()=>{eG(!1),eH.current&&(clearInterval(eH.current),eH.current=null)},width:800,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:ef?(0,r.jsxs)(g.A,{wrap:!0,children:[(0,r.jsx)(d.Ay,{icon:(0,r.jsx)(U.A,{}),onClick:()=>{ta()},children:e("documents.saveDraft")}),(0,r.jsx)(d.Ay,{icon:(0,r.jsx)(R.A,{}),loading:"markdown"===eI,onClick:()=>{tl("markdown")},children:"MD"}),(0,r.jsx)(d.Ay,{loading:"html"===eI,onClick:()=>{tl("html")},children:"HTML"}),(0,r.jsx)(d.Ay,{loading:"docx"===eI,onClick:()=>{tl("docx")},children:"DOCX"}),(0,r.jsx)(d.Ay,{type:"primary",loading:"pdf"===eI,onClick:()=>{tl("pdf")},children:"PDF"})]}):ex&&"workflow"===eO?(0,r.jsx)(d.Ay,{danger:!0,onClick:()=>{(async()=>{ek&&await (0,V.r)(ek).catch(()=>void 0),$&&($.loading=!1,$.error="用户中止",ee(),$=null),localStorage.removeItem("activeGenDocId"),eH.current&&(clearInterval(eH.current),eH.current=null),eg(!1),eP([]),eL(null),eG(!1),await eq(),t.info("已中止生成任务")})()},children:"中止任务"}):void 0,children:(0,r.jsxs)(g.A,{direction:"vertical",style:{width:"100%"},size:"middle",children:["workflow"===eO&&eF.length>0&&(0,r.jsx)(w.A,{direction:"vertical",size:"small",current:eV,items:eF.map(e=>{let t;return{title:e.title,description:(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{children:e.description}),(0,r.jsx)("div",{style:{marginTop:4},children:e.subSteps.map(e=>{var t;return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,fontSize:12,color:"var(--colorTextSecondary)"},children:["process"===(t=e.status)?(0,r.jsx)(B.A,{}):"finish"===t?(0,r.jsx)(F.A,{}):"warning"===t?(0,r.jsx)(M.A,{style:{color:"var(--colorWarning)"}}):"error"===t?(0,r.jsx)(W.A,{}):(0,r.jsx)("span",{style:{display:"inline-block",height:6,width:6,borderRadius:"50%",background:"var(--colorTextTertiary)"}}),(0,r.jsx)("span",{children:e.title})]},e.key)})})]}),status:"warning"===(t=e.status)?"finish":t,icon:"process"===e.status?(0,r.jsx)(B.A,{}):"warning"===e.status?(0,r.jsx)(M.A,{style:{color:"var(--colorWarning)"}}):e.icon}})}),"workflow"===eO&&ex&&0===eF.length&&(0,r.jsx)("div",{style:{textAlign:"center",padding:40},children:(0,r.jsx)(y.A,{tip:"正在准备生成…"})}),ef&&(0,r.jsx)("div",{ref:l,children:(0,r.jsx)(j.A,{items:[{key:"edit",label:e("documents.edit"),children:(0,r.jsx)(J,{rows:35,value:ew,onChange:e=>ey(e.target.value)})},{key:"chapters-facts",label:"章节与事实",children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[ef.chapters.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["章节 (",ef.chapters.length,")"]}),(0,r.jsx)(m.A,{size:"small",dataSource:ef.chapters,renderItem:e=>(0,r.jsx)(m.A.Item,{actions:[(0,r.jsx)(d.Ay,{size:"small",icon:(0,r.jsx)(X.A,{}),loading:eC===e.id,onClick:()=>{to(e)},children:"重新生成"},"regen")],children:(0,r.jsx)(m.A.Item.Meta,{title:e.title,description:"证据: ".concat(e.evidence.length," \xb7 缺失: ").concat(e.missingFacts.length)})})})]}),ef.structuredFacts.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["结构化事实 (",ef.structuredFacts.length,")"]}),(0,r.jsx)(A.A,{size:"small",column:1,bordered:!0,children:ef.structuredFacts.map((e,t)=>(0,r.jsxs)(A.A.Item,{label:e.key,children:[(0,r.jsx)("span",{children:e.value}),(0,r.jsx)(x.A,{style:{marginLeft:8},children:e.confidence.toFixed(2)}),(0,r.jsx)(Z,{type:"secondary",style:{fontSize:11,marginLeft:8},children:e.sourceFile})]},t))})]})]})},{key:"sources-missing",label:"来源与缺失",children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["引用来源 (",ef.sources.length,")"]}),0===ef.sources.length?(0,r.jsx)(p.A,{description:"暂无"}):(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:ef.sources.map(e=>(0,r.jsxs)(x.A,{color:"blue",children:[e.filePath," (",e.count,")"]},e.filePath))})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["缺失项 (",ef.missingItems.length,")"]}),0===ef.missingItems.length?(0,r.jsx)(p.A,{description:"无缺失"}):(0,r.jsx)(m.A,{size:"small",dataSource:ef.missingItems,renderItem:e=>(0,r.jsx)(m.A.Item,{children:e})})]})]})},{key:"validation",label:"校验 (".concat(ef.validationIssues.length,")"),children:0===ef.validationIssues.length?(0,r.jsx)(p.A,{description:"校验通过"}):(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[ef.validationIssues.map(e=>(0,r.jsxs)("div",{style:{border:"1px solid var(--colorBorderSecondary)",borderRadius:8,padding:12},children:[(0,r.jsx)(x.A,{color:"error"===e.level?"error":"warning"===e.level?"warning":"blue",children:e.level}),(0,r.jsx)("div",{style:{marginTop:6,whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all",lineHeight:1.6},children:e.message}),e.suggestion&&(0,r.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))),ef.exportGate.checklist.length>0&&(0,r.jsxs)("div",{style:{marginTop:8},children:[(0,r.jsx)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:"导出门禁"}),(0,r.jsx)(m.A,{size:"small",dataSource:ef.exportGate.checklist,renderItem:e=>(0,r.jsxs)(m.A.Item,{children:[(0,r.jsx)(Z,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:e.label}),(0,r.jsx)(x.A,{color:e.passed?"success":"error",children:e.passed?"PASS":"FAIL"})]})})]})]})},{key:"stages",label:"执行阶段 (".concat(ef.executionStages.length,")"),children:(0,r.jsx)(m.A,{size:"small",dataSource:ef.executionStages,renderItem:e=>(0,r.jsxs)(m.A.Item,{children:[(0,r.jsx)(m.A.Item.Meta,{avatar:et[e.type]||(0,r.jsx)(L.A,{}),title:(0,r.jsx)(Z,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:"".concat(er[e.type]||e.type," \xb7 ").concat(e.roleId)}),description:(0,r.jsx)(Z,{type:"secondary",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-word"},children:e.message})}),(0,r.jsx)(x.A,{color:"success"===e.status?"success":"failed"===e.status?"error":"skipped"===e.status?"default":"warning",children:e.status})]})})}]})})]})}),(0,r.jsx)(v.A,{title:e("documents.templateEditor"),open:ez,onClose:()=>eD(!1),width:860,maskClosable:!1,styles:{body:{padding:20,overflow:"auto"},header:{borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,r.jsxs)(g.A,{children:[(0,r.jsx)(d.Ay,{onClick:()=>eD(!1),children:e("common.cancel")}),(0,r.jsx)(d.Ay,{type:"primary",onClick:()=>{e7()},children:e("common.save")})]}),children:(0,r.jsxs)(o.A,{form:s,layout:"vertical",requiredMark:"optional",children:[(0,r.jsxs)(k.A,{gutter:12,children:[(0,r.jsx)(o.A.Item,{name:"id",hidden:!0,children:(0,r.jsx)(i.A,{})}),(0,r.jsx)(S.A,{xs:24,md:8,children:(0,r.jsx)(o.A.Item,{name:"name",label:e("documents.templateName"),rules:[{required:!0}],children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{xs:24,md:8,children:(0,r.jsx)(o.A.Item,{name:"category",label:e("documents.templateCategory"),children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{xs:24,md:8,children:(0,r.jsx)(o.A.Item,{name:"outputTitle",label:e("documents.outputTitle"),children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{xs:24,md:12,children:(0,r.jsx)(o.A.Item,{name:"description",label:e("documents.templateDescription"),children:(0,r.jsx)(i.A,{})})})]}),(0,r.jsx)(o.A.Item,{name:"projectRoleConfigId",label:e("documents.projectRoleConfig"),rules:[{required:!0,message:e("documents.projectRoleConfigRequired")}],children:(0,r.jsx)(I.A,{showSearch:!0,placeholder:e("documents.projectRoleConfigRequired"),options:eU})}),(0,r.jsx)(o.A.Item,{name:"documentSpecId",label:e("documents.documentSpec"),rules:[{required:!0,message:e("documents.documentSpecPlaceholder")}],children:(0,r.jsx)(I.A,{showSearch:!0,placeholder:e("documents.documentSpecPlaceholder"),options:eX})}),(0,r.jsx)(f.A,{type:"info",showIcon:!0,message:"章节、事实字段和门禁规则统一由文档规范包管理。"})]})})]})}}},e=>{e.O(0,[433,787,576,195,455,506,412,130,636,593,792],()=>e(e.s=16403)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,e,t,c,a,n,d,i,u,o,r,k,b,f,g,h,l,j,m){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:f,bitArray:[]},__routerFilterDynamic:{numItems:u,errorRate:1e-4,numBits:u,numHashes:f,bitArray:[]},"/":[s,e,g,h,"static/chunks/pages/index-591c5acdff8d0690.js"],"/_error":["static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":[s,e,n,"static/chunks/749-83476f9bcd014a5a.js","static/chunks/pages/asset-library-e9ddfe1cbaac42d9.js"],"/context/long-term":[s,e,t,c,a,n,d,i,l,"static/chunks/pages/context/long-term-2e6a30a8f879df47.js"],"/context/short-term":[s,e,t,c,a,n,d,i,l,"static/chunks/pages/context/short-term-730211234fa3add6.js"],"/document-roles":[s,e,t,c,d,"static/chunks/698-5f16390243596219.js","static/chunks/pages/document-roles-4293f5fae599ff83.js"],"/document-specs":[s,e,t,c,d,r,"static/chunks/265-32ec272a49cfacef.js","static/chunks/pages/document-specs-
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,e,t,c,a,n,d,i,u,o,r,k,b,f,g,h,l,j,m){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:f,bitArray:[]},__routerFilterDynamic:{numItems:u,errorRate:1e-4,numBits:u,numHashes:f,bitArray:[]},"/":[s,e,g,h,"static/chunks/pages/index-591c5acdff8d0690.js"],"/_error":["static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":[s,e,n,"static/chunks/749-83476f9bcd014a5a.js","static/chunks/pages/asset-library-e9ddfe1cbaac42d9.js"],"/context/long-term":[s,e,t,c,a,n,d,i,l,"static/chunks/pages/context/long-term-2e6a30a8f879df47.js"],"/context/short-term":[s,e,t,c,a,n,d,i,l,"static/chunks/pages/context/short-term-730211234fa3add6.js"],"/document-roles":[s,e,t,c,d,"static/chunks/698-5f16390243596219.js","static/chunks/pages/document-roles-4293f5fae599ff83.js"],"/document-specs":[s,e,t,c,d,r,"static/chunks/265-32ec272a49cfacef.js","static/chunks/pages/document-specs-0fa19a0e348efc80.js"],"/documents":[s,e,t,c,d,o,j,"static/chunks/130-c1e5c14958fcba2b.js","static/chunks/pages/documents-3b87f1bf389b2f18.js"],"/guide":[s,e,j,"static/chunks/20-00147a779147a5a4.js","static/chunks/pages/guide-74f0f7f42bc211b0.js"],"/knowledge":["static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":[s,e,t,a,n,i,o,m,k,"static/chunks/pages/knowledge/file-detail-0a5e267f77f4e8b3.js"],"/knowledge/files":[s,e,t,a,n,i,k,"static/chunks/pages/knowledge/files-4b0132dd66e57085.js"],"/knowledge/manage":[s,e,o,"static/chunks/788-7f7359a830e3f4fd.js","static/chunks/pages/knowledge/manage-25eb1a993b155450.js"],"/knowledge/search":[s,e,t,o,r,k,"static/chunks/pages/knowledge/search-afb423fc22eb623b.js"],"/models":[s,e,t,c,a,d,r,"static/chunks/pages/models-b5f68c4c70257495.js"],"/overview":[s,e,g,h,"static/chunks/pages/overview-8d8ba5a1c0aa39ea.js"],"/prompt":[s,e,t,c,a,"static/chunks/525-5d947137d894f5fe.js","static/chunks/pages/prompt-3468fb841f4c5c8c.js"],"/settings":[s,e,"static/chunks/pages/settings-fa9d6a56898ba678.js"],"/system/logs":[s,t,c,a,n,i,m,"static/chunks/pages/system/logs-f4e222140dc7b30c.js"],sortedPages:["/","/_app","/_error","/asset-library","/context/long-term","/context/short-term","/document-roles","/document-specs","/documents","/guide","/knowledge","/knowledge/file-detail","/knowledge/files","/knowledge/manage","/knowledge/search","/models","/overview","/prompt","/settings","/system/logs"]}}("static/chunks/433-233659be69169c19.js","static/chunks/787-c18af810af3433f6.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/150-134099bf526e9292.js","static/chunks/455-e04e99d9e242de44.js","static/chunks/289-6bf8af72114aefd5.js",0,"static/chunks/506-93f730bc149d0dce.js","static/chunks/938-45efd516bb130bd5.js","static/css/09be1fdeab8595ab.css",1e-4,NaN,"static/chunks/131-e2f0164f12b82496.js","static/chunks/795-67a87e03d67ed908.js","static/chunks/932-2f195f4200ce9378.js","static/chunks/412-b9c854c6a76db67d.js","static/chunks/512-12bd409cebeca05b.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@customize-agent/server",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.30",
|
|
4
4
|
"description": "Customize Agent Web 管理控制台",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json"
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
"tesseract.js": "^7.0.0",
|
|
50
50
|
"typescript": "^6.0.3",
|
|
51
51
|
"xlsx": "^0.18.5",
|
|
52
|
-
"@customize-agent/knowledge": "^4.0.
|
|
53
|
-
"@customize-agent/
|
|
54
|
-
"@customize-agent/
|
|
52
|
+
"@customize-agent/knowledge": "^4.0.12",
|
|
53
|
+
"@customize-agent/runtime": "^3.0.8",
|
|
54
|
+
"@customize-agent/llm": "^3.0.6"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@tailwindcss/postcss": "^4.3.2",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[580],{16734:(e,l,s)=>{"use strict";s.r(l),s.d(l,{default:()=>V});var a=s(65321),i=s(97109),t=s(11702),n=s(17807),r=s(63455),o=s(33442),d=s(57271),c=s(85114),m=s(85493),x=s(68787),h=s(58569),u=s(84253),p=s(38332),j=s(26171),A=s(34052),y=s(2256),g=s(7576),b=s(38770),v=s(44534),f=s(48318),I=s(25258),w=s(54746),S=s(96651),z=s(60470),R=s(99650),C=s(58209),_=s(6578),k=s(79059);let B=[{label:"动态章节",value:"dynamic"},{label:"固定章节",value:"fixed"}],q=[{label:"AI 根据资料自动规划",value:"ai_plan"},{label:"从文件目录/标题识别",value:"file_outline"},{label:"从指定文件角色识别",value:"file_role"},{label:"按事实字段分组",value:"fact_group"},{label:"按表格行生成",value:"table_rows"}],F=[{label:"AI 摘要标题",value:"ai_summary"},{label:"使用来源标题",value:"source_title"},{label:"使用字段值",value:"field_value"},{label:"标题模板",value:"template"}],T=[{label:"错误(阻断)",value:"error"},{label:"警告(提醒)",value:"warning"},{label:"信息(提示)",value:"info"}],H=[{label:"全文",value:"document"},{label:"章节",value:"chapter"},{label:"事实字段",value:"fact"},{label:"文件角色",value:"file_role"},{label:"提示词角色",value:"prompt_role"},{label:"表格",value:"table"},{label:"图片",value:"image"},{label:"来源",value:"source"}],N=[{label:"必须存在",value:"exists"},{label:"必须包含",value:"contains"},{label:"禁止包含",value:"not_contains"},{label:"正则必须匹配",value:"regex_match"},{label:"正则禁止匹配",value:"regex_not_match"},{label:"数量至少为 N",value:"min_count"},{label:"字数至少为 N",value:"min_length"},{label:"全部必须有来源",value:"all_have_source"},{label:"图片必须有说明",value:"image_caption_required"},{label:"表格必须有说明",value:"table_explanation_required"}],D=e=>{let{label:l,closable:s,onClose:i}=e;return(0,a.jsx)(t.A,{closable:s,onClose:i,color:"blue",style:{margin:"1px 2px",fontSize:11,lineHeight:"18px"},children:l})};function V(){var e,l,s,V;let W=(0,k.Vr)(),{message:P}=n.A.useApp(),[E]=r.A.useForm(),[L]=r.A.useForm(),[M,O]=(0,i.useState)([]),[G,K]=(0,i.useState)([]),[X,U]=(0,i.useState)([]),[J,Q]=(0,i.useState)(!1),[Y,Z]=(0,i.useState)(!1),[$,ee]=(0,i.useState)(null),[el,es]=(0,i.useState)(!1),[ea,ei]=(0,i.useState)("custom"),[et,en]=(0,i.useState)("specs"),er=async()=>{let[e,l]=await Promise.all([(0,_.mx)(),(0,_.lv)()]);O(e.specs),K(e.gateTypes),U(l.roles)};(0,i.useEffect)(()=>{er().catch(()=>P.error(W("common.error")))},[P,W]);let eo=X.filter(e=>"file"===e.type).map(e=>({label:e.name,value:e.id})),ed=X.filter(e=>"prompt"===e.type).map(e=>({label:e.name,value:e.id})),ec=G.filter(e=>!e.builtIn),em="all"===ea?G:ec,ex=[{label:"系统门禁类型",options:G.filter(e=>e.builtIn).map(e=>({label:e.name,value:e.id}))},{label:"我的门禁类型",options:G.filter(e=>!e.builtIn).map(e=>({label:e.name,value:e.id}))}],[eh,eu]=(0,i.useState)(0),[ep,ej]=(0,i.useState)(0),[eA,ey]=(0,i.useState)(0),eg=()=>{var e,l,s;eu((null!=(e=E.getFieldValue("factFields"))?e:[]).length),ej((null!=(l=E.getFieldValue("chapterRules"))?l:[]).length),ey((null!=(s=E.getFieldValue("gateRules"))?s:[]).length)},eb=(null!=(V=r.A.useWatch("factFields",E))?V:[]).filter(e=>e.id&&e.name).map(e=>({label:"".concat(e.name,"(").concat(e.id,")"),value:e.id})),ev=e=>{E.setFieldsValue(null!=e?e:{id:"spec-".concat(Date.now()),name:"",description:"",factFields:[{id:"document-goal",name:"文档目标",type:"auto",required:!0},{id:"target-audience",name:"目标读者",type:"auto",required:!1},{id:"key-conclusion",name:"关键结论",type:"auto",required:!0}],chapterMode:"dynamic",chapterRules:[],dynamicChapterRule:{source:"ai_plan",titleStrategy:"ai_summary"},gateRules:[]}),Q(!0),window.setTimeout(()=>eg(),50)},ef=async()=>{try{let e=await E.validateFields(),l=await (0,_.EK)(e);O(l.specs),K(l.gateTypes),Q(!1),P.success(W("common.success"))}catch(e){e instanceof Error&&P.error(e.message)}},eI=async e=>{let l=await (0,_.ER)(e);O(l.specs),K(l.gateTypes)},ew=e=>{var l;if(null==e?void 0:e.builtIn){L.setFieldsValue(e),ee(e.id),Z(!0);return}ee(null!=(l=null==e?void 0:e.id)?l:null),L.setFieldsValue(null!=e?e:{id:"gate-type-".concat(Date.now()),name:"",defaultLevel:"error",evaluator:{subject:"document",operator:"contains"}}),Z(!0)},eS=async()=>{try{var e;let l=await L.validateFields();if(null==(e=G.find(e=>e.id===l.id))?void 0:e.builtIn)return;let s=await (0,_.uD)(l);K(s.gateTypes),Z(!1),ee(null),L.resetFields(),P.success(W("common.success"))}catch(e){e instanceof Error&&P.error(e.message)}},ez=async e=>{K((await (0,_.ug)(e)).gateTypes)};return(0,a.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"pageTitle",children:W("specs.title")}),(0,a.jsx)("p",{className:"pageDesc",children:W("specs.description")})]}),(0,a.jsxs)(o.A,{wrap:!0,children:[(0,a.jsx)(d.A,{value:ea,onChange:ei,style:{width:160},options:[{label:"我的 (".concat(M.length+ec.length,")"),value:"custom"},{label:"全部来源 (".concat(M.length+G.length,")"),value:"all"}]}),"gateTypes"===et&&(0,a.jsx)(c.Ay,{onClick:()=>ew(),children:"新建门禁类型"}),"specs"===et&&(0,a.jsx)(c.Ay,{type:"primary",icon:(0,a.jsx)(w.A,{}),onClick:()=>ev(),children:W("specs.newSpec")})]})]}),(0,a.jsx)(m.A,{type:"info",showIcon:!0,message:(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,a.jsx)("span",{children:W("specs.plainGuideTitle")}),(0,a.jsx)(c.Ay,{type:"link",size:"small",icon:el?(0,a.jsx)(S.A,{}):(0,a.jsx)(z.A,{}),onClick:()=>es(!el),style:{padding:"0 4px"},children:el?"收起说明":"展开说明"})]}),description:el?W("specs.plainGuideDesc"):void 0}),(0,a.jsx)(x.A,{size:"small",children:(0,a.jsx)(h.A,{activeKey:et,onChange:e=>en(e),items:[{key:"specs",label:"规范包列表 (".concat(M.length,")"),children:0===M.length?(0,a.jsx)(u.A,{description:W("common.noData")}):(0,a.jsx)(p.A,{dataSource:M,renderItem:(e,l)=>(0,a.jsx)(p.A.Item,{style:{padding:"10px 0"},actions:[(0,a.jsx)(c.Ay,{size:"small",icon:(0,a.jsx)(R.A,{}),onClick:()=>ev(e),children:"编辑"},"edit"),(0,a.jsx)(j.A,{title:W("common.confirm"),onConfirm:()=>{eI(e.id)},children:(0,a.jsx)(c.Ay,{size:"small",danger:!0,icon:(0,a.jsx)(C.A,{})})},"del")],children:(0,a.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,minWidth:0,flex:1},children:[(0,a.jsx)("div",{style:{width:28,height:28,borderRadius:8,background:"var(--colorFillSecondary)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:700,color:"var(--colorTextSecondary)",flexShrink:0},children:l+1}),(0,a.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:2},children:[(0,a.jsx)("span",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,a.jsx)(t.A,{color:"cyan",style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:"我的规范包"})]}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[e.description&&(0,a.jsx)("span",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:e.description}),(0,a.jsxs)(o.A,{size:4,children:[(0,a.jsxs)(t.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px"},children:["事实 ",e.factFields.length]}),(0,a.jsx)(t.A,{color:"purple",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"dynamic"===e.chapterMode?"动态章节":"章节 ".concat(e.chapterRules.length)}),(0,a.jsxs)(t.A,{color:"orange",style:{margin:0,fontSize:10,lineHeight:"16px"},children:["门禁 ",e.gateRules.length]})]})]})]})]})})})},{key:"gateTypes",label:"门禁类型列表 (".concat(em.length,")"),children:0===em.length?(0,a.jsx)(u.A,{description:W("common.noData")}):(0,a.jsx)(p.A,{dataSource:em,renderItem:(e,l)=>{var s,i;return(0,a.jsx)(p.A.Item,{style:{padding:"10px 0"},actions:[(0,a.jsx)(c.Ay,{size:"small",icon:(0,a.jsx)(R.A,{}),onClick:()=>ew(e),children:e.builtIn?"查看":"编辑"},"edit"),(0,a.jsx)(j.A,{title:W("common.confirm"),disabled:e.builtIn,onConfirm:()=>{ez(e.id)},children:(0,a.jsx)(c.Ay,{size:"small",danger:!0,icon:(0,a.jsx)(C.A,{}),disabled:e.builtIn})},"del")],children:(0,a.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,minWidth:0,flex:1},children:[(0,a.jsx)("div",{style:{width:28,height:28,borderRadius:8,background:"var(--colorFillSecondary)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:700,color:"var(--colorTextSecondary)",flexShrink:0},children:l+1}),(0,a.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:2},children:[(0,a.jsx)("span",{style:{fontWeight:600},children:e.name}),e.builtIn?(0,a.jsx)(t.A,{color:"gold",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"系统门禁"}):(0,a.jsx)(t.A,{color:"cyan",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"我的门禁"})]}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[e.description&&(0,a.jsx)("span",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:e.description}),(0,a.jsxs)(o.A,{size:4,children:[(0,a.jsx)(t.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px"},children:null==(s=H.find(l=>l.value===e.evaluator.subject))?void 0:s.label}),(0,a.jsx)(t.A,{color:"purple",style:{margin:0,fontSize:10,lineHeight:"16px"},children:null==(i=N.find(l=>l.value===e.evaluator.operator))?void 0:i.label})]})]})]})]})})}})}]})}),(0,a.jsx)(A.A,{title:W("specs.editor"),open:J,onClose:()=>Q(!1),width:800,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,a.jsx)(c.Ay,{type:"primary",onClick:()=>{ef()},children:W("common.save")}),children:(0,a.jsxs)(r.A,{form:E,layout:"vertical",onValuesChange:()=>eg(),children:[(0,a.jsxs)(y.A,{gutter:12,children:[(0,a.jsx)(r.A.Item,{name:"id",hidden:!0,children:(0,a.jsx)(g.A,{})}),(0,a.jsx)(b.A,{xs:24,md:12,children:(0,a.jsx)(r.A.Item,{name:"name",label:W("specs.name"),rules:[{required:!0}],children:(0,a.jsx)(g.A,{})})}),(0,a.jsx)(b.A,{xs:24,md:12,children:(0,a.jsx)(r.A.Item,{name:"description",label:W("specs.specDescription"),children:(0,a.jsx)(g.A,{})})})]}),(0,a.jsx)(h.A,{destroyInactiveTabPane:!1,items:[{key:"facts",label:"".concat(W("specs.facts")," (").concat(eh,")"),children:(0,a.jsx)(r.A.List,{name:"factFields",children:(e,l)=>{let{add:s,remove:i}=l;return(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[e.map((e,l)=>(0,a.jsxs)(x.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,a.jsx)(c.Ay,{danger:!0,size:"small",icon:(0,a.jsx)(C.A,{}),onClick:()=>i(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,a.jsx)(r.A.Item,{name:[e.name,"id"],hidden:!0,children:(0,a.jsx)(g.A,{})}),(0,a.jsxs)(y.A,{gutter:[14,8],children:[(0,a.jsx)(r.A.Item,{name:[e.name,"type"],initialValue:"auto",hidden:!0,children:(0,a.jsx)(g.A,{})}),(0,a.jsx)(b.A,{xs:24,sm:8,children:(0,a.jsx)(r.A.Item,{name:[e.name,"name"],label:W("specs.factName"),rules:[{required:!0}],style:{marginBottom:0},children:(0,a.jsx)(g.A,{size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:4,children:(0,a.jsx)(r.A.Item,{name:[e.name,"required"],label:W("specs.required"),valuePropName:"checked",style:{marginBottom:0},children:(0,a.jsx)(v.A,{})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:[e.name,"sourceRoleIds"],label:W("specs.sourceRoles"),style:{marginBottom:0},children:(0,a.jsx)(d.A,{mode:"multiple",showSearch:!0,options:eo,tagRender:D,placeholder:"选择文件角色",size:"small"})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:[e.name,"extractionHint"],label:W("specs.extractionHint"),style:{marginBottom:0},children:(0,a.jsx)(g.A,{size:"small"})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:[e.name,"validationHint"],label:W("specs.validationHint"),style:{marginBottom:0},children:(0,a.jsx)(g.A,{size:"small"})})})]})]},e.key)),(0,a.jsx)(c.Ay,{icon:(0,a.jsx)(w.A,{}),onClick:()=>s({id:"fact-".concat(Date.now()),type:"auto",required:!0}),children:W("specs.addFact")})]})}})},{key:"chapters",label:"".concat(W("specs.chapters")," (").concat(ep,")"),children:(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,a.jsx)(r.A.Item,{name:"chapterMode",label:"章节生成方式",initialValue:"dynamic",children:(0,a.jsx)(d.A,{options:B})}),(0,a.jsx)(r.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.chapterMode!==l.chapterMode,children:e=>{let{getFieldValue:l}=e;return"fixed"===l("chapterMode")?(0,a.jsx)(r.A.List,{name:"chapterRules",children:(e,l)=>{let{add:s,remove:i}=l;return(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,a.jsx)(m.A,{type:"info",showIcon:!0,message:"固定章节模式",description:"适合合同、标准报告等已明确章节数量和标题的文档。"}),e.map((e,l)=>(0,a.jsxs)(x.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,a.jsx)(c.Ay,{danger:!0,size:"small",icon:(0,a.jsx)(C.A,{}),onClick:()=>i(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,a.jsx)(r.A.Item,{name:[e.name,"id"],hidden:!0,children:(0,a.jsx)(g.A,{})}),(0,a.jsxs)(y.A,{gutter:[14,8],children:[(0,a.jsx)(b.A,{xs:24,sm:7,children:(0,a.jsx)(r.A.Item,{name:[e.name,"title"],label:W("specs.chapterTitle"),rules:[{required:!0}],style:{marginBottom:0},children:(0,a.jsx)(g.A,{size:"small"})})}),(0,a.jsx)(b.A,{xs:8,sm:3,children:(0,a.jsx)(r.A.Item,{name:[e.name,"order"],label:W("specs.order"),initialValue:l,style:{marginBottom:0},children:(0,a.jsx)(f.A,{size:"small",style:{width:"100%"}})})}),(0,a.jsx)(b.A,{xs:8,sm:3,children:(0,a.jsx)(r.A.Item,{name:[e.name,"minWords"],label:W("specs.minWords"),style:{marginBottom:0},children:(0,a.jsx)(f.A,{size:"small",style:{width:"100%"}})})}),(0,a.jsx)(b.A,{xs:8,sm:3,children:(0,a.jsx)(r.A.Item,{name:[e.name,"required"],label:W("specs.required"),valuePropName:"checked",style:{marginBottom:0},children:(0,a.jsx)(v.A,{})})}),(0,a.jsx)(b.A,{xs:24,sm:8,children:(0,a.jsx)(r.A.Item,{name:[e.name,"requiredFactIds"],label:W("specs.requiredFacts"),style:{marginBottom:0},children:(0,a.jsx)(d.A,{mode:"multiple",showSearch:!0,optionFilterProp:"label",placeholder:"选择事实字段",options:eb,tagRender:D,size:"small"})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:[e.name,"requiredFileRoleIds"],label:W("specs.requiredFileRoles"),style:{marginBottom:0},children:(0,a.jsx)(d.A,{mode:"multiple",showSearch:!0,options:eo,tagRender:D,placeholder:"选择文件角色",size:"small"})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:[e.name,"requiredPromptRoleIds"],label:W("specs.requiredPromptRoles"),style:{marginBottom:0},children:(0,a.jsx)(d.A,{mode:"multiple",showSearch:!0,options:ed,tagRender:D,placeholder:"选择提示词角色",size:"small"})})}),(0,a.jsx)(b.A,{xs:24,children:(0,a.jsx)(r.A.Item,{name:[e.name,"generationHint"],label:W("specs.generationHint"),style:{marginBottom:0},children:(0,a.jsx)(g.A,{size:"small"})})})]})]},e.key)),(0,a.jsx)(c.Ay,{icon:(0,a.jsx)(w.A,{}),onClick:()=>s({id:"chapter-".concat(Date.now()),order:e.length,required:!0}),children:W("specs.addChapter")})]})}}):(0,a.jsxs)(x.A,{size:"small",title:"动态章节规则",style:{border:"1px solid var(--colorBorderSecondary)"},children:[(0,a.jsx)(m.A,{type:"info",showIcon:!0,style:{marginBottom:12},message:"动态章节模式",description:"适合从资料目录、文件角色、表格行或 AI 规划中动态决定章节数量和标题。"}),(0,a.jsxs)(y.A,{gutter:[14,8],children:[(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","source"],label:"章节来源",initialValue:"ai_plan",children:(0,a.jsx)(d.A,{options:q})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","sourceRoleIds"],label:"来源文件角色",children:(0,a.jsx)(d.A,{mode:"multiple",showSearch:!0,options:eo,tagRender:D,placeholder:"可选,限定从哪些文件角色规划章节"})})}),(0,a.jsx)(b.A,{xs:12,sm:6,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","minChapters"],label:"最少章节",children:(0,a.jsx)(f.A,{min:1,style:{width:"100%"}})})}),(0,a.jsx)(b.A,{xs:12,sm:6,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","maxChapters"],label:"最多章节",children:(0,a.jsx)(f.A,{min:1,style:{width:"100%"}})})}),(0,a.jsx)(b.A,{xs:12,sm:6,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","minWordsPerChapter"],label:"每章最低字数",children:(0,a.jsx)(f.A,{min:0,style:{width:"100%"}})})}),(0,a.jsx)(b.A,{xs:12,sm:6,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","titleStrategy"],label:"标题方式",initialValue:"ai_summary",children:(0,a.jsx)(d.A,{options:F})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","requiredFactIds"],label:"每章优先使用事实",children:(0,a.jsx)(d.A,{mode:"multiple",showSearch:!0,optionFilterProp:"label",options:eb,tagRender:D,placeholder:"可选"})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","requiredPromptRoleIds"],label:"每章提示词角色",children:(0,a.jsx)(d.A,{mode:"multiple",showSearch:!0,options:ed,tagRender:D,placeholder:"可选"})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","titleTemplate"],label:"标题模板",children:(0,a.jsx)(g.A,{placeholder:"例如:第{{index}}章 {{sourceTitle}}"})})}),(0,a.jsx)(b.A,{xs:24,sm:12,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","requiredFileRoleIds"],label:"每章必须参考文件角色",children:(0,a.jsx)(d.A,{mode:"multiple",showSearch:!0,options:eo,tagRender:D,placeholder:"可选"})})}),(0,a.jsx)(b.A,{xs:24,children:(0,a.jsx)(r.A.Item,{name:["dynamicChapterRule","generationHint"],label:"动态章节生成说明",children:(0,a.jsx)(g.A.TextArea,{autoSize:{minRows:2,maxRows:5},placeholder:"例如:请按招标文件目录生成章节,保留原始编号和标题层级。"})})})]})]})}})]})},{key:"gates",label:"".concat(W("specs.gates")," (").concat(eA,")"),children:(0,a.jsx)(r.A.List,{name:"gateRules",children:(e,l)=>{let{add:s,remove:i}=l;return(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[e.map((e,l)=>(0,a.jsxs)(x.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,a.jsx)(c.Ay,{danger:!0,size:"small",icon:(0,a.jsx)(C.A,{}),onClick:()=>i(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,a.jsx)(r.A.Item,{name:[e.name,"id"],hidden:!0,children:(0,a.jsx)(g.A,{})}),(0,a.jsxs)(y.A,{gutter:[12,8],align:"middle",children:[(0,a.jsx)(b.A,{xs:24,sm:6,children:(0,a.jsx)(r.A.Item,{name:[e.name,"name"],label:"名称",rules:[{required:!0}],style:{marginBottom:0},children:(0,a.jsx)(g.A,{placeholder:W("specs.gateName"),size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:6,children:(0,a.jsx)(r.A.Item,{name:[e.name,"type"],label:"类型",rules:[{required:!0}],style:{marginBottom:0},children:(0,a.jsx)(d.A,{options:ex,size:"small",onChange:e=>((e,l)=>{var s,a,i,t,n;let r=G.find(e=>e.id===l);if(!r)return;let o=[...null!=(n=E.getFieldValue("gateRules"))?n:[]];o[e]={...o[e],type:r.id,level:(null==(s=o[e])?void 0:s.level)||r.defaultLevel,name:(null==(a=o[e])?void 0:a.name)||r.name,evaluator:{...r.evaluator},target:(null==(i=o[e])?void 0:i.target)||r.evaluator.target||"",value:(null==(t=o[e])?void 0:t.value)||r.evaluator.value||""},E.setFieldValue("gateRules",o)})(l,e)})})}),(0,a.jsx)(b.A,{xs:12,sm:3,children:(0,a.jsx)(r.A.Item,{name:[e.name,"level"],label:"级别",style:{marginBottom:0},children:(0,a.jsx)(d.A,{options:T,size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:4,children:(0,a.jsx)(r.A.Item,{name:[e.name,"target"],label:"目标",style:{marginBottom:0},children:(0,a.jsx)(g.A,{placeholder:"章节/事实/角色",size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:5,children:(0,a.jsx)(r.A.Item,{name:[e.name,"value"],label:"值",style:{marginBottom:0},children:(0,a.jsx)(g.A,{placeholder:"关键词/正则/数值",size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:5,children:(0,a.jsx)(r.A.Item,{name:[e.name,"evaluator","subject"],label:"校验对象",rules:[{required:!0}],style:{marginBottom:0},children:(0,a.jsx)(d.A,{options:H,size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:6,children:(0,a.jsx)(r.A.Item,{name:[e.name,"evaluator","operator"],label:"校验方式",rules:[{required:!0}],style:{marginBottom:0},children:(0,a.jsx)(d.A,{options:N,size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:5,children:(0,a.jsx)(r.A.Item,{name:[e.name,"evaluator","target"],label:"执行目标",style:{marginBottom:0},children:(0,a.jsx)(g.A,{placeholder:"默认取目标",size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:5,children:(0,a.jsx)(r.A.Item,{name:[e.name,"evaluator","value"],label:"执行值",style:{marginBottom:0},children:(0,a.jsx)(g.A,{placeholder:"默认取值",size:"small"})})}),(0,a.jsx)(b.A,{xs:12,sm:3,children:(0,a.jsx)(r.A.Item,{name:[e.name,"evaluator","min"],label:"N",style:{marginBottom:0},children:(0,a.jsx)(f.A,{min:1,size:"small",style:{width:"100%"}})})})]})]},e.key)),(0,a.jsx)(c.Ay,{icon:(0,a.jsx)(w.A,{}),onClick:()=>s({id:"gate-".concat(Date.now()),type:"required_fact",level:"error",evaluator:{subject:"fact",operator:"exists"}}),children:W("specs.addGate")})]})}})}]})]})}),(0,a.jsx)(I.A,{title:(null==(e=G.find(e=>e.id===$))?void 0:e.builtIn)?"查看系统门禁类型":$?"编辑门禁类型":"新建门禁类型",open:Y,onOk:()=>{eS()},onCancel:()=>{Z(!1),ee(null)},okText:W("common.save"),cancelText:W("common.cancel"),okButtonProps:{disabled:!!(null==(l=G.find(e=>e.id===$))?void 0:l.builtIn)},children:(0,a.jsx)(r.A,{form:L,layout:"vertical",disabled:!!(null==(s=G.find(e=>e.id===$))?void 0:s.builtIn),children:(0,a.jsxs)(y.A,{gutter:12,children:[(0,a.jsx)(r.A.Item,{name:"id",hidden:!0,children:(0,a.jsx)(g.A,{})}),(0,a.jsx)(b.A,{span:12,children:(0,a.jsx)(r.A.Item,{name:"name",label:"类型名称",rules:[{required:!0}],children:(0,a.jsx)(g.A,{placeholder:"必须包含风险提示"})})}),(0,a.jsx)(b.A,{span:12,children:(0,a.jsx)(r.A.Item,{name:"description",label:"说明",children:(0,a.jsx)(g.A,{placeholder:"告诉用户这类门禁检查什么"})})}),(0,a.jsx)(b.A,{span:12,children:(0,a.jsx)(r.A.Item,{name:"defaultLevel",label:"默认级别",rules:[{required:!0}],children:(0,a.jsx)(d.A,{options:T})})}),(0,a.jsx)(b.A,{span:12,children:(0,a.jsx)(r.A.Item,{name:["evaluator","subject"],label:"校验对象",rules:[{required:!0}],children:(0,a.jsx)(d.A,{options:H})})}),(0,a.jsx)(b.A,{span:12,children:(0,a.jsx)(r.A.Item,{name:["evaluator","operator"],label:"校验方式",rules:[{required:!0}],children:(0,a.jsx)(d.A,{options:N})})}),(0,a.jsx)(b.A,{span:12,children:(0,a.jsx)(r.A.Item,{name:["evaluator","target"],label:"默认目标",children:(0,a.jsx)(g.A,{placeholder:"章节/事实/角色,可为空"})})}),(0,a.jsx)(b.A,{span:12,children:(0,a.jsx)(r.A.Item,{name:["evaluator","value"],label:"默认值",children:(0,a.jsx)(g.A,{placeholder:"关键词/正则,可为空"})})}),(0,a.jsx)(b.A,{span:12,children:(0,a.jsx)(r.A.Item,{name:["evaluator","min"],label:"默认 N",children:(0,a.jsx)(f.A,{min:1,style:{width:"100%"}})})})]})})})]})}},94773:(e,l,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/document-specs",function(){return s(16734)}])}},e=>{e.O(0,[433,787,576,195,455,938,265,636,593,792],()=>e(e.s=94773)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[298],{16403:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/documents",function(){return s(19562)}])},19562:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>en});var r=s(65321),n=s(97109),i=s(7576),l=s(35292),a=s(17807),o=s(63455),c=s(88762),d=s(85114),u=s(68787),p=s(84253),m=s(38332),h=s(26171),x=s(11702),g=s(33442),f=s(85493),v=s(34052),w=s(9730),j=s(42700),y=s(58569),A=s(76506),k=s(2256),S=s(38770),I=s(57271),b=s(23216),T=s(16285),C=s(26619),_=s(8263),z=s(8579),D=s(75548),F=s(7851),M=s(84742),E=s(29071),B=s(63552),L=s(26631),P=s(76830),R=s(83914),q=s(58209),W=s(54746),G=s(71330),O=s(64068),N=s(93051),H=s(38762),K=s(64629),U=s(67547),X=s(99811),V=s(6578),Q=s(79059);let{TextArea:J}=i.A,{Paragraph:Y,Text:Z}=l.A,$=null;function ee(){null==$||$.listeners.forEach(e=>e())}let et={role_binding:(0,r.jsx)(b.A,{}),context_recall:(0,r.jsx)(T.A,{}),knowledge_retrieval:(0,r.jsx)(C.A,{}),file_understanding:(0,r.jsx)(_.A,{}),fact_extraction:(0,r.jsx)(T.A,{}),chapter_generation:(0,r.jsx)(z.A,{}),asset_generation:(0,r.jsx)(D.A,{}),validation:(0,r.jsx)(F.A,{}),formatting:(0,r.jsx)(M.A,{}),llm_review:(0,r.jsx)(E.A,{}),export_ready:(0,r.jsx)(B.A,{}),reference:(0,r.jsx)(D.A,{})},es={施工组织设计:(0,r.jsx)(F.A,{}),投标文件:(0,r.jsx)(B.A,{}),技术方案:(0,r.jsx)(T.A,{}),报告:(0,r.jsx)(L.A,{}),自定义:(0,r.jsx)(z.A,{})},er={role_binding:"角色配置绑定",context_recall:"上下文召回",knowledge_retrieval:"知识库检索",file_understanding:"多模态文件理解",fact_extraction:"LLM 事实抽取",chapter_generation:"LLM 章节生成",asset_generation:"多模态资源生成",validation:"规则校验",formatting:"格式化排版",llm_review:"LLM 审查优化",export_ready:"导出就绪",reference:"参考资源处理"};function en(){let e=(0,Q.Vr)(),{message:t}=a.A.useApp(),[s]=o.A.useForm(),l=(0,n.useRef)(null),[Y,en]=(0,n.useState)([]),[ei,el]=(0,n.useState)("construction-organization-design"),[ea,eo]=(0,n.useState)([]),[ec,ed]=(0,n.useState)([]),[eu,ep]=(0,n.useState)([]),[em,eh]=(0,n.useState)(!0),[ex,eg]=(0,n.useState)(!1),[ef,ev]=(0,n.useState)(null),[ew,ej]=(0,n.useState)(""),[ey,eA]=(0,n.useState)([]),[ek,eS]=(0,n.useState)(null),[eI,eb]=(0,n.useState)(null),[eT,eC]=(0,n.useState)(null),[e_,ez]=(0,n.useState)(!1),[eD,eF]=(0,n.useState)({}),[eM,eE]=(0,n.useState)([]),[eB,eL]=(0,n.useState)(null),[eP,eR]=(0,n.useState)("templates"),[eq,eW]=(0,n.useState)(!1),[eG,eO]=(0,n.useState)("workflow"),eN=(0,n.useRef)(null),eH=async()=>{try{eA((await (0,V.cQ)()).documents)}catch(e){eA([])}};(0,n.useEffect)(()=>{let e=()=>{$&&(eE($.flowSteps),eL($.activeFlowKey),eg($.loading),$.documentId&&eS($.documentId),$.draft&&ev($.draft),void 0!==$.content&&ej($.content))},t=$;return null==t||t.listeners.add(e),e(),()=>{null==t||t.listeners.delete(e)}},[]),(0,n.useEffect)(()=>{eh(!0),Promise.all([(0,V.Dl)().then(e=>{var t,s;en(e.templates),el(null!=(s=null==(t=e.templates[0])?void 0:t.id)?s:"construction-organization-design")}),(0,V.lv)().then(e=>{eo(e.roles),ed(e.configs)}),(0,V.mx)().then(e=>ep(e.specs)),eH()]).catch(()=>t.error(e("common.error"))).finally(()=>eh(!1))},[t,e]),(0,n.useEffect)(()=>{if(0===ey.length)return;let e=localStorage.getItem("activeGenDocId");if(!e)return;if(!ey.find(t=>t.id===e&&"generating"===t.status))return void localStorage.removeItem("activeGenDocId");let t=setInterval(()=>{(async()=>{try{let{document:s}=await (0,V.v7)(e);await eH(),"generating"!==s.status&&(localStorage.removeItem("activeGenDocId"),clearInterval(t))}catch(e){clearInterval(t)}})()},3e3);return()=>clearInterval(t)},[ey]);let eK=(0,n.useMemo)(()=>Y.find(e=>e.id===ei),[Y,ei]),eU=ec.map(e=>({label:e.name,value:e.id})),eX=eu.map(e=>({label:e.name,value:e.id})),eV=Math.max(0,eM.findIndex(e=>e.key===eB)),eQ=e=>{el(e),eS(null),ev(null),ej(""),eO("workflow"),eW(!0),eR("drafts")},eJ=async s=>{eS(s.id),el(s.templateId);let r=e$(s.status);if(r||"failed"===s.status){tn.current=!0,ev(null),ej(""),eg(r),eO("workflow"),eW(!0);try{let{document:e}=await (0,V.v7)(s.id);e2(e),e$(e.status)?e6(e.id):await eH()}catch(e){e2(s)}return}eO("editor"),eE([]),eL(null);try{let{document:e}=await (0,V.v7)(s.id);ev(e.draft||null),ej(e.editedMarkdown||e.markdown)}catch(s){t.error(e("common.error"))}eW(!0)},eY=e=>e.map((e,t)=>({key:"sub-".concat(t),title:e,status:"wait"})),eZ=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:eK,s=eu.find(e=>e.id===(null==t?void 0:t.documentSpecId)),n=ec.find(e=>e.id===(null==t?void 0:t.projectRoleConfigId)),i=((null==n?void 0:n.fileRoles)||[]).map(e=>{var t;return(null==(t=ea.find(t=>t.id===e.roleId))?void 0:t.name)||e.roleId}),l=((null==n?void 0:n.promptRoles)||[]).map(e=>{var t;return(null==(t=ea.find(t=>t.id===e.roleId))?void 0:t.name)||e.roleId}),a=(null==s?void 0:s.factFields.map(e=>e.name))||(null==t?void 0:t.chapters.flatMap(e=>e.requiredFacts))||[],o=(null==t?void 0:t.chapters.map(e=>e.title))||[],c=l.some(e=>/封面|图片|资源|cover|image/iu.test(e));return[{key:"prepare",title:e("documents.flowPrepare"),description:'读取"'.concat((null==t?void 0:t.name)||"当前模板",'"并创建后台生成任务'),status:"process",icon:(0,r.jsx)(L.A,{}),subSteps:eY(["读取模板参数",(null==t?void 0:t.documentSpecId)?"加载规范包:".concat((null==s?void 0:s.name)||t.documentSpecId):"未绑定规范包,使用模板章节要求","创建后台生成任务"])},{key:"role_binding",title:"动态角色配置绑定",description:"绑定 ".concat(i.length," 个文件角色、").concat(l.length," 个提示词角色"),status:"wait",icon:(0,r.jsx)(b.A,{}),subSteps:eY([...i.length?i.map(e=>"文件角色:".concat(e)):["没有文件角色,使用模板绑定文件"],...l.length?l.map(e=>"提示词角色:".concat(e)):["没有提示词角色,使用默认生成策略"]].slice(0,10))},{key:"context_recall",title:"短期/长期上下文召回",description:"从项目记忆中召回用户偏好、历史纠偏和已生成文档摘要,并注入生成提示词",status:"wait",icon:(0,r.jsx)(T.A,{}),subSteps:eY(["召回相关项目记忆","注入章节生成提示词","生成完成后沉淀新记忆"])},{key:"knowledge_retrieval",title:"知识库证据检索",description:"按 ".concat(o.length," 个章节检索文本、文档、表格、图片、图纸和附件"),status:"wait",icon:(0,r.jsx)(C.A,{}),subSteps:eY(o.length?o.slice(0,10).map(e=>"检索章节:".concat(e)):["按模板标题检索证据"])},{key:"file_understanding",title:"多类型文件理解",description:"按文件角色处理文本、PDF/Word、表格、图片、图纸和附件",status:"wait",icon:(0,r.jsx)(_.A,{}),subSteps:eY(["识别文件类型和角色","构建结构化资源证据包","必要时调用多模态文件理解"])},{key:"fact_extraction",title:"动态 schema 事实抽取",description:"按 ".concat(a.length," 个规范/章节事实字段抽取并检测冲突"),status:"wait",icon:(0,r.jsx)(T.A,{}),subSteps:eY(a.length?a.slice(0,10).map(e=>"抽取事实:".concat(e)):["抽取模板要求的事实","合并来源和角色","检测事实冲突"])},{key:"chapter_generation",title:"章节生成",description:"按 ".concat(o.length," 个模板章节逐章生成"),status:"wait",icon:(0,r.jsx)(z.A,{}),subSteps:eY(o.length?o.slice(0,10).map(e=>"生成:".concat(e)):["构造章节提示词","等待 LLM 生成","整理章节证据"])},...c?[{key:"asset_generation",title:"生成资源处理",description:"根据资源/图片提示词生成或登记本地资源",status:"wait",icon:(0,r.jsx)(D.A,{}),subSteps:eY(["生成资源提示词","保存到 generatedDocuments/assets","登记资源元数据"])}]:[],{key:"validation",title:"规范包与门禁校验",description:s?"执行 ".concat(s.gateRules.length," 条门禁规则"):"执行模板基础校验",status:"wait",icon:(0,r.jsx)(F.A,{}),subSteps:eY([...(null==s?void 0:s.factFields.filter(e=>e.required).map(e=>"必填事实:".concat(e.name)))||[],...(null==s?void 0:s.gateRules.map(e=>"门禁:".concat(e.name)))||["检查章节证据","检查缺失项","检查导出门禁"]].slice(0,10))},{key:"formatting",title:e("documents.flowFormatting"),description:"整理标题、表格、图片、附件引用和正式 Markdown",status:"wait",icon:(0,r.jsx)(M.A,{}),subSteps:eY(["整理标题层级","整理多类型资源引用","生成正式 Markdown"])},{key:"llm_review",title:"LLM 审查优化",description:"再次使用动态 schema、角色和结构化证据审查优化初稿",status:"wait",icon:(0,r.jsx)(E.A,{}),subSteps:eY(["构造审查提示词","检查事实来源和冲突","回填优化后的 Markdown"])},{key:"export_ready",title:"导出就绪",description:"确认 Markdown/HTML/DOCX/PDF 可导出",status:"wait",icon:(0,r.jsx)(B.A,{}),subSteps:eY(["生成导出检查清单","确认阻断项","准备导出格式"])},{key:"done",title:e("documents.flowDone"),description:e("documents.flowDoneDesc"),status:"wait",icon:(0,r.jsx)(P.A,{}),subSteps:eY(["展示生成结果","允许编辑正文","允许导出文件"])}]},e$=e=>"completed"!==e&&"warning"!==e&&"failed"!==e,e0=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ex;(null==$?void 0:$.loading)&&($.flowSteps=e,$.activeFlowKey=t,$.loading=s,ee())},e1=(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 s=e.subSteps.findIndex(e=>"wait"===e.status);return e.subSteps.map((e,t)=>t<s||-1===s?{...e,status:"finish"}:t===s?{...e,status:"process"}:e)},e2=e=>{let{steps:t,activeKey:s}=(e=>{var t,s,r;let n,i=Y.find(t=>t.id===e.templateId)||eK,l=e.executionStages||(null==(t=e.draft)?void 0:t.executionStages)||[],a=new Map(l.map(e=>[e.type,e])),o=eZ(i).map(t=>{let s;if("prepare"===t.key){let s=l.length>0?"finish":"generating"===e.status?"process":"finish";return{...t,status:s,subSteps:e1(t,s)}}if("done"===t.key){let s="completed"===e.status?"finish":"warning"===e.status?"warning":"wait";return{...t,status:s,subSteps:e1(t,s)}}let r=a.get(t.key);if(!r)return t;let n="failed"===(s=r.status)?"error":"fallback"===s?"warning":"finish";return{...t,status:n,description:r.message||t.description,subSteps:e1(t,n)}});if("generating"===e.status){let e=Math.max(-1,...l.map(e=>o.findIndex(t=>t.key===e.type)).filter(e=>e>=0)),t=o.slice(e+1).find(e=>"done"!==e.key&&"wait"===e.status)||o.find(e=>"process"===e.status)||o.find(e=>"done"===e.key);for(let e of(n=(null==t?void 0:t.key)||"prepare",o))e.key===n&&"wait"===e.status&&(e.status="process",e.subSteps=e1(e,"process"))}else n="failed"===e.status?(null==(s=o.find(e=>"error"===e.status))?void 0:s.key)||(null==(r=l.at(-1))?void 0:r.type)||"prepare":"done";return{steps:o,activeKey:n}})(e);eE(t),eL(s),eg(e$(e.status)),"failed"===e.status&&eO("workflow"),("completed"===e.status||"warning"===e.status)&&e.draft&&(ev(e.draft),ej(e.editedMarkdown||e.markdown),eO("editor"),eE([]),eL(null))},e6=e=>{eN.current&&clearInterval(eN.current),eN.current=setInterval(()=>{(async()=>{try{let{document:t}=await (0,V.v7)(e);e2(t),await eH(),e$(t.status)||(eN.current&&clearInterval(eN.current),eN.current=null,localStorage.removeItem("activeGenDocId"))}catch(e){}})()},2e3)},e8=(e,t,s)=>{eL(e),eE(r=>{let n=r.map(r=>r.key===e?{...r,status:t,description:s||r.description,subSteps:e1(r,t)}:r);return e0(n,e),n})};(0,n.useEffect)(()=>{if(!ex||!eB)return;let e=window.setInterval(()=>eE(e=>{let t=e.map(e=>{if(e.key!==eB||"process"!==e.status)return e;let t=e.subSteps.findIndex(e=>"process"===e.status),s=t<0?0:Math.min(t+1,e.subSteps.length-1);return{...e,subSteps:e.subSteps.map((e,t)=>t<s?{...e,status:"finish"}:t===s?{...e,status:"process"}:{...e,status:"wait"})}});return e0(t,eB),t}),1400);return()=>window.clearInterval(e)},[eB,ex]);let e3=e=>{eE(t=>{let s=t.findIndex(t=>t.key===e),r=t.map((e,t)=>t<s&&"error"!==e.status?{...e,status:"finish",subSteps:e1(e,"finish")}:e);return e0(r,e),r})},e5=e=>{let t=null!=e?e:{id:"tpl-".concat(Date.now()),name:"",description:"",category:"自定义",outputTitle:"",projectRoleConfigId:void 0,documentSpecId:void 0,chapters:[]};s.setFieldsValue({...t,chapters:t.chapters.map(e=>({...e,queriesText:e.queries.join("\n"),requiredFactsText:e.requiredFacts.join("\n"),pinnedEvidenceText:(e.pinnedEvidenceFilePaths||[]).join("\n")}))}),ez(!0)},e7=async()=>{try{let r=await s.validateFields(),n={...r,chapters:(r.chapters||[]).map(e=>({...e,queries:String(e.queriesText||"").split(/\r?\n/u).map(e=>e.trim()).filter(Boolean),requiredFacts:String(e.requiredFactsText||"").split(/\r?\n/u).map(e=>e.trim()).filter(Boolean),pinnedEvidenceFilePaths:String(e.pinnedEvidenceText||"").split(/\r?\n/u).map(e=>e.trim()).filter(Boolean),queriesText:void 0,requiredFactsText:void 0,pinnedEvidenceText:void 0}))},i=await (0,V.l2)(n);en(i.templates),el(i.template.id),ez(!1),await eH(),t.success(e("common.success"))}catch(e){e instanceof Error&&t.error(e.message)}},e4=async s=>{try{let r=await (0,V.bV)(s);en(r.templates),el(r.template.id),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},e9=async s=>{try{var r,n;let i=await (0,V.h0)(s);en(i.templates),el(null!=(n=null==(r=i.templates[0])?void 0:r.id)?n:""),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},te=async e=>{try{let{validation:s}=await (0,V.SM)(e);eF(t=>({...t,[e]:s}));let r=s.issues.filter(e=>"error"===e.level);if(el(e),r.length>0)return void t.warning("模板运行前检查未通过,请先处理阻断项");if(s.issues.length>0)return void t.warning("模板存在警告,可在检查面板确认后继续运行");eQ(e)}catch(e){t.error(e instanceof Error?e.message:"模板运行前检查失败")}},tt=async s=>{try{await (0,V.QG)(s),ek===s&&(eS(null),ev(null),ej("")),await eH(),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},ts=async e=>{let t=[{k:"chapter_generation",m:"后台任务已创建,正在轮询等待 LLM 章节生成完成…"},{k:"asset_generation",m:"正在轮询等待封面和生成资源写入本地记录…"},{k:"validation",m:"正在轮询等待校验、导出门禁和格式化完成…"},{k:"llm_review",m:"正在轮询等待 LLM 审查优化完成…"}],s=0;for(;;){var r;let{document:n}=await (0,V.v7)(e);if(e2(n),("completed"===n.status||"warning"===n.status)&&n.draft)return n;if("failed"===n.status)throw Error(n.error||"生成失败");if(0===(n.executionStages||(null==(r=n.draft)?void 0:r.executionStages)||[]).length){let e=t[Math.min(s,t.length-1)];e3(e.k),e8(e.k,"process",e.m)}s++,await new Promise(e=>window.setTimeout(e,1500))}},tr=async()=>{if(!ei)return;if(null==$?void 0:$.loading){eE($.flowSteps),eL($.activeFlowKey),eg(!0);return}eg(!0);let s=eZ(Y.find(e=>e.id===ei)||eK),r=(0,V.OX)({templateId:ei});$={id:Date.now(),templateId:ei,loading:!0,flowSteps:s,activeFlowKey:"prepare",promise:r,listeners:new Set},eE(s),eL("prepare");let n=[{k:"role_binding",m:"正在读取模板、文件角色、提示词角色和文档规范包…"},{k:"knowledge_retrieval",m:"正在从知识库检索章节证据、表格、图片和附件…"},{k:"file_understanding",m:"正在准备多模态文件理解…"},{k:"fact_extraction",m:"正在等待 LLM 事实抽取和后续章节生成结果…"}].map((e,t)=>window.setTimeout(()=>{e3(e.k),e8(e.k,"process",e.m)},600+900*t));try{let s=await r;s.documentId&&(localStorage.setItem("activeGenDocId",s.documentId),eS(s.documentId),(null==$?void 0:$.promise)===r&&($.documentId=s.documentId)),await eH();let i=s.documentId?await ts(s.documentId):void 0,a=s.draft||(null==i?void 0:i.draft);if(!a)throw Error("生成结果为空");(s.documentId||(null==i?void 0:i.id))&&eS(s.documentId||i.id),n.forEach(e=>window.clearTimeout(e)),e3("done"),ev(a),ej((null==i?void 0:i.editedMarkdown)||(null==i?void 0:i.markdown)||a.markdown),(null==$?void 0:$.promise)===r&&($.draft=a,$.content=(null==i?void 0:i.editedMarkdown)||(null==i?void 0:i.markdown)||a.markdown),eE(t=>{let s=t.map(t=>{let s=a.executionStages.find(e=>e.type===t.key);if("prepare"===t.key)return{...t,status:"finish",description:e("documents.flowPrepareDone"),subSteps:e1(t,"finish")};if("done"===t.key){var r;let s=a.validationIssues.some(e=>"error"===e.level||"warning"===e.level)||!a.exportGate.passed,n=s?"warning":"finish",i=null==(r=a.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:r.message;return{...t,status:n,description:s?"生成完成,但需复核:".concat(i||e("documents.flowGateFailed")):e("documents.flowDoneDesc"),subSteps:e1(t,n)}}if(!s)return"process"===t.status?{...t,status:"finish",subSteps:e1(t,"finish")}:t;let n="failed"===s.status?"error":"finish";return{...t,status:n,description:"".concat(s.status.toUpperCase(),":").concat(s.message||t.description),subSteps:e1(t,n)}});return e0(s,"done",!1),s}),eL("done"),(null==$?void 0:$.promise)===r&&($.activeFlowKey="done",$.loading=!1,ee()),localStorage.removeItem("activeGenDocId"),await eH(),t.success(e("common.success")),window.setTimeout(()=>{var e;return null==(e=l.current)?void 0:e.scrollIntoView({behavior:"smooth",block:"start"})},200)}catch(n){localStorage.removeItem("activeGenDocId");let s=n instanceof Error?n.message:e("common.error");eE(e=>{let t=e.map(e=>"process"===e.status?{...e,status:"error",description:s,subSteps:e1(e,"error")}:e);return e0(t,eB,!1),t}),(null==$?void 0:$.promise)===r&&($.loading=!1,$.error=s,ee()),t.error(s)}finally{n.forEach(e=>window.clearTimeout(e)),eg(!1),(null==$?void 0:$.promise)===r&&($.loading=!1,ee())}},tn=(0,n.useRef)(!1),ti=async s=>{(null==$?void 0:$.loading)&&($.loading=!1,$.error="用户中止",ee(),$=null,eg(!1)),localStorage.removeItem("activeGenDocId"),eN.current&&(clearInterval(eN.current),eN.current=null);try{await (0,V.r)(s.id),await eH(),ek===s.id&&(eS(null),ev(null),ej("")),t.success("已中止生成任务")}catch(s){t.error(e("common.error"))}};(0,n.useEffect)(()=>{eq&&"workflow"===eG&&!tn.current&&!(null==$?void 0:$.loading)&&(null==eK?void 0:eK.projectRoleConfigId)&&(tn.current=!0,window.setTimeout(()=>{tr()},300)),eq||(tn.current=!1)},[eq,eG]);let tl=async s=>{if(ef){eb(s);try{var r;let e="markdown"===s?"md":s,t=null==(r=eu.find(e=>e.id===(null==eK?void 0:eK.documentSpecId)))?void 0:r.wordTemplatePath,n=await (0,V.UE)({documentId:ek||void 0,title:ef.title,markdown:ew,format:s,enforceGate:!1,exportGate:ef.exportGate,wordTemplatePath:t});((e,t,s)=>{let r=new Blob([e],{type:s}),n=URL.createObjectURL(r),i=document.createElement("a");i.href=n,i.download=t,i.target="_self",i.rel="noopener",i.style.display="none",document.body.appendChild(i),i.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),i.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),1e3)})(n,"".concat(ef.title,".").concat(e),{markdown:"text/markdown;charset=utf-8",html:"text/html;charset=utf-8",pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}[s])}catch(s){t.error(s instanceof Error?s.message:e("common.error"))}finally{eb(null)}}},ta=async()=>{if(ef)try{if(ek)await (0,V.a6)(ek,{editedMarkdown:ew,markdown:ew});else{let e=await (0,V.Af)({...ef,markdown:ew});ev(e.draft)}await eH(),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},to=async s=>{if(ef){eC(s.id);try{var r,n;let i=await (0,V.R1)({templateId:ef.templateId,chapterId:s.id,documentId:ek||void 0,currentMarkdown:ew,existingFacts:null==(r=ef.structuredFacts)?void 0:r.map(e=>e.value)});ev({...ef,chapters:ef.chapters.map(e=>e.id===s.id?i.chapter:e)}),n=i.chapter,ej(e=>e.includes(s.content)?e.replace(s.content,n.content):"".concat(e,"\n\n").concat(n.content)),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}finally{eC(null)}}};if(em)return(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsx)(c.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,r.jsx)(c.A,{active:!0,paragraph:{rows:2}}),(0,r.jsx)(c.A,{active:!0,paragraph:{rows:8}})]});let tc="workflow"===eG?"工作流:".concat((null==eK?void 0:eK.name)||"选择模板"):"编辑:".concat((null==ef?void 0:ef.title)||(null==eK?void 0:eK.outputTitle)||"文档");return(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"pageTitle",children:e("documents.title")}),(0,r.jsx)("p",{className:"pageDesc",children:e("documents.description")})]}),(0,r.jsx)(d.Ay,{type:"primary",icon:(0,r.jsx)(W.A,{}),onClick:()=>e5(),children:e("documents.newTemplate")})]}),(0,r.jsx)(u.A,{size:"small",tabList:[{key:"templates",label:"模板库 (".concat(Y.length,")")},{key:"drafts",label:"生成记录 (".concat(ey.length,")")}],activeTabKey:eP,onTabChange:eR,children:"templates"===eP?0===Y.length?(0,r.jsx)(p.A,{description:e("common.noData")}):(0,r.jsx)(m.A,{dataSource:Y,renderItem:(t,s)=>(0,r.jsx)(m.A.Item,{style:{cursor:"pointer",padding:"10px 0"},actions:[(0,r.jsx)(d.Ay,{size:"small",icon:(0,r.jsx)(G.A,{}),onClick:e=>{e.stopPropagation(),e5(t)},children:"配置"},"cfg"),(0,r.jsx)(d.Ay,{size:"small",type:"primary",icon:(0,r.jsx)(O.A,{}),onClick:e=>{e.stopPropagation(),te(t.id)},children:"运行"},"run"),(0,r.jsx)(d.Ay,{size:"small",icon:(0,r.jsx)(N.A,{}),onClick:e=>{e.stopPropagation(),e4(t.id)}},"copy"),(0,r.jsx)(h.A,{title:e("documents.deleteTemplateConfirm"),onConfirm:e=>{null==e||e.stopPropagation(),e9(t.id)},children:(0,r.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,r.jsx)(q.A,{}),onClick:e=>e.stopPropagation()})},"del")],onClick:()=>el(t.id),children:(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,minWidth:0,flex:1},children:[function(e,t){let s=es[e]||(0,r.jsx)(L.A,{});return(0,r.jsx)("span",{style:{color:t?"var(--colorAccent)":"var(--colorTextSecondary)",fontSize:16,marginTop:2,flexShrink:0},children:s})}(t.category,ei===t.id),(0,r.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:2},children:[(0,r.jsx)("span",{style:{fontWeight:ei===t.id?600:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.name}),ei===t.id&&(0,r.jsx)(x.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:"当前"}),(0,r.jsx)(x.A,{style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:t.category}),eD[t.id]&&(0,r.jsxs)(x.A,{color:eD[t.id].issues.some(e=>"error"===e.level)?"error":eD[t.id].issues.length?"warning":"success",style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:["检查 ",eD[t.id].fileDiagnostics.length," 文件 / ",eD[t.id].promptDiagnostics.length," 提示词"]})]}),t.description&&(0,r.jsx)(Z,{type:"secondary",style:{fontSize:12,lineHeight:"18px"},children:t.description}),eD[t.id]&&(0,r.jsx)("div",{onClick:e=>e.stopPropagation(),style:{marginTop:8,padding:10,border:"1px solid ".concat(eD[t.id].issues.some(e=>"error"===e.level)?"var(--colorErrorBorder)":eD[t.id].issues.length?"var(--colorWarningBorder)":"var(--colorSuccessBorder)"),borderRadius:10,background:eD[t.id].issues.some(e=>"error"===e.level)?"var(--colorErrorBg)":eD[t.id].issues.length?"var(--colorWarningBg)":"var(--colorSuccessBg)"},children:(0,r.jsxs)(g.A,{direction:"vertical",size:6,style:{width:"100%"},children:[(0,r.jsxs)(g.A,{wrap:!0,children:[(0,r.jsx)(Z,{strong:!0,children:eD[t.id].issues.some(e=>"error"===e.level)?"运行前检查未通过":eD[t.id].issues.length?"运行前检查存在警告":"运行前检查通过"}),(0,r.jsxs)(x.A,{color:"blue",children:["文件角色 ",eD[t.id].fileDiagnostics.length]}),(0,r.jsxs)(x.A,{color:"purple",children:["提示词角色 ",eD[t.id].promptDiagnostics.length]}),eD[t.id].spec&&(0,r.jsxs)(x.A,{color:"cyan",children:["规范包 ",eD[t.id].spec.name]})]}),eD[t.id].issues.length>0?eD[t.id].issues.map(e=>(0,r.jsx)(f.A,{type:"error"===e.level?"error":"warning",message:e.message,showIcon:!0},e.message)):(0,r.jsx)(f.A,{type:"success",message:"文件角色、提示词角色和规范包检查通过,可以运行。",showIcon:!0}),!eD[t.id].issues.some(e=>"error"===e.level)&&eD[t.id].issues.length>0&&(0,r.jsx)("div",{children:(0,r.jsx)(d.Ay,{size:"small",type:"primary",icon:(0,r.jsx)(O.A,{}),onClick:()=>eQ(t.id),children:"忽略警告并继续运行"})})]})})]})]})})}):0===ey.length?(0,r.jsx)(p.A,{description:e("common.noData")}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:ey.slice(0,15).map((e,t)=>{var s,n,i;let l,a;return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,padding:"10px 12px",border:"1px solid var(--colorBorderSecondary)",borderRadius:10,cursor:"pointer",background:ek===e.id?"var(--colorFillAlter)":void 0,minWidth:0},onClick:()=>{eJ(e)},children:["completed"===e.status?(0,r.jsx)(M.A,{style:{fontSize:18,color:"var(--colorOk)",flexShrink:0,marginTop:2}}):"failed"===e.status?(0,r.jsx)(H.A,{style:{fontSize:18,color:"var(--colorDanger)",flexShrink:0,marginTop:2}}):"warning"===e.status?(0,r.jsx)(F.A,{style:{fontSize:18,color:"var(--colorWarning)",flexShrink:0,marginTop:2}}):(0,r.jsx)(K.A,{spin:!0,style:{fontSize:18,color:"#1677ff",flexShrink:0,marginTop:2}}),(0,r.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,r.jsx)("div",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:3},children:e.title}),(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 10px",color:"var(--colorTextSecondary)",fontSize:11},children:[(0,r.jsx)("span",{children:new Date(e.updatedAt).toLocaleString()}),(0,r.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 s=Math.floor(t/60),r=t%60;if(s<60)return r?"".concat(s," 分 ").concat(r," 秒"):"".concat(s," 分");let n=Math.floor(s/60),i=s%60;return i?"".concat(n," 小时 ").concat(i," 分"):"".concat(n," 小时")})(e)]})]}),("warning"===e.status||"failed"===e.status)&&(0,r.jsx)("div",{style:{marginTop:3,color:"failed"===e.status?"var(--colorError)":"var(--colorWarning)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(null==(s=e.warningIssues)?void 0:s[0])||(null==(i=e.draft)||null==(n=i.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:n.message)||"需复核"})]}),(0,r.jsxs)(g.A,{size:4,align:"center",children:[(0,r.jsx)(x.A,{color:"completed"===(l=e.status)?"success":"warning"===l?"warning":"failed"===l?"error":"processing",style:{margin:0,fontSize:10,lineHeight:"18px"},children:"completed"===(a=e.status)?"已完成":"warning"===a?"需复核":"failed"===a?"失败":"生成中"}),(0,r.jsxs)(x.A,{style:{margin:0,fontSize:10,lineHeight:"18px"},children:["#",t+1]}),(0,r.jsx)(h.A,{title:"确认删除?",onConfirm:t=>{null==t||t.stopPropagation(),tt(e.id)},children:(0,r.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,r.jsx)(q.A,{}),onClick:e=>e.stopPropagation()})}),e$(e.status)&&(0,r.jsx)(h.A,{title:"确定中止此生成任务?",onConfirm:t=>{null==t||t.stopPropagation(),ti(e)},children:(0,r.jsx)(d.Ay,{size:"small",danger:!0,onClick:e=>e.stopPropagation(),children:"中止"})}),(0,r.jsx)(d.Ay,{size:"small",type:"primary",icon:e$(e.status)?(0,r.jsx)(K.A,{spin:!0}):(0,r.jsx)(O.A,{}),onClick:t=>{t.stopPropagation(),eJ(e)},children:"打开"})]})]},e.id)})})}),(0,r.jsx)(v.A,{title:tc,open:eq,onClose:()=>{eW(!1),eN.current&&(clearInterval(eN.current),eN.current=null)},width:800,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:ef?(0,r.jsxs)(g.A,{wrap:!0,children:[(0,r.jsx)(d.Ay,{icon:(0,r.jsx)(U.A,{}),onClick:()=>{ta()},children:e("documents.saveDraft")}),(0,r.jsx)(d.Ay,{icon:(0,r.jsx)(P.A,{}),loading:"markdown"===eI,onClick:()=>{tl("markdown")},children:"MD"}),(0,r.jsx)(d.Ay,{loading:"html"===eI,onClick:()=>{tl("html")},children:"HTML"}),(0,r.jsx)(d.Ay,{loading:"docx"===eI,onClick:()=>{tl("docx")},children:"DOCX"}),(0,r.jsx)(d.Ay,{type:"primary",loading:"pdf"===eI,onClick:()=>{tl("pdf")},children:"PDF"})]}):ex&&"workflow"===eG?(0,r.jsx)(d.Ay,{danger:!0,onClick:()=>{(async()=>{ek&&await (0,V.r)(ek).catch(()=>void 0),$&&($.loading=!1,$.error="用户中止",ee(),$=null),localStorage.removeItem("activeGenDocId"),eN.current&&(clearInterval(eN.current),eN.current=null),eg(!1),eE([]),eL(null),eW(!1),await eH(),t.info("已中止生成任务")})()},children:"中止任务"}):void 0,children:(0,r.jsxs)(g.A,{direction:"vertical",style:{width:"100%"},size:"middle",children:["workflow"===eG&&eM.length>0&&(0,r.jsx)(w.A,{direction:"vertical",size:"small",current:eV,items:eM.map(e=>{let t;return{title:e.title,description:(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{children:e.description}),(0,r.jsx)("div",{style:{marginTop:4},children:e.subSteps.map(e=>{var t;return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,fontSize:12,color:"var(--colorTextSecondary)"},children:["process"===(t=e.status)?(0,r.jsx)(R.A,{}):"finish"===t?(0,r.jsx)(M.A,{}):"warning"===t?(0,r.jsx)(F.A,{style:{color:"var(--colorWarning)"}}):"error"===t?(0,r.jsx)(q.A,{}):(0,r.jsx)("span",{style:{display:"inline-block",height:6,width:6,borderRadius:"50%",background:"var(--colorTextTertiary)"}}),(0,r.jsx)("span",{children:e.title})]},e.key)})})]}),status:"warning"===(t=e.status)?"finish":t,icon:"process"===e.status?(0,r.jsx)(R.A,{}):"warning"===e.status?(0,r.jsx)(F.A,{style:{color:"var(--colorWarning)"}}):e.icon}})}),"workflow"===eG&&ex&&0===eM.length&&(0,r.jsx)("div",{style:{textAlign:"center",padding:40},children:(0,r.jsx)(j.A,{tip:"正在准备生成…"})}),ef&&(0,r.jsx)("div",{ref:l,children:(0,r.jsx)(y.A,{items:[{key:"edit",label:e("documents.edit"),children:(0,r.jsx)(J,{rows:35,value:ew,onChange:e=>ej(e.target.value)})},{key:"chapters-facts",label:"章节与事实",children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[ef.chapters.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["章节 (",ef.chapters.length,")"]}),(0,r.jsx)(m.A,{size:"small",dataSource:ef.chapters,renderItem:e=>(0,r.jsx)(m.A.Item,{actions:[(0,r.jsx)(d.Ay,{size:"small",icon:(0,r.jsx)(X.A,{}),loading:eT===e.id,onClick:()=>{to(e)},children:"重新生成"},"regen")],children:(0,r.jsx)(m.A.Item.Meta,{title:e.title,description:"证据: ".concat(e.evidence.length," \xb7 缺失: ").concat(e.missingFacts.length)})})})]}),ef.structuredFacts.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["结构化事实 (",ef.structuredFacts.length,")"]}),(0,r.jsx)(A.A,{size:"small",column:1,bordered:!0,children:ef.structuredFacts.map((e,t)=>(0,r.jsxs)(A.A.Item,{label:e.key,children:[(0,r.jsx)("span",{children:e.value}),(0,r.jsx)(x.A,{style:{marginLeft:8},children:e.confidence.toFixed(2)}),(0,r.jsx)(Z,{type:"secondary",style:{fontSize:11,marginLeft:8},children:e.sourceFile})]},t))})]})]})},{key:"sources-missing",label:"来源与缺失",children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["引用来源 (",ef.sources.length,")"]}),0===ef.sources.length?(0,r.jsx)(p.A,{description:"暂无"}):(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:ef.sources.map(e=>(0,r.jsxs)(x.A,{color:"blue",children:[e.filePath," (",e.count,")"]},e.filePath))})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["缺失项 (",ef.missingItems.length,")"]}),0===ef.missingItems.length?(0,r.jsx)(p.A,{description:"无缺失"}):(0,r.jsx)(m.A,{size:"small",dataSource:ef.missingItems,renderItem:e=>(0,r.jsx)(m.A.Item,{children:e})})]})]})},{key:"validation",label:"校验 (".concat(ef.validationIssues.length,")"),children:0===ef.validationIssues.length?(0,r.jsx)(p.A,{description:"校验通过"}):(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[ef.validationIssues.map(e=>(0,r.jsxs)("div",{style:{border:"1px solid var(--colorBorderSecondary)",borderRadius:8,padding:12},children:[(0,r.jsx)(x.A,{color:"error"===e.level?"error":"warning"===e.level?"warning":"blue",children:e.level}),(0,r.jsx)("div",{style:{marginTop:6,whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all",lineHeight:1.6},children:e.message}),e.suggestion&&(0,r.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))),ef.exportGate.checklist.length>0&&(0,r.jsxs)("div",{style:{marginTop:8},children:[(0,r.jsx)(Z,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:"导出门禁"}),(0,r.jsx)(m.A,{size:"small",dataSource:ef.exportGate.checklist,renderItem:e=>(0,r.jsxs)(m.A.Item,{children:[(0,r.jsx)(Z,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:e.label}),(0,r.jsx)(x.A,{color:e.passed?"success":"error",children:e.passed?"PASS":"FAIL"})]})})]})]})},{key:"stages",label:"执行阶段 (".concat(ef.executionStages.length,")"),children:(0,r.jsx)(m.A,{size:"small",dataSource:ef.executionStages,renderItem:e=>(0,r.jsxs)(m.A.Item,{children:[(0,r.jsx)(m.A.Item.Meta,{avatar:et[e.type]||(0,r.jsx)(L.A,{}),title:(0,r.jsx)(Z,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:"".concat(er[e.type]||e.type," \xb7 ").concat(e.roleId)}),description:(0,r.jsx)(Z,{type:"secondary",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-word"},children:e.message})}),(0,r.jsx)(x.A,{color:"success"===e.status?"success":"failed"===e.status?"error":"skipped"===e.status?"default":"warning",children:e.status})]})})}]})})]})}),(0,r.jsx)(v.A,{title:e("documents.templateEditor"),open:e_,onClose:()=>ez(!1),width:860,maskClosable:!1,styles:{body:{padding:20,overflow:"auto"},header:{borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,r.jsxs)(g.A,{children:[(0,r.jsx)(d.Ay,{onClick:()=>ez(!1),children:e("common.cancel")}),(0,r.jsx)(d.Ay,{type:"primary",onClick:()=>{e7()},children:e("common.save")})]}),children:(0,r.jsxs)(o.A,{form:s,layout:"vertical",requiredMark:"optional",children:[(0,r.jsxs)(k.A,{gutter:12,children:[(0,r.jsx)(o.A.Item,{name:"id",hidden:!0,children:(0,r.jsx)(i.A,{})}),(0,r.jsx)(S.A,{xs:24,md:8,children:(0,r.jsx)(o.A.Item,{name:"name",label:e("documents.templateName"),rules:[{required:!0}],children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{xs:24,md:8,children:(0,r.jsx)(o.A.Item,{name:"category",label:e("documents.templateCategory"),children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{xs:24,md:8,children:(0,r.jsx)(o.A.Item,{name:"outputTitle",label:e("documents.outputTitle"),children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{xs:24,md:12,children:(0,r.jsx)(o.A.Item,{name:"description",label:e("documents.templateDescription"),children:(0,r.jsx)(i.A,{})})})]}),(0,r.jsx)(o.A.Item,{name:"projectRoleConfigId",label:e("documents.projectRoleConfig"),rules:[{required:!0,message:e("documents.projectRoleConfigRequired")}],children:(0,r.jsx)(I.A,{showSearch:!0,placeholder:e("documents.projectRoleConfigRequired"),options:eU})}),(0,r.jsx)(o.A.Item,{name:"documentSpecId",label:e("documents.documentSpec"),children:(0,r.jsx)(I.A,{allowClear:!0,showSearch:!0,placeholder:e("documents.documentSpecPlaceholder"),options:eX})}),(0,r.jsx)(o.A.List,{name:"chapters",children:(e,t)=>{let{add:s,remove:n}=t;return(0,r.jsxs)("div",{children:[(0,r.jsxs)(g.A,{style:{marginBottom:8},children:[(0,r.jsx)(Z,{strong:!0,children:"章节结构"}),(0,r.jsx)(d.Ay,{size:"small",icon:(0,r.jsx)(W.A,{}),onClick:()=>s({id:"chapter-".concat(Date.now()),title:"",purpose:"",queries:[],requiredFacts:[]}),children:"添加章节"})]}),e.map(e=>(0,r.jsx)(u.A,{size:"small",style:{marginBottom:8},children:(0,r.jsxs)(k.A,{gutter:8,children:[(0,r.jsx)(S.A,{span:6,children:(0,r.jsx)(o.A.Item,{name:[e.name,"id"],label:"章节 ID",rules:[{required:!0}],children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{span:8,children:(0,r.jsx)(o.A.Item,{name:[e.name,"title"],label:"标题",rules:[{required:!0}],children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{span:8,children:(0,r.jsx)(o.A.Item,{name:[e.name,"purpose"],label:"目的",children:(0,r.jsx)(i.A,{})})}),(0,r.jsx)(S.A,{span:2,children:(0,r.jsx)(d.Ay,{danger:!0,size:"small",onClick:()=>n(e.name),children:"删除"})}),(0,r.jsx)(S.A,{span:12,children:(0,r.jsx)(o.A.Item,{name:[e.name,"queriesText"],label:"查询词(每行一个)",children:(0,r.jsx)(J,{rows:3})})}),(0,r.jsx)(S.A,{span:12,children:(0,r.jsx)(o.A.Item,{name:[e.name,"requiredFactsText"],label:"必需事实(每行一个)",children:(0,r.jsx)(J,{rows:3})})}),(0,r.jsx)(S.A,{span:24,children:(0,r.jsx)(o.A.Item,{name:[e.name,"pinnedEvidenceText"],label:"高级可选:人工确认优先证据",children:(0,r.jsx)(J,{rows:2,placeholder:"通常无需手动填写。仅当系统自动检索不稳定或必须指定官方资料时,每行填写一个 knowledgeBase 相对路径"})})})]})},e.key))]})}})]})})]})}}},e=>{e.O(0,[433,787,576,195,455,506,412,130,636,593,792],()=>e(e.s=16403)),_N_E=e.O()}]);
|
|
File without changes
|