@customize-agent/server 4.2.6 → 4.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +6 -6
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/208.js +2 -2
  5. package/.next/server/chunks/2405.js +10 -10
  6. package/.next/server/chunks/2484.js +1 -1
  7. package/.next/server/chunks/4680.js +2 -2
  8. package/.next/server/chunks/5284.js +8 -8
  9. package/.next/server/chunks/5840.js +1 -1
  10. package/.next/server/chunks/8204.js +1 -1
  11. package/.next/server/chunks/8661.js +3 -3
  12. package/.next/server/middleware-build-manifest.js +1 -1
  13. package/.next/server/pages/404.html +1 -1
  14. package/.next/server/pages/500.html +1 -1
  15. package/.next/server/pages/api/template-references.js +1 -1
  16. package/.next/server/pages/asset-library.html +1 -1
  17. package/.next/server/pages/document-roles.html +1 -1
  18. package/.next/server/pages/documents.html +1 -1
  19. package/.next/server/pages/guide.html +1 -1
  20. package/.next/server/pages/index.html +1 -1
  21. package/.next/server/pages/knowledge/file-detail.html +1 -1
  22. package/.next/server/pages/knowledge/files.html +1 -1
  23. package/.next/server/pages/knowledge/manage.html +1 -1
  24. package/.next/server/pages/knowledge.html +1 -1
  25. package/.next/server/pages/models.html +1 -1
  26. package/.next/server/pages/overview.html +1 -1
  27. package/.next/server/pages/prompt.html +1 -1
  28. package/.next/server/pages/settings.html +1 -1
  29. package/.next/server/pages/system/logs.html +1 -1
  30. package/.next/server/pages/template-references.html +1 -1
  31. package/.next/server/pages-manifest.json +24 -24
  32. package/.next/static/{XgGKtqmwpahXYicc2ieXW → Hr72uu8Mpoi5l6aLwpXdH}/_buildManifest.js +1 -1
  33. package/.next/static/chunks/{592-c667dfd191c1ea0c.js → 564-30bfcb28e1d2c309.js} +3 -3
  34. package/.next/static/chunks/pages/{_app-55467a8f660aa065.js → _app-064a0ba1b894144e.js} +1 -1
  35. package/.next/static/chunks/pages/template-references-e0ab1466f28cc4fc.js +1 -0
  36. package/.next/static/css/71d287d5aa97349c.css +1 -0
  37. package/messages/en-US.json +0 -4
  38. package/messages/zh-CN.json +0 -4
  39. package/package.json +1 -1
  40. package/.next/static/chunks/pages/template-references-68b9bd99fc910922.js +0 -1
  41. package/.next/static/css/10c378422f47671a.css +0 -1
  42. /package/.next/static/{XgGKtqmwpahXYicc2ieXW → Hr72uu8Mpoi5l6aLwpXdH}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=5840,exports.ids=[5840],exports.modules={8753:(a,b,c)=>{c.d(b,{V:()=>h});var d=c(73024),e=c(48161),f=c(76760);let g={reviewStandardQueries:[],reviewChapterTemplateMatchers:[],reviewChapterSectionDefaults:{firstChapterSections:[],chapterSections:[],firstChapterTableSections:[],firstChapterTableRequirements:[]},templates:[],roles:[],roleConfigs:[],qualityBenchmarks:[],autoSpecGates:[],chapterTitleFilters:[]};function h(){try{var a;let b=function(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"engineering-document-config.json")}();if(!d.existsSync(b))return g;return a=JSON.parse(d.readFileSync(b,"utf-8")),{reviewStandardQueries:Array.isArray(a.reviewStandardQueries)?a.reviewStandardQueries.filter(Boolean):[],reviewChapterTemplateMatchers:Array.isArray(a.reviewChapterTemplateMatchers)?a.reviewChapterTemplateMatchers.filter(Boolean):[],reviewChapterSectionDefaults:{firstChapterSections:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterSections)?a.reviewChapterSectionDefaults.firstChapterSections.filter(Boolean):[],chapterSections:Array.isArray(a.reviewChapterSectionDefaults?.chapterSections)?a.reviewChapterSectionDefaults.chapterSections.filter(Boolean):[],firstChapterTableSections:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterTableSections)?a.reviewChapterSectionDefaults.firstChapterTableSections.filter(Boolean):[],firstChapterTableRequirements:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterTableRequirements)?a.reviewChapterSectionDefaults.firstChapterTableRequirements.filter(Boolean):[]},templates:Array.isArray(a.templates)?a.templates:[],roles:Array.isArray(a.roles)?a.roles:[],roleConfigs:Array.isArray(a.roleConfigs)?a.roleConfigs:[],qualityBenchmarks:Array.isArray(a.qualityBenchmarks)?a.qualityBenchmarks:[],technicalDetailGate:a.technicalDetailGate,autoSpecGates:Array.isArray(a.autoSpecGates)?a.autoSpecGates:[],chapterTitleFilters:Array.isArray(a.chapterTitleFilters)?a.chapterTitleFilters:[]}}catch{return g}}},25840:(a,b,c)=>{c.d(b,{DZ:()=>v,FV:()=>u,Mu:()=>w,NR:()=>x,XB:()=>s,dg:()=>t,dw:()=>y,ov:()=>B,tl:()=>A});var d=c(73024),e=c(48161),f=c(76760),g=c(74329),h=c(8753);function i(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"document-roles.json")}function j(a){return(a||`item-${Date.now()}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,g.hH)}function k(a=[]){let b=new Set,c=[];for(let d of a)!d||b.has(d)||(b.add(d),c.push(d));return c}function l(a){return!!(a&&"object"==typeof a&&"prompt"===a.type)}function m(a){var b;return{id:j(a.id),name:a.name||"未命名角色",description:a.description||"",type:"prompt",builtIn:!!a.builtIn,resourceId:a.resourceId||a.resourceIds?.[0]||void 0,resourceIds:k(Array.isArray(a.resourceIds)&&a.resourceIds.length>0?a.resourceIds:a.resourceId?[a.resourceId]:[]),executionType:"string"==typeof(b=a.executionType)&&g.YB.has(b)?b:"reference"}}function n(a){return{id:j(a.id),name:a.name||"未命名配置",description:a.description||"",builtIn:!!a.builtIn,promptRoles:function(a){if(!Array.isArray(a))return[];let b=[];for(let c=0;c<a.length;c+=1){let d=a[c];d.roleId&&b.push({roleId:d.roleId,order:Number.isFinite(d.order)?d.order:c})}return function(a=[]){let b=new Set,c=[];for(let d of a)!d.roleId||b.has(d.roleId)||(b.add(d.roleId),c.push(d));return c}(b)}(a.promptRoles)}}function o(){try{let a=i();if(!d.existsSync(a))return{roles:[],configs:[],deletedRoleIds:[],deletedConfigIds:[]};let b=JSON.parse(d.readFileSync(a,"utf-8"));if(Array.isArray(b))return{roles:b.filter(l).map(m),configs:[],deletedRoleIds:[],deletedConfigIds:[]};return{roles:Array.isArray(b.roles)?b.roles.filter(l).map(m):[],configs:Array.isArray(b.configs)?b.configs.map(n):[],deletedRoleIds:k(b.deletedRoleIds||[]),deletedConfigIds:k(b.deletedConfigIds||[])}}catch{return{roles:[],configs:[],deletedRoleIds:[],deletedConfigIds:[]}}}function p(a){d.writeFileSync(i(),JSON.stringify({roles:a.roles.map(m),configs:a.configs.map(n),deletedRoleIds:k(a.deletedRoleIds||[]),deletedConfigIds:k(a.deletedConfigIds||[])},null,2),"utf-8")}function q(){return(0,h.V)().roles.filter(l).map(a=>m({...a,builtIn:!0}))}function r(){return(0,h.V)().roleConfigs.map(a=>n({...a,builtIn:!0}))}function s(a){let b=o(),c=new Set(b.deletedRoleIds||[]),d=q().filter(a=>!c.has(`${a.type}:${a.id}`)),e=b.roles.filter(a=>!d.some(b=>b.id===a.id&&b.type===a.type)&&!c.has(`${a.type}:${a.id}`)),f=[...d,...e];return a?f.filter(b=>b.type===a):f}function t(a){let b=m(a),c=o();return c.deletedRoleIds=(c.deletedRoleIds||[]).filter(a=>a!==`${b.type}:${b.id}`),c.roles=c.roles.filter(a=>a.id!==b.id||a.type!==b.type),c.roles.push(b),p(c),b}function u(a,b){let c=o(),d=`${a}:${b}`;q().some(c=>c.id===b&&c.type===a)&&(c.deletedRoleIds=k([...c.deletedRoleIds||[],d])),c.roles=c.roles.filter(c=>c.id!==b||c.type!==a),c.configs=c.configs.map(c=>({...c,promptRoles:c.promptRoles.filter(c=>"prompt"!==a||c.roleId!==b)})),p(c)}function v(){let a=o(),b=new Set(a.deletedConfigIds||[]),c=new Set(a.deletedRoleIds||[]),d=a.configs.filter(a=>!b.has(a.id)),e=new Set(d.map(a=>a.id));return[...r().filter(a=>!b.has(a.id)&&!e.has(a.id)),...d].map(a=>({...a,promptRoles:a.promptRoles.filter(a=>!c.has(`prompt:${a.roleId}`))}))}function w(a){return v().find(b=>b.id===a)}function x(a){let b={...n(a),builtIn:!1},c=o();return c.deletedConfigIds=(c.deletedConfigIds||[]).filter(a=>a!==b.id),c.configs=c.configs.filter(a=>a.id!==b.id),c.configs.push(b),p(c),b}function y(a){let b=o();r().some(b=>b.id===a)&&(b.deletedConfigIds=k([...b.deletedConfigIds||[],a])),b.configs=b.configs.filter(b=>b.id!==a),p(b)}function z(a,b){let c=j(a);if(!b.has(c))return b.add(c),c;do c=j(`${a}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,7)}`);while(b.has(c));return b.add(c),c}function A(a){let b=a?.roleIds?new Set(a.roleIds):null,c=a?.configIds?new Set(a.configIds):null,d=o();return{type:"customize-agent.documentRoles",version:1,exportedAt:new Date().toISOString(),roles:d.roles.filter(a=>!b||b.has(a.id)).map(m),configs:d.configs.filter(a=>!c||c.has(a.id)).map(n)}}function B(a){let b=a&&"object"==typeof a?a:{},c=Array.isArray(b.roles)?b.roles.filter(l):[],d=Array.isArray(b.configs)?b.configs:[];if(0===c.length&&0===d.length)throw Error("没有可导入的角色配置");let e=o(),f=new Set([...q().map(a=>a.id),...e.roles.map(a=>a.id)]),g=new Set([...r().map(a=>a.id),...e.configs.map(a=>a.id)]),h=new Map,i=[];for(let a of c){let b=m(a),c=z(b.id,f);h.set(b.id,c),i.push({...b,id:c,builtIn:!1})}let j=new Set([...q().map(a=>a.id),...e.roles.map(a=>a.id),...i.map(a=>a.id)]),k=d.map(a=>{let b=n(a),c=z(b.id,g);return n({...b,id:c,builtIn:!1,promptRoles:(function(a=[],b){return a.map((a,c)=>({roleId:b.get(a.roleId)||a.roleId,order:Number.isFinite(a.order)?a.order:c}))})(b.promptRoles,h).filter(a=>j.has(a.roleId))})});return e.roles.push(...i),e.configs.push(...k),p(e),{importedRoles:i.length,importedConfigs:k.length}}},74329:(a,b,c)=>{c.d(b,{DB:()=>q,Ks:()=>r,Y8:()=>u,jM:()=>s,hH:()=>e,hc:()=>h,Ab:()=>i,Uv:()=>j,cA:()=>l,IA:()=>I,ZH:()=>v,A5:()=>A,gW:()=>p,Dc:()=>t,N3:()=>o,w7:()=>n,bu:()=>J,ZT:()=>x,mu:()=>E,tg:()=>F,FM:()=>C,No:()=>D,QX:()=>K,YB:()=>d,_$:()=>g,NP:()=>f,gr:()=>k,_U:()=>H,Lp:()=>m,pP:()=>G,HX:()=>w,sr:()=>z,EB:()=>y,ug:()=>B});let d=new Set(["fact_extraction","chapter_generation","llm_review","validation","formatting","reference"]),e=80,f=[{type:"missing_structure",pattern:/二级小节少于|三级小节|目录|章节|结构/u},{type:"loop_closure",pattern:/闭环|责任|检查|验收|整改|风险|安全|质量|进度/u},{type:"fact_conflict",pattern:/事实一致性|其他项目|项目编号|项目名称|冲突|污染|requiredFacts/u},{type:"terminology",pattern:/术语|名称不一致|前后不一致/u},{type:"table_numeric",pattern:/表格|量化|数值|单位|参数|结构化|数据/u},{type:"placeholder",pattern:/占位|空泛|后台流程|提示词|泄露|图片/u}],g={missing_structure:"修复重点:补齐缺失小节、修正标题层级和目录相关结构;只在相关位置追加必要正文,不重排一级章节。",loop_closure:"修复重点:补齐与问题相关的责任、措施、检查、验收、整改或记录说明;不得编造具体数据。",fact_conflict:"修复重点:删除或改正与证据冲突的名称、编号、范围、参数;不确定内容改为基于材料的表述,不得新增无来源事实。",terminology:"修复重点:统一同一对象的术语、简称和称谓,保持前后一致,不改变事实含义。",table_numeric:"修复重点:补足表格前后说明、单位、参数来源和量化表达;材料不足时不得编造精确数值。",placeholder:"修复重点:移除占位话术、后台流程话术、提示词痕迹和不允许的图片语法,替换为正文表述。",generic:"修复重点:仅针对列出问题做最小必要修改,避免全文重写。"},h=/用户要求不得|出现禁用文本|生成未完成|章节生成失败|大模型未能|重新生成|空小节|小节只有标题|只有标题或表格无正文|缺少必要表格|正文缺少章节标题|重复 token|退化输出|其他对象|其他文档|文档编号|明确事实污染|明确无来源编造|必需材料角色缺失|章节缺少证据|文档质量基准评分未达标/iu,i=/可靠精确参数使用不足/u,j=/其他对象|其他文档|文档编号|正文疑似混入|事实一致性冲突/iu,k=[{severity:"blocking",pattern:/阻断|空小节|小节只有标题|只有标题或表格无正文|缺少必要表格|正文缺少章节标题|章节生成失败|其他对象|其他文档|文档编号|后台流程|提示词|文档质量基准评分未达标/iu},{severity:"important",pattern:/量化|数值|单位|事实|requiredFacts|闭环|安全|质量|工期|表格|三级小节|目录|术语|不一致/iu}],l={required_fact:a=>({subject:"fact",operator:"exists",target:a.target}),required_chapter:a=>({subject:"chapter",operator:"exists",target:a.target}),required_file_role:a=>({subject:"file_role",operator:"exists",target:a.target}),required_prompt_role:a=>({subject:"prompt_role",operator:"exists",target:a.target}),source_required:()=>({subject:"source",operator:"all_have_source"}),forbidden_text:a=>({subject:"document",operator:"not_contains",value:a.value}),min_chapter_length:a=>({subject:"chapter",operator:"min_length",target:a.target,min:Number(a.value)||void 0}),table_required:()=>({subject:"table",operator:"min_count",min:1})},m=[({evaluator:a,target:b,factNames:c})=>"fact"===a.subject&&"exists"===a.operator&&b&&!c.has(b)?`缺少事实 ${b}`:void 0,({evaluator:a,target:b,chapterTitles:c})=>"chapter"===a.subject&&"exists"===a.operator&&b&&!c.has(b)?`缺少章节 ${b}`:void 0,({evaluator:a,target:b,promptBindings:c})=>"prompt_role"===a.subject&&"exists"===a.operator&&b&&!c.some(a=>a.roleId===b)?`缺少提示词角色 ${b}`:void 0,({evaluator:a,value:b,markdown:c})=>"document"===a.subject&&"contains"===a.operator&&b&&!c.includes(b)?`全文必须包含 ${b}`:void 0,({evaluator:a,value:b,markdown:c})=>"document"===a.subject&&"not_contains"===a.operator&&b&&c.includes(b)?`出现禁用文本 ${b}`:void 0,({evaluator:a,value:b,regex:c,textScope:d})=>"document"!==a.subject&&"chapter"!==a.subject||"regex_match"!==a.operator||!b||c&&c.test(d)?void 0:`未匹配正则 ${b}`,({evaluator:a,value:b,regex:c,textScope:d})=>("document"===a.subject||"chapter"===a.subject)&&"regex_not_match"===a.operator&&c?.test(d)?`匹配到禁止正则 ${b}`:void 0,({evaluator:a,target:b,value:c,chapter:d})=>"chapter"===a.subject&&"contains"===a.operator&&b&&c&&(!d||!d.content.includes(c))?`章节 ${b} 必须包含 ${c}`:void 0,({evaluator:a,target:b,value:c,chapter:d})=>"chapter"===a.subject&&"not_contains"===a.operator&&d?.content.includes(c)?`章节 ${b} 出现禁用文本 ${c}`:void 0,({evaluator:a,target:b,min:c,chapter:d})=>"chapter"===a.subject&&"min_length"===a.operator&&b&&(!d||d.content.length<c)?`章节 ${b} 低于 ${c} 字`:void 0,({evaluator:a,min:b,tableBlocks:c,factsModel:d})=>"table"===a.subject&&"min_count"===a.operator&&d.tables.length+c.length<b?`表格数量少于 ${b}`:void 0,({evaluator:a,markdown:b,tableBlocks:c})=>"table"===a.subject&&"table_explanation_required"===a.operator&&function(a,b){for(let c of b){let b=a.indexOf(c);if(b>=0&&a.slice(b+c.length,b+c.length+120).trim().length<10)return!0}return!1}(b,c)?"存在缺少说明文字的表格":void 0,({evaluator:a,min:b,imageRefs:c})=>"image"===a.subject&&"min_count"===a.operator&&c.length<b?`图片数量少于 ${b}`:void 0,({evaluator:a,min:b,estimatedPages:c})=>"page"===a.subject&&"min_count"===a.operator&&c<b?`预计页数 ${c} 少于 ${b}`:void 0,({evaluator:a,min:b,estimatedPages:c})=>"page"===a.subject&&"max_count"===a.operator&&c>b?`预计页数 ${c} 超过 ${b}`:void 0,({evaluator:a,markdown:b,imageRefs:c})=>"image"===a.subject&&"image_caption_required"===a.operator&&function(a,b){for(let c of b)if(!c.alt&&a.slice(c.index+c.url.length,c.index+c.url.length+120).trim().length<10)return!0;return!1}(b,c)?"存在缺少说明文字的图片":void 0,({evaluator:a,allFacts:b})=>"source"===a.subject&&"all_have_source"===a.operator&&b.some(a=>!a.sourceFile)?"存在无来源事实":void 0,({evaluator:a,min:b,allFacts:c})=>"source"===a.subject&&"min_count"===a.operator&&function(a){let b=new Set;for(let c of a)c.sourceFile&&b.add(c.sourceFile);return b.size}(c)<b?`来源数量少于 ${b}`:void 0],n=/\|.+\|/u,o=/^\s*\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)+\|?\s*$/u,p=/!\[([^\]]*)\]\(([^)]+)\)/gu,q=/^##\s+第[一二三四五六七八九十百]+章\s+.+$/gmu,r=/(?:文档|任务|对象)?基本信息表|资料(?:文档|任务|对象)?基本信息|^###\s*(?:文档|任务|对象)?基本信息\s*$/mu,s=/(?:文档|任务|对象)?基本信息表|资料(?:文档|任务|对象)?基本信息|\|\s*(?:字段|文档|任务|对象|内容)\s*\|/u,t=/^##\s+.+$|^###\s+.+$/gmu,u=["对象名称","对象编号","文档名称","文档编号","任务名称","任务编号","地点","责任主体","范围","周期要求","计划周期","质量标准"],v=["本节","本章将","以下从","以下内容","综上所述"],w=/^##\s+目录\s*$([\s\S]*?)(?=\n<div class="page-break"><\/div>|\n##\s+)/mu,x=/\S/u,y=/^\s*\d+\.\d+\s+\S/u,z=/^\s{2,}\d+\.\d+\s+\S/u,A=/\r?\n/u,B=/\s+/gu,C=/drawing|table|bill|boq|draw|data|sheet|spec|standard|record|report|表格|数据|规格|参数|标准|记录|报告/u,D=/(?:[A-Z]{1,8}[\w.-]*\d[\w.-]*|\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|页|份|人|小时|分钟|天|周|月|年|万元|元)|\d+\s*[×xX]\s*\d+(?:\s*[×xX]\s*\d+)?|\b(?:GB|GB\/T|ISO|IEC|IEEE|RFC|API|DB\d*|T\/[A-Z]+)\s*[\w.-]+\b)/giu,E=20,F=.28,G=/表格|数据|列表|明细|参数|规格|数量|记录|报告|标准/u,H=/设计|方案|说明|节点|流程|步骤|尺寸|做法|配置|规则|标准/u,I=[/见(?:资料|文件|说明|方案|附件|相关文件)/u,/按(?:资料|文件|说明|方案|规范|标准|要求)/u,/满足(?:相关|有关)?要求/u,/\|\s*(?:[/—-]|无|暂无|待定|待补充|N\/?A)\s*\|/iu],J=/^#\s+/mu,K=/(?:示例|样例|范例|例如|参考示例|示例数据|示例正文|示例目录|example|sample)\s*[::]?\s*([\s\S]{20,800}?)(?=\n\s*\n|$)/giu}};
1
+ "use strict";exports.id=5840,exports.ids=[5840],exports.modules={8753:(a,b,c)=>{c.d(b,{V:()=>h});var d=c(73024),e=c(48161),f=c(76760);let g={reviewStandardQueries:[],reviewChapterTemplateMatchers:[],reviewChapterSectionDefaults:{firstChapterSections:[],chapterSections:[],firstChapterTableSections:[],firstChapterTableRequirements:[]},templates:[],roles:[],roleConfigs:[],qualityBenchmarks:[],autoSpecGates:[],chapterTitleFilters:[]};function h(){try{var a;let b=function(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"engineering-document-config.json")}();if(!d.existsSync(b))return g;return a=JSON.parse(d.readFileSync(b,"utf-8")),{reviewStandardQueries:Array.isArray(a.reviewStandardQueries)?a.reviewStandardQueries.filter(Boolean):[],reviewChapterTemplateMatchers:Array.isArray(a.reviewChapterTemplateMatchers)?a.reviewChapterTemplateMatchers.filter(Boolean):[],reviewChapterSectionDefaults:{firstChapterSections:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterSections)?a.reviewChapterSectionDefaults.firstChapterSections.filter(Boolean):[],chapterSections:Array.isArray(a.reviewChapterSectionDefaults?.chapterSections)?a.reviewChapterSectionDefaults.chapterSections.filter(Boolean):[],firstChapterTableSections:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterTableSections)?a.reviewChapterSectionDefaults.firstChapterTableSections.filter(Boolean):[],firstChapterTableRequirements:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterTableRequirements)?a.reviewChapterSectionDefaults.firstChapterTableRequirements.filter(Boolean):[]},templates:Array.isArray(a.templates)?a.templates:[],roles:Array.isArray(a.roles)?a.roles:[],roleConfigs:Array.isArray(a.roleConfigs)?a.roleConfigs:[],qualityBenchmarks:Array.isArray(a.qualityBenchmarks)?a.qualityBenchmarks:[],technicalDetailGate:a.technicalDetailGate,autoSpecGates:Array.isArray(a.autoSpecGates)?a.autoSpecGates:[],chapterTitleFilters:Array.isArray(a.chapterTitleFilters)?a.chapterTitleFilters:[]}}catch{return g}}},25840:(a,b,c)=>{c.d(b,{DZ:()=>v,FV:()=>u,Mu:()=>w,NR:()=>x,XB:()=>s,dg:()=>t,dw:()=>y,ov:()=>B,tl:()=>A});var d=c(73024),e=c(48161),f=c(76760),g=c(74329),h=c(8753);function i(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"document-roles.json")}function j(a){return(a||`item-${Date.now()}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,g.hH)}function k(a=[]){let b=new Set,c=[];for(let d of a)!d||b.has(d)||(b.add(d),c.push(d));return c}function l(a){return!!(a&&"object"==typeof a&&"prompt"===a.type)}function m(a){var b;return{id:j(a.id),name:a.name||"未命名角色",description:a.description||"",type:"prompt",builtIn:!!a.builtIn,resourceId:a.resourceId||a.resourceIds?.[0]||void 0,resourceIds:k(Array.isArray(a.resourceIds)&&a.resourceIds.length>0?a.resourceIds:a.resourceId?[a.resourceId]:[]),executionType:"string"==typeof(b=a.executionType)&&g.YB.has(b)?b:"reference"}}function n(a){return{id:j(a.id),name:a.name||"未命名配置",description:a.description||"",builtIn:!!a.builtIn,promptRoles:function(a){if(!Array.isArray(a))return[];let b=[];for(let c=0;c<a.length;c+=1){let d=a[c];d.roleId&&b.push({roleId:d.roleId,order:Number.isFinite(d.order)?d.order:c})}return function(a=[]){let b=new Set,c=[];for(let d of a)!d.roleId||b.has(d.roleId)||(b.add(d.roleId),c.push(d));return c}(b)}(a.promptRoles)}}function o(){try{let a=i();if(!d.existsSync(a))return{roles:[],configs:[],deletedRoleIds:[],deletedConfigIds:[]};let b=JSON.parse(d.readFileSync(a,"utf-8"));if(Array.isArray(b))return{roles:b.filter(l).map(m),configs:[],deletedRoleIds:[],deletedConfigIds:[]};return{roles:Array.isArray(b.roles)?b.roles.filter(l).map(m):[],configs:Array.isArray(b.configs)?b.configs.map(n):[],deletedRoleIds:k(b.deletedRoleIds||[]),deletedConfigIds:k(b.deletedConfigIds||[])}}catch{return{roles:[],configs:[],deletedRoleIds:[],deletedConfigIds:[]}}}function p(a){d.writeFileSync(i(),JSON.stringify({roles:a.roles.map(m),configs:a.configs.map(n),deletedRoleIds:k(a.deletedRoleIds||[]),deletedConfigIds:k(a.deletedConfigIds||[])},null,2),"utf-8")}function q(){return(0,h.V)().roles.filter(l).map(a=>m({...a,builtIn:!0}))}function r(){return(0,h.V)().roleConfigs.map(a=>n({...a,builtIn:!0}))}function s(a){let b=o(),c=new Set(b.deletedRoleIds||[]),d=q().filter(a=>!c.has(`${a.type}:${a.id}`)),e=b.roles.filter(a=>!d.some(b=>b.id===a.id&&b.type===a.type)&&!c.has(`${a.type}:${a.id}`)),f=[...d,...e];return a?f.filter(b=>b.type===a):f}function t(a){let b=m(a),c=o();return c.deletedRoleIds=(c.deletedRoleIds||[]).filter(a=>a!==`${b.type}:${b.id}`),c.roles=c.roles.filter(a=>a.id!==b.id||a.type!==b.type),c.roles.push(b),p(c),b}function u(a,b){let c=o(),d=`${a}:${b}`;q().some(c=>c.id===b&&c.type===a)&&(c.deletedRoleIds=k([...c.deletedRoleIds||[],d])),c.roles=c.roles.filter(c=>c.id!==b||c.type!==a),c.configs=c.configs.map(c=>({...c,promptRoles:c.promptRoles.filter(c=>"prompt"!==a||c.roleId!==b)})),p(c)}function v(){let a=o(),b=new Set(a.deletedConfigIds||[]),c=new Set(a.deletedRoleIds||[]),d=a.configs.filter(a=>!b.has(a.id)),e=new Set(d.map(a=>a.id));return[...r().filter(a=>!b.has(a.id)&&!e.has(a.id)),...d].map(a=>({...a,promptRoles:a.promptRoles.filter(a=>!c.has(`prompt:${a.roleId}`))}))}function w(a){return v().find(b=>b.id===a)}function x(a){let b={...n(a),builtIn:!1},c=o();return c.deletedConfigIds=(c.deletedConfigIds||[]).filter(a=>a!==b.id),c.configs=c.configs.filter(a=>a.id!==b.id),c.configs.push(b),p(c),b}function y(a){let b=o();r().some(b=>b.id===a)&&(b.deletedConfigIds=k([...b.deletedConfigIds||[],a])),b.configs=b.configs.filter(b=>b.id!==a),p(b)}function z(a,b){let c=j(a);if(!b.has(c))return b.add(c),c;do c=j(`${a}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,7)}`);while(b.has(c));return b.add(c),c}function A(a){let b=a?.roleIds?new Set(a.roleIds):null,c=a?.configIds?new Set(a.configIds):null,d=o();return{type:"customize-agent.documentRoles",version:1,exportedAt:new Date().toISOString(),roles:d.roles.filter(a=>!b||b.has(a.id)).map(m),configs:d.configs.filter(a=>!c||c.has(a.id)).map(n)}}function B(a){let b=a&&"object"==typeof a?a:{},c=Array.isArray(b.roles)?b.roles.filter(l):[],d=Array.isArray(b.configs)?b.configs:[];if(0===c.length&&0===d.length)throw Error("没有可导入的角色配置");let e=o(),f=new Set([...q().map(a=>a.id),...e.roles.map(a=>a.id)]),g=new Set([...r().map(a=>a.id),...e.configs.map(a=>a.id)]),h=new Map,i=[];for(let a of c){let b=m(a),c=z(b.id,f);h.set(b.id,c),i.push({...b,id:c,builtIn:!1})}let j=new Set([...q().map(a=>a.id),...e.roles.map(a=>a.id),...i.map(a=>a.id)]),k=d.map(a=>{let b=n(a),c=z(b.id,g);return n({...b,id:c,builtIn:!1,promptRoles:(function(a=[],b){return a.map((a,c)=>({roleId:b.get(a.roleId)||a.roleId,order:Number.isFinite(a.order)?a.order:c}))})(b.promptRoles,h).filter(a=>j.has(a.roleId))})});return e.roles.push(...i),e.configs.push(...k),p(e),{importedRoles:i.length,importedConfigs:k.length}}},74329:(a,b,c)=>{c.d(b,{DB:()=>q,Ks:()=>r,Y8:()=>u,jM:()=>s,hH:()=>e,hc:()=>h,Ab:()=>i,Uv:()=>j,cA:()=>l,IA:()=>I,ZH:()=>v,A5:()=>A,gW:()=>p,Dc:()=>t,N3:()=>o,w7:()=>n,bu:()=>J,ZT:()=>x,mu:()=>E,tg:()=>F,FM:()=>C,No:()=>D,QX:()=>K,YB:()=>d,_$:()=>g,NP:()=>f,gr:()=>k,_U:()=>H,Lp:()=>m,pP:()=>G,HX:()=>w,sr:()=>z,EB:()=>y,ug:()=>B});let d=new Set(["fact_extraction","chapter_generation","llm_review","validation","formatting","reference"]),e=80,f=[{type:"missing_structure",pattern:/二级小节少于|三级小节|目录|章节|结构/u},{type:"loop_closure",pattern:/闭环|责任|检查|验收|整改|风险|安全|质量|进度/u},{type:"fact_conflict",pattern:/事实一致性|其他项目|项目编号|项目名称|冲突|污染|requiredFacts/u},{type:"terminology",pattern:/术语|名称不一致|前后不一致/u},{type:"table_numeric",pattern:/表格|量化|数值|单位|参数|结构化|数据/u},{type:"placeholder",pattern:/占位|空泛|后台流程|提示词|泄露|图片/u}],g={missing_structure:"修复重点:补齐缺失小节、修正标题层级和目录相关结构;只在相关位置追加必要正文,不重排一级章节。",loop_closure:"修复重点:补齐与问题相关的责任、措施、检查、验收、整改或记录说明;不得编造具体数据。",fact_conflict:"修复重点:删除或改正与证据冲突的名称、编号、范围、参数;不确定内容改为基于材料的表述,不得新增无来源事实。",terminology:"修复重点:统一同一对象的术语、简称和称谓,保持前后一致,不改变事实含义。",table_numeric:"修复重点:补足表格前后说明、单位、参数来源和量化表达;材料不足时不得编造精确数值。参数落位类问题必须把问题中列出的缺失参数清单补写进对应小节正文(自然落位、保持原样或等价专业表达),并提升量化参数种类密度(每千字不少于 2 个不同量化参数,同一参数不得反复堆砌凑数);工艺参数不足时按工序链补写 mm/MPa/间距/偏差/坡度/试验压力/坍落度/锚固长度等通用工艺参数(来自绑定材料或行业规范值)。",placeholder:"修复重点:移除占位话术、后台流程话术、提示词痕迹和不允许的图片语法,替换为正文表述。",generic:"修复重点:仅针对列出问题做最小必要修改,避免全文重写。"},h=/用户要求不得|出现禁用文本|生成未完成|章节生成失败|大模型未能|重新生成|空小节|小节只有标题|只有标题或表格无正文|缺少必要表格|正文缺少章节标题|重复 token|退化输出|其他对象|其他文档|文档编号|明确事实污染|明确无来源编造|必需材料角色缺失|章节缺少证据|文档质量基准评分未达标/iu,i=/可靠精确参数使用不足/u,j=/其他对象|其他文档|文档编号|正文疑似混入|事实一致性冲突/iu,k=[{severity:"blocking",pattern:/阻断|空小节|小节只有标题|只有标题或表格无正文|缺少必要表格|正文缺少章节标题|章节生成失败|其他对象|其他文档|文档编号|后台流程|提示词|文档质量基准评分未达标/iu},{severity:"important",pattern:/量化|数值|单位|事实|requiredFacts|闭环|安全|质量|工期|表格|三级小节|目录|术语|不一致/iu}],l={required_fact:a=>({subject:"fact",operator:"exists",target:a.target}),required_chapter:a=>({subject:"chapter",operator:"exists",target:a.target}),required_file_role:a=>({subject:"file_role",operator:"exists",target:a.target}),required_prompt_role:a=>({subject:"prompt_role",operator:"exists",target:a.target}),source_required:()=>({subject:"source",operator:"all_have_source"}),forbidden_text:a=>({subject:"document",operator:"not_contains",value:a.value}),min_chapter_length:a=>({subject:"chapter",operator:"min_length",target:a.target,min:Number(a.value)||void 0}),table_required:()=>({subject:"table",operator:"min_count",min:1})},m=[({evaluator:a,target:b,factNames:c})=>"fact"===a.subject&&"exists"===a.operator&&b&&!c.has(b)?`缺少事实 ${b}`:void 0,({evaluator:a,target:b,chapterTitles:c})=>"chapter"===a.subject&&"exists"===a.operator&&b&&!c.has(b)?`缺少章节 ${b}`:void 0,({evaluator:a,target:b,promptBindings:c})=>"prompt_role"===a.subject&&"exists"===a.operator&&b&&!c.some(a=>a.roleId===b)?`缺少提示词角色 ${b}`:void 0,({evaluator:a,value:b,markdown:c})=>"document"===a.subject&&"contains"===a.operator&&b&&!c.includes(b)?`全文必须包含 ${b}`:void 0,({evaluator:a,value:b,markdown:c})=>"document"===a.subject&&"not_contains"===a.operator&&b&&c.includes(b)?`出现禁用文本 ${b}`:void 0,({evaluator:a,value:b,regex:c,textScope:d})=>"document"!==a.subject&&"chapter"!==a.subject||"regex_match"!==a.operator||!b||c&&c.test(d)?void 0:`未匹配正则 ${b}`,({evaluator:a,value:b,regex:c,textScope:d})=>("document"===a.subject||"chapter"===a.subject)&&"regex_not_match"===a.operator&&c?.test(d)?`匹配到禁止正则 ${b}`:void 0,({evaluator:a,target:b,value:c,chapter:d})=>"chapter"===a.subject&&"contains"===a.operator&&b&&c&&(!d||!d.content.includes(c))?`章节 ${b} 必须包含 ${c}`:void 0,({evaluator:a,target:b,value:c,chapter:d})=>"chapter"===a.subject&&"not_contains"===a.operator&&d?.content.includes(c)?`章节 ${b} 出现禁用文本 ${c}`:void 0,({evaluator:a,target:b,min:c,chapter:d})=>"chapter"===a.subject&&"min_length"===a.operator&&b&&(!d||d.content.length<c)?`章节 ${b} 低于 ${c} 字`:void 0,({evaluator:a,min:b,tableBlocks:c,factsModel:d})=>"table"===a.subject&&"min_count"===a.operator&&d.tables.length+c.length<b?`表格数量少于 ${b}`:void 0,({evaluator:a,markdown:b,tableBlocks:c})=>"table"===a.subject&&"table_explanation_required"===a.operator&&function(a,b){for(let c of b){let b=a.indexOf(c);if(b>=0&&a.slice(b+c.length,b+c.length+120).trim().length<10)return!0}return!1}(b,c)?"存在缺少说明文字的表格":void 0,({evaluator:a,min:b,imageRefs:c})=>"image"===a.subject&&"min_count"===a.operator&&c.length<b?`图片数量少于 ${b}`:void 0,({evaluator:a,min:b,estimatedPages:c})=>"page"===a.subject&&"min_count"===a.operator&&c<b?`预计页数 ${c} 少于 ${b}`:void 0,({evaluator:a,min:b,estimatedPages:c})=>"page"===a.subject&&"max_count"===a.operator&&c>b?`预计页数 ${c} 超过 ${b}`:void 0,({evaluator:a,markdown:b,imageRefs:c})=>"image"===a.subject&&"image_caption_required"===a.operator&&function(a,b){for(let c of b)if(!c.alt&&a.slice(c.index+c.url.length,c.index+c.url.length+120).trim().length<10)return!0;return!1}(b,c)?"存在缺少说明文字的图片":void 0,({evaluator:a,allFacts:b})=>"source"===a.subject&&"all_have_source"===a.operator&&b.some(a=>!a.sourceFile)?"存在无来源事实":void 0,({evaluator:a,min:b,allFacts:c})=>"source"===a.subject&&"min_count"===a.operator&&function(a){let b=new Set;for(let c of a)c.sourceFile&&b.add(c.sourceFile);return b.size}(c)<b?`来源数量少于 ${b}`:void 0],n=/\|.+\|/u,o=/^\s*\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)+\|?\s*$/u,p=/!\[([^\]]*)\]\(([^)]+)\)/gu,q=/^##\s+第[一二三四五六七八九十百]+章\s+.+$/gmu,r=/(?:文档|任务|对象)?基本信息表|资料(?:文档|任务|对象)?基本信息|^###\s*(?:文档|任务|对象)?基本信息\s*$/mu,s=/(?:文档|任务|对象)?基本信息表|资料(?:文档|任务|对象)?基本信息|\|\s*(?:字段|文档|任务|对象|内容)\s*\|/u,t=/^##\s+.+$|^###\s+.+$/gmu,u=["对象名称","对象编号","文档名称","文档编号","任务名称","任务编号","地点","责任主体","范围","周期要求","计划周期","质量标准"],v=["本节","本章将","以下从","以下内容","综上所述"],w=/^##\s+目录\s*$([\s\S]*?)(?=\n<div class="page-break"><\/div>|\n##\s+)/mu,x=/\S/u,y=/^\s*\d+\.\d+\s+\S/u,z=/^\s{2,}\d+\.\d+\s+\S/u,A=/\r?\n/u,B=/\s+/gu,C=/drawing|table|bill|boq|draw|data|sheet|spec|standard|record|report|表格|数据|规格|参数|标准|记录|报告/u,D=/(?:[A-Z]{1,8}[\w.-]*\d[\w.-]*|\d+(?:\.\d+)?\s*(?:mm|cm|m|km|㎡|m²|m3|kg|g|t|L|ml|MPa|kPa|℃|%|台|套|个|项|批|次|页|份|人|小时|分钟|天|周|月|年|万元|元)|\d+\s*[×xX]\s*\d+(?:\s*[×xX]\s*\d+)?|\b(?:GB|GB\/T|ISO|IEC|IEEE|RFC|API|DB\d*|T\/[A-Z]+)\s*[\w.-]+\b)/giu,E=20,F=.28,G=/表格|数据|列表|明细|参数|规格|数量|记录|报告|标准/u,H=/设计|方案|说明|节点|流程|步骤|尺寸|做法|配置|规则|标准/u,I=[/见(?:资料|文件|说明|方案|附件|相关文件)/u,/按(?:资料|文件|说明|方案|规范|标准|要求)/u,/满足(?:相关|有关)?要求/u,/\|\s*(?:[/—-]|无|暂无|待定|待补充|N\/?A)\s*\|/iu],J=/^#\s+/mu,K=/(?:示例|样例|范例|例如|参考示例|示例数据|示例正文|示例目录|example|sample)\s*[::]?\s*([\s\S]{20,800}?)(?=\n\s*\n|$)/giu}};