@customize-agent/server 4.18.7 → 4.18.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/chunks/4605.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/asset-library.html +1 -1
- package/.next/server/pages/document-roles.html +1 -1
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages/template-references.html +1 -1
- package/.next/server/pages-manifest.json +17 -17
- package/package.json +1 -1
- /package/.next/static/{wlL3fDITb2p2SwzZsxfza → CULEYxFJ1kTZDwUKJ6GxG}/_buildManifest.js +0 -0
- /package/.next/static/{wlL3fDITb2p2SwzZsxfza → CULEYxFJ1kTZDwUKJ6GxG}/_ssgManifest.js +0 -0
package/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
CULEYxFJ1kTZDwUKJ6GxG
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"ampDevFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/CULEYxFJ1kTZDwUKJ6GxG/_buildManifest.js",
|
|
9
|
+
"static/CULEYxFJ1kTZDwUKJ6GxG/_ssgManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": [],
|
|
12
12
|
"rootMainFilesTree": {},
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"routes": {},
|
|
4
4
|
"dynamicRoutes": {},
|
|
5
5
|
"preview": {
|
|
6
|
-
"previewModeId": "
|
|
7
|
-
"previewModeSigningKey": "
|
|
8
|
-
"previewModeEncryptionKey": "
|
|
6
|
+
"previewModeId": "be001f9adf6e298349303cf59fe8fce0",
|
|
7
|
+
"previewModeSigningKey": "c74c946d659a4e19ef6a7d781031bb977bd469a64853a9dbece76b20c424cefd",
|
|
8
|
+
"previewModeEncryptionKey": "d5008cf92c7ea7911d3f6ce77e8ed27b432d174d2eeff0a4da1cdbb3b2ad2478"
|
|
9
9
|
},
|
|
10
10
|
"notFoundRoutes": []
|
|
11
11
|
}
|
|
@@ -46,7 +46,7 @@ ${b}
|
|
|
46
46
|
返回 JSON:{"issues":[]}`,{maxTokens:1e3,temperature:.1,signal:a.signal,diagnostics:a.diagnostics,contextLayers:{l0:h.length,l1:(0,P.CX)([a.promptTexts]),l3:(0,P.CX)([b,'\n\n返回 JSON:{"issues":[]}'])},prefixKey:"review-global-consistency"})))).flatMap(a=>Array.isArray(a?.issues)?a.issues:[]).map(bd).filter(Boolean))];return{issues:i,stage:(0,aU.X5)({type:"llm_review",roleId:"global-consistency-review",status:i.length>0?"failed":"success",message:i.length>0?`全局一致性审查完成:发现 ${i.length} 个跨章问题`:"全局一致性审查通过"},{subtitle:"全局一致性审查"})}}let bg=/安全|文明|质量|绿色施工|环保|扬尘|消防|应急|危大|风险|规范|标准|管理要求|施工工艺|技术措施|验收/u,bh=/项目名称|工程名称|建设地点|建设单位|招标人|发包人|建设规模|招标范围|合同工期|计划工期|质量标准|危大工程清单|工程量|材料规格|设备型号|图纸参数|报价|单价|利润|税率|合同金额|联系方式|品牌/u,bi=/报价|单价|合价|金额|利润|税率|增值税|招标控制价|最高投标限价|中标价|合同价|暂列金额/u,bj=/联网增强|联网检索|网页资料|搜索结果|根据网页|互联网资料|在线资料|浏览器|搜索引擎/u,bk=["项目名称","工程名称","建设地点","建设单位","招标人","发包人","建设规模","招标范围","合同工期","计划工期","工程量","报价","单价"];function bl(a){return a.replace(/&/gu,"&").replace(/</gu,"<").replace(/>/gu,">").replace(/"/gu,'"').replace(/'/gu,"'").replace(/<[^>]+>/gu,"").replace(/\s+/gu," ").trim()}async function bm(a,b,c,d,e){let f=`https://duckduckgo.com/html/?q=${encodeURIComponent(a)}`,g=new AbortController,h=setTimeout(()=>g.abort(),8e3),i=()=>g.abort();e?.addEventListener("abort",i,{once:!0});let j=await fetch(f,{headers:{"User-Agent":"Mozilla/5.0 compatible; customize-agent web research"},signal:g.signal}).finally(()=>{clearTimeout(h),e?.removeEventListener("abort",i)});return j.ok?[...(await j.text()).matchAll(/<a[^>]+class="result__a"[^>]+href="([^"]+)"[^>]*>([\s\S]*?)<\/a>[\s\S]*?<a[^>]+class="result__snippet"[^>]*>([\s\S]*?)<\/a>/giu)].map(a=>{let b=bl(a[1]||""),c=bl(a[2]||""),d=bl(a[3]||""),e=/uddg=([^&]+)/u.exec(b)?.[1];return{url:e?decodeURIComponent(e):b,title:c,snippet:d}}).filter(a=>{let b=`${a.title} ${a.snippet} ${a.url}`;return!(!a.url||!a.snippet||bh.test(b)||bi.test(b)||bj.test(b)||d.some(a=>a&&b.includes(a)))&&(0===c.length||c.some(b=>a.url.includes(b)))}).slice(0,b):[]}async function bn(a){if(!a.config.enabled||!function(a,b){let c=`${a} ${b.join(" ")}`;return!(!bg.test(c)||/项目概况|工程概况|建设地点|建设规模|招标范围|工程量|报价|造价/u.test(c)&&!/安全|文明|质量|危大|环保|工艺|措施/u.test(c))}(a.chapterTitle,a.sectionTitles))return{evidence:[],queries:[],filtered:0};let b=function(a,b,c){let d=`${a} ${b.join(" ")}`,e=[/危大/u.test(d)?"危大工程 专项施工方案 管理规定 安全措施":"",/安全|文明/u.test(d)?"建筑工程 安全文明施工 管理要求":"",/质量|验收/u.test(d)?"建筑工程 质量控制 质量验收 通用要求":"",/扬尘|环保|绿色/u.test(d)?"施工现场 扬尘治理 绿色施工 环保要求":"",/消防|应急/u.test(d)?"施工现场 消防 应急管理 要求":"",/工艺|技术措施/u.test(d)?"建筑工程 施工工艺 技术措施 通用要求":""].filter(Boolean),f=`${a.replace(bh,"")} 公开规范 通用要求`.trim();return[...new Set(e.length?e:[f])].slice(0,c)}(a.chapterTitle,a.sectionTitles,a.config.maxQueriesPerChapter),c=[],d=0;for(let e of b)try{for(let b of(await bm(e,a.config.maxResultsPerQuery,a.config.trustedDomains,a.runtimeRules.forbiddenTerms||[],a.signal))){let e=function(a,b){let c=a;for(let a of bk)c=c.replace(RegExp(`${a}[^。;;
|
|
47
47
|
]{0,80}`,"gu"),"");for(let a of b.map(a=>{var b;return null==(b=a.value)?"":"string"==typeof b||"number"==typeof b||"boolean"==typeof b?String(b).trim():""}).filter(a=>a.length>=3&&a.length<=80))c=c.replace(RegExp(a.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),"gu"),"");return c.replace(bi,"").trim()}(b.snippet,a.localFacts);if(!e||e.length<20){d+=1;continue}c.push({chapterId:a.chapterId,filePath:b.url,score:.42,content:`参考依据:${b.title}
|
|
48
48
|
${e}`,source:function(a){let b=a.toLowerCase();return b.includes(".gov.cn")||b.includes("mohurd")||b.includes("zjt")||a.includes("住建")?"web-policy":"web-evidence"}(b.url),sectionTitle:a.chapterTitle})}}catch{d+=1}return{evidence:c,queries:b,filtered:d}}var bo=c(73186);function bp(a){return/--|延期到|资料|附件|扫描|目录|汇总|打包|备份|\d{1,2}\.\d{1,2}/u.test(a)}function bq(a){return a.replace(/[((]\d+[))]/gu,"").replace(/副本|最终版|扫描件|定稿/gu,"").replace(/[\s,。,.;;::《》“”‘’()()_-]+/gu,"").toLowerCase()}function br(a,b){let c=bq(b);if(!c||c.length<4)return!0;let d=bq(a);return!!d.includes(c)||c.length>=12&&d.includes(c.slice(0,Math.max(8,Math.floor(.72*c.length))))}function bs(a){return a.replace(/[((]\d+[))]/gu,"").replace(/副本|最终版|扫描件|定稿/gu,"").replace(/\s+/gu,"").replace(/[,。,.;;::《》“”‘’()()_-]/gu,"").toLowerCase()}function bt(a,b){let c=a.trim();if((0,l.d2)(b,c)||(0,l.rF)(b,c)||/签章|盖章|联系人|联系电话|电话|邮箱|解密|开标|评标|保证金|交易系统|空白|填写|上传|下载|递交|投标文件制作|电子服务系统|交易平台/u.test(c)||/\|/u.test(c)||/^#+\s*/u.test(c)||/见(?:招标公告|投标人须知|前附表|本项目|补疑)|资料参数行摘要|公共资源交易监督管理|开评标程序|监管部门|招标代理机构|监督管理部门|行政监督部门/u.test(c)||/是否|符合|采购范围|规定的投标截止时间|电子交易系统|投标人须知|招标文件正文/u.test(c)&&/\d{3,}/u.test(c)||/项目名称|工程名称/u.test(c)&&/项目编号|工程概况|建筑面积|本项目分为|现状建筑物|改造工程|标段/u.test(c)||/项目编号[::]|工程概况[::]|本项目分为|现状建筑物|总建筑面积|本次改造工程|清单编制说明/u.test(c))return"";let d=/\d+(?:\.\d+)?\s*(?:日历天|天|个月|月)/u.exec(c)?.[0],e=bs(d&&/工期|总工期|合同工期|计划工期|施工周期/u.test(c)?d:c);return!e||e.length>80?"":e}var bu=c(44505),bv=c(85016);let bw=[{id:"vertical_transport",label:"垂直运输方式",relevance:/塔吊|塔式起重机|施工电梯|施工升降机|物料提升机|垂直运输/u,options:[{value:"塔式起重机",aliases:/塔吊|塔式起重机/},{value:"施工升降机",aliases:/施工电梯|施工升降机/},{value:"物料提升机",aliases:/物料提升机/},{value:"汽车式起重机",aliases:/汽车吊|汽车式起重机/}]},{id:"formwork",label:"模板体系",relevance:/模板/u,exclusive:!0,options:[{value:"木胶合板模板",aliases:/木胶合板|覆膜胶合板|胶合板模板|木模板/},{value:"钢模板",aliases:/钢模板|定型钢模/},{value:"铝合金模板",aliases:/铝合金模板|铝模/},{value:"大模板",aliases:/大模板/},{value:"爬升模板",aliases:/爬升模板|爬模/}]},{id:"concrete_supply",label:"混凝土供应",relevance:/混凝土/u,exclusive:!0,options:[{value:"商品混凝土(预拌)",aliases:/商品混凝土|预拌混凝土/},{value:"自拌混凝土",aliases:/自拌混凝土|现场拌制混凝土|现场搅拌混凝土/}]},{id:"scaffold",label:"脚手架体系",relevance:/脚手架|爬架/u,options:[{value:"落地式钢管脚手架",aliases:/落地式[^,。;;]{0,6}脚手架|落地脚手架/},{value:"悬挑式脚手架",aliases:/悬挑[^,。;;]{0,6}脚手架|悬挑脚手架/},{value:"附着式升降脚手架",aliases:/附着式升降脚手架|爬架/},{value:"门式脚手架",aliases:/门式脚手架/},{value:"盘扣式脚手架",aliases:/盘扣/},{value:"碗扣式脚手架",aliases:/碗扣/}]},{id:"foundation_support",label:"基坑支护形式",relevance:/基坑|支护/u,exclusive:!0,options:[{value:"放坡开挖",aliases:/放坡/},{value:"土钉墙支护",aliases:/土钉墙|土钉支护/},{value:"灌注桩支护",aliases:/灌注桩|钻孔灌注桩|排桩支护/},{value:"钢板桩支护",aliases:/钢板桩|拉森桩/},{value:"地下连续墙",aliases:/地下连续墙|地连墙/},{value:"锚杆(索)支护",aliases:/锚杆|锚索/},{value:"喷锚支护",aliases:/喷锚/}]},{id:"earthwork_haul",label:"土方外运方式",relevance:/土方|渣土|弃土/u,options:[{value:"自卸汽车外运",aliases:/自卸汽车|自卸车/},{value:"密闭渣土车外运",aliases:/密闭式?[^,。;;]{0,4}车|渣土车/},{value:"场内平衡利用",aliases:/场内平衡|就地平衡|场内调配|回填利用/}]}],bx=/不采用|不使用|不设置|不考虑|不得|禁止|取消/u;function by(a){return a.split(/[,,、::]/u).map(a=>a.trim()).filter(Boolean)}function bz(a){let b=function(a,b){let c=[];for(let a of b){let b=function(a){let b=`${a.filePath||""} ${a.roleId||""} ${a.sectionTitle||""}`;return/补疑|澄清|答疑|修正|更新/u.test(b)?100:/招标文件|招标公告|投标人须知|前附表/u.test(b)?90:/清单|工程量/u.test(b)||/图纸|设计|dwg|drawing/iu.test(b)?80:/规范|标准|规程/u.test(b)?60:50}(a);for(let d of(0,Q.wj)((0,u.lG)(a.content)).split(/[。;;\n]/u)){let a=d.trim();a.length<6||a.length>200||c.push({text:a,weight:b})}}for(let b of a){let a=`${b.key||""} ${b.fieldName||""} ${(0,u.lG)(b.value)}`.trim();a.length<6||a.length>200||c.push({text:a,weight:Math.round(60*Math.max(.5,Math.min(1,b.confidence||.7)))})}return c}(a.facts,a.evidence),c=[];for(let a of bw){let d=new Map;for(let c of b){if(!a.relevance.test(c.text))continue;let b=by(c.text);for(let e of a.options){let a=b.find(a=>e.aliases.test(a));if(!a||bx.test(a))continue;let f=d.get(e.value)||{score:0,mentions:0,bestWeight:0};f.score+=c.weight,f.mentions+=1,f.bestWeight=Math.max(f.bestWeight,c.weight),d.set(e.value,f)}}let e=[...d.entries()].map(([a,b])=>({value:a,...b})).sort((a,b)=>b.score-a.score||b.mentions-a.mentions||(a.value<b.value?-1:1)),f=e[0];if(!f||f.bestWeight<60)continue;if(a.exclusive){c.push({id:a.id,label:a.label,values:[f.value]});continue}let g=Math.max(60,.4*f.score),h=e.filter(a=>a.score>=g).slice(0,3).map(a=>a.value);h.length>0&&c.push({id:a.id,label:a.label,values:h})}return c}let bA={type:"object",required:["conflicts"],properties:{conflicts:{type:"array",required:!0,maxItems:8,items:{type:"object",required:!0,properties:{kind:{type:"string",required:!0},itemA:{type:"string",required:!0},itemB:{type:"string",required:!0},description:{type:"string",required:!0},confidence:{type:"number",required:!0}}}}}};async function bB(a,b={}){let c=function(a){let b=[];for(let c of a.split(/\r?\n/u)){let a=c.trim();if(a){if(/^\|/u.test(a)&&/[\d]/u.test(a)){b.push(a.slice(0,160));continue}if(!/^#{1,6}\s/u.test(a))for(let c of a.split(/(?<=[。;;])/u)){let a=c.trim();a.length>=6&&a.length<=160&&/[\d]/u.test(a)&&b.push(a)}}}let c=[...new Set(b)],d=function(){let a=process.env.DOCUMENT_CONSISTENCY_SAMPLE_LIMIT;if(void 0===a||""===a)return 120;if("0"===a)return 200;let b=Number(a);return Number.isFinite(b)&&b>0?Math.floor(b):120}();return c.length<=d?c:c.map((a,b)=>({sentence:a,index:b,density:(a.match(/[\d,]+(?:\.\d+)?/gu)||[]).length})).sort((a,b)=>b.density-a.density||a.index-b.index).slice(0,d).sort((a,b)=>a.index-b.index).map(a=>a.sentence)}(a);if(c.length<2)return[];let d=await (0,P.bb)([(0,q.y4)("你是施工组织设计数据一致性审查器。"),"给定全文含数值的句子/表格行清单(编号与内容),找出互相矛盾的数值对:\n- 同一口径必须一致而实际数值不同:劳动力峰值多处不一致、同一面积两处数字不同、总工期与分项工期冲突、同一节点日期两处不一致、表格合计与明细之和不等、人数\xd7工期与总工日不自洽;\n- 只报确定的矛盾(itemA 与 itemB 明确矛盾且置信度 ≥0.8),不得臆造;\n- 不同口径的数值不算矛盾:建筑面积 vs 占地面积、不同单位的表述;分阶段各期人数互比不算矛盾(各阶段人数不同是正常配置);\n- 但总量控制上限与分阶段峰值必须自洽:“高峰期总人数控制在X人/高峰总人数X人以内/控制在X人以下”与任何“高峰投入Y人/阶段高峰Y人/峰值Y人”(Y>X)构成矛盾,必须上报;\nitemA/itemB 必须是清单中真实出现的原文片段(逐字引用编号对应句子或表格行的关键片段,含数值)。\n只输出 JSON,不得输出其他内容。"].join("\n"),c.map((a,b)=>`${b+1}. ${a}`).join("\n"),{maxTokens:2500,temperature:0,signal:b.signal,diagnostics:b.diagnostics,schema:bA,taskKind:"structuredGeneration"});return d?.conflicts?.length?d.conflicts.filter(a=>"string"==typeof a.itemA&&"string"==typeof a.itemB&&a.itemA.trim()&&a.itemB.trim()).filter(a=>(a.confidence??0)>=.7).slice(0,6):[]}var bC=c(1358),bD=c(11248);function bE(a){return(0,bD.K3)(`${a.fieldName||a.key} ${(0,u.lG)(a.value)}`)}function bF(a){return[...a.project,...a.schedule,...a.quality,...a.safety,...a.resources,...a.preciseFacts,...a.bills,...a.drawings,...a.rules,...a.specifications].map(bE).join("\n")}function bG(a,b){let c=[{label:"工期",corpus:bF({...b,project:[],quality:[],safety:[],resources:[],preciseFacts:[],bills:[],drawings:[],rules:[],specifications:[]}),required:/工期|日历天|合同工期|计划工期/u},{label:"质量",corpus:bF({...b,project:[],schedule:[],safety:[],resources:[],preciseFacts:[],bills:[],drawings:[],rules:[],specifications:[]}),required:/质量目标|质量标准|验收|复验/u},{label:"安全",corpus:bF({...b,project:[],schedule:[],quality:[],resources:[],preciseFacts:[],bills:[],drawings:[],rules:[],specifications:[]}),required:/安全|文明|风险|应急/u},{label:"资源",corpus:bF({...b,project:[],schedule:[],quality:[],safety:[],preciseFacts:[],bills:[],drawings:[],rules:[],specifications:[]}),required:/资源|材料|设备|劳动力/u},{label:"工程量",corpus:bF({...b,project:[],schedule:[],quality:[],safety:[],resources:[],preciseFacts:[],drawings:[],rules:[],specifications:[]}),required:/工程量|清单|建筑面积|长度|吨|台|套|项/u}],d=(0,bD.K3)(a.replace(/\s+/gu,"")),e=[];for(let b of c)b.required.test(a)&&0===[...new Set(b.corpus.split("\n").map(a=>a.replace(/\s+/gu,"").slice(0,24)).filter(Boolean))].filter(a=>a.length>=6&&d.includes(a)).length&&e.push({level:"warning",message:`证据使用覆盖率偏低:正文中未明显使用${b.label}相关事实`,suggestion:`请在相应章节中引用至少一项${b.label}事实,避免只写通用表述。`});return e}async function bH(a,b){let c=a.split(/\n\s*\n/gu).map(a=>a.trim()).filter(Boolean),d=/(?:加强组织领导|严格执行规范|落实责任制度|确保工程质量|强化过程管理|提高思想认识|完善管理体系|形成闭环管理|统筹推进|全面落实)/gu,e=[];for(let a of c){if(120>(0,r.V7)(a)||(a.match(d)||[]).length<2)continue;let c=await b.analyze(a);c&&(c.concrete||e.push({level:"warning",message:`段落存在空泛表述:${a.slice(0,48)}...`,suggestion:"请补充该段对应的对象、动作、控制点或验收闭环,避免只保留管理性套话。"}))}return e}function bI(a,b){let c=[];if(!b)return c;let d=a.map(a=>`${a.title}
|
|
49
|
-
${a.content}`).join("\n\n");if(/进度|工期/u.test(d)&&/资源|材料|设备|劳动力/u.test(d)){let d=a.find(a=>/资源|材料|设备|劳动力/u.test(a.title)),e=d?b.get(d.title):void 0;e?.contentNeeds.resource||c.push({level:"warning",message:"章节逻辑依赖不足:进度章节与资源章节之间缺少明显支撑关系",suggestion:"请在资源章节补充与工期目标相匹配的劳动力、材料、设备投入和调配计划。"})}return/质量/u.test(d)&&/施工|工艺|技术/u.test(d)&&(a.some(a=>b.get(a.title)?.contentNeeds.quality||b.get(a.title)?.contentNeeds.construction)||c.push({level:"warning",message:"章节逻辑依赖不足:质量章节未明显支撑施工工艺控制",suggestion:"请在施工技术和质量章节之间补齐工艺控制点、验收要求和整改复验闭环。"})),/安全|文明|风险/u.test(d)&&(a.some(a=>b.get(a.title)?.contentNeeds.safety)||c.push({level:"warning",message:"章节逻辑依赖不足:安全章节缺少检查整改和应急支撑",suggestion:"请补齐风险识别、检查整改、应急响应和演练闭环。"})),c}let bJ=[{label:"工程名称",factGroups:["project"],patterns:[/工程名称\s*[::]\s*([^\n|]+)/u],locations:"封面、工程概况、页眉页脚、专项方案、表格标题"},{label:"建设地点",factGroups:["project"],patterns:[/建设地点\s*[::]\s*([^\n|]+)/u,/工程地点\s*[::]\s*([^\n|]+)/u],locations:"工程概况、周边环境、扬尘噪声、交通导改、属地化措施"},{label:"总工期",factGroups:["schedule"],patterns:[/总工期\s*[::]\s*([^\n|]+)/u,/计划工期\s*[::]\s*([^\n|]+)/u,/工期目标\s*[::]\s*([^\n|]+)/u],locations:"工程概况、进度计划、横道图、资源计划、纠偏措施"},{label:"建设规模",factGroups:["project","preciseFacts"],patterns:[/建设规模\s*[::]\s*([^\n|]+)/u,/建筑面积\s*[::]\s*([^\n|]+)/u,/道路长度\s*[::]\s*([^\n|]+)/u,/管线长度\s*[::]\s*([^\n|]+)/u],locations:"工程概况、工程量表、施工部署、资源配置"},{label:"机械数量型号",factGroups:["resources"],patterns:[/([\p{Script=Han}A-Za-z0-9]+(?:机|吊|泵|车))\s*[^\n|]{0,12}(\d+)\s*(台|套|辆)/u],locations:"机械表、平面布置、进度保障、安全专项方案"},{label:"劳动力人数",factGroups:["resources"],patterns:[/劳动力\s*[^\n|]{0,12}(\d+)\s*人/u,/班组\s*[^\n|]{0,12}(\d+)\s*人/u],locations:"劳动力计划、进度节点、抢工方案、工资保障台账"},{label:"危大工程清单",factGroups:["safety","preciseFacts"],patterns:[/危大工程\s*[::]\s*([^\n|]+)/u,/深基坑|高支模|起重吊装|脚手架/u],locations:"安全章节、专项方案、审批表、应急预案"},{label:"环保监测指标",factGroups:["quality","safety","preciseFacts"],patterns:[/PM10|PM2\.5|TSP|噪声|扬尘在线监测/u],locations:"文明施工、扬尘噪声、智慧工地、应急联动"}];function bK(a){return a.replace(/[\s,。;;::|]/gu,"").trim()}let bL=/塔式起重机|履带吊|汽车吊|卷扬机|脚手架|扣件|钢管|模板|噪声|PM2\.5|PM10|TSP|扬尘在线监测|临电|消防|安全网|围挡|洗车台|沉淀池|雾炮/u,bM=/不使用|不采用|不配置|无需|未采用|不得使用|禁止使用/u;function bN(a,b){let c=[];for(let d of b){let b=a[d];if(Array.isArray(b))for(let a of b)a&&"object"==typeof a&&"value"in a&&"string"==typeof a.value&&c.push(a.value)}return c.map(bK).filter(Boolean)}let bO=/([\u4e00-\u9fa5A-Za-z0-9()()]{1,12}?)(\d+(?:\.\d+)?)\s*(?:mm|cm|m|米|MPa|kN|kV|kW|℃|°C|元|万元|人|天|日|个|层|樘|处|套|台|t|吨)([\u4e00-\u9fa5A-Za-z0-9()()]{0,8})/gu,bP=["直径","厚度","宽度","长度","高度","深度","间距","距离","标高","偏差","数量","面积","体积","重量","压力","温度","强度","等级","坡度","规格","尺寸","层数","次数","跨度","半径"];async function bQ(a){let b=function(a){let b=[];for(let c of a.split(/\r?\n/u)){let a=c.trim();if(!(/^#{1,6}\s/u.test(a)||/^\s*\|/u.test(a)))for(let c of a.matchAll(RegExp(bO.source,"gu"))){let a=(c[1]||"").trim(),d=Number(c[2]),e=(c[3]||"").trim(),f=`${a}${e}`.replace(/[\s,,、;;::]/gu,"");!(f.length<2)&&/[\u4e00-\u9fa5A-Za-z]{2,}/u.test(f)&&Number.isFinite(d)&&!(d<=0)&&(bP.some(a=>f.replace(/(?:mm|cm|m|MPa|kN|kV|kW|℃|元|万元|人|天|日|个|层|樘|处|套|台|t|吨)/gu,"").replace(/[\s,,、;;::()()]/gu,"")===a)||b.push({concept:f,value:d,raw:c[0]}))}}let c=new Set;return b.filter(a=>{let b=a.raw;return!c.has(b)&&(c.add(b),!0)}).slice(0,60)}(a);if(b.length<3)return[];let c=[...new Set(b.map(a=>a.concept))];if(c.length<2)return[];let d=await (0,M.VN)().embedDocuments(c);if(d.length!==c.length)throw Error(`本地语义模型嵌入数量不一致:期望 ${c.length} 条,实际 ${d.length} 条`);let e=new Map(c.map((a,b)=>[a,d[b]])),f=function(a,b){let c=new Map(a.map(a=>[a,a])),d=a=>{let b=c.get(a)||a;return b===a?a:(c.set(a,d(b)),c.get(a)||a)},e=(a,b)=>{c.set(d(a),d(b))};for(let c=0;c<a.length;c+=1)for(let d=c+1;d<a.length;d+=1)b(a[c],a[d])>=.6&&e(a[c],a[d]);return c}(c,(a,b)=>{let c=e.get(a),d=e.get(b);if(!c||!d||0===c.length||0===d.length)return 0;let f=Math.min(c.length,d.length),g=0;for(let a=0;a<f;a+=1)g+=c[a]*d[a];return g}),g=a=>{let b=a;for(;(f.get(b)||b)!==b;)b=f.get(b)||b;return b},h=new Map;for(let a of b){let b=g(a.concept),c=h.get(b)||[];c.push(a),h.set(b,c)}let i=[];for(let a of h.values()){if(a.length<2)continue;let b=[...new Set(a.map(a=>a.value))];if(b.length<2)continue;let c=Math.max(...b),d=Math.min(...b);if(!(c-d<=.02*c)&&!(c>20*d)&&!(a.filter(a=>/[、/](?:与)?\d/u.test(a.raw)).length>=2)&&(i.push(`“${a[0].concept}”出现多个口径:${[...new Set(a.map(a=>a.raw))].slice(0,3).join("、")}`),i.length>=4))break}return 0===i.length?[]:[{level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`同一参数概念出现多口径数值冲突:${i.join(";")}`,suggestion:"以绑定资料(图纸/清单/规范)裁决口径为准统一数值表述:每个参数概念全文只保留一个口径数值,删除矛盾表述。"}]}let bR=["电梯","幕墙","智能化","消防","暖通","给排水","电气","燃气","人防","室外","园林","绿化","景观","钢结构","防水","保温","门窗","通风","空调","防雷","接地","动力","照明","拆除","加固","装修","装饰"],bS=(a,b)=>{let c=b.exec(a);if(!c)return;let d=Number(c[1]);return Number.isFinite(d)&&d>0?d:void 0},bT=[{name:"基坑支护与降水工程",aliases:["基坑支护","基坑工程","降排水","降水井"],applicable:a=>{let b=bS(a,/(?:基坑)?开挖深度[约为达至]{0,3}(\d+(?:\.\d+)?)\s*m/u);return void 0!==b&&b>=3}},{name:"高大模板支撑工程",aliases:["高大模板","高支模","模板支撑体系","模板支撑"],applicable:a=>{let b=bS(a,/(?:模板)?支撑(?:体系)?(?:搭设)?高度[约为达至]{0,3}(\d+(?:\.\d+)?)\s*m/u),c=bS(a,/(?:施工(?:总)?荷载|集中线荷载)[约为达至]{0,3}(\d+(?:\.\d+)?)\s*kN/u);return void 0!==b&&b>=8||void 0!==c&&c>=10||/高支模|高大模板/u.test(a)}},{name:"脚手架工程",aliases:["脚手架","落地式钢管脚手架","悬挑式脚手架","悬挑脚手架"],applicable:a=>{let b=bS(a,/(?:落地式|悬挑式)?(?:钢管)?脚手架(?:搭设)?高度[约为达至]{0,3}(\d+(?:\.\d+)?)\s*m/u);return void 0!==b&&b>=15||/悬挑(?:式)?脚手架/u.test(a)}},{name:"起重吊装及安装拆卸工程",aliases:["起重吊装","塔吊","塔式起重机","汽车吊","履带吊","起重机械安拆","物料提升机","提升机","起重机械","吊装"],applicable:a=>/塔吊|塔式起重机|汽车吊|履带吊|吊车|起重机械|起重设备|起重机|卷扬机|物料提升机|提升机|电动葫芦|起重伤害|垂直运输|吊装/u.test(a)},{name:"吊篮作业工程",aliases:["吊篮","高处作业吊篮","电动吊篮"],applicable:a=>/吊篮/u.test(a)},{name:"拆除工程",aliases:["拆除工程","爆破拆除","机械拆除"],applicable:a=>/拆除工程|爆破拆除/u.test(a)}],bU=/分[为成]?[^。;;,,\n]{0,12}阶段|共[分设]?[^。;;,,\n]{0,12}阶段|划[分]?为[^。;;,,\n]{0,12}阶段|[二三四五六七八九十]个阶段/u,bV={一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9};function bW(a){return/(\d+|[一二三四五六七八九十]+)\s*个?\s*阶段/u.exec(a)?.[1]??null}function bX(a){let b=a.map(bW).filter(a=>null!==a).map(a=>/^\d+$/u.test(a)?parseInt(a,10):/^[一二三四五六七八九十]+$/u.test(a)?"十"===a?10:1===a.length?bV[a]??null:a.startsWith("十")?10+(bV[a[1]]??0):a.endsWith("十")?(bV[a[0]]??0)*10:(bV[a[0]]??0)*10+(bV[a[2]]??0):null).filter(a=>null!==a);return 0===b.length?null:1===new Set(b).size?b[0]:null}async function bY(a){let b=[...new Set(a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\|)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/\s+/gu,"").trim()).filter(a=>a.length>=8&&a.length<=60&&bU.test(a)))];if(b.length<2)return[];let c=await (0,M.Mv)(b,b),d=b.map((a,b)=>b),e=a=>{let b=a;for(;d[b]!==b;)b=d[b];let c=a;for(;d[c]!==b;){let a=d[c];d[c]=b,c=a}return b},f=(a,b)=>{d[e(b)]=e(a)};for(let a=0;a<b.length;a+=1)for(let d=a+1;d<b.length;d+=1)c(b[a],b[d])>=.62&&f(a,d);let g=new Map;for(let a=0;a<b.length;a+=1){let c=e(a),d=g.get(c)||[];d.push(b[a]),g.set(c,d)}if(g.size<2||new Set([...g.values()].map(bX).filter(a=>null!==a)).size<2)return[];let h=[...g.values()].map(a=>a.sort((a,b)=>b.length-a.length)[0]).slice(0,4);return[{level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`施工阶段划分口径不统一:正文出现 ${g.size} 种互异阶段划分口径(${h.map(a=>`“${a.slice(0,16)}”`).join("、")})`,suggestion:"全文统一阶段划分口径:以总进度计划/施工部署章节的划分为唯一口径,其余章节划分句逐字对齐或删除。"}]}var bZ=c(41991);let b$=/应急预案|应急措施|应急响应|应急救援|突发事件|应急管理|应急物资|应急演练|应急组织|应急保障/u,b_=/应急|突发|救援|预案|抢险|疏散/u,b0=["应急预案的编制与响应流程","突发事件应急处置措施","应急救援组织体系与保障"],b1=["应急照明系统安装调试","应急电源配置与切换方案"],b2={organization:"应急管理领导小组、应急救援队伍的组织机构与职责分工",procedure:"应急处置程序、应急响应流程与应急演练安排",resource:"应急物资、应急器材设备的储备与保障措施"},b3=/应急物资|急救箱|灭火器|沙袋|发电机|水泵|对讲机|应急照明|应急灯|防护服|救援绳|救生衣|铁锹|编织袋|抽水泵|警示带|应急器材/u,b4=/配备|储备|保障|配置|数量|不少于|共计|套|具|个|台|把|只/u,b5=["应急物资储备清单与配备数量","应急救援器材的配置与保障"],b6=["应急照明灯具数量与回路设计","应急电源的电气系统设计"];async function b7(a){return(0,bZ.A)({prototypes:[...b0],negativePrototypes:[...b1],embedDocuments:a})}async function b8(a){return(0,bZ.A)({prototypes:[...b5],negativePrototypes:[...b6],embedDocuments:a})}async function b9(a,b){let c=a.split(/\r?\n/u),d=[],e=c.map(a=>{let b=/^(#{2,4})\s+(.+)$/u.exec(a.trim());if(b)return{level:b[1].length,title:b[2].replace(/^\d+(?:\.\d+)*\s+/u,"").trim()}}).filter(a=>void 0!==a).filter(a=>!b$.test(a.title)&&b_.test(a.title)),f=await b7(b),g=e.length>0?await f(e.map(a=>a.title)):[],h=new Set(e.filter((a,b)=>g[b]).map(a=>a.title)),i=a=>b$.test(a)||h.has(a),j=!1,k=[],l=[],m="",n=0;for(let a of c){let b=/^(#{2,4})\s+(.+)$/u.exec(a.trim());if(b){let a=b[1].length,c=b[2].replace(/^\d+(?:\.\d+)*\s+/u,"").trim();if(i(c)){j=!0,k.push(c);continue}a<=3&&j&&(j=!1);continue}if(j&&a.trim()&&!/^\s*\|/u.test(a)){l.push(a);let b=a.replace(/\s+/gu,"");m+=b,n+=b.length}}if(0===k.length)return d;let o=[];n<300&&o.push(`字数仅 ${n} 字(要求 ≥300 字)`);let p=m.match(/.{1,200}/gu)||[],q=Object.values(b2),r=await (0,M.Mv)(p,q),s=a=>p.some(b=>r(b,a)>=M.Eh);s(b2.organization)||o.push("应急组织体系"),s(b2.procedure)||o.push("应急处置程序/演练");let t=await b8(b),u=l.join("。").split(/[。;;]/u).map(a=>a.trim()).filter(a=>b3.test(a)&&b4.test(a)),v=u.length>0?await t(u):[];return s(b2.resource)||v.some(Boolean)||o.push("应急物资保障"),o.length>0&&d.push({level:"error",severity:"blocker",category:"structure",owner:"llm",repairability:"llm_repairable",message:`应急预案小节深度不足:${k.join("、")}(缺少:${o.join("、")})`,suggestion:"补写应急组织体系(领导小组/抢险队与职责)、应急处置程序与演练安排、应急物资清单与保障措施,达到可落地深度。",sectionTitle:k[0]}),d}async function ca(a){let b=await (0,s.Z2)(a.markdown,a.factsModel,{scopeClassifier:a.factTokenScopeClassifier}),c=ar(a.tenderRequirements).map(({item:a})=>aq(a)),d=a.markdown.split(/\n/u).filter(a=>/^#{2,4}\s/u.test(a.trim())).map(a=>aA(a)).filter(Boolean).slice(0,80),e=(0,bu.s3)(a.markdown),f=await (0,M.Mv)(c,[...d,...e]),g=await (0,M.Mv)(a.evaluationCriteriaItems||[],d),h=new Map((await Promise.all(a.chapters.map(async b=>[b.title,await a.professionalDepthClassifier.analyze(b.content)]))).filter(a=>!!a[1])),i=(0,bu.t1)(a.markdown),j=await (0,M.Mv)(i.sentences,i.overviewBody?[i.overviewBody]:[]);return[...a.promptDocumentRules?.forbidToc?[]:[...(0,s.gN)(a.markdown),...(0,s.f8)(a.markdown)],...(0,s.kw)(a.markdown),...(0,s.wl)(a.markdown,a.evaluationCriteriaItems||[],{semanticSimilarity:g}),...await az(a.markdown,a.tenderRequirements,{semanticSimilarity:f,bodyTexts:e}),...(0,bu.cf)(a.markdown,a.factsModel),...(0,bu.a8)(a.markdown,a.factsModel),...(0,bu.u2)(a.markdown),...(0,bu.rA)(a.markdown),...(0,bu.Et)(a.markdown),...(0,bu.H)(a.markdown),...(0,bu.N$)(a.markdown),...(0,bu.Fr)(a.markdown),...(0,bu.bq)(a.markdown),...(0,bu.LA)(a.markdown,a.factsModel),...(0,bu.ek)(a.markdown,a.factsModel),...(0,bu.fQ)(a.markdown,a.factsModel),...(0,bu.hu)(a.markdown,a.factsModel,a.tenderRequirements),...(0,bu.Rv)(a.markdown),...function(a,b){if("0"===process.env.DOCUMENT_TITLE_ALIGNMENT_CHECK)return[];let c=a=>a.replace(/^\d+(?:\.\d+)*[、..\s]*/u,"").replace(/[\s,,、]/gu,""),d=new Map;a.forEach((a,b)=>{let c=(0,o.GQ)(a.title).replace(/[\s,,、]/gu,"");c&&!d.has(c)&&d.set(c,b)});let e=new Map,f=new Map;a.forEach((a,b)=>{let d=new Set;for(let g of(a.content||"").split(/\r?\n/u)){let a=/^###\s+(.+?)\s*$/u.exec(g.trim());if(!a)continue;let h=c(a[1]);if(h.length<8||d.has(h))continue;d.add(h),f.has(h)||f.set(h,a[1].replace(/^\d+(?:\.\d+)*[、..\s]*/u,"").trim());let i=e.get(h)||[];i.push(b),e.set(h,i)}});let g=new Map;b.forEach(a=>{let b=d.get((0,o.GQ)(a.title).replace(/[\s,,、]/gu,""));if(void 0!==b)for(let d of a.sections||[]){let a=c(d);if(a.length<8)continue;let e=g.get(a)||[];e.includes(b)||e.push(b),g.set(a,e)}});let h=[];for(let[b,c]of e){if(c.length<2)continue;let d=g.get(b)||[];if(d.length>=2)continue;let e=1===d.length?d[0]:c[0],i=f.get(b)||b;for(let b of c){if(b===e)continue;let c=a[b];h.push({level:"error",severity:"blocker",category:"structure",owner:"llm",repairability:"llm_repairable",chapterId:c.id,sectionTitle:i,message:`跨章同名小节:“${i}”已在「${a[e].title}」落位,本章(「${c.title}」)同名小节属跨章串章重复,须改写归并`,suggestion:"同一主题小节全文只保留一处(归属章);非归属章的同名小节:内容与本章主题相关则改写标题为可区分的具体主题并归并内容,与本章无关则整节删除(含标题行);修复后全文不得再出现跨章同名小节。"})}}return h}(a.chapters,a.effectiveChapters||a.template.chapters||[]),...(0,bu.cT)(a.markdown),...(0,bu.ub)(a.markdown),...(0,bu.cl)(a.markdown),...(0,bu.zP)(a.markdown),...await (0,bu.r8)(a.markdown,(0,bu.P3)(a.factsModel)),...(0,bu.vH)(a.markdown),...await (0,bu.sn)(a.markdown),...await (0,bu.YN)(a.markdown),...(0,bu.y2)(a.markdown),...(0,bu.Xc)(a.markdown),...await (0,bu.mC)(a.markdown),...(0,bu.l4)(a.markdown,{semanticSimilarity:j}),...(0,bu.dF)(a.markdown),...await bQ(a.markdown),...await (0,bv.WT)(a.markdown),...function(a){let b=[...new Set(a.flatMap(a=>bR.filter(b=>a.title.includes(b))))];if(0===b.length)return[];let c=a.map(a=>a.content||"").join("\n"),d=b.filter(a=>!c.includes(a));if(0===d.length)return[];let e=a.find(a=>d.some(b=>a.title.includes(b)));return[{level:"error",severity:"blocker",category:"structure",owner:"llm",repairability:"llm_repairable",message:`章节大纲涉及的专业工程系统在正文零覆盖:${d.join("、")}`,suggestion:"对应章节必须补写该专业工程的施工方案正文(施工概况/施工流程/施工方法,含可核实的工艺参数),不得整章零覆盖。",chapterId:e?.id}]}(a.chapters),...function(a){let b=bT.filter(b=>b.applicable(a));if(0===b.length)return[];let c=function(a){let b=a.split(/\r?\n/u),c=[];return b.forEach((a,d)=>{/危大/u.test(a)&&c.push(...b.slice(Math.max(0,d-6),Math.min(b.length,d+7)))}),c.join("\n")}(a);if(!c)return[{level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`正文出现危大工程适用前提(${b.map(a=>a.name).join("、")})但全文未编制危大工程辨识清单`,suggestion:"必须编制危大工程辨识清单:按建办质〔2018〕31号逐项辨识并标注分级,超过一定规模的专项施工方案需专家论证。"}];let d=b.filter(a=>!a.aliases.some(a=>c.includes(a)));return 0===d.length?[]:[{level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`危大工程辨识清单遗漏适用项:${d.map(a=>a.name).join("、")}(正文已出现适用前提但辨识清单未列入)`,suggestion:"按建办质〔2018〕31号逐项辨识:将遗漏项补入危大工程辨识清单并标注分级,超过一定规模的专项施工方案需专家论证。"}]}(a.markdown),...(0,s.Ef)(a.markdown,a.effectiveChapters||a.template.chapters||[]),...(0,s.K1)(a.markdown),...(0,s.Fv)(a.markdown),...(0,s.k0)(a.markdown),...(0,s.NS)(a.markdown),...(0,s.SN)(a.markdown),...(0,s.qK)(a.markdown,a.chapters),...(0,s.ji)(a.chapters,h),...(0,s.i0)(a.chapters,h),...(0,s.ST)(a.chapters,h),...(0,s.xX)(a.chapters,h),...await (0,s.Zu)(a.markdown),...await (0,s.qm)(a.markdown,a.factsModel,a.scopeConflicts,h),...await (0,s.hr)(a.markdown,a.factsModel),...bG(a.markdown,a.factsModel),...await bH(a.markdown,a.professionalDepthClassifier),...await (0,t.Fw)(a.chapters),...(0,t.Hl)(a.chapters),...(0,t.iX)({markdown:a.markdown,factsModel:a.factsModel,chapters:a.chapters}),...function(a,b){let c=[];if(!/施工组织设计|施工组织|施组|质量|安全|文明施工/u.test(a))return c;for(let d of bJ){let e=bN(b,d.factGroups),f=(function(a,b){let c=[];for(let d of b){let b=new RegExp(d.source,d.flags.includes("g")?d.flags:`${d.flags}g`);for(let d of a.matchAll(b)){let a=bK(d[1]||d[0]||"");!bM.test(a)&&a.length>=2&&a.length<=80&&c.push(a)}}return[...new Set(c)]})(a,d.patterns).filter(a=>!bL.test(a)&&!function(a,b){return 0===b.length||b.some(b=>b.includes(a)||a.includes(b)||a.length>=4&&b.includes(a.slice(0,4)))}(a,e)).slice(0,5);f.length>0&&c.push({level:"warning",message:`施组数据一致性风险:${d.label} 可能与项目图谱/事实不一致(${f.join("、")})`,suggestion:`请核对${d.label}在${d.locations}中的表述,统一以招标文件、项目图谱和可信事实为准。`})}return c}(a.markdown,a.factsModel),...function(a,b){let c=[],d=bN(b,["project","schedule","resources","quality","safety","preciseFacts"]);if(0===d.length)return c;for(let b of a)/概况|进度|资源|质量|安全|文明|工资|应急/u.test(`${b.title} ${(b.sections||[]).join(" ")}`)&&(d.some(a=>a.length>=3&&b.content.includes(a.slice(0,Math.min(10,a.length))))||c.push({level:"warning",message:`${b.title} 缺少可识别的项目图谱事实支撑`,suggestion:"请至少引用工程名称、工期、工程量、资源、风险、质量安全目标等项目专属事实之一,避免纯模板化。"}));return c}(a.chapters,a.factsModel),...(0,t.Av)(a.chapters,a.markdown),...(0,t.CS)(a.chapters,a.markdown),...(0,t.b7)(a.chapters),...bI(a.chapters,h),...function(a,b,c,d){let e={factuality:2*!(0,s.vY)(a,c).some(a=>"error"===a.level),structure:b.length>0&&b.every(b=>a.includes(b.title)&&(0,r.V7)(b.content)>=600)?2:1,depth:0===(0,s.i0)(b,d).length?2:1,executable:0===bI(b,d).length?2:1,evidence:0===bG(a,c).length?2:1},f=e.factuality+e.structure+e.depth+e.executable+e.evidence;return[{level:"info",message:`文档交付评分报告:总分 ${f}/10,事实${e.factuality},结构${e.structure},专业${e.depth},可执行${e.executable},证据${e.evidence}`,suggestion:f>=8?"可交付,但建议继续优化证据使用覆盖率和章节依赖链路。":"建议优先修复低分维度后再导出。"}]}(a.markdown,a.chapters,a.factsModel,h),...b,...(0,s.iC)(a.markdown),...await (0,s.BV)(a.markdown),...(0,q.dh)(a.markdown),...(0,s.Ty)(a.chapters),...await (0,s.N1)(a.markdown,a.factsModel,a.chapters),...await (0,s.S2)(a.markdown,a.chapters,a.factsModel),...await bY(a.markdown),...await b9(a.markdown),...(0,bC.QP)((0,bC.JV)(a.markdown,a.factsModel)),...(0,s.yd)(a.markdown,a.factsModel),...function(a){let b=[];return bj.test(a)&&b.push({level:"warning",message:"正文包含联网增强过程性表述",suggestion:"请删除联网检索、网页资料、搜索结果等过程性话术,改为正式交付语言。"}),b}(a.markdown),...(0,s.bM)(a.markdown),...(0,s.M$)(a.markdown,a.promptBindings),...(0,s.AC)(a.markdown,a.chapters),...(0,s.mR)(a.markdown,a.template),...(0,q.UG)(a.markdown,a.template),...await (0,q.Ed)(a.markdown,a.promptDocumentRules),...await (0,bu.cJ)(a.markdown,a.factsModel)]}let cb={project:"项目基础事实",schedule:"工期与节点",quality:"质量目标与验收",safety:"安全文明要求",resources:"资源投入依据",quantities:"清单/图纸/工程量事实",rules:"规范规则与验收要求"};var cc=c(52922);let cd=["精心组织","科学统筹","科学管理","精益求精","全力保障","高效推进","力争优质","力争一流","一流水平","完善体系","最大限度","显著提升","大力落实","严格把控","充分确保","竭力打造","现代化管理","加强管理","提高意识","强化监督","持续完善","及时处理","全方位","常态化","提质增效","高标准","统筹推进"];[...cd];let ce=["危险性较大的分部分项工程安全管理","扬尘污染防治措施","建筑工人实名制管理","农民工工资专用账户与工资支付保障","生产安全事故应急预案与应急演练","绿色施工与四节一环保措施"],cf=["危险源辨识与风险识别评估","编制专项施工方案","组织专家论证并履行审批程序","对作业人员进行安全技术交底","施工过程监测与监控量测","分部分项工程验收","三级配电系统","两级漏电保护装置","漏电保护器与接地保护","实名制考勤与人员管理","农民工工资专用账户银行代发","应急预案编制与响应","绿色施工措施与评价"],cg=/目录|层级|编号|表格|表头|分隔线|跨章|数据一致|数值口径|页码|空小节|缺少|缺失|缺节/u;function ch(a){return a.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").replace(/\s+/gu,"").trim()}async function ci(a,b){let{blocks:c,completeBlocks:d}=await (0,cc.Pm)(a);return Math.round((.7*Math.min(1,d/Math.max(6,Math.ceil(b??(0,r.V7)(a)/1500)))+.3*(c?d/c:0))*100)}async function cj(a,b){let c=await (0,cc.Bt)(a,b),d=(0,cc.Ye)(a),e=a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\||[-*+]\s|>)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/[\s,,、::()()【】[\]《》“”"'`]/gu,"")).filter(a=>a.length>=12),f=e.length?(e.length-new Set(e).size)/e.length:0,g=await (0,cc.gE)(a,b),h=(0,cc.nY)(a);return{level:g.heavyTemplated?"heavy":c.level,fillerRatio:c.ratio,fillerSentences:c.fillerSentences,totalSentences:c.totalSentences,vagueHitCount:d.reduce((a,b)=>a+b.count,0),vaguePhrases:d.map(a=>a.phrase),duplicateSentenceRate:f,crossProjectResidue:h,difficultyCountermeasureRatio:g.ratio,difficultyBothCount:g.bothCount,difficultyCountermeasures:g.countermeasures,difficultyHeavyTemplated:g.heavyTemplated}}async function ck(a){var b;let c=a.markdown.split(/\n{2,}/u).filter(a=>a.trim().length>=30),d=await (0,M.Mv)(c,[...ce,...cf],a.embedDocuments),e=a=>c.some(b=>d(b,a)>=M.Eh),f=await (0,cc.Bt)(a.markdown,a.embedDocuments);return{completeness:function(a,b,c,d){let e=[...a.matchAll(/^#{1,3}\s+(.+)$/gmu)].map(a=>ch(a[1]||"")).filter(a=>a.length>=2),f=1,g=c?.chapters||[];if(g.length>0){let a=g.map(a=>ch(a.title)).filter(Boolean);f=a.filter(a=>e.some(b=>b.includes(a)||a.includes(b))).length/a.length}else b.length>0&&(f=b.filter(a=>e.some(b=>b.includes(ch(a.title))||ch(a.title).includes(b))).length/b.length);return Math.round((.55*f+.45*(ce.filter(d).length/ce.length))*100)}(a.markdown,a.chapters,a.template,e),specificity:function(a,b,c){let d=c.filter(bC.O7),e=d.filter(a=>"used"===a.status),f=d.length?e.length/d.length:1,g=e.map(a=>String(a.value||"").replace(/\s+/gu," ").trim()).filter(a=>a.length>=4&&a.length<=60),h=b.map(a=>(a.content||"").replace(/\s+/gu," ")),i=g.filter(a=>h.filter(b=>b.includes(a)).length>=2).length;return Math.round((.55*f+.45*(g.length?i/g.length:1))*100)}(a.markdown,a.chapters,a.factTraces),compliance:function(a,b){let c=cf.filter(b).length/cf.length,d=(0,cc.JD)(a);return Math.round((.8*c+.1*(d.twoStepComplete?1:d.categories.length>0&&d.graded?.6:.3*(d.categories.length>0))+.1*(0,cc.bH)(a).coverage)*100)}(a.markdown,e),executability:await ci(a.markdown,a.referenceCompleteBlocks),normalization:Math.max(0,100-8*(b=a.issues).filter(a=>"error"===a.level&&cg.test(a.message)).length-Math.min(3*b.filter(a=>"warning"===a.level&&cg.test(a.message)).length,30)),uniqueness:function(a,b){let c=cd.filter(b=>a.includes(b)).length,d=b.vagueSemanticSentences,e=100*Math.max(0,b.ratio-.1),f=a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\||[-*+]\s|>)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/[\s,,、::()()【】[\]《》“”"'`]/gu,"")).filter(a=>a.length>=12);return Math.max(0,Math.round(100-4*c-6*d-.5*e-60*(f.length?(f.length-new Set(f).size)/f.length:0)))}(a.markdown,f)}}async function cl(a){let b=await ck({markdown:a.markdown,chapters:a.chapters,template:a.template,factTraces:a.factTraces,issues:a.issues,referenceCompleteBlocks:a.referenceCompleteBlocks,embedDocuments:a.embedDocuments}),c=Math.round((.3*b.completeness+.25*b.specificity+.2*b.compliance+.15*b.executability+.1*b.normalization)*Math.min(1,b.uniqueness/90)),d=a.issues.filter(a=>"error"===a.level).length,e=Math.max(0,Math.min(99,Math.round(c-8*d))),f=a.knowledgeCoverage.score>=95?95:85;return{overall:c,deliveryProbability:e,target:f,passed:e>=f&&0===d,scores:b,templating:await cj(a.markdown,a.embedDocuments),summary:`交付置信度 ${e}% / 目标 ${f}%,综合评分 ${c}/100(资料完整性 ${b.completeness}、方案针对性 ${b.specificity}、合规性 ${b.compliance}、可落地性 ${b.executability}、编制规范性 ${b.normalization}、低雷同性 ${b.uniqueness})`,actions:e>=f&&0===d?["已达到当前质量目标,建议保持事实口径和导出前复核。"]:["按招标评审口径补齐短板维度:章节与强制模块缺失补完整性、项目专属数据补针对性、危大闭环与强制制度补合规性、责任频次闭环句式补可落地性、表格层级与数据一致补规范性、清理空话禁用词与重复句式降雷同。","系统需优先修复阻断问题、扩大本地知识库检索、补抽结构化事实,并将未落位事实写入对应章节。"]}}var cm=c(28103),cn=c(5726);function co(a,b){return b<=0?100*(a>0):Math.min(120,a/b*100)}async function cp(a){var b,c;if(!a||a.trim().length<500)return;let d=(0,cm.aF)(a),e=(0,cn.Ah)(d);if(!e)return;let f=await (0,cm.WT)(a),g=e.profile,h=Math.max(g.arrowChainCoverage,.08),i=[{key:"paramDensity",label:"参数密度",generated:f.paramDensity,reference:g.paramDensity,score:co(f.paramDensity,.8*g.paramDensity),unit:"perKChars"},{key:"arrowChainCoverage",label:"工序链覆盖率",generated:f.arrowChainCoverage,reference:h,score:co(f.arrowChainCoverage,h),unit:"percent"},{key:"duplicationRate",label:"段落重复率",generated:f.duplicationRate,reference:g.duplicationRate,score:(b=f.duplicationRate)<=(c=g.duplicationRate)?100:Math.max(0,Math.round(100-(b-c)*400)),unit:"percent"},{key:"tableCount",label:"表格数量",generated:f.tableCount,reference:g.tableCount,score:co(f.tableCount,.6*g.tableCount),unit:"count"},{key:"sectionCount",label:"章节结构",generated:f.sectionCount,reference:g.sectionCount,score:f.sectionCount>=.4*g.sectionCount?100:co(f.sectionCount,g.sectionCount),unit:"count"}].map(a=>({...a,score:Math.round(Math.min(120,a.score)),passed:a.score>=80})),j={paramDensity:.3,arrowChainCoverage:.2,duplicationRate:.2,tableCount:.15,sectionCount:.15},k=Math.round(Math.min(100,i.reduce((a,b)=>a+b.score*(j[b.key]||0),0)));return{projectType:d,referenceSourceCount:e.sourceCount,overallScore:k,items:i}}function cq(...a){return a.flat()}var cr=c(87942),cs=c(48161),ct=c(28366);let cu=[{key:"project_name",label:"项目名称",aliases:["项目名称","工程名称","招标项目名称"],valueType:"text"},{key:"project_code",label:"项目编号",aliases:["项目编号","招标项目编号","工程编号"],valueType:"identifier"},{key:"owner",label:"招标人",aliases:["招标人","项目业主","建设单位","发包人","采购人"],valueType:"organization"},{key:"project_location",label:"建设地点",aliases:["建设地点","实施地点","服务地点","交付地点"],valueType:"location"},{key:"project_scale",label:"建设规模",aliases:["建设规模","工程规模","项目规模"],valueType:"scale"},{key:"schedule_requirement",label:"计划工期",aliases:["计划工期","合同工期","总工期","工期","实施周期","服务期限"],valueType:"duration"},{key:"quality_standard",label:"质量标准",aliases:["质量标准","质量目标","验收标准","服务标准"],valueType:"standard"},{key:"project_investment_estimate",label:"合同估算价",aliases:["合同估算价","合同估算价格","投资估算","估算价格","最高投标限价","招标控制价","预算金额"],valueType:"money"},{key:"labor_peak",label:"劳动力高峰人数",aliases:["劳动力高峰","高峰期劳动力","高峰人数","劳动力峰值","高峰期人数","劳动力配置"],valueType:"count"},{key:"assembly_rate",label:"装配率",aliases:["装配率","装配式建筑占比","装配式比例","装配式建筑面积占比"],valueType:"percentage"},{key:"foundation_support_form",label:"基坑支护形式",aliases:["基坑支护形式","基坑支护方式","支护形式","支护方式"],valueType:"text"},{key:"excavation_depth",label:"基坑开挖深度",aliases:["基坑开挖深度","基坑深度","开挖深度","基坑底标高","坑底标高","坡底线","坑底"],valueType:"text"},{key:"award_clause",label:"创优奖惩条款",aliases:["创优奖惩","优质优价","创优目标","奖惩条款","创优奖项"],valueType:"award"}],cv=[{pattern:/土钉/u,form:"土钉墙"},{pattern:/锚杆|锚索/u,form:"锚杆支护"},{pattern:/喷锚/u,form:"喷锚支护"},{pattern:/放坡/u,form:"放坡开挖"},{pattern:/地下连续墙/u,form:"地下连续墙"},{pattern:/支护桩/u,form:"支护桩"}];function cw(a){return/^(见|详见|参见|按|以).{0,30}(招标公告|招标文件|投标人须知|前附表|合同|附件|图纸|清单|约定|规定|执行)/u.test(a)||/见招标公告|见投标人须知前附表|详见|按.*执行/u.test(a)}function cx(a,b){switch(b.valueType){case"duration":if(!/\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年)/u.test(a))return{rejected:!0,score:-80,reason:"缺少明确工期数值和时间单位"};if(/延误|逾期|违约|赔偿|罚款|处罚|扣除|扣留|切除/u.test(a))return{rejected:!0,score:-90,reason:"命中工期违约条款而非计划工期"};return{rejected:!1,score:45,reason:"包含明确工期数值和时间单位"};case"money":if(!/\d+(?:\.\d+)?\s*(?:万元|元|亿元)/u.test(a))return{rejected:!0,score:-80,reason:"缺少明确金额数值和单位"};if(/综合单价|税率|增值税|利润|报价明细/u.test(a))return{rejected:!0,score:-90,reason:"命中非目标商务明细"};return{rejected:!1,score:45,reason:"包含明确金额数值和单位"};case"standard":if(!/合格|优良|一次性验收|达到|满足|符合/u.test(a))return{rejected:!0,score:-70,reason:"不符合标准类字段表达"};if(/工期|投标|技术标准|有效期/u.test(a))return{rejected:!0,score:-90,reason:"标准字段包含其他字段或投标条款"};return{rejected:!1,score:40,reason:"符合标准类字段表达"};case"location":if(cw(a))return{rejected:!1,score:-40,reason:"引用型地点弱值"};if(!/(省|市|区|县|镇|街道|路|园区|大道|巷|内|号)/u.test(a))return{rejected:!1,score:-10,reason:"地点具体性不足"};return{rejected:!1,score:35,reason:"包含具体地址特征"};case"organization":if(/监督管理部门|投标人|中标候选人|评标委员会/u.test(a))return{rejected:!0,score:-90,reason:"组织字段角色串位"};if(/(公司|集团|单位|委员会|机关|中心|局|院|所|政府|运营管理)/u.test(a))return{rejected:!1,score:35,reason:"包含组织名称特征"};return{rejected:!1,score:5,reason:"组织名称特征较弱"};case"identifier":if(!/^[A-Za-z0-9\-_.()()]+$/u.test(a))return{rejected:!0,score:-70,reason:"编号格式不合法"};if(/(?:㎡|m²|m2|m3|m³|平方米|米|万元|元|日历天|个月)/u.test(a))return{rejected:!0,score:-60,reason:"编号中混入量纲单位,疑似字段串位"};return{rejected:!1,score:35,reason:"符合编号格式"};case"scale":if(/\d+(?:\.\d+)?\s*(?:㎡|平方米|m²|米|m|层|栋|座|万元|元)/iu.test(a))return{rejected:!1,score:30,reason:"包含规模数值或单位"};return{rejected:!1,score:5,reason:"规模字段为文本描述"};case"count":if(!/\d+(?:\.\d+)?\s*人/u.test(a))return{rejected:!0,score:-80,reason:"缺少明确人数数值"};if(/面积|工期|金额|报价|万元/u.test(a))return{rejected:!0,score:-70,reason:"人数字段混入其他量纲"};return{rejected:!1,score:40,reason:"包含明确人数数值"};case"percentage":if(!/\d+(?:\.\d+)?\s*(?:%|%)/u.test(a))return{rejected:!0,score:-80,reason:"缺少百分比数值"};if(/工期|金额|报价/u.test(a))return{rejected:!0,score:-70,reason:"百分比字段混入其他量纲"};return{rejected:!1,score:40,reason:"包含百分比数值"};case"award":if(!/(?:杯|奖|万元|优质优价)/u.test(a))return{rejected:!0,score:-70,reason:"缺少奖项或奖惩金额特征"};if(/评标|保证金|报价明细|综合单价/u.test(a))return{rejected:!0,score:-90,reason:"奖项字段串入评标条款"};return{rejected:!1,score:40,reason:"包含奖项/奖惩金额特征"};default:if("project_name"===b.key){if(/存在部位|风险等级|管控措施|监测频次|闭环要求|序号|内容|范围|不适用/u.test(a))return{rejected:!0,score:-90,reason:"项目名称字段串位或表头噪声"};if(!/项目|工程|学院|宿舍|楼|校区|施工总承包/u.test(a))return{rejected:!0,score:-70,reason:"项目名称缺少工程名称特征"};return{rejected:!1,score:35,reason:"符合项目名称特征"}}if("foundation_support_form"===b.key){if(!(cv.some(b=>b.pattern.test(a)||a.includes(b.form))||/支护|放坡|锚|桩|喷|开挖|护坡/u.test(a)))return{rejected:!0,score:-70,reason:"基坑支护形式缺少支护工艺特征"};if(/监测|监测频次|闭环/u.test(a))return{rejected:!0,score:-80,reason:"支护形式字段串入监测管控内容"};return{rejected:!1,score:30,reason:"包含支护工艺特征"}}if("excavation_depth"===b.key){if(!/\d+(?:\.\d+)?/u.test(a))return{rejected:!0,score:-70,reason:"基坑开挖深度缺少数值"};if(/监测|监测频次|闭环|验收|支护桩/u.test(a))return{rejected:!0,score:-80,reason:"开挖深度字段串入监测管控内容"};return{rejected:!1,score:30,reason:"包含开挖深度数值"}}return{rejected:!1,score:a.length>=2?10:-20,reason:"文本字段"}}}function cy(a,b){let c=(0,Q.de)(a.value),d=[],e=30,f=!1;(!c||c.length>260)&&(f=!0,e-=100,d.push("空值或过长")),/###|投标文件的编制|备选投标方案|投标将被否决|投标人提供|投标有效期|电子交易系统|公共资源交易监督管理部门|中标候选|评标委员会|实质性内容作出响应|招标人有权核查/u.test(c)&&(f=!0,e-=100,d.push("大段条款或 Markdown 噪声")),cu.some(a=>a.key!==b.key&&a.aliases.some(a=>c.includes(a)))&&(e-=45,d.push("包含其他字段名,疑似字段串位")),cw(c)&&(e-=35,d.push("引用型弱值"));let g=cx(c,b);return e+=g.score,d.push(g.reason),g.rejected&&(f=!0),"evidence"===a.sourceType&&(e+=20,d.push("来源为证据原文")),a.sourceName&&/补疑|答疑|澄清|补充|更正|修改/u.test(a.sourceName)&&(e+=35,d.push("补疑/澄清类修正文件,权威最高")),a.sourceName&&/招标文件|招标公告|前附表|合同|需求书|正文/u.test(a.sourceName)&&(e+=15,d.push("来源文件可信")),"generated_markdown"===a.sourceType&&(e-=10),{...a,value:c,confidence:e,rejected:f,reasons:d}}let cz=/坡底线|坑底标高|基坑底标高|开挖深度|基坑深度/u,cA=RegExp(cv.map(a=>a.pattern.source).join("|"),"u"),cB=/(?:超过|大于|小于|不[大低小]于|不低于|及以上|及以下|以上|以下)/u;function cC(a){let b=[],c=new Map,d=new Map;for(let b of a){let a=String(b.content||""),e=b.filePath||b.sectionTitle||"drawing_annotation";if(!("drawing"===b.processingType||/dwg|图纸|CAD/iu.test(`${b.filePath||""} ${b.sectionTitle||""}`))&&!/CAD 语义标注/u.test(a)||!cz.test(a)&&!cA.test(a))continue;let f=a.split(/\r?\n/u);for(let a=0;a<f.length;a+=1){let b=f[a].trim();if(b){if(cz.test(b)&&!/坑底H/u.test(b)&&!cB.test(b)){let d=a=>Number.isFinite(a)&&a>=1&&a<50,g=[...b.matchAll(/-?(\d+(?:\.\d{1,3})?)/gu)].filter(a=>{let c=a.index??0,d=b[c-1],e=b[c+a[0].length];return":"!==d&&":"!==e&&"#"!==e}).map(a=>Math.abs(Number(a[1]))).filter(d),h=g.length>0?Math.max(...g):NaN,i=!1;if(!Number.isFinite(h)&&a>0&&/^-?[\d.,]+\s*$/u.test(f[a-1].trim())){let b=Math.abs(Number(f[a-1].trim().replace(/,/gu,"")));d(b)&&(h=b,i=!0)}if(Number.isFinite(h)){let d=(i?`${f[a-1].trim()} ${b}`:b).replace(/[|]/gu," ").replace(/\s+/gu," ").trim().slice(0,48),g=`${e}:${h.toFixed(2)}`;c.has(g)||c.set(g,{value:h,context:d})}}if(cA.test(b))for(let a of cv.filter(a=>a.pattern.test(b)).map(a=>a.form))d.has(a)||d.set(a,{form:a,context:b.replace(/\s+/gu," ").slice(0,60)})}}}if(c.size>0){let a=Math.max(...[...c.values()].map(a=>a.value)),d=[...c.values()].map(a=>a.context).slice(0,3).join(";");b.push({key:"基坑开挖深度",fieldId:"excavation_depth",fieldName:"基坑开挖深度",value:`${a}m(图纸标注:${d})`,sourceFile:"图纸标注",roleId:"drawing",processingType:"drawing",confidence:90})}if(d.size>0){let a=[...d.values()],c=a.map(a=>a.context).slice(0,3).join(";");b.push({key:"基坑支护形式",fieldId:"foundation_support_form",fieldName:"基坑支护形式",value:`${a.map(a=>a.form).join("、")}(图纸标注:${c})`,sourceFile:"图纸标注",roleId:"drawing",processingType:"drawing",confidence:90})}return b}function cD(a){return function(a,b=cu){let c=new Map;for(let d of b){let b=a.filter(a=>a.fieldKey===d.key).sort((a,b)=>b.confidence-a.confidence),e=b.find(a=>!a.rejected&&a.confidence>0);e&&c.set(d.key,{fieldKey:d.key,label:d.label,value:e.value,source:e.sourceName||e.sourceType,confidence:e.confidence,candidates:b,selectedReason:e.reasons.join(";")})}return c}([...function(a){let b=[];for(let c of a){let a=function(a){let b=`${a.fieldId||""}${a.key||""}${a.fieldName||""}`;return cu.find(c=>c.key===a.fieldId||c.aliases.some(a=>b.includes(a)))}(c);if(!a)continue;let d=(0,u.lG)(c.value);b.push(cy({fieldKey:a.key,label:a.label,value:d,sourceType:"structured_fact",sourceName:c.sourceFile||c.sourceRef?.sectionTitle||"structured_fact"},a))}let c=cu.find(a=>"excavation_depth"===a.key);if(c)for(let d of a){if("excavation_depth"===d.fieldId)continue;let a=(0,u.lG)(d.value),e=`${d.fieldId||""}${d.key||""}${d.fieldName||""} ${a}`;if(!/坡底线|坑底|电梯井|坑底标高/u.test(e))continue;let f=[...a.matchAll(/-?(\d+(?:\.\d{1,3})?)(?=[^0-9.]|$)/gu)].map(a=>Math.abs(Number(a[1]))).filter(a=>Number.isFinite(a)&&a>.5&&a<50);if(0===f.length)continue;let g=Math.max(...f);b.push(cy({fieldKey:"excavation_depth",label:c.label,value:`${g}m(图纸标注:${a.slice(0,60)})`,sourceType:"structured_fact",sourceName:d.sourceFile||d.sourceRef?.sectionTitle||"drawing_annotation"},c))}return b}(a.facts),...function(a,b="generated_markdown"){let c=[];for(let d of a.split(/\r?\n/u)){if(!/^\|.*\|\s*$/u.test(d)||/^\|\s*:?-{3,}:?/u.test(d))continue;let a=d.trim().replace(/^\|/u,"").replace(/\|$/u,"").split("|").map(a=>a.replace(/\*\*/gu,"").trim());if(a.length<2)continue;let e="序号"===a[0]&&a.length>=3?a[1]:a[0],f="序号"===a[0]&&a.length>=3?a[2]:a[1],g="序号"===a[0]&&a.length>=4?a[3]:a[2],h=cu.find(a=>a.aliases.some(a=>e.includes(a))||a.label===e);!h||!f||/内容|参数|资料未明确|系统暂未确认|暂未从知识库确认/u.test(f)||c.push(cy({fieldKey:h.key,label:h.label,value:f,sourceType:"generated_markdown",sourceName:g||b},h))}return c}(a.markdown||"")])}function cE(a){return({user:100,addendum:96,contract:90,tender:85,boq:75,drawing:70,standard:60,evidence:55,structured_fact:50,projectGraph:40,generated_markdown:30,derived:20,unknown:10})[a]}function cF(a){let b=e.join(process.env.HOME||process.cwd(),".customize-agent","cache","document-workflow",(0,u.c6)(a||"default"));return O.mkdirSync(b,{recursive:!0}),b}let cG=new Map;function cH(a){let b=cG.get(a);return b||(b=RegExp(a,"u"),cG.set(a,b)),b}function cI(a,b=(0,ct.bC)()){let c=[];for(let d of["area","cost","duration","floors","parkingSpaces"]){let e=new Set,f=[];for(let c of a){let a=(0,u.lG)(c.value),g=function(a,b){let c=`${a||""} ${b||""}`;return/补疑|答疑|澄清|补充|更正|修改/u.test(c)?95:/合同/u.test(c)?90:/招标文件|招标公告|前附表|投标人须知|需求书/u.test(c)?85:/清单|工程量|BOQ|编制说明/u.test(c)?75:/图纸|设计/u.test(c)?70:50}(c.sourceFile,c.roleId);for(let h of function(a,b,c,d){let e=[],f="area"===b?/(?<![地上地下门卫室值班室配电室配电房泵房水泵房锅炉房公厕车库车棚岗亭传达室警卫室样板房售楼处门房])总?建筑面积|建设规模/u:"cost"===b?/合同估算价|合同估算价格|投资估算|最高投标限价|招标控制价|工程总投资|总投资|工程造价/u:"floors"===b?/总?层数|建筑层数|地上层数|地下层数|楼层数/u:"parkingSpaces"===b?/总?车位|停车位|机动车位|车位数/u:/计划工期|合同工期|总工期|施工周期/u,g="floors"===b||"parkingSpaces"===b?"\\d+(?:[.,]\\d+)?":"\\d{2,}(?:[.,]\\d+)?",h=RegExp(`(?:${f.source})(?:[^0-9\\n]{0,14}?)(${g})\\s*${"area"===b?"(万?㎡|万?m\xb2|万?m2|万?平方米)":"cost"===b?"(万元|亿元|万?元)":"floors"===b?"(层)":"parkingSpaces"===b?"(个|个车位|个停车位)":"(日历天|天|个月|月)"}`,"giu"),i=RegExp(g,"u");for(let g of a.matchAll(h)){let h,j=g[0].match(f),k=j?.[0]||"",l=g[1].replace(/[,,]/gu,"").trim(),m=(g[2]||"").trim();if(!k||!l||!i.test(l))continue;let n=(g.index??0)+(j?.index??0),o=(g.index??0)+g[0].indexOf(g[1]),p=o-(n+k.length),q=a.slice(n+k.length,o);if("area"===b&&/占地|用地/u.test(q))continue;let r=function(a,b,c,d,e,f){let g=a.slice(Math.max(0,b-10),b),h=a.slice(b+c,d),i=`${g}${h}`,{addendumSource:j,amendmentContext:k,thresholdComparison:l,aspirationalPrefix:m}=f.factGovernance;return cH(j).test(e||"")&&cH(k).test(i)?"amendment":cH(l).test(i)?"threshold":cH(m).test(g)?"aspirational":"ontological"}(a,n,k.length,o,c,d);if("threshold"!==r&&"aspirational"!==r){if("duration"===b||"floors"===b||"parkingSpaces"===b)h=`${l}|${m}`;else{let a=+!!/万/u.test(m),b=Number(l)*(a?1e4:1);if(!Number.isFinite(b))continue;h=String(/亿元/u.test(m)?1e8*b:/万元/u.test(m)?1e4*b:b)}e.push({scope:k,value:l,unit:m,compareKey:h,contextClass:r,anchorScore:(p<=3?3:p<=9?2:1)+("ontological"===r||"amendment"===r?2:1),gapLength:p})}}return e}(a,d,c.sourceFile,b)){let a=`${c.sourceFile||""}|${h.scope}|${h.compareKey}`;e.has(a)||(e.add(a),f.push({...h,sourceFile:c.sourceFile,priority:g}))}}if(!(f.length<2))for(let[a,e]of f.reduce((a,b)=>{let c=b.scope.replace(/^总/u,""),d=a.get(c)||[];return d.push(b),a.set(c,d),a},new Map)){let f;if(new Set(e.map(a=>a.compareKey)).size<2||new Set(e.map(a=>a.sourceFile).filter(Boolean)).size<2)continue;let g=Math.max(...e.map(a=>a.priority)),h=e.filter(a=>a.priority===g),i=Math.max(...h.map(a=>a.anchorScore)),j=h.filter(a=>a.anchorScore===i),k=1===new Set(j.map(a=>a.compareKey)).size?j[0]:void 0;if(k){let a=k.gapLength>b.factGovernance.weakAnchorGapThreshold;f="amendment"===k.contextClass?a?"medium":"high":a?"low":"medium"}c.push({kind:d,scope:`${a}(${"area"===d?"面积":"cost"===d?"金额":"floors"===d?"层数":"parkingSpaces"===d?"车位数":"工期"}口径)`,values:[...new Map(e.map(a=>[`${a.value}${a.unit}|${a.sourceFile||""}`,{value:a.value,unit:a.unit,sourceFile:a.sourceFile,priority:a.priority}])).values()],resolution:k?`${k.value}${k.unit}`:void 0,...f?{confidence:f}:{}})}}return c}function cJ(a){let b=new Map;for(let c of a){if(!c.resolution||"low"===c.confidence||b.has(c.kind))continue;let a=c.values.find(a=>`${a.value}${a.unit}`===c.resolution),d=a?a.value.replace(/[,,]/gu,""):"",e=c.values.filter(a=>`${a.value}${a.unit}`!==c.resolution).map(a=>({value:a.value.replace(/[,,]/gu,""),unit:a.unit}));d&&0!==e.length&&b.set(c.kind,{winnerNum:d,losers:e})}return b}function cK(a,b){return b?.length?a.map(a=>{let c=function(a,b){let c=a;for(let{winnerNum:a,losers:d}of cJ(b).values())for(let b of d)b.unit&&c.includes(`${b.value}${b.unit}`)?c=c.split(`${b.value}${b.unit}`).join(`${a}${b.unit}`):c.includes(b.value)&&(c=c.split(b.value).join(a));return c}(a.content,b);return c===a.content?a:{...a,content:c}}):a}function cL(a,b){let c=cJ(b);if(0===c.size)return a;let d={area:/建设规模|工程规模|建筑面积|用地面积|占地面积|project_scale|scale/u,cost:/合同估算|投资估算|最高投标限价|招标控制价|总投资|工程造价|project_cost|cost|price|amount/u,duration:/计划工期|合同工期|总工期|施工周期|duration|schedule/u,floors:/总层数|建筑层数|地上层数|地下层数|楼层数|project_floors|floors/u,parkingSpaces:/总车位|停车位|机动车位|车位数|project_parking|parking/u};return a.map(a=>{let b=[...c.keys()].find(b=>d[b].test(a.key)||d[b].test(a.value));if(!b)return a;let{winnerNum:e,losers:f}=c.get(b),g=a.value,h=!1;for(let a of f)a.unit&&g.includes(`${a.value}${a.unit}`)?(g=g.split(`${a.value}${a.unit}`).join(`${e}${a.unit}`),h=!0):g.includes(a.value)&&(g=g.split(a.value).join(e),h=!0);return h?{...a,value:g}:a})}function cM(a){var b;let c=(0,u.c6)({version:"canonical-facts-v7",rulesHash:(0,ct.TG)(a.projectRoot),requirement:a.requirement||"",templateId:a.templateId||"",requiredKeys:a.requiredKeys||[],facts:a.facts.map(a=>({key:a.key,fieldId:a.fieldId,fieldName:a.fieldName,value:a.value,sourceFile:a.sourceFile,roleId:a.roleId,confidence:a.confidence})).sort((a,b)=>`${a.sourceFile}${a.key}${a.value}`.localeCompare(`${b.sourceFile}${b.key}${b.value}`)),graphHash:a.projectGraph?(0,u.c6)(a.projectGraph):"",markdownHash:a.markdown?(0,u.c6)(a.markdown.slice(0,2e4)):""}),d=function(a,b){let c=cF(a);if(c)try{let a=JSON.parse(O.readFileSync(e.join(c,`canonical-facts-${b}.json`),"utf8"));return a&&a.byKey&&Array.isArray(a.scopeConflicts)?a:void 0}catch{return}}(a.projectRoot,c);if(d)return d;let f=a.facts||[],g=cI(f,(0,ct.bC)(a.projectRoot));for(let a of g.map(a=>({caseType:"scope_conflict_arbitration",recordedAt:Date.now(),kind:a.kind,scope:a.scope,values:a.values.map(a=>({value:a.value,unit:a.unit,sourceFile:a.sourceFile,priority:a.priority})),winner:a.resolution,confidence:a.confidence,manualReviewRequired:!a.resolution})))try{O.appendFileSync(e.join(function(){let a=e.join(cs.homedir(),".customize-agent","cache","document-workflow","case-log");return O.mkdirSync(a,{recursive:!0}),a}(),"arbitration-cases.jsonl"),`${JSON.stringify(a)}
|
|
49
|
+
${a.content}`).join("\n\n");if(/进度|工期/u.test(d)&&/资源|材料|设备|劳动力/u.test(d)){let d=a.find(a=>/资源|材料|设备|劳动力/u.test(a.title)),e=d?b.get(d.title):void 0;e?.contentNeeds.resource||c.push({level:"warning",message:"章节逻辑依赖不足:进度章节与资源章节之间缺少明显支撑关系",suggestion:"请在资源章节补充与工期目标相匹配的劳动力、材料、设备投入和调配计划。"})}return/质量/u.test(d)&&/施工|工艺|技术/u.test(d)&&(a.some(a=>b.get(a.title)?.contentNeeds.quality||b.get(a.title)?.contentNeeds.construction)||c.push({level:"warning",message:"章节逻辑依赖不足:质量章节未明显支撑施工工艺控制",suggestion:"请在施工技术和质量章节之间补齐工艺控制点、验收要求和整改复验闭环。"})),/安全|文明|风险/u.test(d)&&(a.some(a=>b.get(a.title)?.contentNeeds.safety)||c.push({level:"warning",message:"章节逻辑依赖不足:安全章节缺少检查整改和应急支撑",suggestion:"请补齐风险识别、检查整改、应急响应和演练闭环。"})),c}let bJ=[{label:"工程名称",factGroups:["project"],patterns:[/工程名称\s*[::]\s*([^\n|]+)/u],locations:"封面、工程概况、页眉页脚、专项方案、表格标题"},{label:"建设地点",factGroups:["project"],patterns:[/建设地点\s*[::]\s*([^\n|]+)/u,/工程地点\s*[::]\s*([^\n|]+)/u],locations:"工程概况、周边环境、扬尘噪声、交通导改、属地化措施"},{label:"总工期",factGroups:["schedule"],patterns:[/总工期\s*[::]\s*([^\n|]+)/u,/计划工期\s*[::]\s*([^\n|]+)/u,/工期目标\s*[::]\s*([^\n|]+)/u],locations:"工程概况、进度计划、横道图、资源计划、纠偏措施"},{label:"建设规模",factGroups:["project","preciseFacts"],patterns:[/建设规模\s*[::]\s*([^\n|]+)/u,/建筑面积\s*[::]\s*([^\n|]+)/u,/道路长度\s*[::]\s*([^\n|]+)/u,/管线长度\s*[::]\s*([^\n|]+)/u],locations:"工程概况、工程量表、施工部署、资源配置"},{label:"机械数量型号",factGroups:["resources"],patterns:[/([\p{Script=Han}A-Za-z0-9]+(?:机|吊|泵|车))\s*[^\n|]{0,12}(\d+)\s*(台|套|辆)/u],locations:"机械表、平面布置、进度保障、安全专项方案"},{label:"劳动力人数",factGroups:["resources"],patterns:[/劳动力\s*[^\n|]{0,12}(\d+)\s*人/u,/班组\s*[^\n|]{0,12}(\d+)\s*人/u],locations:"劳动力计划、进度节点、抢工方案、工资保障台账"},{label:"危大工程清单",factGroups:["safety","preciseFacts"],patterns:[/危大工程\s*[::]\s*([^\n|]+)/u,/深基坑|高支模|起重吊装|脚手架/u],locations:"安全章节、专项方案、审批表、应急预案"},{label:"环保监测指标",factGroups:["quality","safety","preciseFacts"],patterns:[/PM10|PM2\.5|TSP|噪声|扬尘在线监测/u],locations:"文明施工、扬尘噪声、智慧工地、应急联动"}];function bK(a){return a.replace(/[\s,。;;::|]/gu,"").trim()}let bL=/塔式起重机|履带吊|汽车吊|卷扬机|脚手架|扣件|钢管|模板|噪声|PM2\.5|PM10|TSP|扬尘在线监测|临电|消防|安全网|围挡|洗车台|沉淀池|雾炮/u,bM=/不使用|不采用|不配置|无需|未采用|不得使用|禁止使用/u;function bN(a,b){let c=[];for(let d of b){let b=a[d];if(Array.isArray(b))for(let a of b)a&&"object"==typeof a&&"value"in a&&"string"==typeof a.value&&c.push(a.value)}return c.map(bK).filter(Boolean)}let bO=/([\u4e00-\u9fa5A-Za-z0-9()()]{1,12}?)(\d+(?:\.\d+)?)\s*(?:mm|cm|m|米|MPa|kN|kV|kW|℃|°C|元|万元|人|天|日|个|层|樘|处|套|台|t|吨)([\u4e00-\u9fa5A-Za-z0-9()()]{0,8})/gu,bP=["直径","厚度","宽度","长度","高度","深度","间距","距离","标高","偏差","数量","面积","体积","重量","压力","温度","强度","等级","坡度","规格","尺寸","层数","次数","跨度","半径"];async function bQ(a){let b=function(a){let b=[];for(let c of a.split(/\r?\n/u)){let a=c.trim();if(!(/^#{1,6}\s/u.test(a)||/^\s*\|/u.test(a)))for(let c of a.matchAll(RegExp(bO.source,"gu"))){let a=(c[1]||"").trim(),d=Number(c[2]),e=(c[3]||"").trim(),f=`${a}${e}`.replace(/[\s,,、;;::]/gu,"");!(f.length<2)&&/[\u4e00-\u9fa5A-Za-z]{2,}/u.test(f)&&Number.isFinite(d)&&!(d<=0)&&(bP.some(a=>f.replace(/(?:mm|cm|m|MPa|kN|kV|kW|℃|元|万元|人|天|日|个|层|樘|处|套|台|t|吨)/gu,"").replace(/[\s,,、;;::()()]/gu,"")===a)||b.push({concept:f,value:d,raw:c[0]}))}}let c=new Set;return b.filter(a=>{let b=a.raw;return!c.has(b)&&(c.add(b),!0)}).slice(0,60)}(a);if(b.length<3)return[];let c=[...new Set(b.map(a=>a.concept))];if(c.length<2)return[];let d=await (0,M.VN)().embedDocuments(c);if(d.length!==c.length)throw Error(`本地语义模型嵌入数量不一致:期望 ${c.length} 条,实际 ${d.length} 条`);let e=new Map(c.map((a,b)=>[a,d[b]])),f=function(a,b){let c=new Map(a.map(a=>[a,a])),d=a=>{let b=c.get(a)||a;return b===a?a:(c.set(a,d(b)),c.get(a)||a)},e=(a,b)=>{c.set(d(a),d(b))};for(let c=0;c<a.length;c+=1)for(let d=c+1;d<a.length;d+=1)b(a[c],a[d])>=.6&&e(a[c],a[d]);return c}(c,(a,b)=>{let c=e.get(a),d=e.get(b);if(!c||!d||0===c.length||0===d.length)return 0;let f=Math.min(c.length,d.length),g=0;for(let a=0;a<f;a+=1)g+=c[a]*d[a];return g}),g=a=>{let b=a;for(;(f.get(b)||b)!==b;)b=f.get(b)||b;return b},h=new Map;for(let a of b){let b=g(a.concept),c=h.get(b)||[];c.push(a),h.set(b,c)}let i=[];for(let a of h.values()){if(a.length<2)continue;let b=[...new Set(a.map(a=>a.value))];if(b.length<2)continue;let c=Math.max(...b),d=Math.min(...b);if(!(c-d<=.02*c)&&!(c>20*d)&&!(a.filter(a=>/[、/](?:与)?\d/u.test(a.raw)).length>=2)&&(i.push(`“${a[0].concept}”出现多个口径:${[...new Set(a.map(a=>a.raw))].slice(0,3).join("、")}`),i.length>=4))break}return 0===i.length?[]:[{level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`同一参数概念出现多口径数值冲突:${i.join(";")}`,suggestion:"以绑定资料(图纸/清单/规范)裁决口径为准统一数值表述:每个参数概念全文只保留一个口径数值,删除矛盾表述。"}]}let bR=["电梯","幕墙","智能化","消防","暖通","给排水","电气","燃气","人防","室外","园林","绿化","景观","钢结构","防水","保温","门窗","通风","空调","防雷","接地","动力","照明","拆除","加固","装修","装饰"],bS=(a,b)=>{let c=b.exec(a);if(!c)return;let d=Number(c[1]);return Number.isFinite(d)&&d>0?d:void 0},bT=[{name:"基坑支护与降水工程",aliases:["基坑支护","基坑工程","降排水","降水井"],applicable:a=>{let b=bS(a,/(?:基坑)?开挖深度[约为达至]{0,3}(\d+(?:\.\d+)?)\s*m/u);return void 0!==b&&b>=3}},{name:"高大模板支撑工程",aliases:["高大模板","高支模","模板支撑体系","模板支撑"],applicable:a=>{let b=bS(a,/(?:模板)?支撑(?:体系)?(?:搭设)?高度[约为达至]{0,3}(\d+(?:\.\d+)?)\s*m/u),c=bS(a,/(?:施工(?:总)?荷载|集中线荷载)[约为达至]{0,3}(\d+(?:\.\d+)?)\s*kN/u);return void 0!==b&&b>=8||void 0!==c&&c>=10||/高支模|高大模板/u.test(a)}},{name:"脚手架工程",aliases:["脚手架","落地式钢管脚手架","悬挑式脚手架","悬挑脚手架"],applicable:a=>{let b=bS(a,/(?:落地式|悬挑式)?(?:钢管)?脚手架(?:搭设)?高度[约为达至]{0,3}(\d+(?:\.\d+)?)\s*m/u);return void 0!==b&&b>=15||/悬挑(?:式)?脚手架/u.test(a)}},{name:"起重吊装及安装拆卸工程",aliases:["起重吊装","塔吊","塔式起重机","汽车吊","履带吊","起重机械安拆","物料提升机","提升机","起重机械","吊装"],applicable:a=>/塔吊|塔式起重机|汽车吊|履带吊|吊车|起重机械|起重设备|起重机|卷扬机|物料提升机|提升机|电动葫芦|起重伤害|垂直运输|吊装/u.test(a)},{name:"吊篮作业工程",aliases:["吊篮","高处作业吊篮","电动吊篮"],applicable:a=>/吊篮/u.test(a)},{name:"拆除工程",aliases:["拆除工程","爆破拆除","机械拆除"],applicable:a=>/拆除工程|爆破拆除/u.test(a)}],bU=/分[为成]?[^。;;,,\n]{0,12}阶段|共[分设]?[^。;;,,\n]{0,12}阶段|划[分]?为[^。;;,,\n]{0,12}阶段|[二三四五六七八九十]个阶段/u,bV={一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9};function bW(a){return/(\d+|[一二三四五六七八九十]+)\s*个?\s*阶段/u.exec(a)?.[1]??null}function bX(a){let b=a.map(bW).filter(a=>null!==a).map(a=>/^\d+$/u.test(a)?parseInt(a,10):/^[一二三四五六七八九十]+$/u.test(a)?"十"===a?10:1===a.length?bV[a]??null:a.startsWith("十")?10+(bV[a[1]]??0):a.endsWith("十")?(bV[a[0]]??0)*10:(bV[a[0]]??0)*10+(bV[a[2]]??0):null).filter(a=>null!==a);return 0===b.length?null:1===new Set(b).size?b[0]:null}async function bY(a){let b=[...new Set(a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\|)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/\s+/gu,"").trim()).filter(a=>a.length>=8&&a.length<=60&&bU.test(a)))];if(b.length<2)return[];let c=await (0,M.Mv)(b,b),d=b.map((a,b)=>b),e=a=>{let b=a;for(;d[b]!==b;)b=d[b];let c=a;for(;d[c]!==b;){let a=d[c];d[c]=b,c=a}return b},f=(a,b)=>{d[e(b)]=e(a)};for(let a=0;a<b.length;a+=1)for(let d=a+1;d<b.length;d+=1)c(b[a],b[d])>=.62&&f(a,d);let g=new Map;for(let a=0;a<b.length;a+=1){let c=e(a),d=g.get(c)||[];d.push(b[a]),g.set(c,d)}if(g.size<2||new Set([...g.values()].map(bX).filter(a=>null!==a)).size<2)return[];let h=[...g.values()].map(a=>a.sort((a,b)=>b.length-a.length)[0]).slice(0,4);return[{level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`施工阶段划分口径不统一:正文出现 ${g.size} 种互异阶段划分口径(${h.map(a=>`“${a.slice(0,16)}”`).join("、")})`,suggestion:"全文统一阶段划分口径:以总进度计划/施工部署章节的划分为唯一口径,其余章节划分句逐字对齐或删除。"}]}var bZ=c(41991);let b$=/应急预案|应急措施|应急响应|应急救援|突发事件|应急管理|应急物资|应急演练|应急组织|应急保障/u,b_=/应急|突发|救援|预案|抢险|疏散/u,b0=["应急预案的编制与响应流程","突发事件应急处置措施","应急救援组织体系与保障"],b1=["应急照明系统安装调试","应急电源配置与切换方案"],b2={organization:"应急管理领导小组、应急救援队伍的组织机构与职责分工",procedure:"应急处置程序、应急响应流程与应急演练安排",resource:"应急物资、应急器材设备的储备与保障措施"},b3=/应急物资|急救箱|灭火器|沙袋|发电机|水泵|对讲机|应急照明|应急灯|防护服|救援绳|救生衣|铁锹|编织袋|抽水泵|警示带|应急器材/u,b4=/配备|储备|保障|配置|数量|不少于|共计|套|具|个|台|把|只/u,b5=["应急物资储备清单与配备数量","应急救援器材的配置与保障"],b6=["应急照明灯具数量与回路设计","应急电源的电气系统设计"];async function b7(a){return(0,bZ.A)({prototypes:[...b0],negativePrototypes:[...b1],embedDocuments:a})}async function b8(a){return(0,bZ.A)({prototypes:[...b5],negativePrototypes:[...b6],embedDocuments:a})}async function b9(a,b){let c=a.split(/\r?\n/u),d=[],e=c.map(a=>{let b=/^(#{2,4})\s+(.+)$/u.exec(a.trim());if(b)return{level:b[1].length,title:b[2].replace(/^\d+(?:\.\d+)*\s+/u,"").trim()}}).filter(a=>void 0!==a).filter(a=>!b$.test(a.title)&&b_.test(a.title)),f=await b7(b),g=e.length>0?await f(e.map(a=>a.title)):[],h=new Set(e.filter((a,b)=>g[b]).map(a=>a.title)),i=a=>b$.test(a)||h.has(a),j=!1,k=[],l=[],m="",n=0;for(let a of c){let b=/^(#{2,4})\s+(.+)$/u.exec(a.trim());if(b){let a=b[1].length,c=b[2].replace(/^\d+(?:\.\d+)*\s+/u,"").trim();if(i(c)){j=!0,k.push(c);continue}a<=3&&j&&(j=!1);continue}if(j&&a.trim()&&!/^\s*\|/u.test(a)){l.push(a);let b=a.replace(/\s+/gu,"");m+=b,n+=b.length}}if(0===k.length)return d;let o=[];n<300&&o.push(`字数仅 ${n} 字(要求 ≥300 字)`);let p=m.match(/.{1,200}/gu)||[],q=Object.values(b2),r=await (0,M.Mv)(p,q),s=a=>p.some(b=>r(b,a)>=M.Eh);s(b2.organization)||o.push("应急组织体系"),s(b2.procedure)||o.push("应急处置程序/演练");let t=await b8(b),u=l.join("。").split(/[。;;]/u).map(a=>a.trim()).filter(a=>b3.test(a)&&b4.test(a)),v=u.length>0?await t(u):[];return s(b2.resource)||v.some(Boolean)||o.push("应急物资保障"),o.length>0&&d.push({level:"error",severity:"blocker",category:"structure",owner:"llm",repairability:"llm_repairable",message:`应急预案小节深度不足:${k.join("、")}(缺少:${o.join("、")})`,suggestion:"补写应急组织体系(领导小组/抢险队与职责)、应急处置程序与演练安排、应急物资清单与保障措施,达到可落地深度。",sectionTitle:k[0]}),d}async function ca(a){let b=await (0,s.Z2)(a.markdown,a.factsModel,{scopeClassifier:a.factTokenScopeClassifier}),c=ar(a.tenderRequirements).map(({item:a})=>aq(a)),d=a.markdown.split(/\n/u).filter(a=>/^#{2,4}\s/u.test(a.trim())).map(a=>aA(a)).filter(Boolean).slice(0,80),e=(0,bu.s3)(a.markdown),f=await (0,M.Mv)(c,[...d,...e]),g=await (0,M.Mv)(a.evaluationCriteriaItems||[],d),h=new Map((await Promise.all(a.chapters.map(async b=>[b.title,await a.professionalDepthClassifier.analyze(b.content)]))).filter(a=>!!a[1])),i=(0,bu.t1)(a.markdown),j=await (0,M.Mv)(i.sentences,i.overviewBody?[i.overviewBody]:[]);return[...a.promptDocumentRules?.forbidToc?[]:[...(0,s.gN)(a.markdown),...(0,s.f8)(a.markdown)],...(0,s.kw)(a.markdown),...(0,s.wl)(a.markdown,a.evaluationCriteriaItems||[],{semanticSimilarity:g}),...await az(a.markdown,a.tenderRequirements,{semanticSimilarity:f,bodyTexts:e}),...(0,bu.cf)(a.markdown,a.factsModel),...(0,bu.a8)(a.markdown,a.factsModel),...(0,bu.u2)(a.markdown),...(0,bu.rA)(a.markdown),...(0,bu.Et)(a.markdown),...(0,bu.H)(a.markdown),...(0,bu.$$)(a.markdown,a.factsModel.specAuthorityMap),...(0,bu.N$)(a.markdown),...(0,bu.Fr)(a.markdown),...(0,bu.bq)(a.markdown),...(0,bu.LA)(a.markdown,a.factsModel),...(0,bu.ek)(a.markdown,a.factsModel),...(0,bu.fQ)(a.markdown,a.factsModel),...(0,bu.hu)(a.markdown,a.factsModel,a.tenderRequirements),...(0,bu.Rv)(a.markdown),...function(a,b){if("0"===process.env.DOCUMENT_TITLE_ALIGNMENT_CHECK)return[];let c=a=>a.replace(/^\d+(?:\.\d+)*[、..\s]*/u,"").replace(/[\s,,、]/gu,""),d=new Map;a.forEach((a,b)=>{let c=(0,o.GQ)(a.title).replace(/[\s,,、]/gu,"");c&&!d.has(c)&&d.set(c,b)});let e=new Map,f=new Map;a.forEach((a,b)=>{let d=new Set;for(let g of(a.content||"").split(/\r?\n/u)){let a=/^###\s+(.+?)\s*$/u.exec(g.trim());if(!a)continue;let h=c(a[1]);if(h.length<8||d.has(h))continue;d.add(h),f.has(h)||f.set(h,a[1].replace(/^\d+(?:\.\d+)*[、..\s]*/u,"").trim());let i=e.get(h)||[];i.push(b),e.set(h,i)}});let g=new Map;b.forEach(a=>{let b=d.get((0,o.GQ)(a.title).replace(/[\s,,、]/gu,""));if(void 0!==b)for(let d of a.sections||[]){let a=c(d);if(a.length<8)continue;let e=g.get(a)||[];e.includes(b)||e.push(b),g.set(a,e)}});let h=[];for(let[b,c]of e){if(c.length<2)continue;let d=g.get(b)||[];if(d.length>=2)continue;let e=1===d.length?d[0]:c[0],i=f.get(b)||b;for(let b of c){if(b===e)continue;let c=a[b];h.push({level:"error",severity:"blocker",category:"structure",owner:"llm",repairability:"llm_repairable",chapterId:c.id,sectionTitle:i,message:`跨章同名小节:“${i}”已在「${a[e].title}」落位,本章(「${c.title}」)同名小节属跨章串章重复,须改写归并`,suggestion:"同一主题小节全文只保留一处(归属章);非归属章的同名小节:内容与本章主题相关则改写标题为可区分的具体主题并归并内容,与本章无关则整节删除(含标题行);修复后全文不得再出现跨章同名小节。"})}}return h}(a.chapters,a.effectiveChapters||a.template.chapters||[]),...(0,bu.cT)(a.markdown),...(0,bu.ub)(a.markdown),...(0,bu.cl)(a.markdown),...(0,bu.zP)(a.markdown),...await (0,bu.r8)(a.markdown,(0,bu.P3)(a.factsModel)),...(0,bu.vH)(a.markdown),...await (0,bu.sn)(a.markdown),...await (0,bu.YN)(a.markdown),...(0,bu.y2)(a.markdown),...(0,bu.Xc)(a.markdown),...await (0,bu.mC)(a.markdown),...(0,bu.l4)(a.markdown,{semanticSimilarity:j}),...(0,bu.dF)(a.markdown),...await bQ(a.markdown),...await (0,bv.WT)(a.markdown),...function(a){let b=[...new Set(a.flatMap(a=>bR.filter(b=>a.title.includes(b))))];if(0===b.length)return[];let c=a.map(a=>a.content||"").join("\n"),d=b.filter(a=>!c.includes(a));if(0===d.length)return[];let e=a.find(a=>d.some(b=>a.title.includes(b)));return[{level:"error",severity:"blocker",category:"structure",owner:"llm",repairability:"llm_repairable",message:`章节大纲涉及的专业工程系统在正文零覆盖:${d.join("、")}`,suggestion:"对应章节必须补写该专业工程的施工方案正文(施工概况/施工流程/施工方法,含可核实的工艺参数),不得整章零覆盖。",chapterId:e?.id}]}(a.chapters),...function(a){let b=bT.filter(b=>b.applicable(a));if(0===b.length)return[];let c=function(a){let b=a.split(/\r?\n/u),c=[];return b.forEach((a,d)=>{/危大/u.test(a)&&c.push(...b.slice(Math.max(0,d-6),Math.min(b.length,d+7)))}),c.join("\n")}(a);if(!c)return[{level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`正文出现危大工程适用前提(${b.map(a=>a.name).join("、")})但全文未编制危大工程辨识清单`,suggestion:"必须编制危大工程辨识清单:按建办质〔2018〕31号逐项辨识并标注分级,超过一定规模的专项施工方案需专家论证。"}];let d=b.filter(a=>!a.aliases.some(a=>c.includes(a)));return 0===d.length?[]:[{level:"error",severity:"blocker",category:"fact_consistency",owner:"llm",repairability:"llm_repairable",message:`危大工程辨识清单遗漏适用项:${d.map(a=>a.name).join("、")}(正文已出现适用前提但辨识清单未列入)`,suggestion:"按建办质〔2018〕31号逐项辨识:将遗漏项补入危大工程辨识清单并标注分级,超过一定规模的专项施工方案需专家论证。"}]}(a.markdown),...(0,s.Ef)(a.markdown,a.effectiveChapters||a.template.chapters||[]),...(0,s.K1)(a.markdown),...(0,s.Fv)(a.markdown),...(0,s.k0)(a.markdown),...(0,s.NS)(a.markdown),...(0,s.SN)(a.markdown),...(0,s.qK)(a.markdown,a.chapters),...(0,s.ji)(a.chapters,h),...(0,s.i0)(a.chapters,h),...(0,s.ST)(a.chapters,h),...(0,s.xX)(a.chapters,h),...await (0,s.Zu)(a.markdown),...await (0,s.qm)(a.markdown,a.factsModel,a.scopeConflicts,h),...await (0,s.hr)(a.markdown,a.factsModel),...bG(a.markdown,a.factsModel),...await bH(a.markdown,a.professionalDepthClassifier),...await (0,t.Fw)(a.chapters),...(0,t.Hl)(a.chapters),...(0,t.iX)({markdown:a.markdown,factsModel:a.factsModel,chapters:a.chapters}),...function(a,b){let c=[];if(!/施工组织设计|施工组织|施组|质量|安全|文明施工/u.test(a))return c;for(let d of bJ){let e=bN(b,d.factGroups),f=(function(a,b){let c=[];for(let d of b){let b=new RegExp(d.source,d.flags.includes("g")?d.flags:`${d.flags}g`);for(let d of a.matchAll(b)){let a=bK(d[1]||d[0]||"");!bM.test(a)&&a.length>=2&&a.length<=80&&c.push(a)}}return[...new Set(c)]})(a,d.patterns).filter(a=>!bL.test(a)&&!function(a,b){return 0===b.length||b.some(b=>b.includes(a)||a.includes(b)||a.length>=4&&b.includes(a.slice(0,4)))}(a,e)).slice(0,5);f.length>0&&c.push({level:"warning",message:`施组数据一致性风险:${d.label} 可能与项目图谱/事实不一致(${f.join("、")})`,suggestion:`请核对${d.label}在${d.locations}中的表述,统一以招标文件、项目图谱和可信事实为准。`})}return c}(a.markdown,a.factsModel),...function(a,b){let c=[],d=bN(b,["project","schedule","resources","quality","safety","preciseFacts"]);if(0===d.length)return c;for(let b of a)/概况|进度|资源|质量|安全|文明|工资|应急/u.test(`${b.title} ${(b.sections||[]).join(" ")}`)&&(d.some(a=>a.length>=3&&b.content.includes(a.slice(0,Math.min(10,a.length))))||c.push({level:"warning",message:`${b.title} 缺少可识别的项目图谱事实支撑`,suggestion:"请至少引用工程名称、工期、工程量、资源、风险、质量安全目标等项目专属事实之一,避免纯模板化。"}));return c}(a.chapters,a.factsModel),...(0,t.Av)(a.chapters,a.markdown),...(0,t.CS)(a.chapters,a.markdown),...(0,t.b7)(a.chapters),...bI(a.chapters,h),...function(a,b,c,d){let e={factuality:2*!(0,s.vY)(a,c).some(a=>"error"===a.level),structure:b.length>0&&b.every(b=>a.includes(b.title)&&(0,r.V7)(b.content)>=600)?2:1,depth:0===(0,s.i0)(b,d).length?2:1,executable:0===bI(b,d).length?2:1,evidence:0===bG(a,c).length?2:1},f=e.factuality+e.structure+e.depth+e.executable+e.evidence;return[{level:"info",message:`文档交付评分报告:总分 ${f}/10,事实${e.factuality},结构${e.structure},专业${e.depth},可执行${e.executable},证据${e.evidence}`,suggestion:f>=8?"可交付,但建议继续优化证据使用覆盖率和章节依赖链路。":"建议优先修复低分维度后再导出。"}]}(a.markdown,a.chapters,a.factsModel,h),...b,...(0,s.iC)(a.markdown),...await (0,s.BV)(a.markdown),...(0,q.dh)(a.markdown),...(0,s.Ty)(a.chapters),...await (0,s.N1)(a.markdown,a.factsModel,a.chapters),...await (0,s.S2)(a.markdown,a.chapters,a.factsModel),...await bY(a.markdown),...await b9(a.markdown),...(0,bC.QP)((0,bC.JV)(a.markdown,a.factsModel)),...(0,s.yd)(a.markdown,a.factsModel),...function(a){let b=[];return bj.test(a)&&b.push({level:"warning",message:"正文包含联网增强过程性表述",suggestion:"请删除联网检索、网页资料、搜索结果等过程性话术,改为正式交付语言。"}),b}(a.markdown),...(0,s.bM)(a.markdown),...(0,s.M$)(a.markdown,a.promptBindings),...(0,s.AC)(a.markdown,a.chapters),...(0,s.mR)(a.markdown,a.template),...(0,q.UG)(a.markdown,a.template),...await (0,q.Ed)(a.markdown,a.promptDocumentRules),...await (0,bu.cJ)(a.markdown,a.factsModel)]}let cb={project:"项目基础事实",schedule:"工期与节点",quality:"质量目标与验收",safety:"安全文明要求",resources:"资源投入依据",quantities:"清单/图纸/工程量事实",rules:"规范规则与验收要求"};var cc=c(52922);let cd=["精心组织","科学统筹","科学管理","精益求精","全力保障","高效推进","力争优质","力争一流","一流水平","完善体系","最大限度","显著提升","大力落实","严格把控","充分确保","竭力打造","现代化管理","加强管理","提高意识","强化监督","持续完善","及时处理","全方位","常态化","提质增效","高标准","统筹推进"];[...cd];let ce=["危险性较大的分部分项工程安全管理","扬尘污染防治措施","建筑工人实名制管理","农民工工资专用账户与工资支付保障","生产安全事故应急预案与应急演练","绿色施工与四节一环保措施"],cf=["危险源辨识与风险识别评估","编制专项施工方案","组织专家论证并履行审批程序","对作业人员进行安全技术交底","施工过程监测与监控量测","分部分项工程验收","三级配电系统","两级漏电保护装置","漏电保护器与接地保护","实名制考勤与人员管理","农民工工资专用账户银行代发","应急预案编制与响应","绿色施工措施与评价"],cg=/目录|层级|编号|表格|表头|分隔线|跨章|数据一致|数值口径|页码|空小节|缺少|缺失|缺节/u;function ch(a){return a.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").replace(/\s+/gu,"").trim()}async function ci(a,b){let{blocks:c,completeBlocks:d}=await (0,cc.Pm)(a);return Math.round((.7*Math.min(1,d/Math.max(6,Math.ceil(b??(0,r.V7)(a)/1500)))+.3*(c?d/c:0))*100)}async function cj(a,b){let c=await (0,cc.Bt)(a,b),d=(0,cc.Ye)(a),e=a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\||[-*+]\s|>)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/[\s,,、::()()【】[\]《》“”"'`]/gu,"")).filter(a=>a.length>=12),f=e.length?(e.length-new Set(e).size)/e.length:0,g=await (0,cc.gE)(a,b),h=(0,cc.nY)(a);return{level:g.heavyTemplated?"heavy":c.level,fillerRatio:c.ratio,fillerSentences:c.fillerSentences,totalSentences:c.totalSentences,vagueHitCount:d.reduce((a,b)=>a+b.count,0),vaguePhrases:d.map(a=>a.phrase),duplicateSentenceRate:f,crossProjectResidue:h,difficultyCountermeasureRatio:g.ratio,difficultyBothCount:g.bothCount,difficultyCountermeasures:g.countermeasures,difficultyHeavyTemplated:g.heavyTemplated}}async function ck(a){var b;let c=a.markdown.split(/\n{2,}/u).filter(a=>a.trim().length>=30),d=await (0,M.Mv)(c,[...ce,...cf],a.embedDocuments),e=a=>c.some(b=>d(b,a)>=M.Eh),f=await (0,cc.Bt)(a.markdown,a.embedDocuments);return{completeness:function(a,b,c,d){let e=[...a.matchAll(/^#{1,3}\s+(.+)$/gmu)].map(a=>ch(a[1]||"")).filter(a=>a.length>=2),f=1,g=c?.chapters||[];if(g.length>0){let a=g.map(a=>ch(a.title)).filter(Boolean);f=a.filter(a=>e.some(b=>b.includes(a)||a.includes(b))).length/a.length}else b.length>0&&(f=b.filter(a=>e.some(b=>b.includes(ch(a.title))||ch(a.title).includes(b))).length/b.length);return Math.round((.55*f+.45*(ce.filter(d).length/ce.length))*100)}(a.markdown,a.chapters,a.template,e),specificity:function(a,b,c){let d=c.filter(bC.O7),e=d.filter(a=>"used"===a.status),f=d.length?e.length/d.length:1,g=e.map(a=>String(a.value||"").replace(/\s+/gu," ").trim()).filter(a=>a.length>=4&&a.length<=60),h=b.map(a=>(a.content||"").replace(/\s+/gu," ")),i=g.filter(a=>h.filter(b=>b.includes(a)).length>=2).length;return Math.round((.55*f+.45*(g.length?i/g.length:1))*100)}(a.markdown,a.chapters,a.factTraces),compliance:function(a,b){let c=cf.filter(b).length/cf.length,d=(0,cc.JD)(a);return Math.round((.8*c+.1*(d.twoStepComplete?1:d.categories.length>0&&d.graded?.6:.3*(d.categories.length>0))+.1*(0,cc.bH)(a).coverage)*100)}(a.markdown,e),executability:await ci(a.markdown,a.referenceCompleteBlocks),normalization:Math.max(0,100-8*(b=a.issues).filter(a=>"error"===a.level&&cg.test(a.message)).length-Math.min(3*b.filter(a=>"warning"===a.level&&cg.test(a.message)).length,30)),uniqueness:function(a,b){let c=cd.filter(b=>a.includes(b)).length,d=b.vagueSemanticSentences,e=100*Math.max(0,b.ratio-.1),f=a.split(/\n+/u).filter(a=>a.trim()&&!/^\s*(#{1,6}\s+|\||[-*+]\s|>)/u.test(a)).flatMap(a=>a.split(/[。;;]/u)).map(a=>a.replace(/[\s,,、::()()【】[\]《》“”"'`]/gu,"")).filter(a=>a.length>=12);return Math.max(0,Math.round(100-4*c-6*d-.5*e-60*(f.length?(f.length-new Set(f).size)/f.length:0)))}(a.markdown,f)}}async function cl(a){let b=await ck({markdown:a.markdown,chapters:a.chapters,template:a.template,factTraces:a.factTraces,issues:a.issues,referenceCompleteBlocks:a.referenceCompleteBlocks,embedDocuments:a.embedDocuments}),c=Math.round((.3*b.completeness+.25*b.specificity+.2*b.compliance+.15*b.executability+.1*b.normalization)*Math.min(1,b.uniqueness/90)),d=a.issues.filter(a=>"error"===a.level).length,e=Math.max(0,Math.min(99,Math.round(c-8*d))),f=a.knowledgeCoverage.score>=95?95:85;return{overall:c,deliveryProbability:e,target:f,passed:e>=f&&0===d,scores:b,templating:await cj(a.markdown,a.embedDocuments),summary:`交付置信度 ${e}% / 目标 ${f}%,综合评分 ${c}/100(资料完整性 ${b.completeness}、方案针对性 ${b.specificity}、合规性 ${b.compliance}、可落地性 ${b.executability}、编制规范性 ${b.normalization}、低雷同性 ${b.uniqueness})`,actions:e>=f&&0===d?["已达到当前质量目标,建议保持事实口径和导出前复核。"]:["按招标评审口径补齐短板维度:章节与强制模块缺失补完整性、项目专属数据补针对性、危大闭环与强制制度补合规性、责任频次闭环句式补可落地性、表格层级与数据一致补规范性、清理空话禁用词与重复句式降雷同。","系统需优先修复阻断问题、扩大本地知识库检索、补抽结构化事实,并将未落位事实写入对应章节。"]}}var cm=c(28103),cn=c(5726);function co(a,b){return b<=0?100*(a>0):Math.min(120,a/b*100)}async function cp(a){var b,c;if(!a||a.trim().length<500)return;let d=(0,cm.aF)(a),e=(0,cn.Ah)(d);if(!e)return;let f=await (0,cm.WT)(a),g=e.profile,h=Math.max(g.arrowChainCoverage,.08),i=[{key:"paramDensity",label:"参数密度",generated:f.paramDensity,reference:g.paramDensity,score:co(f.paramDensity,.8*g.paramDensity),unit:"perKChars"},{key:"arrowChainCoverage",label:"工序链覆盖率",generated:f.arrowChainCoverage,reference:h,score:co(f.arrowChainCoverage,h),unit:"percent"},{key:"duplicationRate",label:"段落重复率",generated:f.duplicationRate,reference:g.duplicationRate,score:(b=f.duplicationRate)<=(c=g.duplicationRate)?100:Math.max(0,Math.round(100-(b-c)*400)),unit:"percent"},{key:"tableCount",label:"表格数量",generated:f.tableCount,reference:g.tableCount,score:co(f.tableCount,.6*g.tableCount),unit:"count"},{key:"sectionCount",label:"章节结构",generated:f.sectionCount,reference:g.sectionCount,score:f.sectionCount>=.4*g.sectionCount?100:co(f.sectionCount,g.sectionCount),unit:"count"}].map(a=>({...a,score:Math.round(Math.min(120,a.score)),passed:a.score>=80})),j={paramDensity:.3,arrowChainCoverage:.2,duplicationRate:.2,tableCount:.15,sectionCount:.15},k=Math.round(Math.min(100,i.reduce((a,b)=>a+b.score*(j[b.key]||0),0)));return{projectType:d,referenceSourceCount:e.sourceCount,overallScore:k,items:i}}function cq(...a){return a.flat()}var cr=c(87942),cs=c(48161),ct=c(28366);let cu=[{key:"project_name",label:"项目名称",aliases:["项目名称","工程名称","招标项目名称"],valueType:"text"},{key:"project_code",label:"项目编号",aliases:["项目编号","招标项目编号","工程编号"],valueType:"identifier"},{key:"owner",label:"招标人",aliases:["招标人","项目业主","建设单位","发包人","采购人"],valueType:"organization"},{key:"project_location",label:"建设地点",aliases:["建设地点","实施地点","服务地点","交付地点"],valueType:"location"},{key:"project_scale",label:"建设规模",aliases:["建设规模","工程规模","项目规模"],valueType:"scale"},{key:"schedule_requirement",label:"计划工期",aliases:["计划工期","合同工期","总工期","工期","实施周期","服务期限"],valueType:"duration"},{key:"quality_standard",label:"质量标准",aliases:["质量标准","质量目标","验收标准","服务标准"],valueType:"standard"},{key:"project_investment_estimate",label:"合同估算价",aliases:["合同估算价","合同估算价格","投资估算","估算价格","最高投标限价","招标控制价","预算金额"],valueType:"money"},{key:"labor_peak",label:"劳动力高峰人数",aliases:["劳动力高峰","高峰期劳动力","高峰人数","劳动力峰值","高峰期人数","劳动力配置"],valueType:"count"},{key:"assembly_rate",label:"装配率",aliases:["装配率","装配式建筑占比","装配式比例","装配式建筑面积占比"],valueType:"percentage"},{key:"foundation_support_form",label:"基坑支护形式",aliases:["基坑支护形式","基坑支护方式","支护形式","支护方式"],valueType:"text"},{key:"excavation_depth",label:"基坑开挖深度",aliases:["基坑开挖深度","基坑深度","开挖深度","基坑底标高","坑底标高","坡底线","坑底"],valueType:"text"},{key:"award_clause",label:"创优奖惩条款",aliases:["创优奖惩","优质优价","创优目标","奖惩条款","创优奖项"],valueType:"award"}],cv=[{pattern:/土钉/u,form:"土钉墙"},{pattern:/锚杆|锚索/u,form:"锚杆支护"},{pattern:/喷锚/u,form:"喷锚支护"},{pattern:/放坡/u,form:"放坡开挖"},{pattern:/地下连续墙/u,form:"地下连续墙"},{pattern:/支护桩/u,form:"支护桩"}];function cw(a){return/^(见|详见|参见|按|以).{0,30}(招标公告|招标文件|投标人须知|前附表|合同|附件|图纸|清单|约定|规定|执行)/u.test(a)||/见招标公告|见投标人须知前附表|详见|按.*执行/u.test(a)}function cx(a,b){switch(b.valueType){case"duration":if(!/\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年)/u.test(a))return{rejected:!0,score:-80,reason:"缺少明确工期数值和时间单位"};if(/延误|逾期|违约|赔偿|罚款|处罚|扣除|扣留|切除/u.test(a))return{rejected:!0,score:-90,reason:"命中工期违约条款而非计划工期"};return{rejected:!1,score:45,reason:"包含明确工期数值和时间单位"};case"money":if(!/\d+(?:\.\d+)?\s*(?:万元|元|亿元)/u.test(a))return{rejected:!0,score:-80,reason:"缺少明确金额数值和单位"};if(/综合单价|税率|增值税|利润|报价明细/u.test(a))return{rejected:!0,score:-90,reason:"命中非目标商务明细"};return{rejected:!1,score:45,reason:"包含明确金额数值和单位"};case"standard":if(!/合格|优良|一次性验收|达到|满足|符合/u.test(a))return{rejected:!0,score:-70,reason:"不符合标准类字段表达"};if(/工期|投标|技术标准|有效期/u.test(a))return{rejected:!0,score:-90,reason:"标准字段包含其他字段或投标条款"};return{rejected:!1,score:40,reason:"符合标准类字段表达"};case"location":if(cw(a))return{rejected:!1,score:-40,reason:"引用型地点弱值"};if(!/(省|市|区|县|镇|街道|路|园区|大道|巷|内|号)/u.test(a))return{rejected:!1,score:-10,reason:"地点具体性不足"};return{rejected:!1,score:35,reason:"包含具体地址特征"};case"organization":if(/监督管理部门|投标人|中标候选人|评标委员会/u.test(a))return{rejected:!0,score:-90,reason:"组织字段角色串位"};if(/(公司|集团|单位|委员会|机关|中心|局|院|所|政府|运营管理)/u.test(a))return{rejected:!1,score:35,reason:"包含组织名称特征"};return{rejected:!1,score:5,reason:"组织名称特征较弱"};case"identifier":if(!/^[A-Za-z0-9\-_.()()]+$/u.test(a))return{rejected:!0,score:-70,reason:"编号格式不合法"};if(/(?:㎡|m²|m2|m3|m³|平方米|米|万元|元|日历天|个月)/u.test(a))return{rejected:!0,score:-60,reason:"编号中混入量纲单位,疑似字段串位"};return{rejected:!1,score:35,reason:"符合编号格式"};case"scale":if(/\d+(?:\.\d+)?\s*(?:㎡|平方米|m²|米|m|层|栋|座|万元|元)/iu.test(a))return{rejected:!1,score:30,reason:"包含规模数值或单位"};return{rejected:!1,score:5,reason:"规模字段为文本描述"};case"count":if(!/\d+(?:\.\d+)?\s*人/u.test(a))return{rejected:!0,score:-80,reason:"缺少明确人数数值"};if(/面积|工期|金额|报价|万元/u.test(a))return{rejected:!0,score:-70,reason:"人数字段混入其他量纲"};return{rejected:!1,score:40,reason:"包含明确人数数值"};case"percentage":if(!/\d+(?:\.\d+)?\s*(?:%|%)/u.test(a))return{rejected:!0,score:-80,reason:"缺少百分比数值"};if(/工期|金额|报价/u.test(a))return{rejected:!0,score:-70,reason:"百分比字段混入其他量纲"};return{rejected:!1,score:40,reason:"包含百分比数值"};case"award":if(!/(?:杯|奖|万元|优质优价)/u.test(a))return{rejected:!0,score:-70,reason:"缺少奖项或奖惩金额特征"};if(/评标|保证金|报价明细|综合单价/u.test(a))return{rejected:!0,score:-90,reason:"奖项字段串入评标条款"};return{rejected:!1,score:40,reason:"包含奖项/奖惩金额特征"};default:if("project_name"===b.key){if(/存在部位|风险等级|管控措施|监测频次|闭环要求|序号|内容|范围|不适用/u.test(a))return{rejected:!0,score:-90,reason:"项目名称字段串位或表头噪声"};if(!/项目|工程|学院|宿舍|楼|校区|施工总承包/u.test(a))return{rejected:!0,score:-70,reason:"项目名称缺少工程名称特征"};return{rejected:!1,score:35,reason:"符合项目名称特征"}}if("foundation_support_form"===b.key){if(!(cv.some(b=>b.pattern.test(a)||a.includes(b.form))||/支护|放坡|锚|桩|喷|开挖|护坡/u.test(a)))return{rejected:!0,score:-70,reason:"基坑支护形式缺少支护工艺特征"};if(/监测|监测频次|闭环/u.test(a))return{rejected:!0,score:-80,reason:"支护形式字段串入监测管控内容"};return{rejected:!1,score:30,reason:"包含支护工艺特征"}}if("excavation_depth"===b.key){if(!/\d+(?:\.\d+)?/u.test(a))return{rejected:!0,score:-70,reason:"基坑开挖深度缺少数值"};if(/监测|监测频次|闭环|验收|支护桩/u.test(a))return{rejected:!0,score:-80,reason:"开挖深度字段串入监测管控内容"};return{rejected:!1,score:30,reason:"包含开挖深度数值"}}return{rejected:!1,score:a.length>=2?10:-20,reason:"文本字段"}}}function cy(a,b){let c=(0,Q.de)(a.value),d=[],e=30,f=!1;(!c||c.length>260)&&(f=!0,e-=100,d.push("空值或过长")),/###|投标文件的编制|备选投标方案|投标将被否决|投标人提供|投标有效期|电子交易系统|公共资源交易监督管理部门|中标候选|评标委员会|实质性内容作出响应|招标人有权核查/u.test(c)&&(f=!0,e-=100,d.push("大段条款或 Markdown 噪声")),cu.some(a=>a.key!==b.key&&a.aliases.some(a=>c.includes(a)))&&(e-=45,d.push("包含其他字段名,疑似字段串位")),cw(c)&&(e-=35,d.push("引用型弱值"));let g=cx(c,b);return e+=g.score,d.push(g.reason),g.rejected&&(f=!0),"evidence"===a.sourceType&&(e+=20,d.push("来源为证据原文")),a.sourceName&&/补疑|答疑|澄清|补充|更正|修改/u.test(a.sourceName)&&(e+=35,d.push("补疑/澄清类修正文件,权威最高")),a.sourceName&&/招标文件|招标公告|前附表|合同|需求书|正文/u.test(a.sourceName)&&(e+=15,d.push("来源文件可信")),"generated_markdown"===a.sourceType&&(e-=10),{...a,value:c,confidence:e,rejected:f,reasons:d}}let cz=/坡底线|坑底标高|基坑底标高|开挖深度|基坑深度/u,cA=RegExp(cv.map(a=>a.pattern.source).join("|"),"u"),cB=/(?:超过|大于|小于|不[大低小]于|不低于|及以上|及以下|以上|以下)/u;function cC(a){let b=[],c=new Map,d=new Map;for(let b of a){let a=String(b.content||""),e=b.filePath||b.sectionTitle||"drawing_annotation";if(!("drawing"===b.processingType||/dwg|图纸|CAD/iu.test(`${b.filePath||""} ${b.sectionTitle||""}`))&&!/CAD 语义标注/u.test(a)||!cz.test(a)&&!cA.test(a))continue;let f=a.split(/\r?\n/u);for(let a=0;a<f.length;a+=1){let b=f[a].trim();if(b){if(cz.test(b)&&!/坑底H/u.test(b)&&!cB.test(b)){let d=a=>Number.isFinite(a)&&a>=1&&a<50,g=[...b.matchAll(/-?(\d+(?:\.\d{1,3})?)/gu)].filter(a=>{let c=a.index??0,d=b[c-1],e=b[c+a[0].length];return":"!==d&&":"!==e&&"#"!==e}).map(a=>Math.abs(Number(a[1]))).filter(d),h=g.length>0?Math.max(...g):NaN,i=!1;if(!Number.isFinite(h)&&a>0&&/^-?[\d.,]+\s*$/u.test(f[a-1].trim())){let b=Math.abs(Number(f[a-1].trim().replace(/,/gu,"")));d(b)&&(h=b,i=!0)}if(Number.isFinite(h)){let d=(i?`${f[a-1].trim()} ${b}`:b).replace(/[|]/gu," ").replace(/\s+/gu," ").trim().slice(0,48),g=`${e}:${h.toFixed(2)}`;c.has(g)||c.set(g,{value:h,context:d})}}if(cA.test(b))for(let a of cv.filter(a=>a.pattern.test(b)).map(a=>a.form))d.has(a)||d.set(a,{form:a,context:b.replace(/\s+/gu," ").slice(0,60)})}}}if(c.size>0){let a=Math.max(...[...c.values()].map(a=>a.value)),d=[...c.values()].map(a=>a.context).slice(0,3).join(";");b.push({key:"基坑开挖深度",fieldId:"excavation_depth",fieldName:"基坑开挖深度",value:`${a}m(图纸标注:${d})`,sourceFile:"图纸标注",roleId:"drawing",processingType:"drawing",confidence:90})}if(d.size>0){let a=[...d.values()],c=a.map(a=>a.context).slice(0,3).join(";");b.push({key:"基坑支护形式",fieldId:"foundation_support_form",fieldName:"基坑支护形式",value:`${a.map(a=>a.form).join("、")}(图纸标注:${c})`,sourceFile:"图纸标注",roleId:"drawing",processingType:"drawing",confidence:90})}return b}function cD(a){return function(a,b=cu){let c=new Map;for(let d of b){let b=a.filter(a=>a.fieldKey===d.key).sort((a,b)=>b.confidence-a.confidence),e=b.find(a=>!a.rejected&&a.confidence>0);e&&c.set(d.key,{fieldKey:d.key,label:d.label,value:e.value,source:e.sourceName||e.sourceType,confidence:e.confidence,candidates:b,selectedReason:e.reasons.join(";")})}return c}([...function(a){let b=[];for(let c of a){let a=function(a){let b=`${a.fieldId||""}${a.key||""}${a.fieldName||""}`;return cu.find(c=>c.key===a.fieldId||c.aliases.some(a=>b.includes(a)))}(c);if(!a)continue;let d=(0,u.lG)(c.value);b.push(cy({fieldKey:a.key,label:a.label,value:d,sourceType:"structured_fact",sourceName:c.sourceFile||c.sourceRef?.sectionTitle||"structured_fact"},a))}let c=cu.find(a=>"excavation_depth"===a.key);if(c)for(let d of a){if("excavation_depth"===d.fieldId)continue;let a=(0,u.lG)(d.value),e=`${d.fieldId||""}${d.key||""}${d.fieldName||""} ${a}`;if(!/坡底线|坑底|电梯井|坑底标高/u.test(e))continue;let f=[...a.matchAll(/-?(\d+(?:\.\d{1,3})?)(?=[^0-9.]|$)/gu)].map(a=>Math.abs(Number(a[1]))).filter(a=>Number.isFinite(a)&&a>.5&&a<50);if(0===f.length)continue;let g=Math.max(...f);b.push(cy({fieldKey:"excavation_depth",label:c.label,value:`${g}m(图纸标注:${a.slice(0,60)})`,sourceType:"structured_fact",sourceName:d.sourceFile||d.sourceRef?.sectionTitle||"drawing_annotation"},c))}return b}(a.facts),...function(a,b="generated_markdown"){let c=[];for(let d of a.split(/\r?\n/u)){if(!/^\|.*\|\s*$/u.test(d)||/^\|\s*:?-{3,}:?/u.test(d))continue;let a=d.trim().replace(/^\|/u,"").replace(/\|$/u,"").split("|").map(a=>a.replace(/\*\*/gu,"").trim());if(a.length<2)continue;let e="序号"===a[0]&&a.length>=3?a[1]:a[0],f="序号"===a[0]&&a.length>=3?a[2]:a[1],g="序号"===a[0]&&a.length>=4?a[3]:a[2],h=cu.find(a=>a.aliases.some(a=>e.includes(a))||a.label===e);!h||!f||/内容|参数|资料未明确|系统暂未确认|暂未从知识库确认/u.test(f)||c.push(cy({fieldKey:h.key,label:h.label,value:f,sourceType:"generated_markdown",sourceName:g||b},h))}return c}(a.markdown||"")])}function cE(a){return({user:100,addendum:96,contract:90,tender:85,boq:75,drawing:70,standard:60,evidence:55,structured_fact:50,projectGraph:40,generated_markdown:30,derived:20,unknown:10})[a]}function cF(a){let b=e.join(process.env.HOME||process.cwd(),".customize-agent","cache","document-workflow",(0,u.c6)(a||"default"));return O.mkdirSync(b,{recursive:!0}),b}let cG=new Map;function cH(a){let b=cG.get(a);return b||(b=RegExp(a,"u"),cG.set(a,b)),b}function cI(a,b=(0,ct.bC)()){let c=[];for(let d of["area","cost","duration","floors","parkingSpaces"]){let e=new Set,f=[];for(let c of a){let a=(0,u.lG)(c.value),g=function(a,b){let c=`${a||""} ${b||""}`;return/补疑|答疑|澄清|补充|更正|修改/u.test(c)?95:/合同/u.test(c)?90:/招标文件|招标公告|前附表|投标人须知|需求书/u.test(c)?85:/清单|工程量|BOQ|编制说明/u.test(c)?75:/图纸|设计/u.test(c)?70:50}(c.sourceFile,c.roleId);for(let h of function(a,b,c,d){let e=[],f="area"===b?/(?<![地上地下门卫室值班室配电室配电房泵房水泵房锅炉房公厕车库车棚岗亭传达室警卫室样板房售楼处门房])总?建筑面积|建设规模/u:"cost"===b?/合同估算价|合同估算价格|投资估算|最高投标限价|招标控制价|工程总投资|总投资|工程造价/u:"floors"===b?/总?层数|建筑层数|地上层数|地下层数|楼层数/u:"parkingSpaces"===b?/总?车位|停车位|机动车位|车位数/u:/计划工期|合同工期|总工期|施工周期/u,g="floors"===b||"parkingSpaces"===b?"\\d+(?:[.,]\\d+)?":"\\d{2,}(?:[.,]\\d+)?",h=RegExp(`(?:${f.source})(?:[^0-9\\n]{0,14}?)(${g})\\s*${"area"===b?"(万?㎡|万?m\xb2|万?m2|万?平方米)":"cost"===b?"(万元|亿元|万?元)":"floors"===b?"(层)":"parkingSpaces"===b?"(个|个车位|个停车位)":"(日历天|天|个月|月)"}`,"giu"),i=RegExp(g,"u");for(let g of a.matchAll(h)){let h,j=g[0].match(f),k=j?.[0]||"",l=g[1].replace(/[,,]/gu,"").trim(),m=(g[2]||"").trim();if(!k||!l||!i.test(l))continue;let n=(g.index??0)+(j?.index??0),o=(g.index??0)+g[0].indexOf(g[1]),p=o-(n+k.length),q=a.slice(n+k.length,o);if("area"===b&&/占地|用地/u.test(q))continue;let r=function(a,b,c,d,e,f){let g=a.slice(Math.max(0,b-10),b),h=a.slice(b+c,d),i=`${g}${h}`,{addendumSource:j,amendmentContext:k,thresholdComparison:l,aspirationalPrefix:m}=f.factGovernance;return cH(j).test(e||"")&&cH(k).test(i)?"amendment":cH(l).test(i)?"threshold":cH(m).test(g)?"aspirational":"ontological"}(a,n,k.length,o,c,d);if("threshold"!==r&&"aspirational"!==r){if("duration"===b||"floors"===b||"parkingSpaces"===b)h=`${l}|${m}`;else{let a=+!!/万/u.test(m),b=Number(l)*(a?1e4:1);if(!Number.isFinite(b))continue;h=String(/亿元/u.test(m)?1e8*b:/万元/u.test(m)?1e4*b:b)}e.push({scope:k,value:l,unit:m,compareKey:h,contextClass:r,anchorScore:(p<=3?3:p<=9?2:1)+("ontological"===r||"amendment"===r?2:1),gapLength:p})}}return e}(a,d,c.sourceFile,b)){let a=`${c.sourceFile||""}|${h.scope}|${h.compareKey}`;e.has(a)||(e.add(a),f.push({...h,sourceFile:c.sourceFile,priority:g}))}}if(!(f.length<2))for(let[a,e]of f.reduce((a,b)=>{let c=b.scope.replace(/^总/u,""),d=a.get(c)||[];return d.push(b),a.set(c,d),a},new Map)){let f;if(new Set(e.map(a=>a.compareKey)).size<2||new Set(e.map(a=>a.sourceFile).filter(Boolean)).size<2)continue;let g=Math.max(...e.map(a=>a.priority)),h=e.filter(a=>a.priority===g),i=Math.max(...h.map(a=>a.anchorScore)),j=h.filter(a=>a.anchorScore===i),k=1===new Set(j.map(a=>a.compareKey)).size?j[0]:void 0;if(k){let a=k.gapLength>b.factGovernance.weakAnchorGapThreshold;f="amendment"===k.contextClass?a?"medium":"high":a?"low":"medium"}c.push({kind:d,scope:`${a}(${"area"===d?"面积":"cost"===d?"金额":"floors"===d?"层数":"parkingSpaces"===d?"车位数":"工期"}口径)`,values:[...new Map(e.map(a=>[`${a.value}${a.unit}|${a.sourceFile||""}`,{value:a.value,unit:a.unit,sourceFile:a.sourceFile,priority:a.priority}])).values()],resolution:k?`${k.value}${k.unit}`:void 0,...f?{confidence:f}:{}})}}return c}function cJ(a){let b=new Map;for(let c of a){if(!c.resolution||"low"===c.confidence||b.has(c.kind))continue;let a=c.values.find(a=>`${a.value}${a.unit}`===c.resolution),d=a?a.value.replace(/[,,]/gu,""):"",e=c.values.filter(a=>`${a.value}${a.unit}`!==c.resolution).map(a=>({value:a.value.replace(/[,,]/gu,""),unit:a.unit}));d&&0!==e.length&&b.set(c.kind,{winnerNum:d,losers:e})}return b}function cK(a,b){return b?.length?a.map(a=>{let c=function(a,b){let c=a;for(let{winnerNum:a,losers:d}of cJ(b).values())for(let b of d)b.unit&&c.includes(`${b.value}${b.unit}`)?c=c.split(`${b.value}${b.unit}`).join(`${a}${b.unit}`):c.includes(b.value)&&(c=c.split(b.value).join(a));return c}(a.content,b);return c===a.content?a:{...a,content:c}}):a}function cL(a,b){let c=cJ(b);if(0===c.size)return a;let d={area:/建设规模|工程规模|建筑面积|用地面积|占地面积|project_scale|scale/u,cost:/合同估算|投资估算|最高投标限价|招标控制价|总投资|工程造价|project_cost|cost|price|amount/u,duration:/计划工期|合同工期|总工期|施工周期|duration|schedule/u,floors:/总层数|建筑层数|地上层数|地下层数|楼层数|project_floors|floors/u,parkingSpaces:/总车位|停车位|机动车位|车位数|project_parking|parking/u};return a.map(a=>{let b=[...c.keys()].find(b=>d[b].test(a.key)||d[b].test(a.value));if(!b)return a;let{winnerNum:e,losers:f}=c.get(b),g=a.value,h=!1;for(let a of f)a.unit&&g.includes(`${a.value}${a.unit}`)?(g=g.split(`${a.value}${a.unit}`).join(`${e}${a.unit}`),h=!0):g.includes(a.value)&&(g=g.split(a.value).join(e),h=!0);return h?{...a,value:g}:a})}function cM(a){var b;let c=(0,u.c6)({version:"canonical-facts-v7",rulesHash:(0,ct.TG)(a.projectRoot),requirement:a.requirement||"",templateId:a.templateId||"",requiredKeys:a.requiredKeys||[],facts:a.facts.map(a=>({key:a.key,fieldId:a.fieldId,fieldName:a.fieldName,value:a.value,sourceFile:a.sourceFile,roleId:a.roleId,confidence:a.confidence})).sort((a,b)=>`${a.sourceFile}${a.key}${a.value}`.localeCompare(`${b.sourceFile}${b.key}${b.value}`)),graphHash:a.projectGraph?(0,u.c6)(a.projectGraph):"",markdownHash:a.markdown?(0,u.c6)(a.markdown.slice(0,2e4)):""}),d=function(a,b){let c=cF(a);if(c)try{let a=JSON.parse(O.readFileSync(e.join(c,`canonical-facts-${b}.json`),"utf8"));return a&&a.byKey&&Array.isArray(a.scopeConflicts)?a:void 0}catch{return}}(a.projectRoot,c);if(d)return d;let f=a.facts||[],g=cI(f,(0,ct.bC)(a.projectRoot));for(let a of g.map(a=>({caseType:"scope_conflict_arbitration",recordedAt:Date.now(),kind:a.kind,scope:a.scope,values:a.values.map(a=>({value:a.value,unit:a.unit,sourceFile:a.sourceFile,priority:a.priority})),winner:a.resolution,confidence:a.confidence,manualReviewRequired:!a.resolution})))try{O.appendFileSync(e.join(function(){let a=e.join(cs.homedir(),".customize-agent","cache","document-workflow","case-log");return O.mkdirSync(a,{recursive:!0}),a}(),"arbitration-cases.jsonl"),`${JSON.stringify(a)}
|
|
50
50
|
`,"utf-8")}catch{}let h=cL(f,g),i=cD({facts:h,markdown:a.markdown}),j={};for(let[a,b]of i.entries())j[a]=function(a){let b=a.source.includes("generated_markdown")?"generated_markdown":a.source.includes("evidence")?"evidence":"structured_fact";return{key:a.fieldKey,label:a.label,value:a.value,normalizedValue:(0,Q.de)(a.value),sourceType:b,sourceFile:a.source,confidence:a.confidence,priority:cE(b),locked:cE(b)>=80,selectedReason:a.selectedReason}}(b);if(j.project_scale){let a=j.project_scale;if(/占地|用地/u.test(a.value)&&/建筑面积/u.test(a.value)){let b=a.value.search(/(?:单体)?总?建筑面积/u);if(b>0){let c=(0,Q.wj)(a.value.slice(b)).trim();j.project_scale={...a,value:c,normalizedValue:(0,Q.de)(c),selectedReason:`${a.selectedReason};混合口径已净化,scale 只取建筑面积段`}}}}let k=[];for(let a of[{key:"project_name",label:"项目名称",pattern:/项目名称|工程名称|招标项目名称|project_name/u,bucket:"projectIdentity",valueType:"text"},{key:"project_code",label:"项目编号",pattern:/项目编号|招标项目编号|project_code/u,bucket:"projectIdentity",valueType:"identifier"},{key:"owner",label:"招标人",pattern:/招标人|建设单位|发包人|owner/u,bucket:"projectIdentity",valueType:"organization"},{key:"project_location",label:"建设地点",pattern:/建设地点|实施地点|project_location/u,bucket:"projectIdentity",valueType:"location"},{key:"project_scale",label:"建设规模",pattern:/建设规模|工程规模|project_scale/u,bucket:"projectScope",valueType:"scale"},{key:"construction_scope",label:"施工范围",pattern:/施工范围|招标范围|工程范围/u,bucket:"projectScope",valueType:"text"},{key:"duration",label:"计划工期",pattern:/计划工期|合同工期|总工期|schedule_requirement|duration/u,bucket:"schedule",valueType:"duration"},{key:"quality_target",label:"质量目标",pattern:/质量标准|质量目标|quality_standard/u,bucket:"quality",valueType:"standard"}]){let b=function(a,b,c,d,e){let f=cu.find(a=>a.key===b);return a.filter(a=>d.test(`${a.fieldId||""}${a.key||""}${a.fieldName||""}`)).map(a=>(function(a,b,c){let d=(0,u.lG)(a.value),e=function(a){let b=`${a.sourceFile||""} ${a.sourceRef?.sectionTitle||""} ${a.roleId||""}`;return/补疑|答疑|澄清|补充|更正|修改/u.test(b)?"addendum":/合同/u.test(b)?"contract":/招标|公告|前附表|需求书/u.test(b)?"tender":/清单|工程量|BOQ|报价/u.test(b)?"boq":/图纸|设计|CAD|DWG/u.test(b)?"drawing":/规范|标准/u.test(b)?"standard":"structured_fact"}(a);return{key:b,label:c,value:d,normalizedValue:(0,Q.de)(d),sourceType:e,sourceFile:a.sourceFile,sourceRef:a.sourceRef?.sectionTitle,confidence:Math.round(100*(a.confidence||.5)),priority:cE(e),locked:cE(e)>=80,selectedReason:"按资料来源优先级和字段置信度决策"}})(a,b,c)).filter(a=>a.value&&!/资料未明确|系统暂未确认/u.test(a.value)).filter(a=>{let d=e??f?.valueType;return!d||"text"===d||!cx(a.value,{key:b,label:c,aliases:[],valueType:d}).rejected}).sort((a,b)=>b.priority-a.priority||b.confidence-a.confidence||a.value.length-b.value.length)}(h,a.key,a.label,a.pattern,a.valueType);!j[a.key]&&b.length>0&&(j[a.key]=b[0]);let c=function(a,b,c){let d=[...new Map(c.map(a=>[a.normalizedValue,a])).values()];if(d.length<=1)return;let e=Math.max(...d.map(a=>a.priority)),f=d.filter(a=>a.priority===e);return{key:a,label:b,values:d.map(a=>({value:a.value,sourceFile:a.sourceFile,priority:a.priority,confidence:a.confidence})),decision:1===f.length?"highest_priority_selected":"manual_review_required"}}(a.key,a.label,b);c&&k.push(c)}let l=(b=a.projectGraph)?[...(b.resources||[]).map(a=>({key:`resource_${a.type}_${a.name}`,label:"equipment"===a.type?"机械设备":"labor"===a.type?"劳动力":"材料资源",value:[a.name,a.spec,a.quantity,a.unit].filter(Boolean).join(" "),normalizedValue:(0,Q.de)([a.name,a.spec,a.quantity,a.unit].filter(Boolean).join(" ")),sourceType:"projectGraph",sourceFile:a.sourceFiles?.[0],confidence:55,priority:cE("projectGraph"),locked:!1,selectedReason:"来自项目图谱资源节点"})).filter(a=>a.value),...(b.risks||[]).map(a=>({key:`risk_${a.risk}`,label:"风险源",value:[a.risk,a.level,a.mitigation].filter(Boolean).join(" "),normalizedValue:(0,Q.de)([a.risk,a.level,a.mitigation].filter(Boolean).join(" ")),sourceType:"projectGraph",sourceFile:a.sourceFiles?.[0],confidence:55,priority:cE("projectGraph"),locked:!1,selectedReason:"来自项目图谱风险节点"})).filter(a=>a.value)]:[],m=l.filter(a=>/resource_/u.test(a.key)),n=l.filter(a=>/risk_/u.test(a.key));for(let a of l)j[a.key]||(j[a.key]=a);let o=(a.requiredKeys||[]).filter(a=>!j[a]).map(a=>({key:a,label:cu.find(b=>b.key===a)?.label||a,reason:"未从用户输入、招标资料、清单、图纸或项目图谱中确认该事实"})),p={projectIdentity:{projectName:j.project_name,projectCode:j.project_code,owner:j.owner,location:j.project_location},projectScope:{scale:j.project_scale,constructionScope:j.construction_scope},schedule:{duration:j.duration||j.schedule_requirement},quality:{target:j.quality_target||j.quality_standard},safety:{risks:n},resources:{resources:m},environment:{},constraints:{},byKey:j,conflicts:k,gaps:o,scopeConflicts:g},q=cF(a.projectRoot);return q&&O.writeFileSync(e.join(q,`canonical-facts-${c}.json`),JSON.stringify(p,null,2)),p}var cN=c(32434),cO=c(22213);function cP(a,b){return 0>=(0,r.V7)(a.content)?"failed":"completed"}let cQ=["项目名称 项目编号 招标人 项目概况与招标范围 建设地点 建设规模 计划工期 质量标准 合同估算价","计划工期 合同工期 总工期 日历天","合同估算价 合同估算价格 投资估算 最高投标限价 招标控制价","质量标准 质量目标 合格","建设地点 建设规模 招标范围"];function cR(a){let b=(0,Q.de)(a),c=0;return/项目名称|工程名称|招标项目名称|项目编号|招标项目编号|招标人|建设单位|发包人/u.test(b)&&(c+=4),/计划工期|合同工期|总工期|\d+(?:\.\d+)?\s*(?:日历天|天|个月|月|年)/u.test(b)&&(c+=6),/合同估算价|投资估算|最高投标限价|招标控制价|\d+(?:\.\d+)?\s*(?:万元|元)/u.test(b)&&(c+=5),/质量标准|质量目标|合格|优良/u.test(b)&&(c+=4),/建设地点|建设规模|招标范围|项目概况与招标范围/u.test(b)&&(c+=4),/工程量|清单|图纸|设计说明|施工范围|施工内容|材料|设备|工艺|验收|复试|检测/u.test(b)&&(c+=3),/保证金账户|开户行|开户名称|收款账户|汇款|转账账户|电子交易系统|公共资源交易|开标时间|开标地点|评标委员会|评标办法/u.test(b)&&(c-=4),c}async function cS(a){let b=[],c=new Set(a.scopedFilePaths),d=await Promise.all(cQ.map(async b=>((0,u.Te)(a.signal),(await a.manager.search(a.projectRoot,b,{scope:"project",filters:{filePaths:a.scopedFilePaths},limit:10,weights:{keyword:.65,vector:.25,rewrite:.8,hybridBonus:.2},generationMode:!0,disableReranker:!0})).results.filter(a=>c.has(a.filePath)&&cR(`${a.sectionTitle||""}
|
|
51
51
|
${a.content}`)>0).map(b=>({chapterId:"project-basic",filePath:b.filePath,score:Math.max(b.score,1)+cR(`${b.sectionTitle||""}
|
|
52
52
|
${b.content}`),content:b.content,roleId:a.fileRoleByPath.get(b.filePath),processingType:a.fileProcessingByPath.get(b.filePath),sectionTitle:b.sectionTitle,source:"pinned-evidence"})))));for(let c of(b.push(...d.flat()),a.scopedFilePaths)){(0,u.Te)(a.signal);let d=a.project.getFileDetail?.(c);if(d?.chunks?.length)for(let e of d.chunks){let f=cR(`${e.sectionTitle||""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/3854c6b3c59c0c44.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3854c6b3c59c0c44.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-24bef62eef01afe6.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/wlL3fDITb2p2SwzZsxfza/_buildManifest.js" defer=""></script><script src="/_next/static/wlL3fDITb2p2SwzZsxfza/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/template-references"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library-big"><rect width="8" height="18" x="3" y="3" rx="1"></rect><path d="M7 3v18"></path><path d="M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"></path></svg><span class="sidebarLabel">模板参考</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"wlL3fDITb2p2SwzZsxfza","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/3854c6b3c59c0c44.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3854c6b3c59c0c44.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-24bef62eef01afe6.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/CULEYxFJ1kTZDwUKJ6GxG/_buildManifest.js" defer=""></script><script src="/_next/static/CULEYxFJ1kTZDwUKJ6GxG/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/template-references"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library-big"><rect width="8" height="18" x="3" y="3" rx="1"></rect><path d="M7 3v18"></path><path d="M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"></path></svg><span class="sidebarLabel">模板参考</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"CULEYxFJ1kTZDwUKJ6GxG","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="preload" href="/_next/static/css/3854c6b3c59c0c44.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3854c6b3c59c0c44.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-24bef62eef01afe6.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/wlL3fDITb2p2SwzZsxfza/_buildManifest.js" defer=""></script><script src="/_next/static/wlL3fDITb2p2SwzZsxfza/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/template-references"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library-big"><rect width="8" height="18" x="3" y="3" rx="1"></rect><path d="M7 3v18"></path><path d="M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"></path></svg><span class="sidebarLabel">模板参考</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"wlL3fDITb2p2SwzZsxfza","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="preload" href="/_next/static/css/3854c6b3c59c0c44.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3854c6b3c59c0c44.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-24bef62eef01afe6.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/CULEYxFJ1kTZDwUKJ6GxG/_buildManifest.js" defer=""></script><script src="/_next/static/CULEYxFJ1kTZDwUKJ6GxG/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/template-references"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library-big"><rect width="8" height="18" x="3" y="3" rx="1"></rect><path d="M7 3v18"></path><path d="M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"></path></svg><span class="sidebarLabel">模板参考</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"CULEYxFJ1kTZDwUKJ6GxG","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|