@customize-agent/server 4.0.69 → 4.0.70
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/chunks/1936.js +3 -3
- package/.next/server/chunks/5247.js +125 -0
- package/.next/server/chunks/7899.js +1 -0
- package/.next/server/chunks/8203.js +5 -0
- package/.next/server/chunks/9301.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_error.js +1 -1
- package/.next/server/pages/api/assets/generated/preview.js +1 -1
- package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
- package/.next/server/pages/api/assets/generated.js +1 -1
- package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
- package/.next/server/pages/api/config/embedding/healthCheck.js +1 -1
- package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
- package/.next/server/pages/api/config/embedding.js +1 -1
- package/.next/server/pages/api/config/healthCheck.js +2 -2
- package/.next/server/pages/api/config/models.js +1 -1
- package/.next/server/pages/api/config/providers/[provider].js +1 -1
- package/.next/server/pages/api/config/providers.js +2 -2
- package/.next/server/pages/api/context.js +5 -5
- package/.next/server/pages/api/context.js.nft.json +1 -1
- package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
- package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/drafts.js +1 -1
- package/.next/server/pages/api/documents/export.js +3 -3
- package/.next/server/pages/api/documents/export.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generate.js +2 -2
- package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id].js +1 -1
- package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated.js +1 -1
- package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
- package/.next/server/pages/api/documents/refine.js +2 -2
- package/.next/server/pages/api/documents/roles.js +1 -1
- package/.next/server/pages/api/documents/roles.js.nft.json +1 -1
- package/.next/server/pages/api/documents/templates.js +1 -1
- package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
- package/.next/server/pages/api/jobs/[id].js +3 -3
- package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
- package/.next/server/pages/api/jobs.js +3 -3
- package/.next/server/pages/api/jobs.js.nft.json +1 -1
- package/.next/server/pages/api/kb/categories.js +2 -2
- package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
- package/.next/server/pages/api/kb/duplicates.js +2 -2
- package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
- package/.next/server/pages/api/kb/features.js +1 -1
- package/.next/server/pages/api/kb/files/detail.js +2 -2
- package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/open.js +2 -2
- package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/preview-pdf-page.js +2 -2
- package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/reindex.js +1 -1
- package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/search.js +3 -3
- package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files.js +4 -4
- package/.next/server/pages/api/kb/files.js.nft.json +1 -1
- package/.next/server/pages/api/kb/ignore.js +2 -2
- package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
- package/.next/server/pages/api/kb/operations.js +3 -3
- package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
- package/.next/server/pages/api/kb/reindex.js +1 -1
- package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
- package/.next/server/pages/api/kb/search.js +2 -2
- package/.next/server/pages/api/kb/search.js.nft.json +1 -1
- package/.next/server/pages/api/kb/stats.js +2 -2
- package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
- package/.next/server/pages/api/kb/tags.js +2 -2
- package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload/progress.js +2 -2
- package/.next/server/pages/api/kb/upload/progress.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload.js +1 -1
- package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
- package/.next/server/pages/api/prompt/chat.js +2 -2
- package/.next/server/pages/api/system/logs.js +2 -2
- package/.next/server/pages/asset-library.html +1 -1
- package/.next/server/pages/context/long-term.html +1 -1
- package/.next/server/pages/context/short-term.html +1 -1
- package/.next/server/pages/document-roles.html +1 -1
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge/search.html +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages-manifest.json +24 -24
- package/package.json +3 -3
- package/.next/server/chunks/432.js +0 -5
- package/.next/server/chunks/6697.js +0 -123
- /package/.next/static/{G68XtEOLp5i0eWArclO6w → 0NId-lDXjlrJ2oZ70HQzh}/_buildManifest.js +0 -0
- /package/.next/static/{G68XtEOLp5i0eWArclO6w → 0NId-lDXjlrJ2oZ70HQzh}/_ssgManifest.js +0 -0
|
@@ -1,65 +1,65 @@
|
|
|
1
1
|
{
|
|
2
|
-
"/_error": "pages/_error.js",
|
|
3
2
|
"/_app": "pages/_app.js",
|
|
3
|
+
"/_error": "pages/_error.js",
|
|
4
4
|
"/api/assets/generated/preview": "pages/api/assets/generated/preview.js",
|
|
5
5
|
"/api/assets/generated": "pages/api/assets/generated.js",
|
|
6
6
|
"/api/config/embedding/healthCheck": "pages/api/config/embedding/healthCheck.js",
|
|
7
7
|
"/api/config/models": "pages/api/config/models.js",
|
|
8
8
|
"/api/context": "pages/api/context.js",
|
|
9
9
|
"/api/documents/drafts": "pages/api/documents/drafts.js",
|
|
10
|
+
"/api/documents/chapter/regenerate": "pages/api/documents/chapter/regenerate.js",
|
|
10
11
|
"/api/documents/generate": "pages/api/documents/generate.js",
|
|
11
12
|
"/api/documents/generated": "pages/api/documents/generated.js",
|
|
12
13
|
"/api/documents/roles": "pages/api/documents/roles.js",
|
|
13
|
-
"/api/health": "pages/api/health.js",
|
|
14
|
-
"/api/documents/chapter/regenerate": "pages/api/documents/chapter/regenerate.js",
|
|
15
14
|
"/api/documents/templates": "pages/api/documents/templates.js",
|
|
16
|
-
"/api/
|
|
15
|
+
"/api/health": "pages/api/health.js",
|
|
17
16
|
"/api/jobs/[id]": "pages/api/jobs/[id].js",
|
|
17
|
+
"/api/kb/categories": "pages/api/kb/categories.js",
|
|
18
18
|
"/api/jobs": "pages/api/jobs.js",
|
|
19
19
|
"/api/kb/duplicates": "pages/api/kb/duplicates.js",
|
|
20
|
-
"/api/kb/features": "pages/api/kb/features.js",
|
|
21
|
-
"/api/kb/files/detail": "pages/api/kb/files/detail.js",
|
|
22
20
|
"/api/kb/files": "pages/api/kb/files.js",
|
|
21
|
+
"/api/kb/features": "pages/api/kb/features.js",
|
|
23
22
|
"/api/kb/files/open": "pages/api/kb/files/open.js",
|
|
23
|
+
"/api/kb/files/detail": "pages/api/kb/files/detail.js",
|
|
24
24
|
"/api/kb/files/reindex": "pages/api/kb/files/reindex.js",
|
|
25
25
|
"/api/kb/files/search": "pages/api/kb/files/search.js",
|
|
26
26
|
"/api/kb/ignore": "pages/api/kb/ignore.js",
|
|
27
|
-
"/api/kb/reindex": "pages/api/kb/reindex.js",
|
|
28
27
|
"/api/kb/operations": "pages/api/kb/operations.js",
|
|
28
|
+
"/api/kb/reindex": "pages/api/kb/reindex.js",
|
|
29
29
|
"/api/kb/search": "pages/api/kb/search.js",
|
|
30
|
+
"/api/kb/stats": "pages/api/kb/stats.js",
|
|
30
31
|
"/api/kb/tags": "pages/api/kb/tags.js",
|
|
31
32
|
"/api/kb/upload/progress": "pages/api/kb/upload/progress.js",
|
|
32
|
-
"/api/kb/stats": "pages/api/kb/stats.js",
|
|
33
|
-
"/asset-library": "pages/asset-library.html",
|
|
34
|
-
"/api/system/stats": "pages/api/system/stats.js",
|
|
35
|
-
"/api/system/logs": "pages/api/system/logs.js",
|
|
36
33
|
"/api/prompt": "pages/api/prompt.js",
|
|
34
|
+
"/api/system/logs": "pages/api/system/logs.js",
|
|
35
|
+
"/api/system/stats": "pages/api/system/stats.js",
|
|
36
|
+
"/asset-library": "pages/asset-library.html",
|
|
37
37
|
"/context/long-term": "pages/context/long-term.html",
|
|
38
|
-
"/guide": "pages/guide.html",
|
|
39
38
|
"/context/short-term": "pages/context/short-term.html",
|
|
40
|
-
"/": "pages/index.html",
|
|
41
39
|
"/document-roles": "pages/document-roles.html",
|
|
42
|
-
"/knowledge/files": "pages/knowledge/files.html",
|
|
43
|
-
"/knowledge/manage": "pages/knowledge/manage.html",
|
|
44
40
|
"/documents": "pages/documents.html",
|
|
45
|
-
"/
|
|
41
|
+
"/guide": "pages/guide.html",
|
|
42
|
+
"/": "pages/index.html",
|
|
46
43
|
"/knowledge/file-detail": "pages/knowledge/file-detail.html",
|
|
44
|
+
"/knowledge/files": "pages/knowledge/files.html",
|
|
45
|
+
"/knowledge": "pages/knowledge.html",
|
|
46
|
+
"/knowledge/manage": "pages/knowledge/manage.html",
|
|
47
47
|
"/knowledge/search": "pages/knowledge/search.html",
|
|
48
|
-
"/prompt": "pages/prompt.html",
|
|
49
|
-
"/overview": "pages/overview.html",
|
|
50
48
|
"/models": "pages/models.html",
|
|
49
|
+
"/overview": "pages/overview.html",
|
|
50
|
+
"/prompt": "pages/prompt.html",
|
|
51
|
+
"/settings": "pages/settings.html",
|
|
51
52
|
"/system/logs": "pages/system/logs.html",
|
|
52
|
-
"/api/config/healthCheck": "pages/api/config/healthCheck.js",
|
|
53
53
|
"/api/config/providers/[provider]": "pages/api/config/providers/[provider].js",
|
|
54
|
-
"/api/config/
|
|
54
|
+
"/api/config/healthCheck": "pages/api/config/healthCheck.js",
|
|
55
55
|
"/api/config/embedding": "pages/api/config/embedding.js",
|
|
56
56
|
"/api/documents/generated/[id]": "pages/api/documents/generated/[id].js",
|
|
57
|
-
"/
|
|
58
|
-
"/_document": "pages/_document.js",
|
|
57
|
+
"/api/config/providers": "pages/api/config/providers.js",
|
|
59
58
|
"/api/kb/files/preview-pdf-page": "pages/api/kb/files/preview-pdf-page.js",
|
|
60
|
-
"/api/prompt/chat": "pages/api/prompt/chat.js",
|
|
61
59
|
"/api/kb/upload": "pages/api/kb/upload.js",
|
|
62
|
-
"/api/documents/export": "pages/api/documents/export.js",
|
|
63
60
|
"/api/documents/refine": "pages/api/documents/refine.js",
|
|
61
|
+
"/api/prompt/chat": "pages/api/prompt/chat.js",
|
|
62
|
+
"/_document": "pages/_document.js",
|
|
63
|
+
"/api/documents/export": "pages/api/documents/export.js",
|
|
64
64
|
"/404": "pages/404.html"
|
|
65
65
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@customize-agent/server",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.70",
|
|
4
4
|
"description": "Customize Agent Web 管理控制台",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json"
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
"tesseract.js": "^7.0.0",
|
|
51
51
|
"typescript": "^6.0.3",
|
|
52
52
|
"xlsx": "^0.18.5",
|
|
53
|
-
"@customize-agent/
|
|
53
|
+
"@customize-agent/llm": "^3.0.9",
|
|
54
54
|
"@customize-agent/knowledge": "^4.0.28",
|
|
55
|
-
"@customize-agent/
|
|
55
|
+
"@customize-agent/runtime": "^3.0.9"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@tailwindcss/postcss": "^4.3.2",
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=432,exports.ids=[432],exports.modules={6708:(a,b,c)=>{c.d(b,{CU:()=>q,H7:()=>p,JB:()=>m,Qf:()=>k,kW:()=>n,oy:()=>l,sn:()=>o});var d=c(29021),e=c(21820),f=c(33873),g=c(19898);function h(a){return f.join(e.homedir(),".customize-agent","projects",(0,g.computeProjectId)(a),"kb-operations.jsonl")}function i(a){let b=h(a);return d.existsSync(b)?d.readFileSync(b,"utf8").split("\n").filter(Boolean).flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}}):[]}function j(a,b){let c=h(a);d.mkdirSync(f.dirname(c),{recursive:!0}),d.writeFileSync(c,`${b.slice(-200).map(a=>JSON.stringify(a)).join("\n")}
|
|
2
|
-
`,"utf8")}function k(a,b){let c=Date.now(),d=i(a),e=d.findIndex(a=>a.id===b.id),f=e>=0?d[e]:void 0,g={id:b.id,type:b.type,title:b.title,stage:b.stage??f?.stage??"uploading",status:b.status??f?.status??"processing",message:b.message??f?.message??"",percent:b.percent??f?.percent??0,fileName:b.fileName??f?.fileName,filePath:b.filePath??f?.filePath,chunkCount:b.chunkCount??f?.chunkCount,textLength:b.textLength??f?.textLength,extractionMode:b.extractionMode??f?.extractionMode,error:b.error??f?.error,createdAt:f?.createdAt??c,updatedAt:c};return e>=0?d[e]=g:d.push(g),j(a,d),g}function l(a,b=50){return i(a).sort((a,b)=>b.updatedAt-a.updatedAt).slice(0,b)}function m(a,b){return i(a).find(a=>a.id===b)}function n(a,b){return i(a).filter(a=>!b||a.type===b).sort((a,b)=>b.updatedAt-a.updatedAt)[0]}function o(a){return i(a).filter(a=>"processing"===a.status).sort((a,b)=>b.updatedAt-a.updatedAt)}function p(a){let b=i(a),c=h(a);return d.existsSync(c)&&d.unlinkSync(c),b.length}function q(a,b){let c=i(a),d=c.filter(a=>a.id!==b);return d.length!==c.length&&(j(a,d),!0)}},23328:(a,b,c)=>{c.d(b,{Qh:()=>l,VS:()=>p,Yy:()=>o,aY:()=>n});var d=c(19898),e=c(87550),f=c.n(e),g=c(33873),h=c(21820),i=c(29021);let j=null;function k(){return g.join(h.homedir(),".customize-agent")}function l(){return j||(j=new d.MultiProjectManager(k())),j}function m(a){let b=g.resolve(a),c=g.resolve(g.join(h.homedir(),".customize-agent"));return!(i.existsSync(g.join(b,"pnpm-workspace.yaml"))&&i.existsSync(g.join(b,"apps","server")))&&(b===c||b.includes(`${g.sep}.customize-agent${g.sep}`)||b.endsWith(`${g.sep}apps${g.sep}server`)||b.endsWith(`${g.sep}apps${g.sep}cli`))}function n(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&i.existsSync(a)&&!m(a))return g.resolve(a);let b=function(){let a=g.join(k(),"projects","registry.db");if(!i.existsSync(a))return[];let b=new(f())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>g.resolve(a.project_root)).filter(a=>!m(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!m(process.env.INIT_CWD)?process.env.INIT_CWD:g.resolve(process.cwd(),"../..")}function o(a,b={}){let c=new Map;for(let b of function(a){let b=g.join(h.homedir(),".customize-agent","projects",(0,d.computeProjectId)(g.resolve(a)),"kb.db");if(!i.existsSync(b))return[];let c=new d.IndexStateStore(b);try{return c.listRecords().map(a=>({...a,matchedBy:"metadata"}))}finally{c.close()}}(a))c.set(b.relativePath,b);for(let b of function(a){let b=g.join(a,"knowledgeBase");if(!i.existsSync(b))return[];let c=[],d=a=>{for(let e of i.readdirSync(a,{withFileTypes:!0})){let f=g.join(a,e.name);if(e.isDirectory()){d(f);continue}if(e.name.endsWith(".source.txt"))continue;let h=i.statSync(f),j=g.relative(b,f).split(g.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:g.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:h.size,mtime:h.mtimeMs,chunkCount:0,collectionName:"",indexedAt:0,lastVerifiedAt:0,status:"disk",matchedBy:"disk"})}};return d(b),c}(a)){let a=c.get(b.relativePath);c.set(b.relativePath,a?{...a,fileSize:b.fileSize,mtime:b.mtime,matchedBy:"metadata"}:b)}return Array.from(c.values()).filter(a=>!b.category||a.category===b.category).sort((a,b)=>b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN"))}async function p(a,b={}){let c=(b.query||"").trim(),d=Math.max(1,Math.min(500,b.limit??50)),e=new Map,f=o(a,{category:b.category});for(let a of f)(!c||`${a.relativePath}
|
|
3
|
-
${a.category}
|
|
4
|
-
${a.format}
|
|
5
|
-
${a.status}`.toLowerCase().includes(c.toLowerCase()))&&e.set(a.relativePath,{...a,matchedBy:c?"path":a.matchedBy});if(c&&!1!==b.includeContent)try{for(let b of(await l().search(a,c,{limit:Math.max(20,d)})).results){let a=b.filePath,c=e.get(a)||f.find(b=>b.relativePath===a);e.set(a,{...c||{relativePath:a,category:"content",format:"knowledge",fileSize:0,mtime:0,chunkCount:0,indexedAt:0,lastVerifiedAt:0,status:"active"},matchedBy:"content",score:b.score})}}catch{}let g=Array.from(e.values()).sort((a,b)=>{let c=a=>"content"===a.matchedBy?3:"path"===a.matchedBy?2:+("metadata"===a.matchedBy);return c(b)-c(a)||(b.score??0)-(a.score??0)||b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN")});return{files:g.slice(0,d),total:g.length}}},70432:(a,b,c)=>{c.d(b,{DA:()=>l,ls:()=>m});var d=c(79646),e=c(33873),f=c.n(e),g=c(23328),h=c(6708);let i=new Map;function j(a){return String(a).split(/\r?\n/u).map(a=>a.trim()).filter(a=>a&&!/^Image too small to scale!!/u.test(a)&&"Line cannot be recognized!!"!==a).join("\n")}async function k(a,b,c,d){let e;try{e=await (0,g.Qh)().getProject(a.projectRoot);let f=e=>{var f;return(0,h.Qf)(a.projectRoot,{id:b,type:c,title:d,stage:(f=e.stage,"parsing"===f||"chunking"===f||"vectorizing"===f||"done"===f||"error"===f?f:"indexing"===f?"chunking":"scanning"===f?"uploading":"vectorizing"),status:"error"===e.stage?"error":"processing",percent:e.percent,message:e.message,filePath:e.filePath||a.relativePath,chunkCount:e.chunkCount,error:e.vectorStatus?.error})},i=a.relativePath?await e.reindexFile(a.relativePath,{vectorMode:a.vectorMode,onProgress:f}):a.forceReindexAll?await e.forceReindexAll({vectorMode:a.vectorMode,onProgress:f}):await e.consumePendingIndexJobs({vectorMode:a.vectorMode,onProgress:f,waitForUploadId:a.uploadOperationId}),j=0;for(;!a.relativePath&&(e.countPendingIndexJobs()>0||a.uploadOperationId&&e.uploadSessionIsOpen(a.uploadOperationId)&&j<120);){if(0===e.countPendingIndexJobs()){j+=1,await new Promise(a=>setTimeout(a,1e3));continue}j=0;let b=await e.consumePendingIndexJobs({vectorMode:a.vectorMode,onProgress:f,waitForUploadId:a.uploadOperationId});i={newFiles:[...i.newFiles,...b.newFiles],modifiedFiles:[...i.modifiedFiles,...b.modifiedFiles],deletedFiles:[...i.deletedFiles,...b.deletedFiles],unchangedCount:i.unchangedCount+b.unchangedCount,mtimeOnlyCount:i.mtimeOnlyCount+b.mtimeOnlyCount,skippedFiles:[...i.skippedFiles,...b.skippedFiles],hasChanges:i.hasChanges||b.hasChanges,diffTimeMs:i.diffTimeMs+b.diffTimeMs}}let k=e.getVectorStatus();if("error"===k.status){let f=k.error||"HNSWLib 向量入库失败";return(0,h.Qf)(a.projectRoot,{id:b,type:c,title:d,stage:"error",status:"error",percent:100,message:f,error:f}),{success:!1,error:f,stats:{...e.getStats(),vectorStatus:k}}}return(0,h.Qf)(a.projectRoot,{id:b,type:c,title:d,stage:"done",status:"success",percent:100,message:a.relativePath?"单文件重新解析完成":"知识库后台索引完成",filePath:a.relativePath,fileName:a.relativePath?.split("/").pop()}),{success:!0,stats:{...e.getStats(),vectorStatus:k}}}catch(g){let f=g instanceof Error?g.stack||g.message:String(g);return e?.failPendingIndexJobs?.(f),(0,h.Qf)(a.projectRoot,{id:b,type:c,title:d,stage:"error",status:"error",percent:100,message:f,error:f}),{success:!1,error:f}}}function l(a){!function(a){let b=i.get(a.projectRoot);if(b)return b.promise;let c=a.uploadOperationId??a.id,e=a.uploadOperationId?"upload":"reindex",g=a.uploadOperationId?`上传 ${a.uploadTitle??"文件"}`:a.relativePath?`重新解析 ${a.relativePath}`:"知识库后台索引";(0,h.Qf)(a.projectRoot,{id:c,type:e,title:g,stage:"uploading",status:"processing",percent:5,message:"索引任务已进入后台队列",filePath:a.relativePath,fileName:a.relativePath?.split("/").pop()});let l=("1"===process.env.CUSTOMIZE_AGENT_DISABLE_KB_CHILD_PROCESS?k(a,c,e,g):function(a,b,c,e){let g=f().resolve(process.cwd(),"scripts/kb-index-worker.cjs");return new Promise(f=>{let i=(0,d.fork)(g,[JSON.stringify({...a,operationId:b})],{cwd:process.cwd(),stdio:["ignore","pipe","pipe","ipc"],env:process.env});i.stdout?.on("data",d=>{let f=j(d);f&&(0,h.Qf)(a.projectRoot,{id:b,type:c,title:e,stage:"parsing",status:"processing",percent:5,message:`后台索引输出:${f.slice(-1e3)}`})}),i.stderr?.on("data",d=>{let f=j(d);f&&(0,h.Qf)(a.projectRoot,{id:b,type:c,title:e,stage:"parsing",status:"processing",percent:5,message:`后台索引错误输出:${f.slice(-1e3)}`})}),i.on("error",d=>{let g=d instanceof Error?d.message:String(d);(0,h.Qf)(a.projectRoot,{id:b,type:c,title:e,stage:"error",status:"error",percent:100,message:g,error:g}),f({success:!1,error:g})}),i.on("exit",d=>{if(0===d)f({success:!0});else{let g=`知识库后台进程退出,退出码 ${d??"unknown"}`;(0,h.Qf)(a.projectRoot,{id:b,type:c,title:e,stage:"error",status:"error",percent:100,message:g,error:g}),f({success:!1,error:g})}})})}(a,c,e,g)).finally(()=>i.delete(a.projectRoot));i.set(a.projectRoot,{operationId:c,promise:l,startedAt:Date.now()})}(a)}function m(a){let b=i.get(a);return b?{operationId:b.operationId,startedAt:b.startedAt}:void 0}}};
|