@customize-agent/server 4.2.8 → 4.3.0

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 (66) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +20 -20
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/208.js +2 -2
  5. package/.next/server/chunks/2274.js +89 -0
  6. package/.next/server/chunks/4680.js +8 -6
  7. package/.next/server/chunks/5284.js +14 -12
  8. package/.next/server/chunks/5840.js +1 -1
  9. package/.next/server/chunks/8661.js +1 -1
  10. package/.next/server/chunks/9227.js +1 -1
  11. package/.next/server/middleware-build-manifest.js +1 -1
  12. package/.next/server/pages/404.html +1 -1
  13. package/.next/server/pages/500.html +1 -1
  14. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  15. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  16. package/.next/server/pages/api/assets/generated.js +1 -1
  17. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  18. package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
  19. package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
  20. package/.next/server/pages/api/documents/export.js +1 -1
  21. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  22. package/.next/server/pages/api/documents/generate.js +2 -2
  23. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  24. package/.next/server/pages/api/documents/generated/[id].js +1 -1
  25. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  26. package/.next/server/pages/api/documents/generated.js +1 -1
  27. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  28. package/.next/server/pages/api/documents/templates.js +1 -1
  29. package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
  30. package/.next/server/pages/asset-library.html +1 -1
  31. package/.next/server/pages/document-roles.html +1 -1
  32. package/.next/server/pages/documents.html +1 -1
  33. package/.next/server/pages/guide.html +1 -1
  34. package/.next/server/pages/index.html +1 -1
  35. package/.next/server/pages/knowledge/file-detail.html +1 -1
  36. package/.next/server/pages/knowledge/files.html +1 -1
  37. package/.next/server/pages/knowledge/manage.html +1 -1
  38. package/.next/server/pages/knowledge.html +1 -1
  39. package/.next/server/pages/models.html +1 -1
  40. package/.next/server/pages/overview.html +1 -1
  41. package/.next/server/pages/prompt.html +1 -1
  42. package/.next/server/pages/settings.html +1 -1
  43. package/.next/server/pages/system/logs.html +1 -1
  44. package/.next/server/pages/template-references.html +1 -1
  45. package/.next/server/pages-manifest.json +28 -28
  46. package/.next/static/chunks/{224-790cf01fcf6820ee.js → 224-0415408fff1d1c8b.js} +1 -1
  47. package/.next/static/chunks/260-580088826d643423.js +1 -0
  48. package/.next/static/chunks/{289-42781fb699646699.js → 289-fc1b25371e004552.js} +1 -1
  49. package/.next/static/chunks/788-dca0d550ad6bd8b2.js +1 -0
  50. package/.next/static/chunks/pages/documents-676b6c8d14dd5fac.js +1 -0
  51. package/.next/static/chunks/pages/knowledge/files-45b40149a6f4a9d5.js +1 -0
  52. package/.next/static/chunks/pages/knowledge/manage-5b1b4d3804752f8b.js +1 -0
  53. package/.next/static/chunks/pages/prompt-edc2dfea09aaedc1.js +1 -0
  54. package/.next/static/chunks/pages/system/logs-ee67e2c93147dfc3.js +1 -0
  55. package/.next/static/ifGD_L_t83KxG1fOOq3qd/_buildManifest.js +1 -0
  56. package/package.json +1 -1
  57. package/.next/server/chunks/2405.js +0 -87
  58. package/.next/static/Hr72uu8Mpoi5l6aLwpXdH/_buildManifest.js +0 -1
  59. package/.next/static/chunks/260-244c94eacd903620.js +0 -1
  60. package/.next/static/chunks/788-e98701da4d6ca319.js +0 -1
  61. package/.next/static/chunks/pages/documents-f9880371363a534c.js +0 -1
  62. package/.next/static/chunks/pages/knowledge/files-3ba329d8e6335929.js +0 -1
  63. package/.next/static/chunks/pages/knowledge/manage-558987c599dc4cd5.js +0 -1
  64. package/.next/static/chunks/pages/prompt-839287c514595765.js +0 -1
  65. package/.next/static/chunks/pages/system/logs-2e849bcdf371d791.js +0 -1
  66. /package/.next/static/{Hr72uu8Mpoi5l6aLwpXdH → ifGD_L_t83KxG1fOOq3qd}/_ssgManifest.js +0 -0
@@ -23,4 +23,4 @@ th{background:#f3f4f6;font-weight:700;text-align:center}
23
23
  pre{white-space:pre-wrap;font-family:${d.fontFamily};font-size:${d.bodyCss};line-height:${d.lineCss};page-break-inside:avoid;break-inside:avoid}.page-break{page-break-after:always;break-after:page;height:0}
24
24
  @media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact}a{text-decoration:none;color:#111827}}
25
25
  </style></head><body>${e}</body></html>`}(a,f.parse(b,{async:!1}).replace(/<h2([^>]*)>(第[一二三四五六七八九十百千万\d]+章\s*[\s\S]*?)<\/h2>/gu,(a,b,c)=>/\bclass=/iu.test(b)?`<h2${b.replace(/class=(['"])(.*?)\1/iu,(a,b,c)=>`class=${b}${c} document-chapter-heading${b}`)}>${c}</h2>`:`<h2${b} class="document-chapter-heading">${c}</h2>`).replace(/<p>\s*\|\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?\s*<\/p>/giu,""),d),e)}function Z(){let a=[process.env.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH,process.env.CHROME_PATH].filter(Boolean),b=k.homedir();return[...new Set([...a,..."darwin"===process.platform?["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome","/Applications/Chromium.app/Contents/MacOS/Chromium","/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge","/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",l.join(b,"Applications/Google Chrome.app/Contents/MacOS/Google Chrome"),l.join(b,"Applications/Chromium.app/Contents/MacOS/Chromium")]:"win32"===process.platform?[l.join(process.env.PROGRAMFILES||"C:\\Program Files","Google/Chrome/Application/chrome.exe"),l.join(process.env["PROGRAMFILES(X86)"]||"C:\\Program Files (x86)","Google/Chrome/Application/chrome.exe"),l.join(process.env.LOCALAPPDATA||"","Google/Chrome/Application/chrome.exe"),l.join(process.env.PROGRAMFILES||"C:\\Program Files","Microsoft/Edge/Application/msedge.exe")]:["/usr/bin/google-chrome","/usr/bin/google-chrome-stable","/usr/bin/chromium","/usr/bin/chromium-browser","/snap/bin/chromium","/usr/bin/microsoft-edge"]].filter(a=>a&&j.existsSync(a)))]}async function $(a,b,c){let d=j.mkdtempSync(l.join(k.tmpdir(),"customize-agent-pdf-")),e=l.join(d,"document.html"),f=l.join(d,"document.pdf"),g=l.join(d,"profile");j.writeFileSync(e,a,"utf-8");try{let a=R(c),d=(0,m.pathToFileURL)(e).href,h=["--disable-gpu","--no-sandbox","--disable-setuid-sandbox",`--user-data-dir=${g}`,`--print-to-pdf=${f}`,`--print-to-pdf-page-size=${a.paper}`,d],i=[];for(let a of["--headless=new","--headless"])try{if(await x(b,[a,...h],{timeout:3e4,maxBuffer:1048576}),j.existsSync(f)&&j.statSync(f).size>=1024)return j.readFileSync(f);i.push(`${a}: browser command did not produce a valid PDF`)}catch(b){i.push(`${a}: ${b instanceof Error?b.message:String(b)}`)}throw Error(i.join("\n"))}finally{j.rmSync(d,{recursive:!0,force:!0})}}async function _(a,b){let{chromium:d}=await Promise.resolve().then(c.bind(c,83237)),e=[{label:"playwright-bundled-chromium",options:{headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},{label:"system-chrome-channel",options:{channel:"chrome",headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},{label:"system-msedge-channel",options:{channel:"msedge",headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},...Z().map(a=>({label:a,options:{executablePath:a,headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}}))],f=[];for(let c of e)try{let e=await d.launch(c.options);try{let c=await e.newPage({locale:"zh-CN"});await c.setContent(a,{waitUntil:"load"}),await c.waitForFunction(()=>Array.from(document.images).every(a=>a.complete),void 0,{timeout:1e4}).catch(()=>void 0),await c.emulateMedia({media:"print"});let d=M(b),f=await c.pdf({format:d.paper,printBackground:!0,preferCSSPageSize:!0,margin:{top:d.marginTop,right:d.marginRight,bottom:d.marginBottom,left:d.marginLeft},displayHeaderFooter:!0,headerTemplate:"<div></div>",footerTemplate:`<div style="font-family:${d.fontFamily};font-size:10.5pt;line-height:12pt;width:100%;text-align:center;color:#666;">第 <span class="pageNumber"></span> 页 / 共 <span class="totalPages"></span> 页</div>`});return Buffer.from(f)}finally{await e.close()}}catch(a){f.push(`${c.label}: ${a instanceof Error?a.message:String(a)}`)}for(let c of Z())try{return await $(a,c,b)}catch(a){f.push(`browser-command ${c}: ${a instanceof Error?a.message:String(a)}`)}throw Error(f.join("\n"))}function aa(a,b,c){if(a)try{let d=a.draft,e=d?.reviewMetadata?.qualityBenchmark,f=d?.reviewMetadata?.diagnostics?.quality,g=a.completedAt?Math.max(0,a.completedAt-a.createdAt):Math.max(0,Date.now()-a.createdAt),h={format:b,exportedAt:Date.now(),durationMs:g,benchmarkScore:e?.overallScore,benchmarkSourceCount:e?.referenceSourceCount,ruleSummary:(d?.promptRules?.executionSummary||[]).slice(0,12),repairedCount:f?.repairedCount,blockingCount:f?.blockingCount,gatePassed:d?.exportGate?.passed},i=[...a.exportReports||[],h].slice(-20);(0,q.a6)(a.id,{exportReports:i},c)}catch{}}async function ab(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});let c=a.body,d=c.projectRoot||(0,r.aY)(),e=c.documentId?(0,q.v7)(c.documentId,d):null;if(c.documentId&&!e)return b.status(404).json({error:"Document not found"});let f=c.title||e?.title||"document",g=e?.draft?.exportSettings,h=e?.editedMarkdown||e?.markdown||e?.draft?.markdown||"",i=X(c.useClientMarkdown&&"string"==typeof c.markdown?c.markdown:h||c.markdown||"",e?.draft?.markdown||e?.markdown||""),{markdown:j}=i,k=c.format;if(!k||!["markdown","html","pdf","docx"].includes(k))return b.status(400).json({error:"INVALID_EXPORT_FORMAT",message:"请选择有效的导出格式。"});i.issues.length>0&&b.setHeader("X-Export-Content-Issues",encodeURIComponent(JSON.stringify(i.issues.slice(0,20))));let l=e?.draft?.exportGate||c.exportGate,m=l?.blockingIssues?.filter(T)||[],n=l?.passed===!1&&0===m.length?[{message:"导出门禁未通过:存在未完成的检查项"}]:[],o=[...m,...n];b.setHeader("X-Export-Gate-Passed",0===o.length?"true":"false"),o.length>0&&b.setHeader("X-Export-Gate-Issues",encodeURIComponent(JSON.stringify(o.map(a=>a.message).slice(0,20))));let p=f.replace(/[\\/:*?"<>|]/gu,"-").slice(0,80)||"document";if("markdown"===k)return aa(e,k,d),b.setHeader("Content-Type","text/markdown; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${p}.md`)}`),b.status(200).send(j);if("docx"===k){let a=await P(f,j,g,c.wordTemplatePath,d);return aa(e,k,d),b.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${p}.docx`)}`),b.status(200).send(a)}let s=await Y(f,j,g,d);if("html"===k)return aa(e,k,d),b.setHeader("Content-Type","text/html; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${p}.html`)}`),b.status(200).send(s);try{let a=await _(s,g),c=function(a){let b=a.toString("latin1").match(/\/Type\s*\/Page\b/gu);return b?.length||void 0}(a);return aa(e,k,d),b.setHeader("Content-Type","application/pdf"),c&&b.setHeader("X-PDF-Page-Count",String(c)),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${p}.pdf`)}`),b.status(200).send(a)}catch(c){return(0,t.wF)({level:"error",source:"api/documents/export",functionName:"pdfExportChromium",error:c,req:a,meta:{fallback:"system-browser-attempted"}}),b.status(500).json({error:"PDF_RENDER_FAILED",message:"PDF 渲染失败:未找到或无法启动可用的 Chrome/Chromium/Edge。请安装 Chrome,或设置 PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH 后重试。"})}}let ac={inlineLocalImages:C,resolveLocalImagePath:B,normalizeExportUnits:I,prepareExportMarkdown:X,stripInlineMarkdown:J,enhanceTocHtml:S,buildExportHtml:Y,buildDocx:P,validateExportMarkdown:V},ad=(0,u.j)("api/documents/export",ab);var ae=c(68970),af=c(50296);let ag=(0,h.M)(d,"default"),ah=(0,h.M)(d,"config"),ai=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/export",pathname:"/api/documents/export",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function aj(a,b,c){let d=await ai.prepare(a,b,{srcPage:"/api/documents/export"});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,ae.getTracer)(),e=d.getActiveScopeSpan(),j=ai.instrumentationOnRequestError.bind(ai),k=async e=>ai.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:ai.isDev,page:"/api/documents/export",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")!==af.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(af.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:ae.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(ai.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},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)}
26
- `)}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,2484,5840,208,4680,5284,2405,8661],()=>b(b.s=83258));module.exports=c})();
26
+ `)}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,2484,5840,208,4680,5284,2274,8661],()=>b(b.s=83258));module.exports=c})();