@customize-agent/server 3.0.16 → 3.0.17

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 (47) hide show
  1. package/.next/build-manifest.json +12 -12
  2. package/.next/prerender-manifest.json +3 -3
  3. package/.next/server/chunks/3445.js +1 -1
  4. package/.next/server/middleware-build-manifest.js +1 -1
  5. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  6. package/.next/server/pages/api/assets/generated.js +1 -1
  7. package/.next/server/pages/api/documents/export.js +1 -1
  8. package/.next/server/pages/api/documents/generate.js +1 -1
  9. package/.next/server/pages/api/documents/generated/[id].js +1 -1
  10. package/.next/server/pages/api/documents/generated.js +1 -1
  11. package/.next/server/pages/asset-library.html +1 -1
  12. package/.next/server/pages/context/long-term.html +1 -1
  13. package/.next/server/pages/context/short-term.html +1 -1
  14. package/.next/server/pages/document-roles.html +1 -1
  15. package/.next/server/pages/document-specs.html +1 -1
  16. package/.next/server/pages/documents.html +1 -1
  17. package/.next/server/pages/knowledge/file-detail.html +1 -1
  18. package/.next/server/pages/knowledge/files.html +1 -1
  19. package/.next/server/pages/knowledge/manage.html +1 -1
  20. package/.next/server/pages/knowledge/search.html +1 -1
  21. package/.next/server/pages/models.html +1 -1
  22. package/.next/server/pages/overview.html +1 -1
  23. package/.next/server/pages-manifest.json +25 -25
  24. package/.next/static/chunks/pages/asset-library-82606363f9142bad.js +1 -0
  25. package/.next/static/chunks/pages/context/{long-term-09e23b06634b08d9.js → long-term-f2a550bc848ec1a3.js} +1 -1
  26. package/.next/static/chunks/pages/context/short-term-1de28da82d2b6276.js +1 -0
  27. package/.next/static/chunks/pages/document-roles-54a1cc04116e8c18.js +1 -0
  28. package/.next/static/chunks/pages/document-specs-723dee6883949a17.js +1 -0
  29. package/.next/static/chunks/pages/documents-c1a01ae631b42488.js +1 -0
  30. package/.next/static/chunks/pages/knowledge/file-detail-7a1a3d4352ecfa0a.js +1 -0
  31. package/.next/static/chunks/pages/knowledge/files-f0e05583bf7c57d9.js +1 -0
  32. package/.next/static/chunks/pages/knowledge/manage-8acff53019eb6cc1.js +1 -0
  33. package/.next/static/chunks/pages/knowledge/{search-3fd704d2afa1af3e.js → search-1f3bd8fcb7af3e4d.js} +1 -1
  34. package/.next/static/chunks/pages/models-11533caad3723009.js +1 -0
  35. package/.next/static/chunks/pages/overview-f80672c242d9aa32.js +1 -0
  36. package/.next/static/customize-agent-dashboard/_buildManifest.js +1 -1
  37. package/package.json +1 -1
  38. package/.next/static/chunks/pages/asset-library-0f607b74fa016470.js +0 -1
  39. package/.next/static/chunks/pages/context/short-term-2f5fd8531e87b5bd.js +0 -1
  40. package/.next/static/chunks/pages/document-roles-077fc7159c88e89e.js +0 -1
  41. package/.next/static/chunks/pages/document-specs-fb5b8a89cff6d1e3.js +0 -1
  42. package/.next/static/chunks/pages/documents-38320ae2fd50be35.js +0 -1
  43. package/.next/static/chunks/pages/knowledge/file-detail-ad1dc61c1413db0c.js +0 -1
  44. package/.next/static/chunks/pages/knowledge/files-896c058f2da5e907.js +0 -1
  45. package/.next/static/chunks/pages/knowledge/manage-6da10158f75718cf.js +0 -1
  46. package/.next/static/chunks/pages/models-7bdf24068811ae91.js +0 -1
  47. package/.next/static/chunks/pages/overview-572bba4876e617f5.js +0 -1
@@ -45,7 +45,7 @@
45
45
  "static/chunks/292-f0a2c92861c304e6.js",
46
46
  "static/chunks/951-8ecf8af33ab36369.js",
47
47
  "static/chunks/881-a1eb917222b66f09.js",
48
- "static/chunks/pages/asset-library-0f607b74fa016470.js"
48
+ "static/chunks/pages/asset-library-82606363f9142bad.js"
49
49
  ],
50
50
  "/context/long-term": [
51
51
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -64,7 +64,7 @@
64
64
  "static/chunks/232-813af4932a145fdc.js",
65
65
  "static/chunks/400-1fa1899b7c3f0bb4.js",
66
66
  "static/chunks/257-e4ebae17a8ee8412.js",
67
- "static/chunks/pages/context/long-term-09e23b06634b08d9.js"
67
+ "static/chunks/pages/context/long-term-f2a550bc848ec1a3.js"
68
68
  ],
69
69
  "/context/short-term": [
70
70
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -83,7 +83,7 @@
83
83
  "static/chunks/232-813af4932a145fdc.js",
84
84
  "static/chunks/400-1fa1899b7c3f0bb4.js",
85
85
  "static/chunks/257-e4ebae17a8ee8412.js",
86
- "static/chunks/pages/context/short-term-2f5fd8531e87b5bd.js"
86
+ "static/chunks/pages/context/short-term-1de28da82d2b6276.js"
87
87
  ],
88
88
  "/document-roles": [
89
89
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -100,7 +100,7 @@
100
100
  "static/chunks/183-8da0232dd30cdc81.js",
101
101
  "static/chunks/232-813af4932a145fdc.js",
102
102
  "static/chunks/951-8ecf8af33ab36369.js",
103
- "static/chunks/pages/document-roles-077fc7159c88e89e.js"
103
+ "static/chunks/pages/document-roles-54a1cc04116e8c18.js"
104
104
  ],
105
105
  "/document-specs": [
106
106
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -118,7 +118,7 @@
118
118
  "static/chunks/232-813af4932a145fdc.js",
119
119
  "static/chunks/951-8ecf8af33ab36369.js",
120
120
  "static/chunks/20-8968ee2d4013a5b8.js",
121
- "static/chunks/pages/document-specs-fb5b8a89cff6d1e3.js"
121
+ "static/chunks/pages/document-specs-723dee6883949a17.js"
122
122
  ],
123
123
  "/documents": [
124
124
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -138,7 +138,7 @@
138
138
  "static/chunks/951-8ecf8af33ab36369.js",
139
139
  "static/chunks/858-5e6982e2b239d4b7.js",
140
140
  "static/chunks/617-68a9e848c380f9c3.js",
141
- "static/chunks/pages/documents-38320ae2fd50be35.js"
141
+ "static/chunks/pages/documents-c1a01ae631b42488.js"
142
142
  ],
143
143
  "/guide": [
144
144
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -176,7 +176,7 @@
176
176
  "static/chunks/350-8c5e13c0577a38c3.js",
177
177
  "static/chunks/80-96429163e5c103a8.js",
178
178
  "static/css/d284a7454d6f6b06.css",
179
- "static/chunks/pages/knowledge/file-detail-ad1dc61c1413db0c.js"
179
+ "static/chunks/pages/knowledge/file-detail-7a1a3d4352ecfa0a.js"
180
180
  ],
181
181
  "/knowledge/files": [
182
182
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -194,7 +194,7 @@
194
194
  "static/chunks/400-1fa1899b7c3f0bb4.js",
195
195
  "static/chunks/15-4683808cb8db7005.js",
196
196
  "static/css/d284a7454d6f6b06.css",
197
- "static/chunks/pages/knowledge/files-896c058f2da5e907.js"
197
+ "static/chunks/pages/knowledge/files-f0e05583bf7c57d9.js"
198
198
  ],
199
199
  "/knowledge/manage": [
200
200
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -211,7 +211,7 @@
211
211
  "static/chunks/400-1fa1899b7c3f0bb4.js",
212
212
  "static/chunks/577-5b2691f0c8f17187.js",
213
213
  "static/chunks/935-daa0026982d7fa8d.js",
214
- "static/chunks/pages/knowledge/manage-6da10158f75718cf.js"
214
+ "static/chunks/pages/knowledge/manage-8acff53019eb6cc1.js"
215
215
  ],
216
216
  "/knowledge/search": [
217
217
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -227,7 +227,7 @@
227
227
  "static/chunks/20-8968ee2d4013a5b8.js",
228
228
  "static/chunks/350-8c5e13c0577a38c3.js",
229
229
  "static/css/d284a7454d6f6b06.css",
230
- "static/chunks/pages/knowledge/search-3fd704d2afa1af3e.js"
230
+ "static/chunks/pages/knowledge/search-1f3bd8fcb7af3e4d.js"
231
231
  ],
232
232
  "/models": [
233
233
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -244,7 +244,7 @@
244
244
  "static/chunks/232-813af4932a145fdc.js",
245
245
  "static/chunks/20-8968ee2d4013a5b8.js",
246
246
  "static/css/0e153583d22cc52e.css",
247
- "static/chunks/pages/models-7bdf24068811ae91.js"
247
+ "static/chunks/pages/models-11533caad3723009.js"
248
248
  ],
249
249
  "/overview": [
250
250
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -255,7 +255,7 @@
255
255
  "static/chunks/15-4683808cb8db7005.js",
256
256
  "static/chunks/577-5b2691f0c8f17187.js",
257
257
  "static/chunks/224-9a7074031493793b.js",
258
- "static/chunks/pages/overview-572bba4876e617f5.js"
258
+ "static/chunks/pages/overview-f80672c242d9aa32.js"
259
259
  ],
260
260
  "/prompt": [
261
261
  "static/chunks/webpack-77d10b4726f13aa5.js",
@@ -3,9 +3,9 @@
3
3
  "routes": {},
4
4
  "dynamicRoutes": {},
5
5
  "preview": {
6
- "previewModeId": "1c90d63f9dde1d6619bf46deef8779d6",
7
- "previewModeSigningKey": "b75765b16f7e6c0d7129271be8fa0d623dc7b102b37523f337af6be5b41a9fe6",
8
- "previewModeEncryptionKey": "85a02246ff9abbef1637000801806d80f54f4407c9c0b36dbdbf4bf404882326"
6
+ "previewModeId": "e3833d75168b0091a03563e693783910",
7
+ "previewModeSigningKey": "c529f12e6f0761364a183252f7b308a9cce5ea78d78f6bedbf6b4614575d9196",
8
+ "previewModeEncryptionKey": "70511f4cc1730132f5ed48fcf15363cdec308abaa9bfe166535a2a8827a1069c"
9
9
  },
10
10
  "notFoundRoutes": []
11
11
  }
@@ -141,7 +141,7 @@ ${a.content}`;return[b,b.replace(/要求|计划|目标|标准/gu,""),...{定位:
141
141
  ${h}
142
142
 
143
143
  资料:
144
- ${f}`);return i?.facts?.length?{facts:i.facts.filter(a=>a.key&&a.value).map(a=>{let b=g.find(b=>b.id===a.fieldId||b.name===a.fieldName||b.name===a.key);return{key:b?.name||a.key,fieldId:b?.id||a.fieldId,fieldName:b?.name||a.fieldName,value:a.value,sourceFile:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType,confidence:a.confidence??.8,sourceRef:{filePath:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType}}}),stages:[{type:"fact_extraction",roleId:"llm-json",status:"success",message:`LLM 按动态 schema 抽取 ${i.facts.length} 条事实`}]}:{facts:[],stages:e}}function R(a){return a.includes("jpeg")||a.includes("jpg")?"jpg":a.includes("webp")?"webp":"png"}function S(a,b,c){let g=f.join(h.homedir(),".customize-agent","projects",d.createHash("sha1").update(f.resolve(a)).digest("hex").slice(0,12),"generatedDocuments"),i=f.join("generatedDocuments","assets",b).split(f.sep).join("/"),j=f.join(g,"assets",b);return e.mkdirSync(f.dirname(j),{recursive:!0}),e.writeFileSync(j,c),i}async function T(a,b,c){let d=await fetch(b);if(!d.ok)throw Error(`图片下载失败:${d.status}`);let e=d.headers.get("content-type")||"image/png",f=Buffer.from(await d.arrayBuffer());return S(a,`${c}.${R(e)}`,f)}async function U(a,b,c){let d=function(a,b="landscape_16_9"){return`https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=${encodeURIComponent(a)}&image_size=${b}`}(b),e=await T(a,d,`cover-${Date.now()}`);return{id:`asset-cover-${Date.now()}`,type:"image",role:"cover",path:e,prompt:b,modelProvider:c,status:"generated",message:"已生成封面图片并保存为本地生成资源"}}function V(a,b="封面图片生成失败,使用本地参考图兜底并仅在资源元数据保留提示词"){return{id:`asset-cover-${Date.now()}`,type:"image",role:"cover",path:"图片素材/干员图片/露娜.png",prompt:a,status:"fallback",message:b}}async function W(a,b,c,d){var e;let f=M(),g=b.find(a=>"delta-cover-image-prompt"===a.roleId),h=g?(e=g.promptId,v(b).find(a=>a.id===e)?.content||""):u["builtin:delta-cover-image-generation"].content,j=[...new Set(c.map(a=>a.filePath).filter(a=>/\.(png|jpe?g|webp)$/iu.test(a)))].slice(0,6),k=[h,`文档标题:${a.outputTitle}`,j.length?`参考图片文件:${j.join("、")}`:"","画面要求:真实网站/正式文档封面可用,战术小队剪影,地图蓝图线稿,冷色科技 HUD,专业、干净、高清、16:9,预留标题区域。"].filter(Boolean).join("\n");if(f?.provider.capabilities?.imageGeneration){let a=await N("你是专业视觉设计提示词专家。请把用户需求优化成英文 SDXL 图片生成提示词,只返回提示词正文。",k),b=a&&a.length>40?a:k,c=(0,i.createProvider)(L(f.model.provider,f.provider),{baseUrl:f.provider.baseUrl,apiKey:f.provider.apiKey,modelName:f.model.name});if(c.generateImage)try{let a=await c.generateImage(b,{size:"1536x1024",quality:"high"}),e=`cover-${Date.now()}.${R(a.mimeType)}`,g=S(d,e,a.data);return{id:`asset-cover-${Date.now()}`,type:"image",role:"cover",path:g,prompt:a.revisedPrompt||b,modelProvider:f.model.provider,status:"generated",message:"已调用多模态模型生成封面图片并保存为文档资源"}}catch(a){try{return await U(d,b,f.model.provider)}catch(c){return V(b,`图片生成失败,且本地化备用生成失败:${c instanceof Error?c.message:String(c)};原始错误:${a instanceof Error?a.message:String(a)}`)}}try{return await U(d,b,f.model.provider)}catch(a){return V(b,`图片生成备用通道失败:${a instanceof Error?a.message:String(a)}`)}}return V(k,"当前模型未开启图片生成能力,使用本地参考图兜底并仅在资源元数据保留提示词")}function X(a,b){let c=a.split(f.sep).join("/");return`![${b}](${encodeURI(c)})`}function Y(a,b){return a.filter(a=>a.kind===b&&["map","image"].includes(a.kind)).slice(0,6).map(a=>`### ${a.semanticTitle}
144
+ ${f}`);return i?.facts?.length?{facts:i.facts.filter(a=>a.key&&a.value).map(a=>{let b=g.find(b=>b.id===a.fieldId||b.name===a.fieldName||b.name===a.key);return{key:b?.name||a.key,fieldId:b?.id||a.fieldId,fieldName:b?.name||a.fieldName,value:a.value,sourceFile:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType,confidence:a.confidence??.8,sourceRef:{filePath:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType}}}),stages:[{type:"fact_extraction",roleId:"llm-json",status:"success",message:`LLM 按动态 schema 抽取 ${i.facts.length} 条事实`}]}:{facts:[],stages:e}}function R(a){return a.includes("jpeg")||a.includes("jpg")?"jpg":a.includes("webp")?"webp":"png"}function S(a,b,c){let g=f.join(h.homedir(),".customize-agent","projects",d.createHash("sha1").update(f.resolve(a)).digest("hex").slice(0,12),"generatedDocuments"),i=f.join("generatedDocuments","assets",b).split(f.sep).join("/"),j=f.join(g,"assets",b);return e.mkdirSync(f.dirname(j),{recursive:!0}),e.writeFileSync(j,c),i}async function T(a,b,c){let d="";for(let e=0;e<6;e+=1){let e=await fetch(b);if(!e.ok)throw Error(`图片下载失败:${e.status}`);let f=e.headers.get("content-type")||"",g=Buffer.from(await e.arrayBuffer()),h=function(a){let b=a.toString("utf8").slice(0,300).trim();return/image is generating|please refresh|generating/i.test(b)?b:""}(g);if(h){d=h,await new Promise(a=>setTimeout(a,1500));continue}if(!f.startsWith("image/")||!(g.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10]))||g.subarray(0,3).equals(Buffer.from([255,216,255]))||"RIFF"===g.subarray(0,4).toString("ascii")))throw Error(`图片生成接口未返回有效图片:${f||"unknown"} ${g.toString("utf8").slice(0,80)}`);return S(a,`${c}.${R(f)}`,g)}throw Error(d||"图片仍在生成中,请稍后重新生成或刷新资源")}async function U(a,b,c){let d=function(a,b="landscape_16_9"){return`https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=${encodeURIComponent(a)}&image_size=${b}`}(b),e=await T(a,d,`cover-${Date.now()}`);return{id:`asset-cover-${Date.now()}`,type:"image",role:"cover",path:e,prompt:b,modelProvider:c,status:"generated",message:"已生成封面图片并保存为本地生成资源"}}function V(a,b="封面图片生成失败,使用本地参考图兜底并仅在资源元数据保留提示词"){return{id:`asset-cover-${Date.now()}`,type:"image",role:"cover",path:"图片素材/干员图片/露娜.png",prompt:a,status:"fallback",message:b}}async function W(a,b,c,d){var e;let f=M(),g=b.find(a=>"delta-cover-image-prompt"===a.roleId),h=g?(e=g.promptId,v(b).find(a=>a.id===e)?.content||""):u["builtin:delta-cover-image-generation"].content,j=[...new Set(c.map(a=>a.filePath).filter(a=>/\.(png|jpe?g|webp)$/iu.test(a)))].slice(0,6),k=[h,`文档标题:${a.outputTitle}`,j.length?`参考图片文件:${j.join("、")}`:"","画面要求:真实网站/正式文档封面可用,战术小队剪影,地图蓝图线稿,冷色科技 HUD,专业、干净、高清、16:9,预留标题区域。"].filter(Boolean).join("\n");if(f?.provider.capabilities?.imageGeneration){let a=await N("你是专业视觉设计提示词专家。请把用户需求优化成英文 SDXL 图片生成提示词,只返回提示词正文。",k),b=a&&a.length>40?a:k,c=(0,i.createProvider)(L(f.model.provider,f.provider),{baseUrl:f.provider.baseUrl,apiKey:f.provider.apiKey,modelName:f.model.name});if(c.generateImage)try{let a=await c.generateImage(b,{size:"1536x1024",quality:"high"}),e=`cover-${Date.now()}.${R(a.mimeType)}`,g=S(d,e,a.data);return{id:`asset-cover-${Date.now()}`,type:"image",role:"cover",path:g,prompt:a.revisedPrompt||b,modelProvider:f.model.provider,status:"generated",message:"已调用多模态模型生成封面图片并保存为文档资源"}}catch(a){try{return await U(d,b,f.model.provider)}catch(c){return V(b,`图片生成失败,且本地化备用生成失败:${c instanceof Error?c.message:String(c)};原始错误:${a instanceof Error?a.message:String(a)}`)}}try{return await U(d,b,f.model.provider)}catch(a){return V(b,`图片生成备用通道失败:${a instanceof Error?a.message:String(a)}`)}}return V(k,"当前模型未开启图片生成能力,使用本地参考图兜底并仅在资源元数据保留提示词")}function X(a,b){let c=a.split(f.sep).join("/");return`![${b}](${encodeURI(c)})`}function Y(a,b){return a.filter(a=>a.kind===b&&["map","image"].includes(a.kind)).slice(0,6).map(a=>`### ${a.semanticTitle}
145
145
 
146
146
  ${X(a.filePath,a.semanticTitle)}`).join("\n\n")}async function Z(a,b,c,d,e,f){let g=F(E(b,c));if(!g.trim())return;let h=["你是专业项目文档生成专家,必须严格使用知识库证据、文件角色、提示词角色和文档规范包生成正式文档章节。","不要编造资料;可以基于证据做合理归纳;输出 Markdown;不要输出代码块;不要输出“资料不足”等调试话术。",e].filter(Boolean).join("\n\n"),i=[`文档模板:${a.name}`,`章节标题:${b.title}`,`章节目的:${b.purpose}`,f?`用户要求:${f}`:"",d.length?`需要特别补足的事实:${d.join("、")}`:"","请生成一个专业、丰富、可直接导出的章节,要求:","- 保留章节二级标题;","- 有结论、依据、操作建议/使用建议;","- 引用表格、图片、地图、PDF/Word、文本、附件等资料时写清楚来源文件名;","- 必须理解“结构化资源证据”中每类文件的正文用途,把相关文件和事实对应起来,不要硬插固定文件;","- 如果章节涉及资源文件,应自然说明它与章节结论、操作建议或配图/附件引用的关系;","- 内容不少于 500 字,结构清晰。","","知识库证据:",g].filter(Boolean).join("\n"),j=await N(h,i);if(j&&!(j.length<120))return j.startsWith("## ")?j:`## ${b.title}
147
147
 
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/pages/index-c5e0758e6b31deee.js"],"/_app":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/css/9af88fe8ee791d26.css","static/chunks/pages/_app-b1f31c6bbc0bb7b1.js"],"/_error":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/951-8ecf8af33ab36369.js","static/chunks/881-a1eb917222b66f09.js","static/chunks/pages/asset-library-0f607b74fa016470.js"],"/context/long-term":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/232-813af4932a145fdc.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/257-e4ebae17a8ee8412.js","static/chunks/pages/context/long-term-09e23b06634b08d9.js"],"/context/short-term":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/232-813af4932a145fdc.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/257-e4ebae17a8ee8412.js","static/chunks/pages/context/short-term-2f5fd8531e87b5bd.js"],"/document-roles":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/232-813af4932a145fdc.js","static/chunks/951-8ecf8af33ab36369.js","static/chunks/pages/document-roles-077fc7159c88e89e.js"],"/document-specs":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/232-813af4932a145fdc.js","static/chunks/951-8ecf8af33ab36369.js","static/chunks/20-8968ee2d4013a5b8.js","static/chunks/pages/document-specs-fb5b8a89cff6d1e3.js"],"/documents":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/232-813af4932a145fdc.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/951-8ecf8af33ab36369.js","static/chunks/858-5e6982e2b239d4b7.js","static/chunks/617-68a9e848c380f9c3.js","static/chunks/pages/documents-38320ae2fd50be35.js"],"/guide":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/858-5e6982e2b239d4b7.js","static/chunks/969-5d5ff5a3ed74f52b.js","static/chunks/pages/guide-acf32d66a6df6e5a.js"],"/knowledge":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/350-8c5e13c0577a38c3.js","static/chunks/80-96429163e5c103a8.js","static/css/d284a7454d6f6b06.css","static/chunks/pages/knowledge/file-detail-ad1dc61c1413db0c.js"],"/knowledge/files":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/15-4683808cb8db7005.js","static/css/d284a7454d6f6b06.css","static/chunks/pages/knowledge/files-896c058f2da5e907.js"],"/knowledge/manage":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/577-5b2691f0c8f17187.js","static/chunks/935-daa0026982d7fa8d.js","static/chunks/pages/knowledge/manage-6da10158f75718cf.js"],"/knowledge/search":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/20-8968ee2d4013a5b8.js","static/chunks/350-8c5e13c0577a38c3.js","static/css/d284a7454d6f6b06.css","static/chunks/pages/knowledge/search-3fd704d2afa1af3e.js"],"/models":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/232-813af4932a145fdc.js","static/chunks/20-8968ee2d4013a5b8.js","static/css/0e153583d22cc52e.css","static/chunks/pages/models-7bdf24068811ae91.js"],"/overview":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/15-4683808cb8db7005.js","static/chunks/577-5b2691f0c8f17187.js","static/chunks/224-9a7074031493793b.js","static/chunks/pages/overview-572bba4876e617f5.js"],"/prompt":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/pages/prompt-c9bc7884a44d3767.js"],"/settings":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/css/82b6ddff0ef364fe.css","static/chunks/pages/settings-68f0d05bf95d12da.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-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/pages/index-c5e0758e6b31deee.js"],"/_app":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/css/9af88fe8ee791d26.css","static/chunks/pages/_app-b1f31c6bbc0bb7b1.js"],"/_error":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/951-8ecf8af33ab36369.js","static/chunks/881-a1eb917222b66f09.js","static/chunks/pages/asset-library-82606363f9142bad.js"],"/context/long-term":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/232-813af4932a145fdc.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/257-e4ebae17a8ee8412.js","static/chunks/pages/context/long-term-f2a550bc848ec1a3.js"],"/context/short-term":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/232-813af4932a145fdc.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/257-e4ebae17a8ee8412.js","static/chunks/pages/context/short-term-1de28da82d2b6276.js"],"/document-roles":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/232-813af4932a145fdc.js","static/chunks/951-8ecf8af33ab36369.js","static/chunks/pages/document-roles-54a1cc04116e8c18.js"],"/document-specs":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/232-813af4932a145fdc.js","static/chunks/951-8ecf8af33ab36369.js","static/chunks/20-8968ee2d4013a5b8.js","static/chunks/pages/document-specs-723dee6883949a17.js"],"/documents":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/232-813af4932a145fdc.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/951-8ecf8af33ab36369.js","static/chunks/858-5e6982e2b239d4b7.js","static/chunks/617-68a9e848c380f9c3.js","static/chunks/pages/documents-c1a01ae631b42488.js"],"/guide":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/858-5e6982e2b239d4b7.js","static/chunks/969-5d5ff5a3ed74f52b.js","static/chunks/pages/guide-acf32d66a6df6e5a.js"],"/knowledge":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/350-8c5e13c0577a38c3.js","static/chunks/80-96429163e5c103a8.js","static/css/d284a7454d6f6b06.css","static/chunks/pages/knowledge/file-detail-7a1a3d4352ecfa0a.js"],"/knowledge/files":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/15-4683808cb8db7005.js","static/css/d284a7454d6f6b06.css","static/chunks/pages/knowledge/files-f0e05583bf7c57d9.js"],"/knowledge/manage":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-51b6d64f21e9b976.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/400-1fa1899b7c3f0bb4.js","static/chunks/577-5b2691f0c8f17187.js","static/chunks/935-daa0026982d7fa8d.js","static/chunks/pages/knowledge/manage-8acff53019eb6cc1.js"],"/knowledge/search":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/700-5d29b0475311f590.js","static/chunks/292-f0a2c92861c304e6.js","static/chunks/20-8968ee2d4013a5b8.js","static/chunks/350-8c5e13c0577a38c3.js","static/css/d284a7454d6f6b06.css","static/chunks/pages/knowledge/search-1f3bd8fcb7af3e4d.js"],"/models":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/271-39045be4cdbd6af1.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/232-813af4932a145fdc.js","static/chunks/20-8968ee2d4013a5b8.js","static/css/0e153583d22cc52e.css","static/chunks/pages/models-11533caad3723009.js"],"/overview":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/15-4683808cb8db7005.js","static/chunks/577-5b2691f0c8f17187.js","static/chunks/224-9a7074031493793b.js","static/chunks/pages/overview-f80672c242d9aa32.js"],"/prompt":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/chunks/167-d4f384b289ecb70c.js","static/chunks/382-6ab5f41cd91edad0.js","static/chunks/628-27424ba8ca9ca8ce.js","static/chunks/576-fd55b302cb0c9a48.js","static/chunks/183-8da0232dd30cdc81.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/pages/prompt-c9bc7884a44d3767.js"],"/settings":["static/chunks/webpack-77d10b4726f13aa5.js","static/chunks/framework-161be364fd69a7ce.js","static/chunks/main-ed4abb3bb200c815.js","static/chunks/260-cec84dc6c353e104.js","static/css/82b6ddff0ef364fe.css","static/chunks/pages/settings-68f0d05bf95d12da.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
- "use strict";(()=>{var a={};a.id=1883,a.ids=[1883],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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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")},99942:(a,b,c)=>{c.r(b),c.d(b,{config:()=>s,default:()=>r,handler:()=>u});var d={};c.r(d),c.d(d,{default:()=>o});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(73024),j=c(48161),k=c(76760),l=c(77598),m=c(67461),n=c(23328);function o(a,b){try{let c="string"==typeof a.query.id?a.query.id:"";if(!c)return b.status(400).json({error:"id required"});let d=(0,n.aY)(),e=(0,m.yE)(c,d);if(!e?.path?.startsWith("generatedDocuments/assets/"))return b.status(404).json({error:"asset not found"});let f=k.join(function(a){let b=l.createHash("sha1").update(k.resolve(a)).digest("hex").slice(0,12);return k.join(j.homedir(),".customize-agent","projects",b,"generatedDocuments")}(d),e.path.replace(/^generatedDocuments\/assets\//u,"assets/"));if(!i.existsSync(f))return b.status(404).json({error:"file not found"});return b.setHeader("Content-Type",function(a){let b=k.extname(a).toLowerCase();return".jpg"===b||".jpeg"===b?"image/jpeg":".webp"===b?"image/webp":"image/png"}(f)),b.setHeader("Cache-Control","no-store"),b.status(200).send(i.readFileSync(f))}catch(a){console.error("[api] assets/generated/preview",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var p=c(68970),q=c(50296);let r=(0,h.M)(d,"default"),s=(0,h.M)(d,"config"),t=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/assets/generated/preview",pathname:"/api/assets/generated/preview",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function u(a,b,c){let d=await t.prepare(a,b,{srcPage:"/api/assets/generated/preview"});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,p.getTracer)(),e=d.getActiveScopeSpan(),j=t.instrumentationOnRequestError.bind(t),k=async e=>t.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:t.isDev,page:"/api/assets/generated/preview",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")!==q.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(q.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:p.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(t.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,3328,3445],()=>b(b.s=99942));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=1883,a.ids=[1883],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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,SE:()=>o,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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")},99942:(a,b,c)=>{c.r(b),c.d(b,{config:()=>q,default:()=>p,handler:()=>s});var d={};c.r(d),c.d(d,{default:()=>m});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(73024),j=c(76760),k=c(67461),l=c(23328);function m(a,b){try{let c="string"==typeof a.query.id?a.query.id:"";if(!c)return b.status(400).json({error:"id required"});let d=(0,l.aY)(),e=(0,k.yE)(c,d);if(!e?.path)return b.status(404).json({error:"asset not found"});let f=(0,k.SE)(e,d);if(!f||!i.existsSync(f))return b.status(404).json({error:"file not found"});let g=i.readFileSync(f);if(!(g.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10]))||g.subarray(0,3).equals(Buffer.from([255,216,255]))||"RIFF"===g.subarray(0,4).toString("ascii")))return b.status(422).json({error:"asset file is not a valid image"});return b.setHeader("Content-Type",function(a){let b=j.extname(a).toLowerCase();return".jpg"===b||".jpeg"===b?"image/jpeg":".webp"===b?"image/webp":"image/png"}(f)),b.setHeader("Cache-Control","no-store"),b.status(200).send(g)}catch(a){console.error("[api] assets/generated/preview",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}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/assets/generated/preview",pathname:"/api/assets/generated/preview",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function s(a,b,c){let d=await r.prepare(a,b,{srcPage:"/api/assets/generated/preview"});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/assets/generated/preview",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())}}}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,3328,3445],()=>b(b.s=99942));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6334,a.ids=[6334],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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55883:(a,b,c)=>{c.r(b),c.d(b,{config:()=>p,default:()=>o,handler:()=>r});var d={};c.r(d),c.d(d,{default:()=>l});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(31421),j=c(48161),k=c(67461);async function l(a,b){try{if("GET"===a.method)return b.status(200).json({assets:(0,k.BH)()});if("DELETE"===a.method){let c="string"==typeof a.query.id?a.query.id:a.body?.id;if(!c)return b.status(400).json({error:"id required"});return(0,k.JU)(c),b.status(200).json({ok:!0,assets:(0,k.BH)()})}if("POST"===a.method){let{id:c,action:d,target:e="file"}=a.body;if(!c||!d)return b.status(400).json({error:"id and action required"});if("index"===d){let a=await (0,k.uc)(c);if(!a)return b.status(404).json({error:"asset not found"});return b.status(200).json({asset:a,assets:(0,k.BH)()})}if("open"===d){let a=(0,k.Jz)(c,e);if(!a)return b.status(404).json({error:"asset file not found"});return(function(a){let b=(0,j.platform)();return"darwin"===b?(0,i.spawn)("open",[a],{detached:!0,stdio:"ignore"}):"win32"===b?(0,i.spawn)("cmd",["/c","start","",a],{detached:!0,stdio:"ignore",windowsHide:!0}):(0,i.spawn)("xdg-open",[a],{detached:!0,stdio:"ignore"})})(a).unref(),b.status(200).json({ok:!0})}}return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] assets/generated",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var m=c(68970),n=c(50296);let o=(0,h.M)(d,"default"),p=(0,h.M)(d,"config"),q=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/assets/generated",pathname:"/api/assets/generated",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function r(a,b,c){let d=await q.prepare(a,b,{srcPage:"/api/assets/generated"});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,m.getTracer)(),e=d.getActiveScopeSpan(),j=q.instrumentationOnRequestError.bind(q),k=async e=>q.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:q.isDev,page:"/api/assets/generated",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")!==n.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(n.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:m.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(q.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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,3328,3445],()=>b(b.s=55883));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6334,a.ids=[6334],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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55883:(a,b,c)=>{c.r(b),c.d(b,{config:()=>p,default:()=>o,handler:()=>r});var d={};c.r(d),c.d(d,{default:()=>l});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(31421),j=c(48161),k=c(67461);async function l(a,b){try{if("GET"===a.method)return b.status(200).json({assets:(0,k.BH)()});if("DELETE"===a.method){let c="string"==typeof a.query.id?a.query.id:a.body?.id;if(!c)return b.status(400).json({error:"id required"});return(0,k.JU)(c),b.status(200).json({ok:!0,assets:(0,k.BH)()})}if("POST"===a.method){let{id:c,action:d,target:e="file"}=a.body;if(!c||!d)return b.status(400).json({error:"id and action required"});if("index"===d){let a=await (0,k.uc)(c);if(!a)return b.status(404).json({error:"asset not found"});return b.status(200).json({asset:a,assets:(0,k.BH)()})}if("open"===d){let a=(0,k.Jz)(c,e);if(!a)return b.status(404).json({error:"asset file not found"});return(function(a){let b=(0,j.platform)();return"darwin"===b?(0,i.spawn)("open",[a],{detached:!0,stdio:"ignore"}):"win32"===b?(0,i.spawn)("cmd",["/c","start","",a],{detached:!0,stdio:"ignore",windowsHide:!0}):(0,i.spawn)("xdg-open",[a],{detached:!0,stdio:"ignore"})})(a).unref(),b.status(200).json({ok:!0})}}return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] assets/generated",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var m=c(68970),n=c(50296);let o=(0,h.M)(d,"default"),p=(0,h.M)(d,"config"),q=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/assets/generated",pathname:"/api/assets/generated",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function r(a,b,c){let d=await q.prepare(a,b,{srcPage:"/api/assets/generated"});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,m.getTracer)(),e=d.getActiveScopeSpan(),j=q.instrumentationOnRequestError.bind(q),k=async e=>q.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:q.isDev,page:"/api/assets/generated",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")!==n.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(n.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:m.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(q.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,SE:()=>o,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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,3328,3445],()=>b(b.s=55883));module.exports=c})();
@@ -1,4 +1,4 @@
1
- "use strict";(()=>{var a={};a.id=8644,a.ids=[8644],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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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")},87550:a=>{a.exports=require("better-sqlite3")},89529:(a,b,c)=>{c.r(b),c.d(b,{config:()=>t,default:()=>s,handler:()=>v});var d={};c.r(d),c.d(d,{default:()=>p});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(73024);let j=require("jszip");var k=c.n(j),l=c(67461);function m(a){return a.replace(/&/gu,"&amp;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;").replace(/"/gu,"&quot;")}function n(a){return a.replace(/<[^>]+>/gu,"").split("\n").map(a=>`<w:p><w:r><w:t xml:space="preserve">${m(a)}</w:t></w:r></w:p>`).join("")}async function o(a,b,c){if(c&&i.existsSync(c)){let d=await k().loadAsync(i.readFileSync(c)),e=d.file("word/document.xml");if(e){let c=await e.async("string");return d.file("word/document.xml",c.replace(/\{\{title\}\}/gu,m(a)).replace(/\{\{content\}\}/gu,n(b))),d.generateAsync({type:"nodebuffer"})}}let d=new(k());return d.file("[Content_Types].xml",'<?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>'),d.folder("_rels")?.file(".rels",'<?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>'),d.folder("word")?.folder("_rels")?.file("document.xml.rels",'<?xml version="1.0" encoding="UTF-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"/>'),d.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><w:p><w:r><w:t>${m(a)}</w:t></w:r></w:p>${n(b)}<w:sectPr><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440"/></w:sectPr></w:body></w:document>`),d.generateAsync({type:"nodebuffer"})}async function p(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});try{var d;let e=a.body,f=e.documentId?(0,l.v7)(e.documentId):null;if(e.documentId&&!f)return b.status(404).json({error:"Document not found"});let g=f?.title||e.title||"document",h=f?.editedMarkdown||f?.markdown||e.markdown||"",i=e.format||"markdown",j=f?.draft?.exportGate||e.exportGate;if(e.enforceGate&&j&&!j.passed)return b.status(422).json({error:"Export gate failed",issues:j.blockingIssues??[]});let k=g.replace(/[\\/:*?"<>|]/gu,"-").slice(0,80)||"document";if("markdown"===i)return b.setHeader("Content-Type","text/markdown; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${k}.md`)}`),b.status(200).send(h);if("docx"===i){let a=await o(g,h,e.wordTemplatePath);return b.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${k}.docx`)}`),b.status(200).send(a)}let{marked:n}=await Promise.resolve().then(c.bind(c,83142)),p=(d=n.parse(h,{async:!1}),`<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><title>${m(g)}</title><style>@page{size:A4;margin:24mm 18mm 22mm 18mm}body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;line-height:1.75;color:#111827;font-size:14px}h1{text-align:center;font-size:28px;margin-top:80px}h2{border-bottom:1px solid #d1d5db;padding-bottom:6px;margin-top:28px;page-break-after:avoid}h3{margin-top:20px}table{width:100%;border-collapse:collapse;page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}th,td{border:1px solid #6b7280;padding:6px 8px;vertical-align:top}th{background:#f3f4f6}pre{white-space:pre-wrap}.document-cover{min-height:720px;display:flex;flex-direction:column;justify-content:center}.document-cover h1{margin-top:0}.page-break{page-break-after:always;height:0}</style></head><body>${d}</body></html>`);if("html"===i)return b.setHeader("Content-Type","text/html; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${k}.html`)}`),b.status(200).send(p);try{let{chromium:a}=await Promise.resolve().then(c.bind(c,83237)),d=await a.launch({headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]});try{let a=await d.newPage({locale:"zh-CN"});await a.setContent(p,{waitUntil:"load"}),await a.emulateMedia({media:"print"});let c=await a.pdf({format:"A4",printBackground:!0,preferCSSPageSize:!0,margin:{top:"24mm",right:"18mm",bottom:"22mm",left:"18mm"},displayHeaderFooter:!0,headerTemplate:"<div></div>",footerTemplate:'<div style="font-size:9px;width:100%;text-align:center;color:#666;">第 <span class="pageNumber"></span> 页 / 共 <span class="totalPages"></span> 页</div>'});return b.setHeader("Content-Type","application/pdf"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${k}.pdf`)}`),b.status(200).send(Buffer.from(c))}finally{await d.close()}}catch{let a=function(a,b){let c=[a,"",...b.replace(/<[^>]+>/gu,"").replace(/!\[[^\]]*\]\([^)]*\)/gu,"").replace(/\[([^\]]+)\]\([^)]*\)/gu,"$1").replace(/[#*_`>|-]/gu,"").replace(/\n{3,}/gu,"\n\n").trim().split("\n")].flatMap(a=>a.length>34?a.match(/.{1,34}/gu)||[]:[a]).slice(0,900),d=[];for(let a=0;a<c.length;a+=34)d.push(c.slice(a,a+34));let e=[],f=a=>(e.push(a),e.length),g=f(""),h=f(""),i=f("<< /Type /Font /Subtype /Type0 /BaseFont /STSong-Light /Encoding /UniGB-UCS2-H /DescendantFonts [<< /Type /Font /Subtype /CIDFontType0 /BaseFont /STSong-Light /CIDSystemInfo << /Registry (Adobe) /Ordering (GB1) /Supplement 2 >> >>] >>"),j=[];for(let a of d){let b=a.map((a,b)=>`BT /F1 ${0===b?18:11} Tf 50 ${790-22*b} Td <${Buffer.from(`\uFEFF${a}`,"utf16le").swap16().toString("hex").toUpperCase()}> Tj ET`).join("\n"),c=f(`<< /Length ${Buffer.byteLength(b)} >>
1
+ "use strict";(()=>{var a={};a.id=8644,a.ids=[8644],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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,SE:()=>o,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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")},87550:a=>{a.exports=require("better-sqlite3")},89529:(a,b,c)=>{c.r(b),c.d(b,{config:()=>t,default:()=>s,handler:()=>v});var d={};c.r(d),c.d(d,{default:()=>p});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(73024);let j=require("jszip");var k=c.n(j),l=c(67461);function m(a){return a.replace(/&/gu,"&amp;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;").replace(/"/gu,"&quot;")}function n(a){return a.replace(/<[^>]+>/gu,"").split("\n").map(a=>`<w:p><w:r><w:t xml:space="preserve">${m(a)}</w:t></w:r></w:p>`).join("")}async function o(a,b,c){if(c&&i.existsSync(c)){let d=await k().loadAsync(i.readFileSync(c)),e=d.file("word/document.xml");if(e){let c=await e.async("string");return d.file("word/document.xml",c.replace(/\{\{title\}\}/gu,m(a)).replace(/\{\{content\}\}/gu,n(b))),d.generateAsync({type:"nodebuffer"})}}let d=new(k());return d.file("[Content_Types].xml",'<?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>'),d.folder("_rels")?.file(".rels",'<?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>'),d.folder("word")?.folder("_rels")?.file("document.xml.rels",'<?xml version="1.0" encoding="UTF-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"/>'),d.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><w:p><w:r><w:t>${m(a)}</w:t></w:r></w:p>${n(b)}<w:sectPr><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440"/></w:sectPr></w:body></w:document>`),d.generateAsync({type:"nodebuffer"})}async function p(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});try{var d;let e=a.body,f=e.documentId?(0,l.v7)(e.documentId):null;if(e.documentId&&!f)return b.status(404).json({error:"Document not found"});let g=f?.title||e.title||"document",h=f?.editedMarkdown||f?.markdown||e.markdown||"",i=e.format||"markdown",j=f?.draft?.exportGate||e.exportGate;if(e.enforceGate&&j&&!j.passed)return b.status(422).json({error:"Export gate failed",issues:j.blockingIssues??[]});let k=g.replace(/[\\/:*?"<>|]/gu,"-").slice(0,80)||"document";if("markdown"===i)return b.setHeader("Content-Type","text/markdown; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${k}.md`)}`),b.status(200).send(h);if("docx"===i){let a=await o(g,h,e.wordTemplatePath);return b.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${k}.docx`)}`),b.status(200).send(a)}let{marked:n}=await Promise.resolve().then(c.bind(c,83142)),p=(d=n.parse(h,{async:!1}),`<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><title>${m(g)}</title><style>@page{size:A4;margin:24mm 18mm 22mm 18mm}body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;line-height:1.75;color:#111827;font-size:14px}h1{text-align:center;font-size:28px;margin-top:80px}h2{border-bottom:1px solid #d1d5db;padding-bottom:6px;margin-top:28px;page-break-after:avoid}h3{margin-top:20px}table{width:100%;border-collapse:collapse;page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}th,td{border:1px solid #6b7280;padding:6px 8px;vertical-align:top}th{background:#f3f4f6}pre{white-space:pre-wrap}.document-cover{min-height:720px;display:flex;flex-direction:column;justify-content:center}.document-cover h1{margin-top:0}.page-break{page-break-after:always;height:0}</style></head><body>${d}</body></html>`);if("html"===i)return b.setHeader("Content-Type","text/html; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${k}.html`)}`),b.status(200).send(p);try{let{chromium:a}=await Promise.resolve().then(c.bind(c,83237)),d=await a.launch({headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]});try{let a=await d.newPage({locale:"zh-CN"});await a.setContent(p,{waitUntil:"load"}),await a.emulateMedia({media:"print"});let c=await a.pdf({format:"A4",printBackground:!0,preferCSSPageSize:!0,margin:{top:"24mm",right:"18mm",bottom:"22mm",left:"18mm"},displayHeaderFooter:!0,headerTemplate:"<div></div>",footerTemplate:'<div style="font-size:9px;width:100%;text-align:center;color:#666;">第 <span class="pageNumber"></span> 页 / 共 <span class="totalPages"></span> 页</div>'});return b.setHeader("Content-Type","application/pdf"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${k}.pdf`)}`),b.status(200).send(Buffer.from(c))}finally{await d.close()}}catch{let a=function(a,b){let c=[a,"",...b.replace(/<[^>]+>/gu,"").replace(/!\[[^\]]*\]\([^)]*\)/gu,"").replace(/\[([^\]]+)\]\([^)]*\)/gu,"$1").replace(/[#*_`>|-]/gu,"").replace(/\n{3,}/gu,"\n\n").trim().split("\n")].flatMap(a=>a.length>34?a.match(/.{1,34}/gu)||[]:[a]).slice(0,900),d=[];for(let a=0;a<c.length;a+=34)d.push(c.slice(a,a+34));let e=[],f=a=>(e.push(a),e.length),g=f(""),h=f(""),i=f("<< /Type /Font /Subtype /Type0 /BaseFont /STSong-Light /Encoding /UniGB-UCS2-H /DescendantFonts [<< /Type /Font /Subtype /CIDFontType0 /BaseFont /STSong-Light /CIDSystemInfo << /Registry (Adobe) /Ordering (GB1) /Supplement 2 >> >>] >>"),j=[];for(let a of d){let b=a.map((a,b)=>`BT /F1 ${0===b?18:11} Tf 50 ${790-22*b} Td <${Buffer.from(`\uFEFF${a}`,"utf16le").swap16().toString("hex").toUpperCase()}> Tj ET`).join("\n"),c=f(`<< /Length ${Buffer.byteLength(b)} >>
2
2
  stream
3
3
  ${b}
4
4
  endstream`);j.push(f(`<< /Type /Page /Parent ${h} 0 R /MediaBox [0 0 595 842] /Resources << /Font << /F1 ${i} 0 R >> >> /Contents ${c} 0 R >>`))}e[g-1]=`<< /Type /Catalog /Pages ${h} 0 R >>`,e[h-1]=`<< /Type /Pages /Kids [${j.map(a=>`${a} 0 R`).join(" ")}] /Count ${j.length} >>`;let k="%PDF-1.4\n",l=[0];e.forEach((a,b)=>{l.push(Buffer.byteLength(k)),k+=`${b+1} 0 obj
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6011,a.ids=[6011],a.modules={15751:a=>{a.exports=require("xlsx")},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(73445),j=c(67461);async function k(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});try{let{templateId:c,requirement:d,maxEvidencePerChapter:e,projectRoot:f,sync:g=!1}=a.body;if(!c)return b.status(400).json({error:"templateId required"});if(g){let a=await (0,i.OX)({templateId:c,requirement:d,maxEvidencePerChapter:e,projectRoot:f});return b.status(200).json({draft:a})}let h=(0,j.YL)({templateId:c,requirement:d,maxEvidencePerChapter:e},f);b.status(202).json(h)}catch(a){console.error("[api] documents/generate",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/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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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,3328,3445],()=>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")},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(73445),j=c(67461);async function k(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});try{let{templateId:c,requirement:d,maxEvidencePerChapter:e,projectRoot:f,sync:g=!1}=a.body;if(!c)return b.status(400).json({error:"templateId required"});if(g){let a=await (0,i.OX)({templateId:c,requirement:d,maxEvidencePerChapter:e,projectRoot:f});return b.status(200).json({draft:a})}let h=(0,j.YL)({templateId:c,requirement:d,maxEvidencePerChapter:e},f);b.status(202).json(h)}catch(a){console.error("[api] documents/generate",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/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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,SE:()=>o,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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,3328,3445],()=>b(b.s=28630));module.exports=c})();
@@ -1 +1 @@
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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},38765:(a,b,c)=>{c.r(b),c.d(b,{config:()=>n,default:()=>m,handler:()=>p});var d={};c.r(d),c.d(d,{default:()=>j});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(67461);function j(a,b){try{let c=String(a.query.id||"");if(!c)return b.status(400).json({error:"id required"});if("GET"===a.method){let a=(0,i.v7)(c);if(!a)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:a})}if("PUT"===a.method){let d=(0,i.a6)(c,a.body||{});if(!d)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:d})}if("DELETE"===a.method)return(0,i.QG)(c),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 k=c(68970),l=c(50296);let m=(0,h.M)(d,"default"),n=(0,h.M)(d,"config"),o=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 p(a,b,c){let d=await o.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,k.getTracer)(),e=d.getActiveScopeSpan(),j=o.instrumentationOnRequestError.bind(o),m=async e=>o.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:o.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")!==l.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 m(e):await d.withPropagatedContext(a.headers,()=>d.trace(l.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:k.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},m))}catch(a){if(o.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")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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,3328,3445],()=>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")},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")},38765:(a,b,c)=>{c.r(b),c.d(b,{config:()=>n,default:()=>m,handler:()=>p});var d={};c.r(d),c.d(d,{default:()=>j});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(67461);function j(a,b){try{let c=String(a.query.id||"");if(!c)return b.status(400).json({error:"id required"});if("GET"===a.method){let a=(0,i.v7)(c);if(!a)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:a})}if("PUT"===a.method){let d=(0,i.a6)(c,a.body||{});if(!d)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:d})}if("DELETE"===a.method)return(0,i.QG)(c),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 k=c(68970),l=c(50296);let m=(0,h.M)(d,"default"),n=(0,h.M)(d,"config"),o=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 p(a,b,c){let d=await o.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,k.getTracer)(),e=d.getActiveScopeSpan(),j=o.instrumentationOnRequestError.bind(o),m=async e=>o.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:o.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")!==l.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 m(e):await d.withPropagatedContext(a.headers,()=>d.trace(l.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:k.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},m))}catch(a){if(o.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")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,SE:()=>o,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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,3328,3445],()=>b(b.s=38765));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=3269,a.ids=[3269],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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},36583:(a,b,c)=>{c.r(b),c.d(b,{config:()=>n,default:()=>m,handler:()=>p});var d={};c.r(d),c.d(d,{default:()=>j});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(67461);function j(a,b){try{if("GET"===a.method){let c="string"==typeof a.query.id?a.query.id:void 0;if(c){let a=(0,i.v7)(c);if(!a)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:a})}return b.status(200).json({documents:(0,i.M$)()})}if("PUT"===a.method){let{id:c,...d}=a.body;if(!c)return b.status(400).json({error:"id required"});let e=(0,i.a6)(c,d);if(!e)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:e})}if("DELETE"===a.method){let c="string"==typeof a.query.id?a.query.id:a.body?.id;if(!c)return b.status(400).json({error:"id required"});return(0,i.QG)(c),b.status(200).json({ok:!0})}return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] documents/generated",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var k=c(68970),l=c(50296);let m=(0,h.M)(d,"default"),n=(0,h.M)(d,"config"),o=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/generated",pathname:"/api/documents/generated",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function p(a,b,c){let d=await o.prepare(a,b,{srcPage:"/api/documents/generated"});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,k.getTracer)(),e=d.getActiveScopeSpan(),j=o.instrumentationOnRequestError.bind(o),m=async e=>o.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:o.isDev,page:"/api/documents/generated",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")!==l.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 m(e):await d.withPropagatedContext(a.headers,()=>d.trace(l.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:k.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},m))}catch(a){if(o.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")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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,3328,3445],()=>b(b.s=36583));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=3269,a.ids=[3269],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")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},36583:(a,b,c)=>{c.r(b),c.d(b,{config:()=>n,default:()=>m,handler:()=>p});var d={};c.r(d),c.d(d,{default:()=>j});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(67461);function j(a,b){try{if("GET"===a.method){let c="string"==typeof a.query.id?a.query.id:void 0;if(c){let a=(0,i.v7)(c);if(!a)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:a})}return b.status(200).json({documents:(0,i.M$)()})}if("PUT"===a.method){let{id:c,...d}=a.body;if(!c)return b.status(400).json({error:"id required"});let e=(0,i.a6)(c,d);if(!e)return b.status(404).json({error:"Document not found"});return b.status(200).json({document:e})}if("DELETE"===a.method){let c="string"==typeof a.query.id?a.query.id:a.body?.id;if(!c)return b.status(400).json({error:"id required"});return(0,i.QG)(c),b.status(200).json({ok:!0})}return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] documents/generated",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var k=c(68970),l=c(50296);let m=(0,h.M)(d,"default"),n=(0,h.M)(d,"config"),o=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/generated",pathname:"/api/documents/generated",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function p(a,b,c){let d=await o.prepare(a,b,{srcPage:"/api/documents/generated"});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,k.getTracer)(),e=d.getActiveScopeSpan(),j=o.instrumentationOnRequestError.bind(o),m=async e=>o.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:o.isDev,page:"/api/documents/generated",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")!==l.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 m(e):await d.withPropagatedContext(a.headers,()=>d.trace(l.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:k.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},m))}catch(a){if(o.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")},67461:(a,b,c)=>{c.d(b,{BH:()=>w,JU:()=>y,Jz:()=>A,M$:()=>r,QG:()=>v,SE:()=>o,YL:()=>B,a6:()=>u,uc:()=>z,v7:()=>s,yE:()=>x});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(73445),i=c(23328);let j=new Map;function k(a=(0,i.aY)()){let b=g.join(f.homedir(),".customize-agent","projects",function(a=(0,i.aY)()){return d.createHash("sha1").update(g.resolve(a)).digest("hex").slice(0,12)}(a),"generatedDocuments");return e.mkdirSync(g.join(b,"drafts"),{recursive:!0}),e.mkdirSync(g.join(b,"assets"),{recursive:!0}),b}function l(a=(0,i.aY)()){return g.join(k(a),"index.json")}function m(a=(0,i.aY)()){return g.join(k(a),"assets.json")}function n(a,b=(0,i.aY)()){return g.join(k(b),"drafts",`${a}.json`)}function o(a,b=(0,i.aY)()){return a.path?g.isAbsolute(a.path)?a.path:a.path.startsWith("generatedDocuments/assets/")?g.join(k(b),a.path.replace(/^generatedDocuments\/assets\//u,"assets/")):g.join(b,"knowledgeBase",a.path):null}function p(a,b){try{return JSON.parse(e.readFileSync(a,"utf8"))}catch{return b}}function q(a,b){e.mkdirSync(g.dirname(a),{recursive:!0}),e.writeFileSync(a,JSON.stringify(b,null,2))}function r(a=(0,i.aY)()){return p(l(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function s(a,b=(0,i.aY)()){return p(n(a,b),null)}function t(a,b=(0,i.aY)()){let c=Date.now(),d={...a,updatedAt:c};q(n(d.id,b),d);let e=r(b).filter(a=>a.id!==d.id);return e.unshift(d),q(l(b),e.map(a=>({...a,draft:void 0}))),d}function u(a,b,c=(0,i.aY)()){let d=s(a,c);return d?t({...d,...b,id:a},c):null}function v(a,b=(0,i.aY)()){try{e.rmSync(n(a,b),{force:!0})}catch{console.warn("[generated-documents] 删除文档记录失败或文件不存在",a)}q(l(b),r(b).filter(b=>b.id!==a))}function w(a=(0,i.aY)()){return p(m(a),[]).sort((a,b)=>b.updatedAt-a.updatedAt)}function x(a,b=(0,i.aY)()){return w(b).find(b=>b.id===a)||null}function y(a,b=(0,i.aY)()){let c=x(a,b);if(!c)return!1;let d=o(c,b);if(d&&d.startsWith(k(b)))try{e.rmSync(d,{force:!0})}catch{console.warn("[generated-documents] 删除生成资源文件失败或文件不存在",d)}return q(m(b),w(b).filter(b=>b.id!==a)),!0}async function z(a,b=(0,i.aY)()){let c=x(a,b);if(!c?.path)return null;let d=o(c,b);if(!d||!e.existsSync(d))throw Error("asset file not found");let f=g.join("生成资源",g.basename(c.path)).split(g.sep).join("/"),h=g.join(b,"knowledgeBase",f);e.mkdirSync(g.dirname(h),{recursive:!0}),d!==h&&e.copyFileSync(d,h);let j=await (0,i.Qh)().getProject(b);await j.reindexFile(f);let k=w(b).map(b=>b.id===a?{...b,path:f,source:"generated",indexed:!0,updatedAt:Date.now()}:b);return q(m(b),k),k.find(b=>b.id===a)||null}function A(a,b,c=(0,i.aY)()){let d=x(a,c);if(!d)return null;let f=o(d,c);return f&&e.existsSync(f)?"directory"===b?g.dirname(f):f:null}function B(a,b=(0,i.aY)()){let c=Date.now(),e=`doc-${c}-${d.randomBytes(4).toString("hex")}`,f=`task-${c}-${d.randomBytes(4).toString("hex")}`,k={id:e,taskId:f,templateId:a.templateId,title:"生成中",requirement:a.requirement||"",markdown:"",status:"generating",assets:[],createdAt:c,updatedAt:c};t(k,b);let l=(0,h.OX)(a).then(a=>{let c=t({...k,templateName:a.templateName,title:a.title,markdown:a.markdown,status:"completed",draft:a,assets:a.assets||[],completedAt:Date.now()},b);return!function(a,b,c=(0,i.aY)()){let d=Date.now(),e=[...w(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)}q(m(c),e)}(a.assets||[],e,b),c}).catch(a=>t({...k,status:"failed",error:a instanceof Error?a.message:String(a)},b)).finally(()=>{let a=j.get(f);a&&(a.status=s(e,b)?.status||a.status)});return j.set(f,{id:f,documentId:e,status:"generating",promise:l}),{taskId:f,documentId:e,record:k}}},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,3328,3445],()=>b(b.s=36583));module.exports=c})();