@customize-agent/server 4.5.6 → 4.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +30 -30
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/4680.js +1 -1
  5. package/.next/server/chunks/9319.js +3 -3
  6. package/.next/server/middleware-build-manifest.js +1 -1
  7. package/.next/server/pages/404.html +1 -1
  8. package/.next/server/pages/500.html +1 -1
  9. package/.next/server/pages/asset-library.html +1 -1
  10. package/.next/server/pages/document-roles.html +1 -1
  11. package/.next/server/pages/documents.html +1 -1
  12. package/.next/server/pages/guide.html +1 -1
  13. package/.next/server/pages/index.html +1 -1
  14. package/.next/server/pages/knowledge/file-detail.html +1 -1
  15. package/.next/server/pages/knowledge/files.html +1 -1
  16. package/.next/server/pages/knowledge/manage.html +1 -1
  17. package/.next/server/pages/knowledge.html +1 -1
  18. package/.next/server/pages/models.html +1 -1
  19. package/.next/server/pages/overview.html +1 -1
  20. package/.next/server/pages/prompt.html +1 -1
  21. package/.next/server/pages/settings.html +1 -1
  22. package/.next/server/pages/system/logs.html +1 -1
  23. package/.next/server/pages/template-references.html +1 -1
  24. package/.next/server/pages-manifest.json +26 -26
  25. package/.next/static/1n-xjuFIrkLPgyVXG33Tj/_buildManifest.js +1 -0
  26. package/.next/static/chunks/{102-881dcc464f983c89.js → 102-c30525f2bc55b982.js} +1 -1
  27. package/.next/static/chunks/{224-0415408fff1d1c8b.js → 224-f3bc91d393e276fe.js} +1 -1
  28. package/.next/static/chunks/260-244c94eacd903620.js +1 -0
  29. package/.next/static/chunks/{289-fc1b25371e004552.js → 289-42781fb699646699.js} +1 -1
  30. package/.next/static/chunks/{564-30bfcb28e1d2c309.js → 564-0737855bb98043ab.js} +1 -1
  31. package/.next/static/chunks/788-e98701da4d6ca319.js +1 -0
  32. package/.next/static/chunks/{986-771dc425e7b25964.js → 986-6746aa3d91e37eff.js} +2 -2
  33. package/.next/static/chunks/{994-241f87efc61005b8.js → 994-03bf46b933328a98.js} +1 -1
  34. package/.next/static/chunks/pages/documents-e234c57475afcd03.js +1 -0
  35. package/.next/static/chunks/pages/knowledge/files-3ba329d8e6335929.js +1 -0
  36. package/.next/static/chunks/pages/knowledge/manage-558987c599dc4cd5.js +1 -0
  37. package/.next/static/chunks/pages/knowledge-3a68c7c49f88ca3f.js +1 -0
  38. package/.next/static/chunks/pages/prompt-839287c514595765.js +1 -0
  39. package/.next/static/chunks/pages/system/logs-2e849bcdf371d791.js +1 -0
  40. package/package.json +1 -1
  41. package/.next/static/-vx1F8_fGfyMVxZ7EH1Xu/_buildManifest.js +0 -1
  42. package/.next/static/chunks/260-580088826d643423.js +0 -1
  43. package/.next/static/chunks/788-dca0d550ad6bd8b2.js +0 -1
  44. package/.next/static/chunks/pages/documents-9deacb6df546eb6d.js +0 -1
  45. package/.next/static/chunks/pages/knowledge/files-45b40149a6f4a9d5.js +0 -1
  46. package/.next/static/chunks/pages/knowledge/manage-5b1b4d3804752f8b.js +0 -1
  47. package/.next/static/chunks/pages/knowledge-905248d8dcb15453.js +0 -1
  48. package/.next/static/chunks/pages/prompt-edc2dfea09aaedc1.js +0 -1
  49. package/.next/static/chunks/pages/system/logs-ee67e2c93147dfc3.js +0 -1
  50. /package/.next/static/{-vx1F8_fGfyMVxZ7EH1Xu → 1n-xjuFIrkLPgyVXG33Tj}/_ssgManifest.js +0 -0
@@ -56,14 +56,14 @@ ${b.content}`;return Math.min(1.8,.16*[...new Set([a.title,...a.sections||[],...
56
56
  **编制依据补充说明**:${d.join(";")}。
57
57
  `,f=/^(?:###|####)\s+(?:[\d.]+[\s\u00a0]*)?编制说明与工程概况$/mu.exec(a);if(f){let b=a.indexOf("\n",f.index)+1;return`${a.slice(0,b)}${e}${a.slice(b)}`}return`${a.replace(/\s+$/u,"")}
58
58
  ${e}`}function ce(a){return(0,v.rs)((0,v.V3)({templateId:a.template.id,templateName:a.template.name,title:a.template.outputTitle,requirement:a.requirement||"",projectRoot:a.projectRoot,projectId:a.projectId,exportSettings:a.template.exportSettings,generationSettings:a.template.generationSettings,facts:a.facts,structuredFacts:a.structuredFacts,factsModel:a.factsModel,chapters:a.chapters,sources:a.sources,missingItems:[...new Set(a.missingItems)],validation:a.validation,validationIssues:a.validationIssues,executionStages:a.executionStages,exportGate:{passed:!1,blockingIssues:[],checklist:[]},assets:a.assets,partialChapters:[],checkpointChapters:a.chapters,generatedAt:Date.now()},{forbidDrawingImages:!1,promptRules:a.promptDocumentRules}),a.chapters,{forbidDrawingImages:!1,promptRules:a.promptDocumentRules}).markdown}function cf(a){var b;let{documentSpec:c,validationIssues:d,factsModel:e,finalChapterDrafts:f,finalMarkdown:g,template:h,promptBindings:i,promptDocumentRules:j,projectMaterialSummary:k,domainProfile:m,structuredFacts:o,documentBudget:p,scopeConflicts:q}=a;return bg((0,x.kQ)(c,d,e,f,g,h.projectBindings||[],i),function(a){let b=[],c=a.markdown||"";for(let e of a.spec.factFields.filter(a=>a.required)){var d;!((d=e.name).length<4||aY(d))&&/\d|GB|JGJ|C\d|HRB|DN|mm|MPa|kPa|工期|质量|安全|项目名称|工程名称|招标人|建设地点|建筑面积|结构形式|层数/u.test(d)&&!a$(c,e.name)&&b.push({level:"info",message:`正文可能未显式覆盖“${e.name}”`,suggestion:"建议检查对应章节是否已自然表达该事实。"})}let e=a.summary.facts.projectName;!e||"当前知识库项目"===e||aY(e)||a$(c,e)||b.push({level:"warning",message:"正文未明显体现关键对象名称",suggestion:"建议在概况、背景或首页标题中体现当前文档的关键对象名称。"});let f=a.summary.facts.documentNo;for(let a of(f&&!c.includes(f)&&b.push({level:"info",message:"正文未体现文档/任务编号",suggestion:"如文档需要编号,请在概况、背景或首页信息中补充。"}),["知识库证据","资料类型","提示词角色","文档规范包","规范包","后台自动规范","后台优化建议","基础事实候选","材料未提供","未检索到"]))c.includes(a)&&b.push({level:"error",message:`正文包含后台流程话术:${a}`,suggestion:"请重新生成或在审查阶段删除后台流程描述。"});return b}({markdown:g,spec:c,summary:k}),function(a){let b=a.profile||l,c=[],d=new Map;for(let c of a.facts){let a=c.fieldName||c.key;a&&function(a,b){let c=n(b,a);return c?"single"===c.cardinality&&"allow_multiple"!==c.conflictPolicy&&"ignore"!==c.conflictPolicy:/项目名称|工程名称|招标人|建设地点|建筑面积|结构形式|层数|工期|质量标准|合同价格形式|绿色建筑等级|投标有效期|质保期/u.test(a)}(a,b)&&a0(String(c.value),b)&&d.set(a,[...d.get(a)||[],{value:String(c.value),source:c.sourceFile}])}for(let[a,e]of d){let d=new Map;for(let a of e){let c=a0(a.value,b);c&&d.set(c,[...d.get(c)||[],a])}if(d.size>1){let b=[...d.values()].map(a=>`${a[0].value}(${a.map(a=>a.source).filter(Boolean).join("、")||"未知来源"})`).join(" vs ");c.push({level:"error",message:`事实一致性冲突:${a} 存在多个值:${b}`,suggestion:"请确认当前绑定材料组,或在模板绑定中只绑定当前文档所需材料。"})}}let e=a.summary.facts.projectName;if(e&&"当前知识库项目"!==e&&!/--|延期到|资料|附件|扫描|目录|汇总|打包|备份|招标工程量清单封面|招标工程量清单扉页|工程量清单表|清单封面|清单扉页|\d{1,2}\.\d{1,2}/u.test(e)){let b=a_(a.markdown),d=[e,...a.summary.fingerprint.projectNames].flatMap(a=>[a,a.replace(/^\d+(?:\.\d+)?[^\u4e00-\u9fa5]*/u,""),a.replace(/\([^)]*\)|([^)]*)/gu,"")]).map(a=>a_(a)).filter(a=>a.length>=4),f=d.filter(a=>a.length>=8),g=d.filter(a=>a.length<8),h=f.some(a=>b.includes(a)||a.length>=12&&b.includes(a.slice(0,Math.max(8,Math.floor(.72*a.length))))),i=g.some(a=>b.includes(a));(f.length>0?h:!(g.length>0)||i)||c.push({level:"warning",message:`正文未包含当前对象名称:${e}`,suggestion:"请确认标题、概况或背景信息是否已体现当前对象名称。"})}return c}({markdown:g,facts:o,summary:k,profile:m}),function(a,b){let c=[],d=new Set([b.projectName,...b.fingerprint.projectNames].filter(Boolean));for(let e of b.contaminationCandidates)e.length>=6&&!d.has(e)&&a.replace(/\s+/gu,"").includes(e.replace(/\s+/gu,""))&&c.push({level:"error",message:`正文疑似混入其他对象名称:${e}`,suggestion:"请检查绑定材料选择、模板绑定文件和知识库证据范围。"});let e=b.fingerprint.documentNos,f=a.match(/\b\d{4}[A-Z]{2,}\d{4,}\b/gu)?.find(a=>!e.includes(a));return f&&e.length>0&&c.push({level:"error",message:`正文疑似混入其他文档编号:${f}`,suggestion:"请重新生成并检查是否召回了其他绑定材料。"}),c}(g,k),0===bB(o).length||!/资料未明确|系统暂未从知识库确认|项目资料暂未明确/u.test(g)?[]:["计划工期","合同工期","质量标准","合同估算价","合同估算价格","建设地点","建设规模"].filter(a=>RegExp(`${a}[^
59
- |。;;]{0,40}(?:资料未明确|系统暂未从知识库确认|项目资料暂未明确)`,"u").test(g)).map(a=>({level:"error",message:`${a} 已抽取到项目资料事实但正文仍显示暂未明确`,suggestion:"请优先使用项目基础事实卡片中的资料原值,不得用占位表达覆盖已确认事实。"})),(b={markdown:g,chapters:f,factsModel:e,template:h,promptBindings:i,promptDocumentRules:j,scopeConflicts:q},[...b.promptDocumentRules?.forbidToc?[]:[...(0,x.gN)(b.markdown),...(0,x.f8)(b.markdown)],...(0,x.K1)(b.markdown),...(0,x.Fv)(b.markdown),...(0,x.k0)(b.markdown),...(0,x.NS)(b.markdown),...(0,x.qK)(b.markdown,b.chapters),...(0,x.ji)(b.chapters),...(0,x.i0)(b.chapters),...(0,x.ST)(b.chapters),...(0,x.xX)(b.chapters),...(0,x.qm)(b.markdown,b.factsModel,b.scopeConflicts),...(0,x.hr)(b.markdown,b.factsModel),...a4(b.markdown,b.factsModel),...function(a){let b=a.split(/\n\s*\n/gu).map(a=>a.trim()).filter(Boolean),c=/(?:加强组织领导|严格执行规范|落实责任制度|确保工程质量|强化过程管理|提高思想认识|完善管理体系|形成闭环管理|统筹推进|全面落实)/gu,d=[];for(let a of b){if(120>(0,w.V7)(a))continue;let b=a.match(c)||[],e=a.match(/材料|工序|验收|复验|节点|风险|交底|隐蔽|检验批|进场|责任人|台账|工期|质量|安全|资源/u)||[];b.length>=2&&e.length<2&&d.push({level:"warning",message:`段落存在空泛表述:${a.slice(0,48)}...`,suggestion:"请补充该段对应的对象、动作、控制点或验收闭环,避免只保留管理性套话。"})}return d}(b.markdown),...(0,y.Fw)(b.chapters),...(0,y.Hl)(b.chapters),...(0,y.iX)({markdown:b.markdown,factsModel:b.factsModel,chapters:b.chapters}),...function(a,b){let c=[];if(!/施工组织设计|施工组织|施组|质量|安全|文明施工/u.test(a))return c;for(let d of a6){let e=ba(b,d.factGroups),f=(function(a,b){let c=[];for(let d of b){let b=new RegExp(d.source,d.flags.includes("g")?d.flags:`${d.flags}g`);for(let d of a.matchAll(b)){let a=a7(d[1]||d[0]||"");!a9.test(a)&&a.length>=2&&a.length<=80&&c.push(a)}}return[...new Set(c)]})(a,d.patterns).filter(a=>!a8.test(a)&&!function(a,b){return 0===b.length||b.some(b=>b.includes(a)||a.includes(b)||a.length>=4&&b.includes(a.slice(0,4)))}(a,e)).slice(0,5);f.length>0&&c.push({level:"warning",message:`施组数据一致性风险:${d.label} 可能与项目图谱/事实不一致(${f.join("、")})`,suggestion:`请核对${d.label}在${d.locations}中的表述,统一以招标文件、项目图谱和可信事实为准。`})}return c}(b.markdown,b.factsModel),...function(a,b){let c=[],d=ba(b,["project","schedule","resources","quality","safety","preciseFacts"]);if(0===d.length)return c;for(let b of a)/概况|进度|资源|质量|安全|文明|工资|应急/u.test(`${b.title} ${(b.sections||[]).join(" ")}`)&&(d.some(a=>a.length>=3&&b.content.includes(a.slice(0,Math.min(10,a.length))))||c.push({level:"warning",message:`${b.title} 缺少可识别的项目图谱事实支撑`,suggestion:"请至少引用工程名称、工期、工程量、资源、风险、质量安全目标等项目专属事实之一,避免纯模板化。"}));return c}(b.chapters,b.factsModel),...(0,y.Av)(b.chapters,b.markdown),...(0,y.b7)(b.chapters),...a5(b.chapters),...function(a,b,c){let d={factuality:2*!(0,x.vY)(a,c).some(a=>"error"===a.level),structure:b.length>0&&b.every(b=>a.includes(b.title)&&(0,w.V7)(b.content)>=600)?2:1,depth:0===(0,x.i0)(b).length?2:1,executable:0===a5(b).length?2:1,evidence:0===a4(a,c).length?2:1},e=d.factuality+d.structure+d.depth+d.executable+d.evidence;return[{level:"info",message:`文档交付评分报告:总分 ${e}/10,事实${d.factuality},结构${d.structure},专业${d.depth},可执行${d.executable},证据${d.evidence}`,suggestion:e>=8?"可交付,但建议继续优化证据使用覆盖率和章节依赖链路。":"建议优先修复低分维度后再导出。"}]}(b.markdown,b.chapters,b.factsModel),...(0,x.vY)(b.markdown,b.factsModel),...(0,x.iC)(b.markdown),...(0,x.BV)(b.markdown),...(0,v.dh)(b.markdown),...(0,x.Ty)(b.chapters),...(0,x.N1)(b.markdown,b.factsModel,b.chapters),...(0,x.S2)(b.markdown,b.chapters,b.factsModel),...(0,a1.QP)((0,a1.JV)(b.markdown,b.factsModel)),...(0,x.yd)(b.markdown,b.factsModel),...function(a){let b=[];return aM.test(a)&&b.push({level:"warning",message:"正文包含联网增强过程性表述",suggestion:"请删除联网检索、网页资料、搜索结果等过程性话术,改为正式交付语言。"}),b}(b.markdown),...(0,x.bM)(b.markdown),...(0,x.M$)(b.markdown,b.promptBindings),...(0,x.AC)(b.markdown,b.chapters),...(0,x.mR)(b.markdown,b.template),...(0,v.UG)(b.markdown,b.template),...(0,v.Ed)(b.markdown,b.promptDocumentRules)]),bT(g,[...o,...e.preciseFacts],{maxIssues:30}).map(a=>({...a,level:"warning",severity:"warning",suggestion:"建议后续优化事实自然落位;导出阶段不因未落位的引用型或可优化事实阻断。"})),(0,w.PE)(h.generationSettings||h.exportSettings,g).filter(a=>!(p.minPages&&/低于目标页数/u.test(a.message))),(0,w.ty)(p,g),(0,v.UG)(g,h),(0,bt.IA)(g),g.includes("WRITER_MISSING_SECTION")||g.includes("Writer 未完成")?[{level:"error",severity:"blocker",category:"structure",owner:"system",message:"最终正文仍包含未完成小节标记",suggestion:"必须重新补写对应小节并删除 WRITER_MISSING_SECTION/Writer 未完成。"}]:[],function(a){let b=[{title:"项目特点、重点、难点分析",minChars:1800},{title:"项目主要施工内容",minChars:2200},{title:"主要分部分项工程施工方案",minChars:1200,blockerMinChars:800},{title:"主要施工方法",minChars:2200},{title:"危大工程专项施工方案审批流程",minChars:500,blockerMinChars:250},{title:"原材料进场复试与见证取样",minChars:600,blockerMinChars:300}],c=[];for(let d of a)for(let a of b){let b=(0,z.Xl)(d.content,a.title)||(0,z.Xl)(d.content,a.title,{fuzzy:!0}),e=(0,w.V7)(b);if(!b||e>=a.minChars)continue;let f=function(a){let b=[{title:"项目特点、重点、难点分析",minChars:1800},{title:"项目主要施工内容",minChars:2200},{title:"主要分部分项工程施工方案",minChars:1200,blockerMinChars:800},{title:"主要施工方法",minChars:2200},{title:"危大工程专项施工方案审批流程",minChars:500,blockerMinChars:250},{title:"原材料进场复试与见证取样",minChars:600,blockerMinChars:300}].find(b=>b.title===a);if(!b)return 0;let c=b.blockerMinChars||Math.floor(.8*b.minChars),d=(0,bu.ap)(a);return Math.min(c,d>0?d:c)}(a.title);e>=f?c.push({level:"warning",severity:"warning",message:`${d.title} ${a.title} 正文深度接近目标:当前 ${e} 字,目标 ${a.minChars} 字`,suggestion:"已达到可交付深度,建议后续按项目数据继续优化扩写。"}):c.push({level:"error",severity:"blocker",message:`${d.title} ${a.title} 正文不足:当前 ${e} 字,要求不少于 ${f} 字`,suggestion:"关键小节必须补足项目数据、重点难点与施工内容对应关系后方可导出。"})}return c}(f),function(a){let b=[{title:"项目特点、重点、难点分析",minNumericFacts:5,minObjectFacts:8,objectPatterns:[/建筑面积|面积/u,/层|框架结构|既有建筑/u,/结构形式|结构加固|墙体补强|装配式/u,/拆除|改造|装修|装饰/u,/工期|日历天/u,/质量标准|合格/u,/营业商铺|经营区域|场地/u,/管网|防水|室外道排/u,/智能化|弱电|消防|暖通|通风空调|水电/u]},{title:"项目主要施工内容",minNumericFacts:4,minObjectFacts:6,objectPatterns:[/拆除|垃圾外运|既有设施保护/u,/结构加固|墙体补强|框架结构/u,/装饰|装修|基层|面层|环保|阻燃/u,/防水|管网|给排水|阀门|道排/u,/消防|水电|电气|弱电|智能化|通风空调/u,/屋面|立面|室外|附属/u,/施工流程|施工方法|施工顺序|工艺流程/u,/验收|检测|调试|资料闭环/u]},{title:"主要分部分项工程施工方案",minNumericFacts:4,minObjectFacts:6,objectPatterns:[/拆除|垃圾外运|既有设施保护/u,/结构加固|墙体补强|框架结构/u,/装饰|装修|基层|面层|环保|阻燃/u,/防水|管网|给排水|阀门|道排/u,/消防|水电|电气|弱电|智能化|通风空调/u,/屋面|立面|室外|附属/u,/施工流程|施工方法|施工顺序|工艺流程/u,/验收|检测|调试|资料闭环/u]},{title:"主要施工方法",minNumericFacts:4,minObjectFacts:6,objectPatterns:[/拆除|垃圾外运|既有设施保护/u,/结构加固|墙体补强|框架结构/u,/装饰|装修|基层|面层|环保|阻燃/u,/防水|管网|给排水|阀门|道排/u,/消防|水电|电气|弱电|智能化|通风空调/u,/屋面|立面|室外|附属/u,/施工流程|施工方法|施工顺序|工艺流程/u,/验收|检测|调试|资料闭环/u]}];return a.flatMap(a=>b.flatMap(b=>{let c=(0,z.Xl)(a.content,b.title);if(!c)return[];let d=new Set(c.match(/\d+(?:\.\d+)?\s*(?:m²|㎡|平方米|m|mm|层|栋|日历天|天|%|台|套|根|处|个|kg|t|吨)/giu)||[]).size,e=b.objectPatterns.filter(a=>a.test(c)).length,f=[];return d<b.minNumericFacts&&f.push({level:"warning",severity:"warning",message:`${a.title} ${b.title} 参数落位不足:当前 ${d} 个,建议不少于 ${b.minNumericFacts} 个`,suggestion:"关键小节必须写入项目规模、工期、层数、结构、专业工程或验收参数等具体数值。"}),e<b.minObjectFacts&&f.push({level:"warning",severity:"warning",message:`${a.title} ${b.title} 专业事实覆盖不足:当前 ${e} 类,建议不少于 ${b.minObjectFacts} 类`,suggestion:"优先基于当前项目绑定资料补充工程对象、专业范围、重点难点和对应施工内容;不得为满足类别数量编造或混入其他项目事实。"}),f}))}(f),(function(a,b=""){return[...b5(a),...b6(a),...b7(a),...b8(a),...function(a,b=""){let c=[],d=(b||a.map(a=>a.content).join("\n\n")).split("\n"),e=0,f=0;for(;f<d.length;){let a=d[f].trim();if(!/^\|.+\|$/u.test(a)){f+=1;continue}let b=[];for(;f<d.length&&/^\|.+\|$/u.test(d[f].trim());)b.push(d[f].trim()),f+=1;if(b.length<3)continue;e+=1;let g=b[0].split("|").length-2,h=b.filter((a,b)=>0!==b&&a.replace(/\|/gu,"").replace(/[\s\-:]/gu,"").length>0),i=h.reduce((a,b)=>a+b.split("|").slice(1,-1).map(a=>a.trim()).filter(a=>""===a||"-"===a||"—"===a||"/"===a).length,0),j=h.length*Math.max(1,g);if(i>0&&i/Math.max(1,j)>=.4&&c.push({level:"warning",severity:"warning",message:`第 ${e} 个表格存在 ${i} 个空单元格(${h.length} 行),表格信息不完整`,suggestion:"表格每一列都必须填写,缺失字段应从资料补齐;无法确认的字段应删除该行而非留空。"}),c.length>=5)break}return c}(a,b),...b9(a,b)]})(f,g).map(a=>"error"===a.level?{...a,severity:"blocker"}:a)).map(a=>"error"===a.level?{...a,severity:a.severity||"blocker"}:a)}let cg=/章节级证据覆盖较弱|章节事实覆盖不足|小节事实或量化参数落位可继续优化/u;function ch(a){var b;let{finalChapterDrafts:c,effectiveChapters:d,factsModel:e,allEvidence:f,finalMarkdown:g,validationIssues:h,retrievalCoverageReports:i,includeRetrievalCoverage:j,template:k}=a,l=function(a){let b=a.chapters.map(b=>{let c=function(a){let b=["project"];return/进度|工期|节点|部署/u.test(a.title)&&b.push("schedule"),/质量|验收|材料/u.test(a.title)&&b.push("quality","rules"),/安全|文明|风险|危大/u.test(a.title)&&b.push("safety","rules"),/资源|材料|设备|劳动力|机械/u.test(a.title)&&b.push("resources"),/施工|工艺|技术|方案|清单|工程量|图纸/u.test(a.title)&&b.push("quantities"),[...new Set(b)]}(a.templateChapters.find(a=>a.id===b.id||a.title===b.title)||b),d=c.filter(c=>{var d;return d=a.factsModel,("project"===c?d.project.length>0||d.preciseFacts.length>0:"schedule"===c?d.schedule.length>0:"quality"===c?d.quality.length>0||d.specifications.length>0:"safety"===c?d.safety.length>0||d.rules.length>0:"resources"===c?d.resources.length>0||d.bills.length>0:"quantities"===c?d.bills.length>0||d.drawings.length>0||d.tables.length>0:"rules"===c&&(d.rules.length>0||d.specifications.length>0))||(b.evidence||[]).some(a=>RegExp(bb[c]||c,"u").test(`${a.sectionTitle||""} ${a.content||""}`))}),e=c.filter(a=>!d.includes(a)),f=c.length?Math.round(d.length/c.length*100):100;return{chapterId:b.id,title:b.title,requiredDomains:c,confirmedDomains:d,unconfirmedDomains:e,score:f}}),c=new Set(a.evidence.map(a=>a.filePath).filter(Boolean)),d=b.length?Math.round(b.reduce((a,b)=>a+b.score,0)/b.length):100;return{score:d,evidenceCount:a.evidence.length,confirmedFiles:c.size,chapterReports:b,unconfirmedDomains:[...new Set(b.flatMap(a=>a.unconfirmedDomains))],remediation:d>=95?"知识库事实覆盖已达到高置信交付要求。":"系统需扩大本地知识库检索、补抽结构化事实,并将已确认事实落位到对应章节。"}}({chapters:c,templateChapters:d,factsModel:e,evidence:f}),m=(0,a1.e$)(g,e),n=(b={chapters:c,templateChapters:d,factsModel:e}).chapters.map(a=>{let c=b.templateChapters.find(b=>b.id===a.id||b.title===a.title),d=function(a,b){let c=`${a.title} ${(b?.sections||a.sections||[]).join(" ")}`;return[{key:"structure",label:"结构完整",passed:(a.sections||b?.sections||[]).length>=2||/###\s+/u.test(a.content)},{key:"depth",label:"内容深度",passed:(0,w.V7)(a.content)>=600},{key:"evidence",label:"证据绑定",passed:(a.evidence||[]).length>0},{key:"professional",label:"专业控制点",passed:/验收|复核|检查|交底|控制点|整改|闭环|台账|进场|工序/u.test(a.content)},{key:"schedule",label:"工期支撑",passed:!/进度|工期|节点/u.test(c)||/工期|节点|计划|纠偏|资源|穿插/u.test(a.content)},{key:"quality",label:"质量验收",passed:!/质量|验收/u.test(c)||/质量|验收|复验|隐蔽|检验批|整改/u.test(a.content)},{key:"safety",label:"安全闭环",passed:!/安全|文明|风险|危大/u.test(c)||/风险|检查|整改|应急|培训|交底/u.test(a.content)}]}(a,c),e=d.filter(a=>a.passed).length;return{chapterId:a.id,title:a.title,score:d.length?Math.round(e/d.length*100):100,checks:d,action:e===d.length?"章节覆盖完整。":"系统需补齐章节结构、证据绑定、专业控制点和跨章依赖。"}}),o=bg(h,l.score>=85?[]:[{level:"warning",message:`系统知识库覆盖确认率偏低:${l.score}%`,suggestion:`${l.remediation} 未确认事实域:${l.unconfirmedDomains.map(a=>bb[a]||a).join("、")||"无"}`}],(0,a1.c$)(m,{maxIssues:20}),n.filter(a=>a.score<80).map(a=>({level:"warning",message:`章节覆盖不足:${a.title} ${a.score}%`,suggestion:`${a.action} 未通过项:${a.checks.filter(a=>!a.passed).map(a=>a.label).join("、")}`})),j?i.filter(a=>a.risk.highRisk&&(0===a.requiredFactTotal?a.evidenceCount<8:a.requiredFactCovered<a.requiredFactTotal)).map(a=>({level:"warning",message:`系统知识库召回覆盖需复核:${a.chapterTitle}`,suggestion:`知识库总切片 ${a.risk.totalChunks},当前预加载 ${a.risk.loadedChunks}${a.risk.riskReason?`(${a.risk.riskReason})`:""},已启用深召回;事实覆盖 ${a.requiredFactCovered}/${a.requiredFactTotal},小节覆盖 ${a.sectionCovered}/${a.sectionTotal}。`})):[]),p=function(a){let b=(0,bc.tf)({markdown:a.markdown,chapters:a.chapters,template:a.template,factTraces:a.factTraces,issues:a.issues}),c=Math.round((.3*b.completeness+.25*b.specificity+.2*b.compliance+.15*b.executability+.1*b.normalization)*Math.min(1,b.uniqueness/90)),d=a.issues.filter(a=>"error"===a.level).length,e=Math.max(0,Math.min(99,Math.round(c-8*d))),f=a.knowledgeCoverage.score>=95?95:85;return{overall:c,deliveryProbability:e,target:f,passed:e>=f&&0===d,scores:b,summary:`交付置信度 ${e}% / 目标 ${f}%,综合评分 ${c}/100(资料完整性 ${b.completeness}、方案针对性 ${b.specificity}、合规性 ${b.compliance}、可落地性 ${b.executability}、编制规范性 ${b.normalization}、低雷同性 ${b.uniqueness})`,actions:e>=f&&0===d?["已达到当前质量目标,建议保持事实口径和导出前复核。"]:["按招标评审口径补齐短板维度:章节与强制模块缺失补完整性、项目专属数据补针对性、危大闭环与强制制度补合规性、责任频次闭环句式补可落地性、表格层级与数据一致补规范性、清理空话禁用词与重复句式降雷同。","系统需优先修复阻断问题、扩大本地知识库检索、补抽结构化事实,并将未落位事实写入对应章节。"]}}({markdown:g,chapters:c,issues:o=o.map(a=>cg.test(a.message)&&"warning"===a.level?{...a,level:"info"}:a),knowledgeCoverage:l,factTraces:m,template:k}),q=function(a){let b=[],c=a.issues.filter(a=>"error"===a.level);c.length>0&&b.push({priority:"high",title:"阻断问题修复",action:`修复 ${c.length} 个导出阻断问题,优先处理事实冲突、结构缺失、模板规则违规和占位残留。`});let d=(a.factTraces||[]).filter(a=>"unplaced"===a.status);if(d.length>0){let a=d.length>12?`${d.length} 项(示例:${d.slice(0,8).map(a=>a.label).join("、")} 等)`:`${d.length} 项(${d.map(a=>a.label).join("、")})`;b.push({priority:"high",title:"事实落位修复",action:`将 ${a} 已确认知识库事实写入对应章节,保持原始数值、单位和来源口径。`})}a.knowledgeCoverage&&a.knowledgeCoverage.score<95&&b.push({priority:"medium",title:"知识库确认覆盖修复",action:"扩大本地知识库检索范围,执行事实补抽和章节证据重分配;这是系统检索、抽取、落位问题,不要求用户追加资料。"});let e=(a.chapterCoverage||[]).filter(a=>a.score<80);if(e.length>0){let a=e.length>10?`${e.slice(0,8).map(a=>a.title).join("、")} 及其他${e.length-8}章`:e.map(a=>a.title).join("、");b.push({priority:"medium",title:"章节覆盖修复",action:`补齐低覆盖章节(${e.length}章):${a}。`})}return a.qualityReport&&!a.qualityReport.passed&&b.push({priority:"medium",title:"交付置信度修复",action:a.qualityReport.actions.join(" ")}),b}({issues:o,qualityReport:p,knowledgeCoverage:l,factTraces:m,chapterCoverage:n});o=bg(o,p.passed?[]:[{level:"info",message:`交付置信度未达目标:${p.deliveryProbability}% / ${p.target}%`,suggestion:p.actions.join(" ")}],q.filter(a=>"high"===a.priority).map(a=>({level:"info",message:`修复策略待执行:${a.title}`,suggestion:a.action})));let r=(0,x.Ai)(o,e,c);return{knowledgeCoverage:l,factTraces:m,chapterCoverage:n,qualityReport:p,repairStrategies:q,validationIssues:o,finalExportGate:r}}async function ci(a){var b,c;let{chapterDraftsByOrder:e,chapterGenerationStagesByOrder:f,chapterGenerationStages:g,effectiveChapters:h,template:i,allEvidence:j,projectMaterialScope:k,progressStages:l,documentSpec:m,projectMaterialSummary:n,domainProfile:o,documentBudget:p,input:q,generationDiagnostics:r,promptTexts:t,promptBindings:y,promptDocumentRules:A,projectRoot:B,projectId:C,readiness:D,factExtractionPromptTexts:E,hasExplicitOutline:F,missingItems:G,retrievalCoverageReports:H,failedChapterMessages:I,webResearchReport:J,indexHealth:K,agentWorkflow:L,globalConsistencyIssues:M,scopeConflicts:N,writingTaskBrief:O,emitProgress:P,withProgressHeartbeat:Q}=a,{signal:R,requirement:S}=q,X=e.filter(a=>!!a);if(g.push(...f.filter(a=>!!a)),0===X.length)throw Error(`章节生成未完成:${I.join(";")||"没有生成任何有效章节"}`);if(F&&X.length<h.length)throw Error(`OUTLINE 指定 ${h.length} 章,实际只生成 ${X.length} 章:${I.join(";")||"部分章节未生成"}`);let Y=aV(X.flatMap(a=>a.evidence||[]),k);if(aX(Y,k,"finalize:chapter-evidence"),Y.length>0){j.push(...Y);let a=(0,s.QR)(j,{maxChars:Math.min(9e4,Math.max(5e4,9e3*h.length)),preservePinned:!0});j.splice(0,j.length,...a)}let Z=aV(j,k);j.splice(0,j.length,...Z),aX(j,k,"finalize:all-evidence"),(0,z.Te)(R),(0,al.fx)(l,(0,al.X5)({type:"file_understanding",roleId:"multimodal-files",status:"running",message:"正在理解多模态参考文件"},{subtitle:"多模态参考文件"})),P(X);let aa={stage:{type:"file_understanding",roleId:"multimodal-files",status:"skipped",message:"文件理解跳过"},notes:[]};try{aa=await aG(B,j,R)}catch(a){if(R?.aborted)throw a;console.error("[gen] fileUnderstanding failed:",a)}(0,al.fx)(l,aa.stage);let ab=(0,s.QR)(j,{maxItems:Math.max(48,10*h.length),maxChars:Math.min(9e4,Math.max(52e3,9e3*h.length)),preservePinned:!0});j.splice(0,j.length,...aV(ab,k)),aX(j,k,"finalize:post-file-understanding");let ac=function(a,b,c){let d={};for(let e of(0,u.Uy)(a,c)){let a=b.find(a=>(0,u.I2)(a,e));a&&(d[e.name]=`${a.content.replace(/\s+/gu," ")}(来源:${a.filePath},角色:${a.roleId||"未标注"})`)}return d}(i,j,m),ad=aW(V(j,i,m),k),ae=aW($(j),k),af=aW(_(j,o),k),ag={facts:[],stages:[{type:"fact_extraction",roleId:"llm-json",status:"skipped",message:"已有本地/资料事实覆盖主要必需字段,跳过 LLM 全量事实抽取"}]};if(function(a,b,c){let d=(0,u.Uy)(b,c).filter(a=>a.required);return 0===d.length?a.filter(a=>a.confidence>=.75&&(0,z.lG)(a.value).trim().length>=2).length<12:d.filter(b=>a.some(a=>(function(a,b){let c=(0,z.lG)(a.value).trim();if(!c||c.length<2||c.length>220&&a.confidence<.8)return!1;let d=`${a.fieldId||""} ${a.fieldName||""} ${a.key}`.toLowerCase();return!!(d.includes(b.id.toLowerCase())||d.includes(b.name.toLowerCase()))&&("project_basic_fact"===a.roleId||a.roleId?.startsWith("role-")||a.sourceRef?.filePath?a.confidence>=.55:a.confidence>=.75)})(a,b))).length/d.length<.9}([...ad,...ae,...af],i,m)){let a=(0,s.QR)(j,{maxItems:48,maxChars:45e3,preservePinned:!0});try{ag=await W(a,E,i,m,R,r)}catch(a){if(R?.aborted)throw a;console.error("[gen] fact extraction failed:",a)}}for(let a of ag.stages)(0,al.fx)(l,a);let ah=aW((b=[...ad,...ae,...af,...ag.facts],b.filter(a=>!!a.sourceFile)),k),ai=bs(ah,N??bp(ah));for(let a of ai)ac[a.key]=`${(0,z.lG)(a.value)}(来源:${a.sourceFile},角色:${a.roleId})`;let aj=ak(ai,aW(U(j),k),G,m,o),am=X.map(a=>{let b=m.chapterRules.find(b=>b.id===a.id||b.title===a.title),c=(b?.requiredFactIds||[]).map(a=>m.factFields.find(b=>b.id===a)?.name).filter(Boolean),d=[...new Set([...a.missingFacts||[],...c].filter(Boolean))],e=d.filter(b=>!a.missingFacts.includes(b)),f=d.filter(b=>a.missingFacts.includes(b));return{chapterId:a.id,title:a.title,requiredFacts:d,coveredFacts:e,missingFacts:f,evidenceCount:a.evidence.length}}),an=function(a,b=[],c){let e=[],f=[];for(let b of a)0===b.evidence.length&&e.push(`${b.title} 未检索到资料证据`),b.content.length<80&&e.push(`${b.title} 内容较短,建议人工补充或重新生成`);return c&&a.length<c.chapters.length&&f.push(`章节生成不完整:已生成 ${a.length}/${c.chapters.length} 章`),c&&0===(0,d.zY)(c).length&&f.push("模板未绑定任何提示词"),{passed:0===f.length,warnings:e,errors:f}}(X,ai,i);an.warnings=[...an.warnings,...D.warnings],an.errors=[...an.errors,...D.blockingIssues];let ao=[...j.reduce((a,b)=>a.set(b.filePath,(a.get(b.filePath)??0)+1),new Map).entries()].sort((a,b)=>b[1]-a[1]).map(([a,b])=>({filePath:a,count:b})),aq=new Map;for(let a of j)aq.set(a.source||"unknown",(aq.get(a.source||"unknown")??0)+1);let ar=bg((0,ap.w9)(an,aj,X),function(a){let b=[];for(let c of a)0===c.evidenceCount?b.push({level:"error",message:`章节缺少证据:${c.title}`,suggestion:"请补充对应绑定材料或调整模板章节检索词。"}):c.missingFacts.length>0&&b.push({level:"warning",message:`章节事实覆盖不足:${c.title},缺失 ${c.missingFacts.slice(0,6).join("、")}`,suggestion:"建议补充章节 requiredFacts 或绑定材料证据。"});return b}(am),(M||[]).slice(0,10).map(a=>({level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`跨章一致性复核:${a}`,suggestion:"跨章数值口径不一致属低级错误,必须定向修复统一口径后重新校验。"}))),as=X.map(a=>a.content).join("\n\n");ar=bg(ar,bT(as,ah,{maxIssues:20}).map(a=>({...a,level:"warning",severity:"warning",suggestion:"建议 Agent Writer 在章节生成阶段优先落位可信基础事实;导出阶段不因未落位的低置信或泛化事实阻断。"})));let at=Math.max(0,h.length-X.length);ar=bg(ar,[...at>0?[{level:"error",severity:"blocker",message:`部分章节生成失败:${at} 章`,suggestion:I.join(";")||"请检查模型调用、知识库检索和事实抽取配置后重新生成失败章节。"}]:[]]),ar=bg(ar,X.flatMap(a=>{let b=h.find(b=>b.id===a.id);if(!b)return[];let c=aC({chapter:b,content:a.content,evidence:a.evidence||[]});return c.length>0?[{level:"warning",message:`${a.title} 小节事实或量化参数落位可继续优化:${c.slice(0,5).join(";")}`,suggestion:"建议在 Agent Writer 阶段扩大定向证据,不得在导出阶段补写。"}]:[]}));let au=[],av=function(a,b=300){if(a.length<=b)return a;let c=b-4-1;if(c<=0)return a.slice(-b);let d=a.slice(0,4),e=a.slice(-c),f=a.slice(4,a.length-c),g=f.filter(a=>"failed"===a.status).length;return[...d,{type:"validation",roleId:"stage-archive",status:g>0?"failed":"success",message:`已归档 ${f.length} 个中间执行阶段${g>0?`(含 ${g} 个失败记录)`:""}`,details:f[0]?.subtitle?[`归档区间:${f[0].subtitle} → ${f[f.length-1]?.subtitle||""}`]:[]},...e]}([...l,...g]);(0,al.fx)(av,(0,al.X5)({type:"reference",roleId:"knowledge-usage-report",status:"success",message:`资料使用报告:证据 ${j.length} 条,来源文件 ${ao.length} 份,结构化事实 ${ah.length} 条`,details:[`证据类型:${[...aq.entries()].map(([a,b])=>`${a} ${b}`).join(",")||"无"}`,`索引健康:可用切片 ${K.usableChunkCount} 条,待索引 ${K.pendingJobs} 个,向量 ${K.vectorStatus?.status||"unknown"}`]},{subtitle:"资料使用报告"})),(0,al.fx)(av,(0,al.X5)({type:"reference",roleId:"web-research-report",status:J.enabled?"success":"skipped",message:J.enabled?`联网增强:检索章节 ${new Set(J.chapters).size} 个,查询 ${J.queries.length} 个,使用公开资料 ${J.evidenceCount} 条`:"联网增强未开启",details:J.enabled?[`检索主题:${[...new Set(J.queries)].join(";")||"无"}`,`过滤结果:${J.filteredCount} 条`,"公开资料仅用于通用规范、政策、工艺和措施补充,不作为项目事实来源"]:["可在模型配置中开启联网增强"]},{subtitle:"联网增强报告"}));let aw=(0,v.rs)((0,v.V3)({templateId:i.id,templateName:i.name,title:i.outputTitle,requirement:S||"",projectRoot:B,projectId:C,exportSettings:i.exportSettings,generationSettings:i.generationSettings,facts:ac,structuredFacts:ah,factsModel:aj,chapters:X,sources:ao,missingItems:[...new Set(G)],validation:an,validationIssues:ar,executionStages:av,exportGate:{passed:!1,blockingIssues:[],checklist:[]},assets:au,partialChapters:X.map(a=>({id:a.id,title:a.title,chars:(0,w.V7)(a.content),status:bx(a,p.chapterTargets.get(a.id)),updatedAt:Date.now()})),checkpointChapters:X,generatedAt:Date.now()},{forbidDrawingImages:!1,promptRules:A}),X,{forbidDrawingImages:!1,promptRules:A}).chapters.map(a=>{let b=h.find(b=>b.id===a.id)||a;return{...a,sections:a.sections||[],content:bO(a.content,b)}}),ax=(0,v.rs)((0,v.V3)({templateId:i.id,templateName:i.name,title:i.outputTitle,requirement:S||"",projectRoot:B,projectId:C,exportSettings:i.exportSettings,generationSettings:i.generationSettings,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aw,sources:ao,missingItems:[...new Set(G)],validation:an,validationIssues:ar,executionStages:av,exportGate:{passed:!1,blockingIssues:[],checklist:[]},assets:au,partialChapters:[],checkpointChapters:aw,generatedAt:Date.now()},{forbidDrawingImages:!1,promptRules:A}),aw,{forbidDrawingImages:!1,promptRules:A}).markdown;ax=cd((0,v.bR)((0,v.kT)((0,v.K7)(cb(bM(ax,ah),n)))),i);let ay=(0,x.KI)(aw,aj,N);ay.fixedCount>0&&(ax=cd((0,v.bR)((0,v.kT)((0,v.K7)(cb(bM(ce({template:i,requirement:S,projectRoot:B,projectId:C,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aw,sources:ao,missingItems:G,validation:an,validationIssues:ar,executionStages:av,assets:au,promptDocumentRules:A}),ah),n)))),i),(0,al.fx)(av,(0,al.X5)({type:"validation",roleId:"deterministic-consistency-fix",status:"success",message:`跨章一致性数值定点修复:${ay.fixedCount} 处(${ay.details.slice(0,4).join("、")})`,details:ay.details.slice(4)},{subtitle:"跨章一致性修复"})));let az=bm({facts:ah,markdown:ax});az.size>0&&av.push({type:"fact_extraction",roleId:"canonical-facts",status:"success",message:`已决策可信基础事实 ${az.size} 项`,details:[...az.values()].map(a=>`${a.label}=${a.value}(${a.source},confidence=${a.confidence})`).slice(0,12)});let aA=ar;ar=cf({documentSpec:m,validationIssues:ar,factsModel:aj,finalChapterDrafts:aw,finalMarkdown:ax,template:i,promptBindings:y,promptDocumentRules:A,projectMaterialSummary:n,domainProfile:o,structuredFacts:ah,documentBudget:p,scopeConflicts:N});let aB=ch({finalChapterDrafts:aw,effectiveChapters:h,factsModel:aj,allEvidence:j,finalMarkdown:ax,validationIssues:ar,retrievalCoverageReports:H,includeRetrievalCoverage:!0,template:i}),{knowledgeCoverage:aD,factTraces:aE,chapterCoverage:aF,qualityReport:aH,repairStrategies:aI,finalExportGate:aJ}=aB;ar=aB.validationIssues;let aK=[],aL=new Set,aM=()=>{ar=cf({documentSpec:m,validationIssues:aA.filter(a=>![...aL].some(b=>{let[c,d]=b.split("::");if(!/空小节|小节内容补写未完成|小节生成未达标|小节只有标题|正文小节正文过短|规划小节正文过短|缺少规划小节|缺少[“"'].+[”"']小节|正文不足/u.test(a.message))return!1;let e=d.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");return!!RegExp(`^\\s*${e}\\s*正文不足,未达到任务最小深度$`,"u").test(a.message)||a.message.includes(c)&&a.message.includes(d)})&&!/已确认事实未在正文中落位/u.test(a.message)),factsModel:aj,finalChapterDrafts:aw,finalMarkdown:ax,template:i,promptBindings:y,promptDocumentRules:A,projectMaterialSummary:n,domainProfile:o,structuredFacts:ah,documentBudget:p,scopeConflicts:N}),aB=ch({finalChapterDrafts:aw,effectiveChapters:h,factsModel:aj,allEvidence:j,finalMarkdown:ax,validationIssues:ar,retrievalCoverageReports:H,includeRetrievalCoverage:!1,template:i}),({knowledgeCoverage:aD,factTraces:aE,chapterCoverage:aF,qualityReport:aH,repairStrategies:aI,finalExportGate:aJ}=aB),ar=aB.validationIssues};for(let b=0;b<3;b+=1){let b=[...aJ.blockingIssues,...ar.filter(a=>"error"===a.level)],c=/项目特点.*重点.*难点|重点.*难点.*分析|项目主要施工内容|主要分部分项工程施工方案|主要施工方法|危大工程专项施工方案审批流程|原材料进场复试与见证取样/u,d=Array.from(new Map(b.map(a=>{let b=/^(.*?)(?:\s+|)(?:空小节|小节内容补写未完成|小节生成未达标|小节只有标题|只有标题或表格无正文|规划小节正文过短|正文小节正文过短|缺少规划小节|正文不足)[::,,]\s*(.+)$/u.exec(a.message),d=/^(.*?)\s+(项目特点、重点、难点分析|项目主要施工内容|主要分部分项工程施工方案|主要施工方法|危大工程专项施工方案审批流程|原材料进场复试与见证取样)\s+正文不足/u.exec(a.message),e=/^(.+?)\s*正文不足,未达到任务最小深度$/u.exec(a.message),f=/^(?:施工组织设计\s*)?缺少[“"'](.+?)[”"']小节$/u.exec(a.message);if(!b&&!f)return;let g=d?d[1].trim():e||f?"":b[1].trim(),h=d?d[2]:e?e[1].trim():f?f[1].trim():b[2].split(/[::,,,]/u)[0].trim();return{issue:a,chapterTitle:g,sectionTitle:h,critical:c.test(h)}}).filter(a=>!!a).map(a=>[`${a.chapterTitle}::${a.sectionTitle}`,a])).values()).sort((a,b)=>Number(b.critical)-Number(a.critical)).slice(0,4);if(0===d.length)break;let e=[];for(let{issue:b,chapterTitle:c,sectionTitle:f}of d){let d=c,g=d?aw.findIndex(a=>a.title===d||d.includes(a.title)||a.title.includes(d)):-1;g<0&&(g=aw.findIndex(a=>(a.content||"").includes(f))),g<0&&(g=aw.findIndex(a=>(h.find(b=>b.id===a.id||b.title===a.title)?.sections||[]).some(a=>a.includes(f)||f.includes(a))));let k=aw[g],m=h.find(a=>a.id===k?.id||a.title===k?.title);if(g<0||!k||!m){e.push(`失败:${d}/${f} 未定位到章节`);continue}d=d||k.title;let n=(0,al.X5)({type:"llm_review",roleId:`agent-final-gate-repair-${k.id}`,status:"running",message:`Final Gate 正在补写空小节:${d} / ${f}`,details:e},{subtitle:"Final Gate Repair"});(0,al.fx)(l,n),(0,al.fx)(aK,n),P(aw,l);let o=(0,ap.ap)(f),p=Math.max(620,o>0?Math.ceil(o/.7):620),q=r.llm.lastError;r.llm.lastError=void 0;let s=await Q(()=>(0,ap.mF)({template:i,chapter:m,sectionTitle:f,evidence:k.evidence?.length?k.evidence:j,missingFacts:[],promptTexts:t,projectContext:a.projectContext,requirement:S,roleContext:"Final Gate 空小节定向修复",targetWords:p,maxWords:Math.ceil(1.32*p),forbidDrawingImages:!1,qualityFeedback:`Final Gate 发现“${f}”为空小节或深度不足。请基于证据完整重写该小节正式正文(原小节内容将被整体替换),包含检查责任、验收节点、资料闭环、整改复验要求,优先落位项目建筑面积、层数、工期、专业范围等量化参数,不得输出占位或解释。${q?`此前生成被拒原因:${q},必须逐条修正。`:""}`,diagnostics:r,signal:R,allowLenientStructureGate:!0})),u=!1,v=/正文不足|缺少[“"'].+[”"']小节/u.test(b.message)?o:0;if(s&&(0,w.V7)(s)>=(v||80)){let a=function(a,b,c){let d=a=>a.replace(/[\u00a0\u3000]/gu," ").replace(/^\d+(?:\.\d+)*\s+/u,"").trim(),e=a=>a.trim().replace(/^#{2,6}\s+(?:\d+(?:\.\d+)*\s+)?[^\n]+\n+/u,"").trim(),f=a.split("\n"),g=0;for(let h=0;h<f.length;h+=1){let i=f[h],j=g;g+=i.length+1;let k=/^(#{3,4})\s+(.+)$/u.exec(i.trim());if(!k)continue;let l=d(k[2]);if(l!==b&&!l.includes(b)&&!b.includes(l))continue;let m=k[1].length,n=(z.V.test(l)||z.V.test(b))&&3===m?/^#{2,3}\s+/u:/^#{2,4}\s+/u,o=f.length;for(let a=h+1;a<f.length;a+=1)if(n.test(f[a].trim())){o=a;break}let p=o<f.length?f.slice(0,o).join("\n").length:a.length,q=e(c);return`${a.slice(0,j)}${i.trim()}
59
+ |。;;]{0,40}(?:资料未明确|系统暂未从知识库确认|项目资料暂未明确)`,"u").test(g)).map(a=>({level:"error",message:`${a} 已抽取到项目资料事实但正文仍显示暂未明确`,suggestion:"请优先使用项目基础事实卡片中的资料原值,不得用占位表达覆盖已确认事实。"})),(b={markdown:g,chapters:f,factsModel:e,template:h,promptBindings:i,promptDocumentRules:j,scopeConflicts:q},[...b.promptDocumentRules?.forbidToc?[]:[...(0,x.gN)(b.markdown),...(0,x.f8)(b.markdown)],...(0,x.K1)(b.markdown),...(0,x.Fv)(b.markdown),...(0,x.k0)(b.markdown),...(0,x.NS)(b.markdown),...(0,x.qK)(b.markdown,b.chapters),...(0,x.ji)(b.chapters),...(0,x.i0)(b.chapters),...(0,x.ST)(b.chapters),...(0,x.xX)(b.chapters),...(0,x.qm)(b.markdown,b.factsModel,b.scopeConflicts),...(0,x.hr)(b.markdown,b.factsModel),...a4(b.markdown,b.factsModel),...function(a){let b=a.split(/\n\s*\n/gu).map(a=>a.trim()).filter(Boolean),c=/(?:加强组织领导|严格执行规范|落实责任制度|确保工程质量|强化过程管理|提高思想认识|完善管理体系|形成闭环管理|统筹推进|全面落实)/gu,d=[];for(let a of b){if(120>(0,w.V7)(a))continue;let b=a.match(c)||[],e=a.match(/材料|工序|验收|复验|节点|风险|交底|隐蔽|检验批|进场|责任人|台账|工期|质量|安全|资源/u)||[];b.length>=2&&e.length<2&&d.push({level:"warning",message:`段落存在空泛表述:${a.slice(0,48)}...`,suggestion:"请补充该段对应的对象、动作、控制点或验收闭环,避免只保留管理性套话。"})}return d}(b.markdown),...(0,y.Fw)(b.chapters),...(0,y.Hl)(b.chapters),...(0,y.iX)({markdown:b.markdown,factsModel:b.factsModel,chapters:b.chapters}),...function(a,b){let c=[];if(!/施工组织设计|施工组织|施组|质量|安全|文明施工/u.test(a))return c;for(let d of a6){let e=ba(b,d.factGroups),f=(function(a,b){let c=[];for(let d of b){let b=new RegExp(d.source,d.flags.includes("g")?d.flags:`${d.flags}g`);for(let d of a.matchAll(b)){let a=a7(d[1]||d[0]||"");!a9.test(a)&&a.length>=2&&a.length<=80&&c.push(a)}}return[...new Set(c)]})(a,d.patterns).filter(a=>!a8.test(a)&&!function(a,b){return 0===b.length||b.some(b=>b.includes(a)||a.includes(b)||a.length>=4&&b.includes(a.slice(0,4)))}(a,e)).slice(0,5);f.length>0&&c.push({level:"warning",message:`施组数据一致性风险:${d.label} 可能与项目图谱/事实不一致(${f.join("、")})`,suggestion:`请核对${d.label}在${d.locations}中的表述,统一以招标文件、项目图谱和可信事实为准。`})}return c}(b.markdown,b.factsModel),...function(a,b){let c=[],d=ba(b,["project","schedule","resources","quality","safety","preciseFacts"]);if(0===d.length)return c;for(let b of a)/概况|进度|资源|质量|安全|文明|工资|应急/u.test(`${b.title} ${(b.sections||[]).join(" ")}`)&&(d.some(a=>a.length>=3&&b.content.includes(a.slice(0,Math.min(10,a.length))))||c.push({level:"warning",message:`${b.title} 缺少可识别的项目图谱事实支撑`,suggestion:"请至少引用工程名称、工期、工程量、资源、风险、质量安全目标等项目专属事实之一,避免纯模板化。"}));return c}(b.chapters,b.factsModel),...(0,y.Av)(b.chapters,b.markdown),...(0,y.b7)(b.chapters),...a5(b.chapters),...function(a,b,c){let d={factuality:2*!(0,x.vY)(a,c).some(a=>"error"===a.level),structure:b.length>0&&b.every(b=>a.includes(b.title)&&(0,w.V7)(b.content)>=600)?2:1,depth:0===(0,x.i0)(b).length?2:1,executable:0===a5(b).length?2:1,evidence:0===a4(a,c).length?2:1},e=d.factuality+d.structure+d.depth+d.executable+d.evidence;return[{level:"info",message:`文档交付评分报告:总分 ${e}/10,事实${d.factuality},结构${d.structure},专业${d.depth},可执行${d.executable},证据${d.evidence}`,suggestion:e>=8?"可交付,但建议继续优化证据使用覆盖率和章节依赖链路。":"建议优先修复低分维度后再导出。"}]}(b.markdown,b.chapters,b.factsModel),...(0,x.vY)(b.markdown,b.factsModel),...(0,x.iC)(b.markdown),...(0,x.BV)(b.markdown),...(0,v.dh)(b.markdown),...(0,x.Ty)(b.chapters),...(0,x.N1)(b.markdown,b.factsModel,b.chapters),...(0,x.S2)(b.markdown,b.chapters,b.factsModel),...(0,a1.QP)((0,a1.JV)(b.markdown,b.factsModel)),...(0,x.yd)(b.markdown,b.factsModel),...function(a){let b=[];return aM.test(a)&&b.push({level:"warning",message:"正文包含联网增强过程性表述",suggestion:"请删除联网检索、网页资料、搜索结果等过程性话术,改为正式交付语言。"}),b}(b.markdown),...(0,x.bM)(b.markdown),...(0,x.M$)(b.markdown,b.promptBindings),...(0,x.AC)(b.markdown,b.chapters),...(0,x.mR)(b.markdown,b.template),...(0,v.UG)(b.markdown,b.template),...(0,v.Ed)(b.markdown,b.promptDocumentRules)]),bT(g,[...o,...e.preciseFacts],{maxIssues:30}).map(a=>({...a,level:"warning",severity:"warning",suggestion:"建议后续优化事实自然落位;导出阶段不因未落位的引用型或可优化事实阻断。"})),(0,w.PE)(h.generationSettings||h.exportSettings,g).filter(a=>!(p.minPages&&/低于目标页数/u.test(a.message))),(0,w.ty)(p,g),(0,v.UG)(g,h),(0,bt.IA)(g),g.includes("WRITER_MISSING_SECTION")||g.includes("Writer 未完成")?[{level:"error",severity:"blocker",category:"structure",owner:"system",message:"最终正文仍包含未完成小节标记",suggestion:"必须重新补写对应小节并删除 WRITER_MISSING_SECTION/Writer 未完成。"}]:[],function(a){let b=[{title:"项目特点、重点、难点分析",minChars:1800},{title:"项目主要施工内容",minChars:2200},{title:"主要分部分项工程施工方案",minChars:1200,blockerMinChars:800},{title:"主要施工方法",minChars:2200},{title:"危大工程专项施工方案审批流程",minChars:500,blockerMinChars:250},{title:"原材料进场复试与见证取样",minChars:600,blockerMinChars:300}],c=[];for(let d of a)for(let a of b){let b=(0,z.Xl)(d.content,a.title)||(0,z.Xl)(d.content,a.title,{fuzzy:!0}),e=(0,w.V7)(b);if(!b||e>=a.minChars)continue;let f=function(a){let b=[{title:"项目特点、重点、难点分析",minChars:1800},{title:"项目主要施工内容",minChars:2200},{title:"主要分部分项工程施工方案",minChars:1200,blockerMinChars:800},{title:"主要施工方法",minChars:2200},{title:"危大工程专项施工方案审批流程",minChars:500,blockerMinChars:250},{title:"原材料进场复试与见证取样",minChars:600,blockerMinChars:300}].find(b=>b.title===a);if(!b)return 0;let c=b.blockerMinChars||Math.floor(.8*b.minChars),d=(0,bu.ap)(a);return Math.min(c,d>0?d:c)}(a.title);e>=f?c.push({level:"warning",severity:"warning",message:`${d.title} ${a.title} 正文深度接近目标:当前 ${e} 字,目标 ${a.minChars} 字`,suggestion:"已达到可交付深度,建议后续按项目数据继续优化扩写。"}):c.push({level:"error",severity:"blocker",message:`${d.title} ${a.title} 正文不足:当前 ${e} 字,要求不少于 ${f} 字`,suggestion:"关键小节必须补足项目数据、重点难点与施工内容对应关系后方可导出。"})}return c}(f),function(a){let b=[{title:"项目特点、重点、难点分析",minNumericFacts:5,minObjectFacts:8,objectPatterns:[/建筑面积|面积/u,/层|框架结构|既有建筑/u,/结构形式|结构加固|墙体补强|装配式/u,/拆除|改造|装修|装饰/u,/工期|日历天/u,/质量标准|合格/u,/营业商铺|经营区域|场地/u,/管网|防水|室外道排/u,/智能化|弱电|消防|暖通|通风空调|水电/u]},{title:"项目主要施工内容",minNumericFacts:4,minObjectFacts:6,objectPatterns:[/拆除|垃圾外运|既有设施保护/u,/结构加固|墙体补强|框架结构/u,/装饰|装修|基层|面层|环保|阻燃/u,/防水|管网|给排水|阀门|道排/u,/消防|水电|电气|弱电|智能化|通风空调/u,/屋面|立面|室外|附属/u,/施工流程|施工方法|施工顺序|工艺流程/u,/验收|检测|调试|资料闭环/u]},{title:"主要分部分项工程施工方案",minNumericFacts:4,minObjectFacts:6,objectPatterns:[/拆除|垃圾外运|既有设施保护/u,/结构加固|墙体补强|框架结构/u,/装饰|装修|基层|面层|环保|阻燃/u,/防水|管网|给排水|阀门|道排/u,/消防|水电|电气|弱电|智能化|通风空调/u,/屋面|立面|室外|附属/u,/施工流程|施工方法|施工顺序|工艺流程/u,/验收|检测|调试|资料闭环/u]},{title:"主要施工方法",minNumericFacts:4,minObjectFacts:6,objectPatterns:[/拆除|垃圾外运|既有设施保护/u,/结构加固|墙体补强|框架结构/u,/装饰|装修|基层|面层|环保|阻燃/u,/防水|管网|给排水|阀门|道排/u,/消防|水电|电气|弱电|智能化|通风空调/u,/屋面|立面|室外|附属/u,/施工流程|施工方法|施工顺序|工艺流程/u,/验收|检测|调试|资料闭环/u]}];return a.flatMap(a=>b.flatMap(b=>{let c=(0,z.Xl)(a.content,b.title);if(!c)return[];let d=new Set(c.match(/\d+(?:\.\d+)?\s*(?:m²|㎡|平方米|m|mm|层|栋|日历天|天|%|台|套|根|处|个|kg|t|吨)/giu)||[]).size,e=b.objectPatterns.filter(a=>a.test(c)).length,f=[];return d<b.minNumericFacts&&f.push({level:"warning",severity:"warning",message:`${a.title} ${b.title} 参数落位不足:当前 ${d} 个,建议不少于 ${b.minNumericFacts} 个`,suggestion:"关键小节必须写入项目规模、工期、层数、结构、专业工程或验收参数等具体数值。"}),e<b.minObjectFacts&&f.push({level:"warning",severity:"warning",message:`${a.title} ${b.title} 专业事实覆盖不足:当前 ${e} 类,建议不少于 ${b.minObjectFacts} 类`,suggestion:"优先基于当前项目绑定资料补充工程对象、专业范围、重点难点和对应施工内容;不得为满足类别数量编造或混入其他项目事实。"}),f}))}(f),(function(a,b=""){return[...b5(a),...b6(a),...b7(a),...b8(a),...function(a,b=""){let c=[],d=(b||a.map(a=>a.content).join("\n\n")).split("\n"),e=0,f=0;for(;f<d.length;){let a=d[f].trim();if(!/^\|.+\|$/u.test(a)){f+=1;continue}let b=[];for(;f<d.length&&/^\|.+\|$/u.test(d[f].trim());)b.push(d[f].trim()),f+=1;if(b.length<3)continue;e+=1;let g=b[0].split("|").length-2,h=b.filter((a,b)=>0!==b&&a.replace(/\|/gu,"").replace(/[\s\-:]/gu,"").length>0),i=h.reduce((a,b)=>a+b.split("|").slice(1,-1).map(a=>a.trim()).filter(a=>""===a||"-"===a||"—"===a||"/"===a).length,0),j=h.length*Math.max(1,g);if(i>0&&i/Math.max(1,j)>=.4&&c.push({level:"warning",severity:"warning",message:`第 ${e} 个表格存在 ${i} 个空单元格(${h.length} 行),表格信息不完整`,suggestion:"表格每一列都必须填写,缺失字段应从资料补齐;无法确认的字段应删除该行而非留空。"}),c.length>=5)break}return c}(a,b),...b9(a,b)]})(f,g).map(a=>"error"===a.level?{...a,severity:"blocker"}:a)).map(a=>"error"===a.level?{...a,severity:a.severity||"blocker"}:a)}let cg=/章节级证据覆盖较弱|章节事实覆盖不足|小节事实或量化参数落位可继续优化/u;function ch(a){var b;let{finalChapterDrafts:c,effectiveChapters:d,factsModel:e,allEvidence:f,finalMarkdown:g,validationIssues:h,retrievalCoverageReports:i,includeRetrievalCoverage:j,template:k}=a,l=function(a){let b=a.chapters.map(b=>{let c=function(a){let b=["project"];return/进度|工期|节点|部署/u.test(a.title)&&b.push("schedule"),/质量|验收|材料/u.test(a.title)&&b.push("quality","rules"),/安全|文明|风险|危大/u.test(a.title)&&b.push("safety","rules"),/资源|材料|设备|劳动力|机械/u.test(a.title)&&b.push("resources"),/施工|工艺|技术|方案|清单|工程量|图纸/u.test(a.title)&&b.push("quantities"),[...new Set(b)]}(a.templateChapters.find(a=>a.id===b.id||a.title===b.title)||b),d=c.filter(c=>{var d;return d=a.factsModel,("project"===c?d.project.length>0||d.preciseFacts.length>0:"schedule"===c?d.schedule.length>0:"quality"===c?d.quality.length>0||d.specifications.length>0:"safety"===c?d.safety.length>0||d.rules.length>0:"resources"===c?d.resources.length>0||d.bills.length>0:"quantities"===c?d.bills.length>0||d.drawings.length>0||d.tables.length>0:"rules"===c&&(d.rules.length>0||d.specifications.length>0))||(b.evidence||[]).some(a=>RegExp(bb[c]||c,"u").test(`${a.sectionTitle||""} ${a.content||""}`))}),e=c.filter(a=>!d.includes(a)),f=c.length?Math.round(d.length/c.length*100):100;return{chapterId:b.id,title:b.title,requiredDomains:c,confirmedDomains:d,unconfirmedDomains:e,score:f}}),c=new Set(a.evidence.map(a=>a.filePath).filter(Boolean)),d=b.length?Math.round(b.reduce((a,b)=>a+b.score,0)/b.length):100;return{score:d,evidenceCount:a.evidence.length,confirmedFiles:c.size,chapterReports:b,unconfirmedDomains:[...new Set(b.flatMap(a=>a.unconfirmedDomains))],remediation:d>=95?"知识库事实覆盖已达到高置信交付要求。":"系统需扩大本地知识库检索、补抽结构化事实,并将已确认事实落位到对应章节。"}}({chapters:c,templateChapters:d,factsModel:e,evidence:f}),m=(0,a1.e$)(g,e),n=(b={chapters:c,templateChapters:d,factsModel:e}).chapters.map(a=>{let c=b.templateChapters.find(b=>b.id===a.id||b.title===a.title),d=function(a,b){let c=`${a.title} ${(b?.sections||a.sections||[]).join(" ")}`;return[{key:"structure",label:"结构完整",passed:(a.sections||b?.sections||[]).length>=2||/###\s+/u.test(a.content)},{key:"depth",label:"内容深度",passed:(0,w.V7)(a.content)>=600},{key:"evidence",label:"证据绑定",passed:(a.evidence||[]).length>0},{key:"professional",label:"专业控制点",passed:/验收|复核|检查|交底|控制点|整改|闭环|台账|进场|工序/u.test(a.content)},{key:"schedule",label:"工期支撑",passed:!/进度|工期|节点/u.test(c)||/工期|节点|计划|纠偏|资源|穿插/u.test(a.content)},{key:"quality",label:"质量验收",passed:!/质量|验收/u.test(c)||/质量|验收|复验|隐蔽|检验批|整改/u.test(a.content)},{key:"safety",label:"安全闭环",passed:!/安全|文明|风险|危大/u.test(c)||/风险|检查|整改|应急|培训|交底/u.test(a.content)}]}(a,c),e=d.filter(a=>a.passed).length;return{chapterId:a.id,title:a.title,score:d.length?Math.round(e/d.length*100):100,checks:d,action:e===d.length?"章节覆盖完整。":"系统需补齐章节结构、证据绑定、专业控制点和跨章依赖。"}}),o=bg(h,l.score>=85?[]:[{level:"warning",message:`系统知识库覆盖确认率偏低:${l.score}%`,suggestion:`${l.remediation} 未确认事实域:${l.unconfirmedDomains.map(a=>bb[a]||a).join("、")||"无"}`}],(0,a1.c$)(m,{maxIssues:20}),n.filter(a=>a.score<80).map(a=>({level:"warning",message:`章节覆盖不足:${a.title} ${a.score}%`,suggestion:`${a.action} 未通过项:${a.checks.filter(a=>!a.passed).map(a=>a.label).join("、")}`})),j?i.filter(a=>a.risk.highRisk&&(0===a.requiredFactTotal?a.evidenceCount<8:a.requiredFactCovered<a.requiredFactTotal)).map(a=>({level:"warning",message:`系统知识库召回覆盖需复核:${a.chapterTitle}`,suggestion:`知识库总切片 ${a.risk.totalChunks},当前预加载 ${a.risk.loadedChunks}${a.risk.riskReason?`(${a.risk.riskReason})`:""},已启用深召回;事实覆盖 ${a.requiredFactCovered}/${a.requiredFactTotal},小节覆盖 ${a.sectionCovered}/${a.sectionTotal}。`})):[]),p=function(a){let b=(0,bc.tf)({markdown:a.markdown,chapters:a.chapters,template:a.template,factTraces:a.factTraces,issues:a.issues}),c=Math.round((.3*b.completeness+.25*b.specificity+.2*b.compliance+.15*b.executability+.1*b.normalization)*Math.min(1,b.uniqueness/90)),d=a.issues.filter(a=>"error"===a.level).length,e=Math.max(0,Math.min(99,Math.round(c-8*d))),f=a.knowledgeCoverage.score>=95?95:85;return{overall:c,deliveryProbability:e,target:f,passed:e>=f&&0===d,scores:b,summary:`交付置信度 ${e}% / 目标 ${f}%,综合评分 ${c}/100(资料完整性 ${b.completeness}、方案针对性 ${b.specificity}、合规性 ${b.compliance}、可落地性 ${b.executability}、编制规范性 ${b.normalization}、低雷同性 ${b.uniqueness})`,actions:e>=f&&0===d?["已达到当前质量目标,建议保持事实口径和导出前复核。"]:["按招标评审口径补齐短板维度:章节与强制模块缺失补完整性、项目专属数据补针对性、危大闭环与强制制度补合规性、责任频次闭环句式补可落地性、表格层级与数据一致补规范性、清理空话禁用词与重复句式降雷同。","系统需优先修复阻断问题、扩大本地知识库检索、补抽结构化事实,并将未落位事实写入对应章节。"]}}({markdown:g,chapters:c,issues:o=o.map(a=>cg.test(a.message)&&"warning"===a.level?{...a,level:"info"}:a),knowledgeCoverage:l,factTraces:m,template:k}),q=function(a){let b=[],c=a.issues.filter(a=>"error"===a.level);c.length>0&&b.push({priority:"high",title:"阻断问题修复",action:`修复 ${c.length} 个导出阻断问题,优先处理事实冲突、结构缺失、模板规则违规和占位残留。`});let d=(a.factTraces||[]).filter(a=>"unplaced"===a.status);if(d.length>0){let a=d.length>12?`${d.length} 项(示例:${d.slice(0,8).map(a=>a.label).join("、")} 等)`:`${d.length} 项(${d.map(a=>a.label).join("、")})`;b.push({priority:"high",title:"事实落位修复",action:`将 ${a} 已确认知识库事实写入对应章节,保持原始数值、单位和来源口径。`})}a.knowledgeCoverage&&a.knowledgeCoverage.score<95&&b.push({priority:"medium",title:"知识库确认覆盖修复",action:"扩大本地知识库检索范围,执行事实补抽和章节证据重分配;这是系统检索、抽取、落位问题,不要求用户追加资料。"});let e=(a.chapterCoverage||[]).filter(a=>a.score<80);if(e.length>0){let a=e.length>10?`${e.slice(0,8).map(a=>a.title).join("、")} 及其他${e.length-8}章`:e.map(a=>a.title).join("、");b.push({priority:"medium",title:"章节覆盖修复",action:`补齐低覆盖章节(${e.length}章):${a}。`})}return a.qualityReport&&!a.qualityReport.passed&&b.push({priority:"medium",title:"交付置信度修复",action:a.qualityReport.actions.join(" ")}),b}({issues:o,qualityReport:p,knowledgeCoverage:l,factTraces:m,chapterCoverage:n});o=bg(o,p.passed?[]:[{level:"info",message:`交付置信度未达目标:${p.deliveryProbability}% / ${p.target}%`,suggestion:p.actions.join(" ")}],q.filter(a=>"high"===a.priority).map(a=>({level:"info",message:`修复策略待执行:${a.title}`,suggestion:a.action})));let r=(0,x.Ai)(o,e,c);return{knowledgeCoverage:l,factTraces:m,chapterCoverage:n,qualityReport:p,repairStrategies:q,validationIssues:o,finalExportGate:r}}async function ci(a){var b,c;let{chapterDraftsByOrder:e,chapterGenerationStagesByOrder:f,chapterGenerationStages:g,effectiveChapters:h,template:i,allEvidence:j,projectMaterialScope:k,progressStages:l,documentSpec:m,projectMaterialSummary:n,domainProfile:o,documentBudget:p,input:q,generationDiagnostics:r,promptTexts:t,promptBindings:y,promptDocumentRules:A,projectRoot:B,projectId:C,readiness:D,factExtractionPromptTexts:E,hasExplicitOutline:F,missingItems:G,retrievalCoverageReports:H,failedChapterMessages:I,webResearchReport:J,indexHealth:K,agentWorkflow:L,globalConsistencyIssues:M,scopeConflicts:N,writingTaskBrief:O,emitProgress:P,withProgressHeartbeat:Q}=a,{signal:R,requirement:S}=q,X=e.filter(a=>!!a);if(g.push(...f.filter(a=>!!a)),0===X.length)throw Error(`章节生成未完成:${I.join(";")||"没有生成任何有效章节"}`);if(F&&X.length<h.length)throw Error(`OUTLINE 指定 ${h.length} 章,实际只生成 ${X.length} 章:${I.join(";")||"部分章节未生成"}`);let Y=aV(X.flatMap(a=>a.evidence||[]),k);if(aX(Y,k,"finalize:chapter-evidence"),Y.length>0){j.push(...Y);let a=(0,s.QR)(j,{maxChars:Math.min(9e4,Math.max(5e4,9e3*h.length)),preservePinned:!0});j.splice(0,j.length,...a)}let Z=aV(j,k);j.splice(0,j.length,...Z),aX(j,k,"finalize:all-evidence"),(0,z.Te)(R),(0,al.fx)(l,(0,al.X5)({type:"file_understanding",roleId:"multimodal-files",status:"running",message:"正在理解多模态参考文件"},{subtitle:"多模态参考文件"})),P(X);let aa={stage:{type:"file_understanding",roleId:"multimodal-files",status:"skipped",message:"文件理解跳过"},notes:[]};try{aa=await aG(B,j,R)}catch(a){if(R?.aborted)throw a;console.error("[gen] fileUnderstanding failed:",a)}(0,al.fx)(l,aa.stage);let ab=(0,s.QR)(j,{maxItems:Math.max(48,10*h.length),maxChars:Math.min(9e4,Math.max(52e3,9e3*h.length)),preservePinned:!0});j.splice(0,j.length,...aV(ab,k)),aX(j,k,"finalize:post-file-understanding");let ac=function(a,b,c){let d={};for(let e of(0,u.Uy)(a,c)){let a=b.find(a=>(0,u.I2)(a,e));a&&(d[e.name]=`${a.content.replace(/\s+/gu," ")}(来源:${a.filePath},角色:${a.roleId||"未标注"})`)}return d}(i,j,m),ad=aW(V(j,i,m),k),ae=aW($(j),k),af=aW(_(j,o),k),ag={facts:[],stages:[{type:"fact_extraction",roleId:"llm-json",status:"skipped",message:"已有本地/资料事实覆盖主要必需字段,跳过 LLM 全量事实抽取"}]};if(function(a,b,c){let d=(0,u.Uy)(b,c).filter(a=>a.required);return 0===d.length?a.filter(a=>a.confidence>=.75&&(0,z.lG)(a.value).trim().length>=2).length<12:d.filter(b=>a.some(a=>(function(a,b){let c=(0,z.lG)(a.value).trim();if(!c||c.length<2||c.length>220&&a.confidence<.8)return!1;let d=`${a.fieldId||""} ${a.fieldName||""} ${a.key}`.toLowerCase();return!!(d.includes(b.id.toLowerCase())||d.includes(b.name.toLowerCase()))&&("project_basic_fact"===a.roleId||a.roleId?.startsWith("role-")||a.sourceRef?.filePath?a.confidence>=.55:a.confidence>=.75)})(a,b))).length/d.length<.9}([...ad,...ae,...af],i,m)){let a=(0,s.QR)(j,{maxItems:48,maxChars:45e3,preservePinned:!0});try{ag=await W(a,E,i,m,R,r)}catch(a){if(R?.aborted)throw a;console.error("[gen] fact extraction failed:",a)}}for(let a of ag.stages)(0,al.fx)(l,a);let ah=aW((b=[...ad,...ae,...af,...ag.facts],b.filter(a=>!!a.sourceFile)),k),ai=bs(ah,N??bp(ah));for(let a of ai)ac[a.key]=`${(0,z.lG)(a.value)}(来源:${a.sourceFile},角色:${a.roleId})`;let aj=ak(ai,aW(U(j),k),G,m,o),am=X.map(a=>{let b=m.chapterRules.find(b=>b.id===a.id||b.title===a.title),c=(b?.requiredFactIds||[]).map(a=>m.factFields.find(b=>b.id===a)?.name).filter(Boolean),d=[...new Set([...a.missingFacts||[],...c].filter(Boolean))],e=d.filter(b=>!a.missingFacts.includes(b)),f=d.filter(b=>a.missingFacts.includes(b));return{chapterId:a.id,title:a.title,requiredFacts:d,coveredFacts:e,missingFacts:f,evidenceCount:a.evidence.length}}),an=function(a,b=[],c){let e=[],f=[];for(let b of a)0===b.evidence.length&&e.push(`${b.title} 未检索到资料证据`),b.content.length<80&&e.push(`${b.title} 内容较短,建议人工补充或重新生成`);return c&&a.length<c.chapters.length&&f.push(`章节生成不完整:已生成 ${a.length}/${c.chapters.length} 章`),c&&0===(0,d.zY)(c).length&&f.push("模板未绑定任何提示词"),{passed:0===f.length,warnings:e,errors:f}}(X,ai,i);an.warnings=[...an.warnings,...D.warnings],an.errors=[...an.errors,...D.blockingIssues];let ao=[...j.reduce((a,b)=>a.set(b.filePath,(a.get(b.filePath)??0)+1),new Map).entries()].sort((a,b)=>b[1]-a[1]).map(([a,b])=>({filePath:a,count:b})),aq=new Map;for(let a of j)aq.set(a.source||"unknown",(aq.get(a.source||"unknown")??0)+1);let ar=bg((0,ap.w9)(an,aj,X),function(a){let b=[];for(let c of a)0===c.evidenceCount?b.push({level:"error",message:`章节缺少证据:${c.title}`,suggestion:"请补充对应绑定材料或调整模板章节检索词。"}):c.missingFacts.length>0&&b.push({level:"warning",message:`章节事实覆盖不足:${c.title},缺失 ${c.missingFacts.slice(0,6).join("、")}`,suggestion:"建议补充章节 requiredFacts 或绑定材料证据。"});return b}(am),(M||[]).filter(a=>!/^跨章一致性冲突|^工序规格冲突/u.test(a)).slice(0,10).map(a=>({level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`跨章一致性复核:${a}`,suggestion:"跨章数值口径不一致属低级错误,必须定向修复统一口径后重新校验。"}))),as=X.map(a=>a.content).join("\n\n");ar=bg(ar,bT(as,ah,{maxIssues:20}).map(a=>({...a,level:"warning",severity:"warning",suggestion:"建议 Agent Writer 在章节生成阶段优先落位可信基础事实;导出阶段不因未落位的低置信或泛化事实阻断。"})));let at=Math.max(0,h.length-X.length);ar=bg(ar,[...at>0?[{level:"error",severity:"blocker",message:`部分章节生成失败:${at} 章`,suggestion:I.join(";")||"请检查模型调用、知识库检索和事实抽取配置后重新生成失败章节。"}]:[]]),ar=bg(ar,X.flatMap(a=>{let b=h.find(b=>b.id===a.id);if(!b)return[];let c=aC({chapter:b,content:a.content,evidence:a.evidence||[]});return c.length>0?[{level:"warning",message:`${a.title} 小节事实或量化参数落位可继续优化:${c.slice(0,5).join(";")}`,suggestion:"建议在 Agent Writer 阶段扩大定向证据,不得在导出阶段补写。"}]:[]}));let au=[],av=function(a,b=300){if(a.length<=b)return a;let c=b-4-1;if(c<=0)return a.slice(-b);let d=a.slice(0,4),e=a.slice(-c),f=a.slice(4,a.length-c),g=f.filter(a=>"failed"===a.status).length;return[...d,{type:"validation",roleId:"stage-archive",status:g>0?"failed":"success",message:`已归档 ${f.length} 个中间执行阶段${g>0?`(含 ${g} 个失败记录)`:""}`,details:f[0]?.subtitle?[`归档区间:${f[0].subtitle} → ${f[f.length-1]?.subtitle||""}`]:[]},...e]}([...l,...g]);(0,al.fx)(av,(0,al.X5)({type:"reference",roleId:"knowledge-usage-report",status:"success",message:`资料使用报告:证据 ${j.length} 条,来源文件 ${ao.length} 份,结构化事实 ${ah.length} 条`,details:[`证据类型:${[...aq.entries()].map(([a,b])=>`${a} ${b}`).join(",")||"无"}`,`索引健康:可用切片 ${K.usableChunkCount} 条,待索引 ${K.pendingJobs} 个,向量 ${K.vectorStatus?.status||"unknown"}`]},{subtitle:"资料使用报告"})),(0,al.fx)(av,(0,al.X5)({type:"reference",roleId:"web-research-report",status:J.enabled?"success":"skipped",message:J.enabled?`联网增强:检索章节 ${new Set(J.chapters).size} 个,查询 ${J.queries.length} 个,使用公开资料 ${J.evidenceCount} 条`:"联网增强未开启",details:J.enabled?[`检索主题:${[...new Set(J.queries)].join(";")||"无"}`,`过滤结果:${J.filteredCount} 条`,"公开资料仅用于通用规范、政策、工艺和措施补充,不作为项目事实来源"]:["可在模型配置中开启联网增强"]},{subtitle:"联网增强报告"}));let aw=(0,v.rs)((0,v.V3)({templateId:i.id,templateName:i.name,title:i.outputTitle,requirement:S||"",projectRoot:B,projectId:C,exportSettings:i.exportSettings,generationSettings:i.generationSettings,facts:ac,structuredFacts:ah,factsModel:aj,chapters:X,sources:ao,missingItems:[...new Set(G)],validation:an,validationIssues:ar,executionStages:av,exportGate:{passed:!1,blockingIssues:[],checklist:[]},assets:au,partialChapters:X.map(a=>({id:a.id,title:a.title,chars:(0,w.V7)(a.content),status:bx(a,p.chapterTargets.get(a.id)),updatedAt:Date.now()})),checkpointChapters:X,generatedAt:Date.now()},{forbidDrawingImages:!1,promptRules:A}),X,{forbidDrawingImages:!1,promptRules:A}).chapters.map(a=>{let b=h.find(b=>b.id===a.id)||a;return{...a,sections:a.sections||[],content:bO(a.content,b)}}),ax=(0,v.rs)((0,v.V3)({templateId:i.id,templateName:i.name,title:i.outputTitle,requirement:S||"",projectRoot:B,projectId:C,exportSettings:i.exportSettings,generationSettings:i.generationSettings,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aw,sources:ao,missingItems:[...new Set(G)],validation:an,validationIssues:ar,executionStages:av,exportGate:{passed:!1,blockingIssues:[],checklist:[]},assets:au,partialChapters:[],checkpointChapters:aw,generatedAt:Date.now()},{forbidDrawingImages:!1,promptRules:A}),aw,{forbidDrawingImages:!1,promptRules:A}).markdown;ax=cd((0,v.bR)((0,v.kT)((0,v.K7)(cb(bM(ax,ah),n)))),i);let ay=(0,x.KI)(aw,aj,N),az=(0,x.Yb)(ax,aj,N).fixedCount>0;if(ay.fixedCount>0||az){ax=cd((0,v.bR)((0,v.kT)((0,v.K7)(cb(bM(ce({template:i,requirement:S,projectRoot:B,projectId:C,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aw,sources:ao,missingItems:G,validation:an,validationIssues:ar,executionStages:av,assets:au,promptDocumentRules:A}),ah),n)))),i);let a=(0,x.Yb)(ax,aj,N);a.fixedCount>0&&(ax=a.markdown);let b=ay.fixedCount+a.fixedCount,c=[...new Set([...ay.details,...a.details])];(0,al.fx)(av,(0,al.X5)({type:"validation",roleId:"deterministic-consistency-fix",status:"success",message:`跨章一致性数值定点修复:${b} 处(${c.slice(0,4).join("、")})`,details:c.slice(4)},{subtitle:"跨章一致性修复"}))}let aA=bm({facts:ah,markdown:ax});aA.size>0&&av.push({type:"fact_extraction",roleId:"canonical-facts",status:"success",message:`已决策可信基础事实 ${aA.size} 项`,details:[...aA.values()].map(a=>`${a.label}=${a.value}(${a.source},confidence=${a.confidence})`).slice(0,12)});let aB=ar;ar=cf({documentSpec:m,validationIssues:ar,factsModel:aj,finalChapterDrafts:aw,finalMarkdown:ax,template:i,promptBindings:y,promptDocumentRules:A,projectMaterialSummary:n,domainProfile:o,structuredFacts:ah,documentBudget:p,scopeConflicts:N});let aD=ch({finalChapterDrafts:aw,effectiveChapters:h,factsModel:aj,allEvidence:j,finalMarkdown:ax,validationIssues:ar,retrievalCoverageReports:H,includeRetrievalCoverage:!0,template:i}),{knowledgeCoverage:aE,factTraces:aF,chapterCoverage:aH,qualityReport:aI,repairStrategies:aJ,finalExportGate:aK}=aD;ar=aD.validationIssues;let aL=[],aM=new Set,aN=()=>{ar=cf({documentSpec:m,validationIssues:aB.filter(a=>![...aM].some(b=>{let[c,d]=b.split("::");if(!/空小节|小节内容补写未完成|小节生成未达标|小节只有标题|正文小节正文过短|规划小节正文过短|缺少规划小节|缺少[“"'].+[”"']小节|正文不足/u.test(a.message))return!1;let e=d.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");return!!RegExp(`^\\s*${e}\\s*正文不足,未达到任务最小深度$`,"u").test(a.message)||a.message.includes(c)&&a.message.includes(d)})&&!/已确认事实未在正文中落位/u.test(a.message)),factsModel:aj,finalChapterDrafts:aw,finalMarkdown:ax,template:i,promptBindings:y,promptDocumentRules:A,projectMaterialSummary:n,domainProfile:o,structuredFacts:ah,documentBudget:p,scopeConflicts:N}),aD=ch({finalChapterDrafts:aw,effectiveChapters:h,factsModel:aj,allEvidence:j,finalMarkdown:ax,validationIssues:ar,retrievalCoverageReports:H,includeRetrievalCoverage:!1,template:i}),({knowledgeCoverage:aE,factTraces:aF,chapterCoverage:aH,qualityReport:aI,repairStrategies:aJ,finalExportGate:aK}=aD),ar=aD.validationIssues};for(let b=0;b<3;b+=1){let b=[...aK.blockingIssues,...ar.filter(a=>"error"===a.level)],c=/项目特点.*重点.*难点|重点.*难点.*分析|项目主要施工内容|主要分部分项工程施工方案|主要施工方法|危大工程专项施工方案审批流程|原材料进场复试与见证取样/u,d=Array.from(new Map(b.map(a=>{let b=/^(.*?)(?:\s+|)(?:空小节|小节内容补写未完成|小节生成未达标|小节只有标题|只有标题或表格无正文|规划小节正文过短|正文小节正文过短|缺少规划小节|正文不足)[::,,]\s*(.+)$/u.exec(a.message),d=/^(.*?)\s+(项目特点、重点、难点分析|项目主要施工内容|主要分部分项工程施工方案|主要施工方法|危大工程专项施工方案审批流程|原材料进场复试与见证取样)\s+正文不足/u.exec(a.message),e=/^(.+?)\s*正文不足,未达到任务最小深度$/u.exec(a.message),f=/^(?:施工组织设计\s*)?缺少[“"'](.+?)[”"']小节$/u.exec(a.message);if(!b&&!f)return;let g=d?d[1].trim():e||f?"":b[1].trim(),h=d?d[2]:e?e[1].trim():f?f[1].trim():b[2].split(/[::,,,]/u)[0].trim();return{issue:a,chapterTitle:g,sectionTitle:h,critical:c.test(h)}}).filter(a=>!!a).map(a=>[`${a.chapterTitle}::${a.sectionTitle}`,a])).values()).sort((a,b)=>Number(b.critical)-Number(a.critical)).slice(0,4);if(0===d.length)break;let e=[];for(let{issue:b,chapterTitle:c,sectionTitle:f}of d){let d=c,g=d?aw.findIndex(a=>a.title===d||d.includes(a.title)||a.title.includes(d)):-1;g<0&&(g=aw.findIndex(a=>(a.content||"").includes(f))),g<0&&(g=aw.findIndex(a=>(h.find(b=>b.id===a.id||b.title===a.title)?.sections||[]).some(a=>a.includes(f)||f.includes(a))));let k=aw[g],m=h.find(a=>a.id===k?.id||a.title===k?.title);if(g<0||!k||!m){e.push(`失败:${d}/${f} 未定位到章节`);continue}d=d||k.title;let n=(0,al.X5)({type:"llm_review",roleId:`agent-final-gate-repair-${k.id}`,status:"running",message:`Final Gate 正在补写空小节:${d} / ${f}`,details:e},{subtitle:"Final Gate Repair"});(0,al.fx)(l,n),(0,al.fx)(aL,n),P(aw,l);let o=(0,ap.ap)(f),p=Math.max(620,o>0?Math.ceil(o/.7):620),q=r.llm.lastError;r.llm.lastError=void 0;let s=await Q(()=>(0,ap.mF)({template:i,chapter:m,sectionTitle:f,evidence:k.evidence?.length?k.evidence:j,missingFacts:[],promptTexts:t,projectContext:a.projectContext,requirement:S,roleContext:"Final Gate 空小节定向修复",targetWords:p,maxWords:Math.ceil(1.32*p),forbidDrawingImages:!1,qualityFeedback:`Final Gate 发现“${f}”为空小节或深度不足。请基于证据完整重写该小节正式正文(原小节内容将被整体替换),包含检查责任、验收节点、资料闭环、整改复验要求,优先落位项目建筑面积、层数、工期、专业范围等量化参数,不得输出占位或解释。${q?`此前生成被拒原因:${q},必须逐条修正。`:""}`,diagnostics:r,signal:R,allowLenientStructureGate:!0})),u=!1,v=/正文不足|缺少[“"'].+[”"']小节/u.test(b.message)?o:0;if(s&&(0,w.V7)(s)>=(v||80)){let a=function(a,b,c){let d=a=>a.replace(/[\u00a0\u3000]/gu," ").replace(/^\d+(?:\.\d+)*\s+/u,"").trim(),e=a=>a.trim().replace(/^#{2,6}\s+(?:\d+(?:\.\d+)*\s+)?[^\n]+\n+/u,"").trim(),f=a.split("\n"),g=0;for(let h=0;h<f.length;h+=1){let i=f[h],j=g;g+=i.length+1;let k=/^(#{3,4})\s+(.+)$/u.exec(i.trim());if(!k)continue;let l=d(k[2]);if(l!==b&&!l.includes(b)&&!b.includes(l))continue;let m=k[1].length,n=(z.V.test(l)||z.V.test(b))&&3===m?/^#{2,3}\s+/u:/^#{2,4}\s+/u,o=f.length;for(let a=h+1;a<f.length;a+=1)if(n.test(f[a].trim())){o=a;break}let p=o<f.length?f.slice(0,o).join("\n").length:a.length,q=e(c);return`${a.slice(0,j)}${i.trim()}
60
60
 
61
61
  ${q}${a.slice(p)}`}return a}(k.content,f,s);if(!(u=a!==k.content)&&/(?:缺少规划小节|缺少[“"'].+[”"']小节)/u.test(b.message)){let a=`${k.content.replace(/\s+$/u,"")}
62
62
 
63
63
  ### ${f}
64
64
 
65
65
  ${s.replace(/^#{2,6}\s+(?:\d+(?:\.\d+)*\s+)?[^\n]+\n+/u,"").trim()}
66
- `;u=!0,aw[g]={...k,content:bO(a,m)},aL.add(`${d}::${f}`),e.push(`成功:${d}/${f}(${(0,w.V7)(s)}字,追加为缺失小节)`)}else u?(aw[g]={...k,content:bO(a,m)},aL.add(`${d}::${f}`),e.push(`成功:${d}/${f}(${(0,w.V7)(s)}字)`)):e.push(`失败:${d}/${f}(未定位到原小节块)`)}else{let a=(0,w.V7)(s||"");e.push(`失败:${d}/${f}(${a>0&&a<(v||80)?`补写仅 ${a} 字,未达 ${v||80} 字验收线`:r.llm.lastError||"空响应"})`)}let x=(0,al.X5)({type:"llm_review",roleId:`agent-final-gate-repair-${k.id}`,status:u?"success":"failed",message:u?`Final Gate 空小节修复完成:${d} / ${f}`:`Final Gate 空小节修复失败:${d} / ${f}`,details:e},{subtitle:"Final Gate Repair"});(0,al.fx)(l,x),(0,al.fx)(aK,x),P(aw,l)}ax=cd((0,v.bR)((0,v.kT)((0,v.K7)(cb(bM(ce({template:i,requirement:S,projectRoot:B,projectId:C,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aw,sources:ao,missingItems:G,validation:an,validationIssues:ar,executionStages:av,assets:au,promptDocumentRules:A}),ah),n)))),i),aM()}let aN=(0,x.KI)(aw,aj,N);aN.fixedCount>0&&(ax=cd((0,v.bR)((0,v.kT)((0,v.K7)(cb(bM(ce({template:i,requirement:S,projectRoot:B,projectId:C,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aw,sources:ao,missingItems:G,validation:an,validationIssues:ar,executionStages:av,assets:au,promptDocumentRules:A}),ah),n)))),i),aM(),(0,al.fx)(l,(0,al.X5)({type:"validation",roleId:"deterministic-consistency-fix",status:"success",message:`跨章一致性数值定点修复:${aN.fixedCount} 处(${aN.details.slice(0,4).join("、")})`,details:aN.details.slice(4)},{subtitle:"跨章一致性修复"})));let aO=[{key:"export-gate",label:"导出门禁",passed:(c={exportGate:aJ,qualityReport:aH,repairStrategies:aI}).exportGate.passed,message:c.exportGate.passed?"导出门禁通过":`仍有 ${c.exportGate.blockingIssues.length} 个阻断问题`},{key:"delivery-probability",label:"交付置信度",passed:c.qualityReport.passed,message:`${c.qualityReport.deliveryProbability}% / ${c.qualityReport.target}%`},{key:"completeness",label:"资料完整性",passed:c.qualityReport.scores.completeness>=85,message:`${c.qualityReport.scores.completeness}/100`},{key:"specificity",label:"方案针对性",passed:c.qualityReport.scores.specificity>=85,message:`${c.qualityReport.scores.specificity}/100`},{key:"compliance",label:"合规性",passed:c.qualityReport.scores.compliance>=80,message:`${c.qualityReport.scores.compliance}/100`},{key:"repair-strategies",label:"修复策略",passed:0===c.repairStrategies.filter(a=>"high"===a.priority).length,message:c.repairStrategies.map(a=>a.title).join("、")||"无高优先级修复策略"}],aP=function(a){let b=[...a.diagnostics.metrics].sort((a,b)=>b.durationMs-a.durationMs).slice(0,5).map(a=>({name:a.name,durationMs:a.durationMs}));return{llmCalls:a.diagnostics.llm.calls,llmFailures:a.diagnostics.llm.failures,maxParallelLlm:a.diagnostics.llm.maxActive,searchQueries:a.diagnostics.evidence.searchQueries,evidenceContextChars:a.diagnostics.evidence.contextChars,qualityIssues:{...a.diagnostics.quality},slowMetrics:b,elapsedMs:a.startedAt&&a.endedAt?a.endedAt-a.startedAt:void 0}}({diagnostics:r}),aQ=(0,x.Ff)(ar),aR=function(a,b=""){let c=function(a){let b=a.map(a=>`${a.title} ${(a.sections||[]).join(" ")} ${a.content}`).join("\n"),c=[{label:"工程概况",pattern:/工程概况|项目概况|基本概况/u},{label:"主要施工内容",pattern:/主要施工内容/u},{label:"重难点分析",pattern:/重点.{0,4}难点/u},{label:"施工部署",pattern:/施工部署|总体部署|流水/u},{label:"进度计划",pattern:/进度计划|工期保障|工期计划/u},{label:"质量保证",pattern:/质量保证|质量管理|质量控制/u},{label:"安全文明",pattern:/安全.{0,8}(?:管理|措施|文明)|文明施工/u},{label:"资源配置",pattern:/劳动力|机械设备|材料.{0,4}计划|资源配置/u},{label:"绿色环保",pattern:/绿色施工|扬尘|噪声|环保/u},{label:"应急管理",pattern:/应急/u}],d=c.filter(a=>a.pattern.test(b)),e=ca(d.length/c.length*100),f=c.filter(a=>!a.pattern.test(b)).map(a=>a.label);return{score:e,detail:`覆盖 ${d.length}/${c.length} 个核心结构组${f.length?`;缺失:${f.join("、")}`:""}`}}(a),d=function(a){let b=a.map(a=>a.content).join("\n"),c=new Set(b.match(T.s2)||[]),d=new Set(b.match(/工程量|材料|设备|范围|流程|验收|检测|复试|调试|隐蔽|检验批|资料|记录|系统|部位|接口|规格|标准/gu)||[]),e=Math.max(1,b.length),f=c.size/(e/1e3);return{score:ca(Math.min(100,22*f+d.size/18*15)),detail:`量化参数 ${c.size} 项(每千字 ${f.toFixed(1)}),专业事实词 ${d.size}/18 类`}}(a),e=function(a){let b=a.map(a=>a.content).join("\n"),c=new Set(b.match(T.aX)||[]),d=Math.max(1,b.length),e=c.size/(d/1e3);return{score:ca(Math.min(100,20*e+40)),detail:`工艺参数 ${c.size} 项(每千字 ${e.toFixed(1)})`}}(a),f=function(a,b=""){let c=(b||a.map(a=>a.content).join("\n\n")).split("\n"),d=0,e=0,f=0;for(;f<c.length;){let a=c[f].trim();if(!/^\|.+\|$/u.test(a)){f+=1;continue}let b=[];for(;f<c.length&&/^\|.+\|$/u.test(c[f].trim());)b.push(c[f].trim()),f+=1;b.length<3||(d+=1,0===b.slice(1).filter(a=>a.replace(/\|/gu,"").replace(/[\s\-:]/gu,"").length>0).reduce((a,b)=>a+b.split("|").slice(1,-1).map(a=>a.trim()).filter(a=>""===a||"-"===a||"—"===a||"/"===a).length,0)&&(e+=1))}return{score:0===d?40:ca(e/d*100),detail:`表格 ${d} 个,其中字段完整 ${e} 个`}}(a,b),g=function(a){let b=b6(a),c=a.reduce((a,b)=>a+(b.content.match(/本小节围绕|交底覆盖率按100%|24小时内形成整改责任|按施工准备→过程实施→检查验收→问题整改→资料归档的闭环组织|按作业条件确认→技术交底→过程实施|依据本项目已确认资料中的项目边界/gu)||[]).length,0);return{score:ca(100-15*c-25*b.filter(a=>"error"===a.level).length),detail:`模板化空话命中 ${c} 处,废话段问题 ${b.length} 项`}}(a),h=function(a){let b=b5(a);return{score:ca(100-20*b.length-20*b.filter(a=>"error"===a.level).length),detail:`重复段落问题 ${b.length} 项`}}(a),i=function(a,b=""){let c=b||a.map(a=>a.content).join("\n\n"),d=[{label:"质量标准",pattern:/质量标准|质量要求|合格率/u},{label:"计划工期",pattern:/计划工期|工期要求|日历天/u},{label:"保修",pattern:/缺陷责任期|保修|质保/u},{label:"安全目标",pattern:/安全.{0,8}目标|文明.{0,8}目标/u},{label:"项目经理",pattern:/项目经理|项目负责人/u}],e=b9(a,b),f=d.filter(a=>a.pattern.test(c));return{score:ca(f.length/d.length*100),detail:`招标硬性要求响应 ${f.length}/${d.length} 项${e.length?`(未响应:${e.map(a=>a.message.replace(/未检测到对招标硬性要求的响应:/u,"")).join("、")})`:""}`}}(a,b),j=[{key:"structure",label:"结构完整度",score:c.score,detail:c.detail,weight:.18},{key:"factLanding",label:"事实落位率",score:d.score,detail:d.detail,weight:.18},{key:"processParameter",label:"工艺参数密度",score:e.score,detail:e.detail,weight:.16},{key:"table",label:"表格完整度",score:f.score,detail:f.detail,weight:.12},{key:"filler",label:"废话控制",score:g.score,detail:g.detail,weight:.14},{key:"duplication",label:"重复控制",score:h.score,detail:h.detail,weight:.12},{key:"reviewResponse",label:"评标响应度",score:i.score,detail:i.detail,weight:.1}],k=ca(j.reduce((a,b)=>a+b.score*b.weight,0)),l=k>=85?"专业":k>=70?"良好":k>=55?"合格":"待提升",m=[...b5(a),...b6(a),...b7(a),...b8(a)].slice(0,5).map(a=>a.message),n=j.filter(a=>a.score<70).map(a=>`${a.label}(${a.score}分)`);return{total:k,grade:l,dimensions:j,summary:`施工组织设计专业度评分 ${k} 分(${l})${n.length?`;待提升:${n.join("、")}`:""}`,topIssues:m}}(aw,ax);r.quality.blockingCount+=aQ.blocking,r.quality.importantCount+=aQ.important,r.quality.minorCount+=aQ.minor;let aS=aJ.blockingIssues.length,aT=[...av,...aK].map(a=>"validation"===a.type&&"document-workflow"===a.roleId?{...a,status:aS>0?"failed":"success",message:`阻断 ${aS},问题 ${ar.length}`}:"export_ready"===a.type?{...a,status:aJ.passed?"success":"failed",message:aJ.passed?"已准备好导出 Markdown/HTML/DOCX/PDF":"导出门禁未通过,请完成阻断问题修复后再导出"}:aJ.passed&&"failed"===a.status&&/^agent-(?:reviewer|repairer)-/u.test(a.roleId)?{...a,status:"skipped",message:`${a.message||"章节中间审查失败"};最终门禁已通过,历史中间态已归档`}:a);aT.push((0,al.X5)({type:"validation",roleId:"agent-final-gate",status:aJ.passed?"success":"failed",message:aJ.passed?"Agent 最终门禁通过":`Agent 最终门禁阻断 ${aS} 个问题`,details:aJ.blockingIssues.slice(0,12).map(a=>a.message)},{subtitle:"Agent 最终门禁"})),aT.push((0,al.X5)({type:"validation",roleId:"document-delivery-score",status:aH.passed?"success":aJ.passed?"skipped":"failed",message:aJ.passed&&!aH.passed?`${aH.summary}(导出门禁已通过,作为后续优化建议归档)`:aH.summary,details:aH.actions},{subtitle:"交付评分"})),aT.push((0,al.X5)({type:"validation",roleId:"document-professional-score",status:"专业"===aR.grade||"良好"===aR.grade?"success":"skipped",message:aR.summary,details:[...aR.dimensions.map(a=>`${a.label}:${a.score} 分(${a.detail})`),...aR.topIssues.map(a=>`待修复:${a}`)]},{subtitle:"专业度评分"})),O&&aT.push((0,al.X5)({type:"reference",roleId:"document-writing-task-brief",status:"success",message:`写作任务书:${O.documentType},${O.chapters.length} 章任务卡,全局写作焦点 ${O.globalWritingFocus.length} 条`,details:[...O.globalWritingFocus,...O.chapters.slice(0,10).map(a=>`${a.chapterTitle}:覆盖 ${a.mustCover.length} 项`)],subtitle:"写作任务书"})),aT.push((0,al.X5)({type:"reference",roleId:"knowledge-coverage",status:aD.score>=85?"success":"failed",message:`资料确认覆盖率:${aD.score}%(证据 ${aD.evidenceCount} 条,文件 ${aD.confirmedFiles} 份)`,details:[aD.remediation]},{subtitle:"资料覆盖"})),aT.push((0,al.X5)({type:"validation",roleId:"document-review-checklist",status:aO.every(a=>a.passed)?"success":aJ.passed?"skipped":"failed",message:`交付复核清单:通过 ${aO.filter(a=>a.passed).length}/${aO.length}${aJ.passed&&!aO.every(a=>a.passed)?"(导出门禁已通过,其余项作为优化建议归档)":""}`,details:aO.map(a=>`${a.passed?"通过":"待修复"}:${a.label}${a.message?`(${a.message})`:""}`)},{subtitle:"交付复核"}));let aU=[...r.metrics].sort((a,b)=>b.durationMs-a.durationMs).slice(0,5).map(a=>`${a.name} ${Math.round(a.durationMs/1e3)}秒`).join(",");aT.push((0,al.X5)({type:"validation",roleId:"document-diagnostics",status:"success",message:`性能统计:LLM ${r.llm.calls} 次,失败 ${r.llm.failures} 次,瞬态重试 ${r.llm.retries} 次,峰值并行 ${r.llm.maxActive},检索 ${r.evidence.searchQueries} 次/${Math.round(r.evidence.searchMs/1e3)} 秒,证据上下文 ${r.evidence.contextChars} 字,噪声过滤 ${r.evidence.filteredNoise} 条,质量问题 阻断${r.quality.blockingCount}/重要${r.quality.importantCount}/轻微${r.quality.minorCount}${aU?`,Top耗时:${aU}`:""}`},{subtitle:"后台诊断"}));let aY=aw.map(a=>({...a,evidence:(0,s.QR)(a.evidence||[],{maxItems:12,maxChars:9e3,preservePinned:!0})}));return aw=aY,{templateId:i.id,templateName:i.name,title:i.outputTitle,requirement:S||"",projectRoot:B,projectId:C,exportSettings:i.exportSettings,generationSettings:i.generationSettings,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aY,sources:ao,missingItems:[...new Set(G)],validation:an,validationIssues:ar,exportGate:aJ,executionStages:aT,assets:au,partialChapters:aw.map(a=>({id:a.id,title:a.title,chars:(0,w.V7)(a.content),status:bx(a,p.chapterTargets.get(a.id)),updatedAt:Date.now()})),checkpointChapters:aY,promptRules:A,agentWorkflow:L,reviewMetadata:{chapterSummaries:[],globalIssues:[],diagnostics:r,profile:function(a){let b=`${a.template.name} ${a.template.outputTitle||""} ${a.requirement||""} ${a.chapters.map(a=>a.title).join(" ")}`,c=[{pattern:/专项施工|危大|专项方案/u,type:"专项施工方案",dimensions:["专项对象边界","工艺参数","风险控制","验收要求","应急措施"]},{pattern:/投标|技术标|响应|招标/u,type:"投标技术方案",dimensions:["招标响应","技术优势","工期质量安全承诺","资源保障","履约可实施性"]},{pattern:/监理|旁站|巡视|平行检验/u,type:"监理规划/细则",dimensions:["监理目标","旁站巡视","平行检验","验收程序","资料签认"]},{pattern:/可研|可行性|项目建议书|投资估算/u,type:"可研/项目建议类文档",dimensions:["建设必要性","方案比选","投资估算","风险分析","实施效益"]},{pattern:/运维|维护|保养|巡检/u,type:"运维维护方案",dimensions:["巡检频次","维护流程","故障响应","备品备件","记录闭环"]}].find(a=>a.pattern.test(b));return{type:c?.type||"施工组织设计/施工技术方案",dimensions:c?.dimensions||["工程概况","施工部署","进度质量安全","资源配置","施工工艺和验收闭环"],requiredEvidencePolicy:"本地知识库为完整事实源;系统暂未确认的事实必须通过扩大检索、事实补抽或落位修复解决,不得归因为用户资料缺失。"}}({template:i,chapters:h,requirement:S}),knowledgeCoverage:aD,factTraces:aE,chapterCoverage:aF,retrievalCoverage:H,qualityReport:aH,repairStrategies:aI,reviewChecklist:aO,professionalScore:aR,writingTaskBrief:O,workflowVersion:bh.x,telemetry:aP,qualityBenchmark:function(a){var b,c;if(!a||a.trim().length<500)return;let d=(0,bd.aF)(a),e=(0,be.Ah)(d);if(!e)return;let f=(0,bd.WT)(a),g=e.profile,h=Math.max(g.arrowChainCoverage,.08),i=[{key:"paramDensity",label:"参数密度",generated:f.paramDensity,reference:g.paramDensity,score:bf(f.paramDensity,.8*g.paramDensity),unit:"perKChars"},{key:"arrowChainCoverage",label:"工序链覆盖率",generated:f.arrowChainCoverage,reference:h,score:bf(f.arrowChainCoverage,h),unit:"percent"},{key:"duplicationRate",label:"段落重复率",generated:f.duplicationRate,reference:g.duplicationRate,score:(b=f.duplicationRate)<=(c=g.duplicationRate)?100:Math.max(0,Math.round(100-(b-c)*400)),unit:"percent"},{key:"tableCount",label:"表格数量",generated:f.tableCount,reference:g.tableCount,score:bf(f.tableCount,.6*g.tableCount),unit:"count"},{key:"sectionCount",label:"章节结构",generated:f.sectionCount,reference:g.sectionCount,score:f.sectionCount>=.4*g.sectionCount?100:bf(f.sectionCount,g.sectionCount),unit:"count"}].map(a=>({...a,score:Math.round(Math.min(120,a.score)),passed:a.score>=80})),j={paramDensity:.3,arrowChainCoverage:.2,duplicationRate:.2,tableCount:.15,sectionCount:.15},k=Math.round(Math.min(100,i.reduce((a,b)=>a+b.score*(j[b.key]||0),0)));return{projectType:d,referenceSourceCount:e.sourceCount,overallScore:k,items:i}}(ax)},generatedAt:Date.now(),markdown:ax}}var cj=c(70963),ck=c(25284);let cl=["知识库","系统暂未","项目资料暂未","资料未明确","暂未明确","待确认","待资料复核","待系统","未检索到","资料不足","无法确认","建议补充","不适用","COL","可核验信息"];function cm(a){return a.replace(/\s+/gu,"").toLowerCase()}function cn(a){return`${a.fieldId||""} ${a.fieldName||""} ${a.key} ${(0,z.lG)(a.value)}`.replace(/\s+/gu," ").trim()}function co(a){return(0,z.lG)(a.value).replace(/\s+/gu," ").trim()}function cp(a,b){let c=cm(cn(a));return b.split(/[\s、,,;;::()()【】[-]+/u).filter(a=>a.length>=2).some(a=>c.includes(cm(a)))}function cq(a,b){let c=[...a.works.map(a=>`工程:${a.name} ${a.scope}`),...a.methods.map(a=>`工法:${a.name} ${(a.applicableWorks||[]).join("、")}`),...a.resources.map(a=>`资源:${a.name} ${a.spec} ${a.quantity}${a.unit}`),...a.schedule.map(a=>`工期:${a.milestone} ${a.duration}`),...a.standards.map(a=>`标准:${a.code} ${a.description}`),...a.risks.map(a=>`风险:${a.risk} ${a.mitigation}`),...a.requirements.map(a=>`要求:${a.category} ${a.detail}`),...a.siteConditions.map(a=>`现场:${a.condition} ${a.impact}`)],d=cm(b);return c.filter(a=>cm(a).includes(d)||b.split(/[\s、,,;;::()()【】[-]+/u).filter(a=>a.length>=2).some(b=>cm(a).includes(cm(b))))}function cr(a){let b=[];return/重点|难点|危大|风险|安全|应急/u.test(a)&&b.push("安全 文明 危大 风险 应急 临边 洞口 消防 临电 高处 起重 吊装 基坑 脚手架 模板 支护 图纸 施工说明 审查意见"),/工期|进度|节点|计划/u.test(a)&&b.push("工期 日历天 节点 进度 计划 开工 竣工 关键线路"),/质量|验收|标准|实测|通病/u.test(a)&&b.push("质量 验收 合格 标准 规范 检验批 隐蔽 复试 样板"),/资源|材料|机械|人材机|设备/u.test(a)&&b.push("清单 工程量 材料 设备 机械 劳动力 规格 型号 数量 单位"),/概况|说明|依据|范围/u.test(a)&&b.push("工程名称 项目名称 建设地点 建筑面积 建设规模 招标范围 施工范围"),/部署|施工|流水|区段|组织/u.test(a)&&b.push("施工 组织 部署 区段 流水 作业面 工序 穿插 图纸 清单"),b}function cs(a){return/项目特点.*重点.*难点|重点.*难点.*分析/u.test(a)?"系统识别本项目特点、施工重点、施工难点、形成原因、影响范围和应对措施,必须落位项目规模、结构形式、工期、专业范围、现场约束等具体事实,并为“项目主要施工内容”提供逐项对应依据。":/项目主要施工内容/u.test(a)?"按专业工程和关键工序展开施工内容,必须逐项响应“项目特点、重点、难点分析”中的重点难点,说明施工范围、实施内容、控制措施、验收节点和资料闭环。":/工期|进度|节点|计划/u.test(a)?"使用项目工期、节点和资源事实说明进度组织要求。":/质量|验收|标准|实测/u.test(a)?"使用项目质量目标、验收标准和工序事实说明质量控制要求。":/安全|危大|风险|应急/u.test(a)?"使用项目风险、危大工程和安全文明事实说明安全管控要求。":/资源|材料|机械|人材机/u.test(a)?"使用清单、材料、设备和劳动力事实说明资源配置要求。":/概况|说明|依据/u.test(a)?"使用项目基础事实说明编制边界和工程概况。":"使用已确认项目事实形成正式施工组织内容。"}function ct(a){let b=a.facts.slice(0,18).map(a=>`- ${a.key}:${co(a)}${a.sourceFile?`(来源:${a.sourceFile})`:""}`).join("\n"),c=a.sections.map((a,b)=>`${b+1}. 必须输出三级标题:### ${a.title}
66
+ `;u=!0,aw[g]={...k,content:bO(a,m)},aM.add(`${d}::${f}`),e.push(`成功:${d}/${f}(${(0,w.V7)(s)}字,追加为缺失小节)`)}else u?(aw[g]={...k,content:bO(a,m)},aM.add(`${d}::${f}`),e.push(`成功:${d}/${f}(${(0,w.V7)(s)}字)`)):e.push(`失败:${d}/${f}(未定位到原小节块)`)}else{let a=(0,w.V7)(s||"");e.push(`失败:${d}/${f}(${a>0&&a<(v||80)?`补写仅 ${a} 字,未达 ${v||80} 字验收线`:r.llm.lastError||"空响应"})`)}let x=(0,al.X5)({type:"llm_review",roleId:`agent-final-gate-repair-${k.id}`,status:u?"success":"failed",message:u?`Final Gate 空小节修复完成:${d} / ${f}`:`Final Gate 空小节修复失败:${d} / ${f}`,details:e},{subtitle:"Final Gate Repair"});(0,al.fx)(l,x),(0,al.fx)(aL,x),P(aw,l)}ax=cd((0,v.bR)((0,v.kT)((0,v.K7)(cb(bM(ce({template:i,requirement:S,projectRoot:B,projectId:C,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aw,sources:ao,missingItems:G,validation:an,validationIssues:ar,executionStages:av,assets:au,promptDocumentRules:A}),ah),n)))),i),aN()}let aO=(0,x.KI)(aw,aj,N),aP=(0,x.Yb)(ax,aj,N).fixedCount>0;if(aO.fixedCount>0||aP){ax=cd((0,v.bR)((0,v.kT)((0,v.K7)(cb(bM(ce({template:i,requirement:S,projectRoot:B,projectId:C,facts:ac,structuredFacts:ah,factsModel:aj,chapters:aw,sources:ao,missingItems:G,validation:an,validationIssues:ar,executionStages:av,assets:au,promptDocumentRules:A}),ah),n)))),i);let a=(0,x.Yb)(ax,aj,N);a.fixedCount>0&&(ax=a.markdown),aN();let b=aO.fixedCount+a.fixedCount,c=[...new Set([...aO.details,...a.details])];(0,al.fx)(l,(0,al.X5)({type:"validation",roleId:"deterministic-consistency-fix",status:"success",message:`跨章一致性数值定点修复:${b} 处(${c.slice(0,4).join("、")})`,details:c.slice(4)},{subtitle:"跨章一致性修复"}))}let aQ=[{key:"export-gate",label:"导出门禁",passed:(c={exportGate:aK,qualityReport:aI,repairStrategies:aJ}).exportGate.passed,message:c.exportGate.passed?"导出门禁通过":`仍有 ${c.exportGate.blockingIssues.length} 个阻断问题`},{key:"delivery-probability",label:"交付置信度",passed:c.qualityReport.passed,message:`${c.qualityReport.deliveryProbability}% / ${c.qualityReport.target}%`},{key:"completeness",label:"资料完整性",passed:c.qualityReport.scores.completeness>=85,message:`${c.qualityReport.scores.completeness}/100`},{key:"specificity",label:"方案针对性",passed:c.qualityReport.scores.specificity>=85,message:`${c.qualityReport.scores.specificity}/100`},{key:"compliance",label:"合规性",passed:c.qualityReport.scores.compliance>=80,message:`${c.qualityReport.scores.compliance}/100`},{key:"repair-strategies",label:"修复策略",passed:0===c.repairStrategies.filter(a=>"high"===a.priority).length,message:c.repairStrategies.map(a=>a.title).join("、")||"无高优先级修复策略"}],aR=function(a){let b=[...a.diagnostics.metrics].sort((a,b)=>b.durationMs-a.durationMs).slice(0,5).map(a=>({name:a.name,durationMs:a.durationMs}));return{llmCalls:a.diagnostics.llm.calls,llmFailures:a.diagnostics.llm.failures,maxParallelLlm:a.diagnostics.llm.maxActive,searchQueries:a.diagnostics.evidence.searchQueries,evidenceContextChars:a.diagnostics.evidence.contextChars,qualityIssues:{...a.diagnostics.quality},slowMetrics:b,elapsedMs:a.startedAt&&a.endedAt?a.endedAt-a.startedAt:void 0}}({diagnostics:r}),aS=(0,x.Ff)(ar),aT=function(a,b=""){let c=function(a){let b=a.map(a=>`${a.title} ${(a.sections||[]).join(" ")} ${a.content}`).join("\n"),c=[{label:"工程概况",pattern:/工程概况|项目概况|基本概况/u},{label:"主要施工内容",pattern:/主要施工内容/u},{label:"重难点分析",pattern:/重点.{0,4}难点/u},{label:"施工部署",pattern:/施工部署|总体部署|流水/u},{label:"进度计划",pattern:/进度计划|工期保障|工期计划/u},{label:"质量保证",pattern:/质量保证|质量管理|质量控制/u},{label:"安全文明",pattern:/安全.{0,8}(?:管理|措施|文明)|文明施工/u},{label:"资源配置",pattern:/劳动力|机械设备|材料.{0,4}计划|资源配置/u},{label:"绿色环保",pattern:/绿色施工|扬尘|噪声|环保/u},{label:"应急管理",pattern:/应急/u}],d=c.filter(a=>a.pattern.test(b)),e=ca(d.length/c.length*100),f=c.filter(a=>!a.pattern.test(b)).map(a=>a.label);return{score:e,detail:`覆盖 ${d.length}/${c.length} 个核心结构组${f.length?`;缺失:${f.join("、")}`:""}`}}(a),d=function(a){let b=a.map(a=>a.content).join("\n"),c=new Set(b.match(T.s2)||[]),d=new Set(b.match(/工程量|材料|设备|范围|流程|验收|检测|复试|调试|隐蔽|检验批|资料|记录|系统|部位|接口|规格|标准/gu)||[]),e=Math.max(1,b.length),f=c.size/(e/1e3);return{score:ca(Math.min(100,22*f+d.size/18*15)),detail:`量化参数 ${c.size} 项(每千字 ${f.toFixed(1)}),专业事实词 ${d.size}/18 类`}}(a),e=function(a){let b=a.map(a=>a.content).join("\n"),c=new Set(b.match(T.aX)||[]),d=Math.max(1,b.length),e=c.size/(d/1e3);return{score:ca(Math.min(100,20*e+40)),detail:`工艺参数 ${c.size} 项(每千字 ${e.toFixed(1)})`}}(a),f=function(a,b=""){let c=(b||a.map(a=>a.content).join("\n\n")).split("\n"),d=0,e=0,f=0;for(;f<c.length;){let a=c[f].trim();if(!/^\|.+\|$/u.test(a)){f+=1;continue}let b=[];for(;f<c.length&&/^\|.+\|$/u.test(c[f].trim());)b.push(c[f].trim()),f+=1;b.length<3||(d+=1,0===b.slice(1).filter(a=>a.replace(/\|/gu,"").replace(/[\s\-:]/gu,"").length>0).reduce((a,b)=>a+b.split("|").slice(1,-1).map(a=>a.trim()).filter(a=>""===a||"-"===a||"—"===a||"/"===a).length,0)&&(e+=1))}return{score:0===d?40:ca(e/d*100),detail:`表格 ${d} 个,其中字段完整 ${e} 个`}}(a,b),g=function(a){let b=b6(a),c=a.reduce((a,b)=>a+(b.content.match(/本小节围绕|交底覆盖率按100%|24小时内形成整改责任|按施工准备→过程实施→检查验收→问题整改→资料归档的闭环组织|按作业条件确认→技术交底→过程实施|依据本项目已确认资料中的项目边界/gu)||[]).length,0);return{score:ca(100-15*c-25*b.filter(a=>"error"===a.level).length),detail:`模板化空话命中 ${c} 处,废话段问题 ${b.length} 项`}}(a),h=function(a){let b=b5(a);return{score:ca(100-20*b.length-20*b.filter(a=>"error"===a.level).length),detail:`重复段落问题 ${b.length} 项`}}(a),i=function(a,b=""){let c=b||a.map(a=>a.content).join("\n\n"),d=[{label:"质量标准",pattern:/质量标准|质量要求|合格率/u},{label:"计划工期",pattern:/计划工期|工期要求|日历天/u},{label:"保修",pattern:/缺陷责任期|保修|质保/u},{label:"安全目标",pattern:/安全.{0,8}目标|文明.{0,8}目标/u},{label:"项目经理",pattern:/项目经理|项目负责人/u}],e=b9(a,b),f=d.filter(a=>a.pattern.test(c));return{score:ca(f.length/d.length*100),detail:`招标硬性要求响应 ${f.length}/${d.length} 项${e.length?`(未响应:${e.map(a=>a.message.replace(/未检测到对招标硬性要求的响应:/u,"")).join("、")})`:""}`}}(a,b),j=[{key:"structure",label:"结构完整度",score:c.score,detail:c.detail,weight:.18},{key:"factLanding",label:"事实落位率",score:d.score,detail:d.detail,weight:.18},{key:"processParameter",label:"工艺参数密度",score:e.score,detail:e.detail,weight:.16},{key:"table",label:"表格完整度",score:f.score,detail:f.detail,weight:.12},{key:"filler",label:"废话控制",score:g.score,detail:g.detail,weight:.14},{key:"duplication",label:"重复控制",score:h.score,detail:h.detail,weight:.12},{key:"reviewResponse",label:"评标响应度",score:i.score,detail:i.detail,weight:.1}],k=ca(j.reduce((a,b)=>a+b.score*b.weight,0)),l=k>=85?"专业":k>=70?"良好":k>=55?"合格":"待提升",m=[...b5(a),...b6(a),...b7(a),...b8(a)].slice(0,5).map(a=>a.message),n=j.filter(a=>a.score<70).map(a=>`${a.label}(${a.score}分)`);return{total:k,grade:l,dimensions:j,summary:`施工组织设计专业度评分 ${k} 分(${l})${n.length?`;待提升:${n.join("、")}`:""}`,topIssues:m}}(aw,ax);r.quality.blockingCount+=aS.blocking,r.quality.importantCount+=aS.important,r.quality.minorCount+=aS.minor;let aU=aK.blockingIssues.length,aY=[...av,...aL].map(a=>"validation"===a.type&&"document-workflow"===a.roleId?{...a,status:aU>0?"failed":"success",message:`阻断 ${aU},问题 ${ar.length}`}:"export_ready"===a.type?{...a,status:aK.passed?"success":"failed",message:aK.passed?"已准备好导出 Markdown/HTML/DOCX/PDF":"导出门禁未通过,请完成阻断问题修复后再导出"}:aK.passed&&"failed"===a.status&&/^agent-(?:reviewer|repairer)-/u.test(a.roleId)?{...a,status:"skipped",message:`${a.message||"章节中间审查失败"};最终门禁已通过,历史中间态已归档`}:a);aY.push((0,al.X5)({type:"validation",roleId:"agent-final-gate",status:aK.passed?"success":"failed",message:aK.passed?"Agent 最终门禁通过":`Agent 最终门禁阻断 ${aU} 个问题`,details:aK.blockingIssues.slice(0,12).map(a=>a.message)},{subtitle:"Agent 最终门禁"})),aY.push((0,al.X5)({type:"validation",roleId:"document-delivery-score",status:aI.passed?"success":aK.passed?"skipped":"failed",message:aK.passed&&!aI.passed?`${aI.summary}(导出门禁已通过,作为后续优化建议归档)`:aI.summary,details:aI.actions},{subtitle:"交付评分"})),aY.push((0,al.X5)({type:"validation",roleId:"document-professional-score",status:"专业"===aT.grade||"良好"===aT.grade?"success":"skipped",message:aT.summary,details:[...aT.dimensions.map(a=>`${a.label}:${a.score} 分(${a.detail})`),...aT.topIssues.map(a=>`待修复:${a}`)]},{subtitle:"专业度评分"})),O&&aY.push((0,al.X5)({type:"reference",roleId:"document-writing-task-brief",status:"success",message:`写作任务书:${O.documentType},${O.chapters.length} 章任务卡,全局写作焦点 ${O.globalWritingFocus.length} 条`,details:[...O.globalWritingFocus,...O.chapters.slice(0,10).map(a=>`${a.chapterTitle}:覆盖 ${a.mustCover.length} 项`)],subtitle:"写作任务书"})),aY.push((0,al.X5)({type:"reference",roleId:"knowledge-coverage",status:aE.score>=85?"success":"failed",message:`资料确认覆盖率:${aE.score}%(证据 ${aE.evidenceCount} 条,文件 ${aE.confirmedFiles} 份)`,details:[aE.remediation]},{subtitle:"资料覆盖"})),aY.push((0,al.X5)({type:"validation",roleId:"document-review-checklist",status:aQ.every(a=>a.passed)?"success":aK.passed?"skipped":"failed",message:`交付复核清单:通过 ${aQ.filter(a=>a.passed).length}/${aQ.length}${aK.passed&&!aQ.every(a=>a.passed)?"(导出门禁已通过,其余项作为优化建议归档)":""}`,details:aQ.map(a=>`${a.passed?"通过":"待修复"}:${a.label}${a.message?`(${a.message})`:""}`)},{subtitle:"交付复核"}));let aZ=[...r.metrics].sort((a,b)=>b.durationMs-a.durationMs).slice(0,5).map(a=>`${a.name} ${Math.round(a.durationMs/1e3)}秒`).join(",");aY.push((0,al.X5)({type:"validation",roleId:"document-diagnostics",status:"success",message:`性能统计:LLM ${r.llm.calls} 次,失败 ${r.llm.failures} 次,瞬态重试 ${r.llm.retries} 次,峰值并行 ${r.llm.maxActive},检索 ${r.evidence.searchQueries} 次/${Math.round(r.evidence.searchMs/1e3)} 秒,证据上下文 ${r.evidence.contextChars} 字,噪声过滤 ${r.evidence.filteredNoise} 条,质量问题 阻断${r.quality.blockingCount}/重要${r.quality.importantCount}/轻微${r.quality.minorCount}${aZ?`,Top耗时:${aZ}`:""}`},{subtitle:"后台诊断"}));let a$=aw.map(a=>({...a,evidence:(0,s.QR)(a.evidence||[],{maxItems:12,maxChars:9e3,preservePinned:!0})}));return aw=a$,{templateId:i.id,templateName:i.name,title:i.outputTitle,requirement:S||"",projectRoot:B,projectId:C,exportSettings:i.exportSettings,generationSettings:i.generationSettings,facts:ac,structuredFacts:ah,factsModel:aj,chapters:a$,sources:ao,missingItems:[...new Set(G)],validation:an,validationIssues:ar,exportGate:aK,executionStages:aY,assets:au,partialChapters:aw.map(a=>({id:a.id,title:a.title,chars:(0,w.V7)(a.content),status:bx(a,p.chapterTargets.get(a.id)),updatedAt:Date.now()})),checkpointChapters:a$,promptRules:A,agentWorkflow:L,reviewMetadata:{chapterSummaries:[],globalIssues:[],diagnostics:r,profile:function(a){let b=`${a.template.name} ${a.template.outputTitle||""} ${a.requirement||""} ${a.chapters.map(a=>a.title).join(" ")}`,c=[{pattern:/专项施工|危大|专项方案/u,type:"专项施工方案",dimensions:["专项对象边界","工艺参数","风险控制","验收要求","应急措施"]},{pattern:/投标|技术标|响应|招标/u,type:"投标技术方案",dimensions:["招标响应","技术优势","工期质量安全承诺","资源保障","履约可实施性"]},{pattern:/监理|旁站|巡视|平行检验/u,type:"监理规划/细则",dimensions:["监理目标","旁站巡视","平行检验","验收程序","资料签认"]},{pattern:/可研|可行性|项目建议书|投资估算/u,type:"可研/项目建议类文档",dimensions:["建设必要性","方案比选","投资估算","风险分析","实施效益"]},{pattern:/运维|维护|保养|巡检/u,type:"运维维护方案",dimensions:["巡检频次","维护流程","故障响应","备品备件","记录闭环"]}].find(a=>a.pattern.test(b));return{type:c?.type||"施工组织设计/施工技术方案",dimensions:c?.dimensions||["工程概况","施工部署","进度质量安全","资源配置","施工工艺和验收闭环"],requiredEvidencePolicy:"本地知识库为完整事实源;系统暂未确认的事实必须通过扩大检索、事实补抽或落位修复解决,不得归因为用户资料缺失。"}}({template:i,chapters:h,requirement:S}),knowledgeCoverage:aE,factTraces:aF,chapterCoverage:aH,retrievalCoverage:H,qualityReport:aI,repairStrategies:aJ,reviewChecklist:aQ,professionalScore:aT,writingTaskBrief:O,workflowVersion:bh.x,telemetry:aR,qualityBenchmark:function(a){var b,c;if(!a||a.trim().length<500)return;let d=(0,bd.aF)(a),e=(0,be.Ah)(d);if(!e)return;let f=(0,bd.WT)(a),g=e.profile,h=Math.max(g.arrowChainCoverage,.08),i=[{key:"paramDensity",label:"参数密度",generated:f.paramDensity,reference:g.paramDensity,score:bf(f.paramDensity,.8*g.paramDensity),unit:"perKChars"},{key:"arrowChainCoverage",label:"工序链覆盖率",generated:f.arrowChainCoverage,reference:h,score:bf(f.arrowChainCoverage,h),unit:"percent"},{key:"duplicationRate",label:"段落重复率",generated:f.duplicationRate,reference:g.duplicationRate,score:(b=f.duplicationRate)<=(c=g.duplicationRate)?100:Math.max(0,Math.round(100-(b-c)*400)),unit:"percent"},{key:"tableCount",label:"表格数量",generated:f.tableCount,reference:g.tableCount,score:bf(f.tableCount,.6*g.tableCount),unit:"count"},{key:"sectionCount",label:"章节结构",generated:f.sectionCount,reference:g.sectionCount,score:f.sectionCount>=.4*g.sectionCount?100:bf(f.sectionCount,g.sectionCount),unit:"count"}].map(a=>({...a,score:Math.round(Math.min(120,a.score)),passed:a.score>=80})),j={paramDensity:.3,arrowChainCoverage:.2,duplicationRate:.2,tableCount:.15,sectionCount:.15},k=Math.round(Math.min(100,i.reduce((a,b)=>a+b.score*(j[b.key]||0),0)));return{projectType:d,referenceSourceCount:e.sourceCount,overallScore:k,items:i}}(ax)},generatedAt:Date.now(),markdown:ax}}var cj=c(70963),ck=c(25284);let cl=["知识库","系统暂未","项目资料暂未","资料未明确","暂未明确","待确认","待资料复核","待系统","未检索到","资料不足","无法确认","建议补充","不适用","COL","可核验信息"];function cm(a){return a.replace(/\s+/gu,"").toLowerCase()}function cn(a){return`${a.fieldId||""} ${a.fieldName||""} ${a.key} ${(0,z.lG)(a.value)}`.replace(/\s+/gu," ").trim()}function co(a){return(0,z.lG)(a.value).replace(/\s+/gu," ").trim()}function cp(a,b){let c=cm(cn(a));return b.split(/[\s、,,;;::()()【】[-]+/u).filter(a=>a.length>=2).some(a=>c.includes(cm(a)))}function cq(a,b){let c=[...a.works.map(a=>`工程:${a.name} ${a.scope}`),...a.methods.map(a=>`工法:${a.name} ${(a.applicableWorks||[]).join("、")}`),...a.resources.map(a=>`资源:${a.name} ${a.spec} ${a.quantity}${a.unit}`),...a.schedule.map(a=>`工期:${a.milestone} ${a.duration}`),...a.standards.map(a=>`标准:${a.code} ${a.description}`),...a.risks.map(a=>`风险:${a.risk} ${a.mitigation}`),...a.requirements.map(a=>`要求:${a.category} ${a.detail}`),...a.siteConditions.map(a=>`现场:${a.condition} ${a.impact}`)],d=cm(b);return c.filter(a=>cm(a).includes(d)||b.split(/[\s、,,;;::()()【】[-]+/u).filter(a=>a.length>=2).some(b=>cm(a).includes(cm(b))))}function cr(a){let b=[];return/重点|难点|危大|风险|安全|应急/u.test(a)&&b.push("安全 文明 危大 风险 应急 临边 洞口 消防 临电 高处 起重 吊装 基坑 脚手架 模板 支护 图纸 施工说明 审查意见"),/工期|进度|节点|计划/u.test(a)&&b.push("工期 日历天 节点 进度 计划 开工 竣工 关键线路"),/质量|验收|标准|实测|通病/u.test(a)&&b.push("质量 验收 合格 标准 规范 检验批 隐蔽 复试 样板"),/资源|材料|机械|人材机|设备/u.test(a)&&b.push("清单 工程量 材料 设备 机械 劳动力 规格 型号 数量 单位"),/概况|说明|依据|范围/u.test(a)&&b.push("工程名称 项目名称 建设地点 建筑面积 建设规模 招标范围 施工范围"),/部署|施工|流水|区段|组织/u.test(a)&&b.push("施工 组织 部署 区段 流水 作业面 工序 穿插 图纸 清单"),b}function cs(a){return/项目特点.*重点.*难点|重点.*难点.*分析/u.test(a)?"系统识别本项目特点、施工重点、施工难点、形成原因、影响范围和应对措施,必须落位项目规模、结构形式、工期、专业范围、现场约束等具体事实,并为“项目主要施工内容”提供逐项对应依据。":/项目主要施工内容/u.test(a)?"按专业工程和关键工序展开施工内容,必须逐项响应“项目特点、重点、难点分析”中的重点难点,说明施工范围、实施内容、控制措施、验收节点和资料闭环。":/工期|进度|节点|计划/u.test(a)?"使用项目工期、节点和资源事实说明进度组织要求。":/质量|验收|标准|实测/u.test(a)?"使用项目质量目标、验收标准和工序事实说明质量控制要求。":/安全|危大|风险|应急/u.test(a)?"使用项目风险、危大工程和安全文明事实说明安全管控要求。":/资源|材料|机械|人材机/u.test(a)?"使用清单、材料、设备和劳动力事实说明资源配置要求。":/概况|说明|依据/u.test(a)?"使用项目基础事实说明编制边界和工程概况。":"使用已确认项目事实形成正式施工组织内容。"}function ct(a){let b=a.facts.slice(0,18).map(a=>`- ${a.key}:${co(a)}${a.sourceFile?`(来源:${a.sourceFile})`:""}`).join("\n"),c=a.sections.map((a,b)=>`${b+1}. 必须输出三级标题:### ${a.title}
67
67
  写作目标:${a.objective}
68
68
  支撑情况:证据 ${a.evidenceIds.length},事实 ${a.factIds.length},图谱 ${a.graphNodeIds.length}
69
69
  最小正文深度:${a.minChars} 字`).join("\n");return["【Agent 章节任务】",`任务ID:${a.taskId}`,`章节:${a.title}`,a.graphContext?`图谱上下文:
@@ -94,4 +94,4 @@ ${a.slice(j).trimStart()}`:a}}let l=h(c);return l?`${a.trimEnd()}
94
94
 
95
95
  ${l}`:a},E=async b=>{var c;(0,z.Te)(a.signal);let e=b.message.replace(/\s*Writer 未完成.*$/u,"").replace(/\s*正文不足,未达到任务最小深度.*$/u,"").trim(),g=/Writer 未完成/u.test(b.message)?"缺失小节":"深度不足小节",h=bo.task.sections.find(a=>a.title===e),i=r.get(bw(m,e))||0,j=(c=h?.minChars,Math.max(c||0,i&&i>0?Math.ceil(i/.8):0,/项目主要施工内容/u.test(e)?2200:/主要分部分项工程施工方案|主要施工方法/u.test(e)?1800:/项目特点.*重点.*难点|重点.*难点.*分析/u.test(e)?1500:/原材料进场复试|见证取样|危大工程专项施工方案审批流程/u.test(e)?900:760)),k=/正文不足,未达到任务最小深度/u.test(b.message),l=aV(await bc(e).catch(()=>[]),aU);aX(l.length?l:au,aU,`repair:${d.id}:${e}`),ca.llm.lastError=void 0;let n=await D(()=>(0,am.X6)(ca,`agent-repairer-section:${d.id}:${e}`,()=>(0,ap.mF)({template:p,chapter:d,sectionTitle:e,evidence:l.length?l:au,missingFacts:ay,promptTexts:[f||bp,o].filter(Boolean).join("\n\n"),projectContext:bK,requirement:a.requirement,roleContext:aG,targetWords:j,maxWords:1.25*j,forbidDrawingImages:!1,factCoverageContext:bn,qualityFeedback:`Repairer 定向补写“${e}”。必须输出该小节正式正文并彻底删除 WRITER_MISSING_SECTION 标记。`,diagnostics:ca,signal:a.signal,allowLenientStructureGate:!0})));if(!n||n.includes("WRITER_MISSING_SECTION")){let b=ca.llm.lastError;ca.llm.lastError=void 0,n=await D(()=>(0,am.X6)(ca,`agent-repairer-section-retry:${d.id}:${e}`,()=>(0,ap.mF)({template:p,chapter:d,sectionTitle:e,evidence:l.length?l:au,missingFacts:ay,promptTexts:o,projectContext:bK,requirement:a.requirement,roleContext:aG,targetWords:j,maxWords:1.15*j,forbidDrawingImages:!1,factCoverageContext:bn,qualityFeedback:`第二次定向补写“${e}”:只写该小节正式正文,不写解释,不保留 WRITER_MISSING_SECTION。${b?`上次失败原因:${b},必须逐条修正。`:""}`,diagnostics:ca,signal:a.signal,allowLenientStructureGate:!0})))}if(n&&!n.includes("WRITER_MISSING_SECTION")){let a=/^#{3,4}\s+/u.test(n.trim())?n.trim():`### ${e}
96
96
 
97
- ${n.trim()}`,b=(0,w.V7)(a),c=Math.min(Math.max(Math.floor(.7*j),(0,ap.ap)(e)),Math.max(500,j)),d=!k||b>=c;return{sectionTitle:e,rewriteReason:g,normalizedSection:a,normalizedLength:b,enoughDepth:d,evidenceCount:l.length||au.length,repairTargetWords:j}}return{sectionTitle:e,rewriteReason:g,normalizedLength:0,enoughDepth:!1,evidenceCount:0,repairTargetWords:j,failed:n?"仍包含 WRITER_MISSING_SECTION":ca.llm.lastError||"空响应"}};for(let b=0;b<x.length;b+=3){let e=x.slice(b,b+3);for(let b of(await Promise.allSettled(e.map(a=>E(a))))){if("rejected"===b.status){if(a.signal?.aborted)throw b.reason;A.push(`失败:${b.reason instanceof Error?b.reason.message:"未知异常"}`);continue}if(!b.value)continue;if(b.value.failed){A.push(`失败:${b.value.sectionTitle}(${b.value.failed})`);continue}let d=bw(m,b.value.sectionTitle),e=b.value.enoughDepth?C(c.content,b.value.sectionTitle,b.value.normalizedSection||"",d):c.content,f=e!==c.content;f&&(c={...c,content:e}),A.push(f?`成功:${b.value.sectionTitle}(${b.value.normalizedLength}字,证据 ${b.value.evidenceCount} 条)`:`失败:${b.value.sectionTitle}(${b.value.enoughDepth?"未定位到原小节块":`补写不足 ${b.value.normalizedLength}/${b.value.repairTargetWords} 字`})`)}(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:`agent-repairer-${d.id}`,status:"running",message:`${(0,t.GQ)(d.title)} 已补写深度不足小节 ${Math.min(b+3,x.length)}/${x.length}`,details:A},{subtitle:"Agent Repairer",order:s})),B(y)}let F={content:c.content,appliedCount:0};g.some(a=>!/Writer 未完成|正文不足,未达到任务最小深度/u.test(a.message))&&(F=await D(()=>(0,am.X6)(ca,`agent-repairer:${d.id}`,()=>(0,am.l8)({template:p,chapter:{id:d.id,title:d.title,content:c.content,evidence:au,missingFacts:ay,sections:b8},issues:g.map(a=>`${a.message};${a.suggestion||""}`),promptTexts:[f||bp,o].filter(Boolean).join("\n\n"),requirement:a.requirement,forbidDrawingImages:!1,diagnostics:ca,signal:a.signal})))),c={...c,content:bO(F.content||c.content,d)},e=cv({task:bo.task,draft:c,context:bu,plannedCoverage:m}),bu.reviewResults={...bu.reviewResults||{},[d.id]:e},i=(g=e.issues.filter(a=>"blocker"===a.severity||"error"===a.level)).some(a=>/Writer 未完成/u.test(a.message)),j=g.some(a=>/正文不足,未达到任务最小深度/u.test(a.message)),k=bv(e.issues),l=g.length>0&&(e.repairable||i||j)||k;let G=g.length>0;bu.nodes.push({id:`chapter-repairer-${d.id}`,type:"chapter_repairer",status:G?"failed":"completed",startedAt:Date.now(),completedAt:Date.now(),outputSummary:e.issues.length?`修复后仍有 ${e.issues.length} 个问题`:"定向修复通过",metrics:{supportedFacts:e.supportedFacts},issues:e.issues}),(0,bt.cN)(bu),(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:`agent-reviewer-${d.id}`,status:G?"failed":"success",message:G?`${(0,t.GQ)(d.title)} Reviewer 第 ${q} 轮复审仍有 ${g.length} 个阻断问题${l&&q<n?",继续下一轮修复":""}`:`${(0,t.GQ)(d.title)} Reviewer 第 ${q} 轮复审通过`,details:e.issues.map(a=>a.message)},{subtitle:"Agent Reviewer",order:s-1})),(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:`agent-repairer-${d.id}`,status:G?"failed":"success",message:e.issues.length?`${(0,t.GQ)(d.title)} 第 ${q} 轮定向修复后仍有 ${e.issues.length} 个问题`:`${(0,t.GQ)(d.title)} 定向修复通过`,details:[...A,...e.issues.map(a=>`剩余:${a.message}`)]},{subtitle:"Agent Repairer",order:s})),B(y)}if(e.issues.some(a=>"blocker"===a.severity||"error"===a.level)){let a=function(a){let b=a.filter(a=>/正文不足,未达到任务最小深度|Writer 未完成/u.test(a.message)).length,c=a.length-b;return Math.max(b>0?Math.ceil(b/2):0,+(c>0))}(g);a3.push(`${(0,t.GQ)(d.title)} Reviewer 未通过:${e.issues.map(a=>a.message).join(";")}(修复轮次预算 ${n} 轮已用尽,预估还需 ${a} 轮修复;问题已标记并转入门禁阻断,可在记录详情查看后决定继续修复或调整模板)`)}a5[h]=c,y=a5.filter(a=>!!a),B(y),ca.quality.blockingCount+=e.issues.filter(a=>"error"===a.level).length,ca.quality.importantCount+=e.issues.filter(a=>"warning"===a.level).length}catch(b){if(a.signal?.aborted)throw b;console.error(`[gen] chapter ${d.title} review failed:`,b),a3.push(`${(0,t.GQ)(d.title)}:审查修复阶段失败:${b instanceof Error?b.message:"未知错误"}`)}}}catch(c){if(a.signal?.aborted)throw c;console.error(`[gen] chapter ${d.title} failed:`,c);let b=`${d.title}:${c instanceof Error?c.message:"生成失败"}`;a3.push(b),g=(0,al.X5)({type:"chapter_generation",roleId:"chapter_generation",status:"failed",message:`${(0,t.GQ)(d.title)} 生成失败:${b}`},{subtitle:(0,t.GQ)(d.title),order:h}),a6[h]=g}g&&(I[j]=g),B(y)}))))f&&cz.push(cy.run(f))}await Promise.all(cz);let cD=a5.filter(a=>!!a);a4.push(...a6.filter(a=>!!a));let cE=[];if(b8.enableGlobalReview)try{let b=b8.globalReviewSamplingRate??1,c=b>=1||cD.length<=2?cD:cD.filter((a,c)=>c%Math.max(2,Math.round(1/b))==0),d=c.length,e=()=>D(()=>aH({template:p,chapters:c,chapterReviews:[],promptTexts:aL,requirement:a.requirement,projectContext:bK,diagnostics:ca,signal:a.signal})),f=()=>{let a=cD.map(a=>a.content).join("\n\n");return[...(0,x.qm)(a,bq,bz.scopeConflicts).filter(a=>/跨章一致性冲突/u.test(a.message)),...(0,x.hr)(a,bq).filter(a=>"error"===a.level)].map(a=>`${a.message};${a.suggestion||""}`)},g=await e();cE=[...new Set([...g.issues,...f()])];for(let b=0;b<2&&cE.length>0;b+=1){(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"global-consistency-repair",status:"running",message:`跨章一致性冲突第 ${b+1} 轮定向修复(${cE.length} 个冲突)`},{subtitle:"跨章一致性修复"})),B(cD);let c=0;for(let b of cD){let d=b.content.replace(/\s+/gu,"").replace(/平方米|m²|m2/giu,"㎡"),e=cE.filter(a=>{if(a.includes(b.title)||(a.match(/不一致的表述\s*([^;;。\n]+)/u)?.[1]||"").split(/[、,,]/u).some(a=>{let b=a.trim().replace(/\s+/gu,"").replace(/平方米|m²|m2/giu,"㎡");return b.length>=3&&d.includes(b)}))return!0;let c=a.match(/正文([^配比厚度\s]{1,6}?)(?:配比|厚度)/u)?.[1];return!!(c&&b.content.includes(c))});if(0===e.length)continue;let f=await D(()=>(0,am.X6)(ca,`global-consistency-repair:${b.id}`,()=>(0,am.l8)({template:p,chapter:{id:b.id,title:b.title,content:b.content,evidence:b.evidence||[],missingFacts:b.missingFacts||[],sections:b.sections},issues:e.map(a=>`${a};请严格按冲突描述中给出的资料口径修正本章对应表述,不得引入新的数值;与资料口径一致的既有表述(含分层/子项数值)不得改动。`),promptTexts:aL,requirement:a.requirement,forbidDrawingImages:!0,diagnostics:ca,signal:a.signal})));f.content&&f.content!==b.content&&(b.content=f.content,c+=1)}if(0===c)break;B(cD);let d=await e();cE=[...new Set([...d.issues,...f()])],(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"global-consistency-review",status:cE.length>0?"failed":"success",message:cE.length>0?`跨章一致性复检:仍有 ${cE.length} 个冲突`:"跨章一致性复检通过"},{subtitle:"全局一致性审查"})),B(cD)}let h=(0,x.KI)(cD,bq,bz.scopeConflicts);h.fixedCount>0&&(cE=[...new Set([...cE,...f()])],(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"global-consistency-deterministic-fix",status:"success",message:`跨章一致性数值定点修复:${h.fixedCount} 处(${h.details.slice(0,4).join("、")})`,details:h.details.slice(4)},{subtitle:"跨章一致性修复"})),B(cD));let i=d<cD.length?{...g.stage,message:`${g.stage.message||"全局一致性审查完成"}(抽检 ${d}/${cD.length} 章)`}:g.stage;(0,al.fx)(I,i),B(cD)}catch(b){if(a.signal?.aborted)throw b;console.error("[gen] global consistency review failed:",b)}let cF=(0,N.Xi)(bH,cD);if(cF.length>0)for(let b=0;b<2&&cF.length>0;b+=1){(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"table-execution-repair",status:"running",message:`表格执行率修复第 ${b+1} 轮(${cF.length} 个章节缺表)`},{subtitle:"表格执行率修复"})),B(cD);let c=0;for(let b of cF){let d=cD.find(a=>a.title===b.chapterTitle||b.chapterTitle.includes(a.title)||a.title.includes(b.chapterTitle));if(!d)continue;let e=await D(()=>(0,am.X6)(ca,`table-execution-repair:${d.id}`,()=>(0,am.l8)({template:p,chapter:{id:d.id,title:d.title,content:d.content,evidence:d.evidence||[],missingFacts:d.missingFacts||[],sections:d.sections},issues:[`计划表格缺失(计划 ${b.planned} 张,实际仅 ${b.actual} 张):${b.plans.map(a=>`${a.title}(表头:${a.fields.map(a=>a.name).join("、")})`).join(";")}。必须按表头字段补齐这些 markdown 表格并紧跟相关小节输出,不得删除已有正文;每个表格前须有 1~2 句引导叙述说明表格作用与关键结论,表格不能替代小节正文;deriveFromProject 字段基于项目工程量、总工期与工序流水按定额工效推导具体数值,projectFactOnly 字段不得编造。`],promptTexts:aL,requirement:a.requirement,forbidDrawingImages:!0,diagnostics:ca,signal:a.signal})));e.content&&e.content!==d.content&&(d.content=e.content,c+=1)}if(0===c)break;B(cD),cF=(0,N.Xi)(bH,cD),(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"table-execution-review",status:cF.length>0?"failed":"success",message:cF.length>0?`表格执行率复检:仍有 ${cF.length} 个章节缺表`:"表格执行率复检通过"},{subtitle:"表格执行率核验"}))}return ci({chapterDrafts:cD,chapterDraftsByOrder:a5,chapterGenerationStagesByOrder:a6,chapterGenerationStages:a4,effectiveChapters:bH,template:p,allEvidence:a_,projectMaterialScope:aU,progressStages:I,documentSpec:as,projectMaterialProfile:R,projectMaterialSummary:aq,domainProfile:at,documentBudget:b5,promptTexts:aJ,reviewPromptTexts:aL,input:a,generationStrategy:b8,generationDiagnostics:ca,promptBindings:K,promptDocumentRules:aF,projectUnderstanding:W,projectContext:bK,projectRoot:c,projectId:o,readiness:au,factExtractionPromptTexts:aK,hasExplicitOutline:ac,missingItems:a2,retrievalCoverageReports:a0,failedChapterMessages:a3,webResearchReport:a1,indexHealth:aR,promptPlan:J,globalConsistencyIssues:cE,scopeConflicts:bz.scopeConflicts,writingTaskBrief:b2,agentWorkflow:bu,emitProgress:B,withProgressHeartbeat:D})}},79227:(a,b,c)=>{c.d(b,{C:()=>f,previewGenerationBudgetForTemplate:()=>g});var d=c(34680),e=c(95734);function f(a){let b=Math.max(1,a.chapters.length),c=a.targetWords>0?Math.round(a.targetWords/b):1200,d=a.strategy,f=[],g=a.materialFileCount<4&&a.evidenceCount<6,h=Math.max(1,Math.min(b,(Number.isFinite(a.configuredChapterConcurrency)&&a.configuredChapterConcurrency>0?Math.floor(a.configuredChapterConcurrency):void 0)??b)),i=(0,e.Qf)(a.targetWords),j="fast"===d.mode?1:Math.max(1,Math.min(i>=32?5:i>=24?4:i>=16?3:2,b)),{floorChars:k,ceilingChars:l}=c>=6e3?{floorChars:7e3,ceilingChars:26e3}:c>=3e3?{floorChars:6e3,ceilingChars:18e3}:{floorChars:4e3,ceilingChars:12e3},m=d.repairRoundBudget??3;return"strict"===d.mode&&f.push("strict:风险领域关键词命中(专项/安全/质量/验收/合同/合规等)"),a.targetWords>=4e4&&f.push("strict:目标篇幅超长(≥4 万字)"),g&&f.push("strict:资料稀疏(资料包文件 <4 且可用证据 <6 条)"),"fast"===d.mode&&f.push("fast:小文档(≤6000 字且 ≤4 章)全局审查降级为 35% 抽检"),"longform"===d.mode&&f.push("longform:长文档(≥3 万字或 ≥8 章)"),"balanced"===d.mode&&f.push("balanced:常规篇幅文档,标准审查深度"),f.push(`全章节并行生成(${h}/${b} 章同批),审查流水线 ${j} 路,全局 LLM 并发档位 ${i},每章证据预算 ${Math.round(k/1e3)}k-${Math.round(l/1e3)}k 字符,修复轮次预算 ${m}`),{strategy:d,chapterConcurrency:h,reviewConcurrency:j,llmConcurrency:i,evidenceFloorChars:k,evidenceCeilingChars:l,repairRoundBudget:m,triggers:f}}function g(a){let b=Math.max(1,a.chapters.length),c=Math.max(0,Math.round(a.targetWords??0)),e=(0,d.JP)({template:a.template,targetWords:c,requirement:a.requirement,materialFileCount:a.materialFileCount,evidenceCount:a.evidenceCount}),g=f({template:a.template,chapters:a.chapters,targetWords:c,requirement:a.requirement,materialFileCount:a.materialFileCount,evidenceCount:a.evidenceCount,hasVeryLargeExplicitChapter:a.hasVeryLargeExplicitChapter??!1,configuredChapterConcurrency:a.configuredChapterConcurrency??0,strategy:e});return{mode:e.mode,enableGlobalReview:e.enableGlobalReview,globalReviewSamplingRate:e.globalReviewSamplingRate??1,repairRoundBudget:g.repairRoundBudget,chapterConcurrency:g.chapterConcurrency,reviewConcurrency:g.reviewConcurrency,evidenceFloorChars:g.evidenceFloorChars,evidenceCeilingChars:g.evidenceCeilingChars,targetWords:c,chapterCount:b,triggers:g.triggers}}},87942:(a,b,c)=>{c.d(b,{x:()=>d});let d={version:"professional-document-workflow-v3",rules:["complete-local-knowledge-assumption","knowledge-coverage-recovery","fact-trace-placement","chapter-coverage-gate","structured-quality-report","post-repair-verification"]}}};
97
+ ${n.trim()}`,b=(0,w.V7)(a),c=Math.min(Math.max(Math.floor(.7*j),(0,ap.ap)(e)),Math.max(500,j)),d=!k||b>=c;return{sectionTitle:e,rewriteReason:g,normalizedSection:a,normalizedLength:b,enoughDepth:d,evidenceCount:l.length||au.length,repairTargetWords:j}}return{sectionTitle:e,rewriteReason:g,normalizedLength:0,enoughDepth:!1,evidenceCount:0,repairTargetWords:j,failed:n?"仍包含 WRITER_MISSING_SECTION":ca.llm.lastError||"空响应"}};for(let b=0;b<x.length;b+=3){let e=x.slice(b,b+3);for(let b of(await Promise.allSettled(e.map(a=>E(a))))){if("rejected"===b.status){if(a.signal?.aborted)throw b.reason;A.push(`失败:${b.reason instanceof Error?b.reason.message:"未知异常"}`);continue}if(!b.value)continue;if(b.value.failed){A.push(`失败:${b.value.sectionTitle}(${b.value.failed})`);continue}let d=bw(m,b.value.sectionTitle),e=b.value.enoughDepth?C(c.content,b.value.sectionTitle,b.value.normalizedSection||"",d):c.content,f=e!==c.content;f&&(c={...c,content:e}),A.push(f?`成功:${b.value.sectionTitle}(${b.value.normalizedLength}字,证据 ${b.value.evidenceCount} 条)`:`失败:${b.value.sectionTitle}(${b.value.enoughDepth?"未定位到原小节块":`补写不足 ${b.value.normalizedLength}/${b.value.repairTargetWords} 字`})`)}(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:`agent-repairer-${d.id}`,status:"running",message:`${(0,t.GQ)(d.title)} 已补写深度不足小节 ${Math.min(b+3,x.length)}/${x.length}`,details:A},{subtitle:"Agent Repairer",order:s})),B(y)}let F={content:c.content,appliedCount:0};g.some(a=>!/Writer 未完成|正文不足,未达到任务最小深度/u.test(a.message))&&(F=await D(()=>(0,am.X6)(ca,`agent-repairer:${d.id}`,()=>(0,am.l8)({template:p,chapter:{id:d.id,title:d.title,content:c.content,evidence:au,missingFacts:ay,sections:b8},issues:g.map(a=>`${a.message};${a.suggestion||""}`),promptTexts:[f||bp,o].filter(Boolean).join("\n\n"),requirement:a.requirement,forbidDrawingImages:!1,diagnostics:ca,signal:a.signal})))),c={...c,content:bO(F.content||c.content,d)},e=cv({task:bo.task,draft:c,context:bu,plannedCoverage:m}),bu.reviewResults={...bu.reviewResults||{},[d.id]:e},i=(g=e.issues.filter(a=>"blocker"===a.severity||"error"===a.level)).some(a=>/Writer 未完成/u.test(a.message)),j=g.some(a=>/正文不足,未达到任务最小深度/u.test(a.message)),k=bv(e.issues),l=g.length>0&&(e.repairable||i||j)||k;let G=g.length>0;bu.nodes.push({id:`chapter-repairer-${d.id}`,type:"chapter_repairer",status:G?"failed":"completed",startedAt:Date.now(),completedAt:Date.now(),outputSummary:e.issues.length?`修复后仍有 ${e.issues.length} 个问题`:"定向修复通过",metrics:{supportedFacts:e.supportedFacts},issues:e.issues}),(0,bt.cN)(bu),(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:`agent-reviewer-${d.id}`,status:G?"failed":"success",message:G?`${(0,t.GQ)(d.title)} Reviewer 第 ${q} 轮复审仍有 ${g.length} 个阻断问题${l&&q<n?",继续下一轮修复":""}`:`${(0,t.GQ)(d.title)} Reviewer 第 ${q} 轮复审通过`,details:e.issues.map(a=>a.message)},{subtitle:"Agent Reviewer",order:s-1})),(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:`agent-repairer-${d.id}`,status:G?"failed":"success",message:e.issues.length?`${(0,t.GQ)(d.title)} 第 ${q} 轮定向修复后仍有 ${e.issues.length} 个问题`:`${(0,t.GQ)(d.title)} 定向修复通过`,details:[...A,...e.issues.map(a=>`剩余:${a.message}`)]},{subtitle:"Agent Repairer",order:s})),B(y)}if(e.issues.some(a=>"blocker"===a.severity||"error"===a.level)){let a=function(a){let b=a.filter(a=>/正文不足,未达到任务最小深度|Writer 未完成/u.test(a.message)).length,c=a.length-b;return Math.max(b>0?Math.ceil(b/2):0,+(c>0))}(g);a3.push(`${(0,t.GQ)(d.title)} Reviewer 未通过:${e.issues.map(a=>a.message).join(";")}(修复轮次预算 ${n} 轮已用尽,预估还需 ${a} 轮修复;问题已标记并转入门禁阻断,可在记录详情查看后决定继续修复或调整模板)`)}a5[h]=c,y=a5.filter(a=>!!a),B(y),ca.quality.blockingCount+=e.issues.filter(a=>"error"===a.level).length,ca.quality.importantCount+=e.issues.filter(a=>"warning"===a.level).length}catch(b){if(a.signal?.aborted)throw b;console.error(`[gen] chapter ${d.title} review failed:`,b),a3.push(`${(0,t.GQ)(d.title)}:审查修复阶段失败:${b instanceof Error?b.message:"未知错误"}`)}}}catch(c){if(a.signal?.aborted)throw c;console.error(`[gen] chapter ${d.title} failed:`,c);let b=`${d.title}:${c instanceof Error?c.message:"生成失败"}`;a3.push(b),g=(0,al.X5)({type:"chapter_generation",roleId:"chapter_generation",status:"failed",message:`${(0,t.GQ)(d.title)} 生成失败:${b}`},{subtitle:(0,t.GQ)(d.title),order:h}),a6[h]=g}g&&(I[j]=g),B(y)}))))f&&cz.push(cy.run(f))}await Promise.all(cz);let cD=a5.filter(a=>!!a);a4.push(...a6.filter(a=>!!a));let cE=[];if(b8.enableGlobalReview)try{let b=b8.globalReviewSamplingRate??1,c=b>=1||cD.length<=2?cD:cD.filter((a,c)=>c%Math.max(2,Math.round(1/b))==0),d=c.length,e=()=>D(()=>aH({template:p,chapters:c,chapterReviews:[],promptTexts:aL,requirement:a.requirement,projectContext:bK,diagnostics:ca,signal:a.signal})),f=()=>{let a=cD.map(a=>a.content).join("\n\n");return[...(0,x.qm)(a,bq,bz.scopeConflicts).filter(a=>/跨章一致性冲突/u.test(a.message)),...(0,x.hr)(a,bq).filter(a=>"error"===a.level)].map(a=>`${a.message};${a.suggestion||""}`)},g=await e();cE=[...new Set([...g.issues,...f()])];for(let b=0;b<2&&cE.length>0;b+=1){(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"global-consistency-repair",status:"running",message:`跨章一致性冲突第 ${b+1} 轮定向修复(${cE.length} 个冲突)`},{subtitle:"跨章一致性修复"})),B(cD);let c=0;for(let b of cD){let d=b.content.replace(/\s+/gu,"").replace(/平方米|m²|m2/giu,"㎡"),e=cE.filter(a=>{if(a.includes(b.title)||(a.match(/不一致的表述\s*([^;;。\n]+)/u)?.[1]||"").split(/[、,,]/u).some(a=>{let b=a.trim().replace(/\s+/gu,"").replace(/平方米|m²|m2/giu,"㎡");return b.length>=3&&d.includes(b)}))return!0;let c=a.match(/正文([^配比厚度\s]{1,6}?)(?:配比|厚度)/u)?.[1];return!!(c&&b.content.includes(c))});if(0===e.length)continue;let f=await D(()=>(0,am.X6)(ca,`global-consistency-repair:${b.id}`,()=>(0,am.l8)({template:p,chapter:{id:b.id,title:b.title,content:b.content,evidence:b.evidence||[],missingFacts:b.missingFacts||[],sections:b.sections},issues:e.map(a=>`${a};请严格按冲突描述中给出的资料口径修正本章对应表述,不得引入新的数值;与资料口径一致的既有表述(含分层/子项数值)不得改动。`),promptTexts:aL,requirement:a.requirement,forbidDrawingImages:!0,diagnostics:ca,signal:a.signal})));f.content&&f.content!==b.content&&(b.content=f.content,c+=1)}if(0===c)break;B(cD);let d=await e();cE=[...new Set([...d.issues,...f()])],(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"global-consistency-review",status:cE.length>0?"failed":"success",message:cE.length>0?`跨章一致性复检:仍有 ${cE.length} 个冲突`:"跨章一致性复检通过"},{subtitle:"全局一致性审查"})),B(cD)}let h=(0,x.KI)(cD,bq,bz.scopeConflicts);h.fixedCount>0&&(cE=[...new Set([...cE.filter(a=>!/^跨章一致性冲突|^工序规格冲突/u.test(a)),...f()])],(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"global-consistency-deterministic-fix",status:"success",message:`跨章一致性数值定点修复:${h.fixedCount} 处(${h.details.slice(0,4).join("、")})`,details:h.details.slice(4)},{subtitle:"跨章一致性修复"})),B(cD));let i=d<cD.length?{...g.stage,message:`${g.stage.message||"全局一致性审查完成"}(抽检 ${d}/${cD.length} 章)`}:g.stage;(0,al.fx)(I,i),B(cD)}catch(b){if(a.signal?.aborted)throw b;console.error("[gen] global consistency review failed:",b)}let cF=(0,N.Xi)(bH,cD);if(cF.length>0)for(let b=0;b<2&&cF.length>0;b+=1){(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"table-execution-repair",status:"running",message:`表格执行率修复第 ${b+1} 轮(${cF.length} 个章节缺表)`},{subtitle:"表格执行率修复"})),B(cD);let c=0;for(let b of cF){let d=cD.find(a=>a.title===b.chapterTitle||b.chapterTitle.includes(a.title)||a.title.includes(b.chapterTitle));if(!d)continue;let e=await D(()=>(0,am.X6)(ca,`table-execution-repair:${d.id}`,()=>(0,am.l8)({template:p,chapter:{id:d.id,title:d.title,content:d.content,evidence:d.evidence||[],missingFacts:d.missingFacts||[],sections:d.sections},issues:[`计划表格缺失(计划 ${b.planned} 张,实际仅 ${b.actual} 张):${b.plans.map(a=>`${a.title}(表头:${a.fields.map(a=>a.name).join("、")})`).join(";")}。必须按表头字段补齐这些 markdown 表格并紧跟相关小节输出,不得删除已有正文;每个表格前须有 1~2 句引导叙述说明表格作用与关键结论,表格不能替代小节正文;deriveFromProject 字段基于项目工程量、总工期与工序流水按定额工效推导具体数值,projectFactOnly 字段不得编造。`],promptTexts:aL,requirement:a.requirement,forbidDrawingImages:!0,diagnostics:ca,signal:a.signal})));e.content&&e.content!==d.content&&(d.content=e.content,c+=1)}if(0===c)break;B(cD),cF=(0,N.Xi)(bH,cD),(0,al.fx)(I,(0,al.X5)({type:"llm_review",roleId:"table-execution-review",status:cF.length>0?"failed":"success",message:cF.length>0?`表格执行率复检:仍有 ${cF.length} 个章节缺表`:"表格执行率复检通过"},{subtitle:"表格执行率核验"}))}return ci({chapterDrafts:cD,chapterDraftsByOrder:a5,chapterGenerationStagesByOrder:a6,chapterGenerationStages:a4,effectiveChapters:bH,template:p,allEvidence:a_,projectMaterialScope:aU,progressStages:I,documentSpec:as,projectMaterialProfile:R,projectMaterialSummary:aq,domainProfile:at,documentBudget:b5,promptTexts:aJ,reviewPromptTexts:aL,input:a,generationStrategy:b8,generationDiagnostics:ca,promptBindings:K,promptDocumentRules:aF,projectUnderstanding:W,projectContext:bK,projectRoot:c,projectId:o,readiness:au,factExtractionPromptTexts:aK,hasExplicitOutline:ac,missingItems:a2,retrievalCoverageReports:a0,failedChapterMessages:a3,webResearchReport:a1,indexHealth:aR,promptPlan:J,globalConsistencyIssues:cE,scopeConflicts:bz.scopeConflicts,writingTaskBrief:b2,agentWorkflow:bu,emitProgress:B,withProgressHeartbeat:D})}},79227:(a,b,c)=>{c.d(b,{C:()=>f,previewGenerationBudgetForTemplate:()=>g});var d=c(34680),e=c(95734);function f(a){let b=Math.max(1,a.chapters.length),c=a.targetWords>0?Math.round(a.targetWords/b):1200,d=a.strategy,f=[],g=a.materialFileCount<4&&a.evidenceCount<6,h=Math.max(1,Math.min(b,(Number.isFinite(a.configuredChapterConcurrency)&&a.configuredChapterConcurrency>0?Math.floor(a.configuredChapterConcurrency):void 0)??b)),i=(0,e.Qf)(a.targetWords),j="fast"===d.mode?1:Math.max(1,Math.min(i>=32?5:i>=24?4:i>=16?3:2,b)),{floorChars:k,ceilingChars:l}=c>=6e3?{floorChars:7e3,ceilingChars:26e3}:c>=3e3?{floorChars:6e3,ceilingChars:18e3}:{floorChars:4e3,ceilingChars:12e3},m=d.repairRoundBudget??3;return"strict"===d.mode&&f.push("strict:风险领域关键词命中(专项/安全/质量/验收/合同/合规等)"),a.targetWords>=4e4&&f.push("strict:目标篇幅超长(≥4 万字)"),g&&f.push("strict:资料稀疏(资料包文件 <4 且可用证据 <6 条)"),"fast"===d.mode&&f.push("fast:小文档(≤6000 字且 ≤4 章)全局审查降级为 35% 抽检"),"longform"===d.mode&&f.push("longform:长文档(≥3 万字或 ≥8 章)"),"balanced"===d.mode&&f.push("balanced:常规篇幅文档,标准审查深度"),f.push(`全章节并行生成(${h}/${b} 章同批),审查流水线 ${j} 路,全局 LLM 并发档位 ${i},每章证据预算 ${Math.round(k/1e3)}k-${Math.round(l/1e3)}k 字符,修复轮次预算 ${m}`),{strategy:d,chapterConcurrency:h,reviewConcurrency:j,llmConcurrency:i,evidenceFloorChars:k,evidenceCeilingChars:l,repairRoundBudget:m,triggers:f}}function g(a){let b=Math.max(1,a.chapters.length),c=Math.max(0,Math.round(a.targetWords??0)),e=(0,d.JP)({template:a.template,targetWords:c,requirement:a.requirement,materialFileCount:a.materialFileCount,evidenceCount:a.evidenceCount}),g=f({template:a.template,chapters:a.chapters,targetWords:c,requirement:a.requirement,materialFileCount:a.materialFileCount,evidenceCount:a.evidenceCount,hasVeryLargeExplicitChapter:a.hasVeryLargeExplicitChapter??!1,configuredChapterConcurrency:a.configuredChapterConcurrency??0,strategy:e});return{mode:e.mode,enableGlobalReview:e.enableGlobalReview,globalReviewSamplingRate:e.globalReviewSamplingRate??1,repairRoundBudget:g.repairRoundBudget,chapterConcurrency:g.chapterConcurrency,reviewConcurrency:g.reviewConcurrency,evidenceFloorChars:g.evidenceFloorChars,evidenceCeilingChars:g.evidenceCeilingChars,targetWords:c,chapterCount:b,triggers:g.triggers}}},87942:(a,b,c)=>{c.d(b,{x:()=>d});let d={version:"professional-document-workflow-v3",rules:["complete-local-knowledge-assumption","knowledge-coverage-recovery","fact-trace-placement","chapter-coverage-gate","structured-quality-report","post-repair-verification"]}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-61fe67c7203b6001.js","static/chunks/pages/index-cb27bfa36c212ab5.js"],"/_app":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/css/364ec83c2b73efae.css","static/chunks/pages/_app-064a0ba1b894144e.js"],"/_error":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/224-0415408fff1d1c8b.js","static/chunks/102-881dcc464f983c89.js","static/chunks/289-fc1b25371e004552.js","static/chunks/994-241f87efc61005b8.js","static/chunks/pages/asset-library-f6319fc04559e43d.js"],"/document-roles":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-0415408fff1d1c8b.js","static/chunks/787-c18af810af3433f6.js","static/chunks/102-881dcc464f983c89.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/289-fc1b25371e004552.js","static/chunks/455-e1b41ac4946d2b6f.js","static/chunks/pages/document-roles-4ccb2db16dc4b63c.js"],"/documents":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-0415408fff1d1c8b.js","static/chunks/787-c18af810af3433f6.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-e1b41ac4946d2b6f.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/930-0436dcaa92fb41f6.js","static/chunks/pages/documents-9deacb6df546eb6d.js"],"/guide":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/787-c18af810af3433f6.js","static/chunks/986-771dc425e7b25964.js","static/chunks/pages/guide-a73d8eea2cba97e1.js"],"/knowledge":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-0415408fff1d1c8b.js","static/chunks/787-c18af810af3433f6.js","static/chunks/102-881dcc464f983c89.js","static/chunks/289-fc1b25371e004552.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/850-0f48354694fc6b3e.js","static/css/ad5a592c79d1448b.css","static/chunks/pages/knowledge/file-detail-3a04722f7720abf5.js"],"/knowledge/files":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-0415408fff1d1c8b.js","static/chunks/102-881dcc464f983c89.js","static/chunks/289-fc1b25371e004552.js","static/css/ad5a592c79d1448b.css","static/chunks/pages/knowledge/files-45b40149a6f4a9d5.js"],"/knowledge/manage":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/787-c18af810af3433f6.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/788-dca0d550ad6bd8b2.js","static/chunks/pages/knowledge/manage-5b1b4d3804752f8b.js"],"/models":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-e1b41ac4946d2b6f.js","static/chunks/827-a6dc09e42833e6a3.js","static/chunks/pages/models-e6f755b68bff8515.js"],"/overview":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-61fe67c7203b6001.js","static/chunks/pages/overview-8713b5d37af0eeb3.js"],"/prompt":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/260-580088826d643423.js","static/chunks/pages/prompt-edc2dfea09aaedc1.js"],"/settings":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/settings-17632b1471b4862f.js"],"/system/logs":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-0415408fff1d1c8b.js","static/chunks/102-881dcc464f983c89.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/289-fc1b25371e004552.js","static/chunks/pages/system/logs-ee67e2c93147dfc3.js"],"/template-references":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/787-c18af810af3433f6.js","static/chunks/102-881dcc464f983c89.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/564-30bfcb28e1d2c309.js","static/chunks/pages/template-references-e0ab1466f28cc4fc.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-61fe67c7203b6001.js","static/chunks/pages/index-cb27bfa36c212ab5.js"],"/_app":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/css/364ec83c2b73efae.css","static/chunks/pages/_app-064a0ba1b894144e.js"],"/_error":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/224-f3bc91d393e276fe.js","static/chunks/102-c30525f2bc55b982.js","static/chunks/289-42781fb699646699.js","static/chunks/994-03bf46b933328a98.js","static/chunks/pages/asset-library-f6319fc04559e43d.js"],"/document-roles":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-f3bc91d393e276fe.js","static/chunks/787-c18af810af3433f6.js","static/chunks/102-c30525f2bc55b982.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/289-42781fb699646699.js","static/chunks/455-e1b41ac4946d2b6f.js","static/chunks/pages/document-roles-4ccb2db16dc4b63c.js"],"/documents":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-f3bc91d393e276fe.js","static/chunks/787-c18af810af3433f6.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-e1b41ac4946d2b6f.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/930-0436dcaa92fb41f6.js","static/chunks/pages/documents-e234c57475afcd03.js"],"/guide":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/787-c18af810af3433f6.js","static/chunks/986-6746aa3d91e37eff.js","static/chunks/pages/guide-a73d8eea2cba97e1.js"],"/knowledge":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/knowledge-3a68c7c49f88ca3f.js"],"/knowledge/file-detail":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-f3bc91d393e276fe.js","static/chunks/787-c18af810af3433f6.js","static/chunks/102-c30525f2bc55b982.js","static/chunks/289-42781fb699646699.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/850-0f48354694fc6b3e.js","static/css/ad5a592c79d1448b.css","static/chunks/pages/knowledge/file-detail-3a04722f7720abf5.js"],"/knowledge/files":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-f3bc91d393e276fe.js","static/chunks/102-c30525f2bc55b982.js","static/chunks/289-42781fb699646699.js","static/css/ad5a592c79d1448b.css","static/chunks/pages/knowledge/files-3ba329d8e6335929.js"],"/knowledge/manage":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/787-c18af810af3433f6.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/788-e98701da4d6ca319.js","static/chunks/pages/knowledge/manage-558987c599dc4cd5.js"],"/models":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-e1b41ac4946d2b6f.js","static/chunks/827-a6dc09e42833e6a3.js","static/chunks/pages/models-e6f755b68bff8515.js"],"/overview":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-61fe67c7203b6001.js","static/chunks/pages/overview-8713b5d37af0eeb3.js"],"/prompt":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/260-244c94eacd903620.js","static/chunks/pages/prompt-839287c514595765.js"],"/settings":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/settings-17632b1471b4862f.js"],"/system/logs":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-f3bc91d393e276fe.js","static/chunks/102-c30525f2bc55b982.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/289-42781fb699646699.js","static/chunks/pages/system/logs-2e849bcdf371d791.js"],"/template-references":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/717-743b697a417dd5ee.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/787-c18af810af3433f6.js","static/chunks/102-c30525f2bc55b982.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/564-0737855bb98043ab.js","static/chunks/pages/template-references-e0ab1466f28cc4fc.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/364ec83c2b73efae.css" as="style"/><link rel="stylesheet" href="/_next/static/css/364ec83c2b73efae.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-064a0ba1b894144e.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/-vx1F8_fGfyMVxZ7EH1Xu/_buildManifest.js" defer=""></script><script src="/_next/static/-vx1F8_fGfyMVxZ7EH1Xu/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/template-references"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library-big"><rect width="8" height="18" x="3" y="3" rx="1"></rect><path d="M7 3v18"></path><path d="M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"></path></svg><span class="sidebarLabel">模板参考</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"-vx1F8_fGfyMVxZ7EH1Xu","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/364ec83c2b73efae.css" as="style"/><link rel="stylesheet" href="/_next/static/css/364ec83c2b73efae.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-064a0ba1b894144e.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/1n-xjuFIrkLPgyVXG33Tj/_buildManifest.js" defer=""></script><script src="/_next/static/1n-xjuFIrkLPgyVXG33Tj/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/template-references"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library-big"><rect width="8" height="18" x="3" y="3" rx="1"></rect><path d="M7 3v18"></path><path d="M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"></path></svg><span class="sidebarLabel">模板参考</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"1n-xjuFIrkLPgyVXG33Tj","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>