@customize-agent/server 4.0.110 → 4.0.112

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 (63) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +36 -29
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/6041.js +67 -65
  5. package/.next/server/chunks/8203.js +1 -1
  6. package/.next/server/chunks/8204.js +1 -1
  7. package/.next/server/chunks/8661.js +4 -3
  8. package/.next/server/middleware-build-manifest.js +1 -1
  9. package/.next/server/pages/404.html +1 -1
  10. package/.next/server/pages/500.html +1 -1
  11. package/.next/server/pages/api/documents/export.js +1 -1
  12. package/.next/server/pages/api/documents/generated/[id].js +2 -1
  13. package/.next/server/pages/api/jobs/[id].js +1 -1
  14. package/.next/server/pages/api/jobs.js +1 -1
  15. package/.next/server/pages/api/kb/files.js +1 -1
  16. package/.next/server/pages/api/kb/operations.js +1 -1
  17. package/.next/server/pages/api/kb/upload/complete.js +1 -1
  18. package/.next/server/pages/asset-library.html +1 -1
  19. package/.next/server/pages/document-roles.html +1 -1
  20. package/.next/server/pages/documents.html +1 -1
  21. package/.next/server/pages/guide.html +1 -1
  22. package/.next/server/pages/index.html +1 -1
  23. package/.next/server/pages/knowledge/file-detail.html +1 -1
  24. package/.next/server/pages/knowledge/files.html +1 -1
  25. package/.next/server/pages/knowledge/manage.html +1 -1
  26. package/.next/server/pages/knowledge.html +1 -1
  27. package/.next/server/pages/models.html +1 -1
  28. package/.next/server/pages/overview.html +1 -1
  29. package/.next/server/pages/prompt.html +1 -1
  30. package/.next/server/pages/settings.html +1 -1
  31. package/.next/server/pages/system/logs.html +1 -1
  32. package/.next/server/pages-manifest.json +21 -21
  33. package/.next/static/2zuiiTmB2oc9xI0T0I-tH/_buildManifest.js +1 -0
  34. package/.next/static/chunks/155-2f71ef31b9336adb.js +1 -0
  35. package/.next/static/chunks/403-0469cb096084301f.js +1 -0
  36. package/.next/static/chunks/576-fdadae734b47b56b.js +1 -0
  37. package/.next/static/chunks/795-18a2b5f64892634d.js +1 -0
  38. package/.next/static/chunks/880-64d8a15c524106d2.js +1 -0
  39. package/.next/static/chunks/{238-16333381c574f65b.js → 945-9e9382e35f024c04.js} +1 -1
  40. package/.next/static/chunks/pages/{_app-45a68e88c43b4f2c.js → _app-bddc4705c7d28afc.js} +22 -22
  41. package/.next/static/chunks/pages/{asset-library-994e1e2977b6cf1b.js → asset-library-dc19b6ccd193de27.js} +1 -1
  42. package/.next/static/chunks/pages/{document-roles-17247e9639a04648.js → document-roles-5e8baf8718eda4ce.js} +1 -1
  43. package/.next/static/chunks/pages/documents-cf82f7df998af35d.js +1 -0
  44. package/.next/static/chunks/pages/{index-9df5670a1487dbb1.js → index-cb27bfa36c212ab5.js} +1 -1
  45. package/.next/static/chunks/pages/knowledge/{file-detail-73678bce1bb43f02.js → file-detail-58d6d3365af15b4c.js} +1 -1
  46. package/.next/static/chunks/pages/knowledge/files-3bf25ca6491cebe3.js +1 -0
  47. package/.next/static/chunks/pages/knowledge/{manage-b07ce5086d63ca67.js → manage-c98ed288e65c3e84.js} +1 -1
  48. package/.next/static/chunks/pages/{models-ec554ec972763d7b.js → models-79489bb240e69848.js} +1 -1
  49. package/.next/static/chunks/pages/{overview-63f3dda2dde16c9e.js → overview-8713b5d37af0eeb3.js} +1 -1
  50. package/.next/static/chunks/pages/{prompt-11aab3e22cca2bdd.js → prompt-031bc6ab32830ae5.js} +1 -1
  51. package/.next/static/chunks/pages/system/{logs-91bfbc6fe9343d2e.js → logs-b073e55810452aca.js} +1 -1
  52. package/.next/static/css/e14747a3f560e6f5.css +1 -0
  53. package/package.json +4 -4
  54. package/scripts/verify-next-static.js +9 -6
  55. package/.next/static/WFPMB0O5frURgkh5Qa8-n/_buildManifest.js +0 -1
  56. package/.next/static/chunks/506-93f730bc149d0dce.js +0 -1
  57. package/.next/static/chunks/576-6699fed6c88502fe.js +0 -1
  58. package/.next/static/chunks/788-72bd97a04f2aee27.js +0 -1
  59. package/.next/static/chunks/795-e18d1f7843b8f683.js +0 -1
  60. package/.next/static/chunks/pages/documents-e79320e8cb87a955.js +0 -1
  61. package/.next/static/chunks/pages/knowledge/files-f72277ef4a72bff0.js +0 -1
  62. package/.next/static/css/725551a791210988.css +0 -1
  63. /package/.next/static/{WFPMB0O5frURgkh5Qa8-n → 2zuiiTmB2oc9xI0T0I-tH}/_ssgManifest.js +0 -0
@@ -1,5 +1,6 @@
1
- "use strict";exports.id=8661,exports.ids=[8661],exports.modules={48661:(a,b,c)=>{c.d(b,{BH:()=>G,Gl:()=>r,JU:()=>J,Jz:()=>K,M$:()=>A,QG:()=>F,SE:()=>v,YL:()=>P,a6:()=>D,r:()=>E,v7:()=>B,yE:()=>I});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(36041),i=c(23760),j=c(19898),k=c(44533);function l(a,b){return a?.map(a=>"running"===a.status?{...a,status:"failed",message:b}:a)}function m(a){return a.title&&"生成中"!==a.title?a.title:`${a.templateName||"文档"}生成失败`}function n(...a){let b=new Map;for(let c of a)for(let a of c||[])a.id&&a.content?.trim()&&b.set(a.id,a);return[...b.values()]}let o=new Map,p=Math.max(6e5,Number(process.env.DOCUMENT_TASK_TIMEOUT_MS??54e5)),q=Math.max(6e5,Number(process.env.DOCUMENT_TASK_NO_PROGRESS_MS??18e5));function r(a=(0,k.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,k.aY)()){return(0,j.computeProjectId)(g.resolve(a))}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function s(a=(0,k.aY)()){return g.join(r(a),"index.json")}function t(a=(0,k.aY)()){return g.join(r(a),"assets.json")}function u(a,b=(0,k.aY)()){return g.join(r(b),"drafts",`${a}.json`)}function v(a,b=(0,k.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(r(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function w(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function x(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function y(a){for(let b of o.values())if(b.documentId===a)return b;return null}function z(a,b=(0,k.aY)()){if("generating"!==a.status||y(a.id))return a;let c=Math.max(p,2*q);if(Date.now()-a.updatedAt<c)return a;let d="生成任务已中断,请点击继续生成或重新生成",e=a.checkpointChapters?.length?"warning":"failed";return{...a,title:m(a),status:e,error:a.error||d,executionStages:l(a.executionStages,d),completedAt:Date.now(),warningIssues:a.checkpointChapters?.length?[...a.warningIssues||[],d]:a.warningIssues}}function A(a=(0,k.aY)()){return w(s(a),[]).map(b=>{let c=z(b,a);return c!==b&&C(c,a),c}).sort((a,b)=>b.updatedAt-a.updatedAt)}function B(a,b=(0,k.aY)()){let c=w(u(a,b),null);if(!c)return null;let d=z(c,b);return d!==c?C(d,b):d}function C(a,b=(0,k.aY)()){let c=Date.now(),d=M({...a,updatedAt:c});x(u(d.id,b),d);let e=w(s(b),[]).filter(a=>a.id!==d.id);return e.unshift(d),x(s(b),e.map(a=>M({...a,draft:void 0,executionStages:a.executionStages,partialChapters:a.partialChapters,checkpointChapters:a.checkpointChapters,reviewMetadata:a.reviewMetadata}))),d}function D(a,b,c=(0,k.aY)()){let d=B(a,c);return d?C({...d,...b,id:a},c):null}function E(a,b=(0,k.aY)()){let c=B(a,b);if(!c)return null;if("generating"!==c.status)return c;for(let[b,c]of o)c.documentId===a&&(c.status="aborted",c.controller.abort(),N(c),o.delete(b));return C({...c,status:"aborted",error:"用户中止",executionStages:l(c.executionStages,"用户中止"),completedAt:Date.now()},b)}function F(a,b=(0,k.aY)()){try{e.rmSync(u(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}x(s(b),A(b).filter(b=>b.id!==a))}function G(a=(0,k.aY)()){return w(t(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function H(a,b,c=(0,k.aY)()){let d=Date.now(),e=[...G(c)];for(let c of a){let a=e.findIndex(a=>a.id===c.id),f=c.path?.startsWith("generatedDocuments/assets/")||"generated"===c.status||"prompt_ready"===c.status?"generated":"knowledge_base",h={...c,name:g.basename(c.path||c.url||c.id),source:f,indexed:a>=0&&e[a].indexed,usedByDocumentIds:a>=0?[...new Set([...e[a].usedByDocumentIds,b])]:[b],createdAt:a>=0?e[a].createdAt:d,updatedAt:d};a>=0?e[a]={...e[a],...h}:e.push(h)}return x(t(c),e),e}function I(a,b=(0,k.aY)()){return G(b).find(b=>b.id===a)||null}function J(a,b=(0,k.aY)()){let c=I(a,b);if(!c)return!1;let d=v(c,b);if(d&&d.startsWith(r(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return x(t(b),G(b).filter(b=>b.id!==a)),!0}function K(a,b,c=(0,k.aY)()){let d=I(a,c);if(!d)return null;let f=v(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function L(a){let b=Math.max(4,Math.floor(Number(process.env.DOCUMENT_PERSIST_EVIDENCE_MAX_ITEMS??10))),c=Math.max(300,Math.floor(Number(process.env.DOCUMENT_PERSIST_EVIDENCE_ITEM_CHARS??900)));return{...a,evidence:(a.evidence||[]).slice(0,b).map(a=>({...a,content:"string"==typeof a.content?a.content.replace(/\s+/gu," ").slice(0,c):""}))}}function M(a){let b=a.draft?{...a.draft,chapters:a.draft.chapters?.map(L),checkpointChapters:a.draft.checkpointChapters?.map(L)}:a.draft;return{...a,draft:b,checkpointChapters:a.checkpointChapters?.map(L)}}function N(a){a.timeoutTimer&&clearTimeout(a.timeoutTimer),a.progressTimer&&clearInterval(a.progressTimer)}function O(a,b){let c=B(a.documentId,b);return c&&"generating"===c.status?{taskId:a.id,documentId:a.documentId,record:c}:null}function P(a,b=(0,k.aY)()){let c=g.resolve(b),f=(0,j.computeProjectId)(c),s=Date.now(),t=a.resumeDocumentId?B(a.resumeDocumentId,c):null;if(t){let a=y(t.id),b=a?O(a,c):null;if(b)return b}if(!t)for(let b of o.values()){let d=O(b,c);if(d&&d.record.templateId===a.templateId&&d.record.projectRoot===c)return d}let u=t?.id||`doc-${s}-${d.randomBytes(4).toString("hex")}`,v=`task-${s}-${d.randomBytes(4).toString("hex")}`,w=t?{...t,taskId:v,status:"generating",error:void 0,completedAt:void 0,executionStages:[...t.executionStages||[],{type:"validation",roleId:"resume-generation",status:"running",message:"已重新进入生成流程,系统将重新生成章节内容并执行质量门禁"}],updatedAt:s}:{id:u,taskId:v,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",maxEvidencePerChapter:a.maxEvidencePerChapter,projectRoot:c,projectId:f,knowledgeBasePath:g.join(c,"knowledgeBase"),markdown:"",status:"generating",assets:[],createdAt:s,updatedAt:s};C(w,c);let x=new AbortController,z={},A=a=>{x.abort(),z.current&&N(z.current);let b=B(u,c);b?.checkpointChapters?.length?C({...b,title:b.title&&"生成中"!==b.title?b.title:`${b.templateName||"文档"}生成未完成`,status:"warning",error:a,markdown:b.markdown||b.checkpointChapters.map(a=>`# ${a.title}
1
+ "use strict";exports.id=8661,exports.ids=[8661],exports.modules={37095:(a,b,c)=>{c.d(b,{CU:()=>q,H7:()=>p,JB:()=>m,Qf:()=>k,kW:()=>n,oy:()=>l,sn:()=>o});var d=c(29021),e=c(21820),f=c(33873),g=c(19898);function h(a){return f.join(e.homedir(),".customize-agent","projects",(0,g.computeProjectId)(a),"kb-operations.jsonl")}function i(a){let b=h(a);return d.existsSync(b)?d.readFileSync(b,"utf8").split("\n").filter(Boolean).flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}}):[]}function j(a,b){let c=h(a);d.mkdirSync(f.dirname(c),{recursive:!0}),d.writeFileSync(c,`${b.slice(-200).map(a=>JSON.stringify(a)).join("\n")}
2
+ `,"utf8")}function k(a,b){let c=Date.now(),d=i(a),e=d.findIndex(a=>a.id===b.id),f=e>=0?d[e]:void 0,g={id:b.id,type:b.type,title:b.title,stage:b.stage??f?.stage??"uploading",status:b.status??f?.status??"processing",message:b.message??f?.message??"",percent:b.percent??f?.percent??0,fileName:b.fileName??f?.fileName,filePath:b.filePath??f?.filePath,chunkCount:b.chunkCount??f?.chunkCount,textLength:b.textLength??f?.textLength,extractionMode:b.extractionMode??f?.extractionMode,error:b.error??f?.error,details:b.details??f?.details,createdAt:f?.createdAt??c,updatedAt:c};return e>=0?d[e]=g:d.push(g),j(a,d),g}function l(a,b=50){return i(a).sort((a,b)=>b.updatedAt-a.updatedAt).slice(0,b)}function m(a,b){return i(a).find(a=>a.id===b)}function n(a,b){return i(a).filter(a=>!b||a.type===b).sort((a,b)=>b.updatedAt-a.updatedAt)[0]}function o(a){return i(a).filter(a=>"processing"===a.status).sort((a,b)=>b.updatedAt-a.updatedAt)}function p(a){let b=i(a),c=h(a);return d.existsSync(c)&&d.unlinkSync(c),b.length}function q(a,b){let c=i(a),d=c.filter(a=>a.id!==b);return d.length!==c.length&&(j(a,d),!0)}},48661:(a,b,c)=>{c.d(b,{BH:()=>H,Gl:()=>s,JU:()=>K,Jz:()=>L,M$:()=>B,QG:()=>G,SE:()=>w,YL:()=>R,a6:()=>E,r:()=>F,v7:()=>C,yE:()=>J});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(36041),i=c(23760),j=c(19898),k=c(44533),l=c(37095);function m(a,b){return a?.map(a=>"running"===a.status?{...a,status:"failed",message:b}:a)}function n(a){return a.title&&"生成中"!==a.title?a.title:`${a.templateName||"文档"}生成失败`}function o(...a){let b=new Map;for(let c of a)for(let a of c||[])a.id&&a.content?.trim()&&b.set(a.id,a);return[...b.values()]}let p=new Map,q=Math.max(6e5,Number(process.env.DOCUMENT_TASK_TIMEOUT_MS??54e5)),r=Math.max(6e5,Number(process.env.DOCUMENT_TASK_NO_PROGRESS_MS??18e5));function s(a=(0,k.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,k.aY)()){return(0,j.computeProjectId)(g.resolve(a))}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function t(a=(0,k.aY)()){return g.join(s(a),"index.json")}function u(a=(0,k.aY)()){return g.join(s(a),"assets.json")}function v(a,b=(0,k.aY)()){return g.join(s(b),"drafts",`${a}.json`)}function w(a,b=(0,k.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(s(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function x(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function y(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function z(a){for(let b of p.values())if(b.documentId===a)return b;return null}function A(a,b=(0,k.aY)()){if("generating"!==a.status||z(a.id))return a;let c=Math.max(q,2*r);if(Date.now()-a.updatedAt<c)return a;let d="生成任务已中断,请点击继续生成或重新生成",e=a.checkpointChapters?.length?"warning":"failed",f={...a,title:n(a),status:e,error:a.error||d,executionStages:m(a.executionStages,d),completedAt:Date.now(),warningIssues:a.checkpointChapters?.length?[...a.warningIssues||[],d]:a.warningIssues};return a.taskId&&Q(b,{taskId:a.taskId,title:`生成 ${f.title}`,status:"warning"===e?"warning":"error",percent:100,message:d,stages:f.executionStages,error:d}),f}function B(a=(0,k.aY)()){return x(t(a),[]).map(b=>{let c=A(b,a);return c!==b&&D(c,a),c}).sort((a,b)=>b.updatedAt-a.updatedAt)}function C(a,b=(0,k.aY)()){let c=x(v(a,b),null);if(!c)return null;let d=A(c,b);return d!==c?D(d,b):d}function D(a,b=(0,k.aY)()){let c=Date.now(),d=N({...a,updatedAt:c});y(v(d.id,b),d);let e=x(t(b),[]).filter(a=>a.id!==d.id);return e.unshift(d),y(t(b),e.map(a=>N({...a,draft:void 0,executionStages:a.executionStages,partialChapters:a.partialChapters,checkpointChapters:a.checkpointChapters,reviewMetadata:a.reviewMetadata}))),d}function E(a,b,c=(0,k.aY)()){let d=C(a,c);return d?D({...d,...b,id:a},c):null}function F(a,b=(0,k.aY)()){let c=C(a,b);if(!c)return null;if("generating"!==c.status)return c;for(let[b,c]of p)c.documentId===a&&(c.status="aborted",c.controller.abort(),O(c),p.delete(b));let d="用户中止",e=m(c.executionStages,d),f=D({...c,status:"aborted",error:d,executionStages:e,completedAt:Date.now()},b);return f.taskId&&Q(b,{taskId:f.taskId,title:`生成 ${f.title}`,status:"warning",percent:100,message:d,stages:e,error:d}),f}function G(a,b=(0,k.aY)()){try{e.rmSync(v(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}y(t(b),B(b).filter(b=>b.id!==a))}function H(a=(0,k.aY)()){return x(u(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function I(a,b,c=(0,k.aY)()){let d=Date.now(),e=[...H(c)];for(let c of a){let a=e.findIndex(a=>a.id===c.id),f=c.path?.startsWith("generatedDocuments/assets/")||"generated"===c.status||"prompt_ready"===c.status?"generated":"knowledge_base",h={...c,name:g.basename(c.path||c.url||c.id),source:f,indexed:a>=0&&e[a].indexed,usedByDocumentIds:a>=0?[...new Set([...e[a].usedByDocumentIds,b])]:[b],createdAt:a>=0?e[a].createdAt:d,updatedAt:d};a>=0?e[a]={...e[a],...h}:e.push(h)}return y(u(c),e),e}function J(a,b=(0,k.aY)()){return H(b).find(b=>b.id===a)||null}function K(a,b=(0,k.aY)()){let c=J(a,b);if(!c)return!1;let d=w(c,b);if(d&&d.startsWith(s(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return y(u(b),H(b).filter(b=>b.id!==a)),!0}function L(a,b,c=(0,k.aY)()){let d=J(a,c);if(!d)return null;let f=w(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function M(a){let b=Math.max(4,Math.floor(Number(process.env.DOCUMENT_PERSIST_EVIDENCE_MAX_ITEMS??10))),c=Math.max(300,Math.floor(Number(process.env.DOCUMENT_PERSIST_EVIDENCE_ITEM_CHARS??900)));return{...a,evidence:(a.evidence||[]).slice(0,b).map(a=>({...a,content:"string"==typeof a.content?a.content.replace(/\s+/gu," ").slice(0,c):""}))}}function N(a){let b=a.draft?{...a.draft,chapters:a.draft.chapters?.map(M),checkpointChapters:a.draft.checkpointChapters?.map(M)}:a.draft;return{...a,draft:b,checkpointChapters:a.checkpointChapters?.map(M)}}function O(a){a.timeoutTimer&&clearTimeout(a.timeoutTimer),a.progressTimer&&clearInterval(a.progressTimer)}function P(a,b){let c=C(a.documentId,b);return c&&"generating"===c.status?{taskId:a.id,documentId:a.documentId,record:c}:null}function Q(a,b){(0,l.Qf)(a,{id:b.taskId,type:"document",title:b.title,stage:"processing"===b.status?"generating":"error"===b.status?"error":"done",status:b.status,percent:b.percent,message:b.message,error:b.error,details:(b.stages||[]).filter(a=>"role_binding"===a.type||"runtime-prompt-rules"===a.roleId||"document-readiness"===a.roleId||"default-path-quality-repair"===a.roleId||"export_ready"===a.type||"failed"===a.status||"fallback"===a.status).flatMap(a=>[`${a.subtitle||a.roleName||a.roleId}:${a.message||a.status}`,...(a.details||[]).slice(0,8).map(a=>` - ${a}`)]).slice(0,80)})}function R(a,b=(0,k.aY)()){let c=g.resolve(b),f=(0,j.computeProjectId)(c),l=Date.now(),t=a.resumeDocumentId?C(a.resumeDocumentId,c):null;if(t){let a=z(t.id),b=a?P(a,c):null;if(b)return b}if(!t)for(let b of p.values()){let d=P(b,c);if(d&&d.record.templateId===a.templateId&&d.record.projectRoot===c)return d}let u=t?.id||`doc-${l}-${d.randomBytes(4).toString("hex")}`,v=`task-${l}-${d.randomBytes(4).toString("hex")}`,w=t?{...t,taskId:v,status:"generating",error:void 0,completedAt:void 0,executionStages:[...t.executionStages||[],{type:"validation",roleId:"resume-generation",status:"running",message:"已重新进入生成流程,系统将重新生成章节内容并执行质量门禁"}],updatedAt:l}:{id:u,taskId:v,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",maxEvidencePerChapter:a.maxEvidencePerChapter,projectRoot:c,projectId:f,knowledgeBasePath:g.join(c,"knowledgeBase"),markdown:"",status:"generating",assets:[],createdAt:l,updatedAt:l};D(w,c),Q(c,{taskId:v,title:`生成 ${w.title}`,status:"processing",percent:1,message:"文档生成任务已进入后台队列",stages:w.executionStages});let x=new AbortController,y={},A=a=>{x.abort(),y.current&&O(y.current);let b=C(u,c);if(b?.checkpointChapters?.length){let d=m(b.executionStages,a),e=D({...b,title:b.title&&"生成中"!==b.title?b.title:`${b.templateName||"文档"}生成未完成`,status:"warning",error:a,markdown:b.markdown||b.checkpointChapters.map(a=>`# ${a.title}
2
3
 
3
- ${a.content}`).join("\n\n"),executionStages:l(b.executionStages,a),completedAt:Date.now(),warningIssues:[...b.warningIssues||[],a]},c):function(a,b,c){let d=B(a,b);d&&"generating"===d.status&&C({...d,title:m(d),status:"failed",error:c,executionStages:l(d.executionStages,c),completedAt:Date.now()},b)}(u,c,a),o.delete(v)},D=n(t?.draft?.chapters,t?.checkpointChapters),E=0,F="",G=Math.max(1e3,Math.min(15e3,Number(process.env.DOCUMENT_PROGRESS_SAVE_INTERVAL_MS??5e3))),I=(0,h.OXS)({...a,projectRoot:c,resumeChapters:D,signal:x.signal,onProgress:(a,b)=>{try{z.current&&(z.current.lastProgressAt=Date.now());let d=Date.now(),e=JSON.stringify({stages:a.map(a=>({type:a.type,roleId:a.roleId,status:a.status,message:a.message,progress:a.progress})),checkpoint:b?.chapters?.map(a=>[a.id,a.content.length,a.sections?.length||0])||[]});if(!b?.chapters&&e===F&&d-E<G)return;let f=B(u,c);if(f&&"generating"===f.status){let g=b?.chapters?n(f.checkpointChapters,b.chapters).map(L):f.checkpointChapters;C(M({...f,executionStages:a,checkpointChapters:g,partialChapters:b?.chapters?(g||[]).map(a=>({id:a.id,title:a.title,chars:a.content.length,status:a.content.trim().length>0?"completed":"failed",updatedAt:Date.now()})):f.partialChapters}),c),E=d,F=e,console.log(`[gen] progress saved: ${a.length} stages, checkpoint=${g?.length||0}, doc=${u}`)}}catch(a){console.error("[gen] progress save error:",a)}}}).then(async a=>{let b=B(u,c);if(!b||"generating"!==b.status)return b??w;let d=/结构化事实读取不足|正文可能未显式覆盖|仅包含文件类型和占位符|不在本次招标范围内|知识库文件索引失败|暂无可检索内容切片|未抽取到结构化事实|兜底片段|资料抽取诊断|无法直接读取文本内容|占位符|缺乏详细的.*具体尺寸|需结合原文件进一步深化|章节生成存在兜底/u,f=a.validationIssues.filter(a=>"error"===a.level||"warning"===a.level).map(a=>a.suggestion?`${a.message}:${a.suggestion}`:a.message).filter(a=>!/^\s*[[{]/u.test(a)&&!/"status"\s*:/u.test(a)&&!d.test(a)),h=(0,i.yw)(a.markdown,a.chapters).filter(a=>"empty"===a.reason||"table_only"===a.reason);h.length>0&&f.unshift(`小节内容补写未完成:仍有 ${h.length} 个空洞或表格无说明小节,请继续生成或补充资料后重试`),a.exportGate.passed||0!==f.length||f.push("导出门禁未通过:存在未完成的硬阻断检查项");let j=C(M({...b,templateName:a.templateName,title:a.title,markdown:a.markdown,status:a.exportGate.passed?"completed":"warning",draft:a,executionStages:a.executionStages,partialChapters:a.partialChapters,checkpointChapters:a.chapters,reviewMetadata:a.reviewMetadata,assets:a.assets||[],completedAt:Date.now(),warningIssues:f}),c);return!function(a,b=(0,k.aY)()){Date.now();let c=`generatedDocuments/assets/${a.title.replace(/[\\/:*?"<>|]/gu,"_").slice(0,120)||"generated-document"}-${a.id}.md`,d=g.join(r(b),c.replace(/^generatedDocuments\//u,""));e.mkdirSync(g.dirname(d),{recursive:!0}),e.writeFileSync(d,a.editedMarkdown||a.markdown,"utf8");let f={id:`document-${a.id}`,type:"file",role:"generated",path:c,status:"generated",message:"模板运行生成的 Markdown 文档,仅登记到生成资源,不进入知识库"};H([f],a.id,b).find(a=>a.id===f.id)}(j,c),H(a.assets||[],u,c),j}).catch(a=>{let b=B(u,c);if(!b||"generating"!==b.status)return b??w;let d=a instanceof Error?a.message:String(a),e=a instanceof Error&&/用户中止|aborted|abort/i.test(a.message)?"aborted":b.checkpointChapters?.length?"warning":"failed",f=b.markdown||b.checkpointChapters?.map(a=>`# ${a.title}
4
+ ${a.content}`).join("\n\n"),executionStages:d,completedAt:Date.now(),warningIssues:[...b.warningIssues||[],a]},c);Q(c,{taskId:v,title:`生成 ${e.title}`,status:"warning",percent:100,message:a,stages:d,error:a})}else{let b=function(a,b,c){let d=C(a,b);return d&&"generating"===d.status?D({...d,title:n(d),status:"failed",error:c,executionStages:m(d.executionStages,c),completedAt:Date.now()},b):d}(u,c,a);Q(c,{taskId:v,title:`生成 ${b?.title||"文档"}`,status:"error",percent:100,message:a,stages:b?.executionStages,error:a})}p.delete(v)},B=o(t?.draft?.chapters,t?.checkpointChapters),E=0,F="",G=Math.max(1e3,Math.min(15e3,Number(process.env.DOCUMENT_PROGRESS_SAVE_INTERVAL_MS??5e3))),H=(0,h.OXS)({...a,projectRoot:c,resumeChapters:B,signal:x.signal,onProgress:(a,b)=>{try{y.current&&(y.current.lastProgressAt=Date.now());let d=Date.now(),e=JSON.stringify({stages:a.map(a=>({type:a.type,roleId:a.roleId,status:a.status,message:a.message,progress:a.progress})),checkpoint:b?.chapters?.map(a=>[a.id,a.content.length,a.sections?.length||0])||[]});if(!b?.chapters&&e===F&&d-E<G)return;let f=C(u,c);if(f&&"generating"===f.status){let g=b?.chapters?o(f.checkpointChapters,b.chapters).map(M):f.checkpointChapters,h=D(N({...f,executionStages:a,checkpointChapters:g,partialChapters:b?.chapters?(g||[]).map(a=>({id:a.id,title:a.title,chars:a.content.length,status:a.content.trim().length>0?"completed":"failed",updatedAt:Date.now()})):f.partialChapters}),c),i=[...a].reverse().find(a=>"running"===a.status)||a[a.length-1];Q(c,{taskId:v,title:`生成 ${h.templateName||h.title}`,status:"processing",percent:Math.max(1,Math.min(99,i?.progress?Math.round(i.progress.current/Math.max(1,i.progress.total)*90):30)),message:i?.message||"文档生成中",stages:a}),E=d,F=e,console.log(`[gen] progress saved: ${a.length} stages, checkpoint=${g?.length||0}, doc=${u}`)}}catch(a){console.error("[gen] progress save error:",a)}}}).then(async a=>{let b=C(u,c);if(!b||"generating"!==b.status)return b??w;let d=/结构化事实读取不足|正文可能未显式覆盖|仅包含文件类型和占位符|不在本次招标范围内|知识库文件索引失败|暂无可检索内容切片|未抽取到结构化事实|兜底片段|资料抽取诊断|无法直接读取文本内容|占位符|缺乏详细的.*具体尺寸|需结合原文件进一步深化|章节生成存在兜底/u,f=a.validationIssues.filter(a=>"error"===a.level||"warning"===a.level).map(a=>a.suggestion?`${a.message}:${a.suggestion}`:a.message).filter(a=>!/^\s*[[{]/u.test(a)&&!/"status"\s*:/u.test(a)&&!d.test(a)),h=(0,i.yw)(a.markdown,a.chapters).filter(a=>"empty"===a.reason||"table_only"===a.reason);h.length>0&&f.unshift(`小节内容补写未完成:仍有 ${h.length} 个空洞或表格无说明小节,请继续生成或补充资料后重试`),a.exportGate.passed||0!==f.length||f.push("导出门禁未通过:存在未完成的硬阻断检查项");let j=D(N({...b,templateName:a.templateName,title:a.title,markdown:a.markdown,status:a.exportGate.passed?"completed":"warning",draft:a,executionStages:a.executionStages,partialChapters:a.partialChapters,checkpointChapters:a.chapters,reviewMetadata:a.reviewMetadata,assets:a.assets||[],completedAt:Date.now(),warningIssues:f}),c);return!function(a,b=(0,k.aY)()){let c=`generatedDocuments/assets/${a.title.replace(/[\\/:*?"<>|]/gu,"_").slice(0,120)||"generated-document"}-${a.id}.md`,d=g.join(s(b),c.replace(/^generatedDocuments\//u,""));e.mkdirSync(g.dirname(d),{recursive:!0}),e.writeFileSync(d,a.editedMarkdown||a.markdown,"utf8");let f={id:`document-${a.id}`,type:"file",role:"generated",path:c,status:"generated",message:"模板运行生成的 Markdown 文档,仅登记到生成资源,不进入知识库"};I([f],a.id,b).find(a=>a.id===f.id)}(j,c),I(a.assets||[],u,c),Q(c,{taskId:v,title:`生成 ${j.title}`,status:"completed"===j.status?"success":"warning",percent:100,message:"completed"===j.status?"文档生成完成,已通过导出门禁":`文档生成完成但存在 ${f.length||1} 个质量提示`,stages:a.executionStages}),j}).catch(a=>{let b=C(u,c);if(!b||"generating"!==b.status)return b??w;let d=a instanceof Error?a.message:String(a),e=a instanceof Error&&/用户中止|aborted|abort/i.test(a.message)?"aborted":b.checkpointChapters?.length?"warning":"failed",f=b.markdown||b.checkpointChapters?.map(a=>`# ${a.title}
4
5
 
5
- ${a.content}`).join("\n\n")||"";return C(M({...b,title:"failed"===e?m(b):b.title&&"生成中"!==b.title?b.title:`${b.templateName||"文档"}生成未完成`,status:e,error:d,markdown:f,executionStages:l(b.executionStages,d),completedAt:Date.now(),warningIssues:"warning"===e?[...b.warningIssues||[],d]:b.warningIssues}),c)}).finally(()=>{z.current&&N(z.current),o.delete(v)}),J={id:v,documentId:u,status:"generating",controller:x,promise:I,startedAt:s,lastProgressAt:s};return z.current=J,J.timeoutTimer=setTimeout(()=>A("生成任务超时,请点击继续生成或重新生成"),p),J.progressTimer=setInterval(()=>{Date.now()-J.lastProgressAt>q&&A("生成任务长时间无进度,请点击继续生成或重新生成")},Math.min(6e4,q)),o.set(v,J),{taskId:v,documentId:u,record:w}}}};
6
+ ${a.content}`).join("\n\n")||"",g=m(b.executionStages,d),h=D(N({...b,title:"failed"===e?n(b):b.title&&"生成中"!==b.title?b.title:`${b.templateName||"文档"}生成未完成`,status:e,error:d,markdown:f,executionStages:g,completedAt:Date.now(),warningIssues:"warning"===e?[...b.warningIssues||[],d]:b.warningIssues}),c);return Q(c,{taskId:v,title:`生成 ${h.title}`,status:"warning"===e?"warning":"error",percent:100,message:d,stages:g,error:d}),h}).finally(()=>{y.current&&O(y.current),p.delete(v)}),J={id:v,documentId:u,status:"generating",controller:x,promise:H,startedAt:l,lastProgressAt:l};return y.current=J,J.timeoutTimer=setTimeout(()=>A("生成任务超时,请点击继续生成或重新生成"),q),J.progressTimer=setInterval(()=>{Date.now()-J.lastProgressAt>r&&A("生成任务长时间无进度,请点击继续生成或重新生成")},Math.min(6e4,r)),p.set(v,J),{taskId:v,documentId:u,record:w}}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/795-e18d1f7843b8f683.js","static/chunks/pages/index-9df5670a1487dbb1.js"],"/_app":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/css/725551a791210988.css","static/chunks/pages/_app-45a68e88c43b4f2c.js"],"/_error":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/289-39ef5df8097382b4.js","static/chunks/238-16333381c574f65b.js","static/chunks/pages/asset-library-994e1e2977b6cf1b.js"],"/document-roles":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/787-c18af810af3433f6.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-97ad88d6604f54b7.js","static/chunks/466-1cd359f130473697.js","static/chunks/pages/document-roles-17247e9639a04648.js"],"/documents":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/787-c18af810af3433f6.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-97ad88d6604f54b7.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/497-58fdc9f4b4437f94.js","static/chunks/pages/documents-e79320e8cb87a955.js"],"/guide":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/787-c18af810af3433f6.js","static/chunks/405-74ecbacd0b5a3128.js","static/chunks/pages/guide-40908b2721e92d01.js"],"/knowledge":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/787-c18af810af3433f6.js","static/chunks/289-39ef5df8097382b4.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/850-0f48354694fc6b3e.js","static/css/ad5a592c79d1448b.css","static/chunks/pages/knowledge/file-detail-73678bce1bb43f02.js"],"/knowledge/files":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/289-39ef5df8097382b4.js","static/css/ad5a592c79d1448b.css","static/chunks/pages/knowledge/files-f72277ef4a72bff0.js"],"/knowledge/manage":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/787-c18af810af3433f6.js","static/chunks/506-93f730bc149d0dce.js","static/chunks/788-72bd97a04f2aee27.js","static/chunks/pages/knowledge/manage-b07ce5086d63ca67.js"],"/models":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-97ad88d6604f54b7.js","static/chunks/337-b06909f6d29f6d1f.js","static/chunks/pages/models-ec554ec972763d7b.js"],"/overview":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/795-e18d1f7843b8f683.js","static/chunks/pages/overview-63f3dda2dde16c9e.js"],"/prompt":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/478-ac4777b05b3c42e8.js","static/chunks/pages/prompt-11aab3e22cca2bdd.js"],"/settings":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/settings-810eb1a6cf1a6b02.js"],"/system/logs":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/289-39ef5df8097382b4.js","static/chunks/pages/system/logs-91bfbc6fe9343d2e.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-18a2b5f64892634d.js","static/chunks/pages/index-cb27bfa36c212ab5.js"],"/_app":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/css/e14747a3f560e6f5.css","static/chunks/pages/_app-bddc4705c7d28afc.js"],"/_error":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/155-2f71ef31b9336adb.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/289-39ef5df8097382b4.js","static/chunks/945-9e9382e35f024c04.js","static/chunks/pages/asset-library-dc19b6ccd193de27.js"],"/document-roles":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/155-2f71ef31b9336adb.js","static/chunks/576-fdadae734b47b56b.js","static/chunks/787-c18af810af3433f6.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-97ad88d6604f54b7.js","static/chunks/466-1cd359f130473697.js","static/chunks/pages/document-roles-5e8baf8718eda4ce.js"],"/documents":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/155-2f71ef31b9336adb.js","static/chunks/576-fdadae734b47b56b.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/787-c18af810af3433f6.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-97ad88d6604f54b7.js","static/chunks/497-58fdc9f4b4437f94.js","static/chunks/pages/documents-cf82f7df998af35d.js"],"/guide":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/787-c18af810af3433f6.js","static/chunks/405-74ecbacd0b5a3128.js","static/chunks/pages/guide-40908b2721e92d01.js"],"/knowledge":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/155-2f71ef31b9336adb.js","static/chunks/576-fdadae734b47b56b.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/787-c18af810af3433f6.js","static/chunks/289-39ef5df8097382b4.js","static/chunks/850-0f48354694fc6b3e.js","static/css/ad5a592c79d1448b.css","static/chunks/pages/knowledge/file-detail-58d6d3365af15b4c.js"],"/knowledge/files":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/155-2f71ef31b9336adb.js","static/chunks/576-fdadae734b47b56b.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/289-39ef5df8097382b4.js","static/css/ad5a592c79d1448b.css","static/chunks/pages/knowledge/files-3bf25ca6491cebe3.js"],"/knowledge/manage":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/787-c18af810af3433f6.js","static/chunks/403-0469cb096084301f.js","static/chunks/pages/knowledge/manage-c98ed288e65c3e84.js"],"/models":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/155-2f71ef31b9336adb.js","static/chunks/576-fdadae734b47b56b.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/455-97ad88d6604f54b7.js","static/chunks/337-b06909f6d29f6d1f.js","static/chunks/pages/models-79489bb240e69848.js"],"/overview":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-18a2b5f64892634d.js","static/chunks/pages/overview-8713b5d37af0eeb3.js"],"/prompt":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/155-2f71ef31b9336adb.js","static/chunks/576-fdadae734b47b56b.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/478-ac4777b05b3c42e8.js","static/chunks/pages/prompt-031bc6ab32830ae5.js"],"/settings":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/pages/settings-810eb1a6cf1a6b02.js"],"/system/logs":["static/chunks/webpack-4224e970a97a4a86.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-91fb767ebd74c9c1.js","static/chunks/433-233659be69169c19.js","static/chunks/155-2f71ef31b9336adb.js","static/chunks/576-fdadae734b47b56b.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/713-efe6b531f7a30a5f.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/289-39ef5df8097382b4.js","static/chunks/pages/system/logs-b073e55810452aca.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/725551a791210988.css" as="style"/><link rel="stylesheet" href="/_next/static/css/725551a791210988.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-45a68e88c43b4f2c.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/WFPMB0O5frURgkh5Qa8-n/_buildManifest.js" defer=""></script><script src="/_next/static/WFPMB0O5frURgkh5Qa8-n/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"WFPMB0O5frURgkh5Qa8-n","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/e14747a3f560e6f5.css" as="style"/><link rel="stylesheet" href="/_next/static/css/e14747a3f560e6f5.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-bddc4705c7d28afc.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/2zuiiTmB2oc9xI0T0I-tH/_buildManifest.js" defer=""></script><script src="/_next/static/2zuiiTmB2oc9xI0T0I-tH/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"2zuiiTmB2oc9xI0T0I-tH","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="preload" href="/_next/static/css/725551a791210988.css" as="style"/><link rel="stylesheet" href="/_next/static/css/725551a791210988.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-45a68e88c43b4f2c.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/WFPMB0O5frURgkh5Qa8-n/_buildManifest.js" defer=""></script><script src="/_next/static/WFPMB0O5frURgkh5Qa8-n/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"WFPMB0O5frURgkh5Qa8-n","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="preload" href="/_next/static/css/e14747a3f560e6f5.css" as="style"/><link rel="stylesheet" href="/_next/static/css/e14747a3f560e6f5.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-bddc4705c7d28afc.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/2zuiiTmB2oc9xI0T0I-tH/_buildManifest.js" defer=""></script><script src="/_next/static/2zuiiTmB2oc9xI0T0I-tH/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"2zuiiTmB2oc9xI0T0I-tH","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,4 +1,4 @@
1
- "use strict";(()=>{var a={};a.id=8644,a.ids=[8644],a.modules={15751:a=>{a.exports=require("xlsx")},16006:(a,b,c)=>{c.d(b,{j:()=>e});var d=c(91879);function e(a,b){return async function(c,e){try{await b(c,e)}catch(g){let f=(0,d.wF)({source:a,functionName:b.name||"anonymous",error:g,req:c});console.error(`[${a}]`,f.id,g),e.headersSent||e.status(500).json({error:g instanceof Error?g.message:"Internal server error",requestId:f.id})}}}(0,d.mG)()},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},83142:a=>{a.exports=import("marked")},83237:a=>{a.exports=import("playwright")},83258:(a,b,c)=>{c.r(b),c.d(b,{config:()=>af,default:()=>ae,handler:()=>ah});var d={};c.r(d),c.d(d,{__documentExportTest__:()=>aa,config:()=>u,default:()=>ab});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(31421),j=c(73024),k=c(48161),l=c(76760);let m=require("node:url"),n=require("node:util"),o=require("jszip");var p=c.n(o),q=c(48661),r=c(44533),s=c(91879),t=c(16006);let u={api:{bodyParser:{sizeLimit:"50mb"},responseLimit:!1}};function v(a){return a.replace(/&/gu,"&amp;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;").replace(/"/gu,"&quot;")}let w=(0,n.promisify)(i.execFile),x={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".svg":"image/svg+xml"};function y(a){return x[l.extname(a).toLowerCase()]||""}function z(a,b){let c=l.relative(b,a);return!!c&&!c.startsWith("..")&&!l.isAbsolute(c)}function A(a,b=(0,r.aY)()){if(!a||/^(?:https?:|data:|file:|blob:|#)/iu.test(a))return null;let c=function(a){try{return decodeURIComponent(a.split(/[?#]/u)[0]||a)}catch{return""}}(a);if(!c||l.isAbsolute(c))return null;let d=l.resolve(b,"knowledgeBase"),e=l.resolve((0,q.Gl)(b),"assets");return[c.startsWith("generatedDocuments/assets/")?l.resolve(e,c.replace(/^generatedDocuments\/assets\//u,"")):"",l.resolve(d,c)].filter(Boolean).find(a=>{let b=l.resolve(a);return(z(b,d)||z(b,e))&&!!y(b)&&j.existsSync(b)&&j.statSync(b).isFile()})||null}function B(a,b=(0,r.aY)()){let c=new Map,d=0;return a.replace(/<img\b([^>]*?)\bsrc=["']([^"']+)["']([^>]*)>/giu,(a,e,f,g)=>{let h=A(f,b);if(!h)return a;let i=j.statSync(h);if(i.size>8388608||d+i.size>0x2000000)return a;let k=c.get(h);return k||(k=`data:${y(h)};base64,${j.readFileSync(h).toString("base64")}`,c.set(h,k),d+=i.size),`<img${e}src="${k}"${g}>`})}function C(a){return/^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/u.test(a.trim())}function D(a){let b=a.trim();if(!b||/^#{1,6}\s+/u.test(b)||C(b))return!1;let c=(b.match(/\|/gu)||[]).length;return c>=2||c>=1&&/^\s*\|/u.test(b)||c>=1&&/\|\s*$/u.test(b)}function E(a){return a.trim().replace(/^\|/u,"").replace(/\|$/u,"").trim().split("|").map(a=>a.trim())}function F(a,b){let c=a.slice(0,b);for(;c.length<b;)c.push("");return`| ${c.join(" | ")} |`}function G(a){if(2===a)return["信息项","内容"];let b=["项目","内容","备注","说明"];return Array.from({length:a},(a,c)=>b[c]||`列${c+1}`)}function H(a){return function(a){let b=a.replace(/\r?\n/gu,"\n").split("\n"),c=[];for(let a=0;a<b.length;){let d=b[a]||"",e=d.replace(/([^|\n])\|\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/u,"$1"),f=b[a+1]?.trim()===""?a+2:a+1,g=b[f];if(D(d)&&void 0!==g&&C(g)){let e=E(d),h=E(g).length,i=Math.max(2,e.length,h);for(c.length>0&&c[c.length-1]?.trim()&&c.push(""),c.push(F(e,i)),c.push(`| ${Array.from({length:i},()=>"---").join(" | ")} |`),a=f+1;a<b.length;){let d=b[a]||"";if(!D(d))break;c.push(F(E(d),i)),a+=1}a<b.length&&b[a]?.trim()&&c.push("");continue}let h=D(d)?function(a,b){let c=[],d=b;for(;d<a.length&&D(a[d]||"");)c.push(a[d]||""),d+=1;let e=c.map(a=>E(a).length),f=e[0]||0;return c.length<2||f<2||e.some(a=>a!==f)?null:{rows:c,columns:f,next:d}}(b,a):null;if(h){for(let a of(c.length>0&&c[c.length-1]?.trim()&&c.push(""),c.push(F(G(h.columns),h.columns)),c.push(`| ${Array.from({length:h.columns},()=>"---").join(" | ")} |`),h.rows))c.push(F(E(a),h.columns));(a=h.next)<b.length&&b[a]?.trim()&&c.push("");continue}if(C(d)){let e=function(a,b){let c=[],d=b;for(;d<a.length&&D(a[d]||"");)c.push(a[d]||""),d+=1;return{rows:c,next:d}}(b,a+1);if(e.rows.length>0){let f=Math.max(2,E(d).length,...e.rows.map(a=>E(a).length));for(let a of(c.length>0&&c[c.length-1]?.trim()&&c.push(""),c.push(F(G(f),f)),c.push(`| ${Array.from({length:f},()=>"---").join(" | ")} |`),e.rows))c.push(F(E(a),f));(a=e.next)<b.length&&b[a]?.trim()&&c.push("");continue}}c.push(e),a+=1}return c.join("\n").replace(/\n{3,}/gu,"\n\n")}((function(a){let b=a.trim(),c=/^```(?:markdown|md)?\s*\n([\s\S]*?)\n```\s*$/iu.exec(b);return c?c[1].trim():a})(a).replace(/m\s*<sup>\s*2\s*<\/sup>/giu,"m\xb2").replace(/m\s*<sup>\s*3\s*<\/sup>/giu,"m\xb3").replace(/m\s*\^\s*2/giu,"m\xb2").replace(/m\s*\^\s*3/giu,"m\xb3").replace(/㎡/gu,"m\xb2").replace(/㎥/gu,"m\xb3").replace(/(?<=\d)m\s*2(?![\p{L}\p{N}_])/giu,"m\xb2").replace(/(?<=\d)m\s*3(?![\p{L}\p{N}_])/giu,"m\xb3").replace(/(?<![\p{L}\p{N}_])m\s*2(?![\p{L}\p{N}_])/giu,"m\xb2").replace(/(?<![\p{L}\p{N}_])m\s*3(?![\p{L}\p{N}_])/giu,"m\xb3"))}function I(a){return H(a).replace(/!\[[^\]]*\]\([^)]*\)/gu,"").replace(/\[([^\]]+)\]\([^)]*\)/gu,"$1").replace(/[*_`]/gu,"").replace(/<br\s*\/?>/giu,"\n").replace(/<[^>]+>/gu,"").trim()}function J(a,b){let c=/([\d.]+)\s*(pt|px)?/iu.exec(a||"");if(!c)return b;let d=Number(c[1]);return Number.isFinite(d)?c[2]?.toLowerCase()==="px"?.75*d:d:b}function K(a,b){return`${J(a,b)}pt`}function L(a,b){let c=/([\d.]+)\s*(cm|mm|in|pt)?/iu.exec(a||"");if(!c)return Math.round(567*b);let d=Number(c[1]);if(!Number.isFinite(d))return Math.round(567*b);let e=(c[2]||"cm").toLowerCase();return"mm"===e?Math.round(56.7*d):"in"===e?Math.round(1440*d):"pt"===e?Math.round(20*d):Math.round(567*d)}function M(a){let b=R(a),c=J(b.bodySize,14),d=J(b.titleSize,16),e=J(b.lineHeight,22);return{...b,bodyPt:c,titlePt:d,linePt:e,bodyHalfPoints:Math.round(2*c),titleHalfPoints:Math.round(2*d),lineTwips:Math.round(20*e),fontEastAsia:"宋体",fontAscii:"SimSun",bodyCss:`${c}pt`,titleCss:`${d}pt`,lineCss:`${e}pt`}}function N(a,b={}){if(b.pageBreak)return'<w:p><w:r><w:br w:type="page"/></w:r></w:p>';let c=[b.indentLeft?`w:left="${b.indentLeft}"`:"",b.firstLine?`w:firstLine="${b.firstLine}"`:"",b.hanging?`w:hanging="${b.hanging}"`:""].filter(Boolean).join(" "),d=[b.styleId?`<w:pStyle w:val="${v(b.styleId)}"/>`:"",b.numbering?`<w:numPr><w:ilvl w:val="${b.numbering.level}"/><w:numId w:val="${b.numbering.numId}"/></w:numPr>`:"",b.keepNext?"<w:keepNext/>":"",`<w:spacing w:line="${b.line??440}" w:lineRule="exact" w:before="${b.spacingBefore??0}" w:after="${b.spacingAfter??120}"/>`,c?`<w:ind ${c}/>`:"",b.align?`<w:jc w:val="${b.align}"/>`:"","number"==typeof b.outlineLevel?`<w:outlineLvl w:val="${b.outlineLevel}"/>`:""].filter(Boolean).join("");return`<w:p><w:pPr>${d}</w:pPr>${function(a,b={}){let c=b.fontEastAsia||"宋体",d=b.fontAscii||"SimSun",e=[`<w:rFonts w:ascii="${v(d)}" w:hAnsi="${v(d)}" w:eastAsia="${v(c)}" w:cs="${v(d)}"/>`,b.bold?"<w:b/>":"",b.size?`<w:sz w:val="${b.size}"/><w:szCs w:val="${b.size}"/>`:""].filter(Boolean).join("");return`<w:r><w:rPr>${e}</w:rPr><w:t xml:space="preserve">${v(a)}</w:t></w:r>`}(a,b)}</w:p>`}async function O(a,b,c,d=[]){a.folder("word")?.file("styles.xml",function(a){let b=M(a),c=`w:ascii="${v(b.fontAscii)}" w:hAnsi="${v(b.fontAscii)}" w:eastAsia="${v(b.fontEastAsia)}" w:cs="${v(b.fontAscii)}"`,d=(a,d,e,f,g,h,i)=>`<w:style w:type="paragraph" w:styleId="${a}"><w:name w:val="${d}"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:uiPriority w:val="${9+f}"/><w:qFormat/><w:rPr><w:b/><w:rFonts ${c}/><w:sz w:val="${e}"/><w:szCs w:val="${e}"/></w:rPr><w:pPr><w:keepNext/><w:keepLines/><w:outlineLvl w:val="${f}"/><w:spacing w:line="${b.lineTwips}" w:lineRule="exact" w:before="${g}" w:after="${h}"/>${i?`<w:jc w:val="${i}"/>`:""}</w:pPr></w:style>`;return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:styles xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:docDefaults><w:rPrDefault><w:rPr><w:rFonts ${c}/><w:sz w:val="${b.bodyHalfPoints}"/><w:szCs w:val="${b.bodyHalfPoints}"/></w:rPr></w:rPrDefault><w:pPrDefault><w:pPr><w:spacing w:line="${b.lineTwips}" w:lineRule="exact" w:after="120"/></w:pPr></w:pPrDefault></w:docDefaults><w:style w:type="paragraph" w:default="1" w:styleId="Normal"><w:name w:val="Normal"/><w:qFormat/><w:rPr><w:rFonts ${c}/><w:sz w:val="${b.bodyHalfPoints}"/><w:szCs w:val="${b.bodyHalfPoints}"/></w:rPr><w:pPr><w:spacing w:line="${b.lineTwips}" w:lineRule="exact" w:after="120"/></w:pPr></w:style>${d("Heading1","heading 1",Math.max(b.titleHalfPoints+4,36),0,260,180,"center")}${d("Heading2","heading 2",Math.max(b.titleHalfPoints,32),1,180,100)}${d("Heading3","heading 3",Math.max(b.bodyHalfPoints,28),2,120,80)}<w:style w:type="paragraph" w:styleId="ListParagraph"><w:name w:val="List Paragraph"/><w:basedOn w:val="Normal"/><w:uiPriority w:val="34"/><w:qFormat/><w:pPr><w:ind w:left="720" w:hanging="360"/></w:pPr></w:style></w:styles>`}(c)),a.folder("word")?.file("numbering.xml",'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:numbering xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:abstractNum w:abstractNumId="1"><w:multiLevelType w:val="hybridMultilevel"/><w:lvl w:ilvl="0"><w:start w:val="1"/><w:numFmt w:val="decimal"/><w:lvlText w:val="%1."/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="720" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="1"><w:start w:val="1"/><w:numFmt w:val="decimal"/><w:lvlText w:val="%1.%2"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1080" w:hanging="420"/></w:pPr></w:lvl><w:lvl w:ilvl="2"><w:start w:val="1"/><w:numFmt w:val="decimal"/><w:lvlText w:val="%1.%2.%3"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1440" w:hanging="480"/></w:pPr></w:lvl></w:abstractNum><w:num w:numId="1"><w:abstractNumId w:val="1"/></w:num></w:numbering>'),a.folder("word")?.file("settings.xml",'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:settings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:updateFields w:val="true"/><w:compat><w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="15"/></w:compat></w:settings>'),a.folder("word")?.file("fontTable.xml",function(a){let b=M(a);return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:fonts xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:font w:name="${v(b.fontEastAsia)}"><w:charset w:val="86"/><w:family w:val="roman"/></w:font><w:font w:name="${v(b.fontAscii)}"><w:family w:val="roman"/></w:font></w:fonts>`}(c)),a.folder("docProps")?.file("core.xml",function(a){let b=new Date().toISOString();return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title>${v(a)}</dc:title><dc:creator>Customize Agent</dc:creator><cp:lastModifiedBy>Customize Agent</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">${b}</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">${b}</dcterms:modified></cp:coreProperties>`}(b)),a.folder("docProps")?.file("app.xml",'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Customize Agent</Application><DocSecurity>0</DocSecurity><ScaleCrop>false</ScaleCrop><Company></Company><LinksUpToDate>false</LinksUpToDate><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>1.0</AppVersion></Properties>');let e=a.folder("word")?.folder("media");for(let a of d)e?.file(a.fileName,a.buffer);let f=a.file("word/_rels/document.xml.rels"),g=f?await f.async("string"):'<?xml version="1.0" encoding="UTF-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"></Relationships>';for(let[a,b,c]of[["rStyle","http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"],["rNumbering","http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering","numbering.xml"],["rSettings","http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings","settings.xml"],["rFontTable","http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable","fontTable.xml"]])g.includes(b)||(g=g.replace("</Relationships>",`<Relationship Id="${a}" Type="${b}" Target="${c}"/></Relationships>`));for(let a of d)g.includes(`Id="${a.relationshipId}"`)||(g=g.replace("</Relationships>",`<Relationship Id="${a.relationshipId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/${a.fileName}"/></Relationships>`));a.folder("word")?.folder("_rels")?.file("document.xml.rels",g);let h=a.file("_rels/.rels"),i=h?await h.async("string"):'<?xml version="1.0" encoding="UTF-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/></Relationships>';i.includes("metadata/core-properties")||(i=i.replace("</Relationships>",'<Relationship Id="rCore" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/></Relationships>')),i.includes("extended-properties")||(i=i.replace("</Relationships>",'<Relationship Id="rApp" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/></Relationships>')),a.folder("_rels")?.file(".rels",i);let j=a.file("[Content_Types].xml"),k=j?await j.async("string"):'<?xml version="1.0" encoding="UTF-8"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/></Types>';for(let a of new Set(d.map(a=>l.extname(a.fileName).slice(1).toLowerCase()).filter(Boolean))){let b="jpg"===a||"jpeg"===a?"image/jpeg":"png"===a?"image/png":"gif"===a?"image/gif":"webp"===a?"image/webp":void 0;b&&!k.includes(`Extension="${a}"`)&&(k=k.replace("</Types>",`<Default Extension="${a}" ContentType="${b}"/></Types>`))}for(let[a,b]of[["/word/styles.xml","application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"],["/word/numbering.xml","application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"],["/word/settings.xml","application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"],["/word/fontTable.xml","application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"],["/docProps/core.xml","application/vnd.openxmlformats-package.core-properties+xml"],["/docProps/app.xml","application/vnd.openxmlformats-officedocument.extended-properties+xml"]])k.includes(`PartName="${a}"`)||(k=k.replace("</Types>",`<Override PartName="${a}" ContentType="${b}"/></Types>`));a.file("[Content_Types].xml",k)}async function P(a,b,c,d,e=process.cwd()){let f={projectRoot:e,images:[]},g=function(a,b,c){let d=M(b),e=d.titleHalfPoints,f=d.bodyHalfPoints,g=H(a).replace(/<div class="page-break"><\/div>/gu,"\n[[PAGE_BREAK]]\n").split("\n"),h=[],i=!1,k=!1,m=!1;for(let a=0;a<g.length;){var n;let b=g[a].trim();if(!b){a+=1;continue}if(/<div\s+class=["']document-cover["']\s*>/iu.test(b)){k=!0,a+=1;continue}if(k&&/^<\/div>$/iu.test(b)){k=!1,a+=1;continue}if("[[PAGE_BREAK]]"===b){i=!1,k=!1,h.push(N("",{pageBreak:!0})),a+=1;continue}if(k){let c=I(b.replace(/^#\s+/u,""));c&&h.push(N(c,{bold:!0,size:Math.max(e+8,44),line:Math.round(1.15*d.lineTwips),fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,align:"center",spacingBefore:360,spacingAfter:220})),a+=1;continue}let o=c?function(a,b){let c=/!\[([^\]]*)\]\(([^)]+)\)/u.exec(a);if(!c)return null;let d=A(c[2].trim(),b.projectRoot);if(!d)return null;let e=j.readFileSync(d),f=y(d);if(!f||"image/svg+xml"===f||e.length>8388608)return null;let g=b.images.length+1,h=l.extname(d).toLowerCase()||".png",i=function(a,b){if("image/png"===b&&a.length>=24&&"PNG"===a.toString("ascii",1,4))return{width:a.readUInt32BE(16),height:a.readUInt32BE(20)};if("image/jpeg"===b){let b=2;for(;b+9<a.length&&255===a[b];){let c=a[b+1],d=a.readUInt16BE(b+2);if(c>=192&&c<=195)return{height:a.readUInt16BE(b+5),width:a.readUInt16BE(b+7)};b+=2+d}}return{width:640,height:360}}(e,f),k=Math.min(1,620/Math.max(i.width,1)),m={relationshipId:`rImage${g}`,fileName:`image${g}${h}`,buffer:e,contentType:f,widthEmu:Math.round(i.width*k*9525),heightEmu:Math.round(i.height*k*9525),altText:c[1]||`image${g}`};return b.images.push(m),m}(b,c):null;if(o){h.push(`<w:p><w:pPr><w:jc w:val="center"/><w:spacing w:after="120"/></w:pPr><w:r><w:drawing><wp:inline xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"><wp:extent cx="${o.widthEmu}" cy="${o.heightEmu}"/><wp:docPr id="${o.relationshipId.replace(/\D/gu,"")||"1"}" name="${v(o.altText||o.fileName)}"/><a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:nvPicPr><pic:cNvPr id="0" name="${v(o.fileName)}"/><pic:cNvPicPr/></pic:nvPicPr><pic:blipFill><a:blip r:embed="${o.relationshipId}" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/><a:stretch><a:fillRect/></a:stretch></pic:blipFill><pic:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="${o.widthEmu}" cy="${o.heightEmu}"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></pic:spPr></pic:pic></a:graphicData></a:graphic></wp:inline></w:drawing></w:r></w:p>`),a+=1;continue}let p=function(a,b){let c=a[b+1]?.trim()===""?b+2:b+1;if(c>=a.length||!D(a[b]||"")||!C(a[c]||""))return null;let d=E(a[b]||"").map(a=>I(a)),e=E(a[c]||"").length,f=Math.max(2,d.length,e),g=[d],h=c+1;for(;h<a.length&&D(a[h]||"");){let b=E(a[h]||"").map(a=>I(a)).slice(0,f);for(;b.length<f;)b.push("");g.push(b),h+=1}return{rows:g,next:h}}(g,a);if(p){h.push(function(a,b){let c=Math.max(1,...a.map(a=>a.length)),d=Math.floor(9638/c),e=Array.from({length:c},(a,b)=>b===c-1?9638-d*(c-1):d),f=`<w:tblGrid>${e.map(a=>`<w:gridCol w:w="${a}"/>`).join("")}</w:tblGrid>`;return`<w:tbl><w:tblPr><w:tblW w:w="9638" w:type="dxa"/><w:tblLook w:firstRow="1" w:noHBand="0"/><w:tblBorders><w:top w:val="single" w:sz="6" w:color="666666"/><w:left w:val="single" w:sz="6" w:color="666666"/><w:bottom w:val="single" w:sz="6" w:color="666666"/><w:right w:val="single" w:sz="6" w:color="666666"/><w:insideH w:val="single" w:sz="4" w:color="666666"/><w:insideV w:val="single" w:sz="4" w:color="666666"/></w:tblBorders></w:tblPr>${f}${a.map((a,c)=>`<w:tr>${e.map((d,e)=>{let f=a[e]||"";return`<w:tc><w:tcPr><w:tcW w:w="${d}" w:type="dxa"/><w:tcMar><w:top w:w="80" w:type="dxa"/><w:left w:w="120" w:type="dxa"/><w:bottom w:w="80" w:type="dxa"/><w:right w:w="120" w:type="dxa"/></w:tcMar>${0===c?'<w:shd w:val="clear" w:fill="F3F4F6"/>':""}</w:tcPr>${N(f,{bold:0===c,size:b.bodyHalfPoints,line:b.lineTwips,fontEastAsia:b.fontEastAsia,fontAscii:b.fontAscii,spacingAfter:0,align:0===c?"center":"left"})}</w:tc>`}).join("")}</w:tr>`).join("")}</w:tbl>`}(p.rows,d),N("",{spacingAfter:80,line:d.lineTwips})),a=p.next;continue}let q=/^(#{1,4})\s+(.+)$/u.exec(b);if(q){let b=I(q[2]);i="目录"===b,h.push((n=q[1].length,2===n?N(b,{styleId:"Heading1",outlineLevel:0,bold:!0,size:Math.max(d.titleHalfPoints+4,36),line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,align:"center",spacingBefore:260,spacingAfter:180,keepNext:!0}):3===n?N(b,{styleId:"Heading2",outlineLevel:1,bold:!0,size:Math.max(d.titleHalfPoints,32),line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,spacingBefore:180,spacingAfter:100,keepNext:!0}):N(b,{styleId:"Heading3",outlineLevel:2,bold:!0,size:Math.max(d.bodyHalfPoints,28),line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,spacingBefore:120,spacingAfter:80,keepNext:!0}))),i&&!m&&(h.push(`<w:p><w:pPr><w:spacing w:line="${d.lineTwips}" w:lineRule="exact" w:after="120"/></w:pPr><w:r><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:instrText xml:space="preserve">TOC \\o &quot;1-3&quot; \\h \\z \\u</w:instrText></w:r><w:r><w:fldChar w:fldCharType="separate"/></w:r><w:r><w:t>请在 Word 中右键更新目录</w:t></w:r><w:r><w:fldChar w:fldCharType="end"/></w:r></w:p>`),m=!0),a+=1;continue}let r=I(b),s=function(a){let b=/^\s*(\d+(?:\.\d+){0,2})([.、])\s+(.+)$/u.exec(a);return b?{level:Math.min(b[1].split(".").length-1,2),marker:`${b[1]}${b[2]}`,text:I(b[3])}:null}(b),t=function(a){let b=/^\s*[-*+]\s+(.+)$/u.exec(a);return b?I(b[1]):null}(b);if(!i&&s){let b=0===s.level?720:1===s.level?1080:1440,c=0===s.level?360:1===s.level?420:480;h.push(N(`${s.marker} ${s.text}`,{styleId:"ListParagraph",numbering:{numId:1,level:s.level},size:f,line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,indentLeft:b,hanging:c,spacingAfter:60})),a+=1;continue}if(!i&&t){h.push(N(`• ${t}`,{styleId:"ListParagraph",size:f,line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,indentLeft:720,hanging:360,spacingAfter:60})),a+=1;continue}let u=/^\*\*[^*]+\*\*\s*[::]?\s*$/u.test(b)||/^([一二三四五六七八九十]+)/u.test(r)||/^[一二三四五六七八九十]+、/u.test(r);h.push(i?function(a,b){let c=/^\s*\d+\.\d+\s+\S/u.test(a);return N(I(a),{bold:!c,size:b.bodyHalfPoints,line:b.lineTwips,fontEastAsia:b.fontEastAsia,fontAscii:b.fontAscii,spacingAfter:c?30:80,indentLeft:420*!!c,align:"left"})}(b,d):N(r,{bold:u,size:f,line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,align:"both",firstLine:560*!u,spacingBefore:80*!!u})),a+=1}return h.join("")}(b,c,f);if(d&&j.existsSync(d)){let b=await p().loadAsync(j.readFileSync(d)),e=b.file("word/document.xml");if(e){let d=await e.async("string");return b.file("word/document.xml",d.replace(/\{\{title\}\}/gu,v(a)).replace(/\{\{content\}\}/gu,g)),await O(b,a,c,f.images),b.generateAsync({type:"nodebuffer"})}}let h=c?.page||{},i=new(p());return i.folder("word")?.file("document.xml",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:body>${g}<w:sectPr><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="${L(h.marginTop,2.5)}" w:right="${L(h.marginRight,2)}" w:bottom="${L(h.marginBottom,2)}" w:left="${L(h.marginLeft,2)}"/></w:sectPr></w:body></w:document>`),await O(i,a,c,f.images),i.generateAsync({type:"nodebuffer"})}function Q(a,b){return a&&/^[\w\s\u4e00-\u9fa5,"'().-]+$/u.test(a)?a:b}function R(a){let b=a?.page||{},c=a?.typography||{},d=Q(b.paper,"A4"),e=Q(b.marginTop,"24mm"),f=Q(b.marginRight,"18mm"),g=Q(b.marginBottom,"22mm"),h=Q(b.marginLeft,"18mm"),i=Q(c.fontFamily,"SimSun, 宋体, serif"),j=K(c.lineHeight,22);return{paper:d,marginTop:e,marginRight:f,marginBottom:g,marginLeft:h,fontFamily:i,lineHeight:j,titleSize:K(c.titleSize,16),bodySize:K(c.bodySize,14)}}function S(a){return a.replace(/(<h2[^>]*>\s*目录\s*<\/h2>)([\s\S]*?)(<div class="page-break"><\/div>)/u,(a,b,c,d)=>{let e=c.replace(/<ol>\s*([\s\S]*?)\s*<\/ol>/u,(a,b)=>b).replace(/<li>\s*([^<]+?)\s*<\/li>/gu,"<p>$1</p>").replace(/<p>(?:\s|&nbsp;|&#160;)*(\d+\.\d+\s+[^<]+)<\/p>/giu,'<p class="toc-section">$1</p>').replace(/<p>(?!(?:\s|&nbsp;|&#160;)*<\/p>|(?:\s|&nbsp;|&#160;)*\d+\.\d+\s)([\s\S]*?)<\/p>/giu,'<p class="toc-chapter">$1</p>');return`<section class="document-toc">${b}${e}</section>${d}`})}function T(a){let b=a.message.trim();return!/^(事实冲突|必需章节缺失):/u.test(b)&&/出现禁用文本\s*(资料未提供|占位|TODO|TBD)|正文包含.*(资料未提供|占位)|图片、地图或附件引用路径明显无效|无效路径|表格语法错误|临时远程生成 URL|提示词全文|内部错误|生成未完成|低于目标页数|低于目标字数|文档预算未达成|正文篇幅低于目标|缺少规划小节|缺少必要的正式表格|正文缺少章节标题/iu.test(b)}function U(a){return{chars:a.trim().length,h2:(a.match(/^##\s+/gmu)||[]).length,h3:(a.match(/^###\s+/gmu)||[]).length,tables:(a.match(/\n\s*\|\s*:?-{3,}/gu)||[]).length}}function V(a,b){let c=U(a),d=b?U(b):void 0,e=[];c.chars<200&&e.push("导出内容为空或过短"),d&&d.chars>1e3&&c.chars<.8*d.chars&&e.push("导出内容明显少于服务端生成记录"),d&&d.h3>0&&0===c.h3&&e.push("导出内容缺少服务端生成记录中的二级小节"),d&&d.tables>0&&0===c.tables&&e.push("导出内容缺少服务端生成记录中的表格");let f=a.split(/\r?\n/u).map(a=>/^(#{2,4})\s+(.+)$/u.exec(a.trim())).filter(a=>!!a).map(a=>({level:a[1].length,title:I(a[2])})).filter(a=>a.title&&"目录"!==a.title);0===f.length&&e.push("正文缺少章节标题"),f.some((a,b)=>b>0&&a.level-f[b-1].level>1)&&e.push("标题层级存在跳级,可能影响导出目录和导航");let g=f.map(a=>a.title.replace(/^第[一二三四五六七八九十百]+章\s*/u,"").replace(/^\d+(?:\.\d+)*\s*/u,"").replace(/[\s::.。]+$/gu,"").trim()).filter(Boolean).filter((a,b,c)=>c.indexOf(a)!==b);g.length>0&&e.push(`存在重复标题:${[...new Set(g)].slice(0,3).join("、")}`);let h=a.split(/\r?\n/u).map(a=>I(a)).filter(a=>a.length>0&&!/^#+\s/u.test(a));h.some(a=>a.length<=1)&&e.push("正文存在孤立字或残缺段落"),h.some(a=>/[,、;:和与在为对将]$/u.test(a)||/(通过|包括|如下|主要包括)$/u.test(a))&&e.push("正文存在疑似截断句或未完结段落"),h.some(a=>a.length>380)&&e.push("正文存在过长段落,建议拆分以改善导出版式");let i=function(a){let b=new Map,c=[];for(let d of a.split(/\n{2,}/u).map(a=>I(a)).filter(a=>a.length>=45&&!/^#+\s/u.test(a))){let a=d.replace(/\s+/gu,"").slice(0,90),e=(b.get(a)||0)+1;b.set(a,e),2===e&&c.push(d.slice(0,60))}return c}(a);return i.length>0&&e.push(`正文存在重复段落:${i.slice(0,2).join(";")}`),e}function W(a,b){let c=H(a),d=H(b||"");return{markdown:c,baselineMarkdown:d,issues:V(c,d)}}async function X(a,b,d,e){let{marked:f}=await Promise.resolve().then(c.bind(c,83142));return B(function(a,b,c){let d=M(c),e=S(b);return`<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><title>${v(a)}</title><style>
1
+ "use strict";(()=>{var a={};a.id=8644,a.ids=[8644],a.modules={15751:a=>{a.exports=require("xlsx")},16006:(a,b,c)=>{c.d(b,{j:()=>e});var d=c(91879);function e(a,b){return async function(c,e){try{await b(c,e)}catch(g){let f=(0,d.wF)({source:a,functionName:b.name||"anonymous",error:g,req:c});console.error(`[${a}]`,f.id,g),e.headersSent||e.status(500).json({error:g instanceof Error?g.message:"Internal server error",requestId:f.id})}}}(0,d.mG)()},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},83142:a=>{a.exports=import("marked")},83237:a=>{a.exports=import("playwright")},83258:(a,b,c)=>{c.r(b),c.d(b,{config:()=>af,default:()=>ae,handler:()=>ah});var d={};c.r(d),c.d(d,{__documentExportTest__:()=>aa,config:()=>u,default:()=>ab});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(31421),j=c(73024),k=c(48161),l=c(76760);let m=require("node:url"),n=require("node:util"),o=require("jszip");var p=c.n(o),q=c(48661),r=c(44533),s=c(91879),t=c(16006);let u={api:{bodyParser:{sizeLimit:"50mb"},responseLimit:!1}};function v(a){return a.replace(/&/gu,"&amp;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;").replace(/"/gu,"&quot;")}let w=(0,n.promisify)(i.execFile),x={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".svg":"image/svg+xml"};function y(a){return x[l.extname(a).toLowerCase()]||""}function z(a,b){let c=l.relative(b,a);return!!c&&!c.startsWith("..")&&!l.isAbsolute(c)}function A(a,b=(0,r.aY)()){if(!a||/^(?:https?:|data:|file:|blob:|#)/iu.test(a))return null;let c=function(a){try{return decodeURIComponent(a.split(/[?#]/u)[0]||a)}catch{return""}}(a);if(!c||l.isAbsolute(c))return null;let d=l.resolve(b,"knowledgeBase"),e=l.resolve((0,q.Gl)(b),"assets");return[c.startsWith("generatedDocuments/assets/")?l.resolve(e,c.replace(/^generatedDocuments\/assets\//u,"")):"",l.resolve(d,c)].filter(Boolean).find(a=>{let b=l.resolve(a);return(z(b,d)||z(b,e))&&!!y(b)&&j.existsSync(b)&&j.statSync(b).isFile()})||null}function B(a,b=(0,r.aY)()){let c=new Map,d=0;return a.replace(/<img\b([^>]*?)\bsrc=["']([^"']+)["']([^>]*)>/giu,(a,e,f,g)=>{let h=A(f,b);if(!h)return a;let i=j.statSync(h);if(i.size>8388608||d+i.size>0x2000000)return a;let k=c.get(h);return k||(k=`data:${y(h)};base64,${j.readFileSync(h).toString("base64")}`,c.set(h,k),d+=i.size),`<img${e}src="${k}"${g}>`})}function C(a){return/^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/u.test(a.trim())}function D(a){let b=a.trim();return!(!b||/^#{1,6}\s+/u.test(b)||C(b))&&(b.match(/(?<!\\)\|/gu)||[]).length>=1}function E(a){return a.trim().replace(/^\|/u,"").replace(/\|$/u,"").trim().split(/(?<!\\)\|/u).map(a=>a.replace(/\\\|/gu,"|").trim())}function F(a,b){let c=a.slice(0,b);for(a.length>b&&b>0&&(c[b-1]=[c[b-1],...a.slice(b)].filter(Boolean).join(" | "));c.length<b;)c.push("");return`| ${c.map(a=>a.replace(/\|/gu,"\\|")).join(" | ")} |`}function G(a){if(2===a)return["信息项","内容"];let b=["项目","内容","备注","说明"];return Array.from({length:a},(a,c)=>b[c]||`列${c+1}`)}function H(a){return function(a){let b=a.replace(/\r?\n/gu,"\n").split("\n"),c=[];for(let a=0;a<b.length;){let d=b[a]||"",e=d.replace(/([^|\n])\|\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/u,"$1"),f=b[a+1]?.trim()===""?a+2:a+1,g=b[f];if(D(d)&&void 0!==g&&C(g)){let e=E(d),h=E(g).length,i=[],j=f+1;for(;j<b.length;){let a=b[j]||"";if(!D(a))break;i.push(E(a)),j+=1}let k=Math.max(2,e.length,h,...i.map(a=>a.length));for(c.length>0&&c[c.length-1]?.trim()&&c.push(""),c.push(F(e,k)),c.push(`| ${Array.from({length:k},()=>"---").join(" | ")} |`),a=f+1;a<b.length;){let d=b[a]||"";if(!D(d))break;c.push(F(E(d),k)),a+=1}a<b.length&&b[a]?.trim()&&c.push("");continue}let h=D(d)?function(a,b){let c=[],d=b;for(;d<a.length&&D(a[d]||"");)c.push(a[d]||""),d+=1;let e=Math.max(...c.map(a=>E(a).length),0);return c.length<2||e<2?null:{rows:c,columns:e,next:d}}(b,a):null;if(h){for(let a of(c.length>0&&c[c.length-1]?.trim()&&c.push(""),c.push(F(G(h.columns),h.columns)),c.push(`| ${Array.from({length:h.columns},()=>"---").join(" | ")} |`),h.rows))c.push(F(E(a),h.columns));(a=h.next)<b.length&&b[a]?.trim()&&c.push("");continue}if(C(d)){let e=function(a,b){let c=[],d=b;for(;d<a.length&&D(a[d]||"");)c.push(a[d]||""),d+=1;return{rows:c,next:d}}(b,a+1);if(e.rows.length>0){let f=Math.max(2,E(d).length,...e.rows.map(a=>E(a).length));for(let a of(c.length>0&&c[c.length-1]?.trim()&&c.push(""),c.push(F(G(f),f)),c.push(`| ${Array.from({length:f},()=>"---").join(" | ")} |`),e.rows))c.push(F(E(a),f));(a=e.next)<b.length&&b[a]?.trim()&&c.push("");continue}}c.push(e),a+=1}return c.join("\n").replace(/\n{3,}/gu,"\n\n")}((function(a){let b=a.trim(),c=/^```(?:markdown|md)?\s*\n([\s\S]*?)\n```\s*$/iu.exec(b);return c?c[1].trim():a})(a).replace(/m\s*<sup>\s*2\s*<\/sup>/giu,"m\xb2").replace(/m\s*<sup>\s*3\s*<\/sup>/giu,"m\xb3").replace(/m\s*\^\s*2/giu,"m\xb2").replace(/m\s*\^\s*3/giu,"m\xb3").replace(/㎡/gu,"m\xb2").replace(/㎥/gu,"m\xb3").replace(/(?<=\d)m\s*2(?![\p{L}\p{N}_])/giu,"m\xb2").replace(/(?<=\d)m\s*3(?![\p{L}\p{N}_])/giu,"m\xb3").replace(/(?<![\p{L}\p{N}_])m\s*2(?![\p{L}\p{N}_])/giu,"m\xb2").replace(/(?<![\p{L}\p{N}_])m\s*3(?![\p{L}\p{N}_])/giu,"m\xb3"))}function I(a){return H(a).replace(/!\[[^\]]*\]\([^)]*\)/gu,"").replace(/\[([^\]]+)\]\([^)]*\)/gu,"$1").replace(/[*_`]/gu,"").replace(/<br\s*\/?>/giu,"\n").replace(/<[^>]+>/gu,"").trim()}function J(a,b){let c=/([\d.]+)\s*(pt|px)?/iu.exec(a||"");if(!c)return b;let d=Number(c[1]);return Number.isFinite(d)?c[2]?.toLowerCase()==="px"?.75*d:d:b}function K(a,b){return`${J(a,b)}pt`}function L(a,b){let c=/([\d.]+)\s*(cm|mm|in|pt)?/iu.exec(a||"");if(!c)return Math.round(567*b);let d=Number(c[1]);if(!Number.isFinite(d))return Math.round(567*b);let e=(c[2]||"cm").toLowerCase();return"mm"===e?Math.round(56.7*d):"in"===e?Math.round(1440*d):"pt"===e?Math.round(20*d):Math.round(567*d)}function M(a){let b=R(a),c=J(b.bodySize,14),d=J(b.titleSize,16),e=J(b.lineHeight,22);return{...b,bodyPt:c,titlePt:d,linePt:e,bodyHalfPoints:Math.round(2*c),titleHalfPoints:Math.round(2*d),lineTwips:Math.round(20*e),fontEastAsia:"宋体",fontAscii:"SimSun",bodyCss:`${c}pt`,titleCss:`${d}pt`,lineCss:`${e}pt`}}function N(a,b={}){if(b.pageBreak)return'<w:p><w:r><w:br w:type="page"/></w:r></w:p>';let c=[b.indentLeft?`w:left="${b.indentLeft}"`:"",b.firstLine?`w:firstLine="${b.firstLine}"`:"",b.hanging?`w:hanging="${b.hanging}"`:""].filter(Boolean).join(" "),d=[b.styleId?`<w:pStyle w:val="${v(b.styleId)}"/>`:"",b.numbering?`<w:numPr><w:ilvl w:val="${b.numbering.level}"/><w:numId w:val="${b.numbering.numId}"/></w:numPr>`:"",b.keepNext?"<w:keepNext/>":"",`<w:spacing w:line="${b.line??440}" w:lineRule="exact" w:before="${b.spacingBefore??0}" w:after="${b.spacingAfter??120}"/>`,c?`<w:ind ${c}/>`:"",b.align?`<w:jc w:val="${b.align}"/>`:"","number"==typeof b.outlineLevel?`<w:outlineLvl w:val="${b.outlineLevel}"/>`:""].filter(Boolean).join("");return`<w:p><w:pPr>${d}</w:pPr>${function(a,b={}){let c=b.fontEastAsia||"宋体",d=b.fontAscii||"SimSun",e=[`<w:rFonts w:ascii="${v(d)}" w:hAnsi="${v(d)}" w:eastAsia="${v(c)}" w:cs="${v(d)}"/>`,b.bold?"<w:b/>":"",b.size?`<w:sz w:val="${b.size}"/><w:szCs w:val="${b.size}"/>`:""].filter(Boolean).join("");return`<w:r><w:rPr>${e}</w:rPr><w:t xml:space="preserve">${v(a)}</w:t></w:r>`}(a,b)}</w:p>`}async function O(a,b,c,d=[]){a.folder("word")?.file("styles.xml",function(a){let b=M(a),c=`w:ascii="${v(b.fontAscii)}" w:hAnsi="${v(b.fontAscii)}" w:eastAsia="${v(b.fontEastAsia)}" w:cs="${v(b.fontAscii)}"`,d=(a,d,e,f,g,h,i)=>`<w:style w:type="paragraph" w:styleId="${a}"><w:name w:val="${d}"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:uiPriority w:val="${9+f}"/><w:qFormat/><w:rPr><w:b/><w:rFonts ${c}/><w:sz w:val="${e}"/><w:szCs w:val="${e}"/></w:rPr><w:pPr><w:keepNext/><w:keepLines/><w:outlineLvl w:val="${f}"/><w:spacing w:line="${b.lineTwips}" w:lineRule="exact" w:before="${g}" w:after="${h}"/>${i?`<w:jc w:val="${i}"/>`:""}</w:pPr></w:style>`;return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:styles xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:docDefaults><w:rPrDefault><w:rPr><w:rFonts ${c}/><w:sz w:val="${b.bodyHalfPoints}"/><w:szCs w:val="${b.bodyHalfPoints}"/></w:rPr></w:rPrDefault><w:pPrDefault><w:pPr><w:spacing w:line="${b.lineTwips}" w:lineRule="exact" w:after="120"/></w:pPr></w:pPrDefault></w:docDefaults><w:style w:type="paragraph" w:default="1" w:styleId="Normal"><w:name w:val="Normal"/><w:qFormat/><w:rPr><w:rFonts ${c}/><w:sz w:val="${b.bodyHalfPoints}"/><w:szCs w:val="${b.bodyHalfPoints}"/></w:rPr><w:pPr><w:spacing w:line="${b.lineTwips}" w:lineRule="exact" w:after="120"/></w:pPr></w:style>${d("Heading1","heading 1",Math.max(b.titleHalfPoints+4,36),0,260,180,"center")}${d("Heading2","heading 2",Math.max(b.titleHalfPoints,32),1,180,100)}${d("Heading3","heading 3",Math.max(b.bodyHalfPoints,28),2,120,80)}<w:style w:type="paragraph" w:styleId="ListParagraph"><w:name w:val="List Paragraph"/><w:basedOn w:val="Normal"/><w:uiPriority w:val="34"/><w:qFormat/><w:pPr><w:ind w:left="720" w:hanging="360"/></w:pPr></w:style></w:styles>`}(c)),a.folder("word")?.file("numbering.xml",'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:numbering xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:abstractNum w:abstractNumId="1"><w:multiLevelType w:val="hybridMultilevel"/><w:lvl w:ilvl="0"><w:start w:val="1"/><w:numFmt w:val="decimal"/><w:lvlText w:val="%1."/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="720" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="1"><w:start w:val="1"/><w:numFmt w:val="decimal"/><w:lvlText w:val="%1.%2"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1080" w:hanging="420"/></w:pPr></w:lvl><w:lvl w:ilvl="2"><w:start w:val="1"/><w:numFmt w:val="decimal"/><w:lvlText w:val="%1.%2.%3"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1440" w:hanging="480"/></w:pPr></w:lvl></w:abstractNum><w:num w:numId="1"><w:abstractNumId w:val="1"/></w:num></w:numbering>'),a.folder("word")?.file("settings.xml",'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:settings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:updateFields w:val="true"/><w:compat><w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="15"/></w:compat></w:settings>'),a.folder("word")?.file("fontTable.xml",function(a){let b=M(a);return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:fonts xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:font w:name="${v(b.fontEastAsia)}"><w:charset w:val="86"/><w:family w:val="roman"/></w:font><w:font w:name="${v(b.fontAscii)}"><w:family w:val="roman"/></w:font></w:fonts>`}(c)),a.folder("docProps")?.file("core.xml",function(a){let b=new Date().toISOString();return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title>${v(a)}</dc:title><dc:creator>Customize Agent</dc:creator><cp:lastModifiedBy>Customize Agent</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">${b}</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">${b}</dcterms:modified></cp:coreProperties>`}(b)),a.folder("docProps")?.file("app.xml",'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Customize Agent</Application><DocSecurity>0</DocSecurity><ScaleCrop>false</ScaleCrop><Company></Company><LinksUpToDate>false</LinksUpToDate><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>1.0</AppVersion></Properties>');let e=a.folder("word")?.folder("media");for(let a of d)e?.file(a.fileName,a.buffer);let f=a.file("word/_rels/document.xml.rels"),g=f?await f.async("string"):'<?xml version="1.0" encoding="UTF-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"></Relationships>';for(let[a,b,c]of[["rStyle","http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"],["rNumbering","http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering","numbering.xml"],["rSettings","http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings","settings.xml"],["rFontTable","http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable","fontTable.xml"]])g.includes(b)||(g=g.replace("</Relationships>",`<Relationship Id="${a}" Type="${b}" Target="${c}"/></Relationships>`));for(let a of d)g.includes(`Id="${a.relationshipId}"`)||(g=g.replace("</Relationships>",`<Relationship Id="${a.relationshipId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/${a.fileName}"/></Relationships>`));a.folder("word")?.folder("_rels")?.file("document.xml.rels",g);let h=a.file("_rels/.rels"),i=h?await h.async("string"):'<?xml version="1.0" encoding="UTF-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/></Relationships>';i.includes("metadata/core-properties")||(i=i.replace("</Relationships>",'<Relationship Id="rCore" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/></Relationships>')),i.includes("extended-properties")||(i=i.replace("</Relationships>",'<Relationship Id="rApp" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/></Relationships>')),a.folder("_rels")?.file(".rels",i);let j=a.file("[Content_Types].xml"),k=j?await j.async("string"):'<?xml version="1.0" encoding="UTF-8"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/></Types>';for(let a of new Set(d.map(a=>l.extname(a.fileName).slice(1).toLowerCase()).filter(Boolean))){let b="jpg"===a||"jpeg"===a?"image/jpeg":"png"===a?"image/png":"gif"===a?"image/gif":"webp"===a?"image/webp":void 0;b&&!k.includes(`Extension="${a}"`)&&(k=k.replace("</Types>",`<Default Extension="${a}" ContentType="${b}"/></Types>`))}for(let[a,b]of[["/word/styles.xml","application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"],["/word/numbering.xml","application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"],["/word/settings.xml","application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"],["/word/fontTable.xml","application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"],["/docProps/core.xml","application/vnd.openxmlformats-package.core-properties+xml"],["/docProps/app.xml","application/vnd.openxmlformats-officedocument.extended-properties+xml"]])k.includes(`PartName="${a}"`)||(k=k.replace("</Types>",`<Override PartName="${a}" ContentType="${b}"/></Types>`));a.file("[Content_Types].xml",k)}async function P(a,b,c,d,e=process.cwd()){let f={projectRoot:e,images:[]},g=function(a,b,c){let d=M(b),e=d.titleHalfPoints,f=d.bodyHalfPoints,g=H(a).replace(/<div class="page-break"><\/div>/gu,"\n[[PAGE_BREAK]]\n").split("\n"),h=[],i=!1,k=!1,m=!1;for(let a=0;a<g.length;){var n;let b=g[a].trim();if(!b){a+=1;continue}if(/<div\s+class=["']document-cover["']\s*>/iu.test(b)){k=!0,a+=1;continue}if(k&&/^<\/div>$/iu.test(b)){k=!1,a+=1;continue}if("[[PAGE_BREAK]]"===b){i=!1,k=!1,h.push(N("",{pageBreak:!0})),a+=1;continue}if(k){let c=I(b.replace(/^#\s+/u,""));c&&h.push(N(c,{bold:!0,size:Math.max(e+8,44),line:Math.round(1.15*d.lineTwips),fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,align:"center",spacingBefore:360,spacingAfter:220})),a+=1;continue}let o=c?function(a,b){let c=/!\[([^\]]*)\]\(([^)]+)\)/u.exec(a);if(!c)return null;let d=A(c[2].trim(),b.projectRoot);if(!d)return null;let e=j.readFileSync(d),f=y(d);if(!f||"image/svg+xml"===f||e.length>8388608)return null;let g=b.images.length+1,h=l.extname(d).toLowerCase()||".png",i=function(a,b){if("image/png"===b&&a.length>=24&&"PNG"===a.toString("ascii",1,4))return{width:a.readUInt32BE(16),height:a.readUInt32BE(20)};if("image/jpeg"===b){let b=2;for(;b+9<a.length&&255===a[b];){let c=a[b+1],d=a.readUInt16BE(b+2);if(c>=192&&c<=195)return{height:a.readUInt16BE(b+5),width:a.readUInt16BE(b+7)};b+=2+d}}return{width:640,height:360}}(e,f),k=Math.min(1,620/Math.max(i.width,1)),m={relationshipId:`rImage${g}`,fileName:`image${g}${h}`,buffer:e,contentType:f,widthEmu:Math.round(i.width*k*9525),heightEmu:Math.round(i.height*k*9525),altText:c[1]||`image${g}`};return b.images.push(m),m}(b,c):null;if(o){h.push(`<w:p><w:pPr><w:jc w:val="center"/><w:spacing w:after="120"/></w:pPr><w:r><w:drawing><wp:inline xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"><wp:extent cx="${o.widthEmu}" cy="${o.heightEmu}"/><wp:docPr id="${o.relationshipId.replace(/\D/gu,"")||"1"}" name="${v(o.altText||o.fileName)}"/><a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:nvPicPr><pic:cNvPr id="0" name="${v(o.fileName)}"/><pic:cNvPicPr/></pic:nvPicPr><pic:blipFill><a:blip r:embed="${o.relationshipId}" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/><a:stretch><a:fillRect/></a:stretch></pic:blipFill><pic:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="${o.widthEmu}" cy="${o.heightEmu}"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></pic:spPr></pic:pic></a:graphicData></a:graphic></wp:inline></w:drawing></w:r></w:p>`),a+=1;continue}let p=function(a,b){let c=a[b+1]?.trim()===""?b+2:b+1;if(c>=a.length||!D(a[b]||"")||!C(a[c]||""))return null;let d=E(a[b]||"").map(a=>I(a)),e=E(a[c]||"").length,f=[],g=c+1;for(;g<a.length&&D(a[g]||"");)f.push(E(a[g]||"").map(a=>I(a))),g+=1;let h=Math.max(2,d.length,e,...f.map(a=>a.length)),i=a=>{let b=a.slice(0,h);for(a.length>h&&h>0&&(b[h-1]=[b[h-1],...a.slice(h)].filter(Boolean).join(" | "));b.length<h;)b.push("");return b};return{rows:[i(d),...f.map(i)],next:g}}(g,a);if(p){h.push(function(a,b){let c=Math.max(1,...a.map(a=>a.length)),d=Math.floor(9638/c),e=Array.from({length:c},(a,b)=>b===c-1?9638-d*(c-1):d),f=`<w:tblGrid>${e.map(a=>`<w:gridCol w:w="${a}"/>`).join("")}</w:tblGrid>`;return`<w:tbl><w:tblPr><w:tblW w:w="9638" w:type="dxa"/><w:tblLook w:firstRow="1" w:noHBand="0"/><w:tblBorders><w:top w:val="single" w:sz="6" w:color="666666"/><w:left w:val="single" w:sz="6" w:color="666666"/><w:bottom w:val="single" w:sz="6" w:color="666666"/><w:right w:val="single" w:sz="6" w:color="666666"/><w:insideH w:val="single" w:sz="4" w:color="666666"/><w:insideV w:val="single" w:sz="4" w:color="666666"/></w:tblBorders></w:tblPr>${f}${a.map((a,c)=>`<w:tr>${e.map((d,e)=>{let f=a[e]||"";return`<w:tc><w:tcPr><w:tcW w:w="${d}" w:type="dxa"/><w:tcMar><w:top w:w="80" w:type="dxa"/><w:left w:w="120" w:type="dxa"/><w:bottom w:w="80" w:type="dxa"/><w:right w:w="120" w:type="dxa"/></w:tcMar>${0===c?'<w:shd w:val="clear" w:fill="F3F4F6"/>':""}</w:tcPr>${N(f,{bold:0===c,size:b.bodyHalfPoints,line:b.lineTwips,fontEastAsia:b.fontEastAsia,fontAscii:b.fontAscii,spacingAfter:0,align:0===c?"center":"left"})}</w:tc>`}).join("")}</w:tr>`).join("")}</w:tbl>`}(p.rows,d),N("",{spacingAfter:80,line:d.lineTwips})),a=p.next;continue}let q=/^(#{1,4})\s+(.+)$/u.exec(b);if(q){let b=I(q[2]);i="目录"===b,h.push((n=q[1].length,2===n?N(b,{styleId:"Heading1",outlineLevel:0,bold:!0,size:Math.max(d.titleHalfPoints+4,36),line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,align:"center",spacingBefore:260,spacingAfter:180,keepNext:!0}):3===n?N(b,{styleId:"Heading2",outlineLevel:1,bold:!0,size:Math.max(d.titleHalfPoints,32),line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,spacingBefore:180,spacingAfter:100,keepNext:!0}):N(b,{styleId:"Heading3",outlineLevel:2,bold:!0,size:Math.max(d.bodyHalfPoints,28),line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,spacingBefore:120,spacingAfter:80,keepNext:!0}))),i&&!m&&(h.push(`<w:p><w:pPr><w:spacing w:line="${d.lineTwips}" w:lineRule="exact" w:after="120"/></w:pPr><w:r><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:instrText xml:space="preserve">TOC \\o &quot;1-3&quot; \\h \\z \\u</w:instrText></w:r><w:r><w:fldChar w:fldCharType="separate"/></w:r><w:r><w:t>请在 Word 中右键更新目录</w:t></w:r><w:r><w:fldChar w:fldCharType="end"/></w:r></w:p>`),m=!0),a+=1;continue}let r=I(b),s=function(a){let b=/^\s*(\d+(?:\.\d+){0,2})([.、])\s+(.+)$/u.exec(a);return b?{level:Math.min(b[1].split(".").length-1,2),marker:`${b[1]}${b[2]}`,text:I(b[3])}:null}(b),t=function(a){let b=/^\s*[-*+]\s+(.+)$/u.exec(a);return b?I(b[1]):null}(b);if(!i&&s){let b=0===s.level?720:1===s.level?1080:1440,c=0===s.level?360:1===s.level?420:480;h.push(N(`${s.marker} ${s.text}`,{styleId:"ListParagraph",numbering:{numId:1,level:s.level},size:f,line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,indentLeft:b,hanging:c,spacingAfter:60})),a+=1;continue}if(!i&&t){h.push(N(`• ${t}`,{styleId:"ListParagraph",size:f,line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,indentLeft:720,hanging:360,spacingAfter:60})),a+=1;continue}let u=/^\*\*[^*]+\*\*\s*[::]?\s*$/u.test(b)||/^([一二三四五六七八九十]+)/u.test(r)||/^[一二三四五六七八九十]+、/u.test(r);h.push(i?function(a,b){let c=/^\s*\d+\.\d+\s+\S/u.test(a);return N(I(a),{bold:!c,size:b.bodyHalfPoints,line:b.lineTwips,fontEastAsia:b.fontEastAsia,fontAscii:b.fontAscii,spacingAfter:c?30:80,indentLeft:420*!!c,align:"left"})}(b,d):N(r,{bold:u,size:f,line:d.lineTwips,fontEastAsia:d.fontEastAsia,fontAscii:d.fontAscii,align:"both",firstLine:560*!u,spacingBefore:80*!!u})),a+=1}return h.join("")}(b,c,f);if(d&&j.existsSync(d)){let b=await p().loadAsync(j.readFileSync(d)),e=b.file("word/document.xml");if(e){let d=await e.async("string");return b.file("word/document.xml",d.replace(/\{\{title\}\}/gu,v(a)).replace(/\{\{content\}\}/gu,g)),await O(b,a,c,f.images),b.generateAsync({type:"nodebuffer"})}}let h=c?.page||{},i=new(p());return i.folder("word")?.file("document.xml",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:body>${g}<w:sectPr><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="${L(h.marginTop,2.5)}" w:right="${L(h.marginRight,2)}" w:bottom="${L(h.marginBottom,2)}" w:left="${L(h.marginLeft,2)}"/></w:sectPr></w:body></w:document>`),await O(i,a,c,f.images),i.generateAsync({type:"nodebuffer"})}function Q(a,b){return a&&/^[\w\s\u4e00-\u9fa5,"'().-]+$/u.test(a)?a:b}function R(a){let b=a?.page||{},c=a?.typography||{},d=Q(b.paper,"A4"),e=Q(b.marginTop,"24mm"),f=Q(b.marginRight,"18mm"),g=Q(b.marginBottom,"22mm"),h=Q(b.marginLeft,"18mm"),i=Q(c.fontFamily,"SimSun, 宋体, serif"),j=K(c.lineHeight,22);return{paper:d,marginTop:e,marginRight:f,marginBottom:g,marginLeft:h,fontFamily:i,lineHeight:j,titleSize:K(c.titleSize,16),bodySize:K(c.bodySize,14)}}function S(a){return a.replace(/(<h2[^>]*>\s*目录\s*<\/h2>)([\s\S]*?)(<div class="page-break"><\/div>)/u,(a,b,c,d)=>{let e=c.replace(/<ol>\s*([\s\S]*?)\s*<\/ol>/u,(a,b)=>b).replace(/<li>\s*([^<]+?)\s*<\/li>/gu,"<p>$1</p>").replace(/<p>(?:\s|&nbsp;|&#160;)*(\d+\.\d+\s+[^<]+)<\/p>/giu,'<p class="toc-section">$1</p>').replace(/<p>(?!(?:\s|&nbsp;|&#160;)*<\/p>|(?:\s|&nbsp;|&#160;)*\d+\.\d+\s)([\s\S]*?)<\/p>/giu,'<p class="toc-chapter">$1</p>');return`<section class="document-toc">${b}${e}</section>${d}`})}function T(a){let b=a.message.trim();return!/^(事实冲突|必需章节缺失):/u.test(b)&&/出现禁用文本\s*(资料未提供|占位|TODO|TBD)|正文包含.*(资料未提供|占位)|图片、地图或附件引用路径明显无效|无效路径|表格语法错误|临时远程生成 URL|提示词全文|内部错误|生成未完成|低于目标页数|低于目标字数|文档预算未达成|正文篇幅低于目标|缺少规划小节|缺少必要的正式表格|正文缺少章节标题/iu.test(b)}function U(a){return{chars:a.trim().length,h2:(a.match(/^##\s+/gmu)||[]).length,h3:(a.match(/^###\s+/gmu)||[]).length,tables:(a.match(/\n\s*\|\s*:?-{3,}/gu)||[]).length}}function V(a,b){let c=U(a),d=b?U(b):void 0,e=[];c.chars<200&&e.push("导出内容为空或过短"),d&&d.chars>1e3&&c.chars<.8*d.chars&&e.push("导出内容明显少于服务端生成记录"),d&&d.h3>0&&0===c.h3&&e.push("导出内容缺少服务端生成记录中的二级小节"),d&&d.tables>0&&0===c.tables&&e.push("导出内容缺少服务端生成记录中的表格");let f=a.split(/\r?\n/u).map(a=>/^(#{2,4})\s+(.+)$/u.exec(a.trim())).filter(a=>!!a).map(a=>({level:a[1].length,title:I(a[2])})).filter(a=>a.title&&"目录"!==a.title);0===f.length&&e.push("正文缺少章节标题"),f.some((a,b)=>b>0&&a.level-f[b-1].level>1)&&e.push("标题层级存在跳级,可能影响导出目录和导航");let g=f.map(a=>a.title.replace(/^第[一二三四五六七八九十百]+章\s*/u,"").replace(/^\d+(?:\.\d+)*\s*/u,"").replace(/[\s::.。]+$/gu,"").trim()).filter(Boolean).filter((a,b,c)=>c.indexOf(a)!==b);g.length>0&&e.push(`存在重复标题:${[...new Set(g)].slice(0,3).join("、")}`);let h=a.split(/\r?\n/u).map(a=>I(a)).filter(a=>a.length>0&&!/^#+\s/u.test(a));h.some(a=>a.length<=1)&&e.push("正文存在孤立字或残缺段落"),h.some(a=>/[,、;:和与在为对将]$/u.test(a)||/(通过|包括|如下|主要包括)$/u.test(a))&&e.push("正文存在疑似截断句或未完结段落"),h.some(a=>a.length>380)&&e.push("正文存在过长段落,建议拆分以改善导出版式");let i=function(a){let b=new Map,c=[];for(let d of a.split(/\n{2,}/u).map(a=>I(a)).filter(a=>a.length>=45&&!/^#+\s/u.test(a))){let a=d.replace(/\s+/gu,"").slice(0,90),e=(b.get(a)||0)+1;b.set(a,e),2===e&&c.push(d.slice(0,60))}return c}(a);return i.length>0&&e.push(`正文存在重复段落:${i.slice(0,2).join(";")}`),e.push(...function(a){let b=[],c=a.split(/\r?\n/u);for(let a=0;a<c.length;a+=1){let d=c[a]||"";if(!D(d))continue;let e=c[a+1]?.trim()===""?a+2:a+1;if(e<c.length&&C(c[e]||"")){let f=[],g=e+1;for(;g<c.length&&D(c[g]||"");)f.push(c[g]||""),g+=1;0===f.length&&b.push(`第 ${a+1} 行表格只有表头,没有数据行`);let h=[d,...f].map(a=>E(a).length);Math.max(...h)-Math.min(...h)>2&&b.push(`第 ${a+1} 行附近表格列数差异较大,导出版式可能异常`),a=g-1;continue}a+1<c.length&&D(c[a+1]||"")&&b.push(`第 ${a+1} 行附近疑似裸表格,已尝试自动规范化`)}return(a.match(/```/gu)||[]).length%2==1&&b.push("存在未闭合代码块,可能影响后续内容导出"),[...new Set(b)].slice(0,20)}(a)),[...new Set(e)]}function W(a,b){let c=H(a),d=H(b||"");return{markdown:c,baselineMarkdown:d,issues:V(c,d)}}async function X(a,b,d,e){let{marked:f}=await Promise.resolve().then(c.bind(c,83142));return B(function(a,b,c){let d=M(c),e=S(b);return`<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><title>${v(a)}</title><style>
2
2
  @page{size:${d.paper};margin:${d.marginTop} ${d.marginRight} ${d.marginBottom} ${d.marginLeft}}
3
3
  *{box-sizing:border-box}
4
4
  html,body{margin:0;padding:0;background:#fff}
@@ -1 +1,2 @@
1
- "use strict";(()=>{var a={};a.id=8889,a.ids=[8889],a.modules={15751:a=>{a.exports=require("xlsx")},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},38765:(a,b,c)=>{c.r(b),c.d(b,{config:()=>o,default:()=>n,handler:()=>q});var d={};c.r(d),c.d(d,{config:()=>j,default:()=>k});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(48661);let j={api:{bodyParser:{sizeLimit:"50mb"}}};function k(a,b){try{let c=String(a.query.id||"");if(!c)return b.status(400).json({error:"id required"});let d="string"==typeof a.query.projectRoot?a.query.projectRoot:void 0;if("GET"===a.method){let e=(0,i.v7)(c,d);if(!e)return b.status(404).json({error:"Document not found"});if("1"===a.query.lite&&"generating"===e.status)return b.status(200).json({document:{id:e.id,taskId:e.taskId,templateId:e.templateId,templateName:e.templateName,title:e.title,requirement:e.requirement,projectRoot:e.projectRoot,projectId:e.projectId,knowledgeBasePath:e.knowledgeBasePath,markdown:"",status:e.status,executionStages:e.executionStages,partialChapters:e.partialChapters,reviewMetadata:e.reviewMetadata,assets:[],createdAt:e.createdAt,updatedAt:e.updatedAt,error:e.error,warningIssues:e.warningIssues}});return b.status(200).json({document:e})}if("PUT"===a.method){let e=(0,i.a6)(c,a.body||{},d);if(!e)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:e})}if("DELETE"===a.method)return(0,i.QG)(c,d),b.status(200).json({ok:!0});return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] documents/generated/[id]",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var l=c(68970),m=c(50296);let n=(0,h.M)(d,"default"),o=(0,h.M)(d,"config"),p=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/generated/[id]",pathname:"/api/documents/generated/[id]",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/documents/generated/[id]"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,l.getTracer)(),e=d.getActiveScopeSpan(),j=p.instrumentationOnRequestError.bind(p),k=async e=>p.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:p.isDev,page:"/api/documents/generated/[id]",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(m.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:l.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(p.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},87550:a=>{a.exports=require("better-sqlite3")},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,5840,6041,8661],()=>b(b.s=38765));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=8889,a.ids=[8889],a.modules={15751:a=>{a.exports=require("xlsx")},16006:(a,b,c)=>{c.d(b,{j:()=>e});var d=c(91879);function e(a,b){return async function(c,e){try{await b(c,e)}catch(g){let f=(0,d.wF)({source:a,functionName:b.name||"anonymous",error:g,req:c});console.error(`[${a}]`,f.id,g),e.headersSent||e.status(500).json({error:g instanceof Error?g.message:"Internal server error",requestId:f.id})}}}(0,d.mG)()},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},38765:(a,b,c)=>{c.r(b),c.d(b,{config:()=>q,default:()=>p,handler:()=>s});var d={};c.r(d),c.d(d,{config:()=>k,default:()=>m});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(16006),j=c(48661);let k={api:{bodyParser:{sizeLimit:"50mb"}}};function l(a,b=1200){return!a||a.length<=b?a:`${a.slice(0,b)}...`}let m=(0,i.j)("api/documents/generated/[id]",function(a,b){let c=String(a.query.id||"");if(!c)return b.status(400).json({error:"id required"});let d="string"==typeof a.query.projectRoot?a.query.projectRoot:void 0;if("GET"===a.method){let e=(0,j.v7)(c,d);if(!e)return b.status(404).json({error:"Document not found"});if("1"===a.query.lite)return b.status(200).json({document:{id:e.id,taskId:e.taskId,templateId:e.templateId,templateName:e.templateName,title:e.title,requirement:e.requirement,projectRoot:e.projectRoot,projectId:e.projectId,knowledgeBasePath:e.knowledgeBasePath,markdown:"generating"===e.status?"":l(e.markdown,2e3)||"",status:e.status,draft:"generating"===e.status?void 0:e.draft,executionStages:e.executionStages?.map(a=>({...a,message:l(a.message,500),details:a.details?.slice(0,6).map(a=>l(a,300)||"")})),partialChapters:e.partialChapters,reviewMetadata:"generating"===e.status?e.reviewMetadata:void 0,assets:[],createdAt:e.createdAt,updatedAt:e.updatedAt,error:l(e.error),warningIssues:e.warningIssues?.slice(0,8).map(a=>l(a,500)||"")}});return b.status(200).json({document:e})}if("PUT"===a.method){let e=(0,j.a6)(c,a.body||{},d);return e?b.status(200).json({document:e}):b.status(404).json({error:"Document not found"})}return"DELETE"===a.method?((0,j.QG)(c,d),b.status(200).json({ok:!0})):b.status(405).json({error:"Method not allowed"})});var n=c(68970),o=c(50296);let p=(0,h.M)(d,"default"),q=(0,h.M)(d,"config"),r=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/generated/[id]",pathname:"/api/documents/generated/[id]",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function s(a,b,c){let d=await r.prepare(a,b,{srcPage:"/api/documents/generated/[id]"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,n.getTracer)(),e=d.getActiveScopeSpan(),j=r.instrumentationOnRequestError.bind(r),k=async e=>r.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:r.isDev,page:"/api/documents/generated/[id]",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==o.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(o.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:n.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(r.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},87550:a=>{a.exports=require("better-sqlite3")},91879:(a,b,c)=>{c.d(b,{hH:()=>p,mG:()=>r,cW:()=>o,wF:()=>n});var d=c(29021),e=c.n(d),f=c(21820),g=c.n(f),h=c(33873),i=c.n(h);let j=require("crypto");var k=c.n(j);let l=i().join(g().homedir(),".customize-agent","logs"),m=i().join(l,"errors.jsonl");function n(a){let{message:b,stack:c}=function(a){if(a instanceof Error)return{message:a.message,stack:a.stack};if("string"==typeof a)return{message:a};try{return{message:JSON.stringify(a)}}catch{return{message:String(a)}}}(a.error),d={id:`err_${Date.now()}_${k().randomBytes(4).toString("hex")}`,level:a.level||"error",source:a.source,functionName:a.functionName,message:b,stack:c,request:a.req?{method:a.req.method,url:a.req.url,query:a.req.query}:void 0,meta:a.meta,createdAt:Date.now()};try{e().mkdirSync(l,{recursive:!0}),function(){try{if(e().statSync(m).size<=2097152)return;e().renameSync(m,i().join(l,`errors-${Date.now()}.jsonl`))}catch{}}(),e().appendFileSync(m,`${JSON.stringify(d)}
2
+ `)}catch(a){console.error("[errorLogService] failed to write error log",a)}return d}function o(a=200){try{return e().readFileSync(m,"utf8").split("\n").filter(Boolean).slice(-a).reverse().map(a=>JSON.parse(a))}catch{return[]}}function p(){try{e().rmSync(m,{force:!0})}catch{}}let q=!1;function r(){q||(q=!0,process.on("uncaughtException",a=>{n({source:"process",functionName:"uncaughtException",error:a}),console.error("[process] uncaughtException",a)}),process.on("unhandledRejection",a=>{n({source:"process",functionName:"unhandledRejection",error:a}),console.error("[process] unhandledRejection",a)}))}},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,5840,6041,8661],()=>b(b.s=38765));module.exports=c})();
@@ -1,5 +1,5 @@
1
1
  "use strict";(()=>{var a={};a.id=6583,a.ids=[6583],a.modules={19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},37095:(a,b,c)=>{c.d(b,{CU:()=>q,H7:()=>p,JB:()=>m,Qf:()=>k,kW:()=>n,oy:()=>l,sn:()=>o});var d=c(29021),e=c(21820),f=c(33873),g=c(19898);function h(a){return f.join(e.homedir(),".customize-agent","projects",(0,g.computeProjectId)(a),"kb-operations.jsonl")}function i(a){let b=h(a);return d.existsSync(b)?d.readFileSync(b,"utf8").split("\n").filter(Boolean).flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}}):[]}function j(a,b){let c=h(a);d.mkdirSync(f.dirname(c),{recursive:!0}),d.writeFileSync(c,`${b.slice(-200).map(a=>JSON.stringify(a)).join("\n")}
2
- `,"utf8")}function k(a,b){let c=Date.now(),d=i(a),e=d.findIndex(a=>a.id===b.id),f=e>=0?d[e]:void 0,g={id:b.id,type:b.type,title:b.title,stage:b.stage??f?.stage??"uploading",status:b.status??f?.status??"processing",message:b.message??f?.message??"",percent:b.percent??f?.percent??0,fileName:b.fileName??f?.fileName,filePath:b.filePath??f?.filePath,chunkCount:b.chunkCount??f?.chunkCount,textLength:b.textLength??f?.textLength,extractionMode:b.extractionMode??f?.extractionMode,error:b.error??f?.error,createdAt:f?.createdAt??c,updatedAt:c};return e>=0?d[e]=g:d.push(g),j(a,d),g}function l(a,b=50){return i(a).sort((a,b)=>b.updatedAt-a.updatedAt).slice(0,b)}function m(a,b){return i(a).find(a=>a.id===b)}function n(a,b){return i(a).filter(a=>!b||a.type===b).sort((a,b)=>b.updatedAt-a.updatedAt)[0]}function o(a){return i(a).filter(a=>"processing"===a.status).sort((a,b)=>b.updatedAt-a.updatedAt)}function p(a){let b=i(a),c=h(a);return d.existsSync(c)&&d.unlinkSync(c),b.length}function q(a,b){let c=i(a),d=c.filter(a=>a.id!==b);return d.length!==c.length&&(j(a,d),!0)}},44533:(a,b,c)=>{c.d(b,{Qh:()=>l,VS:()=>p,Yy:()=>o,aY:()=>n});var d=c(19898),e=c(87550),f=c.n(e),g=c(33873),h=c(21820),i=c(29021);let j=null;function k(){return g.join(h.homedir(),".customize-agent")}function l(){return j||(j=new d.MultiProjectManager(k())),j}function m(a){let b=g.resolve(a),c=g.resolve(g.join(h.homedir(),".customize-agent"));return!(i.existsSync(g.join(b,"pnpm-workspace.yaml"))&&i.existsSync(g.join(b,"apps","server")))&&(b===c||b.includes(`${g.sep}.customize-agent${g.sep}`)||b.endsWith(`${g.sep}apps${g.sep}server`)||b.endsWith(`${g.sep}apps${g.sep}cli`))}function n(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&i.existsSync(a)&&!m(a))return g.resolve(a);let b=function(){let a=g.join(k(),"projects","registry.db");if(!i.existsSync(a))return[];let b=new(f())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>g.resolve(a.project_root)).filter(a=>!m(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!m(process.env.INIT_CWD)?process.env.INIT_CWD:g.resolve(process.cwd(),"../..")}function o(a,b={}){let c=new Map;for(let b of function(a){let b=g.join(h.homedir(),".customize-agent","projects",(0,d.computeProjectId)(g.resolve(a)),"kb.db");if(!i.existsSync(b))return[];let c=new d.IndexStateStore(b);try{return c.listRecords().map(a=>({...a,matchedBy:"metadata"}))}finally{c.close()}}(a))c.set(b.relativePath,b);for(let b of function(a){let b=g.join(a,"knowledgeBase");if(!i.existsSync(b))return[];let c=[],d=a=>{for(let e of i.readdirSync(a,{withFileTypes:!0})){let f=g.join(a,e.name);if(e.isDirectory()){d(f);continue}if(e.name.endsWith(".source.txt"))continue;let h=i.statSync(f),j=g.relative(b,f).split(g.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:g.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:h.size,mtime:h.mtimeMs,chunkCount:0,collectionName:"",indexedAt:0,lastVerifiedAt:0,status:"disk",matchedBy:"disk"})}};return d(b),c}(a)){let a=c.get(b.relativePath);c.set(b.relativePath,a?{...a,fileSize:b.fileSize,mtime:b.mtime,matchedBy:"metadata"}:b)}return Array.from(c.values()).filter(a=>!b.category||a.category===b.category).sort((a,b)=>b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN"))}async function p(a,b={}){let c=(b.query||"").trim(),d=Math.max(1,Math.min(500,b.limit??50)),e=new Map,f=o(a,{category:b.category});for(let a of f)(!c||`${a.relativePath}
2
+ `,"utf8")}function k(a,b){let c=Date.now(),d=i(a),e=d.findIndex(a=>a.id===b.id),f=e>=0?d[e]:void 0,g={id:b.id,type:b.type,title:b.title,stage:b.stage??f?.stage??"uploading",status:b.status??f?.status??"processing",message:b.message??f?.message??"",percent:b.percent??f?.percent??0,fileName:b.fileName??f?.fileName,filePath:b.filePath??f?.filePath,chunkCount:b.chunkCount??f?.chunkCount,textLength:b.textLength??f?.textLength,extractionMode:b.extractionMode??f?.extractionMode,error:b.error??f?.error,details:b.details??f?.details,createdAt:f?.createdAt??c,updatedAt:c};return e>=0?d[e]=g:d.push(g),j(a,d),g}function l(a,b=50){return i(a).sort((a,b)=>b.updatedAt-a.updatedAt).slice(0,b)}function m(a,b){return i(a).find(a=>a.id===b)}function n(a,b){return i(a).filter(a=>!b||a.type===b).sort((a,b)=>b.updatedAt-a.updatedAt)[0]}function o(a){return i(a).filter(a=>"processing"===a.status).sort((a,b)=>b.updatedAt-a.updatedAt)}function p(a){let b=i(a),c=h(a);return d.existsSync(c)&&d.unlinkSync(c),b.length}function q(a,b){let c=i(a),d=c.filter(a=>a.id!==b);return d.length!==c.length&&(j(a,d),!0)}},44533:(a,b,c)=>{c.d(b,{Qh:()=>l,VS:()=>p,Yy:()=>o,aY:()=>n});var d=c(19898),e=c(87550),f=c.n(e),g=c(33873),h=c(21820),i=c(29021);let j=null;function k(){return g.join(h.homedir(),".customize-agent")}function l(){return j||(j=new d.MultiProjectManager(k())),j}function m(a){let b=g.resolve(a),c=g.resolve(g.join(h.homedir(),".customize-agent"));return!(i.existsSync(g.join(b,"pnpm-workspace.yaml"))&&i.existsSync(g.join(b,"apps","server")))&&(b===c||b.includes(`${g.sep}.customize-agent${g.sep}`)||b.endsWith(`${g.sep}apps${g.sep}server`)||b.endsWith(`${g.sep}apps${g.sep}cli`))}function n(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&i.existsSync(a)&&!m(a))return g.resolve(a);let b=function(){let a=g.join(k(),"projects","registry.db");if(!i.existsSync(a))return[];let b=new(f())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>g.resolve(a.project_root)).filter(a=>!m(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!m(process.env.INIT_CWD)?process.env.INIT_CWD:g.resolve(process.cwd(),"../..")}function o(a,b={}){let c=new Map;for(let b of function(a){let b=g.join(h.homedir(),".customize-agent","projects",(0,d.computeProjectId)(g.resolve(a)),"kb.db");if(!i.existsSync(b))return[];let c=new d.IndexStateStore(b);try{return c.listRecords().map(a=>({...a,matchedBy:"metadata"}))}finally{c.close()}}(a))c.set(b.relativePath,b);for(let b of function(a){let b=g.join(a,"knowledgeBase");if(!i.existsSync(b))return[];let c=[],d=a=>{for(let e of i.readdirSync(a,{withFileTypes:!0})){let f=g.join(a,e.name);if(e.isDirectory()){d(f);continue}if(e.name.endsWith(".source.txt"))continue;let h=i.statSync(f),j=g.relative(b,f).split(g.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:g.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:h.size,mtime:h.mtimeMs,chunkCount:0,collectionName:"",indexedAt:0,lastVerifiedAt:0,status:"disk",matchedBy:"disk"})}};return d(b),c}(a)){let a=c.get(b.relativePath);c.set(b.relativePath,a?{...a,fileSize:b.fileSize,mtime:b.mtime,matchedBy:"metadata"}:b)}return Array.from(c.values()).filter(a=>!b.category||a.category===b.category).sort((a,b)=>b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN"))}async function p(a,b={}){let c=(b.query||"").trim(),d=Math.max(1,Math.min(500,b.limit??50)),e=new Map,f=o(a,{category:b.category});for(let a of f)(!c||`${a.relativePath}
3
3
  ${a.category}
4
4
  ${a.format}
5
5
  ${a.status}`.toLowerCase().includes(c.toLowerCase()))&&e.set(a.relativePath,{...a,matchedBy:c?"path":a.matchedBy});if(c&&!1!==b.includeContent)try{for(let b of(await l().search(a,c,{limit:Math.max(20,d)})).results){let a=b.filePath,c=e.get(a)||f.find(b=>b.relativePath===a);e.set(a,{...c||{relativePath:a,category:"content",format:"knowledge",fileSize:0,mtime:0,chunkCount:0,indexedAt:0,lastVerifiedAt:0,status:"active"},matchedBy:"content",score:b.score})}}catch{}let g=Array.from(e.values()).sort((a,b)=>{let c=a=>"content"===a.matchedBy?3:"path"===a.matchedBy?2:+("metadata"===a.matchedBy);return c(b)-c(a)||(b.score??0)-(a.score??0)||b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN")});return{files:g.slice(0,d),total:g.length}}},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},87550:a=>{a.exports=require("better-sqlite3")},98577:(a,b,c)=>{c.r(b),c.d(b,{config:()=>o,default:()=>n,handler:()=>q});var d={};c.r(d),c.d(d,{default:()=>k});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(44533),j=c(37095);function k(a,b){if("GET"!==a.method)return b.status(405).json({error:"Method not allowed"});try{let c=a.query.projectRoot||(0,i.aY)(),d=a.query.id;if(!c||!d)return b.status(400).json({error:"projectRoot and id are required"});let e=(0,j.JB)(c,d);if(!e)return b.status(404).json({error:"Job not found"});return b.status(200).json({job:e})}catch(a){return console.error("[api] jobs/[id]",a),b.status(500).json({error:"Internal server error"})}}var l=c(68970),m=c(50296);let n=(0,h.M)(d,"default"),o=(0,h.M)(d,"config"),p=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/jobs/[id]",pathname:"/api/jobs/[id]",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/jobs/[id]"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,l.getTracer)(),e=d.getActiveScopeSpan(),j=p.instrumentationOnRequestError.bind(p),k=async e=>p.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:p.isDev,page:"/api/jobs/[id]",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(m.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:l.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(p.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}}};var b=require("../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705],()=>b(b.s=98577));module.exports=c})();