@customize-agent/server 4.0.71 → 4.0.72

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 (68) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +22 -22
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/5247.js +44 -44
  5. package/.next/server/chunks/8204.js +1 -1
  6. package/.next/server/middleware-build-manifest.js +1 -1
  7. package/.next/server/pages/404.html +1 -1
  8. package/.next/server/pages/500.html +1 -1
  9. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  10. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  11. package/.next/server/pages/api/assets/generated.js +1 -1
  12. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  13. package/.next/server/pages/api/documents/export.js +2 -2
  14. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  15. package/.next/server/pages/api/documents/generate.js +2 -2
  16. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  17. package/.next/server/pages/api/documents/generated/[id].js +1 -1
  18. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  19. package/.next/server/pages/api/documents/generated.js +1 -1
  20. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  21. package/.next/server/pages/api/kb/files.js +1 -1
  22. package/.next/server/pages/asset-library.html +1 -1
  23. package/.next/server/pages/context/long-term.html +1 -1
  24. package/.next/server/pages/context/short-term.html +1 -1
  25. package/.next/server/pages/document-roles.html +1 -1
  26. package/.next/server/pages/documents.html +1 -1
  27. package/.next/server/pages/guide.html +1 -1
  28. package/.next/server/pages/index.html +1 -1
  29. package/.next/server/pages/knowledge/file-detail.html +1 -1
  30. package/.next/server/pages/knowledge/files.html +1 -1
  31. package/.next/server/pages/knowledge/manage.html +1 -1
  32. package/.next/server/pages/knowledge/search.html +1 -1
  33. package/.next/server/pages/knowledge.html +1 -1
  34. package/.next/server/pages/models.html +1 -1
  35. package/.next/server/pages/overview.html +1 -1
  36. package/.next/server/pages/prompt.html +1 -1
  37. package/.next/server/pages/settings.html +1 -1
  38. package/.next/server/pages/system/logs.html +1 -1
  39. package/.next/server/pages-manifest.json +22 -22
  40. package/.next/static/{G2viAcdgjbPEipVUbf4jw → FRXU8sqe4rxv-3Oans9xU}/_buildManifest.js +1 -1
  41. package/.next/static/chunks/375-f731e5ec66ab942c.js +1 -0
  42. package/.next/static/chunks/496-ceb2d8197d6335cf.js +1 -0
  43. package/.next/static/chunks/63-47dff441816f712f.js +4 -0
  44. package/.next/static/chunks/642-b325b80d595ec100.js +8 -0
  45. package/.next/static/chunks/694-b6ab4967c35bbcee.js +1 -0
  46. package/.next/static/chunks/{317-18aac52df5551e76.js → 767-4f3b0ae7bff68fde.js} +1 -1
  47. package/.next/static/chunks/788-db05269178a28c20.js +1 -0
  48. package/.next/static/chunks/795-262a7ef599d655f4.js +1 -0
  49. package/.next/static/chunks/pages/{_app-dd841161c7d0b39e.js → _app-1eef3e5fadd36ac2.js} +1 -1
  50. package/.next/static/chunks/pages/asset-library-37f844cb358f5457.js +1 -0
  51. package/.next/static/chunks/pages/document-roles-00219c0a0871daec.js +1 -0
  52. package/.next/static/chunks/pages/documents-e82261d18dfafc62.js +1 -0
  53. package/.next/static/chunks/pages/guide-c45dc4e0a02247c9.js +1 -0
  54. package/package.json +2 -2
  55. package/scripts/verify-next-static.js +20 -1
  56. package/.next/server/chunks/8661.js +0 -1
  57. package/.next/static/chunks/375-4a1c73eb22d653d2.js +0 -1
  58. package/.next/static/chunks/496-4fb9a063790e65ff.js +0 -1
  59. package/.next/static/chunks/63-dd8eeb8edd766bae.js +0 -4
  60. package/.next/static/chunks/642-708b928fbafc6c20.js +0 -8
  61. package/.next/static/chunks/694-2d545cfbb9779f2c.js +0 -1
  62. package/.next/static/chunks/788-7f7359a830e3f4fd.js +0 -1
  63. package/.next/static/chunks/795-d8fb7a0420512701.js +0 -1
  64. package/.next/static/chunks/pages/asset-library-91bd2baa09727e0a.js +0 -1
  65. package/.next/static/chunks/pages/document-roles-fd02980db151650c.js +0 -1
  66. package/.next/static/chunks/pages/documents-9209f54ac7717b41.js +0 -1
  67. package/.next/static/chunks/pages/guide-61bea94f27710467.js +0 -1
  68. /package/.next/static/{G2viAcdgjbPEipVUbf4jw → FRXU8sqe4rxv-3Oans9xU}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(()=>{var a={};a.id=6011,a.ids=[6011],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")},28630:(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(48661);async function j(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});let{templateId:c,requirement:d,maxEvidencePerChapter:e,projectRoot:f}=a.body;if(!c)return b.status(400).json({error:"templateId required"});if(!f)return b.status(400).json({error:"projectRoot required"});let g=(0,i.YL)({templateId:c,requirement:d,maxEvidencePerChapter:e},f);b.status(202).json(g)}let k=(0,c(16006).j)("api/documents/generate",j);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/generate",pathname:"/api/documents/generate",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/documents/generate"});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/generate",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())}}},29021:a=>{a.exports=require("fs")},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")},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,7899,5247,8661],()=>b(b.s=28630));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6011,a.ids=[6011],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")},28630:(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(48661);async function j(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});let{templateId:c,requirement:d,maxEvidencePerChapter:e,projectRoot:f}=a.body;if(!c)return b.status(400).json({error:"templateId required"});if(!f)return b.status(400).json({error:"projectRoot required"});let g=(0,i.YL)({templateId:c,requirement:d,maxEvidencePerChapter:e},f);b.status(202).json(g)}let k=(0,c(16006).j)("api/documents/generate",j);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/generate",pathname:"/api/documents/generate",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/documents/generate"});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/generate",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())}}},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},48661:(a,b,c)=>{c.d(b,{BH:()=>F,Gl:()=>q,JU:()=>I,Jz:()=>J,M$:()=>z,QG:()=>E,SE:()=>u,YL:()=>M,a6:()=>C,r:()=>D,v7:()=>A,yE:()=>H});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(35247),i=c(19898),j=c(44533);function k(a,b){return a?.map(a=>"running"===a.status?{...a,status:"failed",message:b}:a)}function l(...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 m=new Map,n=Math.max(6e5,Number(process.env.DOCUMENT_TASK_TIMEOUT_MS??72e5)),o=Math.max(6e4,Number(process.env.DOCUMENT_TASK_STALE_MS??3e5)),p=Math.max(3e5,Number(process.env.DOCUMENT_TASK_NO_PROGRESS_MS??9e5));function q(a=(0,j.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,j.aY)()){return(0,i.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 r(a=(0,j.aY)()){return g.join(q(a),"index.json")}function s(a=(0,j.aY)()){return g.join(q(a),"assets.json")}function t(a,b=(0,j.aY)()){return g.join(q(b),"drafts",`${a}.json`)}function u(a,b=(0,j.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(q(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function v(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function w(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function x(a){for(let b of m.values())if(b.documentId===a)return b;return null}function y(a,b=(0,j.aY)()){if("generating"!==a.status||x(a.id)||Date.now()-a.updatedAt<o)return a;let c=Date.now();return B({...a,status:"failed",error:"生成任务已失联,请点击重新生成",executionStages:k(a.executionStages,"生成任务已失联,请点击重新生成"),completedAt:c},b)}function z(a=(0,j.aY)()){return v(r(a),[]).map(b=>y(b,a)).sort((a,b)=>b.updatedAt-a.updatedAt)}function A(a,b=(0,j.aY)()){let c=v(t(a,b),null);return c?y(c,b):null}function B(a,b=(0,j.aY)()){let c=Date.now(),d={...a,updatedAt:c};w(t(d.id,b),d);let e=v(r(b),[]).filter(a=>a.id!==d.id);return e.unshift(d),w(r(b),e.map(a=>({...a,draft:void 0,executionStages:a.executionStages,partialChapters:a.partialChapters,checkpointChapters:a.checkpointChapters,reviewMetadata:a.reviewMetadata}))),d}function C(a,b,c=(0,j.aY)()){let d=A(a,c);return d?B({...d,...b,id:a},c):null}function D(a,b=(0,j.aY)()){let c=A(a,b);if(!c)return null;if("generating"!==c.status)return c;for(let[b,c]of m)c.documentId===a&&(c.status="aborted",c.controller.abort(),K(c),m.delete(b));return B({...c,status:"aborted",error:"用户中止",executionStages:k(c.executionStages,"用户中止"),completedAt:Date.now()},b)}function E(a,b=(0,j.aY)()){try{e.rmSync(t(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}w(r(b),z(b).filter(b=>b.id!==a))}function F(a=(0,j.aY)()){return v(s(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function G(a,b,c=(0,j.aY)()){let d=Date.now(),e=[...F(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 w(s(c),e),e}function H(a,b=(0,j.aY)()){return F(b).find(b=>b.id===a)||null}function I(a,b=(0,j.aY)()){let c=H(a,b);if(!c)return!1;let d=u(c,b);if(d&&d.startsWith(q(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return w(s(b),F(b).filter(b=>b.id!==a)),!0}function J(a,b,c=(0,j.aY)()){let d=H(a,c);if(!d)return null;let f=u(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function K(a){a.timeoutTimer&&clearTimeout(a.timeoutTimer),a.progressTimer&&clearInterval(a.progressTimer)}function L(a,b){let c=A(a.documentId,b);return c&&"generating"===c.status?{taskId:a.id,documentId:a.documentId,record:c}:null}function M(a,b=(0,j.aY)()){let c=g.resolve(b),f=(0,i.computeProjectId)(c),o=Date.now(),r=a.resumeDocumentId?A(a.resumeDocumentId,c):null;if(r){let a=x(r.id),b=a?L(a,c):null;if(b)return b}if(!r)for(let b of m.values()){let d=L(b,c);if(d&&d.record.templateId===a.templateId&&d.record.projectRoot===c)return d}let s=r?.id||`doc-${o}-${d.randomBytes(4).toString("hex")}`,t=`task-${o}-${d.randomBytes(4).toString("hex")}`,u=r?{...r,taskId:t,status:"generating",error:void 0,completedAt:void 0,executionStages:[...r.executionStages||[],{type:"validation",roleId:"resume-generation",status:"running",message:"已从上次结果继续生成,系统将自动复用可用章节缓存和进度数据"}],updatedAt:o}:{id:s,taskId:t,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",projectRoot:c,projectId:f,knowledgeBasePath:g.join(c,"knowledgeBase"),markdown:"",status:"generating",assets:[],createdAt:o,updatedAt:o};B(u,c);let v=new AbortController,w={},y=a=>{v.abort(),w.current&&K(w.current),function(a,b,c){let d=A(a,b);d&&"generating"===d.status&&B({...d,status:"failed",error:c,executionStages:k(d.executionStages,c),completedAt:Date.now()},b)}(s,c,a),m.delete(t)},z=l(r?.draft?.chapters,r?.checkpointChapters),C=0,D="",E=Math.max(1e3,Math.min(15e3,Number(process.env.DOCUMENT_PROGRESS_SAVE_INTERVAL_MS??5e3))),F=(0,h.OXS)({...a,projectRoot:c,resumeChapters:z,signal:v.signal,onProgress:(a,b)=>{try{w.current&&(w.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===D&&d-C<E)return;let f=A(s,c);if(f&&"generating"===f.status){let g=b?.chapters?l(f.checkpointChapters,b.chapters):f.checkpointChapters;B({...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),C=d,D=e,console.log(`[gen] progress saved: ${a.length} stages, checkpoint=${g?.length||0}, doc=${s}`)}}catch(a){console.error("[gen] progress save error:",a)}}}).then(async a=>{let b=A(s,c);if(!b||"generating"!==b.status)return b??u;let d=a.validationIssues.filter(a=>"error"===a.level||"warning"===a.level).map(a=>a.suggestion?`${a.message}:${a.suggestion}`:a.message);a.exportGate.passed||0!==d.length||d.push("导出门禁未通过:存在未完成的检查项");let f=B(function(a){let b=a=>({...a,content:a.content.slice(0,500)}),c=a.draft?{...a.draft,chapters:a.draft.chapters.map(a=>({...a,evidence:a.evidence.map(b)}))}:a.draft;return{...a,draft:c}}({...b,templateName:a.templateName,title:a.title,markdown:a.markdown,status:d.length>0?"warning":"completed",draft:a,executionStages:a.executionStages,partialChapters:a.partialChapters,checkpointChapters:a.chapters,reviewMetadata:a.reviewMetadata,assets:a.assets||[],completedAt:Date.now(),warningIssues:d}),c);return!function(a,b=(0,j.aY)()){Date.now();let c=`generatedDocuments/assets/${a.title.replace(/[\\/:*?"<>|]/gu,"_").slice(0,120)||"generated-document"}-${a.id}.md`,d=g.join(q(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 文档,仅登记到生成资源,不进入知识库"};G([f],a.id,b).find(a=>a.id===f.id)}(f,c),G(a.assets||[],s,c),f}).catch(a=>{let b=A(s,c);if(!b||"generating"!==b.status)return b??u;let d=a instanceof Error?a.message:String(a),e=a instanceof Error&&/用户中止|aborted|abort/i.test(a.message)?"aborted":"failed";return B({...b,status:e,error:d,executionStages:k(b.executionStages,d),completedAt:Date.now()},c)}).finally(()=>{w.current&&K(w.current),m.delete(t)}),H={id:t,documentId:s,status:"generating",controller:v,promise:F,startedAt:o,lastProgressAt:o};return w.current=H,H.timeoutTimer=setTimeout(()=>y("生成任务超时,请点击继续生成或重新生成"),n),H.progressTimer=setInterval(()=>{Date.now()-H.lastProgressAt>p&&y("生成任务长时间无进度,请点击继续生成或重新生成")},Math.min(6e4,p)),m.set(t,H),{taskId:t,documentId:s,record:u}}},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,7899,5247],()=>b(b.s=28630));module.exports=c})();