@customize-agent/server 4.59.1 → 4.59.3

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 (225) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +33 -28
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +5 -2
  5. package/.next/routes-manifest.json +16 -0
  6. package/.next/server/chunks/1001.js +2 -56
  7. package/.next/server/chunks/1243.js +3 -0
  8. package/.next/server/chunks/1928.js +1 -1
  9. package/.next/server/chunks/1936.js +2 -2
  10. package/.next/server/chunks/2328.js +6 -0
  11. package/.next/server/chunks/2434.js +4 -4
  12. package/.next/server/chunks/3806.js +1 -0
  13. package/.next/server/chunks/4974.js +2 -0
  14. package/.next/server/chunks/5304.js +2 -0
  15. package/.next/server/chunks/5746.js +5 -0
  16. package/.next/server/chunks/6321.js +1 -3
  17. package/.next/server/chunks/7931.js +142 -0
  18. package/.next/server/chunks/8204.js +1 -1
  19. package/.next/server/chunks/9666.js +142 -0
  20. package/.next/server/instrumentation.js +1 -0
  21. package/.next/server/instrumentation.js.nft.json +1 -0
  22. package/.next/server/middleware-build-manifest.js +1 -1
  23. package/.next/server/pages/404.html +1 -1
  24. package/.next/server/pages/500.html +1 -1
  25. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  26. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  27. package/.next/server/pages/api/assets/generated.js +1 -1
  28. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  29. package/.next/server/pages/api/config/embedding/healthCheck.js +2 -1
  30. package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
  31. package/.next/server/pages/api/config/embedding.js +2 -1
  32. package/.next/server/pages/api/config/embedding.js.nft.json +1 -1
  33. package/.next/server/pages/api/config/healthCheck.js +2 -2
  34. package/.next/server/pages/api/config/healthCheck.js.nft.json +1 -1
  35. package/.next/server/pages/api/config/models.js +2 -1
  36. package/.next/server/pages/api/config/models.js.nft.json +1 -1
  37. package/.next/server/pages/api/config/providers/[provider].js +2 -1
  38. package/.next/server/pages/api/config/providers/[provider].js.nft.json +1 -1
  39. package/.next/server/pages/api/config/providers.js +2 -2
  40. package/.next/server/pages/api/config/providers.js.nft.json +1 -1
  41. package/.next/server/pages/api/config/web-access.js +2 -1
  42. package/.next/server/pages/api/config/web-access.js.nft.json +1 -1
  43. package/.next/server/pages/api/documents/canvas/[id].js +1 -2
  44. package/.next/server/pages/api/documents/canvas/[id].js.nft.json +1 -1
  45. package/.next/server/pages/api/documents/export.js +11 -9
  46. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  47. package/.next/server/pages/api/documents/generate/preview.js +1 -2
  48. package/.next/server/pages/api/documents/generate/preview.js.nft.json +1 -1
  49. package/.next/server/pages/api/documents/generate.js +1 -2
  50. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  51. package/.next/server/pages/api/documents/generated/[id]/events.js +2 -3
  52. package/.next/server/pages/api/documents/generated/[id]/events.js.nft.json +1 -1
  53. package/.next/server/pages/api/documents/generated/[id]/figure/[name].js +1 -1
  54. package/.next/server/pages/api/documents/generated/[id]/figure/[name].js.nft.json +1 -1
  55. package/.next/server/pages/api/documents/generated/[id]/instruction.js +2 -0
  56. package/.next/server/pages/api/documents/generated/[id]/instruction.js.nft.json +1 -0
  57. package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js +1 -2
  58. package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js.nft.json +1 -1
  59. package/.next/server/pages/api/documents/generated/[id]/nodes.js +1 -2
  60. package/.next/server/pages/api/documents/generated/[id]/nodes.js.nft.json +1 -1
  61. package/.next/server/pages/api/documents/generated/[id]/pause.js +1 -2
  62. package/.next/server/pages/api/documents/generated/[id]/pause.js.nft.json +1 -1
  63. package/.next/server/pages/api/documents/generated/[id]/preview.js +1 -2
  64. package/.next/server/pages/api/documents/generated/[id]/preview.js.nft.json +1 -1
  65. package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js +1 -1
  66. package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js.nft.json +1 -1
  67. package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js +1 -1
  68. package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js.nft.json +1 -1
  69. package/.next/server/pages/api/documents/generated/[id]/repair.js +1 -1
  70. package/.next/server/pages/api/documents/generated/[id]/repair.js.nft.json +1 -1
  71. package/.next/server/pages/api/documents/generated/[id]/report.js +1 -0
  72. package/.next/server/pages/api/documents/generated/[id]/report.js.nft.json +1 -0
  73. package/.next/server/pages/api/documents/generated/[id]/resume-generate.js +1 -2
  74. package/.next/server/pages/api/documents/generated/[id]/resume-generate.js.nft.json +1 -1
  75. package/.next/server/pages/api/documents/generated/[id].js +1 -2
  76. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  77. package/.next/server/pages/api/documents/generated.js +1 -1
  78. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  79. package/.next/server/pages/api/health.js +1 -1
  80. package/.next/server/pages/api/jobs/[id].js +2 -5
  81. package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
  82. package/.next/server/pages/api/kb/categories.js +1 -4
  83. package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
  84. package/.next/server/pages/api/kb/duplicates.js +1 -4
  85. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
  86. package/.next/server/pages/api/kb/features.js +2 -1
  87. package/.next/server/pages/api/kb/features.js.nft.json +1 -1
  88. package/.next/server/pages/api/kb/files/detail.js +1 -6
  89. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
  90. package/.next/server/pages/api/kb/files/export.js +1 -5
  91. package/.next/server/pages/api/kb/files/export.js.nft.json +1 -1
  92. package/.next/server/pages/api/kb/files/open.js +1 -4
  93. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
  94. package/.next/server/pages/api/kb/files/preview-pdf-page.js +1 -4
  95. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
  96. package/.next/server/pages/api/kb/files/reindex.js +2 -1
  97. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
  98. package/.next/server/pages/api/kb/files/search.js +1 -5
  99. package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
  100. package/.next/server/pages/api/kb/files.js +2 -6
  101. package/.next/server/pages/api/kb/files.js.nft.json +1 -1
  102. package/.next/server/pages/api/kb/ignore.js +1 -4
  103. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
  104. package/.next/server/pages/api/kb/material-groups.js +1 -2
  105. package/.next/server/pages/api/kb/material-groups.js.nft.json +1 -1
  106. package/.next/server/pages/api/kb/operations.js +2 -5
  107. package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
  108. package/.next/server/pages/api/kb/reindex.js +2 -1
  109. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
  110. package/.next/server/pages/api/kb/stats.js +1 -4
  111. package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
  112. package/.next/server/pages/api/kb/tags.js +1 -4
  113. package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
  114. package/.next/server/pages/api/kb/upload/complete.js +2 -1
  115. package/.next/server/pages/api/kb/upload/complete.js.nft.json +1 -1
  116. package/.next/server/pages/api/kb/upload.js +2 -1
  117. package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
  118. package/.next/server/pages/api/prompt/chat.js +5 -11
  119. package/.next/server/pages/api/prompt/chat.js.nft.json +1 -1
  120. package/.next/server/pages/api/prompt.js +2 -1
  121. package/.next/server/pages/api/prompt.js.nft.json +1 -1
  122. package/.next/server/pages/api/skills/[id].js +1 -1
  123. package/.next/server/pages/api/skills/[id].js.nft.json +1 -1
  124. package/.next/server/pages/api/skills/validate.js +1 -1
  125. package/.next/server/pages/api/skills/validate.js.nft.json +1 -1
  126. package/.next/server/pages/api/skills.js +1 -1
  127. package/.next/server/pages/api/skills.js.nft.json +1 -1
  128. package/.next/server/pages/api/system/data-health.js +2 -0
  129. package/.next/server/pages/api/system/data-health.js.nft.json +1 -0
  130. package/.next/server/pages/api/system/logs.js +2 -2
  131. package/.next/server/pages/api/system/logs.js.nft.json +1 -1
  132. package/.next/server/pages/api/system/reset.js +1 -0
  133. package/.next/server/pages/api/{kb/intelligence.js.nft.json → system/reset.js.nft.json} +1 -1
  134. package/.next/server/pages/api/system/stats.js +2 -1
  135. package/.next/server/pages/api/system/stats.js.nft.json +1 -1
  136. package/.next/server/pages/canvas/[id].html +1 -1
  137. package/.next/server/pages/canvas.html +1 -1
  138. package/.next/server/pages/documents.html +1 -1
  139. package/.next/server/pages/guide.html +1 -1
  140. package/.next/server/pages/index.html +1 -1
  141. package/.next/server/pages/knowledge/file-detail.html +1 -1
  142. package/.next/server/pages/knowledge/files.html +1 -1
  143. package/.next/server/pages/knowledge/manage.html +1 -1
  144. package/.next/server/pages/knowledge.html +1 -1
  145. package/.next/server/pages/models.html +1 -1
  146. package/.next/server/pages/overview.html +1 -1
  147. package/.next/server/pages/prompt.html +1 -1
  148. package/.next/server/pages/settings.html +1 -1
  149. package/.next/server/pages/skills.html +1 -1
  150. package/.next/server/pages/system/logs.html +1 -1
  151. package/.next/server/pages-manifest.json +36 -38
  152. package/.next/server/webpack-runtime.js +1 -1
  153. package/.next/static/7819131dbd58574b80d0784549af250fc9b202d0e2317de83fe25857af834b79/_buildManifest.js +1 -0
  154. package/.next/static/chunks/278-31fbe7e1b733a9b7.js +1 -0
  155. package/.next/static/chunks/530-d9f0418ec7ab040f.js +1 -0
  156. package/.next/static/chunks/709-14ed28f1f6d4b25e.js +1 -0
  157. package/.next/static/chunks/713-b1ce7a4a4ef015f4.js +1 -0
  158. package/.next/static/chunks/795-48065c56c3b80339.js +1 -0
  159. package/.next/static/chunks/864-b06700e1a4e573f2.js +6 -0
  160. package/.next/static/chunks/90-3a5ea00990b4e72b.js +1 -0
  161. package/.next/static/chunks/964-7e9fe2d80a53aeee.js +78 -0
  162. package/.next/static/chunks/pages/{_app-ebb535779b63fd5d.js → _app-591ac7a50d506b05.js} +20 -20
  163. package/.next/static/chunks/pages/canvas/[id]-3c2b950c135f6699.js +1 -0
  164. package/.next/static/chunks/pages/{canvas-323d44fe56d685a7.js → canvas-9086d8d3a7d32776.js} +1 -1
  165. package/.next/static/chunks/pages/guide-a8eecc6c02b5bb9c.js +1 -0
  166. package/.next/static/chunks/pages/knowledge/file-detail-bd4b6e4264e812ff.js +1 -0
  167. package/.next/static/chunks/pages/knowledge-a65ec687334ffed0.js +1 -0
  168. package/.next/static/chunks/pages/models-baf1d15d79cb366b.js +1 -0
  169. package/.next/static/chunks/pages/prompt-b8af2cef904e3e19.js +1 -0
  170. package/.next/static/chunks/pages/settings-81dffd92939c1d36.js +1 -0
  171. package/.next/static/chunks/pages/skills-648c64f8cb37ef5d.js +1 -0
  172. package/.next/static/chunks/pages/system/logs-1f54b6c8791daa77.js +1 -0
  173. package/.next/static/css/f35b901a72bb3ade.css +1 -0
  174. package/README.md +48 -45
  175. package/messages/en-US.json +76 -65
  176. package/messages/zh-CN.json +76 -65
  177. package/next.config.ts +5 -0
  178. package/package.json +7 -9
  179. package/public/fonts/NotoSansCJKsc-Regular.otf +0 -0
  180. package/public/fonts/OFL-Noto-CJK.txt +142 -0
  181. package/public/fonts/font-manifest.json +8 -0
  182. package/scripts/build-identity.cjs +67 -0
  183. package/scripts/capture-baseline.mjs +100 -290
  184. package/scripts/check-workspace-deps.cjs +141 -0
  185. package/scripts/half-built-scan.allow.json +142 -0
  186. package/scripts/half-built-scan.baseline.json +206 -0
  187. package/scripts/half-built-scan.mjs +275 -55
  188. package/scripts/kb-fingerprint-worker.cjs +28 -0
  189. package/scripts/kb-index-worker.cjs +27 -20
  190. package/scripts/kb-worker-ipc.cjs +34 -0
  191. package/scripts/purge-next-artifacts.cjs +70 -0
  192. package/scripts/verify-next-static.js +2 -2
  193. package/.next/server/chunks/299.js +0 -50
  194. package/.next/server/chunks/5547.js +0 -350
  195. package/.next/server/chunks/6087.js +0 -3
  196. package/.next/server/pages/api/jobs.js +0 -5
  197. package/.next/server/pages/api/jobs.js.nft.json +0 -1
  198. package/.next/server/pages/api/kb/evaluate.js +0 -10
  199. package/.next/server/pages/api/kb/evaluate.js.nft.json +0 -1
  200. package/.next/server/pages/api/kb/files/tree.js +0 -5
  201. package/.next/server/pages/api/kb/files/tree.js.nft.json +0 -1
  202. package/.next/server/pages/api/kb/intelligence.js +0 -1
  203. package/.next/server/pages/api/kb/search.js +0 -4
  204. package/.next/server/pages/api/kb/search.js.nft.json +0 -1
  205. package/.next/server/pages/api/kb/upload/progress.js +0 -5
  206. package/.next/server/pages/api/kb/upload/progress.js.nft.json +0 -1
  207. package/.next/static/4xQDkixSretJDM503EzIq/_buildManifest.js +0 -1
  208. package/.next/static/chunks/243-03eba51d5d737e98.js +0 -1
  209. package/.next/static/chunks/289-0cccd8131332e041.js +0 -78
  210. package/.next/static/chunks/422-46f07037c58d2309.js +0 -1
  211. package/.next/static/chunks/445-d12731f107978b10.js +0 -6
  212. package/.next/static/chunks/530-6f3f5848c6f702ae.js +0 -1
  213. package/.next/static/chunks/709-a7c652953ccd3b4b.js +0 -1
  214. package/.next/static/chunks/795-9e0cb0bb11e8c89f.js +0 -1
  215. package/.next/static/chunks/pages/canvas/[id]-515edd3e72acaf82.js +0 -1
  216. package/.next/static/chunks/pages/guide-7367305082617e3c.js +0 -1
  217. package/.next/static/chunks/pages/knowledge/file-detail-aee7c15541d1d130.js +0 -1
  218. package/.next/static/chunks/pages/knowledge-09dde24cdce1b195.js +0 -1
  219. package/.next/static/chunks/pages/models-8b96ba85131d5408.js +0 -1
  220. package/.next/static/chunks/pages/prompt-6a224562d194cb45.js +0 -1
  221. package/.next/static/chunks/pages/settings-0a7709bf039a2a4d.js +0 -1
  222. package/.next/static/chunks/pages/skills-3d77213c3e9ef0b5.js +0 -1
  223. package/.next/static/chunks/pages/system/logs-70790bee46e5a08d.js +0 -1
  224. package/.next/static/css/85c434f8fd3a17ae.css +0 -1
  225. /package/.next/static/{4xQDkixSretJDM503EzIq → 7819131dbd58574b80d0784549af250fc9b202d0e2317de83fe25857af834b79}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- "use strict";exports.id=6087,exports.ids=[6087],exports.modules={191:(a,b,c)=>{c.d(b,{cW:()=>q,hH:()=>r,mG:()=>u,wF:()=>p});var d=c(29021),e=c.n(d),f=c(21820),g=c.n(f),h=c(33873),i=c.n(h),j=c(55511),k=c.n(j);let l=i().join(g().homedir(),".customize-agent","logs"),m=i().join(l,"errors.jsonl"),n="errors-";function o(){try{return e().readdirSync(l).filter(a=>a.startsWith(n)&&a.endsWith(".jsonl")).sort().reverse()}catch{return[]}}function p(a){let{message:b,stack:c}=function(a){if(a instanceof Error)return{message:a.message,stack:a.stack};if("string"==typeof a)return{message:a};try{return{message:JSON.stringify(a)}}catch{return{message:String(a)}}}(a.error),d={id:`err_${Date.now()}_${k().randomBytes(4).toString("hex")}`,level:a.level||"error",source:a.source,functionName:a.functionName,message:b,stack:c,request:a.req?{method:a.req.method,url:a.req.url,query:a.req.query}:void 0,meta:a.meta,createdAt:Date.now()};try{e().mkdirSync(l,{recursive:!0}),function(){try{if(e().statSync(m).size<=2097152)return;e().renameSync(m,i().join(l,`${n}${Date.now()}.jsonl`)),function(){for(let a of o().slice(20))try{e().rmSync(i().join(l,a),{force:!0})}catch{}}()}catch{}}(),e().appendFileSync(m,`${JSON.stringify(d)}
2
- `)}catch(a){console.error("[errorLogService] failed to write error log",a)}return d}function q(a=200){let b=[m,...o().map(a=>i().join(l,a))],c=[];for(let d of b){if(c.length>=a)break;for(let b of(function(a){try{return e().readFileSync(a,"utf8").split("\n").filter(Boolean).flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}})}catch{return[]}})(d).reverse())if(c.push(b),c.length>=a)break}return c}function r(){let a=0;if(e().existsSync(m))try{e().rmSync(m,{force:!0}),a++}catch{}for(let b of o())try{e().rmSync(i().join(l,b),{force:!0}),a++}catch{}return a}let s=!1;function t(a,b,c,d=20){let e=0,f=0;return g=>{try{b(g);let h=Date.now();h-e>6e4&&(e=h,f=0),f<d&&(f+=1,c(a,g))}catch{}}}function u(){s||(s=!0,process.on("uncaughtException",t("uncaughtException",a=>p({source:"process",functionName:"uncaughtException",error:a}),(a,b)=>console.error(`[process] ${a}`,b))),process.on("unhandledRejection",t("unhandledRejection",a=>p({source:"process",functionName:"unhandledRejection",error:a}),(a,b)=>console.error(`[process] ${a}`,b))))}},16006:(a,b,c)=>{c.d(b,{j:()=>e});var d=c(191);function e(a,b){return async function(c,e){try{await b(c,e)}catch(g){let f=(0,d.wF)({source:a,functionName:b.name||"anonymous",error:g,req:c});console.error(`[${a}]`,f.id,g),e.headersSent||e.status(500).json({error:g instanceof Error?g.message:"Internal server error",requestId:f.id})}}}(0,d.mG)()},22328:(a,b,c)=>{c.d(b,{Fv:()=>H,Q6:()=>Q,WJ:()=>S,WW:()=>U,mm:()=>R,oy:()=>E,rN:()=>D,xv:()=>F});var d=c(73024),e=c(76760),f=c(48661),g=c(77416),h=c(78217),i=c(6444),j=c(85441),k=c(73859),l=c(32434),m=c(44533),n=c(38032),o=c(70610),p=c(52639),q=c(37126),r=c(76193),s=c(59424),t=c(15997),u=c(37047),v=c(18292),w=c(52890),x=c(45984),y=c(34680),z=c(22157),A=c(68023);class B extends Error{constructor(a,b,c){super(a),this.file=b,this.cause=c,this.name="RepairStoreError"}}function C(a,b){return e.join(b,`${a}.repairs.jsonl`)}function D(a,b,c){let f=C(a,c),g={v:1,t:Date.now(),request:b};try{d.mkdirSync(e.dirname(f),{recursive:!0}),d.appendFileSync(f,`${JSON.stringify(g)}
3
- `)}catch(b){throw new B(`修复请求落盘失败(节点/修复日志是唯一真相源,不得静默丢):${a}`,f,b)}}function E(a,b){let c,e=C(a,b);try{c=d.readFileSync(e,"utf8")}catch{return[]}let f=new Map;for(let a of c.split("\n"))if(a.trim())try{let b=JSON.parse(a);if(b?.v!==1||!b.request?.id)continue;f.set(b.request.id,b.request)}catch{continue}return[...f.values()].sort((a,b)=>a.id.localeCompare(b.id))}function F(a){return a.targetNodeId||a.localization?.accepted?a.transaction?/资料|证据|材料|知识库/u.test(a.impact?.reason||"")?"material-insufficient":(0,A.Un)(a.transaction.recheck.before,a.transaction.recheck.after)?"unclassified":"writing-capacity":a.execution&&!a.execution.available?"rerun-with-feedback"===a.execution.action?"detector-unwired":/不在本文档节点表内/u.test(a.execution.unavailableReason||"")?"unclassified":"detector-unwired":"unclassified":(a.localization?.candidates?.length??0)===0?"detector-missing":"detector-unwired"}class G extends Error{constructor(a,b,c){super(a),this.documentId=b,this.reason=c,this.name="ArchivedRepairContextError"}}function H(a){let b,c=(0,f.getGeneratedDocument)(a.documentId,a.projectRoot);if(a.projectRoot||(a={...a,projectRoot:c?.projectRoot??(0,m.aY)()}),!c)throw new G(`归档里没有这份文档:${a.documentId}`,a.documentId,"document-missing");let d=c.draft;if(!d)throw new G(`归档里没有 draft(事实模型/章草稿都没落盘):${a.documentId}`,a.documentId,"draft-missing");let e=c.promptIds??[];if(0===e.length)throw new G(`归档里没有提示词 id(promptIds)——复检要按生成时的规格跑,缺它无法复原(宁缺不假)`,a.documentId,"prompt-ids-missing");try{b=(0,n.iA)({promptIds:e,requirement:c.requirement||"",projectRoot:a.projectRoot||c.projectRoot||(0,m.aY)(),title:c.templateName})}catch(b){throw new G(`按归档自己的输入复原文档规格失败:${b instanceof Error?b.message:String(b)}`,a.documentId,"spec-not-rederivable")}let g=(0,n.TQ)(b);if(!d.factsModel)throw new G(`归档里没有事实模型(factsModel)——全量判据复检跑不起来`,a.documentId,"facts-model-missing");let h=[],i=c.requirement||"",j=new Map((g.chapters||[]).map(a=>[a.title,a])),k=(d.chapters||[]).map(a=>{let b=j.get(a.title);return{id:a.id,title:a.title,purpose:b?.purpose??"",queries:b?.queries??[],requiredFacts:b?.requiredFacts??[],sections:a.sections&&a.sections.length>0?a.sections:b?.sections,tablePlans:a.tablePlans??b?.tablePlans}});h.push("生效大纲(effectiveChapters)未归档:已由归档正文章节的 id/标题复原,同标题的再派生规格章补齐 purpose/queries/requiredFacts;大纲期补挂的承诺小节(四新等)若未落进正文章节,缺表/缺节类判据会与生成期不同");let l=void 0!==c.editedMarkdown?"editedMarkdown":"markdown",o=c[l]||c.markdown||"";return{options:a,record:c,template:g,requirement:i,promptIds:e,effectiveChapters:k,deliveredField:l,deliveredText:o,unavailableInputs:h}}async function I(a){let b=H(a),{record:c,template:d,requirement:e,effectiveChapters:f,unavailableInputs:g}=b,m=c.draft,n=a.materialsRoot||c.projectRoot||a.projectRoot,w=function(a){let b=a.record.draft?.agentWorkflow?.materialScope;if(b?.selectedFiles&&b.selectedFiles.length>0)return{selectedFiles:b.selectedFiles};let c=a.options.materialsRoot||a.record.projectRoot||a.options.projectRoot;return{selectedFiles:(0,l.ZR)(c,a.template,a.requirement).selectedFiles,note:"资料范围未随归档落盘(agentWorkflow.materialScope 缺失):已按模板+需求现场重解析——资料集与生成期可能不同"}}(b);w.note&&g.push(w.note);let x=function(a){let b=(0,o.dU)(a.promptIds);if(b.length>0)return{promptTexts:b.map(a=>a.content).join("\n\n")};let c=a.record.draft?.promptRules?.executionSummary;return c&&c.length>0?{promptTexts:c.join("\n"),note:"提示词资产已不可读(被删/改名):篇幅预算的提示词侧输入改用归档的 `promptRules.executionSummary`(生成期同一份规则抽取结果)复原"}:{promptTexts:"",note:"提示词资产已不可读且归档无规则抽取摘要:本次按规格估算篇幅预算"}}(b);x.note&&g.push(x.note);let y=(0,i.x)(d,e),A=(0,j.P)(n,{requirement:e,boundFilePaths:w.selectedFiles}),B=(0,k.$i)(d,e),C={...d,chapters:f},D=(0,h.tF)({requirement:e,promptTexts:x.promptTexts,template:C,chapters:f,spec:y.spec}),[E,F]=await Promise.all([(0,s.h)(),(0,t.e)()]),G=await (0,u.Mv)([],f.map(a=>a.title),a.embedDocuments),I=m.bidComposition;g.push("评分项要求模型(tenderRequirements)与评分细则(evaluationCriteriaItems)未归档:评分项响应/零响应类判据按「无评分项输入」运行,requirementsSimilarity 为恒零函数","一体化蓝图参数桶(blueprintData)未归档:蓝图引用冲突终检与项目类型一致性判据的目标名不可用(附表区不参与复检)","真值层裁决结果(truthValues)与口径冲突(scopeConflicts)未归档:口径一致性自检按「无裁决」运行","清单事实锁(billFactLock)与图纸事实锁(drawingFactLock)未归档:两类锁定的判据按缺省运行(不降级为阻断)","证据池本体(materialEvidence)未归档(归档只留证据与引用计数):日期溯源类判据空跑","答疑澄清修正账本(clarificationAmendments)未归档:修正前形态残留类判据空跑");let J=m.factsModel,K=m.structuredFacts||[],L=b.deliveredText,M=await (0,q.nX)({documentSpec:y.spec,validationIssues:m.validationIssues||[],factsModel:J,finalChapterDrafts:m.chapters||[],finalMarkdown:L,template:d,promptIds:b.promptIds,promptDocumentRules:m.promptRules,projectMaterialSummary:A,domainProfile:B,structuredFacts:K,documentBudget:D,effectiveChapters:f,requirementsSimilarity:G,factTokenScopeClassifier:E,professionalDepthClassifier:F,blueprintData:void 0,bodyTableForbidden:(0,p._C)(I),bodyFigureForbidden:(0,p.kO)(I),identityMarksForbidden:I?.identityMarksForbidden,coverForbidden:I?.formatRules?.cover==="forbidden"});m.promptRules||g.push("提示词文档规则(promptRules)未归档:规则类判据(固定标题/必需表格/禁用词)本次不可用");let N=(0,r.Jq)("full-validation");return{blocking:M.filter(a=>"error"===a.level||"blocker"===a.severity).length,entityPlacement:function(a,b){let c=(0,v.PP)(a||"");if(!c)return 0;let d=new Set,e=0;for(let a of b||[]){if(!a)continue;let b=(0,z.lG)(a.value).trim(),f=(0,v.Le)(b);if(!f||(0,v.rf)(`${a.key||""}${a.fieldName||""}${a.fieldId||""}`,b))continue;let g=(0,v.PP)(f);if(g.length<2||d.has(g))continue;d.add(g);let h=0;for(;;){let a=c.indexOf(g,h);if(a<0)break;e+=1,h=a+g.length}}return e}(L,[...K,...J?.preciseFacts||[]]),chars:(0,h.V7)(L),judges:{executed:N.executed,degraded:N.degraded,missing:N.declaredMissing,unavailableInputs:g,mode:"full"}}}let J=/^##(?!#)\s*\S/u;function K(a,b){let c=a.split("\n"),d=[],e=0;for(let a of c)d.push(e),e+=a.length+1;let f=c.map((a,c)=>!function(a,b){if(!/^#{1,3}\s+\S/u.test(a))return!1;let c=a.replace(/^#{1,3}\s*/u,"").replace(/^第[一二三四五六七八九十百零〇\d]{1,4}[章节][、..::]?\s*/u,"").replace(/\s+/gu,""),d=b.replace(/\s+/gu,"");return!!d&&(c===d||c.startsWith(d))}(a,b)?-1:c).filter(a=>a>=0);if(0===f.length)throw Error(`交付正文里找不到目标章的标题行(该章可能未进入终稿正文):${b}`);if(f.length>1)throw Error(`交付正文里有 ${f.length} 处标题行都匹配「${b}」,无法确定改哪一处——不做猜测`);let g=f[0],h=-1;for(let a=g+1;a<c.length;a+=1)if(J.test(c[a])){h=a;break}return{start:d[g],end:h>=0?d[h]:a.length}}function L(a,b=40){let c=a.replace(/\s+/gu," ").trim();return c.length>b?`${c.slice(0,b)}…`:c}function M(a,b){let c=(0,x.l)(b,a);if(c.length>0)throw Error(`补丁被确定性缺陷预检拒绝(人修通道按 enforce 处置,11.2):${c.join("、")}`)}function N(a){let{text:b,patch:c}=a;if(c.append){let d=(0,y.ZA)({content:b,anchor:c.anchor,replacement:c.replacement,title:a.title,forbidDrawingImages:a.forbidDrawingImages});if(!d.applied)throw Error("追加式补丁未落地:锚点未命中或追加内容被结构守卫拒绝(**不做静默无操作**)");return O(b,d.content),d.content}let d=b.indexOf(c.anchor);if(d<0)throw Error(`补丁锚点在目标正文里找不到(逐字匹配,不做模糊回退):${L(c.anchor)}`);if(c.endText){let a=b.indexOf(c.endText,d+c.anchor.length);if(a<0)throw Error(`区间补丁的结束锚点在起始锚点之后找不到:${L(c.endText)}`);M(b.slice(d,a+c.endText.length),c.replacement);let e=b.slice(0,d)+c.replacement+b.slice(a+c.endText.length);return O(b,e),e}M(c.anchor,c.replacement);let e=b.split(c.anchor).join(c.replacement);return O(b,e),e}function O(a,b){if((0,h.V7)(b)<Math.floor(.65*(0,h.V7)(a)))throw Error("补丁会让目标正文缩短超过 35%(守卫口径同 rolePipeline.ts:355):定点补丁不做整段删除,请拆成多处小改动或改走重写通道")}function P(a){let b,{context:c,targetNodeId:d,patch:e}=a,f=c.record.draft?.chapters||[],g=f.findIndex(a=>a.id===d);if(g<0)throw Error(`目标节点不在本文档节点表内(也不按 id 形态猜一个):${d}`);let h=f[g],i=(0,p.kO)(c.record.draft?.bidComposition),j=K(c.deliveredText,h.title),k=c.deliveredText.slice(j.start,j.end),l=[{kind:"chapter",before:h.content,after:N({text:h.content,title:h.title,patch:e,forbidDrawingImages:i})},{kind:"delivered",before:k,after:N({text:k,title:h.title,patch:e,forbidDrawingImages:i})}],m=c.record.draft?.markdown;if("string"==typeof m&&m.length>0)try{let a=K(m,h.title),c=m.slice(a.start,a.end);c===k?l.push({kind:"draftMarkdown",before:c,after:N({text:c,title:h.title,patch:e,forbidDrawingImages:i})}):b="归档草稿快照(draft.markdown)与交付正文的该章区段不同(用户编辑过或装配改写),未同步改写——它只是降级显示源,不参与判据与交付"}catch(a){b=`归档草稿快照(draft.markdown)里该章标题行不可定位(${a instanceof Error?a.message:String(a)}),未同步改写`}else b="归档里没有 draft.markdown(旧记录),无需同步";return{nodeId:d,chapterIndex:g,chapterTitle:h.title,targets:l,skippedDraftMarkdownBecause:b}}function Q(a){var b;let c=H({documentId:a.documentId,projectRoot:a.projectRoot,materialsRoot:a.materialsRoot,embedDocuments:a.embedDocuments}),d=c.options.projectRoot,e={...c.options,projectRoot:d},g=function(a){let b=a.draft?.agentWorkflow?.nodes,c=Array.isArray(b)?b.filter(a=>/block/i.test(String(a?.type||""))).map(a=>String(a.id)):[];return{chapterIds:(a.draft?.chapters||[]).map(a=>a.id),...c.length>0?{blockIds:c}:{}}}(c.record),i=(b={request:a.request,index:g,patchHandleAvailable:!0},(0,A.bo)({nodeKind:b.request.targetNodeId?(0,A._B)(b.request.targetNodeId,b.index):void 0,explicitPatch:!!b.request.patch,rerunHandleAvailable:!0===b.rerunHandleAvailable,patchHandleAvailable:b.patchHandleAvailable}));return{request:a.request,execution:i,snapshot:async()=>(0,f.BT)(a.documentId,d).hash,apply:async()=>{if(!a.request.patch)throw Error("归档态执行体只实现「用户显式定点补丁」:请求没有 patch 却被判为可执行(execution 契约被破坏)");return function(a){let b=P(a),c=(0,f.getGeneratedDocument)(a.context.options.documentId,a.context.options.projectRoot);if(!c)throw new G(`落盘前文档已不在归档:${a.context.options.documentId}`,a.context.options.documentId,"document-missing");let d=c.draft?.chapters||[],e=d[b.chapterIndex];if(!e||e.id!==b.nodeId)throw new G("落盘前归档已被改动(章序变了)——本次不写,避免把补丁打到别的章上",a.context.options.documentId,"chapter-shifted");let g=b.targets.find(a=>"chapter"===a.kind),i=b.targets.find(a=>"delivered"===a.kind),j=b.targets.find(a=>"draftMarkdown"===a.kind),k=K(a.context.deliveredText,e.title),l=a.context.deliveredText.slice(0,k.start)+i.after+a.context.deliveredText.slice(k.end),m=a.context.deliveredField,n=d.map((a,c)=>c===b.chapterIndex?{...a,content:g.after}:a),o=[`已改:章正文(draft.chapters[${b.chapterIndex}].content)与交付正文(${m})该章区段`,j?"归档草稿快照(draft.markdown)同区段已同步改写":`未改 draft.markdown:${b.skippedDraftMarkdownBecause}`];return(0,f.Yf)({...c,[m]:l,draft:c.draft?{...c.draft,chapters:n,...j?{markdown:function(a,b,c){let d=K(a,b);return a.slice(0,d.start)+c.after+a.slice(d.end)}(c.draft.markdown,e.title,j)}:{}}:c.draft},a.context.options.projectRoot),{nodeId:b.nodeId,beforeChars:(0,h.V7)(e.content),afterChars:(0,h.V7)(g.after),note:o.join(";")}}({context:H(e),targetNodeId:a.request.targetNodeId,patch:a.request.patch})},rollback:async b=>{(0,f.x7)(a.documentId,b,d)},recheckAll:()=>I(e),analyzeImpact:async()=>a.request.patch&&a.request.targetNodeId?function(a){let b=P(a),c=b.targets.find(a=>"delivered"===a.kind),d=[...new Set((0,w.Iu)([...a.context.record.draft?.structuredFacts||[],...a.context.record.draft?.factsModel?.preciseFacts||[]]).filter(a=>["project_name","project_code","owner"].includes(a.key)).map(a=>a.value.replace(/\s+/gu,"")))].filter(a=>a.length>=4),e=(a,b)=>{let c=a.replace(/\s+/gu,""),d=0,e=0;for(;;){let a=c.indexOf(b,e);if(a<0)break;d+=1,e=a+b.length}return d},f=d.filter(a=>e(c.before,a)!==e(c.after,a));if(f.length>0)return{affectedNodeIds:[b.nodeId],class:"pollution",reason:`本次改动增删改了项目身份值(${f.slice(0,3).map(a=>L(a,20)).join("、")})所在处:跨文档的标题指纹池/命名多样性改了就回不去`};let g=(a.context.record.draft?.chapters||[]).filter(a=>a.id!==b.nodeId).map(a=>a.content).join("\n"),h=/\d{2,}(?:\.\d+)?/gu,i=[...new Set(c.before.match(h)||[])],j=new Set(c.after.match(h)||[]),k=i.filter(a=>!j.has(a)&&g.includes(a));return k.length>0?{affectedNodeIds:[b.nodeId],class:"propagating",reason:`改动移除了 ${k.length} 个同时出现在其他章的数值(${k.slice(0,8).join("、")}):跨章数值一致性需要连带核对(本次只改目标节点,复检会重算)`}:{affectedNodeIds:[b.nodeId],class:"local",reason:"改动落在目标章内:未移除跨章共享数值、未触及项目身份值(其余五条 11.1 依赖由复检重算兜底)"}}({context:c,targetNodeId:a.request.targetNodeId,patch:a.request.patch}):{affectedNodeIds:a.request.targetNodeId?[a.request.targetNodeId]:[],class:"local",reason:"无显式补丁:影响面由重跑句柄负责(归档态不提供)"}}}function R(a){let b=function(a){let b=[];for(let c of a.matchAll(/[「『“"《【]([^」』”"》】]{2,})[」』”"》】]/gu))b.push(c[1].trim());for(let c of a.matchAll(/[0-9A-Za-z一-龥][0-9A-Za-z一-龥0-9.-]{2,}/gu))b.push(c[0].trim());return[...new Set(b.filter(a=>a.length>=4))]}(a.userMessage);if(0===b.length)return{method:"literal-search",candidates:[]};let c=a.context.record.draft?.chapters||[],d=[];for(let e of c){let c,f=0,g="",h=!1;try{c=K(a.context.deliveredText,e.title)}catch{c=void 0}let i=c?a.context.deliveredText.slice(c.start,c.end):"";for(let a of b){let b=e.title.includes(a);b&&(h=!0);let c=e.content.split(a).length-1,d=i.split(a).length-1,j=a.length*(c+d+ +!!b);if(j>0&&!g){let b=e.content.indexOf(a)>=0?e.content.indexOf(a):Math.max(0,i.indexOf(a));g=function(a,b,c){let d=Math.max(0,b-20),e=Math.min(a.length,b+c+20);return L(a.slice(d,e),40+c+2)}(e.content.indexOf(a)>=0?e.content:i,b,a.length)}f+=j}f>0&&d.push({nodeId:e.id,score:f,excerpt:g,titleHit:h})}d.sort((a,b)=>b.score-a.score||a.nodeId.localeCompare(b.nodeId));let e=d.slice(0,5);return{method:e[0]?.titleHit?"node-mention":"literal-search",candidates:e.map(({nodeId:a,score:b,excerpt:c})=>({nodeId:a,score:b,excerpt:c}))}}function S(a){let b=a.request.localization?.accepted;if(!a.documentEntry||!b)return;let{candidates:c}=R({context:a.context,userMessage:a.request.userMessage});if(!c.some(a=>a.nodeId===b))throw Error(`定位已漂移:确认的目标节点 ${b} 在当前正文里不再是候选(文档在创建请求与确认之间被改过)。候选已重算为 [${c.map(a=>a.nodeId).join("、")||"空"}]——请重新确认定位后再动手(不得照旧执行到已不存在的落点)。`)}function T(a){let{request:b,at:c}=a,d=b.transaction?.recheck,e={at:c,requestId:b.id,nodeId:b.targetNodeId,nodeKind:b.transaction?.nodeKind,action:b.transaction?.action,actionSource:b.transaction?.actionSource,userMessage:b.userMessage,localization:{method:b.localization?.method,candidateCount:b.localization?.candidates?.length??0,acceptedNodeId:b.localization?.accepted},changes:(b.transaction?.changes||[]).map(a=>({nodeId:a.nodeId,beforeChars:a.beforeChars,afterChars:a.afterChars})),outcome:b.outcome||"unfixable",attribution:F(b),impactClass:b.impact?.class,notExecutedReason:b.notExecutedReason};return d&&(e.netEffect={blocking:[d.before.blocking,d.after.blocking],entityPlacement:[d.before.entityPlacement,d.after.entityPlacement],chars:[d.before.chars,d.after.chars]}),e}function U(a,b){return(0,g.ZS)((function(a,b){let c,e=C(a,b);try{c=d.readFileSync(e,"utf8")}catch{return[]}let f=new Map;for(let a of c.split("\n"))if(a.trim())try{let b=JSON.parse(a);if(b?.v!==1||!b.request?.id)continue;f.set(b.request.id,{at:b.t,request:b.request})}catch{continue}return[...f.values()].sort((a,b)=>a.at-b.at||a.request.id.localeCompare(b.request.id))})(a,b).map(T))}},68023:(a,b,c)=>{function d(a,b){return!(b.blocking>=a.blocking)&&!(b.entityPlacement<a.entityPlacement)&&(!(a.chars>0)||!(b.chars<.9*a.chars))}function e(a,b){return b.chapterIds.includes(a)?"writing-chapter":b.blockIds?.includes(a)?"writing-block":b.detectorIds?.includes(a)?"deterministic":void 0}c.d(b,{Un:()=>d,_B:()=>e,bo:()=>g,de:()=>h});let f={"writing-chapter":{action:"rerun-with-feedback",why:"章写作节点的默认动作是带反馈重跑:补丁只能做局部文本手术——不能改结构、不能重新取证、不能重分配篇幅(4.4 的硬边界)。"},"writing-block":{action:"rerun-with-feedback",why:"块写作节点的默认动作是带反馈重跑:篇幅区间/事实密度/模板化是块级写作约束,补丁改不动它们的成因。"},deterministic:{action:"targeted-patch",why:"确定性处理节点(检测器/修复轮/清洗步骤)本来就是确定性的——定点补丁就是它的执行方式。"}};function g(a){if(!a.nodeKind)return{nodeKind:"deterministic",action:"targeted-patch",actionSource:"default",available:!1,reason:"目标节点不在本文档节点表内",unavailableReason:"目标节点不在本文档节点表内(也不按 id 形态猜一个)——11.4 的第一道闸是定位,不是「找个地方改下去」。"};let b=f[a.nodeKind],c=a.explicitPatch?"explicit-patch":"default",d=a.explicitPatch?"targeted-patch":b.action;return("rerun-with-feedback"===d?!0===a.rerunHandleAvailable:!0===a.patchHandleAvailable)?{nodeKind:a.nodeKind,action:d,actionSource:c,available:!0,reason:"explicit-patch"===c?`用户显式给定定点补丁 → 按定点补丁执行(注意:${b.why})`:b.why}:{nodeKind:a.nodeKind,action:d,actionSource:c,available:!1,reason:b.why,unavailableReason:"rerun-with-feedback"===d?`「带反馈重跑」需要生成会话句柄(工具层的 \`ToolContext.repairRounds\`,运行时接线目标见 services/agent/toolRegistry.ts:231 的 \`RepairRoundCapability\`)——归档态没有会话,故本次不可执行。补丁**不能**顶替它:${b.why}`:"定点补丁句柄不可用:正文不可写或快照不可回滚(无快照即无净效果回滚,宁可不动手)。"}}async function h(a){let b,c,e={...a.request,outcome:"unfixable"};a.execution&&(e.execution=a.execution);let f=a=>(e.outcome="unfixable",e.notExecutedReason=a,e),g=!!(e.targetNodeId||e.localization?.accepted);if(!g)return f("定位未确认:@文档 / 自然语言入口必须先给定位方案并交用户确认(11.4)。");if(a.execution&&!a.execution.available)return f(a.execution.unavailableReason??a.execution.reason);a.analyzeImpact&&(e.impact=await a.analyzeImpact());let h=e.impact?.class;if(e.impact?.class==="pollution")return f(`影响面判为跨文档污染(**不可回滚**):${e.impact.reason} 这类改动须交人裁决(要么重新校准,要么放弃本次改动)——故未拍快照、未改正文。`);let i=await a.snapshot();try{b=await a.recheckAll()}catch(a){return f(`复检基线不可用(应用前复检失败,未做任何正文改动):${a instanceof Error?a.message:String(a)}`)}let j=await a.apply(),k=j?Array.isArray(j)?[...j]:[j]:[];try{c=await a.recheckAll()}catch(c){await a.rollback(i);let b=k.length>0?`实际改动(已回滚):${k.map(a=>`${a.nodeId} ${a.beforeChars}→${a.afterChars} 字`).join("、")}。`:"应用阶段未回报改动凭据。";return f(`应用后复检失败,改动已回滚(无法判定净效果,故不提交):${c instanceof Error?c.message:String(c)} ${b}`)}let l=function(a){if(!a.localized)return{outcome:"unfixable",reason:"定位失败:未找到目标节点。**不得改别处充数**(11.4:定位错会改错地方,且会被记录成成功)。需先给定位方案并交用户确认。"};if(a.contradictoryVerdicts)return{outcome:"unfixable",reason:"判据内部矛盾:两条判据对同一文本结论相反。这不是文本的问题,是判据的问题——须升级到 C 级交人裁决(A5.3)。"};if(a.pollutionUnrollbackable)return{outcome:"unfixable",reason:"跨文档污染且不可回滚(改标题/事实/命名会污染标题指纹池与命名多样性):**要么回滚,要么重新校准**,没有第三条路——须交人决定。"};let b=a.coverageNote?` ⚠️ ${a.coverageNote}`:"";return d(a.before,a.after)?a.after.blocking>0?{outcome:"partial",reason:`净改善但仍有 ${a.after.blocking} 条阻断未清除(已提交本轮修改;残余由终门禁照常复核)${b}`}:{outcome:"fixed",reason:`全量判据复检净改善且阻断清零${b}`}:{outcome:"rolled-back",reason:`未获净改善,已回滚:阻断 ${a.before.blocking}→${a.after.blocking}、实体落位 ${a.before.entityPlacement}→${a.after.entityPlacement}、字数 ${a.before.chars}→${a.after.chars}(三条同时成立才算改善:阻断显著下降 + 实体不下降 + 字数不塌)${b}`}}({before:b,after:c,localized:g,contradictoryVerdicts:!!a.detectContradictoryVerdicts&&await a.detectContradictoryVerdicts(),pollutionUnrollbackable:"pollution"===h,coverageNote:function(a){let b=a.judges;if(!b)return"本次复检**未附判据台账**(复检实现未回报执行了哪些判据)——「全量」无法自证,此结论只在能自证时可信。";let c=[];if(b.degraded.length>0&&c.push(`${b.degraded.length} 条判据执行失败降级(${b.degraded.join("、")})`),b.missing.length>0&&c.push(`${b.missing.length} 条声明的判据本次未执行(${b.missing.join("、")})`),b.unavailableInputs.length>0&&c.push(`以下生成期输入在归档态取不到,对应判据为空跑:${b.unavailableInputs.join(";")}`),0!==c.length)return`复检覆盖不全(执行 ${b.executed.length} 条):${c.join(";")}。`}(c)});return e.transaction={snapshotHash:i,changes:k,recheck:{before:b,after:c},action:a.execution?.action,nodeKind:a.execution?.nodeKind,actionSource:a.execution?.actionSource,notExecutedReason:"rolled-back"===l.outcome?l.reason:void 0},e.outcome=l.outcome,"rolled-back"===l.outcome&&(await a.rollback(i),e.transaction.notExecutedReason=l.reason),e}}};
@@ -1,5 +0,0 @@
1
- "use strict";(()=>{var a={};a.id=5663,a.ids=[5663],a.modules={19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},37095:(a,b,c)=>{c.d(b,{CU:()=>u,H7:()=>t,JB:()=>q,Qf:()=>n,kW:()=>r,oy:()=>o,sn:()=>s,wG:()=>p});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,b){let c=h(a);d.mkdirSync(f.dirname(c),{recursive:!0});let e=`${c}.${process.pid}.${Date.now()}.tmp`;d.writeFileSync(e,`${(function(a){if(a.length<=200)return a;let b=new Set([...a].sort((a,b)=>b.updatedAt-a.updatedAt).slice(0,200).map(a=>a.id));return a.filter(a=>b.has(a.id))})(b).map(a=>JSON.stringify(a)).join("\n")}
2
- `,"utf8"),d.renameSync(e,c);let g=k.get(a);g&&(g.mtimeMs=l(c))}let j=Math.round(Date.now()-1e3*process.uptime()),k=new Map;function l(a){try{return d.statSync(a).mtimeMs}catch{return 0}}function m(a){let b=h(a),c=l(b),e=k.get(a);if(e&&e.mtimeMs===c)return e.records;let f=function(a){let b=function(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[]}}):[]}(a),c=b.filter(a=>"processing"===a.status&&a.updatedAt<j);if(c.length>0){let d=Date.now();for(let a of c)a.status="error",a.stage="error",a.error="服务重启导致任务中断,未完成",a.message=a.error,a.updatedAt=d;i(a,b)}return b}(a);return k.set(a,{mtimeMs:l(b),records:f}),f}function n(a,b){let c=Date.now(),d=m(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.status&&"error"!==b.status?void 0:b.error??f?.error,details:b.details??f?.details,createdAt:f?.createdAt??c,updatedAt:c};return e>=0?d[e]=g:d.push(g),i(a,d),g}function o(a,b=50){return m(a).sort((a,b)=>b.updatedAt-a.updatedAt).slice(0,b)}function p(a,b){return m(a).filter(a=>a.id.startsWith(b))}function q(a,b){return m(a).find(a=>a.id===b)}function r(a,b){return m(a).filter(a=>!b||a.type===b).sort((a,b)=>b.updatedAt-a.updatedAt)[0]}function s(a){return m(a).filter(a=>"processing"===a.status).sort((a,b)=>b.updatedAt-a.updatedAt)}function t(a){let b=m(a),c=h(a);return d.existsSync(c)&&d.unlinkSync(c),k.delete(a),b.length}function u(a,b){let c=m(a),d=c.findIndex(a=>a.id===b);return!(d<0)&&(c.splice(d,1),i(a,c),!0)}},44533:(a,b,c)=>{c.d(b,{K_:()=>n,NW:()=>j,VS:()=>p,Yy:()=>o,a2:()=>i,aY:()=>m,getMultiProjectManager:()=>k});var d=c(19898),e=c(33873),f=c(21820),g=c(29021);let h=null;function i(){return e.join(f.homedir(),".customize-agent")}function j(a){return(0,d.getProjectKbPath)(e.resolve(a))}function k(){return h||(h=new d.MultiProjectManager(i())),h}function l(a){let b=e.resolve(a),c=e.resolve(e.join(f.homedir(),".customize-agent"));return!(g.existsSync(e.join(b,"pnpm-workspace.yaml"))&&g.existsSync(e.join(b,"apps","server")))&&(b===c||b.includes(`${e.sep}.customize-agent${e.sep}`)||b.endsWith(`${e.sep}apps${e.sep}server`)||b.endsWith(`${e.sep}apps${e.sep}cli`))}function m(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&g.existsSync(a)&&!l(a))return e.resolve(a);let b=function(){let a=e.join(i(),"projects","registry.db");if(!g.existsSync(a))return[];let b=new((0,d.loadBetterSqlite3)())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>e.resolve(a.project_root)).filter(a=>!l(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!l(process.env.INIT_CWD)?process.env.INIT_CWD:e.resolve(process.cwd(),"../..")}function n(a){if(a){let b=e.resolve(a);return g.existsSync(b)&&!l(b)?b:null}return m()}function o(a,b={}){let c=new Map;for(let b of function(a){let b=e.join(f.homedir(),".customize-agent","projects",(0,d.computeProjectId)(e.resolve(a)),"kb.db");if(!g.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=j(a);if(!g.existsSync(b))return[];let c=[],d=a=>{for(let f of g.readdirSync(a,{withFileTypes:!0})){let h=e.join(a,f.name);if(f.isDirectory()){d(h);continue}if(f.name.endsWith(".source.txt"))continue;let i=g.statSync(h),j=e.relative(b,h).split(e.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:e.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:i.size,mtime:i.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 k().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}}},70353:(a,b,c)=>{c.r(b),c.d(b,{config:()=>o,default:()=>n,handler:()=>q});var d={};c.r(d),c.d(d,{default:()=>k});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(44533),j=c(37095);function k(a,b){if("GET"!==a.method)return b.status(405).json({error:"Method not allowed"});try{let c=a.query.projectRoot||(0,i.aY)();if(!c)return b.status(200).json({jobs:[]});let d="1"===a.query.active||"true"===a.query.active,e=Number(a.query.limit??50),f=d?(0,j.sn)(c):(0,j.oy)(c,Number.isFinite(e)?e:50);return b.status(200).json({jobs:f})}catch(a){return console.error("[api] jobs",a),b.status(500).json({error:"Internal server error"})}}var l=c(68970),m=c(50296);let n=(0,h.M)(d,"default"),o=(0,h.M)(d,"config"),p=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/jobs",pathname:"/api/jobs",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/jobs"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,l.getTracer)(),e=d.getActiveScopeSpan(),j=p.instrumentationOnRequestError.bind(p),k=async e=>p.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:p.isDev,page:"/api/jobs",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())}}},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")}};var b=require("../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705],()=>b(b.s=70353));module.exports=c})();
@@ -1 +0,0 @@
1
- {"version":1,"files":["../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/package.json","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.stat","../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/run-parallel","../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.js","../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.js","../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js","../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js","../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js","../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/package.json","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.scandir","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/package.json","../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/fastq","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/package.json","../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/bindings","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/index.js","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/compile.js","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/constants.js","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/expand.js","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/parse.js","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/stringify.js","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/utils.js","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/package.json","../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/fill-range","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/@nodelib/fs.stat","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/@nodelib/fs.walk","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/index.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/managers/tasks.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/async.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/deep.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/error.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/matcher.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/partial.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/stream.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/sync.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/transformers/entry.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/async.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/stream.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/sync.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/settings.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/errno.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/fs.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/index.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/stream.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/string.js","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/package.json","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/glob-parent","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/merge2","../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/micromatch","../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/fastq/package.json","../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/fastq/queue.js","../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/reusify","../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/index.js","../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/package.json","../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/to-regex-range","../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.js","../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/package.json","../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/is-glob","../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/bindings","../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/build/Release/addon.node","../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/lib/index.js","../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/package.json","../../../../../../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.js","../../../../../../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/package.json","../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-extglob","../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.js","../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/package.json","../../../../../../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.js","../../../../../../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/package.json","../../../../../../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.js","../../../../../../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/package.json","../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/braces","../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/index.js","../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/package.json","../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/picomatch","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/index.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/package.json","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/index.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/package.json","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/constants.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/package.json","../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/index.js","../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/constants.js","../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/parse.js","../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/picomatch.js","../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/scan.js","../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/utils.js","../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/package.json","../../../../../../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.js","../../../../../../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/package.json","../../../../../../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/package.json","../../../../../../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/reusify.js","../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/queue-microtask","../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js","../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/package.json","../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/is-number","../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.js","../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/package.json","../../../../../../packages/knowledge/dist/chunking/bge-tokenizer.js","../../../../../../packages/knowledge/dist/chunking/text-chunker.js","../../../../../../packages/knowledge/dist/classification/classifier.js","../../../../../../packages/knowledge/dist/cleaning/text-cleaner.js","../../../../../../packages/knowledge/dist/constants.js","../../../../../../packages/knowledge/dist/core/change-tracker.js","../../../../../../packages/knowledge/dist/core/file-scanner.js","../../../../../../packages/knowledge/dist/core/index-runner.js","../../../../../../packages/knowledge/dist/core/index-state-store.js","../../../../../../packages/knowledge/dist/core/knowledge-base-manager.js","../../../../../../packages/knowledge/dist/core/material-pack.js","../../../../../../packages/knowledge/dist/core/multi-project-manager.js","../../../../../../packages/knowledge/dist/core/project-config.js","../../../../../../packages/knowledge/dist/core/project-id.js","../../../../../../packages/knowledge/dist/core/project-registry.js","../../../../../../packages/knowledge/dist/core/sqlite-loader.js","../../../../../../packages/knowledge/dist/dedup/dedup-engine.js","../../../../../../packages/knowledge/dist/dedup/relationship-detector.js","../../../../../../packages/knowledge/dist/embedding/embedding-provider.js","../../../../../../packages/knowledge/dist/embedding/local-reranker.js","../../../../../../packages/knowledge/dist/embedding/rerank-worker-thread.js","../../../../../../packages/knowledge/dist/extraction/content-extractor.js","../../../../../../packages/knowledge/dist/extraction/external-extractor.js","../../../../../../packages/knowledge/dist/extraction/module-resolver.js","../../../../../../packages/knowledge/dist/extraction/ocr-providers.js","../../../../../../packages/knowledge/dist/extraction/ocr-tiling.js","../../../../../../packages/knowledge/dist/extraction/office-embedded-images.js","../../../../../../packages/knowledge/dist/extraction/paddle-model-select.js","../../../../../../packages/knowledge/dist/extraction/parser-version.js","../../../../../../packages/knowledge/dist/extraction/table-header-detect.js","../../../../../../packages/knowledge/dist/extraction/text-encoding.js","../../../../../../packages/knowledge/dist/index.js","../../../../../../packages/knowledge/dist/materials/authority.js","../../../../../../packages/knowledge/dist/materials/cad-entities.js","../../../../../../packages/knowledge/dist/materials/clause-model.js","../../../../../../packages/knowledge/dist/materials/normalize.js","../../../../../../packages/knowledge/dist/materials/table-model.js","../../../../../../packages/knowledge/dist/materials/types.js","../../../../../../packages/knowledge/dist/search/federation-search.js","../../../../../../packages/knowledge/dist/tools/index.js","../../../../../../packages/knowledge/dist/tools/inventory.js","../../../../../../packages/knowledge/dist/tools/knowledgeTools.js","../../../../../../packages/knowledge/dist/vector/collection-manager.js","../../../../../../packages/knowledge/dist/vector/hnsw-vector-store.js","../../../../../../packages/knowledge/dist/vector/vector-indexer.js","../../../../../../packages/knowledge/node_modules/better-sqlite3","../../../../../../packages/knowledge/node_modules/fast-glob","../../../../../../packages/knowledge/node_modules/hnswlib-node","../../../../../../packages/knowledge/package.json","../../../../node_modules/@customize-agent/knowledge","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/9705.js","../../webpack-api-runtime.js"]}
@@ -1,10 +0,0 @@
1
- "use strict";(()=>{var a={};a.id=2182,a.ids=[2182],a.modules={19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},44533:(a,b,c)=>{c.d(b,{K_:()=>n,NW:()=>j,VS:()=>p,Yy:()=>o,a2:()=>i,aY:()=>m,getMultiProjectManager:()=>k});var d=c(19898),e=c(33873),f=c(21820),g=c(29021);let h=null;function i(){return e.join(f.homedir(),".customize-agent")}function j(a){return(0,d.getProjectKbPath)(e.resolve(a))}function k(){return h||(h=new d.MultiProjectManager(i())),h}function l(a){let b=e.resolve(a),c=e.resolve(e.join(f.homedir(),".customize-agent"));return!(g.existsSync(e.join(b,"pnpm-workspace.yaml"))&&g.existsSync(e.join(b,"apps","server")))&&(b===c||b.includes(`${e.sep}.customize-agent${e.sep}`)||b.endsWith(`${e.sep}apps${e.sep}server`)||b.endsWith(`${e.sep}apps${e.sep}cli`))}function m(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&g.existsSync(a)&&!l(a))return e.resolve(a);let b=function(){let a=e.join(i(),"projects","registry.db");if(!g.existsSync(a))return[];let b=new((0,d.loadBetterSqlite3)())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>e.resolve(a.project_root)).filter(a=>!l(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!l(process.env.INIT_CWD)?process.env.INIT_CWD:e.resolve(process.cwd(),"../..")}function n(a){if(a){let b=e.resolve(a);return g.existsSync(b)&&!l(b)?b:null}return m()}function o(a,b={}){let c=new Map;for(let b of function(a){let b=e.join(f.homedir(),".customize-agent","projects",(0,d.computeProjectId)(e.resolve(a)),"kb.db");if(!g.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=j(a);if(!g.existsSync(b))return[];let c=[],d=a=>{for(let f of g.readdirSync(a,{withFileTypes:!0})){let h=e.join(a,f.name);if(f.isDirectory()){d(h);continue}if(f.name.endsWith(".source.txt"))continue;let i=g.statSync(h),j=e.relative(b,h).split(e.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:e.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:i.size,mtime:i.mtimeMs,chunkCount:0,collectionName:"",indexedAt:0,lastVerifiedAt:0,status:"disk",matchedBy:"disk"})}};return d(b),c}(a)){let a=c.get(b.relativePath);c.set(b.relativePath,a?{...a,fileSize:b.fileSize,mtime:b.mtime,matchedBy:"metadata"}:b)}return Array.from(c.values()).filter(a=>!b.category||a.category===b.category).sort((a,b)=>b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN"))}async function p(a,b={}){let c=(b.query||"").trim(),d=Math.max(1,Math.min(500,b.limit??50)),e=new Map,f=o(a,{category:b.category});for(let a of f)(!c||`${a.relativePath}
2
- ${a.category}
3
- ${a.format}
4
- ${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 k().search(a,c,{limit:Math.max(20,d)})).results){let a=b.filePath,c=e.get(a)||f.find(b=>b.relativePath===a);e.set(a,{...c||{relativePath:a,category:"content",format:"knowledge",fileSize:0,mtime:0,chunkCount:0,indexedAt:0,lastVerifiedAt:0,status:"active"},matchedBy:"content",score:b.score})}}catch{}let g=Array.from(e.values()).sort((a,b)=>{let c=a=>"content"===a.matchedBy?3:"path"===a.matchedBy?2:+("metadata"===a.matchedBy);return c(b)-c(a)||(b.score??0)-(a.score??0)||b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN")});return{files:g.slice(0,d),total:g.length}}},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},87926:(a,b,c)=>{c.r(b),c.d(b,{config:()=>B,default:()=>A,handler:()=>D});var d={};c.r(d),c.d(d,{default:()=>x});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(44533);function j(a){return a.toLowerCase().replace(/\s+/gu,"").trim()}function k(a){return a.split("\\").join("/").toLowerCase()}function l(a){return[...new Set(a.map(a=>a.trim()).filter(Boolean))]}function m(a){return Math.round(1e4*a)/1e4}function n(a){return a.reduce((a,b,c)=>a+b/Math.log2(c+2),0)}function o(a,b){let c=k(a);return b.some(a=>{let b=k(a);return c===b||c.endsWith(b)||b.endsWith(c)})}async function p(a,b){let c=l([...a.filePaths||[],...b?.filePaths||[]]),d=l([...a.filePathPrefixes||[],...b?.filePathPrefixes||[]]).map(k);return 0===d.length?c:l([...c,...(await (0,i.getMultiProjectManager)().getProject(a.projectRoot)).listFiles().map(a=>a.relativePath).filter(a=>d.some(b=>k(a).startsWith(b)))])}let q=[{label:"项目名称",regex:/(?:招标项目名称|项目名称|工程名称)[::\s|]*([^。;;\n|]{4,80})/gu,query:a=>`${a} 项目名称 工程名称`},{label:"招标人",regex:/(?:招标人|项目业主|建设单位)[::\s|]*([^。;;\n|]{4,80})/gu,query:a=>`${a} 招标人 建设单位 项目业主`},{label:"建设地点",regex:/(?:建设地点|工程地点|项目地点)[::\s|]*([^。;;\n|]{4,120})/gu,query:a=>`${a} 建设地点 项目地点`},{label:"资金来源",regex:/(?:资金来源|资金落实情况)[::\s|]*([^。;;\n|]{2,80})/gu,query:a=>`${a} 资金来源`},{label:"出资比例",regex:/(?:出资比例|项目出资比例)[::\s|]*([^。;;\n|]{2,80})/gu,query:a=>`${a} 出资比例`},{label:"项目编号",regex:/(?:招标项目编号|项目编号|招标编号)[::\s|]*([A-Za-z0-9()()[\]【】-]{4,80})/gu,query:a=>`${a} 项目编号 招标编号`},{label:"立项批准",regex:/(?:批准文号|备案表|立项批准文号)[::\s|]*([^。;;\n|]{4,100})/gu,query:a=>`${a} 立项批准 文号 备案`},{label:"工期",regex:/(?:计划工期|总工期|工期)[::\s|]*([^。;;\n|]{2,100})/gu,query:a=>`${a} 工期 计划工期`},{label:"质量标准",regex:/(?:质量标准|质量要求)[::\s|]*([^。;;\n|]{2,100})/gu,query:a=>`${a} 质量标准 质量要求`},{label:"建筑面积",regex:/(?:总建筑面积|建筑面积)[::\s|约]*([0-9,.]+\s*(?:m2|㎡|平方米))/giu,query:a=>`${a} 总建筑面积 建筑面积`},{label:"结构",regex:/(地上[一二三四五六七八九十\d]+层[^。;;\n|]{0,20}结构)/gu,query:a=>`${a} 建筑结构 现状建筑物`},{label:"场地限制",regex:/(不具备材料堆场|搭设加工区|搭设办公区|搭设生活区|场地限制)/gu,query:a=>`${a} 场地限制 材料堆场 办公区 生活区`},{label:"临水临电",regex:/(临水临电|临时水电接引|接驳点挂表计量|挂表计量|施工水电接引费)/gu,query:a=>`${a} 临水临电 接驳点 挂表计量`},{label:"拆除修补",regex:/(改造维修项目|拆除内容比较多|破损处进行修补|拆除工程|修补)/gu,query:a=>`${a} 改造维修 拆除 修补`},{label:"安全文明",regex:/(安全文明施工|安全生产|文明施工|扬尘治理|消防安全)/gu,query:a=>`${a} 安全文明 安全生产 文明施工`}];function r(a){return a.replace(/#{1,6}\s*/gu,"").replace(/\|/gu," ").replace(/\s+/gu,"").trim()}function s(a){return a.split(/\n+/u).filter(a=>!/^\s*(?:资料类型|MIME|文件大小|PDF\s*第|工作表:|COL\d+)/iu.test(a)).join("\n")}function t(a){return(a.match(/[\u4e00-\u9fa5A-Za-z0-9()()【】《》、,。;;::,.\-/㎡%]/gu)?.length||0)/Math.max(1,a.length)>=.65&&!function(a){return!!/[爀攀最椀猀琀礀开氀漀挀愀渀捁扄潓瑲湥獴慔汢]/u.test(a)||(a.match(/[\u4e00-\u9fa5]/gu)?.length||0)>=8&&!/工程|项目|施工|建筑|结构|装饰|电气|给排水|消防|暖通|平面|立面|剖面|节点|详图|材料|尺寸|标高|轴线|图层|门窗|墙|地面|顶面|照明|配电|弱电|空调|卫生间|楼梯|屋面|基础|柱|梁|板/u.test(a)}(a)}function u(a){return l(a.match(/[\u4e00-\u9fa5A-Za-z0-9()()【】《》-]{4,18}/gu)||[]).filter(a=>!/^(?:招标文件|投标文件|投标人|承包人|发包人|中标人|工程项目|施工单位|相关费用)$/u.test(a)).slice(0,3)}async function v(a){let b=Math.max(1,Math.min(1e3,Math.ceil(a.limit??300))),c=Math.max(1,Math.min(300,Math.ceil(a.perFileLimit??12))),d=await (0,i.getMultiProjectManager)().getProject(a.projectRoot),e=await p(a),f=function(a,b){let c=l(b.includeExtensions||[]).map(a=>a.replace(/^\./u,"").toLowerCase()),d=l(b.excludeExtensions||[]).map(a=>a.replace(/^\./u,"").toLowerCase());return a.filter(a=>{let e=a.split(".").pop()?.toLowerCase()||"";return!(c.length>0&&!c.includes(e)||d.includes(e))&&("cad"===b.fileLayer?["dwg","dxf"].includes(e):"document"!==b.fileLayer||!["dwg","dxf","png","jpg","jpeg","gif","webp"].includes(e))})}(e.length>0?e:d.listFiles().map(a=>a.relativePath),a),g=[],h=new Set;for(let a of f){if(g.length>=b)break;let e=0;for(let i of d.listChunks({relativePath:a,limit:1e3})){if(g.length>=b||e>=c)break;let d=`${i.sectionTitle||""}
5
- ${i.titlePath||""}
6
- ${s(i.content)}`;if(!(d.length<20||/工作表:|COL\d+|^\s*[|:-]+\s*$/u.test(d))){for(let i of q){if(g.length>=b||e>=c)break;for(let j of(i.regex.lastIndex=0,d.matchAll(i.regex))){let d=(j[1]||j[0]||"").replace(/[|*_`#]/gu,"").replace(/\s+/gu,"").trim().slice(0,80);if(!(d.length>=2&&!/^(?:无|否|是|详见|见|按|按图|相关资料|相关专业图纸)$/u.test(d)&&!/^[-—::|]+$/u.test(d)&&!/[、,,]*(?:工程内容|金额|计入投标总价|产权单位|索赔|费用|事宜)[、,,]*/u.test(d)&&!/^(?:第\d+页共\d+页|COL\d+|项目名称计算基础|所列的金额)/iu.test(d)))continue;let k=`${i.label}:${d}`;if(!h.has(k)&&(h.add(k),g.push({id:`auto-${g.length+1}`,query:i.query(d),expectedTerms:[d],relevantFiles:[a],filePaths:f.length>0?f:void 0,topK:20}),e+=1,g.length>=b||e>=c))break}}for(let n of s(d).replace(/#{1,6}\s*/gu,"").replace(/\|/gu,"。").split(/[。;;!?!?\n]/u).map(a=>r(a)).filter(a=>a.length>=16&&a.length<=90).filter(a=>!/资料类型|工作表:|COL\d+|---|第\d+页共\d+页|MIME|文件大小|customize-agent-cad/iu.test(a)).filter(a=>/[\u4e00-\u9fa5]{4,}/u.test(a)).filter(t)){var j,k,m;if(g.length>=b||e>=c)break;let d=u(n);if(0===d.length)continue;let o=(j=n,k=i.sectionTitle,m=i.titlePath,l([r(s(`${k||""}
7
- ${m||""}`)).slice(0,30),u(j).join(" ")]).join(" "));if(o.length<8)continue;let p=`sentence:${d.join("|")}:${a}`;h.has(p)||(h.add(p),g.push({id:`auto-${g.length+1}`,query:o,expectedTerms:d,relevantFiles:[a],filePaths:f.length>0?f:void 0,topK:20}),e+=1)}}}}return g}async function w(a){let b=Math.max(1,Math.min(100,Math.ceil(a.topK??20))),c=(0,i.getMultiProjectManager)(),d=[],e=[];for(let[f,g]of a.cases.entries()){let h=g.id||`case-${f+1}`,i=g.query.trim(),k=l(g.relevantFiles||[]),q=l(g.relevantSnippets||[]),r=l(g.expectedTerms||[]),s=Math.max(1,Math.min(100,Math.ceil(g.topK??b))),t=k.length+q.length+r.length,u=await p(a,g);if(!i||0===t){e.push({id:h,query:i,reason:"评测用例必须包含 query,且至少提供 relevantFiles、relevantSnippets 或 expectedTerms 之一。"});continue}if((a.filePathPrefixes?.length||g.filePathPrefixes?.length)&&0===u.length){e.push({id:h,query:i,reason:"filePathPrefixes 未匹配到任何已索引文件。"});continue}let v=await c.search(a.projectRoot,i,{limit:s,weights:a.weights,generationMode:a.generationMode,disableReranker:a.disableReranker,filters:u.length>0?{filePaths:u}:void 0}),w=v.results.slice(0,s),x=w.map(a=>`${a.filePath}
8
- ${a.sectionTitle||""}
9
- ${a.content}`).join("\n"),y=k.filter(a=>w.some(b=>o(b.filePath,[a]))),z=q.filter(a=>j(x).includes(j(a))),A=r.filter(a=>j(x).includes(j(a))),B=y.length+z.length+A.length,C=w.map((a,b)=>{let c=[];return o(a.filePath,k)&&c.push("file"),function(a,b){let c=j(a);return b.filter(a=>c.includes(j(a)))}(a.content,q).length>0&&c.push("snippet"),function(a,b){let c=j(a);return b.filter(a=>c.includes(j(a)))}(`${a.sectionTitle||""}
10
- ${a.content}`,r).length>0&&c.push("term"),{rank:b+1,filePath:a.filePath,score:a.score,relevant:c.length>0,matchedBy:c,preview:a.content.replace(/\s+/gu," ").slice(0,180)}}),D=C.find(a=>a.relevant)?.rank,E=C.map(a=>+!!a.relevant),F=n([...E].sort((a,b)=>b-a)),G={id:h,query:i,topK:s,returned:w.length,recall:m(B/t),precision:m(C.filter(a=>a.relevant).length/Math.max(1,w.length)),mrr:D?m(1/D):0,ndcg:F>0?m(n(E)/F):0,hitUnits:B,totalUnits:t,firstHitRank:D,matchedFiles:y,missingFiles:k.filter(a=>!y.includes(a)),matchedSnippets:z,missingSnippets:q.filter(a=>!z.includes(a)),matchedTerms:A,missingTerms:r.filter(a=>!A.includes(a)),results:a.compact?C.slice(0,3):C,debug:a.compact?void 0:v.debug};d.push(G)}let f=d.length,g=a=>f>0?d.reduce((b,c)=>b+a(c),0)/f:0,h=m(g(a=>a.recall)),k=m(g(a=>a.precision)),q=m(g(a=>a.mrr)),r=m(g(a=>a.ndcg));return{totalCases:a.cases.length,validCases:f,invalidCases:e.length,topK:b,recallAtK:h,precisionAtK:k,mrr:q,ndcgAtK:r,pass95:f>0&&h>=.95,cases:d,invalid:e}}async function x(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});try{var c;let d=a.body&&"object"==typeof a.body?a.body:{},e="string"==typeof d.projectRoot&&d.projectRoot.trim()?d.projectRoot:(0,i.aY)();if(!e)return b.status(400).json({error:"projectRoot is required"});let f=Array.isArray(d.filePaths)?d.filePaths.filter(a=>"string"==typeof a):void 0,g=Array.isArray(d.filePathPrefixes)?d.filePathPrefixes.filter(a=>"string"==typeof a):void 0,h=!0===d.autoGenerate,j=h?await v({projectRoot:e,filePaths:f,filePathPrefixes:g,limit:"number"==typeof d.limit?d.limit:void 0,perFileLimit:"number"==typeof d.perFileLimit?d.perFileLimit:void 0,fileLayer:"document"===d.fileLayer||"cad"===d.fileLayer||"all"===d.fileLayer?d.fileLayer:void 0,includeExtensions:Array.isArray(d.includeExtensions)?d.includeExtensions.filter(a=>"string"==typeof a):void 0,excludeExtensions:Array.isArray(d.excludeExtensions)?d.excludeExtensions.filter(a=>"string"==typeof a):void 0}):(c=d.cases,Array.isArray(c)?c.map(a=>a&&"object"==typeof a?a:void 0).filter(Boolean).map(a=>({id:"string"==typeof a.id?a.id:void 0,query:"string"==typeof a.query?a.query:"",relevantFiles:Array.isArray(a.relevantFiles)?a.relevantFiles.filter(a=>"string"==typeof a):void 0,relevantSnippets:Array.isArray(a.relevantSnippets)?a.relevantSnippets.filter(a=>"string"==typeof a):void 0,expectedTerms:Array.isArray(a.expectedTerms)?a.expectedTerms.filter(a=>"string"==typeof a):void 0,filePaths:Array.isArray(a.filePaths)?a.filePaths.filter(a=>"string"==typeof a):void 0,filePathPrefixes:Array.isArray(a.filePathPrefixes)?a.filePathPrefixes.filter(a=>"string"==typeof a):void 0,topK:"number"==typeof a.topK?a.topK:void 0})):[]);if(0===j.length)return b.status(400).json({error:"cases is required"});let k=await w({projectRoot:e,cases:j,topK:"number"==typeof d.topK?d.topK:void 0,generationMode:"boolean"==typeof d.generationMode?d.generationMode:void 0,filePaths:h?void 0:f,filePathPrefixes:h?void 0:g,compact:"boolean"==typeof d.compact?d.compact:void 0,disableReranker:"boolean"==typeof d.disableReranker?d.disableReranker:void 0});b.status(200).json(k)}catch(a){console.error("[api] kb/evaluate",a),b.status(500).json({error:"Internal server error"})}}var y=c(68970),z=c(50296);let A=(0,h.M)(d,"default"),B=(0,h.M)(d,"config"),C=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/kb/evaluate",pathname:"/api/kb/evaluate",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function D(a,b,c){let d=await C.prepare(a,b,{srcPage:"/api/kb/evaluate"});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,y.getTracer)(),e=d.getActiveScopeSpan(),j=C.instrumentationOnRequestError.bind(C),k=async e=>C.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:C.isDev,page:"/api/kb/evaluate",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")!==z.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(z.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:y.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(C.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}}};var b=require("../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705],()=>b(b.s=87926));module.exports=c})();
@@ -1 +0,0 @@
1
- {"version":1,"files":["../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/package.json","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.stat","../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/run-parallel","../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/package.json","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.scandir","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/package.json","../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/fastq","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/database.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/index.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/util.js","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/package.json","../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/bindings","../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/index.js","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/compile.js","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/constants.js","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/expand.js","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/parse.js","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/stringify.js","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/utils.js","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/package.json","../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/fill-range","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/@nodelib/fs.stat","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/@nodelib/fs.walk","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/index.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/managers/tasks.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/async.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/deep.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/error.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/matcher.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/partial.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/stream.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/sync.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/transformers/entry.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/async.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/stream.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/sync.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/settings.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/errno.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/fs.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/index.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/stream.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/string.js","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/package.json","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/glob-parent","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/merge2","../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/micromatch","../../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/fastq/package.json","../../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/fastq/queue.js","../../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/reusify","../../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/index.js","../../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/package.json","../../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/to-regex-range","../../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.js","../../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/package.json","../../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/is-glob","../../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/bindings","../../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/build/Release/addon.node","../../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/lib/index.js","../../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/package.json","../../../../../../../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.js","../../../../../../../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/package.json","../../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-extglob","../../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.js","../../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/package.json","../../../../../../../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.js","../../../../../../../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/package.json","../../../../../../../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.js","../../../../../../../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/package.json","../../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/braces","../../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/index.js","../../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/package.json","../../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/picomatch","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/package.json","../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/index.js","../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/constants.js","../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/parse.js","../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/picomatch.js","../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/scan.js","../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/utils.js","../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/package.json","../../../../../../../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.js","../../../../../../../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/package.json","../../../../../../../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/package.json","../../../../../../../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/reusify.js","../../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/queue-microtask","../../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js","../../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/package.json","../../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/is-number","../../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.js","../../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/package.json","../../../../../../../packages/knowledge/dist/chunking/bge-tokenizer.js","../../../../../../../packages/knowledge/dist/chunking/text-chunker.js","../../../../../../../packages/knowledge/dist/classification/classifier.js","../../../../../../../packages/knowledge/dist/cleaning/text-cleaner.js","../../../../../../../packages/knowledge/dist/constants.js","../../../../../../../packages/knowledge/dist/core/change-tracker.js","../../../../../../../packages/knowledge/dist/core/file-scanner.js","../../../../../../../packages/knowledge/dist/core/index-runner.js","../../../../../../../packages/knowledge/dist/core/index-state-store.js","../../../../../../../packages/knowledge/dist/core/knowledge-base-manager.js","../../../../../../../packages/knowledge/dist/core/material-pack.js","../../../../../../../packages/knowledge/dist/core/multi-project-manager.js","../../../../../../../packages/knowledge/dist/core/project-config.js","../../../../../../../packages/knowledge/dist/core/project-id.js","../../../../../../../packages/knowledge/dist/core/project-registry.js","../../../../../../../packages/knowledge/dist/core/sqlite-loader.js","../../../../../../../packages/knowledge/dist/dedup/dedup-engine.js","../../../../../../../packages/knowledge/dist/dedup/relationship-detector.js","../../../../../../../packages/knowledge/dist/embedding/embedding-provider.js","../../../../../../../packages/knowledge/dist/embedding/local-reranker.js","../../../../../../../packages/knowledge/dist/embedding/rerank-worker-thread.js","../../../../../../../packages/knowledge/dist/extraction/content-extractor.js","../../../../../../../packages/knowledge/dist/extraction/external-extractor.js","../../../../../../../packages/knowledge/dist/extraction/module-resolver.js","../../../../../../../packages/knowledge/dist/extraction/ocr-providers.js","../../../../../../../packages/knowledge/dist/extraction/ocr-tiling.js","../../../../../../../packages/knowledge/dist/extraction/office-embedded-images.js","../../../../../../../packages/knowledge/dist/extraction/paddle-model-select.js","../../../../../../../packages/knowledge/dist/extraction/parser-version.js","../../../../../../../packages/knowledge/dist/extraction/table-header-detect.js","../../../../../../../packages/knowledge/dist/extraction/text-encoding.js","../../../../../../../packages/knowledge/dist/index.js","../../../../../../../packages/knowledge/dist/materials/authority.js","../../../../../../../packages/knowledge/dist/materials/cad-entities.js","../../../../../../../packages/knowledge/dist/materials/clause-model.js","../../../../../../../packages/knowledge/dist/materials/normalize.js","../../../../../../../packages/knowledge/dist/materials/table-model.js","../../../../../../../packages/knowledge/dist/materials/types.js","../../../../../../../packages/knowledge/dist/search/federation-search.js","../../../../../../../packages/knowledge/dist/tools/index.js","../../../../../../../packages/knowledge/dist/tools/inventory.js","../../../../../../../packages/knowledge/dist/tools/knowledgeTools.js","../../../../../../../packages/knowledge/dist/vector/collection-manager.js","../../../../../../../packages/knowledge/dist/vector/hnsw-vector-store.js","../../../../../../../packages/knowledge/dist/vector/vector-indexer.js","../../../../../../../packages/knowledge/node_modules/better-sqlite3","../../../../../../../packages/knowledge/node_modules/fast-glob","../../../../../../../packages/knowledge/node_modules/hnswlib-node","../../../../../../../packages/knowledge/package.json","../../../../../node_modules/@customize-agent/knowledge","../../../../../node_modules/next","../../../../../package.json","../../../../package.json","../../../chunks/9705.js","../../../webpack-api-runtime.js"]}
@@ -1,5 +0,0 @@
1
- "use strict";(()=>{var a={};a.id=4111,a.ids=[4111],a.modules={191:(a,b,c)=>{c.d(b,{cW:()=>q,hH:()=>r,mG:()=>u,wF:()=>p});var d=c(29021),e=c.n(d),f=c(21820),g=c.n(f),h=c(33873),i=c.n(h),j=c(55511),k=c.n(j);let l=i().join(g().homedir(),".customize-agent","logs"),m=i().join(l,"errors.jsonl"),n="errors-";function o(){try{return e().readdirSync(l).filter(a=>a.startsWith(n)&&a.endsWith(".jsonl")).sort().reverse()}catch{return[]}}function p(a){let{message:b,stack:c}=function(a){if(a instanceof Error)return{message:a.message,stack:a.stack};if("string"==typeof a)return{message:a};try{return{message:JSON.stringify(a)}}catch{return{message:String(a)}}}(a.error),d={id:`err_${Date.now()}_${k().randomBytes(4).toString("hex")}`,level:a.level||"error",source:a.source,functionName:a.functionName,message:b,stack:c,request:a.req?{method:a.req.method,url:a.req.url,query:a.req.query}:void 0,meta:a.meta,createdAt:Date.now()};try{e().mkdirSync(l,{recursive:!0}),function(){try{if(e().statSync(m).size<=2097152)return;e().renameSync(m,i().join(l,`${n}${Date.now()}.jsonl`)),function(){for(let a of o().slice(20))try{e().rmSync(i().join(l,a),{force:!0})}catch{}}()}catch{}}(),e().appendFileSync(m,`${JSON.stringify(d)}
2
- `)}catch(a){console.error("[errorLogService] failed to write error log",a)}return d}function q(a=200){let b=[m,...o().map(a=>i().join(l,a))],c=[];for(let d of b){if(c.length>=a)break;for(let b of(function(a){try{return e().readFileSync(a,"utf8").split("\n").filter(Boolean).flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}})}catch{return[]}})(d).reverse())if(c.push(b),c.length>=a)break}return c}function r(){let a=0;if(e().existsSync(m))try{e().rmSync(m,{force:!0}),a++}catch{}for(let b of o())try{e().rmSync(i().join(l,b),{force:!0}),a++}catch{}return a}let s=!1;function t(a,b,c,d=20){let e=0,f=0;return g=>{try{b(g);let h=Date.now();h-e>6e4&&(e=h,f=0),f<d&&(f+=1,c(a,g))}catch{}}}function u(){s||(s=!0,process.on("uncaughtException",t("uncaughtException",a=>p({source:"process",functionName:"uncaughtException",error:a}),(a,b)=>console.error(`[process] ${a}`,b))),process.on("unhandledRejection",t("unhandledRejection",a=>p({source:"process",functionName:"unhandledRejection",error:a}),(a,b)=>console.error(`[process] ${a}`,b))))}},7307:(a,b,c)=>{c.r(b),c.d(b,{config:()=>o,default:()=>n,handler:()=>q});var d={};c.r(d),c.d(d,{default:()=>k});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(44533);async function j(a,b){if("GET"!==a.method)return b.status(405).json({error:"Method not allowed"});let c=a.query.projectRoot||(0,i.aY)();if(!c)return b.status(200).json({nodes:[]});let d=String(a.query.parentPath||"").replace(/^\/+|\/+$/gu,""),e=(0,i.Yy)(c),f=new Map;for(let a of e){if(d&&a.relativePath!==d&&!a.relativePath.startsWith(`${d}/`))continue;let b=d?a.relativePath.slice(d.length).replace(/^\//u,""):a.relativePath;if(!b)continue;let[c,...e]=b.split("/");if(!c)continue;let g=e.length>0,h=d?`${d}/${c}`:c,i=f.get(h);i?g&&(i.fileCount=(i.fileCount||0)+1):f.set(h,{key:h,title:c,isFolder:g,isLeaf:!g,fileCount:g?1:void 0})}let g=Array.from(f.values()).sort((a,b)=>a.isFolder&&!b.isFolder?-1:!a.isFolder&&b.isFolder?1:a.title.localeCompare(b.title,"zh-CN"));return b.status(200).json({nodes:g})}let k=(0,c(16006).j)("api/kb/files/tree",j);var l=c(68970),m=c(50296);let n=(0,h.M)(d,"default"),o=(0,h.M)(d,"config"),p=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/kb/files/tree",pathname:"/api/kb/files/tree",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/kb/files/tree"});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/kb/files/tree",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())}}},16006:(a,b,c)=>{c.d(b,{j:()=>e});var d=c(191);function e(a,b){return async function(c,e){try{await b(c,e)}catch(g){let f=(0,d.wF)({source:a,functionName:b.name||"anonymous",error:g,req:c});console.error(`[${a}]`,f.id,g),e.headersSent||e.status(500).json({error:g instanceof Error?g.message:"Internal server error",requestId:f.id})}}}(0,d.mG)()},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},44533:(a,b,c)=>{c.d(b,{K_:()=>n,NW:()=>j,VS:()=>p,Yy:()=>o,a2:()=>i,aY:()=>m,getMultiProjectManager:()=>k});var d=c(19898),e=c(33873),f=c(21820),g=c(29021);let h=null;function i(){return e.join(f.homedir(),".customize-agent")}function j(a){return(0,d.getProjectKbPath)(e.resolve(a))}function k(){return h||(h=new d.MultiProjectManager(i())),h}function l(a){let b=e.resolve(a),c=e.resolve(e.join(f.homedir(),".customize-agent"));return!(g.existsSync(e.join(b,"pnpm-workspace.yaml"))&&g.existsSync(e.join(b,"apps","server")))&&(b===c||b.includes(`${e.sep}.customize-agent${e.sep}`)||b.endsWith(`${e.sep}apps${e.sep}server`)||b.endsWith(`${e.sep}apps${e.sep}cli`))}function m(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&g.existsSync(a)&&!l(a))return e.resolve(a);let b=function(){let a=e.join(i(),"projects","registry.db");if(!g.existsSync(a))return[];let b=new((0,d.loadBetterSqlite3)())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>e.resolve(a.project_root)).filter(a=>!l(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!l(process.env.INIT_CWD)?process.env.INIT_CWD:e.resolve(process.cwd(),"../..")}function n(a){if(a){let b=e.resolve(a);return g.existsSync(b)&&!l(b)?b:null}return m()}function o(a,b={}){let c=new Map;for(let b of function(a){let b=e.join(f.homedir(),".customize-agent","projects",(0,d.computeProjectId)(e.resolve(a)),"kb.db");if(!g.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=j(a);if(!g.existsSync(b))return[];let c=[],d=a=>{for(let f of g.readdirSync(a,{withFileTypes:!0})){let h=e.join(a,f.name);if(f.isDirectory()){d(h);continue}if(f.name.endsWith(".source.txt"))continue;let i=g.statSync(h),j=e.relative(b,h).split(e.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:e.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:i.size,mtime:i.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 k().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}}},55511:a=>{a.exports=require("crypto")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705],()=>b(b.s=7307));module.exports=c})();
@@ -1 +0,0 @@
1
- {"version":1,"files":["../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/package.json","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.stat","../../../../../../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/run-parallel","../../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/package.json","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.scandir","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/package.json","../../../../../../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/fastq","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/database.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/index.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/lib/util.js","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/package.json","../../../../../../../../node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/bindings","../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/index.js","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/compile.js","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/constants.js","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/expand.js","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/parse.js","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/stringify.js","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/utils.js","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/package.json","../../../../../../../../node_modules/.pnpm/braces@3.0.3/node_modules/fill-range","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/@nodelib/fs.stat","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/@nodelib/fs.walk","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/index.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/managers/tasks.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/async.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/deep.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/error.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/matcher.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/partial.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/stream.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/sync.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/transformers/entry.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/async.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/stream.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/sync.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/settings.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/errno.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/fs.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/index.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/stream.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/string.js","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/package.json","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/glob-parent","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/merge2","../../../../../../../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/micromatch","../../../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/fastq/package.json","../../../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/fastq/queue.js","../../../../../../../../node_modules/.pnpm/fastq@1.20.1/node_modules/reusify","../../../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/index.js","../../../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/package.json","../../../../../../../../node_modules/.pnpm/fill-range@7.1.1/node_modules/to-regex-range","../../../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.js","../../../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/package.json","../../../../../../../../node_modules/.pnpm/glob-parent@5.1.2/node_modules/is-glob","../../../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/bindings","../../../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/build/Release/addon.node","../../../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/lib/index.js","../../../../../../../../node_modules/.pnpm/hnswlib-node@3.0.0/node_modules/hnswlib-node/package.json","../../../../../../../../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.js","../../../../../../../../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/package.json","../../../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-extglob","../../../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.js","../../../../../../../../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/package.json","../../../../../../../../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.js","../../../../../../../../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/package.json","../../../../../../../../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.js","../../../../../../../../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/package.json","../../../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/braces","../../../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/index.js","../../../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/package.json","../../../../../../../../node_modules/.pnpm/micromatch@4.0.8/node_modules/picomatch","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/index.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/package.json","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/index.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/package.json","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/constants.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/interop-default.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/is-error.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/semver-noop.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/load-manifest.external.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/response-cache/types.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/package.json","../../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/index.js","../../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/constants.js","../../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/parse.js","../../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/picomatch.js","../../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/scan.js","../../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/lib/utils.js","../../../../../../../../node_modules/.pnpm/picomatch@2.3.2/node_modules/picomatch/package.json","../../../../../../../../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.js","../../../../../../../../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/package.json","../../../../../../../../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/package.json","../../../../../../../../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/reusify.js","../../../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/queue-microtask","../../../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js","../../../../../../../../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/package.json","../../../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/is-number","../../../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.js","../../../../../../../../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/package.json","../../../../../../../../packages/knowledge/dist/chunking/bge-tokenizer.js","../../../../../../../../packages/knowledge/dist/chunking/text-chunker.js","../../../../../../../../packages/knowledge/dist/classification/classifier.js","../../../../../../../../packages/knowledge/dist/cleaning/text-cleaner.js","../../../../../../../../packages/knowledge/dist/constants.js","../../../../../../../../packages/knowledge/dist/core/change-tracker.js","../../../../../../../../packages/knowledge/dist/core/file-scanner.js","../../../../../../../../packages/knowledge/dist/core/index-runner.js","../../../../../../../../packages/knowledge/dist/core/index-state-store.js","../../../../../../../../packages/knowledge/dist/core/knowledge-base-manager.js","../../../../../../../../packages/knowledge/dist/core/material-pack.js","../../../../../../../../packages/knowledge/dist/core/multi-project-manager.js","../../../../../../../../packages/knowledge/dist/core/project-config.js","../../../../../../../../packages/knowledge/dist/core/project-id.js","../../../../../../../../packages/knowledge/dist/core/project-registry.js","../../../../../../../../packages/knowledge/dist/core/sqlite-loader.js","../../../../../../../../packages/knowledge/dist/dedup/dedup-engine.js","../../../../../../../../packages/knowledge/dist/dedup/relationship-detector.js","../../../../../../../../packages/knowledge/dist/embedding/embedding-provider.js","../../../../../../../../packages/knowledge/dist/embedding/local-reranker.js","../../../../../../../../packages/knowledge/dist/embedding/rerank-worker-thread.js","../../../../../../../../packages/knowledge/dist/extraction/content-extractor.js","../../../../../../../../packages/knowledge/dist/extraction/external-extractor.js","../../../../../../../../packages/knowledge/dist/extraction/module-resolver.js","../../../../../../../../packages/knowledge/dist/extraction/ocr-providers.js","../../../../../../../../packages/knowledge/dist/extraction/ocr-tiling.js","../../../../../../../../packages/knowledge/dist/extraction/office-embedded-images.js","../../../../../../../../packages/knowledge/dist/extraction/paddle-model-select.js","../../../../../../../../packages/knowledge/dist/extraction/parser-version.js","../../../../../../../../packages/knowledge/dist/extraction/table-header-detect.js","../../../../../../../../packages/knowledge/dist/extraction/text-encoding.js","../../../../../../../../packages/knowledge/dist/index.js","../../../../../../../../packages/knowledge/dist/materials/authority.js","../../../../../../../../packages/knowledge/dist/materials/cad-entities.js","../../../../../../../../packages/knowledge/dist/materials/clause-model.js","../../../../../../../../packages/knowledge/dist/materials/normalize.js","../../../../../../../../packages/knowledge/dist/materials/table-model.js","../../../../../../../../packages/knowledge/dist/materials/types.js","../../../../../../../../packages/knowledge/dist/search/federation-search.js","../../../../../../../../packages/knowledge/dist/tools/index.js","../../../../../../../../packages/knowledge/dist/tools/inventory.js","../../../../../../../../packages/knowledge/dist/tools/knowledgeTools.js","../../../../../../../../packages/knowledge/dist/vector/collection-manager.js","../../../../../../../../packages/knowledge/dist/vector/hnsw-vector-store.js","../../../../../../../../packages/knowledge/dist/vector/vector-indexer.js","../../../../../../../../packages/knowledge/node_modules/better-sqlite3","../../../../../../../../packages/knowledge/node_modules/fast-glob","../../../../../../../../packages/knowledge/node_modules/hnswlib-node","../../../../../../../../packages/knowledge/package.json","../../../../../../node_modules/@customize-agent/knowledge","../../../../../../node_modules/next","../../../../../../package.json","../../../../../package.json","../../../../chunks/9705.js","../../../../webpack-api-runtime.js"]}
@@ -1 +0,0 @@
1
- "use strict";(()=>{var a={};a.id=1598,a.ids=[1598],a.modules={15751:a=>{a.exports=require("xlsx")},16698:a=>{a.exports=require("node:async_hooks")},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},28183:a=>{a.exports=require("@napi-rs/canvas")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},83301:(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(25284),j=c(44533);async function k(a,b){try{let c=a.body?.projectRoot||a.query.projectRoot||(0,j.aY)();if(!c)return b.status(400).json({error:"projectRoot is required"});let d=String(a.body?.materialRoot||a.query.materialRoot||"").trim();if("GET"===a.method){if(!d)return b.status(400).json({error:"materialRoot is required(资料包 ID = 知识库顶层目录名)"});let a=(0,i.Tt)(c,d);return b.status(200).json({success:!0,materialRoot:d,available:!!a,cache:a?{version:a.version,packRoot:a.packRoot,createdAt:a.createdAt,fileCount:a.fileCount,factCount:a.facts.length,intentCount:a.chapterIntentIndex.length,graph:{works:a.projectGraph.works.length,methods:a.projectGraph.methods.length,resources:a.projectGraph.resources.length,risks:a.projectGraph.risks.length},message:a.projectGraphMessage}:void 0})}if("POST"===a.method){if(a.body?.async)return d?(0,i.b3)(c,d):(0,i.xv)(c),b.status(202).json({success:!0,accepted:!0,scope:d?"pack":"library"});if(!d)return b.status(400).json({error:"materialRoot is required(同步构建必须指定资料包 ID)"});let e=await (0,i.OO)(c,d);return b.status(200).json({success:!0,cache:{version:e.version,packRoot:e.packRoot,createdAt:e.createdAt,fileCount:e.fileCount,factCount:e.facts.length,intentCount:e.chapterIntentIndex.length,graph:{works:e.projectGraph.works.length,methods:e.projectGraph.methods.length,resources:e.projectGraph.resources.length,risks:e.projectGraph.risks.length},message:e.projectGraphMessage}})}return b.status(405).json({error:"Method not allowed"})}catch(c){let a=c instanceof Error?c.message:String(c);return console.error("[api] kb/intelligence",c),b.status(500).json({error:a})}}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/kb/intelligence",pathname:"/api/kb/intelligence",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/kb/intelligence"});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/kb/intelligence",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())}}},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,299,1001,2434,5547],()=>b(b.s=83301));module.exports=c})();
@@ -1,4 +0,0 @@
1
- "use strict";(()=>{var a={};a.id=5555,a.ids=[5555],a.modules={19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},44533:(a,b,c)=>{c.d(b,{K_:()=>n,NW:()=>j,VS:()=>p,Yy:()=>o,a2:()=>i,aY:()=>m,getMultiProjectManager:()=>k});var d=c(19898),e=c(33873),f=c(21820),g=c(29021);let h=null;function i(){return e.join(f.homedir(),".customize-agent")}function j(a){return(0,d.getProjectKbPath)(e.resolve(a))}function k(){return h||(h=new d.MultiProjectManager(i())),h}function l(a){let b=e.resolve(a),c=e.resolve(e.join(f.homedir(),".customize-agent"));return!(g.existsSync(e.join(b,"pnpm-workspace.yaml"))&&g.existsSync(e.join(b,"apps","server")))&&(b===c||b.includes(`${e.sep}.customize-agent${e.sep}`)||b.endsWith(`${e.sep}apps${e.sep}server`)||b.endsWith(`${e.sep}apps${e.sep}cli`))}function m(){let a=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(a&&g.existsSync(a)&&!l(a))return e.resolve(a);let b=function(){let a=e.join(i(),"projects","registry.db");if(!g.existsSync(a))return[];let b=new((0,d.loadBetterSqlite3)())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>e.resolve(a.project_root)).filter(a=>!l(a))}finally{b.close()}}();return b.length>0?b[0]:process.env.INIT_CWD&&!l(process.env.INIT_CWD)?process.env.INIT_CWD:e.resolve(process.cwd(),"../..")}function n(a){if(a){let b=e.resolve(a);return g.existsSync(b)&&!l(b)?b:null}return m()}function o(a,b={}){let c=new Map;for(let b of function(a){let b=e.join(f.homedir(),".customize-agent","projects",(0,d.computeProjectId)(e.resolve(a)),"kb.db");if(!g.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=j(a);if(!g.existsSync(b))return[];let c=[],d=a=>{for(let f of g.readdirSync(a,{withFileTypes:!0})){let h=e.join(a,f.name);if(f.isDirectory()){d(h);continue}if(f.name.endsWith(".source.txt"))continue;let i=g.statSync(h),j=e.relative(b,h).split(e.sep).join("/");c.push({relativePath:j,category:j.includes("表格数据/")?"spreadsheet":j.includes("图片素材/")?"image":j.includes("图纸文件/")?"cad":j.includes("文档资料/")?"document":"other",format:e.extname(j).slice(1).toLowerCase()||"text",contentHash:"",fileSize:i.size,mtime:i.mtimeMs,chunkCount:0,collectionName:"",indexedAt:0,lastVerifiedAt:0,status:"disk",matchedBy:"disk"})}};return d(b),c}(a)){let a=c.get(b.relativePath);c.set(b.relativePath,a?{...a,fileSize:b.fileSize,mtime:b.mtime,matchedBy:"metadata"}:b)}return Array.from(c.values()).filter(a=>!b.category||a.category===b.category).sort((a,b)=>b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN"))}async function p(a,b={}){let c=(b.query||"").trim(),d=Math.max(1,Math.min(500,b.limit??50)),e=new Map,f=o(a,{category:b.category});for(let a of f)(!c||`${a.relativePath}
2
- ${a.category}
3
- ${a.format}
4
- ${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 k().search(a,c,{limit:Math.max(20,d)})).results){let a=b.filePath,c=e.get(a)||f.find(b=>b.relativePath===a);e.set(a,{...c||{relativePath:a,category:"content",format:"knowledge",fileSize:0,mtime:0,chunkCount:0,indexedAt:0,lastVerifiedAt:0,status:"active"},matchedBy:"content",score:b.score})}}catch{}let g=Array.from(e.values()).sort((a,b)=>{let c=a=>"content"===a.matchedBy?3:"path"===a.matchedBy?2:+("metadata"===a.matchedBy);return c(b)-c(a)||(b.score??0)-(a.score??0)||b.mtime-a.mtime||a.relativePath.localeCompare(b.relativePath,"zh-CN")});return{files:g.slice(0,d),total:g.length}}},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},99977:(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(44533);async function j(a,b){if("GET"!==a.method)return b.status(405).json({error:"Method not allowed"});try{let c=a.query.q||"";if(!c.trim())return b.status(200).json({results:[],total:0});let d=a.query.projectRoot||(0,i.aY)();if(!d)return b.status(200).json({results:[],total:0});let e=parseInt(a.query.limit||"20",10),f=a=>{let b=Number(Array.isArray(a)?a[0]:a);return Number.isFinite(b)?Math.max(0,b):void 0},g={keyword:f(a.query.keywordWeight),vector:f(a.query.vectorWeight),hybridBonus:f(a.query.hybridBonus)},h=await (0,i.getMultiProjectManager)().search(d,c,{limit:e,weights:g});b.status(200).json({results:h.results,total:h.results.length,queryTimeMs:h.queryTimeMs,scopesSearched:h.scopesSearched,debug:h.debug})}catch(a){console.error("[api] kb/search",a),b.status(500).json({error:"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/kb/search",pathname:"/api/kb/search",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function p(a,b,c){let d=await o.prepare(a,b,{srcPage:"/api/kb/search"});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/kb/search",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())}}}};var b=require("../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705],()=>b(b.s=99977));module.exports=c})();