@customize-agent/server 4.19.11 → 4.19.13

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 (30) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/1001.js +1 -1
  5. package/.next/server/chunks/1153.js +35 -34
  6. package/.next/server/chunks/208.js +1 -1
  7. package/.next/server/chunks/5284.js +3 -3
  8. package/.next/server/chunks/6482.js +7 -7
  9. package/.next/server/pages/404.html +1 -1
  10. package/.next/server/pages/500.html +1 -1
  11. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +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/template-references.html +1 -1
  27. package/.next/server/pages-manifest.json +21 -21
  28. package/package.json +1 -1
  29. /package/.next/static/{zSl25A7tZXYG7Mj3WXnJh → 09SNRT7HsntTqZDiQYpiV}/_buildManifest.js +0 -0
  30. /package/.next/static/{zSl25A7tZXYG7Mj3WXnJh → 09SNRT7HsntTqZDiQYpiV}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=5284,exports.ids=[5284],exports.modules={1218:(a,b,c)=>{c.d(b,{B2:()=>r,GK:()=>Z,N2:()=>z,OQ:()=>A,PP:()=>ac,R7:()=>H,d6:()=>N,d7:()=>ad,de:()=>F,hn:()=>v,ir:()=>ab,ji:()=>X,n9:()=>Y,qG:()=>u,rC:()=>V,wj:()=>E});var d=c(73024),e=c(76760),f=c(15751),g=c(44533),h=c(73859),i=c(19898),j=c(91977),k=c(11248),l=c(95734),m=c(18274),n=c(22157),o=c(37047),p=c(71678),q=c(73186);function r(a,b,c){let d={};for(let e of(0,j.Uy)(a,c)){let a=b.find(a=>(0,j.I2)(a,e));a&&(d[e.name]=`${a.content.replace(/\s+/gu," ")}(来源:${a.filePath},角色:${a.roleId||"未标注"})`)}return d}let s=new Map;function t(a,b){let c=f.readFile(a,{cellDates:!0,sheetStubs:!1}),d=[];for(let a of c.SheetNames){let e=c.Sheets[a],g=f.utils.sheet_to_json(e,{header:1,raw:!1,defval:""}).map(a=>a.map(a=>String(a).trim())).filter(a=>a.some(Boolean));if(g.length<2)continue;let h=(0,i.detectSmartTableHeader)(g),j=h.headers,k=g.slice(h.headerIndex+1).map(a=>a.slice(0,j.length)).filter(a=>a.some(Boolean));0!==k.length&&d.push({tableType:b.roleId||"table",sheet:a,headers:j,rows:k,sourceFile:b.filePath,sourceRange:e["!ref"]})}return d}function u(a){let b=[],c=new Set;for(let f of a.filter(a=>"table"===a.processingType||"structured_data"===a.processingType||"bill_of_quantities"===a.processingType)){if(c.has(f.filePath))continue;c.add(f.filePath);let a=(0,g.aY)(),h=(0,g.NW)(a),i=e.isAbsolute(f.filePath)?f.filePath:d.existsSync(e.join(h,f.filePath))?e.join(h,f.filePath):e.join(a,f.filePath),j=e.extname(f.filePath).toLowerCase();if(d.existsSync(i)&&[".xlsx",".xls",".csv"].includes(j))try{b.push(...function(a,b){if("0"===process.env.DOCUMENT_TABLE_PARSE_CACHE)return t(a,b);let c=d.statSync(a),e=`${a}:${b.roleId||"table"}`,f=s.get(e);if(f&&f.mtimeMs===c.mtimeMs&&f.size===c.size)return f.tables;let g=t(a,b);return s.size>500&&s.clear(),s.set(e,{mtimeMs:c.mtimeMs,size:c.size,tables:g}),g}(i,f));continue}catch{}let k=f.content.split("\n").map(a=>a.trim()).filter(Boolean).filter(a=>a.includes("|")||a.includes(" ")||a.includes(","));if(k.length<2)continue;let l=k[0].includes("|")?"|":k[0].includes(" ")?" ":",",m=k.map(a=>a.split(l).map(a=>a.trim()).filter(Boolean)).filter(a=>a.length>1);m.length<2||b.push({tableType:f.roleId||"table",headers:m[0],rows:m.slice(1),sourceFile:f.filePath,sourceRange:f.sectionTitle})}return b}function v(a){let b=[],c=/工程名称|序号|项目编码|项目名称|项目特征|计量\s*单位|工程量|金额|综合单价|合价|人工费|机械费|暂估价|分部小计|本页|续表|合计|汇总/u;for(let d of a){let a=(0,i.locateTableColumns)(d.headers);if((a.name??-1)<0&&(a.feature??-1)<0)continue;let e=(a.seq??-1)>=0;for(let f of d.rows){let g=e?(f[a.seq??0]||"").trim():"",h=(a.name??-1)>=0?(f[a.name??0]||"").trim():"",i=(a.feature??-1)>=0?(f[a.feature??0]||"").trim():"",j=(a.unit??-1)>=0?(f[a.unit??0]||"").trim():"",k=(a.quantity??-1)>=0?(f[a.quantity??0]||"").trim():"";if(e&&!/^\d+$/.test(g)||!h||!i||c.test(`${h}${i}`))continue;let l=k&&j?`${k}${j}`:k||j;b.push({key:`清单条目:${h}`,fieldName:"清单条目",fieldId:"bill_item",value:`${i.slice(0,160)}${l?`|工程量:${l}`:""}`,sourceFile:d.sourceFile,roleId:"bill_of_quantities",processingType:"bill_of_quantities",confidence:.92,sourceRef:{filePath:d.sourceFile,roleId:"bill_of_quantities",processingType:"bill_of_quantities",sectionTitle:d.sheet}})}}return b}let w=["混凝土强度等级","砂浆强度等级","抗渗等级","钢筋牌号","钢筋级别","砖规格","砌块强度等级","混凝土种类","砂浆种类","垫层材料种类","找平层厚度","保护层厚度","防水层厚度","卷材厚度","镀锌层厚度","保温层厚度","垫层厚度","找坡层厚度","防水等级","抗裂等级","耐火等级","强度等级"],x=/C\d{2,3}|M\d+(?:\.\d+)?|P\d{1,2}|HRB\d{3,4}|HPB\d{3}|Q\d{3}|MU\d+|A\d+(?:\.\d+)?|B\d+(?:\.\d+)?|\d+(?:\.\d+)?\s*mm/u;function y(a){return/^C\d{2,3}$/.test(a)?"混凝土强度等级":/^M\d/.test(a)?"砂浆强度等级":/^P\d/.test(a)?"抗渗等级":/mm$/.test(a)?"厚度规格":/^HRB/.test(a)||/^HPB/.test(a)?"钢筋牌号":/^MU/.test(a)?"砌块强度等级":"规格"}function z(a,b,c){let d=(0,j.Uy)(b,c).filter(a=>a.required);return 0===d.length?a.filter(a=>a.confidence>=.75&&(0,n.lG)(a.value).trim().length>=2).length<12:d.filter(b=>a.some(a=>(function(a,b){let c=(0,n.lG)(a.value).trim();if(!c||c.length<2||c.length>220&&a.confidence<.8)return!1;let d=`${a.fieldId||""} ${a.fieldName||""} ${a.key}`.toLowerCase();return!!(d.includes(b.id.toLowerCase())||d.includes(b.name.toLowerCase()))&&("project_basic_fact"===a.roleId||a.roleId?.startsWith("role-")||a.sourceRef?.filePath?a.confidence>=.55:a.confidence>=.75)})(a,b))).length/d.length<.9}async function A(a,b,c,d,e,f){let g=[{type:"fact_extraction",roleId:"llm-json",status:"skipped",message:"LLM JSON 抽取未启用或无可用模型"}],h=Math.max(12e3,Math.floor(Number(process.env.DOCUMENT_FACT_EXTRACTION_MAX_CHARS??45e3))),i=Math.max(8,Math.floor(Number(process.env.DOCUMENT_FACT_EXTRACTION_MAX_ITEMS??48))),k=0,m=[];for(let b of[...a].sort((a,b)=>b.score-a.score).slice(0,i)){let a=E((0,n.lG)(b.content)).replace(/\s+/gu," ").slice(0,Math.max(800,Math.floor(h/i))),c=`文件:${b.filePath}
1
+ "use strict";exports.id=5284,exports.ids=[5284],exports.modules={1218:(a,b,c)=>{c.d(b,{B2:()=>r,GK:()=>Z,N2:()=>z,OQ:()=>A,PP:()=>ac,R7:()=>H,d6:()=>N,d7:()=>ae,de:()=>F,hn:()=>v,ir:()=>ab,ji:()=>X,n9:()=>Y,qG:()=>u,rC:()=>V,wj:()=>E});var d=c(73024),e=c(76760),f=c(15751),g=c(44533),h=c(73859),i=c(19898),j=c(91977),k=c(11248),l=c(95734),m=c(18274),n=c(22157),o=c(37047),p=c(71678),q=c(73186);function r(a,b,c){let d={};for(let e of(0,j.Uy)(a,c)){let a=b.find(a=>(0,j.I2)(a,e));a&&(d[e.name]=`${a.content.replace(/\s+/gu," ")}(来源:${a.filePath},角色:${a.roleId||"未标注"})`)}return d}let s=new Map;function t(a,b){let c=f.readFile(a,{cellDates:!0,sheetStubs:!1}),d=[];for(let a of c.SheetNames){let e=c.Sheets[a],g=f.utils.sheet_to_json(e,{header:1,raw:!1,defval:""}).map(a=>a.map(a=>String(a).trim())).filter(a=>a.some(Boolean));if(g.length<2)continue;let h=(0,i.detectSmartTableHeader)(g),j=h.headers,k=g.slice(h.headerIndex+1).map(a=>a.slice(0,j.length)).filter(a=>a.some(Boolean));0!==k.length&&d.push({tableType:b.roleId||"table",sheet:a,headers:j,rows:k,sourceFile:b.filePath,sourceRange:e["!ref"]})}return d}function u(a){let b=[],c=new Set;for(let f of a.filter(a=>"table"===a.processingType||"structured_data"===a.processingType||"bill_of_quantities"===a.processingType)){if(c.has(f.filePath))continue;c.add(f.filePath);let a=(0,g.aY)(),h=(0,g.NW)(a),i=e.isAbsolute(f.filePath)?f.filePath:d.existsSync(e.join(h,f.filePath))?e.join(h,f.filePath):e.join(a,f.filePath),j=e.extname(f.filePath).toLowerCase();if(d.existsSync(i)&&[".xlsx",".xls",".csv"].includes(j))try{b.push(...function(a,b){if("0"===process.env.DOCUMENT_TABLE_PARSE_CACHE)return t(a,b);let c=d.statSync(a),e=`${a}:${b.roleId||"table"}`,f=s.get(e);if(f&&f.mtimeMs===c.mtimeMs&&f.size===c.size)return f.tables;let g=t(a,b);return s.size>500&&s.clear(),s.set(e,{mtimeMs:c.mtimeMs,size:c.size,tables:g}),g}(i,f));continue}catch{}let k=f.content.split("\n").map(a=>a.trim()).filter(Boolean).filter(a=>a.includes("|")||a.includes(" ")||a.includes(","));if(k.length<2)continue;let l=k[0].includes("|")?"|":k[0].includes(" ")?" ":",",m=k.map(a=>a.split(l).map(a=>a.trim()).filter(Boolean)).filter(a=>a.length>1);m.length<2||b.push({tableType:f.roleId||"table",headers:m[0],rows:m.slice(1),sourceFile:f.filePath,sourceRange:f.sectionTitle})}return b}function v(a){let b=[],c=/工程名称|序号|项目编码|项目名称|项目特征|计量\s*单位|工程量|金额|综合单价|合价|人工费|机械费|暂估价|分部小计|本页|续表|合计|汇总/u;for(let d of a){let a=(0,i.locateTableColumns)(d.headers);if((a.name??-1)<0&&(a.feature??-1)<0)continue;let e=(a.seq??-1)>=0;for(let f of d.rows){let g=e?(f[a.seq??0]||"").trim():"",h=(a.name??-1)>=0?(f[a.name??0]||"").trim():"",i=(a.feature??-1)>=0?(f[a.feature??0]||"").trim():"",j=(a.unit??-1)>=0?(f[a.unit??0]||"").trim():"",k=(a.quantity??-1)>=0?(f[a.quantity??0]||"").trim():"";if(e&&!/^\d+$/.test(g)||!h||!i||c.test(`${h}${i}`))continue;let l=k&&j?`${k}${j}`:k||j;b.push({key:`清单条目:${h}`,fieldName:"清单条目",fieldId:"bill_item",value:`${i.slice(0,160)}${l?`|工程量:${l}`:""}`,sourceFile:d.sourceFile,roleId:"bill_of_quantities",processingType:"bill_of_quantities",confidence:.92,sourceRef:{filePath:d.sourceFile,roleId:"bill_of_quantities",processingType:"bill_of_quantities",sectionTitle:d.sheet}})}}return b}let w=["混凝土强度等级","砂浆强度等级","抗渗等级","钢筋牌号","钢筋级别","砖规格","砌块强度等级","混凝土种类","砂浆种类","垫层材料种类","找平层厚度","保护层厚度","防水层厚度","卷材厚度","镀锌层厚度","保温层厚度","垫层厚度","找坡层厚度","防水等级","抗裂等级","耐火等级","强度等级"],x=/C\d{2,3}|M\d+(?:\.\d+)?|P\d{1,2}|HRB\d{3,4}|HPB\d{3}|Q\d{3}|MU\d+|A\d+(?:\.\d+)?|B\d+(?:\.\d+)?|\d+(?:\.\d+)?\s*mm/u;function y(a){return/^C\d{2,3}$/.test(a)?"混凝土强度等级":/^M\d/.test(a)?"砂浆强度等级":/^P\d/.test(a)?"抗渗等级":/mm$/.test(a)?"厚度规格":/^HRB/.test(a)||/^HPB/.test(a)?"钢筋牌号":/^MU/.test(a)?"砌块强度等级":"规格"}function z(a,b,c){let d=(0,j.Uy)(b,c).filter(a=>a.required);return 0===d.length?a.filter(a=>a.confidence>=.75&&(0,n.lG)(a.value).trim().length>=2).length<12:d.filter(b=>a.some(a=>(function(a,b){let c=(0,n.lG)(a.value).trim();if(!c||c.length<2||c.length>220&&a.confidence<.8)return!1;let d=`${a.fieldId||""} ${a.fieldName||""} ${a.key}`.toLowerCase();return!!(d.includes(b.id.toLowerCase())||d.includes(b.name.toLowerCase()))&&("project_basic_fact"===a.roleId||a.roleId?.startsWith("role-")||a.sourceRef?.filePath?a.confidence>=.55:a.confidence>=.75)})(a,b))).length/d.length<.9}async function A(a,b,c,d,e,f){let g=[{type:"fact_extraction",roleId:"llm-json",status:"skipped",message:"LLM JSON 抽取未启用或无可用模型"}],h=Math.max(12e3,Math.floor(Number(process.env.DOCUMENT_FACT_EXTRACTION_MAX_CHARS??45e3))),i=Math.max(8,Math.floor(Number(process.env.DOCUMENT_FACT_EXTRACTION_MAX_ITEMS??48))),k=0,m=[];for(let b of[...a].sort((a,b)=>b.score-a.score).slice(0,i)){let a=E((0,n.lG)(b.content)).replace(/\s+/gu," ").slice(0,Math.max(800,Math.floor(h/i))),c=`文件:${b.filePath}
2
2
  角色:${b.roleId||""}
3
3
  处理:${b.processingType||""}
4
4
  内容:${a}`;if(m.length>0&&k+c.length>h)break;k+=c.length,m.push(c)}let o=m.join("\n\n---\n\n");if(!o.trim())return{facts:[],stages:g};(0,n.Te)(e);let p=(0,j.Uy)(c,d),q=p.map(a=>`- id=${a.id} name=${a.name} type=auto required=${a.required} sourceRoleIds=${a.sourceRoleIds.join(",")||"不限"} hint=${a.extractionHint||"无"}`).join("\n"),r=await (0,l.bb)(b||"你是文档事实抽取器。",`请严格按下面的动态事实 schema 从资料中抽取事实。只抽取资料明确支持的内容;如果字段限定 sourceRoleIds,必须优先来自对应文件角色;事实取舍和冲突处理遵循规范包字段说明、文件角色和提示词角色配置。
@@ -8,8 +8,8 @@
8
8
  ${q}
9
9
 
10
10
  资料:
11
- ${o}`,{signal:e,maxTokens:1800,temperature:.1,diagnostics:f});return((0,n.Te)(e),r?.facts?.length)?{facts:r.facts.filter(a=>a.key&&a.value).map(a=>{let b=p.find(b=>b.id===a.fieldId||b.name===a.fieldName||b.name===a.key);return{key:b?.name||a.key,fieldId:b?.id||a.fieldId,fieldName:b?.name||a.fieldName,value:(0,n.lG)(a.value),sourceFile:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType,confidence:a.confidence??.8,sourceRef:{filePath:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType}}}),stages:[{type:"fact_extraction",roleId:"llm-json",status:"success",message:`LLM 按动态 schema 抽取 ${r.facts.length} 条事实`}]}:{facts:[],stages:g}}let B=["投标保证金的金额、收款账户名称、开户行与账号","电子投标文件加密方式与解密方式","开标时间、开标地点与开标程序","评标委员会组成与评标办法","招标人联系人、联系电话、邮箱与地址","投标文件递交方式与递交截止时间","空白表格填写说明与上传下载指引","公共资源交易平台监督管理部门"],C=/签章|盖章|联系人|联系电话|电话|邮箱|解密方式|开标时间|开标地点|评标办法|评标委员会|投标保证金|保证金账户|电子交易系统|空白|填写|上传|下载|递交方式|递交截止|公共资源交易监督管理|监管部门|开评标程序|采购范围|是否|符合/u;async function D(a,b,c=h.p4,d){let e=(b?.factFields.map(a=>a.name)||[...new Set(a.map(a=>a.fieldName||a.key))]).filter(a=>(function(a,b){let c=(0,h.oC)(b,a);return c?"single"===c.cardinality&&"ignore"!==c.conflictPolicy&&"allow_multiple"!==c.conflictPolicy:/项目名称|工程名称|招标人|建设地点|建筑面积|结构形式|层数|工期|质量标准|合同价格形式|绿色建筑等级|投标有效期|质保期|劳动力高峰|装配率|支护形式|创优奖惩/u.test(a)})(a,c)),f=[...new Set(a.map(a=>(0,n.lG)(a.value).trim()).filter(a=>C.test(a)))],g=await (0,o.Mv)(f,B,d),i=a=>B.some(b=>g(a,b)>=.6),j=[];for(let b of e){let d=a.filter(a=>a.key===b||a.fieldName===b||(0,h.oC)(c,a.fieldName||a.key)?.name===b),e=new Map;for(let a of d){let b=function(a,b,c){let d=(0,n.lG)(a).trim();if((0,h.d2)(b,d)||(0,h.rF)(b,d)||(d.match(/�|￿/gu)?.length||0)>=2||Array.from(d).some(a=>{let b=a.charCodeAt(0);return 65533===b||b<32&&9!==b&&10!==b&&13!==b})||/\|/u.test(d)||/^#+\s*/u.test(d)||/见(?:招标公告|投标人须知|前附表|本项目|补疑)|资料参数行摘要/u.test(d))return"";let e=d.match(/\d+\s*日历天/u)?.[0]?.replace(/\s+/gu,"");if(e&&/工期|日历天|开工日期|竣工/u.test(d))return e;let f=(0,k.K3)((0,n.lG)(d));return!f||f.length>80||!/[\d年月日%]|合格|一星|二星|三星|总价合同|单价合同|承台|框架|装配式/u.test(d)||C.test(d)&&c?.(d)?"":f}(a.value,c,i);b&&e.set(b,[...e.get(b)||[],a])}if(e.size>1){let a=[...e.values()].slice(0,4).map(a=>`${(0,n.lG)(a[0].value).slice(0,120)}(${[...new Set(a.map(a=>a.sourceFile))].slice(0,3).join("、")})`).join(" vs ");j.push(`事实冲突:${b} 存在多个来源值:${a}`)}}return j.slice(0,8)}function E(a){return(0,n.lG)(a).replace(/\s*[##]{1,6}\s*/gu,"")}function F(a){return(0,n.lG)(a).replace(/[\u00A0\u2002-\u200B\u3000]/gu," ").replace(/([\p{Script=Han}])\s+([\p{Script=Han}])/gu,"$1$2").replace(/(\d)\s+(日历天|天|个月|月|年|万元|元|㎡|平方米|米|m|mm|MPa|kPa|%)/giu,"$1$2").replace(/(合同|投资|工程|项目)\s*估\s*算\s*(?:价格|价)/gu,"$1估算价").replace(/计划\s*工\s*期/gu,"计划工期").replace(/合同\s*工\s*期/gu,"合同工期").replace(/质量\s*标\s*准/gu,"质量标准").replace(/建设\s*地\s*点/gu,"建设地点").replace(/建设\s*规\s*模/gu,"建设规模").replace(/招标\s*范\s*围/gu,"招标范围").replace(/最高\s*投\s*标\s*限\s*价/gu,"最高投标限价").replace(/招标\s*控\s*制\s*价/gu,"招标控制价").replace(/[::]\s*/gu,":").replace(/\s+/gu," ").trim()}let G=[{fieldId:"project_name",key:"项目名称",fieldName:"项目名称",pattern:/(?:项目名称|工程名称|招标项目名称)[::\s为是]+([^\n。;;]{2,120})/u},{fieldId:"project_code",key:"项目编号",fieldName:"项目编号",pattern:/(?:项目编号|招标项目编号|工程编号)[::\s为是]+([A-Za-z0-9\-_.()()]{4,80})/u},{fieldId:"owner",key:"招标人",fieldName:"招标人",pattern:/(?:招标人|建设单位|发包人)[::\s为是]+([^\n。;;]{2,120})/u},{fieldId:"project_location",key:"建设地点",fieldName:"建设地点",pattern:/建设地点[::\s为是]+([^\n。;;]{2,100})/u},{fieldId:"project_scale",key:"建设规模",fieldName:"建设规模",pattern:/建设规模[::\s为是]+([^\n。;;]{2,220})/u},{fieldId:"project_scale",key:"建设规模",fieldName:"建设规模",pattern:/(?:拟|计划|规划|目标|力争|预计|期望|远期|未来|设想|建议|预期|争取)[^,,。;;\n]{0,12}?(?<![地上地下])总?建筑面积(?:约|约为|约计|共计|为)?\s*[\d,,.]+\s*(?:㎡|m²|m2|平方米)|((?<![地上地下])总?建筑面积(?:约|约为|约计|共计|为)?\s*[\d,,.]+\s*(?:㎡|m²|m2|平方米))/u},{fieldId:"project_scope",key:"招标范围",fieldName:"招标范围",pattern:/招标范围[::\s为是]+([^\n。;;]{2,220})/u},{fieldId:"schedule_requirement",key:"计划工期",fieldName:"周期要求",pattern:/(?:(?:计划工期|合同工期|总工期)[::\s为是约]*|工期[::\s为是约]+)([^\n。;;]{0,40}?\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年)(?:[^\n。;;]{0,30})?)/u},{fieldId:"quality_standard",key:"质量标准",fieldName:"质量标准",pattern:/质量标准[::\s为是]+([^\n。;;]{1,60})/u},{fieldId:"project_investment_estimate",key:"合同估算价格",fieldName:"项目投资估算",pattern:/(?:合同估算价格|合同估算价|投资估算|估算价格|工程估算价|项目估算价|最高投标限价|招标控制价)[::\s为是约]+([^\n。;;]{0,80}?\d+(?:\.\d+)?\s*(?:万元|元))/u},{fieldId:"labor_peak",key:"劳动力高峰人数",fieldName:"劳动力高峰人数",pattern:/(?:劳动力|用工|作业人员|施工人员)[^。;;\n]{0,40}?(?:高峰|峰值)[^。;;\n]{0,20}?(\d+(?:\.\d+)?\s*人)/u},{fieldId:"labor_peak",key:"劳动力高峰人数",fieldName:"劳动力高峰人数",pattern:/(?:高峰(?:期)?(?:劳动力|用工|人数|作业人员)|高峰期人数)[^。;;\n]{0,20}?(\d+(?:\.\d+)?\s*人)/u},{fieldId:"assembly_rate",key:"装配率",fieldName:"装配率",pattern:/(?:装配率|装配式建筑占比|装配式比例|装配式建筑面积占比)[^。;;\n]{0,16}?(\d+(?:\.\d+)?\s*%)/u},{fieldId:"foundation_support_form",key:"基坑支护形式",fieldName:"基坑支护形式",pattern:/(?:基坑支护(?:形式|方式|方案)?|支护(?:形式|方式))[^。;;\n]{0,10}?(?:采用|为|:|:|\s)([^。;;\n]{2,60})/u},{fieldId:"award_clause",key:"创优奖惩条款",fieldName:"创优奖惩条款",pattern:/(?:创优(?:目标|奖惩)?|优质优价)[^。;;\n]{0,60}?(\d+(?:\.\d+)?\s*万元)/u},{fieldId:"award_clause",key:"创优奖惩条款",fieldName:"创优奖惩条款",pattern:/(?:确保|争创|力争|争获)?[\u4e00-\u9fa5]{2,6}[杯奖][^。;;\n]{0,60}?(\d+(?:\.\d+)?\s*万元)/u}];function H(a,b){let c=F((0,n.lG)(b));return!(!a||!c||c.length>260||/###|第\s*\d+\s*页|共\s*\d+\s*页|律师代理费|投标文件的编制|备选投标方案|投标将被否决|投标人提供|投标有效期|电子交易系统|公共资源交易监督管理部门|中标候选|评标委员会|实质性内容作出响应/u.test(c)||/签章|盖章|联系人|联系电话|电话|邮箱|解密|开标|评标|保证金|交易系统|空白|填写|上传|下载|递交/u.test(c))&&("schedule_requirement"===a?c.length<=90&&/\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年)/u.test(c):"quality_standard"===a?c.length<=40&&/合格|优良|一次性验收|国家.*验收|达到/u.test(c)&&!/工期|投标|技术标准|\d[..、]/u.test(c):"owner"===a?c.length>=4&&c.length<=80&&/公司|局|委员会|中心|处|院|所|校|集团|有限|股份|责任|管理/u.test(c)&&!/将报|监督管理部门|投标人|中标|负责解释|见招标|详见|空白|填写/u.test(c):"project_location"===a?c.length<=120&&!/见招标公告|详见|投标/u.test(c):"project_scope"===a?c.length<=220&&!/^[((]\s*\d+[))]/u.test(c)&&!/具备.{0,24}(?:证书|考核合格|安全生产考核)/u.test(c)&&!/^见(?:招标|投标人|前附)/u.test(c):"project_code"===a?/^[A-Za-z0-9\-_.()()]+$/u.test(c):"project_investment_estimate"===a?c.length<=100&&/\d+(?:\.\d+)?\s*(?:万元|元)/u.test(c):"labor_peak"===a?c.length<=40&&/\d+(?:\.\d+)?\s*人/u.test(c):"assembly_rate"===a?c.length<=20&&/\d+(?:\.\d+)?\s*%/u.test(c):"foundation_support_form"===a?c.length<=60&&/支护|放坡|锚|桩|喷|开挖|护坡/u.test(c):"award_clause"===a?c.length<=120&&/\d+(?:\.\d+)?\s*万元/u.test(c)&&!/评标|保证金/u.test(c):c.length<=220)}let I=/\||第\s*\d+\s*页|共\s*\d+\s*页|[##]{1,6}|资料参数行摘要/u,J=/规模|范围|工期|周期|project_scope|project_scale/iu,K=/^[A-Za-z0-9\-_.()()]+$/u,L=/(?:招标项目编号|项目编号|工程编号|标段编号|合同编号|编号)[::为是]*([A-Za-z0-9][A-Za-z0-9\-_.()()]{3,79})/gu;function M(a,b,c){let d,e=[];for(let f of a){let a=(0,n.lG)(f.value).trim();if(!a)continue;let g=I.exec(a),h=a;g&&(h=a.slice(0,g.index).replace(/[\s::,,、;;\-—|]+$/u,"").trim());let i=h!==a;if(h.length<2){c.dropped+=1;continue}let j="project_code"===f.fieldId||/编号|代码/u.test(`${f.fieldName||""}${f.key||""}`);if(j&&!K.test(h)||h.length>120&&!J.test(`${f.fieldId||""} ${f.fieldName||""} ${f.key||""}`)){c.dropped+=1;continue}let k=!1;if(j&&h.length>=4){let a=[...(d||=function(a){let b=new Map;for(let c of a)for(let a of E((0,n.lG)(c.content)).replace(/\s+/gu,"").matchAll(L)){let c=a[1];c&&b.set(c,(b.get(c)||0)+1)}return b}(b)).entries()].filter(([a])=>a.length>=h.length+2&&a.startsWith(h)),c=a.sort((a,b)=>b[1]-a[1]||a[0].length-b[0].length)[0]?.[0];c&&(h=c,k=!0)}i&&(c.truncated+=1),k&&(c.repaired+=1),e.push(h===a?f:{...f,value:h})}return e}function N(a){let b={localFacts:(0,q.am)(function(a,b,c){let d=(0,j.Uy)(b,c),e=d.map(a=>({field:a,pattern:function(a){let b=a.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),c=/规模|scale|工期|周期/iu.test(a)?"[^。;;]{2,220}":"[^\\n,。;;]+";return RegExp(`${b}[::\\s]+(${c})`,"u")}(a.name)})),f=d.map(a=>a.name).filter(Boolean),g=[];for(let b of a)for(let{field:a,pattern:c}of e){if(!(0,j.I2)(b,a))continue;let d=b.content.match(c),e=d?.[1]?.trim();if(!e)continue;e=E(e).replace(/\s+/gu,"");let i=f.filter(b=>b!==a.name).map(a=>e.indexOf(a)).filter(a=>a>0);i.length>0&&(e=e.slice(0,Math.min(...i))),!e||!(e.length<=220)||(0,h.rF)(h.p4,e)||(0,h.d2)(h.p4,e)||g.some(b=>b.fieldId===a.id&&b.value===e)||g.push({key:a.name,fieldId:a.id,fieldName:a.name,value:e,sourceFile:b.filePath,roleId:b.roleId||"unknown",processingType:b.processingType,confidence:b.score,sourceRef:{filePath:b.filePath,roleId:b.roleId||"unknown",processingType:b.processingType,sectionTitle:b.sectionTitle}})}return g}(a.evidence,a.template,a.spec),a.scope),projectBasicFacts:(0,q.am)(function(a){let b=[],c=new Set;for(let d of a)for(let a of E((0,n.lG)(d.content)).replace(/(\d)\s*\r?\n\s*(日历天|天|个月|月|年|万元|元|㎡|平方米|米|m|mm|MPa|kPa|%)/giu,"$1$2").replace(/([\d,,.]+(?:平方|立方|㎡|m²|m2|m)?)\s*\r?\n\s*(米|m|㎡|m2|m²)/gu,"$1$2").split(/\r?\n/u).flatMap(a=>{let b=F(a);return b.length>260?b.split(/(?=\d+(?:\.\d+)?\s*[^\s::]{2,12}[::])/u):[b]}).filter(Boolean))if(!/报价明细|综合单价|税率|增值税|利润|结算/u.test(a)||/合同估算价|合同估算价格|投资估算|最高投标限价|招标控制价/u.test(a))for(let e of G){let f=e.pattern.exec(a),g=f?.[1]?.trim();if(!g||!H(e.fieldId,g))continue;let h=`${d.filePath}:${e.fieldId}:${g}`;c.has(h)||(c.add(h),b.push({key:e.key,fieldName:e.fieldName,fieldId:e.fieldId,value:g,sourceFile:d.filePath,roleId:d.roleId||"project_basic_fact",processingType:d.processingType||"reference",confidence:Math.max(.82,d.score||.82),sourceRef:{filePath:d.filePath,roleId:d.roleId||"project_basic_fact",processingType:d.processingType||"reference",sectionTitle:d.sectionTitle}}))}return b.slice(0,80)}(a.evidence),a.scope),preciseFacts:(0,q.am)(function(a,b=h.p4){let c=[],d=new Set;for(let e of a){let a=`${e.roleId||""} ${e.processingType||""} ${e.filePath} ${e.sectionTitle||""}`;if(!/structured_data|\bdraw(?:ing)?\b|\btable\b|\bbill\b|\bboq\b|\bsheet\b|\bspec\b|\bstandard\b|\brecord\b|\breport\b|表格|数据|规格|参数|标准|记录|报告|清单|图纸|说明/u.test(a)&&e.score<.75)continue;let f=(0,n.lG)(e.content).replace(/\s+/gu," ");for(let a of f.matchAll(m._W)){let g=a[0].trim();if(!g||(0,h.rF)(b,g))continue;let i=Math.max(0,(a.index||0)-40),j=Math.min(f.length,(a.index||0)+g.length+40),k=f.slice(i,j);if((0,h.d2)(b,k)||(0,h.E1)(b,k))continue;let l=`${e.filePath}:${g}`;d.has(l)||(d.add(l),c.push({key:"精确参数",fieldName:"技术参数",fieldId:"technical_parameter",value:g,sourceFile:e.filePath,roleId:e.roleId||"precise_fact",processingType:e.processingType||"precise",confidence:Math.max(.7,e.score||.7),sourceRef:{filePath:e.filePath,roleId:e.roleId||"precise_fact",processingType:e.processingType||"precise",sectionTitle:e.sectionTitle}}))}}return c.slice(0,240)}(a.evidence,a.profile||h.p4),a.scope),structuredTables:(0,q.am)(u(a.evidence),a.scope)},c={truncated:0,dropped:0,repaired:0};if("0"===process.env.DOCUMENT_FACT_SANITIZE)return{...b,factSanitize:c};if(b.localFacts=M(b.localFacts,a.evidence,c),b.projectBasicFacts=M(b.projectBasicFacts,a.evidence,c),b.preciseFacts=M(b.preciseFacts,a.evidence,c),a.diagnostics&&(c.truncated>0||c.dropped>0||c.repaired>0)){let b=a.diagnostics.factSanitize||={truncated:0,dropped:0,repaired:0};b.truncated+=c.truncated,b.dropped+=c.dropped,b.repaired+=c.repaired}return{...b,factSanitize:c}}function O(a){return`${a.key} ${a.fieldName||""} ${a.value} ${a.roleId} ${a.processingType||""} ${a.sourceFile}`}function P(a){return/合同估算价|合同估算价格|投资估算|估算价格|工程估算价|项目估算价|最高投标限价|招标控制价/u.test(a)}function Q(a){let b=O(a);return!P(b)&&/投标保证金|发票类型|开标时间|公共资源交易监督管理|不良行为记录|投诉举报|资质投诉|投标承诺|违约金|中标服务费|交易平台|保证金账户|投标有效期|报价明细|投标报价|单价|合价|税率|增值税|利润|结算/u.test(b)}function R(a){return(0,n.lG)(a).replace(/\s+/gu," ").trim()}function S(a,b=[]){return[...new Set([a,...b,...a.split(/[\s、,。;;::/\\_-]+/u)].map(R).filter(a=>a.length>=2))]}function T(a,b,c){var d,e;let f=R(c.label);if(!f||(0,h.rF)(b,f)||(0,h.d2)(b,f))return;let g=c.id||(d=c.source,e=c.fieldId,`${d}:${e||f}`.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-|-$/gu,"")||`${d}-${Math.random().toString(36).slice(2,8)}`),i=c.queries?.length?c.queries.map(R).filter(Boolean):S(f),j=a.find(a=>a.id===g||a.label===f);if(j){j.required=j.required||c.required,j.queries=[...new Set([...j.queries,...i])];return}a.push({...c,id:g,label:f,queries:i})}function U(a,b,c,d,e,f=[]){"do_not_use"!==c.usagePolicy&&"diagnostic_only"!==c.usagePolicy&&"forbidden"!==c.derivationPolicy&&T(a,b,{label:c.name,category:c.category,required:e,source:d,fieldId:c.id,queries:S(c.name,[...c.aliases,...f])})}function V(a){let b=a.profile||h.p4,c=[],d=[a.template.name,a.template.outputTitle,a.chapter.title,a.chapter.purpose,...a.chapter.sections||[],...a.chapter.requiredFacts||[]].filter(Boolean).join(" "),e=a.spec?.chapterRules.find(b=>b.id===a.chapter.id||b.title===a.chapter.title);for(let d of a.chapter.requiredFacts||[])T(c,b,{label:d,category:(0,h.oC)(b,d)?.category||"required",required:!0,source:"template"});for(let d of a.chapter.sections||[])T(c,b,{label:d,category:"section",required:!1,source:"section",queries:S(d,[a.chapter.title])});for(let d of a.plan?.requiredContents||[])T(c,b,{label:d,category:(0,h.oC)(b,d)?.category||"plan",required:!0,source:"plan"});for(let d of a.plan?.evidenceNeeds||[])T(c,b,{label:d,category:(0,h.oC)(b,d)?.category||"plan",required:!0,source:"plan"});for(let d of e?.requiredFactIds||[]){let e=a.spec?.factFields.find(a=>a.id===d);e&&T(c,b,{label:e.name,category:(0,h.oC)(b,e.name)?.category||"spec",required:!0,source:"spec",fieldId:e.id,queries:S(e.name,[e.extractionHint||"",e.validationHint||""])})}for(let e of a.spec?.factFields||[]){if(!e.required)continue;let f=(0,h.oC)(b,e.name),g=`${e.name} ${e.extractionHint||""} ${e.validationHint||""}`;(d.includes(e.name)||S(e.name,f?.aliases||[]).some(a=>d.includes(a))||a.chapter.requiredFacts.some(a=>a.includes(e.name)||e.name.includes(a)))&&T(c,b,{label:e.name,category:f?.category||"spec",required:!0,source:"spec",fieldId:e.id,queries:S(e.name,[g])})}for(let a of b.factFields)[a.name,...a.aliases].some(a=>a.length>=2&&d.includes(a))&&U(c,b,a,"profile","must_use"===a.usagePolicy,[d]);let f=R(a.requirement||"");if(f)for(let a of b.factFields)[a.name,...a.aliases].some(a=>a.length>=2&&f.includes(a))&&U(c,b,a,"requirement",!0,[f]);let g=R(a.promptTexts||"");if(g)for(let d of b.factFields)[d.name,...d.aliases].some(a=>a.length>=2&&g.includes(a))&&U(c,b,d,"prompt","must_use"===d.usagePolicy,[a.chapter.title]);return c}function W(a){let b=new Set;return a.filter(a=>{let c=`${a.sourceFile}:${a.key}:${a.value}`;return!b.has(c)&&(b.add(c),!0)})}function X(a){let b=a.profile||h.p4,c=a.excludedEvidenceKeys,d=W([...a.factsModel.factIndex.parameterFacts,...a.factsModel.billItemFacts||[],...a.factsModel.factIndex.billFacts,...a.factsModel.factIndex.tableFacts,...a.factsModel.factIndex.drawingFacts,...a.factsModel.factIndex.reliableFacts]);return a.needs.map(e=>{let f=a=>"bill_of_quantities"===a.processingType||"structured_data"===a.processingType||/bill|boq|清单/u.test(O(a))?.05:0,g=W(d.filter(a=>(function(a,b,c){let d=O(a);if(Q(a)||(0,h.rF)(c,d)||(0,h.d2)(c,d))return!1;if(b.fieldId&&a.fieldId===b.fieldId||(0,h.oC)(c,a.fieldName||a.key)?.id===b.fieldId||b.queries.filter(a=>a.length>=2).some(a=>d.includes(a)))return!0;let e=(0,h.oC)(c,b.label);return!!(e&&[e.name,...e.aliases].some(a=>a.length>=2&&d.includes(a)))})(a,e,b))).sort((a,b)=>(b.confidence||0)+f(b)-((a.confidence||0)+f(a))),i=(a.evidence||[]).filter(a=>!c?.has((0,p.hM)(a))&&function(a,b,c){let d=`${a.filePath} ${a.roleId||""} ${a.processingType||""} ${a.sectionTitle||""} ${a.content}`;return!((0,h.rF)(c,d)||(0,h.d2)(c,d))&&b.queries.some(a=>a.length>=2&&d.includes(a))}(a,e,b)),j=Math.max(0,...g.map(a=>a.confidence||0)),k=0===g.length&&0===i.length?"missing":j>0&&j<.58?"low_confidence":"satisfied";return{need:e,facts:g,evidence:i,status:k}})}function Y(a){return W(a.flatMap(a=>a.facts))}function Z(a){let b=a.map(a=>{let b=a.facts.filter((a,b,c)=>c.findIndex(b=>(0,n.lG)(b.value)===(0,n.lG)(a.value))===b).slice(0,5).map(b=>`${b.key||b.fieldName||a.need.label}=${$(b.value)}${b.sourceFile?`(${e.basename(b.sourceFile)})`:""}`),c=a.facts.length?[]:(a.evidence||[]).slice(0,2).map(a=>`证据片段:${$(a.content).slice(0,160)}${a.filePath?`(${e.basename(a.filePath)})`:""}`);return`- ${a.need.required?"必须":"相关"}|${a.need.label}|${a.status}${b.length||c.length?`:${[...b,...c].join(";")}`:":未在已解析资料中确认"}`});return b.length?`事实需求覆盖卡片:
12
- ${b.join("\n")}`:""}function $(a){return(0,n.lG)(a).replace(/\s+/gu," ").trim().slice(0,220)}let _=/[\u3400-\u4DBF\u{20000}-\u{3FFFF}]/gu,aa=/(?:R\d+C\d+|COL\d+|第\d+行第\d+列)/giu;function ab(a){let b=a.match(/([\u4e00-\u9fa5]{2,8}?(?:镇|乡|县|市|区|街道|村))/u);return b?.[1]}function ac(a,b){for(let c of a.matchAll(/([\u4e00-\u9fa5]{2,8}?(?:镇|乡|县|市|区|街道|村))[^。;;\n]{0,24}?(?:项目|工程)/gu))if(c[1]!==b)return!0;return!1}async function ad(a,b=[],c=[],d,e=h.p4){a=function(a){let b=a.filter(a=>!function(a){let b=(0,n.lG)(a.value);if(!b)return!1;let c=[...b.matchAll(_)].length;if(c>0){let a=[...b.matchAll(/[\u3400-\u4DBF\u4E00-\u9FFF\u{20000}-\u{3FFFF}]/gu)].length;if(b.length<=40||a>0&&c/a>=.2)return!0}return!!aa.test(b)&&!!(b.replace(aa,"").trim().length<=24)}(a)),c=b.find(a=>("项目名称"===a.key||"project_name"===a.fieldId)&&(0,n.lG)(a.value).trim().length>=6),d=c?F((0,n.lG)(c.value)).trim():"",e=d?ab(d):void 0;return e?b.map(a=>{let b=`${a.key||""}${a.fieldName||""}${a.fieldId||""}`,c=F((0,n.lG)(a.value)).trim();if(!c)return a;if(/招标范围|施工范围/u.test(b)){let b=c.split(/[。;;\n]/u).map(a=>a.trim()).filter(Boolean);if(b.length<=1)return ac(c,e)?{...a,value:""}:a;let d=b.filter(a=>!ac(a,e));return 0===d.length?{...a,value:""}:{...a,value:d.join(";")}}return/项目名称候选|项目名称|工程名称/u.test(b)&&ac(c,e)?{...a,value:""}:a}).filter(a=>(0,n.lG)(a.value).trim().length>0):b}(a);let f=b=>a.filter(a=>b.some(b=>`${a.key} ${a.fieldName||""}`.includes(b))),g=b=>a.filter(a=>a.processingType===b||a.roleId.includes(b)),i=a.filter(a=>{let b=`${a.key} ${a.fieldName||""} ${a.value}`;return m.sv.test(b)&&(!(0,h.rF)(e,b)||P(b))&&!(0,h.d2)(e,b)}),j=a.filter(a=>"table"===a.processingType||"structured_data"===a.processingType||"bill_of_quantities"===a.processingType||/bill|boq|table|sheet|data|表格|列表|明细|数据/u.test(`${a.roleId} ${a.sourceFile}`)),k=v(b).slice(0,600),l=function(a){let b={},c=(a,c,d,e,f)=>{if(!a||!d)return;let g=d.replace(/[,,。\s]+$/u,"").slice(0,40),h=b[a]||=[];h.some(a=>a.location===c&&a.spec===g)||h.push({location:c,spec:g,quantity:e||void 0,sourceFile:f})};for(let b of a){let a=(b.key||"").replace(/^清单条目:/u,"");if(!a)continue;let d=(0,n.lG)(b.value),e=/|工程量:(.+)$/u.exec(d)?.[1]??"",f=d.replace(/|工程量:.+$/u,""),g=function(a){let b=[];for(let c of a.split(/[;;]/u)){let a=c.replace(/^\s*\d+[.、]\s*/u,"").trim(),d=a.search(/[::]/u);if(d>0){let c=a.slice(0,d).trim(),e=a.slice(d+1).trim();c.length>=2&&c.length<=20&&e&&b.push({label:c,value:e})}}return b}(f),h=!1;for(let{label:d,value:f}of g){if(w.some(a=>d.includes(a))){h=!0,c(d,a,f,e,b.sourceFile);continue}let g=f.match(x)?.[0];g&&g!==f&&c(y(g),a,g,e,b.sourceFile)}if(!h)for(let d of f.match(x)||[])c(y(d),a,d,e,b.sourceFile)}return b}(k),o=(function(a){let b=[];for(let c of a){let a=`${c.key||""}${c.fieldName||""}${c.fieldId||""}`,d=(0,n.lG)(c.value);if(/建设规模/u.test(a)&&/占地|用地/u.test(d)&&/建筑面积/u.test(d)){let a=d.search(/(?:总)?占地/u),e=d.search(/(?:单体)?总?建筑面积/u);if(a>=0&&e>a){let f=d.slice(a,e).replace(/^[,,、\s]+/u,"").replace(/[,,、\s]+$/u,"").trim(),g=d.slice(e).trim();if(f&&g){b.push({...c,key:"总占地面积",fieldName:"总占地面积",fieldId:void 0,value:f}),b.push({...c,key:"单体建筑面积",fieldName:"单体建筑面积",value:g});continue}}}b.push(c)}return b})(a.filter(a=>/项目名称|工程名称|项目编号|招标项目编号|招标人|建设单位|发包人|建设地点|建设规模|招标范围|计划工期|合同工期|周期要求|质量标准|合同估算|投资估算|最高投标限价|招标控制价/u.test(`${a.key||""}${a.fieldName||""}${a.fieldId||""}`))).slice(0,80),p=function(a,b,c,d){let e=a.filter(a=>(0,h.d2)(d,O(a))||(0,h.E1)(d,O(a))),f=a.filter(a=>{let b=O(a);return a.confidence>=.58&&!Q(a)&&!(0,h.rF)(d,b)&&!(0,h.d2)(d,b)&&!(0,h.E1)(d,b)}),g=[...b.filter(a=>!Q(a)),...f.filter(a=>m.sv.test(O(a)))].filter((a,b,c)=>c.findIndex(b=>b.sourceFile===a.sourceFile&&b.value===a.value&&b.key===a.key)===b).slice(0,360),i=f.filter(a=>"table"===a.processingType||/table|sheet|表格|清单|明细|数据|参数行摘要/u.test(O(a))),j=f.filter(a=>"drawing"===a.processingType||/drawing|dwg|图纸|施工图|设计图|平面图|剖面图|大样图|详图/u.test(O(a)));return{reliableFacts:f.slice(0,500),parameterFacts:g,tableFacts:i.slice(0,240),drawingFacts:j.slice(0,240),billFacts:c.slice(0,240),diagnostics:e.slice(0,120)}}(a,i,j,e);return{project:o,schedule:f(["工期","开工","竣工","节点","周期"]),quality:f(["质量","验收"]),safety:f(["安全","风险"]),resources:f(["劳动力","材料","机械","设备","资源"]),tables:b,drawings:g("drawing"),bills:j,preciseFacts:i,rules:g("rule"),specifications:g("specification"),schemaFacts:function(a,b){let c={};for(let d of b?.factFields||[])c[d.id]=a.filter(a=>a.fieldId===d.id||a.key===d.name||a.fieldName===d.name);return c}(a,d),factIndex:p,billItemFacts:k,specAuthorityMap:l,missing:[...new Set(c)],conflicts:await D(a,d,e)}}},1358:(a,b,c)=>{c.d(b,{JV:()=>k,O7:()=>h,QP:()=>l,SR:()=>g,c$:()=>j,e$:()=>i,rj:()=>f,sl:()=>r});var d=c(22157);function e(a){return a.replace(/[\s,,.。::;;||()()《》<>【】"“”'‘’]/gu,"").toLowerCase()}function f(a){let b=a.replace(/[||]\s*(?:[||]\s*)+$/gu,"").replace(/(?:[。;;]|\d+\s*[..、])\s*(?:未尽事宜|其余(?:未尽)?事宜|其他(?:未尽)?事宜|注\s*[::]).*$/u,"").trim();return b=b.replace(/[、,,;;]+\s*$/u,"").trim(),/[||]/u.test(b)&&(b=b.split(/[||]/u)[0]?.trim()||b),b}function g(a){return!(/^(?:见|详见|按|执行|参见|依据).{0,16}(?:前附表|招标公告|招标文件|合同|协议书|通用条款|专用条款|图纸|清单|附件|资料)$/u.test(a)||/(?:^|[::]\s*)(?:见|详见|按|执行|参见|依据)[^。;;]{0,18}(?:前附表|招标公告|招标文件|合同|协议书|通用条款|专用条款|图纸|清单|附件|资料|补疑|答疑)[^。;;]{0,6}$/u.test(a)||/^见.{0,24}(?:招标范围|招标补疑|补疑|前附表|答疑)/u.test(a)||/^(?:合同协议书|通用条款|专用条款|招标文件|招标公告|投标人须知前附表|附件|资料)$/u.test(a.replace(/[()()\d一二三四五六七八九十、..\s]/gu,""))||/^(?:工程名称|项目名称|建设地点|建设规模|计划工期|质量标准|招标范围|合同估算价|工程概况|项目概况|项目内容)$/u.test(a)||/\|/u.test(a)||/^#+\s*/u.test(a)||/^[一二三四五六七八九十]+[、..]\s*\S{2,}[::]/u.test(a)||/^[((]\s*\d+[))]/u.test(a)&&/具备|证书|考核|资格|人员/u.test(a))&&(!(a.length<4)||!!/\d/u.test(a))}function h(a){let b=String(a.value||"").trim(),c=`${a.label}${b}`;return!(!/项目|工程|编号|地点|规模|范围|工期|质量|安全|资源|材料|设备|验收|\d/u.test(c)||!g(b)||/^(?:技术参数|精确参数)$/u.test(a.label))}function i(a,b){let c=new Set,g=[];for(let h of[...b.project,...b.schedule,...b.quality,...b.safety,...b.resources,...b.preciseFacts,...b.bills,...b.drawings,...b.rules,...b.specifications]){let b=f((0,d.lG)(h.value).replace(/\s+/gu," ").trim()),i=h.fieldName||h.key||h.fieldId||"资料事实",j=`${i}:${b}`;!b||c.has(j)||(c.add(j),g.push({label:i,value:b,sourceFile:h.sourceFile,status:!function(a,b){let c=e(a),d=e(b);if(!d||d.length<2||c.includes(d))return!0;{let a=b.split(/[;;。\n]|、|,|,/u).map(a=>e(a.replace(/^\s*\d+\s*[、..]\s*/u,""))).filter(a=>a.length>=4);if(a.length>=2&&a.some(a=>c.includes(a)))return!0}{let a=b.replace(/[、,,;;||\s]+/gu,"、").split("、").map(a=>e(a.replace(/(?:工程|项目|改造|维修|安装|施工|内容|资料|要求|标准)+$/u,""))).filter(a=>a.length>=2);if(a.length>=1&&(a.length>=2||(a[0]?.length??0)>=3)&&a.every(a=>c.includes(a)))return!0}return(b.match(/\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年|万元|元|平方米|㎡|m²|立方米|m³|米|m|mm|cm|台|套|人|项|%|MPa|kPa|个|栋|层|标段|批|处|座|组|道|根|樘|扇)?/giu)||[]).some(a=>e(a).length>=2&&c.includes(e(a)))}(a,b)?"unplaced":"used",confidence:h.confidence}))}return g}function j(a,b={}){let c=a.filter(a=>"unplaced"===a.status&&h(a)),d=b.maxIssues&&b.maxIssues>0?b.maxIssues:c.length;return c.slice(0,d).map(a=>({level:"warning",message:`已确认知识库事实未落位:${a.label}=${a.value}`,suggestion:`请将该事实落位到对应章节,并保持来源 ${a.sourceFile||"结构化事实主表"} 的原始口径。${c.length>d?`(共${c.length}个未落位事实,此处显示前${d}个)`:""}`}))}function k(a,b){let c=b.tables||[],d=[],f=e(a);for(let a of c){let b=a.headers.map(a=>a.replace(/\s+/gu,"").toLowerCase()),c=b.findIndex(a=>/项目名称|名称|清单项|分部分项|项目特征|工程内容|材料名称|设备名称/u.test(a)),g=b.findIndex(a=>/编码|编号|序号|项目编码/u.test(a)),h=b.findIndex(a=>/数量|工程量/u.test(a)),i=b.findIndex(a=>/单位/u.test(a));for(let b of a.rows){let j=c>=0&&b[c]||"",k=g>=0&&b[g]||"";if(!j&&!k){let a=b.findIndex(a=>/^\d{10,12}$/u.test(a)||/^[A-Z]{1,3}\d{8,}$/u.test(a));a>=0&&(k=b[a]||"",j=b[a+1]||"")}let l=h>=0&&b[h]||"",m=i>=0&&b[i]||"";if(!j&&!k)continue;let n=e(j),o=e(k),p=n.length>=3&&f.includes(n.slice(0,12))||o.length>=3&&f.includes(o.slice(0,8));d.push({itemCode:k.slice(0,50),itemName:j.slice(0,200),quantity:l.slice(0,50),unit:m.slice(0,20),sourceFile:a.sourceFile||"",placed:p})}}return d.sort((a,b)=>a.placed===b.placed?0:a.placed?1:-1)}function l(a,b={}){let c=a.filter(a=>!a.placed);if(0===c.length)return[];let d=a.length,e=(d-c.length)/d,f=[];return e<.3?f.push({level:"warning",message:`BOQ 清单行级落位严重不足:${d-c.length}/${d} 行(${Math.round(100*e)}%)`,suggestion:`清单明细数量较大,建议优先补充主要分部分项、关键规格和大额工程量。未落位清单项示例:${c.slice(0,5).map(a=>`${a.itemName} ${a.quantity}${a.unit}`).join(";")}`}):e<.6&&f.push({level:"warning",message:`BOQ 清单行级落位不足:${d-c.length}/${d} 行(${Math.round(100*e)}%)`,suggestion:`建议补充落位:${c.slice(0,5).map(a=>a.itemName).join("、")}`}),f}let m=/公厕|厕所|过路涵|涵洞|涵管|污水|排水沟|水沟|清淤|沟塘|小菜园|菜园|菜地|花池|树池|挡墙|护栏|路灯|检查井|化粪池|泵站|生态池|生态塘|护坡|驳岸|栈道|步道|管网|管道|道路|铺装|绿化|景观|基础|结构|防水|屋面|外墙|内墙|地面|门窗|栏杆|电梯|电气|给水|排水|消防|通风|空调|智能化|幕墙|基坑/u,n=/^(?:管网|管道|道路|铺装|绿化|景观|基础|结构|防水|屋面|外墙|内墙|地面|门窗|栏杆|电梯|电气|给水|排水|消防|通风|空调|智能化|幕墙|基坑)$/u,o={公厕:["公共厕所","厕所"],厕所:["公厕","公共厕所"],菜地:["菜园","小菜园"],菜园:["菜地"],小菜园:["菜地"]},p=/^(?:挖|回填|运|运输|拆除|清理|浇筑|绑扎|安装|铺设|砌筑|抹灰|刷|喷|摊铺|碾压|夯实|整平|找平|支模|搭设|检测|试验|防腐|除锈)/u,q=/计价|费用|税金|规费|暂列|暂估|合计|汇总|小计|措施项目|其他项目|税金项目/u;function r(a,b,c){if(0===(c.tables||[]).length)return[];let d=b.filter(a=>/施工方法|施工方案|施工工艺|主要施工内容|分部分项/u.test(a.title)),f=d.map(a=>a.content||"").join("\n");if(!f)return[];let g=e(f),h=k(a,c),i=[],j=new Set;for(let a of h){let b=(a.itemName||"").trim();if(!b||q.test(b)||p.test(b))continue;let c=[...b.matchAll(RegExp(m.source,"gu"))].map(a=>a[0]);if(0===c.length)continue;let d=c.filter(a=>!n.test(a));if(0===d.length)continue;let f=a=>g.includes(e(a))||(o[a]||[]).some(a=>g.includes(e(a)));if(d.some(f))continue;let h=b.slice(0,12);j.has(h)||(j.add(h),i.push(`${b.slice(0,30)}${a.quantity?` ${a.quantity}${a.unit}`:""}`))}return 0===i.length?[]:[{level:"error",severity:"blocker",category:"evidence_coverage",owner:"llm",repairability:"llm_repairable",chapterId:d[0]?.id,message:`施工方法章分项覆盖缺失:${i.slice(0,6).join(";")}${i.length>6?` 等共 ${i.length} 个清单分项`:""}`,suggestion:"施工方法章必须逐项覆盖工程量清单中的全部分部分项(含公厕/过路涵/污水管网/排水沟/沟塘清淤/小菜园等专项分项):为每个缺失分项补齐施工方法小节(施工概况/施工流程/施工方法三要素齐全),禁止只写道路、铺装、绿化等大类而遗漏清单独有分项。"}]}},8667:(a,b,c)=>{function d(a,b,c,e,f=!0){return{name:a,sourceDomain:b,sourceHint:c,fallbackPolicy:e,required:f}}c.d(b,{w9:()=>j,El:()=>k,Gl:()=>o,Xi:()=>m,T4:()=>n,nn:()=>l});let e=[{id:"project-overview",title:"工程概况一览表",moduleTitles:["编制说明与工程概况"],required:!0,triggerKeywords:["工程概况","概况","编制说明","建设规模","工期"],fields:[d("工程名称","project","从项目名称、招标范围提取","projectFactOnly"),d("建设地点","project","从建设地点资料提取","projectFactOnly"),d("建设规模","project","建筑面积、结构形式、层数等从资料提取","projectFactOnly"),d("计划工期","schedule","从工期节点或资料提取","projectFactOnly"),d("质量标准","standards","从招标要求或质量标准提取","standardAllowed"),d("招标范围","requirements","从招标范围与工作内容提取","deriveFromContext")]},{id:"project-difficulty",title:"项目重难点识别表",moduleTitles:["编制说明与工程概况"],required:!0,triggerKeywords:["重点","难点","重难点","风险"],fields:[d("重难点","risks","从图谱风险、现场条件、项目要求中提取","deriveFromContext"),d("形成原因","siteConditions","结合现场条件、工期、周边环境、施工范围说明","deriveFromContext"),d("影响范围","works","关联受影响的分部分项、区域、工序或周边对象","deriveFromContext"),d("专项措施","methods","结合工艺方法、风险 mitigation 和标准措施填写","standardAllowed"),d("责任岗位","standard","按项目经理、技术负责人、施工员、安全员、质量员等职责填写","standardAllowed")]},{id:"site-layout-zones",title:"现场总平面分区布置表",moduleTitles:["施工现场平面布置与临设管理"],required:!0,triggerKeywords:["总平面","平面布置","临设","材料堆场"],fields:[d("区域名称","siteConditions","从现场条件、临设、加工区、办公生活区等识别","deriveFromContext"),d("位置","siteConditions","从现场平面、道路、场地条件或资料描述提取","projectFactOnly",!1),d("功能","standard","按办公、生活、加工、堆放、通行等功能填写","standardAllowed"),d("面积","project","仅资料明确时填写,不得编造","projectFactOnly",!1),d("搭设标准","standards","按临设、安全文明、消防、环保标准填写","standardAllowed"),d("拆除时间","schedule","结合施工阶段或竣工清理阶段填写","deriveFromContext",!1)]},{id:"temporary-electric-load",title:"临时用电负荷统计表",moduleTitles:["施工现场平面布置与临设管理"],required:!0,triggerKeywords:["临时用电","临电","三级配电","设备功率"],fields:[d("设备名称","resources","从设备资源、机械投入计划中提取","deriveFromContext"),d("功率","resources","仅资料或设备参数明确时填写","projectFactOnly",!1),d("数量","resources","从设备数量或资源计划提取","projectFactOnly",!1),d("总功率","resources","仅功率和数量明确时计算,否则不编造","projectFactOnly",!1),d("负荷等级","standard","按临电管理和设备重要性判断","standardAllowed",!1),d("检查频次","standards","按临电巡查制度填写","standardAllowed")]},{id:"progress-milestones",title:"关键施工节点控制计划表",moduleTitles:["进度计划与工期保障"],required:!0,triggerKeywords:["进度","工期","节点","计划"],fields:[d("关键节点","schedule","从工期节点、里程碑、施工阶段提取","projectFactOnly"),d("计划完成时间","schedule","仅资料明确时填写日期或工期节点","projectFactOnly",!1),d("责任岗位","standard","按施工组织管理职责填写","standardAllowed"),d("投入资源","resources","关联劳动力、机械、材料资源","deriveFromContext"),d("检查频次","standard","按日计划、周计划、月计划检查机制填写","standardAllowed"),d("滞后纠偏措施","methods","结合资源调配、穿插施工和备用资源填写","standardAllowed")]},{id:"equipment-plan",title:"主要施工机械设备投入计划表",moduleTitles:["资源配置计划"],required:!0,triggerKeywords:["机械设备","设备投入","资源配置"],fields:[d("设备名称","resources","从 equipment 类型资源提取","deriveFromContext"),d("规格型号","resources","从资源规格型号提取","projectFactOnly",!1),d("数量","resources","从资源数量提取","projectFactOnly",!1),d("使用阶段","schedule","结合施工阶段和适用工程内容填写","deriveFromContext"),d("用途","works","关联适用分部分项或工序","deriveFromContext"),d("进退场时间","schedule","仅资料明确时填写,否则按施工阶段表达","deriveFromContext",!1)]},{id:"labor-plan",title:"分阶段劳动力动态投入计划表",moduleTitles:["资源配置计划"],required:!0,triggerKeywords:["劳动力","人员投入","班组"],fields:[d("施工阶段","schedule","从施工阶段和进度节点提取","deriveFromContext"),d("工种","resources","从 labor 类型资源、工序需求推导","deriveFromContext"),d("人数","resources","基于各阶段工程量、工期与工序流水,按定额工效推导各阶段各工种人数(投标人编制类数值,资料不会提供,必须推导并落到具体数字)","deriveFromProject"),d("主要工作内容","works","关联对应分部分项工程","deriveFromContext"),d("调配原则","standard","按工期节点、穿插施工和资源动态调配填写","standardAllowed")]},{id:"quality-hidden-acceptance",title:"隐蔽工程验收清单表",moduleTitles:["质量管理体系与质量保证措施"],required:!0,triggerKeywords:["隐蔽工程","隐蔽验收","质量验收"],fields:[d("隐蔽部位","works","从分部分项工程、图纸做法和工序识别","deriveFromContext"),d("验收内容","methods","结合工艺步骤和质量控制点填写","deriveFromContext"),d("验收时机","schedule","按工序完成、覆盖前、下道工序前填写","standardAllowed"),d("验收要点","standards","从验收规范、质量标准和材料要求提取","standardAllowed"),d("影像留存","standard","按隐蔽验收资料归档要求填写","standardAllowed")]},{id:"quality-common-defects",title:"质量通病防治清单表",moduleTitles:["质量管理体系与质量保证措施"],required:!0,triggerKeywords:["质量通病","防治","质量控制"],fields:[d("通病问题","risks","从质量风险、常见工序问题和项目类型推导","deriveFromContext"),d("产生原因","methods","结合施工工艺、材料、环境和操作因素填写","deriveFromContext"),d("预防措施","methods","按工艺控制、样板引路、材料复试等填写","standardAllowed"),d("整改标准","standards","从验收规范和质量标准提取","standardAllowed"),d("复查频次","standard","按质量检查制度填写","standardAllowed")]},{id:"risk-grade-control",title:"危险源辨识与风险分级管控清单",moduleTitles:["安全管理、风险分级与危大工程管控"],required:!0,triggerKeywords:["安全","风险","危险源","危大"],fields:[d("危险源","risks","从项目图谱 risks 和施工工序识别","deriveFromContext"),d("风险等级","risks","使用图谱风险等级或按影响程度判断","deriveFromContext"),d("存在部位","works","关联风险所在工程部位、区域或工序","deriveFromContext"),d("管控措施","risks","优先使用 mitigation,必要时按标准安全措施补充","standardAllowed"),d("监测频次","standards","按安全巡查和专项监测制度填写","standardAllowed"),d("闭环要求","standard","按隐患整改、复查、销项、归档填写","standardAllowed")]},{id:"dangerous-workflow",title:"危大工程全流程闭环管控表",moduleTitles:["安全管理、风险分级与危大工程管控"],required:!0,triggerKeywords:["危大工程","专项施工方案","专家论证"],fields:[d("危大项目","risks","从危大工程、深基坑、高支模、起重吊装等风险识别","deriveFromContext"),d("方案编制","standard","按专项方案编制要求填写","standardAllowed"),d("审批交底","standard","按审核审批、专家论证、技术交底流程填写","standardAllowed"),d("旁站监测","standard","按实施过程旁站、监测、验收要求填写","standardAllowed"),d("验收闭环","standard","按联合验收、挂牌使用、整改销项填写","standardAllowed")]},{id:"environment-control",title:"环境污染物管控指标一览表",moduleTitles:["文明施工、扬尘、噪声与绿色施工"],required:!0,triggerKeywords:["文明施工","扬尘","噪声","绿色施工","环保"],fields:[d("污染源","siteConditions","从扬尘、噪声、废水、垃圾等施工影响识别","deriveFromContext"),d("控制指标","requirements","从招标环保要求、地方监管或标准要求提取","standardAllowed"),d("监测方式","standard","按在线监测、巡查、台账记录填写","standardAllowed"),d("管控措施","methods","按湿法作业、覆盖、冲洗、封闭、沉淀处理填写","standardAllowed"),d("责任岗位","standard","按文明施工管理员、安全员、施工员等填写","standardAllowed")]},{id:"construction-waste",title:"建筑垃圾分类管理表",moduleTitles:["文明施工、扬尘、噪声与绿色施工"],required:!0,triggerKeywords:["建筑垃圾","垃圾分类","绿色施工"],fields:[d("垃圾类别","standard","按可回收材料、建筑垃圾、生活垃圾、危险废弃物分类","standardAllowed"),d("堆放区域","siteConditions","结合现场平面和堆放分区填写","deriveFromContext"),d("处理方式","standard","按回收利用、外运消纳、资质单位处置填写","standardAllowed"),d("清运频次","standard","按现场保洁和垃圾日产日清要求填写","standardAllowed"),d("责任人","standard","按材料员、施工员、安全员、保洁员等填写","standardAllowed")]},{id:"wage-control",title:"农民工工资管控台账表",moduleTitles:["农民工工资保障与劳务管理"],required:!0,triggerKeywords:["农民工工资","工资保障","劳务实名制"],fields:[d("管理环节","requirements","按实名登记、考勤、核算、公示、代发、归档填写","standardAllowed"),d("执行要求","requirements","从工资支付、实名制和专户要求提取","standardAllowed"),d("责任岗位","standard","按劳资员、项目经理、班组长等填写","standardAllowed"),d("形成资料","standard","按考勤表、工资表、银行流水、公示记录等填写","standardAllowed"),d("闭环要求","standard","按争议受理、核查、整改、销项归档填写","standardAllowed")]},{id:"pipeline-protection",title:"临近建筑地下管线保护清单表",moduleTitles:["周边环境、管线与既有建构筑物保护"],required:!1,triggerKeywords:["地下管线","管线保护","既有建筑","周边环境"],fields:[d("保护对象","siteConditions","从地下管线、临近建筑、道路、居民区等识别","deriveFromContext"),d("位置关系","siteConditions","从现场条件、图纸或踏勘资料提取","projectFactOnly",!1),d("风险影响","risks","结合开挖、振动、沉降、交通等影响填写","deriveFromContext"),d("保护措施","methods","按探测、标识、支护、监测、应急抢修填写","standardAllowed"),d("监测频次","standards","按风险等级和施工阶段填写","standardAllowed"),d("应急处置","risks","按停工警戒、抢修联络、复查恢复填写","standardAllowed")]},{id:"seasonal-resource",title:"季节性施工资源配置表",moduleTitles:["季节性施工保障"],required:!0,triggerKeywords:["季节性施工","雨季","冬季","高温","防汛"],fields:[d("季节/天气类型","siteConditions","结合施工季节、当地气候和工期节点填写","deriveFromContext"),d("影响工序","works","关联受雨季、高温、冬季影响的工序","deriveFromContext"),d("配置资源","resources","结合排水、防暑、防冻、防风等物资设备填写","standardAllowed"),d("检查频次","standard","按天气预警、班前检查、雨后复查填写","standardAllowed"),d("应急措施","risks","按防汛、排水、防雷、大风停工等填写","standardAllowed")]},{id:"emergency-materials",title:"应急物资储备清单表",moduleTitles:["应急管理体系"],required:!0,triggerKeywords:["应急","应急物资","应急救援"],fields:[d("物资名称","resources","从应急物资或按风险场景配置","standardAllowed"),d("规格型号","resources","资料明确时填写,否则按通用应急物资表达","standardAllowed",!1),d("数量","resources","仅资料明确时填写","projectFactOnly",!1),d("存放位置","siteConditions","结合现场平面和应急点位填写","deriveFromContext",!1),d("用途","risks","关联火灾、触电、坍塌、暴雨、高温等风险场景","deriveFromContext"),d("检查周期","standard","按应急物资定期检查制度填写","standardAllowed")]},{id:"bim-smart-site",title:"BIM智慧工地应用点表",moduleTitles:["BIM、智慧工地与创新加分模块"],required:!1,triggerKeywords:["BIM","智慧工地","在线监测","数字化"],fields:[d("应用点","requirements","从 BIM、智慧工地、监测要求或加分点识别","deriveFromContext"),d("应用内容","methods","按管线综合、4D模拟、视频监控、扬尘监测等填写","standardAllowed"),d("实施阶段","schedule","结合深化设计、施工准备、全过程管控等阶段填写","deriveFromContext"),d("输出成果","standard","按模型、图纸、台账、预警记录等填写","standardAllowed"),d("作用","standard","按减少返工、校核工期、联动喷淋、风险预警等填写","standardAllowed")]},{id:"master-schedule",title:"施工总进度计划表",moduleTitles:["进度计划与工期保障"],required:!0,triggerKeywords:["总进度","横道图","网络图","总工期","进度计划"],fields:[d("施工阶段/分部分项","schedule","从工期节点、施工阶段与分部分项工程划分提取","deriveFromContext"),d("开始时间","schedule","基于总工期与工序逻辑倒排推导(投标人编制类数值,资料不会提供,必须推导)","deriveFromProject"),d("结束时间","schedule","基于总工期与工序逻辑倒排推导","deriveFromProject"),d("持续时间","schedule","由开始与结束时间推算,须与总工期自洽","deriveFromProject"),d("关键线路工序","methods","按关键路径与工期保障要求判断","deriveFromContext")]},{id:"material-arrival",title:"主要材料进场计划表",moduleTitles:["资源配置计划"],required:!0,triggerKeywords:["材料进场","材料计划","材料供应"],fields:[d("材料名称","resources","从 material 类型资源提取","deriveFromContext"),d("规格型号","resources","从资源规格型号提取","projectFactOnly",!1),d("使用阶段","schedule","关联材料使用工序与施工阶段","deriveFromContext"),d("进场时间","schedule","按使用阶段提前备料推导","deriveFromProject"),d("质量验收要求","standards","按进场复试、见证取样要求填写","standardAllowed")]},{id:"labor-total-stat",title:"劳动力需求总量与高峰统计表",moduleTitles:["资源配置计划"],required:!0,triggerKeywords:["劳动力","高峰人数","总工日"],fields:[d("施工阶段","schedule","从施工阶段和进度节点提取","deriveFromContext"),d("投入工种数","resources","按阶段工序需求统计工种数量","deriveFromProject"),d("阶段平均人数","resources","按阶段工程量与工效定额推导(投标人编制类数值,必须推导)","deriveFromProject"),d("阶段高峰人数","resources","按平行作业与穿插施工推导","deriveFromProject"),d("劳动力总量(工日)","resources","按总工期与平均人数推算","deriveFromProject")]},{id:"inspection-lot",title:"检验批划分计划表",moduleTitles:["质量管理体系与质量保证措施"],required:!0,triggerKeywords:["检验批","检验批划分","质量验收"],fields:[d("分部工程","works","从分部分项工程划分提取","deriveFromContext"),d("分项工程","works","从分部分项工程划分提取","deriveFromContext"),d("检验批划分原则","standards","按验收规范按层、按跨、按流水段划分填写","standardAllowed"),d("验收标准","standards","从验收规范和设计标准提取","standardAllowed"),d("验收组织","standard","按监理、专业监理工程师、施工单位质检人员填写","standardAllowed")]},{id:"quality-target-decompose",title:"质量目标分解与验收计划表",moduleTitles:["质量管理体系与质量保证措施"],required:!0,triggerKeywords:["质量目标","目标分解","创优"],fields:[d("分解层级","standard","按单位工程、分部、分项工程层级填写","standardAllowed"),d("质量目标","standards","从招标质量标准与创优要求提取并逐级分解","deriveFromContext"),d("责任人","standard","按项目经理、技术负责人、质量员、班组长填写","standardAllowed"),d("验收方式","standard","按自检、互检、交接检、监理验收填写","standardAllowed"),d("检查频次","standard","按日检、周检、月度检查制度填写","standardAllowed")]},{id:"new-tech-application",title:"新技术新工艺应用计划表",moduleTitles:["新技术、新工艺、新材料、新设备的应用"],required:!1,triggerKeywords:["新技术","新工艺","新材料","新设备","四新","创新"],fields:[d("技术名称","methods","从项目适用工艺方法、专项技术与创新点识别","deriveFromContext"),d("应用部位","works","关联适用分部分项与部位","deriveFromContext"),d("与传统做法对比","methods","说明技术原理与先进性","deriveFromContext"),d("预期效果","standards","按质量、工期、成本、安全、绿色目标填写","standardAllowed"),d("实施保障","standard","按技术交底、样板引路、验收评价填写","standardAllowed")]},{id:"major-works-quantity",title:"主要工程量汇总表",moduleTitles:["编制说明与工程概况"],required:!1,triggerKeywords:["工程量","工程数量","主要工程量"],fields:[d("分部分项工程","works","从图谱 works 节点提取","deriveFromContext"),d("工程内容","works","从图谱 works 节点提取","deriveFromContext"),d("计量单位","works","从工程量清单计量单位提取","deriveFromContext"),d("工程量","works","仅资料或清单明确时填写,不得编造","projectFactOnly",!1),d("备注","works","说明工作内容与包含关系","deriveFromContext",!1)]},{id:"product-protection",title:"成品保护措施表",moduleTitles:["成品保护与竣工收尾"],required:!1,triggerKeywords:["成品保护","成品防护","竣工交付"],fields:[d("保护对象","works","从已完成分部分项与易损成品识别","deriveFromContext"),d("易受损环节","methods","关联交叉作业、工序交接与后续施工","deriveFromContext"),d("保护措施","methods","按覆盖、包裹、隔离、警示、专人看护填写","standardAllowed"),d("责任岗位","standard","按施工员、班组长、成品保护员填写","standardAllowed"),d("检查频次","standard","按每日巡查与工序交接检查填写","standardAllowed")]},{id:"survey-instruments",title:"测量与试验检测仪器配置表",moduleTitles:["施工测量与试验检测"],required:!1,triggerKeywords:["测量仪器","试验检测","仪器设备"],fields:[d("仪器名称","resources","从测量、试验检测设备资源识别","deriveFromContext"),d("规格型号","resources","从设备资源规格提取","projectFactOnly",!1),d("数量","resources","按测量与检测工作量推导配置","deriveFromProject"),d("用途","methods","关联放线、标高、沉降观测、材料复试等","deriveFromContext"),d("检定状态","standard","按计量检定与校准周期要求填写","standardAllowed")]}];function f(a){return a.replace(/\s+/gu,"").toLowerCase()}function g(a){return[...new Set(a)]}function h(a){return f([a.title,a.purpose,...a.sections||[],...a.tableSections||[],...a.requiredFacts||[],...a.queries||[]].join(" "))}function i(a,b,c){return"factsModel"===a?!!(c&&Object.keys(c.byKey||{}).length>0):!!b&&("project"===a?Object.keys(c?.byKey||{}).length>0||b.requirements.length>0:"works"===a?b.works.length>0:"methods"===a?b.methods.length>0:"resources"===a?b.resources.length>0:"schedule"===a?b.schedule.length>0||!!c?.schedule.duration:"standards"===a?b.standards.length>0:"risks"===a?b.risks.length>0:"requirements"===a?b.requirements.length>0:"siteConditions"!==a||b.siteConditions.length>0)}function j(a){var b;let c=(b=a.projectGraph)?f([...b.works.flatMap(a=>[a.name,a.scope,...a.relatedItems]),...b.methods.flatMap(a=>[a.name,...a.steps,...a.applicableWorks]),...b.resources.flatMap(a=>[a.name,a.type,a.spec,a.quantity,a.unit]),...b.schedule.flatMap(a=>[a.milestone,a.duration,a.startDate,a.endDate]),...b.standards.flatMap(a=>[a.code,a.description]),...b.risks.flatMap(a=>[a.risk,a.level,a.mitigation]),...b.requirements.flatMap(a=>[a.category,a.detail]),...b.siteConditions.flatMap(a=>[a.condition,a.impact]),...b.addendumChanges.flatMap(a=>[a.originalPath,a.original,a.revised]),...b.gaps].join(" ")):"";return a.chapters.map(b=>{var d;let j=`${c} ${!(d=a.canonicalFacts)?"":f(Object.values(d.byKey||{}).map(a=>`${a.label} ${a.value}`).join(" "))}`,k=e.map(c=>{if(!function(a,b){let c=h(b);return!!((b.tableSections||[]).some(b=>b===a.title||a.title.includes(b)||b.includes(a.title))||a.moduleTitles.some(a=>c.includes(f(a)))||a.triggerKeywords.some(a=>c.includes(f(a))))}(c,b))return null;let d=g(c.fields.map(a=>a.sourceDomain)),e=function(a,b,c,d){let e=h(b);if(a.required||(b.tableSections||[]).some(b=>b===a.title||a.title.includes(b)))return"must";let g=a.moduleTitles.some(a=>e.includes(f(a)))||a.triggerKeywords.some(a=>e.includes(f(a)));return(d?!!a.triggerKeywords.some(a=>c.includes(f(a)))||("equipment-plan"===a.id?d.resources.some(a=>"equipment"===a.type):"labor-plan"===a.id||"labor-total-stat"===a.id?d.resources.some(a=>"labor"===a.type):"progress-milestones"===a.id||"master-schedule"===a.id?d.schedule.length>0||d.works.length>0:"risk-grade-control"===a.id?d.risks.length>0:"pipeline-protection"===a.id?d.siteConditions.some(a=>/管线|道路|居民|学校|医院|商业|既有|周边/u.test(`${a.condition}${a.impact}`)):"bim-smart-site"===a.id?d.requirements.some(a=>/BIM|智慧|数字|监测|视频|实名制/u.test(`${a.category}${a.detail}`)):a.required):a.required)||g?"should":"conditional"}(c,b,j,a.projectGraph),k=function(a,b,c){let d=a.fields.filter(a=>a.required),e=a.fields.filter(a=>a.required&&"projectFactOnly"===a.fallbackPolicy&&!i(a.sourceDomain,b,c)).map(a=>a.name),f=a.fields.filter(a=>"projectFactOnly"!==a.fallbackPolicy||i(a.sourceDomain,b,c)).length,g="generate_with_confirmed_facts";return e.length>0&&f>0&&(g="generate_with_review_notes"),e.length===d.length&&d.length>0&&(g="convert_to_text"),0===f&&(g="skip_with_reason"),{requiredFieldCount:d.length,confirmedFieldCount:f,missingProjectFactFields:e,canGenerate:"skip_with_reason"!==g,fallbackPolicy:g}}(c,a.projectGraph,a.canonicalFacts),l="must"===e?{shouldOutput:!0,outputType:"markdown_table",decisionReason:"章节必要管控表,按项目资料、图谱事实与投标人编制内容输出。"}:"should"===e?{shouldOutput:!0,outputType:"markdown_table",decisionReason:"项目图谱和章节语义均触发,按资料与编制推导输出。"}:k.canGenerate?{shouldOutput:!0,outputType:"markdown_table",decisionReason:"章节已承接该管理对象,按已有事实与编制推导输出表格。"}:{shouldOutput:!1,outputType:"skip",decisionReason:"全部事实字段均缺资料支撑,暂不输出。"};return{id:c.id,title:c.title,chapterTitle:b.title,moduleTitle:c.moduleTitles[0]||b.title,required:l.shouldOutput&&("must"===e||c.required),reason:function(a,b){let c=[];return b?.schedule.length&&a.fields.some(a=>"schedule"===a.sourceDomain)&&c.push("项目图谱包含工期与关键节点"),b?.resources.length&&a.fields.some(a=>"resources"===a.sourceDomain)&&c.push("项目图谱包含资源投入信息"),b?.risks.length&&a.fields.some(a=>"risks"===a.sourceDomain)&&c.push("项目图谱包含风险与管控要求"),b?.requirements.length&&a.fields.some(a=>"requirements"===a.sourceDomain)&&c.push("项目图谱包含招标/管理要求"),b?.siteConditions.length&&a.fields.some(a=>"siteConditions"===a.sourceDomain)&&c.push("项目图谱包含现场条件约束"),c.length?c.join(";"):`章节包含“${a.moduleTitles.join("、")}”模块,按施工组织设计标准表格库生成。`}(c,a.projectGraph),fields:c.fields,sourceDomains:d,necessity:e,belongsToChapter:!0,scopeExplanation:`表格归属于“${b.title}”中“${c.moduleTitles.join("、")}”相关管理对象。`,triggerFacts:Object.values(a.canonicalFacts?.byKey||{}).filter(a=>c.triggerKeywords.some(b=>f(`${a.label}${a.value}`).includes(f(b)))).map(a=>`${a.label}=${a.value}`),triggerGraphNodes:c.triggerKeywords.filter(a=>j.includes(f(a))),fillability:k,outputDecision:l,rowSeeds:function(a,b,c){let d=[],e=(b,c,e,g)=>{if(!f(`${b}${e}`)||d.some(a=>f(a.rowLabel)===f(b)))return;let h=a.fields.filter(a=>f(e).includes(f(a.name))||"projectFactOnly"!==a.fallbackPolicy).map(a=>a.name),i=a.fields.filter(a=>a.required&&!h.includes(a.name)&&"projectFactOnly"===a.fallbackPolicy).map(a=>a.name);d.push({rowLabel:b,source:c,confirmedFields:h,missingFields:i,sourceRef:g})};for(let b of Object.values(c?.byKey||{}))a.triggerKeywords.some(a=>f(`${b.label}${b.value}`).includes(f(a)))&&e(b.label,"canonicalFact",b.value,b.sourceFile);for(let c of b?.resources||[])(a.fields.some(a=>"resources"===a.sourceDomain)||a.triggerKeywords.some(a=>f(`${c.name}${c.type}`).includes(f(a))))&&e(c.name,"equipment"===c.type||"material"===c.type||"labor"===c.type?"projectGraph":"standard",[c.spec,c.quantity,c.unit].filter(Boolean).join(" "),c.sourceFiles?.[0]);for(let c of b?.risks||[])(a.fields.some(a=>"risks"===a.sourceDomain)||a.triggerKeywords.some(a=>f(c.risk).includes(f(a))))&&e(c.risk,"projectGraph",[c.level,c.mitigation].filter(Boolean).join(" "),c.sourceFiles?.[0]);for(let c of b?.schedule||[])a.fields.some(a=>"schedule"===a.sourceDomain)&&e(c.milestone,"projectGraph",[c.duration,c.startDate,c.endDate].filter(Boolean).join(" "),c.sourceFiles?.[0]);return d.slice(0,24)}(c,a.projectGraph,a.canonicalFacts)}}).filter(a=>!!a),l=new Map((b.tablePlans||[]).map(a=>[a.id,a]));for(let a of k)l.set(a.id,a);let m=[...l.values()],n=g([...b.tableSections||[],...m.map(a=>a.title)]),o=g([...b.tableRequirements||[],...m.map(a=>{let b=a.fields.filter(a=>"deriveFromProject"===a.fallbackPolicy),c=a.fields.filter(a=>"projectFactOnly"===a.fallbackPolicy),d=b.length?`表中“${b.map(a=>a.name).join("、")}”属于投标人计划编制类字段,资料不会提供,必须基于项目工程量、工期与工序流水按定额工效推导具体数值,不得留空、不得写“按需配置”等占位话术。`:"",e=c.length?"项目特有数字、日期、工程量、规格必须来自资料或项目图谱,不得编造。":"";return`${a.title}:表头必须为“${a.fields.map(a=>a.name).join("、")}”;${[d,e].filter(Boolean).join("")||"可按施工组织设计标准流程填写。"}`})]);return{...b,tableSections:n,tableRequirements:o,tablePlans:m}})}function k(a,b){let c=(a.tablePlans||[]).filter(a=>a.outputDecision?.shouldOutput);if(0===c.length)return[];let d=f(b||"");return d?c.filter(a=>{let b=f(a.moduleTitle||""),c=f(a.title);if(b&&(d.includes(b)||b.includes(d))||c&&(d.includes(c)||c.includes(d)))return!0;let e=c.replace(/表$/u,"");return!!(e&&(d.includes(e)||e.includes(d))||(a.triggerGraphNodes||[]).some(a=>d.includes(f(a)))||e&&function(a,b){let c=a=>{let b=new Set;for(let c=0;c<a.length-1;c+=1)b.add(a.slice(c,c+2));return b},d=c(b),e=[...c(a)];return 0===e.length?0:e.filter(a=>d.has(a)).length/e.length}(d,e)>=.6)}):c}function l(a,b){let c=(a.tablePlans||[]).filter(a=>a.outputDecision?.shouldOutput);return 0===c.length?[]:c.filter(c=>!b.some(b=>k(a,b).some(a=>a.id===c.id)))}function m(a,b){let c=[];for(let d of a){let a=(d.tablePlans||[]).filter(a=>a.outputDecision?.shouldOutput);if(0===a.length)continue;let e=b.find(a=>a.title===d.title)||b.find(a=>d.title.includes(a.title)||a.title.includes(d.title));if(!e)continue;let f=function(a){let b=0;for(let c of a.split(/\r?\n/u))/^\s*\|?\s*:?-{3,}:?/u.test(c)&&c.includes("|")&&(b+=1);return b}(e.content);f>=.6*a.length||a.length-f<2||c.push({chapterTitle:d.title,planned:a.length,actual:f,plans:a})}return c}function n(a){let b=a.tablePlans||[];if(0===b.length)return"";let c=b.some(a=>a.fields.some(a=>"deriveFromProject"===a.fallbackPolicy))?"\n【投标人编制类字段授权】表中 fallbackPolicy=deriveFromProject 的字段(人数、台班、进度时间、进场时间等)资料不会提供具体数值,这是投标人自己的计划编制内容:必须基于项目工程量、总工期与工序流水,按定额工效推导并落到具体数字;不得留空、不得写“按需配置”“根据进度灵活调配”等空话。项目事实类字段(面积、工程量、规格、质量标准)仍必须来自资料,不得编造。":"";return["【本章表格/清单结构化生成要求(硬性验收项)】","以下表格来自项目图谱、事实主权模型与施工组织设计标准表格库的治理决策;不得按数量机械增减,必须按必要性、章节归属、证据可填性和输出形态执行。","每个应输出(必写/应写)的表格都必须真实输出为 markdown 表格;输出后按本清单逐表自检,缺失即视为正文不足。","【表格排版硬约束】每个 markdown 表格必须独立成行:表头行必须以“|”开头单独占一行,下一行紧跟“|---|”分隔行,数据行逐行以“|”开头;严禁把表头接在正文段落同一行(如“正文……。| 表头1 | 表头2 |”),输出表格前必须先换行。","每个表格前必须写 1~2 句引导叙述(说明该表的作用、数据口径与关键结论),表格不能替代所在小节全部正文;表格输出后还应围绕表中关键节点、责任分工与纠偏措施展开至少一段实施性正文。","只输出表格/清单本体和用户提示词明确要求的文字;不得输出系统来源说明、后台溯源列、固定表前后说明或占位话术。",...b.map((b,c)=>[`${c+1}. ${b.required?"必写":b.outputDecision?.shouldOutput?"应写":"参考"}:${b.title}`,` - 必要性:${b.necessity||(b.required?"must":"conditional")};输出形态:${b.outputDecision?.outputType||"markdown_table"};决策:${b.outputDecision?.decisionReason||"按章节内容需要输出。"}`,` - 适用模块:${b.moduleTitle}`,` - 章节归属:${b.scopeExplanation||`归属于${a.title}`}`,` - 生成原因:${b.reason}`,` - 表头字段:${b.fields.map(a=>a.name).join(" | ")}`,` - 字段来源:${b.fields.map(a=>`${a.name}←${a.sourceDomain}(${a.sourceHint})`).join(";")}`,b.fillability?.missingProjectFactFields.length?` - 字段约束:${b.fillability.missingProjectFactFields.join("、")} 必须继续从项目图谱、可信事实和绑定资料中取值;不得写固定占位话术。`:` - 可填性:已确认字段 ${b.fillability?.confirmedFieldCount??b.fields.length}/${b.fields.length}。`,b.rowSeeds?.length?` - 行级填充计划:${b.rowSeeds.slice(0,8).map(a=>`${a.rowLabel}(${a.source}${a.missingFields.length?`,字段待从资料补齐:${a.missingFields.join("/")}`:""})`).join(";")}`:"",` - 约束:${b.fields.some(a=>"projectFactOnly"===a.fallbackPolicy)?"projectFactOnly 字段必须来自项目资料、项目图谱或可信事实;不得编造,不得写占位话术。":"可按标准施工组织流程填写,但必须贴合本章和项目场景。"}${b.fields.some(a=>"deriveFromProject"===a.fallbackPolicy)?" deriveFromProject 字段必须按上方“投标人编制类字段授权”推导具体数值。":""}`].filter(Boolean).join("\n")),c].filter(Boolean).join("\n")}function o(a,b){if(!a.length)return"";let c=a.some(a=>a.fields.some(a=>"deriveFromProject"===a.fallbackPolicy))?"\n【投标人编制类字段授权】表中 fallbackPolicy=deriveFromProject 的字段(人数、台班、进度时间等)资料不会提供具体数值,这是投标人自己的计划编制内容:必须基于项目工程量、总工期与工序流水按定额工效推导并落到具体数字;不得留空、不得写“按需配置”“根据进度灵活调配”等空话。项目事实类字段仍必须来自资料,不得编造。":"";return[`【本节“${b}”必须输出的表格(硬性验收项)】`,"以下表格治理决策归属于本节,必须真实输出为 markdown 表格(紧跟相关三级小节);输出后逐表自检,缺失即视为正文不足。","【表格排版硬约束】每个 markdown 表格必须独立成行:表头行必须以“|”开头单独占一行,下一行紧跟“|---|”分隔行,数据行逐行以“|”开头;严禁把表头接在正文段落同一行,输出表格前必须先换行。","每个表格前必须写 1~2 句引导叙述(说明该表的作用、数据口径与关键结论),表格不能替代本节全部正文;表格输出后还应围绕表中关键节点、责任分工与纠偏措施展开至少一段实施性正文。",...a.map((a,b)=>[`${b+1}. ${a.required?"必写":"应写"}:${a.title}`,` - 输出形态:${a.outputDecision?.outputType||"markdown_table"};决策:${a.outputDecision?.decisionReason||"按章节内容需要输出。"}`,` - 表头字段:${a.fields.map(a=>a.name).join(" | ")}`,` - 字段来源:${a.fields.map(a=>`${a.name}←${a.sourceDomain}(${a.sourceHint})`).join(";")}`,a.fillability?.missingProjectFactFields.length?` - 字段约束:${a.fillability.missingProjectFactFields.join("、")} 必须继续从项目图谱、可信事实和绑定资料中取值;不得写固定占位话术。`:"",a.rowSeeds?.length?` - 行级填充计划:${a.rowSeeds.slice(0,8).map(a=>`${a.rowLabel}(${a.source}${a.missingFields.length?`,字段待从资料补齐:${a.missingFields.join("/")}`:""})`).join(";")}`:"",` - 约束:${a.fields.some(a=>"projectFactOnly"===a.fallbackPolicy)?"projectFactOnly 字段必须来自项目资料、项目图谱或可信事实;不得编造。":"可按标准施工组织流程填写,但必须贴合本章和项目场景。"}${a.fields.some(a=>"deriveFromProject"===a.fallbackPolicy)?" deriveFromProject 字段必须按下方“投标人编制类字段授权”推导具体数值。":""}`].filter(Boolean).join("\n")),c].filter(Boolean).join("\n")}},22213:(a,b,c)=>{c.d(b,{Bk:()=>w,DD:()=>h,Dz:()=>t,Ep:()=>v,I6:()=>z,KJ:()=>I,Uz:()=>L,YK:()=>A,ab:()=>C,ap:()=>M,eB:()=>B,eK:()=>G,eL:()=>q,ev:()=>H,g6:()=>F,h$:()=>l,hf:()=>K,iA:()=>y,qj:()=>D,sE:()=>i,sh:()=>x,uV:()=>N,xu:()=>r,y7:()=>E,zJ:()=>J});var d=c(70933),e=c(1218);c(70208);var f=c(22157),g=c(3063);function h(a){return a.replace(/^#{3,4}\s+.*\n+/u,"").trim()}function i(a,b){let c=a.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),d=b.match(RegExp(`^#{3,4}\\s+(?:\\d+(?:\\.\\d+)*\\s+)?${c}\\s*\\n([\\s\\S]*?)(?=^###\\s+|^##\\s+|(?![\\s\\S]))`,"mu"));return d?d[0]:b}function j(a){let b=new Set;for(let c of a.match(/[\u4e00-\u9fa5]{2,}/gu)||[]){if(2===c.length){b.add(c);continue}for(let a=0;a<=c.length-2;a+=1)b.add(c.slice(a,a+2))}return b}let k=new Set(["采用","安装","控制","检测","检查","验收","记录","施工","要求","完成","进行","实测","形成","复核","处理","保护","清理","准备","组织","安全","质量","部位","范围","内容","工作","项目","工程","材料","设备","分别","规范","图纸","设计","依据","确认","资料","技术","文件","标准","合格","偏差","允许","符合","确保","防止","严禁","不得","统一","配备","设置","使用","作业","过程","移交","闭环","整改","问题","发现","及时","后续","工序","环节","位置","高度","间距","严格","必须","所有","相关","执行","落实","到位","同步","相应","重点","加强","管理","隐蔽","报告","签字","填写","留置","保养","维修"]);function l(a){let b=a.match(/^#{3,4}\s+(?:\d+(?:\.\d+)*\s+)?(?:项目主要施工\s*内容|主要施工\s*内容)\s*\n([\s\S]*?)(?=^###\s+|^##\s+|(?!(\s|\S)))/mu);if(!b)return a;let c=b[0],d=c.indexOf("\n"),e=c.slice(d+1).split(/^(?=####\s+)/mu),f=[];for(let a of e){let b=a.match(/^####\s+(.+?)\s*\n([\s\S]*)$/u);if(!b)continue;let c=b[1].trim(),d=c.replace(/^\d+\.\d+\.\d+\s*/u,""),e=b[2].split(/(?=施工概况|施工流程|施工方法)/u).filter(Boolean).map(a=>j(a.replace(/^施工(?:概况|流程|方法)[::]?/u,"")));f.push({title:c,cleanTitle:d,body:b[2],isWorkPackage:/工作包\s*$/u.test(d),titleGrams:j(d),segGrams:e})}let g=f.filter(a=>a.isWorkPackage),h=f.filter(a=>!a.isWorkPackage);if(0===g.length||0===h.length)return a;let i=new Set;for(let a of g){let b,c=0;for(let d of h){if(i.has(d))continue;let e=function(a,b){let c=0;for(let d of a)b.has(d)&&(c+=1);return c}(a.titleGrams,d.titleGrams);if(e<2)continue;let f=Array.from({length:Math.min(a.segGrams.length,d.segGrams.length)},(b,c)=>(function(a,b){let c=0;for(let d of a)!k.has(d)&&b.has(d)&&(c+=1);return c})(a.segGrams[c],d.segGrams[c])).filter(a=>a>=4).length;if(f<2)continue;let g=e+2*f;g>c&&(c=g,b=d)}if(!b)continue;let d=b,e=a=>a.replace(/平方米/gu,"m2").replace(/m²|㎡/gu,"m2").replace(/立方米/gu,"m3").replace(/m³/gu,"m3").replace(/毫米/gu,"mm").replace(/\s+/gu,""),f=e(d.body),g=/\d+(?:\.\d+)?(?:平方米|立方米|毫米|m2|m3|mm|㎡|m²|m³|米|台|套|个|座|根|扇|樘|块|件|组|吨|kg|t|%)/gu,j=a=>{let b=a.match(g);return!!b&&0!==b.length&&b.every(a=>f.includes(e(a)))},l=[];for(let b of a.body.split(/[。;,,\n]/u).map(a=>a.trim()).filter(Boolean)){if(!/\d/u.test(b))continue;let a=b.replace(/^施工(?:概况|流程|方法)[::]?/u,"").trim();a&&(j(a)||l.push(a))}l.length>0&&(d.body=`${d.body.trimEnd()}${l.join("。")}。
11
+ ${o}`,{signal:e,maxTokens:1800,temperature:.1,diagnostics:f});return((0,n.Te)(e),r?.facts?.length)?{facts:r.facts.filter(a=>a.key&&a.value).map(a=>{let b=p.find(b=>b.id===a.fieldId||b.name===a.fieldName||b.name===a.key);return{key:b?.name||a.key,fieldId:b?.id||a.fieldId,fieldName:b?.name||a.fieldName,value:(0,n.lG)(a.value),sourceFile:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType,confidence:a.confidence??.8,sourceRef:{filePath:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType}}}),stages:[{type:"fact_extraction",roleId:"llm-json",status:"success",message:`LLM 按动态 schema 抽取 ${r.facts.length} 条事实`}]}:{facts:[],stages:g}}let B=["投标保证金的金额、收款账户名称、开户行与账号","电子投标文件加密方式与解密方式","开标时间、开标地点与开标程序","评标委员会组成与评标办法","招标人联系人、联系电话、邮箱与地址","投标文件递交方式与递交截止时间","空白表格填写说明与上传下载指引","公共资源交易平台监督管理部门"],C=/签章|盖章|联系人|联系电话|电话|邮箱|解密方式|开标时间|开标地点|评标办法|评标委员会|投标保证金|保证金账户|电子交易系统|空白|填写|上传|下载|递交方式|递交截止|公共资源交易监督管理|监管部门|开评标程序|采购范围|是否|符合/u;async function D(a,b,c=h.p4,d){let e=(b?.factFields.map(a=>a.name)||[...new Set(a.map(a=>a.fieldName||a.key))]).filter(a=>(function(a,b){let c=(0,h.oC)(b,a);return c?"single"===c.cardinality&&"ignore"!==c.conflictPolicy&&"allow_multiple"!==c.conflictPolicy:/项目名称|工程名称|招标人|建设地点|建筑面积|结构形式|层数|工期|质量标准|合同价格形式|绿色建筑等级|投标有效期|质保期|劳动力高峰|装配率|支护形式|创优奖惩/u.test(a)})(a,c)),f=[...new Set(a.map(a=>(0,n.lG)(a.value).trim()).filter(a=>C.test(a)))],g=await (0,o.Mv)(f,B,d),i=a=>B.some(b=>g(a,b)>=.6),j=[];for(let b of e){let d=a.filter(a=>a.key===b||a.fieldName===b||(0,h.oC)(c,a.fieldName||a.key)?.name===b),e=new Map;for(let a of d){let b=function(a,b,c){let d=(0,n.lG)(a).trim();if((0,h.d2)(b,d)||(0,h.rF)(b,d)||(d.match(/�|￿/gu)?.length||0)>=2||Array.from(d).some(a=>{let b=a.charCodeAt(0);return 65533===b||b<32&&9!==b&&10!==b&&13!==b})||/\|/u.test(d)||/^#+\s*/u.test(d)||/见(?:招标公告|投标人须知|前附表|本项目|补疑)|资料参数行摘要/u.test(d))return"";let e=d.match(/\d+\s*日历天/u)?.[0]?.replace(/\s+/gu,"");if(e&&/工期|日历天|开工日期|竣工/u.test(d))return e;let f=(0,k.K3)((0,n.lG)(d));return!f||f.length>80||!/[\d年月日%]|合格|一星|二星|三星|总价合同|单价合同|承台|框架|装配式/u.test(d)||C.test(d)&&c?.(d)?"":f}(a.value,c,i);b&&e.set(b,[...e.get(b)||[],a])}if(e.size>1){let a=[...e.values()].slice(0,4).map(a=>`${(0,n.lG)(a[0].value).slice(0,120)}(${[...new Set(a.map(a=>a.sourceFile))].slice(0,3).join("、")})`).join(" vs ");j.push(`事实冲突:${b} 存在多个来源值:${a}`)}}return j.slice(0,8)}function E(a){return(0,n.lG)(a).replace(/\s*[##]{1,6}\s*/gu,"")}function F(a){return(0,n.lG)(a).replace(/[\u00A0\u2002-\u200B\u3000]/gu," ").replace(/([\p{Script=Han}])\s+([\p{Script=Han}])/gu,"$1$2").replace(/(\d)\s+(日历天|天|个月|月|年|万元|元|㎡|平方米|米|m|mm|MPa|kPa|%)/giu,"$1$2").replace(/(合同|投资|工程|项目)\s*估\s*算\s*(?:价格|价)/gu,"$1估算价").replace(/计划\s*工\s*期/gu,"计划工期").replace(/合同\s*工\s*期/gu,"合同工期").replace(/质量\s*标\s*准/gu,"质量标准").replace(/建设\s*地\s*点/gu,"建设地点").replace(/建设\s*规\s*模/gu,"建设规模").replace(/招标\s*范\s*围/gu,"招标范围").replace(/最高\s*投\s*标\s*限\s*价/gu,"最高投标限价").replace(/招标\s*控\s*制\s*价/gu,"招标控制价").replace(/[::]\s*/gu,":").replace(/\s+/gu," ").trim()}let G=[{fieldId:"project_name",key:"项目名称",fieldName:"项目名称",pattern:/(?:项目名称|工程名称|招标项目名称)[::\s为是]+([^\n。;;]{2,120})/u},{fieldId:"project_code",key:"项目编号",fieldName:"项目编号",pattern:/(?:项目编号|招标项目编号|工程编号)[::\s为是]+([A-Za-z0-9\-_.()()]{4,80})/u},{fieldId:"owner",key:"招标人",fieldName:"招标人",pattern:/(?:招标人|建设单位|发包人)[::\s为是]+([^\n。;;]{2,120})/u},{fieldId:"project_location",key:"建设地点",fieldName:"建设地点",pattern:/建设地点[::\s为是]+([^\n。;;]{2,100})/u},{fieldId:"project_scale",key:"建设规模",fieldName:"建设规模",pattern:/建设规模[::\s为是]+([^\n。;;]{2,220})/u},{fieldId:"project_scale",key:"建设规模",fieldName:"建设规模",pattern:/(?:拟|计划|规划|目标|力争|预计|期望|远期|未来|设想|建议|预期|争取)[^,,。;;\n]{0,12}?(?<![地上地下])总?建筑面积(?:约|约为|约计|共计|为)?\s*[\d,,.]+\s*(?:㎡|m²|m2|平方米)|((?<![地上地下])总?建筑面积(?:约|约为|约计|共计|为)?\s*[\d,,.]+\s*(?:㎡|m²|m2|平方米))/u},{fieldId:"project_scope",key:"招标范围",fieldName:"招标范围",pattern:/招标范围[::\s为是]+([^\n。;;]{2,220})/u},{fieldId:"schedule_requirement",key:"计划工期",fieldName:"周期要求",pattern:/(?:(?:计划工期|合同工期|总工期)[::\s为是约]*|工期[::\s为是约]+)([^\n。;;]{0,40}?\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年)(?:[^\n。;;]{0,30})?)/u},{fieldId:"quality_standard",key:"质量标准",fieldName:"质量标准",pattern:/质量标准[::\s为是]+([^\n。;;]{1,60})/u},{fieldId:"project_investment_estimate",key:"合同估算价格",fieldName:"项目投资估算",pattern:/(?:合同估算价格|合同估算价|投资估算|估算价格|工程估算价|项目估算价|最高投标限价|招标控制价)[::\s为是约]+([^\n。;;]{0,80}?\d+(?:\.\d+)?\s*(?:万元|元))/u},{fieldId:"labor_peak",key:"劳动力高峰人数",fieldName:"劳动力高峰人数",pattern:/(?:劳动力|用工|作业人员|施工人员)[^。;;\n]{0,40}?(?:高峰|峰值)[^。;;\n]{0,20}?(\d+(?:\.\d+)?\s*人)/u},{fieldId:"labor_peak",key:"劳动力高峰人数",fieldName:"劳动力高峰人数",pattern:/(?:高峰(?:期)?(?:劳动力|用工|人数|作业人员)|高峰期人数)[^。;;\n]{0,20}?(\d+(?:\.\d+)?\s*人)/u},{fieldId:"assembly_rate",key:"装配率",fieldName:"装配率",pattern:/(?:装配率|装配式建筑占比|装配式比例|装配式建筑面积占比)[^。;;\n]{0,16}?(\d+(?:\.\d+)?\s*%)/u},{fieldId:"foundation_support_form",key:"基坑支护形式",fieldName:"基坑支护形式",pattern:/(?:基坑支护(?:形式|方式|方案)?|支护(?:形式|方式))[^。;;\n]{0,10}?(?:采用|为|:|:|\s)([^。;;\n]{2,60})/u},{fieldId:"award_clause",key:"创优奖惩条款",fieldName:"创优奖惩条款",pattern:/(?:创优(?:目标|奖惩)?|优质优价)[^。;;\n]{0,60}?(\d+(?:\.\d+)?\s*万元)/u},{fieldId:"award_clause",key:"创优奖惩条款",fieldName:"创优奖惩条款",pattern:/(?:确保|争创|力争|争获)?[\u4e00-\u9fa5]{2,6}[杯奖][^。;;\n]{0,60}?(\d+(?:\.\d+)?\s*万元)/u}];function H(a,b){let c=F((0,n.lG)(b));return!(!a||!c||c.length>260||/###|第\s*\d+\s*页|共\s*\d+\s*页|律师代理费|投标文件的编制|备选投标方案|投标将被否决|投标人提供|投标有效期|电子交易系统|公共资源交易监督管理部门|中标候选|评标委员会|实质性内容作出响应/u.test(c)||/签章|盖章|联系人|联系电话|电话|邮箱|解密|开标|评标|保证金|交易系统|空白|填写|上传|下载|递交/u.test(c))&&("schedule_requirement"===a?c.length<=90&&/\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年)/u.test(c):"quality_standard"===a?c.length<=40&&/合格|优良|一次性验收|国家.*验收|达到/u.test(c)&&!/工期|投标|技术标准|\d[..、]/u.test(c):"owner"===a?c.length>=4&&c.length<=80&&/公司|局|委员会|中心|处|院|所|校|集团|有限|股份|责任|管理/u.test(c)&&!/将报|监督管理部门|投标人|中标|负责解释|见招标|详见|空白|填写/u.test(c):"project_location"===a?c.length<=120&&!/见招标公告|详见|投标/u.test(c):"project_scope"===a?c.length<=220&&!/^[((]\s*\d+[))]/u.test(c)&&!/具备.{0,24}(?:证书|考核合格|安全生产考核)/u.test(c)&&!/^见(?:招标|投标人|前附)/u.test(c):"project_code"===a?/^[A-Za-z0-9\-_.()()]+$/u.test(c):"project_investment_estimate"===a?c.length<=100&&/\d+(?:\.\d+)?\s*(?:万元|元)/u.test(c):"labor_peak"===a?c.length<=40&&/\d+(?:\.\d+)?\s*人/u.test(c):"assembly_rate"===a?c.length<=20&&/\d+(?:\.\d+)?\s*%/u.test(c):"foundation_support_form"===a?c.length<=60&&/支护|放坡|锚|桩|喷|开挖|护坡/u.test(c):"award_clause"===a?c.length<=120&&/\d+(?:\.\d+)?\s*万元/u.test(c)&&!/评标|保证金/u.test(c):c.length<=220)}let I=/\||第\s*\d+\s*页|共\s*\d+\s*页|[##]{1,6}| 资料参数行摘要|(?<=[日天])\s*[0-9]+(?:\.[0-9]+)?(?=[\s]*(?:招标|建设|质量|合同|项目|工程|资金|投标|开标|评标|付款|工期|开工|计划|计价|现场|资质|标段|[0-9]{1,3}[.、.]|[,,。;;]|$))/u,J=/规模|范围|工期|周期|project_scope|project_scale/iu,K=/^[A-Za-z0-9\-_.()()]+$/u,L=/(?:招标项目编号|项目编号|工程编号|标段编号|合同编号|编号)[::为是]*([A-Za-z0-9][A-Za-z0-9\-_.()()]{3,79})/gu;function M(a,b,c){let d,e=[];for(let f of a){let a=(0,n.lG)(f.value).trim();if(!a)continue;let g=I.exec(a),h=a;g&&(h=a.slice(0,g.index).replace(/[\s::,,、;;\-—|]+$/u,"").trim());let i=h!==a;if(h.length<2){c.dropped+=1;continue}let j="project_code"===f.fieldId||/编号|代码/u.test(`${f.fieldName||""}${f.key||""}`);if(j&&!K.test(h)||h.length>120&&!J.test(`${f.fieldId||""} ${f.fieldName||""} ${f.key||""}`)){c.dropped+=1;continue}let k=!1;if(j&&h.length>=4){let a=[...(d||=function(a){let b=new Map;for(let c of a)for(let a of E((0,n.lG)(c.content)).replace(/\s+/gu,"").matchAll(L)){let c=a[1];c&&b.set(c,(b.get(c)||0)+1)}return b}(b)).entries()].filter(([a])=>a.length>=h.length+2&&a.startsWith(h)),c=a.sort((a,b)=>b[1]-a[1]||a[0].length-b[0].length)[0]?.[0];c&&(h=c,k=!0)}i&&(c.truncated+=1),k&&(c.repaired+=1),e.push(h===a?f:{...f,value:h})}return e}function N(a){let b={localFacts:(0,q.am)(function(a,b,c){let d=(0,j.Uy)(b,c),e=d.map(a=>({field:a,pattern:function(a){let b=a.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),c=/规模|scale|工期|周期/iu.test(a)?"[^。]{2,220}":"[^\n,。;;]+";return RegExp(`${b}[::\\s]+(${c})`,"u")}(a.name)})),f=d.map(a=>a.name).filter(Boolean),g=[];for(let b of a)for(let{field:a,pattern:c}of e){if(!(0,j.I2)(b,a))continue;let d=b.content.match(c),e=d?.[1]?.trim();if(!e)continue;e=(e=E(e).replace(/\s+/gu,"")).replace(/(?<=[日天])[0-9]+(?:\.[0-9]+)?(?=(?:招标范围|质量标准|建设规模|计划工期|合同估算|项目名称|项目编号|建设地点|招标人|资金来源|投标人资格|资质要求|开标|评标|付款|计价|现场条件|开工日期|合同工期|工期要求|[0-9]{1,3}[.、.]|[,,。;;]|$))/u,"");let i=f.filter(b=>b!==a.name).map(a=>e.indexOf(a)).filter(a=>a>0);i.length>0&&(e=e.slice(0,Math.min(...i))),!e||!(e.length<=220)||(0,h.rF)(h.p4,e)||(0,h.d2)(h.p4,e)||g.some(b=>b.fieldId===a.id&&b.value===e)||g.push({key:a.name,fieldId:a.id,fieldName:a.name,value:e,sourceFile:b.filePath,roleId:b.roleId||"unknown",processingType:b.processingType,confidence:b.score,sourceRef:{filePath:b.filePath,roleId:b.roleId||"unknown",processingType:b.processingType,sectionTitle:b.sectionTitle}})}return g}(a.evidence,a.template,a.spec),a.scope),projectBasicFacts:(0,q.am)(function(a){let b=[],c=new Set;for(let d of a)for(let a of E((0,n.lG)(d.content)).replace(/(\d)\s*\r?\n\s*(日历天|天|个月|月|年|万元|元|㎡|平方米|米|m|mm|MPa|kPa|%)/giu,"$1$2").replace(/([\d,,.]+(?:平方|立方|㎡|m²|m2|m)?)\s*\r?\n\s*(米|m|㎡|m2|m²)/gu,"$1$2").split(/\r?\n/u).flatMap(a=>{let b=F(a);return b.length>260?b.split(/(?=\d+(?:\.\d+)?\s*[^\s::]{2,12}[::])/u):[b]}).filter(Boolean))if(!/报价明细|综合单价|税率|增值税|利润|结算/u.test(a)||/合同估算价|合同估算价格|投资估算|最高投标限价|招标控制价/u.test(a))for(let e of G){let f=e.pattern.exec(a),g=f?.[1]?.trim();if(!g||!H(e.fieldId,g))continue;let h=`${d.filePath}:${e.fieldId}:${g}`;c.has(h)||(c.add(h),b.push({key:e.key,fieldName:e.fieldName,fieldId:e.fieldId,value:g,sourceFile:d.filePath,roleId:d.roleId||"project_basic_fact",processingType:d.processingType||"reference",confidence:Math.max(.82,d.score||.82),sourceRef:{filePath:d.filePath,roleId:d.roleId||"project_basic_fact",processingType:d.processingType||"reference",sectionTitle:d.sectionTitle}}))}return b.slice(0,80)}(a.evidence),a.scope),preciseFacts:(0,q.am)(function(a,b=h.p4){let c=[],d=new Set;for(let e of a){let a=`${e.roleId||""} ${e.processingType||""} ${e.filePath} ${e.sectionTitle||""}`;if(!/structured_data|\bdraw(?:ing)?\b|\btable\b|\bbill\b|\bboq\b|\bsheet\b|\bspec\b|\bstandard\b|\brecord\b|\breport\b|表格|数据|规格|参数|标准|记录|报告|清单|图纸|说明/u.test(a)&&e.score<.75)continue;let f=(0,n.lG)(e.content).replace(/\s+/gu," ");for(let a of f.matchAll(m._W)){let g=a[0].trim();if(!g||(0,h.rF)(b,g))continue;let i=Math.max(0,(a.index||0)-40),j=Math.min(f.length,(a.index||0)+g.length+40),k=f.slice(i,j);if((0,h.d2)(b,k)||(0,h.E1)(b,k))continue;let l=`${e.filePath}:${g}`;d.has(l)||(d.add(l),c.push({key:"精确参数",fieldName:"技术参数",fieldId:"technical_parameter",value:g,sourceFile:e.filePath,roleId:e.roleId||"precise_fact",processingType:e.processingType||"precise",confidence:Math.max(.7,e.score||.7),sourceRef:{filePath:e.filePath,roleId:e.roleId||"precise_fact",processingType:e.processingType||"precise",sectionTitle:e.sectionTitle}}))}}return c.slice(0,240)}(a.evidence,a.profile||h.p4),a.scope),structuredTables:(0,q.am)(u(a.evidence),a.scope)},c={truncated:0,dropped:0,repaired:0};if("0"===process.env.DOCUMENT_FACT_SANITIZE)return{...b,factSanitize:c};if(b.localFacts=M(b.localFacts,a.evidence,c),b.projectBasicFacts=M(b.projectBasicFacts,a.evidence,c),b.preciseFacts=M(b.preciseFacts,a.evidence,c),a.diagnostics&&(c.truncated>0||c.dropped>0||c.repaired>0)){let b=a.diagnostics.factSanitize||={truncated:0,dropped:0,repaired:0};b.truncated+=c.truncated,b.dropped+=c.dropped,b.repaired+=c.repaired}return{...b,factSanitize:c}}function O(a){return`${a.key} ${a.fieldName||""} ${a.value} ${a.roleId} ${a.processingType||""} ${a.sourceFile}`}function P(a){return/合同估算价|合同估算价格|投资估算|估算价格|工程估算价|项目估算价|最高投标限价|招标控制价/u.test(a)}function Q(a){let b=O(a);return!P(b)&&/投标保证金|发票类型|开标时间|公共资源交易监督管理|不良行为记录|投诉举报|资质投诉|投标承诺|违约金|中标服务费|交易平台|保证金账户|投标有效期|报价明细|投标报价|单价|合价|税率|增值税|利润|结算/u.test(b)}function R(a){return(0,n.lG)(a).replace(/\s+/gu," ").trim()}function S(a,b=[]){return[...new Set([a,...b,...a.split(/[\s、,。;;::/\\_-]+/u)].map(R).filter(a=>a.length>=2))]}function T(a,b,c){var d,e;let f=R(c.label);if(!f||(0,h.rF)(b,f)||(0,h.d2)(b,f))return;let g=c.id||(d=c.source,e=c.fieldId,`${d}:${e||f}`.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-|-$/gu,"")||`${d}-${Math.random().toString(36).slice(2,8)}`),i=c.queries?.length?c.queries.map(R).filter(Boolean):S(f),j=a.find(a=>a.id===g||a.label===f);if(j){j.required=j.required||c.required,j.queries=[...new Set([...j.queries,...i])];return}a.push({...c,id:g,label:f,queries:i})}function U(a,b,c,d,e,f=[]){"do_not_use"!==c.usagePolicy&&"diagnostic_only"!==c.usagePolicy&&"forbidden"!==c.derivationPolicy&&T(a,b,{label:c.name,category:c.category,required:e,source:d,fieldId:c.id,queries:S(c.name,[...c.aliases,...f])})}function V(a){let b=a.profile||h.p4,c=[],d=[a.template.name,a.template.outputTitle,a.chapter.title,a.chapter.purpose,...a.chapter.sections||[],...a.chapter.requiredFacts||[]].filter(Boolean).join(" "),e=a.spec?.chapterRules.find(b=>b.id===a.chapter.id||b.title===a.chapter.title);for(let d of a.chapter.requiredFacts||[])T(c,b,{label:d,category:(0,h.oC)(b,d)?.category||"required",required:!0,source:"template"});for(let d of a.chapter.sections||[])T(c,b,{label:d,category:"section",required:!1,source:"section",queries:S(d,[a.chapter.title])});for(let d of a.plan?.requiredContents||[])T(c,b,{label:d,category:(0,h.oC)(b,d)?.category||"plan",required:!0,source:"plan"});for(let d of a.plan?.evidenceNeeds||[])T(c,b,{label:d,category:(0,h.oC)(b,d)?.category||"plan",required:!0,source:"plan"});for(let d of e?.requiredFactIds||[]){let e=a.spec?.factFields.find(a=>a.id===d);e&&T(c,b,{label:e.name,category:(0,h.oC)(b,e.name)?.category||"spec",required:!0,source:"spec",fieldId:e.id,queries:S(e.name,[e.extractionHint||"",e.validationHint||""])})}for(let e of a.spec?.factFields||[]){if(!e.required)continue;let f=(0,h.oC)(b,e.name),g=`${e.name} ${e.extractionHint||""} ${e.validationHint||""}`;(d.includes(e.name)||S(e.name,f?.aliases||[]).some(a=>d.includes(a))||a.chapter.requiredFacts.some(a=>a.includes(e.name)||e.name.includes(a)))&&T(c,b,{label:e.name,category:f?.category||"spec",required:!0,source:"spec",fieldId:e.id,queries:S(e.name,[g])})}for(let a of b.factFields)[a.name,...a.aliases].some(a=>a.length>=2&&d.includes(a))&&U(c,b,a,"profile","must_use"===a.usagePolicy,[d]);let f=R(a.requirement||"");if(f)for(let a of b.factFields)[a.name,...a.aliases].some(a=>a.length>=2&&f.includes(a))&&U(c,b,a,"requirement",!0,[f]);let g=R(a.promptTexts||"");if(g)for(let d of b.factFields)[d.name,...d.aliases].some(a=>a.length>=2&&g.includes(a))&&U(c,b,d,"prompt","must_use"===d.usagePolicy,[a.chapter.title]);return c}function W(a){let b=new Set;return a.filter(a=>{let c=`${a.sourceFile}:${a.key}:${a.value}`;return!b.has(c)&&(b.add(c),!0)})}function X(a){let b=a.profile||h.p4,c=a.excludedEvidenceKeys,d=W([...a.factsModel.factIndex.parameterFacts,...a.factsModel.billItemFacts||[],...a.factsModel.factIndex.billFacts,...a.factsModel.factIndex.tableFacts,...a.factsModel.factIndex.drawingFacts,...a.factsModel.factIndex.reliableFacts]);return a.needs.map(e=>{let f=a=>"bill_of_quantities"===a.processingType||"structured_data"===a.processingType||/bill|boq|清单/u.test(O(a))?.05:0,g=W(d.filter(a=>(function(a,b,c){let d=O(a);if(Q(a)||(0,h.rF)(c,d)||(0,h.d2)(c,d))return!1;if(b.fieldId&&a.fieldId===b.fieldId||(0,h.oC)(c,a.fieldName||a.key)?.id===b.fieldId||b.queries.filter(a=>a.length>=2).some(a=>d.includes(a)))return!0;let e=(0,h.oC)(c,b.label);return!!(e&&[e.name,...e.aliases].some(a=>a.length>=2&&d.includes(a)))})(a,e,b))).sort((a,b)=>(b.confidence||0)+f(b)-((a.confidence||0)+f(a))),i=(a.evidence||[]).filter(a=>!c?.has((0,p.hM)(a))&&function(a,b,c){let d=`${a.filePath} ${a.roleId||""} ${a.processingType||""} ${a.sectionTitle||""} ${a.content}`;return!((0,h.rF)(c,d)||(0,h.d2)(c,d))&&b.queries.some(a=>a.length>=2&&d.includes(a))}(a,e,b)),j=Math.max(0,...g.map(a=>a.confidence||0)),k=0===g.length&&0===i.length?"missing":j>0&&j<.58?"low_confidence":"satisfied";return{need:e,facts:g,evidence:i,status:k}})}function Y(a){return W(a.flatMap(a=>a.facts))}function Z(a){let b=a.map(a=>{let b=a.facts.filter((a,b,c)=>c.findIndex(b=>(0,n.lG)(b.value)===(0,n.lG)(a.value))===b).slice(0,5).map(b=>`${b.key||b.fieldName||a.need.label}=${$(b.value)}${b.sourceFile?`(${e.basename(b.sourceFile)})`:""}`),c=a.facts.length?[]:(a.evidence||[]).slice(0,2).map(a=>`证据片段:${$(a.content).slice(0,160)}${a.filePath?`(${e.basename(a.filePath)})`:""}`);return`- ${a.need.required?"必须":"相关"}|${a.need.label}|${a.status}${b.length||c.length?`:${[...b,...c].join(";")}`:":未在已解析资料中确认"}`});return b.length?`事实需求覆盖卡片:
12
+ ${b.join("\n")}`:""}function $(a){return(0,n.lG)(a).replace(/\s+/gu," ").trim().slice(0,220)}let _=/[\u3400-\u4DBF\u{20000}-\u{3FFFF}]/gu,aa=/(?:R\d+C\d+|COL\d+|第\d+行第\d+列)/giu;function ab(a){let b=a.match(/([\u4e00-\u9fa5]{2,8}?(?:镇|乡|县|市|区|街道|村))/u);return b?.[1]}function ac(a,b){for(let c of a.matchAll(/([\u4e00-\u9fa5]{2,8}?(?:镇|乡|县|市|区|街道|村))[^。;;\n]{0,24}?(?:项目|工程)/gu))if(c[1]!==b)return!0;return!1}function ad(a){let b=`${a.key||""}${a.fieldName||""}${a.fieldId||""}`,c=F((0,n.lG)(a.value)).trim();if(!c)return a;if(/项目名称|工程名称|project_name/u.test(b)){if(C.test(c))return a;let b=c.replace(/^(?:项目|工程)名称[::]\s*/u,"").trim();if(!(/项目|工程/u.test(b)&&!/(?:[||]|序号|合计|金额|第\d*页|共\d*页)/u.test(b)&&b.length>=3&&b.length<=80))return{...a,value:""}}if(/招标人|建设单位|发包人|tenderee/u.test(b)){if(aa.test(c))return a;let b=c.replace(/^招标人[::]\s*/u,"").trim();if(!(/(?:政府|公司|局|委员会|集团|学院|大学|中心|研究院|设计院|事务所|管理处|指挥部|医院|学校|村委会|居委会)(?:[((][^))]*[))])?$/u.test(b)&&b.length<=60))return{...a,value:""}}return a}async function ae(a,b=[],c=[],d,e=h.p4){a=function(a){let b=a.filter(a=>!function(a){let b=(0,n.lG)(a.value);if(!b)return!1;let c=[...b.matchAll(_)].length;if(c>0){let a=[...b.matchAll(/[\u3400-\u4DBF\u4E00-\u9FFF\u{20000}-\u{3FFFF}]/gu)].length;if(b.length<=40||a>0&&c/a>=.2)return!0}return!!aa.test(b)&&!!(b.replace(aa,"").trim().length<=24)}(a)).map(ad).filter(a=>(0,n.lG)(a.value).trim().length>0),c=b.find(a=>("项目名称"===a.key||"project_name"===a.fieldId)&&(0,n.lG)(a.value).trim().length>=6),d=c?F((0,n.lG)(c.value)).trim():"",e=d?ab(d):void 0;return e?b.map(a=>{let b=`${a.key||""}${a.fieldName||""}${a.fieldId||""}`,c=F((0,n.lG)(a.value)).trim();if(!c)return a;if(/招标范围|施工范围/u.test(b)){let b=c.split(/[。;;\n]/u).map(a=>a.trim()).filter(Boolean);if(b.length<=1)return ac(c,e)?{...a,value:""}:a;let d=b.filter(a=>!ac(a,e));return 0===d.length?{...a,value:""}:{...a,value:d.join(";")}}return/项目名称候选|项目名称|工程名称/u.test(b)&&ac(c,e)?{...a,value:""}:a}).filter(a=>(0,n.lG)(a.value).trim().length>0):b}(a);let f=b=>a.filter(a=>b.some(b=>`${a.key} ${a.fieldName||""}`.includes(b))),g=b=>a.filter(a=>a.processingType===b||a.roleId.includes(b)),i=a.filter(a=>{let b=`${a.key} ${a.fieldName||""} ${a.value}`;return m.sv.test(b)&&(!(0,h.rF)(e,b)||P(b))&&!(0,h.d2)(e,b)}),j=a.filter(a=>"table"===a.processingType||"structured_data"===a.processingType||"bill_of_quantities"===a.processingType||/bill|boq|table|sheet|data|表格|列表|明细|数据/u.test(`${a.roleId} ${a.sourceFile}`)),k=v(b).slice(0,600),l=function(a){let b={},c=(a,c,d,e,f)=>{if(!a||!d)return;let g=d.replace(/[,,。\s]+$/u,"").slice(0,40),h=b[a]||=[];h.some(a=>a.location===c&&a.spec===g)||h.push({location:c,spec:g,quantity:e||void 0,sourceFile:f})};for(let b of a){let a=(b.key||"").replace(/^清单条目:/u,"");if(!a)continue;let d=(0,n.lG)(b.value),e=/|工程量:(.+)$/u.exec(d)?.[1]??"",f=d.replace(/|工程量:.+$/u,""),g=function(a){let b=[];for(let c of a.split(/[;;]/u)){let a=c.replace(/^\s*\d+[.、]\s*/u,"").trim(),d=a.search(/[::]/u);if(d>0){let c=a.slice(0,d).trim(),e=a.slice(d+1).trim();c.length>=2&&c.length<=20&&e&&b.push({label:c,value:e})}}return b}(f),h=!1;for(let{label:d,value:f}of g){if(w.some(a=>d.includes(a))){h=!0,c(d,a,f,e,b.sourceFile);continue}let g=f.match(x)?.[0];g&&g!==f&&c(y(g),a,g,e,b.sourceFile)}if(!h)for(let d of f.match(x)||[])c(y(d),a,d,e,b.sourceFile)}return b}(k),o=(function(a){let b=[];for(let c of a){let a=`${c.key||""}${c.fieldName||""}${c.fieldId||""}`,d=(0,n.lG)(c.value);if(/建设规模/u.test(a)&&/占地|用地/u.test(d)&&/建筑面积/u.test(d)){let a=d.search(/(?:总)?占地/u),e=d.search(/(?:单体)?总?建筑面积/u);if(a>=0&&e>a){let f=d.slice(a,e).replace(/^[,,、\s]+/u,"").replace(/[,,、\s]+$/u,"").trim(),g=d.slice(e).trim();if(f&&g){b.push({...c,key:"总占地面积",fieldName:"总占地面积",fieldId:void 0,value:f}),b.push({...c,key:"单体建筑面积",fieldName:"单体建筑面积",value:g});continue}}}b.push(c)}return b})(a.filter(a=>/项目名称|工程名称|项目编号|招标项目编号|招标人|建设单位|发包人|建设地点|建设规模|招标范围|计划工期|合同工期|周期要求|质量标准|合同估算|投资估算|最高投标限价|招标控制价/u.test(`${a.key||""}${a.fieldName||""}${a.fieldId||""}`))).slice(0,80),p=function(a,b,c,d){let e=a.filter(a=>(0,h.d2)(d,O(a))||(0,h.E1)(d,O(a))),f=a.filter(a=>{let b=O(a);return a.confidence>=.58&&!Q(a)&&!(0,h.rF)(d,b)&&!(0,h.d2)(d,b)&&!(0,h.E1)(d,b)}),g=[...b.filter(a=>!Q(a)),...f.filter(a=>m.sv.test(O(a)))].filter((a,b,c)=>c.findIndex(b=>b.sourceFile===a.sourceFile&&b.value===a.value&&b.key===a.key)===b).slice(0,360),i=f.filter(a=>"table"===a.processingType||/table|sheet|表格|清单|明细|数据|参数行摘要/u.test(O(a))),j=f.filter(a=>"drawing"===a.processingType||/drawing|dwg|图纸|施工图|设计图|平面图|剖面图|大样图|详图/u.test(O(a)));return{reliableFacts:f.slice(0,500),parameterFacts:g,tableFacts:i.slice(0,240),drawingFacts:j.slice(0,240),billFacts:c.slice(0,240),diagnostics:e.slice(0,120)}}(a,i,j,e);return{project:o,schedule:f(["工期","开工","竣工","节点","周期"]),quality:f(["质量","验收"]),safety:f(["安全","风险"]),resources:f(["劳动力","材料","机械","设备","资源"]),tables:b,drawings:g("drawing"),bills:j,preciseFacts:i,rules:g("rule"),specifications:g("specification"),schemaFacts:function(a,b){let c={};for(let d of b?.factFields||[])c[d.id]=a.filter(a=>a.fieldId===d.id||a.key===d.name||a.fieldName===d.name);return c}(a,d),factIndex:p,billItemFacts:k,specAuthorityMap:l,missing:[...new Set(c)],conflicts:await D(a,d,e)}}},1358:(a,b,c)=>{c.d(b,{JV:()=>k,O7:()=>h,QP:()=>l,SR:()=>g,c$:()=>j,e$:()=>i,rj:()=>f,sl:()=>r});var d=c(22157);function e(a){return a.replace(/[\s,,.。::;;||()()《》<>【】"“”'‘’]/gu,"").toLowerCase()}function f(a){let b=a.replace(/[||]\s*(?:[||]\s*)+$/gu,"").replace(/(?:[。;;]|\d+\s*[..、])\s*(?:未尽事宜|其余(?:未尽)?事宜|其他(?:未尽)?事宜|注\s*[::]).*$/u,"").trim();return b=b.replace(/[、,,;;]+\s*$/u,"").trim(),/[||]/u.test(b)&&(b=b.split(/[||]/u)[0]?.trim()||b),b}function g(a){return!(/^(?:见|详见|按|执行|参见|依据).{0,16}(?:前附表|招标公告|招标文件|合同|协议书|通用条款|专用条款|图纸|清单|附件|资料)$/u.test(a)||/(?:^|[::]\s*)(?:见|详见|按|执行|参见|依据)[^。;;]{0,18}(?:前附表|招标公告|招标文件|合同|协议书|通用条款|专用条款|图纸|清单|附件|资料|补疑|答疑)[^。;;]{0,6}$/u.test(a)||/^见.{0,24}(?:招标范围|招标补疑|补疑|前附表|答疑)/u.test(a)||/^(?:合同协议书|通用条款|专用条款|招标文件|招标公告|投标人须知前附表|附件|资料)$/u.test(a.replace(/[()()\d一二三四五六七八九十、..\s]/gu,""))||/^(?:工程名称|项目名称|建设地点|建设规模|计划工期|质量标准|招标范围|合同估算价|工程概况|项目概况|项目内容)$/u.test(a)||/\|/u.test(a)||/^#+\s*/u.test(a)||/^[一二三四五六七八九十]+[、..]\s*\S{2,}[::]/u.test(a)||/^[((]\s*\d+[))]/u.test(a)&&/具备|证书|考核|资格|人员/u.test(a))&&(!(a.length<4)||!!/\d/u.test(a))}function h(a){let b=String(a.value||"").trim(),c=`${a.label}${b}`;return!(!/项目|工程|编号|地点|规模|范围|工期|质量|安全|资源|材料|设备|验收|\d/u.test(c)||!g(b)||/^(?:技术参数|精确参数)$/u.test(a.label))}function i(a,b){let c=new Set,g=[];for(let h of[...b.project,...b.schedule,...b.quality,...b.safety,...b.resources,...b.preciseFacts,...b.bills,...b.drawings,...b.rules,...b.specifications]){let b=f((0,d.lG)(h.value).replace(/\s+/gu," ").trim()),i=h.fieldName||h.key||h.fieldId||"资料事实",j=`${i}:${b}`;!b||c.has(j)||(c.add(j),g.push({label:i,value:b,sourceFile:h.sourceFile,status:!function(a,b){let c=e(a),d=e(b);if(!d||d.length<2||c.includes(d))return!0;{let a=b.split(/[;;。\n]|、|,|,/u).map(a=>e(a.replace(/^\s*\d+\s*[、..]\s*/u,""))).filter(a=>a.length>=4);if(a.length>=2&&a.some(a=>c.includes(a)))return!0}{let a=b.replace(/[、,,;;||\s]+/gu,"、").split("、").map(a=>e(a.replace(/(?:工程|项目|改造|维修|安装|施工|内容|资料|要求|标准)+$/u,""))).filter(a=>a.length>=2);if(a.length>=1&&(a.length>=2||(a[0]?.length??0)>=3)&&a.every(a=>c.includes(a)))return!0}return(b.match(/\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年|万元|元|平方米|㎡|m²|立方米|m³|米|m|mm|cm|台|套|人|项|%|MPa|kPa|个|栋|层|标段|批|处|座|组|道|根|樘|扇)?/giu)||[]).some(a=>e(a).length>=2&&c.includes(e(a)))}(a,b)?"unplaced":"used",confidence:h.confidence}))}return g}function j(a,b={}){let c=a.filter(a=>"unplaced"===a.status&&h(a)),d=b.maxIssues&&b.maxIssues>0?b.maxIssues:c.length;return c.slice(0,d).map(a=>({level:"warning",message:`已确认知识库事实未落位:${a.label}=${a.value}`,suggestion:`请将该事实落位到对应章节,并保持来源 ${a.sourceFile||"结构化事实主表"} 的原始口径。${c.length>d?`(共${c.length}个未落位事实,此处显示前${d}个)`:""}`}))}function k(a,b){let c=b.tables||[],d=[],f=e(a);for(let a of c){let b=a.headers.map(a=>a.replace(/\s+/gu,"").toLowerCase()),c=b.findIndex(a=>/项目名称|名称|清单项|分部分项|项目特征|工程内容|材料名称|设备名称/u.test(a)),g=b.findIndex(a=>/编码|编号|序号|项目编码/u.test(a)),h=b.findIndex(a=>/数量|工程量/u.test(a)),i=b.findIndex(a=>/单位/u.test(a));for(let b of a.rows){let j=c>=0&&b[c]||"",k=g>=0&&b[g]||"";if(!j&&!k){let a=b.findIndex(a=>/^\d{10,12}$/u.test(a)||/^[A-Z]{1,3}\d{8,}$/u.test(a));a>=0&&(k=b[a]||"",j=b[a+1]||"")}let l=h>=0&&b[h]||"",m=i>=0&&b[i]||"";if(!j&&!k)continue;let n=e(j),o=e(k),p=n.length>=3&&f.includes(n.slice(0,12))||o.length>=3&&f.includes(o.slice(0,8));d.push({itemCode:k.slice(0,50),itemName:j.slice(0,200),quantity:l.slice(0,50),unit:m.slice(0,20),sourceFile:a.sourceFile||"",placed:p})}}return d.sort((a,b)=>a.placed===b.placed?0:a.placed?1:-1)}function l(a,b={}){let c=a.filter(a=>!a.placed);if(0===c.length)return[];let d=a.length,e=(d-c.length)/d,f=[];return e<.3?f.push({level:"warning",message:`BOQ 清单行级落位严重不足:${d-c.length}/${d} 行(${Math.round(100*e)}%)`,suggestion:`清单明细数量较大,建议优先补充主要分部分项、关键规格和大额工程量。未落位清单项示例:${c.slice(0,5).map(a=>`${a.itemName} ${a.quantity}${a.unit}`).join(";")}`}):e<.6&&f.push({level:"warning",message:`BOQ 清单行级落位不足:${d-c.length}/${d} 行(${Math.round(100*e)}%)`,suggestion:`建议补充落位:${c.slice(0,5).map(a=>a.itemName).join("、")}`}),f}let m=/公厕|厕所|过路涵|涵洞|涵管|污水|排水沟|水沟|清淤|沟塘|小菜园|菜园|菜地|花池|树池|挡墙|护栏|路灯|检查井|化粪池|泵站|生态池|生态塘|护坡|驳岸|栈道|步道|管网|管道|道路|铺装|绿化|景观|基础|结构|防水|屋面|外墙|内墙|地面|门窗|栏杆|电梯|电气|给水|排水|消防|通风|空调|智能化|幕墙|基坑/u,n=/^(?:管网|管道|道路|铺装|绿化|景观|基础|结构|防水|屋面|外墙|内墙|地面|门窗|栏杆|电梯|电气|给水|排水|消防|通风|空调|智能化|幕墙|基坑)$/u,o={公厕:["公共厕所","厕所"],厕所:["公厕","公共厕所"],菜地:["菜园","小菜园"],菜园:["菜地"],小菜园:["菜地"]},p=/^(?:挖|回填|运|运输|拆除|清理|浇筑|绑扎|安装|铺设|砌筑|抹灰|刷|喷|摊铺|碾压|夯实|整平|找平|支模|搭设|检测|试验|防腐|除锈)/u,q=/计价|费用|税金|规费|暂列|暂估|合计|汇总|小计|措施项目|其他项目|税金项目/u;function r(a,b,c){if(0===(c.tables||[]).length)return[];let d=b.filter(a=>/施工方法|施工方案|施工工艺|主要施工内容|分部分项/u.test(a.title)),f=d.map(a=>a.content||"").join("\n");if(!f)return[];let g=e(f),h=k(a,c),i=[],j=new Set;for(let a of h){let b=(a.itemName||"").trim();if(!b||q.test(b)||p.test(b))continue;let c=[...b.matchAll(RegExp(m.source,"gu"))].map(a=>a[0]);if(0===c.length)continue;let d=c.filter(a=>!n.test(a));if(0===d.length)continue;let f=a=>g.includes(e(a))||(o[a]||[]).some(a=>g.includes(e(a)));if(d.some(f))continue;let h=b.slice(0,12);j.has(h)||(j.add(h),i.push(`${b.slice(0,30)}${a.quantity?` ${a.quantity}${a.unit}`:""}`))}return 0===i.length?[]:[{level:"error",severity:"blocker",category:"evidence_coverage",owner:"llm",repairability:"llm_repairable",chapterId:d[0]?.id,message:`施工方法章分项覆盖缺失:${i.slice(0,6).join(";")}${i.length>6?` 等共 ${i.length} 个清单分项`:""}`,suggestion:"施工方法章必须逐项覆盖工程量清单中的全部分部分项(含公厕/过路涵/污水管网/排水沟/沟塘清淤/小菜园等专项分项):为每个缺失分项补齐施工方法小节(施工概况/施工流程/施工方法三要素齐全),禁止只写道路、铺装、绿化等大类而遗漏清单独有分项。"}]}},8667:(a,b,c)=>{function d(a,b,c,e,f=!0){return{name:a,sourceDomain:b,sourceHint:c,fallbackPolicy:e,required:f}}c.d(b,{w9:()=>j,El:()=>k,Gl:()=>o,Xi:()=>m,T4:()=>n,nn:()=>l});let e=[{id:"project-overview",title:"工程概况一览表",moduleTitles:["编制说明与工程概况"],required:!0,triggerKeywords:["工程概况","概况","编制说明","建设规模","工期"],fields:[d("工程名称","project","从项目名称、招标范围提取","projectFactOnly"),d("建设地点","project","从建设地点资料提取","projectFactOnly"),d("建设规模","project","建筑面积、结构形式、层数等从资料提取","projectFactOnly"),d("计划工期","schedule","从工期节点或资料提取","projectFactOnly"),d("质量标准","standards","从招标要求或质量标准提取","standardAllowed"),d("招标范围","requirements","从招标范围与工作内容提取","deriveFromContext")]},{id:"project-difficulty",title:"项目重难点识别表",moduleTitles:["编制说明与工程概况"],required:!0,triggerKeywords:["重点","难点","重难点","风险"],fields:[d("重难点","risks","从图谱风险、现场条件、项目要求中提取","deriveFromContext"),d("形成原因","siteConditions","结合现场条件、工期、周边环境、施工范围说明","deriveFromContext"),d("影响范围","works","关联受影响的分部分项、区域、工序或周边对象","deriveFromContext"),d("专项措施","methods","结合工艺方法、风险 mitigation 和标准措施填写","standardAllowed"),d("责任岗位","standard","按项目经理、技术负责人、施工员、安全员、质量员等职责填写","standardAllowed")]},{id:"site-layout-zones",title:"现场总平面分区布置表",moduleTitles:["施工现场平面布置与临设管理"],required:!0,triggerKeywords:["总平面","平面布置","临设","材料堆场"],fields:[d("区域名称","siteConditions","从现场条件、临设、加工区、办公生活区等识别","deriveFromContext"),d("位置","siteConditions","从现场平面、道路、场地条件或资料描述提取","projectFactOnly",!1),d("功能","standard","按办公、生活、加工、堆放、通行等功能填写","standardAllowed"),d("面积","project","仅资料明确时填写,不得编造","projectFactOnly",!1),d("搭设标准","standards","按临设、安全文明、消防、环保标准填写","standardAllowed"),d("拆除时间","schedule","结合施工阶段或竣工清理阶段填写","deriveFromContext",!1)]},{id:"temporary-electric-load",title:"临时用电负荷统计表",moduleTitles:["施工现场平面布置与临设管理"],required:!0,triggerKeywords:["临时用电","临电","三级配电","设备功率"],fields:[d("设备名称","resources","从设备资源、机械投入计划中提取","deriveFromContext"),d("功率","resources","仅资料或设备参数明确时填写","projectFactOnly",!1),d("数量","resources","从设备数量或资源计划提取","projectFactOnly",!1),d("总功率","resources","仅功率和数量明确时计算,否则不编造","projectFactOnly",!1),d("负荷等级","standard","按临电管理和设备重要性判断","standardAllowed",!1),d("检查频次","standards","按临电巡查制度填写","standardAllowed")]},{id:"progress-milestones",title:"关键施工节点控制计划表",moduleTitles:["进度计划与工期保障"],required:!0,triggerKeywords:["进度","工期","节点","计划"],fields:[d("关键节点","schedule","从工期节点、里程碑、施工阶段提取","projectFactOnly"),d("计划完成时间","schedule","仅资料明确时填写日期或工期节点","projectFactOnly",!1),d("责任岗位","standard","按施工组织管理职责填写","standardAllowed"),d("投入资源","resources","关联劳动力、机械、材料资源","deriveFromContext"),d("检查频次","standard","按日计划、周计划、月计划检查机制填写","standardAllowed"),d("滞后纠偏措施","methods","结合资源调配、穿插施工和备用资源填写","standardAllowed")]},{id:"equipment-plan",title:"主要施工机械设备投入计划表",moduleTitles:["资源配置计划"],required:!0,triggerKeywords:["机械设备","设备投入","资源配置"],fields:[d("设备名称","resources","从 equipment 类型资源提取","deriveFromContext"),d("规格型号","resources","从资源规格型号提取","projectFactOnly",!1),d("数量","resources","从资源数量提取","projectFactOnly",!1),d("使用阶段","schedule","结合施工阶段和适用工程内容填写","deriveFromContext"),d("用途","works","关联适用分部分项或工序","deriveFromContext"),d("进退场时间","schedule","仅资料明确时填写,否则按施工阶段表达","deriveFromContext",!1)]},{id:"labor-plan",title:"分阶段劳动力动态投入计划表",moduleTitles:["资源配置计划"],required:!0,triggerKeywords:["劳动力","人员投入","班组"],fields:[d("施工阶段","schedule","从施工阶段和进度节点提取","deriveFromContext"),d("工种","resources","从 labor 类型资源、工序需求推导","deriveFromContext"),d("人数","resources","基于各阶段工程量、工期与工序流水,按定额工效推导各阶段各工种人数(投标人编制类数值,资料不会提供,必须推导并落到具体数字)","deriveFromProject"),d("主要工作内容","works","关联对应分部分项工程","deriveFromContext"),d("调配原则","standard","按工期节点、穿插施工和资源动态调配填写","standardAllowed")]},{id:"quality-hidden-acceptance",title:"隐蔽工程验收清单表",moduleTitles:["质量管理体系与质量保证措施"],required:!0,triggerKeywords:["隐蔽工程","隐蔽验收","质量验收"],fields:[d("隐蔽部位","works","从分部分项工程、图纸做法和工序识别","deriveFromContext"),d("验收内容","methods","结合工艺步骤和质量控制点填写","deriveFromContext"),d("验收时机","schedule","按工序完成、覆盖前、下道工序前填写","standardAllowed"),d("验收要点","standards","从验收规范、质量标准和材料要求提取","standardAllowed"),d("影像留存","standard","按隐蔽验收资料归档要求填写","standardAllowed")]},{id:"quality-common-defects",title:"质量通病防治清单表",moduleTitles:["质量管理体系与质量保证措施"],required:!0,triggerKeywords:["质量通病","防治","质量控制"],fields:[d("通病问题","risks","从质量风险、常见工序问题和项目类型推导","deriveFromContext"),d("产生原因","methods","结合施工工艺、材料、环境和操作因素填写","deriveFromContext"),d("预防措施","methods","按工艺控制、样板引路、材料复试等填写","standardAllowed"),d("整改标准","standards","从验收规范和质量标准提取","standardAllowed"),d("复查频次","standard","按质量检查制度填写","standardAllowed")]},{id:"risk-grade-control",title:"危险源辨识与风险分级管控清单",moduleTitles:["安全管理、风险分级与危大工程管控"],required:!0,triggerKeywords:["安全","风险","危险源","危大"],fields:[d("危险源","risks","从项目图谱 risks 和施工工序识别","deriveFromContext"),d("风险等级","risks","使用图谱风险等级或按影响程度判断","deriveFromContext"),d("存在部位","works","关联风险所在工程部位、区域或工序","deriveFromContext"),d("管控措施","risks","优先使用 mitigation,必要时按标准安全措施补充","standardAllowed"),d("监测频次","standards","按安全巡查和专项监测制度填写","standardAllowed"),d("闭环要求","standard","按隐患整改、复查、销项、归档填写","standardAllowed")]},{id:"dangerous-workflow",title:"危大工程全流程闭环管控表",moduleTitles:["安全管理、风险分级与危大工程管控"],required:!0,triggerKeywords:["危大工程","专项施工方案","专家论证"],fields:[d("危大项目","risks","从危大工程、深基坑、高支模、起重吊装等风险识别","deriveFromContext"),d("方案编制","standard","按专项方案编制要求填写","standardAllowed"),d("审批交底","standard","按审核审批、专家论证、技术交底流程填写","standardAllowed"),d("旁站监测","standard","按实施过程旁站、监测、验收要求填写","standardAllowed"),d("验收闭环","standard","按联合验收、挂牌使用、整改销项填写","standardAllowed")]},{id:"environment-control",title:"环境污染物管控指标一览表",moduleTitles:["文明施工、扬尘、噪声与绿色施工"],required:!0,triggerKeywords:["文明施工","扬尘","噪声","绿色施工","环保"],fields:[d("污染源","siteConditions","从扬尘、噪声、废水、垃圾等施工影响识别","deriveFromContext"),d("控制指标","requirements","从招标环保要求、地方监管或标准要求提取","standardAllowed"),d("监测方式","standard","按在线监测、巡查、台账记录填写","standardAllowed"),d("管控措施","methods","按湿法作业、覆盖、冲洗、封闭、沉淀处理填写","standardAllowed"),d("责任岗位","standard","按文明施工管理员、安全员、施工员等填写","standardAllowed")]},{id:"construction-waste",title:"建筑垃圾分类管理表",moduleTitles:["文明施工、扬尘、噪声与绿色施工"],required:!0,triggerKeywords:["建筑垃圾","垃圾分类","绿色施工"],fields:[d("垃圾类别","standard","按可回收材料、建筑垃圾、生活垃圾、危险废弃物分类","standardAllowed"),d("堆放区域","siteConditions","结合现场平面和堆放分区填写","deriveFromContext"),d("处理方式","standard","按回收利用、外运消纳、资质单位处置填写","standardAllowed"),d("清运频次","standard","按现场保洁和垃圾日产日清要求填写","standardAllowed"),d("责任人","standard","按材料员、施工员、安全员、保洁员等填写","standardAllowed")]},{id:"wage-control",title:"农民工工资管控台账表",moduleTitles:["农民工工资保障与劳务管理"],required:!0,triggerKeywords:["农民工工资","工资保障","劳务实名制"],fields:[d("管理环节","requirements","按实名登记、考勤、核算、公示、代发、归档填写","standardAllowed"),d("执行要求","requirements","从工资支付、实名制和专户要求提取","standardAllowed"),d("责任岗位","standard","按劳资员、项目经理、班组长等填写","standardAllowed"),d("形成资料","standard","按考勤表、工资表、银行流水、公示记录等填写","standardAllowed"),d("闭环要求","standard","按争议受理、核查、整改、销项归档填写","standardAllowed")]},{id:"pipeline-protection",title:"临近建筑地下管线保护清单表",moduleTitles:["周边环境、管线与既有建构筑物保护"],required:!1,triggerKeywords:["地下管线","管线保护","既有建筑","周边环境"],fields:[d("保护对象","siteConditions","从地下管线、临近建筑、道路、居民区等识别","deriveFromContext"),d("位置关系","siteConditions","从现场条件、图纸或踏勘资料提取","projectFactOnly",!1),d("风险影响","risks","结合开挖、振动、沉降、交通等影响填写","deriveFromContext"),d("保护措施","methods","按探测、标识、支护、监测、应急抢修填写","standardAllowed"),d("监测频次","standards","按风险等级和施工阶段填写","standardAllowed"),d("应急处置","risks","按停工警戒、抢修联络、复查恢复填写","standardAllowed")]},{id:"seasonal-resource",title:"季节性施工资源配置表",moduleTitles:["季节性施工保障"],required:!0,triggerKeywords:["季节性施工","雨季","冬季","高温","防汛"],fields:[d("季节/天气类型","siteConditions","结合施工季节、当地气候和工期节点填写","deriveFromContext"),d("影响工序","works","关联受雨季、高温、冬季影响的工序","deriveFromContext"),d("配置资源","resources","结合排水、防暑、防冻、防风等物资设备填写","standardAllowed"),d("检查频次","standard","按天气预警、班前检查、雨后复查填写","standardAllowed"),d("应急措施","risks","按防汛、排水、防雷、大风停工等填写","standardAllowed")]},{id:"emergency-materials",title:"应急物资储备清单表",moduleTitles:["应急管理体系"],required:!0,triggerKeywords:["应急","应急物资","应急救援"],fields:[d("物资名称","resources","从应急物资或按风险场景配置","standardAllowed"),d("规格型号","resources","资料明确时填写,否则按通用应急物资表达","standardAllowed",!1),d("数量","resources","仅资料明确时填写","projectFactOnly",!1),d("存放位置","siteConditions","结合现场平面和应急点位填写","deriveFromContext",!1),d("用途","risks","关联火灾、触电、坍塌、暴雨、高温等风险场景","deriveFromContext"),d("检查周期","standard","按应急物资定期检查制度填写","standardAllowed")]},{id:"bim-smart-site",title:"BIM智慧工地应用点表",moduleTitles:["BIM、智慧工地与创新加分模块"],required:!1,triggerKeywords:["BIM","智慧工地","在线监测","数字化"],fields:[d("应用点","requirements","从 BIM、智慧工地、监测要求或加分点识别","deriveFromContext"),d("应用内容","methods","按管线综合、4D模拟、视频监控、扬尘监测等填写","standardAllowed"),d("实施阶段","schedule","结合深化设计、施工准备、全过程管控等阶段填写","deriveFromContext"),d("输出成果","standard","按模型、图纸、台账、预警记录等填写","standardAllowed"),d("作用","standard","按减少返工、校核工期、联动喷淋、风险预警等填写","standardAllowed")]},{id:"master-schedule",title:"施工总进度计划表",moduleTitles:["进度计划与工期保障"],required:!0,triggerKeywords:["总进度","横道图","网络图","总工期","进度计划"],fields:[d("施工阶段/分部分项","schedule","从工期节点、施工阶段与分部分项工程划分提取","deriveFromContext"),d("开始时间","schedule","基于总工期与工序逻辑倒排推导(投标人编制类数值,资料不会提供,必须推导)","deriveFromProject"),d("结束时间","schedule","基于总工期与工序逻辑倒排推导","deriveFromProject"),d("持续时间","schedule","由开始与结束时间推算,须与总工期自洽","deriveFromProject"),d("关键线路工序","methods","按关键路径与工期保障要求判断","deriveFromContext")]},{id:"material-arrival",title:"主要材料进场计划表",moduleTitles:["资源配置计划"],required:!0,triggerKeywords:["材料进场","材料计划","材料供应"],fields:[d("材料名称","resources","从 material 类型资源提取","deriveFromContext"),d("规格型号","resources","从资源规格型号提取","projectFactOnly",!1),d("使用阶段","schedule","关联材料使用工序与施工阶段","deriveFromContext"),d("进场时间","schedule","按使用阶段提前备料推导","deriveFromProject"),d("质量验收要求","standards","按进场复试、见证取样要求填写","standardAllowed")]},{id:"labor-total-stat",title:"劳动力需求总量与高峰统计表",moduleTitles:["资源配置计划"],required:!0,triggerKeywords:["劳动力","高峰人数","总工日"],fields:[d("施工阶段","schedule","从施工阶段和进度节点提取","deriveFromContext"),d("投入工种数","resources","按阶段工序需求统计工种数量","deriveFromProject"),d("阶段平均人数","resources","按阶段工程量与工效定额推导(投标人编制类数值,必须推导)","deriveFromProject"),d("阶段高峰人数","resources","按平行作业与穿插施工推导","deriveFromProject"),d("劳动力总量(工日)","resources","按总工期与平均人数推算","deriveFromProject")]},{id:"inspection-lot",title:"检验批划分计划表",moduleTitles:["质量管理体系与质量保证措施"],required:!0,triggerKeywords:["检验批","检验批划分","质量验收"],fields:[d("分部工程","works","从分部分项工程划分提取","deriveFromContext"),d("分项工程","works","从分部分项工程划分提取","deriveFromContext"),d("检验批划分原则","standards","按验收规范按层、按跨、按流水段划分填写","standardAllowed"),d("验收标准","standards","从验收规范和设计标准提取","standardAllowed"),d("验收组织","standard","按监理、专业监理工程师、施工单位质检人员填写","standardAllowed")]},{id:"quality-target-decompose",title:"质量目标分解与验收计划表",moduleTitles:["质量管理体系与质量保证措施"],required:!0,triggerKeywords:["质量目标","目标分解","创优"],fields:[d("分解层级","standard","按单位工程、分部、分项工程层级填写","standardAllowed"),d("质量目标","standards","从招标质量标准与创优要求提取并逐级分解","deriveFromContext"),d("责任人","standard","按项目经理、技术负责人、质量员、班组长填写","standardAllowed"),d("验收方式","standard","按自检、互检、交接检、监理验收填写","standardAllowed"),d("检查频次","standard","按日检、周检、月度检查制度填写","standardAllowed")]},{id:"new-tech-application",title:"新技术新工艺应用计划表",moduleTitles:["新技术、新工艺、新材料、新设备的应用"],required:!1,triggerKeywords:["新技术","新工艺","新材料","新设备","四新","创新"],fields:[d("技术名称","methods","从项目适用工艺方法、专项技术与创新点识别","deriveFromContext"),d("应用部位","works","关联适用分部分项与部位","deriveFromContext"),d("与传统做法对比","methods","说明技术原理与先进性","deriveFromContext"),d("预期效果","standards","按质量、工期、成本、安全、绿色目标填写","standardAllowed"),d("实施保障","standard","按技术交底、样板引路、验收评价填写","standardAllowed")]},{id:"major-works-quantity",title:"主要工程量汇总表",moduleTitles:["编制说明与工程概况"],required:!1,triggerKeywords:["工程量","工程数量","主要工程量"],fields:[d("分部分项工程","works","从图谱 works 节点提取","deriveFromContext"),d("工程内容","works","从图谱 works 节点提取","deriveFromContext"),d("计量单位","works","从工程量清单计量单位提取","deriveFromContext"),d("工程量","works","仅资料或清单明确时填写,不得编造","projectFactOnly",!1),d("备注","works","说明工作内容与包含关系","deriveFromContext",!1)]},{id:"product-protection",title:"成品保护措施表",moduleTitles:["成品保护与竣工收尾"],required:!1,triggerKeywords:["成品保护","成品防护","竣工交付"],fields:[d("保护对象","works","从已完成分部分项与易损成品识别","deriveFromContext"),d("易受损环节","methods","关联交叉作业、工序交接与后续施工","deriveFromContext"),d("保护措施","methods","按覆盖、包裹、隔离、警示、专人看护填写","standardAllowed"),d("责任岗位","standard","按施工员、班组长、成品保护员填写","standardAllowed"),d("检查频次","standard","按每日巡查与工序交接检查填写","standardAllowed")]},{id:"survey-instruments",title:"测量与试验检测仪器配置表",moduleTitles:["施工测量与试验检测"],required:!1,triggerKeywords:["测量仪器","试验检测","仪器设备"],fields:[d("仪器名称","resources","从测量、试验检测设备资源识别","deriveFromContext"),d("规格型号","resources","从设备资源规格提取","projectFactOnly",!1),d("数量","resources","按测量与检测工作量推导配置","deriveFromProject"),d("用途","methods","关联放线、标高、沉降观测、材料复试等","deriveFromContext"),d("检定状态","standard","按计量检定与校准周期要求填写","standardAllowed")]}];function f(a){return a.replace(/\s+/gu,"").toLowerCase()}function g(a){return[...new Set(a)]}function h(a){return f([a.title,a.purpose,...a.sections||[],...a.tableSections||[],...a.requiredFacts||[],...a.queries||[]].join(" "))}function i(a,b,c){return"factsModel"===a?!!(c&&Object.keys(c.byKey||{}).length>0):!!b&&("project"===a?Object.keys(c?.byKey||{}).length>0||b.requirements.length>0:"works"===a?b.works.length>0:"methods"===a?b.methods.length>0:"resources"===a?b.resources.length>0:"schedule"===a?b.schedule.length>0||!!c?.schedule.duration:"standards"===a?b.standards.length>0:"risks"===a?b.risks.length>0:"requirements"===a?b.requirements.length>0:"siteConditions"!==a||b.siteConditions.length>0)}function j(a){var b;let c=(b=a.projectGraph)?f([...b.works.flatMap(a=>[a.name,a.scope,...a.relatedItems]),...b.methods.flatMap(a=>[a.name,...a.steps,...a.applicableWorks]),...b.resources.flatMap(a=>[a.name,a.type,a.spec,a.quantity,a.unit]),...b.schedule.flatMap(a=>[a.milestone,a.duration,a.startDate,a.endDate]),...b.standards.flatMap(a=>[a.code,a.description]),...b.risks.flatMap(a=>[a.risk,a.level,a.mitigation]),...b.requirements.flatMap(a=>[a.category,a.detail]),...b.siteConditions.flatMap(a=>[a.condition,a.impact]),...b.addendumChanges.flatMap(a=>[a.originalPath,a.original,a.revised]),...b.gaps].join(" ")):"";return a.chapters.map(b=>{var d;let j=`${c} ${!(d=a.canonicalFacts)?"":f(Object.values(d.byKey||{}).map(a=>`${a.label} ${a.value}`).join(" "))}`,k=e.map(c=>{if(!function(a,b){let c=h(b);return!!((b.tableSections||[]).some(b=>b===a.title||a.title.includes(b)||b.includes(a.title))||a.moduleTitles.some(a=>c.includes(f(a)))||a.triggerKeywords.some(a=>c.includes(f(a))))}(c,b))return null;let d=g(c.fields.map(a=>a.sourceDomain)),e=function(a,b,c,d){let e=h(b);if(a.required||(b.tableSections||[]).some(b=>b===a.title||a.title.includes(b)))return"must";let g=a.moduleTitles.some(a=>e.includes(f(a)))||a.triggerKeywords.some(a=>e.includes(f(a)));return(d?!!a.triggerKeywords.some(a=>c.includes(f(a)))||("equipment-plan"===a.id?d.resources.some(a=>"equipment"===a.type):"labor-plan"===a.id||"labor-total-stat"===a.id?d.resources.some(a=>"labor"===a.type):"progress-milestones"===a.id||"master-schedule"===a.id?d.schedule.length>0||d.works.length>0:"risk-grade-control"===a.id?d.risks.length>0:"pipeline-protection"===a.id?d.siteConditions.some(a=>/管线|道路|居民|学校|医院|商业|既有|周边/u.test(`${a.condition}${a.impact}`)):"bim-smart-site"===a.id?d.requirements.some(a=>/BIM|智慧|数字|监测|视频|实名制/u.test(`${a.category}${a.detail}`)):a.required):a.required)||g?"should":"conditional"}(c,b,j,a.projectGraph),k=function(a,b,c){let d=a.fields.filter(a=>a.required),e=a.fields.filter(a=>a.required&&"projectFactOnly"===a.fallbackPolicy&&!i(a.sourceDomain,b,c)).map(a=>a.name),f=a.fields.filter(a=>"projectFactOnly"!==a.fallbackPolicy||i(a.sourceDomain,b,c)).length,g="generate_with_confirmed_facts";return e.length>0&&f>0&&(g="generate_with_review_notes"),e.length===d.length&&d.length>0&&(g="convert_to_text"),0===f&&(g="skip_with_reason"),{requiredFieldCount:d.length,confirmedFieldCount:f,missingProjectFactFields:e,canGenerate:"skip_with_reason"!==g,fallbackPolicy:g}}(c,a.projectGraph,a.canonicalFacts),l="must"===e?{shouldOutput:!0,outputType:"markdown_table",decisionReason:"章节必要管控表,按项目资料、图谱事实与投标人编制内容输出。"}:"should"===e?{shouldOutput:!0,outputType:"markdown_table",decisionReason:"项目图谱和章节语义均触发,按资料与编制推导输出。"}:k.canGenerate?{shouldOutput:!0,outputType:"markdown_table",decisionReason:"章节已承接该管理对象,按已有事实与编制推导输出表格。"}:{shouldOutput:!1,outputType:"skip",decisionReason:"全部事实字段均缺资料支撑,暂不输出。"};return{id:c.id,title:c.title,chapterTitle:b.title,moduleTitle:c.moduleTitles[0]||b.title,required:l.shouldOutput&&("must"===e||c.required),reason:function(a,b){let c=[];return b?.schedule.length&&a.fields.some(a=>"schedule"===a.sourceDomain)&&c.push("项目图谱包含工期与关键节点"),b?.resources.length&&a.fields.some(a=>"resources"===a.sourceDomain)&&c.push("项目图谱包含资源投入信息"),b?.risks.length&&a.fields.some(a=>"risks"===a.sourceDomain)&&c.push("项目图谱包含风险与管控要求"),b?.requirements.length&&a.fields.some(a=>"requirements"===a.sourceDomain)&&c.push("项目图谱包含招标/管理要求"),b?.siteConditions.length&&a.fields.some(a=>"siteConditions"===a.sourceDomain)&&c.push("项目图谱包含现场条件约束"),c.length?c.join(";"):`章节包含“${a.moduleTitles.join("、")}”模块,按施工组织设计标准表格库生成。`}(c,a.projectGraph),fields:c.fields,sourceDomains:d,necessity:e,belongsToChapter:!0,scopeExplanation:`表格归属于“${b.title}”中“${c.moduleTitles.join("、")}”相关管理对象。`,triggerFacts:Object.values(a.canonicalFacts?.byKey||{}).filter(a=>c.triggerKeywords.some(b=>f(`${a.label}${a.value}`).includes(f(b)))).map(a=>`${a.label}=${a.value}`),triggerGraphNodes:c.triggerKeywords.filter(a=>j.includes(f(a))),fillability:k,outputDecision:l,rowSeeds:function(a,b,c){let d=[],e=(b,c,e,g)=>{if(!f(`${b}${e}`)||d.some(a=>f(a.rowLabel)===f(b)))return;let h=a.fields.filter(a=>f(e).includes(f(a.name))||"projectFactOnly"!==a.fallbackPolicy).map(a=>a.name),i=a.fields.filter(a=>a.required&&!h.includes(a.name)&&"projectFactOnly"===a.fallbackPolicy).map(a=>a.name);d.push({rowLabel:b,source:c,confirmedFields:h,missingFields:i,sourceRef:g})};for(let b of Object.values(c?.byKey||{}))a.triggerKeywords.some(a=>f(`${b.label}${b.value}`).includes(f(a)))&&e(b.label,"canonicalFact",b.value,b.sourceFile);for(let c of b?.resources||[])(a.fields.some(a=>"resources"===a.sourceDomain)||a.triggerKeywords.some(a=>f(`${c.name}${c.type}`).includes(f(a))))&&e(c.name,"equipment"===c.type||"material"===c.type||"labor"===c.type?"projectGraph":"standard",[c.spec,c.quantity,c.unit].filter(Boolean).join(" "),c.sourceFiles?.[0]);for(let c of b?.risks||[])(a.fields.some(a=>"risks"===a.sourceDomain)||a.triggerKeywords.some(a=>f(c.risk).includes(f(a))))&&e(c.risk,"projectGraph",[c.level,c.mitigation].filter(Boolean).join(" "),c.sourceFiles?.[0]);for(let c of b?.schedule||[])a.fields.some(a=>"schedule"===a.sourceDomain)&&e(c.milestone,"projectGraph",[c.duration,c.startDate,c.endDate].filter(Boolean).join(" "),c.sourceFiles?.[0]);return d.slice(0,24)}(c,a.projectGraph,a.canonicalFacts)}}).filter(a=>!!a),l=new Map((b.tablePlans||[]).map(a=>[a.id,a]));for(let a of k)l.set(a.id,a);let m=[...l.values()],n=g([...b.tableSections||[],...m.map(a=>a.title)]),o=g([...b.tableRequirements||[],...m.map(a=>{let b=a.fields.filter(a=>"deriveFromProject"===a.fallbackPolicy),c=a.fields.filter(a=>"projectFactOnly"===a.fallbackPolicy),d=b.length?`表中“${b.map(a=>a.name).join("、")}”属于投标人计划编制类字段,资料不会提供,必须基于项目工程量、工期与工序流水按定额工效推导具体数值,不得留空、不得写“按需配置”等占位话术。`:"",e=c.length?"项目特有数字、日期、工程量、规格必须来自资料或项目图谱,不得编造。":"";return`${a.title}:表头必须为“${a.fields.map(a=>a.name).join("、")}”;${[d,e].filter(Boolean).join("")||"可按施工组织设计标准流程填写。"}`})]);return{...b,tableSections:n,tableRequirements:o,tablePlans:m}})}function k(a,b){let c=(a.tablePlans||[]).filter(a=>a.outputDecision?.shouldOutput);if(0===c.length)return[];let d=f(b||"");return d?c.filter(a=>{let b=f(a.moduleTitle||""),c=f(a.title);if(b&&(d.includes(b)||b.includes(d))||c&&(d.includes(c)||c.includes(d)))return!0;let e=c.replace(/表$/u,"");return!!(e&&(d.includes(e)||e.includes(d))||(a.triggerGraphNodes||[]).some(a=>d.includes(f(a)))||e&&function(a,b){let c=a=>{let b=new Set;for(let c=0;c<a.length-1;c+=1)b.add(a.slice(c,c+2));return b},d=c(b),e=[...c(a)];return 0===e.length?0:e.filter(a=>d.has(a)).length/e.length}(d,e)>=.6)}):c}function l(a,b){let c=(a.tablePlans||[]).filter(a=>a.outputDecision?.shouldOutput);return 0===c.length?[]:c.filter(c=>!b.some(b=>k(a,b).some(a=>a.id===c.id)))}function m(a,b){let c=[];for(let d of a){let a=(d.tablePlans||[]).filter(a=>a.outputDecision?.shouldOutput);if(0===a.length)continue;let e=b.find(a=>a.title===d.title)||b.find(a=>d.title.includes(a.title)||a.title.includes(d.title));if(!e)continue;let f=function(a){let b=0;for(let c of a.split(/\r?\n/u))/^\s*\|?\s*:?-{3,}:?/u.test(c)&&c.includes("|")&&(b+=1);return b}(e.content);f>=.6*a.length||a.length-f<2||c.push({chapterTitle:d.title,planned:a.length,actual:f,plans:a})}return c}function n(a){let b=a.tablePlans||[];if(0===b.length)return"";let c=b.some(a=>a.fields.some(a=>"deriveFromProject"===a.fallbackPolicy))?"\n【投标人编制类字段授权】表中 fallbackPolicy=deriveFromProject 的字段(人数、台班、进度时间、进场时间等)资料不会提供具体数值,这是投标人自己的计划编制内容:必须基于项目工程量、总工期与工序流水,按定额工效推导并落到具体数字;不得留空、不得写“按需配置”“根据进度灵活调配”等空话。项目事实类字段(面积、工程量、规格、质量标准)仍必须来自资料,不得编造。":"";return["【本章表格/清单结构化生成要求(硬性验收项)】","以下表格来自项目图谱、事实主权模型与施工组织设计标准表格库的治理决策;不得按数量机械增减,必须按必要性、章节归属、证据可填性和输出形态执行。","每个应输出(必写/应写)的表格都必须真实输出为 markdown 表格;输出后按本清单逐表自检,缺失即视为正文不足。","【表格排版硬约束】每个 markdown 表格必须独立成行:表头行必须以“|”开头单独占一行,下一行紧跟“|---|”分隔行,数据行逐行以“|”开头;严禁把表头接在正文段落同一行(如“正文……。| 表头1 | 表头2 |”),输出表格前必须先换行。","每个表格前必须写 1~2 句引导叙述(说明该表的作用、数据口径与关键结论),表格不能替代所在小节全部正文;表格输出后还应围绕表中关键节点、责任分工与纠偏措施展开至少一段实施性正文。","只输出表格/清单本体和用户提示词明确要求的文字;不得输出系统来源说明、后台溯源列、固定表前后说明或占位话术。",...b.map((b,c)=>[`${c+1}. ${b.required?"必写":b.outputDecision?.shouldOutput?"应写":"参考"}:${b.title}`,` - 必要性:${b.necessity||(b.required?"must":"conditional")};输出形态:${b.outputDecision?.outputType||"markdown_table"};决策:${b.outputDecision?.decisionReason||"按章节内容需要输出。"}`,` - 适用模块:${b.moduleTitle}`,` - 章节归属:${b.scopeExplanation||`归属于${a.title}`}`,` - 生成原因:${b.reason}`,` - 表头字段:${b.fields.map(a=>a.name).join(" | ")}`,` - 字段来源:${b.fields.map(a=>`${a.name}←${a.sourceDomain}(${a.sourceHint})`).join(";")}`,b.fillability?.missingProjectFactFields.length?` - 字段约束:${b.fillability.missingProjectFactFields.join("、")} 必须继续从项目图谱、可信事实和绑定资料中取值;不得写固定占位话术。`:` - 可填性:已确认字段 ${b.fillability?.confirmedFieldCount??b.fields.length}/${b.fields.length}。`,b.rowSeeds?.length?` - 行级填充计划:${b.rowSeeds.slice(0,8).map(a=>`${a.rowLabel}(${a.source}${a.missingFields.length?`,字段待从资料补齐:${a.missingFields.join("/")}`:""})`).join(";")}`:"",` - 约束:${b.fields.some(a=>"projectFactOnly"===a.fallbackPolicy)?"projectFactOnly 字段必须来自项目资料、项目图谱或可信事实;不得编造,不得写占位话术。":"可按标准施工组织流程填写,但必须贴合本章和项目场景。"}${b.fields.some(a=>"deriveFromProject"===a.fallbackPolicy)?" deriveFromProject 字段必须按上方“投标人编制类字段授权”推导具体数值。":""}`].filter(Boolean).join("\n")),c].filter(Boolean).join("\n")}function o(a,b){if(!a.length)return"";let c=a.some(a=>a.fields.some(a=>"deriveFromProject"===a.fallbackPolicy))?"\n【投标人编制类字段授权】表中 fallbackPolicy=deriveFromProject 的字段(人数、台班、进度时间等)资料不会提供具体数值,这是投标人自己的计划编制内容:必须基于项目工程量、总工期与工序流水按定额工效推导并落到具体数字;不得留空、不得写“按需配置”“根据进度灵活调配”等空话。项目事实类字段仍必须来自资料,不得编造。":"";return[`【本节“${b}”必须输出的表格(硬性验收项)】`,"以下表格治理决策归属于本节,必须真实输出为 markdown 表格(紧跟相关三级小节);输出后逐表自检,缺失即视为正文不足。","【表格排版硬约束】每个 markdown 表格必须独立成行:表头行必须以“|”开头单独占一行,下一行紧跟“|---|”分隔行,数据行逐行以“|”开头;严禁把表头接在正文段落同一行,输出表格前必须先换行。","每个表格前必须写 1~2 句引导叙述(说明该表的作用、数据口径与关键结论),表格不能替代本节全部正文;表格输出后还应围绕表中关键节点、责任分工与纠偏措施展开至少一段实施性正文。",...a.map((a,b)=>[`${b+1}. ${a.required?"必写":"应写"}:${a.title}`,` - 输出形态:${a.outputDecision?.outputType||"markdown_table"};决策:${a.outputDecision?.decisionReason||"按章节内容需要输出。"}`,` - 表头字段:${a.fields.map(a=>a.name).join(" | ")}`,` - 字段来源:${a.fields.map(a=>`${a.name}←${a.sourceDomain}(${a.sourceHint})`).join(";")}`,a.fillability?.missingProjectFactFields.length?` - 字段约束:${a.fillability.missingProjectFactFields.join("、")} 必须继续从项目图谱、可信事实和绑定资料中取值;不得写固定占位话术。`:"",a.rowSeeds?.length?` - 行级填充计划:${a.rowSeeds.slice(0,8).map(a=>`${a.rowLabel}(${a.source}${a.missingFields.length?`,字段待从资料补齐:${a.missingFields.join("/")}`:""})`).join(";")}`:"",` - 约束:${a.fields.some(a=>"projectFactOnly"===a.fallbackPolicy)?"projectFactOnly 字段必须来自项目资料、项目图谱或可信事实;不得编造。":"可按标准施工组织流程填写,但必须贴合本章和项目场景。"}${a.fields.some(a=>"deriveFromProject"===a.fallbackPolicy)?" deriveFromProject 字段必须按下方“投标人编制类字段授权”推导具体数值。":""}`].filter(Boolean).join("\n")),c].filter(Boolean).join("\n")}},22213:(a,b,c)=>{c.d(b,{Bk:()=>w,DD:()=>h,Dz:()=>t,Ep:()=>v,I6:()=>z,KJ:()=>I,Uz:()=>L,YK:()=>A,ab:()=>C,ap:()=>M,eB:()=>B,eK:()=>G,eL:()=>q,ev:()=>H,g6:()=>F,h$:()=>l,hf:()=>K,iA:()=>y,qj:()=>D,sE:()=>i,sh:()=>x,uV:()=>N,xu:()=>r,y7:()=>E,zJ:()=>J});var d=c(70933),e=c(1218);c(70208);var f=c(22157),g=c(3063);function h(a){return a.replace(/^#{3,4}\s+.*\n+/u,"").trim()}function i(a,b){let c=a.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),d=b.match(RegExp(`^#{3,4}\\s+(?:\\d+(?:\\.\\d+)*\\s+)?${c}\\s*\\n([\\s\\S]*?)(?=^###\\s+|^##\\s+|(?![\\s\\S]))`,"mu"));return d?d[0]:b}function j(a){let b=new Set;for(let c of a.match(/[\u4e00-\u9fa5]{2,}/gu)||[]){if(2===c.length){b.add(c);continue}for(let a=0;a<=c.length-2;a+=1)b.add(c.slice(a,a+2))}return b}let k=new Set(["采用","安装","控制","检测","检查","验收","记录","施工","要求","完成","进行","实测","形成","复核","处理","保护","清理","准备","组织","安全","质量","部位","范围","内容","工作","项目","工程","材料","设备","分别","规范","图纸","设计","依据","确认","资料","技术","文件","标准","合格","偏差","允许","符合","确保","防止","严禁","不得","统一","配备","设置","使用","作业","过程","移交","闭环","整改","问题","发现","及时","后续","工序","环节","位置","高度","间距","严格","必须","所有","相关","执行","落实","到位","同步","相应","重点","加强","管理","隐蔽","报告","签字","填写","留置","保养","维修"]);function l(a){let b=a.match(/^#{3,4}\s+(?:\d+(?:\.\d+)*\s+)?(?:项目主要施工\s*内容|主要施工\s*内容)\s*\n([\s\S]*?)(?=^###\s+|^##\s+|(?!(\s|\S)))/mu);if(!b)return a;let c=b[0],d=c.indexOf("\n"),e=c.slice(d+1).split(/^(?=####\s+)/mu),f=[];for(let a of e){let b=a.match(/^####\s+(.+?)\s*\n([\s\S]*)$/u);if(!b)continue;let c=b[1].trim(),d=c.replace(/^\d+\.\d+\.\d+\s*/u,""),e=b[2].split(/(?=施工概况|施工流程|施工方法)/u).filter(Boolean).map(a=>j(a.replace(/^施工(?:概况|流程|方法)[::]?/u,"")));f.push({title:c,cleanTitle:d,body:b[2],isWorkPackage:/工作包\s*$/u.test(d),titleGrams:j(d),segGrams:e})}let g=f.filter(a=>a.isWorkPackage),h=f.filter(a=>!a.isWorkPackage);if(0===g.length||0===h.length)return a;let i=new Set;for(let a of g){let b,c=0;for(let d of h){if(i.has(d))continue;let e=function(a,b){let c=0;for(let d of a)b.has(d)&&(c+=1);return c}(a.titleGrams,d.titleGrams);if(e<2)continue;let f=Array.from({length:Math.min(a.segGrams.length,d.segGrams.length)},(b,c)=>(function(a,b){let c=0;for(let d of a)!k.has(d)&&b.has(d)&&(c+=1);return c})(a.segGrams[c],d.segGrams[c])).filter(a=>a>=4).length;if(f<2)continue;let g=e+2*f;g>c&&(c=g,b=d)}if(!b)continue;let d=b,e=a=>a.replace(/平方米/gu,"m2").replace(/m²|㎡/gu,"m2").replace(/立方米/gu,"m3").replace(/m³/gu,"m3").replace(/毫米/gu,"mm").replace(/\s+/gu,""),f=e(d.body),g=/\d+(?:\.\d+)?(?:平方米|立方米|毫米|m2|m3|mm|㎡|m²|m³|米|台|套|个|座|根|扇|樘|块|件|组|吨|kg|t|%)/gu,j=a=>{let b=a.match(g);return!!b&&0!==b.length&&b.every(a=>f.includes(e(a)))},l=[];for(let b of a.body.split(/[。;,,\n]/u).map(a=>a.trim()).filter(Boolean)){if(!/\d/u.test(b))continue;let a=b.replace(/^施工(?:概况|流程|方法)[::]?/u,"").trim();a&&(j(a)||l.push(a))}l.length>0&&(d.body=`${d.body.trimEnd()}${l.join("。")}。
13
13
  `),i.add(a)}let l=f.filter(a=>!i.has(a));if(l.length===f.length)return a;let m=l.every(a=>/^\d+\.\d+\.\d+\s+/u.test(a.title)),n=l.map((a,c)=>{let d=m?`#### ${a.title.replace(/^\d+\.\d+\.\d+\s*/u,`${b[0].split("\n")[0].match(/\d+\.\d+/u)?.[0]||"1.1"}.${c+1} `)}`:`#### ${a.cleanTitle}`;return`${d}
14
14
  ${a.body.trimEnd()}`}),o=c.slice(0,d+1);return a.replace(c,`${o}${n.join("\n")}
15
15
  `)}function m(a,b){let c=b?i(b,a):a;return/^####\s+\S+/mu.test(c)}function n(a){return(0,d.eE)(a).replace(/#{2,6}\s*[^;;。\n]+/gu,"").replace(/资料内容事实[;;::]?/gu,"").replace(/\s+/gu," ").trim()}function o(a){let b=n(a);return!(!b||b.length<4||b.length>120||/资料内容事实|#{2,6}|未尽事宜|项目编号\s*[::]?\s*[一二三四五六七八九十]?$/u.test(b)||/本项目为|总建筑面积|保留现状|专业施工内容统筹|招标文件列明|招标范围还包含|具备有效的.*资质/u.test(b)||/未注明|以图纸为准|按设计要求确定/u.test(b)&&!/\d/u.test(b))&&(!((b.match(/工程|维修|改造|安装|设备/gu)||[]).length>=4)||!!/\d|㎡|m2|m²|mm|厚|验收|检测|调试|试验|复试/u.test(b))&&/\d|㎡|m2|m²|mm|厚|工程|材料|设备|系统|范围|改造|维修|加固|消防|水电|智能化|管网|屋面|门窗|验收|检测|调试/u.test(b)}function p(a){return a.split(/→|;|;|、|,|,/u).map(a=>n(a)).filter(a=>a&&a.length>=2&&a.length<=40).filter(a=>!/^按?施工准备$|^实施$|^检查$|^验收组织?$|^按规范和资料闭环$/u.test(a)).filter(a=>!/本项目为|总建筑面积|保留现状|专业施工内容统筹|招标文件列明|招标范围|未尽事宜|具备有效/u.test(a))}function q(a){let b=[];for(let c of a){let a=c.replace(/[::,,、;;||()()]/gu," ").replace(/\s+/gu," ").trim(),d=new Set(a.split(" ").filter(a=>a.length>=2)),e=new Set([...a.match(/\d+[A-Z]{2,}[A-Za-z0-9]*/gu)||[],...a.match(/\d+(?:\.\d+)?\s*(?:台|套|个|座|㎡|m2|m²|m³|m3|kg|t|根|扇|樘|块|件|组|mm)/gu)||[]]),f=a.split(" ")[0]||"",g=b.findIndex(b=>{if(b.norm.includes(a)||a.includes(b.norm))return!0;if(!([...e].some(a=>b.models.has(a))||[...b.models].some(a=>e.has(a))))return!1;let c=(a,b)=>[...a].every(a=>b.has(a));return c(d,b.tokens)||c(b.tokens,d)||f===b.norm.split(" ")[0]});if(g>=0){let f=b[g];(d.size>f.tokens.size||d.size===f.tokens.size&&c.length<f.text.length)&&(b[g]={text:c,norm:a,tokens:d,models:e})}else b.push({text:c,norm:a,tokens:d,models:e})}return b.map(a=>a.text)}function r(a,b){let c=b.map(a=>a.replace(/[::,,、;;||()()]/gu," ").replace(/\s+/gu," ").trim()),d=/安装|敷设|浇筑|砌筑|抹灰|回填|拆除|吊装|固定|连接|试验|调试|养护|压实|铺设|焊接|绑扎|涂刷|灌浆|开挖|预制|穿线|放线|找平|清底|防水|密封/u;return a.filter(a=>{if(/\d+(?:\.\d+)?\s*(?:台|套|个|座|㎡|m2|m²|m³|m3|kg|t|根|扇|樘|块|件|组)/u.test(a)||/[A-Z]+\d+/u.test(a)&&/箱|柜|泵|机组|风机|面板/u.test(a))return!1;let b=a.replace(/[::,,、;;||()()]/gu," ").replace(/\s+/gu," ").trim();return!!(b.length<=6&&d.test(b))||(b.length<4?!c.some(a=>a.includes(b)):!c.some(a=>a.includes(b)))})}function s(a){let b=n(a);return!b||(b.match(/工程|维修|改造|安装|设备|系统|管网|屋面|门窗|消防|智能化/gu)||[]).length>=5&&!/\d|㎡|m2|m²|mm|厚|验收|检测|调试|试验|复试|记录|报告|材料|设备|规格|标准|检验批/u.test(b)}function t(a,b){let c=[],d=a.match(/施工工作包结构化数据:\s*(\[[^\n]*\])/u);if(d)try{for(let a of JSON.parse(d[1])){let b=n(a.name||""),d=n(a.scope||""),e=q([...a.quantities||[],...a.materials||[],...a.methods||[]].map(n).filter(o).filter(a=>!s(a))),f=r((a.process||[]).flatMap(p),e),g=(a.acceptance||[]).map(n).filter(a=>a&&!s(a));!(!b||/项目施工$|项目$|^\d{4}年度/u.test(b))&&(!d||/资料内容事实|#{2,6}/u.test(d)||c.push({name:b,scope:d,quantities:e,process:f,acceptance:g}))}if(c.length>0)return c.slice(0,16)}catch{c.length=0}for(let b of a.split(/\r?\n/u).filter(a=>/^\d+\.\s+.+?|范围:/u.test(a))){let a=b.match(/^\d+\.\s+(.+?)|范围:(.+?)|工程量\/材料:(.+?)|流程:(.+?)|验收:(.+)$/u);if(!a)continue;let d=n(a[1]),e=n(a[2]),f=q(a[3].split(/[;;、,,]/u).map(a=>n(a)).filter(o).filter(a=>"按证据展开"!==a)),g=r(p(a[4]),f),h=a[5].split(/[;;、,,]/u).map(a=>n(a)).filter(a=>a&&"按规范和资料闭环"!==a).filter(a=>!s(a));!(!d||/项目施工$|项目$|^\d{4}年度/u.test(d))&&(!e||/资料内容事实|#{2,6}/u.test(e)||c.push({name:d,scope:e,quantities:f,process:g,acceptance:h}))}return c.slice(0,8)}function u(a){let b=/^(.{1,18}?)(等)([\s\S]{2,})$/u.exec(a);return!b||void 0===b[1]||void 0===b[3]||/电$/u.test(b[1])||/^级/u.test(b[3])?a:b[3].length>=3?b[3]:b[1].length>=3?b[1]:a}function v(a,b){let c=t(a,b).map(a=>a.name).filter(Boolean),d=function(a,b){let c=[a,...b.map(a=>a.content)].filter(Boolean),d=/工程|安装|系统|通风|空调|智能化|装修|幕墙|屋面|土方|基坑|地基|基础|结构|电气|给排水|消防|防水|设备|管网|道路|景观|绿化|公厕|厕所|过路涵|涵|清淤|沟塘|塘|小菜园|菜园|排水沟|水沟|花池|树池|挡墙|护栏/u,f=(()=>{for(let a of c){let b=/(?:项目名称|工程名称)[::\s为是]+([^\n。;;]{4,120})/u.exec(a);if(!b)continue;let c=(0,e.ir)(b[1]);if(c)return c}})();for(let a of c){let b=a.indexOf("招标范围");if(b<0)continue;let c=a.slice(b,b+600);if(f){let a=c.split(/[。;;\n]/u).map(a=>a.trim()).filter(Boolean).filter(a=>!(0,e.PP)(a,f));a.length>0&&(c=a.join("。"))}let g=c,h=g.indexOf("包括但不限于"),i=(g=(g=h>=0?g.slice(h+6).replace(/^[::、,,;;\s]+/u,""):g.replace(/^[^、,,;;。]{0,60}?招标范围[::]?\s*/u,"")).replace(/(?:等)?图纸[、及]?清单范围内所有工程[。.]*/u,"")).replace(/([^)]*)/gu,"").split(/[、,,;;。]/u).map(a=>n(a).replace(/["“”']/gu,"")).filter(a=>a.length>=3&&a.length<=20).filter(a=>d.test(a)).map(a=>u(a)).filter(a=>a.length>=3&&a.length<=20).filter(a=>!/招标范围|图纸|清单|补疑|答疑|具体内容|包括但不限于|投标|专用合同|未尽事宜|工程量|约束|不得|仅指导|集中交代|矛盾|参数|数字/u.test(a)).filter(a=>!/^(?:包括|涵盖|重点实施|实施|建设范围覆盖|本项目建设|主要包含|主要实施|具体包括|分别为|共计|包含|涉及)/u.test(a)).filter(a=>!/以下|以上|如下|详见|具体内容/u.test(a)).filter(a=>!/^是否/u.test(a)).filter(a=>!/及其他|以及其他/u.test(a)),j=[];for(let a of i){let b=a.replace(/\s+/gu,"");j.some(a=>a.replace(/\s+/gu,"").includes(b)||b.includes(a.replace(/\s+/gu,"")))||j.push(a)}if(j.length>=3)return j.slice(0,12)}return[]}(a,b),f=function(a){let b=(0,e.qG)(a),c=(0,e.hn)(b),d=[],f=new Set,g=/计价|费用|税金|规费|暂列|暂估|合计|汇总|小计|措施项目|其他项目|税金项目/u;for(let a of c){let b=a.key.replace(/^清单条目:/u,"").trim();!(!b||b.length<2||b.length>24||g.test(b))&&(f.has(b)||(f.add(b),d.push(b)))}return d.slice(0,12)}(b),g=[],h=a=>{let b=u(a.trim()),c=b.replace(/\s+/gu,"");return!(!c||/^(?:包括|涵盖|重点实施|实施以下|建设范围覆盖|本项目建设|主要包含|主要实施|具体包括|分别为|共计|包含|涉及|是否)/u.test(c)||/以下|以上|如下|详见|具体内容|及其他|以及其他/u.test(c)||/^\d{4}年度/u.test(c)||/施工图|设计图|详图|平面图|剖面图|立面图|大样图|图集/u.test(c)||c.length>20||g.some(a=>{let b=a.replace(/\s+/gu,"");return b.includes(c)||c.includes(b)}))&&(g.push(b),!0)};for(let a of c)h(a);for(let a of d){if(g.length>=12)break;h(a)}let i=/公厕|厕所|过路涵|涵洞|涵管|污水|排水沟|水沟|清淤|沟塘|塘|小菜园|菜园|菜地|花池|树池|挡墙|护栏|路灯|检查井|化粪池|泵站|生态池|生态塘|护坡|驳岸|栈道|步道/u;if(g.length<3)for(let a of[...f].sort((a,b)=>Number(i.test(b))-Number(i.test(a)))){if(g.length>=12)break;h(a)}else for(let a of f){if(g.length>=16)break;i.test(a)&&h(a)}return g}function w(a,b,c=3,d){let e=d??v(a,b);if(e.length<c)return"";let f=e.map((a,b)=>`#### ${b+1} ${a}`).join("\n");return[`【小节骨架锁定】本节内部结构已由系统锁定,必须且只能按以下 ${e.length} 个工作包小节标题逐项展开(标题一字不差,不得增删改、合并或调序):`,f,"每个工作包小节必须覆盖三方面要素:作业对象与工程量、工序顺序、施工方法(三要素缺一不可)。默认按“施工概况/施工流程/施工方法”三段标签逐段写出;若用户提示词对写法形式另有要求,以用户提示词为准,但三要素内容必须齐全。\n三段标签默认写法:\n施工概况:作业对象与部位、工程量或规模、材料设备规格型号(数量类数值优先取工程量清单数据);\n施工流程:工序先后顺序清晰(顺序词/箭头链/编号步骤任一形式);\n施工方法:工艺做法、工艺参数(数值+单位)、验收检测与记录闭环。\n写法示例(仅为形式示意,示例中的数值必须替换为本项目绑定资料中的真实数值,不得照抄示例数值):\n施工概况:本工程室外道排范围覆盖园区内雨水、污水管网及检查井,主要工程量 HDPE 双壁波纹管 DN300 约 1200m、检查井 45 座,管材环刚度 SN8。\n施工流程:测量放线→沟槽开挖→管道基础→管道铺设→闭水试验→分层回填→压实度检测→验收。\n施工方法:沟槽机械开挖配合人工清底,槽底标高偏差控制在\xb120mm以内;接口采用承插式橡胶圈连接;回填每层虚铺厚度不超过300mm,压实度不低于95%,检测合格后形成记录归档闭环。\n数值来源优先级:工程量、材料规格、设备型号等数量类数值优先取工程量清单数据;清单未覆盖的参数(标高、坡率、构造做法等)才取图纸数据;禁止“按设计图纸执行”“详见设计图纸”“按设计文件确定”式概括话术——必须落到具体数值或具体规范条文。\n本节禁止出现 Markdown 表格;禁止写入重难点识别表、关键施工节点控制计划表等属于其他小节的内容;禁止只写综合概述而不展开工作包。"].join("\n")}function x(a,b,c=3){let d=v(a,b);return d.length>=c?d:[]}function y(a,b,c=3){let d=a.filter(a=>b.some(b=>{let c=(0,f.Sw)(b),d=(0,f.Sw)(a);return c.includes(d)||d.includes(c)}));return d.length>=c?d:[]}function z(a){let b=a.split(/\r?\n/u),c=[],d=!1;for(let a of b){let b=a.trim();if(/^\|.+\|\s*$/u.test(b)){d=!0;continue}if(d){if(""===b)continue;d=!1}c.push(a)}return c.join("\n")}function A(a){return/^\s*\|\s*重难点\s*\|/mu.test(a)?"重难点识别表串入本小节(应属于重点难点分析小节)":/^\s*\|\s*关键节点\s*\|/mu.test(a)?"关键施工节点控制计划表串入本小节(应属于进度计划小节)":/^\s*\|\s*危险源\s*\|/mu.test(a)?"危险源辨识清单表串入本小节(应属于安全管理小节)":""}function B(a,b,c=[]){let d=b.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),e=RegExp(`^#{3,4}\\s+(?:\\d+(?:\\.\\d+)*\\s+)?${d}\\s*$`,"u"),g=a.split("\n"),h=g.findIndex(a=>e.test(a.trim()));if(h<0)return a;let i=/^####\s+/u.test(g[h].trim()),j=c.map(f.Sw),k=[g[h]];for(let a=h+1;a<g.length;a+=1){let b=g[a].trim();if(/^#{2,3}\s+/u.test(b))break;if(/^####\s+/u.test(b)&&i){let a=b.replace(/^####\s+(?:\d+(?:\.\d+)*\s+)?/u,""),c=(0,f.Sw)(a);if(!j.some(a=>c.includes(a)||a.includes(c)))break}k.push(g[a])}let l=k.join("\n"),m=z(l);return m===l?a:a.replace(l,m)}function C(a,b,c){let d=i(b,a),e=b.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");if(!RegExp(`^#{3,4}\\s+(?:\\d+(?:\\.\\d+)*\\s+)?${e}\\s*$`,"u").test(d.split("\n")[0]?.trim()||""))return[];let g=(d.match(/^#{3,4}\s+(.+)$/gmu)||[]).map(a=>a.replace(/^#{3,4}\s+/u,""));return c.filter(a=>!g.some(b=>(0,f.Sw)(b).includes((0,f.Sw)(a))))}function D(a,b,c){let d=i(b,a),e=b.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");if(!RegExp(`^#{3,4}\\s+(?:\\d+(?:\\.\\d+)*\\s+)?${e}\\s*$`,"u").test(d.split("\n")[0]?.trim()||""))return a;let g=d.split(/^####\s+/gmu),h=g.shift()||"",j=[];for(let a of g){let b=a.split("\n"),d=(b[0]||"").trim(),e=(0,f.Sw)(d),g=b.slice(1).join("\n").replace(/^#{1,6}\s+.+$/gmu,"").trim();c.some(a=>e.includes((0,f.Sw)(a)))&&g.length<80||j.push(a)}let k=`${h}${j.length>0?"#### ":""}${j.join("#### ")}`;return k===d?a:a.replace(d,k)}function E(a){return/资料内容事实|(?:^#{2,3}|^#{5,6})\s+|\*\*[^*]+\*\*|未尽事宜|专业施工内容统筹|招标范围还包含|具备有效的.*资质|安全生产考核合格证书|注册建造师|联合体投标|项目经理要求|投标人资格|投标人资质|营业执照|安全生产许可证|资格审查|资格后审|中标通知书|签订合同|电子交易系统|投标保证金|评标办法|踏勘现场|投标预备会/mu.test(a)}function F(a){if(!/项目主要施工内容/u.test(a))return a;let b=a.split(/\r?\n/u),c=[],d=!1,e=null,g=()=>{if(!e)return;let a=e[0],b=e.slice(1),d=b.some(a=>/^施工概况[::]?/u.test(a.trim())),g=b.some(a=>/^施工流程[::]?/u.test(a.trim())),h=b.some(a=>/^施工方法[::]?/u.test(a.trim()));if(d&&g&&h){c.push(...e),e=null;return}let i=[a],j=[];for(let a of b)/^(施工概况|施工流程|施工方法)[::]/u.test(a.trim())?i.push(a):a.trim()&&j.push(a);if(0===j.length){c.push(...e),e=null;return}let k=[...j];if(!d&&k.length){let a=k.shift();void 0!==a&&a.trim()&&i.push(`施工概况:${a.trim()}`)}if(!g&&k.length){let a=k.findIndex(a=>a.includes("→")||(0,f.Z1)(a));if(a>=0){let[b]=k.splice(a,1);i.push(`施工流程:${b.trim()}`)}}if(!h&&k.length){let a=k.map(a=>a.trim()).filter(Boolean).join("");a&&i.push(`施工方法:${a}`)}i.push(...k.filter(a=>a.trim())),c.push(...i),e=null};for(let a of b){let b=a.trim();if(/^##\s+/u.test(b)){g(),e=null,d=!1,c.push(a);continue}if(/^###\s+/u.test(b)){g(),e=null,d=/项目主要施工内容/u.test(b),c.push(a);continue}if(/^####\s+/u.test(b)&&/项目主要施工内容/u.test(b)){g(),e=null,d=!0,c.push(a);continue}if(!d){c.push(a);continue}if(/^####\s+/u.test(b)){g(),e=[a];continue}if(/^#{1,6}\s+/u.test(b)){g(),e=null,c.push(a);continue}e?e.push(a):c.push(a)}return g(),c.join("\n")}function G(a,b){if(/项目主要施工内容/u.test(a)){let c=i(a,b);if(!m(b,a))return`${a} 缺少施工工作包三级小节`;if(!function(a){let b=h(a);return((b.match(/^####\s+(?:\d+\.\d+\.\d+\s+)?[一二三四五六七八九十\d]*[、..]?\s*\S+/gmu)||[]).length||(b.match(/^[一二三四五六七八九十]+、\S+/gmu)||[]).length)>=3&&(0,f.Jb)(b)}(c))return`${a} 未按施工工作包展开`;let d=c.split(/^####\s+/gmu).slice(1).map(a=>a.trim()).filter(Boolean);if(d.some(a=>!(0,f.Jb)(a)))return`${a} 存在工作包内容要素不全`;if(E(h(c)))return`${a} 存在脏事实或标题污染`;if(d.some(a=>/施工流程[::][\s\S]*?(未尽事宜|本项目为|总建筑面积|保留现状|专业施工内容统筹|招标文件列明|招标范围|安全生产考核合格证书|联合体投标|注册建造师)/u.test(a)))return`${a} 存在工作包流程污染`;if(!(0,f.Z1)(c)||d.some(a=>{let b=a.match(/施工方法[::]([\s\S]*?)(?=\n施工|$)/u)?.[1]||"",c=a.match(/(?:施工流程|工艺流程)[::]([\s\S]*?)(?=\n施工|$)/u)?.[1]||"";return(b.trim().length>0||c.trim().length>0)&&!(0,f.Z1)(b+c)}))return`${a} 存在工作包工序顺序表达缺失`;if(d.some(a=>{let b=a.match(/施工方法[::]([\s\S]*?)(?=\n施工|$)/u)?.[1]||"";if(!/施工方法[::]/u.test(a))return!1;if(/安全生产考核合格证书|联合体投标|注册建造师|投标人资格|资质要求|营业执照|安全生产许可证/u.test(b)||b.length<30)return!0;let c=(b.match(/[::]\s*\d/gu)||[]).length;return/\d/u.test(b)&&!/→|采用|组织|浇筑|铺设|焊接|绑扎|砌筑|抹灰|涂刷|敷设|压实|养护|试验|调试|测量|放线|验收|检测|复试|记录|报告|吊装|灌注|埋设|嵌缝/u.test(b)&&(c>=2||!/安装|固定|挂墙|机具/u.test(b))||(b.match(/工程|维修|改造|安装|设备/gu)||[]).length>=4&&!/\d|㎡|m2|m²|mm|厚|验收|检测|调试|试验|复试|记录|报告/u.test(b)}))return`${a} 存在工作包施工方法过弱`;let e=h(c);if(/^\s*\|.+\|\s*$/mu.test(e))return`${a} 不应使用 Markdown 表格替代工作包正文`}if(g.gG.test(a)){let c=i(a,b);if(!m(b,a))return`${a} 缺少分项工程方案三级小节`;let d=c.split(/^####\s+/gmu).slice(1).map(a=>a.trim()).filter(Boolean);if(0===d.length)return`${a} 未按分项工程方案展开`;if(d.some(a=>!(0,f.Jb)(a)))return`${a} 存在分项方案内容要素不全`;if(!(0,f.Z1)(c)||d.some(a=>{let b=a.match(/施工方法[::]([\s\S]*?)(?=\n施工|$)/u)?.[1]||"",c=a.match(/(?:施工流程|工艺流程)[::]([\s\S]*?)(?=\n施工|$)/u)?.[1]||"";return(b.trim().length>0||c.trim().length>0)&&!(0,f.Z1)(b+c)}))return`${a} 存在分项方案工序顺序表达缺失`}return""}function H(a,b){if(m(b))return b;let c=h(b);return c?`### ${a}