@customize-agent/server 4.6.1 → 4.8.0

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 (45) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/{584.js → 1404.js} +12 -11
  5. package/.next/server/chunks/2484.js +1 -1
  6. package/.next/server/chunks/4680.js +2 -2
  7. package/.next/server/chunks/8661.js +1 -1
  8. package/.next/server/pages/404.html +1 -1
  9. package/.next/server/pages/500.html +1 -1
  10. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  11. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  12. package/.next/server/pages/api/assets/generated.js +1 -1
  13. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  14. package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
  15. package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
  16. package/.next/server/pages/api/documents/export.js +1 -1
  17. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  18. package/.next/server/pages/api/documents/generate.js +2 -2
  19. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  20. package/.next/server/pages/api/documents/generated/[id].js +1 -1
  21. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  22. package/.next/server/pages/api/documents/generated.js +1 -1
  23. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  24. package/.next/server/pages/api/documents/templates.js +1 -1
  25. package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
  26. package/.next/server/pages/asset-library.html +1 -1
  27. package/.next/server/pages/document-roles.html +1 -1
  28. package/.next/server/pages/documents.html +1 -1
  29. package/.next/server/pages/guide.html +1 -1
  30. package/.next/server/pages/index.html +1 -1
  31. package/.next/server/pages/knowledge/file-detail.html +1 -1
  32. package/.next/server/pages/knowledge/files.html +1 -1
  33. package/.next/server/pages/knowledge/manage.html +1 -1
  34. package/.next/server/pages/knowledge.html +1 -1
  35. package/.next/server/pages/models.html +1 -1
  36. package/.next/server/pages/overview.html +1 -1
  37. package/.next/server/pages/prompt.html +1 -1
  38. package/.next/server/pages/settings.html +1 -1
  39. package/.next/server/pages/system/logs.html +1 -1
  40. package/.next/server/pages/template-references.html +1 -1
  41. package/.next/server/pages-manifest.json +30 -30
  42. package/package.json +9 -10
  43. package/.next/package.json +0 -1
  44. /package/.next/static/{MwFiBras94eWFoKt_aO_4 → e9f0rQif2ZDX-Ee4sc1tD}/_buildManifest.js +0 -0
  45. /package/.next/static/{MwFiBras94eWFoKt_aO_4 → e9f0rQif2ZDX-Ee4sc1tD}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=2484,exports.ids=[2484],exports.modules={28103:(a,b,c)=>{c.d(b,{WT:()=>w,aF:()=>v,cG:()=>d});let d=["房建","市政","公路","桥梁与隧道","水利水电","电力","机电安装","装饰装修","园林绿化","铁路","港口与航道","矿山冶金","其他"],e=/(?:\d+(?:\.\d+)?\s*(?:mm|cm|m|㎡|m²|m2|m3|m³|kg|t|MPa|kPa|kN|V|KV|kV|A|天|%)(?![a-zA-Z\u4e00-\u9fa5])|\d+(?:\.\d+)?\s*(?:米|厘米|毫米|吨|千克|公斤|平方米|立方米)(?!\d)|(?:养护|搭接长度|试验压力|间距|偏差|坡度|含水率|压实度|强度等级|标号|厚度|宽度|高度|深度|直径|桩长|桩径))/gu,f=/→|->/u,g=/^(?:[一二三四五六七八九十\d]+[、..]?\s*)?[\u4e00-\u9fa5()()、,A-Za-z0-9+\-·\s]{2,28}(?:表|清单)(?:[::]|\s*$)/mu,h=/^第([一二三四五六七八九十百千\d]+)[章篇][、..]?\s*(.{2,60})$/mu,i=/^\d+[、..](?!\d)\s*(.{2,20})$/mu,j=/^[一二三四五六七八九十]+[、..]\s*(.{2,20})$/mu,k=/^第[一二三四五六七八九十\d]+[节条][、..]?\s*(.{2,30})$/mu,l=/^(?:[一二三四五六七八九十]+、\s*(.{2,20})|[((][一二三四五六七八九十\d]+[))]\s*(.{2,20})|\d+\.\d+(?:\.\d+)*[、..\s]\s*(.{2,20}))$/mu,m=/\.{4,}|\.{2,}\s*\d{1,3}\s*$|—\d+—|第\s*\d+\s*页|^\d{1,3}$/u,n=/[,、;:]/u,o=/[,。;:?!]/u;function p(a){return a.trim().replace(/^(?:#+\s*)+/u,"").trim()}function q(a){return a.replace(/[\s..·]+\d{1,3}$/u,"").replace(/\s+/gu,"").trim()}function r(a){return a.length>=2&&!n.test(a)&&!/[。,;]$/u.test(a)}function s(a){if(/^\d+$/u.test(a))return Number.parseInt(a,10);let b={零:0,一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9},c=0,d=0,e=!1;for(let f of a){if("十"===f){c+=10*(d||1),d=0,e=!0;continue}if("百"===f){c+=100*(d||1),d=0,e=!0;continue}if("千"===f){c+=1e3*(d||1),d=0,e=!0;continue}let a=b[f];if(void 0===a)return Number.MAX_SAFE_INTEGER;d=a,e=!0}return e?c+d:Number.MAX_SAFE_INTEGER}let t=/(?:养护|搭接长度|试验压力|间距|偏差|坡度|含水率|压实度|强度等级|标号|厚度|宽度|高度|深度|直径|桩长|桩径)/gu,u=/(?:\d+(?:\.\d+)?\s*(?:mm|cm|m|㎡|m²|m2|m3|m³|kg|t|MPa|kPa|kN|V|KV|kV|A|天|%)(?![a-zA-Z\u4e00-\u9fa5])|\d+(?:\.\d+)?\s*(?:米|厘米|毫米|吨|千克|公斤|平方米|立方米)(?!\d))/gu;function v(a){let b,c=[["市政",/市政|管网|排水|给水|雨污|污水|燃气/gu],["公路",/公路|路基|路面|沥青/gu],["桥梁与隧道",/桥梁|隧道/gu],["水利水电",/水利|河道|灌溉|防洪/gu],["电力",/电力|供配电|电压|电缆/gu],["机电安装",/机电|暖通|通风|空调|消防|给排水|智能化|电梯/gu],["装饰装修",/装饰|装修|幕墙/gu],["园林绿化",/园林|绿化|景观|苗木/gu],["铁路",/铁路|轨道/gu],["港口与航道",/港口|航道/gu],["矿山冶金",/矿山|冶金/gu],["房建",/房建|建筑|住宅|楼|结构|砌体|基坑|地下室|主体|层高|户型|公共建筑|产业园|厂房/gu]].map(([b,c])=>(c.lastIndex=0,{type:b,count:(a.match(c)||[]).length})).sort((a,b)=>b.count-a.count),d=c[0],e=0,f=0;for(let[c,d]of[["房建",/产业园|标准厂房|安置房|住宅小区|保障房|卫生院|门诊楼|办公楼/gu],["市政",/老旧小区|海绵城市|雨污分流|管网改造|管廊/gu],["桥梁与隧道",/桥梁|隧道|盾构|箱梁|斜拉|悬索|涵洞/gu],["公路",/公路|路基|路面|沥青|桩号|互通|匝道/gu],["水利水电",/堤防|水库|泵站|水闸|疏浚|节制闸|水电站|大坝|围堰/gu],["电力",/变电站|输电线路|配电|GIS设备|电缆|架空线路|铁塔|箱变/gu],["铁路",/铁路|轨道|道床|站台|信号机|接触网/gu],["港口与航道",/港口|码头|航道|护岸|堆场|泊位/gu],["矿山冶金",/矿山|矿井|选矿|冶炼|尾矿|轧钢/gu]]){d.lastIndex=0;let g=(a.match(d)||[]).length;g>=3&&g>e?(f=e,b=c,e=g):g>f&&(f=g)}if(b){if(f>0&&e<2*f&&d&&d.count>e)return d.type;let a=c.find(a=>a.type===b)?.count||0;return d&&d.type!==b&&d.count>2*a&&d.count>=2*e?d.type:b}return d&&d.count>0?d.type:"其他"}function w(a){let b=a.replace(/\s/gu,"").length,c=a.split(/\n+/u).map(a=>a.replace(/\s+/gu," ").trim()).filter(a=>a.length>=16&&/[\u4e00-\u9fa5]/u.test(a)),d=c.reduce((a,b)=>a+b.replace(/\s/gu,"").length,0),n=(a.match(e)||[]).length,v=c.filter(a=>f.test(a)).length,w=function(a){let b=0,c=a.split(/\n+/u);for(let a=0;a<c.length;a+=1){let d=p(c[a]||"");if(d){if(g.test(d)||/^┌─/u.test(d)){b+=1;continue}if(/^\|.*\|.*\|$/u.test(d)){let d="";for(let b=a-1;b>=0&&b>=a-3;b-=1){let a=p(c[b]||"");if(a){d=a;break}}/^\|.*\|.*\|$/u.test(d)||g.test(d)||(b+=1)}}}return b}(a),{headings:x,useCnAsChapter:y}=function(a){let b,c=new Map,d=[],e=[],f=a.split(/\n+/u);for(let a=0;a<f.length;a+=1){let b=p(f[a]);if(!b||m.test(b))continue;let d=h.exec(b);if(d){let b=q(d[2]||"");b.length>=2&&!o.test(b)&&c.set(d[1],function(a,b,c){if(a.length<20)return a;let d=p(b[c+1]||"");if(d.length<2||d.length>15||!/[\u4e00-\u9fa5]/u.test(d)||m.test(d)||h.test(d)||k.test(d)||l.test(d)||i.test(d)||j.test(d))return a;let e=a+d;return e.length<=60?e:a}(b,f,a));continue}let g=j.exec(b);if(g){let a=q(g[1]||"");r(a)&&e.push(a)}}if(0===c.size)for(let a of f){let b=p(a);if(!b||m.test(b))continue;let c=i.exec(b);if(c){let a=q(c[1]||"");r(a)&&d.push(a)}}let g=!1;return c.size>0?b=[...c.entries()].sort((a,b)=>s(a[0])-s(b[0])).map(([,a])=>a):d.length>=2?b=d:(b=e,g=!0),{headings:[...new Set(b)],useCnAsChapter:g}}(a),z=x.length,{subsectionCount:A,subitemCount:B}=function(a,b){let c=0,d=0;for(let e of a.split(/\n+/u)){let a=p(e);if(!a||m.test(a))continue;let f=k.exec(a);if(f){r(q(f[1]||""))&&(c+=1);continue}let g=l.exec(a);if(g){if(!r(q(g[1]||g[2]||g[3]||""))||b&&void 0!==g[1])continue;d+=1}}return{subsectionCount:c,subitemCount:d}}(a,y),C=new Map;for(let a of c){let b=a.replace(/[\d\s,。、;:""''()()%…—\-·]/gu,"");b.length<8||C.set(b,(C.get(b)||0)+1)}let D=0;for(let a of C.values())a>1&&(D+=a);return{wordCount:b,effectiveWordCount:d,paramDensity:d>0?1e3*n/d:0,paramCount:n,arrowChainCoverage:c.length>0?v/c.length:0,duplicationRate:c.length>0?D/c.length:0,tableCount:w,sectionCount:z,subsectionCount:A,subitemCount:B,avgSectionWords:z>0?Math.round(d/z):0,headingStructure:x,tableTitles:function(a){let b=[];for(let c of a.split(/\n+/u)){let a=p(c);a&&!(a.length>40)&&!(a.length<3)&&g.test(a)&&b.push(a)}return[...new Set(b)]}(a),paramTokens:function(a){let b=new Map;for(let c of a.match(t)||[])b.set(c,(b.get(c)||0)+1);let c=(a.match(u)||[]).length;return c>0&&b.set("数值参数(数字+单位)",(b.get("数值参数(数字+单位)")||0)+c),[...b.entries()].map(([a,b])=>({token:a,count:b})).sort((a,b)=>b.count-a.count)}(a),segmentCount:c.length,arrowChainSegmentCount:v,duplicatedSegmentCount:D}}},42484:(a,b,c)=>{c.d(b,{$g:()=>u,$v:()=>C,Ah:()=>v,Al:()=>D,H1:()=>m,Hd:()=>t,Q3:()=>w,Uv:()=>q,hK:()=>B,pR:()=>s,ze:()=>F});var d=c(73024),e=c(48161),f=c(76760),g=c(19898),h=c(28103);function i(){let a=f.join(e.homedir(),".customize-agent","template-references");return d.mkdirSync(f.join(a,"files"),{recursive:!0}),a}function j(){return f.join(i(),"references.json")}function k(){try{let a=j();if(!d.existsSync(a))return[];let b=JSON.parse(d.readFileSync(a,"utf-8"));return Array.isArray(b)?b:[]}catch{return[]}}function l(a){d.writeFileSync(j(),JSON.stringify(a,null,2),"utf-8")}function m(){return k().sort((a,b)=>b.uploadedAt-a.uploadedAt)}function n(a){return m().filter(b=>b.projectType===a)}async function o(a){let b=d.statSync(a),c=new g.FileClassifier().classify(a,f.basename(a),b),e=new g.ContentExtractor,h=((await e.extract(c)).text||"").trim();if(!h)throw Error("文件未能提取到有效文本(可能是扫描件或加密文件)");return h}let p=null;function q(){return p??=r().finally(()=>{p=null})}async function r(){let a=k(),b=a.filter(a=>"ready"===a.status&&2!==a.profileVersion);if(0===b.length)return;let c=!1;for(let a of b){let b=f.join(i(),a.filePath);if(d.existsSync(b))try{let d=await o(b);a.qualityProfile=(0,h.WT)(d),a.profileVersion=2,c=!0}catch{}}c&&l(a)}async function s(a){let b=i(),c=`ref-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,e=f.extname(a.fileName)||".pdf",g=`${c}${e.toLowerCase()}`,j=f.join(b,"files",g);d.copyFileSync(a.tempFilePath,j);let m=d.statSync(j).size,n={id:c,fileName:a.fileName,projectType:a.projectType||"其他",typeSource:a.projectType?"manual":"auto",uploadedAt:Date.now(),fileSize:m,filePath:f.join("files",g),status:"parsing"},p=k();p.push(n),l(p);try{let a=await o(j);n.qualityProfile=(0,h.WT)(a),n.profileVersion=2,n.status="ready","auto"===n.typeSource&&(n.projectType=(0,h.aF)(a)),l(p)}catch(a){n.status="failed",n.errorMessage=a instanceof Error?a.message:"解析失败",l(p)}return n}function t(a){let b=k(),c=b.find(b=>b.id===a);if(!c)return!1;l(b.filter(b=>b.id!==a));let e=f.join(i(),c.filePath);try{d.existsSync(e)&&d.unlinkSync(e)}catch{}return!0}function u(a,b){let c=k(),d=c.find(b=>b.id===a);if(d)return d.projectType=b,d.typeSource="manual",l(c),d}function v(a){let b=n(a).filter(a=>"ready"===a.status&&a.qualityProfile);if(0===b.length)return;let c=b.map(a=>a.qualityProfile),d=A(c),e=c[0];return{profile:{wordCount:x(c.map(a=>a.wordCount)),effectiveWordCount:x(c.map(a=>a.effectiveWordCount)),paramDensity:d.paramDensity.avg,paramCount:Math.round(x(c.map(a=>a.paramCount))),arrowChainCoverage:d.arrowChainCoverage.avg,duplicationRate:d.duplicationRate.avg,tableCount:Math.round(d.tableCount.avg),sectionCount:Math.round(d.sectionCount.avg),subsectionCount:Math.round(d.subsectionCount.avg),subitemCount:Math.round(d.subitemCount.avg),avgSectionWords:d.avgSectionWords.avg,headingStructure:e.headingStructure,tableTitles:e.tableTitles,paramTokens:e.paramTokens,segmentCount:Math.round(x(c.map(a=>a.segmentCount||0))),arrowChainSegmentCount:Math.round(x(c.map(a=>a.arrowChainSegmentCount||0))),duplicatedSegmentCount:Math.round(x(c.map(a=>a.duplicatedSegmentCount||0)))},sourceCount:b.length}}function w(a){let b=n(a).filter(a=>"ready"===a.status&&a.qualityProfile?.headingStructure?.length);if(0!==b.length)return{text:z(b.map(a=>(a.qualityProfile.headingStructure||[]).map(a=>({value:a})))).slice(0,12).map(a=>a.value).map((a,b)=>`第${["一","二","三","四","五","六","七","八","九","十","十一","十二"][b]??b+1}章 ${a}`).join("\n"),sourceCount:b.length}}function x(a){return a.length>0?a.reduce((a,b)=>a+b,0)/a.length:0}function y(a){return{avg:x(a),min:a.length?Math.min(...a):0,max:a.length?Math.max(...a):0}}function z(a){let b=new Map;for(let c of a)for(let a of c)b.set(a.value,(b.get(a.value)||0)+(a.weight??1));return[...b.entries()].map(([a,b])=>({value:a,count:b})).sort((a,b)=>b.count-a.count)}function A(a){if(0===a.length){let a={avg:0,min:0,max:0};return{paramDensity:{...a},arrowChainCoverage:{...a},duplicationRate:{...a},tableCount:{...a},sectionCount:{...a},subsectionCount:{...a},subitemCount:{...a},avgSectionWords:{avg:0}}}let b=a.map(a=>a.paramDensity),c=a.map(a=>a.arrowChainCoverage),d=a.map(a=>a.duplicationRate),e=a.reduce((a,b)=>a+(b.effectiveWordCount||b.wordCount),0),f=a.reduce((a,b)=>a+b.paramCount,0),g=a.reduce((a,b)=>a+(b.segmentCount||0),0),h=a.reduce((a,b)=>a+(b.arrowChainSegmentCount||0),0),i=a.reduce((a,b)=>a+(b.duplicatedSegmentCount||0),0),j=a.reduce((a,b)=>a+b.sectionCount,0);return{paramDensity:{avg:e>0?1e3*f/e:0,min:Math.min(...b),max:Math.max(...b)},arrowChainCoverage:{avg:g>0?h/g:0,min:Math.min(...c),max:Math.max(...c)},duplicationRate:{avg:g>0?i/g:0,min:Math.min(...d),max:Math.max(...d)},tableCount:y(a.map(a=>a.tableCount)),sectionCount:y(a.map(a=>a.sectionCount)),subsectionCount:y(a.map(a=>a.subsectionCount||0)),subitemCount:y(a.map(a=>a.subitemCount||0)),avgSectionWords:{avg:j>0?Math.round(e/j):0}}}function B(){let a=m().filter(a=>"ready"===a.status&&a.qualityProfile),b=new Map;for(let c of a){let a=b.get(c.projectType)||[];a.push(c),b.set(c.projectType,a)}let c=[];for(let[a,d]of b){let b=d.map(a=>a.qualityProfile),e=z(b.map(a=>(a.headingStructure||[]).map(a=>({value:a})))),f=z(b.map(a=>(a.tableTitles||[]).map(a=>({value:a})))),g=z(b.map(a=>(a.paramTokens||[]).map(a=>({value:a.token,weight:a.count}))));c.push({projectType:a,sourceCount:d.length,totalWords:b.reduce((a,b)=>a+b.wordCount,0),updatedAt:Math.max(...d.map(a=>a.uploadedAt)),metrics:A(b),typicalHeadings:e.slice(0,16).map(a=>({title:a.value,count:a.count,ratio:d.length>0?Math.min(1,a.count/d.length):0})),commonTables:f.slice(0,10).map(a=>({title:a.value,count:a.count})),frequentParams:g.slice(0,12).map(a=>({token:a.value,count:a.count}))})}return c.sort((a,b)=>b.sourceCount-a.sourceCount)}function C(a){let b=(0,h.aF)([a.templateName,...a.chapterTitles,a.requirement].filter(Boolean).join(" ")),c=n(b).filter(a=>"ready"===a.status&&a.qualityProfile);if(0===c.length)return[];let d=c.map(a=>a.qualityProfile),e=c.length,f=x(d.map(a=>a.wordCount)),g=f>0?Math.max(.3,Math.min(2,a.targetWords/f)):1,i=z(d.map(a=>(a.headingStructure||[]).map(a=>({value:a})))).filter(a=>a.count>=Math.ceil(e/2)).slice(0,12),j=z(d.map(a=>(a.paramTokens||[]).map(a=>({value:a.token,weight:a.count})))),k=[`同类工程(${b})参考特征(来自 ${e} 份优秀入围文件画像,仅供软性参考;任何项目专属数字与参数仍必须以知识库证据为准,为对齐特征而编造参数、虚构表格或堆砌无意义内容严格禁止):`],l=A(d),m=l.paramDensity.avg,o=l.arrowChainCoverage.avg,p=l.sectionCount.avg>0?l.tableCount.avg/l.sectionCount.avg:0,q=l.avgSectionWords.avg;return k.push(`- 工艺参数密度参考:约 ${(m*g).toFixed(1)} 个/千字(同类工程画像均值 ${m.toFixed(1)},已按本项目篇幅折减);参数应来自已确认事实与专业知识,不得编造。`),k.push(`- 工序链覆盖率参考:含"→"工序链的段落占比约 ${Math.round(100*o)}%;施工与流程小节宜用工序链串联工艺步骤。`),k.push(`- 表格参考:同类工程平均每章约 ${p.toFixed(1)} 张正式表格(在事实允许的前提下合理配置)。`),k.push(`- 章节体量参考:同类工程平均约 ${Math.round(l.sectionCount.avg)} 章、平均每章约 ${q} 字;实际以模板章节与篇幅目标为准。`),i.length>0&&k.push(`- 典型章节结构参考(出现于半数以上样本,仅供结构参考,不强制):${i.map(a=>a.value).join("、")}`),j.length>0&&k.push(`- 高频工艺参数种类参考:${j.slice(0,12).map(a=>a.value).join("、")}(同类型优秀样本中出现频次最高的工艺参数词条,施工方法小节可按专业实际与通用规范自然使用这些参数种类;项目专属数值必须来自知识库证据,不得为凑密度编造)。`),k}function D(a){let b=n((0,h.aF)([a.templateName,...a.chapterTitles,a.requirement].filter(Boolean).join(" "))).filter(a=>"ready"===a.status&&a.qualityProfile);if(0===b.length)return[];let c=b.map(a=>a.qualityProfile),d=Math.ceil(b.length/2),e=new Map,f=new Map;for(let a of c){let b=new Set;(a.headingStructure||[]).forEach((a,c)=>{if(f.set(a,(f.get(a)||0)+1),b.has(a))return;b.add(a);let d=e.get(a)||{sum:0,count:0};d.sum+=c,d.count+=1,e.set(a,d)})}let g=[...f.entries()].filter(([,a])=>a>=d).sort((a,b)=>{let c=e.get(a[0]),d=e.get(b[0]);return c.sum/c.count-d.sum/d.count}).map(([a])=>a).slice(0,10),i=c.reduce((a,b)=>a+b.sectionCount,0),j=c.reduce((a,b)=>a+(b.subsectionCount||0),0),k=c.reduce((a,b)=>a+(b.subitemCount||0),0),l=["- 写法骨架参考(同类优秀样本的展开模式,仅供结构参照;样本中的任何数值与原文句子都不得复制):"];g.length>=3&&l.push(`- 章节推进骨架:${g.join(" → ")}(出现于半数以上样本的一级章节按典型顺序排列,仅作结构参照,不强制)。`),i>0&&l.push(`- 分层展开深度:同类样本平均每章约 ${(j/i).toFixed(1)} 个二级小节、${(k/i).toFixed(1)} 个三级子目——范文把方案分层展开到具体措施条目,而不是整段综述概括。`);let m=g.filter(a=>/施工方案|施工方法|施工内容|施工部署|分部分项/u.test(a)).slice(0,4);return m.length>0&&l.push(`- 方案章节典型组织:同类样本中方案类章节以「${m.join("」「")}」等标题独立成章,逐分项展开,不并入项目概况章节。`),l.push("- 分部分项展开模式:同类样本按“施工概况(作业对象、部位、工程量)→工艺流程(→串联关键工序)→施工方法(工具机具、材料规格、工艺参数、验收标准)”三段逐分项展开;方法段正文以“→”串联连续工序链,工艺参数落位在方法叙述中而非单独罗列清单。"),l}function E(a){return a.replace(/^第[一二三四五六七八九十百千\d]+[章节篇][、..]?\s*/u,"").replace(/^\d+(?:\.\d+)*[、..]?\s*/u,"").trim()}function F(a){let b=(0,h.aF)([a.templateName,...a.chapterTitles].join(" ")),c=n(b).filter(a=>"ready"===a.status&&a.qualityProfile);if(0===c.length)return;let d=z(c.map(a=>a.qualityProfile).map(a=>(a.headingStructure||[]).map(a=>({value:a})))),e=new Set(a.chapterTitles.map(E)),f=d.filter(a=>a.count>=Math.ceil(c.length/2)).filter(a=>!e.has(E(a.value))).slice(0,6).map(a=>({title:a.value,ratio:Math.min(1,a.count/c.length)}));return f.length>0?{projectType:b,sourceCount:c.length,missingHeadings:f}:void 0}}};
1
+ "use strict";exports.id=2484,exports.ids=[2484],exports.modules={28103:(a,b,c)=>{c.d(b,{WT:()=>w,aF:()=>v,cG:()=>d});let d=["房建","市政","公路","桥梁与隧道","水利水电","电力","机电安装","装饰装修","园林绿化","铁路","港口与航道","矿山冶金","其他"],e=/(?:\d+(?:\.\d+)?\s*(?:mm|cm|m|㎡|m²|m2|m3|m³|kg|t|MPa|kPa|kN|V|KV|kV|A|天|%)(?![a-zA-Z\u4e00-\u9fa5])|\d+(?:\.\d+)?\s*(?:米|厘米|毫米|吨|千克|公斤|平方米|立方米)(?!\d)|(?:养护|搭接长度|试验压力|间距|偏差|坡度|含水率|压实度|强度等级|标号|厚度|宽度|高度|深度|直径|桩长|桩径))/gu,f=/→|->/u,g=/^(?:[一二三四五六七八九十\d]+[、..]?\s*)?[\u4e00-\u9fa5()()、,A-Za-z0-9+\-·\s]{2,28}(?:表|清单)(?:[::]|\s*$)/mu,h=/^第([一二三四五六七八九十百千\d]+)[章篇][、..]?\s*(.{2,60})$/mu,i=/^\d+[、..](?!\d)\s*(.{2,20})$/mu,j=/^[一二三四五六七八九十]+[、..]\s*(.{2,20})$/mu,k=/^第[一二三四五六七八九十\d]+[节条][、..]?\s*(.{2,30})$/mu,l=/^(?:[一二三四五六七八九十]+、\s*(.{2,20})|[((][一二三四五六七八九十\d]+[))]\s*(.{2,20})|\d+\.\d+(?:\.\d+)*[、..\s]\s*(.{2,20}))$/mu,m=/\.{4,}|\.{2,}\s*\d{1,3}\s*$|—\d+—|第\s*\d+\s*页|^\d{1,3}$/u,n=/[,、;:]/u,o=/[,。;:?!]/u;function p(a){return a.trim().replace(/^(?:#+\s*)+/u,"").trim()}function q(a){return a.replace(/[\s..·]+\d{1,3}$/u,"").replace(/\s+/gu,"").trim()}function r(a){return a.length>=2&&!n.test(a)&&!/[。,;]$/u.test(a)}function s(a){if(/^\d+$/u.test(a))return Number.parseInt(a,10);let b={零:0,一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9},c=0,d=0,e=!1;for(let f of a){if("十"===f){c+=10*(d||1),d=0,e=!0;continue}if("百"===f){c+=100*(d||1),d=0,e=!0;continue}if("千"===f){c+=1e3*(d||1),d=0,e=!0;continue}let a=b[f];if(void 0===a)return Number.MAX_SAFE_INTEGER;d=a,e=!0}return e?c+d:Number.MAX_SAFE_INTEGER}let t=/(?:养护|搭接长度|试验压力|间距|偏差|坡度|含水率|压实度|强度等级|标号|厚度|宽度|高度|深度|直径|桩长|桩径)/gu,u=/(?:\d+(?:\.\d+)?\s*(?:mm|cm|m|㎡|m²|m2|m3|m³|kg|t|MPa|kPa|kN|V|KV|kV|A|天|%)(?![a-zA-Z\u4e00-\u9fa5])|\d+(?:\.\d+)?\s*(?:米|厘米|毫米|吨|千克|公斤|平方米|立方米)(?!\d))/gu;function v(a){let b,c=[["市政",/市政|管网|排水|给水|雨污|污水|燃气/gu],["公路",/公路|路基|路面|沥青/gu],["桥梁与隧道",/桥梁|隧道/gu],["水利水电",/水利|河道|灌溉|防洪/gu],["电力",/电力|供配电|电压|电缆/gu],["机电安装",/机电|暖通|通风|空调|消防|给排水|智能化|电梯/gu],["装饰装修",/装饰|装修|幕墙/gu],["园林绿化",/园林|绿化|景观|苗木/gu],["铁路",/铁路|轨道/gu],["港口与航道",/港口|航道/gu],["矿山冶金",/矿山|冶金/gu],["房建",/房建|建筑|住宅|楼|结构|砌体|基坑|地下室|主体|层高|户型|公共建筑|产业园|厂房/gu]].map(([b,c])=>(c.lastIndex=0,{type:b,count:(a.match(c)||[]).length})).sort((a,b)=>b.count-a.count),d=c[0],e=0,f=0;for(let[c,d]of[["房建",/产业园|标准厂房|安置房|住宅小区|保障房|卫生院|门诊楼|办公楼/gu],["市政",/老旧小区|海绵城市|雨污分流|管网改造|管廊/gu],["桥梁与隧道",/桥梁|隧道|盾构|箱梁|斜拉|悬索|涵洞/gu],["公路",/公路|路基|路面|沥青|桩号|互通|匝道/gu],["水利水电",/堤防|水库|泵站|水闸|疏浚|节制闸|水电站|大坝|围堰/gu],["电力",/变电站|输电线路|配电|GIS设备|电缆|架空线路|铁塔|箱变/gu],["铁路",/铁路|轨道|道床|站台|信号机|接触网/gu],["港口与航道",/港口|码头|航道|护岸|堆场|泊位/gu],["矿山冶金",/矿山|矿井|选矿|冶炼|尾矿|轧钢/gu]]){d.lastIndex=0;let g=(a.match(d)||[]).length;g>=3&&g>e?(f=e,b=c,e=g):g>f&&(f=g)}if(b){if(f>0&&e<2*f&&d&&d.count>e)return d.type;let a=c.find(a=>a.type===b)?.count||0;return d&&d.type!==b&&d.count>2*a&&d.count>=2*e?d.type:b}return d&&d.count>0?d.type:"其他"}function w(a){let b=a.replace(/\s/gu,"").length,c=a.split(/\n+/u).map(a=>a.replace(/\s+/gu," ").trim()).filter(a=>a.length>=16&&/[\u4e00-\u9fa5]/u.test(a)),d=c.reduce((a,b)=>a+b.replace(/\s/gu,"").length,0),n=(a.match(e)||[]).length,v=c.filter(a=>f.test(a)).length,w=function(a){let b=0,c=a.split(/\n+/u);for(let a=0;a<c.length;a+=1){let d=p(c[a]||"");if(d){if(g.test(d)||/^┌─/u.test(d)){b+=1;continue}if(/^\|.*\|.*\|$/u.test(d)){let d="";for(let b=a-1;b>=0&&b>=a-3;b-=1){let a=p(c[b]||"");if(a){d=a;break}}/^\|.*\|.*\|$/u.test(d)||g.test(d)||(b+=1)}}}return b}(a),{headings:x,useCnAsChapter:y}=function(a){let b,c=new Map,d=[],e=[],f=a.split(/\n+/u);for(let a=0;a<f.length;a+=1){let b=p(f[a]);if(!b||m.test(b))continue;let d=h.exec(b);if(d){let b=q(d[2]||"");b.length>=2&&!o.test(b)&&c.set(d[1],function(a,b,c){if(a.length<20)return a;let d=p(b[c+1]||"");if(d.length<2||d.length>15||!/[\u4e00-\u9fa5]/u.test(d)||m.test(d)||h.test(d)||k.test(d)||l.test(d)||i.test(d)||j.test(d))return a;let e=a+d;return e.length<=60?e:a}(b,f,a));continue}let g=j.exec(b);if(g){let a=q(g[1]||"");r(a)&&e.push(a)}}if(0===c.size)for(let a of f){let b=p(a);if(!b||m.test(b))continue;let c=i.exec(b);if(c){let a=q(c[1]||"");r(a)&&d.push(a)}}let g=!1;return c.size>0?b=[...c.entries()].sort((a,b)=>s(a[0])-s(b[0])).map(([,a])=>a):d.length>=2?b=d:(b=e,g=!0),{headings:[...new Set(b)],useCnAsChapter:g}}(a),z=x.length,{subsectionCount:A,subitemCount:B}=function(a,b){let c=0,d=0;for(let e of a.split(/\n+/u)){let a=p(e);if(!a||m.test(a))continue;let f=k.exec(a);if(f){r(q(f[1]||""))&&(c+=1);continue}let g=l.exec(a);if(g){if(!r(q(g[1]||g[2]||g[3]||""))||b&&void 0!==g[1])continue;d+=1}}return{subsectionCount:c,subitemCount:d}}(a,y),C=new Map;for(let a of c){let b=a.replace(/[\d\s,。、;:""''()()%…—\-·]/gu,"");b.length<8||C.set(b,(C.get(b)||0)+1)}let D=0;for(let a of C.values())a>1&&(D+=a);return{wordCount:b,effectiveWordCount:d,paramDensity:d>0?1e3*n/d:0,paramCount:n,arrowChainCoverage:c.length>0?v/c.length:0,duplicationRate:c.length>0?D/c.length:0,tableCount:w,sectionCount:z,subsectionCount:A,subitemCount:B,avgSectionWords:z>0?Math.round(d/z):0,headingStructure:x,tableTitles:function(a){let b=[];for(let c of a.split(/\n+/u)){let a=p(c);a&&!(a.length>40)&&!(a.length<3)&&g.test(a)&&b.push(a)}return[...new Set(b)]}(a),paramTokens:function(a){let b=new Map;for(let c of a.match(t)||[])b.set(c,(b.get(c)||0)+1);let c=(a.match(u)||[]).length;return c>0&&b.set("数值参数(数字+单位)",(b.get("数值参数(数字+单位)")||0)+c),[...b.entries()].map(([a,b])=>({token:a,count:b})).sort((a,b)=>b.count-a.count)}(a),segmentCount:c.length,arrowChainSegmentCount:v,duplicatedSegmentCount:D}}},42484:(a,b,c)=>{c.d(b,{$g:()=>v,$v:()=>D,Ah:()=>w,Al:()=>E,H1:()=>n,Hd:()=>u,Q3:()=>x,Uv:()=>r,fz:()=>k,hK:()=>C,pR:()=>t,ze:()=>G});var d=c(73024),e=c(48161),f=c(76760),g=c(19898),h=c(28103);function i(){let a=f.join(e.homedir(),".customize-agent","template-references");return d.mkdirSync(f.join(a,"files"),{recursive:!0}),a}function j(){return f.join(i(),"references.json")}function k(a){return o(a).flatMap(a=>a.textSlices||[])}function l(){try{let a=j();if(!d.existsSync(a))return[];let b=JSON.parse(d.readFileSync(a,"utf-8"));return Array.isArray(b)?b:[]}catch{return[]}}function m(a){d.writeFileSync(j(),JSON.stringify(a,null,2),"utf-8")}function n(){return l().sort((a,b)=>b.uploadedAt-a.uploadedAt)}function o(a){return n().filter(b=>b.projectType===a)}async function p(a){let b=d.statSync(a),c=new g.FileClassifier().classify(a,f.basename(a),b),e=new g.ContentExtractor,h=((await e.extract(c)).text||"").trim();if(!h)throw Error("文件未能提取到有效文本(可能是扫描件或加密文件)");return h}let q=null;function r(){return q??=s().finally(()=>{q=null})}async function s(){let a=l(),b=a.filter(a=>"ready"===a.status&&2!==a.profileVersion);if(0===b.length)return;let c=!1;for(let a of b){let b=f.join(i(),a.filePath);if(d.existsSync(b))try{let d=await p(b);a.qualityProfile=(0,h.WT)(d),a.profileVersion=2,c=!0}catch{}}c&&m(a)}async function t(a){let b=i(),c=`ref-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,e=f.extname(a.fileName)||".pdf",g=`${c}${e.toLowerCase()}`,j=f.join(b,"files",g);d.copyFileSync(a.tempFilePath,j);let k=d.statSync(j).size,n={id:c,fileName:a.fileName,projectType:a.projectType||"其他",typeSource:a.projectType?"manual":"auto",uploadedAt:Date.now(),fileSize:k,filePath:f.join("files",g),status:"parsing"},o=l();o.push(n),m(o);try{let a=await p(j);n.qualityProfile=(0,h.WT)(a),n.profileVersion=2,n.textSlices=function(a,b=8){let c=a.split(/\n{2,}|\r\n\r\n/u).map(a=>a.replace(/\s+/gu," ").trim()).filter(a=>a.length>=20),d=Math.max(1,Math.floor(c.length/b)),e=[];for(let a=0;a<c.length&&e.length<b;a+=d)e.push(c[a].slice(0,300));return[...new Set(e)]}(a),n.status="ready","auto"===n.typeSource&&(n.projectType=(0,h.aF)(a)),m(o)}catch(a){n.status="failed",n.errorMessage=a instanceof Error?a.message:"解析失败",m(o)}return n}function u(a){let b=l(),c=b.find(b=>b.id===a);if(!c)return!1;m(b.filter(b=>b.id!==a));let e=f.join(i(),c.filePath);try{d.existsSync(e)&&d.unlinkSync(e)}catch{}return!0}function v(a,b){let c=l(),d=c.find(b=>b.id===a);if(d)return d.projectType=b,d.typeSource="manual",m(c),d}function w(a){let b=o(a).filter(a=>"ready"===a.status&&a.qualityProfile);if(0===b.length)return;let c=b.map(a=>a.qualityProfile),d=B(c),e=c[0];return{profile:{wordCount:y(c.map(a=>a.wordCount)),effectiveWordCount:y(c.map(a=>a.effectiveWordCount)),paramDensity:d.paramDensity.avg,paramCount:Math.round(y(c.map(a=>a.paramCount))),arrowChainCoverage:d.arrowChainCoverage.avg,duplicationRate:d.duplicationRate.avg,tableCount:Math.round(d.tableCount.avg),sectionCount:Math.round(d.sectionCount.avg),subsectionCount:Math.round(d.subsectionCount.avg),subitemCount:Math.round(d.subitemCount.avg),avgSectionWords:d.avgSectionWords.avg,headingStructure:e.headingStructure,tableTitles:e.tableTitles,paramTokens:e.paramTokens,segmentCount:Math.round(y(c.map(a=>a.segmentCount||0))),arrowChainSegmentCount:Math.round(y(c.map(a=>a.arrowChainSegmentCount||0))),duplicatedSegmentCount:Math.round(y(c.map(a=>a.duplicatedSegmentCount||0)))},sourceCount:b.length}}function x(a){let b=o(a).filter(a=>"ready"===a.status&&a.qualityProfile?.headingStructure?.length);if(0!==b.length)return{text:A(b.map(a=>(a.qualityProfile.headingStructure||[]).map(a=>({value:a})))).slice(0,12).map(a=>a.value).map((a,b)=>`第${["一","二","三","四","五","六","七","八","九","十","十一","十二"][b]??b+1}章 ${a}`).join("\n"),sourceCount:b.length}}function y(a){return a.length>0?a.reduce((a,b)=>a+b,0)/a.length:0}function z(a){return{avg:y(a),min:a.length?Math.min(...a):0,max:a.length?Math.max(...a):0}}function A(a){let b=new Map;for(let c of a)for(let a of c)b.set(a.value,(b.get(a.value)||0)+(a.weight??1));return[...b.entries()].map(([a,b])=>({value:a,count:b})).sort((a,b)=>b.count-a.count)}function B(a){if(0===a.length){let a={avg:0,min:0,max:0};return{paramDensity:{...a},arrowChainCoverage:{...a},duplicationRate:{...a},tableCount:{...a},sectionCount:{...a},subsectionCount:{...a},subitemCount:{...a},avgSectionWords:{avg:0}}}let b=a.map(a=>a.paramDensity),c=a.map(a=>a.arrowChainCoverage),d=a.map(a=>a.duplicationRate),e=a.reduce((a,b)=>a+(b.effectiveWordCount||b.wordCount),0),f=a.reduce((a,b)=>a+b.paramCount,0),g=a.reduce((a,b)=>a+(b.segmentCount||0),0),h=a.reduce((a,b)=>a+(b.arrowChainSegmentCount||0),0),i=a.reduce((a,b)=>a+(b.duplicatedSegmentCount||0),0),j=a.reduce((a,b)=>a+b.sectionCount,0);return{paramDensity:{avg:e>0?1e3*f/e:0,min:Math.min(...b),max:Math.max(...b)},arrowChainCoverage:{avg:g>0?h/g:0,min:Math.min(...c),max:Math.max(...c)},duplicationRate:{avg:g>0?i/g:0,min:Math.min(...d),max:Math.max(...d)},tableCount:z(a.map(a=>a.tableCount)),sectionCount:z(a.map(a=>a.sectionCount)),subsectionCount:z(a.map(a=>a.subsectionCount||0)),subitemCount:z(a.map(a=>a.subitemCount||0)),avgSectionWords:{avg:j>0?Math.round(e/j):0}}}function C(){let a=n().filter(a=>"ready"===a.status&&a.qualityProfile),b=new Map;for(let c of a){let a=b.get(c.projectType)||[];a.push(c),b.set(c.projectType,a)}let c=[];for(let[a,d]of b){let b=d.map(a=>a.qualityProfile),e=A(b.map(a=>(a.headingStructure||[]).map(a=>({value:a})))),f=A(b.map(a=>(a.tableTitles||[]).map(a=>({value:a})))),g=A(b.map(a=>(a.paramTokens||[]).map(a=>({value:a.token,weight:a.count}))));c.push({projectType:a,sourceCount:d.length,totalWords:b.reduce((a,b)=>a+b.wordCount,0),updatedAt:Math.max(...d.map(a=>a.uploadedAt)),metrics:B(b),typicalHeadings:e.slice(0,16).map(a=>({title:a.value,count:a.count,ratio:d.length>0?Math.min(1,a.count/d.length):0})),commonTables:f.slice(0,10).map(a=>({title:a.value,count:a.count})),frequentParams:g.slice(0,12).map(a=>({token:a.value,count:a.count}))})}return c.sort((a,b)=>b.sourceCount-a.sourceCount)}function D(a){let b=(0,h.aF)([a.templateName,...a.chapterTitles,a.requirement].filter(Boolean).join(" ")),c=o(b).filter(a=>"ready"===a.status&&a.qualityProfile);if(0===c.length)return[];let d=c.map(a=>a.qualityProfile),e=c.length,f=y(d.map(a=>a.wordCount)),g=f>0?Math.max(.3,Math.min(2,a.targetWords/f)):1,i=A(d.map(a=>(a.headingStructure||[]).map(a=>({value:a})))).filter(a=>a.count>=Math.ceil(e/2)).slice(0,12),j=A(d.map(a=>(a.paramTokens||[]).map(a=>({value:a.token,weight:a.count})))),k=[`同类工程(${b})参考特征(来自 ${e} 份优秀入围文件画像,仅供软性参考;任何项目专属数字与参数仍必须以知识库证据为准,为对齐特征而编造参数、虚构表格或堆砌无意义内容严格禁止):`],l=B(d),m=l.paramDensity.avg,n=l.arrowChainCoverage.avg,p=l.sectionCount.avg>0?l.tableCount.avg/l.sectionCount.avg:0,q=l.avgSectionWords.avg;return k.push(`- 工艺参数密度参考:约 ${(m*g).toFixed(1)} 个/千字(同类工程画像均值 ${m.toFixed(1)},已按本项目篇幅折减);参数应来自已确认事实与专业知识,不得编造。`),k.push(`- 工序链覆盖率参考:含"→"工序链的段落占比约 ${Math.round(100*n)}%;施工与流程小节宜用工序链串联工艺步骤。`),k.push(`- 表格参考:同类工程平均每章约 ${p.toFixed(1)} 张正式表格(在事实允许的前提下合理配置)。`),k.push(`- 章节体量参考:同类工程平均约 ${Math.round(l.sectionCount.avg)} 章、平均每章约 ${q} 字;实际以模板章节与篇幅目标为准。`),i.length>0&&k.push(`- 典型章节结构参考(出现于半数以上样本,仅供结构参考,不强制):${i.map(a=>a.value).join("、")}`),j.length>0&&k.push(`- 高频工艺参数种类参考:${j.slice(0,12).map(a=>a.value).join("、")}(同类型优秀样本中出现频次最高的工艺参数词条,施工方法小节可按专业实际与通用规范自然使用这些参数种类;项目专属数值必须来自知识库证据,不得为凑密度编造)。`),k}function E(a){let b=o((0,h.aF)([a.templateName,...a.chapterTitles,a.requirement].filter(Boolean).join(" "))).filter(a=>"ready"===a.status&&a.qualityProfile);if(0===b.length)return[];let c=b.map(a=>a.qualityProfile),d=Math.ceil(b.length/2),e=new Map,f=new Map;for(let a of c){let b=new Set;(a.headingStructure||[]).forEach((a,c)=>{if(f.set(a,(f.get(a)||0)+1),b.has(a))return;b.add(a);let d=e.get(a)||{sum:0,count:0};d.sum+=c,d.count+=1,e.set(a,d)})}let g=[...f.entries()].filter(([,a])=>a>=d).sort((a,b)=>{let c=e.get(a[0]),d=e.get(b[0]);return c.sum/c.count-d.sum/d.count}).map(([a])=>a).slice(0,10),i=c.reduce((a,b)=>a+b.sectionCount,0),j=c.reduce((a,b)=>a+(b.subsectionCount||0),0),k=c.reduce((a,b)=>a+(b.subitemCount||0),0),l=["- 写法骨架参考(同类优秀样本的展开模式,仅供结构参照;样本中的任何数值与原文句子都不得复制):"];g.length>=3&&l.push(`- 章节推进骨架:${g.join(" → ")}(出现于半数以上样本的一级章节按典型顺序排列,仅作结构参照,不强制)。`),i>0&&l.push(`- 分层展开深度:同类样本平均每章约 ${(j/i).toFixed(1)} 个二级小节、${(k/i).toFixed(1)} 个三级子目——范文把方案分层展开到具体措施条目,而不是整段综述概括。`);let m=g.filter(a=>/施工方案|施工方法|施工内容|施工部署|分部分项/u.test(a)).slice(0,4);return m.length>0&&l.push(`- 方案章节典型组织:同类样本中方案类章节以「${m.join("」「")}」等标题独立成章,逐分项展开,不并入项目概况章节。`),l.push("- 分部分项展开模式:同类样本按“施工概况(作业对象、部位、工程量)→工艺流程(→串联关键工序)→施工方法(工具机具、材料规格、工艺参数、验收标准)”三段逐分项展开;方法段正文以“→”串联连续工序链,工艺参数落位在方法叙述中而非单独罗列清单。"),l}function F(a){return a.replace(/^第[一二三四五六七八九十百千\d]+[章节篇][、..]?\s*/u,"").replace(/^\d+(?:\.\d+)*[、..]?\s*/u,"").trim()}function G(a){let b=(0,h.aF)([a.templateName,...a.chapterTitles].join(" ")),c=o(b).filter(a=>"ready"===a.status&&a.qualityProfile);if(0===c.length)return;let d=A(c.map(a=>a.qualityProfile).map(a=>(a.headingStructure||[]).map(a=>({value:a})))),e=new Set(a.chapterTitles.map(F)),f=d.filter(a=>a.count>=Math.ceil(c.length/2)).filter(a=>!e.has(F(a.value))).slice(0,6).map(a=>({title:a.value,ratio:Math.min(1,a.count/c.length)}));return f.length>0?{projectType:b,sourceCount:c.length,missingHeadings:f}:void 0}}};
@@ -11,7 +11,7 @@ ${a.issues.map(a=>`- ${a}`).join("\n")}`,a.chapter.evidence.length?`本章证据
11
11
  ${(0,g.ks)((0,g.QO)({id:a.chapter.id,title:a.chapter.title,purpose:a.chapter.title,queries:[],requiredFacts:[]},a.chapter.evidence),{maxChars:(0,g.Pc)((0,j.V7)(a.chapter.content),5e3,14e3)})}`:"","当前章节 Markdown:",a.chapter.content,c].filter(Boolean).join("\n\n"),{maxTokens:2200,temperature:0,signal:a.signal,diagnostics:a.diagnostics});(0,l.Te)(a.signal);let e=a.chapter.content,h=0;for(let b of Array.isArray(d?.patches)?d.patches:[]){let c=function(a){var b;let c=a.patch.replacement?.trim(),d=(b=a.content,Math.max(2600,Math.min(16e3,Math.ceil(.45*(0,j.V7)(b)))));if(!c||c.length>d||a.forbidDrawingImages&&/!\[[^\]]*\]\([^)]*\)/iu.test(c))return{content:a.content,applied:!1};let e=function(a,b){let c=b.originalText?.trim();if(c&&a.indexOf(c)===a.lastIndexOf(c))return c;let d=b.targetStart?.trim(),e=b.targetEnd?.trim();if(!d||!e)return;let f=a.indexOf(d),g=a.indexOf(e,f+d.length);if(f<0||g<0)return;let h=g+e.length,i=a.slice(f,h);return a.indexOf(i)===a.lastIndexOf(i)?i:void 0}(a.content,a.patch);if(!e||e.length>d)return{content:a.content,applied:!1};let f=(0,i.kT)((0,i.FD)(a.content.replace(e,c),a.forbidDrawingImages));return!function(a,b){let c=(a.match(/```/gu)||[]).length,d=b.replace(/^第[一二三四五六七八九十百千万]+章\s*/u,"").trim();return c%2==0&&(!d||a.includes(d))&&!/^\s*$/u.test(a)}(f,a.title)||(0,j.V7)(f)<Math.floor(.65*(0,j.V7)(a.content))?{content:a.content,applied:!1}:{content:f,applied:f!==a.content}}({content:e,patch:b,title:a.chapter.title,forbidDrawingImages:a.forbidDrawingImages});e=c.content,c.applied&&(h+=1)}return{content:e,appliedCount:h,repairType:b}}function q(a,b,c){return function(a,b){let c=e.resolve(a),f=function(a,b){let c=e.resolve(a);if(e.isAbsolute(b))return e.resolve(b);let f=e.resolve(c,"knowledgeBase",b);return d.existsSync(f)?f:e.resolve(c,b)}(c,b);return f===c||f.startsWith(`${c}${e.sep}`)}(a,b)&&c.size>0&&(function(a,b){let c=e.isAbsolute(b)?b:e.join(a,b),d=e.isAbsolute(b)?e.relative(a,b):b;return[b,c,d,e.join(a,d)]})(a,b).some(a=>c.has(a))}function r(a){return a.map(a=>`## [${a.roleId}/${a.category}] ${a.name}
12
12
  ${function(a){let b=a.replace(/```([\s\S]*?)```/gu,(a,b)=>/<OUTLINE>|\|\s*[^\n]+\s*\||#{1,6}\s+|必须|禁止|不得|应当|要求|规则|格式|输出|表格|章节|小节|正文/u.test(b)?`
13
13
  ${b.trim()}
14
- `:"\n【示例代码块已省略:仅作为格式参考,不作为当前文档事实】\n").split(/\r?\n/u),c=[],d=!1,e=!1;for(let a of b){let b=a.trim();if((0,h.bl)(b)&&(e=!0),e){c.push(a),(0,h.Ui)(b)&&(e=!1);continue}let f=/^(?:#+\s*)?(?:示例|样例|范例|例如|参考示例|示例数据|示例正文|示例目录|example|sample)\s*[::]?/iu.test(b),g=/(?:不得|禁止|必须|应当|要求|规则|格式|输出|保留|只返回|不要|表格|章节|小节|正文|目录|封面)/u.test(b);if(f&&!g){c.at(-1)?.includes("示例内容已省略")||c.push("【示例内容已省略:仅作为格式参考,不作为当前文档事实】"),d=!0;continue}if(d){if(!b){d=!1;continue}if(!(/^(?:#+\s*)?(?:规则|要求|输出|格式|禁止|注意|正文|章节|小节|表格|风格|校验)/u.test(b)||/\|\s*[^\n]+\s*\|/u.test(b)))continue;d=!1}c.push(a)}return c.join("\n").replace(/\n{3,}/gu,"\n\n").trim()}(a.content)}`).join("\n\n")}},61373:(a,b,c)=>{c.d(b,{rd:()=>F,KX:()=>G,K7:()=>C,V3:()=>ac,r4:()=>K,rs:()=>ab,Re:()=>v,z1:()=>z,wi:()=>q,bR:()=>L,UG:()=>_,CK:()=>Z,Ed:()=>$,Bl:()=>J,FD:()=>j,kT:()=>E,bx:()=>D,dh:()=>M});var d=c(58965),e=c(22157),f=c(70208);function g(a){return[...a.matchAll(/^##\s+(.+)$/gmu)].map(a=>({index:a.index||0,title:(a[1]||"").trim()}))}function h(a,b){let c="";for(let d of a){if(d.index>b)break;c=d.title}return c}var i=c(98632);function j(a,b){return b?a.replace(/^!\[[^\]]*(?:图纸|drawing|cad|地图|平面|剖面|立面)[^\]]*\]\([^)]*\)\s*$/gimu,"").replace(/\n{3,}/gu,"\n\n"):a}let k=/^.*(?:知识库证据|知识库已确认事实|资料类型|提示词角色|后台自动规范|规范包|事实字段|资料未提供|未检索到|待确认事项|证据来源|来源清单|校验结果|修复任务包|修复类型|修复对象|输出要求|当前项目绑定资料|已召回证据|证据边界|可审查草稿|Reviewer|Repairer).*$(?:\s)?|^.*本节围绕.+确保各项措施与本工程实施条件相匹配。?\s*$(?:\s)?|^.*建立施工准备、过程控制、检查验收和资料归档要求.*$(?:\s)?|^.*形成责任明确、过程可控、资料完整的管理闭环。?\s*$(?:\s)?|^.*确保现场管理要求与施工进度、资源组织和验收节点同步推进。?\s*$(?:\s)?|^\s*(?:管理闭环|责任明确、过程可控、资料完整|与本工程实施条件相匹配)[。;;]?\s*$(?:\s)?/gmu,l=/^\s*(?:#{1,6}\s*)?(?:PDF\s*第\s*\d+\s*页|rule\b|文件[::]|片段[::]|来源[::]).*$/gimu,m=/^\s*(?:[│┃┆┊┌┐└┘├┤┬┴┼─━╭╮╰╯]|[↓↑→←⇒⇨➡])+\s*$/gmu,n=/^#{2,6}\s+(?:\d+(?:\.\d+)*\s*)?(?:[-—–]\s*)?(?:判断|判定|识别|确认)?是否(?:涉及|涉|需要|适用)|^#{2,6}\s+(?:\d+(?:\.\d+)*\s*)?(?:[-—–]\s*)?(?:如|若|如果)(?:涉及|不涉及|适用|不适用)|^#{2,6}\s+.*(?:根据|结合).{0,12}(?:实际情况|项目情况|资料情况).{0,8}(?:判断|确定|编写|生成)|^#{2,6}\s+.*(?:按需(?:生成|编写)|视情况|判断后|生成要求|编写要求|说明要求|注意事项)\s*$/gmu,o=/^(?:\d+(?:\.\d+)*\s*)?(?:[-—–]\s*)?(?:(?:判断|判定|识别|确认)?是否(?:涉及|涉|需要|适用).*|(?:如|若|如果)(?:涉及|不涉及|适用|不适用).*|.*(?:根据|结合).{0,12}(?:实际情况|项目情况|资料情况).{0,8}(?:判断|确定|编写|生成).*|.*(?:按需(?:生成|编写)|视情况|判断后|生成要求|编写要求|说明要求|注意事项))\s*$/u;function p(a){let b=a.replace(/^#{1,6}\s+/u,"").replace(/^\s*\d+(?:\.\d+)*(?:[..、]|\s)+/u,"").replace(/^第[一二三四五六七八九十百千万\d]+[章节篇部分]\s*/u,"").trim(),c=(0,f.GQ)(b);return o.test(b)||o.test(c)}function q(a){return a.replace(/PDF\s*第\s*\d+\s*页/giu,"相关资料").replace(/第\s*\d+\s*页\s*(?:\/|共)\s*\d+\s*页/gu,"").replace(/第\s*\d+\s*(?:[-—至到~~]\s*\d+)?\s*页/gu,"相关资料").replace(/(装饰工程|土建工程|加固工程|给排水工程|电气工程|智能化工程|消防工程|弱电智能化工程|室外道排工程|建筑结构加固工程)\s*(?:(?:施工)?图纸|资料|文件)?\s*[((]?\s*(?:(?:共|多达|约|合计)\s*)?\d+\s*页\s*[))]?/gu,"$1施工图纸").replace(/\d+\s*页\s*(装饰|土建|加固|给排水|电气|智能化|消防|弱电智能化|室外道排|建筑结构加固)\s*(?:专业)?\s*(?:(?:施工)?图纸)?/gu,"$1专业图纸").replace(/(装饰|土建|加固|给排水|电气|智能化|消防|弱电智能化|室外道排|建筑结构加固)\s*(?:专业)?\s*(?:[((]\s*)?\d+\s*页\s*(?:(?:施工)?图纸)?\s*[))]?/gu,"$1专业图纸").replace(/([\u4e00-\u9fa5A-Za-z0-9、及与和]{2,24})\s*(?:共|多达|约|合计)\s*\d+\s*页/gu,"$1相关专业图纸").replace(/([\u4e00-\u9fa5A-Za-z0-9()()、·-]{2,24}工程)\s*(?:图纸|资料|文件)?\s*[((]?\s*(?:(?:共|多达|约|合计)\s*)?\d+\s*页\s*[))]?/gu,"$1施工图纸").replace(/([\u4e00-\u9fa5A-Za-z0-9()()、·-]{2,24})(?<!施工)\s*(?:施工)?图纸\s*[((]?\s*(?:(?:共|多达|约|合计)\s*)?\d+\s*页\s*[))]?/gu,"$1施工图纸").replace(/(给排水|电气|智能化|消防|暖通|人防)\s*[((]\s*\d+\s*页\s*[))]/gu,"$1专业图纸").replace(/(?:依据|按照|结合)?\s*图纸\s*[((]\s*\d+\s*页\s*[))]/gu,"依据相关专业图纸").replace(/(?:依据|按照|结合)?\s*清单\s*[((]?\s*\d+\s*页\s*[))]?/gu,"依据工程量清单").replace(/资料\s*[((]?\s*\d+\s*页\s*[))]?/gu,"项目资料").replace(/[((]?[\u4e00-\u9fa5A-Za-z0-9、及与和]*(?:图纸|清单|资料|文件|工程)?[\u4e00-\u9fa5A-Za-z0-9、及与和]*(?:(?:共|多达|约|合计)\s*)?\d+\s*页[\u4e00-\u9fa5A-Za-z0-9、及与和]*(?:图纸|清单|资料|文件)?[))]?/gu,a=>/图纸|工程|装饰|土建|加固|给排水|电气|智能化|消防/u.test(a)?"相关专业图纸":/清单/u.test(a)?"工程量清单":"相关资料").replace(/(?:位于|详见|见|参见|依据|按照|结合)?\s*相关资料(?:\s*相关资料)+/gu,"相关资料")}let r=String.raw`(?:\d+[.、](?=\s|\*\*)\s*|[((]\d+[))]\s*|[-*+]\s+)`;function s(a){return/^\s*\|/u.test(a)||/^\s*\|?\s*:?-{3,}:?/u.test(a)?a:a.replace(/([。;;])\s*(?=(?:\d+[.、](?=\s|\*\*)\s*|[((]\d+[))]\s*|[-*+]\s+)\S)/gu,"$1\n").replace(/([^\n])\s+(?=(?:\d+[.、](?=\s|\*\*)\s*|[((]\d+[))]\s*|[-*+]\s+)\*\*)/gu,"$1\n")}RegExp(String.raw`\S.+(?:\s|[。;;])${r}\S.+(?:\s|[。;;])${r}\S`,"u");let t=RegExp(`\r?
14
+ `:"\n【示例代码块已省略:仅作为格式参考,不作为当前文档事实】\n").split(/\r?\n/u),c=[],d=!1,e=!1;for(let a of b){let b=a.trim();if((0,h.bl)(b)&&(e=!0),e){c.push(a),(0,h.Ui)(b)&&(e=!1);continue}let f=/^(?:#+\s*)?(?:示例|样例|范例|例如|参考示例|示例数据|示例正文|示例目录|example|sample)\s*[::]?/iu.test(b),g=/(?:不得|禁止|必须|应当|要求|规则|格式|输出|保留|只返回|不要|表格|章节|小节|正文|目录|封面)/u.test(b);if(f&&!g){c.at(-1)?.includes("示例内容已省略")||c.push("【示例内容已省略:仅作为格式参考,不作为当前文档事实】"),d=!0;continue}if(d){if(!b){d=!1;continue}if(!(/^(?:#+\s*)?(?:规则|要求|输出|格式|禁止|注意|正文|章节|小节|表格|风格|校验)/u.test(b)||/\|\s*[^\n]+\s*\|/u.test(b)))continue;d=!1}c.push(a)}return c.join("\n").replace(/\n{3,}/gu,"\n\n").trim()}(a.content)}`).join("\n\n")}},52922:(a,b,c)=>{c.d(b,{Bt:()=>h,JD:()=>z,Pm:()=>n,T4:()=>v,Ye:()=>e,bH:()=>C,gE:()=>q,nY:()=>E});let d=["基本满足","大致符合","力争","原则上","大概","左右","尽可能","尽量满足"];function e(a){return d.filter(b=>a.includes(b)).map(b=>({phrase:b,count:a.split(b).length-1}))}let f=[/一般来说/u,/通常情况下/u,/常规施工/u,/按照规范施工/u,/严格按规范/u,/视情况而定/u,/适当(?:调整|安排)/u,/满足设计要求/u,/确保工程质量/u],g=["精心组织","科学统筹","精益求精","全力保障","高效推进","一流水平","完善体系","最大限度","显著提升","大力落实","严格把控","充分确保","现代化管理","加强管理","提高意识","强化监督","持续完善","提质增效"];function h(a){let b=a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\||[-*+]\s|>)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.trim()).filter(a=>a.length>=12),c=b.filter(a=>g.some(b=>a.includes(b))||f.some(b=>b.test(a))||d.some(b=>a.includes(b))).length,e=b.length?c/b.length:0;return{totalSentences:b.length,fillerSentences:c,ratio:e,level:e>=.4?"heavy":e>=.2?"medium":"light"}}let i=/(?:制定|编制|建立|明确|采用|执行).{0,15}(?:方案|制度|措施|预案)/u,j=/工序|流程|步骤|顺序|工艺/u,k=/项目经理|技术负责人|总工程师|项目负责人|施工员|质检员|质量员|安全员|专职安全员|材料员|资料员|测量员|试验员|电工|文明施工管理员|专业工长|班组长|监理工程师/u,l=/每日|每天|每周|每月|每季度|每旬|每\s*\d+\s*天|不少于\s*\d+\s*次|24\s*小时|随时/u,m=/验收|整改|复查|销项|闭环|复验|复核|检查合格|合格后/u;function n(a){let b=a.split(/\n{2,}/u).filter(a=>a.trim().length>=30),c=0,d=0;for(let a of b)[i,j,k,l,m].filter(b=>b.test(a)).length>=4?c+=1:k.test(a)&&l.test(a)||(d+=1);return{blocks:b.length,completeBlocks:c,incompleteBlocks:d}}let o=/因为|由于|成因|风险来源|主要风险|难点在于|系.*(?:导致|造成)|因.{0,20}(?:深厚|水位|地质|临近|邻近|狭小|交叉)/u,p=/\d+(?:\.\d+)?\s*(?:mm|cm|m|米|℃|%|kN|MPa|次|天|小时|h|Hz|m³)/u;function q(a){let b=(function(a){let b=a.match(/#{2,3}\s*[^\n]*(?:重难点|重点难点|工程难点|难点分析)[^\n]*\n/u);if(!b||void 0===b.index)return"";let c=b.index+b[0].length,d=a.slice(c),e=d.search(/^#{2,3}\s+/mu);return e>=0?d.slice(0,e):d})(a).split(/\n{2,}/u).filter(a=>a.trim().length>=20),c=0,d=0,e=0;for(let a of b){let b=o.test(a),f=p.test(a);b&&(c+=1),f&&(d+=1),b&&f&&(e+=1)}let f=b.length?e/b.length:0;return{countermeasures:b.length,attributed:c,quantified:d,bothCount:e,ratio:f,heavyTemplated:b.length>0&&f<.5}}let r=/建筑业10项新技术|10项新技术|安徽省住房城乡建设领域新技术推广目录|新技术推广目录|建设领域推广/u,s=/替代|取代|淘汰.{0,10}(?:工艺|技术|做法)|(?:较|比).{0,10}(?:传统|常规|普通)/u,t=/(?:提升|提高|节省|节约|降低|缩短|减少).{0,10}(?:效率|工期|成本|损耗|能耗|人工|周期)|升级价值|效益显著/u,u=["BIM","铝模","附着式升降脚手架","跳仓法","直螺纹","装配式","灌浆套筒","自动化监测","智慧工地","再生利用","非开挖","CCTV","碳纤维","薄贴法","干法施工","液压提升","预制","光伏一体化","BIPV","模块化"];function v(a){let b=u.filter(b=>a.includes(b)),c=r.test(a),d=s.test(a),e=t.test(a),f=[c,d,e].filter(Boolean).length;return{found:[...b],catalogCited:c,replaceClaimed:d,upgradeClaimed:e,effective:b.length>0&&f>=2}}let w=[/基坑|沟槽/u,/模板支撑|高支模/u,/脚手架|悬挑|附着式/u,/起重吊装|吊装/u,/幕墙/u,/人工挖孔桩/u,/装配式|钢结构安装/u,/拆除工程/u,/顶管|盾构|暗挖/u,/有限空间|水下作业/u,/吊篮/u,/塔吊|施工电梯|升降机/u,/沉井/u],x=/超危大|超规模|专家论证|一般危大/u,y=/(?:深度|高度|跨度|开挖).{0,8}\d+(?:\.\d+)?\s*(?:m|米)|(?:重量|吊装).{0,8}\d+(?:\.\d+)?\s*(?:kN|千牛)/u;function z(a){let b=w.filter(b=>b.test(a)).map(a=>a.source.replace(/\\u\w*|\\|\(|\||\)/gu,"")),c=x.test(a),d=y.test(a);return{categories:b,graded:c,paramMatched:d,twoStepComplete:b.length>0&&c&&d}}let A=[{name:"总则",pattern:/总则/u},{name:"组织机构及职责",pattern:/应急(?:组织|领导)|组织机构|应急指挥部|应急小组/u},{name:"风险分析与危险源辨识",pattern:/风险分析|危险源辨识|风险辨识/u},{name:"应急物资设备通讯保障",pattern:/应急物资|物资.{0,8}(?:保障|储备)|通讯保障|通信保障/u},{name:"专项应急预案",pattern:/专项应急预案|专项预案/u},{name:"应急响应流程",pattern:/应急响应|响应流程|响应程序/u},{name:"后期处置",pattern:/后期处置|善后|事故调查/u},{name:"培训演练",pattern:/(?:应急)?演练|培训.{0,6}演练/u}],B=["高处坠落","物体打击","坍塌","触电","火灾","起重","防汛","防台风","中暑","中毒窒息","管线破坏"];function C(a){let b=A.filter(b=>b.pattern.test(a)).map(a=>a.name),c=A.filter(b=>!b.pattern.test(a)).map(a=>a.name),d=B.filter(b=>a.includes(b));return{coveredParts:[...b],missingParts:[...c],coverage:b.length/A.length,planHits:[...d]}}let D=[/其他项目/u,/其他标段/u,/其他城市/u,/本公司(?:其他|承建)/u,/某(?:市|县|区|项目)(?:的)?/u,/他项目/u,/兄弟项目/u];function E(a){return D.filter(b=>b.test(a)).map(a=>a.source.replace(/\\u/gu,""))}},61373:(a,b,c)=>{c.d(b,{rd:()=>F,KX:()=>G,K7:()=>C,V3:()=>ac,r4:()=>K,rs:()=>ab,Re:()=>v,z1:()=>z,wi:()=>q,bR:()=>L,UG:()=>_,CK:()=>Z,Ed:()=>$,Bl:()=>J,FD:()=>j,kT:()=>E,bx:()=>D,dh:()=>M});var d=c(58965),e=c(22157),f=c(70208);function g(a){return[...a.matchAll(/^##\s+(.+)$/gmu)].map(a=>({index:a.index||0,title:(a[1]||"").trim()}))}function h(a,b){let c="";for(let d of a){if(d.index>b)break;c=d.title}return c}var i=c(98632);function j(a,b){return b?a.replace(/^!\[[^\]]*(?:图纸|drawing|cad|地图|平面|剖面|立面)[^\]]*\]\([^)]*\)\s*$/gimu,"").replace(/\n{3,}/gu,"\n\n"):a}let k=/^.*(?:知识库证据|知识库已确认事实|资料类型|提示词角色|后台自动规范|规范包|事实字段|资料未提供|未检索到|待确认事项|证据来源|来源清单|校验结果|修复任务包|修复类型|修复对象|输出要求|当前项目绑定资料|已召回证据|证据边界|可审查草稿|Reviewer|Repairer).*$(?:\s)?|^.*本节围绕.+确保各项措施与本工程实施条件相匹配。?\s*$(?:\s)?|^.*建立施工准备、过程控制、检查验收和资料归档要求.*$(?:\s)?|^.*形成责任明确、过程可控、资料完整的管理闭环。?\s*$(?:\s)?|^.*确保现场管理要求与施工进度、资源组织和验收节点同步推进。?\s*$(?:\s)?|^\s*(?:管理闭环|责任明确、过程可控、资料完整|与本工程实施条件相匹配)[。;;]?\s*$(?:\s)?/gmu,l=/^\s*(?:#{1,6}\s*)?(?:PDF\s*第\s*\d+\s*页|rule\b|文件[::]|片段[::]|来源[::]).*$/gimu,m=/^\s*(?:[│┃┆┊┌┐└┘├┤┬┴┼─━╭╮╰╯]|[↓↑→←⇒⇨➡])+\s*$/gmu,n=/^#{2,6}\s+(?:\d+(?:\.\d+)*\s*)?(?:[-—–]\s*)?(?:判断|判定|识别|确认)?是否(?:涉及|涉|需要|适用)|^#{2,6}\s+(?:\d+(?:\.\d+)*\s*)?(?:[-—–]\s*)?(?:如|若|如果)(?:涉及|不涉及|适用|不适用)|^#{2,6}\s+.*(?:根据|结合).{0,12}(?:实际情况|项目情况|资料情况).{0,8}(?:判断|确定|编写|生成)|^#{2,6}\s+.*(?:按需(?:生成|编写)|视情况|判断后|生成要求|编写要求|说明要求|注意事项)\s*$/gmu,o=/^(?:\d+(?:\.\d+)*\s*)?(?:[-—–]\s*)?(?:(?:判断|判定|识别|确认)?是否(?:涉及|涉|需要|适用).*|(?:如|若|如果)(?:涉及|不涉及|适用|不适用).*|.*(?:根据|结合).{0,12}(?:实际情况|项目情况|资料情况).{0,8}(?:判断|确定|编写|生成).*|.*(?:按需(?:生成|编写)|视情况|判断后|生成要求|编写要求|说明要求|注意事项))\s*$/u;function p(a){let b=a.replace(/^#{1,6}\s+/u,"").replace(/^\s*\d+(?:\.\d+)*(?:[..、]|\s)+/u,"").replace(/^第[一二三四五六七八九十百千万\d]+[章节篇部分]\s*/u,"").trim(),c=(0,f.GQ)(b);return o.test(b)||o.test(c)}function q(a){return a.replace(/PDF\s*第\s*\d+\s*页/giu,"相关资料").replace(/第\s*\d+\s*页\s*(?:\/|共)\s*\d+\s*页/gu,"").replace(/第\s*\d+\s*(?:[-—至到~~]\s*\d+)?\s*页/gu,"相关资料").replace(/(装饰工程|土建工程|加固工程|给排水工程|电气工程|智能化工程|消防工程|弱电智能化工程|室外道排工程|建筑结构加固工程)\s*(?:(?:施工)?图纸|资料|文件)?\s*[((]?\s*(?:(?:共|多达|约|合计)\s*)?\d+\s*页\s*[))]?/gu,"$1施工图纸").replace(/\d+\s*页\s*(装饰|土建|加固|给排水|电气|智能化|消防|弱电智能化|室外道排|建筑结构加固)\s*(?:专业)?\s*(?:(?:施工)?图纸)?/gu,"$1专业图纸").replace(/(装饰|土建|加固|给排水|电气|智能化|消防|弱电智能化|室外道排|建筑结构加固)\s*(?:专业)?\s*(?:[((]\s*)?\d+\s*页\s*(?:(?:施工)?图纸)?\s*[))]?/gu,"$1专业图纸").replace(/([\u4e00-\u9fa5A-Za-z0-9、及与和]{2,24})\s*(?:共|多达|约|合计)\s*\d+\s*页/gu,"$1相关专业图纸").replace(/([\u4e00-\u9fa5A-Za-z0-9()()、·-]{2,24}工程)\s*(?:图纸|资料|文件)?\s*[((]?\s*(?:(?:共|多达|约|合计)\s*)?\d+\s*页\s*[))]?/gu,"$1施工图纸").replace(/([\u4e00-\u9fa5A-Za-z0-9()()、·-]{2,24})(?<!施工)\s*(?:施工)?图纸\s*[((]?\s*(?:(?:共|多达|约|合计)\s*)?\d+\s*页\s*[))]?/gu,"$1施工图纸").replace(/(给排水|电气|智能化|消防|暖通|人防)\s*[((]\s*\d+\s*页\s*[))]/gu,"$1专业图纸").replace(/(?:依据|按照|结合)?\s*图纸\s*[((]\s*\d+\s*页\s*[))]/gu,"依据相关专业图纸").replace(/(?:依据|按照|结合)?\s*清单\s*[((]?\s*\d+\s*页\s*[))]?/gu,"依据工程量清单").replace(/资料\s*[((]?\s*\d+\s*页\s*[))]?/gu,"项目资料").replace(/[((]?[\u4e00-\u9fa5A-Za-z0-9、及与和]*(?:图纸|清单|资料|文件|工程)?[\u4e00-\u9fa5A-Za-z0-9、及与和]*(?:(?:共|多达|约|合计)\s*)?\d+\s*页[\u4e00-\u9fa5A-Za-z0-9、及与和]*(?:图纸|清单|资料|文件)?[))]?/gu,a=>/图纸|工程|装饰|土建|加固|给排水|电气|智能化|消防/u.test(a)?"相关专业图纸":/清单/u.test(a)?"工程量清单":"相关资料").replace(/(?:位于|详见|见|参见|依据|按照|结合)?\s*相关资料(?:\s*相关资料)+/gu,"相关资料")}let r=String.raw`(?:\d+[.、](?=\s|\*\*)\s*|[((]\d+[))]\s*|[-*+]\s+)`;function s(a){return/^\s*\|/u.test(a)||/^\s*\|?\s*:?-{3,}:?/u.test(a)?a:a.replace(/([。;;])\s*(?=(?:\d+[.、](?=\s|\*\*)\s*|[((]\d+[))]\s*|[-*+]\s+)\S)/gu,"$1\n").replace(/([^\n])\s+(?=(?:\d+[.、](?=\s|\*\*)\s*|[((]\d+[))]\s*|[-*+]\s+)\*\*)/gu,"$1\n")}RegExp(String.raw`\S.+(?:\s|[。;;])${r}\S.+(?:\s|[。;;])${r}\S`,"u");let t=RegExp(`\r?
15
15
  `,"u"),u=RegExp(`
16
16
  {3,}`,"gu");function v(a){return a.split(t).map(s).join("\n").replace(u,"\n\n")}function w(a){return/^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/u.test(a)}function x(a){let b=a.trim();return/^\|.*\|$/u.test(b)&&b.split("|").length>=3}function y(a){return`| ${Array.from({length:Math.max(2,a)},()=>"---").join(" | ")} |`}function z(a){let b=a.split(/\r?\n/u),c=[],d=0;for(let a=0;a<b.length;a+=1){let e=b[a];if(w(e)){c.push(e);continue}if(!(x(e)||d>0&&function(a){let b=a.trim();return b.startsWith("|")&&b.length>1}(e))){d=0,c.push(e);continue}let f=b[a+1]||"",g=d||e.trim().replace(/^\|/u,"").replace(/\|$/u,"").split(/(?<!\\)\|/u).length;if(c.push(function(a,b){let c=a.trim().replace(/^\|/u,"").replace(/\|$/u,"").split(/(?<!\\)\|/u).map(a=>a.trim());for(;c.length<b;)c.push("");return`| ${c.slice(0,b).join(" | ")} |`}(e,g)),w(f)){c.push(y(g)),d=g,a+=1;continue}!d&&x(f)&&function(a){let b=a.trim().replace(/^\|/u,"").replace(/\|$/u,"").split(/(?<!\\)\|/u).map(a=>a.replace(/\*\*/gu,"").trim());return!(b.length<2)&&b.filter(a=>/^(?:序号|信息项|内容|控制项目|控制内容|执行要求|责任主体|检查(?:与验收)?|验收标准|备注|名称|规格(?:型号)?|单位|数量|阶段|措施|风险|应急物资名称|资源类别|投入计划|管理要求)$/u.test(a)).length>=Math.min(2,b.length)}(e)&&(c.push(y(g)),d=g)}return c.join("\n").replace(/\n{3,}/gu,"\n\n")}let A=/(?:项目部|本项目|本工程)?(?:根据|依据|结合|按照|以)?(?:本项目|项目|[^。;;\n]{0,30}?)?(?:招标文件|补疑澄清文件|补遗澄清文件|补疑补遗|答疑(?:回复)?文件|答疑修正口径|补充答疑修正口径|澄清文件|工程量清单|设计图纸|施工图纸|图纸资料|设计修改通知单)(?:[、,,及和与\s]*(?:招标文件|补疑澄清文件|补遗澄清文件|补疑补遗|答疑(?:回复)?文件|答疑修正口径|补充答疑修正口径|澄清文件|工程量清单|设计图纸|施工图纸|图纸资料|设计修改通知单|现行规范|规范)){1,}(?:[^。;;\n]{0,80})?[,,]/u,B=/编制依据|编制说明|法律法规|规范标准|标准依据/u;function C(a){let b=a.split(/\r?\n/u),c=[],d=!1;for(let a of b){let b=a.trim();if(/^#{2,4}\s+/u.test(b)){d=B.test(b.replace(/^#{2,4}\s+/u,"")),c.push(a);continue}if(/^\s*\|/u.test(b)||d){c.push(a.trimEnd());continue}let e=a.replace(A,"").replace(/(?:施工图设计说明|工程量清单项目特征|补充答疑修正口径|答疑修正口径)(?:[、,,及和与\s]*(?:施工图设计说明|工程量清单项目特征|补充答疑修正口径|答疑修正口径)){1,}/gu,"项目技术文件").replace(/(?:根据|依据|以)(?:[^。;;\n]{0,30})?(?:招标文件|补疑澄清文件|补遗澄清文件|补疑补遗|答疑(?:回复)?文件|答疑修正口径|补充答疑修正口径|澄清文件|工程量清单|设计图纸|施工图纸)(?:[^。;;\n]{0,40})(?:编制|确定|要求|为编制基础)[。;;]?/gu,"").replace(/(?<=\S)\s{2,}(?=\S)/gu," ").trimEnd();/^(?:本节|本小节|本章)?(?:内容|措施)?(?:根据|依据)(?:招标文件|补疑澄清文件|补遗澄清文件|答疑(?:回复)?文件|澄清文件|工程量清单|设计图纸|施工图纸)[^。;;\n]*[。;;]?$/u.test(e.trim())||c.push(e)}return c.join("\n").replace(/\n{3,}/gu,"\n\n")}function D(a){let b=[],c=!1;return a.split(/\r?\n/u).forEach((a,d)=>{let e=a.trim();if(/^#{2,4}\s+/u.test(e)){c=B.test(e.replace(/^#{2,4}\s+/u,""));return}!/^\s*\|/u.test(e)&&(A.test(a)&&!c&&b.push({level:"error",severity:"blocker",category:"style",owner:"system",message:`正式正文不得出现资料来源罗列话术:第 ${d+1} 行`,suggestion:"删除“根据/依据招标文件、清单、图纸”等来源罗列,直接保留项目事实、施工内容和控制措施;编制依据类小节可集中罗列依据文件。"}),/^\s*\*\*[^*]{2,40}表\*\*\s*$/u.test(a)&&b.push({level:"error",severity:"blocker",category:"format",owner:"system",message:`正式正文不得用粗体段落充当表名:第 ${d+1} 行`,suggestion:"表名必须转换为 #### 四级标题,避免导出后混入正文段落。"}))}),b.slice(0,20)}function E(a){return(function(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1){if(!x(b[a])||!w(b[a+1]||"")){c.push(b[a]);continue}let d=[];for(;a<b.length&&x(b[a]);)d.push(b[a]),a+=1;a-=1;let e=d.map(a=>a.trim().replace(/^\|/u,"").replace(/\|$/u,"").split(/(?<!\\)\|/u).map(a=>a.trim())),f=Array.from({length:Math.max(...e.map(a=>a.length))},(a,b)=>e.some((a,c)=>1!==c&&!!a[b]?.trim())),g=e.map((a,b)=>{let c=f.map((b,c)=>b?a[c]||"":null).filter(a=>null!==a);return 1===b?y(c.length):`| ${c.join(" | ")} |`});c.push(...g)}return c.join("\n")})(z(v(q(C(function(a){let b=a.trim(),c=/^```(?:markdown|md)?\s*\n([\s\S]*?)\n```\s*$/iu.exec(b);return c?c[1].trim():a}(a)).replace(/\b(m|㎡)\s*2\b/giu,"平方米").replace(/\bm\s*[²2]\b/giu,"平方米").replace(/\b(m|㎥)\s*3\b/giu,"立方米").replace(/\bm\s*[³3]\b/giu,"立方米").replace(/\bmm2\b/giu,"平方毫米").replace(/\bcm2\b/giu,"平方厘米").replace(/\bkm2\b/giu,"平方千米").replace(/\s*×\s*/gu,"\xd7").replace(/\s*≤\s*/gu,"≤").replace(/\s*≥\s*/gu,"≥").replace(/\s*±\s*/gu,"\xb1"))))).split(/\r?\n/u).map(a=>/^\s*\|/u.test(a)?a.replace(/\s*不适用\s*(?=\|)/gu," "):a).join("\n").replace(/^\*\*([^*\n]{4,40})\*\*\s*$/gmu,(a,b)=>{let c=b.trim();return/[::。!!??,,、]$/u.test(c)||/^(?:注意|提示|备注|警告|说明)/u.test(c)?a:`#### ${c}`}).replace(/承包人案/gu,"方案").replace(/承包人法(?=[::])/gu,"施工方法").replace(/承包人法/gu,"方法").replace(k,"").replace(/(^|\n)---\s*\n+(?=以上内容已依据)/gu,"$1").replace(/^以上内容已依据[\s\S]*?(?=\n\s*\n)/gmu,"").replace(l,"").replace(m,"").replace(n,"").replace(d.tK,"").replace(/^#\s+/gmu,"").replace(d.VX,"").split(/\r?\n/u).filter((a,b,c)=>{let d=b>0?(0,f.GQ)((c[b-1]||"").trim().replace(/^#{1,6}\s+/u,"")):"",e=(0,f.GQ)(a.trim().replace(/^#{1,6}\s+/u,""));if(d&&p(d)&&e.length>0&&e.length<=12&&!/^#{1,6}\s/u.test(a.trim()))return!1;let g=a.trim();if(!g)return!0;if(/该小节围绕.+进行补充说明/u.test(g)||/仅作为内部事实提取依据|正式正文不得引用文件名|后台事实|内部事实/u.test(g))return!1;if(/^\s*\|/u.test(g)||/^\s*\|?\s*:?-{3,}:?/u.test(g))return!0;let h=(0,f.GQ)(g.replace(/^#{1,6}\s+/u,""));return!(/^(?:雨季|冬季|高温|台风|大风等特殊气候|雨季、冬季、高温、台风、大风等特殊气候)$/u.test(h)||h.length<=1||p(h))&&!(/[,、;:和与在为对将]$/u.test(h)||/(通过|包括|如下|主要包括)$/u.test(h))}).join("\n").replace(/\n{3,}/gu,"\n\n").trim()}let F=`以下规则仅用于保障导出格式正确和事实安全,不得覆盖用户在提示词中已明确的要求。
17
17
  不得把”知识库、检索、资料类型、提示词角色、规范包、事实字段、缺失项、校验结果、资料未提供、未检索到”等后台流程话术写入正文。
@@ -71,4 +71,4 @@ ${d}`,g=a.title;let h=e.split(/\r?\n/u),i=!1;return h.filter((a,b)=>{let d=a.tri
71
71
 
72
72
  <div class="page-break"></div>
73
73
 
74
- ${k}`:j.markdown}},98632:(a,b,c)=>{c.d(b,{lQ:()=>f,tf:()=>o,ve:()=>n});var d=c(1358),e=c(78217);let f=["精心组织","科学统筹","科学管理","精益求精","全力保障","高效推进","力争优质","力争一流","一流水平","完善体系","最大限度","显著提升","大力落实","严格把控","充分确保","竭力打造","现代化管理","加强管理","提高意识","强化监督","持续完善","定期检查","及时处理","全方位","系统性","常态化","提质增效","高标准","统筹推进"],g=/项目经理|技术负责人|总工程师|项目负责人|施工员|质检员|质量员|安全员|专职安全员|材料员|资料员|测量员|试验员|电工|文明施工管理员|专业工长/u,h=/每日|每天|每周|每月|每季度|每旬|每\s*\d+\s*天|不少于\s*\d+\s*次|定期/u,i=/整改|复查|销项|闭环|复验|回访/u,j=[/危大|危险性较大/u,/扬尘/u,/实名制/u,/农民工工资|工资专用账户|工资保证金|工资支付|银行代发/u,/应急预案|应急演练|应急响应/u,/绿色施工/u],k=[/辨识|识别/u,/专项施工方案|专项方案/u,/专家论证|论证|审批/u,/交底/u,/监测|监控量测|观测/u,/验收/u,/三级配电/u,/两级保护/u,/漏电保护/u,/实名制/u,/工资专用账户|工资专户|银行代发/u,/应急预案/u,/绿色施工/u],l=/目录|层级|编号|表格|表头|分隔线|跨章|数据一致|数值口径|页码|空小节|缺少|缺失|缺节/u;function m(a){return a.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").replace(/\s+/gu,"").trim()}function n(a){let b=a.split(/\n{2,}/u).filter(a=>a.trim().length>=30),c=b.filter(a=>g.test(a)&&h.test(a)&&i.test(a)).length;return{blocks:b.length,closedLoopBlocks:c}}function o(a){var b,c;return{completeness:function(a,b,c){let d=[...a.matchAll(/^#{1,3}\s+(.+)$/gmu)].map(a=>m(a[1]||"")).filter(a=>a.length>=2),e=1,f=c?.chapters||[];if(f.length>0){let a=f.map(a=>m(a.title)).filter(Boolean);e=a.filter(a=>d.some(b=>b.includes(a)||a.includes(b))).length/a.length}else b.length>0&&(e=b.filter(a=>d.some(b=>b.includes(m(a.title))||m(a.title).includes(b))).length/b.length);return Math.round((.55*e+.45*(j.filter(b=>b.test(a)).length/j.length))*100)}(a.markdown,a.chapters,a.template),specificity:function(a,b,c){let e=c.filter(d.O7),f=e.filter(a=>"used"===a.status),g=e.length?f.length/e.length:1,h=f.map(a=>String(a.value||"").replace(/\s+/gu," ").trim()).filter(a=>a.length>=4&&a.length<=60),i=b.map(a=>(a.content||"").replace(/\s+/gu," ")),j=h.filter(a=>i.filter(b=>b.includes(a)).length>=2).length;return Math.round((.55*g+.45*(h.length?j/h.length:1))*100)}(a.markdown,a.chapters,a.factTraces),compliance:(b=a.markdown,Math.round(k.filter(a=>a.test(b)).length/k.length*100)),executability:function(a){let{closedLoopBlocks:b}=n(a);return Math.round(100*Math.min(1,b/Math.max(6,Math.ceil((0,e.V7)(a)/1500))))}(a.markdown),normalization:Math.max(0,100-8*(c=a.issues).filter(a=>"error"===a.level&&l.test(a.message)).length-Math.min(3*c.filter(a=>"warning"===a.level&&l.test(a.message)).length,30)),uniqueness:function(a){let b=f.filter(b=>a.includes(b)).length,c=a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\||[-*+]\s|>)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/[\s,,、::()()【】[\]《》“”"'`]/gu,"")).filter(a=>a.length>=12);return Math.max(0,Math.round(100-4*b-60*(c.length?(c.length-new Set(c).size)/c.length:0)))}(a.markdown)}}}};
74
+ ${k}`:j.markdown}},98632:(a,b,c)=>{c.d(b,{BH:()=>p,lQ:()=>g,tf:()=>q,ve:()=>o});var d=c(1358),e=c(78217),f=c(52922);let g=["精心组织","科学统筹","科学管理","精益求精","全力保障","高效推进","力争优质","力争一流","一流水平","完善体系","最大限度","显著提升","大力落实","严格把控","充分确保","竭力打造","现代化管理","加强管理","提高意识","强化监督","持续完善","定期检查","及时处理","全方位","系统性","常态化","提质增效","高标准","统筹推进"],h=/项目经理|技术负责人|总工程师|项目负责人|施工员|质检员|质量员|安全员|专职安全员|材料员|资料员|测量员|试验员|电工|文明施工管理员|专业工长/u,i=/每日|每天|每周|每月|每季度|每旬|每\s*\d+\s*天|不少于\s*\d+\s*次|定期/u,j=/整改|复查|销项|闭环|复验|回访/u,k=[/危大|危险性较大/u,/扬尘/u,/实名制/u,/农民工工资|工资专用账户|工资保证金|工资支付|银行代发/u,/应急预案|应急演练|应急响应/u,/绿色施工/u],l=[/辨识|识别/u,/专项施工方案|专项方案/u,/专家论证|论证|审批/u,/交底/u,/监测|监控量测|观测/u,/验收/u,/三级配电/u,/两级保护/u,/漏电保护/u,/实名制/u,/工资专用账户|工资专户|银行代发/u,/应急预案/u,/绿色施工/u],m=/目录|层级|编号|表格|表头|分隔线|跨章|数据一致|数值口径|页码|空小节|缺少|缺失|缺节/u;function n(a){return a.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").replace(/\s+/gu,"").trim()}function o(a){let b=a.split(/\n{2,}/u).filter(a=>a.trim().length>=30),c=b.filter(a=>h.test(a)&&i.test(a)&&j.test(a)).length;return{blocks:b.length,closedLoopBlocks:c}}function p(a){let b=(0,f.Bt)(a),c=(0,f.Ye)(a),d=a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\||[-*+]\s|>)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/[\s,,、::()()【】[\]《》“”"'`]/gu,"")).filter(a=>a.length>=12),e=d.length?(d.length-new Set(d).size)/d.length:0,g=(0,f.gE)(a),h=(0,f.nY)(a);return{level:g.heavyTemplated?"heavy":b.level,fillerRatio:b.ratio,fillerSentences:b.fillerSentences,totalSentences:b.totalSentences,vagueHitCount:c.reduce((a,b)=>a+b.count,0),vaguePhrases:c.map(a=>a.phrase),duplicateSentenceRate:e,crossProjectResidue:h,difficultyCountermeasureRatio:g.ratio,difficultyBothCount:g.bothCount,difficultyCountermeasures:g.countermeasures,difficultyHeavyTemplated:g.heavyTemplated}}function q(a){var b;return{completeness:function(a,b,c){let d=[...a.matchAll(/^#{1,3}\s+(.+)$/gmu)].map(a=>n(a[1]||"")).filter(a=>a.length>=2),e=1,f=c?.chapters||[];if(f.length>0){let a=f.map(a=>n(a.title)).filter(Boolean);e=a.filter(a=>d.some(b=>b.includes(a)||a.includes(b))).length/a.length}else b.length>0&&(e=b.filter(a=>d.some(b=>b.includes(n(a.title))||n(a.title).includes(b))).length/b.length);return Math.round((.55*e+.45*(k.filter(b=>b.test(a)).length/k.length))*100)}(a.markdown,a.chapters,a.template),specificity:function(a,b,c){let e=c.filter(d.O7),f=e.filter(a=>"used"===a.status),g=e.length?f.length/e.length:1,h=f.map(a=>String(a.value||"").replace(/\s+/gu," ").trim()).filter(a=>a.length>=4&&a.length<=60),i=b.map(a=>(a.content||"").replace(/\s+/gu," ")),j=h.filter(a=>i.filter(b=>b.includes(a)).length>=2).length;return Math.round((.55*g+.45*(h.length?j/h.length:1))*100)}(a.markdown,a.chapters,a.factTraces),compliance:function(a){let b=l.filter(b=>b.test(a)).length/l.length,c=(0,f.JD)(a);return Math.round((.8*b+.1*(c.twoStepComplete?1:c.categories.length>0&&c.graded?.6:.3*(c.categories.length>0))+.1*(0,f.bH)(a).coverage)*100)}(a.markdown),executability:function(a){let{blocks:b,completeBlocks:c}=(0,f.Pm)(a);return Math.round((.7*Math.min(1,c/Math.max(6,Math.ceil((0,e.V7)(a)/1500)))+.3*(b?c/b:0))*100)}(a.markdown),normalization:Math.max(0,100-8*(b=a.issues).filter(a=>"error"===a.level&&m.test(a.message)).length-Math.min(3*b.filter(a=>"warning"===a.level&&m.test(a.message)).length,30)),uniqueness:function(a){let b=g.filter(b=>a.includes(b)).length,c=(0,f.Ye)(a).reduce((a,b)=>a+b.count,0),d=100*Math.max(0,(0,f.Bt)(a).ratio-.1),e=a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\||[-*+]\s|>)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/[\s,,、::()()【】[\]《》“”"'`]/gu,"")).filter(a=>a.length>=12);return Math.max(0,Math.round(100-4*b-6*c-.5*d-60*(e.length?(e.length-new Set(e).size)/e.length:0)))}(a.markdown)}}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=8661,exports.ids=[8661],exports.modules={48661:(a,b,c)=>{c.d(b,{BH:()=>P,Gl:()=>x,JU:()=>T,Jz:()=>U,M$:()=>J,Oy:()=>D,QG:()=>O,QH:()=>C,SE:()=>E,YL:()=>$,a6:()=>M,r:()=>N,v7:()=>K,yE:()=>S});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(60584),i=c(23760),j=c(87942),k=c(19898),l=c(44533),m=c(78217),n=c(37095);function o(a,b){return a?.map(a=>"running"===a.status?{...a,status:"failed",message:b}:a)}function p(a){return a.title&&"生成中"!==a.title?a.title:`${a.templateName||"文档"}生成失败`}function q(...a){let b=new Map;for(let c of a)for(let a of c||[])a.id&&a.content?.trim()&&b.set(a.id,a);return[...b.values()]}function r(a){return(a||[]).map(a=>({id:a.id,title:a.title,chars:(0,m.V7)(a.content),status:a.inProgress?"in_progress":a.content.trim().length>0?"completed":"failed",updatedAt:Date.now(),timedOut:a.timedOut,elapsedMs:a.elapsedMs}))}let s=globalThis,t=s.__generatedDocumentTasks??=new Map,u=Math.max(36e5,Number(process.env.DOCUMENT_ABANDONED_RECORD_STALE_MS??864e5)),v=s.__generatedDocumentProcessStartedAt??=Date.now(),w=Math.max(3e4,Number(process.env.DOCUMENT_RECENT_UPDATE_GRACE_MS??6e4));function x(a=(0,l.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,l.aY)()){return(0,k.computeProjectId)(g.resolve(a))}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function y(a=(0,l.aY)()){return g.join(x(a),"index.json")}function z(a=(0,l.aY)()){return g.join(x(a),"assets.json")}function A(a,b=(0,l.aY)()){return g.join(x(b),"drafts",`${a}.json`)}function B(a,b=(0,l.aY)()){return g.join(x(b),"drafts",`${a}.meta.json`)}function C(a,b=(0,l.aY)()){let c=F(B(a,b),null);return c&&Number.isFinite(c.updatedAt)?c:null}function D(a){return!(!a||"generating"!==a.status||Date.now()-a.updatedAt<w)&&(a.updatedAt<v||Date.now()-a.updatedAt>=u)}function E(a,b=(0,l.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(x(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join((0,l.NW)(b),a.path):null}function F(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function G(a,b){e.mkdirSync(g.dirname(a),{recursive:!0});let c=`${a}.${process.pid}.${Date.now()}.tmp`;e.writeFileSync(c,JSON.stringify(b,null,2)),e.renameSync(c,a)}function H(a){for(let b of t.values())if(b.documentId===a)return b;return null}function I(a,b=(0,l.aY)()){if("generating"!==a.status||H(a.id)||Date.now()-a.updatedAt<w)return a;let c=a.updatedAt<v?0:u;if(Date.now()-a.updatedAt<c)return a;let d="生成任务已中断,请点击继续生成或重新生成",e=a.checkpointChapters?.length?"warning":"failed",f={...a,title:p(a),status:e,error:a.error||d,executionStages:o(a.executionStages,d),completedAt:Date.now(),warningIssues:a.checkpointChapters?.length?[...a.warningIssues||[],d]:a.warningIssues};return a.taskId&&Z(b,{taskId:a.taskId,title:`生成 ${f.title}`,status:"warning"===e?"warning":"error",percent:100,message:d,stages:f.executionStages,error:d}),f}function J(a=(0,l.aY)()){return F(y(a),[]).map(b=>{if("generating"!==b.status)return b;let c=F(A(b.id,a),null);if(!c)return b;let d=I(c,a);return d!==c?W(L(d,a,{preserveUpdatedAt:!0})):W(c)}).sort((a,b)=>(b.createdAt||b.updatedAt)-(a.createdAt||a.updatedAt))}function K(a,b=(0,l.aY)()){let c=F(A(a,b),null);if(!c)return null;let d=I(c,b);return function(a,b=(0,l.aY)()){if("generating"===a.status||!(a.editedMarkdown||a.markdown)?.trim())return a;let c=`document-${a.id}`;if(a.assets?.some(a=>a.id===c&&a.path))return a;let d=R(a,b);return d?L({...a,assets:[d,...(a.assets||[]).filter(a=>a.id!==d.id)]},b):a}(d!==c?L(d,b,{preserveUpdatedAt:!0}):d,b)}function L(a,b=(0,l.aY)(),c){let d=Date.now(),e=X({...a,updatedAt:c?.preserveUpdatedAt?a.updatedAt:d});G(A(e.id,b),e),G(B(e.id,b),{updatedAt:e.updatedAt,status:e.status,completedAt:e.completedAt});let f=F(y(b),[]).filter(a=>a.id!==e.id);return f.unshift(W(e)),G(y(b),f),e}function M(a,b,c=(0,l.aY)()){let d=K(a,c);return d?L({...d,...b,id:a},c):null}function N(a,b=(0,l.aY)()){let c=K(a,b);if(!c)return null;if("generating"!==c.status)return c;for(let[b,c]of t)c.documentId===a&&(c.status="aborted",c.controller.abort(),t.delete(b));let d="用户中止",e=o(c.executionStages,d),f=L({...c,status:"aborted",error:d,executionStages:e,completedAt:Date.now()},b);return f.taskId&&Z(b,{taskId:f.taskId,title:`生成 ${f.title}`,status:"warning",percent:100,message:d,stages:e,error:d}),f}function O(a,b=(0,l.aY)()){try{e.rmSync(A(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}let c=F(y(b),[]).filter(b=>b.id!==a);G(y(b),c)}function P(a=(0,l.aY)()){return F(z(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function Q(a,b,c=(0,l.aY)()){let d=Date.now(),e=[...P(c)];for(let c of a){let a=e.findIndex(a=>a.id===c.id),f=c.path?.startsWith("generatedDocuments/assets/")||"generated"===c.status||"prompt_ready"===c.status?"generated":"knowledge_base",h={...c,name:g.basename(c.path||c.url||c.id),source:f,indexed:a>=0&&e[a].indexed,usedByDocumentIds:a>=0?[...new Set([...e[a].usedByDocumentIds,b])]:[b],createdAt:a>=0?e[a].createdAt:d,updatedAt:d};a>=0?e[a]={...e[a],...h}:e.push(h)}return G(z(c),e),e}function R(a,b=(0,l.aY)()){let c=a.editedMarkdown||a.markdown;if(!c?.trim())return null;let d=`generatedDocuments/assets/${a.title.replace(/[\\/:*?"<>|]/gu,"_").slice(0,120)||"generated-document"}-${a.id}.md`,f=g.join(x(b),d.replace(/^generatedDocuments\//u,""));e.mkdirSync(g.dirname(f),{recursive:!0}),e.writeFileSync(f,c,"utf8");let h={id:`document-${a.id}`,type:"file",role:"generated",path:d,status:"generated",message:"模板运行生成的 Markdown 文档,仅登记到生成资源,不进入知识库"};return Q([h],a.id,b).find(a=>a.id===h.id)||null}function S(a,b=(0,l.aY)()){return P(b).find(b=>b.id===a)||null}function T(a,b=(0,l.aY)()){let c=S(a,b);if(!c)return!1;let d=E(c,b);if(d&&d.startsWith(x(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return G(z(b),P(b).filter(b=>b.id!==a)),!0}function U(a,b,c=(0,l.aY)()){let d=S(a,c);if(!d)return null;let f=E(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function V(a){let b=Math.max(4,Math.floor(Number(process.env.DOCUMENT_PERSIST_EVIDENCE_MAX_ITEMS??10))),c=Math.max(300,Math.floor(Number(process.env.DOCUMENT_PERSIST_EVIDENCE_ITEM_CHARS??900)));return{...a,evidence:(a.evidence||[]).slice(0,b).map(a=>({...a,content:"string"==typeof a.content?a.content.replace(/\s+/gu," ").slice(0,c):""}))}}function W(a){let b=[...a.executionStages||a.draft?.executionStages||[]].reverse().find(a=>a.message||a.subtitle||a.roleId),c=a.partialChapters||r(a.checkpointChapters||a.draft?.checkpointChapters||a.draft?.chapters),d=a.draft?.validationIssues||[],e=a.draft?.exportGate?a.draft.exportGate.blockingIssues?.length??0:d.filter(a=>"blocker"===a.severity||"error"===a.level).length,f=d.filter(a=>"warning"===a.severity||"warning"===a.level).length||a.warningIssues?.length||0,g=d.filter(a=>"suggestion"===a.severity||"info"===a.level).length;return{id:a.id,taskId:a.taskId,templateId:a.templateId,templateName:a.templateName,templateVersion:a.templateVersion,title:a.title,requirement:a.requirement,projectRoot:a.projectRoot,projectId:a.projectId,knowledgeBasePath:a.knowledgeBasePath,status:a.status,createdAt:a.createdAt,updatedAt:a.updatedAt,completedAt:a.completedAt,elapsedMs:a.completedAt?a.completedAt-a.createdAt:a.updatedAt-a.createdAt,error:a.error,warningIssues:(a.warningIssues||[]).slice(0,12),warningCount:f,blockerCount:e,suggestionCount:g,wordCount:(0,m.V7)(a.editedMarkdown||a.markdown||a.draft?.markdown||""),chapterCount:c?.length||a.draft?.chapters?.length||0,completedChapterCount:(c||[]).filter(a=>"completed"===a.status).length,latestStage:b?.subtitle||b?.roleName||b?.roleId,latestMessage:b?.message,assets:(a.assets||[]).slice(0,8),partialChapters:c}}function X(a){let b=a.draft?{...a.draft,chapters:a.draft.chapters?.map(V),checkpointChapters:a.draft.checkpointChapters?.map(V)}:a.draft;return{...a,draft:b,checkpointChapters:a.checkpointChapters?.map(V)}}function Y(a,b){let c=K(a.documentId,b);return c&&"generating"===c.status?{taskId:a.id,documentId:a.documentId,record:c}:null}function Z(a,b){(0,n.Qf)(a,{id:b.taskId,type:"document",title:b.title,stage:"processing"===b.status?"generating":"error"===b.status?"error":"done",status:b.status,percent:b.percent,message:b.message,error:b.error,details:(b.stages||[]).filter(a=>"role_binding"===a.type||"runtime-prompt-rules"===a.roleId||"document-readiness"===a.roleId||"export_ready"===a.type||"failed"===a.status).flatMap(a=>[`${a.subtitle||a.roleName||a.roleId}:${a.message||a.status}`,...(a.details||[]).slice(0,8).map(a=>` - ${a}`)]).slice(0,80)})}function $(a,b=(0,l.aY)()){let c=g.resolve(b),e=(0,k.computeProjectId)(c),f=Date.now(),n=a.resumeDocumentId?K(a.resumeDocumentId,c):null;if(n){let a=H(n.id),b=a?Y(a,c):null;if(b)return b}if(!n)for(let b of t.values()){let d=Y(b,c);if(d&&d.record.templateId===a.templateId&&d.record.projectRoot===c)return d}let s=Math.max(1,Number(process.env.DOCUMENT_MAX_CONCURRENT_GENERATIONS??2));if(t.size>=s)throw Error(`当前已有 ${t.size} 个文档生成任务在运行(上限 ${s}),请等待完成或中止后再运行`);let u=n?.id||`doc-${f}-${d.randomBytes(4).toString("hex")}`,v=`task-${f}-${d.randomBytes(4).toString("hex")}`,w=n?{...n,taskId:v,status:"generating",error:void 0,completedAt:void 0,executionStages:[{type:"validation",roleId:"resume-generation",status:"running",message:"已重新进入生成流程;仅复用通过当前工作流版本、项目、模板、需求和导出门禁校验的章节,其余章节重新生成"}],partialChapters:void 0,checkpointChapters:void 0,draft:void 0,warningIssues:void 0,updatedAt:f}:{id:u,taskId:v,templateId:a.templateId,templateVersion:(0,h.QJx)(a.templateId)?.version,title:"生成中",requirement:a.requirement||"",maxEvidencePerChapter:a.maxEvidencePerChapter,projectRoot:c,projectId:e,knowledgeBasePath:(0,l.NW)(c),markdown:"",status:"generating",assets:[],createdAt:f,updatedAt:f};L(w,c),Z(c,{taskId:v,title:`生成 ${w.title}`,status:"processing",percent:1,message:"文档生成任务已进入后台队列",stages:w.executionStages});let x=new AbortController,y={},z=function(a,b,c){if(!a)return[];let d=(0,h.QJx)(b.templateId),e=a.reviewMetadata?.workflowVersion?.version||a.draft?.reviewMetadata?.workflowVersion?.version,f=a.draft?.exportGate?.passed===!0,g=a.templateId===b.templateId&&(!d||!a.templateVersion||a.templateVersion===d.version),i=a.projectRoot===c&&a.projectId===(0,k.computeProjectId)(c),l=(a.requirement||"")===(b.requirement||"");if(!g||!i||!l||e!==j.x.version||!f)return[];let m=new Set((a.draft?.partialChapters||a.partialChapters||[]).filter(a=>"completed"===a.status).map(a=>a.id));return q(a.draft?.chapters,a.checkpointChapters).filter(a=>m.has(a.id)&&!!a.content?.trim()&&!/WRITER_MISSING_SECTION|Writer 未完成/u.test(a.content))}(n,a,c),A=0,B="",C=Math.max(1e3,Math.min(15e3,Number(process.env.DOCUMENT_PROGRESS_SAVE_INTERVAL_MS??5e3))),D=Math.max(3e4,Math.min(3e5,Number(process.env.DOCUMENT_PROGRESS_HEARTBEAT_SAVE_INTERVAL_MS??6e4))),E=(0,h.OXS)({...a,projectRoot:c,resumeChapters:z,signal:x.signal,onProgress:(a,b)=>{try{y.current&&(y.current.lastProgressAt=Date.now());let d=Date.now(),e=JSON.stringify({stages:a.map(a=>({type:a.type,roleId:a.roleId,status:a.status,message:a.message,progress:a.progress})),checkpoint:b?.chapters?.map(a=>[a.id,a.content.length,a.sections?.length||0])||[]});if(!b?.chapters&&e===B&&d-A<Math.max(C,D))return;let f=K(u,c);if(f&&"generating"===f.status){let g=b?.chapters?q(f.checkpointChapters,b.chapters).map(V):f.checkpointChapters,h=g?.length?g.map(a=>`# ${a.title}
1
+ "use strict";exports.id=8661,exports.ids=[8661],exports.modules={48661:(a,b,c)=>{c.d(b,{BH:()=>P,Gl:()=>x,JU:()=>T,Jz:()=>U,M$:()=>J,Oy:()=>D,QG:()=>O,QH:()=>C,SE:()=>E,YL:()=>$,a6:()=>M,r:()=>N,v7:()=>K,yE:()=>S});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(19023),i=c(23760),j=c(87942),k=c(19898),l=c(44533),m=c(78217),n=c(37095);function o(a,b){return a?.map(a=>"running"===a.status?{...a,status:"failed",message:b}:a)}function p(a){return a.title&&"生成中"!==a.title?a.title:`${a.templateName||"文档"}生成失败`}function q(...a){let b=new Map;for(let c of a)for(let a of c||[])a.id&&a.content?.trim()&&b.set(a.id,a);return[...b.values()]}function r(a){return(a||[]).map(a=>({id:a.id,title:a.title,chars:(0,m.V7)(a.content),status:a.inProgress?"in_progress":a.content.trim().length>0?"completed":"failed",updatedAt:Date.now(),timedOut:a.timedOut,elapsedMs:a.elapsedMs}))}let s=globalThis,t=s.__generatedDocumentTasks??=new Map,u=Math.max(36e5,Number(process.env.DOCUMENT_ABANDONED_RECORD_STALE_MS??864e5)),v=s.__generatedDocumentProcessStartedAt??=Date.now(),w=Math.max(3e4,Number(process.env.DOCUMENT_RECENT_UPDATE_GRACE_MS??6e4));function x(a=(0,l.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,l.aY)()){return(0,k.computeProjectId)(g.resolve(a))}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function y(a=(0,l.aY)()){return g.join(x(a),"index.json")}function z(a=(0,l.aY)()){return g.join(x(a),"assets.json")}function A(a,b=(0,l.aY)()){return g.join(x(b),"drafts",`${a}.json`)}function B(a,b=(0,l.aY)()){return g.join(x(b),"drafts",`${a}.meta.json`)}function C(a,b=(0,l.aY)()){let c=F(B(a,b),null);return c&&Number.isFinite(c.updatedAt)?c:null}function D(a){return!(!a||"generating"!==a.status||Date.now()-a.updatedAt<w)&&(a.updatedAt<v||Date.now()-a.updatedAt>=u)}function E(a,b=(0,l.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(x(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join((0,l.NW)(b),a.path):null}function F(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function G(a,b){e.mkdirSync(g.dirname(a),{recursive:!0});let c=`${a}.${process.pid}.${Date.now()}.tmp`;e.writeFileSync(c,JSON.stringify(b,null,2)),e.renameSync(c,a)}function H(a){for(let b of t.values())if(b.documentId===a)return b;return null}function I(a,b=(0,l.aY)()){if("generating"!==a.status||H(a.id)||Date.now()-a.updatedAt<w)return a;let c=a.updatedAt<v?0:u;if(Date.now()-a.updatedAt<c)return a;let d="生成任务已中断,请点击继续生成或重新生成",e=a.checkpointChapters?.length?"warning":"failed",f={...a,title:p(a),status:e,error:a.error||d,executionStages:o(a.executionStages,d),completedAt:Date.now(),warningIssues:a.checkpointChapters?.length?[...a.warningIssues||[],d]:a.warningIssues};return a.taskId&&Z(b,{taskId:a.taskId,title:`生成 ${f.title}`,status:"warning"===e?"warning":"error",percent:100,message:d,stages:f.executionStages,error:d}),f}function J(a=(0,l.aY)()){return F(y(a),[]).map(b=>{if("generating"!==b.status)return b;let c=F(A(b.id,a),null);if(!c)return b;let d=I(c,a);return d!==c?W(L(d,a,{preserveUpdatedAt:!0})):W(c)}).sort((a,b)=>(b.createdAt||b.updatedAt)-(a.createdAt||a.updatedAt))}function K(a,b=(0,l.aY)()){let c=F(A(a,b),null);if(!c)return null;let d=I(c,b);return function(a,b=(0,l.aY)()){if("generating"===a.status||!(a.editedMarkdown||a.markdown)?.trim())return a;let c=`document-${a.id}`;if(a.assets?.some(a=>a.id===c&&a.path))return a;let d=R(a,b);return d?L({...a,assets:[d,...(a.assets||[]).filter(a=>a.id!==d.id)]},b):a}(d!==c?L(d,b,{preserveUpdatedAt:!0}):d,b)}function L(a,b=(0,l.aY)(),c){let d=Date.now(),e=X({...a,updatedAt:c?.preserveUpdatedAt?a.updatedAt:d});G(A(e.id,b),e),G(B(e.id,b),{updatedAt:e.updatedAt,status:e.status,completedAt:e.completedAt});let f=F(y(b),[]).filter(a=>a.id!==e.id);return f.unshift(W(e)),G(y(b),f),e}function M(a,b,c=(0,l.aY)()){let d=K(a,c);return d?L({...d,...b,id:a},c):null}function N(a,b=(0,l.aY)()){let c=K(a,b);if(!c)return null;if("generating"!==c.status)return c;for(let[b,c]of t)c.documentId===a&&(c.status="aborted",c.controller.abort(),t.delete(b));let d="用户中止",e=o(c.executionStages,d),f=L({...c,status:"aborted",error:d,executionStages:e,completedAt:Date.now()},b);return f.taskId&&Z(b,{taskId:f.taskId,title:`生成 ${f.title}`,status:"warning",percent:100,message:d,stages:e,error:d}),f}function O(a,b=(0,l.aY)()){try{e.rmSync(A(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}let c=F(y(b),[]).filter(b=>b.id!==a);G(y(b),c)}function P(a=(0,l.aY)()){return F(z(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function Q(a,b,c=(0,l.aY)()){let d=Date.now(),e=[...P(c)];for(let c of a){let a=e.findIndex(a=>a.id===c.id),f=c.path?.startsWith("generatedDocuments/assets/")||"generated"===c.status||"prompt_ready"===c.status?"generated":"knowledge_base",h={...c,name:g.basename(c.path||c.url||c.id),source:f,indexed:a>=0&&e[a].indexed,usedByDocumentIds:a>=0?[...new Set([...e[a].usedByDocumentIds,b])]:[b],createdAt:a>=0?e[a].createdAt:d,updatedAt:d};a>=0?e[a]={...e[a],...h}:e.push(h)}return G(z(c),e),e}function R(a,b=(0,l.aY)()){let c=a.editedMarkdown||a.markdown;if(!c?.trim())return null;let d=`generatedDocuments/assets/${a.title.replace(/[\\/:*?"<>|]/gu,"_").slice(0,120)||"generated-document"}-${a.id}.md`,f=g.join(x(b),d.replace(/^generatedDocuments\//u,""));e.mkdirSync(g.dirname(f),{recursive:!0}),e.writeFileSync(f,c,"utf8");let h={id:`document-${a.id}`,type:"file",role:"generated",path:d,status:"generated",message:"模板运行生成的 Markdown 文档,仅登记到生成资源,不进入知识库"};return Q([h],a.id,b).find(a=>a.id===h.id)||null}function S(a,b=(0,l.aY)()){return P(b).find(b=>b.id===a)||null}function T(a,b=(0,l.aY)()){let c=S(a,b);if(!c)return!1;let d=E(c,b);if(d&&d.startsWith(x(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return G(z(b),P(b).filter(b=>b.id!==a)),!0}function U(a,b,c=(0,l.aY)()){let d=S(a,c);if(!d)return null;let f=E(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function V(a){let b=Math.max(4,Math.floor(Number(process.env.DOCUMENT_PERSIST_EVIDENCE_MAX_ITEMS??10))),c=Math.max(300,Math.floor(Number(process.env.DOCUMENT_PERSIST_EVIDENCE_ITEM_CHARS??900)));return{...a,evidence:(a.evidence||[]).slice(0,b).map(a=>({...a,content:"string"==typeof a.content?a.content.replace(/\s+/gu," ").slice(0,c):""}))}}function W(a){let b=[...a.executionStages||a.draft?.executionStages||[]].reverse().find(a=>a.message||a.subtitle||a.roleId),c=a.partialChapters||r(a.checkpointChapters||a.draft?.checkpointChapters||a.draft?.chapters),d=a.draft?.validationIssues||[],e=a.draft?.exportGate?a.draft.exportGate.blockingIssues?.length??0:d.filter(a=>"blocker"===a.severity||"error"===a.level).length,f=d.filter(a=>"warning"===a.severity||"warning"===a.level).length||a.warningIssues?.length||0,g=d.filter(a=>"suggestion"===a.severity||"info"===a.level).length;return{id:a.id,taskId:a.taskId,templateId:a.templateId,templateName:a.templateName,templateVersion:a.templateVersion,title:a.title,requirement:a.requirement,projectRoot:a.projectRoot,projectId:a.projectId,knowledgeBasePath:a.knowledgeBasePath,status:a.status,createdAt:a.createdAt,updatedAt:a.updatedAt,completedAt:a.completedAt,elapsedMs:a.completedAt?a.completedAt-a.createdAt:a.updatedAt-a.createdAt,error:a.error,warningIssues:(a.warningIssues||[]).slice(0,12),warningCount:f,blockerCount:e,suggestionCount:g,wordCount:(0,m.V7)(a.editedMarkdown||a.markdown||a.draft?.markdown||""),chapterCount:c?.length||a.draft?.chapters?.length||0,completedChapterCount:(c||[]).filter(a=>"completed"===a.status).length,latestStage:b?.subtitle||b?.roleName||b?.roleId,latestMessage:b?.message,assets:(a.assets||[]).slice(0,8),partialChapters:c}}function X(a){let b=a.draft?{...a.draft,chapters:a.draft.chapters?.map(V),checkpointChapters:a.draft.checkpointChapters?.map(V)}:a.draft;return{...a,draft:b,checkpointChapters:a.checkpointChapters?.map(V)}}function Y(a,b){let c=K(a.documentId,b);return c&&"generating"===c.status?{taskId:a.id,documentId:a.documentId,record:c}:null}function Z(a,b){(0,n.Qf)(a,{id:b.taskId,type:"document",title:b.title,stage:"processing"===b.status?"generating":"error"===b.status?"error":"done",status:b.status,percent:b.percent,message:b.message,error:b.error,details:(b.stages||[]).filter(a=>"role_binding"===a.type||"runtime-prompt-rules"===a.roleId||"document-readiness"===a.roleId||"export_ready"===a.type||"failed"===a.status).flatMap(a=>[`${a.subtitle||a.roleName||a.roleId}:${a.message||a.status}`,...(a.details||[]).slice(0,8).map(a=>` - ${a}`)]).slice(0,80)})}function $(a,b=(0,l.aY)()){let c=g.resolve(b),e=(0,k.computeProjectId)(c),f=Date.now(),n=a.resumeDocumentId?K(a.resumeDocumentId,c):null;if(n){let a=H(n.id),b=a?Y(a,c):null;if(b)return b}if(!n)for(let b of t.values()){let d=Y(b,c);if(d&&d.record.templateId===a.templateId&&d.record.projectRoot===c)return d}let s=Math.max(1,Number(process.env.DOCUMENT_MAX_CONCURRENT_GENERATIONS??2));if(t.size>=s)throw Error(`当前已有 ${t.size} 个文档生成任务在运行(上限 ${s}),请等待完成或中止后再运行`);let u=n?.id||`doc-${f}-${d.randomBytes(4).toString("hex")}`,v=`task-${f}-${d.randomBytes(4).toString("hex")}`,w=n?{...n,taskId:v,status:"generating",error:void 0,completedAt:void 0,executionStages:[{type:"validation",roleId:"resume-generation",status:"running",message:"已重新进入生成流程;仅复用通过当前工作流版本、项目、模板、需求和导出门禁校验的章节,其余章节重新生成"}],partialChapters:void 0,checkpointChapters:void 0,draft:void 0,warningIssues:void 0,updatedAt:f}:{id:u,taskId:v,templateId:a.templateId,templateVersion:(0,h.QJx)(a.templateId)?.version,title:"生成中",requirement:a.requirement||"",maxEvidencePerChapter:a.maxEvidencePerChapter,projectRoot:c,projectId:e,knowledgeBasePath:(0,l.NW)(c),markdown:"",status:"generating",assets:[],createdAt:f,updatedAt:f};L(w,c),Z(c,{taskId:v,title:`生成 ${w.title}`,status:"processing",percent:1,message:"文档生成任务已进入后台队列",stages:w.executionStages});let x=new AbortController,y={},z=function(a,b,c){if(!a)return[];let d=(0,h.QJx)(b.templateId),e=a.reviewMetadata?.workflowVersion?.version||a.draft?.reviewMetadata?.workflowVersion?.version,f=a.draft?.exportGate?.passed===!0,g=a.templateId===b.templateId&&(!d||!a.templateVersion||a.templateVersion===d.version),i=a.projectRoot===c&&a.projectId===(0,k.computeProjectId)(c),l=(a.requirement||"")===(b.requirement||"");if(!g||!i||!l||e!==j.x.version||!f)return[];let m=new Set((a.draft?.partialChapters||a.partialChapters||[]).filter(a=>"completed"===a.status).map(a=>a.id));return q(a.draft?.chapters,a.checkpointChapters).filter(a=>m.has(a.id)&&!!a.content?.trim()&&!/WRITER_MISSING_SECTION|Writer 未完成/u.test(a.content))}(n,a,c),A=0,B="",C=Math.max(1e3,Math.min(15e3,Number(process.env.DOCUMENT_PROGRESS_SAVE_INTERVAL_MS??5e3))),D=Math.max(3e4,Math.min(3e5,Number(process.env.DOCUMENT_PROGRESS_HEARTBEAT_SAVE_INTERVAL_MS??6e4))),E=(0,h.OXS)({...a,projectRoot:c,resumeChapters:z,signal:x.signal,onProgress:(a,b)=>{try{y.current&&(y.current.lastProgressAt=Date.now());let d=Date.now(),e=JSON.stringify({stages:a.map(a=>({type:a.type,roleId:a.roleId,status:a.status,message:a.message,progress:a.progress})),checkpoint:b?.chapters?.map(a=>[a.id,a.content.length,a.sections?.length||0])||[]});if(!b?.chapters&&e===B&&d-A<Math.max(C,D))return;let f=K(u,c);if(f&&"generating"===f.status){let g=b?.chapters?q(f.checkpointChapters,b.chapters).map(V):f.checkpointChapters,h=g?.length?g.map(a=>`# ${a.title}
2
2
 
3
3
  ${a.content}`).join("\n\n"):f.markdown,i=L(X({...f,executionStages:a,checkpointChapters:g,partialChapters:b?.chapters?r(g):f.partialChapters,markdown:h,wordCount:h?(0,m.V7)(h):f.wordCount}),c),j=[...a].reverse().find(a=>"running"===a.status)||a[a.length-1];Z(c,{taskId:v,title:`生成 ${i.templateName||i.title}`,status:"processing",percent:Math.max(1,Math.min(99,j?.progress?Math.round(j.progress.current/Math.max(1,j.progress.total)*90):30)),message:j?.message||"文档生成中",stages:a}),A=d,B=e,console.log(`[gen] progress saved: ${a.length} stages, checkpoint=${g?.length||0}, doc=${u}`)}}catch(a){console.error("[gen] progress save error:",a)}}}).then(async a=>{y.current&&(y.current.lastProgressAt=Date.now());let b=K(u,c);if(!b||"generating"!==b.status)return b??w;let d=/结构化事实读取不足|正文可能未显式覆盖|仅包含文件类型和占位符|不在本次招标范围内|知识库文件索引失败|暂无可检索内容切片|未抽取到结构化事实|兜底片段|资料抽取诊断|无法直接读取文本内容|占位符|缺乏详细的.*具体尺寸|需结合原文件进一步深化|章节生成存在兜底/u,e=a.markdown||"",f=/^##\s+(?!目录$)(?!附录)(?!第[一二三四五六七八九十百千万\d]+章\s+)/gmu.test(e),g=/(?:第?\d+页|P\.?\s*\d+)/iu.test(e),h=/施工方/u.test(e),j=a.validationIssues.filter(a=>"error"===a.level||"warning"===a.level).map(a=>a.suggestion?`${a.message}:${a.suggestion}`:a.message).filter(a=>!/^\s*[[{]/u.test(a)&&!/"status"\s*:/u.test(a)&&!d.test(a)).filter(a=>!/正文存在非正式章二级标题/u.test(a)||f).filter(a=>!/资料页码|文件页码|页码引用/u.test(a)||g).filter(a=>!/禁止内容|施工方/u.test(a)||h).filter(b=>!a.exportGate.passed||!/目录与正文不一致|表格分隔线位置不规范/u.test(b)),k=(0,i.yw)(a.markdown,a.chapters).filter(a=>"empty"===a.reason);k.length>0&&j.unshift(`小节内容补写未完成:仍有 ${k.length} 个空洞小节,请继续生成或补充资料后重试`),a.exportGate.passed||0!==j.length||j.push("导出门禁未通过:存在未完成的硬阻断检查项");let l=X({...b,templateName:a.templateName,templateVersion:a.templateVersion??b.templateVersion,title:a.title,markdown:a.markdown,status:a.exportGate.passed?"completed":"failed",draft:a,executionStages:a.executionStages,partialChapters:a.partialChapters,checkpointChapters:a.chapters,reviewMetadata:a.reviewMetadata,promptProvenance:a.promptProvenance??b.promptProvenance,agentWorkflow:a.agentWorkflow,assets:a.assets||[],completedAt:Date.now(),warningIssues:j}),m=R(l,c),n=L({...l,assets:m?[m,...(l.assets||[]).filter(a=>a.id!==m.id)]:l.assets},c);return Q(a.assets||[],u,c),Z(c,{taskId:v,title:`生成 ${n.title}`,status:"completed"===n.status?"success":"error",percent:100,message:"completed"===n.status?"文档生成完成,已通过导出门禁":`文档生成未通过导出门禁,存在 ${j.length||1} 个阻断问题`,stages:a.executionStages,error:"completed"===n.status?void 0:j.join(";")}),n}).catch(a=>{let b=K(u,c);if(!b||"generating"!==b.status)return b??w;let d=a instanceof Error?a.message:String(a),e=a instanceof Error&&/用户中止|aborted|abort/i.test(a.message)?"aborted":b.checkpointChapters?.length?"warning":"failed",f=b.markdown||b.checkpointChapters?.map(a=>`# ${a.title}
4
4
 
@@ -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/db2515737185f431.css" as="style"/><link rel="stylesheet" href="/_next/static/css/db2515737185f431.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-3e8b35112a00821a.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/MwFiBras94eWFoKt_aO_4/_buildManifest.js" defer=""></script><script src="/_next/static/MwFiBras94eWFoKt_aO_4/_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":"MwFiBras94eWFoKt_aO_4","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/db2515737185f431.css" as="style"/><link rel="stylesheet" href="/_next/static/css/db2515737185f431.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-3e8b35112a00821a.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/e9f0rQif2ZDX-Ee4sc1tD/_buildManifest.js" defer=""></script><script src="/_next/static/e9f0rQif2ZDX-Ee4sc1tD/_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":"e9f0rQif2ZDX-Ee4sc1tD","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -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="">500: Internal Server Error</title><link rel="preload" href="/_next/static/css/db2515737185f431.css" as="style"/><link rel="stylesheet" href="/_next/static/css/db2515737185f431.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-3e8b35112a00821a.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/MwFiBras94eWFoKt_aO_4/_buildManifest.js" defer=""></script><script src="/_next/static/MwFiBras94eWFoKt_aO_4/_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">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"MwFiBras94eWFoKt_aO_4","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="">500: Internal Server Error</title><link rel="preload" href="/_next/static/css/db2515737185f431.css" as="style"/><link rel="stylesheet" href="/_next/static/css/db2515737185f431.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-3e8b35112a00821a.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/e9f0rQif2ZDX-Ee4sc1tD/_buildManifest.js" defer=""></script><script src="/_next/static/e9f0rQif2ZDX-Ee4sc1tD/_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">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"e9f0rQif2ZDX-Ee4sc1tD","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=1883,a.ids=[1883],a.modules={15751:a=>{a.exports=require("xlsx")},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},87550:a=>{a.exports=require("better-sqlite3")},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")},99942:(a,b,c)=>{c.r(b),c.d(b,{config:()=>p,default:()=>o,handler:()=>r});var d={};c.r(d),c.d(d,{default:()=>l});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(73024),j=c(76760),k=c(48661);function l(a,b){try{let c="string"==typeof a.query.id?a.query.id:"";if(!c)return b.status(400).json({error:"id required"});let d="string"==typeof a.query.projectRoot?a.query.projectRoot:void 0,e=(0,k.yE)(c,d);if(!e?.path)return b.status(404).json({error:"asset not found"});let f=(0,k.SE)(e,d);if(!f||!i.existsSync(f))return b.status(404).json({error:"file not found"});let g=i.readFileSync(f);if(!(g.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10]))||g.subarray(0,3).equals(Buffer.from([255,216,255]))||"RIFF"===g.subarray(0,4).toString("ascii")))return b.status(422).json({error:"asset file is not a valid image"});return b.setHeader("Content-Type",function(a){let b=j.extname(a).toLowerCase();return".jpg"===b||".jpeg"===b?"image/jpeg":".webp"===b?"image/webp":"image/png"}(f)),b.setHeader("Cache-Control","no-store"),b.status(200).send(g)}catch(a){console.error("[api] assets/generated/preview",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var m=c(68970),n=c(50296);let o=(0,h.M)(d,"default"),p=(0,h.M)(d,"config"),q=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/assets/generated/preview",pathname:"/api/assets/generated/preview",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function r(a,b,c){let d=await q.prepare(a,b,{srcPage:"/api/assets/generated/preview"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,m.getTracer)(),e=d.getActiveScopeSpan(),j=q.instrumentationOnRequestError.bind(q),k=async e=>q.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:q.isDev,page:"/api/assets/generated/preview",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(n.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:m.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(q.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,2484,5840,208,4680,5284,584,8661],()=>b(b.s=99942));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=1883,a.ids=[1883],a.modules={15751:a=>{a.exports=require("xlsx")},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},87550:a=>{a.exports=require("better-sqlite3")},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")},99942:(a,b,c)=>{c.r(b),c.d(b,{config:()=>p,default:()=>o,handler:()=>r});var d={};c.r(d),c.d(d,{default:()=>l});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(73024),j=c(76760),k=c(48661);function l(a,b){try{let c="string"==typeof a.query.id?a.query.id:"";if(!c)return b.status(400).json({error:"id required"});let d="string"==typeof a.query.projectRoot?a.query.projectRoot:void 0,e=(0,k.yE)(c,d);if(!e?.path)return b.status(404).json({error:"asset not found"});let f=(0,k.SE)(e,d);if(!f||!i.existsSync(f))return b.status(404).json({error:"file not found"});let g=i.readFileSync(f);if(!(g.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10]))||g.subarray(0,3).equals(Buffer.from([255,216,255]))||"RIFF"===g.subarray(0,4).toString("ascii")))return b.status(422).json({error:"asset file is not a valid image"});return b.setHeader("Content-Type",function(a){let b=j.extname(a).toLowerCase();return".jpg"===b||".jpeg"===b?"image/jpeg":".webp"===b?"image/webp":"image/png"}(f)),b.setHeader("Cache-Control","no-store"),b.status(200).send(g)}catch(a){console.error("[api] assets/generated/preview",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var m=c(68970),n=c(50296);let o=(0,h.M)(d,"default"),p=(0,h.M)(d,"config"),q=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/assets/generated/preview",pathname:"/api/assets/generated/preview",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function r(a,b,c){let d=await q.prepare(a,b,{srcPage:"/api/assets/generated/preview"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,m.getTracer)(),e=d.getActiveScopeSpan(),j=q.instrumentationOnRequestError.bind(q),k=async e=>q.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:q.isDev,page:"/api/assets/generated/preview",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(n.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:m.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(q.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,2484,5840,208,4680,5284,1404,8661],()=>b(b.s=99942));module.exports=c})();