@customize-agent/server 4.17.0 → 4.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +21 -21
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/208.js +9 -7
  5. package/.next/server/chunks/6482.js +1 -1
  6. package/.next/server/chunks/8204.js +1 -1
  7. package/.next/server/middleware-build-manifest.js +1 -1
  8. package/.next/server/pages/404.html +1 -1
  9. package/.next/server/pages/500.html +1 -1
  10. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  11. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  12. package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
  13. package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
  14. package/.next/server/pages/api/documents/export.js +3 -3
  15. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  16. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  17. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  18. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  19. package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
  20. package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
  21. package/.next/server/pages/api/jobs.js.nft.json +1 -1
  22. package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
  23. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
  24. package/.next/server/pages/api/kb/evaluate.js.nft.json +1 -1
  25. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
  26. package/.next/server/pages/api/kb/files/export.js +5 -0
  27. package/.next/server/pages/api/kb/files/export.js.nft.json +1 -0
  28. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
  29. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
  30. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
  31. package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
  32. package/.next/server/pages/api/kb/files/tree.js.nft.json +1 -1
  33. package/.next/server/pages/api/kb/files.js.nft.json +1 -1
  34. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
  35. package/.next/server/pages/api/kb/intelligence.js.nft.json +1 -1
  36. package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
  37. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
  38. package/.next/server/pages/api/kb/search.js.nft.json +1 -1
  39. package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
  40. package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
  41. package/.next/server/pages/api/kb/upload/complete.js.nft.json +1 -1
  42. package/.next/server/pages/api/kb/upload/progress.js.nft.json +1 -1
  43. package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
  44. package/.next/server/pages/api/prompt.js.nft.json +1 -1
  45. package/.next/server/pages/api/template-references.js.nft.json +1 -1
  46. package/.next/server/pages/asset-library.html +1 -1
  47. package/.next/server/pages/document-roles.html +1 -1
  48. package/.next/server/pages/documents.html +1 -1
  49. package/.next/server/pages/guide.html +1 -1
  50. package/.next/server/pages/index.html +1 -1
  51. package/.next/server/pages/knowledge/file-detail.html +1 -1
  52. package/.next/server/pages/knowledge/files.html +1 -1
  53. package/.next/server/pages/knowledge/manage.html +1 -1
  54. package/.next/server/pages/knowledge.html +1 -1
  55. package/.next/server/pages/models.html +1 -1
  56. package/.next/server/pages/overview.html +1 -1
  57. package/.next/server/pages/prompt.html +1 -1
  58. package/.next/server/pages/settings.html +1 -1
  59. package/.next/server/pages/system/logs.html +1 -1
  60. package/.next/server/pages/template-references.html +1 -1
  61. package/.next/server/pages-manifest.json +24 -23
  62. package/.next/static/chunks/{224-0415408fff1d1c8b.js → 224-790cf01fcf6820ee.js} +1 -1
  63. package/.next/static/chunks/260-244c94eacd903620.js +1 -0
  64. package/.next/static/chunks/{289-fc1b25371e004552.js → 289-42781fb699646699.js} +1 -1
  65. package/.next/static/chunks/788-e98701da4d6ca319.js +1 -0
  66. package/.next/static/chunks/pages/{_app-3e8b35112a00821a.js → _app-24bef62eef01afe6.js} +2 -2
  67. package/.next/static/chunks/pages/documents-185ab225628d4705.js +1 -0
  68. package/.next/static/chunks/pages/knowledge/files-98ec72061cdb64d3.js +1 -0
  69. package/.next/static/chunks/pages/knowledge/manage-558987c599dc4cd5.js +1 -0
  70. package/.next/static/chunks/pages/prompt-839287c514595765.js +1 -0
  71. package/.next/static/chunks/pages/system/logs-2e849bcdf371d791.js +1 -0
  72. package/.next/static/{MxX0I-4Uel1J1o70FYHKB → oHTkuAe-o_kSbOGg7O_tz}/_buildManifest.js +1 -1
  73. package/messages/en-US.json +6 -1
  74. package/messages/zh-CN.json +6 -1
  75. package/package.json +1 -1
  76. package/.next/static/chunks/260-580088826d643423.js +0 -1
  77. package/.next/static/chunks/788-dca0d550ad6bd8b2.js +0 -1
  78. package/.next/static/chunks/pages/documents-66057ee3c8ffff6d.js +0 -1
  79. package/.next/static/chunks/pages/knowledge/files-45b40149a6f4a9d5.js +0 -1
  80. package/.next/static/chunks/pages/knowledge/manage-5b1b4d3804752f8b.js +0 -1
  81. package/.next/static/chunks/pages/prompt-edc2dfea09aaedc1.js +0 -1
  82. package/.next/static/chunks/pages/system/logs-ee67e2c93147dfc3.js +0 -1
  83. /package/.next/static/{MxX0I-4Uel1J1o70FYHKB → oHTkuAe-o_kSbOGg7O_tz}/_ssgManifest.js +0 -0
package/.next/BUILD_ID CHANGED
@@ -1 +1 @@
1
- MxX0I-4Uel1J1o70FYHKB
1
+ oHTkuAe-o_kSbOGg7O_tz
@@ -5,8 +5,8 @@
5
5
  "devFiles": [],
6
6
  "ampDevFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/MxX0I-4Uel1J1o70FYHKB/_buildManifest.js",
9
- "static/MxX0I-4Uel1J1o70FYHKB/_ssgManifest.js"
8
+ "static/oHTkuAe-o_kSbOGg7O_tz/_buildManifest.js",
9
+ "static/oHTkuAe-o_kSbOGg7O_tz/_ssgManifest.js"
10
10
  ],
11
11
  "rootMainFiles": [],
12
12
  "rootMainFilesTree": {},
@@ -24,7 +24,7 @@
24
24
  "static/chunks/framework-161be364fd69a7ce.js",
25
25
  "static/chunks/main-91fb767ebd74c9c1.js",
26
26
  "static/css/3854c6b3c59c0c44.css",
27
- "static/chunks/pages/_app-3e8b35112a00821a.js"
27
+ "static/chunks/pages/_app-24bef62eef01afe6.js"
28
28
  ],
29
29
  "/_error": [
30
30
  "static/chunks/webpack-4224e970a97a4a86.js",
@@ -40,9 +40,9 @@
40
40
  "static/chunks/883-506cbca959974997.js",
41
41
  "static/chunks/69-34d57b77fd2eed20.js",
42
42
  "static/chunks/700-5d29b0475311f590.js",
43
- "static/chunks/224-0415408fff1d1c8b.js",
43
+ "static/chunks/224-790cf01fcf6820ee.js",
44
44
  "static/chunks/102-881dcc464f983c89.js",
45
- "static/chunks/289-fc1b25371e004552.js",
45
+ "static/chunks/289-42781fb699646699.js",
46
46
  "static/chunks/994-241f87efc61005b8.js",
47
47
  "static/chunks/pages/asset-library-f6319fc04559e43d.js"
48
48
  ],
@@ -55,11 +55,11 @@
55
55
  "static/chunks/69-34d57b77fd2eed20.js",
56
56
  "static/chunks/700-5d29b0475311f590.js",
57
57
  "static/chunks/44-d3545eedd5c75ef1.js",
58
- "static/chunks/224-0415408fff1d1c8b.js",
58
+ "static/chunks/224-790cf01fcf6820ee.js",
59
59
  "static/chunks/787-c18af810af3433f6.js",
60
60
  "static/chunks/102-881dcc464f983c89.js",
61
61
  "static/chunks/195-2c0168eacab722d2.js",
62
- "static/chunks/289-fc1b25371e004552.js",
62
+ "static/chunks/289-42781fb699646699.js",
63
63
  "static/chunks/455-e1b41ac4946d2b6f.js",
64
64
  "static/chunks/pages/document-roles-4ccb2db16dc4b63c.js"
65
65
  ],
@@ -72,13 +72,13 @@
72
72
  "static/chunks/69-34d57b77fd2eed20.js",
73
73
  "static/chunks/700-5d29b0475311f590.js",
74
74
  "static/chunks/44-d3545eedd5c75ef1.js",
75
- "static/chunks/224-0415408fff1d1c8b.js",
75
+ "static/chunks/224-790cf01fcf6820ee.js",
76
76
  "static/chunks/787-c18af810af3433f6.js",
77
77
  "static/chunks/195-2c0168eacab722d2.js",
78
78
  "static/chunks/455-e1b41ac4946d2b6f.js",
79
79
  "static/chunks/506-93f730bc149d0dce.js",
80
80
  "static/chunks/930-0436dcaa92fb41f6.js",
81
- "static/chunks/pages/documents-66057ee3c8ffff6d.js"
81
+ "static/chunks/pages/documents-185ab225628d4705.js"
82
82
  ],
83
83
  "/guide": [
84
84
  "static/chunks/webpack-4224e970a97a4a86.js",
@@ -105,10 +105,10 @@
105
105
  "static/chunks/69-34d57b77fd2eed20.js",
106
106
  "static/chunks/700-5d29b0475311f590.js",
107
107
  "static/chunks/44-d3545eedd5c75ef1.js",
108
- "static/chunks/224-0415408fff1d1c8b.js",
108
+ "static/chunks/224-790cf01fcf6820ee.js",
109
109
  "static/chunks/787-c18af810af3433f6.js",
110
110
  "static/chunks/102-881dcc464f983c89.js",
111
- "static/chunks/289-fc1b25371e004552.js",
111
+ "static/chunks/289-42781fb699646699.js",
112
112
  "static/chunks/506-93f730bc149d0dce.js",
113
113
  "static/chunks/850-0f48354694fc6b3e.js",
114
114
  "static/css/ad5a592c79d1448b.css",
@@ -123,11 +123,11 @@
123
123
  "static/chunks/69-34d57b77fd2eed20.js",
124
124
  "static/chunks/700-5d29b0475311f590.js",
125
125
  "static/chunks/44-d3545eedd5c75ef1.js",
126
- "static/chunks/224-0415408fff1d1c8b.js",
126
+ "static/chunks/224-790cf01fcf6820ee.js",
127
127
  "static/chunks/102-881dcc464f983c89.js",
128
- "static/chunks/289-fc1b25371e004552.js",
128
+ "static/chunks/289-42781fb699646699.js",
129
129
  "static/css/ad5a592c79d1448b.css",
130
- "static/chunks/pages/knowledge/files-45b40149a6f4a9d5.js"
130
+ "static/chunks/pages/knowledge/files-98ec72061cdb64d3.js"
131
131
  ],
132
132
  "/knowledge/manage": [
133
133
  "static/chunks/webpack-4224e970a97a4a86.js",
@@ -138,8 +138,8 @@
138
138
  "static/chunks/69-34d57b77fd2eed20.js",
139
139
  "static/chunks/787-c18af810af3433f6.js",
140
140
  "static/chunks/506-93f730bc149d0dce.js",
141
- "static/chunks/788-dca0d550ad6bd8b2.js",
142
- "static/chunks/pages/knowledge/manage-5b1b4d3804752f8b.js"
141
+ "static/chunks/788-e98701da4d6ca319.js",
142
+ "static/chunks/pages/knowledge/manage-558987c599dc4cd5.js"
143
143
  ],
144
144
  "/models": [
145
145
  "static/chunks/webpack-4224e970a97a4a86.js",
@@ -170,8 +170,8 @@
170
170
  "static/chunks/700-5d29b0475311f590.js",
171
171
  "static/chunks/44-d3545eedd5c75ef1.js",
172
172
  "static/chunks/195-2c0168eacab722d2.js",
173
- "static/chunks/260-580088826d643423.js",
174
- "static/chunks/pages/prompt-edc2dfea09aaedc1.js"
173
+ "static/chunks/260-244c94eacd903620.js",
174
+ "static/chunks/pages/prompt-839287c514595765.js"
175
175
  ],
176
176
  "/settings": [
177
177
  "static/chunks/webpack-4224e970a97a4a86.js",
@@ -188,11 +188,11 @@
188
188
  "static/chunks/69-34d57b77fd2eed20.js",
189
189
  "static/chunks/700-5d29b0475311f590.js",
190
190
  "static/chunks/44-d3545eedd5c75ef1.js",
191
- "static/chunks/224-0415408fff1d1c8b.js",
191
+ "static/chunks/224-790cf01fcf6820ee.js",
192
192
  "static/chunks/102-881dcc464f983c89.js",
193
193
  "static/chunks/195-2c0168eacab722d2.js",
194
- "static/chunks/289-fc1b25371e004552.js",
195
- "static/chunks/pages/system/logs-ee67e2c93147dfc3.js"
194
+ "static/chunks/289-42781fb699646699.js",
195
+ "static/chunks/pages/system/logs-2e849bcdf371d791.js"
196
196
  ],
197
197
  "/template-references": [
198
198
  "static/chunks/webpack-4224e970a97a4a86.js",
@@ -3,9 +3,9 @@
3
3
  "routes": {},
4
4
  "dynamicRoutes": {},
5
5
  "preview": {
6
- "previewModeId": "0a88cfcdadc0880d5fd2e51ed986190f",
7
- "previewModeSigningKey": "080688b86a5e5c01738bf2f197deedddfb487f39403cc100cee66dd808d40f14",
8
- "previewModeEncryptionKey": "ad42718976f3b62502e4404e8c5af5ef760d286d9e4cec93af9373f647af51ee"
6
+ "previewModeId": "d35b348dba1d5820ce0f421bad04b987",
7
+ "previewModeSigningKey": "e7a419507a6d8cd487c5dcaede01e08cb311220ace4da2ca68bb6f49f399e986",
8
+ "previewModeEncryptionKey": "5e22d3c217e698297e15090b133f9073bf677b4788124876ad8fa961d0af2db9"
9
9
  },
10
10
  "notFoundRoutes": []
11
11
  }
@@ -67,7 +67,7 @@ ${0===b&&r?`${r}
67
67
 
68
68
  ${s}
69
69
 
70
- `}return c.replace(/\n{3,}/gu,"\n\n").trim()}($(M(c.promptRules?"required"===c.promptRules.coverPolicy?"required"===c.promptRules.tocPolicy?d:ae(d):"required"===c.promptRules.tocPolicy?ad(d):ad(ae(d)):d)))),g=function(a,b){let c=ag(af(ae(a)),b),d=[...c.matchAll(/^##\s+(.+)$/gmu)];return b.map((a,e)=>{let g=(0,f.tb)(e,a.title),h=d.find(b=>U(b[1]||"",a.title)||U(b[1]||"",g));if(!h||void 0===h.index)return a.sections||[];let i=d.find(a=>(a.index||0)>(h.index||0)&&b.some(b=>U(a[1]||"",b.title))),j=Z(c.slice(h.index,i?.index??c.length));return j.length>0?j:a.sections||[]})}(e,b),h=b.map((a,b)=>({...a,sections:(a.sections||[]).filter(Boolean).length>0?a.sections:g[b]?.length?g[b]:[]}));return{markdown:ai(ap($(M(c.promptRules?.tocPolicy!=="forbidden"?function(a,b){let c=ag(a,b),d=ae(c),e=[...d.matchAll(/^##\s+(.+)$/gmu)],f=ac(b.map(a=>{let c=e.find(b=>U(b[1]||"",a.title));if(!c||void 0===c.index)return a;let f=e.find(a=>(a.index||0)>(c.index||0)&&b.some(b=>U(a[1]||"",b.title))),g=d.slice(c.index,f?.index??d.length),h=a.sections?.length?void 0:Z(g);return h?.length?{...a,sections:h,content:g}:{...a,content:g}})),g=/^##\s+目录\s*$/mu.exec(c);if(g?.index!==void 0){let a=g.index+g[0].length,b=c.slice(a).search(/\n##\s+第[一二三四五六七八九十百千万\d]+章/u),d=[...c.slice(a).matchAll(/\n<div class="page-break"><\/div>/gu)],e=d[0]?.index??(b>=0?b:c.length-a),h=a+e;return`${c.slice(0,g.index)}${f.trim()}${c.slice(h)}`.replace(/\n{3,}/gu,"\n\n")}let h='<div class="page-break"></div>',i=c.indexOf(h);if(i>=0){let a=i+h.length;return`${c.slice(0,a)}
70
+ `}return c.replace(/\n{3,}/gu,"\n\n").trim()}($(M(c.promptRules?"required"===c.promptRules.coverPolicy?"required"===c.promptRules.tocPolicy?d:ae(d):"required"===c.promptRules.tocPolicy?ad(d):ad(ae(d)):d)))),g=function(a,b){let c=ag(af(ae(a)),b),d=[...c.matchAll(/^##\s+(.+)$/gmu)];return b.map((a,e)=>{let g=(0,f.tb)(e,a.title),h=d.find(b=>U(b[1]||"",a.title)||U(b[1]||"",g));if(!h||void 0===h.index)return a.sections||[];let i=d.find(a=>(a.index||0)>(h.index||0)&&b.some(b=>U(a[1]||"",b.title))),j=Z(c.slice(h.index,i?.index??c.length));return j.length>0?j:a.sections||[]})}(e,b),h=b.map((a,b)=>({...a,sections:(a.sections||[]).filter(Boolean).length>0?a.sections:g[b]?.length?g[b]:[]}));return{markdown:ai(ap($(M(c.promptRules?.tocPolicy!=="forbidden"?function(a,b){let c=ag(a,b),d=ae(c),e=[...d.matchAll(/^##\s+(.+)$/gmu)],f=ac(b.map(a=>{let c=e.find(b=>U(b[1]||"",a.title));if(!c||void 0===c.index)return a;let f=e.find(a=>(a.index||0)>(c.index||0)&&b.some(b=>U(a[1]||"",b.title))),g=d.slice(c.index,f?.index??d.length),h=Z(g),i=h.length>0?h:a.sections?.length?a.sections:[];return{...a,sections:i,content:g}})),g=/^##\s+目录\s*$/mu.exec(c);if(g?.index!==void 0){let a=g.index+g[0].length,b=c.slice(a).search(/\n##\s+第[一二三四五六七八九十百千万\d]+章/u),d=[...c.slice(a).matchAll(/\n<div class="page-break"><\/div>/gu)],e=d[0]?.index??(b>=0?b:c.length-a),h=a+e;return`${c.slice(0,g.index)}${f.trim()}${c.slice(h)}`.replace(/\n{3,}/gu,"\n\n")}let h='<div class="page-break"></div>',i=c.indexOf(h);if(i>=0){let a=i+h.length;return`${c.slice(0,a)}
71
71
 
72
72
  ${f}
73
73
 
@@ -79,7 +79,7 @@ ${c.slice(a).trimStart()}`}return`${f}
79
79
 
80
80
  ${c}`}(e,h):ag(e,h)))),c.promptRules),chapters:h}}function ar(a,b={}){let c=a.chapters.map(a=>({...a,sections:ab(a.sections||[])})),d=c.map((a,b)=>(function(a,b){let c=`## ${(0,f.tb)(b,a.title)}`,d=M(a.content);var e=/^##\s+.+$/mu.test(d)?d.replace(/^##\s+.+$/mu,c):`${c}
81
81
 
82
- ${d}`,g=a.title;let h=e.split(/\r?\n/u),i=!1;return h.filter((a,b)=>{let d=a.trim(),e=/^##\s+(.+)$/u.exec(a.trim())?.[1]||"";if(e){if(U(e,c))return!i&&(i=!0,!0);if(b>0&&U(e,g))return!1}return!(d&&!/^#{1,6}\s+/u.test(d)&&U(d,g))}).join("\n").replace(/\n{3,}/gu,"\n\n").trim()})(a,b)),e=d.filter(Boolean).join("\n\n"),g=c.map((a,b)=>{if(a.sections?.length)return a;let c=ag(d[b]||"",[a]),e=Z(c);return e.length?{...a,sections:ab(e),content:c}:{...a,content:c}});return aq([function(a,b){let c=b||{},d=(...a)=>{let b=a.find(a=>!!c[a]);return b?String(c[b]).split("(来源")[0].trim():""},e=d("工程名称","项目名称","工程名"),f=d("建设单位","建设单位名称","发包人"),g=d("施工单位","承包单位","承包人"),h=d("建设地点","工程地点","项目地址"),i=d("建设规模","建筑面积","工程规模"),j=[["工程名称",e||a],["建设单位",f],["编制单位",g||f],["建设地点",h],["建设规模",i],["计划工期",d("计划工期","工期","总工期")],["质量标准",d("质量标准","质量目标","质量等级")]].filter(a=>!!a[1]);return['<div class="document-cover">',`# ${a}`,j.length>0?["","| 项目 | 内容 |","| --- | --- |",...j.map(a=>`| ${a[0]} | ${a[1].replace(/\|/gu,"/")} |`)].join("\n"):"","</div>"].filter(Boolean).join("\n")}(a.title,a.facts),'\n<div class="page-break"></div>\n',ac(g),'\n<div class="page-break"></div>\n',e].join("\n"),c,b).markdown}[P,"你是施工组织设计文档写作专家。",N,O].join("\n\n")},70208:(a,b,c)=>{c.d(b,{GQ:()=>o,Ui:()=>m,YZ:()=>p,bl:()=>l,cs:()=>n,effectiveTemplateChapters:()=>s,mq:()=>g,ob:()=>h,tb:()=>q});var d=c(58965),e=c(23500);function f(a){let b=a.trim(),c="";for(;b!==c;)c=b,b=b.replace(RegExp(`^\\s*第(?:\\d{1,3}|${d.$m})[章节]\\s*`,"u"),"").replace(RegExp(`^\\s*[((]?(?:\\d{1,3}|${d.$m})[))、..]\\s*`,"u"),"").replace(RegExp("^\\s*[-*+]\\s+","u"),"").trim();return b.replace(/\s+/gu," ")}function g(a){let b=f(a).replace(/\s+/gu,"");if(!b||/^(?:如|若|如果|倘若|假如|当)[^,,。;]{0,24}[,,]/u.test(b)||/^(?:我(?:方|公司)|本(?:单位|公司|工程|项目)|投标人|承包人|中标人|发包人|供应商)[^,,。;]{0,14}(?:承诺|保证|响应|满足|确保|应|须|将|会)/u.test(b)||/(?:评标)?委员会[^,,。;]{0,10}(?:确定|认定|评审|判断|推荐)/u.test(b)||/^(?:不(?:得|应|宜|少于|超过|大于|小于|低于|高于)|超过|低于|高于|达到|不少于|不大于|不超过|偏差率|误差)\s*\d/u.test(b)||/^[^,,。;]{0,10}\d+(?:%|%)/u.test(b)||/^\d+\s*项/u.test(b)||/^\d+(?:[((]\d+[))])?\s*目/u.test(b)||/^\d+\s*对(?:与|于)/u.test(b)||/^\d{1,4}[a-zA-Z]{0,3}\d{0,4}\s*[::]/u.test(b)||/^\d{1,4}\s*(?:个)?(?:日历天|天|日|月|年)[,,、]/u.test(b)||/^\d{1,4}[^,,。;\s]{1,6}[,,]/u.test(b)||/^\d{1,2}[一-龥]{2,10}$/u.test(b)&&!/^\d{1,2}(?:个|名|台|套|辆|份|种|类|层|栋|座|米|吨|年|月|天|日|周|次|项)/u.test(b)||/[((【[《]$/u.test(b)||/[((【[《][^))】]》]*$/u.test(b)||/以下简/u.test(b)||/^\d{1,4}\s*[a-zA-Z]/u.test(b)||/^(?:确定|计算|比较|推荐|审查|否决)(?:有效)?评标(?:基准)?价/u.test(b)||/^(?:其他要求|需要补充的其他内容|相当于或不低于|补充条款|建议编制要求|投标须知|评标办法)/u.test(b))return!0;let c=b.replace(/^\d{1,3}(?:[..]\d{1,3})*\s*/u,"");return!!(/^具备(?:有效|相应|满足)/u.test(c)||/^(?:须|应|需|得)?提供[^,,。;]{0,12}(?:证明|材料|文件|证件|证书|报告)/u.test(c)||/^\d{1,3}\s*款/u.test(b)||/第\d+(?:\.\d+)?款[^,,。;]{0,20}(?:向(?:招标人|发包人|监理人?|承包人)|提出|告知|通知|送达|发出)/u.test(b))||function(a){let b=a.replace(/\s+/gu,"");if(!b)return!1;if((b.match(/[爀椀猟礀氀漀挀渀捁扄潓瑲湥獴慔汢]/gu)||[]).length>=2||/[\u2046-\u205F\u2070-\u209F\u2100-\u2102\u2104-\u214F\u21B0-\u21FF\u2270-\u22FF\u2400-\u243F\u249C-\u24FF\u2640-\u26FF\u27C0-\u27EF\u2900-\u297F\u2A00-\u2AFF\u2B00-\u2BFF\u2E00-\u2FFF\u3200-\u33FF]/u.test(b)||/[\u00A0-\u00AF\u00B4\u00B6\u00B8\u00BA-\u00FF]/u.test(b)||/[\u4e00-\u9fa5][A-Za-z][\u4e00-\u9fa5]/u.test(b)&&!/[\u4e00-\u9fa5][A-Za-z](?:值|级|类|区|型|构|段|座|轴|向|楼|层|栋|点|位)/u.test(b))return!0;let c=[...b];return c.filter(a=>/[\u4e00-\u9fa5A-Za-z0-9()()【】《》、,。;;::,.\-/㎡%°·±×÷≤≥—–]/u.test(a)).length/c.length<.6}(b)}function h(a){let b=f(a).replace(/\s+/gu,"");return!!(!b||/^(?:目录|章节|大纲|要求|说明|注意|输出|格式|示例|例如|写法|占位|提示)$/u.test(b)||/^(?:判断|判定|识别|确认)?是否(?:涉及|涉|需要|适用)|^(?:如|若|如果)(?:涉及|不涉及|适用|不适用)|(?:根据|结合).{0,12}(?:实际情况|项目情况|资料情况).{0,8}(?:判断|确定|编写|生成)|按需(?:生成|编写)|视情况|判断后|生成要求|编写要求|说明要求|注意事项/u.test(b)||/[::]$|[,、;。]$/u.test(b))||g(b)}function i(a){return 0===a.trim().length||h(a)}let j="(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)",k=RegExp(`<\\s*${j}(?:\\s[^>]*)?>([\\s\\S]*?)<\\/\\s*${j}\\s*>`,"giu");function l(a){return RegExp(`^\\s*<\\s*${j}(?:\\s[^>]*)?>`,"iu").test(a)}function m(a){return RegExp(`^\\s*<\\/\\s*${j}\\s*>`,"iu").test(a)}function n(a){for(let b of a){let a=function(a,b,c){let e=[];for(let g of function(a,b){k.lastIndex=0;let c=[...a.matchAll(k)].map(a=>a[1]||"");if(c.length>0||b?.strict)return c;let d=/(?:<\s*)?(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)\s*>?\s*[::]?\s*([\s\S]*?)(?:<\/\s*(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)\s*>|END\s+(?:OUTLINE|CHAPTERS?)|$)/iu.exec(a);return d?.[1]?[d[1]]:[]}(a,c))for(let a of function(a){let b=`${d.$m}`,c=[`第(?:\\d{1,3}|${b})[章节]\\s*`,`(?:\\d{1,3})[、))]\\s*`,`(?:\\d{1,3})[..]\\s+(?!\\d)`,`(?:${b})[、..))]\\s*`,`[((](?:\\d{1,3}|${b})[))]\\s*`,"[-*+]\\s+"],e=a.replace(/\r?\n/gu,"\n");for(let a of c)e=(e=(e=e.replace(RegExp(`([;;。!?!?])\\s*(?=${a})`,"gu"),"$1\n")).replace(RegExp(`(?<=\\n)\\s+(?=${a})`,"gu"),"")).replace(RegExp(`(?<![\\d..])\\s+(?=${a})`,"gu"),"\n");return e.split(/\n|;|;/u).map(a=>f(a)).filter(a=>!i(a))}(g))e.push({id:`explicit-${b}-${e.length+1}`,title:a,purpose:`根据显式大纲章节生成正式正文:${a}`,requiredFacts:[],sections:[],queries:[a]});return e.filter(a=>!i(a.title))}(b.text||"",b.source,{strict:b.strict});if(a.length>=2)return a}return[]}function o(a){let b=a.replace(/^#+\s*/u,"").trim(),c="";for(;b&&b!==c;)c=b,b=b.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").trim();return b}function p(a){return o(a.replace(/\s+/gu," ").trim()).replace(/^[,,、;;::。.!!??\-—\s]+/u,"").trim()}function q(a,b){let c=o(b);return`第${function(a){let b=["零","一","二","三","四","五","六","七","八","九"];if(a<=10)return 10===a?"十":b[a];if(a<20)return`十${b[a%10]}`;if(a<100){let c=Math.floor(a/10),d=a%10;return`${b[c]}十${d?b[d]:""}`}return String(a)}(a+1)}章 ${c}`}function r(a,b){let c=new Set;return a.filter(a=>{let d=p(a.title);if(!d)return!1;if(!b?.preserveExplicitOutline&&(c.has(d)||/见(?:公告|文件|资料|附件)|按(?:资料|文件|相关要求)|质量标准[::]|范围[::].*依据/u.test(d)||b?.template&&(0,e.C1)(d,b.template)))return!1;return c.add(d),a.title=d,!0})}function s(a,b,c){return!b||c?.preserveExplicitOutline?r([...a.chapters],{...c,template:a}):r([...a.chapters].map(a=>{let c=o(a.title),d=b.chapterRules.find(b=>b.id===a.id||o(b.title)===c);return{...a,title:c,purpose:a.purpose,requiredFacts:a.requiredFacts||[],queries:[...new Set([...a.queries||[],c,d?.generationHint||"",...a.sections||[]].filter(Boolean))]}}),{...c,template:a})}},70933:(a,b,c)=>{c.d(b,{A1:()=>x,OF:()=>s,Pc:()=>v,QO:()=>u,QR:()=>r,R7:()=>C,T3:()=>q,eE:()=>k,ks:()=>B});var d=c(76760),e=c(77598),f=c(58965),g=c(18274),h=c(91977),i=c(51144);function j(a,b=0){let c="drawing"===a.processingType||a.roleId?.includes("drawing")?"视觉资料":"table"===a.processingType||a.roleId?.includes("bill")?"表格资料":"rule"===a.processingType||a.roleId?.includes("tender")?"规则资料":"文本资料";return`${c}片段${b+1}${a.sectionTitle?`(${a.sectionTitle.replace(f.tK,"")})`:""}`}function k(a){return[...a].filter(a=>{let b=a.charCodeAt(0);return 9===b||10===b||13===b||b>=32}).join("").replace(f.VX,"").replace(f.tK,"").replace(/\b(?:Model|Layout\d*|Entity|Handle|ObjectId|ByLayer|Continuous)\b/giu,"").replace(/[\t ]{2,}/gu," ").replace(/\n{3,}/gu,"\n\n").trim()}function l(a){let b=k(a),c=Math.max(1,b.length),d=(b.match(/[\u4e00-\u9fa5]/gu)||[]).length,e=(b.match(/\d/gu)||[]).length,f=(b.match(/项目|任务|质量|安全|周期|验收|材料|设备|表格|数据|参数|规范|标准|流程|资源|风险/gu)||[]).length,g=(b.match(/CAD|AcDb|Polyline|ByLayer|ObjectId|Handle|Model|Layout|图层|页码|第\s*\d+\s*页|打印|版权所有|^[\s\W\d_]+$/gimu)||[]).length,h=(b.match(/(?:序号|项目名称|事项|单位|数量|单价|金额|备注)/gu)||[]).length,i=Math.min(1,d/c*.7+Math.min(.3,(e+3*f)/120)),j=Math.min(1,.18*g+.04*Math.max(0,h-8)+.35*(d/c<.25));return{noiseScore:j,factDensity:i,shouldUse:b.length>=30&&j<.72&&i>.08}}function m(a){let b=[...new Set(k(a).split("\n").map(a=>a.trim()).filter(Boolean).filter(a=>{let b=/计划工期|合同工期|工期|合同估算价|合同估算价格|投资估算|估算价格|工程估算价|最高投标限价|招标控制价|建设地点|建设规模|质量标准/u.test(a);if(!b&&/综合单价|合价|报价明细|投标报价|税率|增值税|利润|预留金|暂列金额|结算/u.test(a))return!1;let c=g.yw.test(a),d=/(?:GB\s*\/?\s*T?|JGJ|CJJ|DB\s*\/?\s*T?|CECS|ISO|IEC)\s*[\w./-]*\d/u.test(a),e=/项目|工程|工期|合同|估算|价格|地点|规模|清单|图纸|设计|规格|型号|数量|单位|材料|设备|管|线|电缆|混凝土|钢筋|砌体|门窗|防水|标准|规范|验收|做法|参数|尺寸|标高|厚度|强度|等级|系统|安装/u.test(a);return b||c||d||e&&/\d/u.test(a)&&a.length<=260}))].map(a=>(function(a){if(a.length<=160)return a;let b=a.match(/\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|m³|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|份|人|小时|分钟|日历天|天|周|月|年)|DN\s*\d+|Φ\s*\d+|φ\s*\d+|C\d{2,}|HRB\d+|(?:计划工期|合同工期|合同估算价|投资估算|最高投标限价|招标控制价|建设地点|建设规模|质量标准)[^。;;,,]{0,40}|(?:GB|JGJ|CJJ|DB|CECS|ISO|IEC)\s*\/?\s*T?\s*[\w./-]*\d/gu);return b&&b.length>0?[...new Set(b)].join(";"):a.slice(0,160)})(a)).filter(Boolean);return(0,i.Cr)([...new Set(b)],a=>(0,i.Ox)(a),{},"key-fact-lines").selected.join("\n")}let n=/项目名称|工程名称|项目编号|招标项目编号|标段编号|招标人|建设单位|发包人|建设地点|工程地点|建设规模|建筑面积|招标范围|计划工期|合同工期|总工期|周期要求|质量标准|质量目标|安全目标|安全生产|合同估算价|合同估算价格|投资估算|最高投标限价|招标控制价|工程估算价|结构形式|层数|建筑高度|基础形式|抗震设防|绿色建筑等级|装配率|支护形式|质保期|质量保修|投标有效期/u;function o(){return"0"!==process.env.DOCUMENT_T0_WHITELIST}function p(a){return a.length>200?`${a.slice(0,200)}…`:a}function q(a,b){let c=Math.max(400,Math.floor(b)),d=k(a);if(d.length<=c)return d;let e=d.split("\n"),f=[{re:/基坑底标高|换填底标高|整平标高|开挖深度|放坡系数|支护形式|坡率/u,value:20},{re:/标高/u,value:10},{re:/[±+]\s*0[.,]0{2,}/u,value:8},{re:/[±+-]\s*\d+\.\d{2,}/u,value:3}],g=e.map((a,b)=>{let c=0;for(let{re:b,value:d}of f)if(b.test(a)){c=d;break}return{line:a,index:b,value:c}}).filter(a=>a.value>0);if(!g.length)return d.slice(0,c);g.sort((a,b)=>b.value-a.value||a.index-b.index);let h=d.slice(0,Math.min(300,Math.max(80,Math.floor(.22*c)))).trimEnd(),i=`(超长证据参数窗口提取:${g.length} 行参数命中,尾部关键参数已前置展示)`,j=c-h.length-i.length-4,l=[],m=new Set,n=Math.max(50,Math.floor(.15*c));for(let{line:a,index:b}of g){if(j<=30)break;if(m.has(b))continue;let c=b>0&&/图纸节点:/u.test(e[b-1])?e[b-1].slice(0,n):"",d=[c,a].filter(Boolean).join("\n"),f=d.length>j?d.slice(0,j):d;l.push(f),j-=f.length+1,m.add(b),c&&m.add(b-1)}let o=l.length?l.join("\n"):d.slice(0,j+h.length),p=`${h}
82
+ ${d}`,g=a.title;let h=e.split(/\r?\n/u),i=!1;return h.filter((a,b)=>{let d=a.trim(),e=/^##\s+(.+)$/u.exec(a.trim())?.[1]||"";if(e){if(U(e,c))return!i&&(i=!0,!0);if(b>0&&U(e,g))return!1}return!(d&&!/^#{1,6}\s+/u.test(d)&&U(d,g))}).join("\n").replace(/\n{3,}/gu,"\n\n").trim()})(a,b)),e=d.filter(Boolean).join("\n\n"),g=c.map((a,b)=>{if(a.sections?.length)return a;let c=ag(d[b]||"",[a]),e=Z(c);return e.length?{...a,sections:ab(e),content:c}:{...a,content:c}});return aq([function(a,b){let c=b||{},d=(...a)=>{let b=a.find(a=>!!c[a]);return b?String(c[b]).split("(来源")[0].trim():""},e=d("工程名称","项目名称","工程名"),f=d("建设单位","建设单位名称","发包人"),g=d("施工单位","承包单位","承包人"),h=d("建设地点","工程地点","项目地址"),i=d("建设规模","建筑面积","工程规模"),j=[["工程名称",e||a],["建设单位",f],["编制单位",g||f],["建设地点",h],["建设规模",i],["计划工期",d("计划工期","工期","总工期")],["质量标准",d("质量标准","质量目标","质量等级")]].filter(a=>!!a[1]);return['<div class="document-cover">',`# ${a}`,j.length>0?["","| 项目 | 内容 |","| --- | --- |",...j.map(a=>`| ${a[0]} | ${a[1].replace(/\|/gu,"/")} |`)].join("\n"):"","</div>"].filter(Boolean).join("\n")}(a.title,a.facts),'\n<div class="page-break"></div>\n',ac(g),'\n<div class="page-break"></div>\n',e].join("\n"),c,b).markdown}[P,"你是施工组织设计文档写作专家。",N,O].join("\n\n")},70208:(a,b,c)=>{c.d(b,{GQ:()=>o,Ui:()=>m,YZ:()=>p,bl:()=>l,cs:()=>n,effectiveTemplateChapters:()=>s,mq:()=>g,ob:()=>h,tb:()=>q});var d=c(58965),e=c(23500);function f(a){let b=a.trim(),c="";for(;b!==c;)c=b,b=b.replace(RegExp(`^\\s*第(?:\\d{1,3}|${d.$m})[章节]\\s*`,"u"),"").replace(RegExp(`^\\s*[((]?(?:\\d{1,3}|${d.$m})(?:[..]\\d{1,3})+(?:[..、))]\\s*|\\s+)`,"u"),"").replace(RegExp(`^\\s*[((]?(?:\\d{1,3}|${d.$m})[))、..]\\s*`,"u"),"").replace(RegExp("^\\s*[-*+]\\s+","u"),"").trim();return b.replace(/\s+/gu," ")}function g(a){let b=f(a).replace(/\s+/gu,"");if(!b||/^(?:如|若|如果|倘若|假如|当)[^,,。;]{0,24}[,,]/u.test(b)||/^(?:我(?:方|公司)|本(?:单位|公司|工程|项目)|投标人|承包人|中标人|发包人|供应商)[^,,。;]{0,14}(?:承诺|保证|响应|满足|确保|应|须|将|会)/u.test(b)||/(?:评标)?委员会[^,,。;]{0,10}(?:确定|认定|评审|判断|推荐)/u.test(b)||/^(?:不(?:得|应|宜|少于|超过|大于|小于|低于|高于)|超过|低于|高于|达到|不少于|不大于|不超过|偏差率|误差)\s*\d/u.test(b)||/^[^,,。;]{0,10}\d+(?:%|%)/u.test(b)||/^\d+\s*项/u.test(b)||/^\d+(?:[((]\d+[))])?\s*目/u.test(b)||/^\d+\s*对(?:与|于)/u.test(b)||/^\d{1,4}[a-zA-Z]{0,3}\d{0,4}\s*[::]/u.test(b)||/^\d{1,4}\s*(?:个)?(?:日历天|天|日|月|年)[,,、]/u.test(b)||/^\d{1,4}[^,,。;\s]{1,6}[,,、]/u.test(b)||/^\d{1,2}[一-龥]{2,10}$/u.test(b)&&!/^\d{1,2}(?:个|名|台|套|辆|份|种|类|层|栋|座|米|吨|年|月|天|日|周|次|项)/u.test(b)||/[((【[《]$/u.test(b)||/[((【[《][^))】]》]*$/u.test(b)||/以下简/u.test(b)||/^\d{1,4}\s*[a-zA-Z]/u.test(b)||/^(?:确定|计算|比较|推荐|审查|否决)(?:有效)?评标(?:基准)?价/u.test(b)||/^(?:其他要求|需要补充的其他内容|相当于或不低于|补充条款|建议编制要求|投标须知|评标办法)/u.test(b))return!0;let c=b.replace(/^\d{1,3}(?:[..]\d{1,3})*\s*/u,"");return!!(/^具备(?:有效|相应|满足)/u.test(c)||/^(?:须|应|需|得)?提供[^,,。;]{0,12}(?:证明|材料|文件|证件|证书|报告)/u.test(c)||/^(?:本(?:招标)?(?:项目|工程)|投标人|承包人|中标人|发包人|供应商|项目经理|技术负责人|施工单位)[^,,。;]{0,24}(?:不得|禁止|严禁|必须|应当)/u.test(c)||/(?:见|详见|参见|详见第)[^,,。;]{0,12}(?:招标公告|招标文件|投标人须知|补疑|澄清|工程量清单|图纸|合同条款|前附表)/u.test(c)||/^\d{1,3}\s*款/u.test(b)||/第\d+(?:\.\d+)?款[^,,。;]{0,20}(?:向(?:招标人|发包人|监理人?|承包人)|提出|告知|通知|送达|发出)/u.test(b))||function(a){let b=a.replace(/\s+/gu,"");if(!b)return!1;if((b.match(/[爀椀猟礀氀漀挀渀捁扄潓瑲湥獴慔汢]/gu)||[]).length>=2||/[\u2046-\u205F\u2070-\u209F\u2100-\u2102\u2104-\u214F\u21B0-\u21FF\u2270-\u22FF\u2400-\u243F\u249C-\u24FF\u2640-\u26FF\u27C0-\u27EF\u2900-\u297F\u2A00-\u2AFF\u2B00-\u2BFF\u2E00-\u2FFF\u3200-\u33FF]/u.test(b)||/[\u00A0-\u00AF\u00B4\u00B6\u00B8\u00BA-\u00FF]/u.test(b)||/[\u4e00-\u9fa5][A-Za-z][\u4e00-\u9fa5]/u.test(b)&&!/[\u4e00-\u9fa5][A-Za-z](?:值|级|类|区|型|构|段|座|轴|向|楼|层|栋|点|位)/u.test(b))return!0;let c=[...b];return c.filter(a=>/[\u4e00-\u9fa5A-Za-z0-9()()【】《》、,。;;::,.\-/㎡%°·±×÷≤≥—–]/u.test(a)).length/c.length<.6}(b)}function h(a){let b=f(a).replace(/\s+/gu,"");return!!(!b||/^(?:目录|章节|大纲|要求|说明|注意|输出|格式|示例|例如|写法|占位|提示)$/u.test(b)||/^(?:判断|判定|识别|确认)?是否(?:涉及|涉|需要|适用)|^(?:如|若|如果)(?:涉及|不涉及|适用|不适用)|(?:根据|结合).{0,12}(?:实际情况|项目情况|资料情况).{0,8}(?:判断|确定|编写|生成)|按需(?:生成|编写)|视情况|判断后|生成要求|编写要求|说明要求|注意事项/u.test(b)||/[::]$|[,、;。]$/u.test(b))||g(b)}function i(a){return 0===a.trim().length||h(a)}let j="(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)",k=RegExp(`<\\s*${j}(?:\\s[^>]*)?>([\\s\\S]*?)<\\/\\s*${j}\\s*>`,"giu");function l(a){return RegExp(`^\\s*<\\s*${j}(?:\\s[^>]*)?>`,"iu").test(a)}function m(a){return RegExp(`^\\s*<\\/\\s*${j}\\s*>`,"iu").test(a)}function n(a){for(let b of a){let a=function(a,b,c){let e=[];for(let g of function(a,b){k.lastIndex=0;let c=[...a.matchAll(k)].map(a=>a[1]||"");if(c.length>0||b?.strict)return c;let d=/(?:<\s*)?(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)\s*>?\s*[::]?\s*([\s\S]*?)(?:<\/\s*(?:OUTLINE|CHAPTERS?|章节(?:大纲)?|大纲|目录)\s*>|END\s+(?:OUTLINE|CHAPTERS?)|$)/iu.exec(a);return d?.[1]?[d[1]]:[]}(a,c))for(let a of function(a){let b=`${d.$m}`,c=[`第(?:\\d{1,3}|${b})[章节]\\s*`,`(?:\\d{1,3})[、))]\\s*`,`(?:\\d{1,3})[..]\\s+(?!\\d)`,`(?:${b})[、..))]\\s*`,`[((](?:\\d{1,3}|${b})[))]\\s*`,"[-*+]\\s+"],e=a.replace(/\r?\n/gu,"\n");for(let a of c)e=(e=(e=e.replace(RegExp(`([;;。!?!?])\\s*(?=${a})`,"gu"),"$1\n")).replace(RegExp(`(?<=\\n)\\s+(?=${a})`,"gu"),"")).replace(RegExp(`(?<![\\d..])\\s+(?=${a})`,"gu"),"\n");return e.split(/\n|;|;/u).map(a=>f(a)).filter(a=>!i(a))}(g))e.push({id:`explicit-${b}-${e.length+1}`,title:a,purpose:`根据显式大纲章节生成正式正文:${a}`,requiredFacts:[],sections:[],queries:[a]});return e.filter(a=>!i(a.title))}(b.text||"",b.source,{strict:b.strict});if(a.length>=2)return a}return[]}function o(a){let b=a.replace(/^#+\s*/u,"").trim(),c="";for(;b&&b!==c;)c=b,b=b.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").trim();return b}function p(a){return o(a.replace(/\s+/gu," ").trim()).replace(/^[,,、;;::。.!!??\-—\s]+/u,"").trim()}function q(a,b){let c=o(b);return`第${function(a){let b=["零","一","二","三","四","五","六","七","八","九"];if(a<=10)return 10===a?"十":b[a];if(a<20)return`十${b[a%10]}`;if(a<100){let c=Math.floor(a/10),d=a%10;return`${b[c]}十${d?b[d]:""}`}return String(a)}(a+1)}章 ${c}`}function r(a,b){let c=new Set;return a.filter(a=>{let d=p(a.title);if(!d)return!1;if(!b?.preserveExplicitOutline&&(c.has(d)||/见(?:公告|文件|资料|附件)|按(?:资料|文件|相关要求)|质量标准[::]|范围[::].*依据/u.test(d)||b?.template&&(0,e.C1)(d,b.template)))return!1;return c.add(d),a.title=d,!0})}function s(a,b,c){return!b||c?.preserveExplicitOutline?r([...a.chapters],{...c,template:a}):r([...a.chapters].map(a=>{let c=o(a.title),d=b.chapterRules.find(b=>b.id===a.id||o(b.title)===c);return{...a,title:c,purpose:a.purpose,requiredFacts:a.requiredFacts||[],queries:[...new Set([...a.queries||[],c,d?.generationHint||"",...a.sections||[]].filter(Boolean))]}}),{...c,template:a})}},70933:(a,b,c)=>{c.d(b,{A1:()=>x,OF:()=>s,Pc:()=>v,QO:()=>u,QR:()=>r,R7:()=>C,T3:()=>q,eE:()=>k,ks:()=>B});var d=c(76760),e=c(77598),f=c(58965),g=c(18274),h=c(91977),i=c(51144);function j(a,b=0){let c="drawing"===a.processingType||a.roleId?.includes("drawing")?"视觉资料":"table"===a.processingType||a.roleId?.includes("bill")?"表格资料":"rule"===a.processingType||a.roleId?.includes("tender")?"规则资料":"文本资料";return`${c}片段${b+1}${a.sectionTitle?`(${a.sectionTitle.replace(f.tK,"")})`:""}`}function k(a){return[...a].filter(a=>{let b=a.charCodeAt(0);return 9===b||10===b||13===b||b>=32}).join("").replace(f.VX,"").replace(f.tK,"").replace(/\b(?:Model|Layout\d*|Entity|Handle|ObjectId|ByLayer|Continuous)\b/giu,"").replace(/[\t ]{2,}/gu," ").replace(/\n{3,}/gu,"\n\n").trim()}function l(a){let b=k(a),c=Math.max(1,b.length),d=(b.match(/[\u4e00-\u9fa5]/gu)||[]).length,e=(b.match(/\d/gu)||[]).length,f=(b.match(/项目|任务|质量|安全|周期|验收|材料|设备|表格|数据|参数|规范|标准|流程|资源|风险/gu)||[]).length,g=(b.match(/CAD|AcDb|Polyline|ByLayer|ObjectId|Handle|Model|Layout|图层|页码|第\s*\d+\s*页|打印|版权所有|^[\s\W\d_]+$/gimu)||[]).length,h=(b.match(/(?:序号|项目名称|事项|单位|数量|单价|金额|备注)/gu)||[]).length,i=Math.min(1,d/c*.7+Math.min(.3,(e+3*f)/120)),j=Math.min(1,.18*g+.04*Math.max(0,h-8)+.35*(d/c<.25));return{noiseScore:j,factDensity:i,shouldUse:b.length>=30&&j<.72&&i>.08}}function m(a){let b=[...new Set(k(a).split("\n").map(a=>a.trim()).filter(Boolean).filter(a=>{let b=/计划工期|合同工期|工期|合同估算价|合同估算价格|投资估算|估算价格|工程估算价|最高投标限价|招标控制价|建设地点|建设规模|质量标准/u.test(a);if(!b&&/综合单价|合价|报价明细|投标报价|税率|增值税|利润|预留金|暂列金额|结算/u.test(a))return!1;let c=g.yw.test(a),d=/(?:GB\s*\/?\s*T?|JGJ|CJJ|DB\s*\/?\s*T?|CECS|ISO|IEC)\s*[\w./-]*\d/u.test(a),e=/项目|工程|工期|合同|估算|价格|地点|规模|清单|图纸|设计|规格|型号|数量|单位|材料|设备|管|线|电缆|混凝土|钢筋|砌体|门窗|防水|标准|规范|验收|做法|参数|尺寸|标高|厚度|强度|等级|系统|安装/u.test(a);return b||c||d||e&&/\d/u.test(a)&&a.length<=260}))].map(a=>(function(a){if(a.length<=160)return a;let b=a.match(/\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|m³|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|份|人|小时|分钟|日历天|天|周|月|年)|DN\s*\d+|Φ\s*\d+|φ\s*\d+|C\d{2,}|HRB\d+|(?:计划工期|合同工期|合同估算价|投资估算|最高投标限价|招标控制价|建设地点|建设规模|质量标准)[^。;;,,]{0,40}|(?:GB|JGJ|CJJ|DB|CECS|ISO|IEC)\s*\/?\s*T?\s*[\w./-]*\d/gu);return b&&b.length>0?[...new Set(b)].join(";"):a.slice(0,160)})(a)).filter(Boolean);return(0,i.Cr)([...new Set(b)],a=>(0,i.Ox)(a),{},"key-fact-lines").selected.join("\n")}let n=/项目名称|工程名称|项目编号|招标项目编号|标段编号|招标人|建设单位|发包人|建设地点|工程地点|建设规模|建筑面积|招标范围|计划工期|合同工期|总工期|周期要求|质量标准|质量目标|安全目标|安全生产|合同估算价|合同估算价格|投资估算|最高投标限价|招标控制价|工程估算价|结构形式|层数|建筑高度|基础形式|抗震设防|绿色建筑等级|装配率|支护形式|质保期|质量保修|投标有效期/u;function o(){return"0"!==process.env.DOCUMENT_T0_WHITELIST}function p(a){return a.length>200?`${a.slice(0,200)}…`:a}function q(a,b){let c=Math.max(400,Math.floor(b)),d=k(a);if(d.length<=c)return d;let e=d.split("\n"),f=[{re:/基坑底标高|换填底标高|整平标高|开挖深度|放坡系数|支护形式|坡率/u,value:20},{re:/标高/u,value:10},{re:/[±+]\s*0[.,]0{2,}/u,value:8},{re:/[±+-]\s*\d+\.\d{2,}/u,value:3}],g=e.map((a,b)=>{let c=0;for(let{re:b,value:d}of f)if(b.test(a)){c=d;break}return{line:a,index:b,value:c}}).filter(a=>a.value>0);if(!g.length)return d.slice(0,c);g.sort((a,b)=>b.value-a.value||a.index-b.index);let h=d.slice(0,Math.min(300,Math.max(80,Math.floor(.22*c)))).trimEnd(),i=`(超长证据参数窗口提取:${g.length} 行参数命中,尾部关键参数已前置展示)`,j=c-h.length-i.length-4,l=[],m=new Set,n=Math.max(50,Math.floor(.15*c));for(let{line:a,index:b}of g){if(j<=30)break;if(m.has(b))continue;let c=b>0&&/图纸节点:/u.test(e[b-1])?e[b-1].slice(0,n):"",d=[c,a].filter(Boolean).join("\n"),f=d.length>j?d.slice(0,j):d;l.push(f),j-=f.length+1,m.add(b),c&&m.add(b-1)}let o=l.length?l.join("\n"):d.slice(0,j+h.length),p=`${h}
83
83
  ${i}
84
84
  ${o}`;return p.length>c?p.slice(0,c):p}function r(a,b={},c){let f=Number.isFinite(b.maxItems)&&b.maxItems>0?Math.floor(b.maxItems):void 0,g=Number.isFinite(b.maxChars)&&b.maxChars>0?Math.floor(b.maxChars):void 0,h=Number.isFinite(b.maxItemsPerFile)&&b.maxItemsPerFile>0?Math.floor(b.maxItemsPerFile):void 0,i=function(a,b,c){let f=new Set,g=a.map(a=>{let b=function(a,b){let c=d.extname(a).toLowerCase(),e=k(b).split("\n").map(a=>a.trim()).filter(a=>a&&!/^第\s*\d+\s*页\s*(?:共\s*\d+\s*页)?$/u.test(a)).join("\n"),f=l(e);if(e.length>20&&f.shouldUse)return e;let g=m(e);return g.length>20?`资料参数行摘要:
85
85
  ${g}`:e.length>80&&f.noiseScore<.9?e:[".pdf",".doc",".docx",".xls",".xlsx",".png",".jpg",".jpeg",".webp",".dwg"].includes(c)?`该资料为${c.replace(".","").toUpperCase()}格式附件,仅作为内部事实提取依据;正式正文不得引用文件名。`:e}(a.filePath,a.content),c=l(b);return{item:{...a,content:b,score:a.score*(1+c.factDensity)*(1-.45*c.noiseScore)},quality:c}}),h=g.filter(a=>a.quality.shouldUse||/附件,仅作为内部事实提取依据/u.test(a.item.content)),i=Number.isFinite(b)&&b>0?Math.ceil(b):void 0,j=(h.length>=Math.min(3,a.length)?h:g).sort((a,b)=>b.item.score-a.item.score).filter(a=>{let b=function(a){let b=a.content.replace(/\s+/gu," ").trim();return`${a.filePath}:${a.sectionTitle||""}:${(0,e.createHash)("sha1").update(b).digest("hex")}`}(a.item);return!f.has(b)&&(f.add(b),!0)}),n=i?j.slice(0,i):j;if(c){let b=g.reduce((a,b)=>a+b.quality.noiseScore,0),d=g.reduce((a,b)=>a+b.quality.factDensity,0);c.evidence.raw+=a.length,c.evidence.used+=n.length,c.evidence.filteredNoise+=Math.max(0,g.length-h.length),c.evidence.avgNoiseScore=g.length?Number((b/g.length).toFixed(3)):0,c.evidence.avgFactDensity=g.length?Number((d/g.length).toFixed(3)):0}return n.map(a=>a.item)}(a,void 0,c),j=b.preservePinned?i.filter(a=>"pinned-evidence"===a.source||"bound-file"===a.source||"required-fact-evidence"===a.source):[],n=i.filter(a=>!j.includes(a)),o=[],p=new Map,s=0,t=(a,b=!1)=>{if(f&&o.length>=f)return;let c=p.get(a.filePath)||0;if(!b&&void 0!==h&&c>=h)return;let d=k(a.content);g&&d.length>4e3&&(d=q(d,Math.min(12e3,g)));let e=s+d.length;g&&o.length>0&&e>g||(o.push({...a,content:d}),p.set(a.filePath,c+1),s=e)};for(let a of j)t(a,!0);for(let a of n)t(a);return c&&(c.evidence.budgetDropped+=Math.max(0,i.length-o.length)),o}function s(a,b=0){return`- ${j(a,b)}:${k(a.content).replace(/\s+/gu," ").slice(0,260)}`}function t(a,b){if(a.filePath!==b.filePath)return a.filePath<b.filePath?-1:1;let c=a.sectionTitle||"",d=b.sectionTitle||"";return c!==d?c<d?-1:1:a.content.length!==b.content.length?a.content.length-b.content.length:a.content!==b.content?a.content<b.content?-1:1:0}function u(a,b){let c=[...b].sort(t),e=new Map;for(let b of c){let c=function(a,b){let c=d.extname(a).toLowerCase();return"drawing"===b||/地图|map|drawing|design/iu.test(a)?"map":[".png",".jpg",".jpeg",".webp"].includes(c)?"image":"table"===b?"table":[".xls",".xlsx",".csv"].includes(c)?"spreadsheet":[".pdf",".doc",".docx"].includes(c)?"document":c&&![".md",".txt"].includes(c)?"attachment":"text"}(b.filePath,b.processingType),f=e.get(b.filePath)||{filePath:b.filePath,kind:c,roleId:b.roleId,processingType:b.processingType,score:b.score,semanticTitle:function(a,b){let c=d.basename(a).replace(/\.[^.]+$/u,"");return"map"===b?c.replace(/^地图-/u,"").replace(/-完整地图$/u,"完整地图"):"image"===b?c.replace(/-/gu," "):"spreadsheet"===b?`${c}(结构化表格)`:"document"===b?`${c}(文档附件)`:c}(b.filePath,c),contentUse:"map"===c?"作为视觉/地图证据,用于说明空间关系、区域划分、点位、路线或布局。":"image"===c?"作为图片证据,用于视觉说明、参考图或章节配图。":"spreadsheet"===c||"table"===c?"作为表格/数据证据,用于字段对比、明细、数量和结构化结论。":"document"===c?"作为 PDF/Word 文档证据,用于提取规范、事实、说明、约束和附件来源。":"attachment"===c?"作为附件证据,用于提供补充来源、文件级约束或可追溯引用。":"作为文本证据,用于事实抽取、章节论据和来源引用。",relatedFacts:[],relatedChapters:[],snippets:[]};f.score=Math.max(f.score,b.score),f.relatedFacts=[...new Set([...f.relatedFacts,...function(a,b){let c=`${a.filePath}
@@ -95,7 +95,7 @@ ${a.selected.map(a=>`- ${a}`).join("\n")}${a.dropped.length>0?`
95
95
  ${d}`},a=>x(a,c)+(e?e(a):0)),K=[];D.lines.length&&K.push(`结构化资料:
96
96
  ${D.lines.join("\n")}`),H&&K.push(H),J.lines.length&&K.push(`文本/附件片段:
97
97
  ${J.lines.join("\n\n---\n\n")}`);let L=K.join("\n\n"),M=[...D.omittedItems,...J.omittedItems],N=M.map((a,b)=>z(a,b)),O=N.length?`【证据目录——未全文注入的片段索引(正文写作不使用目录内容;目录供覆盖检索与修复追溯,完整片段仍参与后续检索与质量校验)】
98
- ${N.join("\n")}`:"",P=M.reduce((a,b)=>a+("content"in b?b.content.length:(b.snippets[0]||"").length),0),Q={t0Chars:w.length,t1Chars:L.length,t2Lines:N.length,t2Chars:O.length,omittedChars:P,omittedCount:M.length};return{t0Text:w,t1Text:L,t2Text:O,omittedNote:Q.omittedCount>0?`提示:完整证据池仍保留 ${a.textEvidence.length} 条文本片段、${a.resources.length} 个结构化材料;本次已注入关键事实层 ${Q.t0Chars} 字(数值参数全量)与高相关片段 ${Q.t1Chars} 字,另有 ${Q.omittedCount} 条片段(${Q.omittedChars} 字)仅以目录索引呈现,将在章节/小节相关检索和质量校验中继续参与。`:"",stats:Q}}function B(a,b={}){let c=A(a,Number.isFinite(b.maxChars)&&b.maxChars>0?Math.ceil(b.maxChars):void 0,b.requiredFacts||[],!!b.skipT0,b.rankBoost,!!b.onlyRankBoosted);if(b.diagnostics){let a=b.diagnostics.evidence;a.t0Chars+=c.stats.t0Chars,a.t1Chars+=c.stats.t1Chars,a.t2Lines+=c.stats.t2Lines,a.omittedChars+=c.stats.omittedChars}return[a.summary,c.omittedNote,c.t0Text,c.t1Text,c.t2Text].filter(Boolean).join("\n\n")}function C(a,b,c){let d=Number.isFinite(c)&&c>0?Math.floor(c):8e3,e=A(a,Math.floor(.5*d),b,!1),f=Math.max(1500,d-e.t0Text.length),g=y(a.textEvidence,f,(a,b)=>{let c=k(a.content),d=c.length>300?`${c.slice(0,300)}…`:c;return`- [${b}] ${j(a)}|${d}`},a=>x(a,b)),h=g.lines.length?`【章级证据摘要池——全章证据要点概览(正文事实必须以关键事实层与绑定材料为准,摘要仅供定位材料方向)】
98
+ ${N.join("\n")}`:"",P=M.reduce((a,b)=>a+("content"in b?b.content.length:(b.snippets[0]||"").length),0),Q={t0Chars:w.length,t1Chars:L.length,t2Lines:N.length,t2Chars:O.length,omittedChars:P,omittedCount:M.length};return{t0Text:w,t1Text:L,t2Text:O,omittedNote:Q.omittedCount>0?`提示:完整证据池仍保留 ${a.textEvidence.length} 条文本片段、${a.resources.length} 个结构化材料;本次已注入关键事实层 ${Q.t0Chars} 字(数值参数全量)与高相关片段 ${Q.t1Chars} 字,另有 ${Q.omittedCount} 条片段(${Q.omittedChars} 字)仅以目录索引呈现,将在章节/小节相关检索和质量校验中继续参与。`:"",stats:Q}}function B(a,b={}){let c=A(a,Number.isFinite(b.maxChars)&&b.maxChars>0?Math.ceil(b.maxChars):void 0,b.requiredFacts||[],!!b.skipT0,b.rankBoost,!!b.onlyRankBoosted);if(b.diagnostics){let a=b.diagnostics.evidence;a.t0Chars+=c.stats.t0Chars,a.t1Chars+=c.stats.t1Chars,a.t2Lines+=c.stats.t2Lines,a.omittedChars+=c.stats.omittedChars}return[a.summary,c.t0Text,c.t1Text,c.t2Text,c.omittedNote].filter(Boolean).join("\n\n")}function C(a,b,c){let d=Number.isFinite(c)&&c>0?Math.floor(c):8e3,e=A(a,Math.floor(.5*d),b,!1),f=Math.max(1500,d-e.t0Text.length),g=y(a.textEvidence,f,(a,b)=>{let c=k(a.content),d=c.length>300?`${c.slice(0,300)}…`:c;return`- [${b}] ${j(a)}|${d}`},a=>x(a,b)),h=g.lines.length?`【章级证据摘要池——全章证据要点概览(正文事实必须以关键事实层与绑定材料为准,摘要仅供定位材料方向)】
99
99
  ${g.lines.join("\n")}`:"",i=g.omittedItems.slice(0,40).map((a,b)=>z(a,b)),l=i.length?`【证据目录——未进摘要池的片段索引(正文写作不使用目录内容;完整片段仍参与后续检索与质量校验)】
100
100
  ${i.join("\n")}`:"";return[e.t0Text,h,l].filter(Boolean).join("\n\n")}},70963:(a,b,c)=>{c.d(b,{C:()=>t,i:()=>s});var d=c(73024),e=c(76760),f=c(95734),g=c(22157),h=c(80439),i=c(61373);function j(a){return a.map(a=>`${a.filePath}
101
101
  ${a.sectionTitle||""}
@@ -110,10 +110,12 @@ ${b}
110
110
 
111
111
  返回 JSON。`}(a)].filter(Boolean).join("\n\n")}(d,b,u),{temperature:.1*!c.length,signal:a.signal,diagnostics:a.diagnostics});(0,g.Te)(a.signal);if(!h)return;let j=new Set(d.map(a=>a.filePath)),l=a=>"string"==typeof a&&(j.has(a)||d.some(b=>e.basename(b.filePath)===e.basename(a))),m=(a,b)=>"string"==typeof a?a.slice(0,b):"number"==typeof a?String(a).slice(0,b):"",n=(a,b)=>(Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.length>0):[]).slice(0,b);return{works:(h.works||[]).filter(a=>"string"==typeof a.name&&"string"==typeof a.scope).map(a=>({name:m(a.name,200),scope:m(a.scope,500),sourceFiles:n(a.sourceFiles,10).filter(l),relatedItems:n(a.relatedItems,20)})),methods:(h.methods||[]).filter(a=>"string"==typeof a.name).map(a=>({name:m(a.name,200),steps:n(a.steps,12),applicableWorks:n(a.applicableWorks,10),sourceFiles:n(a.sourceFiles,10).filter(l)})),resources:(h.resources||[]).filter(a=>"string"==typeof a.name).map(a=>({name:m(a.name,200),type:"material"===a.type||"equipment"===a.type||"labor"===a.type?a.type:"material",spec:m(a.spec,200),quantity:m(a.quantity,50),unit:m(a.unit,20),sourceFiles:n(a.sourceFiles,5).filter(l)})),schedule:(h.schedule||[]).filter(a=>"string"==typeof a.milestone).map(a=>({milestone:m(a.milestone,200),duration:m(a.duration,100),startDate:m(a.startDate,50),endDate:m(a.endDate,50),sourceFiles:n(a.sourceFiles,5).filter(l)})),standards:(h.standards||[]).filter(a=>"string"==typeof a.code||"string"==typeof a.description).map(a=>({code:m(a.code,100),description:m(a.description,300),sourceFiles:n(a.sourceFiles,5).filter(l)})),risks:(h.risks||[]).filter(a=>"string"==typeof a.risk).map(a=>({risk:m(a.risk,300),level:"high"===a.level||"medium"===a.level||"low"===a.level?a.level:"medium",mitigation:m(a.mitigation,500),sourceFiles:n(a.sourceFiles,5).filter(l)})),requirements:(h.requirements||[]).filter(a=>"string"==typeof a.category&&"string"==typeof a.detail).map(a=>({category:m(a.category,100),detail:m(a.detail,500),sourceFiles:n(a.sourceFiles,5).filter(l)})),siteConditions:(h.siteConditions||[]).filter(a=>"string"==typeof a.condition).map(a=>({condition:m(a.condition,300),impact:m(a.impact,500),sourceFiles:n(a.sourceFiles,5).filter(l)})),addendumChanges:(h.addendumChanges||[]).filter(a=>"string"==typeof a.original&&"string"==typeof a.revised).map(a=>({originalPath:m(a.originalPath,300),original:m(a.original,300),revised:m(a.revised,500),sourceFile:m(a.sourceFile,200)})),gaps:n(h.gaps,20),generatedAt:Date.now()}}async function x(b=[]){let c=Object.keys(k),d=(await (0,g.l$)(c,async c=>{try{let a=await w(c,b);if(a&&m(a)>0)return a;v.push(`${k[c].title} 未抽取到有效节点`)}catch(b){if(a.signal?.aborted)throw b;v.push(`${k[c].title} LLM 调用失败:${b instanceof Error?b.message:String(b)}`)}},{kind:"llmRepair",targetWords:4e3,concurrency:Number(process.env.DOCUMENT_PROJECT_GRAPH_DOMAIN_CONCURRENCY||2)})).filter(a=>!!a);return d.length?function(a){let b={w:new Set,m:new Set,r:new Set,sc:new Set,st:new Set,ri:new Set,rq:new Set,si:new Set,a:new Set};return{works:a.flatMap(a=>a.works).filter(a=>{let c=a.name+a.scope;return!b.w.has(c)&&(b.w.add(c),!0)}),methods:a.flatMap(a=>a.methods).filter(a=>{let c=a.name;return!b.m.has(c)&&(b.m.add(c),!0)}),resources:a.flatMap(a=>a.resources).filter(a=>{let c=a.name+a.spec+a.type;return!b.r.has(c)&&(b.r.add(c),!0)}),schedule:a.flatMap(a=>a.schedule).filter(a=>{let c=a.milestone;return!b.sc.has(c)&&(b.sc.add(c),!0)}),standards:a.flatMap(a=>a.standards).filter(a=>{let c=a.code+a.description;return!b.st.has(c)&&(b.st.add(c),!0)}),risks:a.flatMap(a=>a.risks).filter(a=>{let c=a.risk;return!b.ri.has(c)&&(b.ri.add(c),!0)}),requirements:a.flatMap(a=>a.requirements).filter(a=>{let c=a.category+a.detail;return!b.rq.has(c)&&(b.rq.add(c),!0)}),siteConditions:a.flatMap(a=>a.siteConditions).filter(a=>{let c=a.condition;return!b.si.has(c)&&(b.si.add(c),!0)}),addendumChanges:a.flatMap(a=>a.addendumChanges).filter(a=>{let c=a.original+a.revised;return!b.a.has(c)&&(b.a.add(c),!0)}),gaps:[...new Set(a.flatMap(a=>a.gaps))],generatedAt:Date.now()}}(d):void 0}try{let b=await x(),d=p(b,t);if(d.ok&&b||b&&m(b)>0)return o(a.projectRoot,c,b),{graph:b,stage:q(b)};let e=await x([...d.reasons,...v]);if(e&&m(e)>0)return o(a.projectRoot,c,e),{graph:e,stage:q(e)};return{stage:r([...d.reasons,...v])}}catch(b){if(a.signal?.aborted)throw b;return console.error("[project-graph] failed:",b),{stage:r([b instanceof Error?b.message:String(b),...v])}}}function t(a){let b=["## 项目资料图谱分析结果",""];for(let c of a.works)2===b.length&&b.push("### 主要工程内容"),b.push(`- **${c.name}**:${c.scope}`);for(let c of(a.works.length&&b.push(""),a.methods))b.includes("### 关键施工方法与工艺")||b.push("### 关键施工方法与工艺"),b.push(`- **${c.name}**:${c.steps.filter(Boolean).join(" → ")}`);for(let c of(a.methods.length&&b.push(""),a.resources)){b.includes("### 资源需求")||b.push("### 资源需求");let a={material:"材料",equipment:"设备",labor:"劳动力"}[c.type]||"资源";b.push(`- [${a}] ${c.name}${c.spec?`(${c.spec})`:""}${c.quantity?` ${c.quantity}${c.unit}`:""}`)}for(let c of(a.resources.length&&b.push(""),a.schedule))b.includes("### 工期与关键节点")||b.push("### 工期与关键节点"),b.push(`- ${c.milestone}:${c.duration}(${c.startDate} ~ ${c.endDate})`);for(let c of(a.schedule.length&&b.push(""),a.standards))b.includes("### 技术标准与验收要求")||b.push("### 技术标准与验收要求"),b.push(`- **${c.code}**:${c.description}`);for(let c of(a.standards.length&&b.push(""),a.risks))b.includes("### 重点难点与风险")||b.push("### 重点难点与风险"),b.push(`- **[${c.level}] ${c.risk}**:${c.mitigation}`);for(let c of(a.risks.length&&b.push(""),a.requirements))b.includes("### 特定要求")||b.push("### 特定要求"),b.push(`- [${c.category}] ${c.detail}`);for(let c of(a.requirements.length&&b.push(""),a.siteConditions))b.includes("### 现场条件与约束")||b.push("### 现场条件与约束"),b.push(`- ${c.condition}:${c.impact}`);for(let c of(a.siteConditions.length&&b.push(""),a.addendumChanges))b.includes("### 补疑修正")||b.push("### 补疑修正"),b.push(`- "${c.original}" → "${c.revised}"`);for(let c of(a.addendumChanges.length&&b.push(""),a.gaps))b.includes("### 资料缺口")||b.push("### 资料缺口"),b.push(`- ${c}`);return a.gaps.length&&b.push(""),b.join("\n")}},78217:(a,b,c)=>{function d(a,b){return Math.ceil(e(a)/f(b))}function e(a){return a.replace(/<[^>]+>/gu,"").replace(/\s+/gu,"").length}function f(a){let b=Number(String(a&&"typography"in a&&a.typography?.bodySize||"").replace(/[^\d.]/gu,""))||14,c=Number(String(a&&"typography"in a&&a.typography?.lineHeight||"").replace(/[^\d.]/gu,""))||22;return b>=14&&c>=22?900:1050}function g(a){let b=a.trim();if(/^\d+(?:\.\d+)?$/u.test(b))return Number(b);let c={零:0,一:1,二:2,两:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9};if("十"===b)return 10;let d=/^([一二两三四五六七八九])?十([一二三四五六七八九])?$/u.exec(b);if(d)return(d[1]?c[d[1]]:1)*10+(d[2]?c[d[2]]:0)}function h(a="",b=""){let c=`${a}${b}`;return/不少于|至少|不低于|以上|起码/u.test(c)?"minimum":/约|大概|左右|大约|约为|附近/u.test(c)?"approximate":"exact"}function i(a){let b=a.replace(/\s+/gu," "),c=[...b.matchAll(/(不少于|至少|不低于|约为|约|大概|大约|左右|生成|输出|达到|共)?\s*(\d+(?:\.\d+)?|[一二两三四五六七八九十]{1,3})\s*(?:页|頁)\s*(以上|左右|以内|以下)?/gu)],d=[...b.matchAll(/(不少于|至少|不低于|约为|约|大概|大约|左右|生成|输出|达到|共)?\s*(\d+(?:\.\d+)?|[一二两三四五六七八九十]{1,3})\s*(万)?\s*(?:字|字符)\s*(以上|左右|以内|以下)?/gu)],e=c.map(a=>{let b=g(a[2]||"");return Number.isFinite(b)?{value:b,mode:h(a[1],a[3])}:void 0}).filter(a=>!!a).at(-1),f=d.map(a=>{let b=g(a[2]||"");return b?{value:Math.round(b*(a[3]?1e4:1)),mode:h(a[1],a[4])}:void 0}).filter(a=>!!a).at(-1);return{targetPages:e?.value,pageMode:e?.mode,targetChars:f?.value,charMode:f?.mode}}function j(a){let b=a.title+a.purpose;return/方法|技术|质量|安全|进度|资源|保障|措施|部署|方案|流程|执行/u.test(b)?1.3:/概况|结语|附录/u.test(b)?.75:1}function k(a){let b=a.template.generationSettings||a.template.exportSettings,c=f(a.template.exportSettings||a.template.generationSettings),d=i(a.requirement||""),e=i(a.promptTexts||""),g=d.targetChars||d.targetPages?d:e,h=!!(g.targetChars||g.targetPages),k=h?void 0:b?.targetPages?.target||b?.targetPages?.min,l=g.targetPages?g.targetPages*c:void 0,m=g.targetPages||k,n=h?"explicit":k?"template":a.spec?.chapterRules.some(a=>a.minWords)||a.spec?.dynamicChapterRule.minWordsPerChapter?"spec":"default",o=h?Math.max(g.targetChars||0,l||0)||void 0:Math.max((k?k*c:void 0)||0)||void 0,p=g.pageMode||"exact",q=g.charMode||p,r=h&&"approximate"===q,s=h&&"minimum"===q,t=h?m?Math.floor(m*(s?1:.9)):void 0:b?.targetPages?.min||(m?Math.floor(.95*m):void 0),u=h&&m&&!s?Math.ceil(m*(r?1.15:1.08)):b?.targetPages?.max,v=o?Math.floor(o*(s?1:.9)):t?t*c:void 0,w=o&&!s?Math.ceil(o*(r?1.15:1.08)):u?u*c:void 0,x=a.chapters.length>0?a.chapters:a.template.chapters,y=x.reduce((a,b)=>a+j(b),0)||1,z=new Map,A=x.map(a=>({chapter:a,target:o?Math.round(o*j(a)/y):0})),B=x.reduce((b,c)=>b+Math.max(a.spec?.chapterRules.find(a=>a.id===c.id||a.title===c.title)?.minWords||0,a.spec?.dynamicChapterRule.minWordsPerChapter||0,o?Math.min(900,Math.max(450,Math.floor(o/Math.max(1,x.length)*.35))):1200),0),C=o&&B>.92*o?Math.max(.45,.92*o/B):1;for(let{chapter:b,target:c}of A){let d=Math.floor(Math.max(Math.max(a.spec?.chapterRules.find(a=>a.id===b.id||a.title===b.title)?.minWords||0,a.spec?.dynamicChapterRule.minWordsPerChapter||0),o?Math.min(900,Math.max(450,Math.floor(o/Math.max(1,x.length)*.35))):1200)*C);z.set(b.id,Math.max(d,c))}let D=!!(h&&(s||"exact"===q)&&(o||v||0)>=4e4);return{targetPages:m,minPages:t,maxPages:u,targetChars:o,minChars:v,maxChars:w,charsPerPage:c,chapterTargets:z,source:n,mode:q,longformStrict:D}}function l(a,b){let c=a?.targetPages;if(!c?.min&&!c?.target&&!c?.max)return[];let e=d(b,a),f=c.min||c.target,g=c.max||c.target,h=[];return f&&e<f&&h.push({level:"warning",message:`正文篇幅低于目标页数:预计约 ${e} 页,目标不少于 ${f} 页`,suggestion:"建议增加章节正文深度,或根据实际需求调整目标页数。"}),g&&e>g+4&&h.push({level:"warning",message:`正文篇幅可能超过目标页数:预计约 ${e} 页,目标不超过 ${g} 页`,suggestion:"建议检查是否存在重复段落或过度展开。"}),h}function m(a,b){let{currentChars:c,estimatedPages:d}=function(a,b){let c=e(b),d=Math.ceil(c/a.charsPerPage);return{currentChars:c,estimatedPages:d}}(a,b),f=[];return a.minChars&&c<a.minChars&&f.push({level:"warning",message:`正文篇幅低于目标字数:当前 ${c} 字,目标不少于 ${a.minChars} 字`,suggestion:"建议继续扩写缺口章节,或根据实际需求调整目标字数/页数。"}),a.maxChars&&c>Math.ceil(1.12*a.maxChars)?f.push({level:"error",message:`正文篇幅超过目标字数区间:当前 ${c} 字,建议不超过 ${a.maxChars} 字`,suggestion:"请压缩重复段落、过细小节或过度展开内容后再导出。"}):a.maxChars&&c>a.maxChars&&f.push({level:"warning",message:`正文篇幅超过目标字数区间:当前 ${c} 字,建议不超过 ${a.maxChars} 字`,suggestion:"建议减少重复段落、过细小节或过度展开内容。"}),a.minPages&&d<a.minPages&&f.push({level:"warning",message:`正文篇幅低于目标页数:预计约 ${d} 页,目标不少于 ${a.minPages} 页`,suggestion:"建议继续扩写正文,或根据实际导出版式调整目标页数。"}),a.maxPages&&d>a.maxPages&&f.push({level:"warning",message:`正文篇幅超过目标页数区间:预计约 ${d} 页,建议不超过 ${a.maxPages} 页`,suggestion:"建议压缩过度展开内容或调整目标页数。"}),f}c.d(b,{Cv:()=>d,PE:()=>l,V7:()=>e,py:()=>i,q6:()=>f,tF:()=>k,ty:()=>m})},80439:(a,b,c)=>{function d(a){return a?({"knowledge-base":"知识库","document-readiness":"生成准备度检查","quality-repair":"质量补写","export-gate":"导出门禁","final-format":"正式排版","llm-json":"LLM 事实抽取","llm-review":"LLM 审查","document-workflow":"最终规范校验"})[a]:void 0}function e(a,b={}){let c={executionVersion:2,title:function(a,b){if("llm_review"===a){if(b?.startsWith("agent-reviewer"))return"LLM 审查";if(b?.startsWith("agent-repairer"))return"LLM 优化"}return({role_binding:"项目角色配置绑定",knowledge_retrieval:"知识库证据检索",file_understanding:"项目资料理解",fact_extraction:"事实抽取",chapter_generation:"章节正文生成",asset_generation:"生成资源处理",llm_review:"LLM 审查优化",validation:"内容优化与质量校验",formatting:"正式排版整理",export_ready:"导出就绪检查",reference:"资料增强"})[a]}(a.type,a.roleId),group:a.type,...a,...b};return{...c,roleName:c.roleName||d(c.roleId),subtitle:c.subtitle||c.roleName||d(c.roleId)}}function f(a,b){let c=a=>"chapter_generation"===a.type||/^agent-(?:reviewer|repairer|chapter-task|final-gate-repair)-/u.test(a.roleId||"")?[a.type,a.roleId||"",a.promptId||"",a.subtitle||"",a.order??""].join("::"):[a.type,a.roleId||"",a.promptId||""].join("::"),d=c(b),e=a.findIndex(a=>c(a)===d);return e>=0?(a[e]={...b,order:a[e]?.order??b.order},e):(a.push(b),a.length-1)}function g(a,b){return`${a},耗时 ${Math.round((Date.now()-b)/1e3)} 秒`}c.d(b,{AQ:()=>g,X5:()=>e,fx:()=>f})},85441:(a,b,c)=>{c.d(b,{F:()=>u,P:()=>s});var d=c(76760),e=c(44533),f=c(92808);let g=["project_overview","requirement_document","structured_data","scope_description"],h=["project_overview","requirement_document","addendum","structured_data","budget_cost","design_specification","resource_recommendation","schedule_quality_safety","scope_description","technical_specification","risk_constraints"];function i(a){let b=[];for(let c of a)for(let a of c.relativePath.split(/[\\/]/gu))a&&b.push(a);return b}function j(a){return/--|延期到|资料|附件|扫描|目录|汇总|打包|备份|\d{1,2}\.\d{1,2}/u.test(a)}function k(a){return m(a).replace(/^\d+(?:\.\d+)?[-_\s]*/u,"").replace(/^(?:延期到\d+(?:\.\d+)?[-_—–\s]*)+/u,"").trim()}function l(a){let b=new Set,c=[];for(let d of a)!d||b.has(d)||(b.add(d),c.push(d));return c}function m(a){return a.replace(/\.(?:pdf|docx?|xlsx?|xls|dwg)$/iu,"").trim()}function n(a){let b=new Set,c=[];for(let d of i(a)){let a=k(d);!(!/项目|任务|文档|合同|计划|方案|工程/iu.test(a)||a.length<6||b.has(a))&&(!j(a)||/\.\w+$/u.test(d))&&(b.add(a),c.push(a))}return c}function o(a,b){return 0===a.length?b:a.map(a=>m(a.fileName)).join("、")}function p(a,b,c){b.lastIndex=0;let d=new Set,e=[];for(let f of a.matchAll(b)){let a=(f[c]||"").trim();!a||d.has(a)||(d.add(a),e.push(a))}return b.lastIndex=0,e}function q(a){return a.replace(/\\/gu,"/").replace(/^\/+|\/+$/gu,"")}function r(a){let b=q(a).split("/").filter(Boolean);return b.length>1?b[0]:void 0}function s(a,b){let c=(0,e.Yy)(a),m=function(a,b){let c=a.filter(a=>"error"!==a.status),d=new Set((b?.boundFilePaths||[]).map(q)),e=c.filter(a=>d.has(q(a.relativePath)));if(e.length>0){let a=[...new Set(e.map(a=>r(a.relativePath)).filter(Boolean))],b=1===a.length?a[0]:void 0;return{files:e,reason:b?`模板绑定文件定位到资料组:${b}`:"使用模板显式绑定文件作为资料范围",ambiguous:!1}}let f=(b?.requirement||"").trim();if(f){let a=new Map;for(let b of c){let c=r(b.relativePath);if(!c)continue;let d=function(a,b){let c=0;for(let d of a.split(/(?:\s|_|-|—|(|)|\(|\)|【|】|\[|\]|、|,|,)+/u)){let a=d.trim();a.length>=2&&b.includes(a)&&(c+=1)}return c}(c,f);d>0&&a.set(c,(a.get(c)||0)+d)}let b=[...a.entries()].sort((a,b)=>b[1]-a[1])[0];if(b)return{files:c.filter(a=>r(a.relativePath)===b[0]),reason:`需求描述定位到资料组:${b[0]}`,ambiguous:!1}}let g=[...new Set(c.map(a=>r(a.relativePath)).filter(Boolean))];return 1===g.length?{files:c.filter(a=>r(a.relativePath)===g[0]),reason:`知识库单一资料组:${g[0]}`,ambiguous:!1}:{files:c,reason:g.length>1?`未指定资料组,检测到 ${g.length} 个资料组,已阻断生成避免跨项目污染`:"未检测到资料组,使用全部资料",ambiguous:g.length>1}}(c,b),s=m.files,t=function(){let a={};for(let b of h)a[b]=[];return a}(),u=new Map((b?.boundFileRoles||[]).map(a=>[q(a.filePath),a.roles]));for(let a of s){let b=q(a.relativePath),c=[...u.entries()].filter(([a])=>b.endsWith(a)||a.endsWith(b)).flatMap(([,a])=>a);for(let b of[...new Set([...function(a){let b=new Set((0,f.t0)(a,f.hW));return b.add("project_overview"),[...b]}(a.relativePath),...c])])t[b].push({filePath:a.relativePath,fileName:d.basename(a.relativePath),role:b,chunkCount:a.chunkCount})}let v=function(a){let b,c;for(let d of i(a)){let a=k(d);if(/项目|工程/iu.test(a)&&!(a.length<6)){if(/\.\w+$/u.test(d)){b||=a;continue}if(j(a)){c||=a.split(/--/u).filter(a=>/项目|工程/u.test(a)).sort((a,b)=>a.length-b.length)[0]||a;continue}return a}}return b||c||"当前知识库项目"}(s),w=function(a){for(let b of a){let a=b.relativePath.match(/\b\d{4}[A-Z]{2,}\d{4,}\b/u)?.[0];if(a)return a}}(s),x=function(a,b){let c=n(a),d=n(b),e=l(a.map(a=>a.relativePath).join("\n").match(/\b\d{4}[A-Z]{2,}\d{4,}\b/gu)||[]),f=l(a.map(a=>r(a.relativePath)).filter(Boolean)),g=[c.length>0,e.length>0,1===f.length];return{fingerprint:{projectNames:c,documentNos:e,fileGroups:f,confidence:g.filter(Boolean).length/g.length},contaminationCandidates:d.filter(a=>!c.includes(a))}}(s,c),y=function(a){let b=function(a){let b="";for(let c of a)b+=`${c.relativePath}
112
112
  `;return b}(a);return{ownerNames:p(b,/(?:责任主体|委托人|客户|甲方|乙方|需求方|服务方|执行方|负责人)[::]?([^\\/\n,,。;;]{2,40})/gu,1),locationNames:p(b,/(?:项目地点|实施地点|服务地点|交付地点|项目地址|执行地点)[::]?([^\\/\n,,。;;]{2,50})/gu,1),scheduleValues:p(b,/(\d+\s*(?:天|周|个月|月|年|小时)|(?:周期|期限|交付|完成)[^\\/\n,,。;;]{0,30})/gu,1),qualityTargets:p(b,/(?:质量(?:标准|目标|要求)?[::]?[^\\/\n,,。;;]{2,40}|合格|优良)/gu,0)}}(s),z=function(a){let b=new Set(g);for(let c of["design_specification","schedule_quality_safety","risk_constraints","resource_recommendation","technical_specification","budget_cost","addendum"])a[c].length>0&&b.add(c);return[...b]}(t),A=z.filter(a=>t[a].length>0),B=z.filter(a=>0===t[a].length);return{projectId:v.replace(/[^a-zA-Z0-9\u4e00-\u9fa5_-]/gu,"-").slice(0,80)||"current-project",projectName:v,generatedAt:Date.now(),fingerprint:x.fingerprint,contaminationCandidates:x.contaminationCandidates,source:{totalFiles:c.length,selectedFiles:s.length,selectionReason:m.reason,ambiguous:m.ambiguous},facts:{projectName:v,documentNo:w,scopeDescriptions:t.scope_description.map(a=>a.fileName.replace(/\.(?:pdf|docx?|xlsx?|xls|dwg)$/iu,"")),professionalScopes:[...new Set(t.scope_description.concat(t.design_specification,t.structured_data).map(a=>a.fileName.replace(/\.(?:pdf|docx?|xlsx?|xls|dwg)$/iu,"")))],scheduleRequirement:t.schedule_quality_safety.length?"已识别周期、质量、安全或合规相关资料,生成时应以需求文件、变更说明和技术要求为准。":void 0,qualityRequirement:t.schedule_quality_safety.length?"已识别质量或评价相关资料。":void 0,safetyRequirement:t.schedule_quality_safety.length?"已识别安全或合规相关资料。":void 0,materialBrandRequirement:t.resource_recommendation.length?"已识别资源、材料、设备或品牌相关资料。":void 0,ownerNames:y.ownerNames,locationNames:y.locationNames,scheduleValues:y.scheduleValues,qualityTargets:y.qualityTargets},materialInventory:t,extractedSections:{projectOverview:`绑定材料组:${v}${w?`,文档/任务编号:${w}`:""}。`,scopeSummary:`范围资料:${o(t.scope_description,"未识别到明确范围资料")}。`,designSummary:`设计/方案/说明资料:${o(t.design_specification,"未识别到设计、方案或说明资料")}。`,structuredDataSummary:`结构化数据资料:${o(t.structured_data,"未识别到表格、列表或明细资料")}。`,scheduleQualitySafetySummary:`周期质量安全资料:${o(t.schedule_quality_safety,"未识别到周期、质量或安全专项资料")}。`,constraintsAndRisks:`约束和风险资料:${o(t.risk_constraints,"未识别到重点难点或约束资料")}。`},coverage:{requiredRoles:z,satisfiedRoles:A,missingRoles:B}}}function t(a){return a.replace(/OCR|识别错误|乱码/giu,"资料文字不清").replace(/知识库|提示词|后台|绑定片段|兜底/gu,"项目资料").replace(/PDF|DWG|Excel|XLSX?|DOCX?/giu,"资料文件")}function u(a,b={}){return b.publicSafe?["## 项目资料事实边界",t(a.extractedSections.projectOverview),`明确事实:责任主体 ${a.facts.ownerNames?.join("、")||"资料未明确"};地点 ${a.facts.locationNames?.join("、")||"资料未明确"};周期 ${a.facts.scheduleValues?.join("、")||"资料未明确"};质量 ${a.facts.qualityTargets?.join("、")||"资料未明确"}。`,t(a.extractedSections.scopeSummary),t(a.extractedSections.structuredDataSummary),t(a.extractedSections.designSummary),t(a.extractedSections.scheduleQualitySafetySummary),t(a.extractedSections.constraintsAndRisks),"仅使用资料中明确、可信的事实;资料未明确的工程实体事实不得推导,允许推导的计划配置类数据须明确标注为计划配置值。"].filter(Boolean).join("\n"):["## 后台绑定材料摘要",a.extractedSections.projectOverview,`材料指纹:对象名候选 ${a.fingerprint.projectNames.join("、")||"无"};编号 ${a.fingerprint.documentNos.join("、")||"无"};资料组 ${a.fingerprint.fileGroups.join("、")||"无"}。`,`内容级事实候选:责任主体 ${a.facts.ownerNames?.join("、")||"无"};地点 ${a.facts.locationNames?.join("、")||"无"};周期 ${a.facts.scheduleValues?.join("、")||"无"};质量 ${a.facts.qualityTargets?.join("、")||"无"}。`,a.extractedSections.scopeSummary,a.extractedSections.structuredDataSummary,a.extractedSections.designSummary,a.extractedSections.scheduleQualitySafetySummary,a.extractedSections.constraintsAndRisks].join("\n")}},91977:(a,b,c)=>{c.d(b,{I2:()=>g,Lk:()=>e,Uy:()=>f});var d=c(70208);function e(a,b){let c=`${a.filePath}
113
- ${a.content}`;return(function(a){let b=a.replace(/要求|计划|目标|标准|内容|信息|事实|依据|参数|范围|要点/gu,"");return[a,b].filter(Boolean)})(b).some(a=>c.includes(a))}function f(a,b){let c=(0,d.effectiveTemplateChapters)(a,b).flatMap(a=>a.requiredFacts).map(a=>({id:a,name:a,required:!0,sourceRoleIds:[],extractionHint:""})),e=b?.factFields.map(a=>({id:a.id,name:a.name,required:a.required,sourceRoleIds:a.sourceRoleIds||[],extractionHint:a.extractionHint||""}))||[],f=new Map;for(let a of[...c,...e])f.set(a.id,{...f.get(a.id)||a,...a,required:a.required||f.get(a.id)?.required||!1});return[...f.values()]}function g(a,b){return(!b.sourceRoleIds?.length||!!(a.roleId&&b.sourceRoleIds.includes(a.roleId)))&&e(a,b.name)}},92808:(a,b,c)=>{c.d(b,{NT:()=>e,Ny:()=>f,hW:()=>g,nt:()=>d,rs:()=>i,t0:()=>h});let d=[{id:"report",label:"报告",patterns:[/报告|调研|分析|评估|研究|复盘|总结/iu],output:["报告"]},{id:"plan",label:"实施方案",patterns:[/方案|规划|计划|预案|路径|路线图/iu],output:["实施方案"]},{id:"standard",label:"规范说明",patterns:[/规范|标准|制度|规则|指南|手册/iu],output:["规范说明"]},{id:"proposal",label:"建议方案",patterns:[/建议|提案|需求|响应|说明书/iu],output:["建议方案"]}],e=[{id:"requirement",label:"需求规则资料",patterns:[/需求|要求|规则|条款|约束|响应|澄清|变更/iu],output:["需求约束","规则要求","变更说明"]},{id:"scope",label:"范围资料",patterns:[/范围|内容|任务|目标|边界|对象|工作内容/iu],output:["实施范围","对象范围"]},{id:"structured-data",label:"结构化数据资料",patterns:[/表格|列表|明细|数量|数据|字段|参数|规格|sheet|table|data/iu],output:["结构化数据范围","参数规格范围"]},{id:"quality",label:"质量评价资料",patterns:[/质量|验收|审核|评审|评价|标准|规范|指标/iu],output:["质量要求","评价标准"]},{id:"schedule",label:"时间进度资料",patterns:[/周期|期限|进度|计划|节点|里程碑|时间|日期/iu],output:["周期要求","进度节点要求"]},{id:"safety",label:"安全合规资料",patterns:[/安全|合规|风险|应急|环保|隐私|审计|控制/iu],output:["安全合规要求","风险控制要求"]},{id:"resource",label:"资源配置资料",patterns:[/资源|人员|设备|材料|品牌|采购|供应|配置/iu],output:["资源配置要求"]},{id:"analysis",label:"分析结论",patterns:[/报告|调研|分析|评估|研究|建议|结论/iu],output:["背景依据","分析结论","风险建议"]}],f=[{id:"overview",label:"概况章节",patterns:[/概况|背景|理解|说明|总则|摘要/iu],output:["对象名称","材料范围","实施范围"]},{id:"implementation",label:"实施章节",patterns:[/方法|部署|实施|范围|组织|流程|步骤/iu],output:["实施范围","对象范围","结构化数据范围"]},{id:"controls",label:"控制章节",patterns:[/质量|周期|进度|安全|合规|验收|审核|评价/iu],output:["质量要求","周期要求","安全合规要求"]},{id:"resources",label:"资源章节",patterns:[/资源|人员|设备|材料|品牌|采购|供应|配置/iu],output:["资源配置要求"]},{id:"risk",label:"风险章节",patterns:[/风险|重点|难点|约束|应急|合规/iu],output:["风险控制要求","风险建议"]}],g=[{id:"requirement",label:"需求规则资料",patterns:[/需求|要求|规则|条款|响应|requirement|rule/iu],output:["requirement_document"]},{id:"change",label:"变更澄清资料",patterns:[/补充|澄清|变更|修订|addendum|change/iu],output:["addendum"]},{id:"structured-data",label:"结构化数据资料",patterns:[/表格|列表|明细|数量|数据|字段|参数|规格|sheet|table|data/iu],output:["structured_data"]},{id:"budget",label:"预算费用资料",patterns:[/预算|费用|金额|报价|限价|成本|price|cost|budget/iu],output:["budget_cost"]},{id:"design",label:"设计方案资料",patterns:[/设计|方案|说明|图像|地图|附件|drawing|image|map|design/iu],output:["design_specification"]},{id:"resource",label:"资源配置资料",patterns:[/资源|人员|设备|材料|品牌|采购|供应|配置/iu],output:["resource_recommendation"]},{id:"schedule-quality-safety",label:"进度质量合规资料",patterns:[/质量|周期|进度|安全|合规|验收|审核|评价|环保|应急/iu],output:["schedule_quality_safety"]},{id:"scope",label:"范围任务资料",patterns:[/范围|内容|任务|目标|边界|对象|工作内容/iu],output:["scope_description"]},{id:"technical",label:"技术标准资料",patterns:[/技术|规范|标准|规程|指南|手册|参数|spec|standard/iu],output:["technical_specification"]},{id:"risk",label:"风险约束资料",patterns:[/风险|重点|难点|约束|限制|现场|条件|应急/iu],output:["risk_constraints"]}];function h(a,b){let c=new Set;for(let d of b)for(let b of d.patterns)if(b.lastIndex=0,b.test(a)){for(let a of d.output)c.add(a);break}return[...c]}function i(a,b){for(let c of b)for(let b of c.patterns)if(b.lastIndex=0,b.test(a))return c.output[0]}},95734:(a,b,c)=>{c.d(b,{$y:()=>x,CX:()=>y,Qf:()=>m,Sq:()=>v,bU:()=>u,bb:()=>G,nz:()=>w,rI:()=>A,t5:()=>n});var d=c(95393),e=c(96770),f=c(29281),g=c(22157);let h=new Map,i=0,j=Number(process.env.DOCUMENT_LLM_MAX_CONCURRENCY),k=Number.isFinite(j)?0===j?1/0:j>0?Math.floor(j):void 0:void 0,l=k??1/0;function m(a){return l}function n(a){return l=k??1/0}let o=0,p=[];function q(){i=Math.max(0,i-1);let a=p.shift();a&&!a.settled&&(a.settled=!0,i+=1,a.resolve(q))}let r=[],s=null,t=(()=>{let a=Number(process.env.DOCUMENT_PREFIX_SCHEDULE_WINDOW_MS);return Number.isFinite(a)&&a>=0?Math.floor(a):void 0})();function u(a){return a?.llm?.failureStreak??o}function v(){return l}function w(a){let b=a instanceof Error?`${a.name} ${a.message}`:String(a);return/maximum context length|context ?length|context ?window|too many tokens|input.{0,24}too long|prompt.{0,24}too long|请求.{0,16}(超长|过长|超出)|上下文.{0,16}(超长|超出|过长|窗口)/iu.test(b)||/400/u.test(b)&&/context|too ?long|token|length|上下文/iu.test(b)||/JSON.{0,10}被截断|JSON.{0,10}未闭合/iu.test(b)}function x(){let a=(0,f.I)().load(),b=a.models.reasoning.active||a.models.action.active||a.models.reader.active,c=[...a.models.reasoning.list,...a.models.action.list,...a.models.reader.list].find(a=>a.name===b);if(!c)return;let d=a.providers[c.provider];if(d)return{model:c,provider:d}}function y(a){return a.filter(a=>!!a).reduce((a,b)=>a+b.length,0)}function z(a,b){let c=a.llm.callBreakdown??(a.llm.callBreakdown={}),d=b||"(none)";return c[d]??(c[d]={calls:0,inputChars:0,l3Chars:0,cacheHitTokens:0,cacheMissTokens:0})}async function A(a,b,c=!1,f={}){var j;if(f.diagnostics){f.diagnostics.llm.calls+=1,f.diagnostics.llm.inputChars=(f.diagnostics.llm.inputChars||0)+a.length+b.length;let c=z(f.diagnostics,f.prefixKey);if(c.calls+=1,c.inputChars+=a.length+b.length,c.l3Chars+=f.contextLayers?.l3||0,f.contextLayers){let a=f.diagnostics.llm.layerChars??(f.diagnostics.llm.layerChars={l0:0,l1:0,l2:0,l3:0});a.l0+=f.contextLayers.l0||0,a.l1+=f.contextLayers.l1||0,a.l2+=f.contextLayers.l2||0,a.l3+=f.contextLayers.l3||0}else f.diagnostics.llm.unlayeredChars=(f.diagnostics.llm.unlayeredChars||0)+a.length+b.length}let k=await (j=f.signal,new Promise((a,b)=>{if(i<l){i+=1,a(q);return}let c={resolve:a,reject:b,settled:!1};p.push(c);let d=()=>{if(c.settled)return;c.settled=!0;let a=p.indexOf(c);a>=0&&p.splice(a,1),b(Error("用户中止"))};if(j){if(j.aborted)return void d();j.addEventListener("abort",d,{once:!0})}}));f.diagnostics&&(f.diagnostics.llm.maxActive=Math.max(f.diagnostics.llm.maxActive,i));try{let j,k=x();if(!k)return;let{model:l,provider:m}=k,n=(0,g.c6)({provider:l.provider,model:l.name,baseUrl:m.baseUrl,directEndpoint:m.directEndpoint,protocol:m.protocol,apiKeyHash:m.apiKey?(0,g.c6)(m.apiKey):""}),p=h.get(n);p||(p=(0,d.createProvider)(function(a,b){let c=(0,e.resolveProtocol)(a,b);return"anthropic"===c?"anthropic":"google"===c?"google":"ollama"===c?"ollama":"openrouter"===c?"openrouter":/deepseek/iu.test(a)?"deepseek":"openai"}(l.provider,m),{baseUrl:m.baseUrl,apiKey:m.apiKey,modelName:l.name,directEndpoint:m.directEndpoint}),h.set(n,p));let q=l.name.toLowerCase(),u=function(a,b,c){let e=(0,d.thinkingCapabilityForModel)(b);return"disabled"===c?e&&"unsupported"!==e.disable?{disableThinking:!0,budgetMode:"compact"}:{disableThinking:!1,budgetMode:e?.budgetPolicy==="shared"?"relaxed":"compact",warning:`当前模型 ${b} 思考不可关闭(厂商限制),已忽略“强制关闭思考”配置;建议切换 deepseek 或 gpt 系列模型`}:"enabled"!==c&&"structuredGeneration"===a&&e?"unsupported"===e.disable?{disableThinking:!1,budgetMode:"shared"===e.budgetPolicy?"relaxed":"compact",warning:`当前模型 ${b} 思考不可关闭(厂商限制),生成耗时受限;建议切换 deepseek 或 gpt 系列模型`}:{disableThinking:!0,budgetMode:"compact"}:{disableThinking:!1,budgetMode:"compact"}}(f.taskKind??"structuredGeneration",q,l.thinking);u.warning&&f.diagnostics&&!f.diagnostics.llm.thinkingWarning&&(f.diagnostics.llm.thinkingWarning=u.warning);let v=p.capabilities?.maxOutputTokens||8192,w=/deepseek/iu.test(q)?Math.min(v,8192):v,y="relaxed"===u.budgetMode&&f.maxTokens?Math.min(Math.ceil(6*f.maxTokens),w):f.maxTokens,A=Symbol("empty-content"),B=async(d,e=!1)=>{if(f.signal?.aborted)throw Error("用户中止");let h=f.prefixKey||(0,g.c6)(`${a}
114
- ${b.slice(0,2e3)}`),j=await new Promise((g,j)=>{!function(a,b){var c;let d=(c=i,void 0!==t?t:c>=16?500:120);if(d<=0)return b();r.push({fingerprint:a,launch:b}),s||(s=setTimeout(()=>{s=null;let a=r;for(let b of(r=[],[...a].sort((a,b)=>a.fingerprint<b.fingerprint?-1:+(a.fingerprint>b.fingerprint))))b.launch()},d))}(h,()=>{if(f.signal?.aborted)return void j(Error("用户中止"));p.chat([{role:"system",content:c?`${a}
113
+ ${a.content}`;return(function(a){let b=a.replace(/要求|计划|目标|标准|内容|信息|事实|依据|参数|范围|要点/gu,"");return[a,b].filter(Boolean)})(b).some(a=>c.includes(a))}function f(a,b){let c=(0,d.effectiveTemplateChapters)(a,b).flatMap(a=>a.requiredFacts).map(a=>({id:a,name:a,required:!0,sourceRoleIds:[],extractionHint:""})),e=b?.factFields.map(a=>({id:a.id,name:a.name,required:a.required,sourceRoleIds:a.sourceRoleIds||[],extractionHint:a.extractionHint||""}))||[],f=new Map;for(let a of[...c,...e])f.set(a.id,{...f.get(a.id)||a,...a,required:a.required||f.get(a.id)?.required||!1});return[...f.values()]}function g(a,b){return(!b.sourceRoleIds?.length||!!(a.roleId&&b.sourceRoleIds.includes(a.roleId)))&&e(a,b.name)}},92808:(a,b,c)=>{c.d(b,{NT:()=>e,Ny:()=>f,hW:()=>g,nt:()=>d,rs:()=>i,t0:()=>h});let d=[{id:"report",label:"报告",patterns:[/报告|调研|分析|评估|研究|复盘|总结/iu],output:["报告"]},{id:"plan",label:"实施方案",patterns:[/方案|规划|计划|预案|路径|路线图/iu],output:["实施方案"]},{id:"standard",label:"规范说明",patterns:[/规范|标准|制度|规则|指南|手册/iu],output:["规范说明"]},{id:"proposal",label:"建议方案",patterns:[/建议|提案|需求|响应|说明书/iu],output:["建议方案"]}],e=[{id:"requirement",label:"需求规则资料",patterns:[/需求|要求|规则|条款|约束|响应|澄清|变更/iu],output:["需求约束","规则要求","变更说明"]},{id:"scope",label:"范围资料",patterns:[/范围|内容|任务|目标|边界|对象|工作内容/iu],output:["实施范围","对象范围"]},{id:"structured-data",label:"结构化数据资料",patterns:[/表格|列表|明细|数量|数据|字段|参数|规格|sheet|table|data/iu],output:["结构化数据范围","参数规格范围"]},{id:"quality",label:"质量评价资料",patterns:[/质量|验收|审核|评审|评价|标准|规范|指标/iu],output:["质量要求","评价标准"]},{id:"schedule",label:"时间进度资料",patterns:[/周期|期限|进度|计划|节点|里程碑|时间|日期/iu],output:["周期要求","进度节点要求"]},{id:"safety",label:"安全合规资料",patterns:[/安全|合规|风险|应急|环保|隐私|审计|控制/iu],output:["安全合规要求","风险控制要求"]},{id:"resource",label:"资源配置资料",patterns:[/资源|人员|设备|材料|品牌|采购|供应|配置/iu],output:["资源配置要求"]},{id:"analysis",label:"分析结论",patterns:[/报告|调研|分析|评估|研究|建议|结论/iu],output:["背景依据","分析结论","风险建议"]}],f=[{id:"overview",label:"概况章节",patterns:[/概况|背景|理解|说明|总则|摘要/iu],output:["对象名称","材料范围","实施范围"]},{id:"implementation",label:"实施章节",patterns:[/方法|部署|实施|范围|组织|流程|步骤/iu],output:["实施范围","对象范围","结构化数据范围"]},{id:"controls",label:"控制章节",patterns:[/质量|周期|进度|安全|合规|验收|审核|评价/iu],output:["质量要求","周期要求","安全合规要求"]},{id:"resources",label:"资源章节",patterns:[/资源|人员|设备|材料|品牌|采购|供应|配置/iu],output:["资源配置要求"]},{id:"risk",label:"风险章节",patterns:[/风险|重点|难点|约束|应急|合规/iu],output:["风险控制要求","风险建议"]}],g=[{id:"requirement",label:"需求规则资料",patterns:[/需求|要求|规则|条款|响应|requirement|rule/iu],output:["requirement_document"]},{id:"change",label:"变更澄清资料",patterns:[/补充|澄清|变更|修订|addendum|change/iu],output:["addendum"]},{id:"structured-data",label:"结构化数据资料",patterns:[/表格|列表|明细|数量|数据|字段|参数|规格|sheet|table|data/iu],output:["structured_data"]},{id:"budget",label:"预算费用资料",patterns:[/预算|费用|金额|报价|限价|成本|price|cost|budget/iu],output:["budget_cost"]},{id:"design",label:"设计方案资料",patterns:[/设计|方案|说明|图像|地图|附件|drawing|image|map|design/iu],output:["design_specification"]},{id:"resource",label:"资源配置资料",patterns:[/资源|人员|设备|材料|品牌|采购|供应|配置/iu],output:["resource_recommendation"]},{id:"schedule-quality-safety",label:"进度质量合规资料",patterns:[/质量|周期|进度|安全|合规|验收|审核|评价|环保|应急/iu],output:["schedule_quality_safety"]},{id:"scope",label:"范围任务资料",patterns:[/范围|内容|任务|目标|边界|对象|工作内容/iu],output:["scope_description"]},{id:"technical",label:"技术标准资料",patterns:[/技术|规范|标准|规程|指南|手册|参数|spec|standard/iu],output:["technical_specification"]},{id:"risk",label:"风险约束资料",patterns:[/风险|重点|难点|约束|限制|现场|条件|应急/iu],output:["risk_constraints"]}];function h(a,b){let c=new Set;for(let d of b)for(let b of d.patterns)if(b.lastIndex=0,b.test(a)){for(let a of d.output)c.add(a);break}return[...c]}function i(a,b){for(let c of b)for(let b of c.patterns)if(b.lastIndex=0,b.test(a))return c.output[0]}},95734:(a,b,c)=>{c.d(b,{$y:()=>y,CX:()=>z,Qf:()=>m,Sq:()=>w,bU:()=>v,bb:()=>H,nz:()=>x,rI:()=>B,t5:()=>n});var d=c(95393),e=c(96770),f=c(29281),g=c(22157);let h=new Map,i=0,j=Number(process.env.DOCUMENT_LLM_MAX_CONCURRENCY),k=Number.isFinite(j)?0===j?1/0:j>0?Math.floor(j):void 0:void 0,l=k??1/0;function m(a){return l}function n(a){return l=k??1/0}let o=0,p=[];function q(){i=Math.max(0,i-1);let a=p.shift();a&&!a.settled&&(a.settled=!0,i+=1,a.resolve(q))}let r=[],s=null,t=new Set,u=(()=>{let a=Number(process.env.DOCUMENT_PREFIX_SCHEDULE_WINDOW_MS);return Number.isFinite(a)&&a>=0?Math.floor(a):void 0})();function v(a){return a?.llm?.failureStreak??o}function w(){return l}function x(a){let b=a instanceof Error?`${a.name} ${a.message}`:String(a);return/maximum context length|context ?length|context ?window|too many tokens|input.{0,24}too long|prompt.{0,24}too long|请求.{0,16}(超长|过长|超出)|上下文.{0,16}(超长|超出|过长|窗口)/iu.test(b)||/400/u.test(b)&&/context|too ?long|token|length|上下文/iu.test(b)||/JSON.{0,10}被截断|JSON.{0,10}未闭合/iu.test(b)}function y(){let a=(0,f.I)().load(),b=a.models.reasoning.active||a.models.action.active||a.models.reader.active,c=[...a.models.reasoning.list,...a.models.action.list,...a.models.reader.list].find(a=>a.name===b);if(!c)return;let d=a.providers[c.provider];if(d)return{model:c,provider:d}}function z(a){return a.filter(a=>!!a).reduce((a,b)=>a+b.length,0)}function A(a,b){let c=a.llm.callBreakdown??(a.llm.callBreakdown={}),d=b||"(none)";return c[d]??(c[d]={calls:0,inputChars:0,l3Chars:0,cacheHitTokens:0,cacheMissTokens:0})}async function B(a,b,c=!1,f={}){var j;if(f.diagnostics){f.diagnostics.llm.calls+=1,f.diagnostics.llm.inputChars=(f.diagnostics.llm.inputChars||0)+a.length+b.length;let c=A(f.diagnostics,f.prefixKey);if(c.calls+=1,c.inputChars+=a.length+b.length,c.l3Chars+=f.contextLayers?.l3||0,f.contextLayers){let a=f.diagnostics.llm.layerChars??(f.diagnostics.llm.layerChars={l0:0,l1:0,l2:0,l3:0});a.l0+=f.contextLayers.l0||0,a.l1+=f.contextLayers.l1||0,a.l2+=f.contextLayers.l2||0,a.l3+=f.contextLayers.l3||0}else f.diagnostics.llm.unlayeredChars=(f.diagnostics.llm.unlayeredChars||0)+a.length+b.length}let k=await (j=f.signal,new Promise((a,b)=>{if(i<l){i+=1,a(q);return}let c={resolve:a,reject:b,settled:!1};p.push(c);let d=()=>{if(c.settled)return;c.settled=!0;let a=p.indexOf(c);a>=0&&p.splice(a,1),b(Error("用户中止"))};if(j){if(j.aborted)return void d();j.addEventListener("abort",d,{once:!0})}}));f.diagnostics&&(f.diagnostics.llm.maxActive=Math.max(f.diagnostics.llm.maxActive,i));try{let j,k=y();if(!k)return;let{model:l,provider:m}=k,n=(0,g.c6)({provider:l.provider,model:l.name,baseUrl:m.baseUrl,directEndpoint:m.directEndpoint,protocol:m.protocol,apiKeyHash:m.apiKey?(0,g.c6)(m.apiKey):""}),p=h.get(n);p||(p=(0,d.createProvider)(function(a,b){let c=(0,e.resolveProtocol)(a,b);return"anthropic"===c?"anthropic":"google"===c?"google":"ollama"===c?"ollama":"openrouter"===c?"openrouter":/deepseek/iu.test(a)?"deepseek":"openai"}(l.provider,m),{baseUrl:m.baseUrl,apiKey:m.apiKey,modelName:l.name,directEndpoint:m.directEndpoint}),h.set(n,p));let q=l.name.toLowerCase(),v=function(a,b,c){let e=(0,d.thinkingCapabilityForModel)(b);return"disabled"===c?e&&"unsupported"!==e.disable?{disableThinking:!0,budgetMode:"compact"}:{disableThinking:!1,budgetMode:e?.budgetPolicy==="shared"?"relaxed":"compact",warning:`当前模型 ${b} 思考不可关闭(厂商限制),已忽略“强制关闭思考”配置;建议切换 deepseek 或 gpt 系列模型`}:"enabled"!==c&&"structuredGeneration"===a&&e?"unsupported"===e.disable?{disableThinking:!1,budgetMode:"shared"===e.budgetPolicy?"relaxed":"compact",warning:`当前模型 ${b} 思考不可关闭(厂商限制),生成耗时受限;建议切换 deepseek 或 gpt 系列模型`}:{disableThinking:!0,budgetMode:"compact"}:{disableThinking:!1,budgetMode:"compact"}}(f.taskKind??"structuredGeneration",q,l.thinking);v.warning&&f.diagnostics&&!f.diagnostics.llm.thinkingWarning&&(f.diagnostics.llm.thinkingWarning=v.warning);let w=p.capabilities?.maxOutputTokens||8192,x=/deepseek/iu.test(q)?Math.min(w,8192):w,z="relaxed"===v.budgetMode&&f.maxTokens?Math.min(Math.ceil(6*f.maxTokens),x):f.maxTokens,B=Symbol("empty-content"),C=async(d,e=!1)=>{if(f.signal?.aborted)throw Error("用户中止");let h=f.prefixKey||(0,g.c6)(`${a}
114
+ ${b.slice(0,2e3)}`),j=(()=>{let d=f.contextLayers?.l3||0;if(d<=0||d>=b.length)return;let e=c?`${a}
115
+ 只返回 JSON,不要返回 markdown。`:a,h=b.slice(0,b.length-d);if(!(h.length<500))return{warmupKey:(0,g.c6)(`${e}
116
+ ${h}`),warmup:()=>{let a=f.diagnostics?A(f.diagnostics,f.prefixKey):void 0;return a&&(a.calls+=1,a.inputChars+=e.length+h.length),p.chat([{role:"system",content:e},{role:"user",content:h}],{temperature:0,maxTokens:1,signal:f.signal,disableThinking:v.disableThinking}).then(b=>{a&&b.usage&&(a.cacheHitTokens+=b.usage.promptCacheHitTokens||0,a.cacheMissTokens+=b.usage.promptCacheMissTokens||0)}).then(()=>void 0)}}})(),k=await new Promise((g,k)=>{!function(a,b,c,d){var e;let f=(e=i,void 0!==u?u:e>=16?500:120);if(f<=0)return b();r.push({fingerprint:a,launch:b,warmup:c,warmupKey:d}),s||(s=setTimeout(()=>{s=null;let a=r;r=[],function(a){let b=[...a].sort((a,b)=>a.fingerprint<b.fingerprint?-1:+(a.fingerprint>b.fingerprint)),c=[];for(let a of b){let b=c[c.length-1];b&&b[0].fingerprint===a.fingerprint?b.push(a):c.push([a])}for(let a of c){let b=a.find(a=>a.warmup&&a.warmupKey);if(!("0"!==process.env.DOCUMENT_PREFIX_WARMUP&&a.length>=2&&b?.warmup&&b.warmupKey&&!t.has(b.warmupKey))){for(let b of a)b.launch();continue}let c=b.warmupKey;t.add(c),b.warmup().catch(()=>{t.delete(c)}).then(()=>{for(let b of a)b.launch()})}}(a)},f))}(h,()=>{if(f.signal?.aborted)return void k(Error("用户中止"));p.chat([{role:"system",content:c?`${a}
115
117
  只返回 JSON,不要返回 markdown。`:a},{role:"user",content:e?`${b}
116
118
 
117
- (重要:缩短思考过程,直接给出最终结论。)`:b}],{temperature:f.temperature??.3*!c,maxTokens:d,signal:f.signal,disableThinking:u.disableThinking}).then(g).catch(a=>j(a instanceof Error?a:Error(String(a))))})}),k=j.content?.trim()??"";if(k){if(f.diagnostics&&j.usage){let a=f.diagnostics.llm;a.inputTokens=(a.inputTokens||0)+j.usage.promptTokens,a.outputTokens=(a.outputTokens||0)+j.usage.completionTokens,a.promptCacheHitTokens=(a.promptCacheHitTokens||0)+(j.usage.promptCacheHitTokens||0),a.promptCacheMissTokens=(a.promptCacheMissTokens||0)+(j.usage.promptCacheMissTokens||0);let b=z(f.diagnostics,f.prefixKey);b.cacheHitTokens+=j.usage.promptCacheHitTokens||0,b.cacheMissTokens+=j.usage.promptCacheMissTokens||0,j.usage.reasoningTokens&&(a.reasoningTokens=(a.reasoningTokens||0)+j.usage.reasoningTokens)}return k}throw A};for(let a=0;a<=1;a+=1){if(f.signal?.aborted)throw Error("用户中止");try{let b=1===a&&j===A,c=await B(y,b);return o=0,f.diagnostics&&(f.diagnostics.llm.failureStreak=0),c}catch(b){if(j=b,f.signal?.aborted)throw Error("用户中止",{cause:b});if(b!==A&&!function(a){let b=a instanceof Error?`${a.name} ${a.message}`:String(a);return/connection error|econnrefused|econnreset|fetch failed|network|socket|eai_again|enotfound|etimedout|429|502|503|504|rate ?limit|too many requests|overloaded|服务繁忙|连接失败|abort|timeout|timed ?out/iu.test(b)}(b)||a>=1)break;f.diagnostics&&(f.diagnostics.llm.retries+=1),await new Promise(c=>{setTimeout(c,function(a,b=0){return"0"!==process.env.DOCUMENT_LLM_RETRY_BACKOFF&&a&&function(a){let b=a instanceof Error?`${a.name} ${a.message}`:String(a);return/503|overloaded|服务繁忙/iu.test(b)}(a)?Math.min(3e4,2e3*2**Math.max(0,b))+Math.floor(1e3*Math.random()):1200+Math.floor(800*Math.random())}(b,a))})}}o+=1,f.diagnostics&&(f.diagnostics.llm.failures+=1,f.diagnostics.llm.failureStreak=(f.diagnostics.llm.failureStreak||0)+1,f.diagnostics.llm.lastError=j instanceof Error?j.message:j===A?"空响应(思考阶段耗尽输出预算)":String(j));return}finally{k()}}function B(a){let b=a.trim(),c=b.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/iu)?.[1]?.trim();if(c)return c;let d=b.indexOf("{"),e=b.lastIndexOf("}"),f=b.indexOf("["),g=b.lastIndexOf("]"),h=d>=0&&e>d?b.slice(d,e+1):"",i=f>=0&&g>f?b.slice(f,g+1):"";return h&&(!i||d<=f)?h:i||b}function C(a,b){if("object"!=typeof a||null===a||Array.isArray(a))return[`根节点类型错误(期望 object,得到 ${null===a?"null":Array.isArray(a)?"array":typeof a})`];let c=[];for(let d of b.required||[])d in a||c.push(`缺失字段 $.${d}`);for(let[d,e]of Object.entries(b.properties)){let b=a[d];if(void 0===b){e.required&&c.push(`缺失字段 $.${d}`);continue}c.push(...function a(b,c,d){let e=Array.isArray(b)?"array":null===b?"null":typeof b;if("number"===c.type&&"string"===e){let a=String(b).trim(),c=Number(a);""!==a&&Number.isFinite(c)&&(e="number")}if(e!==c.type)return[`字段 ${d} 类型错误(期望 ${c.type},得到 ${Array.isArray(b)?"array":null===b?"null":typeof b})`];let f=[];if("string"===c.type)void 0!==c.minLength&&b.length<c.minLength&&f.push(`字段 ${d} 长度不足(期望 ≥${c.minLength},得到 ${b.length})`),void 0!==c.maxLength&&b.length>c.maxLength&&f.push(`字段 ${d} 长度超限(期望 ≤${c.maxLength},得到 ${b.length})`);else if("array"===c.type)void 0!==c.minItems&&b.length<c.minItems&&f.push(`字段 ${d} 条数不足(期望 ≥${c.minItems},得到 ${b.length})`),void 0!==c.maxItems&&b.length>c.maxItems&&f.push(`字段 ${d} 条数超限(期望 ≤${c.maxItems},得到 ${b.length})`),c.items&&b.forEach((b,e)=>f.push(...a(b,c.items,`${d}[${e}]`)));else if("object"===c.type&&c.properties)for(let[e,g]of Object.entries(c.properties)){let c=b[e];if(void 0===c){g.required&&f.push(`缺失字段 ${d}.${e}`);continue}f.push(...a(c,g,`${d}.${e}`))}return f}(b,e,`$.${d}`))}return c.slice(0,6)}function D(a,b){a&&(a.llm.schemaFailures=(a.llm.schemaFailures||0)+1,a.llm.lastError=b)}function E(a){return Math.ceil(1.5*(a||2e3))}async function F(a,b,c={},d){let e,f=c.maxTokens,g=d??((a,b)=>A(a,b,!0,{maxTokens:f,temperature:c.temperature,signal:c.signal,diagnostics:c.diagnostics,disableThinkingBoost:c.disableThinkingBoost,taskKind:c.taskKind,contextLayers:c.contextLayers,prefixKey:c.prefixKey}));for(let d=0;d<=2&&!c.signal?.aborted;d+=1){let h=0===d?b:`${b}
119
+ (重要:缩短思考过程,直接给出最终结论。)`:b}],{temperature:f.temperature??.3*!c,maxTokens:d,signal:f.signal,disableThinking:v.disableThinking}).then(g).catch(a=>k(a instanceof Error?a:Error(String(a))))},j?.warmup,j?.warmupKey)}),l=k.content?.trim()??"";if(l){if(f.diagnostics&&k.usage){let a=f.diagnostics.llm;a.inputTokens=(a.inputTokens||0)+k.usage.promptTokens,a.outputTokens=(a.outputTokens||0)+k.usage.completionTokens,a.promptCacheHitTokens=(a.promptCacheHitTokens||0)+(k.usage.promptCacheHitTokens||0),a.promptCacheMissTokens=(a.promptCacheMissTokens||0)+(k.usage.promptCacheMissTokens||0);let b=A(f.diagnostics,f.prefixKey);b.cacheHitTokens+=k.usage.promptCacheHitTokens||0,b.cacheMissTokens+=k.usage.promptCacheMissTokens||0,k.usage.reasoningTokens&&(a.reasoningTokens=(a.reasoningTokens||0)+k.usage.reasoningTokens)}return l}throw B};for(let a=0;a<=1;a+=1){if(f.signal?.aborted)throw Error("用户中止");try{let b=1===a&&j===B,c=await C(z,b);return o=0,f.diagnostics&&(f.diagnostics.llm.failureStreak=0),c}catch(b){if(j=b,f.signal?.aborted)throw Error("用户中止",{cause:b});if(b!==B&&!function(a){let b=a instanceof Error?`${a.name} ${a.message}`:String(a);return/connection error|econnrefused|econnreset|fetch failed|network|socket|eai_again|enotfound|etimedout|429|502|503|504|rate ?limit|too many requests|overloaded|服务繁忙|连接失败|abort|timeout|timed ?out/iu.test(b)}(b)||a>=1)break;f.diagnostics&&(f.diagnostics.llm.retries+=1),await new Promise(c=>{setTimeout(c,function(a,b=0){return"0"!==process.env.DOCUMENT_LLM_RETRY_BACKOFF&&a&&function(a){let b=a instanceof Error?`${a.name} ${a.message}`:String(a);return/503|overloaded|服务繁忙/iu.test(b)}(a)?Math.min(3e4,2e3*2**Math.max(0,b))+Math.floor(1e3*Math.random()):1200+Math.floor(800*Math.random())}(b,a))})}}o+=1,f.diagnostics&&(f.diagnostics.llm.failures+=1,f.diagnostics.llm.failureStreak=(f.diagnostics.llm.failureStreak||0)+1,f.diagnostics.llm.lastError=j instanceof Error?j.message:j===B?"空响应(思考阶段耗尽输出预算)":String(j));return}finally{k()}}function C(a){let b=a.trim(),c=b.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/iu)?.[1]?.trim();if(c)return c;let d=b.indexOf("{"),e=b.lastIndexOf("}"),f=b.indexOf("["),g=b.lastIndexOf("]"),h=d>=0&&e>d?b.slice(d,e+1):"",i=f>=0&&g>f?b.slice(f,g+1):"";return h&&(!i||d<=f)?h:i||b}function D(a,b){if("object"!=typeof a||null===a||Array.isArray(a))return[`根节点类型错误(期望 object,得到 ${null===a?"null":Array.isArray(a)?"array":typeof a})`];let c=[];for(let d of b.required||[])d in a||c.push(`缺失字段 $.${d}`);for(let[d,e]of Object.entries(b.properties)){let b=a[d];if(void 0===b){e.required&&c.push(`缺失字段 $.${d}`);continue}c.push(...function a(b,c,d){let e=Array.isArray(b)?"array":null===b?"null":typeof b;if("number"===c.type&&"string"===e){let a=String(b).trim(),c=Number(a);""!==a&&Number.isFinite(c)&&(e="number")}if(e!==c.type)return[`字段 ${d} 类型错误(期望 ${c.type},得到 ${Array.isArray(b)?"array":null===b?"null":typeof b})`];let f=[];if("string"===c.type)void 0!==c.minLength&&b.length<c.minLength&&f.push(`字段 ${d} 长度不足(期望 ≥${c.minLength},得到 ${b.length})`),void 0!==c.maxLength&&b.length>c.maxLength&&f.push(`字段 ${d} 长度超限(期望 ≤${c.maxLength},得到 ${b.length})`);else if("array"===c.type)void 0!==c.minItems&&b.length<c.minItems&&f.push(`字段 ${d} 条数不足(期望 ≥${c.minItems},得到 ${b.length})`),void 0!==c.maxItems&&b.length>c.maxItems&&f.push(`字段 ${d} 条数超限(期望 ≤${c.maxItems},得到 ${b.length})`),c.items&&b.forEach((b,e)=>f.push(...a(b,c.items,`${d}[${e}]`)));else if("object"===c.type&&c.properties)for(let[e,g]of Object.entries(c.properties)){let c=b[e];if(void 0===c){g.required&&f.push(`缺失字段 ${d}.${e}`);continue}f.push(...a(c,g,`${d}.${e}`))}return f}(b,e,`$.${d}`))}return c.slice(0,6)}function E(a,b){a&&(a.llm.schemaFailures=(a.llm.schemaFailures||0)+1,a.llm.lastError=b)}function F(a){return Math.ceil(1.5*(a||2e3))}async function G(a,b,c={},d){let e,f=c.maxTokens,g=d??((a,b)=>B(a,b,!0,{maxTokens:f,temperature:c.temperature,signal:c.signal,diagnostics:c.diagnostics,disableThinkingBoost:c.disableThinkingBoost,taskKind:c.taskKind,contextLayers:c.contextLayers,prefixKey:c.prefixKey}));for(let d=0;d<=2&&!c.signal?.aborted;d+=1){let h=0===d?b:`${b}
118
120
 
119
- (重试修正:上一次输出未通过——${e??"输出无效"}。请重新输出完整合法的 JSON,只返回 JSON。)`,i=await g(a,h);if(!i){c.outFailure&&c.diagnostics?.llm.lastError&&(c.outFailure.value=c.diagnostics.llm.lastError);break}let j=B(i);try{let a=JSON.parse(j);if(c.schema){let b=C(a,c.schema);if(b.length>0){let a=`JSON Schema 校验失败:${b.join(";")}`;if(e=a,D(c.diagnostics,a),a.includes("缺失字段")&&(f=E(f)),d>=2){c.outFailure&&(c.outFailure.value=a);return}continue}}return a}catch{let a=function(a){let b=a.trim(),c=b.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/iu)?.[1]?.trim()??b,d=c.indexOf("{"),e=c.indexOf("["),f=d<0?e:e<0?d:Math.min(d,e);if(f<0)return;let g=c.slice(f),h=[],i=!1,j=!1,k=[];for(let a=0;a<g.length;a+=1){let b=g[a];if(i){j?j=!1:"\\"===b?j=!0:'"'===b&&(i=!1);continue}if('"'===b){i=!0;continue}if("{"===b||"["===b){h.push("{"===b?"object":"array");continue}if("}"===b||"]"===b){h.pop();continue}","===b&&(k[h.length-1]=a)}if(0===h.length)return;let l=-1;for(let a=h.length-1;a>=0;a-=1)if(void 0!==k[a]){l=a;break}if(l<0)return;let m=k[l],n=g.slice(0,m),o=[];for(let a=l;a>=0;a-=1)o.push("object"===h[a]?"}":"]");let p=`${n}${o.join("")}`;try{return JSON.parse(p),p}catch{return}}(i);if(a)try{let b=JSON.parse(a);if(c.schema){let a=C(b,c.schema);if(0===a.length)return b;let g=`JSON Schema 校验失败:${a.join(";")}`;if(e=g,D(c.diagnostics,g),g.includes("缺失字段")&&(f=E(f)),d>=2){c.outFailure&&(c.outFailure.value=g);return}continue}return b}catch{}let b=`JSON 解析失败:${function(a){let b=B(a),c=(b.match(/\{/gu)||[]).length-(b.match(/\}/gu)||[]).length,d=(b.match(/\[/gu)||[]).length-(b.match(/\]/gu)||[]).length,e=b.slice(-80).replace(/\s+/gu," ");return c>0||d>0?`JSON 被截断({ 未闭合 ${c} 个、[ 未闭合 ${d} 个),截断位置响应末段:${e}`:`JSON 语法错误,出错位置响应末段:${e}`}(j)}`;if(e=b,/JSON 被截断/u.test(b)&&(f=E(f)),D(c.diagnostics,b),d>=2){c.outFailure&&(c.outFailure.value=b);return}continue}}}async function G(a,b,c={}){return F(a,b,c)}},98632:(a,b,c)=>{c.d(b,{BH:()=>o,QX:()=>i,tf:()=>p});var d=c(1358),e=c(78217),f=c(37047),g=c(52922);let h=["精心组织","科学统筹","科学管理","精益求精","全力保障","高效推进","力争优质","力争一流","一流水平","完善体系","最大限度","显著提升","大力落实","严格把控","充分确保","竭力打造","现代化管理","加强管理","提高意识","强化监督","持续完善","及时处理","全方位","常态化","提质增效","高标准","统筹推进"],i=[...h,"定期检查","系统性"],j=["危险性较大的分部分项工程安全管理","扬尘污染防治措施","建筑工人实名制管理","农民工工资专用账户与工资支付保障","生产安全事故应急预案与应急演练","绿色施工与四节一环保措施"],k=["危险源辨识与风险识别评估","编制专项施工方案","组织专家论证并履行审批程序","对作业人员进行安全技术交底","施工过程监测与监控量测","分部分项工程验收","三级配电系统","两级漏电保护装置","漏电保护器与接地保护","实名制考勤与人员管理","农民工工资专用账户银行代发","应急预案编制与响应","绿色施工措施与评价"],l=/目录|层级|编号|表格|表头|分隔线|跨章|数据一致|数值口径|页码|空小节|缺少|缺失|缺节/u;function m(a){return a.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").replace(/\s+/gu,"").trim()}async function n(a,b){let{blocks:c,completeBlocks:d}=await (0,g.Pm)(a);return Math.round((.7*Math.min(1,d/Math.max(6,Math.ceil(b??(0,e.V7)(a)/1500)))+.3*(c?d/c:0))*100)}async function o(a,b){let c=await (0,g.Bt)(a,b),d=(0,g.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,h=await (0,g.gE)(a,b),i=(0,g.nY)(a);return{level:h.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:i,difficultyCountermeasureRatio:h.ratio,difficultyBothCount:h.bothCount,difficultyCountermeasures:h.countermeasures,difficultyHeavyTemplated:h.heavyTemplated}}async function p(a){var b;let c=a.markdown.split(/\n{2,}/u).filter(a=>a.trim().length>=30),e=await (0,f.Mv)(c,[...j,...k],a.embedDocuments),i=a=>c.some(b=>e(b,a)>=f.Eh),o=await (0,g.Bt)(a.markdown,a.embedDocuments);return{completeness:function(a,b,c,d){let e=[...a.matchAll(/^#{1,3}\s+(.+)$/gmu)].map(a=>m(a[1]||"")).filter(a=>a.length>=2),f=1,g=c?.chapters||[];if(g.length>0){let a=g.map(a=>m(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(m(a.title))||m(a.title).includes(b))).length/b.length);return Math.round((.55*f+.45*(j.filter(d).length/j.length))*100)}(a.markdown,a.chapters,a.template,i),specificity:function(a,b,c){let e=c.filter(d.O7),f=e.filter(a=>"used"===a.status),g=e.length?f.length/e.length:1,h=f.map(a=>String(a.value||"").replace(/\s+/gu," ").trim()).filter(a=>a.length>=4&&a.length<=60),i=b.map(a=>(a.content||"").replace(/\s+/gu," ")),j=h.filter(a=>i.filter(b=>b.includes(a)).length>=2).length;return Math.round((.55*g+.45*(h.length?j/h.length:1))*100)}(a.markdown,a.chapters,a.factTraces),compliance:function(a,b){let c=k.filter(b).length/k.length,d=(0,g.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,g.bH)(a).coverage)*100)}(a.markdown,i),executability:await n(a.markdown,a.referenceCompleteBlocks),normalization:Math.max(0,100-8*(b=a.issues).filter(a=>"error"===a.level&&l.test(a.message)).length-Math.min(3*b.filter(a=>"warning"===a.level&&l.test(a.message)).length,30)),uniqueness:function(a,b){let c=h.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,o)}}}};
121
+ (重试修正:上一次输出未通过——${e??"输出无效"}。请重新输出完整合法的 JSON,只返回 JSON。)`,i=await g(a,h);if(!i){c.outFailure&&c.diagnostics?.llm.lastError&&(c.outFailure.value=c.diagnostics.llm.lastError);break}let j=C(i);try{let a=JSON.parse(j);if(c.schema){let b=D(a,c.schema);if(b.length>0){let a=`JSON Schema 校验失败:${b.join(";")}`;if(e=a,E(c.diagnostics,a),a.includes("缺失字段")&&(f=F(f)),d>=2){c.outFailure&&(c.outFailure.value=a);return}continue}}return a}catch{let a=function(a){let b=a.trim(),c=b.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/iu)?.[1]?.trim()??b,d=c.indexOf("{"),e=c.indexOf("["),f=d<0?e:e<0?d:Math.min(d,e);if(f<0)return;let g=c.slice(f),h=[],i=!1,j=!1,k=[];for(let a=0;a<g.length;a+=1){let b=g[a];if(i){j?j=!1:"\\"===b?j=!0:'"'===b&&(i=!1);continue}if('"'===b){i=!0;continue}if("{"===b||"["===b){h.push("{"===b?"object":"array");continue}if("}"===b||"]"===b){h.pop();continue}","===b&&(k[h.length-1]=a)}if(0===h.length)return;let l=-1;for(let a=h.length-1;a>=0;a-=1)if(void 0!==k[a]){l=a;break}if(l<0)return;let m=k[l],n=g.slice(0,m),o=[];for(let a=l;a>=0;a-=1)o.push("object"===h[a]?"}":"]");let p=`${n}${o.join("")}`;try{return JSON.parse(p),p}catch{return}}(i);if(a)try{let b=JSON.parse(a);if(c.schema){let a=D(b,c.schema);if(0===a.length)return b;let g=`JSON Schema 校验失败:${a.join(";")}`;if(e=g,E(c.diagnostics,g),g.includes("缺失字段")&&(f=F(f)),d>=2){c.outFailure&&(c.outFailure.value=g);return}continue}return b}catch{}let b=`JSON 解析失败:${function(a){let b=C(a),c=(b.match(/\{/gu)||[]).length-(b.match(/\}/gu)||[]).length,d=(b.match(/\[/gu)||[]).length-(b.match(/\]/gu)||[]).length,e=b.slice(-80).replace(/\s+/gu," ");return c>0||d>0?`JSON 被截断({ 未闭合 ${c} 个、[ 未闭合 ${d} 个),截断位置响应末段:${e}`:`JSON 语法错误,出错位置响应末段:${e}`}(j)}`;if(e=b,/JSON 被截断/u.test(b)&&(f=F(f)),E(c.diagnostics,b),d>=2){c.outFailure&&(c.outFailure.value=b);return}continue}}}async function H(a,b,c={}){return G(a,b,c)}},98632:(a,b,c)=>{c.d(b,{BH:()=>o,QX:()=>i,tf:()=>p});var d=c(1358),e=c(78217),f=c(37047),g=c(52922);let h=["精心组织","科学统筹","科学管理","精益求精","全力保障","高效推进","力争优质","力争一流","一流水平","完善体系","最大限度","显著提升","大力落实","严格把控","充分确保","竭力打造","现代化管理","加强管理","提高意识","强化监督","持续完善","及时处理","全方位","常态化","提质增效","高标准","统筹推进"],i=[...h,"定期检查","系统性"],j=["危险性较大的分部分项工程安全管理","扬尘污染防治措施","建筑工人实名制管理","农民工工资专用账户与工资支付保障","生产安全事故应急预案与应急演练","绿色施工与四节一环保措施"],k=["危险源辨识与风险识别评估","编制专项施工方案","组织专家论证并履行审批程序","对作业人员进行安全技术交底","施工过程监测与监控量测","分部分项工程验收","三级配电系统","两级漏电保护装置","漏电保护器与接地保护","实名制考勤与人员管理","农民工工资专用账户银行代发","应急预案编制与响应","绿色施工措施与评价"],l=/目录|层级|编号|表格|表头|分隔线|跨章|数据一致|数值口径|页码|空小节|缺少|缺失|缺节/u;function m(a){return a.replace(/^第[一二三四五六七八九十百千万\d]+[章节]\s*/u,"").replace(/^\d+(?:\.\d+)*[、..\s]+/u,"").replace(/^[((]?[一二三四五六七八九十]+[))、..\s]+/u,"").replace(/\s+/gu,"").trim()}async function n(a,b){let{blocks:c,completeBlocks:d}=await (0,g.Pm)(a);return Math.round((.7*Math.min(1,d/Math.max(6,Math.ceil(b??(0,e.V7)(a)/1500)))+.3*(c?d/c:0))*100)}async function o(a,b){let c=await (0,g.Bt)(a,b),d=(0,g.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,h=await (0,g.gE)(a,b),i=(0,g.nY)(a);return{level:h.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:i,difficultyCountermeasureRatio:h.ratio,difficultyBothCount:h.bothCount,difficultyCountermeasures:h.countermeasures,difficultyHeavyTemplated:h.heavyTemplated}}async function p(a){var b;let c=a.markdown.split(/\n{2,}/u).filter(a=>a.trim().length>=30),e=await (0,f.Mv)(c,[...j,...k],a.embedDocuments),i=a=>c.some(b=>e(b,a)>=f.Eh),o=await (0,g.Bt)(a.markdown,a.embedDocuments);return{completeness:function(a,b,c,d){let e=[...a.matchAll(/^#{1,3}\s+(.+)$/gmu)].map(a=>m(a[1]||"")).filter(a=>a.length>=2),f=1,g=c?.chapters||[];if(g.length>0){let a=g.map(a=>m(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(m(a.title))||m(a.title).includes(b))).length/b.length);return Math.round((.55*f+.45*(j.filter(d).length/j.length))*100)}(a.markdown,a.chapters,a.template,i),specificity:function(a,b,c){let e=c.filter(d.O7),f=e.filter(a=>"used"===a.status),g=e.length?f.length/e.length:1,h=f.map(a=>String(a.value||"").replace(/\s+/gu," ").trim()).filter(a=>a.length>=4&&a.length<=60),i=b.map(a=>(a.content||"").replace(/\s+/gu," ")),j=h.filter(a=>i.filter(b=>b.includes(a)).length>=2).length;return Math.round((.55*g+.45*(h.length?j/h.length:1))*100)}(a.markdown,a.chapters,a.factTraces),compliance:function(a,b){let c=k.filter(b).length/k.length,d=(0,g.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,g.bH)(a).coverage)*100)}(a.markdown,i),executability:await n(a.markdown,a.referenceCompleteBlocks),normalization:Math.max(0,100-8*(b=a.issues).filter(a=>"error"===a.level&&l.test(a.message)).length-Math.min(3*b.filter(a=>"warning"===a.level&&l.test(a.message)).length,30)),uniqueness:function(a,b){let c=h.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,o)}}}};