@customize-agent/server 4.27.0 → 4.29.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 (31) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/1049.js +52 -52
  5. package/.next/server/chunks/208.js +7 -5
  6. package/.next/server/chunks/5284.js +40 -40
  7. package/.next/server/chunks/8163.js +10 -10
  8. package/.next/server/middleware-build-manifest.js +1 -1
  9. package/.next/server/pages/404.html +1 -1
  10. package/.next/server/pages/500.html +1 -1
  11. package/.next/server/pages/api/health.js +1 -1
  12. package/.next/server/pages/asset-library.html +1 -1
  13. package/.next/server/pages/document-roles.html +1 -1
  14. package/.next/server/pages/documents.html +1 -1
  15. package/.next/server/pages/guide.html +1 -1
  16. package/.next/server/pages/index.html +1 -1
  17. package/.next/server/pages/knowledge/file-detail.html +1 -1
  18. package/.next/server/pages/knowledge/files.html +1 -1
  19. package/.next/server/pages/knowledge/manage.html +1 -1
  20. package/.next/server/pages/knowledge.html +1 -1
  21. package/.next/server/pages/models.html +1 -1
  22. package/.next/server/pages/overview.html +1 -1
  23. package/.next/server/pages/prompt.html +1 -1
  24. package/.next/server/pages/settings.html +1 -1
  25. package/.next/server/pages/system/logs.html +1 -1
  26. package/.next/server/pages-manifest.json +28 -28
  27. package/.next/static/{a9JAcyTE488oe1jY2_Rqn → EflxRTr7hU_QE2xJZeRh_}/_buildManifest.js +1 -1
  28. package/.next/static/chunks/pages/documents-03a1030c2ec3088e.js +1 -0
  29. package/package.json +1 -1
  30. package/.next/static/chunks/pages/documents-94461ba9ab16c014.js +0 -1
  31. /package/.next/static/{a9JAcyTE488oe1jY2_Rqn → EflxRTr7hU_QE2xJZeRh_}/_ssgManifest.js +0 -0
@@ -12,9 +12,9 @@ ${d}`;return{chunk:a,index:b,score:.8*e.filter(a=>f.includes(a)).length+ +!!/\d+
12
12
  说明:以下内容仅用于事实覆盖、检索命中和质量检查,不得新增、删除、重排用户或模板章节。
13
13
  建议关注事实:${a.factFields.map(a=>a.name).join("、")}
14
14
  章节内容建议:${a.chapterRules.map(a=>`${a.title}${a.generationHint?`:${a.generationHint.replace(/\s+/gu," ")}`:""}`).join(";")||"以当前模板章节为准"}
15
- 质量提醒:${a.gateRules.map(a=>a.name).join("、")}`}},14070:(a,b,c)=>{function d(a){let b=a.split(/[,。;:、\s\d()()《》<>【】"“”'‘’\-/\\|,.:;]+/u).filter(Boolean),c=new Set;for(let a of b){let b=a.trim();if(b.length>=2&&c.add(b),b.length>=3)for(let a=0;a<=b.length-2;a++){let d=b.slice(a,a+2);d.length>=2&&!/^[a-zA-Z0-9]+$/u.test(d)&&c.add(d)}}return[...c]}function e(a,b,c=.3){return function(a,b){let c=new Set(d(a)),e=new Set(d(b));if(0===c.size||0===e.size)return 0;let f=0;for(let a of c)if(e.has(a))f+=1;else if(a.length>=2){for(let b of e)if(b.length>=2&&(b.includes(a)||a.includes(b))){f+=.5;break}}return f/Math.max(c.size,1)}(a,b)>=c}c.d(b,{C1:()=>e})},18274:(a,b,c)=>{c.d(b,{AM:()=>e,LT:()=>i,_W:()=>d,aX:()=>h,s2:()=>j,sv:()=>f,yw:()=>g});let d=/(?:\b[A-Z]{1,8}[\w./-]*\d[\w./-]*\b|\b\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|m³|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|份|人|小时|分钟|日历天|天|周|月|年|万元|元)\b|(?<![\d.])\b\d+\s*[×xX]\s*\d+(?:\s*[×xX]\s*\d+)?\b|\b(?:GB|GB\/T|ISO|IEC|IEEE|RFC|API|DB\d*|T\/[A-Z]+)\s*[\w.-]+\b)/giu,e=/\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|m³|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|份|人|小时|分钟|日历天|天|周|月|年)|DN\s*\d+|φ\s*\d+|Φ\s*\d+|GB\s*\d+|JGJ\s*\d+/iu,f=/\d|DN|φ|Φ|mm|cm|m²|m3|m³|MPa|kPa|℃|%|GB|JGJ|ISO|IEC|台|套|个|项|批|次|份|人|㎡|日历天|万元|元|型号|规格|数量|单位/iu,g=/\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|m³|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|份|人|小时|分钟|日历天|天|周|月|年)|DN\s*\d+|Φ\s*\d+|φ\s*\d+|C\d{2,}|HRB\d+|GB\/?T?\s*[\w.-]+|JGJ\s*[\w.-]+|\d+\s*[×xX]\s*\d+/iu,h=/\d+(?:\.\d+)?\s*(?:m³|m3|m²|㎡|mm|cm|m\/s|m|km|MPa|kN|kN\/m²|kPa|℃|%|d|h|min|MΩ|t|次\/天)|[MC]\d{1,3}(?:\.\d+)?|[<>≤≥]\s*\d+(?:\.\d+)?\s*(?:mm|MPa|%|d)|间距[≤<]?\s*\d+|偏差[≤<]?\s*\d+|坡度\s*\d+(?:\.\d+)?(?::\d+|%)|压实度\s*[≥>]?\s*\d+|坍落度|闭水试验|静载试验|拉拔试验|拉拔检测|探伤|试验压力|锚固长度|搭接长度|保护层厚度|养护时间|饱满度|垂直度|平整度|含水率|(?:防护挑网|安全网|防护网|围挡|警戒(?:区|线|距离)|防护栏杆).{0,12}(?:宽度|高度|距离|范围)[^,。;;]{0,8}\d+(?:\.\d+)?\s*m|(?:宽度|高度|距离|范围)[^,。;;]{0,8}\d+(?:\.\d+)?\s*m.{0,12}(?:防护挑网|安全网|防护网|围挡|警戒|防护栏杆)/giu,i=/\d[A-Z][A-Z0-9a-z]*\b|[A-Z]{1,2}\d{2,3}\b|\d+(?:\.\d+)?\s*(?:kW|kVA|KVA|KW)\b|IP\d{2}/gu,j=/\d+(?:\.\d+)?\s*(?:m²|㎡|m3|m³|mm|cm|m|km|kg|t|MPa|kPa|℃|%|日历天|天|层|台|套|个|项|次|份|人|小时)/giu},22157:(a,b,c)=>{c.d(b,{Jb:()=>j,Kd:()=>G,LH:()=>g,Ld:()=>m,Sw:()=>l,TP:()=>F,Te:()=>E,V:()=>f,W6:()=>o,Ww:()=>B,Xl:()=>w,Z1:()=>h,_R:()=>k,c6:()=>C,dY:()=>r,hh:()=>H,jM:()=>v,jf:()=>K,l$:()=>J,lG:()=>D,lX:()=>I,se:()=>i,wq:()=>p,wx:()=>q});var d=c(77598),e=c(78217);let f=/项目主要施工内容|主要分部分项工程施工方案|主要施工方法/u,g=/《[^》]*》/gu;function h(a){return!!a&&!!(/→|->|=>/u.test(a)||/按.{0,12}顺序|依次|先后|先.{0,12}(?:后|再|然后|最后)|顺序施工|流水顺序/u.test(a)||(a.match(/(?:^|\n)\s*(?:\d+[.、]|[((]\d+[))]|[一二三四五六七八九十]+[、.]|第[一二三四五六七八九十]+步)/gmu)||[]).length>=2||(a.match(/(?:^|\n)\s*(?:[-*•]|\d+\.)\s+\S/gmu)||[]).length>=2||/[\u4e00-\u9fa5]+(?:-|—|~|~)[\u4e00-\u9fa5]+(?:-|—|~|~)[\u4e00-\u9fa5]+/u.test(a))}function i(a){let b=/(?:施工)?(?:概况|范围)[::]\s*\S|工程量|作业对象|部位/u.test(a);return{scope:b,process:/(?:施工)?(?:流程|工序|顺序)[::]\s*\S/u.test(a)||h(a),method:/(?:施工)?方法[::]\s*\S|工艺参数|验收标准|检测|试验|记录/u.test(a)}}function j(a){let b=i(a);return b.scope&&b.process&&b.method}function k(a){return j(a)}function l(a){return a.replace(/^\d+(?:\.\d+)*[..]?\s*/u,"").replace(/[((][^()()]*[))]/gu,"").replace(/[\s::、。,,;;/|—-]/gu,"").replace(/工程$/u,"")}function m(a){return/化粪池|给排水|采暖|燃气|管网|管道|阀门|水泵|水箱|水表|消防|喷淋|强电|弱电|电气|照明|防雷|接地|通风|空调|电梯/u.test(a)?"机电安装工程":/装饰|装修|门窗|屋面|防水|楼地面|墙柱面|天棚|吊顶|抹灰|油漆|涂料|栏杆|幕墙|零星/u.test(a)?"装饰装修工程":/土石方|土方|石方|基础|垫层|砌筑|砌体|混凝土|钢筋|模板|支护|降水|桩基/u.test(a)?"结构与基础工程":/道路|路基|路面|广场|铺装|绿化|景观|亮化|清淤|围墙|大门|停车|步道|边坡/u.test(a)?"室外市政工程":/脚手|围挡|安全防护|冬雨|临时|监测/u.test(a)?"措施工程":"专项工程"}function n(a,b){return a.replace(/工程/gu,"")===b.replace(/工程/gu,"")}function o(a){let b=a.split(/\r?\n/u),c="",d=new Map,e=[];for(let a of b){let b=/^(#{2,6})\s+(.+)$/u.exec(a.trim());if(!b)continue;let f=b[1].length;if(2===f){c="";continue}if(3===f){c=b[2].trim();continue}if(4!==f)continue;let g=`${c}::${l(b[2].trim())}`;if(!g)continue;let h=(d.get(g)||0)+1;d.set(g,h),h>=2&&e.push(b[2].trim())}return e}function p(a){let b=a.split(/\r?\n/u),c=[],d="",e=new Set,f=!1;for(let a of b){let b=/^(#{2,6})\s+(.+)$/u.exec(a.trim());if(b){let g=b[1].length;if(g<=3&&(d=3===g?b[2].trim():"",e.clear()),f=!1,4===g){let g=`${d}::${l(b[2].trim())}`;if(!g){c.push(a);continue}if(e.has(g)){f=!0;continue}e.add(g)}c.push(a);continue}f||c.push(a)}return c.join("\n")}function q(a,b,c,d,e=[]){let f=l(b),g=new Set(c.map(l).filter(Boolean)),h=new Set(d.map(l).filter(Boolean)),i=new Set(e.map(l).filter(Boolean)),j=[];for(let b of a.split(/\r?\n/u)){let a=/^(#{3,4})\s+(.+)$/u.exec(b.trim());if(!a)continue;let c=a[2].trim(),d=l(c);if(d){if(3===a[1].length){d===f||n(d,f)||j.push(c);continue}!h.has(d)&&(g.has(d)||i.has(d))||j.push(c)}}return j}function r(a,b,c,d=[]){let e=l(b),f=new Set(c.map(l).filter(Boolean)),g=new Set(d.map(l).filter(Boolean)),h=[];for(let b of a.split(/\r?\n/u)){let a=/^(#{3,4})\s+(.+)$/u.exec(b.trim());if(a){let c=l(a[2].trim());if(3===a[1].length){(c===e||n(c,e))&&h.push(b);continue}if(c&&!f.has(c)&&!g.has(c))continue}h.push(b)}let i=h.join("\n");return/^###\s+\S+/mu.test(i.trim())?i:`### ${b}
15
+ 质量提醒:${a.gateRules.map(a=>a.name).join("、")}`}},14070:(a,b,c)=>{function d(a){let b=a.split(/[,。;:、\s\d()()《》<>【】"“”'‘’\-/\\|,.:;]+/u).filter(Boolean),c=new Set;for(let a of b){let b=a.trim();if(b.length>=2&&c.add(b),b.length>=3)for(let a=0;a<=b.length-2;a++){let d=b.slice(a,a+2);d.length>=2&&!/^[a-zA-Z0-9]+$/u.test(d)&&c.add(d)}}return[...c]}function e(a,b,c=.3){return function(a,b){let c=new Set(d(a)),e=new Set(d(b));if(0===c.size||0===e.size)return 0;let f=0;for(let a of c)if(e.has(a))f+=1;else if(a.length>=2){for(let b of e)if(b.length>=2&&(b.includes(a)||a.includes(b))){f+=.5;break}}return f/Math.max(c.size,1)}(a,b)>=c}c.d(b,{C1:()=>e})},18274:(a,b,c)=>{c.d(b,{AM:()=>e,LT:()=>i,_W:()=>d,aX:()=>h,s2:()=>j,sv:()=>f,yw:()=>g});let d=/(?:\b[A-Z]{1,8}[\w./-]*\d[\w./-]*\b|\b\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|m³|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|份|人|小时|分钟|日历天|天|周|月|年|万元|元)\b|(?<![\d.])\b\d+\s*[×xX]\s*\d+(?:\s*[×xX]\s*\d+)?\b|\b(?:GB|GB\/T|ISO|IEC|IEEE|RFC|API|DB\d*|T\/[A-Z]+)\s*[\w.-]+\b)/giu,e=/\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|m³|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|份|人|小时|分钟|日历天|天|周|月|年)|DN\s*\d+|φ\s*\d+|Φ\s*\d+|GB\s*\d+|JGJ\s*\d+/iu,f=/\d|DN|φ|Φ|mm|cm|m²|m3|m³|MPa|kPa|℃|%|GB|JGJ|ISO|IEC|台|套|个|项|批|次|份|人|㎡|日历天|万元|元|型号|规格|数量|单位/iu,g=/\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|m³|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|份|人|小时|分钟|日历天|天|周|月|年)|DN\s*\d+|Φ\s*\d+|φ\s*\d+|C\d{2,}|HRB\d+|GB\/?T?\s*[\w.-]+|JGJ\s*[\w.-]+|\d+\s*[×xX]\s*\d+/iu,h=/\d+(?:\.\d+)?\s*(?:m³|m3|m²|㎡|mm|cm|m\/s|m|km|MPa|kN|kN\/m²|kPa|℃|%|d|h|min|MΩ|t|次\/天)|[MC]\d{1,3}(?:\.\d+)?|[<>≤≥]\s*\d+(?:\.\d+)?\s*(?:mm|MPa|%|d)|间距[≤<]?\s*\d+|偏差[≤<]?\s*\d+|坡度\s*\d+(?:\.\d+)?(?::\d+|%)|压实度\s*[≥>]?\s*\d+|坍落度|闭水试验|静载试验|拉拔试验|拉拔检测|探伤|试验压力|锚固长度|搭接长度|保护层厚度|养护时间|饱满度|垂直度|平整度|含水率|(?:防护挑网|安全网|防护网|围挡|警戒(?:区|线|距离)|防护栏杆).{0,12}(?:宽度|高度|距离|范围)[^,。;;]{0,8}\d+(?:\.\d+)?\s*m|(?:宽度|高度|距离|范围)[^,。;;]{0,8}\d+(?:\.\d+)?\s*m.{0,12}(?:防护挑网|安全网|防护网|围挡|警戒|防护栏杆)/giu,i=/\d[A-Z][A-Z0-9a-z]*\b|[A-Z]{1,2}\d{2,3}\b|\d+(?:\.\d+)?\s*(?:kW|kVA|KVA|KW)\b|IP\d{2}/gu,j=/\d+(?:\.\d+)?\s*(?:m²|㎡|m3|m³|mm|cm|m|km|kg|t|MPa|kPa|℃|%|日历天|天|层|台|套|个|项|次|份|人|小时)/giu},22157:(a,b,c)=>{c.d(b,{DI:()=>I,Jb:()=>j,Kd:()=>G,LH:()=>g,Ld:()=>m,Sw:()=>l,TP:()=>F,Te:()=>E,V:()=>f,W6:()=>o,Ww:()=>B,Xl:()=>w,Z1:()=>h,_R:()=>k,c6:()=>C,dY:()=>r,hh:()=>H,jM:()=>v,jf:()=>L,l$:()=>K,lG:()=>D,lX:()=>J,se:()=>i,wq:()=>p,wx:()=>q});var d=c(77598),e=c(78217);let f=/项目主要施工内容|主要分部分项工程施工方案|主要施工方法/u,g=/《[^》]*》/gu;function h(a){return!!a&&!!(/→|->|=>/u.test(a)||/按.{0,12}顺序|依次|先后|先.{0,12}(?:后|再|然后|最后)|顺序施工|流水顺序/u.test(a)||(a.match(/(?:^|\n)\s*(?:\d+[.、]|[((]\d+[))]|[一二三四五六七八九十]+[、.]|第[一二三四五六七八九十]+步)/gmu)||[]).length>=2||(a.match(/(?:^|\n)\s*(?:[-*•]|\d+\.)\s+\S/gmu)||[]).length>=2||/[\u4e00-\u9fa5]+(?:-|—|~|~)[\u4e00-\u9fa5]+(?:-|—|~|~)[\u4e00-\u9fa5]+/u.test(a))}function i(a){let b=/(?:施工)?(?:概况|范围)[::]\s*\S|工程量|作业对象|部位/u.test(a);return{scope:b,process:/(?:施工)?(?:流程|工序|顺序)[::]\s*\S/u.test(a)||h(a),method:/(?:施工)?方法[::]\s*\S|工艺参数|验收标准|检测|试验|记录/u.test(a)}}function j(a){let b=i(a);return b.scope&&b.process&&b.method}function k(a){return j(a)}function l(a){return a.replace(/^\d+(?:\.\d+)*[..]?\s*/u,"").replace(/[((][^()()]*[))]/gu,"").replace(/[\s::、。,,;;/|—-]/gu,"").replace(/工程$/u,"")}function m(a){return/化粪池|给排水|采暖|燃气|管网|管道|阀门|水泵|水箱|水表|消防|喷淋|强电|弱电|电气|照明|防雷|接地|通风|空调|电梯/u.test(a)?"机电安装工程":/装饰|装修|门窗|屋面|防水|楼地面|墙柱面|天棚|吊顶|抹灰|油漆|涂料|栏杆|幕墙|零星/u.test(a)?"装饰装修工程":/土石方|土方|石方|基础|垫层|砌筑|砌体|混凝土|钢筋|模板|支护|降水|桩基/u.test(a)?"结构与基础工程":/道路|路基|路面|广场|铺装|绿化|景观|亮化|清淤|围墙|大门|停车|步道|边坡/u.test(a)?"室外市政工程":/脚手|围挡|安全防护|冬雨|临时|监测/u.test(a)?"措施工程":"专项工程"}function n(a,b){return a.replace(/工程/gu,"")===b.replace(/工程/gu,"")}function o(a){let b=a.split(/\r?\n/u),c="",d=new Map,e=[];for(let a of b){let b=/^(#{2,6})\s+(.+)$/u.exec(a.trim());if(!b)continue;let f=b[1].length;if(2===f){c="";continue}if(3===f){c=b[2].trim();continue}if(4!==f)continue;let g=`${c}::${l(b[2].trim())}`;if(!g)continue;let h=(d.get(g)||0)+1;d.set(g,h),h>=2&&e.push(b[2].trim())}return e}function p(a){let b=a.split(/\r?\n/u),c=[],d="",e=new Set,f=!1;for(let a of b){let b=/^(#{2,6})\s+(.+)$/u.exec(a.trim());if(b){let g=b[1].length;if(g<=3&&(d=3===g?b[2].trim():"",e.clear()),f=!1,4===g){let g=`${d}::${l(b[2].trim())}`;if(!g){c.push(a);continue}if(e.has(g)){f=!0;continue}e.add(g)}c.push(a);continue}f||c.push(a)}return c.join("\n")}function q(a,b,c,d,e=[]){let f=l(b),g=new Set(c.map(l).filter(Boolean)),h=new Set(d.map(l).filter(Boolean)),i=new Set(e.map(l).filter(Boolean)),j=[];for(let b of a.split(/\r?\n/u)){let a=/^(#{3,4})\s+(.+)$/u.exec(b.trim());if(!a)continue;let c=a[2].trim(),d=l(c);if(d){if(3===a[1].length){d===f||n(d,f)||j.push(c);continue}!h.has(d)&&(g.has(d)||i.has(d))||j.push(c)}}return j}function r(a,b,c,d=[]){let e=l(b),f=new Set(c.map(l).filter(Boolean)),g=new Set(d.map(l).filter(Boolean)),h=[];for(let b of a.split(/\r?\n/u)){let a=/^(#{3,4})\s+(.+)$/u.exec(b.trim());if(a){let c=l(a[2].trim());if(3===a[1].length){(c===e||n(c,e))&&h.push(b);continue}if(c&&!f.has(c)&&!g.has(c))continue}h.push(b)}let i=h.join("\n");return/^###\s+\S+/mu.test(i.trim())?i:`### ${b}
16
16
 
17
- ${i}`.trim()}let s=new Set(["施工准备","施工要点","质量控制","质量要求","质量保证措施","质量控制措施","质量通病防治","安全措施","安全要求","安全管理措施","安全技术交底","技术交底","注意事项","验收要求","验收标准","成品保护","环境保护","文明施工","进度控制","工期保障","材料管理","机械管理","人员管理","组织管理","应急预案","应急措施","劳动力配置","机械设备配置","施工概况","施工流程","施工方法"]),t=/^(?:\d+(?:\.\d+)*|[一二三四五六七八九十]+)[、..\s::-]/u,u=/主要分部分项工程施工方案|项目主要施工内容/u;function v(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1)/^##\s+/u.test(b[a].trim())&&c.push(a);if(0===c.length)return a;let d=new Set;for(let a=0;a<c.length;a+=1){let e=c[a],f=c[a+1]??b.length,g=new Set,h=[],i="";for(let a=e;a<f;a+=1){let c=/^(#{3,4})\s+(.+)$/u.exec(b[a].trim());if(!c)continue;let d=c[2].trim(),e=l(d);e&&(3===c[1].length?(g.add(e),i=e):h.push({line:a,name:e,rawTitle:d,parentH3:i}))}let j=new Map;for(let a of h){let c=j.get(a.name);j.set(a.name,a.line);let e=t.test(a.rawTitle),h=u.test(a.parentH3),i=g.has(a.name)&&!e&&!h,k=s.has(a.name);if(!(i||!k&&void 0!==c))continue;let l=f;for(let c=a.line+1;c<f;c+=1)if(/^#{2,4}\s+/u.test(b[c].trim())){l=c;break}for(let b=a.line;b<l;b+=1)d.add(b)}}return 0===d.size?a:b.filter((a,b)=>!d.has(b)).join("\n")}function w(a,b,c={}){if(!c.fuzzy){let c=x(a,b,/^###\s+(?:\d+(?:\.\d+)*\s+)?/u);return c||x(a,b,/^#{3,4}\s+(?:\d+(?:\.\d+)*\s+)?/u)}return function(a,b){let c=a.split("\n"),d=y(b).replace(/\s+/gu,"").toLowerCase(),g=[],h=-1,i=0,j=!1,k=a=>{if(h<0)return;let b=c.slice(h,a).join("\n").trim();b&&g.push(b),h=-1,i=0,j=!1};for(let a=0;a<c.length;a+=1){if(!/^\s*#{2,4}\s+/u.test(c[a]))continue;let e=/^\s*(#{2,4})\s+/u.exec(c[a])?.[1].length||3;if(h>=0&&(j||3===i)&&4===e)continue;k(a);let g=y(c[a]).replace(/\s+/gu,"").toLowerCase();(g===d||g.includes(d)||A(c[a],b))&&(h=a+1,i=e,j=e<=4&&f.test(c[a]))}return k(c.length),g.sort((a,b)=>(0,e.V7)(b)-(0,e.V7)(a))[0]||""}(a,b)}function x(a,b,c){let d=a.split("\n"),e=d.findIndex(a=>c.test(a.trim())&&a.includes(b));if(e<0)return"";let g=/^(#{2,6})\s+/u.exec(d[e].trim())?.[1].length||3,h=4===g&&f.test(b),i=d.length;for(let a=e+1;a<d.length;a+=1){let b=/^(#{2,6})\s+/u.exec(d[a].trim());if(b&&b[1].length<=g&&!(h&&b[1].length===g)){i=a;break}}return d.slice(e,i).join("\n")}function y(a){return a.replace(/^\s*#{2,4}\s*/u,"").replace(/^\s*(?:\d+(?:\.\d+)*|[一二三四五六七八九十]+)(?:[、..]|\s+)\s*/u,"").trim()}function z(a){return y(a).replace(/\s+/gu,"").toLowerCase().replace(/施工(?=方案|流程|方法)/gu,"").replace(/专项(?=方案)/gu,"").replace(/项目|工程|主要|重点|技术/gu,"").replace(/[、,,;;·..//]+/gu,"").replace(/与|及|和|暨/gu,"")}function A(a,b){let c=z(a),d=z(b);return!!c&&!!d&&!(c.length<4)&&!(d.length<4)&&(c===d||c.includes(d)||d.includes(c))}function B(a,b,c){let d=[...new Set(b.filter(Boolean))];if(0===d.length)return a;let e=3===c?/^\s*###\s+/u:4===c?/^\s*####\s+/u:/^\s*#{3,4}\s+/u,f=new Set;return a.split("\n").map(a=>{if(!e.test(a))return a;let b=y(a);if(!b)return a;let c=d.find(a=>!f.has(a)&&A(b,a));if(!c||c===b)return a;let g=/^(\s*#{3,4}\s+)/u.exec(a)?.[1];return g?(f.add(c),`${g}${c}`):a}).join("\n")}function C(a){return(0,d.createHash)("sha1").update(JSON.stringify(a)).digest("hex")}function D(a){if(null==a)return"";if("string"==typeof a)return a;if("number"==typeof a||"boolean"==typeof a)return String(a);try{return JSON.stringify(a)}catch{return String(a)}}function E(a){if(a?.aborted)throw Error("用户中止")}function F(a){return`【系统约束——仅指导写作,禁止写入正文,禁止复述本句】${a}`}let G=["评标纪律","投标纪律","行贿","打招呼","递条子","廉洁承诺","廉洁自律","串标","围标","弄虚作假","干扰评标","异常低价","评标基准价"];function H(a){return!!(G.some(b=>a.includes(b))||a.includes("廉洁从业"))||/纪律|廉洁/u.test(a)&&/投标|评标|行贿|串标|围标|弄虚作假/u.test(a)}function I(a){return a.filter(a=>!H(`${a.key||""} ${String(a.value)}`))}async function J(a,b,c){if(0===a.length)return[];let d=Math.max(1,Math.min(a.length,c.concurrency||Math.max(1,{total:a.length,kind:c.kind,targetWords:c.targetWords,highRisk:c.highRisk}.total))),e=Array(a.length),f=0;return await Promise.all(Array.from({length:d},async()=>{for(;f<a.length;){let c=f;f+=1,e[c]=await b(a[c],c)}})),e}class K{constructor(a){this.queue=[],this.available=Math.max(1,Math.floor(a))}async acquire(){if(this.available>0){this.available-=1;return}await new Promise(a=>{this.queue.push(a)})}release(){let a=this.queue.shift();a?a():this.available+=1}async run(a){await this.acquire();try{return await a()}finally{this.release()}}}},23500:(a,b,c)=>{c.d(b,{bj:()=>B,N6:()=>N,h0:()=>J,bV:()=>K,QJ:()=>D,jG:()=>C,dU:()=>A,Bh:()=>E,zY:()=>Q,xm:()=>F,J5:()=>I,C1:()=>M});var d=c(73024),e=c(76760),f=c(48161),g=c(77598),h=c(44533),i=c(25840),j=c(8753),k=c(6444),l=c(85441),m=c(92808),n=c(56942),o=c(2773),p=c(78217),q=c(80572);function r(){let a=e.join(f.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),a}function s(){return e.join(r(),"document-templates.json")}function t(a){let{version:b,updatedAt:c,changeLog:d,...e}=a;return(0,g.createHash)("sha256").update(function a(b){return Array.isArray(b)?`[${b.map(a).join(",")}]`:b&&"object"==typeof b?`{${Object.keys(b).sort().map(c=>`${JSON.stringify(c)}:${a(b[c])}`).join(",")}}`:JSON.stringify(b)}(e)).digest("hex")}function u(a){return{...a,id:a.id.replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)||`template-${Date.now()}`,name:a.name||"未命名模板",description:a.description||"",category:a.category||"自定义",outputTitle:a.outputTitle||a.name||"文档",version:Number.isFinite(a.version)&&a.version>0?Math.floor(a.version):1,updatedAt:Number.isFinite(a.updatedAt)?a.updatedAt:Date.now(),changeLog:Array.isArray(a.changeLog)?a.changeLog.filter(a=>a&&"object"==typeof a&&Number.isFinite(a.version)&&"string"==typeof a.summary).slice(0,50):[],projectRoleConfigId:a.projectRoleConfigId||void 0,chapters:Array.isArray(a.chapters)&&a.chapters.length>0?a.chapters.map((a,b)=>({id:(a.id||`chapter-${b+1}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80),title:a.title||`第 ${b+1} 章`,purpose:a.purpose||"",queries:Array.isArray(a.queries)?a.queries.filter(Boolean):[],requiredFacts:Array.isArray(a.requiredFacts)?a.requiredFacts.filter(Boolean):[],sections:Array.isArray(a.sections)?a.sections.filter(Boolean):[],tableSections:Array.isArray(a.tableSections)?a.tableSections.filter(Boolean):[],tableRequirements:Array.isArray(a.tableRequirements)?a.tableRequirements.filter(Boolean):[],tablePlans:Array.isArray(a.tablePlans)?a.tablePlans:[],pinnedEvidenceFilePaths:Array.isArray(a.pinnedEvidenceFilePaths)?a.pinnedEvidenceFilePaths.filter(Boolean):[]})):[{id:"document",title:a.outputTitle||a.name||"文档",purpose:a.description||"",queries:[],requiredFacts:[]}],exportSettings:a.exportSettings,generationSettings:a.generationSettings,promptIds:Array.isArray(a.promptIds)?a.promptIds.filter(Boolean):[],projectBindings:Array.isArray(a.projectBindings)?a.projectBindings.filter(a=>a.materialRootPath).map(a=>({materialRootPath:a.materialRootPath.replace(/^\/+|\/+$/gu,"")})):(0,o.qp)(a),promptBindings:Array.isArray(a.promptBindings)?a.promptBindings.filter(a=>a.promptId&&a.roleId):Array.isArray(a.promptIds)?a.promptIds.filter(Boolean).map(a=>({promptId:a,roleId:"chapter_generation"})):[],builtIn:!1}}function v(){try{let a=s();if(!d.existsSync(a))return[];let b=JSON.parse(d.readFileSync(a,"utf-8"));if(!Array.isArray(b))return d.renameSync(a,`${a}.corrupt-${Date.now()}`),[];return b.map(u)}catch{try{let a=s();d.existsSync(a)&&d.renameSync(a,`${a}.corrupt-${Date.now()}`)}catch{}return[]}}function w(a){d.writeFileSync(s(),JSON.stringify(a.map(u),null,2),"utf-8")}function x(a){return(0,g.createHash)("sha256").update(a).digest("hex").slice(0,12)}function y(a){return a.replace(/\s+/gu," ").trim().slice(0,160)}function z(a){let b=function(){try{let a=JSON.parse(d.readFileSync(e.join(r(),"prompts.json"),"utf-8"));return Array.isArray(a.customPrompts)?a.customPrompts:[]}catch{return[]}}();if(a.startsWith("custom:")){let c=b.find(b=>b.id===a);return c?{id:a,name:c.name,content:c.content,source:"custom"}:void 0}if(a.startsWith("file:")){let b=a.slice(5);if(d.existsSync(b))return{id:a,name:e.basename(e.dirname(b))||b,content:d.readFileSync(b,"utf-8"),source:"file"}}}function A(a=[]){if(0===a.length)return[];let b=[];for(let c of a){let a=z(c.promptId);a&&b.push({...a,roleId:c.roleId,contentHash:x(a.content),contentPreview:y(a.content)})}return b}function B(a){let b=O(a),c=(0,i.XB)("prompt"),d=Q(a),e=[],f=[];if(b)for(let a of b.promptRoles){let b=c.find(b=>b.id===a.roleId);if(!b){e.push(a.roleId);continue}0===(b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]).length&&f.push(a.roleId)}let g=P(d),h=[];for(let a of g){let d=z(a.promptId);if(!d)continue;let e=c.find(b=>b.id===a.roleId),f=b?.promptRoles.find(b=>b.roleId===a.roleId),g=e?.executionType||function(a){var b;return b=a,/extract|extraction|抽取|清单|图纸|品牌/u.test(b)?"fact_extraction":/validation|校验|审查|审核/u.test(b)?"validation":/format|排版/u.test(b)?"formatting":/writer|method|schedule|quality|resource|safety|dangerous|施工|进度|质量|资源|安全|危大/u.test(b)?"chapter_generation":"reference"}(a.roleId),i=function(a,b,c=""){let d=`${a} ${b} ${c}`;return/extract|extraction|抽取|清单|图纸|品牌|识别/u.test(d)?"extraction":/format|排版/u.test(d)?"formatting":/总控|writer|施工组织设计总控|写作主控/u.test(d)?"writer":/chapter_generation|method|schedule|quality|resource|safety|dangerous|施工|进度|质量|资源|安全|危大/u.test(d)?"chapter":"reference"}(a.roleId,g,d.name),j=`projectRole:${b?.id||"unknown"}:${a.roleId}:order=${f?.order??0}`;h.push({...d,roleId:a.roleId,contentHash:x(d.content),contentPreview:y(d.content),executionType:g,category:i,bindingSource:j,roleConfigId:b?.id,roleName:e?.name,order:f?.order})}return{bindings:g,prompts:h,writerPrompts:h.filter(a=>"writer"===a.category),chapterPrompts:h.filter(a=>"chapter"===a.category),extractionPrompts:h.filter(a=>"extraction"===a.category),formattingPrompts:h.filter(a=>"formatting"===a.category),referencePrompts:h.filter(a=>"reference"===a.category),unresolvedRoles:[...new Set(e)],missingResourceRoles:[...new Set(f)]}}function C(){let a=(0,j.V)().templates,b=v().filter(b=>!a.some(a=>a.id===b.id));return[...a,...b]}function D(a){return C().find(b=>b.id===a)}function E(a){let b,c,d=u(a),e=v().find(a=>a.id===d.id),f=Date.now();if(e&&t(e)!==t(d)){b=(e.version||0)+1;let a=d.chapters.map(a=>a.title).join("、");c=[{version:b,timestamp:f,summary:a?`章节结构调整:${a.slice(0,80)}${a.length>80?"…":""}`:"模版内容已更新"},...e.changeLog||[]].slice(0,50)}else e?(b=e.version||1,c=e.changeLog||[]):(b=1,c=[{version:1,timestamp:f,summary:"创建模版"}]);let g={...d,version:b,updatedAt:f,changeLog:c},h=v().filter(a=>a.id!==d.id);return h.push(g),w(h),g}async function F(a,b=(0,h.aY)(),d={}){let f,g,j,r=D(a),s=[];if(!r)return{issues:[{level:"error",message:"文档模板不存在或已删除"}],fileDiagnostics:[],promptDiagnostics:[],roleDiagnostics:[],readiness:void 0,strategyPreview:void 0,config:void 0};let t=(0,i.XB)("prompt"),u=N(r),v=O(r);u||s.push({level:"error",message:"模板未绑定项目角色配置,且未匹配到自动专业角色配置"}),u&&!v&&s.push({level:"error",message:`项目角色配置不存在或已删除:${u}`}),r.promptIds?.length&&s.push({level:"warning",message:"模板存在旧 promptIds 字段残留,该字段已不参与生成,请清理模板历史数据。"}),r.promptBindings?.length&&s.push({level:"warning",message:"模板存在旧 promptBindings 字段残留,该字段已不参与生成,请清理模板历史数据。"});let w=Q(r),x=(0,o.qp)(r);v&&0===v.promptRoles.length&&s.push({level:"error",message:"项目角色配置未配置提示词角色。"}),v&&v.promptRoles.length>0&&0===w.length&&s.push({level:"error",message:"项目角色配置中的提示词角色未绑定任何有效提示词资源。"});let y=e.resolve(b),z=(0,h.Yy)(y),B=function(a,b){if(0===a.length)return[];let c=new Set(b.map(a=>a.relativePath)),d=[],e=new Set;for(let f of a){let a=f.materialRootPath.replace(/^\/+|\/+$/gu,"");for(let f of c.has(a)?[a]:b.filter(b=>{var c;return b.relativePath.startsWith(`${a}/`)&&"disk"!==(c=b).status&&"error"!==c.status&&Number(c.indexedAt||0)>0&&Number(c.chunkCount||0)>0}).map(a=>a.relativePath))e.has(f)||(e.add(f),d.push(f))}return d}(x,z);if(0===x.length?s.push({level:"error",message:"模板未绑定项目资料包,请先选择需要参与生成的项目文件夹。"}):0===B.length&&s.push({level:"error",message:"模板绑定的项目资料包不存在或没有可用索引文件,请重新选择项目资料包。"}),r&&(f=(0,l.P)(y,{requirement:d.requirement,boundFilePaths:B}),0===x.length&&!f.source.ambiguous&&f.source.selectedFiles>0)){let a=s.findIndex(a=>"error"===a.level&&"模板未绑定项目资料包,请先选择需要参与生成的项目文件夹。"===a.message);a>=0&&s.splice(a,1)}let C=new Map(z.map(a=>[a.relativePath,a])),E=[],G=B.map(a=>{let b=C.get(a);return b||s.push({level:"error",message:`知识库文件不存在:${a}`}),b&&("disk"===b.status||0===b.indexedAt)&&E.push({level:"warning",message:`知识库文件存在但尚未完成索引:${a}`}),b?.status==="error"&&s.push({level:"warning",message:`知识库文件索引失败:${a}${b.errorMessage?`,${b.errorMessage}`:""}`}),b&&0===b.chunkCount&&s.push({level:"warning",message:`知识库文件暂无可检索内容切片:${a}`}),{filePath:a,roleId:"project_material",roleName:"项目资料包",exists:!!b,indexed:!!(b&&b.indexedAt>0&&"disk"!==b.status),chunkCount:b?.chunkCount??0,vectorReady:!!(b&&b.chunkCount>0)}}),H=G.filter(a=>a.exists).length,I=G.filter(a=>a.exists&&!a.indexed).length;H>0&&I===H?s.push({level:"error",message:`模板绑定的项目资料包(${H} 份文件)均尚未完成解析入库,请等待后台索引完成后再运行模板`}):s.push(...E);let J=A(w),K=new Set(v?.promptRoles.map(a=>a.roleId)||[]);for(let a of v?.promptRoles||[]){let b=t.find(b=>b.id===a.roleId);if(!b){s.push({level:"error",message:`提示词角色不存在:${a.roleId}`});continue}0===(b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]).length&&s.push({level:"error",message:`提示词角色未绑定资源:${b.name}`})}let L=w.map(a=>{let b=t.find(b=>b.id===a.roleId),c=J.find(b=>b.id===a.promptId);return b||s.push({level:"error",message:`提示词角色不存在:${a.roleId}`}),K.has(a.roleId)||s.push({level:"error",message:`提示词绑定不属于当前项目角色配置:${a.roleId}`}),c||s.push({level:"error",message:`提示词不存在:${a.promptId}`}),c&&!c.content.trim()&&s.push({level:"warning",message:`提示词为空:${c.name}`}),{...a,roleName:b?.name,promptTitle:c?.name,promptSource:c?.source,contentLength:c?.content.length??0,contentHash:c?.contentHash,contentPreview:c?.contentPreview,exists:!!c}}),M=(v?.promptRoles||[]).map(a=>{let b=t.find(b=>b.id===a.roleId),c=b?b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]:[],d=w.filter(b=>b.roleId===a.roleId).map(a=>a.promptId),e=b?0===c.length?"missing_resource":0===d.length?"missing_prompt":"ok":"role_missing";return{roleId:a.roleId,roleName:b?.name,order:a.order,resourceIds:c,boundPromptIds:d,status:e}});if(J.length>1)try{let{detectPromptRuleConflicts:a}=await Promise.resolve().then(c.bind(c,71001));for(let b of a(J.map(a=>({promptId:a.id,name:a.name,roleId:a.roleId,content:a.content}))))s.push({level:b.level,message:`提示词规则冲突:${b.message}`})}catch{}if(r){let a=f||(0,l.P)(y,{requirement:d.requirement,boundFilePaths:B}),b=function(a,b){let c=function(a,b){let c=[a.name,a.category,a.description,a.outputTitle,...a.chapters.flatMap(a=>[a.title,a.purpose])].join("\n"),d=new Set(["project_overview","scope_description"]);return/需求|规则|响应|方案|实施|专项|安全|质量|进度|合规|施工组织|技术标/iu.test(c)&&["requirement_document","structured_data"].forEach(a=>d.add(a)),(/安全|质量|进度|工期|文明|环保|验收/iu.test(c)||b.materialInventory.schedule_quality_safety.length>0)&&d.add("schedule_quality_safety"),(/设计|图纸|平面|立面|剖面|做法/iu.test(c)||b.materialInventory.design_specification.length>0)&&d.add("design_specification"),(/风险|重点|难点|约束|现场|危大/iu.test(c)||b.materialInventory.risk_constraints.length>0)&&d.add("risk_constraints"),d}(a,b);return[...new Set([...function(a){let b=[a.name,a.description,a.outputTitle,...a.chapters.flatMap(a=>[a.title,a.purpose,...a.requiredFacts||[],...a.queries||[]])].join("\n"),c=new Set((0,m.t0)(b,m.hW));return c.add("project_overview"),c.add("scope_description"),[...c]}(a),...c])].map(a=>{let d=b.materialInventory[a]||[],e=c.has(a),f=d.length>0,g=f&&d.length<(e?2:1);return{role:a,required:e,satisfied:f,weak:g,evidenceCount:d.length,filePaths:d.map(a=>a.filePath),reason:f?`已匹配 ${d.length} 个资料文件`:e?"必需资料角色缺失":"可选资料角色缺失"}})}(r,a);for(let c of(g=(0,n.$)({template:r,spec:(0,k.x)(r).spec,summary:a,resolvedRoles:b})).blockingIssues)s.push({level:"error",message:`生成准备度不足:${c}`});for(let a of g.warnings)s.push({level:"warning",message:a})}try{let a=(0,k.x)(r).spec,{effectiveTemplateChapters:b}=await Promise.resolve().then(c.bind(c,70208)),e=b(r,a),f=r.generationSettings||r.exportSettings,g=(0,p.q6)(r.exportSettings||r.generationSettings),h=(0,p.py)(d.requirement||""),i=f?.targetPages?.target||f?.targetPages?.min,l=h.targetChars||(h.targetPages?h.targetPages*g:void 0)||(i?i*g:void 0),m=e.reduce((b,c)=>b+Math.max(a.chapterRules.find(a=>a.id===c.id||a.title===c.title)?.minWords||0,a.dynamicChapterRule.minWordsPerChapter||0),0),n=Math.round(l||m||1200*e.length),o=B.reduce((a,b)=>a+(C.get(b)?.chunkCount??0),0),{previewGenerationBudgetForTemplate:s}=await Promise.all([c.e(8163),c.e(9227)]).then(c.bind(c,79227));j=s({template:r,chapters:e,requirement:d.requirement,materialFileCount:B.length,evidenceCount:o,targetWords:n,hasVeryLargeExplicitChapter:e.some(a=>(a.sections||[]).filter(Boolean).length>=30),configuredChapterConcurrency:(0,q.z)().chapterConcurrency||0})}catch{}return{templateId:a,projectRoleConfigId:u,configName:v?.name,fileDiagnostics:G,promptDiagnostics:L,roleDiagnostics:M,readiness:g,issues:s,strategyPreview:j}}let G=new Map,H=Math.max(5e3,Number(process.env.DOCUMENT_TEMPLATE_VALIDATION_CACHE_TTL_MS??3e4));async function I(a,b=(0,h.aY)(),c={}){let d=e.resolve(b),f=D(a),g=(0,h.Yy)(d),i=JSON.stringify({templateId:a,templateVersion:f?.version??0,templateUpdatedAt:f?.updatedAt??0,projectRoot:d,requirement:c.requirement??"",fileCount:g.length,lastFileMtime:g.reduce((a,b)=>Math.max(a,b.mtime),0)}),j=G.get(i);if(j&&Date.now()-j.at<H)return j.result;let k=await F(a,d,c);return G.set(i,{at:Date.now(),result:k}),k}function J(a){if(new Set((0,j.V)().templates.map(a=>a.id)).has(a))throw Error("Configured template cannot be deleted");w(v().filter(b=>b.id!==a))}function K(a){let b=D(a);if(!b)throw Error("Document template not found");let c=Date.now(),d=u({...b,id:`${b.id}-copy-${c}`,name:`${b.name} Copy`,builtIn:!1,version:1,updatedAt:c,changeLog:[{version:1,timestamp:c,summary:`从 ${b.id} v${b.version||1} 复制`}]}),e=v();return e.push(d),w(e),d}function L(a,b){try{return RegExp(b,"iu").test(a)}catch{return a.includes(b)}}function M(a,b){return(function(a){let b=`${a.name} ${a.category} ${a.outputTitle} ${a.description}`;return(0,j.V)().chapterTitleFilters.filter(a=>a.templateMatchers.some(a=>L(b,a)))})(b).some(b=>!!b.minLength&&a.length<b.minLength||!!b.maxLength&&a.length>b.maxLength||b.forbiddenPatterns.some(b=>L(a,b)))}function N(a){return a.projectRoleConfigId||void 0}function O(a){let b=N(a);return b?(0,i.Mu)(b):void 0}function P(a){let b=new Set,c=[];for(let d of a){let a=`${d.roleId}:${d.promptId}`;!d.promptId||!d.roleId||b.has(a)||(b.add(a),c.push(d))}return c}function Q(a){let b=O(a);if(!b)return[];let c=(0,i.XB)("prompt"),d=[];for(let a of[...b.promptRoles].sort((a,b)=>a.order-b.order)){let b=c.find(b=>b.id===a.roleId),e=b?b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]:[];b&&0!==e.length&&d.push(...e.map(a=>({promptId:a,roleId:b.id})))}return P(d)}},28366:(a,b,c)=>{c.d(b,{TG:()=>j,bC:()=>i,ip:()=>g});var d=c(73024),e=c(76760),f=c(22157);let g={factGovernance:{thresholdComparison:"不低于|不少于|不高于|不超过|不得少于|不得高于|不得小于|不小于|不大于|大于等于|小于等于|≥|≤|≧|≦|以上|及以上|以内|之内",amendmentContext:"修正|调整|变更|更改|更正|改为|澄清|更新|修订",aspirationalPrefix:"拟|规划|目标|力争|预计|期望|远期|未来|设想|建议|预期|争取|拟建|规划建设",addendumSource:"补疑|答疑|澄清|补充|更正|修改",weakAnchorGapThreshold:9},writingSpec:{criticalSectionAnchors:["主要施工内容","工程概况","项目概况","重点难点","危大工程","应急预案","施工部署","总平面","主要分部分项工程施工方案","主要分部分项施工方案","主要施工方法"],majorContentSection:"项目主要施工\\s*内容|主要施工\\s*内容",divisionSection:"主要分部分项工程施工方案|主要分部分项施工方案|主要施工方法",divisionProcessLabel:"工艺流程|施工流程",criticalDeepSections:["项目特点.*重点.*难点|重点.*难点.*分析","项目主要施工\\s*内容|主要施工\\s*内容","主要分部分项工程施工方案|主要施工方法","危大工程专项施工方案审批流程","原材料进场复试|见证取样"],blockerMinChars:{emergency:650,majorContent:1800,division:1200,focus:1500},divisionQuality:{blockerMinPackages:3,minPackages:5,minParamsPerPackage:4,minPackageChars:150,balanceRatio:1/3},writeRules:{majorContent:"【项目主要施工内容专项结构】只能根据绑定材料中的当前项目事实识别施工对象和工作包;不得套用固定行业模板,不得复述完整工程概况,不得写“以图纸清单为准”式空话;不得使用 Markdown 表格。必须按专业工程/分部分项工程逐项展开,每个专业工程单独一个“#### 工作包名称”三级小节(不得把所有专业工程合并成一个小节),内容覆盖三方面要素:①作业对象与工程量(什么部位、什么规模)、②工序安排(先后顺序清晰)、③施工方法(怎么干、用什么参数验收)。呈现形式要求:三方面要素必须融入连贯散文叙述,禁止以“施工概况/施工流程/施工方法”等结构标签充当小节标题或段落开头引导(不得出现“施工概况:……”式标签行),标签词只是后台结构概念、不得入题入文。工作包小节必须与上下文“主要施工工作包”列表一一对应,每个工作包只允许展开一次;严禁把同一个工作包以“X工程”“X工作包”两种口径重复写成两个小节,也不得新增图谱之外的工作包小节。作业对象与工程量要素必须写该工作包对应的本项目作业对象、部位、规模/工程量、材料设备或系统边界,写成连贯叙述,避免“xxx|工程量”式清单原文罗列;工程量数值必须与工程量清单汇总值一致(只写项目总量,禁止写分部小计、单村分表量或估算值)。工序要素必须有明确的工序顺序表达,形式按小节序号轮换使用(顺序词叙述、编号步骤、有序列表、箭头链四形式;系统已为各小节指定形式,禁止相邻小节使用同一形式、禁止通篇同一形式,如“基层清理→放线定位→分层摊铺→碾压→压实度检测→验收”),每个工作包至少 1 处不少于 4 个环节的工序顺序表达,不得只把工序顺序局限在一处标签段;施工方法要素写成连贯叙述,落到具体工具机具、测量/检测方法、工艺参数、材料规格、穿插关系、质量验收、复试检测和资料闭环,每个工作包施工方法宜落位至少 3 个具体工艺参数(厚度、间距、偏差、含水率、饱满度、坡度、压实度等),参数来自绑定材料或行业通用规范值,禁止“按规范施工”“结合实际执行”式空话,严禁把工程量清单条目原样罗列成“xxx:2台;xxx:1台;”式参数堆砌。严禁出现工程量清单计价表内部口径词:分部小计、本页小计、合计、小计、按实、暂估、综合单价、措施项目费、规费、税金(这些是清单计价表专用标记,正式正文一律不得出现;“措施项目”作为专业工程类别名称可用,但不得与“清单/计价/费”连用)。施工方法写法样例(句式参照,内容按本项目事实替换):“配电箱采用挂墙方式安装,箱体中心距地1.5m,盘面垂直度偏差不超过1.5/1000;柜内元器件按系统图接线,导线分色标识,接线紧固力矩按规格控制;安装完成后进行绝缘电阻测试并形成通电试运行记录。”至少形成 5 个施工工作包,工作包必须来自绑定材料证据。",division:"【主要分部分项工程施工方案专项要求】每个“#### 分项工程方案”三级小节内容需覆盖三方面要素:①作业对象与工程量(本项目作业对象、部位、工程量)、②工序安排(先后顺序清晰)、③施工方法(工具机具、材料规格、工艺参数、验收标准)。呈现形式要求:三方面要素必须融入连贯散文叙述,禁止以“施工概况/施工流程/施工方法”等结构标签充当小节标题或段落开头引导(不得使用结构标签词作为分项小节名),标签词只是后台结构概念、不得入题入文。严禁用“**分项名**”粗体行代替“#### 分项名”小节标题,也不得把多个分项合并写在一个段落里。工程量数值必须与工程量清单汇总值一致(只写项目总量,禁止写分部小计、单村分表量或估算值),严禁出现工程量清单计价表内部口径词:分部小计、本页小计、合计、小计、按实、暂估、综合单价、措施项目费、规费、税金。工序要素必须有明确的工序顺序表达,形式按小节序号轮换使用(顺序词叙述、编号步骤、有序列表、箭头链四形式;系统已为各分项小节指定形式,禁止相邻分项使用同一形式、禁止通篇同一形式,如“基层清理→放线定位→分层摊铺→碾压→压实度检测→验收”),每个分项方案至少 1 处不少于 4 个环节的工序顺序表达,不得只把工序顺序局限在一处标签段;每个分项方案正文必须落位至少 4 个工艺参数(mm、MPa、间距、偏差、坡度、养护天数、试验压力、搭接长度等),参数来自绑定材料或行业通用规范值,不得编造;纯设备配置型小节必须写型号、规格、容量、数量参数;不得写“按规范施工”“结合实际执行”式空话。分项间深度必须均衡:门窗维修、立面修补、设备安装等小分项同样要写足作业对象、工序与工艺参数(每个分项不少于 150 字),不得一句话带过;严禁写“其他专业工序引用相应章节内容”“详见相关章节”等自我消解语,工序安排只能在本分项方案内展开,不得另行拆节复述。",labor:"【劳动力配置专项写作规则】工种构成表必须且只能使用锚点“工种构成”:各工种人数与合计(=劳动力峰值)与锚点完全一致,不得改写、不得自设其他工种构成;分阶段劳动力投入表各阶段人数必须与锚点“分阶段劳动力投入”一致,最大值等于劳动力峰值,任何阶段不得超过峰值;正文叙述与表格数值口径一致;规划了表格的小节必须输出正式 Markdown 表格;禁止将各工种人数相加推导峰值、禁止按定额自行估算劳动力数值。",material:"【材料配置专项写作规则】主要材料表必须且只能引用锚点“主要材料”清单:材料名称、型号、规格(混凝土强度等级、管径、功率、厚度、尺寸等)、数量与锚点完全一致;清单条目中明确给出的材料型号与参数是事实数据,必须原样引用,不得编造、改写或省略;锚点未列出的材料不得自行添加型号规格。施工方法与工艺叙述中提及的材料型号、规格、参数同样必须以清单特征原文或锚点清单为准。"},threeSourceRules:"【写作三源规则】正文中的每一个数字与事实只有三种合法来源,三源之外一律不得写入:\nF\xb7项目事实源:来自绑定材料、工程量清单、图纸与权威锚点的项目专属事实(工程量、规格、数量、工期、金额、地点、单位名称),一律原样引用,数值、单位、口径与源完全一致,不得改写、拆分或近似。\nD\xb7系统推导源:劳动力分配、工种构成、分阶段投入、机械台数、进度时间安排、材料进场时间、试验计划、检验批划分等计划类数值,已由蓝图统一推导并写入权威锚点,一律原样引用;严禁基于工程量、工期、定额或经验重新估算、换算或另设数值,锚点给出多少就写多少。\nP\xb7公共规范源:法律法规、标准规范(GB/JGJ/CJJ/DB 系列)与通用施工工艺参数可引用现行有效版本,规范必须带编号,不得虚构编号或引用已废止版本。\n三源均无依据时不得编造凑数:不得留空、不得写“另行确定”“按需配置”“根据进度灵活调配”“依据定额计算”等回避话术,也不得用行业先验数字冒充项目数据;此时只写已有三源事实、工艺细节与适用边界。"}},h=new Map;function i(a){let b=h.get(a);if(b)return b;let c=g,f=function(a){if(a)return e.join(a,".customize-agent","workflow-rules.json")}(a);if(f&&d.existsSync(f))try{let a=JSON.parse(d.readFileSync(f,"utf8"));c=function(a,b){if(!b)return a;let c={...a.factGovernance,...b.factGovernance||{}},d={...a.writingSpec.blockerMinChars,...b.writingSpec?.blockerMinChars||{}},e={...a.writingSpec.divisionQuality,...b.writingSpec?.divisionQuality||{}},f={...a.writingSpec.writeRules,...b.writingSpec?.writeRules||{}};return{factGovernance:c,writingSpec:{...a.writingSpec,...b.writingSpec||{},blockerMinChars:d,divisionQuality:e,writeRules:f}}}(g,a)}catch{}return h.set(a,c),c}function j(a){return(0,f.c6)(i(a))}},29281:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(96770);let e=null;function f(){return e||(e=new d.ConfigStore),e}},31129:(a,b,c)=>{c.d(b,{$R:()=>i,F$:()=>l,Hp:()=>j,bs:()=>m,gJ:()=>k});var d=c(73024),e=c(48161),f=c(76760),g=c(70208);function h(){return f.join(process.env.CUSTOMIZE_AGENT_HOME?f.join(process.env.CUSTOMIZE_AGENT_HOME,".customize-agent"):f.join(e.homedir(),".customize-agent"),"section-fingerprints.json")}function i(){let a=h();if(!d.existsSync(a))return{version:1,entries:[]};try{let b=JSON.parse(d.readFileSync(a,"utf8")),c=Array.isArray(b?.entries)?b.entries.filter(a=>!!a&&"object"==typeof a&&"string"==typeof a.documentId):[];return{version:1,entries:c}}catch{return{version:1,entries:[]}}}function j(a){try{let b=i();for(b.entries=b.entries.filter(b=>b.documentId!==a.documentId),b.entries.push(a);b.entries.length>200;)b.entries.shift();let c=h();d.mkdirSync(f.dirname(c),{recursive:!0}),d.writeFileSync(c,JSON.stringify(b,null,2),"utf8")}catch(a){console.error(`[fingerprint] 指纹池写入失败(不阻断生成):${a instanceof Error?a.message:String(a)}`)}}function k(a,b){let c=String(a||"").trim(),d=String(b||"").trim();if(!c||!d)return!1;if(c===d)return!0;let e=(0,g.nz)(c).replace(/\s+/gu,""),f=(0,g.nz)(d).replace(/\s+/gu,"");if(!e||!f)return!1;if(e===f)return!0;let h=new Set(f);if([...new Set(e)].filter(a=>h.has(a)).length<3)return!1;let i=function(a,b){let c=0,d=Array(b.length+1).fill(0);for(let e=1;e<=a.length;e+=1){let f=0;for(let g=1;g<=b.length;g+=1){let h=d[g];d[g]=a[e-1]===b[g-1]?f+1:0,d[g]>c&&(c=d[g]),f=h}}return c}(e,f);return!(i<3)&&i/Math.min(e.length,f.length)>=.4}function l(a,b,c={}){let d=[],e=[];for(let a of b.entries)if(!c.excludeDocumentId||a.documentId!==c.excludeDocumentId)for(let b of[...a.h3||[],...a.h4||[]])"string"==typeof b&&b.trim()&&e.push({title:b,documentId:a.documentId});if(0===e.length)return d;for(let b of a){if(!b||!String(b).trim())continue;let a=e.find(a=>k(b,a.title));a&&d.push({title:b,collidedWith:a.title,documentId:a.documentId})}return d}function m(a){let b=[],c=[];for(let d of String(a||"").split(/\r?\n/u)){let a=d.trim(),e=/^(#{3,4})\s+(.+)$/u.exec(a);if(!e)continue;let f=e[2].replace(/#+\s*$/u,"").trim();f&&(3===e[1].length?b:c).push(f)}return{h3:b,h4:c}}},36366:(a,b,c)=>{c.d(b,{TD:()=>h,a1:()=>o,u:()=>n,y$:()=>l});var d=c(73024),e=c(48161),f=c(76760),g=c(22157);let h=.85,i=[{name:"工序主线",prompt:"以施工先后工序为主线组织内容,小节按施工流程推进顺序展开"},{name:"专业系统",prompt:"以专业系统构成为主线,按各专业分系统独立成节"},{name:"空间区段",prompt:"以施工区段、单体与平面分区为主线,按空间单元组织小节"},{name:"资源要素",prompt:"以人材机等生产要素配置为主线,按资源要素组织小节"},{name:"目标管控",prompt:"以质量、安全、工期等管控目标为主线,按目标维度组织小节"},{name:"接口协同",prompt:"以专业接口与协同配合为主线,按接口关系与穿插顺序组织小节"}],j=[{name:"直述事务",prompt:"小节标题采用惯例事务名词直述(如「编制说明与工程概况」)"},{name:"目标牵引",prompt:"小节标题以目标与结果词收尾(如「工期目标与进度保障」)"},{name:"流程管控",prompt:"小节标题突出流程与衔接(如「施工流程与工序衔接」)"},{name:"要素配置",prompt:"小节标题突出要素与资源配置(如「劳动力配置与组织」)"},{name:"系统专业",prompt:"小节标题突出系统构成与专业对象(如「测量控制网建立」)"}];function k(a){return`${Math.floor(a/j.length)}-${a%j.length}`}function l(a,b=[]){let c=i.length*j.length,d=Number.parseInt((0,g.c6)(String(a||"default-document")).slice(0,8),16)%c,e=new Set(b.filter(Boolean)),f=d;for(let a=0;a<c;a+=1){let b=(d+a)%c;if(!e.has(k(b))){f=b;break}}let h=i[Math.floor(f/j.length)],m=j[f%j.length];return{id:k(f),perspective:h.name,style:m.name,prompt:`本次文档系统性差异化设定(全文一以贯之,除非与模板锁定小节冲突):
17
+ ${i}`.trim()}let s=new Set(["施工准备","施工要点","质量控制","质量要求","质量保证措施","质量控制措施","质量通病防治","安全措施","安全要求","安全管理措施","安全技术交底","技术交底","注意事项","验收要求","验收标准","成品保护","环境保护","文明施工","进度控制","工期保障","材料管理","机械管理","人员管理","组织管理","应急预案","应急措施","劳动力配置","机械设备配置","施工概况","施工流程","施工方法"]),t=/^(?:\d+(?:\.\d+)*|[一二三四五六七八九十]+)[、..\s::-]/u,u=/主要分部分项工程施工方案|项目主要施工内容/u;function v(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1)/^##\s+/u.test(b[a].trim())&&c.push(a);if(0===c.length)return a;let d=new Set;for(let a=0;a<c.length;a+=1){let e=c[a],f=c[a+1]??b.length,g=new Set,h=[],i="";for(let a=e;a<f;a+=1){let c=/^(#{3,4})\s+(.+)$/u.exec(b[a].trim());if(!c)continue;let d=c[2].trim(),e=l(d);e&&(3===c[1].length?(g.add(e),i=e):h.push({line:a,name:e,rawTitle:d,parentH3:i}))}let j=new Map;for(let a of h){let c=j.get(a.name);j.set(a.name,a.line);let e=t.test(a.rawTitle),h=u.test(a.parentH3),i=g.has(a.name)&&!e&&!h,k=s.has(a.name);if(!(i||!k&&void 0!==c))continue;let l=f;for(let c=a.line+1;c<f;c+=1)if(/^#{2,4}\s+/u.test(b[c].trim())){l=c;break}for(let b=a.line;b<l;b+=1)d.add(b)}}return 0===d.size?a:b.filter((a,b)=>!d.has(b)).join("\n")}function w(a,b,c={}){if(!c.fuzzy){let c=x(a,b,/^###\s+(?:\d+(?:\.\d+)*\s+)?/u);return c||x(a,b,/^#{3,4}\s+(?:\d+(?:\.\d+)*\s+)?/u)}return function(a,b){let c=a.split("\n"),d=y(b).replace(/\s+/gu,"").toLowerCase(),g=[],h=-1,i=0,j=!1,k=a=>{if(h<0)return;let b=c.slice(h,a).join("\n").trim();b&&g.push(b),h=-1,i=0,j=!1};for(let a=0;a<c.length;a+=1){if(!/^\s*#{2,4}\s+/u.test(c[a]))continue;let e=/^\s*(#{2,4})\s+/u.exec(c[a])?.[1].length||3;if(h>=0&&(j||3===i)&&4===e)continue;k(a);let g=y(c[a]).replace(/\s+/gu,"").toLowerCase();(g===d||g.includes(d)||A(c[a],b))&&(h=a+1,i=e,j=e<=4&&f.test(c[a]))}return k(c.length),g.sort((a,b)=>(0,e.V7)(b)-(0,e.V7)(a))[0]||""}(a,b)}function x(a,b,c){let d=a.split("\n"),e=d.findIndex(a=>c.test(a.trim())&&a.includes(b));if(e<0)return"";let g=/^(#{2,6})\s+/u.exec(d[e].trim())?.[1].length||3,h=4===g&&f.test(b),i=d.length;for(let a=e+1;a<d.length;a+=1){let b=/^(#{2,6})\s+/u.exec(d[a].trim());if(b&&b[1].length<=g&&!(h&&b[1].length===g)){i=a;break}}return d.slice(e,i).join("\n")}function y(a){return a.replace(/^\s*#{2,4}\s*/u,"").replace(/^\s*(?:\d+(?:\.\d+)*|[一二三四五六七八九十]+)(?:[、..]|\s+)\s*/u,"").trim()}function z(a){return y(a).replace(/\s+/gu,"").toLowerCase().replace(/施工(?=方案|流程|方法)/gu,"").replace(/专项(?=方案)/gu,"").replace(/项目|工程|主要|重点|技术/gu,"").replace(/[、,,;;·..//]+/gu,"").replace(/与|及|和|暨/gu,"")}function A(a,b){let c=z(a),d=z(b);return!!c&&!!d&&!(c.length<4)&&!(d.length<4)&&(c===d||c.includes(d)||d.includes(c))}function B(a,b,c){let d=[...new Set(b.filter(Boolean))];if(0===d.length)return a;let e=3===c?/^\s*###\s+/u:4===c?/^\s*####\s+/u:/^\s*#{3,4}\s+/u,f=new Set;return a.split("\n").map(a=>{if(!e.test(a))return a;let b=y(a);if(!b)return a;let c=d.find(a=>!f.has(a)&&A(b,a));if(!c||c===b)return a;let g=/^(\s*#{3,4}\s+)/u.exec(a)?.[1];return g?(f.add(c),`${g}${c}`):a}).join("\n")}function C(a){return(0,d.createHash)("sha1").update(JSON.stringify(a)).digest("hex")}function D(a){if(null==a)return"";if("string"==typeof a)return a;if("number"==typeof a||"boolean"==typeof a)return String(a);try{return JSON.stringify(a)}catch{return String(a)}}function E(a){if(a?.aborted)throw Error("用户中止")}function F(a){return`【系统约束——仅指导写作,禁止写入正文,禁止复述本句】${a}`}let G=["评标纪律","投标纪律","行贿","打招呼","递条子","廉洁承诺","廉洁自律","串标","围标","弄虚作假","干扰评标","异常低价","评标基准价"];function H(a){return!!(G.some(b=>a.includes(b))||a.includes("廉洁从业"))||/纪律|廉洁/u.test(a)&&/投标|评标|行贿|串标|围标|弄虚作假/u.test(a)}function I(a){return/否决[^。;\n]{0,8}投标|废标(?!准)|无效投标|投标无效|不予评审|取消[^。;\n]{0,6}投标资格/u.test(a)}function J(a){return a.filter(a=>!H(`${a.key||""} ${String(a.value)}`))}async function K(a,b,c){if(0===a.length)return[];let d=Math.max(1,Math.min(a.length,c.concurrency||Math.max(1,{total:a.length,kind:c.kind,targetWords:c.targetWords,highRisk:c.highRisk}.total))),e=Array(a.length),f=0;return await Promise.all(Array.from({length:d},async()=>{for(;f<a.length;){let c=f;f+=1,e[c]=await b(a[c],c)}})),e}class L{constructor(a){this.queue=[],this.available=Math.max(1,Math.floor(a))}async acquire(){if(this.available>0){this.available-=1;return}await new Promise(a=>{this.queue.push(a)})}release(){let a=this.queue.shift();a?a():this.available+=1}async run(a){await this.acquire();try{return await a()}finally{this.release()}}}},23500:(a,b,c)=>{c.d(b,{bj:()=>B,N6:()=>N,h0:()=>J,bV:()=>K,QJ:()=>D,jG:()=>C,dU:()=>A,Bh:()=>E,zY:()=>Q,xm:()=>F,J5:()=>I,C1:()=>M});var d=c(73024),e=c(76760),f=c(48161),g=c(77598),h=c(44533),i=c(25840),j=c(8753),k=c(6444),l=c(85441),m=c(92808),n=c(56942),o=c(2773),p=c(78217),q=c(80572);function r(){let a=e.join(f.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),a}function s(){return e.join(r(),"document-templates.json")}function t(a){let{version:b,updatedAt:c,changeLog:d,...e}=a;return(0,g.createHash)("sha256").update(function a(b){return Array.isArray(b)?`[${b.map(a).join(",")}]`:b&&"object"==typeof b?`{${Object.keys(b).sort().map(c=>`${JSON.stringify(c)}:${a(b[c])}`).join(",")}}`:JSON.stringify(b)}(e)).digest("hex")}function u(a){return{...a,id:a.id.replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)||`template-${Date.now()}`,name:a.name||"未命名模板",description:a.description||"",category:a.category||"自定义",outputTitle:a.outputTitle||a.name||"文档",version:Number.isFinite(a.version)&&a.version>0?Math.floor(a.version):1,updatedAt:Number.isFinite(a.updatedAt)?a.updatedAt:Date.now(),changeLog:Array.isArray(a.changeLog)?a.changeLog.filter(a=>a&&"object"==typeof a&&Number.isFinite(a.version)&&"string"==typeof a.summary).slice(0,50):[],projectRoleConfigId:a.projectRoleConfigId||void 0,chapters:Array.isArray(a.chapters)&&a.chapters.length>0?a.chapters.map((a,b)=>({id:(a.id||`chapter-${b+1}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80),title:a.title||`第 ${b+1} 章`,purpose:a.purpose||"",queries:Array.isArray(a.queries)?a.queries.filter(Boolean):[],requiredFacts:Array.isArray(a.requiredFacts)?a.requiredFacts.filter(Boolean):[],sections:Array.isArray(a.sections)?a.sections.filter(Boolean):[],tableSections:Array.isArray(a.tableSections)?a.tableSections.filter(Boolean):[],tableRequirements:Array.isArray(a.tableRequirements)?a.tableRequirements.filter(Boolean):[],tablePlans:Array.isArray(a.tablePlans)?a.tablePlans:[],pinnedEvidenceFilePaths:Array.isArray(a.pinnedEvidenceFilePaths)?a.pinnedEvidenceFilePaths.filter(Boolean):[]})):[{id:"document",title:a.outputTitle||a.name||"文档",purpose:a.description||"",queries:[],requiredFacts:[]}],exportSettings:a.exportSettings,generationSettings:a.generationSettings,promptIds:Array.isArray(a.promptIds)?a.promptIds.filter(Boolean):[],projectBindings:Array.isArray(a.projectBindings)?a.projectBindings.filter(a=>a.materialRootPath).map(a=>({materialRootPath:a.materialRootPath.replace(/^\/+|\/+$/gu,"")})):(0,o.qp)(a),promptBindings:Array.isArray(a.promptBindings)?a.promptBindings.filter(a=>a.promptId&&a.roleId):Array.isArray(a.promptIds)?a.promptIds.filter(Boolean).map(a=>({promptId:a,roleId:"chapter_generation"})):[],builtIn:!1}}function v(){try{let a=s();if(!d.existsSync(a))return[];let b=JSON.parse(d.readFileSync(a,"utf-8"));if(!Array.isArray(b))return d.renameSync(a,`${a}.corrupt-${Date.now()}`),[];return b.map(u)}catch{try{let a=s();d.existsSync(a)&&d.renameSync(a,`${a}.corrupt-${Date.now()}`)}catch{}return[]}}function w(a){d.writeFileSync(s(),JSON.stringify(a.map(u),null,2),"utf-8")}function x(a){return(0,g.createHash)("sha256").update(a).digest("hex").slice(0,12)}function y(a){return a.replace(/\s+/gu," ").trim().slice(0,160)}function z(a){let b=function(){try{let a=JSON.parse(d.readFileSync(e.join(r(),"prompts.json"),"utf-8"));return Array.isArray(a.customPrompts)?a.customPrompts:[]}catch{return[]}}();if(a.startsWith("custom:")){let c=b.find(b=>b.id===a);return c?{id:a,name:c.name,content:c.content,source:"custom"}:void 0}if(a.startsWith("file:")){let b=a.slice(5);if(d.existsSync(b))return{id:a,name:e.basename(e.dirname(b))||b,content:d.readFileSync(b,"utf-8"),source:"file"}}}function A(a=[]){if(0===a.length)return[];let b=[];for(let c of a){let a=z(c.promptId);a&&b.push({...a,roleId:c.roleId,contentHash:x(a.content),contentPreview:y(a.content)})}return b}function B(a){let b=O(a),c=(0,i.XB)("prompt"),d=Q(a),e=[],f=[];if(b)for(let a of b.promptRoles){let b=c.find(b=>b.id===a.roleId);if(!b){e.push(a.roleId);continue}0===(b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]).length&&f.push(a.roleId)}let g=P(d),h=[];for(let a of g){let d=z(a.promptId);if(!d)continue;let e=c.find(b=>b.id===a.roleId),f=b?.promptRoles.find(b=>b.roleId===a.roleId),g=e?.executionType||function(a){var b;return b=a,/extract|extraction|抽取|清单|图纸|品牌/u.test(b)?"fact_extraction":/validation|校验|审查|审核/u.test(b)?"validation":/format|排版/u.test(b)?"formatting":/writer|method|schedule|quality|resource|safety|dangerous|施工|进度|质量|资源|安全|危大/u.test(b)?"chapter_generation":"reference"}(a.roleId),i=function(a,b,c=""){let d=`${a} ${b} ${c}`;return/extract|extraction|抽取|清单|图纸|品牌|识别/u.test(d)?"extraction":/format|排版/u.test(d)?"formatting":/总控|writer|施工组织设计总控|写作主控/u.test(d)?"writer":/chapter_generation|method|schedule|quality|resource|safety|dangerous|施工|进度|质量|资源|安全|危大/u.test(d)?"chapter":"reference"}(a.roleId,g,d.name),j=`projectRole:${b?.id||"unknown"}:${a.roleId}:order=${f?.order??0}`;h.push({...d,roleId:a.roleId,contentHash:x(d.content),contentPreview:y(d.content),executionType:g,category:i,bindingSource:j,roleConfigId:b?.id,roleName:e?.name,order:f?.order})}return{bindings:g,prompts:h,writerPrompts:h.filter(a=>"writer"===a.category),chapterPrompts:h.filter(a=>"chapter"===a.category),extractionPrompts:h.filter(a=>"extraction"===a.category),formattingPrompts:h.filter(a=>"formatting"===a.category),referencePrompts:h.filter(a=>"reference"===a.category),unresolvedRoles:[...new Set(e)],missingResourceRoles:[...new Set(f)]}}function C(){let a=(0,j.V)().templates,b=v().filter(b=>!a.some(a=>a.id===b.id));return[...a,...b]}function D(a){return C().find(b=>b.id===a)}function E(a){let b,c,d=u(a),e=v().find(a=>a.id===d.id),f=Date.now();if(e&&t(e)!==t(d)){b=(e.version||0)+1;let a=d.chapters.map(a=>a.title).join("、");c=[{version:b,timestamp:f,summary:a?`章节结构调整:${a.slice(0,80)}${a.length>80?"…":""}`:"模版内容已更新"},...e.changeLog||[]].slice(0,50)}else e?(b=e.version||1,c=e.changeLog||[]):(b=1,c=[{version:1,timestamp:f,summary:"创建模版"}]);let g={...d,version:b,updatedAt:f,changeLog:c},h=v().filter(a=>a.id!==d.id);return h.push(g),w(h),g}async function F(a,b=(0,h.aY)(),d={}){let f,g,j,r=D(a),s=[];if(!r)return{issues:[{level:"error",message:"文档模板不存在或已删除"}],fileDiagnostics:[],promptDiagnostics:[],roleDiagnostics:[],readiness:void 0,strategyPreview:void 0,config:void 0};let t=(0,i.XB)("prompt"),u=N(r),v=O(r);u||s.push({level:"error",message:"模板未绑定项目角色配置,且未匹配到自动专业角色配置"}),u&&!v&&s.push({level:"error",message:`项目角色配置不存在或已删除:${u}`}),r.promptIds?.length&&s.push({level:"warning",message:"模板存在旧 promptIds 字段残留,该字段已不参与生成,请清理模板历史数据。"}),r.promptBindings?.length&&s.push({level:"warning",message:"模板存在旧 promptBindings 字段残留,该字段已不参与生成,请清理模板历史数据。"});let w=Q(r),x=(0,o.qp)(r);v&&0===v.promptRoles.length&&s.push({level:"error",message:"项目角色配置未配置提示词角色。"}),v&&v.promptRoles.length>0&&0===w.length&&s.push({level:"error",message:"项目角色配置中的提示词角色未绑定任何有效提示词资源。"});let y=e.resolve(b),z=(0,h.Yy)(y),B=function(a,b){if(0===a.length)return[];let c=new Set(b.map(a=>a.relativePath)),d=[],e=new Set;for(let f of a){let a=f.materialRootPath.replace(/^\/+|\/+$/gu,"");for(let f of c.has(a)?[a]:b.filter(b=>{var c;return b.relativePath.startsWith(`${a}/`)&&"disk"!==(c=b).status&&"error"!==c.status&&Number(c.indexedAt||0)>0&&Number(c.chunkCount||0)>0}).map(a=>a.relativePath))e.has(f)||(e.add(f),d.push(f))}return d}(x,z);if(0===x.length?s.push({level:"error",message:"模板未绑定项目资料包,请先选择需要参与生成的项目文件夹。"}):0===B.length&&s.push({level:"error",message:"模板绑定的项目资料包不存在或没有可用索引文件,请重新选择项目资料包。"}),r&&(f=(0,l.P)(y,{requirement:d.requirement,boundFilePaths:B}),0===x.length&&!f.source.ambiguous&&f.source.selectedFiles>0)){let a=s.findIndex(a=>"error"===a.level&&"模板未绑定项目资料包,请先选择需要参与生成的项目文件夹。"===a.message);a>=0&&s.splice(a,1)}let C=new Map(z.map(a=>[a.relativePath,a])),E=[],G=B.map(a=>{let b=C.get(a);return b||s.push({level:"error",message:`知识库文件不存在:${a}`}),b&&("disk"===b.status||0===b.indexedAt)&&E.push({level:"warning",message:`知识库文件存在但尚未完成索引:${a}`}),b?.status==="error"&&s.push({level:"warning",message:`知识库文件索引失败:${a}${b.errorMessage?`,${b.errorMessage}`:""}`}),b&&0===b.chunkCount&&s.push({level:"warning",message:`知识库文件暂无可检索内容切片:${a}`}),{filePath:a,roleId:"project_material",roleName:"项目资料包",exists:!!b,indexed:!!(b&&b.indexedAt>0&&"disk"!==b.status),chunkCount:b?.chunkCount??0,vectorReady:!!(b&&b.chunkCount>0)}}),H=G.filter(a=>a.exists).length,I=G.filter(a=>a.exists&&!a.indexed).length;H>0&&I===H?s.push({level:"error",message:`模板绑定的项目资料包(${H} 份文件)均尚未完成解析入库,请等待后台索引完成后再运行模板`}):s.push(...E);let J=A(w),K=new Set(v?.promptRoles.map(a=>a.roleId)||[]);for(let a of v?.promptRoles||[]){let b=t.find(b=>b.id===a.roleId);if(!b){s.push({level:"error",message:`提示词角色不存在:${a.roleId}`});continue}0===(b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]).length&&s.push({level:"error",message:`提示词角色未绑定资源:${b.name}`})}let L=w.map(a=>{let b=t.find(b=>b.id===a.roleId),c=J.find(b=>b.id===a.promptId);return b||s.push({level:"error",message:`提示词角色不存在:${a.roleId}`}),K.has(a.roleId)||s.push({level:"error",message:`提示词绑定不属于当前项目角色配置:${a.roleId}`}),c||s.push({level:"error",message:`提示词不存在:${a.promptId}`}),c&&!c.content.trim()&&s.push({level:"warning",message:`提示词为空:${c.name}`}),{...a,roleName:b?.name,promptTitle:c?.name,promptSource:c?.source,contentLength:c?.content.length??0,contentHash:c?.contentHash,contentPreview:c?.contentPreview,exists:!!c}}),M=(v?.promptRoles||[]).map(a=>{let b=t.find(b=>b.id===a.roleId),c=b?b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]:[],d=w.filter(b=>b.roleId===a.roleId).map(a=>a.promptId),e=b?0===c.length?"missing_resource":0===d.length?"missing_prompt":"ok":"role_missing";return{roleId:a.roleId,roleName:b?.name,order:a.order,resourceIds:c,boundPromptIds:d,status:e}});if(J.length>1)try{let{detectPromptRuleConflicts:a}=await Promise.resolve().then(c.bind(c,71001));for(let b of a(J.map(a=>({promptId:a.id,name:a.name,roleId:a.roleId,content:a.content}))))s.push({level:b.level,message:`提示词规则冲突:${b.message}`})}catch{}if(r){let a=f||(0,l.P)(y,{requirement:d.requirement,boundFilePaths:B}),b=function(a,b){let c=function(a,b){let c=[a.name,a.category,a.description,a.outputTitle,...a.chapters.flatMap(a=>[a.title,a.purpose])].join("\n"),d=new Set(["project_overview","scope_description"]);return/需求|规则|响应|方案|实施|专项|安全|质量|进度|合规|施工组织|技术标/iu.test(c)&&["requirement_document","structured_data"].forEach(a=>d.add(a)),(/安全|质量|进度|工期|文明|环保|验收/iu.test(c)||b.materialInventory.schedule_quality_safety.length>0)&&d.add("schedule_quality_safety"),(/设计|图纸|平面|立面|剖面|做法/iu.test(c)||b.materialInventory.design_specification.length>0)&&d.add("design_specification"),(/风险|重点|难点|约束|现场|危大/iu.test(c)||b.materialInventory.risk_constraints.length>0)&&d.add("risk_constraints"),d}(a,b);return[...new Set([...function(a){let b=[a.name,a.description,a.outputTitle,...a.chapters.flatMap(a=>[a.title,a.purpose,...a.requiredFacts||[],...a.queries||[]])].join("\n"),c=new Set((0,m.t0)(b,m.hW));return c.add("project_overview"),c.add("scope_description"),[...c]}(a),...c])].map(a=>{let d=b.materialInventory[a]||[],e=c.has(a),f=d.length>0,g=f&&d.length<(e?2:1);return{role:a,required:e,satisfied:f,weak:g,evidenceCount:d.length,filePaths:d.map(a=>a.filePath),reason:f?`已匹配 ${d.length} 个资料文件`:e?"必需资料角色缺失":"可选资料角色缺失"}})}(r,a);for(let c of(g=(0,n.$)({template:r,spec:(0,k.x)(r).spec,summary:a,resolvedRoles:b})).blockingIssues)s.push({level:"error",message:`生成准备度不足:${c}`});for(let a of g.warnings)s.push({level:"warning",message:a})}try{let a=(0,k.x)(r).spec,{effectiveTemplateChapters:b}=await Promise.resolve().then(c.bind(c,70208)),e=b(r,a),f=r.generationSettings||r.exportSettings,g=(0,p.q6)(r.exportSettings||r.generationSettings),h=(0,p.py)(d.requirement||""),i=f?.targetPages?.target||f?.targetPages?.min,l=h.targetChars||(h.targetPages?h.targetPages*g:void 0)||(i?i*g:void 0),m=e.reduce((b,c)=>b+Math.max(a.chapterRules.find(a=>a.id===c.id||a.title===c.title)?.minWords||0,a.dynamicChapterRule.minWordsPerChapter||0),0),n=Math.round(l||m||1200*e.length),o=B.reduce((a,b)=>a+(C.get(b)?.chunkCount??0),0),{previewGenerationBudgetForTemplate:s}=await Promise.all([c.e(8163),c.e(9227)]).then(c.bind(c,79227));j=s({template:r,chapters:e,requirement:d.requirement,materialFileCount:B.length,evidenceCount:o,targetWords:n,hasVeryLargeExplicitChapter:e.some(a=>(a.sections||[]).filter(Boolean).length>=30),configuredChapterConcurrency:(0,q.z)().chapterConcurrency||0})}catch{}return{templateId:a,projectRoleConfigId:u,configName:v?.name,fileDiagnostics:G,promptDiagnostics:L,roleDiagnostics:M,readiness:g,issues:s,strategyPreview:j}}let G=new Map,H=Math.max(5e3,Number(process.env.DOCUMENT_TEMPLATE_VALIDATION_CACHE_TTL_MS??3e4));async function I(a,b=(0,h.aY)(),c={}){let d=e.resolve(b),f=D(a),g=(0,h.Yy)(d),i=JSON.stringify({templateId:a,templateVersion:f?.version??0,templateUpdatedAt:f?.updatedAt??0,projectRoot:d,requirement:c.requirement??"",fileCount:g.length,lastFileMtime:g.reduce((a,b)=>Math.max(a,b.mtime),0)}),j=G.get(i);if(j&&Date.now()-j.at<H)return j.result;let k=await F(a,d,c);return G.set(i,{at:Date.now(),result:k}),k}function J(a){if(new Set((0,j.V)().templates.map(a=>a.id)).has(a))throw Error("Configured template cannot be deleted");w(v().filter(b=>b.id!==a))}function K(a){let b=D(a);if(!b)throw Error("Document template not found");let c=Date.now(),d=u({...b,id:`${b.id}-copy-${c}`,name:`${b.name} Copy`,builtIn:!1,version:1,updatedAt:c,changeLog:[{version:1,timestamp:c,summary:`从 ${b.id} v${b.version||1} 复制`}]}),e=v();return e.push(d),w(e),d}function L(a,b){try{return RegExp(b,"iu").test(a)}catch{return a.includes(b)}}function M(a,b){return(function(a){let b=`${a.name} ${a.category} ${a.outputTitle} ${a.description}`;return(0,j.V)().chapterTitleFilters.filter(a=>a.templateMatchers.some(a=>L(b,a)))})(b).some(b=>!!b.minLength&&a.length<b.minLength||!!b.maxLength&&a.length>b.maxLength||b.forbiddenPatterns.some(b=>L(a,b)))}function N(a){return a.projectRoleConfigId||void 0}function O(a){let b=N(a);return b?(0,i.Mu)(b):void 0}function P(a){let b=new Set,c=[];for(let d of a){let a=`${d.roleId}:${d.promptId}`;!d.promptId||!d.roleId||b.has(a)||(b.add(a),c.push(d))}return c}function Q(a){let b=O(a);if(!b)return[];let c=(0,i.XB)("prompt"),d=[];for(let a of[...b.promptRoles].sort((a,b)=>a.order-b.order)){let b=c.find(b=>b.id===a.roleId),e=b?b.resourceIds?.length?b.resourceIds:b.resourceId?[b.resourceId]:[]:[];b&&0!==e.length&&d.push(...e.map(a=>({promptId:a,roleId:b.id})))}return P(d)}},28366:(a,b,c)=>{c.d(b,{TG:()=>j,bC:()=>i,ip:()=>g});var d=c(73024),e=c(76760),f=c(22157);let g={factGovernance:{thresholdComparison:"不低于|不少于|不高于|不超过|不得少于|不得高于|不得小于|不小于|不大于|大于等于|小于等于|≥|≤|≧|≦|以上|及以上|以内|之内",amendmentContext:"修正|调整|变更|更改|更正|改为|澄清|更新|修订",aspirationalPrefix:"拟|规划|目标|力争|预计|期望|远期|未来|设想|建议|预期|争取|拟建|规划建设",addendumSource:"补疑|答疑|澄清|补充|更正|修改",weakAnchorGapThreshold:9},writingSpec:{criticalSectionAnchors:["主要施工内容","工程概况","项目概况","重点难点","危大工程","应急预案","施工部署","总平面","主要分部分项工程施工方案","主要分部分项施工方案","主要施工方法"],majorContentSection:"项目主要施工\\s*内容|主要施工\\s*内容",divisionSection:"主要分部分项工程施工方案|主要分部分项施工方案|主要施工方法",divisionProcessLabel:"工艺流程|施工流程",criticalDeepSections:["项目特点.*重点.*难点|重点.*难点.*分析","项目主要施工\\s*内容|主要施工\\s*内容","主要分部分项工程施工方案|主要施工方法","危大工程专项施工方案审批流程","原材料进场复试|见证取样"],blockerMinChars:{emergency:650,majorContent:1800,division:1200,focus:1500},divisionQuality:{blockerMinPackages:3,minPackages:5,minParamsPerPackage:4,minPackageChars:150,balanceRatio:1/3},writeRules:{majorContent:"【项目主要施工内容专项结构】只能根据绑定材料中的当前项目事实识别施工对象和工作包;不得套用固定行业模板,不得复述完整工程概况,不得写“以图纸清单为准”式空话;不得使用 Markdown 表格。必须按专业工程/分部分项工程逐项展开,每个专业工程单独一个“#### 工作包名称”三级小节(不得把所有专业工程合并成一个小节),内容覆盖三方面要素:①作业对象与工程量(什么部位、什么规模)、②工序安排(先后顺序清晰)、③施工方法(怎么干、用什么参数验收)。呈现形式要求:三方面要素必须融入连贯散文叙述,禁止以“施工概况/施工流程/施工方法”等结构标签充当小节标题或段落开头引导(不得出现“施工概况:……”式标签行),标签词只是后台结构概念、不得入题入文。工作包小节必须与上下文“主要施工工作包”列表一一对应,每个工作包只允许展开一次;严禁把同一个工作包以“X工程”“X工作包”两种口径重复写成两个小节,也不得新增图谱之外的工作包小节。作业对象与工程量要素必须写该工作包对应的本项目作业对象、部位、规模/工程量、材料设备或系统边界,写成连贯叙述,避免“xxx|工程量”式清单原文罗列;工程量数值必须与工程量清单汇总值一致(只写项目总量,禁止写分部小计、单村分表量或估算值)。工序要素必须有明确的工序顺序表达,形式按小节序号轮换使用(顺序词叙述、编号步骤、有序列表、箭头链四形式;系统已为各小节指定形式,禁止相邻小节使用同一形式、禁止通篇同一形式,如“基层清理→放线定位→分层摊铺→碾压→压实度检测→验收”),每个工作包至少 1 处不少于 4 个环节的工序顺序表达,不得只把工序顺序局限在一处标签段;施工方法要素写成连贯叙述,落到具体工具机具、测量/检测方法、工艺参数、材料规格、穿插关系、质量验收、复试检测和资料闭环,每个工作包施工方法宜落位至少 3 个具体工艺参数(厚度、间距、偏差、含水率、饱满度、坡度、压实度等),参数来自绑定材料或行业通用规范值,禁止“按规范施工”“结合实际执行”式空话,严禁把工程量清单条目原样罗列成“xxx:2台;xxx:1台;”式参数堆砌。严禁出现工程量清单计价表内部口径词:分部小计、本页小计、合计、小计、按实、暂估、综合单价、措施项目费、规费、税金(这些是清单计价表专用标记,正式正文一律不得出现;“措施项目”作为专业工程类别名称可用,但不得与“清单/计价/费”连用)。施工方法写法样例(句式参照,内容按本项目事实替换):“配电箱采用挂墙方式安装,箱体中心距地1.5m,盘面垂直度偏差不超过1.5/1000;柜内元器件按系统图接线,导线分色标识,接线紧固力矩按规格控制;安装完成后进行绝缘电阻测试并形成通电试运行记录。”至少形成 5 个施工工作包,工作包必须来自绑定材料证据。",division:"【主要分部分项工程施工方案专项要求】每个“#### 分项工程方案”三级小节内容需覆盖三方面要素:①作业对象与工程量(本项目作业对象、部位、工程量)、②工序安排(先后顺序清晰)、③施工方法(工具机具、材料规格、工艺参数、验收标准)。呈现形式要求:三方面要素必须融入连贯散文叙述,禁止以“施工概况/施工流程/施工方法”等结构标签充当小节标题或段落开头引导(不得使用结构标签词作为分项小节名),标签词只是后台结构概念、不得入题入文。严禁用“**分项名**”粗体行代替“#### 分项名”小节标题,也不得把多个分项合并写在一个段落里。工程量数值必须与工程量清单汇总值一致(只写项目总量,禁止写分部小计、单村分表量或估算值),严禁出现工程量清单计价表内部口径词:分部小计、本页小计、合计、小计、按实、暂估、综合单价、措施项目费、规费、税金。工序要素必须有明确的工序顺序表达,形式按小节序号轮换使用(顺序词叙述、编号步骤、有序列表、箭头链四形式;系统已为各分项小节指定形式,禁止相邻分项使用同一形式、禁止通篇同一形式,如“基层清理→放线定位→分层摊铺→碾压→压实度检测→验收”),每个分项方案至少 1 处不少于 4 个环节的工序顺序表达,不得只把工序顺序局限在一处标签段;每个分项方案正文必须落位至少 4 个工艺参数(mm、MPa、间距、偏差、坡度、养护天数、试验压力、搭接长度等),参数来自绑定材料或行业通用规范值,不得编造;纯设备配置型小节必须写型号、规格、容量、数量参数;不得写“按规范施工”“结合实际执行”式空话。分项间深度必须均衡:门窗维修、立面修补、设备安装等小分项同样要写足作业对象、工序与工艺参数(每个分项不少于 150 字),不得一句话带过;严禁写“其他专业工序引用相应章节内容”“详见相关章节”等自我消解语,工序安排只能在本分项方案内展开,不得另行拆节复述。",labor:"【劳动力配置专项写作规则】工种构成表必须且只能使用锚点“工种构成”:各工种人数与合计(=劳动力峰值)与锚点完全一致,不得改写、不得自设其他工种构成;分阶段劳动力投入表各阶段人数必须与锚点“分阶段劳动力投入”一致,最大值等于劳动力峰值,任何阶段不得超过峰值;正文叙述与表格数值口径一致;规划了表格的小节必须输出正式 Markdown 表格;禁止将各工种人数相加推导峰值、禁止按定额自行估算劳动力数值。",material:"【材料配置专项写作规则】主要材料表必须且只能引用锚点“主要材料”清单:材料名称、型号、规格(混凝土强度等级、管径、功率、厚度、尺寸等)、数量与锚点完全一致;清单条目中明确给出的材料型号与参数是事实数据,必须原样引用,不得编造、改写或省略;锚点未列出的材料不得自行添加型号规格。施工方法与工艺叙述中提及的材料型号、规格、参数同样必须以清单特征原文或锚点清单为准。"},threeSourceRules:"【写作三源规则】正文中的每一个数字与事实只有三种合法来源,三源之外一律不得写入:\nF\xb7项目事实源:来自绑定材料、工程量清单、图纸与权威锚点的项目专属事实(工程量、规格、数量、工期、金额、地点、单位名称),一律原样引用,数值、单位、口径与源完全一致,不得改写、拆分或近似。\nD\xb7系统推导源:劳动力分配、工种构成、分阶段投入、机械台数、进度时间安排、材料进场时间、试验计划、检验批划分等计划类数值,已由蓝图统一推导并写入权威锚点,一律原样引用;严禁基于工程量、工期、定额或经验重新估算、换算或另设数值,锚点给出多少就写多少。\nP\xb7公共规范源:法律法规、标准规范(GB/JGJ/CJJ/DB 系列)与通用施工工艺参数可引用现行有效版本,规范必须带编号,不得虚构编号或引用已废止版本。\n三源均无依据时不得编造凑数:不得留空、不得写“另行确定”“按需配置”“根据进度灵活调配”“依据定额计算”等回避话术,也不得用行业先验数字冒充项目数据;此时只写已有三源事实、工艺细节与适用边界。"}},h=new Map;function i(a){let b=h.get(a);if(b)return b;let c=g,f=function(a){if(a)return e.join(a,".customize-agent","workflow-rules.json")}(a);if(f&&d.existsSync(f))try{let a=JSON.parse(d.readFileSync(f,"utf8"));c=function(a,b){if(!b)return a;let c={...a.factGovernance,...b.factGovernance||{}},d={...a.writingSpec.blockerMinChars,...b.writingSpec?.blockerMinChars||{}},e={...a.writingSpec.divisionQuality,...b.writingSpec?.divisionQuality||{}},f={...a.writingSpec.writeRules,...b.writingSpec?.writeRules||{}};return{factGovernance:c,writingSpec:{...a.writingSpec,...b.writingSpec||{},blockerMinChars:d,divisionQuality:e,writeRules:f}}}(g,a)}catch{}return h.set(a,c),c}function j(a){return(0,f.c6)(i(a))}},29281:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(96770);let e=null;function f(){return e||(e=new d.ConfigStore),e}},31129:(a,b,c)=>{c.d(b,{$R:()=>i,F$:()=>l,Hp:()=>j,bs:()=>m,gJ:()=>k});var d=c(73024),e=c(48161),f=c(76760),g=c(70208);function h(){return f.join(process.env.CUSTOMIZE_AGENT_HOME?f.join(process.env.CUSTOMIZE_AGENT_HOME,".customize-agent"):f.join(e.homedir(),".customize-agent"),"section-fingerprints.json")}function i(){let a=h();if(!d.existsSync(a))return{version:1,entries:[]};try{let b=JSON.parse(d.readFileSync(a,"utf8")),c=Array.isArray(b?.entries)?b.entries.filter(a=>!!a&&"object"==typeof a&&"string"==typeof a.documentId):[];return{version:1,entries:c}}catch{return{version:1,entries:[]}}}function j(a){try{let b=i();for(b.entries=b.entries.filter(b=>b.documentId!==a.documentId),b.entries.push(a);b.entries.length>200;)b.entries.shift();let c=h();d.mkdirSync(f.dirname(c),{recursive:!0}),d.writeFileSync(c,JSON.stringify(b,null,2),"utf8")}catch(a){console.error(`[fingerprint] 指纹池写入失败(不阻断生成):${a instanceof Error?a.message:String(a)}`)}}function k(a,b){let c=String(a||"").trim(),d=String(b||"").trim();if(!c||!d)return!1;if(c===d)return!0;let e=(0,g.nz)(c).replace(/\s+/gu,""),f=(0,g.nz)(d).replace(/\s+/gu,"");if(!e||!f)return!1;if(e===f)return!0;let h=new Set(f);if([...new Set(e)].filter(a=>h.has(a)).length<3)return!1;let i=function(a,b){let c=0,d=Array(b.length+1).fill(0);for(let e=1;e<=a.length;e+=1){let f=0;for(let g=1;g<=b.length;g+=1){let h=d[g];d[g]=a[e-1]===b[g-1]?f+1:0,d[g]>c&&(c=d[g]),f=h}}return c}(e,f);return!(i<3)&&i/Math.min(e.length,f.length)>=.4}function l(a,b,c={}){let d=[],e=[];for(let a of b.entries)if(!c.excludeDocumentId||a.documentId!==c.excludeDocumentId)for(let b of[...a.h3||[],...a.h4||[]])"string"==typeof b&&b.trim()&&e.push({title:b,documentId:a.documentId});if(0===e.length)return d;for(let b of a){if(!b||!String(b).trim())continue;let a=e.find(a=>k(b,a.title));a&&d.push({title:b,collidedWith:a.title,documentId:a.documentId})}return d}function m(a){let b=[],c=[];for(let d of String(a||"").split(/\r?\n/u)){let a=d.trim(),e=/^(#{3,4})\s+(.+)$/u.exec(a);if(!e)continue;let f=e[2].replace(/#+\s*$/u,"").trim();f&&(3===e[1].length?b:c).push(f)}return{h3:b,h4:c}}},36366:(a,b,c)=>{c.d(b,{TD:()=>h,a1:()=>o,u:()=>n,y$:()=>l});var d=c(73024),e=c(48161),f=c(76760),g=c(22157);let h=.85,i=[{name:"工序主线",prompt:"以施工先后工序为主线组织内容,小节按施工流程推进顺序展开"},{name:"专业系统",prompt:"以专业系统构成为主线,按各专业分系统独立成节"},{name:"空间区段",prompt:"以施工区段、单体与平面分区为主线,按空间单元组织小节"},{name:"资源要素",prompt:"以人材机等生产要素配置为主线,按资源要素组织小节"},{name:"目标管控",prompt:"以质量、安全、工期等管控目标为主线,按目标维度组织小节"},{name:"接口协同",prompt:"以专业接口与协同配合为主线,按接口关系与穿插顺序组织小节"}],j=[{name:"直述事务",prompt:"小节标题采用惯例事务名词直述(如「编制说明与工程概况」)"},{name:"目标牵引",prompt:"小节标题以目标与结果词收尾(如「工期目标与进度保障」)"},{name:"流程管控",prompt:"小节标题突出流程与衔接(如「施工流程与工序衔接」)"},{name:"要素配置",prompt:"小节标题突出要素与资源配置(如「劳动力配置与组织」)"},{name:"系统专业",prompt:"小节标题突出系统构成与专业对象(如「测量控制网建立」)"}];function k(a){return`${Math.floor(a/j.length)}-${a%j.length}`}function l(a,b=[]){let c=i.length*j.length,d=Number.parseInt((0,g.c6)(String(a||"default-document")).slice(0,8),16)%c,e=new Set(b.filter(Boolean)),f=d;for(let a=0;a<c;a+=1){let b=(d+a)%c;if(!e.has(k(b))){f=b;break}}let h=i[Math.floor(f/j.length)],m=j[f%j.length];return{id:k(f),perspective:h.name,style:m.name,prompt:`本次文档系统性差异化设定(全文一以贯之,除非与模板锁定小节冲突):
18
18
  - 组织主线:${h.prompt}。
19
19
  - 命名风格:${m.prompt}。
20
20
  同一文档内不得混用多种命名风格。`}}function m(){let a=process.env.CUSTOMIZE_AGENT_HOME?f.join(process.env.CUSTOMIZE_AGENT_HOME,".customize-agent"):f.join(e.homedir(),".customize-agent");return f.join(a,"diversity-history.json")}function n(a){try{let b=m();if(!d.existsSync(b))return[];let c=JSON.parse(d.readFileSync(b,"utf8")),e=c?.history?.[a];return Array.isArray(e)?e.filter(a=>"string"==typeof a):[]}catch{return[]}}function o(a,b){try{let c=m();d.mkdirSync(f.dirname(c),{recursive:!0});let e={version:1,history:{}};if(d.existsSync(c))try{let a=JSON.parse(d.readFileSync(c,"utf8"));a&&"object"==typeof a&&a.history&&"object"==typeof a.history&&(e={version:1,history:a.history})}catch{}let g=(e.history[a]||[]).filter(a=>a!==b);e.history[a]=[b,...g].slice(0,12),d.writeFileSync(c,JSON.stringify(e,null,2),"utf8")}catch(a){console.error(`[diversity] 画像历史写入失败(不阻断生成):${a instanceof Error?a.message:String(a)}`)}}},37047:(a,b,c)=>{c.d(b,{Bd:()=>l,Eh:()=>h,Iu:()=>g,Mv:()=>o,VN:()=>f});var d=c(19898);let e=null;function f(){return e||(e=new d.LocalTransformersEmbeddingProvider({})),e}async function g(){if("1"!==process.env.DOCUMENT_SKIP_EMBED_PREFLIGHT)try{await f().embedQuery("生成前置检查")}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`本地语义模型预热失败(生成前置检查,可用 DOCUMENT_SKIP_EMBED_PREFLIGHT=1 跳过):${a}`,{cause:b})}}let h=.6,i=new Map,j=0,k=0;function l(){return{embedCacheHits:j,embedCacheMisses:k}}async function m(a,b){let c=b?await b(a):await f().embedDocuments(a);if(c.length!==a.length)throw Error(`本地语义模型嵌入数量不一致:期望 ${a.length} 条,实际 ${c.length} 条`);return c}async function n(a,b){if("0"===process.env.DOCUMENT_EMBED_CACHE)return m(a,b);let c=Array(a.length),d=[],e=new Map;for(let b=0;b<a.length;b+=1){let f=a[b];if(f.length<=2e3){let a=i.get(f);if(a){c[b]=a,j+=1,i.delete(f),i.set(f,a);continue}}let g=e.get(f);g?g.push(b):(e.set(f,[b]),d.push(f))}if(0===d.length)return c;let f=await m(d,b),g=function(){let a=Number(process.env.DOCUMENT_EMBED_CACHE_SIZE||4e4);return Number.isFinite(a)&&a>0?a:4e4}();for(let a=0;a<d.length;a+=1){let b=d[a],h=f[a],j=e.get(b);for(let a of j)c[a]=h;if(b.length<=2e3&&(k+=j.length,i.set(b,h),i.size>g)){let a=i.keys().next().value;void 0!==a&&i.delete(a)}}return c}async function o(a,b,c){if(0===a.length||0===b.length)return()=>0;let d=[...a,...b],e=await n(d,c),f=new Map;for(let a=0;a<d.length;a++)f.has(d[a])||f.set(d[a],e[a]);return(a,b)=>{let c=f.get(a),d=f.get(b);if(!c||!d)return 0;let e=Math.min(c.length,d.length),g=0;for(let a=0;a<e;a++)g+=c[a]*d[a];return g}}},38115:(a,b,c)=>{c.d(b,{G8:()=>n,SX:()=>l,UW:()=>j,qL:()=>m});var d=c(95734),e=c(70208),f=c(61373),g=c(36366),h=c(31129);function i(a){return(0,e.nz)(String(a||"")).replace(/[\s()()::.。;;,,、\-—·]/gu,"")}function j(a,b){let c=String(a||"").trim(),d=String(b||"").trim();if(!c)return d;if(!d)return c;let e=Math.min(c.length,d.length);for(let a=e;a>0;a-=1)if(c.slice(-a)===d.slice(0,a))return`${c.slice(0,-a)}${d}`;return`${c}${d}`}let k=["一","二","三","四","五","六","七","八","九","十"];function l(a){let b=a.map(a=>i(a.title)),c=new Map;for(let a of b)c.set(a,(c.get(a)||0)+1);let d=new Set,f=[];for(let g=0;g<a.length;g+=1){let h=a[g],l=String(h.title||"").trim();if((c.get(b[g])||0)>1){let a=String(h.owner||"").trim(),b=i(a);b&&!i(l).startsWith(b)&&(l=j(a,(0,e.nz)(l)))}let m=l,n=1;for(;d.has(i(m));)n+=1,m=`${l}(${k[n-1]||n})`;d.add(i(m)),f.push(m)}return f}function m(a){let b=(0,e.nz)(String(a||"")).replace(/\s+/gu,"");return!!(b.length<4||/^(.{2,5})\1$/u.test(b)||/(.)\1/u.test(b))}async function n(a){let b,c=a.blocks.map(a=>a.title),j=a.fingerprintPool?(0,h.F$)(c,a.fingerprintPool,{excludeDocumentId:a.excludeDocumentId}):[],k=c.filter(a=>m(a)),l=[...new Set([...j.map(a=>a.title),...k])];if(0===l.length)return{titles:c,renamed:0,summary:null};try{let c=await (0,d.bb)([(0,f.y4)("你是施工组织设计目录命名审查专家。"),"输入某章的小节标题清单与点名需改名的标题(与历史文档撞名或命名退化),只输出改名映射。","改名规则:只改点名标题,不改未点名标题;新标题必须仍是同一专业对象或同一工程内容的具体表述,不得改变小节实质;16 个汉字以内;不得仅通过添加“工作/内容/相关/方案”等尾词规避撞名,必须实质性更换措辞;不得与本章其他小节标题用词高度相似(防章内撞名)。",a.profile?a.profile.prompt:"","只返回 JSON。"].filter(Boolean).join("\n"),[`章标题:${a.chapterTitle}`,`本章小节清单:
@@ -22,12 +22,14 @@ ${a.blocks.map(a=>`- ${a.title}${a.pointTitles.length?`(要点:${a.pointTitl
22
22
  ${j.map(a=>`「${a.title}」↔「${a.collidedWith}」`).join("\n")}`:"",k.length?`命名退化(重复/残片)标题:${k.join("、")}`:"",'JSON 格式:{"renames":{"原标题":"新标题"}}(只包含需要改名的标题)'].filter(Boolean).join("\n\n"),{maxTokens:800,temperature:g.TD,signal:a.signal,diagnostics:a.diagnostics});b=c?.renames&&"object"==typeof c.renames?c.renames:{}}catch(b){return console.error(`[naming] 定名轮调用失败(保留原命名):${a.chapterTitle},${b instanceof Error?b.message:String(b)}`),{titles:c,renamed:0,summary:null}}let n=0;for(let[d,f]of Object.entries(b)){let b=i(d);if(!b)continue;let g=c.flatMap((a,c)=>i(a)===b?[c]:[]);if(0===g.length||!l.some(a=>i(a)===b))continue;let j=(0,e.nz)(String(f||""));if(!(!j||j.length>24||m(j)||c.some((a,b)=>!g.includes(b)&&(0,h.gJ)(a,j)))&&(!a.fingerprintPool||!((0,h.F$)([j],a.fingerprintPool,{excludeDocumentId:a.excludeDocumentId}).length>0))){for(let a of g)c[a]=j;n+=1}}return 0===n?{titles:c,renamed:0,summary:null}:{titles:c,renamed:n,summary:`命名定名轮:改名 ${n} 个(撞名 ${j.length} 个/退化 ${k.length} 个信号)`}}},41991:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(37047);function e(a,b){let c=Math.min(a.length,b.length),d=0;for(let e=0;e<c;e++)d+=a[e]*b[e];return d}async function f(a){if(0===a.prototypes.length)return async a=>a.map(()=>!1);let b=a.threshold??d.Eh,c=a.negativePrototypes??[],f=[...a.prototypes,...c],g=a.prototypes.length,h=a.embedDocuments?null:(0,d.VN)(),i=a.embedDocuments?await a.embedDocuments(f):await h.embedDocuments(f);if(i.length!==f.length)throw Error(`本地语义模型嵌入数量不一致:期望 ${f.length} 条,实际 ${i.length} 条`);return async d=>{if(0===d.length)return[];let f=d.map(()=>!1),j=d.map((b,c)=>a.lexicalHints&&!a.lexicalHints.test(b)?-1:c).filter(a=>a>=0);if(0===j.length)return f;let k=j.map(a=>d[a]),l=a.embedDocuments?await a.embedDocuments(k):await h.embedDocuments(k);return j.forEach((a,d)=>{let h=l[d];if(!h)return;let j=Math.max(...i.slice(0,g).map(a=>e(h,a))),k=c.length?Math.max(...i.slice(g).map(a=>e(h,a))):0;j>=b&&(0===c.length||j>k)&&(f[a]=!0)}),f}}},44533:(a,b,c)=>{c.d(b,{NW:()=>j,Qh:()=>k,VS:()=>o,Yy:()=>n,a2:()=>i,aY:()=>m});var d=c(19898),e=c(33873),f=c(21820),g=c(29021);let h=null;function i(){return e.join(f.homedir(),".customize-agent")}function j(a){return(0,d.getProjectKbPath)(e.resolve(a))}function k(){return h||(h=new d.MultiProjectManager(i())),h}function l(a){let b=e.resolve(a),c=e.resolve(e.join(f.homedir(),".customize-agent"));return!(g.existsSync(e.join(b,"pnpm-workspace.yaml"))&&g.existsSync(e.join(b,"apps","server")))&&(b===c||b.includes(`${e.sep}.customize-agent${e.sep}`)||b.endsWith(`${e.sep}apps${e.sep}server`)||b.endsWith(`${e.sep}apps${e.sep}cli`))}function m(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&g.existsSync(a)&&!l(a))return e.resolve(a);let b=function(){let a=e.join(i(),"projects","registry.db");if(!g.existsSync(a))return[];let b=new((0,d.loadBetterSqlite3)())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>e.resolve(a.project_root)).filter(a=>!l(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!l(process.env.INIT_CWD)?process.env.INIT_CWD:e.resolve(process.cwd(),"../..")}function n(a,b={}){let c=new Map;for(let b of function(a){let b=e.join(f.homedir(),".customize-agent","projects",(0,d.computeProjectId)(e.resolve(a)),"kb.db");if(!g.existsSync(b))return[];let c=new d.IndexStateStore(b);try{return c.listRecords().map(a=>({...a,matchedBy:"metadata"}))}finally{c.close()}}(a))c.set(b.relativePath,b);for(let b of function(a){let b=j(a);if(!g.existsSync(b))return[];let c=[],d=a=>{for(let f of g.readdirSync(a,{withFileTypes:!0})){let h=e.join(a,f.name);if(f.isDirectory()){d(h);continue}if(f.name.endsWith(".source.txt"))continue;let i=g.statSync(h),j=e.relative(b,h).split(e.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:e.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:i.size,mtime:i.mtimeMs,chunkCount:0,collectionName:"",indexedAt:0,lastVerifiedAt:0,status:"disk",matchedBy:"disk"})}};return d(b),c}(a)){let a=c.get(b.relativePath);c.set(b.relativePath,a?{...a,fileSize:b.fileSize,mtime:b.mtime,matchedBy:"metadata"}:b)}return Array.from(c.values()).filter(a=>!b.category||a.category===b.category).sort((a,b)=>b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN"))}async function o(a,b={}){let c=(b.query||"").trim(),d=Math.max(1,Math.min(500,b.limit??50)),e=new Map,f=n(a,{category:b.category});for(let a of f)(!c||`${a.relativePath}
23
23
  ${a.category}
24
24
  ${a.format}
25
- ${a.status}`.toLowerCase().includes(c.toLowerCase()))&&e.set(a.relativePath,{...a,matchedBy:c?"path":a.matchedBy});if(c&&!1!==b.includeContent)try{for(let b of(await k().search(a,c,{limit:Math.max(20,d)})).results){let a=b.filePath,c=e.get(a)||f.find(b=>b.relativePath===a);e.set(a,{...c||{relativePath:a,category:"content",format:"knowledge",fileSize:0,mtime:0,chunkCount:0,indexedAt:0,lastVerifiedAt:0,status:"active"},matchedBy:"content",score:b.score})}}catch{}let g=Array.from(e.values()).sort((a,b)=>{let c=a=>"content"===a.matchedBy?3:"path"===a.matchedBy?2:+("metadata"===a.matchedBy);return c(b)-c(a)||(b.score??0)-(a.score??0)||b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN")});return{files:g.slice(0,d),total:g.length}}},51144:(a,b,c)=>{function d(a,b,c,e="items"){let f=c.maxItems??Number.MAX_SAFE_INTEGER,g=c.maxChars??Number.MAX_SAFE_INTEGER,h=c.charFn??(a=>JSON.stringify(a).length),i=a.map(a=>({item:a,score:b(a)}));i.sort((a,b)=>b.score-a.score);let j=[],k=[],l=0;for(let{item:a}of i){let b=h(a);j.length<f&&l+b<=g?(j.push(a),l+=b):k.push(a)}let m=[];if(k.length>0){for(let a of(m.push(`[selection] ${e}: 预算 ${f}项/${g}字符 → 选中 ${j.length}项(${l}字符),丢弃 ${k.length}项`),k.slice(0,10))){let b="string"==typeof a?a.slice(0,80):JSON.stringify(a).slice(0,80);m.push(` - 丢弃: ${b}`)}k.length>10&&m.push(` ... 及其他 ${k.length-10} 项`)}return{selected:j,dropped:k,droppedLog:m}}function e(a){let b=0,c=a.length;return 0===c?0:(b+=3*(a.match(/\d+(?:\.\d+)?/gu)||[]).length,/m[23²³]?|mm|cm|km|t|kg|台|套|个|项|批|次|份|人|日历天|天|月|万元|元|%|MPa|kPa|kN|℃/iu.test(a)&&(b+=2),/GB|JGJ|ISO|CJJ|CECS|DL|YB|SH|HG|SY|NB/iu.test(a)&&(b+=3),/验收|质量|安全|工期|进度|成本|风险|危大|重点|难点|关键|控制|标准|规范|设计|施工|材料|设备/u.test(a)&&(b+=1),c<20&&(b-=1),/项目名称|工程名称|招标人|建设地点|计划工期|质量标准|合同估算/u.test(a)&&(b+=2),b)}c.d(b,{Cr:()=>d,Ox:()=>e})},54185:(a,b,c)=>{c.d(b,{C4:()=>u,D9:()=>j,G9:()=>O,P_:()=>F,Q9:()=>t,V0:()=>m,ch:()=>i,cq:()=>g,gn:()=>p,o0:()=>E,p_:()=>k,sO:()=>G,uj:()=>M,uw:()=>L,v_:()=>q,yF:()=>C,z9:()=>A});var d=c(22157);let e=/^(?:主要施工|施工)?(?:工艺流程|概况|概述|流程|工序|工艺|方法|方案|步骤|顺序|做法|安排|要点|内容)(?:要点|概述|简介|说明)?$/u,f=new Set(["主要施工方法","主要施工内容","项目主要施工内容"]);function g(a){let b=(0,d.Sw)(a);return!(!b||f.has(b))&&e.test(b)}let h=/^(\s*(?:[-*•]\s+)?)\*{0,2}(?:施工概况|施工概述|施工流程|工艺流程|施工工艺|施工工序|施工方法|施工步骤|施工顺序|施工做法|施工安排|施工要点)\*{0,2}[::]\s*/u,i="正文禁止以“施工概况/施工流程/施工方法/工艺流程/施工步骤”等结构标签充当小节标题或段落开头引导(不得出现“施工概况:本项目……”式标签行),要素内容直接融入连贯段落叙述。";function j(a){let b=[],c=[],d=0,e=[],f=0;for(let b of a.split(/\r?\n/u)){let a=b.trim();if(!a)continue;let i=/^(#{3,6})\s+(.+?)\s*$/u.exec(a);if(i){g(i[2])&&(d+=1,c.length<5&&c.push(`${i[1]} ${i[2]}`));continue}h.test(b)&&(f+=1,e.length<5&&e.push(a.slice(0,24)))}return d>0&&b.push({level:"error",severity:"blocker",category:"structure",owner:"system",repairability:"local_deterministic",message:`正文存在结构标签充当小节标题 ${d} 处:“${c.join("”、“")}”`,suggestion:"结构标签(施工概况/施工流程/施工方法/工艺流程等)不得独立成题;确定性修复器已接入删除标签标题行(正文保留),要素内容融入上级小节连贯叙述。"}),f>0&&b.push({level:"error",severity:"blocker",category:"structure",owner:"system",repairability:"local_deterministic",message:`正文段首结构标签前缀 ${f} 处:“${e.join("”、“")}…”`,suggestion:"禁止“施工概况:……”“施工流程:……”式段首标签引导;确定性修复器已接入剥离标签前缀(正文保留),要素直接以连贯段落表述。"}),b}function k(a){let b=a.split(/\r?\n/u),c=[],d=0,e=0;for(let a=0;a<b.length;a+=1){let f=b[a],i=f.trim();if(!i){c.push(f);continue}let j=/^(#{4,6})\s+(.+?)\s*$/u.exec(i);if(j){if(g(j[2])){d+=1,a+1<b.length&&""===b[a+1].trim()&&(a+=1);continue}c.push(f);continue}if(/^#{1,6}\s/u.test(i)){c.push(f);continue}let k=h.exec(f);if(k){let a=f.slice(k[0].length);e+=1,a.trim()&&c.push(a);continue}c.push(f)}let f=d+e;if(0===f)return{markdown:a,fixedCount:0,details:[]};let i=[];return d>0&&i.push(`结构标签标题删除 ${d} 行(正文保留)`),e>0&&i.push(`段首标签前缀剥离 ${e} 处`),{markdown:c.join("\n"),fixedCount:f,details:i}}let l=["顺序词叙述","编号步骤","有序列表","箭头链"];function m(a){let b=l.length;return l[(a%b+b)%b]}function n(a){let b=l.indexOf(a);return l[(b+1)%l.length]}let o={顺序词叙述:"用顺序词连贯叙述工序先后(“先……,再……,随后……,然后……,最后……”)",编号步骤:"用编号步骤分行列出工序(“1. 测量放线;2. 基槽开挖;3. 基础施工;……”)",有序列表:"用无序要点列表分行列出工序(“- 基层清理;- 放线定位;- 分层摊铺;……”)",箭头链:"用箭头链表达工序先后(“基层清理→放线定位→分层摊铺→碾压→验收”)"};function p(a){let b=m(a);return`【工序顺序表达形式指定】本块的工序顺序表达使用「${b}」形式:${o[b]};本章相邻小节已分别指定其他形式,禁止通篇使用同一形式,不得用“施工流程:”等结构标签引导。`}function q(a){let b;if(!(0,d.Z1)(a))return;let c=function(a){let b=(a.match(/→|->|=>/gu)||[]).length,c=(a.match(/(?:^|\n)\s*(?:\d+[.、))]|[((]\d+[))]|[一二三四五六七八九十]{1,3}[、.]|第[一二三四五六七八九十]{1,3}步)/gu)||[]).length,d=(a.match(/(?:^|\n)\s*[-*•]\s+\S/gu)||[]).length;return{箭头链:b,编号步骤:c>=2?c:0,有序列表:d>=2?d:0,顺序词叙述:(a.match(/先[^。;!?\n]{0,24}(?:再|然后|随后|接着|最后|后)|依次|先后|按[^。;!?\n]{0,12}顺序|顺序施工|流水施工/gu)||[]).length}}(a),e=0;for(let a of l)c[a]>e&&(b=a,e=c[a]);return b}function r(a){return a.split(/^##\s+/gmu).slice(1).map(a=>{let b=a.indexOf("\n");return b<0?{title:a.trim(),body:""}:{title:a.slice(0,b).trim(),body:a.slice(b+1)}})}function s(a){let b,c=[];for(let d of a.split(/\r?\n/u)){let a=/^###\s+(.+?)\s*$/u.exec(d.trim());a?(b&&c.push({title:b.title,text:b.lines.join("\n")}),b={title:a[1],lines:[]}):b&&b.lines.push(d)}return b&&c.push({title:b.title,text:b.lines.join("\n")}),c}function t(a){let b=[];for(let c of r(a)){if(!d.V.test(c.title))continue;let a=s(c.body);if(a.length<2)continue;let e=a.map(a=>q(a.text));for(let d=1;d<a.length;d+=1){let f=e[d-1],g=e[d];if(f&&g&&f===g&&(b.push({level:"error",severity:"blocker",category:"style",owner:"llm",repairability:"llm_repairable",message:`工序顺序表达形式模板化:「${c.title}」章相邻小节「${a[d-1].title}」与「${a[d].title}」同为【${g}】形式`,suggestion:`将「${a[d].title}」的工序顺序表达改写为其他形式(建议【${n(g)}】),内容与数值保持不变;分项块之间必须轮换形式,禁止通篇同一形式。`}),b.length>=6))return b}}return b}function u(a){let b=new Map;for(let c of r(a)){if(!d.V.test(c.title))continue;let a=s(c.body);if(a.length<2)continue;let e=a.map(a=>q(a.text));for(let d=1;d<a.length;d+=1){let f=e[d];if(!f||f!==e[d-1])continue;let g=`${c.title}\u0000${a[d].title}`;b.has(g)||b.set(g,{chapterTitle:c.title,blockTitle:a[d].title,currentForm:f,targetForm:n(f)})}}return[...b.values()].slice(0,12)}let v=/先([^。;\n]{2,200}?)[,,、]\s*最后([^。;\n,,]{2,60}?)([。;])/gu,w=/[,,、]\s*(?:再|接着|随后|然后|继而)\s*/u,x=/[^\s→,。;:、!?“”‘’《》〈〉()\n]+(?:(?:→|->|=>)[^\s→,。;:、!?“”‘’《》〈〉()\n]+){1,7}/gu,y=["再","随后","然后","接着"];function z(a,b,c){let d;if("顺序词叙述"===b&&"编号步骤"===c?d=function(a){let b=!1,c=a.replace(v,(a,c,d,e)=>{let f=c.split(w).concat(d.split(w)).map(a=>a.trim()).filter(Boolean);if(f.length<3)return a;b=!0;let g=f.map((a,b)=>`${b+1}. ${a}${b===f.length-1?e:";"}`);return`
26
- ${g.join("\n")}`});return b?c:void 0}(a):"箭头链"===b&&"顺序词叙述"===c?d=function(a){let b=!1,c=a.replace(x,a=>{let c=a.split(/→|->|=>/u).map(a=>a.trim()).filter(Boolean);if(c.length<2)return a;if(b=!0,2===c.length)return`先${c[0]},再${c[1]}`;let d=c.slice(1,-1).map((a,b)=>`${y[b%y.length]}${a}`);return`先${c[0]},${d.join(",")},最后${c[c.length-1]}`});return b?c:void 0}(a):"编号步骤"===b&&"有序列表"===c?d=function(a){let b=0,c=a.replace(/^(\s*)\d+[.、))]\s+/gmu,(a,c)=>(b+=1,`${c}- `));return b>=2?c:void 0}(a):"有序列表"===b&&"箭头链"===c&&(d=function(a){let b=a.split(/\r?\n/u),c=[],d=[],e=!1,f=()=>{if(d.length>=2){let a=d.map(a=>a.replace(/^[ \t]*[-*•]\s+/u,"").replace(/[;;,,。]$/u,"").trim()).filter(Boolean);if(a.length>=2){e=!0,c.push(a.join("→")),d=[];return}}c.push(...d),d=[]};for(let a of b)/^[ \t]*[-*•]\s+\S/u.test(a)?d.push(a):(f(),c.push(a));return f(),e?c.join("\n"):void 0}(a)),d&&d!==a)return q(d)===c?d:void 0}function A(a){let b=function(a){let b,c=a.split(/\r?\n/u),e=[],f="",g=!1,h=a=>{b&&g&&(e.push({chapterTitle:f,title:b.title,text:c.slice(b.startLine+1,a).join("\n"),startLine:b.startLine,endLine:a}),b=void 0)};for(let a=0;a<c.length;a+=1){let e=/^##\s+(.+?)\s*$/u.exec(c[a]);if(e){h(a),f=e[1],g=d.V.test(f);continue}let i=/^###\s+(.+?)\s*$/u.exec(c[a]);i&&(h(a),g&&(b={title:i[1],startLine:a}))}return h(c.length),e}(a);if(b.length<2)return{markdown:a,fixedCount:0,details:[]};let c=[];for(let a of b){let b=c[c.length-1];b&&b[0].chapterTitle===a.chapterTitle?b.push(a):c.push([a])}let e=new Map;for(let a of c){let b=a.map(a=>q(a.text));for(let c=1;c<a.length;c+=1){let d=b[c],f=b[c-1];if(!d||d!==f)continue;let g=n(d),h=z(a[c].text,d,g);h&&(e.set(a[c],{text:h,fromForm:d,toForm:g}),b[c]=g)}for(let c=1;c<a.length;c+=1){let d=b[c],f=b[c-1];if(!d||!f||d!==f)continue;let g=a[c-1];if(e.has(g))continue;let h=n(f);if(c>=2&&b[c-2]===h)continue;let i=z(g.text,f,h);i&&(e.set(g,{text:i,fromForm:f,toForm:h}),b[c-1]=h)}}if(0===e.size)return{markdown:a,fixedCount:0,details:[]};let f=a.split(/\r?\n/u),g=[];for(let[a,b]of[...e.entries()].sort((a,b)=>b[0].startLine-a[0].startLine))f.splice(a.startLine+1,a.endLine-a.startLine-1,...b.text.split("\n")),g.push({chapterTitle:a.chapterTitle,blockTitle:a.title,fromForm:b.fromForm,toForm:b.toForm});return{markdown:f.join("\n"),fixedCount:g.length,details:g}}let B=[{id:"by-tech-lead-org",text:"由技术负责人组织",pattern:/由\s*技术负责人\s*组织/gu,variants:["技术负责人牵头组织","项目部安排技术负责人主持","技术负责人负责组织实施","由项目技术负责人统筹安排"]},{id:"post-qualified",text:"合格后方可",pattern:/合格\s*后方可/gu,variants:["合格后再行","合格后方能","合格后才可","检验合格方可","合格以后方可"]},{id:"after-acceptance",text:"验收合格后",pattern:/验收\s*合格\s*后/gu,variants:["验收通过后","验收签认后","验收确认后","检验合格后"]}],C="句式禁止复读:全篇「由技术负责人组织」「合格后方可」「验收合格后」三类骨架表述各自不得超过 2 次,同义表达轮换使用(如“技术负责人牵头组织”“检验合格后再行”“验收通过后”),保持句式多样、事实不变。";function D(a,b){return[...a.matchAll(b.pattern)].length}function E(a){let b=[];for(let c of B){let d=D(a,c);d<=2||b.push({level:"error",severity:"blocker",category:"style",owner:"llm",repairability:"llm_repairable",message:`句式骨架复读:「${c.text}」全篇出现 ${d} 处(上限 2 处)——模板化复用句式`,suggestion:`保留全文前 2 处「${c.text}」,其余处按句子语境轮换同义表达(如:${c.variants.slice(0,3).join("、")});改写保留原句全部事实信息(岗位、数值、频次不得丢失),不得用结构标签或固定套语替代。`})}return b}function F(a){let b=[],c=r(a);for(let d of B){let e=D(a,d);if(e<=2)continue;let f=new Map;for(let a of c)if(a.body)for(let b of a.body.matchAll(d.pattern)){let c=b.index??0,d=function(a,b,c){let d=b;for(;d>0&&!/[。!?\n]/u.test(a[d-1]);)d-=1;let e=c;for(;e<a.length&&!/[。!?\n]/u.test(a[e]);)e+=1;return e<a.length&&/[。!?]/u.test(a[e])&&(e+=1),a.slice(d,e).trim()}(a.body,c,c+b[0].length);if(d.length<6)continue;let e=f.get(a.title)??[];e.includes(d)||e.push(d),f.set(a.title,e)}let g=2;for(let[a,c]of f){let f=c.slice(g).slice(0,4);g=Math.max(0,g-c.length),f.length>0&&b.push({chapterTitle:a,fingerprintLabel:d.text,totalCount:e,sentences:f})}}return b.slice(0,12)}function G(a){let b=a,c=0,d=[];for(let a of B){let e=0;for(;;){let c=[...b.matchAll(a.pattern)];if(c.length<=2)break;let d=c[2],f=d.index??0,g=a.variants[e%a.variants.length],h=b.slice(0,f)+g+b.slice(f+d[0].length);if(D(h,a)>=c.length)break;b=h,e+=1}e>0&&(d.push({id:a.id,replaced:e}),c+=e)}return{markdown:b,fixedCount:c,details:d}}function H(a){return a.replace(/^第[一二三四五六七八九十百零〇\d]+[章节篇部分][\s、..::]*/u,"").replace(/^\d+(?:\.\d+)*[..、::]?\s*/u,"").trim()}let I=new Set(["目录","前言","摘要","附录","索引","封面","总则"]);function J(a){if(!a||I.has(a))return!1;let b=(a.match(/[\u4e00-\u9fa5]/gu)||[]).length;return 0!==b&&!(b>=4)&&!/[A-Za-z]/u.test(a)&&a.length<=4}function K(a){let b=[],c=new Set,d="",e="";for(let f of a.split(/\r?\n/u)){let a=/^(#{2,4})\s+(.+?)\s*$/u.exec(f.trim());if(!a)continue;let g=a[1].length,h=a[2];if(2===g){d=h,e="";continue}let i=H(h);if(i&&!c.has(i)){let a=function(a){if(!(!a||I.has(a))&&0!==(a.match(/[\u4e00-\u9fa5]/gu)||[]).length){if(J(a))return"标题核心名不足 4 字(残缺标题)";if(/[,,]/u.test(a))return"标题含逗号(句式化标题)";if(/[等及和与]$/u.test(a))return"标题以悬挂连接词结尾(残缺标题)"}}(i);a&&(c.add(i),b.push({chapterTitle:d,parentTitle:e,rawTitle:h,reason:a}))}3===g&&(e=h)}return b}function L(a){let b=[];for(let c of K(a)){let a=c.parentTitle?`「${c.parentTitle}」内`:c.chapterTitle?`「${c.chapterTitle}」章内`:"";if(b.push({level:"error",severity:"blocker",category:"structure",owner:"llm",repairability:"llm_repairable",message:`小节标题残缺或句式化:${a}“${c.rawTitle}”(${c.reason})`,suggestion:"将标题重命名为完整表达小节内容的正式名称(如“危大”应为“危大工程辨识与管控”、残缺名补全语义),正文内容不变;禁止使用“施工概况/施工流程/施工方法”等结构标签词充当标题。"}),b.length>=6)break}return b}function M(a){return K(a).slice(0,6).map(a=>({chapterTitle:a.chapterTitle,title:a.rawTitle,reason:a.reason}))}let N=["系统","工程","设施","设备","装置","结构","管道","安装","施工","项目","要点"];function O(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1){let d=b[a],e=/^(#{2,4})\s+(.+?)\s*$/u.exec(d.trim());if(!e)continue;let f=e[2],g=H(f);if(!J(g))continue;let h=[],i=a+1,j=0;for(;i<b.length&&j<400&&!/^\s*#{1,6}\s/u.test(b[i]);)h.push(b[i]),j+=b[i].length,i+=1;let k=h.join("\n"),l=N.find(a=>k.includes(g+a));if(!l||((g+l).match(/[\u4e00-\u9fa5]/gu)||[]).length<4)continue;let m=f.indexOf(g);if(m<0)continue;let n=`${f.slice(0,m)}${g}${l}${f.slice(m+g.length)}`;b[a]=d.replace(f,n),c.push({from:f,to:n})}return 0===c.length?{markdown:a,fixedCount:0,details:[]}:{markdown:b.join("\n"),fixedCount:c.length,details:c}}},56942:(a,b,c)=>{c.d(b,{$:()=>g,R:()=>h});var d=c(92808);function e(a){return[...new Set(a.filter(Boolean))]}function f(a){let b=(0,d.t0)(a,d.hW);return b.length>0?b:["project_overview"]}function g(a){var b,c,d;let g=a.resolvedRoles.filter(a=>a.required&&!a.satisfied).map(a=>a.role),h=a.resolvedRoles.filter(a=>a.weak).map(a=>a.role),i=(b=a.template,c=a.spec,d=a.summary,b.chapters.map(a=>{let b=function(a,b){let c=b.chapterRules.find(b=>b.id===a.id||b.title===a.title),d=(c?.requiredFactIds||[]).map(a=>b.factFields.find(b=>b.id===a)?.name).filter(Boolean);return e([...a.requiredFacts||[],...d])}(a,c),g=e([...f([a.title,a.purpose,...a.queries||[],...a.sections||[]].join("\n")),...b.flatMap(a=>f(a))]),h=g.filter(a=>(d.materialInventory[a]||[]).length>0),i=h.reduce((a,b)=>a+(d.materialInventory[b]||[]).length,0),j=b.filter(a=>f(a).some(a=>h.includes(a))),k=b.filter(a=>!j.includes(a));return{chapterId:a.id,title:a.title,requiredFacts:b,coveredFacts:j,missingFacts:k,requiredRoles:g,satisfiedRoles:h,evidenceCount:i}})),j=[],k=[];0===a.template.chapters.length&&k.push("模板未配置章节,建议通过模板章节或显式 OUTLINE 提供文档结构"),a.template.chapters.some(a=>!a.purpose&&(!a.queries||0===a.queries.length)&&(!a.requiredFacts||0===a.requiredFacts.length))&&k.push("部分模板章节缺少 purpose、queries 或 requiredFacts,生成质量可能不稳定"),a.summary.source.ambiguous&&j.push(a.summary.source.selectionReason),a.summary.fingerprint.confidence<.34&&k.push("材料指纹置信度较低,建议绑定明确的材料文件"),0===a.summary.source.selectedFiles&&j.push("未绑定可用项目资料文件,无法支撑文档生成"),g.length>0&&0===a.summary.source.selectedFiles&&k.push("模板未绑定可用项目资料文件,请先绑定参与生成的资料"),h.length>0&&0===a.summary.source.selectedFiles&&k.push("绑定资料证据较弱,请确认资料已完成索引");let l=i.filter(a=>0===a.evidenceCount);l.length>0&&k.push(`章节级证据覆盖较弱:${l.slice(0,5).map(a=>a.title).join("、")}`);let m=a.summary.coverage.satisfiedRoles,n=a.resolvedRoles.filter(a=>!a.required&&!a.satisfied).map(a=>a.role),o=[`资料范围:${a.summary.source.selectionReason},可用文件 ${a.summary.source.selectedFiles}/${a.summary.source.totalFiles} 份`,`已识别资料类型:${m.join("、")||"无"}`,a.summary.coverage.missingRoles.length?`待补充必需资料类型:${a.summary.coverage.missingRoles.join("、")}`:"必需资料类型已满足",g.length?`模板强相关资料角色缺失:${g.join("、")}`:"模板强相关资料角色已满足",n.length?`可选资料角色未识别:${n.join("、")}`:"",h.length?`证据较弱资料角色:${h.join("、")}`:""].filter(Boolean);return{ready:0===j.length,missingRoles:g,weakRoles:h,diagnostics:o,chapterDiagnostics:i,blockingIssues:j,warnings:k}}function h(a,b={}){let c=a.chapterDiagnostics.filter(a=>0===a.evidenceCount||a.missingFacts.length>0).slice(0,8).map(a=>`${a.title}:证据 ${a.evidenceCount} 条${a.missingFacts.length?`,缺失 ${a.missingFacts.slice(0,6).join("、")}`:""}`);return b.publicSafe?["## 生成事实使用边界",c.length?`章节证据风险:
25
+ ${a.status}`.toLowerCase().includes(c.toLowerCase()))&&e.set(a.relativePath,{...a,matchedBy:c?"path":a.matchedBy});if(c&&!1!==b.includeContent)try{for(let b of(await k().search(a,c,{limit:Math.max(20,d)})).results){let a=b.filePath,c=e.get(a)||f.find(b=>b.relativePath===a);e.set(a,{...c||{relativePath:a,category:"content",format:"knowledge",fileSize:0,mtime:0,chunkCount:0,indexedAt:0,lastVerifiedAt:0,status:"active"},matchedBy:"content",score:b.score})}}catch{}let g=Array.from(e.values()).sort((a,b)=>{let c=a=>"content"===a.matchedBy?3:"path"===a.matchedBy?2:+("metadata"===a.matchedBy);return c(b)-c(a)||(b.score??0)-(a.score??0)||b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN")});return{files:g.slice(0,d),total:g.length}}},51144:(a,b,c)=>{function d(a,b,c,e="items"){let f=c.maxItems??Number.MAX_SAFE_INTEGER,g=c.maxChars??Number.MAX_SAFE_INTEGER,h=c.charFn??(a=>JSON.stringify(a).length),i=a.map(a=>({item:a,score:b(a)}));i.sort((a,b)=>b.score-a.score);let j=[],k=[],l=0;for(let{item:a}of i){let b=h(a);j.length<f&&l+b<=g?(j.push(a),l+=b):k.push(a)}let m=[];if(k.length>0){for(let a of(m.push(`[selection] ${e}: 预算 ${f}项/${g}字符 → 选中 ${j.length}项(${l}字符),丢弃 ${k.length}项`),k.slice(0,10))){let b="string"==typeof a?a.slice(0,80):JSON.stringify(a).slice(0,80);m.push(` - 丢弃: ${b}`)}k.length>10&&m.push(` ... 及其他 ${k.length-10} 项`)}return{selected:j,dropped:k,droppedLog:m}}function e(a){let b=0,c=a.length;return 0===c?0:(b+=3*(a.match(/\d+(?:\.\d+)?/gu)||[]).length,/m[23²³]?|mm|cm|km|t|kg|台|套|个|项|批|次|份|人|日历天|天|月|万元|元|%|MPa|kPa|kN|℃/iu.test(a)&&(b+=2),/GB|JGJ|ISO|CJJ|CECS|DL|YB|SH|HG|SY|NB/iu.test(a)&&(b+=3),/验收|质量|安全|工期|进度|成本|风险|危大|重点|难点|关键|控制|标准|规范|设计|施工|材料|设备/u.test(a)&&(b+=1),c<20&&(b-=1),/项目名称|工程名称|招标人|建设地点|计划工期|质量标准|合同估算/u.test(a)&&(b+=2),b)}c.d(b,{Cr:()=>d,Ox:()=>e})},54185:(a,b,c)=>{c.d(b,{C4:()=>u,D9:()=>j,G9:()=>O,P_:()=>F,Q1:()=>S,Q9:()=>t,RM:()=>R,T9:()=>P,V0:()=>m,ch:()=>i,cq:()=>g,gn:()=>p,o0:()=>E,p_:()=>k,sO:()=>G,uj:()=>M,uw:()=>L,v_:()=>q,yF:()=>C,z9:()=>A,zd:()=>Q});var d=c(22157);let e=/^(?:主要施工|施工)?(?:工艺流程|概况|概述|流程|工序|工艺|方法|方案|步骤|顺序|做法|安排|要点|内容)(?:要点|概述|简介|说明)?$/u,f=new Set(["主要施工方法","主要施工内容","项目主要施工内容"]);function g(a){let b=(0,d.Sw)(a);return!(!b||f.has(b))&&e.test(b)}let h=/^(\s*(?:[-*•]\s+)?)\*{0,2}(?:施工概况|施工概述|施工流程|工艺流程|施工工艺|施工工序|施工方法|施工步骤|施工顺序|施工做法|施工安排|施工要点)\*{0,2}[::]\s*/u,i="正文禁止以“施工概况/施工流程/施工方法/工艺流程/施工步骤”等结构标签充当小节标题或段落开头引导(不得出现“施工概况:本项目……”式标签行),要素内容直接融入连贯段落叙述。";function j(a){let b=[],c=[],d=0,e=[],f=0;for(let b of a.split(/\r?\n/u)){let a=b.trim();if(!a)continue;let i=/^(#{3,6})\s+(.+?)\s*$/u.exec(a);if(i){g(i[2])&&(d+=1,c.length<5&&c.push(`${i[1]} ${i[2]}`));continue}h.test(b)&&(f+=1,e.length<5&&e.push(a.slice(0,24)))}return d>0&&b.push({level:"error",severity:"blocker",category:"structure",owner:"system",repairability:"local_deterministic",message:`正文存在结构标签充当小节标题 ${d} 处:“${c.join("”、“")}”`,suggestion:"结构标签(施工概况/施工流程/施工方法/工艺流程等)不得独立成题;确定性修复器已接入删除标签标题行(正文保留),要素内容融入上级小节连贯叙述。"}),f>0&&b.push({level:"error",severity:"blocker",category:"structure",owner:"system",repairability:"local_deterministic",message:`正文段首结构标签前缀 ${f} 处:“${e.join("”、“")}…”`,suggestion:"禁止“施工概况:……”“施工流程:……”式段首标签引导;确定性修复器已接入剥离标签前缀(正文保留),要素直接以连贯段落表述。"}),b}function k(a){let b=a.split(/\r?\n/u),c=[],e=0,f=0,i=0,j=new Map;for(let a=0;a<b.length;a+=1){let c=/^(#{3,6})\s+(.+?)\s*$/u.exec(b[a].trim());if(!c)continue;let e=(0,d.Sw)(c[2]);e&&!j.has(e)&&j.set(e,a)}for(let a=0;a<b.length;a+=1){let k=b[a],l=k.trim();if(!l){c.push(k);continue}let m=/^(#{4,6})\s+(.+?)\s*$/u.exec(l);if(m){if(g(m[2])){e+=1,a+1<b.length&&""===b[a+1].trim()&&(a+=1);continue}c.push(k);continue}if(/^#{1,6}\s/u.test(l)){c.push(k);continue}if(/^[\u4e00-\u9fa5A-Za-z0-9]{2,24}$/u.test(l)){let e=(0,d.Sw)(l),f=e?j.get(e):void 0;if(e&&void 0!==f&&a>f){i+=1,a+1<b.length&&!b[a+1].trim()&&c.length>0&&!c[c.length-1].trim()&&(a+=1);continue}}let n=h.exec(k);if(n){let a=k.slice(n[0].length);f+=1,a.trim()&&c.push(a);continue}c.push(k)}let k=e+f+i;if(0===k)return{markdown:a,fixedCount:0,details:[]};let l=[];return e>0&&l.push(`结构标签标题删除 ${e} 行(正文保留)`),f>0&&l.push(`段首标签前缀剥离 ${f} 处`),i>0&&l.push(`正文孤立小节标题行删除 ${i} 行`),{markdown:c.join("\n"),fixedCount:k,details:l}}let l=["顺序词叙述","编号步骤","有序列表","箭头链"];function m(a){let b=l.length;return l[(a%b+b)%b]}function n(a){let b=l.indexOf(a);return l[(b+1)%l.length]}let o={顺序词叙述:"用顺序词连贯叙述工序先后(“先……,再……,随后……,然后……,最后……”)",编号步骤:"用编号步骤分行列出工序(“1. 测量放线;2. 基槽开挖;3. 基础施工;……”)",有序列表:"用无序要点列表分行列出工序(“- 基层清理;- 放线定位;- 分层摊铺;……”)",箭头链:"用箭头链表达工序先后(“基层清理→放线定位→分层摊铺→碾压→验收”)"};function p(a){let b=m(a);return`【工序顺序表达形式指定】本块的工序顺序表达使用「${b}」形式:${o[b]};本章相邻小节已分别指定其他形式,禁止通篇使用同一形式,不得用“施工流程:”等结构标签引导。`}function q(a){let b;if(!(0,d.Z1)(a))return;let c=function(a){let b=(a.match(/→|->|=>/gu)||[]).length,c=(a.match(/(?:^|\n)\s*(?:\d+[.、))]|[((]\d+[))]|[一二三四五六七八九十]{1,3}[、.]|第[一二三四五六七八九十]{1,3}步)/gu)||[]).length,d=(a.match(/(?:^|\n)\s*[-*•]\s+\S/gu)||[]).length;return{箭头链:b,编号步骤:c>=2?c:0,有序列表:d>=2?d:0,顺序词叙述:(a.match(/先[^。;!?\n]{0,24}(?:再|然后|随后|接着|最后|后)|依次|先后|按[^。;!?\n]{0,12}顺序|顺序施工|流水施工/gu)||[]).length}}(a),e=0;for(let a of l)c[a]>e&&(b=a,e=c[a]);return b}function r(a){return a.split(/^##\s+/gmu).slice(1).map(a=>{let b=a.indexOf("\n");return b<0?{title:a.trim(),body:""}:{title:a.slice(0,b).trim(),body:a.slice(b+1)}})}function s(a){let b,c=[];for(let d of a.split(/\r?\n/u)){let a=/^###\s+(.+?)\s*$/u.exec(d.trim());a?(b&&c.push({title:b.title,text:b.lines.join("\n")}),b={title:a[1],lines:[]}):b&&b.lines.push(d)}return b&&c.push({title:b.title,text:b.lines.join("\n")}),c}function t(a){let b=[];for(let c of r(a)){if(!d.V.test(c.title))continue;let a=s(c.body);if(a.length<2)continue;let e=a.map(a=>q(a.text));for(let d=1;d<a.length;d+=1){let f=e[d-1],g=e[d];if(f&&g&&f===g&&(b.push({level:"error",severity:"blocker",category:"style",owner:"llm",repairability:"llm_repairable",message:`工序顺序表达形式模板化:「${c.title}」章相邻小节「${a[d-1].title}」与「${a[d].title}」同为【${g}】形式`,suggestion:`将「${a[d].title}」的工序顺序表达改写为其他形式(建议【${n(g)}】),内容与数值保持不变;分项块之间必须轮换形式,禁止通篇同一形式。`}),b.length>=6))return b}}return b}function u(a){let b=new Map;for(let c of r(a)){if(!d.V.test(c.title))continue;let a=s(c.body);if(a.length<2)continue;let e=a.map(a=>q(a.text));for(let d=1;d<a.length;d+=1){let f=e[d];if(!f||f!==e[d-1])continue;let g=`${c.title}\u0000${a[d].title}`;b.has(g)||b.set(g,{chapterTitle:c.title,blockTitle:a[d].title,currentForm:f,targetForm:n(f)})}}return[...b.values()].slice(0,12)}let v=/先([^。;\n]{2,200}?)[,,、]\s*最后([^。;\n,,]{2,60}?)([。;])/gu,w=/[,,、]\s*(?:再|接着|随后|然后|继而)\s*/u,x=/[^\s→,。;:、!?“”‘’《》〈〉()\n]+(?:(?:→|->|=>)[^\s→,。;:、!?“”‘’《》〈〉()\n]+){1,7}/gu,y=["再","随后","然后","接着"];function z(a,b,c){let d;if("顺序词叙述"===b&&"编号步骤"===c?d=function(a){let b=!1,c=a.replace(v,(a,c,d,e)=>{let f=c.split(w).concat(d.split(w)).map(a=>a.trim()).filter(Boolean);if(f.length<3)return a;b=!0;let g=f.map((a,b)=>`${b+1}. ${a}${b===f.length-1?e:";"}`);return`
26
+ ${g.join("\n")}`});return b?c:void 0}(a):"箭头链"===b&&"顺序词叙述"===c?d=function(a){let b=!1,c=a.replace(x,a=>{let c=a.split(/→|->|=>/u).map(a=>a.trim()).filter(Boolean);if(c.length<2)return a;if(b=!0,2===c.length)return`先${c[0]},再${c[1]}`;let d=c.slice(1,-1).map((a,b)=>`${y[b%y.length]}${a}`);return`先${c[0]},${d.join(",")},最后${c[c.length-1]}`});return b?c:void 0}(a):"编号步骤"===b&&"有序列表"===c?d=function(a){let b=0,c=a.replace(/^(\s*)\d+[.、))]\s+/gmu,(a,c)=>(b+=1,`${c}- `));return b>=2?c:void 0}(a):"有序列表"===b&&"箭头链"===c&&(d=function(a){let b=a.split(/\r?\n/u),c=[],d=[],e=!1,f=()=>{if(d.length>=2){let a=d.map(a=>a.replace(/^[ \t]*[-*•]\s+/u,"").replace(/[;;,,。]$/u,"").trim()).filter(Boolean);if(a.length>=2){e=!0,c.push(a.join("→")),d=[];return}}c.push(...d),d=[]};for(let a of b)/^[ \t]*[-*•]\s+\S/u.test(a)?d.push(a):(f(),c.push(a));return f(),e?c.join("\n"):void 0}(a)),d&&d!==a)return q(d)===c?d:void 0}function A(a){let b=function(a){let b,c=a.split(/\r?\n/u),e=[],f="",g=!1,h=a=>{b&&g&&(e.push({chapterTitle:f,title:b.title,text:c.slice(b.startLine+1,a).join("\n"),startLine:b.startLine,endLine:a}),b=void 0)};for(let a=0;a<c.length;a+=1){let e=/^##\s+(.+?)\s*$/u.exec(c[a]);if(e){h(a),f=e[1],g=d.V.test(f);continue}let i=/^###\s+(.+?)\s*$/u.exec(c[a]);i&&(h(a),g&&(b={title:i[1],startLine:a}))}return h(c.length),e}(a);if(b.length<2)return{markdown:a,fixedCount:0,details:[]};let c=[];for(let a of b){let b=c[c.length-1];b&&b[0].chapterTitle===a.chapterTitle?b.push(a):c.push([a])}let e=new Map;for(let a of c){let b=a.map(a=>q(a.text));for(let c=1;c<a.length;c+=1){let d=b[c],f=b[c-1];if(!d||d!==f)continue;let g=n(d),h=z(a[c].text,d,g);h&&(e.set(a[c],{text:h,fromForm:d,toForm:g}),b[c]=g)}for(let c=1;c<a.length;c+=1){let d=b[c],f=b[c-1];if(!d||!f||d!==f)continue;let g=a[c-1];if(e.has(g))continue;let h=n(f);if(c>=2&&b[c-2]===h)continue;let i=z(g.text,f,h);i&&(e.set(g,{text:i,fromForm:f,toForm:h}),b[c-1]=h)}}if(0===e.size)return{markdown:a,fixedCount:0,details:[]};let f=a.split(/\r?\n/u),g=[];for(let[a,b]of[...e.entries()].sort((a,b)=>b[0].startLine-a[0].startLine))f.splice(a.startLine+1,a.endLine-a.startLine-1,...b.text.split("\n")),g.push({chapterTitle:a.chapterTitle,blockTitle:a.title,fromForm:b.fromForm,toForm:b.toForm});return{markdown:f.join("\n"),fixedCount:g.length,details:g}}let B=[{id:"by-tech-lead-org",text:"由技术负责人组织",pattern:/由\s*技术负责人\s*组织/gu,variants:["技术负责人牵头组织","项目部安排技术负责人主持","技术负责人负责组织实施","由项目技术负责人统筹安排"]},{id:"post-qualified",text:"合格后方可",pattern:/合格\s*后方可/gu,variants:["合格后再行","合格后方能","合格后才可","检验合格方可","合格以后方可"]},{id:"after-acceptance",text:"验收合格后",pattern:/验收\s*合格\s*后/gu,variants:["验收通过后","验收签认后","验收确认后","检验合格后"]}],C="句式禁止复读:全篇「由技术负责人组织」「合格后方可」「验收合格后」三类骨架表述各自不得超过 2 次,同义表达轮换使用(如“技术负责人牵头组织”“检验合格后再行”“验收通过后”),保持句式多样、事实不变。";function D(a,b){return[...a.matchAll(b.pattern)].length}function E(a){let b=[];for(let c of B){let d=D(a,c);d<=2||b.push({level:"error",severity:"blocker",category:"style",owner:"llm",repairability:"llm_repairable",message:`句式骨架复读:「${c.text}」全篇出现 ${d} 处(上限 2 处)——模板化复用句式`,suggestion:`保留全文前 2 处「${c.text}」,其余处按句子语境轮换同义表达(如:${c.variants.slice(0,3).join("、")});改写保留原句全部事实信息(岗位、数值、频次不得丢失),不得用结构标签或固定套语替代。`})}return b}function F(a){let b=[],c=r(a);for(let d of B){let e=D(a,d);if(e<=2)continue;let f=new Map;for(let a of c)if(a.body)for(let b of a.body.matchAll(d.pattern)){let c=b.index??0,d=function(a,b,c){let d=b;for(;d>0&&!/[。!?\n]/u.test(a[d-1]);)d-=1;let e=c;for(;e<a.length&&!/[。!?\n]/u.test(a[e]);)e+=1;return e<a.length&&/[。!?]/u.test(a[e])&&(e+=1),a.slice(d,e).trim()}(a.body,c,c+b[0].length);if(d.length<6)continue;let e=f.get(a.title)??[];e.includes(d)||e.push(d),f.set(a.title,e)}let g=2;for(let[a,c]of f){let f=c.slice(g).slice(0,4);g=Math.max(0,g-c.length),f.length>0&&b.push({chapterTitle:a,fingerprintLabel:d.text,totalCount:e,sentences:f})}}return b.slice(0,12)}function G(a){let b=a,c=0,d=[];for(let a of B){let e=0;for(;;){let c=[...b.matchAll(a.pattern)];if(c.length<=2)break;let d=c[2],f=d.index??0,g=a.variants[e%a.variants.length],h=b.slice(0,f)+g+b.slice(f+d[0].length);if(D(h,a)>=c.length)break;b=h,e+=1}e>0&&(d.push({id:a.id,replaced:e}),c+=e)}return{markdown:b,fixedCount:c,details:d}}function H(a){return a.replace(/^第[一二三四五六七八九十百零〇\d]+[章节篇部分][\s、..::]*/u,"").replace(/^\d+(?:\.\d+)*[..、::]?\s*/u,"").trim()}let I=new Set(["目录","前言","摘要","附录","索引","封面","总则"]);function J(a){if(!a||I.has(a))return!1;let b=(a.match(/[\u4e00-\u9fa5]/gu)||[]).length;return 0!==b&&!(b>=4)&&!/[A-Za-z]/u.test(a)&&a.length<=4}function K(a){let b=[],c=new Set,d="",e="";for(let f of a.split(/\r?\n/u)){let a=/^(#{2,4})\s+(.+?)\s*$/u.exec(f.trim());if(!a)continue;let g=a[1].length,h=a[2];if(2===g){d=h,e="";continue}let i=H(h);if(i&&!c.has(i)){let a=function(a){if(!(!a||I.has(a))&&0!==(a.match(/[\u4e00-\u9fa5]/gu)||[]).length){if(J(a))return"标题核心名不足 4 字(残缺标题)";if(/[,,]/u.test(a))return"标题含逗号(句式化标题)";if(/[等及和与]$/u.test(a))return"标题以悬挂连接词结尾(残缺标题)"}}(i);a&&(c.add(i),b.push({chapterTitle:d,parentTitle:e,rawTitle:h,reason:a}))}3===g&&(e=h)}return b}function L(a){let b=[];for(let c of K(a)){let a=c.parentTitle?`「${c.parentTitle}」内`:c.chapterTitle?`「${c.chapterTitle}」章内`:"";if(b.push({level:"error",severity:"blocker",category:"structure",owner:"llm",repairability:"llm_repairable",message:`小节标题残缺或句式化:${a}“${c.rawTitle}”(${c.reason})`,suggestion:"将标题重命名为完整表达小节内容的正式名称(如“危大”应为“危大工程辨识与管控”、残缺名补全语义),正文内容不变;禁止使用“施工概况/施工流程/施工方法”等结构标签词充当标题。"}),b.length>=6)break}return b}function M(a){return K(a).slice(0,6).map(a=>({chapterTitle:a.chapterTitle,title:a.rawTitle,reason:a.reason}))}let N=["系统","工程","设施","设备","装置","结构","管道","安装","施工","项目","要点"];function O(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1){let d=b[a],e=/^(#{2,4})\s+(.+?)\s*$/u.exec(d.trim());if(!e)continue;let f=e[2],g=H(f);if(!J(g))continue;let h=[],i=a+1,j=0;for(;i<b.length&&j<400&&!/^\s*#{1,6}\s/u.test(b[i]);)h.push(b[i]),j+=b[i].length,i+=1;let k=h.join("\n"),l=N.find(a=>k.includes(g+a));if(!l||((g+l).match(/[\u4e00-\u9fa5]/gu)||[]).length<4)continue;let m=f.indexOf(g);if(m<0)continue;let n=`${f.slice(0,m)}${g}${l}${f.slice(m+g.length)}`;b[a]=d.replace(f,n),c.push({from:f,to:n})}return 0===c.length?{markdown:a,fixedCount:0,details:[]}:{markdown:b.join("\n"),fixedCount:c.length,details:c}}function P(a){return a.replace(/\*+/gu,"").replace(/^第[一二三四五六七八九十百千万零〇\d]+[章节篇部分][\s、..::-]*/u,"").replace(/^\d+(?:\.\d+)*(?:[..、]|\s)+/u,"").replace(/^[-—–]\s*/u,"").replace(/[\s()()::.。;;,,、\-—·]/gu,"").trim()}function Q(a,b){for(let c of b.map(a=>({title:String(a||"").trim(),key:P(String(a||""))})).filter(a=>a.title&&a.key.length>=4).sort((a,b)=>b.key.length-a.key.length))for(let b=c.key.length;b<=a.length;b+=1){if(P(a.slice(0,b))!==c.key)continue;let d=a.slice(b).replace(/^[\s::.。;;,,、\-—]+/u,"");if(P(d).length>=10)return{plannedTitle:c.title,remainder:d};break}}function R(a,b){let c=a.split(/(?<=[。;;!?])/u).map(a=>a.trim()).filter(Boolean);if(0===c.length)return"";let d=b.replace(/\s+/gu,"");if(!d)return a;let e=0;for(let a=0;a<c.length;a+=1){let b=c.slice(0,a+1).join("").replace(/\s+/gu,"");if(d.includes(b))e=a+1;else break}return c.slice(e).join("")}function S(a,b){if(!b||0===b.length)return{markdown:a,fixedCount:0,details:[]};let c=a.split(/\r?\n/u),d=[],e=0,f=[];for(let a=0;a<c.length;a+=1){let g=c[a],h=g.trim(),i=/^(#{3,4})\s+(.+?)\s*$/u.exec(h);if(!i){d.push(g);continue}let j=/^(\d+(?:\.\d+)*)\s+(.+)$/u.exec(i[2]),k=j?`${j[1]} `:"",l=Q(j?j[2]:i[2],b);if(!l){d.push(g);continue}let m=[];for(let b=a+1;b<c.length&&m.length<6&&!/^\s*#{1,6}\s/u.test(c[b]);b+=1)m.push(c[b]);let n=R(l.remainder,m.join("\n"));d.push(`${i[1]} ${k}${l.plannedTitle}`),n&&d.push("",n),e+=1,f.length<6&&f.push(`${i[1]} ${k}${l.plannedTitle}(续写句${n?"转正文":"已被正文覆盖丢弃"})`)}return{markdown:d.join("\n"),fixedCount:e,details:f}}},56942:(a,b,c)=>{c.d(b,{$:()=>g,R:()=>h});var d=c(92808);function e(a){return[...new Set(a.filter(Boolean))]}function f(a){let b=(0,d.t0)(a,d.hW);return b.length>0?b:["project_overview"]}function g(a){var b,c,d;let g=a.resolvedRoles.filter(a=>a.required&&!a.satisfied).map(a=>a.role),h=a.resolvedRoles.filter(a=>a.weak).map(a=>a.role),i=(b=a.template,c=a.spec,d=a.summary,b.chapters.map(a=>{let b=function(a,b){let c=b.chapterRules.find(b=>b.id===a.id||b.title===a.title),d=(c?.requiredFactIds||[]).map(a=>b.factFields.find(b=>b.id===a)?.name).filter(Boolean);return e([...a.requiredFacts||[],...d])}(a,c),g=e([...f([a.title,a.purpose,...a.queries||[],...a.sections||[]].join("\n")),...b.flatMap(a=>f(a))]),h=g.filter(a=>(d.materialInventory[a]||[]).length>0),i=h.reduce((a,b)=>a+(d.materialInventory[b]||[]).length,0),j=b.filter(a=>f(a).some(a=>h.includes(a))),k=b.filter(a=>!j.includes(a));return{chapterId:a.id,title:a.title,requiredFacts:b,coveredFacts:j,missingFacts:k,requiredRoles:g,satisfiedRoles:h,evidenceCount:i}})),j=[],k=[];0===a.template.chapters.length&&k.push("模板未配置章节,建议通过模板章节或显式 OUTLINE 提供文档结构"),a.template.chapters.some(a=>!a.purpose&&(!a.queries||0===a.queries.length)&&(!a.requiredFacts||0===a.requiredFacts.length))&&k.push("部分模板章节缺少 purpose、queries 或 requiredFacts,生成质量可能不稳定"),a.summary.source.ambiguous&&j.push(a.summary.source.selectionReason),a.summary.fingerprint.confidence<.34&&k.push("材料指纹置信度较低,建议绑定明确的材料文件"),0===a.summary.source.selectedFiles&&j.push("未绑定可用项目资料文件,无法支撑文档生成"),g.length>0&&0===a.summary.source.selectedFiles&&k.push("模板未绑定可用项目资料文件,请先绑定参与生成的资料"),h.length>0&&0===a.summary.source.selectedFiles&&k.push("绑定资料证据较弱,请确认资料已完成索引");let l=i.filter(a=>0===a.evidenceCount);l.length>0&&k.push(`章节级证据覆盖较弱:${l.slice(0,5).map(a=>a.title).join("、")}`);let m=a.summary.coverage.satisfiedRoles,n=a.resolvedRoles.filter(a=>!a.required&&!a.satisfied).map(a=>a.role),o=[`资料范围:${a.summary.source.selectionReason},可用文件 ${a.summary.source.selectedFiles}/${a.summary.source.totalFiles} 份`,`已识别资料类型:${m.join("、")||"无"}`,a.summary.coverage.missingRoles.length?`待补充必需资料类型:${a.summary.coverage.missingRoles.join("、")}`:"必需资料类型已满足",g.length?`模板强相关资料角色缺失:${g.join("、")}`:"模板强相关资料角色已满足",n.length?`可选资料角色未识别:${n.join("、")}`:"",h.length?`证据较弱资料角色:${h.join("、")}`:""].filter(Boolean);return{ready:0===j.length,missingRoles:g,weakRoles:h,diagnostics:o,chapterDiagnostics:i,blockingIssues:j,warnings:k}}function h(a,b={}){let c=a.chapterDiagnostics.filter(a=>0===a.evidenceCount||a.missingFacts.length>0).slice(0,8).map(a=>`${a.title}:证据 ${a.evidenceCount} 条${a.missingFacts.length?`,缺失 ${a.missingFacts.slice(0,6).join("、")}`:""}`);return b.publicSafe?["## 生成事实使用边界",c.length?`章节证据风险:
27
27
  ${c.join("\n")}`:"","资料不足的事实不得编造;仅施工组织、计划安排、资源配置类数据可在文档要求允许时进行计划推导并标注。"].filter(Boolean).join("\n"):["## 后台生成准备度",`可生成:${a.ready?"是":"否"}`,a.missingRoles.length?`资料诊断:部分模板期望资料类型未从绑定文件中明确识别,生成时仅使用已绑定资料中的事实`:"",a.weakRoles.length?`资料诊断:部分资料类型证据较弱,生成时不得补写资料未明确的事实`:"",c.length?`章节级证据风险:
28
28
  ${c.join("\n")}`:""].filter(Boolean).join("\n")}},58965:(a,b,c)=>{c.d(b,{$m:()=>f,VX:()=>d,tK:()=>e});let d=/\b(?:TDbPipe|TDbPipeValve|TDbPipeFitting|TDbWellh|AcDb\w+|Dwg\w+|Polyline|Hatch|Layer|BlockReference)\b/giu,e=/[\w\u4e00-\u9fa5\-—_+]+\.(?:pdf|dwg|docx?|xlsx?|xls|csv|png|jpe?g|webp)\b/giu,f="[零〇一二三四五六七八九十百千万两]+"},61373:(a,b,c)=>{c.d(b,{rd:()=>P,KX:()=>Q,kt:()=>E,K7:()=>G,V3:()=>at,cf:()=>Z,p8:()=>$,pV:()=>L,y4:()=>U,r4:()=>_,rs:()=>as,BJ:()=>N,Re:()=>z,z1:()=>D,wi:()=>u,bR:()=>aa,UG:()=>aq,CK:()=>ao,Ed:()=>ap,Bl:()=>X,FD:()=>j,kT:()=>O,nP:()=>M,uv:()=>K,bx:()=>H,dh:()=>ab,b_:()=>T});var d=c(58965),e=c(22157),f=c(54185),g=c(70208),h=c(41991),i=c(3063);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,p=/注意事项|如何|怎么写|按需|视情况|是否/u,q=["如何编写施工方案的写作说明标题","根据项目情况判断的注意事项标题","按需生成的编写要求与说明标题"],r=["危大工程专项施工方案与安全措施","质量验收标准与检测要求","成品保护与移交管理措施"];async function s(a){return(0,h.A)({prototypes:[...q],negativePrototypes:[...r],embedDocuments:a})}function t(a){let b=a.replace(/^#{1,6}\s+/u,"").replace(/^\s*\d+(?:\.\d+)*(?:[..、]|\s)+/u,"").replace(/^第[一二三四五六七八九十百千万\d]+[章节篇部分]\s*/u,"").trim(),c=(0,g.GQ)(b);return o.test(b)||o.test(c)||(0,g.mq)(b)||(0,g.mq)(c)}function u(a){return a.replace(/PDF\s*第\s*\d+(?:\s*[-—至到~~]\s*\d+)?\s*页/giu,"相关资料").replace(/PDF\s*第(?![ \t]*[0-90-9])/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 v=String.raw`(?:\d+[.、](?=\s|\*\*)\s*|[((]\d+[))]\s*|[-*+]\s+)`;function w(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|[。;;])${v}\S.+(?:\s|[。;;])${v}\S`,"u");let x=RegExp(`\r?
29
29
  `,"u"),y=RegExp(`
30
- {3,}`,"gu");function z(a){return a.split(x).map(w).join("\n").replace(y,"\n\n")}function A(a){return/^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/u.test(a)}function B(a){let b=a.trim();return/^\|.*\|$/u.test(b)&&b.split("|").length>=3}function C(a){return`| ${Array.from({length:Math.max(2,a)},()=>"---").join(" | ")} |`}function D(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(A(e)){c.push(e);continue}if(!(B(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)),A(f)){c.push(C(g)),d=g,a+=1;continue}!d&&B(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(C(g)),d=g)}return c.join("\n").replace(/\n{3,}/gu,"\n\n")}let E=/(?:项目部|本项目|本工程)?(?:根据|依据|结合|按照|以)?(?:本项目|项目|[^。;;\n]{0,30}?)?(?:招标文件|补疑澄清文件|补遗澄清文件|补疑补遗|答疑(?:回复)?文件|答疑修正口径|补充答疑修正口径|澄清文件|工程量清单|设计图纸|施工图纸|图纸资料|设计修改通知单)(?:[、,,及和与\s]*(?:招标文件|补疑澄清文件|补遗澄清文件|补疑补遗|答疑(?:回复)?文件|答疑修正口径|补充答疑修正口径|澄清文件|工程量清单|设计图纸|施工图纸|图纸资料|设计修改通知单|现行规范|规范)){1,}(?:[^。;;\n]{0,80})?[,,]/u,F=/编制依据|编制说明|法律法规|规范标准|标准依据/u;function G(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=F.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(E,"").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 H(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=F.test(e.replace(/^#{2,4}\s+/u,""));return}!/^\s*\|/u.test(e)&&(E.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)}let I=/(?:安全|管理|施工|质量|工期|进度|保障|体系|措施|控制|工程|项目|技术|方案|计划|组织|标准|规范|验收|方法|工艺|文明|绿色)/u,J=/(?:工程施工方案|安装工程施工方案|专业工程施工方案|专项施工方案)$/u;function K(a){let b=a.split(/\r?\n/u),c=[],d=new Set;for(let a of b){let b=/^###\s+(.+)$/u.exec(a.trim());b&&d.add(b[1].trim().replace(/^\d+(?:\.\d+)*\s*/u,""))}return b.forEach((a,b)=>{let e=/^####\s+(.+)$/u.exec(a.trim());if(!e)return;let f=e[1].trim(),g=f.replace(/^\d+(?:\.\d+)*\s*/u,"").trim();if(!g)return;if(d.has(g)||d.has(f))return void c.push({level:"warning",severity:"warning",category:"structure",owner:"system",repairability:"llm_repairable",message:`H4 标题与本章三级小节同名:${f}(第 ${b+1} 行)`,suggestion:`删除该 H4 块或改为三级小节「${g}」下的独立子主题标题,禁止与三级小节同名造成结构重复。`});let h=new Map;for(let a=0;a<g.length-1;a+=1){let b=g.slice(a,a+2);I.test(b)||h.set(b,(h.get(b)||0)+1)}let i=[...h.entries()].filter(([,a])=>a>=2).map(([a])=>a);if(i.length>0)return void c.push({level:"warning",severity:"warning",category:"structure",owner:"system",repairability:"llm_repairable",message:`H4 标题疑似词尾粘连或多主题拼接:${f}(重复词:${i.join("、")},第 ${b+1} 行)`,suggestion:"重写为单一主题的短标题,去掉粘连重复的尾部词语。"});g.length>14&&!J.test(g)&&c.push({level:"warning",severity:"warning",category:"structure",owner:"system",repairability:"llm_repairable",message:`H4 标题过长疑似多主题拼接:${f}(${g.length} 字,第 ${b+1} 行)`,suggestion:"拆分为多个独立 H4 或压缩为单一主题短标题。"})}),c.slice(0,20)}function L(a){let b=a.split(/\r?\n/u),c=new Set;for(let a of b){let b=/^###\s+(.+)$/u.exec(a.trim());b&&c.add(b[1].trim().replace(/^\d+(?:\.\d+)*\s*/u,""))}let d=0;return{markdown:b.map(a=>{let b=/^(####\s+)(.*)$/u.exec(a);if(!b)return a;let e=b[2].trim(),f=e.replace(/^\d+(?:\.\d+)*\s*/u,"").trim();return f&&(c.has(f)||c.has(e))?(d+=1,`${b[1]}${e}要点`):a}).join("\n"),fixedCount:d}}function M(a){let b=a.split(/\r?\n/u),c=[],d=[],e=null,f=null,g=a=>{if(f)for(let b of a.replace(/^#{1,6}\s+/u,"").replace(/^\|.*\|$/u,"").trim().split(/[。;;]/u)){let a=b.trim();a.length>=24&&f.sentences.push(a.replace(/[\s\p{P}]+/gu,"").toLowerCase())}};for(let a of b){let b=/^##\s+(.+)$/u.exec(a.trim());if(b){e&&d.push(e),e={title:b[1].trim(),sections:[]},f=null;continue}let c=/^###\s+(.+)$/u.exec(a.trim());if(c&&e){f={title:c[1].trim(),sentences:[]},e.sections.push(f);continue}/^####\s+/u.test(a.trim())||g(a)}for(let a of(e&&d.push(e),d))for(let b=0;b<a.sections.length;b+=1)for(let d=b+1;d<a.sections.length;d+=1){let e=new Set(a.sections[b].sentences),f=new Set(a.sections[d].sentences);if(0===e.size||0===f.size)continue;let g=0;for(let a of e)f.has(a)&&(g+=1);let h=g/Math.min(e.size,f.size);h>=.3&&g>=3&&c.push({level:"warning",severity:"warning",category:"structure",owner:"system",repairability:"llm_repairable",message:`${a.title} 内「${a.sections[b].title}」与「${a.sections[d].title}」正文重复(${g} 句重合,占 ${Math.round(100*h)}%)`,suggestion:"两个小节正文出现大量重复句子:后写的小节必须围绕本小节主题差异化重写,删除复制自另一小节的内容,只保留本小节专属做法与参数。"})}return c.slice(0,20)}function N(a){let b=a.split(x),c=[];for(let a=0;a<b.length;a+=1){let d=b[a]||"",e=d.trim();if(!(e&&!/^\|/u.test(e)&&(e.match(/\|/gu)||[]).length>=2&&!/^#{1,6}\s/u.test(e)&&!A(e)&&c.length>0&&B(c[c.length-1]||""))){c.push(d);continue}let f=e.split("|").map(a=>a.trim()).filter(Boolean);if(f.length<2){c.push(d);continue}if(A(c[c.length-1]||"")){c.push(`| ${f.join(" | ")} |`);continue}let g=c[c.length-1]||"",h=`${g.replace(/\s*\|\s*$/u,"")}${f[0]}`,i=f.slice(1).join(";");c[c.length-1]=`${h}${i?`;${i}`:""} |`}return c.join("\n")}function O(a){return(function(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1){if(!B(b[a])||!A(b[a+1]||"")){c.push(b[a]);continue}let d=[];for(;a<b.length&&B(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?C(c.length):`| ${c.join(" | ")} |`});c.push(...g)}return c.join("\n")})(D(N(z(u(G(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(?!\.\d)/giu,"平方米").replace(/\bm\s*[²2]\b(?!\.\d)/giu,"平方米").replace(/\b(m|㎥)\s*3\b(?!\.\d)/giu,"立方米").replace(/\bm\s*[³3]\b(?!\.\d)/giu,"立方米").replace(/\bmm2\b/giu,"平方毫米").replace(/\bcm2\b/giu,"平方厘米").replace(/\bkm2\b/giu,"平方千米").replace(/(\d+(?:\.\d+)?)平方(?:\d+(?:\.\d+)?)?(?=\d|[,,;;))]|\s|$)/gu,"$1平方米").replace(/原则上/gu,"").replace(/\s*×\s*/gu,"\xd7").replace(/\s*≤\s*/gu,"≤").replace(/\s*≥\s*/gu,"≥").replace(/\s*±\s*/gu,"\xb1")))))).replace(/^####\s+(.*?)(.{2,4})\2\s*$/gmu,"#### $1$2").split(/\r?\n/u).map(a=>a=(a=a.replace(/(?<=[。;;])(?=#{3,4}\s+\S)/gu,"\n\n")).replace(/^([^|]*[。;;])\s*(\|[^|\n]+\|\s*)$/u,"$1\n$2")).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,g.GQ)((c[b-1]||"").trim().replace(/^#{1,6}\s+/u,"")):"",e=(0,g.GQ)(a.trim().replace(/^#{1,6}\s+/u,""));if(d&&t(d)&&e.length>0&&e.length<=12&&!/^#{1,6}\s/u.test(a.trim()))return!1;let f=a.trim();if(!f)return!0;if(/^####\s+.*(?:补充条款|评标办法|投标须知)/u.test(f)||/该小节围绕.+进行补充说明/u.test(f)||/仅作为内部事实提取依据|正式正文不得引用文件名|后台事实|内部事实/u.test(f))return!1;if(/^\s*\|/u.test(f)||/^\s*\|?\s*:?-{3,}:?/u.test(f))return!0;let h=(0,g.GQ)(f.replace(/^#{1,6}\s+/u,""));return!(/^(?:雨季|冬季|高温|台风|大风等特殊气候|雨季、冬季、高温、台风、大风等特殊气候)$/u.test(h)||h.length<=1||t(h))&&!(/[,、;:和与在为对将]$/u.test(h)||/(通过|包括|如下|主要包括)$/u.test(h))}).join("\n").replace(/\n{3,}/gu,"\n\n").trim()}let P=["以下规则仅用于保障导出格式正确和事实安全,不得覆盖用户在提示词中已明确的要求。\n严禁使用“根据/依据招标文件、补疑澄清文件、工程量清单及设计图纸”等资料来源罗列开头;正文必须直接写项目事实、施工内容、控制措施、验收节点。编制依据类小节除外:该小节可集中罗列编制依据文件清单。\n禁止模板化空话与流程套话:不同小节必须写各自专属的专业内容,逐节落位本项目工程量、设备规格、工艺参数与验收标准,不得复制相同段落,不得用泛化的流程描述代替专业内容;正文末尾不得输出自我总结或合规声明段落。",f.yF,"【内容落地五要素】每项管控措施必须写全五要素:方案 + 流程 + 责任人 + 时间节点 + 验收标准;责任人落到具体岗位(项目经理/技术负责人/施工员/质检员/安全员/材料员等),检查频次量化到每日/每周/每月/不少于X次,整改落到“整改→复查→销项”闭环。禁止只写“加强、落实、确保”式无责任、无标准、无频次的空话。\n【闭环句式密度硬约束】全文每 1500 字至少 1 段完整闭环句式:同一自然段内必须同时出现责任岗位(项目经理/技术负责人/施工员/质检员/安全员/材料员/试验员等)+ 检查频次(每日/每周/每月/不少于X次/定期)+ 整改闭环(整改/复查/销项/复验)三要素,缺一不可;禁止措施段落只有频次数字而无责任岗位,或只有岗位口号而无量化频次。\n【空话禁用】措施句不得使用无动作对象、无量化标准的宣传口号式短语作为核心表述,不得以单字虚词(合理、充分、完善、切实、尽量、适时)作为措施句核心动词;一律改写为“责任岗位 + 执行动作 + 量化标准 + 检查频次 + 整改闭环”句式。\n【评分点响应】段落首句先回应本节评分点或招标评审关键词,再展开具体措施;一段只写一个主题,避免多个得分点混在大段文字中;三级标题尽量直接放置评分关键词。\n【数据表格化】关键数据(建筑面积、层数、总工期、开工竣工节点、设备型号数量、管理人员配置、劳动力人数、材料批次、养护天数、检测频次、检验批划分)优先用表格呈现,不藏在正文大段文字中;正文中数据密集型内容(多组对比数值、多岗位职责分工、多阶段资源配置、多节点工期安排、多类管控指标、多工种劳动力分配)宁可多用表格,直观性优于纯文字叙述。表格前必须有 1~2 句引导叙述说明表格作用与关键结论,表格不能替代小节正文。每张表格应有说明性标题或表前引导句点名用途;同一主题同一数据不得重复堆叠凑数,但内容较多的主题可合理分组为多张表。\n【工艺参数密度】正文每 1000 字至少落位 6 处带单位的量化工艺参数(如 20mm、C30、0.5MPa、养护 28 天、搭接长度 500mm、压实度 95%、含水率 3%),均匀分布在各章节而非集中在个别小节;参数必须来自绑定材料或行业通用规范值,不得编造。当绑定材料可提供的参数不足该密度时,以材料全部参数落位为准,禁止用行业先验虚构参数凑数。\n【工序顺序表达】施工流程、施工方法、检验验收类叙述必须有清晰的工序顺序表达,形式按小节序号轮换使用:顺序词叙述(先…再…最后…、依次/先后/按…顺序)、编号步骤、有序列表、箭头链;禁止相邻小节同一形式、禁止通篇同一形式(如通篇箭头链)。每个分部分项方案至少 1 处 3 环节以上的工序顺序表达,全文含工序顺序表达的段落占比不低于 8%。\n【数据自洽】全文核心数据(工程名称、建设地点、总工期、建筑面积、层数、人员、机械、材料批次、施工阶段划分、危大工程清单)必须前后一致,任何跨章冲突、参数矛盾即为内容缺陷;数据以绑定材料与计划推导结果为准,不得一处一改。\n【工艺黄金公式】工艺描述按“工艺名称 + 来源依据 + 适用范围 + 核心工序(按施工顺序 3~5 步)+ 质量控制要点(1~2 个量化指标)”展开;提及规范标准必须带编号(如 GB 50204-2015)并采用现行有效版本,不得虚构或引用已废止版本。\n【重难点公式】重难点 = 项目具体条件 + 难度分析 + 影响后果;工程重点 3~5 条、工程难点 3~4 条,每个重难点必须在后续对应章节给出解决措施形成跨章闭环。\n【低雷同】不同章节不得复制相同段落;同类措施必须通过句式重构、数据替换、流程细化差异化表达;项目概况叙述(位置+规模+建设内容+工期+质量目标的连写段)全文只允许在项目基本信息表引导段出现一次,特点分析、重难点分析等小节直接切入特点与对策,禁止再次粘贴项目概况段;不写“本工程严格执行国家有关标准规范”式通用万能句。\n项目概况只交代一次:工程地点、建设规模(总建筑面积)、计划工期、改造范围、保留商铺等总述信息,只在项目概况/工程概况类章节集中交代。其他章节不得以“本项目为……”开头整段复述项目概况;正文直接写本专业内容,确需数据支撑时只引用所需的具体数字(如“按计划工期倒排”“针对改造范围面积”),不复述面积、商铺、工期的完整概况段。\n【导出格式】章标题用 ## ,节标题用 ### 加数字编号(如 1.1),小节标题用 #### 加数字编号(如 1.1.1)。禁止用数字编号或粗体代替 ###/#### 标题。\nMarkdown 表格格式硬约束:凡是输出 Markdown 表格,必须使用标准 GFM 表格格式。\n表格必须包含表头行、分隔线和数据行;表头下一行必须是分隔线,例如 |---|---|。\n禁止只输出连续的“| 字段 | 值 |”裸表格行;两列键值信息表默认使用表头 | 信息项 | 内容 |。\n表头、分隔线和数据行必须连续,中间不得插入正文、说明、空行或补充段落。\n表格数据完整性硬约束:数据行每一列都必须有具体数据值,不得出现空单元格;不得用“—/若干/约/待定/暂无/不适用”等占位或模糊表达代替具体数据(合计/小计/总计/累计行的“—”不适用语义除外;规格型号列中无规格型号的小型机具如蛙式打夯机、小型夯实机可写“—”表示机具无型号,同属不适用语义)。数据优先取自本项目资料与蓝图权威锚点;计划类数值(人数、台班、进度时间)必须原样引用蓝图推导值,不得按工程量、工期或定额自行推算另设,不得凭空编造型号。\n表格名称/标题不得占用表格单元格(如“竣工清理与移交计划表”作为表头第一格导致整表错位);表名写在表格上方的正文叙述中,表内第一行从表头列名开始。\n正文表格不得展示后台溯源列或系统过程列,如“资料来源/说明”“资料来源/证明”“知识库来源”等。\n项目名称、项目编号、招标人/业主/建设单位、建设地点、建设规模、计划工期、质量标准、合同估算价等项目基础信息,只能在项目基本信息表中集中输出一次;后续章节如需引用,应写入正文或专业表格的业务字段,不得重复生成项目基础信息键值表。\n表头差异化硬约束:全文各表格表头不得完全相同——各章同构控制表(如“关键节点|计划完成时间|责任岗位|投入资源|检查频次|滞后纠偏措施”)必须加本章主题限定,如首列表名改为“进度关键节点”“质量关键节点”“劳动力关键节点”等主题词,或表前引导句点名用途;禁止全文 3 处及以上完全相同的表头堆叠(同表头多表属模板化凑数形态,评标低分项)。\n【段落格式】段落之间必须空行(双换行)分隔,不得用单换行连续写大段文字。列表项逐行独占。步骤描述之间加空行。",i.Ru].join("\n"),Q=['只生成当前节及其节内三级小节正文,不生成其他同级节,不重复章节一级标题。\n优先使用当前模板、用户要求、绑定提示词和绑定材料中的事实;项目专属事实(具体数值、时间、规格、人名、品牌、责任主体)缺少依据时不得编造。\n禁止编造具体日期:开工日期、竣工日期、具体某月某日只有在绑定材料明确提供时才可写入;材料未提供具体日期时,进度安排一律用相对工期表达(如"开工令下发后第7日""第1日~第7日"),不得写"2026年8月8日"等绝对日期。\n小节应有实质正文;除非用户或模板明确要求纯表格,否则表格只能作为辅助表达,不能整节只有表格。\n不得用通用兜底段落、空泛管理话术或后台缺料说明冒充正文;信息不足时只写已有事实、适用边界和待复核口径。\n小节标题中的工程类别必须在本节正文有对应施工内容;不得照抄工程量清单章节汇总行名称,本项目未实施的工程类别不得出现在标题与正文中。\n除非绑定材料明确提供图集编号,否则不得写“执行/参照XX图集”类引用;做法描述直接写构造层次与材料规格。',f.ch].join("\n"),R="你是专业施工组织设计文档生成智能体,承担文档结构规划、正文写作、质量评审与局部修复任务。\n通用硬约束:\n1. 事实分级:项目专属事实(工期、金额、工程量、建设规模、人名、公司、品牌、供应商、材料规格、日期节点)必须来自绑定材料,不得编造;公共专业知识(法律法规名称、标准规范编号 GB/JGJ/CJJ/DB 系列、通用施工工艺与行业惯例)可依据现行有效版本直接引用,不得虚构编号或引用已废止版本。\n2. 输出中不得出现后台流程话术(知识库、检索、资料类型、提示词角色、规范包、事实字段、缺失项、校验结果、资料未提供、未检索到等)。\n3. 严格遵守调用点给出的输出契约:JSON 调用只返回 JSON,正文调用遵循 Markdown 结构要求。";function S(){return[R,P].join("\n\n")}function T(a){return[S(),"你是施工组织设计文档写作专家。",Q].join("\n\n")}function U(a,b){return[S(),a].join("\n\n")}function V(a){return(0,g.GQ)(a.replace(/^#+\s*/u,"")).replace(/^(?:第)?[一二三四五六七八九十百千万\d]+章\s*/u,"").trim().replace(/\s+/gu,"")}function W(a,b){let c=V(a),d=V(b);return!!(c&&d&&c===d)}function X(a){let b=a.split(/\r?\n/u),c=[],d="";for(let a of b){let b=a.trim(),e=/^##\s+(#{2,5})\s+(.+)$/u.exec(b);if(e){let a=e[1]||"",b=(e[2]||"").trim();b&&!W(b,d)&&(c.push(`${a} ${(0,g.GQ)(b)}`),d=b);continue}let f=/^(#{1,6})\s+(.+)$/u.exec(b);if(f){let b=(f[2]||"").trim();if(b){if(W(b,d))continue;d=b}c.push(a);continue}b&&(d=""),c.push(a)}return c.join("\n").replace(/\n{3,}/gu,"\n\n")}function Y(a,b,c){let d=new Set;for(let e=b;e<c;e+=1){let b=a[e].trim();if(!(/^#{1,6}\s/u.test(b)||/^\|.*\|$/u.test(b)))for(let a of b.split(/[。;;]/u)){let b=a.trim();b.length>=16&&d.add(b.replace(/[\s\p{P}]+/gu,""))}}return d}function Z(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1){let d=/^(#{2,3})\s+(.+)$/u.exec(b[a].trim());d&&(c.length>0&&(c[c.length-1].end=a),c.push({level:d[1].length,title:d[2].trim(),normalized:d[2].trim().replace(/^\d+(?:\.\d+)*\s*/u,"").replace(/[\s::、。,,;;/|—-]/gu,""),start:a,end:b.length}))}if(0===c.length)return a;let d=[];for(let a=0;a<c.length;a+=1){let e=c[a];if(2!==e.level)continue;let f=c.findIndex((b,c)=>c>a&&2===b.level),g=f>=0?c[f].start:b.length,h=c.find(a=>a!==e&&3===a.level&&a.normalized===e.normalized&&a.start>e.start&&a.start<g);if(!h)continue;let i=Y(b,e.start+1,e.end),j=Y(b,h.start+1,h.end),k=[...i].filter(a=>j.has(a)).length,l=Math.min(i.size,j.size);if((l>0?k/l:0)>=.5){let a=b.slice(e.start+1,e.end).join("\n").length>=b.slice(h.start+1,h.end).join("\n").length?h:e;d.push({start:a.start,end:a.end,downgrade:!1})}else d.push({start:e.start,end:e.start,downgrade:!0})}if(0===d.length)return a;let e=[];for(let a=0;a<b.length;a+=1){if(d.some(b=>!b.downgrade&&a>=b.start&&a<b.end))continue;let c=d.find(b=>b.downgrade&&b.start===a);e.push(c?b[a].replace(/^##\s+/,"### "):b[a])}return e.join("\n").replace(/\n{3,}/gu,"\n\n")}function $(a){let b=a.split(/\r?\n/u),c=[],d=[],e=[],f=()=>{if(0===e.length)return;let a=e.join("\n").trim();if(e=[],!a)return;let b=a.replace(/[\s\p{P}]+/gu,"");if(!(b.length>=24&&d.includes(b)))for(let e of(d=[...d,b].slice(-3),a.split(/\n/u)))c.push(e)};for(let a of b){let b=a.trim();if(/^#{1,6}\s/u.test(b)){f(),c.push(a),d=[];continue}if(""===b){f(),c.push(a);continue}e.push(a)}return f(),c.join("\n")}function _(a){return[...new Set([...a.matchAll(/^###\s+(.+)$/gmu)].map(a=>(0,g.GQ)(a[1]||"")).filter(a=>a.length>=2&&a.length<=80).filter(a=>!t(a)).filter(a=>!/^\d+(?:\.\d+){2,}\s+/u.test(a)))]}function aa(a){let b=a.split(/\r?\n/u),c="",d=0;return b.map(a=>{let b=/^\*\*([^*]{2,40}表)\*\*\s*$/u.exec(a.trim());if(b&&c)return d+=1,`#### ${c}.${d} ${(0,g.GQ)(b[1]||"")}`;let e=/^###\s+(\d+\.\d+)\s+.+$/u.exec(a.trim());if(e)return c=e[1],d=0,a;if(/^##\s+/u.test(a.trim()))return c="",d=0,a;let f=/^(#{4,5})\s+(.+)$/u.exec(a.trim());if(f){if(!c)return"#####"===f[1]?a.replace(/^\s*#####/u,"####"):a;let b=(f[2]||"").trim(),e=(0,g.GQ)(b.replace(/^\d+\.\d+\.\d+\s+/u,""));return e?(d+=1,`#### ${c}.${d} ${e}`):a}return a}).join("\n").replace(/\n{3,}/gu,"\n\n").trim()}function ab(a){let b=[],c="";for(let d of a.split(/\r?\n/u)){let a=d.trim(),e=/^###\s+(\d+\.\d+)\s+.+$/u.exec(a);if(e){c=e[1];continue}if(/^##\s+/u.test(a)&&(c=""),!c)continue;let f=/^####\s+(.+)$/u.exec(a);if(f){let a=(f[1]||"").trim();RegExp(`^${al(c)}\\.\\d+\\s+\\S`,"u").test(a)||b.push({level:"warning",message:`三级小节缺少 ${c}.x 编号:${(0,g.GQ)(a)}`,suggestion:"三级小节必须使用“#### 章号.节号.序号 标题”。"})}}return b}function ac(a){let b=a.replace(/\*+/gu,"").trim();if(t(b))return"";let c=(0,g.GQ)(b).replace(/^[-—–]\s*/u,"").trim();return t(c)||/^(?:雨季|冬季|高温|台风|大风)(?:[、,](?:雨季|冬季|高温|台风|大风))*等特殊气候$/u.test(c)||/^(?:雨季|冬季|高温|台风|大风)$/u.test(c)?"":c}function ad(a=[]){return[...new Set(a.map(ac).filter(a=>a.length>=2))]}function ae(a){return["## 目录","",...a.flatMap((a,b)=>{let c=ad(a.sections||[]);return[`${(0,g.tb)(b,a.title)}`,...c.map((a,c)=>` ${function(a,b,c){let d=(0,g.GQ)(c);return!function(a){let b=/^\s*(\d+)\.(\d+)[..、]?\s+(.+)$/u.exec(a);return!!b&&(0,g.GQ)(b[3]||"").trim()===(0,g.GQ)(a).trim()}(c)?`${a+1}.${b+1} ${d}`:d}(b,c,a)}`)]})].join("\n")}function af(a){return a.replace(/<div class="document-cover">[\s\S]*?<\/div>\s*(?:<div class="page-break"><\/div>\s*)?/giu,"").replace(/^#\s+.+\n{1,2}/u,"")}function ag(a){return a.replace(/^##\s+目录\s*$[\s\S]*?(?=\n<div class="page-break"><\/div>|\n##\s+第[一二三四五六七八九十百千万\d]+章|\n##\s+)/gmu,"").replace(/^<div class="page-break"><\/div>\s*(?=##\s+第[一二三四五六七八九十百千万\d]+章)/gmu,"")}function ah(a){let b=!1;return a.replace(/^##\s+目录\s*$[\s\S]*?(?=\n<div class="page-break"><\/div>|\n##\s+)/gmu,a=>b?"":(b=!0,a)).replace(/\n{3,}/gu,"\n\n").trim()}function ai(a,b){let c=ah(a);b.forEach((a,b)=>{let d=(0,g.GQ)(a.title),e=RegExp(`^##\\s+(?:第[一二三四五六七八九十百千万\\d]+章\\s*)?${al(d)}\\s*$`,"mu");c=e.test(c)?c.replace(e,`## ${(0,g.tb)(b,a.title)}`):c});let d=c.split(/\r?\n/u),f=[];d.forEach((a,b)=>{/^##\s+第[一二三四五六七八九十百千万\d]+章\s+/u.test(a.trim())&&f.push(b)});let h=f.map((a,b)=>{let c=f[b+1]??d.length,e=!1;return d.slice(a+1,c).some(a=>{let b=a.trim();return e?(/^<div class="page-break"><\/div>$/u.test(b)&&(e=!1),!1):/^##\s+目录\s*$/u.test(b)?(e=!0,!1):/^##\s+.+/u.test(b)||/^###\s+.+/u.test(b)})}),i=-1,j=0,k=0,l="",m="",n=new Set,o=a=>{let c=b[i]?.sections||[],d=an(a);return c.findIndex(a=>an(a)===d)},p=(a,c)=>{let d=ac(a);if(!d||t(a)||t(d))return"";let e=o(d),f=b[i]?.sections||[],h=j+1,p=e>=0?an(f[e]):an(d);return n.has(p)?(k+=1,`#### ${i+1}.${j}.${k} ${d}`):(j=h,k=0,l=c||`${i+1}.${j}`,m=e>=0?(0,g.GQ)(f[e]):d,n.add(p),`### ${i+1}.${j} ${e>=0?(0,g.GQ)(f[e]):d}`)},q=(a,c)=>{let d=an(a),e=o(a)>=0&&!n.has(d);return!j||c&&c!==l&&(0===(b[i]?.sections||[]).length||e)?p(a,c):(k+=1)<=4?`#### ${i+1}.${j}.${k} ${a}`:`**${a}**`},r=!1;return d.map(a=>{let c=a.trim();if(/^##\s+目录\s*$/u.test(c))return r=!0,a;if(r&&/^<div class="page-break"><\/div>$/u.test(c))return r=!1,a;if(r)return a;if(/^##\s+第[一二三四五六七八九十百千万\d]+章\s+/u.test(c))return i+=1,j=0,k=0,l="",m="",n=new Set,a;let d=/^##\s+第[一二三四五六七八九十百千万\d]+节\s+(.+)$/u.exec(c);if(i>=0&&d)return p(d[1]||"");let f=/^##\s+\d+[..、]\s+(.+)$/u.exec(c);if(i>=0&&f)return p(f[1]||"");let s=/^##\s+(\d+)\.(\d+)\s+(.+)$/u.exec(c);if(i>=0&&s)return p(s[3]||"",`${s[1]}.${s[2]}`);let t=/^##\s+(.+)$/u.exec(c);if(i>=0&&t){let b=(0,g.GQ)(t[1]||"");return/^本章目录$/u.test(b)?"":/^附录/u.test(b)?a:p(b)}let u=/^###\s+(?:(\d+)\.(\d+)\s+)?(.+)$/u.exec(c);if(i>=0&&u)return p(u[3]||"",u[1]&&u[2]?`${u[1]}.${u[2]}`:void 0);let v=/^####\s+(\d+)\.(\d+)(?!\.)\s+(.+)$/u.exec(c);if(i>=0&&v){let a=(0,g.GQ)(v[3]||""),c=e.V.test(m),d=0===(b[i]?.sections||[]).length,f=o(a)>=0;return!h[i]&&!c&&(f||d)?p(v[3]||"",`${v[1]}.${v[2]}`):q(a,l)}let w=/^####\s+(?:(\d+)\.(\d+)\.(\d+)\s+)?(.+)$/u.exec(c);if(i>=0&&w){let a=w[1]&&w[2]?`${w[1]}.${w[2]}`:l;return q((0,g.GQ)(w[4]||""),a)}return a}).filter(a=>""!==a).join("\n")}function aj(a,b){let c=a.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(/(?:本|我)施工方/gu,"我公司").replace(/(?:本|我)投标人/gu,"我公司").replace(/高度重视/gu,"严格落实").replace(/重中之重/gu,"关键控制事项");for(let a of b?.forbiddenTerms||[])a&&/^(?:报价明细表|最高投标限价|招标控制价)$/u.test(a)&&(c=c.split(/\r?\n/u).filter(b=>!RegExp(al(a),"u").test(b)).join("\n"));return c}function ak(a,b){if(!b)return aj(a);let c=function(a,b){let c=a;for(let a of b?.requiredTables||[])c=function(a,b){if(/项目基本信息/u.test(b)&&(/项目基本信息/u.test(a)||/\|\s*信息项\s*\|\s*内容\s*\|/u.test(a)||/\|\s*项目名称\s*\|[^\n|]+\|/u.test(a))||RegExp(al(b),"u").test(a))return a;let c=/项目基本信息/u.test(b)?"":`**${b}**
30
+ {3,}`,"gu");function z(a){return a.split(x).map(w).join("\n").replace(y,"\n\n")}function A(a){return/^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/u.test(a)}function B(a){let b=a.trim();return/^\|.*\|$/u.test(b)&&b.split("|").length>=3}function C(a){return`| ${Array.from({length:Math.max(2,a)},()=>"---").join(" | ")} |`}function D(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(A(e)){c.push(e);continue}if(!(B(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)),A(f)){c.push(C(g)),d=g,a+=1;continue}!d&&B(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(C(g)),d=g)}return c.join("\n").replace(/\n{3,}/gu,"\n\n")}let E=/(?:项目部|本项目|本工程)?(?:根据|依据|结合|按照|以)?(?:本项目|项目|[^。;;\n]{0,30}?)?(?:招标文件|补疑澄清文件|补遗澄清文件|补疑补遗|答疑(?:回复)?文件|答疑修正口径|补充答疑修正口径|澄清文件|工程量清单|设计图纸|施工图纸|图纸资料|设计修改通知单)(?:[、,,及和与\s]*(?:招标文件|补疑澄清文件|补遗澄清文件|补疑补遗|答疑(?:回复)?文件|答疑修正口径|补充答疑修正口径|澄清文件|工程量清单|设计图纸|施工图纸|图纸资料|设计修改通知单|现行规范|规范)){1,}(?:[^。;;\n]{0,80})?[,,]/u,F=/编制依据|编制说明|法律法规|规范标准|标准依据/u;function G(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=F.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(E,"").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 H(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=F.test(e.replace(/^#{2,4}\s+/u,""));return}!/^\s*\|/u.test(e)&&(E.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)}let I=/(?:安全|管理|施工|质量|工期|进度|保障|体系|措施|控制|工程|项目|技术|方案|计划|组织|标准|规范|验收|方法|工艺|文明|绿色)/u,J=/(?:工程施工方案|安装工程施工方案|专业工程施工方案|专项施工方案)$/u;function K(a){let b=a.split(/\r?\n/u),c=[],d=new Set;for(let a of b){let b=/^###\s+(.+)$/u.exec(a.trim());b&&d.add(b[1].trim().replace(/^\d+(?:\.\d+)*\s*/u,""))}return b.forEach((a,b)=>{let e=/^####\s+(.+)$/u.exec(a.trim());if(!e)return;let f=e[1].trim(),g=f.replace(/^\d+(?:\.\d+)*\s*/u,"").trim();if(!g)return;if(d.has(g)||d.has(f))return void c.push({level:"warning",severity:"warning",category:"structure",owner:"system",repairability:"llm_repairable",message:`H4 标题与本章三级小节同名:${f}(第 ${b+1} 行)`,suggestion:`删除该 H4 块或改为三级小节「${g}」下的独立子主题标题,禁止与三级小节同名造成结构重复。`});let h=new Map;for(let a=0;a<g.length-1;a+=1){let b=g.slice(a,a+2);I.test(b)||h.set(b,(h.get(b)||0)+1)}let i=[...h.entries()].filter(([,a])=>a>=2).map(([a])=>a);if(i.length>0)return void c.push({level:"warning",severity:"warning",category:"structure",owner:"system",repairability:"llm_repairable",message:`H4 标题疑似词尾粘连或多主题拼接:${f}(重复词:${i.join("、")},第 ${b+1} 行)`,suggestion:"重写为单一主题的短标题,去掉粘连重复的尾部词语。"});g.length>14&&!J.test(g)&&c.push({level:"warning",severity:"warning",category:"structure",owner:"system",repairability:"llm_repairable",message:`H4 标题过长疑似多主题拼接:${f}(${g.length} 字,第 ${b+1} 行)`,suggestion:"拆分为多个独立 H4 或压缩为单一主题短标题。"})}),c.slice(0,20)}function L(a){let b=a.split(/\r?\n/u),c=new Set;for(let a of b){let b=/^###\s+(.+)$/u.exec(a.trim());b&&c.add(b[1].trim().replace(/^\d+(?:\.\d+)*\s*/u,""))}let d=0;return{markdown:b.map(a=>{let b=/^(####\s+)(.*)$/u.exec(a);if(!b)return a;let e=b[2].trim(),f=e.replace(/^\d+(?:\.\d+)*\s*/u,"").trim();return f&&(c.has(f)||c.has(e))?(d+=1,`${b[1]}${e}要点`):a}).join("\n"),fixedCount:d}}function M(a){let b=a.split(/\r?\n/u),c=[],d=[],e=null,f=null,g=a=>{if(f)for(let b of a.replace(/^#{1,6}\s+/u,"").replace(/^\|.*\|$/u,"").trim().split(/[。;;]/u)){let a=b.trim();a.length>=24&&f.sentences.push(a.replace(/[\s\p{P}]+/gu,"").toLowerCase())}};for(let a of b){let b=/^##\s+(.+)$/u.exec(a.trim());if(b){e&&d.push(e),e={title:b[1].trim(),sections:[]},f=null;continue}let c=/^###\s+(.+)$/u.exec(a.trim());if(c&&e){f={title:c[1].trim(),sentences:[]},e.sections.push(f);continue}/^####\s+/u.test(a.trim())||g(a)}for(let a of(e&&d.push(e),d))for(let b=0;b<a.sections.length;b+=1)for(let d=b+1;d<a.sections.length;d+=1){let e=new Set(a.sections[b].sentences),f=new Set(a.sections[d].sentences);if(0===e.size||0===f.size)continue;let g=0;for(let a of e)f.has(a)&&(g+=1);let h=g/Math.min(e.size,f.size);h>=.3&&g>=3&&c.push({level:"warning",severity:"warning",category:"structure",owner:"system",repairability:"llm_repairable",message:`${a.title} 内「${a.sections[b].title}」与「${a.sections[d].title}」正文重复(${g} 句重合,占 ${Math.round(100*h)}%)`,suggestion:"两个小节正文出现大量重复句子:后写的小节必须围绕本小节主题差异化重写,删除复制自另一小节的内容,只保留本小节专属做法与参数。"})}return c.slice(0,20)}function N(a){let b=a.split(x),c=[];for(let a=0;a<b.length;a+=1){let d=b[a]||"",e=d.trim();if(!(e&&!/^\|/u.test(e)&&(e.match(/\|/gu)||[]).length>=2&&!/^#{1,6}\s/u.test(e)&&!A(e)&&c.length>0&&B(c[c.length-1]||""))){c.push(d);continue}let f=e.split("|").map(a=>a.trim()).filter(Boolean);if(f.length<2){c.push(d);continue}if(A(c[c.length-1]||"")){c.push(`| ${f.join(" | ")} |`);continue}let g=c[c.length-1]||"",h=`${g.replace(/\s*\|\s*$/u,"")}${f[0]}`,i=f.slice(1).join(";");c[c.length-1]=`${h}${i?`;${i}`:""} |`}return c.join("\n")}function O(a){return(function(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1){if(!B(b[a])||!A(b[a+1]||"")){c.push(b[a]);continue}let d=[];for(;a<b.length&&B(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?C(c.length):`| ${c.join(" | ")} |`});c.push(...g)}return c.join("\n")})(D(N(z(u(G(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(?!\.\d)/giu,"平方米").replace(/\bm\s*[²2]\b(?!\.\d)/giu,"平方米").replace(/\b(m|㎥)\s*3\b(?!\.\d)/giu,"立方米").replace(/\bm\s*[³3]\b(?!\.\d)/giu,"立方米").replace(/\bmm2\b/giu,"平方毫米").replace(/\bcm2\b/giu,"平方厘米").replace(/\bkm2\b/giu,"平方千米").replace(/(\d+(?:\.\d+)?)平方(?:\d+(?:\.\d+)?)?(?=\d|[,,;;))]|\s|$)/gu,"$1平方米").replace(/原则上/gu,"").replace(/\s*×\s*/gu,"\xd7").replace(/\s*≤\s*/gu,"≤").replace(/\s*≥\s*/gu,"≥").replace(/\s*±\s*/gu,"\xb1")))))).replace(/^####\s+(.*?)(.{2,4})\2\s*$/gmu,"#### $1$2").split(/\r?\n/u).map(a=>a=(a=a.replace(/(?<=[。;;])(?=#{3,4}\s+\S)/gu,"\n\n")).replace(/^([^|]*[。;;])\s*(\|[^|\n]+\|\s*)$/u,"$1\n$2")).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,g.GQ)((c[b-1]||"").trim().replace(/^#{1,6}\s+/u,"")):"",e=(0,g.GQ)(a.trim().replace(/^#{1,6}\s+/u,""));if(d&&t(d)&&e.length>0&&e.length<=12&&!/^#{1,6}\s/u.test(a.trim()))return!1;let f=a.trim();if(!f)return!0;if(/^####\s+.*(?:补充条款|评标办法|投标须知)/u.test(f)||/该小节围绕.+进行补充说明/u.test(f)||/仅作为内部事实提取依据|正式正文不得引用文件名|后台事实|内部事实/u.test(f))return!1;if(/^\s*\|/u.test(f)||/^\s*\|?\s*:?-{3,}:?/u.test(f))return!0;let h=(0,g.GQ)(f.replace(/^#{1,6}\s+/u,""));return!(/^(?:雨季|冬季|高温|台风|大风等特殊气候|雨季、冬季、高温、台风、大风等特殊气候)$/u.test(h)||h.length<=1||t(h))&&!(/[,、;:和与在为对将]$/u.test(h)||/(通过|包括|如下|主要包括)$/u.test(h))}).join("\n").replace(/\n{3,}/gu,"\n\n").trim()}let P=["以下规则仅用于保障导出格式正确和事实安全,不得覆盖用户在提示词中已明确的要求。\n严禁使用“根据/依据招标文件、补疑澄清文件、工程量清单及设计图纸”等资料来源罗列开头;正文必须直接写项目事实、施工内容、控制措施、验收节点。编制依据类小节除外:该小节可集中罗列编制依据文件清单。\n禁止模板化空话与流程套话:不同小节必须写各自专属的专业内容,逐节落位本项目工程量、设备规格、工艺参数与验收标准,不得复制相同段落,不得用泛化的流程描述代替专业内容;正文末尾不得输出自我总结或合规声明段落。",f.yF,"【内容落地五要素】每项管控措施必须写全五要素:方案 + 流程 + 责任人 + 时间节点 + 验收标准;责任人落到具体岗位(项目经理/技术负责人/施工员/质检员/安全员/材料员等),检查频次量化到每日/每周/每月/不少于X次,整改落到“整改→复查→销项”闭环。禁止只写“加强、落实、确保”式无责任、无标准、无频次的空话。\n【闭环句式密度硬约束】全文每 1500 字至少 1 段完整闭环句式:同一自然段内必须同时出现责任岗位(项目经理/技术负责人/施工员/质检员/安全员/材料员/试验员等)+ 检查频次(每日/每周/每月/不少于X次/定期)+ 整改闭环(整改/复查/销项/复验)三要素,缺一不可;禁止措施段落只有频次数字而无责任岗位,或只有岗位口号而无量化频次。\n【空话禁用】措施句不得使用无动作对象、无量化标准的宣传口号式短语作为核心表述,不得以单字虚词(合理、充分、完善、切实、尽量、适时)作为措施句核心动词;一律改写为“责任岗位 + 执行动作 + 量化标准 + 检查频次 + 整改闭环”句式。\n【评分点响应】段落首句先回应本节评分点或招标评审关键词,再展开具体措施;一段只写一个主题,避免多个得分点混在大段文字中;三级标题尽量直接放置评分关键词。\n【数据表格化】关键数据(建筑面积、层数、总工期、开工竣工节点、设备型号数量、管理人员配置、劳动力人数、材料批次、养护天数、检测频次、检验批划分)优先用表格呈现,不藏在正文大段文字中;正文中数据密集型内容(多组对比数值、多岗位职责分工、多阶段资源配置、多节点工期安排、多类管控指标、多工种劳动力分配)宁可多用表格,直观性优于纯文字叙述。表格前必须有 1~2 句引导叙述说明表格作用与关键结论,表格不能替代小节正文。每张表格应有说明性标题或表前引导句点名用途;同一主题同一数据不得重复堆叠凑数,但内容较多的主题可合理分组为多张表。\n【工艺参数密度】正文每 1000 字至少落位 6 处带单位的量化工艺参数(如 20mm、C30、0.5MPa、养护 28 天、搭接长度 500mm、压实度 95%、含水率 3%),均匀分布在各章节而非集中在个别小节;参数必须来自绑定材料或行业通用规范值,不得编造。当绑定材料可提供的参数不足该密度时,以材料全部参数落位为准,禁止用行业先验虚构参数凑数。\n【工序顺序表达】施工流程、施工方法、检验验收类叙述必须有清晰的工序顺序表达,形式按小节序号轮换使用:顺序词叙述(先…再…最后…、依次/先后/按…顺序)、编号步骤、有序列表、箭头链;禁止相邻小节同一形式、禁止通篇同一形式(如通篇箭头链)。每个分部分项方案至少 1 处 3 环节以上的工序顺序表达,全文含工序顺序表达的段落占比不低于 8%。\n【数据自洽】全文核心数据(工程名称、建设地点、总工期、建筑面积、层数、人员、机械、材料批次、施工阶段划分、危大工程清单)必须前后一致,任何跨章冲突、参数矛盾即为内容缺陷;数据以绑定材料与计划推导结果为准,不得一处一改。\n【工艺黄金公式】工艺描述按“工艺名称 + 来源依据 + 适用范围 + 核心工序(按施工顺序 3~5 步)+ 质量控制要点(1~2 个量化指标)”展开;提及规范标准必须带编号(如 GB 50204-2015)并采用现行有效版本,不得虚构或引用已废止版本。\n【重难点公式】重难点 = 项目具体条件 + 难度分析 + 影响后果;工程重点 3~5 条、工程难点 3~4 条,每个重难点必须在后续对应章节给出解决措施形成跨章闭环。\n【低雷同】不同章节不得复制相同段落;同类措施必须通过句式重构、数据替换、流程细化差异化表达;项目概况叙述(位置+规模+建设内容+工期+质量目标的连写段)全文只允许在项目基本信息表引导段出现一次,特点分析、重难点分析等小节直接切入特点与对策,禁止再次粘贴项目概况段;不写“本工程严格执行国家有关标准规范”式通用万能句。\n项目概况只交代一次:工程地点、建设规模(总建筑面积)、计划工期、改造范围、保留商铺等总述信息,只在项目概况/工程概况类章节集中交代。其他章节不得以“本项目为……”开头整段复述项目概况;正文直接写本专业内容,确需数据支撑时只引用所需的具体数字(如“按计划工期倒排”“针对改造范围面积”),不复述面积、商铺、工期的完整概况段。\n【导出格式】章标题用 ## ,节标题用 ### 加数字编号(如 1.1),小节标题用 #### 加数字编号(如 1.1.1)。禁止用数字编号或粗体代替 ###/#### 标题。\nMarkdown 表格格式硬约束:凡是输出 Markdown 表格,必须使用标准 GFM 表格格式。\n表格必须包含表头行、分隔线和数据行;表头下一行必须是分隔线,例如 |---|---|。\n禁止只输出连续的“| 字段 | 值 |”裸表格行;两列键值信息表默认使用表头 | 信息项 | 内容 |。\n表头、分隔线和数据行必须连续,中间不得插入正文、说明、空行或补充段落。\n表格数据完整性硬约束:数据行每一列都必须有具体数据值,不得出现空单元格;不得用“—/若干/约/待定/暂无/不适用”等占位或模糊表达代替具体数据(合计/小计/总计/累计行的“—”不适用语义除外;规格型号列中无规格型号的小型机具如蛙式打夯机、小型夯实机可写“—”表示机具无型号,同属不适用语义)。数据优先取自本项目资料与蓝图权威锚点;计划类数值(人数、台班、进度时间)必须原样引用蓝图推导值,不得按工程量、工期或定额自行推算另设,不得凭空编造型号。\n表格名称/标题不得占用表格单元格(如“竣工清理与移交计划表”作为表头第一格导致整表错位);表名写在表格上方的正文叙述中,表内第一行从表头列名开始。\n正文表格不得展示后台溯源列或系统过程列,如“资料来源/说明”“资料来源/证明”“知识库来源”等。\n项目名称、项目编号、招标人/业主/建设单位、建设地点、建设规模、计划工期、质量标准、合同估算价等项目基础信息,只能在项目基本信息表中集中输出一次;后续章节如需引用,应写入正文或专业表格的业务字段,不得重复生成项目基础信息键值表。\n表头差异化硬约束:全文各表格表头不得完全相同——各章同构控制表(如“关键节点|计划完成时间|责任岗位|投入资源|检查频次|滞后纠偏措施”)必须加本章主题限定,如首列表名改为“进度关键节点”“质量关键节点”“劳动力关键节点”等主题词,或表前引导句点名用途;禁止全文 3 处及以上完全相同的表头堆叠(同表头多表属模板化凑数形态,评标低分项)。\n【段落格式】段落之间必须空行(双换行)分隔,不得用单换行连续写大段文字。列表项逐行独占。步骤描述之间加空行。",i.Ru].join("\n"),Q=['只生成当前节及其节内三级小节正文,不生成其他同级节,不重复章节一级标题。\n优先使用当前模板、用户要求、绑定提示词和绑定材料中的事实;项目专属事实(具体数值、时间、规格、人名、品牌、责任主体)缺少依据时不得编造。\n禁止编造具体日期:开工日期、竣工日期、具体某月某日只有在绑定材料明确提供时才可写入;材料未提供具体日期时,进度安排一律用相对工期表达(如"开工令下发后第7日""第1日~第7日"),不得写"2026年8月8日"等绝对日期。\n小节应有实质正文;除非用户或模板明确要求纯表格,否则表格只能作为辅助表达,不能整节只有表格。\n不得用通用兜底段落、空泛管理话术或后台缺料说明冒充正文;信息不足时只写已有事实、适用边界和待复核口径。\n小节标题中的工程类别必须在本节正文有对应施工内容;不得照抄工程量清单章节汇总行名称,本项目未实施的工程类别不得出现在标题与正文中。\n除非绑定材料明确提供图集编号,否则不得写“执行/参照XX图集”类引用;做法描述直接写构造层次与材料规格。',f.ch].join("\n"),R="你是专业施工组织设计文档生成智能体,承担文档结构规划、正文写作、质量评审与局部修复任务。\n通用硬约束:\n1. 事实分级:项目专属事实(工期、金额、工程量、建设规模、人名、公司、品牌、供应商、材料规格、日期节点)必须来自绑定材料,不得编造;公共专业知识(法律法规名称、标准规范编号 GB/JGJ/CJJ/DB 系列、通用施工工艺与行业惯例)可依据现行有效版本直接引用,不得虚构编号或引用已废止版本。\n2. 输出中不得出现后台流程话术(知识库、检索、资料类型、提示词角色、规范包、事实字段、缺失项、校验结果、资料未提供、未检索到等)。\n3. 严格遵守调用点给出的输出契约:JSON 调用只返回 JSON,正文调用遵循 Markdown 结构要求。";function S(){return[R,P].join("\n\n")}function T(a){return[S(),"你是施工组织设计文档写作专家。",Q].join("\n\n")}function U(a,b){return[S(),a].join("\n\n")}function V(a){return(0,g.GQ)(a.replace(/^#+\s*/u,"")).replace(/^(?:第)?[一二三四五六七八九十百千万\d]+章\s*/u,"").trim().replace(/\s+/gu,"")}function W(a,b){let c=V(a),d=V(b);return!!(c&&d&&c===d)}function X(a){let b=a.split(/\r?\n/u),c=[],d="";for(let a of b){let b=a.trim(),e=/^##\s+(#{2,5})\s+(.+)$/u.exec(b);if(e){let a=e[1]||"",b=(e[2]||"").trim();b&&!W(b,d)&&(c.push(`${a} ${(0,g.GQ)(b)}`),d=b);continue}let f=/^(#{1,6})\s+(.+)$/u.exec(b);if(f){let b=(f[2]||"").trim();if(b){if(W(b,d))continue;d=b}c.push(a);continue}b&&(d=""),c.push(a)}return c.join("\n").replace(/\n{3,}/gu,"\n\n")}function Y(a,b,c){let d=new Set;for(let e=b;e<c;e+=1){let b=a[e].trim();if(!(/^#{1,6}\s/u.test(b)||/^\|.*\|$/u.test(b)))for(let a of b.split(/[。;;]/u)){let b=a.trim();b.length>=16&&d.add(b.replace(/[\s\p{P}]+/gu,""))}}return d}function Z(a){let b=a.split(/\r?\n/u),c=[];for(let a=0;a<b.length;a+=1){let d=/^(#{2,3})\s+(.+)$/u.exec(b[a].trim());d&&(c.length>0&&(c[c.length-1].end=a),c.push({level:d[1].length,title:d[2].trim(),normalized:d[2].trim().replace(/^\d+(?:\.\d+)*\s*/u,"").replace(/[\s::、。,,;;/|—-]/gu,""),start:a,end:b.length}))}if(0===c.length)return a;let d=[];for(let a=0;a<c.length;a+=1){let e=c[a];if(2!==e.level)continue;let f=c.findIndex((b,c)=>c>a&&2===b.level),g=f>=0?c[f].start:b.length,h=c.find(a=>a!==e&&3===a.level&&a.normalized===e.normalized&&a.start>e.start&&a.start<g);if(!h)continue;let i=Y(b,e.start+1,e.end),j=Y(b,h.start+1,h.end),k=[...i].filter(a=>j.has(a)).length,l=Math.min(i.size,j.size);if((l>0?k/l:0)>=.5){let a=b.slice(e.start+1,e.end).join("\n").length>=b.slice(h.start+1,h.end).join("\n").length?h:e;d.push({start:a.start,end:a.end,downgrade:!1})}else d.push({start:e.start,end:e.start,downgrade:!0})}if(0===d.length)return a;let e=[];for(let a=0;a<b.length;a+=1){if(d.some(b=>!b.downgrade&&a>=b.start&&a<b.end))continue;let c=d.find(b=>b.downgrade&&b.start===a);e.push(c?b[a].replace(/^##\s+/,"### "):b[a])}return e.join("\n").replace(/\n{3,}/gu,"\n\n")}function $(a){let b=a.split(/\r?\n/u),c=[],d=[],e=[],f=()=>{if(0===e.length)return;let a=e.join("\n").trim();if(e=[],!a)return;let b=a.replace(/[\s\p{P}]+/gu,"");if(!(b.length>=24&&d.includes(b)))for(let e of(d=[...d,b].slice(-3),a.split(/\n/u)))c.push(e)};for(let a of b){let b=a.trim();if(/^#{1,6}\s/u.test(b)){f(),c.push(a),d=[];continue}if(""===b){f(),c.push(a);continue}e.push(a)}return f(),c.join("\n")}function _(a){return[...new Set([...a.matchAll(/^###\s+(.+)$/gmu)].map(a=>(0,g.GQ)(a[1]||"")).filter(a=>a.length>=2&&a.length<=80).filter(a=>!t(a)).filter(a=>!/^\d+(?:\.\d+){2,}\s+/u.test(a)))]}function aa(a){let b=a.split(/\r?\n/u),c="",d=0;return b.map(a=>{let b=/^\*\*([^*]{2,40}表)\*\*\s*$/u.exec(a.trim());if(b&&c)return d+=1,`#### ${c}.${d} ${(0,g.GQ)(b[1]||"")}`;let e=/^###\s+(\d+\.\d+)\s+.+$/u.exec(a.trim());if(e)return c=e[1],d=0,a;if(/^##\s+/u.test(a.trim()))return c="",d=0,a;let f=/^(#{4,5})\s+(.+)$/u.exec(a.trim());if(f){if(!c)return"#####"===f[1]?a.replace(/^\s*#####/u,"####"):a;let b=(f[2]||"").trim(),e=(0,g.GQ)(b.replace(/^\d+\.\d+\.\d+\s+/u,""));return e?(d+=1,`#### ${c}.${d} ${e}`):a}return a}).join("\n").replace(/\n{3,}/gu,"\n\n").trim()}function ab(a){let b=[],c="";for(let d of a.split(/\r?\n/u)){let a=d.trim(),e=/^###\s+(\d+\.\d+)\s+.+$/u.exec(a);if(e){c=e[1];continue}if(/^##\s+/u.test(a)&&(c=""),!c)continue;let f=/^####\s+(.+)$/u.exec(a);if(f){let a=(f[1]||"").trim();RegExp(`^${al(c)}\\.\\d+\\s+\\S`,"u").test(a)||b.push({level:"warning",message:`三级小节缺少 ${c}.x 编号:${(0,g.GQ)(a)}`,suggestion:"三级小节必须使用“#### 章号.节号.序号 标题”。"})}}return b}function ac(a){let b=a.replace(/\*+/gu,"").trim();if(t(b))return"";let c=(0,g.GQ)(b).replace(/^[-—–]\s*/u,"").trim();return t(c)||/^(?:雨季|冬季|高温|台风|大风)(?:[、,](?:雨季|冬季|高温|台风|大风))*等特殊气候$/u.test(c)||/^(?:雨季|冬季|高温|台风|大风)$/u.test(c)?"":c}function ad(a=[]){return[...new Set(a.map(ac).filter(a=>a.length>=2))]}function ae(a){return["## 目录","",...a.flatMap((a,b)=>{let c=ad(a.sections||[]);return[`${(0,g.tb)(b,a.title)}`,...c.map((a,c)=>` ${function(a,b,c){let d=(0,g.GQ)(c);return!function(a){let b=/^\s*(\d+)\.(\d+)[..、]?\s+(.+)$/u.exec(a);return!!b&&(0,g.GQ)(b[3]||"").trim()===(0,g.GQ)(a).trim()}(c)?`${a+1}.${b+1} ${d}`:d}(b,c,a)}`)]})].join("\n")}function af(a){return a.replace(/<div class="document-cover">[\s\S]*?<\/div>\s*(?:<div class="page-break"><\/div>\s*)?/giu,"").replace(/^#\s+.+\n{1,2}/u,"")}function ag(a){return a.replace(/^##\s+目录\s*$[\s\S]*?(?=\n<div class="page-break"><\/div>|\n##\s+第[一二三四五六七八九十百千万\d]+章|\n##\s+)/gmu,"").replace(/^<div class="page-break"><\/div>\s*(?=##\s+第[一二三四五六七八九十百千万\d]+章)/gmu,"")}function ah(a){let b=!1;return a.replace(/^##\s+目录\s*$[\s\S]*?(?=\n<div class="page-break"><\/div>|\n##\s+)/gmu,a=>b?"":(b=!0,a)).replace(/\n{3,}/gu,"\n\n").trim()}function ai(a,b){let c=ah(a);b.forEach((a,b)=>{let d=(0,g.GQ)(a.title),e=RegExp(`^##\\s+(?:第[一二三四五六七八九十百千万\\d]+章\\s*)?${al(d)}\\s*$`,"mu");c=e.test(c)?c.replace(e,`## ${(0,g.tb)(b,a.title)}`):c});let d=c.split(/\r?\n/u),h=[];d.forEach((a,b)=>{/^##\s+第[一二三四五六七八九十百千万\d]+章\s+/u.test(a.trim())&&h.push(b)});let i=h.map((a,b)=>{let c=h[b+1]??d.length,e=!1;return d.slice(a+1,c).some(a=>{let b=a.trim();return e?(/^<div class="page-break"><\/div>$/u.test(b)&&(e=!1),!1):/^##\s+目录\s*$/u.test(b)?(e=!0,!1):/^##\s+.+/u.test(b)||/^###\s+.+/u.test(b)})}),j=-1,k=0,l=0,m="",n="",o=new Set,p="",q=a=>{let c=b[j]?.sections||[],d=an(a),e=c.findIndex(a=>an(a)===d);if(e>=0)return e;let g=(0,f.zd)(a,c);if(!g)return -1;let h=(0,f.T9)(g.plannedTitle);return c.findIndex(a=>(0,f.T9)(a)===h)},r=(a,c)=>{let d=ac(a);if(!d||t(a)||t(d))return"";let e=q(d),h=b[j]?.sections||[],i=k+1,r=e>=0?an(h[e]):an(d);if(o.has(r))return l+=1,`#### ${j+1}.${k}.${l} ${d}`;k=i,l=0,m=c||`${j+1}.${k}`,n=e>=0?(0,g.GQ)(h[e]):d,o.add(r);let s=`### ${j+1}.${k} ${e>=0?(0,g.GQ)(h[e]):d}`;if(e>=0){let a=(0,f.zd)(d,[h[e]]);if(a){let b=(0,f.RM)(a.remainder,p);if(b)return`${s}
31
+
32
+ ${b}`}}return s},s=(a,c)=>{let d=an(a),e=q(a)>=0&&!o.has(d);return!k||c&&c!==m&&(0===(b[j]?.sections||[]).length||e)?r(a,c):(l+=1)<=4?`#### ${j+1}.${k}.${l} ${a}`:`**${a}**`},u=!1;return d.map((a,c)=>{let f=a.trim();if(/^#{2,4}\s/u.test(f)){let a=[];for(let b=c+1;b<d.length&&a.length<8&&!/^\s*#{1,6}\s/u.test(d[b]);b+=1)a.push(d[b]);p=a.join("\n")}else p="";if(/^##\s+目录\s*$/u.test(f))return u=!0,a;if(u&&/^<div class="page-break"><\/div>$/u.test(f))return u=!1,a;if(u)return a;if(/^##\s+第[一二三四五六七八九十百千万\d]+章\s+/u.test(f))return j+=1,k=0,l=0,m="",n="",o=new Set,a;let h=/^##\s+第[一二三四五六七八九十百千万\d]+节\s+(.+)$/u.exec(f);if(j>=0&&h)return r(h[1]||"");let t=/^##\s+\d+[..、]\s+(.+)$/u.exec(f);if(j>=0&&t)return r(t[1]||"");let v=/^##\s+(\d+)\.(\d+)\s+(.+)$/u.exec(f);if(j>=0&&v)return r(v[3]||"",`${v[1]}.${v[2]}`);let w=/^##\s+(.+)$/u.exec(f);if(j>=0&&w){let b=(0,g.GQ)(w[1]||"");return/^本章目录$/u.test(b)?"":/^附录/u.test(b)?a:r(b)}let x=/^###\s+(?:(\d+)\.(\d+)\s+)?(.+)$/u.exec(f);if(j>=0&&x)return r(x[3]||"",x[1]&&x[2]?`${x[1]}.${x[2]}`:void 0);let y=/^####\s+(\d+)\.(\d+)(?!\.)\s+(.+)$/u.exec(f);if(j>=0&&y){let a=(0,g.GQ)(y[3]||""),c=e.V.test(n),d=0===(b[j]?.sections||[]).length,f=q(a)>=0;return!i[j]&&!c&&(f||d)?r(y[3]||"",`${y[1]}.${y[2]}`):s(a,m)}let z=/^####\s+(?:(\d+)\.(\d+)\.(\d+)\s+)?(.+)$/u.exec(f);if(j>=0&&z){let a=z[1]&&z[2]?`${z[1]}.${z[2]}`:m;return s((0,g.GQ)(z[4]||""),a)}return a}).filter(a=>""!==a).join("\n")}function aj(a,b){let c=a.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(/(?:本|我)施工方/gu,"我公司").replace(/(?:本|我)投标人/gu,"我公司").replace(/高度重视/gu,"严格落实").replace(/重中之重/gu,"关键控制事项");for(let a of b?.forbiddenTerms||[])a&&/^(?:报价明细表|最高投标限价|招标控制价)$/u.test(a)&&(c=c.split(/\r?\n/u).filter(b=>!RegExp(al(a),"u").test(b)).join("\n"));return c}function ak(a,b){if(!b)return aj(a);let c=function(a,b){let c=a;for(let a of b?.requiredTables||[])c=function(a,b){if(/项目基本信息/u.test(b)&&(/项目基本信息/u.test(a)||/\|\s*信息项\s*\|\s*内容\s*\|/u.test(a)||/\|\s*项目名称\s*\|[^\n|]+\|/u.test(a))||RegExp(al(b),"u").test(a))return a;let c=/项目基本信息/u.test(b)?"":`**${b}**
31
33
 
32
34
  | 控制项目 | 控制内容 | 执行要求 | 复核要求 |
33
35
  |---|---|---|---|