@customize-agent/server 4.0.24 → 4.0.26

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 (114) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +17 -12
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +1 -23
  5. package/.next/routes-manifest.json +0 -24
  6. package/.next/server/chunks/1928.js +1 -0
  7. package/.next/server/chunks/3445.js +28 -160
  8. package/.next/server/chunks/8204.js +1 -1
  9. package/.next/server/middleware-build-manifest.js +1 -1
  10. package/.next/server/pages/404.html +1 -1
  11. package/.next/server/pages/500.html +1 -1
  12. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  13. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  14. package/.next/server/pages/api/assets/generated.js +1 -1
  15. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  16. package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
  17. package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
  18. package/.next/server/pages/api/documents/export.js +3 -3
  19. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  20. package/.next/server/pages/api/documents/generate.js +2 -2
  21. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  22. package/.next/server/pages/api/documents/generated/[id].js +1 -1
  23. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  24. package/.next/server/pages/api/documents/generated.js +1 -1
  25. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  26. package/.next/server/pages/api/documents/roles.js +1 -1
  27. package/.next/server/pages/api/documents/specs.js +1 -1
  28. package/.next/server/pages/api/documents/specs.js.nft.json +1 -1
  29. package/.next/server/pages/api/documents/templates.js +1 -1
  30. package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
  31. package/.next/server/pages/api/jobs/[id].js +4 -1
  32. package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
  33. package/.next/server/pages/api/jobs.js +4 -1
  34. package/.next/server/pages/api/jobs.js.nft.json +1 -1
  35. package/.next/server/pages/api/kb/categories.js +4 -1
  36. package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
  37. package/.next/server/pages/api/kb/duplicates.js +4 -1
  38. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
  39. package/.next/server/pages/api/kb/files/detail.js +5 -2
  40. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
  41. package/.next/server/pages/api/kb/files/open.js +4 -1
  42. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
  43. package/.next/server/pages/api/kb/files/preview-pdf-page.js +4 -1
  44. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
  45. package/.next/server/pages/api/kb/files/reindex.js +4 -1
  46. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
  47. package/.next/server/pages/api/kb/files/search.js +5 -2
  48. package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
  49. package/.next/server/pages/api/kb/files.js +5 -2
  50. package/.next/server/pages/api/kb/files.js.nft.json +1 -1
  51. package/.next/server/pages/api/kb/ignore.js +4 -1
  52. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
  53. package/.next/server/pages/api/kb/operations.js +4 -1
  54. package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
  55. package/.next/server/pages/api/kb/reindex.js +4 -1
  56. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
  57. package/.next/server/pages/api/kb/search.js +4 -1
  58. package/.next/server/pages/api/kb/search.js.nft.json +1 -1
  59. package/.next/server/pages/api/kb/stats.js +4 -1
  60. package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
  61. package/.next/server/pages/api/kb/tags.js +4 -1
  62. package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
  63. package/.next/server/pages/api/kb/upload/progress.js +4 -1
  64. package/.next/server/pages/api/kb/upload/progress.js.nft.json +1 -1
  65. package/.next/server/pages/api/kb/upload.js +4 -1
  66. package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
  67. package/.next/server/pages/api/prompt.js +1 -97
  68. package/.next/server/pages/asset-library.html +1 -1
  69. package/.next/server/pages/context/long-term.html +1 -1
  70. package/.next/server/pages/context/short-term.html +1 -1
  71. package/.next/server/pages/document-roles.html +1 -1
  72. package/.next/server/pages/document-specs.html +1 -1
  73. package/.next/server/pages/documents.html +1 -1
  74. package/.next/server/pages/guide.html +1 -1
  75. package/.next/server/pages/index.html +1 -1
  76. package/.next/server/pages/index.js.nft.json +1 -1
  77. package/.next/server/pages/knowledge/file-detail.html +1 -1
  78. package/.next/server/pages/knowledge/files.html +1 -1
  79. package/.next/server/pages/knowledge/manage.html +1 -1
  80. package/.next/server/pages/knowledge/search.html +1 -1
  81. package/.next/server/pages/knowledge.html +1 -1
  82. package/.next/server/pages/models.html +1 -1
  83. package/.next/server/pages/overview.html +1 -1
  84. package/.next/server/pages/overview.js.nft.json +1 -1
  85. package/.next/server/pages/prompt.html +1 -1
  86. package/.next/server/pages/settings.html +1 -1
  87. package/.next/server/pages/system/logs.html +1 -1
  88. package/.next/server/pages-manifest.json +18 -18
  89. package/.next/static/Yb0BLdPOQ4eb6l81wnrct/_buildManifest.js +1 -0
  90. package/.next/static/chunks/130-c1e5c14958fcba2b.js +1 -0
  91. package/.next/static/chunks/{pages/overview-28c7ceeca56e6a78.js → 795-67a87e03d67ed908.js} +1 -1
  92. package/.next/static/chunks/pages/{_app-5a15b88340356365.js → _app-15f2d98b25c5d3ce.js} +1 -1
  93. package/.next/static/chunks/pages/document-roles-4293f5fae599ff83.js +1 -0
  94. package/.next/static/chunks/pages/document-specs-3a02d469bf6a43fa.js +1 -0
  95. package/.next/static/chunks/pages/documents-8516d74b25d9fa0d.js +1 -0
  96. package/.next/static/chunks/pages/{guide-cdf68a096918c979.js → guide-74f0f7f42bc211b0.js} +1 -1
  97. package/.next/static/chunks/pages/index-591c5acdff8d0690.js +1 -0
  98. package/.next/static/chunks/pages/knowledge/files-4b0132dd66e57085.js +1 -0
  99. package/.next/static/chunks/pages/overview-8d8ba5a1c0aa39ea.js +1 -0
  100. package/.next/static/chunks/pages/prompt-3468fb841f4c5c8c.js +1 -0
  101. package/next.config.ts +0 -9
  102. package/package.json +4 -4
  103. package/scripts/kb-index-worker.cjs +10 -3
  104. package/.next/server/chunks/3328.js +0 -216
  105. package/.next/server/chunks/7367.js +0 -1
  106. package/.next/static/chunks/447-fa0c71b418e19135.js +0 -1
  107. package/.next/static/chunks/pages/document-roles-4be647d475d4674b.js +0 -1
  108. package/.next/static/chunks/pages/document-specs-36de5dfb6865664f.js +0 -1
  109. package/.next/static/chunks/pages/documents-3b2f23e2d6b27f1b.js +0 -1
  110. package/.next/static/chunks/pages/index-c5e0758e6b31deee.js +0 -1
  111. package/.next/static/chunks/pages/knowledge/files-bc2ad2b01cb1f568.js +0 -1
  112. package/.next/static/chunks/pages/prompt-714b161b79fcd454.js +0 -1
  113. package/.next/static/ljFU94IeITFDNcrZa2ewf/_buildManifest.js +0 -1
  114. /package/.next/static/{ljFU94IeITFDNcrZa2ewf → Yb0BLdPOQ4eb6l81wnrct}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[298],{16403:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/documents",function(){return s(19562)}])},19562:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>ei});var n=s(65321),r=s(97109),i=s(7576),l=s(35292),a=s(17807),o=s(63455),c=s(88762),d=s(85114),u=s(68787),p=s(84253),m=s(38332),h=s(26171),x=s(11702),g=s(33442),f=s(85493),v=s(34052),w=s(9730),j=s(42700),y=s(58569),A=s(76506),k=s(25258),S=s(2256),I=s(38770),b=s(57271),T=s(23216),C=s(16285),_=s(26619),z=s(8263),D=s(8579),F=s(75548),M=s(7851),E=s(84742),B=s(29071),L=s(63552),P=s(26631),R=s(76830),q=s(83914),W=s(58209),G=s(54746),O=s(71330),H=s(64068),N=s(93051),K=s(38762),U=s(64629),X=s(67547),V=s(99811),Q=s(6578),J=s(79059);let{TextArea:Y}=i.A,{Paragraph:Z,Text:$}=l.A,ee=null;function et(){null==ee||ee.listeners.forEach(e=>e())}let es={role_binding:(0,n.jsx)(T.A,{}),context_recall:(0,n.jsx)(C.A,{}),knowledge_retrieval:(0,n.jsx)(_.A,{}),file_understanding:(0,n.jsx)(z.A,{}),fact_extraction:(0,n.jsx)(C.A,{}),chapter_generation:(0,n.jsx)(D.A,{}),asset_generation:(0,n.jsx)(F.A,{}),validation:(0,n.jsx)(M.A,{}),formatting:(0,n.jsx)(E.A,{}),llm_review:(0,n.jsx)(B.A,{}),export_ready:(0,n.jsx)(L.A,{}),reference:(0,n.jsx)(F.A,{})},en={施工组织设计:(0,n.jsx)(M.A,{}),投标文件:(0,n.jsx)(L.A,{}),技术方案:(0,n.jsx)(C.A,{}),报告:(0,n.jsx)(P.A,{}),自定义:(0,n.jsx)(D.A,{})},er={role_binding:"角色配置绑定",context_recall:"上下文召回",knowledge_retrieval:"知识库检索",file_understanding:"多模态文件理解",fact_extraction:"LLM 事实抽取",chapter_generation:"LLM 章节生成",asset_generation:"多模态资源生成",validation:"规则校验",formatting:"格式化排版",llm_review:"LLM 审查优化",export_ready:"导出就绪",reference:"参考资源处理"};function ei(){let e=(0,J.Vr)(),{message:t}=a.A.useApp(),[s]=o.A.useForm(),l=(0,r.useRef)(null),[Z,ei]=(0,r.useState)([]),[el,ea]=(0,r.useState)("construction-organization-design"),[eo,ec]=(0,r.useState)([]),[ed,eu]=(0,r.useState)([]),[ep,em]=(0,r.useState)([]),[eh,ex]=(0,r.useState)(!0),[eg,ef]=(0,r.useState)(!1),[ev,ew]=(0,r.useState)(null),[ej,ey]=(0,r.useState)(""),[eA,ek]=(0,r.useState)([]),[eS,eI]=(0,r.useState)(null),[eb,eT]=(0,r.useState)(null),[eC,e_]=(0,r.useState)(null),[ez,eD]=(0,r.useState)(!1),[eF,eM]=(0,r.useState)({}),[eE,eB]=(0,r.useState)([]),[eL,eP]=(0,r.useState)(null),[eR,eq]=(0,r.useState)("templates"),[eW,eG]=(0,r.useState)(!1),[eO,eH]=(0,r.useState)("workflow"),eN=(0,r.useRef)(null),eK=async()=>{try{ek((await (0,Q.cQ)()).documents)}catch(e){ek([])}};(0,r.useEffect)(()=>{let e=()=>{ee&&(eB(ee.flowSteps),eP(ee.activeFlowKey),ef(ee.loading),ee.documentId&&eI(ee.documentId),ee.draft&&ew(ee.draft),void 0!==ee.content&&ey(ee.content))},t=ee;return null==t||t.listeners.add(e),e(),()=>{null==t||t.listeners.delete(e)}},[]),(0,r.useEffect)(()=>{ex(!0),Promise.all([(0,Q.Dl)().then(e=>{var t,s;ei(e.templates),ea(null!=(s=null==(t=e.templates[0])?void 0:t.id)?s:"construction-organization-design")}),(0,Q.lv)().then(e=>{ec(e.roles),eu(e.configs)}),(0,Q.mx)().then(e=>em(e.specs)),eK()]).catch(()=>t.error(e("common.error"))).finally(()=>ex(!1))},[t,e]),(0,r.useEffect)(()=>{if(0===eA.length)return;let e=localStorage.getItem("activeGenDocId");if(!e)return;if(!eA.find(t=>t.id===e&&"generating"===t.status))return void localStorage.removeItem("activeGenDocId");let t=setInterval(()=>{(async()=>{try{let{document:s}=await (0,Q.v7)(e);await eK(),"generating"!==s.status&&(localStorage.removeItem("activeGenDocId"),clearInterval(t))}catch(e){clearInterval(t)}})()},3e3);return()=>clearInterval(t)},[eA]);let eU=(0,r.useMemo)(()=>Z.find(e=>e.id===el),[Z,el]),eX=ed.map(e=>({label:e.name,value:e.id})),eV=ep.map(e=>({label:e.name,value:e.id})),eQ=Math.max(0,eE.findIndex(e=>e.key===eL)),eJ=e=>{ea(e),eI(null),ew(null),ey(""),eH("workflow"),eG(!0),eq("drafts")},eY=async s=>{eI(s.id),ea(s.templateId);let n=e0(s.status);if(n||"failed"===s.status){ti.current=!0,ew(null),ey(""),ef(n),eH("workflow"),eG(!0);try{let{document:e}=await (0,Q.v7)(s.id);e6(e),e0(e.status)?e8(e.id):await eK()}catch(e){e6(s)}return}eH("editor"),eB([]),eP(null);try{let{document:e}=await (0,Q.v7)(s.id);ew(e.draft||null),ey(e.editedMarkdown||e.markdown)}catch(s){t.error(e("common.error"))}eG(!0)},eZ=e=>e.map((e,t)=>({key:"sub-".concat(t),title:e,status:"wait"})),e$=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:eU,s=ep.find(e=>e.id===(null==t?void 0:t.documentSpecId)),r=ed.find(e=>e.id===(null==t?void 0:t.projectRoleConfigId)),i=((null==r?void 0:r.fileRoles)||[]).map(e=>{var t;return(null==(t=eo.find(t=>t.id===e.roleId))?void 0:t.name)||e.roleId}),l=((null==r?void 0:r.promptRoles)||[]).map(e=>{var t;return(null==(t=eo.find(t=>t.id===e.roleId))?void 0:t.name)||e.roleId}),a=(null==s?void 0:s.factFields.map(e=>e.name))||(null==t?void 0:t.chapters.flatMap(e=>e.requiredFacts))||[],o=(null==t?void 0:t.chapters.map(e=>e.title))||[],c=l.some(e=>/封面|图片|资源|cover|image/iu.test(e));return[{key:"prepare",title:e("documents.flowPrepare"),description:'读取"'.concat((null==t?void 0:t.name)||"当前模板",'"并创建后台生成任务'),status:"process",icon:(0,n.jsx)(P.A,{}),subSteps:eZ(["读取模板参数",(null==t?void 0:t.documentSpecId)?"加载规范包:".concat((null==s?void 0:s.name)||t.documentSpecId):"未绑定规范包,使用模板章节要求","创建后台生成任务"])},{key:"role_binding",title:"动态角色配置绑定",description:"绑定 ".concat(i.length," 个文件角色、").concat(l.length," 个提示词角色"),status:"wait",icon:(0,n.jsx)(T.A,{}),subSteps:eZ([...i.length?i.map(e=>"文件角色:".concat(e)):["没有文件角色,使用模板绑定文件"],...l.length?l.map(e=>"提示词角色:".concat(e)):["没有提示词角色,使用默认生成策略"]].slice(0,10))},{key:"context_recall",title:"短期/长期上下文召回",description:"从项目记忆中召回用户偏好、历史纠偏和已生成文档摘要,并注入生成提示词",status:"wait",icon:(0,n.jsx)(C.A,{}),subSteps:eZ(["召回相关项目记忆","注入章节生成提示词","生成完成后沉淀新记忆"])},{key:"knowledge_retrieval",title:"知识库证据检索",description:"按 ".concat(o.length," 个章节检索文本、文档、表格、图片、图纸和附件"),status:"wait",icon:(0,n.jsx)(_.A,{}),subSteps:eZ(o.length?o.slice(0,10).map(e=>"检索章节:".concat(e)):["按模板标题检索证据"])},{key:"file_understanding",title:"多类型文件理解",description:"按文件角色处理文本、PDF/Word、表格、图片、图纸和附件",status:"wait",icon:(0,n.jsx)(z.A,{}),subSteps:eZ(["识别文件类型和角色","构建结构化资源证据包","必要时调用多模态文件理解"])},{key:"fact_extraction",title:"动态 schema 事实抽取",description:"按 ".concat(a.length," 个规范/章节事实字段抽取并检测冲突"),status:"wait",icon:(0,n.jsx)(C.A,{}),subSteps:eZ(a.length?a.slice(0,10).map(e=>"抽取事实:".concat(e)):["抽取模板要求的事实","合并来源和角色","检测事实冲突"])},{key:"chapter_generation",title:"章节生成",description:"按 ".concat(o.length," 个模板章节逐章生成"),status:"wait",icon:(0,n.jsx)(D.A,{}),subSteps:eZ(o.length?o.slice(0,10).map(e=>"生成:".concat(e)):["构造章节提示词","等待 LLM 生成","整理章节证据"])},...c?[{key:"asset_generation",title:"生成资源处理",description:"根据资源/图片提示词生成或登记本地资源",status:"wait",icon:(0,n.jsx)(F.A,{}),subSteps:eZ(["生成资源提示词","保存到 generatedDocuments/assets","登记资源元数据"])}]:[],{key:"validation",title:"规范包与门禁校验",description:s?"执行 ".concat(s.gateRules.length," 条门禁规则"):"执行模板基础校验",status:"wait",icon:(0,n.jsx)(M.A,{}),subSteps:eZ([...(null==s?void 0:s.factFields.filter(e=>e.required).map(e=>"必填事实:".concat(e.name)))||[],...(null==s?void 0:s.gateRules.map(e=>"门禁:".concat(e.name)))||["检查章节证据","检查缺失项","检查导出门禁"]].slice(0,10))},{key:"formatting",title:e("documents.flowFormatting"),description:"整理标题、表格、图片、附件引用和正式 Markdown",status:"wait",icon:(0,n.jsx)(E.A,{}),subSteps:eZ(["整理标题层级","整理多类型资源引用","生成正式 Markdown"])},{key:"llm_review",title:"LLM 审查优化",description:"再次使用动态 schema、角色和结构化证据审查优化初稿",status:"wait",icon:(0,n.jsx)(B.A,{}),subSteps:eZ(["构造审查提示词","检查事实来源和冲突","回填优化后的 Markdown"])},{key:"export_ready",title:"导出就绪",description:"确认 Markdown/HTML/DOCX/PDF 可导出",status:"wait",icon:(0,n.jsx)(L.A,{}),subSteps:eZ(["生成导出检查清单","确认阻断项","准备导出格式"])},{key:"done",title:e("documents.flowDone"),description:e("documents.flowDoneDesc"),status:"wait",icon:(0,n.jsx)(R.A,{}),subSteps:eZ(["展示生成结果","允许编辑正文","允许导出文件"])}]},e0=e=>"completed"!==e&&"warning"!==e&&"failed"!==e,e1=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eg;(null==ee?void 0:ee.loading)&&(ee.flowSteps=e,ee.activeFlowKey=t,ee.loading=s,et())},e2=(e,t)=>{if("wait"===t)return e.subSteps.map(e=>({...e,status:"wait"}));if("finish"===t)return e.subSteps.map(e=>({...e,status:"finish"}));if("error"===t)return e.subSteps.map((e,t)=>({...e,status:0===t?"error":e.status}));let s=e.subSteps.findIndex(e=>"wait"===e.status);return e.subSteps.map((e,t)=>t<s||-1===s?{...e,status:"finish"}:t===s?{...e,status:"process"}:e)},e6=e=>{let{steps:t,activeKey:s}=(e=>{var t,s,n;let r,i=Z.find(t=>t.id===e.templateId)||eU,l=e.executionStages||(null==(t=e.draft)?void 0:t.executionStages)||[],a=new Map(l.map(e=>[e.type,e])),o=e$(i).map(t=>{let s;if("prepare"===t.key){let s=l.length>0?"finish":"generating"===e.status?"process":"finish";return{...t,status:s,subSteps:e2(t,s)}}if("done"===t.key){let s="completed"===e.status?"finish":"warning"===e.status?"warning":"wait";return{...t,status:s,subSteps:e2(t,s)}}let n=a.get(t.key);if(!n)return t;let r="failed"===(s=n.status)?"error":"fallback"===s?"warning":"finish";return{...t,status:r,description:n.message||t.description,subSteps:e2(t,r)}});if("generating"===e.status){let e=Math.max(-1,...l.map(e=>o.findIndex(t=>t.key===e.type)).filter(e=>e>=0)),t=o.slice(e+1).find(e=>"done"!==e.key&&"wait"===e.status)||o.find(e=>"process"===e.status)||o.find(e=>"done"===e.key);for(let e of(r=(null==t?void 0:t.key)||"prepare",o))e.key===r&&"wait"===e.status&&(e.status="process",e.subSteps=e2(e,"process"))}else r="failed"===e.status?(null==(s=o.find(e=>"error"===e.status))?void 0:s.key)||(null==(n=l.at(-1))?void 0:n.type)||"prepare":"done";return{steps:o,activeKey:r}})(e);eB(t),eP(s),ef(e0(e.status)),"failed"===e.status&&eH("workflow"),("completed"===e.status||"warning"===e.status)&&e.draft&&(ew(e.draft),ey(e.editedMarkdown||e.markdown),eH("editor"),eB([]),eP(null))},e8=e=>{eN.current&&clearInterval(eN.current),eN.current=setInterval(()=>{(async()=>{try{let{document:t}=await (0,Q.v7)(e);e6(t),await eK(),e0(t.status)||(eN.current&&clearInterval(eN.current),eN.current=null,localStorage.removeItem("activeGenDocId"))}catch(e){}})()},2e3)},e3=(e,t,s)=>{eP(e),eB(n=>{let r=n.map(n=>n.key===e?{...n,status:t,description:s||n.description,subSteps:e2(n,t)}:n);return e1(r,e),r})};(0,r.useEffect)(()=>{if(!eg||!eL)return;let e=window.setInterval(()=>eB(e=>{let t=e.map(e=>{if(e.key!==eL||"process"!==e.status)return e;let t=e.subSteps.findIndex(e=>"process"===e.status),s=t<0?0:Math.min(t+1,e.subSteps.length-1);return{...e,subSteps:e.subSteps.map((e,t)=>t<s?{...e,status:"finish"}:t===s?{...e,status:"process"}:{...e,status:"wait"})}});return e1(t,eL),t}),1400);return()=>window.clearInterval(e)},[eL,eg]);let e5=e=>{eB(t=>{let s=t.findIndex(t=>t.key===e),n=t.map((e,t)=>t<s&&"error"!==e.status?{...e,status:"finish",subSteps:e2(e,"finish")}:e);return e1(n,e),n})},e7=e=>{let t=null!=e?e:{id:"tpl-".concat(Date.now()),name:"",description:"",category:"自定义",outputTitle:"",projectRoleConfigId:void 0,documentSpecId:void 0,chapters:[]};s.setFieldsValue({...t,chapters:t.chapters.map(e=>({...e,queriesText:e.queries.join("\n"),requiredFactsText:e.requiredFacts.join("\n"),pinnedEvidenceText:(e.pinnedEvidenceFilePaths||[]).join("\n")}))}),eD(!0)},e4=async()=>{try{let n=await s.validateFields(),r={...n,chapters:(n.chapters||[]).map(e=>({...e,queries:String(e.queriesText||"").split(/\r?\n/u).map(e=>e.trim()).filter(Boolean),requiredFacts:String(e.requiredFactsText||"").split(/\r?\n/u).map(e=>e.trim()).filter(Boolean),pinnedEvidenceFilePaths:String(e.pinnedEvidenceText||"").split(/\r?\n/u).map(e=>e.trim()).filter(Boolean),queriesText:void 0,requiredFactsText:void 0,pinnedEvidenceText:void 0}))},i=await (0,Q.l2)(r);ei(i.templates),ea(i.template.id),eD(!1),await eK(),t.success(e("common.success"))}catch(e){e instanceof Error&&t.error(e.message)}},e9=async s=>{try{let n=await (0,Q.bV)(s);ei(n.templates),ea(n.template.id),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},te=async s=>{try{var n,r;let i=await (0,Q.h0)(s);ei(i.templates),ea(null!=(r=null==(n=i.templates[0])?void 0:n.id)?r:""),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},tt=async e=>{try{let{validation:s}=await (0,Q.SM)(e);eM(t=>({...t,[e]:s}));let n=s.issues.filter(e=>"error"===e.level);if(ea(e),n.length>0)return void t.warning("模板运行前检查未通过,请先处理阻断项");if(s.issues.length>0)return void t.warning("模板存在警告,可在检查面板确认后继续运行");eJ(e)}catch(e){t.error(e instanceof Error?e.message:"模板运行前检查失败")}},ts=async s=>{try{await (0,Q.QG)(s),eS===s&&(eI(null),ew(null),ey("")),await eK(),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},tn=async e=>{let t=[{k:"chapter_generation",m:"后台任务已创建,正在轮询等待 LLM 章节生成完成…"},{k:"asset_generation",m:"正在轮询等待封面和生成资源写入本地记录…"},{k:"validation",m:"正在轮询等待校验、导出门禁和格式化完成…"},{k:"llm_review",m:"正在轮询等待 LLM 审查优化完成…"}],s=0;for(;;){var n;let{document:r}=await (0,Q.v7)(e);if(e6(r),("completed"===r.status||"warning"===r.status)&&r.draft)return r;if("failed"===r.status)throw Error(r.error||"生成失败");if(0===(r.executionStages||(null==(n=r.draft)?void 0:n.executionStages)||[]).length){let e=t[Math.min(s,t.length-1)];e5(e.k),e3(e.k,"process",e.m)}s++,await new Promise(e=>window.setTimeout(e,1500))}},tr=async()=>{if(!el)return;if(null==ee?void 0:ee.loading){eB(ee.flowSteps),eP(ee.activeFlowKey),ef(!0);return}ef(!0);let s=e$(Z.find(e=>e.id===el)||eU),n=(0,Q.OX)({templateId:el});ee={id:Date.now(),templateId:el,loading:!0,flowSteps:s,activeFlowKey:"prepare",promise:n,listeners:new Set},eB(s),eP("prepare");let r=[{k:"role_binding",m:"正在读取模板、文件角色、提示词角色和文档规范包…"},{k:"knowledge_retrieval",m:"正在从知识库检索章节证据、表格、图片和附件…"},{k:"file_understanding",m:"正在准备多模态文件理解…"},{k:"fact_extraction",m:"正在等待 LLM 事实抽取和后续章节生成结果…"}].map((e,t)=>window.setTimeout(()=>{e5(e.k),e3(e.k,"process",e.m)},600+900*t));try{let s=await n;s.documentId&&(localStorage.setItem("activeGenDocId",s.documentId),eI(s.documentId),(null==ee?void 0:ee.promise)===n&&(ee.documentId=s.documentId)),await eK();let i=s.documentId?await tn(s.documentId):void 0,a=s.draft||(null==i?void 0:i.draft);if(!a)throw Error("生成结果为空");(s.documentId||(null==i?void 0:i.id))&&eI(s.documentId||i.id),r.forEach(e=>window.clearTimeout(e)),e5("done"),ew(a),ey((null==i?void 0:i.editedMarkdown)||(null==i?void 0:i.markdown)||a.markdown),(null==ee?void 0:ee.promise)===n&&(ee.draft=a,ee.content=(null==i?void 0:i.editedMarkdown)||(null==i?void 0:i.markdown)||a.markdown),eB(t=>{let s=t.map(t=>{let s=a.executionStages.find(e=>e.type===t.key);if("prepare"===t.key)return{...t,status:"finish",description:e("documents.flowPrepareDone"),subSteps:e2(t,"finish")};if("done"===t.key){var n;let s=a.validationIssues.some(e=>"error"===e.level||"warning"===e.level)||!a.exportGate.passed,r=s?"warning":"finish",i=null==(n=a.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:n.message;return{...t,status:r,description:s?"生成完成,但需复核:".concat(i||e("documents.flowGateFailed")):e("documents.flowDoneDesc"),subSteps:e2(t,r)}}if(!s)return"process"===t.status?{...t,status:"finish",subSteps:e2(t,"finish")}:t;let r="failed"===s.status?"error":"finish";return{...t,status:r,description:"".concat(s.status.toUpperCase(),":").concat(s.message||t.description),subSteps:e2(t,r)}});return e1(s,"done",!1),s}),eP("done"),(null==ee?void 0:ee.promise)===n&&(ee.activeFlowKey="done",ee.loading=!1,et()),localStorage.removeItem("activeGenDocId"),await eK(),t.success(e("common.success")),window.setTimeout(()=>{var e;return null==(e=l.current)?void 0:e.scrollIntoView({behavior:"smooth",block:"start"})},200)}catch(r){localStorage.removeItem("activeGenDocId");let s=r instanceof Error?r.message:e("common.error");eB(e=>{let t=e.map(e=>"process"===e.status?{...e,status:"error",description:s,subSteps:e2(e,"error")}:e);return e1(t,eL,!1),t}),(null==ee?void 0:ee.promise)===n&&(ee.loading=!1,ee.error=s,et()),t.error(s)}finally{r.forEach(e=>window.clearTimeout(e)),ef(!1),(null==ee?void 0:ee.promise)===n&&(ee.loading=!1,et())}},ti=(0,r.useRef)(!1),tl=async s=>{(null==ee?void 0:ee.loading)&&(ee.loading=!1,ee.error="用户中止",et(),ee=null,ef(!1)),localStorage.removeItem("activeGenDocId"),eN.current&&(clearInterval(eN.current),eN.current=null);try{await (0,Q.r)(s.id),await eK(),eS===s.id&&(eI(null),ew(null),ey("")),t.success("已中止生成任务")}catch(s){t.error(e("common.error"))}};(0,r.useEffect)(()=>{eW&&"workflow"===eO&&!ti.current&&!(null==ee?void 0:ee.loading)&&(null==eU?void 0:eU.projectRoleConfigId)&&(ti.current=!0,window.setTimeout(()=>{tr()},300)),eW||(ti.current=!1)},[eW,eO]);let ta=async s=>{if(ev){eT(s);try{var n;let e="markdown"===s?"md":s,t=null==(n=ep.find(e=>e.id===(null==eU?void 0:eU.documentSpecId)))?void 0:n.wordTemplatePath,r=await (0,Q.UE)({documentId:eS||void 0,title:ev.title,markdown:ej,format:s,enforceGate:!1,exportGate:ev.exportGate,wordTemplatePath:t});((e,t,s)=>{let n=new Blob([e],{type:s}),r=URL.createObjectURL(n),i=document.createElement("a");i.href=r,i.download=t,i.target="_self",i.rel="noopener",i.style.display="none",document.body.appendChild(i),i.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),i.remove(),window.setTimeout(()=>URL.revokeObjectURL(r),1e3)})(r,"".concat(ev.title,".").concat(e),{markdown:"text/markdown;charset=utf-8",html:"text/html;charset=utf-8",pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}[s])}catch(s){t.error(s instanceof Error?s.message:e("common.error"))}finally{eT(null)}}},to=async()=>{if(ev)try{if(eS)await (0,Q.a6)(eS,{editedMarkdown:ej,markdown:ej});else{let e=await (0,Q.Af)({...ev,markdown:ej});ew(e.draft)}await eK(),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}},tc=async s=>{if(ev){e_(s.id);try{var n,r;let i=await (0,Q.R1)({templateId:ev.templateId,chapterId:s.id,documentId:eS||void 0,currentMarkdown:ej,existingFacts:null==(n=ev.structuredFacts)?void 0:n.map(e=>e.value)});ew({...ev,chapters:ev.chapters.map(e=>e.id===s.id?i.chapter:e)}),r=i.chapter,ey(e=>e.includes(s.content)?e.replace(s.content,r.content):"".concat(e,"\n\n").concat(r.content)),t.success(e("common.success"))}catch(s){t.error(e("common.error"))}finally{e_(null)}}};if(eh)return(0,n.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,n.jsx)(c.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,n.jsx)(c.A,{active:!0,paragraph:{rows:2}}),(0,n.jsx)(c.A,{active:!0,paragraph:{rows:8}})]});let td="workflow"===eO?"工作流:".concat((null==eU?void 0:eU.name)||"选择模板"):"编辑:".concat((null==ev?void 0:ev.title)||(null==eU?void 0:eU.outputTitle)||"文档");return(0,n.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"pageTitle",children:e("documents.title")}),(0,n.jsx)("p",{className:"pageDesc",children:e("documents.description")})]}),(0,n.jsx)(d.Ay,{type:"primary",icon:(0,n.jsx)(G.A,{}),onClick:()=>e7(),children:e("documents.newTemplate")})]}),(0,n.jsx)(u.A,{size:"small",tabList:[{key:"templates",label:"模板库 (".concat(Z.length,")")},{key:"drafts",label:"生成记录 (".concat(eA.length,")")}],activeTabKey:eR,onTabChange:eq,children:"templates"===eR?0===Z.length?(0,n.jsx)(p.A,{description:e("common.noData")}):(0,n.jsx)(m.A,{dataSource:Z,renderItem:(t,s)=>(0,n.jsx)(m.A.Item,{style:{cursor:"pointer",padding:"10px 0"},actions:[(0,n.jsx)(d.Ay,{size:"small",icon:(0,n.jsx)(O.A,{}),onClick:e=>{e.stopPropagation(),e7(t)},children:"配置"},"cfg"),(0,n.jsx)(d.Ay,{size:"small",type:"primary",icon:(0,n.jsx)(H.A,{}),onClick:e=>{e.stopPropagation(),tt(t.id)},children:"运行"},"run"),(0,n.jsx)(d.Ay,{size:"small",icon:(0,n.jsx)(N.A,{}),onClick:e=>{e.stopPropagation(),e9(t.id)}},"copy"),(0,n.jsx)(h.A,{title:e("documents.deleteTemplateConfirm"),disabled:t.builtIn,onConfirm:e=>{null==e||e.stopPropagation(),te(t.id)},children:(0,n.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,n.jsx)(W.A,{}),disabled:t.builtIn,onClick:e=>e.stopPropagation()})},"del")],onClick:()=>ea(t.id),children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,minWidth:0,flex:1},children:[function(e,t){let s=en[e]||(0,n.jsx)(P.A,{});return(0,n.jsx)("span",{style:{color:t?"var(--colorAccent)":"var(--colorTextSecondary)",fontSize:16,marginTop:2,flexShrink:0},children:s})}(t.category,el===t.id),(0,n.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:2},children:[(0,n.jsx)("span",{style:{fontWeight:el===t.id?600:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.name}),t.builtIn&&(0,n.jsx)(x.A,{color:"gold",style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:"内置"}),el===t.id&&(0,n.jsx)(x.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:"当前"}),(0,n.jsx)(x.A,{style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:t.category}),eF[t.id]&&(0,n.jsxs)(x.A,{color:eF[t.id].issues.some(e=>"error"===e.level)?"error":eF[t.id].issues.length?"warning":"success",style:{margin:0,fontSize:10,lineHeight:"16px",flexShrink:0},children:["检查 ",eF[t.id].fileDiagnostics.length," 文件 / ",eF[t.id].promptDiagnostics.length," 提示词"]})]}),t.description&&(0,n.jsx)($,{type:"secondary",style:{fontSize:12,lineHeight:"18px"},children:t.description}),eF[t.id]&&(0,n.jsx)("div",{onClick:e=>e.stopPropagation(),style:{marginTop:8,padding:10,border:"1px solid ".concat(eF[t.id].issues.some(e=>"error"===e.level)?"var(--colorErrorBorder)":eF[t.id].issues.length?"var(--colorWarningBorder)":"var(--colorSuccessBorder)"),borderRadius:10,background:eF[t.id].issues.some(e=>"error"===e.level)?"var(--colorErrorBg)":eF[t.id].issues.length?"var(--colorWarningBg)":"var(--colorSuccessBg)"},children:(0,n.jsxs)(g.A,{direction:"vertical",size:6,style:{width:"100%"},children:[(0,n.jsxs)(g.A,{wrap:!0,children:[(0,n.jsx)($,{strong:!0,children:eF[t.id].issues.some(e=>"error"===e.level)?"运行前检查未通过":eF[t.id].issues.length?"运行前检查存在警告":"运行前检查通过"}),(0,n.jsxs)(x.A,{color:"blue",children:["文件角色 ",eF[t.id].fileDiagnostics.length]}),(0,n.jsxs)(x.A,{color:"purple",children:["提示词角色 ",eF[t.id].promptDiagnostics.length]}),eF[t.id].spec&&(0,n.jsxs)(x.A,{color:"cyan",children:["规范包 ",eF[t.id].spec.name]})]}),eF[t.id].issues.length>0?eF[t.id].issues.map(e=>(0,n.jsx)(f.A,{type:"error"===e.level?"error":"warning",message:e.message,showIcon:!0},e.message)):(0,n.jsx)(f.A,{type:"success",message:"文件角色、提示词角色和规范包检查通过,可以运行。",showIcon:!0}),!eF[t.id].issues.some(e=>"error"===e.level)&&eF[t.id].issues.length>0&&(0,n.jsx)("div",{children:(0,n.jsx)(d.Ay,{size:"small",type:"primary",icon:(0,n.jsx)(H.A,{}),onClick:()=>eJ(t.id),children:"忽略警告并继续运行"})})]})})]})]})})}):0===eA.length?(0,n.jsx)(p.A,{description:e("common.noData")}):(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:eA.slice(0,15).map((e,t)=>{var s,r,i;let l,a;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,padding:"10px 12px",border:"1px solid var(--colorBorderSecondary)",borderRadius:10,cursor:"pointer",background:eS===e.id?"var(--colorFillAlter)":void 0,minWidth:0},onClick:()=>{eY(e)},children:["completed"===e.status?(0,n.jsx)(E.A,{style:{fontSize:18,color:"var(--colorOk)",flexShrink:0,marginTop:2}}):"failed"===e.status?(0,n.jsx)(K.A,{style:{fontSize:18,color:"var(--colorDanger)",flexShrink:0,marginTop:2}}):"warning"===e.status?(0,n.jsx)(M.A,{style:{fontSize:18,color:"var(--colorWarning)",flexShrink:0,marginTop:2}}):(0,n.jsx)(U.A,{spin:!0,style:{fontSize:18,color:"#1677ff",flexShrink:0,marginTop:2}}),(0,n.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,n.jsx)("div",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:3},children:e.title}),(0,n.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 10px",color:"var(--colorTextSecondary)",fontSize:11},children:[(0,n.jsx)("span",{children:new Date(e.updatedAt).toLocaleString()}),(0,n.jsxs)("span",{children:["耗时 ",(e=>{let t=Math.max(0,Math.round(((e.completedAt||e.updatedAt)-e.createdAt)/1e3));if(t<60)return"".concat(t," 秒");let s=Math.floor(t/60),n=t%60;if(s<60)return n?"".concat(s," 分 ").concat(n," 秒"):"".concat(s," 分");let r=Math.floor(s/60),i=s%60;return i?"".concat(r," 小时 ").concat(i," 分"):"".concat(r," 小时")})(e)]})]}),("warning"===e.status||"failed"===e.status)&&(0,n.jsx)("div",{style:{marginTop:3,color:"failed"===e.status?"var(--colorError)":"var(--colorWarning)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(null==(s=e.warningIssues)?void 0:s[0])||(null==(i=e.draft)||null==(r=i.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:r.message)||"需复核"})]}),(0,n.jsxs)(g.A,{size:4,align:"center",children:[(0,n.jsx)(x.A,{color:"completed"===(l=e.status)?"success":"warning"===l?"warning":"failed"===l?"error":"processing",style:{margin:0,fontSize:10,lineHeight:"18px"},children:"completed"===(a=e.status)?"已完成":"warning"===a?"需复核":"failed"===a?"失败":"生成中"}),(0,n.jsxs)(x.A,{style:{margin:0,fontSize:10,lineHeight:"18px"},children:["#",t+1]}),(0,n.jsx)(h.A,{title:"确认删除?",onConfirm:t=>{null==t||t.stopPropagation(),ts(e.id)},children:(0,n.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,n.jsx)(W.A,{}),onClick:e=>e.stopPropagation()})}),e0(e.status)&&(0,n.jsx)(h.A,{title:"确定中止此生成任务?",onConfirm:t=>{null==t||t.stopPropagation(),tl(e)},children:(0,n.jsx)(d.Ay,{size:"small",danger:!0,onClick:e=>e.stopPropagation(),children:"中止"})}),(0,n.jsx)(d.Ay,{size:"small",type:"primary",icon:e0(e.status)?(0,n.jsx)(U.A,{spin:!0}):(0,n.jsx)(H.A,{}),onClick:t=>{t.stopPropagation(),eY(e)},children:"打开"})]})]},e.id)})})}),(0,n.jsx)(v.A,{title:td,open:eW,onClose:()=>{eG(!1),eN.current&&(clearInterval(eN.current),eN.current=null)},width:800,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:ev?(0,n.jsxs)(g.A,{wrap:!0,children:[(0,n.jsx)(d.Ay,{icon:(0,n.jsx)(X.A,{}),onClick:()=>{to()},children:e("documents.saveDraft")}),(0,n.jsx)(d.Ay,{icon:(0,n.jsx)(R.A,{}),loading:"markdown"===eb,onClick:()=>{ta("markdown")},children:"MD"}),(0,n.jsx)(d.Ay,{loading:"html"===eb,onClick:()=>{ta("html")},children:"HTML"}),(0,n.jsx)(d.Ay,{loading:"docx"===eb,onClick:()=>{ta("docx")},children:"DOCX"}),(0,n.jsx)(d.Ay,{type:"primary",loading:"pdf"===eb,onClick:()=>{ta("pdf")},children:"PDF"})]}):eg&&"workflow"===eO?(0,n.jsx)(d.Ay,{danger:!0,onClick:()=>{(async()=>{eS&&await (0,Q.r)(eS).catch(()=>void 0),ee&&(ee.loading=!1,ee.error="用户中止",et(),ee=null),localStorage.removeItem("activeGenDocId"),eN.current&&(clearInterval(eN.current),eN.current=null),ef(!1),eB([]),eP(null),eG(!1),await eK(),t.info("已中止生成任务")})()},children:"中止任务"}):void 0,children:(0,n.jsxs)(g.A,{direction:"vertical",style:{width:"100%"},size:"middle",children:["workflow"===eO&&eE.length>0&&(0,n.jsx)(w.A,{direction:"vertical",size:"small",current:eQ,items:eE.map(e=>{let t;return{title:e.title,description:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{children:e.description}),(0,n.jsx)("div",{style:{marginTop:4},children:e.subSteps.map(e=>{var t;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,fontSize:12,color:"var(--colorTextSecondary)"},children:["process"===(t=e.status)?(0,n.jsx)(q.A,{}):"finish"===t?(0,n.jsx)(E.A,{}):"warning"===t?(0,n.jsx)(M.A,{style:{color:"var(--colorWarning)"}}):"error"===t?(0,n.jsx)(W.A,{}):(0,n.jsx)("span",{style:{display:"inline-block",height:6,width:6,borderRadius:"50%",background:"var(--colorTextTertiary)"}}),(0,n.jsx)("span",{children:e.title})]},e.key)})})]}),status:"warning"===(t=e.status)?"finish":t,icon:"process"===e.status?(0,n.jsx)(q.A,{}):"warning"===e.status?(0,n.jsx)(M.A,{style:{color:"var(--colorWarning)"}}):e.icon}})}),"workflow"===eO&&eg&&0===eE.length&&(0,n.jsx)("div",{style:{textAlign:"center",padding:40},children:(0,n.jsx)(j.A,{tip:"正在准备生成…"})}),ev&&(0,n.jsx)("div",{ref:l,children:(0,n.jsx)(y.A,{items:[{key:"edit",label:e("documents.edit"),children:(0,n.jsx)(Y,{rows:35,value:ej,onChange:e=>ey(e.target.value)})},{key:"chapters-facts",label:"章节与事实",children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[ev.chapters.length>0&&(0,n.jsxs)("div",{children:[(0,n.jsxs)($,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["章节 (",ev.chapters.length,")"]}),(0,n.jsx)(m.A,{size:"small",dataSource:ev.chapters,renderItem:e=>(0,n.jsx)(m.A.Item,{actions:[(0,n.jsx)(d.Ay,{size:"small",icon:(0,n.jsx)(V.A,{}),loading:eC===e.id,onClick:()=>{tc(e)},children:"重新生成"},"regen")],children:(0,n.jsx)(m.A.Item.Meta,{title:e.title,description:"证据: ".concat(e.evidence.length," \xb7 缺失: ").concat(e.missingFacts.length)})})})]}),ev.structuredFacts.length>0&&(0,n.jsxs)("div",{children:[(0,n.jsxs)($,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["结构化事实 (",ev.structuredFacts.length,")"]}),(0,n.jsx)(A.A,{size:"small",column:1,bordered:!0,children:ev.structuredFacts.map((e,t)=>(0,n.jsxs)(A.A.Item,{label:e.key,children:[(0,n.jsx)("span",{children:e.value}),(0,n.jsx)(x.A,{style:{marginLeft:8},children:e.confidence.toFixed(2)}),(0,n.jsx)($,{type:"secondary",style:{fontSize:11,marginLeft:8},children:e.sourceFile})]},t))})]})]})},{key:"sources-missing",label:"来源与缺失",children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)($,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["引用来源 (",ev.sources.length,")"]}),0===ev.sources.length?(0,n.jsx)(p.A,{description:"暂无"}):(0,n.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:ev.sources.map(e=>(0,n.jsxs)(x.A,{color:"blue",children:[e.filePath," (",e.count,")"]},e.filePath))})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)($,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["缺失项 (",ev.missingItems.length,")"]}),0===ev.missingItems.length?(0,n.jsx)(p.A,{description:"无缺失"}):(0,n.jsx)(m.A,{size:"small",dataSource:ev.missingItems,renderItem:e=>(0,n.jsx)(m.A.Item,{children:e})})]})]})},{key:"validation",label:"校验 (".concat(ev.validationIssues.length,")"),children:0===ev.validationIssues.length?(0,n.jsx)(p.A,{description:"校验通过"}):(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[ev.validationIssues.map(e=>(0,n.jsxs)("div",{style:{border:"1px solid var(--colorBorderSecondary)",borderRadius:8,padding:12},children:[(0,n.jsx)(x.A,{color:"error"===e.level?"error":"warning"===e.level?"warning":"blue",children:e.level}),(0,n.jsx)("div",{style:{marginTop:6,whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all",lineHeight:1.6},children:e.message}),e.suggestion&&(0,n.jsx)("div",{style:{marginTop:6,color:"var(--colorTextSecondary)",whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all"},children:e.suggestion})]},"".concat(e.level,"-").concat(e.message))),ev.exportGate.checklist.length>0&&(0,n.jsxs)("div",{style:{marginTop:8},children:[(0,n.jsx)($,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:"导出门禁"}),(0,n.jsx)(m.A,{size:"small",dataSource:ev.exportGate.checklist,renderItem:e=>(0,n.jsxs)(m.A.Item,{children:[(0,n.jsx)($,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:e.label}),(0,n.jsx)(x.A,{color:e.passed?"success":"error",children:e.passed?"PASS":"FAIL"})]})})]})]})},{key:"stages",label:"执行阶段 (".concat(ev.executionStages.length,")"),children:(0,n.jsx)(m.A,{size:"small",dataSource:ev.executionStages,renderItem:e=>(0,n.jsxs)(m.A.Item,{children:[(0,n.jsx)(m.A.Item.Meta,{avatar:es[e.type]||(0,n.jsx)(P.A,{}),title:(0,n.jsx)($,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:"".concat(er[e.type]||e.type," \xb7 ").concat(e.roleId)}),description:(0,n.jsx)($,{type:"secondary",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-word"},children:e.message})}),(0,n.jsx)(x.A,{color:"success"===e.status?"success":"failed"===e.status?"error":"skipped"===e.status?"default":"warning",children:e.status})]})})}]})})]})}),(0,n.jsx)(k.A,{maskClosable:!1,title:e("documents.templateEditor"),open:ez,onOk:()=>{e4()},onCancel:()=>eD(!1),width:760,centered:!0,okText:e("common.save"),cancelText:e("common.cancel"),children:(0,n.jsxs)(o.A,{form:s,layout:"vertical",requiredMark:"optional",children:[(0,n.jsxs)(S.A,{gutter:12,children:[(0,n.jsx)(o.A.Item,{name:"id",hidden:!0,children:(0,n.jsx)(i.A,{})}),(0,n.jsx)(I.A,{xs:24,md:8,children:(0,n.jsx)(o.A.Item,{name:"name",label:e("documents.templateName"),rules:[{required:!0}],children:(0,n.jsx)(i.A,{})})}),(0,n.jsx)(I.A,{xs:24,md:8,children:(0,n.jsx)(o.A.Item,{name:"category",label:e("documents.templateCategory"),children:(0,n.jsx)(i.A,{})})}),(0,n.jsx)(I.A,{xs:24,md:8,children:(0,n.jsx)(o.A.Item,{name:"outputTitle",label:e("documents.outputTitle"),children:(0,n.jsx)(i.A,{})})}),(0,n.jsx)(I.A,{xs:24,md:12,children:(0,n.jsx)(o.A.Item,{name:"description",label:e("documents.templateDescription"),children:(0,n.jsx)(i.A,{})})})]}),(0,n.jsx)(o.A.Item,{name:"projectRoleConfigId",label:e("documents.projectRoleConfig"),rules:[{required:!0,message:e("documents.projectRoleConfigRequired")}],children:(0,n.jsx)(b.A,{showSearch:!0,placeholder:e("documents.projectRoleConfigRequired"),options:eX})}),(0,n.jsx)(o.A.Item,{name:"documentSpecId",label:e("documents.documentSpec"),children:(0,n.jsx)(b.A,{allowClear:!0,showSearch:!0,placeholder:e("documents.documentSpecPlaceholder"),options:eV})}),(0,n.jsx)(o.A.List,{name:"chapters",children:(e,t)=>{let{add:s,remove:r}=t;return(0,n.jsxs)("div",{children:[(0,n.jsxs)(g.A,{style:{marginBottom:8},children:[(0,n.jsx)($,{strong:!0,children:"章节结构"}),(0,n.jsx)(d.Ay,{size:"small",icon:(0,n.jsx)(G.A,{}),onClick:()=>s({id:"chapter-".concat(Date.now()),title:"",purpose:"",queries:[],requiredFacts:[]}),children:"添加章节"})]}),e.map(e=>(0,n.jsx)(u.A,{size:"small",style:{marginBottom:8},children:(0,n.jsxs)(S.A,{gutter:8,children:[(0,n.jsx)(I.A,{span:6,children:(0,n.jsx)(o.A.Item,{name:[e.name,"id"],label:"章节 ID",rules:[{required:!0}],children:(0,n.jsx)(i.A,{})})}),(0,n.jsx)(I.A,{span:8,children:(0,n.jsx)(o.A.Item,{name:[e.name,"title"],label:"标题",rules:[{required:!0}],children:(0,n.jsx)(i.A,{})})}),(0,n.jsx)(I.A,{span:8,children:(0,n.jsx)(o.A.Item,{name:[e.name,"purpose"],label:"目的",children:(0,n.jsx)(i.A,{})})}),(0,n.jsx)(I.A,{span:2,children:(0,n.jsx)(d.Ay,{danger:!0,size:"small",onClick:()=>r(e.name),children:"删除"})}),(0,n.jsx)(I.A,{span:12,children:(0,n.jsx)(o.A.Item,{name:[e.name,"queriesText"],label:"查询词(每行一个)",children:(0,n.jsx)(Y,{rows:3})})}),(0,n.jsx)(I.A,{span:12,children:(0,n.jsx)(o.A.Item,{name:[e.name,"requiredFactsText"],label:"必需事实(每行一个)",children:(0,n.jsx)(Y,{rows:3})})}),(0,n.jsx)(I.A,{span:24,children:(0,n.jsx)(o.A.Item,{name:[e.name,"pinnedEvidenceText"],label:"高级可选:人工确认优先证据",children:(0,n.jsx)(Y,{rows:2,placeholder:"通常无需手动填写。仅当系统自动检索不稳定或必须指定官方资料时,每行填写一个 knowledgeBase 相对路径"})})})]})},e.key))]})}})]})})]})}}},e=>{e.O(0,[433,787,576,195,455,506,412,447,636,593,792],()=>e(e.s=16403)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[332],{15766:(e,u,_)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return _(76933)}])},76933:(e,u,_)=>{"use strict";_.r(u),_.d(u,{default:()=>t});var n=_(97109),r=_(86109);function t(){let e=(0,r.useRouter)();return(0,n.useEffect)(()=>{e.replace("/overview")},[e]),null}}},e=>{e.O(0,[636,593,792],()=>e(e.s=15766)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[28],{1611:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"database",theme:"outlined"}},10218:(e,t,l)=>{"use strict";l.d(t,{A:()=>g,H:()=>m});var r=l(97109),n=l(4932),a=l(42644);let i=e=>"object"==typeof e&&null!=e&&1===e.nodeType,s=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,o=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){let l=getComputedStyle(e,null);return s(l.overflowY,t)||s(l.overflowX,t)||(e=>{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},c=(e,t,l,r,n,a,i,s)=>a<e&&i>t||a>e&&i<t?0:a<=e&&s<=l||i>=t&&s>=l?a-e-r:i>t&&s<l||a<e&&s>l?i-t+n:0,u=e=>{let t=e.parentElement;return null==t?e.getRootNode().host||null:t},d=(e,t)=>{var l,r,n,a;if("undefined"==typeof document)return[];let{scrollMode:s,block:d,inline:h,boundary:f,skipOverflowHiddenElements:m}=t,p="function"==typeof f?f:e=>e!==f;if(!i(e))throw TypeError("Invalid target");let g=document.scrollingElement||document.documentElement,v=[],y=e;for(;i(y)&&p(y);){if((y=u(y))===g){v.push(y);break}null!=y&&y===document.body&&o(y)&&!o(document.documentElement)||null!=y&&o(y,m)&&v.push(y)}let x=null!=(r=null==(l=window.visualViewport)?void 0:l.width)?r:innerWidth,w=null!=(a=null==(n=window.visualViewport)?void 0:n.height)?a:innerHeight,{scrollX:j,scrollY:b}=window,{height:_,width:A,top:C,right:z,bottom:k,left:P}=e.getBoundingClientRect(),{top:S,right:M,bottom:N,left:I}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),H="start"===d||"nearest"===d?C-S:"end"===d?k+N:C+_/2-S+N,E="center"===h?P+A/2-I+M:"end"===h?z+M:P-I,F=[];for(let e=0;e<v.length;e++){let t=v[e],{height:l,width:r,top:n,right:a,bottom:i,left:u}=t.getBoundingClientRect();if("if-needed"===s&&C>=0&&P>=0&&k<=w&&z<=x&&(t===g&&!o(t)||C>=n&&k<=i&&P>=u&&z<=a))break;let f=getComputedStyle(t),m=parseInt(f.borderLeftWidth,10),p=parseInt(f.borderTopWidth,10),y=parseInt(f.borderRightWidth,10),S=parseInt(f.borderBottomWidth,10),M=0,N=0,I="offsetWidth"in t?t.offsetWidth-t.clientWidth-m-y:0,O="offsetHeight"in t?t.offsetHeight-t.clientHeight-p-S:0,V="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,T="offsetHeight"in t?0===t.offsetHeight?0:l/t.offsetHeight:0;if(g===t)M="start"===d?H:"end"===d?H-w:"nearest"===d?c(b,b+w,w,p,S,b+H,b+H+_,_):H-w/2,N="start"===h?E:"center"===h?E-x/2:"end"===h?E-x:c(j,j+x,x,m,y,j+E,j+E+A,A),M=Math.max(0,M+b),N=Math.max(0,N+j);else{M="start"===d?H-n-p:"end"===d?H-i+S+O:"nearest"===d?c(n,i,l,p,S+O,H,H+_,_):H-(n+l/2)+O/2,N="start"===h?E-u-m:"center"===h?E-(u+r/2)+I/2:"end"===h?E-a+y+I:c(u,a,r,m,y+I,E,E+A,A);let{scrollLeft:e,scrollTop:s}=t;M=0===T?0:Math.max(0,Math.min(s+M/T,t.scrollHeight-l/T+O)),N=0===V?0:Math.max(0,Math.min(e+N/V,t.scrollWidth-r/V+I)),H+=s-M,E+=e-N}F.push({el:t,top:M,left:N})}return F};var h=l(26047),f=l(44624);function m(e){return(0,f.$r)(e).join("_")}function p(e,t){let l=t.getFieldInstance(e),r=(0,a.rb)(l);if(r)return r;let n=(0,f.kV)((0,f.$r)(e),t.__INTERNAL__.name);if(n)return document.getElementById(n)}function g(e){let[t]=(0,n.mN)(),l=r.useRef({}),a=r.useMemo(()=>e??{...t,__INTERNAL__:{itemRef:e=>t=>{let r=m(e);t?l.current[r]=t:delete l.current[r]}},scrollToField:(e,t={})=>{let{focus:l,...r}=t,n=p(e,a);n&&(!function(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;let l=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if("object"==typeof t&&"function"==typeof t.behavior)return t.behavior(d(e,t));let r="boolean"==typeof t||null==t?void 0:t.behavior;for(let{el:n,top:a,left:i}of d(e,!1===t?{block:"end",inline:"nearest"}:t===Object(t)&&0!==Object.keys(t).length?t:{block:"start",inline:"nearest"})){let e=a-l.top+l.bottom,t=i-l.left+l.right;n.scroll({top:e,left:t,behavior:r})}}(n,{scrollMode:"if-needed",block:"nearest",...r}),l&&a.focusField(e))},focusField:e=>{let t=a.getFieldInstance(e);(0,h.Tn)(t?.focus)?t.focus():p(e,a)?.focus?.()},getFieldInstance:e=>{let t=m(e);return l.current[t]}},[e,t]);return[a]}},12887:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"}}]},name:"file-text",theme:"outlined"}},13067:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0010.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 00-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z"}}]},name:"file-excel",theme:"outlined"}},14569:e=>{e.exports={featureLabel:"style_featureLabel__XFSTX",featureValue:"style_featureValue__I_wMP",filterInput:"style_filterInput__4_Elu",filterSelect:"style_filterSelect__vUBJ9",statusCard:"style_statusCard__H7Mee",statusSummary:"style_statusSummary__7KavF",statusSummaryText:"style_statusSummaryText__Shw3j",statusClearBtn:"style_statusClearBtn__uJ9bE",statusExpandBtn:"style_statusExpandBtn__HhgIj",statusFilters:"style_statusFilters__g_LbG",filterPill:"style_filterPill__1pjFW",filterPillActive:"style_filterPillActive___UZVi",statusPanel:"style_statusPanel__9arTu",statusEmpty:"style_statusEmpty__8LWzH",timelineList:"style_timelineList__dqJrz",timelineItem:"style_timelineItem__dbuL_",timelineStatusIcon:"style_timelineStatusIcon__SkRwb",timelinePercent:"style_timelinePercent__pEyH4",timelineRow:"style_timelineRow__EDOVa",timelineTitle:"style_timelineTitle__Yujr8",timelineClose:"style_timelineClose__Byx_9",timelineDetail:"style_timelineDetail__nALei",timelineDesc:"style_timelineDesc__FMjWE",timelinePath:"style_timelinePath__C9VQI",timelineMeta:"style_timelineMeta__u_pCn",timelineMetaTag:"style_timelineMetaTag__G3jF1",timelineExpandArrow:"style_timelineExpandArrow__xIBdF",timelineExpandArrowOpen:"style_timelineExpandArrowOpen__TWWDC",fileNameCell:"style_fileNameCell__EHsnt",folderName:"style_folderName__VhLXP",folderRow:"style_folderRow__d7k9S",searchResultList:"style_searchResultList__cVKZg",searchResultItem:"style_searchResultItem__boj6D",searchResultHeader:"style_searchResultHeader__meVdJ",searchContent:"style_searchContent__XbUVk",pdfPreviewStrip:"style_pdfPreviewStrip__94_eG",drawingPreview:"style_drawingPreview__lkk_L"}},23793:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"}},25258:(e,t,l)=>{"use strict";l.d(t,{A:()=>w});var r=l(51541),n=l(61848),a=l(5669),i=l(97109),s=l(72658),o=l(3638),c=l(92162),u=l(82725),d=l(74567),h=l(632),f=l(49517),m=l(79412),p=l(19527);let g=(0,u.U)(e=>{let{prefixCls:t,className:l,closeIcon:r,closable:n,type:a,title:u,children:g,footer:v,classNames:y,styles:x,...w}=e,{getPrefixCls:j}=i.useContext(d.QO),{className:b,style:_,classNames:A,styles:C}=(0,d.TP)("modal"),z=j(),k=t||j("modal"),P=(0,h.A)(z),[S,M]=(0,p.Ay)(k,P),[N,I]=(0,c.AV)([A,y],[C,x],{props:e}),H=`${k}-confirm`,E={};return E=a?{closable:n??!1,title:"",footer:"",children:i.createElement(f.k,{...e,prefixCls:k,confirmPrefixCls:H,rootPrefixCls:z,content:g})}:{closable:n??!0,title:u,footer:null!==v&&i.createElement(m.w,{...e}),children:g},i.createElement(s.Z,{prefixCls:k,className:(0,o.$)(S,`${k}-pure-panel`,a&&H,a&&`${H}-${a}`,l,b,M,P,N.root),style:{..._,...I.root},...w,closeIcon:(0,m.O)(k,r),closable:n,classNames:N,styles:I,...E})});var v=l(99739);function y(e){return(0,r.Ay)((0,r.fp)(e))}let x=a.A;x.useModal=v.A,x.info=function(e){return(0,r.Ay)((0,r.$D)(e))},x.success=function(e){return(0,r.Ay)((0,r.Ej)(e))},x.error=function(e){return(0,r.Ay)((0,r.jT)(e))},x.warning=y,x.warn=y,x.confirm=function(e){return(0,r.Ay)((0,r.lr)(e))},x.destroyAll=function(){for(;n.A.length;){let e=n.A.pop();e&&e()}},x.config=r.FB,x._InternalPanelDoNotUseOrYouWillBeFired=g;let w=x},26619:(e,t,l)=>{"use strict";l.d(t,{A:()=>s});var r=l(97109),n=l(1611),a=l(88483);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let s=r.forwardRef((e,t)=>r.createElement(a.A,i({},e,{ref:t,icon:n.A})))},26631:(e,t,l)=>{"use strict";l.d(t,{A:()=>s});var r=l(97109),n=l(12887),a=l(88483);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let s=r.forwardRef((e,t)=>r.createElement(a.A,i({},e,{ref:t,icon:n.A})))},30289:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"}},44624:(e,t,l)=>{"use strict";l.d(t,{$r:()=>n,BS:()=>i,kV:()=>a});let r=["parentNode"];function n(e){return void 0===e||!1===e?[]:Array.isArray(e)?e:[e]}function a(e,t){if(!e.length)return;let l=e.join("_");return t?`${t}_${l}`:r.includes(l)?`form_item_${l}`:l}function i(e,t,l,r,n,a){let i=r;return void 0!==a?i=a:l.validating?i="validating":e.length?i="error":t.length?i="warning":(l.touched||n&&l.validated)&&(i="success"),i}},45551:(e,t,l)=>{"use strict";function r(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),l=e/Math.pow(1024,t);return"".concat(l.toFixed(+(0!==t))," ").concat(["B","KB","MB","GB","TB"][t])}function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===t?"Never":"从未";let l=Math.floor(Math.floor((Date.now()-e)/1e3)/60),r=Math.floor(l/60),n=Math.floor(r/24);return n>30?new Date(e).toLocaleDateString(t):"en-US"===t?n>0?"".concat(n,"d ago"):r>0?"".concat(r,"h ago"):l>0?"".concat(l,"m ago"):"Just now":n>0?"".concat(n," 天前"):r>0?"".concat(r," 小时前"):l>0?"".concat(l," 分钟前"):"刚刚"}l.d(t,{Jm:()=>s,fw:()=>n,z3:()=>r});let a={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},i={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function s(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===l?i:a)[e])?t:e}},48893:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 00-12.6 0l-99.8 127.2a7.98 7.98 0 006.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 00-12.7 0zM360 442a40 40 0 1080 0 40 40 0 10-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file-image",theme:"outlined"}},53234:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM496 208H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 244a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"hdd",theme:"outlined"}},58209:(e,t,l)=>{"use strict";l.d(t,{A:()=>s});var r=l(97109),n=l(23793),a=l(88483);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let s=r.forwardRef((e,t)=>r.createElement(a.A,i({},e,{ref:t,icon:n.A})))},58520:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 00-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 00-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z"}}]},name:"file-word",theme:"outlined"}},61825:(e,t,l)=>{"use strict";l.d(t,{A:()=>s});var r=l(97109),n=l(30289),a=l(88483);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let s=r.forwardRef((e,t)=>r.createElement(a.A,i({},e,{ref:t,icon:n.A})))},82738:(e,t,l)=>{"use strict";l.r(t),l.d(t,{default:()=>ee});var r=l(65321),n=l(97109),a=l(79059),i=l(43220),s=l.n(i),o=l(86109),c=l(17807),u=l(25258),d=l(11702),h=l(33442),f=l(14932),m=l(85114),p=l(7576),g=l(57271),v=l(68787),y=l(99605),x=l(21289),w=l(56768),j=l(48893),b=l(88483);function _(){return(_=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let A=n.forwardRef((e,t)=>n.createElement(b.A,_({},e,{ref:t,icon:j.A})));var C=l(13067);function z(){return(z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let k=n.forwardRef((e,t)=>n.createElement(b.A,z({},e,{ref:t,icon:C.A})));var P=l(58520);function S(){return(S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let M=n.forwardRef((e,t)=>n.createElement(b.A,S({},e,{ref:t,icon:P.A})));var N=l(90939);function I(){return(I=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let H=n.forwardRef((e,t)=>n.createElement(b.A,I({},e,{ref:t,icon:N.A})));var E=l(93314),F=l(61825),O=l(26619),V=l(29606),T=l(26631),B=l(64254),L=l(64629),R=l(58209),D=l(30486),W=l(92803);function $(){return($=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let U=n.forwardRef((e,t)=>n.createElement(b.A,$({},e,{ref:t,icon:W.A})));var J=l(84742),Q=l(38762),X=l(6578),q=l(45551),G=l(14569),K=l.n(G);let Y=["document","spreadsheet","image","cad","code","data","web","diagram","other"],Z=/\.(zip|jar|war|apk|tar|gz|tgz|bz2|rar|7z)$/iu;function ee(){let e=(0,a.Vr)("knowledge"),{locale:t}=(0,a.x_)(),{message:l}=c.A.useApp(),i=(0,o.useRouter)(),j="string"==typeof i.query.category?i.query.category:"",[b,_]=(0,n.useState)([]),[C,z]=(0,n.useState)(!1),[P,S]=(0,n.useState)(""),[N,I]=(0,n.useState)(""),[W,$]=(0,n.useState)(j),[G,ee]=(0,n.useState)(!1),[et,el]=(0,n.useState)(!1),[er,en]=(0,n.useState)([]),[ea,ei]=(0,n.useState)([]),[es,eo]=(0,n.useState)(new Set),[ec,eu]=(0,n.useState)("all"),[ed,eh]=(0,n.useState)("user"),[ef,em]=(0,n.useState)(!0),[ep,eg]=(0,n.useState)([]),[ev,ey]=(0,n.useState)(new Set),ex=(0,n.useRef)(W);(0,n.useEffect)(()=>{ex.current=W},[W]),(0,n.useEffect)(()=>{$("string"==typeof i.query.category?i.query.category:"")},[i.query.category]);let ew=(0,n.useCallback)(async(e,t)=>{let l=null!=e?e:ex.current;(null==t?void 0:t.silent)||(z(!0),S(""));try{let e=await (0,X.HT)({category:l||void 0,limit:200});_(e.files||[]),e.initializing&&window.setTimeout(()=>{ew(l,{silent:!0})},3e3)}catch(e){(null==t?void 0:t.silent)||(_([]),S(e instanceof Error?e.message:"文件列表加载失败"))}finally{(null==t?void 0:t.silent)||z(!1)}},[]);(0,n.useEffect)(()=>{ew(W)},[W,ew]);let ej=e=>({id:e.id,type:e.type,title:e.title,description:e.message,status:e.status,percent:e.percent,filePath:e.filePath,chunkCount:e.chunkCount,textLength:e.textLength,extractionMode:e.extractionMode,error:e.error,createdAt:e.createdAt}),eb=(0,n.useCallback)(async()=>{try{let e=(await (0,X.Qx)()).operations.map(ej);en(t=>{let l=new Set(e.map(e=>e.id).filter(Boolean)),r=e.map(e=>{var l;let r=t.find(t=>t.id===e.id);return r?{...r,...e,createdAt:null!=(l=r.createdAt)?l:e.createdAt}:e}),n=t.filter(e=>e.id&&!l.has(e.id)&&"processing"===e.status);return[...r,...n].slice(0,50)})}catch(e){}},[]),e_=(0,n.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];en(l=>{let r=l.findIndex(l=>e.id&&l.id===e.id||t.includes(l.title));if(r>=0){var n;let t=[...l];return t[r]={...l[r],...e,createdAt:null!=(n=l[r].createdAt)?n:e.createdAt},t}return[e,...l].slice(0,50)})},[]);(0,n.useEffect)(()=>{eb()},[eb]);let eA=async()=>{try{await (0,X.H7)(),en([]),l.success("任务状态已清空")}catch(e){l.error("清空任务状态失败")}},eC=async(e,t)=>{if(t.stopPropagation(),e.id)try{await (0,X.CU)(e.id)}catch(e){}en(t=>t.filter(t=>t!==e))},ez=(0,n.useMemo)(()=>{let e=0,t=0,l=0;for(let r of er)"processing"===r.status?e++:"success"===r.status?t++:("error"===r.status||"warning"===r.status)&&l++;return{processing:e,success:t,error:l}},[er]);(0,n.useEffect)(()=>{ez.processing>0&&em(!1)},[ez.processing]),(0,n.useEffect)(()=>{if(0===ez.processing)return;let e=window.setInterval(()=>{eb()},2e3),t=window.setInterval(()=>{ew(void 0,{silent:!0})},8e3);return()=>{window.clearInterval(e),window.clearInterval(t)}},[ew,eb,ez.processing]);let ek="all"===ec?er:er.filter(e=>"processing"===ec?"processing"===e.status:"success"===ec?"success"===e.status:"error"!==ec||"error"===e.status||"warning"===e.status),eP=async e=>{let t=e.filter(e=>!Z.test(e.name)),r=e.length-t.length;if(r>0&&l.warning("已跳过 ".concat(r," 个压缩包,请解压后上传内部文件")),0===t.length)return;let n=1===t.length?t[0].name:"".concat(t.length," 个文件");ee(!0);let a="".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));e_({id:a,type:"upload",title:"上传 ".concat(n),description:"等待上传、解析、切片和入库",status:"processing",percent:5});try{await (0,X.c1)(t,void 0,a,e=>{e_({id:a,type:"upload",title:"上传 ".concat(n),description:"正在上传文件:".concat(e.uploadedFiles,"/").concat(e.totalFiles,",批次 ").concat(e.batchIndex+1,"/").concat(e.totalBatches),status:"processing",percent:Math.min(5,Math.max(1,Math.round(e.uploadedFiles/Math.max(1,e.totalFiles)*5)))})}),l.info("文件已上传,正在后台解析、切片和入库,可在顶部“后台任务”查看进度"),I(""),$(""),ei([]),ex.current="",await eb(),window.setTimeout(()=>{ew(void 0,{silent:!0})},2e3)}catch(t){let e=t instanceof Error?t.message:"请重试或检查文件格式";l.error(e||"上传失败"),e_({id:a,type:"error",title:"上传失败 ".concat(n),description:e,status:"error",percent:100})}finally{ee(!1)}},eS=async()=>{el(!0);let e="reindex-ui-".concat(Date.now());e_({id:e,type:"reindex",title:"重新解析入库",description:"正在提交后台任务",status:"processing",percent:5});try{var t;let r=await (0,X.H1)(),n=r.operationId||e,a=r.job;l.info(r.alreadyRunning?"已有重新解析任务正在后台执行":"已提交重新解析入库任务,可在顶部“后台任务”查看进度"),e_({id:n,type:"reindex",title:(null==a?void 0:a.title)||"重新解析入库",description:(null==a?void 0:a.message)||"后台将重新扫描文件、解析、切片并重建索引",status:(null==a?void 0:a.status)||"processing",percent:null!=(t=null==a?void 0:a.percent)?t:10,error:null==a?void 0:a.error},["重新解析入库"]);for(let e=0;e<360;e++){let e=await (0,X.ax)(n).then(e=>e.job).catch(async()=>(await (0,X.Qx)()).operations.find(e=>e.id===n));if(e){let t="success"===e.status||"error"===e.status;if(e_({id:n,type:"error"===e.status?"error":"reindex",title:"success"===e.status?"重新解析入库完成":"error"===e.status?"重新解析入库失败":e.title,description:e.error||e.message,status:e.status,percent:e.percent,filePath:e.filePath,chunkCount:e.chunkCount,error:e.error}),t){"success"===e.status?l.success(e.message||"重新解析入库完成"):l.error(e.error||e.message||"重新解析入库失败");break}}await new Promise(e=>setTimeout(e,1e3))}await ew(),await eb()}catch(r){let t=r instanceof Error?r.message:"重新解析入库失败";l.error(t),e_({id:e,type:"error",title:"重新解析入库失败",description:t,status:"error",percent:100},["重新解析入库","重新解析入库完成","重新解析入库失败"])}finally{el(!1)}},eM=async e=>{if(e.builtIn)return void l.info("内置示例资料不可重新解析");let t="file-reindex-ui-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));ey(t=>new Set(t).add(e.relativePath)),e_({id:t,type:"reindex",title:"重新解析 ".concat(e.relativePath),description:"正在提交单文件后台任务",status:"processing",percent:5,filePath:e.relativePath});try{var r;let n=await (0,X.HC)(e.relativePath),a=n.operationId||t,i=n.job;l.info(n.alreadyRunning?"已有知识库任务正在后台执行":"已提交单文件重新解析任务"),e_({id:a,type:"reindex",title:(null==i?void 0:i.title)||"重新解析 ".concat(e.relativePath),description:(null==i?void 0:i.message)||"后台将重新解析、分块并入库该文件",status:(null==i?void 0:i.status)||"processing",percent:null!=(r=null==i?void 0:i.percent)?r:10,filePath:(null==i?void 0:i.filePath)||e.relativePath,chunkCount:null==i?void 0:i.chunkCount,error:null==i?void 0:i.error},["重新解析 ".concat(e.relativePath)]);for(let t=0;t<240;t++){let t=await (0,X.ax)(a).then(e=>e.job).catch(async()=>(await (0,X.Qx)()).operations.find(e=>e.id===a));if(t){let r="success"===t.status||"error"===t.status;if(e_({id:a,type:"error"===t.status?"error":"reindex",title:"success"===t.status?"重新解析完成 ".concat(e.relativePath):"error"===t.status?"重新解析失败 ".concat(e.relativePath):t.title,description:t.error||t.message,status:t.status,percent:t.percent,filePath:t.filePath||e.relativePath,chunkCount:t.chunkCount,error:t.error}),await ew(),r){"success"===t.status?l.success(t.message||"单文件重新解析完成"):l.error(t.error||t.message||"单文件重新解析失败");break}}await new Promise(e=>setTimeout(e,1e3))}await ew(),await eb()}catch(n){let r=n instanceof Error?n.message:"单文件重新解析失败";l.error(r),e_({id:t,type:"error",title:"重新解析失败 ".concat(e.relativePath),description:r,status:"error",percent:100,filePath:e.relativePath},["重新解析 ".concat(e.relativePath)])}finally{ey(t=>{let l=new Set(t);return l.delete(e.relativePath),l})}},eN=t=>{let r="selected"===t?e$:"filtered"===t?eH.filter(e=>!e.builtIn).map(e=>e.relativePath):[],n=b.filter(e=>!e.builtIn).length;if("all"!==t&&0===r.length||"all"===t&&0===n)return void l.info("没有可删除的用户文件");let a="all"===t?"删除全部用户文件 ".concat(n," 个?"):"filtered"===t?"删除当前筛选结果中的用户文件 ".concat(r.length," 个?"):"删除已选用户文件 ".concat(r.length," 个?");u.A.confirm({title:a,content:"将同时删除文件、切片、索引和向量记录。此操作不可撤销。",okText:e("common.delete"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{en(e=>[{type:"delete",title:a,description:"正在批量删除文件和索引",status:"processing",percent:10},...e].slice(0,50));try{var e;let a=null!=(e=("all"===t?await (0,X.X8)():"selected"===t?await (0,X.tZ)(eW,eD):await (0,X.SJ)(r)).deleted)?e:"all"===t?n:r.length;l.success("已删除 ".concat(a," 个文件")),ei([]),en(e=>[{type:"delete",title:"批量删除完成",description:"已删除 ".concat(a," 个文件、切片和索引"),status:"success"},...e].slice(0,50)),await ew(),await eb()}catch(e){l.error("批量删除失败"),en(e=>[{type:"error",title:"批量删除失败",description:"请重试",status:"error"},...e].slice(0,50))}}})},eI=(0,n.useMemo)(()=>"all"===ed?b:b.filter(e=>"builtIn"===ed?e.builtIn:!e.builtIn),[b,ed]),eH=(0,n.useMemo)(()=>N?eI.filter(e=>e.relativePath.toLowerCase().includes(N.toLowerCase())):eI,[N,eI]),eE=(0,n.useMemo)(()=>b.filter(e=>!e.builtIn),[b]),eF=(0,n.useMemo)(()=>b.filter(e=>e.builtIn),[b]),eO=(0,n.useMemo)(()=>eH.filter(e=>!e.builtIn),[eH]),eV=(0,n.useMemo)(()=>eH.filter(e=>e.builtIn),[eH]),eT=(0,n.useMemo)(()=>new Set(eH.map(e=>e.relativePath)),[eH]),eB=(0,n.useMemo)(()=>{let e={};for(let l of[...eH].sort((e,t)=>e.relativePath.localeCompare(t.relativePath))){let r=l.relativePath.split("/"),n="";for(let a=0;a<r.length;a++){let i=r[a],s=n;n=n?"".concat(n,"/").concat(i):i;let o=a===r.length-1;if(e[n])o||e[n].isFolder?o&&(e[n].isFolder=!1,e[n].file=l,e[n].fileCount=1,e[n].userFileCount=+!l.builtIn,e[n].totalSize=l.fileSize,e[n].totalChunks=l.chunkCount):(e[n].isFolder=!0,e[n].children=[],e[n].fileCount=0,e[n].userFileCount=0,e[n].totalSize=0,e[n].totalChunks=0);else{var t;e[n]={key:n,name:i,isFolder:!o,...o?{file:l,fileCount:1,userFileCount:+!l.builtIn,totalSize:l.fileSize,totalChunks:l.chunkCount}:{children:[],fileCount:0,userFileCount:0,totalSize:0,totalChunks:0}},s&&(null==(t=e[s])?void 0:t.children)&&e[s].children.push(e[n])}}}let l=e=>{for(let i of e)if(i.children){l(i.children);let e=0,s=0,o=0,c=0;for(let l of i.children){var t,r,n,a;e+=null!=(t=l.fileCount)?t:0,s+=null!=(r=l.userFileCount)?r:0,o+=null!=(n=l.totalSize)?n:0,c+=null!=(a=l.totalChunks)?a:0}i.fileCount=e,i.userFileCount=s,i.totalSize=o,i.totalChunks=c}},r=e=>e.map(e=>e.children?{...e,children:r(e.children)}:e).filter(e=>{var t,l,r;return!e.isFolder||(null!=(l=e.fileCount)?l:0)>0&&(null!=(r=null==(t=e.children)?void 0:t.length)?r:0)>0}),n=Object.values(e).filter(e=>!e.key.includes("/"));return l(n),r(n)},[eH]),eL=(0,n.useMemo)(()=>{let e=[],t=l=>{for(let r of l)e.push(r.key),r.children&&t(r.children)};return t(eB),e},[eB]),eR=(0,n.useMemo)(()=>new Set([...eT,...eL]),[eL,eT]),eD=(0,n.useMemo)(()=>ea.map(String).filter(e=>!eT.has(e)&&eL.includes(e)),[eL,ea,eT]),eW=(0,n.useMemo)(()=>ea.map(String).filter(e=>eT.has(e)),[ea,eT]),e$=(0,n.useMemo)(()=>{let e=new Set;for(let t of eW){let l=b.find(e=>e.relativePath===t);l&&!l.builtIn&&e.add(l.relativePath)}for(let t of eD){let l="".concat(t,"/");for(let t of b)!t.builtIn&&t.relativePath.startsWith(l)&&e.add(t.relativePath)}return Array.from(e)},[b,eW,eD]),eU=e$.length;(0,n.useEffect)(()=>{ei(e=>e.filter(e=>eR.has(String(e))))},[eR]);let eJ=(0,n.useMemo)(()=>N?eL:eB.map(e=>e.key),[N,eL,eB]);(0,n.useEffect)(()=>{eg(eJ)},[eJ]);let eQ=(e,t)=>{eg(l=>e?[...l,t.key]:l.filter(e=>e!==t.key))},eX=[{title:e("fileName"),dataIndex:"name",key:"name",render:(e,t)=>{var l;return(0,r.jsxs)("span",{className:K().fileNameCell,children:[t.isFolder?(0,r.jsx)("span",{style:{cursor:"pointer"},onClick:e=>{e.stopPropagation(),eQ(!ep.includes(t.key),t)},children:(e=>{let t=e.children;return t&&0!==t.length?(0,r.jsx)(B.A,{style:{color:"#fa8c16",fontSize:15}}):(0,r.jsx)(V.A,{style:{color:"#fa8c16",fontSize:15}})})(t)}):(e=>{if(!e)return(0,r.jsx)(w.A,{style:{fontSize:15}});let t=e.category;return"image"===t?(0,r.jsx)(A,{style:{color:"#eb2f96",fontSize:15}}):"spreadsheet"===t?(0,r.jsx)(k,{style:{color:"#52c41a",fontSize:15}}):"document"===t?(0,r.jsx)(M,{style:{color:"#1677ff",fontSize:15}}):"code"===t?(0,r.jsx)(H,{style:{color:"#fa8c16",fontSize:15}}):"archive"===t?(0,r.jsx)(E.A,{style:{color:"#8c8c8c",fontSize:15}}):"web"===t?(0,r.jsx)(F.A,{style:{color:"#13c2c2",fontSize:15}}):"data"===t?(0,r.jsx)(O.A,{style:{color:"#722ed1",fontSize:15}}):"cad"===t?(0,r.jsx)(V.A,{style:{color:"#fa541c",fontSize:15}}):"diagram"===t?(0,r.jsx)(A,{style:{color:"#a0d911",fontSize:15}}):(0,r.jsx)(T.A,{style:{fontSize:15}})})(t.file),t.isFolder?(0,r.jsx)("span",{className:K().folderName,onClick:e=>{e.stopPropagation(),eQ(!ep.includes(t.key),t)},children:t.name}):(0,r.jsxs)(r.Fragment,{children:[(null==(l=t.file)?void 0:l.builtIn)&&(0,r.jsx)(d.A,{color:"gold",style:{fontSize:11,lineHeight:"18px"},children:"内置"}),(0,r.jsx)(s(),{className:"truncate max-w-[380px] inline-block",href:"/knowledge/file-detail?relativePath=".concat(encodeURIComponent(t.key)),children:t.name})]})]})}},{title:e("fileCategory"),dataIndex:"category",key:"cat",width:110,render:(e,l)=>{var n,a;return l.isFolder?(0,r.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,r.jsx)(d.A,{children:(0,q.Jm)(null!=(a=null==(n=l.file)?void 0:n.category)?a:"",t)})}},{title:e("fileSize"),dataIndex:"fileSize",key:"size",width:90,render:(e,t)=>{var l,r,n;return(0,q.z3)(t.isFolder?null!=(r=t.totalSize)?r:0:null!=(n=null==(l=t.file)?void 0:l.fileSize)?n:0)}},{title:"切片",dataIndex:"chunkCount",key:"chunks",width:80,render:(e,t)=>{var l,n,a;let i=t.isFolder?null!=(n=t.totalChunks)?n:0:null!=(a=null==(l=t.file)?void 0:l.chunkCount)?a:0;return(0,r.jsx)(d.A,{color:i>1?"green":"orange",children:i})}},{title:"解析状态",dataIndex:"status",key:"status",width:100,render:(e,t)=>{var l,n,a,i;return t.isFolder?(0,r.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,r.jsx)(d.A,{color:"active"===(i=null==(l=t.file)?void 0:l.status)?"green":"processing"===i||"indexing"===i?"blue":"error"===i?"red":"orange",children:(null==(n=t.file)?void 0:n.errorMessage)||(null==(a=t.file)?void 0:a.status)||"—"})}},{title:e("fileDate"),dataIndex:"mtime",key:"date",width:130,render:(e,l)=>{var n;return l.isFolder?(0,r.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(null==(n=l.file)?void 0:n.mtime)?new Date(l.file.mtime).toLocaleDateString(t):"—"}},{title:"来源",key:"source",width:100,render:(e,t)=>{var l;return t.isFolder?(0,r.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(null==(l=t.file)?void 0:l.builtIn)?(0,r.jsx)(d.A,{color:"gold",children:"内置示例"}):(0,r.jsx)(d.A,{color:"cyan",children:"我的文件"})}},{title:"",key:"act",width:100,render:(t,n)=>{var a,i;return n.isFolder?null:(0,r.jsxs)(h.A,{size:4,children:[(0,r.jsx)(f.A,{title:"重新解析、分块并入库",children:(0,r.jsx)(m.Ay,{type:"text",size:"small",disabled:null==(a=n.file)?void 0:a.builtIn,loading:!!(n.file&&ev.has(n.file.relativePath)),icon:(0,r.jsx)(L.A,{}),onClick:()=>{eM(n.file)}})}),(0,r.jsx)(m.Ay,{type:"text",danger:!0,size:"small",disabled:null==(i=n.file)?void 0:i.builtIn,icon:(0,r.jsx)(R.A,{}),onClick:()=>(t=>{if(t.builtIn)return void l.info("内置示例资料不可删除");u.A.confirm({title:e("delete"),content:e("deleteConfirm"),okText:e("common.confirm"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{en(e=>[{type:"delete",title:"删除 ".concat(t.relativePath),description:"正在删除文件记录",status:"processing"},...e].slice(0,50));try{await (0,X.xq)(t.relativePath),l.success("已删除"),en(e=>[{type:"delete",title:"删除完成 ".concat(t.relativePath),description:"文件和索引记录已移除",status:"success"},...e].slice(0,50)),ei(e=>e.filter(e=>e!==t.relativePath)),await ew(),await eb()}catch(e){l.error("删除失败"),en(e=>[{type:"error",title:"删除失败 ".concat(t.relativePath),description:"请重试",status:"error"},...e].slice(0,50))}}})})(n.file)})]})}}];return(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsx)("h2",{className:"pageTitle",children:e("files")}),(0,r.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,r.jsx)(p.A,{placeholder:e("searchPlaceholder"),prefix:(0,r.jsx)(D.A,{}),value:N,onChange:e=>{I(e.target.value)},allowClear:!0,className:K().filterInput}),(0,r.jsx)(g.A,{value:W||void 0,onChange:e=>{$(e||"")},placeholder:e("filterCategory"),allowClear:!0,className:K().filterSelect,options:[{label:e("allCategories"),value:""},...Y.map(e=>({label:(0,q.Jm)(e,t),value:e}))]}),(0,r.jsx)(g.A,{value:ed,onChange:eh,className:K().filterSelect,options:[{label:"全部来源 (".concat(b.length,")"),value:"all"},{label:"我的文件 (".concat(eE.length,")"),value:"user"},{label:"内置示例 (".concat(eF.length,")"),value:"builtIn"}]}),(0,r.jsx)(m.Ay,{type:"primary",icon:(0,r.jsx)(U,{}),loading:G,onClick:()=>{var e;return null==(e=document.getElementById("kb-file-upload-input"))?void 0:e.click()},children:G?e("uploading"):e("upload")}),(0,r.jsx)(m.Ay,{icon:(0,r.jsx)(U,{}),loading:G,onClick:()=>{var e;return null==(e=document.getElementById("kb-folder-upload-input"))?void 0:e.click()},children:"上传文件夹"}),(0,r.jsx)(m.Ay,{icon:(0,r.jsx)(L.A,{}),loading:et,onClick:()=>{eS()},children:"重新解析入库"}),(0,r.jsx)("input",{id:"kb-file-upload-input",type:"file",multiple:!0,hidden:!0,accept:".pdf,.doc,.docx,.txt,.md,.csv,.tsv,.xls,.xlsx,.png,.jpg,.jpeg,.webp,.svg,.dwg,.dxf,.step,.stp,.iges,.igs,.js,.ts,.tsx,.jsx,.py,.go,.java,.cs,.cpp,.c,.h,.json,.jsonl,.yaml,.yml,.xml,.html,.htm,.drawio,.dio,.vsdx,.vdx,.puml,.plantuml,.mmd,.mermaid,.excalidraw",onChange:e=>{var t;let l=Array.from(null!=(t=e.target.files)?t:[]);e.target.value="",eP(l)}}),(0,r.jsx)("input",{id:"kb-folder-upload-input",type:"file",multiple:!0,hidden:!0,webkitdirectory:"",onChange:e=>{var t;let l=Array.from(null!=(t=e.target.files)?t:[]);e.target.value="",eP(l)}})]}),(0,r.jsxs)(v.A,{size:"small",className:K().statusCard,styles:{body:{padding:0}},children:[(0,r.jsxs)("div",{className:K().statusSummary,onClick:()=>em(!ef),children:[(0,r.jsx)("span",{className:K().statusSummaryText,children:0===er.length?"暂无文件任务":(0,r.jsxs)(h.A,{size:6,children:[ez.processing>0&&(0,r.jsxs)(d.A,{color:"processing",style:{margin:0},icon:(0,r.jsx)(L.A,{spin:!0}),children:["处理中 ",ez.processing]}),(0,r.jsxs)(d.A,{color:"success",style:{margin:0},icon:(0,r.jsx)(J.A,{}),children:["已完成 ",ez.success]}),(0,r.jsxs)(d.A,{color:"error",style:{margin:0},icon:(0,r.jsx)(Q.A,{}),children:["失败 ",ez.error]})]})}),er.length>0&&(0,r.jsxs)(h.A,{size:6,children:[(0,r.jsx)(m.Ay,{size:"small",className:K().statusClearBtn,onClick:e=>{e.stopPropagation(),eA()},children:"清空"}),(0,r.jsx)(m.Ay,{size:"small",className:K().statusExpandBtn,onClick:e=>{e.stopPropagation(),em(!ef)},children:ef?"展开":"收起"})]})]}),!ef&&er.length>0&&(0,r.jsxs)("div",{className:K().statusPanel,children:[(0,r.jsxs)("div",{className:K().statusFilters,children:[(0,r.jsxs)("span",{className:"".concat(K().filterPill," ").concat("all"===ec?K().filterPillActive:""),style:"all"===ec?{color:"#1677ff"}:void 0,onClick:()=>eu("all"),children:["全部 ",(0,r.jsx)("b",{children:er.length})]}),(0,r.jsxs)("span",{className:"".concat(K().filterPill," ").concat("processing"===ec?K().filterPillActive:""),style:"processing"===ec?{color:"#1677ff"}:void 0,onClick:()=>eu("processing"),children:[(0,r.jsx)(L.A,{spin:ez.processing>0})," 处理中 ",(0,r.jsx)("b",{children:ez.processing})]}),(0,r.jsxs)("span",{className:"".concat(K().filterPill," ").concat("success"===ec?K().filterPillActive:""),style:"success"===ec?{color:"#52c41a"}:void 0,onClick:()=>eu("success"),children:[(0,r.jsx)(J.A,{})," 已完成 ",(0,r.jsx)("b",{children:ez.success})]}),(0,r.jsxs)("span",{className:"".concat(K().filterPill," ").concat("error"===ec?K().filterPillActive:""),style:"error"===ec?{color:"#ff4d4f"}:void 0,onClick:()=>eu("error"),children:[(0,r.jsx)(Q.A,{})," 失败 ",(0,r.jsx)("b",{children:ez.error})]})]}),(0,r.jsx)("div",{className:K().timelineList,children:0===ek.length?(0,r.jsx)("div",{className:K().statusEmpty,children:"没有匹配的任务"}):ek.map((e,l)=>{var n;let a=e.id||"".concat(e.type,"-").concat(null!=(n=e.createdAt)?n:e.title,"-").concat(l),i=es.has(a);return(0,r.jsxs)("div",{className:K().timelineItem,children:[(0,r.jsxs)("div",{className:K().timelineRow,onClick:()=>{eo(e=>{let t=new Set(e);return t.has(a)?t.delete(a):t.add(a),t})},children:[(0,r.jsx)("span",{className:K().timelineStatusIcon,children:"success"===e.status?(0,r.jsx)(J.A,{style:{color:"#52c41a"}}):"processing"===e.status?(0,r.jsx)(L.A,{spin:!0,style:{color:"#1677ff"}}):"error"===e.status?(0,r.jsx)(Q.A,{style:{color:"#ff4d4f"}}):(0,r.jsx)("span",{style:{color:"#fa8c16",fontWeight:700},children:"!"})}),(0,r.jsx)("span",{className:K().timelineTitle,children:e.title}),"number"==typeof e.percent&&"processing"===e.status&&(0,r.jsxs)("span",{className:K().timelinePercent,children:[e.percent,"%"]}),(0,r.jsx)(m.Ay,{type:"text",size:"small",danger:!0,icon:(0,r.jsx)(R.A,{}),style:{width:22,height:22,padding:0,fontSize:12},onClick:t=>{eC(e,t)}})]}),i&&(0,r.jsxs)("div",{className:K().timelineDetail,children:["number"==typeof e.percent&&"processing"===e.status&&(0,r.jsx)(y.A,{percent:e.percent,size:"small",strokeColor:"#1677ff"}),e.description&&(0,r.jsx)("div",{className:K().timelineDesc,children:e.description}),e.error&&(0,r.jsx)("div",{style:{color:"var(--colorError)",fontSize:12,wordBreak:"break-word"},children:e.error}),e.filePath&&(0,r.jsx)(f.A,{title:e.filePath,children:(0,r.jsx)("div",{className:K().timelinePath,children:e.filePath})}),(0,r.jsxs)("div",{className:K().timelineMeta,children:["number"==typeof e.chunkCount&&(0,r.jsxs)("span",{className:K().timelineMetaTag,children:["切片 ",(0,r.jsx)("b",{children:e.chunkCount})]}),"number"==typeof e.textLength&&(0,r.jsxs)("span",{className:K().timelineMetaTag,children:["正文 ",(0,r.jsx)("b",{children:e.textLength.toLocaleString(t)})," 字符"]}),e.extractionMode&&(0,r.jsxs)("span",{className:K().timelineMetaTag,children:["解析 ",(0,r.jsx)("b",{children:e.extractionMode})]})]}),"error"===e.status&&(0,r.jsx)("div",{style:{color:"var(--colorError)",fontSize:12},children:"此任务失败,请重新上传文件或重试操作"})]})]},a)})})]})]}),(0,r.jsxs)(v.A,{title:"文件列表",extra:(0,r.jsxs)(h.A,{size:8,children:[(0,r.jsxs)(m.Ay,{danger:!0,size:"small",disabled:0===eU,icon:(0,r.jsx)(R.A,{}),onClick:()=>eN("selected"),children:["删除已选 ",eU||""]}),(0,r.jsx)(m.Ay,{danger:!0,size:"small",disabled:0===eE.length,onClick:()=>eN("all"),children:"删除全部用户文件"})]}),children:[P&&(0,r.jsxs)("div",{className:K().statusEmpty,children:["文件列表加载失败:",P]}),(0,r.jsx)(x.A,{rowKey:"key",columns:eX,dataSource:eB,loading:C,size:"middle",expandable:{expandedRowKeys:ep,onExpand:eQ,childrenColumnName:"children"},locale:{emptyText:C?"正在加载文件列表...":N?e("emptySearch"):e("noFiles")},pagination:!1,rowClassName:e=>e.isFolder?K().folderRow:"",rowSelection:{selectedRowKeys:ea,onChange:ei,checkStrictly:!1,getCheckboxProps:e=>{var t,l;return{disabled:e.isFolder?(null!=(l=e.userFileCount)?l:0)===0:!!(null==(t=e.file)?void 0:t.builtIn)}}},footer:()=>(0,r.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:12},children:["当前展示 ",eH.length," 个文件,其中我的文件 ",eO.length," 个、内置示例 ",eV.length," 个;全部我的文件 ",eE.length," 个、内置示例 ",eF.length," 个;",eB.length," 个顶层目录"]})})]})]})}},90426:(e,t,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/files",function(){return l(82738)}])},90939:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"code",theme:"outlined"}},92803:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"}},93314:(e,t,l)=>{"use strict";l.d(t,{A:()=>s});var r=l(97109),n=l(53234),a=l(88483);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r])}return e}).apply(this,arguments)}let s=r.forwardRef((e,t)=>r.createElement(a.A,i({},e,{ref:t,icon:n.A})))}},e=>{e.O(0,[433,787,576,985,150,289,636,593,792],()=>e(e.s=90426)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[26],{27549:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/prompt",function(){return r(34508)}])},34508:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>K});var l=r(65321),o=r(97109),i=r(79059),n=r(17807),a=r(33442),s=r(11702),c=r(56985),d=r(85114),p=r(26171),h=r(68787),u=r(88762),m=r(7576),x=r(57271),y=r(49292),f=r(55122),g=r(84253),j=r(34052),v=r(42700),w=r(54746),S=r(99650),b=r(58209),A=r(26631),C=r(29606),k=r(96091),z=r(81668),T=r(30486),N=r(46082),F=r(42758),B=r(24810),E=r(7492);async function I(){let e=await fetch("/api/prompt");if(!e.ok)throw Error("Failed");return e.json()}async function P(e,t,r){let l=await fetch("/api/prompt",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:e,content:t,name:r})});if(!l.ok)throw Error("Failed");return l.json()}async function R(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create",projectRoot:e,content:"# CUSTOMIZE\n"})});if(!t.ok)throw Error("Failed");return t.json()}async function O(e,t){let r=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"createCustom",name:e,content:t})});if(!r.ok)throw Error("Failed");return r.json()}async function W(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"select",selectedIds:e})});if(!t.ok)throw Error("Failed");return t.json()}async function D(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"import",...e&&"object"==typeof e?e:{prompts:[]}})});if(!t.ok)throw Error(await t.text());return t.json()}async function H(){return J("",!1,60)}async function _(e){let t=await fetch("/api/kb/files/detail?relativePath=".concat(encodeURIComponent(e)));if(!t.ok)throw Error("Failed");return((await t.json()).chunks||[]).map(e=>e.content||"").filter(Boolean).join("\n\n").slice(0,12e3)}async function J(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,l=new URLSearchParams({limit:String(r)});e.trim()&&l.set("q",e.trim()),t||l.set("includeContent","0");let o=await fetch("/api/kb/files/search?".concat(l));return o.ok&&(await o.json()).files||[]}async function L(e){let t=await fetch("/api/prompt/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){let e=await t.text();try{let t=JSON.parse(e);throw Error(t.error||t.message||e||"AI 对话失败")}catch(t){throw Error(e||"AI 对话失败")}}return t.json()}function M(e){return e.id.startsWith("builtin:")}function U(e){return e.id.startsWith("custom:")}function $(e){return M(e)?"builtin":U(e)?"custom":e.isCurrent?"current":"project"}function G(e){return"custom"===e?"我的提示词":"current"===e?"当前项目":"project"===e?"其他项目":"builtin"===e?"内置示例":"全部"}function X(e,t,r){return e?"customize-agent:prompt-chat:".concat(e.id,":").concat(e.customizePath||e.projectName):"customize-agent:prompt-chat:draft:".concat(r||t||"new")}function Y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:220,r=e.hasFile&&e.content?e.content.replace(/^#.*$/gm,"").replace(/\n{3,}/g,"\n\n").trim():"";return r.length>t?"".concat(r.slice(0,t),"..."):r}function Z(e){let t=Date.parse(e);return Number.isNaN(t)?"-":new Date(t).toLocaleString()}function q(e){let t=e.match(/(^|\s)@([^\s@]*)$/);return t?t[2]:null}function K(){let e=(0,i.Vr)(),{message:t}=n.A.useApp(),[r,K]=(0,o.useState)(!0),[V,Q]=(0,o.useState)([]),[ee,et]=(0,o.useState)(!1),[er,el]=(0,o.useState)(null),[eo,ei]=(0,o.useState)(""),[en,ea]=(0,o.useState)(""),[es,ec]=(0,o.useState)(!1),[ed,ep]=(0,o.useState)(!1),[eh,eu]=(0,o.useState)("custom"),[em,ex]=(0,o.useState)("all"),[ey,ef]=(0,o.useState)("mtime"),[eg,ej]=(0,o.useState)("list"),[ev,ew]=(0,o.useState)(""),[eS,eb]=(0,o.useState)(null),[eA,eC]=(0,o.useState)([]),[ek,ez]=(0,o.useState)(!1),[eT,eN]=(0,o.useState)([]),[eF,eB]=(0,o.useState)(""),[eE,eI]=(0,o.useState)(""),[eP,eR]=(0,o.useState)(!1),[eO,eW]=(0,o.useState)([]),[eD,eH]=(0,o.useState)([]),[e_,eJ]=(0,o.useState)([]),[eL,eM]=(0,o.useState)(!1),[eU,e$]=(0,o.useState)(!1),[eG,eX]=(0,o.useState)(!1),eY=(0,o.useRef)(null),eZ=(0,o.useRef)(null),eq=q(eE),eK=async()=>{K(!0);try{Q(await I())}catch(r){t.error(e("common.error"))}finally{K(!1)}};(0,o.useEffect)(()=>{eK()},[]),(0,o.useEffect)(()=>{let e=window.localStorage.getItem("customize-agent:prompt-view-mode");("list"===e||"card"===e)&&ej(e)},[]),(0,o.useEffect)(()=>{window.localStorage.setItem("customize-agent:prompt-view-mode",eg)},[eg]),(0,o.useEffect)(()=>{let e=eZ.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),eF&&window.localStorage.setItem(eF,JSON.stringify(eT.slice(-30)))},[eT,eP,eF]),(0,o.useEffect)(()=>{!ee||eO.length>0||eL||(eM(!0),H().then(eW).catch(()=>void 0).finally(()=>eM(!1)))},[ee,eO.length,eL]),(0,o.useEffect)(()=>{let e=null==eq?void 0:eq.trim();if(!ee||!e){eH([]),e$(!1);return}let t=!1;e$(!0);let r=window.setTimeout(()=>{J(e).then(e=>{t||eH(e)}).catch(()=>{t||eH([])}).finally(()=>{t||e$(!1)})},250);return()=>{t=!0,window.clearTimeout(r)}},[ee,eq]);let eV=V.find(e=>e.isCurrent),eQ=V.filter(U),e0={all:V.length,custom:V.filter(e=>"custom"===$(e)).length,current:V.filter(e=>"current"===$(e)).length,project:V.filter(e=>"project"===$(e)).length,builtin:V.filter(e=>"builtin"===$(e)).length,selected:V.filter(e=>e.selected).length,unselected:V.filter(e=>!e.selected).length,hasFile:V.filter(e=>e.hasFile).length,missingFile:V.filter(e=>!e.hasFile).length},e1=V.filter(e=>{var t;let r=$(e);return("all"===eh||r===eh)&&("selected"!==em||!!e.selected)&&("unselected"!==em||!e.selected)&&("hasFile"!==em||!!e.hasFile)&&("missingFile"!==em||!e.hasFile)&&(!ev.trim()||(t=ev.trim(),!!"".concat(e.projectName,"\n").concat(e.projectRoot||"","\n").concat(e.customizePath||"","\n").concat(e.content||"").toLowerCase().includes(t.toLowerCase())))}).sort((e,t)=>"name"===ey?e.projectName.localeCompare(t.projectName):"source"===ey?["custom","current","project","builtin"].indexOf($(e))-["custom","current","project","builtin"].indexOf($(t)):"selected"===ey&&Number(t.selected)-Number(e.selected)||Date.parse(t.mtime||"")-Date.parse(e.mtime||"")),e2=e1.find(e=>e.id===eS)||e1[0]||null,e8=eA.filter(e=>e1.some(t=>t.id===e)),e4=(null==eq?void 0:eq.trim())?eD:eO,e6=(e,t,r)=>{let l=X(e,t,r);eB(l),eN(function(e){try{let t=JSON.parse(window.localStorage.getItem(e)||"[]");return Array.isArray(t)?t.filter(e=>("user"===e.role||"assistant"===e.role)&&"string"==typeof e.content).slice(-30):[]}catch(e){return[]}}(l)),eI(""),eR(!1),eJ([]),eX(!1)},e7=r=>{if(null==r?void 0:r.projectRoot)return void R(r.projectRoot).then(()=>{t.success(e("common.success")),eK()}).catch(()=>t.error(e("common.error")));let l="new:".concat(Date.now());el(null),ep(!0),ea(""),ei(""),e6(null,"new",l),et(!0)},e3=async()=>{if(!en.trim())return void t.error("请输入名称");ec(!0);try{if(er)await P(er.customizePath,eo,U(er)?en.trim():void 0),t.success(e("common.success"));else{let r=await O(en.trim(),eo||"# ".concat(en.trim(),"\n"));!function(e,t){if(!e||!t||e===t)return;let r=window.localStorage.getItem(e);r&&!window.localStorage.getItem(t)&&window.localStorage.setItem(t,r)}(eF,X({id:r.id,projectId:r.id,projectName:en.trim(),customizePath:r.id,content:eo,mtime:"",hasFile:!0,isCurrent:!1,selected:!1,source:"custom"},en.trim())),t.success(e("common.success"))}et(!1),await eK()}catch(r){t.error(e("common.error"))}finally{ec(!1)}},e5=async e=>{let t=Array.from(new Set([...e_,...eO.filter(t=>e.includes("@".concat(t.relativePath))).map(e=>e.relativePath)])).slice(0,3),r=[];for(let e of t){let t=await _(e);t&&r.push({relativePath:e,content:t})}return r},e9=async()=>{let e=eE.trim();if(!e||eP)return;let r=[...eT,{role:"user",content:e}];eN(r),eI(""),eX(!1),eR(!0);try{let t=await e5(e),l=await L({name:en||(null==er?void 0:er.projectName)||"未命名提示词",content:eo,message:e,history:eT,references:t});eN([...r,{role:"assistant",content:l.content||"AI 未返回内容"}])}catch(e){t.error(e instanceof Error?e.message:"AI 对话失败,请检查模型配置"),eN(r)}finally{eR(!1)}},te=async(r,l)=>{let o=l?Array.from(new Set([...V.filter(e=>e.selected).map(e=>e.id),r.id])):V.filter(e=>e.selected&&e.id!==r.id).map(e=>e.id);try{await W(o),Q(e=>e.map(e=>({...e,selected:o.includes(e.id)})))}catch(r){t.error(e("common.error"))}},tt=async r=>{let l=V.filter(e=>e.selected).map(e=>e.id),o=r?Array.from(new Set([...l,...e8])):l.filter(e=>!e8.includes(e));try{await W(o),Q(e=>e.map(e=>({...e,selected:o.includes(e.id)}))),eC([]),t.success(e("common.success"))}catch(r){t.error(e("common.error"))}},tr=async r=>{try{if(!(await fetch("/api/prompt",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:r.projectId,filePath:r.customizePath})})).ok)throw Error("Failed");t.success(e("common.success")),eC(e=>e.filter(e=>e!==r.id)),await eK()}catch(r){t.error(e("common.error"))}},tl=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"custom",r="checked"===e?V.filter(e=>e8.includes(e.id)):"filtered"===e?e1:eQ;!function(e,t){let r=new Blob([t],{type:"text/plain;charset=utf-8"}),l=URL.createObjectURL(r),o=document.createElement("a");o.href=l,o.download=e,o.click(),URL.revokeObjectURL(l)}("customize-prompts-".concat(new Date().toISOString().slice(0,10),".txt"),r.map(e=>["# Prompt: ".concat(e.projectName),"Source: ".concat(G($(e))),"Path: ".concat(e.customizePath||"-"),"Project: ".concat(e.projectRoot||"-"),"Selected: ".concat(e.selected?"true":"false"),"Updated: ".concat(Z(e.mtime)),"",e.content||""].join("\n")).join("\n\n---\n\n")),t.success("已导出 ".concat(r.length," 条提示词"))},to=async e=>{if(e){ez(!0);try{let r=await e.text(),l=JSON.parse(r),o=await D(l);t.success("已导入 ".concat(o.imported," 条提示词")),await eK()}catch(e){t.error("导入失败,请确认 JSON 文件格式正确")}finally{ez(!1),eY.current&&(eY.current.value="")}}},ti=e=>{let t=$(e);return(0,l.jsxs)(a.A,{size:4,wrap:!0,children:[(0,l.jsx)(s.A,{color:"custom"===t?"cyan":"current"===t?"green":"project"===t?"blue":"builtin"===t?"gold":"default",style:{margin:0},children:G(t)}),e.selected&&(0,l.jsx)(s.A,{color:"purple",style:{margin:0},children:"已选中"}),!e.hasFile&&(0,l.jsx)(s.A,{style:{margin:0},children:"无文件"})]})},tn=e=>(0,l.jsxs)(a.A,{size:6,children:[e.hasFile&&(0,l.jsx)(c.A,{checked:e.selected,onChange:t=>{te(e,t.target.checked)},children:"选中"}),!e.hasFile&&e.projectRoot&&(0,l.jsx)(d.Ay,{size:"small",icon:(0,l.jsx)(w.A,{}),onClick:()=>e7(e),children:"创建"}),e.hasFile&&(0,l.jsx)(d.Ay,{size:"small",icon:(0,l.jsx)(S.A,{}),onClick:()=>(e=>{if(M(e)){let r=e.projectName.replace(/^内置|/,"")+" Copy",l="copy:".concat(e.id,":").concat(e.customizePath||e.projectName);el(null),ep(!0),ea(r),ei(e.content||""),e6(null,r,l),et(!0),t.info("内置提示词不可直接编辑,已为你创建副本");return}el(e),ep(!1),ea(e.projectName),ei(e.content||""),e6(e,e.projectName),et(!0)})(e),children:M(e)?"复制":"编辑"}),(0,l.jsx)(p.A,{title:M(e)?"删除内置提示词?":U(e)?"删除自定义提示词?":"删除项目记录及文件?",disabled:M(e),onConfirm:()=>{tr(e)},children:(0,l.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,l.jsx)(b.A,{}),disabled:M(e)})})]});return r?(0,l.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,l.jsx)(u.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,l.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))",gap:12},children:Array.from({length:4}).map((e,t)=>(0,l.jsx)(h.A,{size:"small",children:(0,l.jsx)(u.A,{active:!0,paragraph:{rows:4}})},t))})]}):(0,l.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{className:"pageTitle",children:e("nav.promptManagement")}),(0,l.jsx)("p",{className:"pageDesc",children:e("prompt.description")})]}),(0,l.jsxs)(a.A,{wrap:!0,children:[eV&&(0,l.jsxs)(s.A,{color:"green",style:{lineHeight:"22px"},children:[(0,l.jsx)(C.A,{})," ",eV.projectRoot]}),(0,l.jsx)("input",{ref:eY,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:e=>{var t;to(null==(t=e.target.files)?void 0:t[0])}}),(0,l.jsx)(d.Ay,{icon:(0,l.jsx)(k.A,{}),loading:ek,onClick:()=>{var e;return null==(e=eY.current)?void 0:e.click()},children:"导入"}),(0,l.jsx)(d.Ay,{icon:(0,l.jsx)(z.A,{}),disabled:0===e1.length,onClick:()=>tl("filtered"),children:"导出筛选"}),(0,l.jsx)(d.Ay,{type:"primary",icon:(0,l.jsx)(w.A,{}),onClick:()=>e7(),children:"创建提示词"})]})]}),(0,l.jsxs)(h.A,{size:"small",styles:{body:{display:"flex",gap:10,flexWrap:"wrap",alignItems:"center"}},children:[(0,l.jsx)(m.A,{prefix:(0,l.jsx)(T.A,{}),allowClear:!0,placeholder:"搜索名称、内容、路径...",value:ev,onChange:e=>ew(e.target.value),style:{width:280}}),(0,l.jsx)(x.A,{value:eh,onChange:eu,style:{width:150},options:[{label:"全部 (".concat(e0.all,")"),value:"all"},{label:"我的提示词 (".concat(e0.custom,")"),value:"custom"},{label:"当前项目 (".concat(e0.current,")"),value:"current"},{label:"其他项目 (".concat(e0.project,")"),value:"project"},{label:"内置示例 (".concat(e0.builtin,")"),value:"builtin"}]}),(0,l.jsx)(x.A,{value:em,onChange:ex,style:{width:130},options:[{label:"全部状态",value:"all"},{label:"已选中 (".concat(e0.selected,")"),value:"selected"},{label:"未选中 (".concat(e0.unselected,")"),value:"unselected"},{label:"有文件 (".concat(e0.hasFile,")"),value:"hasFile"},{label:"无文件 (".concat(e0.missingFile,")"),value:"missingFile"}]}),(0,l.jsx)(x.A,{value:ey,onChange:ef,style:{width:140},options:[{label:"最近修改优先",value:"mtime"},{label:"名称 A-Z",value:"name"},{label:"来源优先",value:"source"},{label:"已选中优先",value:"selected"}]}),(0,l.jsx)(y.A,{value:eg,onChange:e=>ej(e),options:[{label:(0,l.jsx)(N.A,{}),value:"list"},{label:(0,l.jsx)(F.A,{}),value:"card"}]}),(0,l.jsx)("div",{style:{flex:1}}),(0,l.jsxs)("span",{style:{color:"var(--colorTextSecondary)",fontSize:13},children:["已显示 ",e1.length," / ",V.length]})]}),(0,l.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"190px minmax(0, 1fr) 300px",gap:14,alignItems:"start"},children:[(0,l.jsxs)(h.A,{size:"small",title:"分组导航",styles:{body:{padding:8}},children:[[["all","全部",e0.all],["custom","我的提示词",e0.custom],["current","当前项目",e0.current],["project","其他项目",e0.project],["builtin","内置示例",e0.builtin]].map(e=>{let[t,r,o]=e;return(0,l.jsxs)("button",{onClick:()=>eu(t),style:{width:"100%",border:"none",background:eh===t?"var(--colorFillSecondary)":"transparent",color:"var(--colorText)",padding:"9px 10px",borderRadius:8,display:"flex",justifyContent:"space-between",cursor:"pointer",fontWeight:eh===t?700:400},children:[(0,l.jsx)("span",{children:r}),(0,l.jsx)("span",{children:o})]},t)}),(0,l.jsx)(f.A,{style:{margin:"8px 0"}}),[["selected","已选中",e0.selected],["unselected","未选中",e0.unselected]].map(e=>{let[t,r,o]=e;return(0,l.jsxs)("button",{onClick:()=>ex(em===t?"all":t),style:{width:"100%",border:"none",background:em===t?"var(--colorFillSecondary)":"transparent",color:"var(--colorText)",padding:"9px 10px",borderRadius:8,display:"flex",justifyContent:"space-between",cursor:"pointer",fontWeight:em===t?700:400},children:[(0,l.jsx)("span",{children:r}),(0,l.jsx)("span",{children:o})]},t)})]}),(0,l.jsxs)("div",{style:{minWidth:0},children:[e8.length>0&&(0,l.jsxs)(h.A,{size:"small",style:{marginBottom:12},styles:{body:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},children:[(0,l.jsxs)("span",{style:{fontWeight:600},children:["已选择 ",e8.length," 项"]}),(0,l.jsx)(d.Ay,{size:"small",onClick:()=>{tt(!0)},children:"批量选中"}),(0,l.jsx)(d.Ay,{size:"small",onClick:()=>{tt(!1)},children:"取消选中"}),(0,l.jsx)(d.Ay,{size:"small",icon:(0,l.jsx)(z.A,{}),onClick:()=>tl("checked"),children:"导出选中"}),(0,l.jsx)(d.Ay,{size:"small",onClick:()=>eC([]),children:"清空选择"})]}),0===e1.length?(0,l.jsx)(h.A,{children:(0,l.jsx)(g.A,{description:ev||"all"!==em?"没有找到匹配的提示词,请尝试更换关键词或清空筛选条件":"当前分组没有提示词"})}):"list"===eg?(0,l.jsx)(a.A,{direction:"vertical",size:10,style:{width:"100%"},children:e1.map(e=>{let t=Y(e,180),r=(null==e2?void 0:e2.id)===e.id;return(0,l.jsxs)("div",{onClick:()=>eb(e.id),style:{display:"grid",gridTemplateColumns:"28px minmax(0, 1fr) auto",gap:12,alignItems:"center",padding:14,border:"1px solid ".concat(r?"var(--colorAccent)":"var(--colorBorderSecondary)"),borderRadius:12,background:r?"var(--colorFillSecondary)":"var(--colorBgContainer)",cursor:"pointer",transition:"all .2s ease"},children:[(0,l.jsx)(c.A,{checked:eA.includes(e.id),onClick:e=>e.stopPropagation(),onChange:t=>eC(r=>t.target.checked?Array.from(new Set([...r,e.id])):r.filter(t=>t!==e.id))}),(0,l.jsxs)("div",{style:{minWidth:0},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,l.jsx)(A.A,{style:{color:e.isCurrent?"var(--colorOk)":"var(--colorAccent)"}}),(0,l.jsx)("span",{style:{fontWeight:700,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.projectName}),ti(e)]}),(0,l.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:6*!!t},children:[(0,l.jsx)(C.A,{style:{marginRight:4}}),e.projectRoot||e.customizePath||"本地提示词"," \xb7 ",Z(e.mtime)]}),t&&(0,l.jsx)("div",{style:{color:"var(--colorTextSecondary)",fontSize:12,lineHeight:1.6,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",whiteSpace:"pre-wrap"},children:t})]}),(0,l.jsx)("div",{onClick:e=>e.stopPropagation(),children:tn(e)})]},e.id)})}):(0,l.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:12},children:e1.map(e=>{let t=Y(e,180),r=(null==e2?void 0:e2.id)===e.id;return(0,l.jsxs)(h.A,{size:"small",hoverable:!0,onClick:()=>eb(e.id),style:{borderColor:r?"var(--colorAccent)":void 0},styles:{body:{display:"flex",flexDirection:"column",minHeight:210}},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,l.jsx)(c.A,{checked:eA.includes(e.id),onClick:e=>e.stopPropagation(),onChange:t=>eC(r=>t.target.checked?Array.from(new Set([...r,e.id])):r.filter(t=>t!==e.id))}),(0,l.jsx)(A.A,{style:{color:e.isCurrent?"var(--colorOk)":"var(--colorAccent)"}}),(0,l.jsx)("span",{style:{fontWeight:700,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:e.projectName})]}),(0,l.jsx)("div",{style:{marginBottom:8},children:ti(e)}),(0,l.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:8},children:[(0,l.jsx)(C.A,{style:{marginRight:4}}),e.projectRoot||e.customizePath||"本地提示词"]}),(0,l.jsx)("div",{style:{padding:10,background:"var(--colorFillAlter)",borderRadius:8,color:"var(--colorTextSecondary)",fontSize:12,lineHeight:1.6,minHeight:72,maxHeight:72,overflow:"hidden",whiteSpace:"pre-wrap"},children:t||"暂无内容预览"}),(0,l.jsxs)("div",{style:{marginTop:"auto",paddingTop:10,borderTop:"1px solid var(--colorBorderSecondary)",display:"flex",justifyContent:"space-between",alignItems:"center"},onClick:e=>e.stopPropagation(),children:[(0,l.jsx)("span",{style:{color:"var(--colorTextSecondary)",fontSize:12},children:Z(e.mtime)}),tn(e)]})]},e.id)})})]}),(0,l.jsx)(h.A,{size:"small",title:"详情预览",styles:{body:{display:"flex",flexDirection:"column",gap:10}},children:e2?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,l.jsx)(A.A,{style:{color:"var(--colorAccent)"}}),(0,l.jsx)("strong",{style:{overflow:"hidden",textOverflow:"ellipsis"},children:e2.projectName})]}),(0,l.jsx)("div",{children:ti(e2)}),(0,l.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:12,lineHeight:1.7},children:[(0,l.jsxs)("div",{children:["更新时间:",Z(e2.mtime)]}),(0,l.jsxs)("div",{children:["文件路径:",e2.customizePath||"-"]}),(0,l.jsxs)("div",{children:["项目路径:",e2.projectRoot||"-"]})]}),(0,l.jsx)("div",{style:{padding:10,borderRadius:8,background:"var(--colorFillAlter)",color:"var(--colorTextSecondary)",fontSize:12,lineHeight:1.7,maxHeight:260,overflow:"auto",whiteSpace:"pre-wrap"},children:Y(e2,1200)||"暂无内容预览"}),(0,l.jsx)("div",{children:tn(e2)})]}):(0,l.jsx)(g.A,{image:g.A.PRESENTED_IMAGE_SIMPLE,description:"请选择一个提示词"})})]}),(0,l.jsxs)(j.A,{title:ed?"创建提示词":er&&U(er)?"编辑我的提示词 — ".concat(en||er.projectName):"编辑项目提示词 — ".concat((null==er?void 0:er.projectName)||""),open:ee,onClose:()=>et(!1),width:980,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px",display:"grid",gridTemplateRows:"minmax(320px, 1fr) 420px",gap:14,height:"100%"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,l.jsxs)(a.A,{children:[(0,l.jsx)(d.Ay,{onClick:()=>et(!1),children:e("common.cancel")}),(0,l.jsx)(d.Ay,{type:"primary",loading:es,onClick:()=>{e3()},children:e("common.save")})]}),children:[(0,l.jsxs)("div",{style:{minHeight:0,display:"flex",flexDirection:"column"},children:[(0,l.jsx)("div",{style:{marginBottom:12},children:ed||er&&U(er)?(0,l.jsxs)(a.A,{direction:"vertical",size:6,style:{width:"100%"},children:[(0,l.jsx)(m.A,{placeholder:"提示词名称",value:en,onChange:e=>ea(e.target.value),style:{maxWidth:520}}),!ed&&(0,l.jsx)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:null==er?void 0:er.customizePath})]}):(0,l.jsx)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:null==er?void 0:er.customizePath})}),(0,l.jsx)(m.A.TextArea,{value:eo,onChange:e=>ei(e.target.value),style:{flex:1,minHeight:280,fontFamily:"SF Mono, Monaco, Consolas, monospace",fontSize:13,resize:"none"}})]}),(0,l.jsxs)("div",{style:{minHeight:0,border:"1px solid var(--colorBorderSecondary)",borderRadius:10,background:"var(--colorBgContainer)",display:"flex",flexDirection:"column",overflow:"hidden",boxShadow:"0 8px 24px rgba(15, 23, 42, 0.06)"},children:[(0,l.jsxs)("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--colorBorderSecondary)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,l.jsxs)(a.A,{size:6,children:[(0,l.jsx)(B.A,{style:{color:"var(--colorAccent)"}}),(0,l.jsx)("span",{style:{fontWeight:600},children:"AI 提示词助手"})]}),(0,l.jsxs)(a.A,{size:6,children:[eT.length>0&&(0,l.jsx)(d.Ay,{size:"small",onClick:()=>eN([]),children:"清空历史"}),eP?(0,l.jsx)(s.A,{color:"processing",style:{margin:0},children:"生成中"}):(0,l.jsx)(s.A,{color:"blue",style:{margin:0},children:"可对话优化"})]})]}),(0,l.jsx)("div",{ref:eZ,style:{flex:1,minHeight:0,overflowY:"auto",padding:14,background:"var(--colorFillAlter)"},children:0!==eT.length||eP?(0,l.jsxs)(a.A,{direction:"vertical",size:12,style:{width:"100%"},children:[eT.map((e,r)=>{let o="user"===e.role;return(0,l.jsx)("div",{style:{display:"flex",justifyContent:o?"flex-end":"flex-start"},children:(0,l.jsxs)("div",{style:{maxWidth:"78%",padding:"10px 12px",borderRadius:12,background:o?"var(--colorFillSecondary)":"var(--colorBgContainer)",color:"var(--colorText)",border:"1px solid var(--colorBorderSecondary)",whiteSpace:"pre-wrap",lineHeight:1.7,fontSize:13,transition:"all .2s ease"},children:[e.content,!o&&(0,l.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:8},children:(0,l.jsx)(d.Ay,{size:"small",type:"primary",onClick:()=>{ei(e.content),t.success("已应用到编辑内容,请确认后保存")},children:"应用"})})]})},"".concat(e.role,"-").concat(r))}),eP&&(0,l.jsx)("div",{style:{display:"flex",justifyContent:"flex-start"},children:(0,l.jsxs)("div",{style:{padding:"10px 12px",borderRadius:12,background:"var(--colorBgContainer)",border:"1px solid var(--colorBorderSecondary)",color:"var(--colorTextSecondary)",fontSize:13},children:[(0,l.jsx)(v.A,{size:"small",style:{marginRight:8}}),"AI 正在分析并生成内容..."]})})]}):(0,l.jsx)(g.A,{image:g.A.PRESENTED_IMAGE_SIMPLE,description:"输入 @ 召回知识库文件,再描述你的优化目标"})}),(0,l.jsx)(f.A,{style:{margin:0}}),(0,l.jsxs)("div",{style:{padding:12},children:[e_.length>0&&(0,l.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:8},children:e_.map(e=>(0,l.jsxs)(s.A,{closable:!0,onClose:()=>eJ(t=>t.filter(t=>t!==e)),style:{margin:0,maxWidth:360,overflow:"hidden",textOverflow:"ellipsis"},children:["@",e]},e))}),eG&&(0,l.jsxs)("div",{style:{maxHeight:260,overflowY:"auto",marginBottom:8,border:"1px solid var(--colorBorderSecondary)",borderRadius:12,background:"var(--colorBgElevated, var(--colorBgContainer))",boxShadow:"0 16px 40px rgba(15, 23, 42, 0.14)"},children:[(0,l.jsxs)("div",{style:{position:"sticky",top:0,zIndex:1,padding:"10px 12px",borderBottom:"1px solid var(--colorBorderSecondary)",background:"var(--colorBgElevated, var(--colorBgContainer))",display:"flex",justifyContent:"space-between",gap:12,alignItems:"center"},children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{style:{color:"var(--colorText)",fontSize:13,fontWeight:700},children:"召回知识库文件"}),(0,l.jsx)("div",{style:{color:"var(--colorTextSecondary)",fontSize:11},children:"支持文件名与知识库内容检索,最多召回 3 个文件"})]}),(0,l.jsx)(s.A,{color:eq?"blue":"default",style:{margin:0,maxWidth:240,overflow:"hidden",textOverflow:"ellipsis"},children:eq?"@".concat(eq):"输入 @关键词"})]}),eL?(0,l.jsxs)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:[(0,l.jsx)(v.A,{size:"small",style:{marginRight:8}}),"正在加载知识库文件..."]}):0===eO.length?(0,l.jsx)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:"暂无可召回的知识库文件"}):0===e4.length?(0,l.jsx)("div",{style:{padding:14,color:"var(--colorTextSecondary)",fontSize:12},children:eU?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v.A,{size:"small",style:{marginRight:8}}),"正在检索知识库内容..."]}):"没有匹配的知识库文件,请换个关键词"}):(0,l.jsxs)(l.Fragment,{children:[eU&&(0,l.jsxs)("div",{style:{padding:"8px 12px",color:"var(--colorTextSecondary)",fontSize:12,borderBottom:"1px solid var(--colorBorderSecondary)"},children:[(0,l.jsx)(v.A,{size:"small",style:{marginRight:8}}),"正在继续检索内容匹配..."]}),e4.slice(0,30).map(e=>(0,l.jsxs)("div",{onMouseDown:t=>{var r;t.preventDefault(),r=e.relativePath,eJ(e=>e.includes(r)?e:[...e,r]),eI(e=>e.replace(/(^|\s)@([^\s@]*)$/,"$1@".concat(r," "))),eX(!1)},style:{padding:"10px 12px",cursor:"pointer",borderBottom:"1px solid var(--colorBorderSecondary)",fontSize:12,display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",gap:10,alignItems:"center"},children:[(0,l.jsx)("div",{style:{width:22,height:22,borderRadius:7,background:"var(--colorFillSecondary)",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,l.jsx)(A.A,{style:{color:"var(--colorAccent)"}})}),(0,l.jsxs)("div",{style:{minWidth:0},children:[(0,l.jsx)("div",{style:{color:"var(--colorText)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:700},children:e.relativePath}),(0,l.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e.category||"未分类"," \xb7 ",e.format||"未知格式","number"==typeof e.score?" \xb7 score ".concat(e.score.toFixed(2)):""]})]}),(0,l.jsxs)(a.A,{size:4,children:[(0,l.jsx)(s.A,{color:"content"===e.matchedBy?"purple":"disk"===e.matchedBy?"orange":"blue",style:{margin:0},children:"content"===e.matchedBy?"内容匹配":"disk"===e.matchedBy?"磁盘文件":"文件匹配"}),(0,l.jsx)(s.A,{style:{margin:0},children:e.status})]})]},e.relativePath))]})]}),(0,l.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-end"},children:[(0,l.jsx)(m.A.TextArea,{value:eE,onChange:e=>{let t=e.target.value;eI(t),eX(null!==q(t))},onFocus:()=>eX(null!==q(eE)),onPressEnter:e=>{e.shiftKey||(e.preventDefault(),e9())},disabled:eP,placeholder:"输入 @ 召回知识库文件,再描述优化目标...",autoSize:{minRows:2,maxRows:5},style:{fontSize:13,lineHeight:1.6}}),(0,l.jsx)(d.Ay,{type:"primary",icon:(0,l.jsx)(E.A,{}),loading:eP,disabled:!eE.trim(),onClick:()=>{e9()},children:"发送"})]})]})]})]})]})}}},e=>{e.O(0,[433,787,576,195,985,525,636,593,792],()=>e(e.s=27549)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(s,e,t,c,a,n,d,i,u,o,r,k,b,g,h,l,f){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:g,bitArray:[]},__routerFilterDynamic:{numItems:u,errorRate:1e-4,numBits:u,numHashes:g,bitArray:[]},"/":["static/chunks/pages/index-c5e0758e6b31deee.js"],"/_error":["static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":[s,e,n,"static/chunks/749-83476f9bcd014a5a.js","static/chunks/pages/asset-library-e9ddfe1cbaac42d9.js"],"/context/long-term":[s,e,t,c,a,n,d,i,h,"static/chunks/pages/context/long-term-2e6a30a8f879df47.js"],"/context/short-term":[s,e,t,c,a,n,d,i,h,"static/chunks/pages/context/short-term-730211234fa3add6.js"],"/document-roles":[s,e,t,c,d,"static/chunks/698-5f16390243596219.js","static/chunks/pages/document-roles-4be647d475d4674b.js"],"/document-specs":[s,e,t,c,d,r,"static/chunks/265-32ec272a49cfacef.js","static/chunks/pages/document-specs-36de5dfb6865664f.js"],"/documents":[s,e,t,c,d,o,l,"static/chunks/447-fa0c71b418e19135.js","static/chunks/pages/documents-3b2f23e2d6b27f1b.js"],"/guide":[s,e,l,"static/chunks/20-00147a779147a5a4.js","static/chunks/pages/guide-cdf68a096918c979.js"],"/knowledge":["static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":[s,e,t,a,n,i,o,f,k,"static/chunks/pages/knowledge/file-detail-0a5e267f77f4e8b3.js"],"/knowledge/files":[s,e,t,a,n,i,k,"static/chunks/pages/knowledge/files-bc2ad2b01cb1f568.js"],"/knowledge/manage":[s,e,o,"static/chunks/788-7f7359a830e3f4fd.js","static/chunks/pages/knowledge/manage-25eb1a993b155450.js"],"/knowledge/search":[s,e,t,o,r,k,"static/chunks/pages/knowledge/search-afb423fc22eb623b.js"],"/models":[s,e,t,c,a,d,r,"static/chunks/pages/models-b5f68c4c70257495.js"],"/overview":[s,e,"static/chunks/131-e2f0164f12b82496.js","static/chunks/pages/overview-28c7ceeca56e6a78.js"],"/prompt":[s,e,t,c,a,"static/chunks/525-5d947137d894f5fe.js","static/chunks/pages/prompt-714b161b79fcd454.js"],"/settings":[s,e,"static/chunks/pages/settings-fa9d6a56898ba678.js"],"/system/logs":[s,t,c,a,n,i,f,"static/chunks/pages/system/logs-f4e222140dc7b30c.js"],sortedPages:["/","/_app","/_error","/asset-library","/context/long-term","/context/short-term","/document-roles","/document-specs","/documents","/guide","/knowledge","/knowledge/file-detail","/knowledge/files","/knowledge/manage","/knowledge/search","/models","/overview","/prompt","/settings","/system/logs"]}}("static/chunks/433-233659be69169c19.js","static/chunks/787-c18af810af3433f6.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/150-134099bf526e9292.js","static/chunks/455-e04e99d9e242de44.js","static/chunks/289-6bf8af72114aefd5.js",0,"static/chunks/506-93f730bc149d0dce.js","static/chunks/938-45efd516bb130bd5.js","static/css/09be1fdeab8595ab.css",1e-4,NaN,"static/chunks/932-2f195f4200ce9378.js","static/chunks/412-b9c854c6a76db67d.js","static/chunks/512-12bd409cebeca05b.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();