@customize-agent/server 4.0.110 → 4.0.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +36 -29
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/chunks/6041.js +67 -65
- package/.next/server/chunks/8203.js +1 -1
- package/.next/server/chunks/8204.js +1 -1
- package/.next/server/chunks/8661.js +4 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/api/documents/export.js +1 -1
- package/.next/server/pages/api/documents/generated/[id].js +2 -1
- package/.next/server/pages/api/jobs/[id].js +1 -1
- package/.next/server/pages/api/jobs.js +1 -1
- package/.next/server/pages/api/kb/files.js +1 -1
- package/.next/server/pages/api/kb/operations.js +1 -1
- package/.next/server/pages/api/kb/upload/complete.js +1 -1
- package/.next/server/pages/asset-library.html +1 -1
- package/.next/server/pages/document-roles.html +1 -1
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages-manifest.json +21 -21
- package/.next/static/2zuiiTmB2oc9xI0T0I-tH/_buildManifest.js +1 -0
- package/.next/static/chunks/155-2f71ef31b9336adb.js +1 -0
- package/.next/static/chunks/403-0469cb096084301f.js +1 -0
- package/.next/static/chunks/576-fdadae734b47b56b.js +1 -0
- package/.next/static/chunks/795-18a2b5f64892634d.js +1 -0
- package/.next/static/chunks/880-64d8a15c524106d2.js +1 -0
- package/.next/static/chunks/{238-16333381c574f65b.js → 945-9e9382e35f024c04.js} +1 -1
- package/.next/static/chunks/pages/{_app-45a68e88c43b4f2c.js → _app-bddc4705c7d28afc.js} +22 -22
- package/.next/static/chunks/pages/{asset-library-994e1e2977b6cf1b.js → asset-library-dc19b6ccd193de27.js} +1 -1
- package/.next/static/chunks/pages/{document-roles-17247e9639a04648.js → document-roles-5e8baf8718eda4ce.js} +1 -1
- package/.next/static/chunks/pages/documents-cf82f7df998af35d.js +1 -0
- package/.next/static/chunks/pages/{index-9df5670a1487dbb1.js → index-cb27bfa36c212ab5.js} +1 -1
- package/.next/static/chunks/pages/knowledge/{file-detail-73678bce1bb43f02.js → file-detail-58d6d3365af15b4c.js} +1 -1
- package/.next/static/chunks/pages/knowledge/files-3bf25ca6491cebe3.js +1 -0
- package/.next/static/chunks/pages/knowledge/{manage-b07ce5086d63ca67.js → manage-c98ed288e65c3e84.js} +1 -1
- package/.next/static/chunks/pages/{models-ec554ec972763d7b.js → models-79489bb240e69848.js} +1 -1
- package/.next/static/chunks/pages/{overview-63f3dda2dde16c9e.js → overview-8713b5d37af0eeb3.js} +1 -1
- package/.next/static/chunks/pages/{prompt-11aab3e22cca2bdd.js → prompt-031bc6ab32830ae5.js} +1 -1
- package/.next/static/chunks/pages/system/{logs-91bfbc6fe9343d2e.js → logs-b073e55810452aca.js} +1 -1
- package/.next/static/css/e14747a3f560e6f5.css +1 -0
- package/package.json +4 -4
- package/scripts/verify-next-static.js +9 -6
- package/.next/static/WFPMB0O5frURgkh5Qa8-n/_buildManifest.js +0 -1
- package/.next/static/chunks/506-93f730bc149d0dce.js +0 -1
- package/.next/static/chunks/576-6699fed6c88502fe.js +0 -1
- package/.next/static/chunks/788-72bd97a04f2aee27.js +0 -1
- package/.next/static/chunks/795-e18d1f7843b8f683.js +0 -1
- package/.next/static/chunks/pages/documents-e79320e8cb87a955.js +0 -1
- package/.next/static/chunks/pages/knowledge/files-f72277ef4a72bff0.js +0 -1
- package/.next/static/css/725551a791210988.css +0 -1
- /package/.next/static/{WFPMB0O5frURgkh5Qa8-n → 2zuiiTmB2oc9xI0T0I-tH}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[958],{63806:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>S});var a=s(65321),n=s(97109),r=s(17807),l=s(25258),o=s(88762),i=s(33442),c=s(85114),d=s(84253),p=s(21289),m=s(384),h=s(11702),x=s(71102),u=s(58209),y=s(75548),g=s(56768),w=s(93051),j=s(81668),v=s(64254),f=s(85855),k=s(48321),A=s(6578);let b={cover:"magenta",reference:"blue",generated:"purple",attachment:"cyan",map:"orange",operator:"geekblue"};function S(){let e=(0,k.Vr)(),{message:t}=r.A.useApp(),s=(t,s)=>e(t).replace("{count}",String(s)),[S,N]=(0,n.useState)([]),[C,T]=(0,n.useState)(new Set),[_,I]=(0,n.useState)(!0),[z,D]=(0,n.useState)(""),E=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;try{N((await (0,A.f$)(e||void 0)).assets)}catch(e){N([])}};(0,n.useEffect)(()=>{let e=!1;return I(!0),(0,A.dx)().then(t=>{var s,a,n;if(e)return;let r=(null==(s=t.find(e=>e.selected))?void 0:s.projectRoot)||(null==(a=t.find(e=>e.isCurrent))?void 0:a.projectRoot)||(null==(n=t[0])?void 0:n.projectRoot)||"";return D(r),E(r)}).finally(()=>{e||I(!1)}),()=>{e=!0}},[]);let F=async s=>{var a;s&&(await (null==(a=navigator.clipboard)?void 0:a.writeText(s)),t.success(e("assets.copiedPath")))},R=async(s,a)=>{try{"openFile"===a?await (0,A.oS)(s,"file",z||void 0):"openDirectory"===a?await (0,A.oS)(s,"directory",z||void 0):"delete"===a&&(N((await (0,A.JU)(s,z||void 0)).assets),T(e=>{let t=new Set(e);return t.delete(s),t}))}catch(s){t.error(s instanceof Error?s.message:e("assets.operationFailed"))}},P=a=>{let n="selected"===a?[...C]:S.map(e=>e.id);0!==n.length&&l.A.confirm({title:"all"===a?e("assets.deleteAllConfirm"):s("assets.deleteSelectedConfirm",n.length),content:e("assets.deleteIrreversible"),okText:e("common.confirm"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{I(!0);try{await Promise.all(n.map(e=>(0,A.JU)(e,z||void 0))),await E(),T(new Set),t.success(s("assets.deleted",n.length))}catch(s){t.error(e("assets.batchDeleteFailed"))}finally{I(!1)}}})};return _?(0,a.jsx)("div",{className:"space-y-5 animateFadeIn",children:(0,a.jsx)(o.A,{active:!0,title:!0,paragraph:{rows:8}})}):(0,a.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"pageTitle",children:e("nav.assetLibrary")}),(0,a.jsx)("p",{className:"pageDesc",children:e("assets.description")})]}),(0,a.jsxs)(i.A,{size:8,children:[(0,a.jsx)("span",{style:{color:"var(--colorTextSecondary)",fontSize:12},children:s("assets.total",S.length)}),(0,a.jsx)(c.Ay,{danger:!0,size:"small",disabled:0===C.size,icon:(0,a.jsx)(u.A,{}),onClick:()=>P("selected"),children:s("assets.deleteSelected",C.size||"")}),(0,a.jsx)(c.Ay,{danger:!0,size:"small",disabled:0===S.length,onClick:()=>P("all"),children:e("assets.deleteAll")})]})]}),0===S.length?(0,a.jsx)(d.A,{description:e("assets.empty")}):(0,a.jsx)(p.A,{className:"modern-table",rowKey:"id",size:"middle",dataSource:S,pagination:{pageSize:12,showSizeChanger:!0,pageSizeOptions:[12,24,48],showTotal:e=>s("assets.total",e)},rowSelection:{selectedRowKeys:[...C],onChange:e=>T(new Set(e.map(String)))},columns:[{title:e("assets.resource"),dataIndex:"name",key:"name",width:360,render:(e,t)=>{let s="image"===t.type&&t.path?"/api/assets/generated/preview?id=".concat(encodeURIComponent(t.id)).concat(z?"&projectRoot=".concat(encodeURIComponent(z)):""):void 0;return(0,a.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,a.jsx)("div",{className:"w-12 h-12 rounded-lg bg-[var(--colorBgHover)] flex items-center justify-center overflow-hidden shrink-0",children:s?(0,a.jsx)(m.A,{src:s,alt:t.name,width:48,height:48,style:{objectFit:"cover"},preview:!1}):"image"===t.type?(0,a.jsx)(y.A,{className:"text-[var(--colorWarning)]"}):(0,a.jsx)(g.A,{className:"text-[var(--colorAccent)]"})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"font-medium text-[var(--colorText)] whitespace-normal break-words leading-snug",children:t.name}),(0,a.jsxs)("div",{className:"mt-1 flex flex-wrap gap-1",children:[(0,a.jsx)(h.A,{color:b[t.role]||"blue",bordered:!1,className:"m-0",children:t.role}),(0,a.jsx)(h.A,{bordered:!1,className:"m-0",children:t.type})]})]})]})}},{title:e("assets.path"),dataIndex:"path",key:"path",render:e=>e?(0,a.jsx)("span",{className:"font-mono text-xs text-[var(--colorTextSecondary)] whitespace-normal break-all",children:e}):(0,a.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"-"})},{title:e("assets.source"),dataIndex:"source",key:"source",width:110,render:t=>(0,a.jsx)(h.A,{bordered:!1,className:"m-0",children:{knowledge_base:e("assets.sourceKnowledgeBase"),generated:e("assets.sourceGenerated"),uploaded:e("assets.sourceUploaded"),external_url:e("assets.sourceExternalUrl")}[t]||t})},{title:e("assets.usedDocuments"),dataIndex:"usedByDocumentIds",key:"usedByDocumentIds",width:100,render:e=>(0,a.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:e.length})},{title:e("assets.updatedAt"),dataIndex:"updatedAt",key:"updatedAt",width:130,render:e=>(0,a.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:new Date(e).toLocaleDateString()})},{title:e("assets.actions"),key:"actions",width:88,align:"right",render:(t,s)=>{let n=[...s.path?[{key:"copy",icon:(0,a.jsx)(w.A,{}),label:e("assets.copyPath"),onClick:()=>{F(s.path)}}]:[],...s.path?[{key:"open",icon:(0,a.jsx)(j.A,{}),label:e("assets.openFile"),onClick:()=>{R(s.id,"openFile")}}]:[],...s.path?[{key:"folder",icon:(0,a.jsx)(v.A,{}),label:e("assets.openDirectory"),onClick:()=>{R(s.id,"openDirectory")}}]:[],{type:"divider"},{key:"delete",icon:(0,a.jsx)(u.A,{}),label:e("common.delete"),danger:!0,onClick:()=>{R(s.id,"delete")}}];return(0,a.jsx)(x.A,{menu:{items:n},trigger:["click"],placement:"bottomRight",children:(0,a.jsx)(c.Ay,{type:"text",size:"small",icon:(0,a.jsx)(f.A,{}),onClick:e=>e.stopPropagation()})})}}]})]})}},85015:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/asset-library",function(){return s(63806)}])}},e=>{e.O(0,[433,985,713,289,
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[958],{63806:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>S});var a=s(65321),n=s(97109),r=s(17807),l=s(25258),o=s(88762),i=s(33442),c=s(85114),d=s(84253),p=s(21289),m=s(384),h=s(11702),x=s(71102),u=s(58209),y=s(75548),g=s(56768),w=s(93051),j=s(81668),v=s(64254),f=s(85855),k=s(48321),A=s(6578);let b={cover:"magenta",reference:"blue",generated:"purple",attachment:"cyan",map:"orange",operator:"geekblue"};function S(){let e=(0,k.Vr)(),{message:t}=r.A.useApp(),s=(t,s)=>e(t).replace("{count}",String(s)),[S,N]=(0,n.useState)([]),[C,T]=(0,n.useState)(new Set),[_,I]=(0,n.useState)(!0),[z,D]=(0,n.useState)(""),E=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;try{N((await (0,A.f$)(e||void 0)).assets)}catch(e){N([])}};(0,n.useEffect)(()=>{let e=!1;return I(!0),(0,A.dx)().then(t=>{var s,a,n;if(e)return;let r=(null==(s=t.find(e=>e.selected))?void 0:s.projectRoot)||(null==(a=t.find(e=>e.isCurrent))?void 0:a.projectRoot)||(null==(n=t[0])?void 0:n.projectRoot)||"";return D(r),E(r)}).finally(()=>{e||I(!1)}),()=>{e=!0}},[]);let F=async s=>{var a;s&&(await (null==(a=navigator.clipboard)?void 0:a.writeText(s)),t.success(e("assets.copiedPath")))},R=async(s,a)=>{try{"openFile"===a?await (0,A.oS)(s,"file",z||void 0):"openDirectory"===a?await (0,A.oS)(s,"directory",z||void 0):"delete"===a&&(N((await (0,A.JU)(s,z||void 0)).assets),T(e=>{let t=new Set(e);return t.delete(s),t}))}catch(s){t.error(s instanceof Error?s.message:e("assets.operationFailed"))}},P=a=>{let n="selected"===a?[...C]:S.map(e=>e.id);0!==n.length&&l.A.confirm({title:"all"===a?e("assets.deleteAllConfirm"):s("assets.deleteSelectedConfirm",n.length),content:e("assets.deleteIrreversible"),okText:e("common.confirm"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{I(!0);try{await Promise.all(n.map(e=>(0,A.JU)(e,z||void 0))),await E(),T(new Set),t.success(s("assets.deleted",n.length))}catch(s){t.error(e("assets.batchDeleteFailed"))}finally{I(!1)}}})};return _?(0,a.jsx)("div",{className:"space-y-5 animateFadeIn",children:(0,a.jsx)(o.A,{active:!0,title:!0,paragraph:{rows:8}})}):(0,a.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"pageTitle",children:e("nav.assetLibrary")}),(0,a.jsx)("p",{className:"pageDesc",children:e("assets.description")})]}),(0,a.jsxs)(i.A,{size:8,children:[(0,a.jsx)("span",{style:{color:"var(--colorTextSecondary)",fontSize:12},children:s("assets.total",S.length)}),(0,a.jsx)(c.Ay,{danger:!0,size:"small",disabled:0===C.size,icon:(0,a.jsx)(u.A,{}),onClick:()=>P("selected"),children:s("assets.deleteSelected",C.size||"")}),(0,a.jsx)(c.Ay,{danger:!0,size:"small",disabled:0===S.length,onClick:()=>P("all"),children:e("assets.deleteAll")})]})]}),0===S.length?(0,a.jsx)(d.A,{description:e("assets.empty")}):(0,a.jsx)(p.A,{className:"modern-table",rowKey:"id",size:"middle",dataSource:S,pagination:{pageSize:12,showSizeChanger:!0,pageSizeOptions:[12,24,48],showTotal:e=>s("assets.total",e)},rowSelection:{selectedRowKeys:[...C],onChange:e=>T(new Set(e.map(String)))},columns:[{title:e("assets.resource"),dataIndex:"name",key:"name",width:360,render:(e,t)=>{let s="image"===t.type&&t.path?"/api/assets/generated/preview?id=".concat(encodeURIComponent(t.id)).concat(z?"&projectRoot=".concat(encodeURIComponent(z)):""):void 0;return(0,a.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,a.jsx)("div",{className:"w-12 h-12 rounded-lg bg-[var(--colorBgHover)] flex items-center justify-center overflow-hidden shrink-0",children:s?(0,a.jsx)(m.A,{src:s,alt:t.name,width:48,height:48,style:{objectFit:"cover"},preview:!1}):"image"===t.type?(0,a.jsx)(y.A,{className:"text-[var(--colorWarning)]"}):(0,a.jsx)(g.A,{className:"text-[var(--colorAccent)]"})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"font-medium text-[var(--colorText)] whitespace-normal break-words leading-snug",children:t.name}),(0,a.jsxs)("div",{className:"mt-1 flex flex-wrap gap-1",children:[(0,a.jsx)(h.A,{color:b[t.role]||"blue",bordered:!1,className:"m-0",children:t.role}),(0,a.jsx)(h.A,{bordered:!1,className:"m-0",children:t.type})]})]})]})}},{title:e("assets.path"),dataIndex:"path",key:"path",render:e=>e?(0,a.jsx)("span",{className:"font-mono text-xs text-[var(--colorTextSecondary)] whitespace-normal break-all",children:e}):(0,a.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"-"})},{title:e("assets.source"),dataIndex:"source",key:"source",width:110,render:t=>(0,a.jsx)(h.A,{bordered:!1,className:"m-0",children:{knowledge_base:e("assets.sourceKnowledgeBase"),generated:e("assets.sourceGenerated"),uploaded:e("assets.sourceUploaded"),external_url:e("assets.sourceExternalUrl")}[t]||t})},{title:e("assets.usedDocuments"),dataIndex:"usedByDocumentIds",key:"usedByDocumentIds",width:100,render:e=>(0,a.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:e.length})},{title:e("assets.updatedAt"),dataIndex:"updatedAt",key:"updatedAt",width:130,render:e=>(0,a.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:new Date(e).toLocaleDateString()})},{title:e("assets.actions"),key:"actions",width:88,align:"right",render:(t,s)=>{let n=[...s.path?[{key:"copy",icon:(0,a.jsx)(w.A,{}),label:e("assets.copyPath"),onClick:()=>{F(s.path)}}]:[],...s.path?[{key:"open",icon:(0,a.jsx)(j.A,{}),label:e("assets.openFile"),onClick:()=>{R(s.id,"openFile")}}]:[],...s.path?[{key:"folder",icon:(0,a.jsx)(v.A,{}),label:e("assets.openDirectory"),onClick:()=>{R(s.id,"openDirectory")}}]:[],{type:"divider"},{key:"delete",icon:(0,a.jsx)(u.A,{}),label:e("common.delete"),danger:!0,onClick:()=>{R(s.id,"delete")}}];return(0,a.jsx)(x.A,{menu:{items:n},trigger:["click"],placement:"bottomRight",children:(0,a.jsx)(c.Ay,{type:"text",size:"small",icon:(0,a.jsx)(f.A,{}),onClick:e=>e.stopPropagation()})})}}]})]})}},85015:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/asset-library",function(){return s(63806)}])}},e=>{e.O(0,[433,155,985,713,289,945,636,593,792],()=>e(e.s=85015)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[623],{23507:(e,l,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/document-roles",function(){return r(59889)}])},59889:(e,l,r)=>{"use strict";r.r(l),r.d(l,{default:()=>Q});var s=r(65321),o=r(97109),t=r(35292),n=r(17807),i=r(63455),a=r(11702),c=r(84253),d=r(85114),p=r(26171),x=r(33442),m=r(50883),u=r(85493),h=r(58569),g=r(34052),f=r(7576),j=r(2256),y=r(38770),v=r(68787),b=r(25345),A=r(80042),w=r(75548),N=r(26631),I=r(84662),S=r(30486),T=r(99650),C=r(8263),R=r(84742),k=r(43094),z=r(8579),B=r(81668),_=r(58209),F=r(96091),E=r(54746),O=r(96651),D=r(60470),P=r(6578),H=r(48321);let{Paragraph:U}=t.A,q={rule:(0,s.jsx)(b.A,{}),table:(0,s.jsx)(A.A,{}),drawing:(0,s.jsx)(w.A,{}),specification:(0,s.jsx)(N.A,{}),reference:(0,s.jsx)(I.A,{})},L={fact_extraction:(0,s.jsx)(S.A,{}),chapter_generation:(0,s.jsx)(T.A,{}),llm_review:(0,s.jsx)(C.A,{}),validation:(0,s.jsx)(R.A,{}),formatting:(0,s.jsx)(k.A,{}),reference:(0,s.jsx)(I.A,{})},V={rule:"#fa8c16",table:"#52c41a",drawing:"#722ed1",specification:"#eb2f96",reference:"#13c2c2"},W={fact_extraction:"#fa8c16",chapter_generation:"#1677ff",llm_review:"#722ed1",validation:"#52c41a",formatting:"#eb2f96",reference:"#13c2c2"},G={rule:"roles.ruleFile",table:"roles.tableFile",drawing:"roles.drawingFile",specification:"roles.specificationFile",reference:"roles.reference"},J={fact_extraction:"roles.factExtraction",chapter_generation:"roles.chapterGeneration",llm_review:"roles.llmReview",validation:"roles.validation",formatting:"roles.formatting",reference:"roles.reference"};function M(e,l){let r=new Blob([JSON.stringify(l,null,2)],{type:"application/json;charset=utf-8"}),s=URL.createObjectURL(r),o=document.createElement("a");o.href=s,o.download=e,o.click(),URL.revokeObjectURL(s)}function X(e){return e.trim().replace(/[\\/:*?"<>|]/g,"-").slice(0,80)||"untitled"}function K(e,l){return{type:"customize-agent.documentRoles",version:1,exportedAt:new Date().toISOString(),roles:e,configs:l}}function Q(){let e,l,r=(0,H.Vr)(),{message:t}=n.A.useApp(),[b]=i.A.useForm(),[A]=i.A.useForm(),[w,I]=(0,o.useState)([]),[S,C]=(0,o.useState)([]),[R,k]=(0,o.useState)([]),[Q,Y]=(0,o.useState)(!1),[Z,$]=(0,o.useState)(!1),[ee,el]=(0,o.useState)(!1),[er,es]=(0,o.useState)("file"),[eo,et]=(0,o.useState)("custom"),[en,ei]=(0,o.useState)(!1),ea=(0,o.useRef)(null),ec=async()=>{let[e,l]=await Promise.all([(0,P.lv)(),(0,P.dx)()]);I(e.roles),C(e.configs),k(l)};(0,o.useEffect)(()=>{ec().catch(()=>t.error(r("common.error")))},[t,r]);let ed=()=>"all"===eo||"custom"===eo,ep=w.filter(ed),ex=S.filter(ed),em=ep.filter(e=>"file"===e.type),eu=ep.filter(e=>"prompt"===e.type),eh=w.filter(e=>"file"===e.type),eg=w.filter(e=>"prompt"===e.type),ef=async()=>{try{let e=await b.validateFields(),l="file"===e.type?{...e,resourceId:void 0,resourceIds:[]}:e,s=await (0,P.dg)(l);I(s.roles),C(s.configs),Y(!1),t.success(r("common.success"))}catch(e){t.error(r("common.error"))}},ej=async()=>{try{let e=await A.validateFields(),l=e=>(null!=e?e:[]).map((e,l)=>{var r;return{roleId:e.roleId,order:Number(null!=(r=e.order)?r:l)}}),s=await (0,P.NR)({...e,fileRoles:l(e.fileRoles),promptRoles:l(e.promptRoles)});I(s.roles),C(s.configs),$(!1),t.success(r("common.success"))}catch(e){t.error(r("common.error"))}},ey=async e=>{try{let l=await (0,P.FV)(e.type,e.id);I(l.roles),C(l.configs),t.success("角色已删除")}catch(e){t.error(e instanceof Error?e.message:"角色删除失败")}},ev=async e=>{try{let l=await (0,P.dw)(e);I(l.roles),C(l.configs),t.success("项目角色配置已删除")}catch(e){t.error(e instanceof Error?e.message:"项目角色配置删除失败")}},eb=async e=>{if(e){ei(!0);try{let l=JSON.parse(await e.text()),r=await fetch("/api/documents/roles?mode=import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!r.ok)throw Error(await r.text());let s=await r.json();I(s.roles),C(s.configs),t.success("已导入 ".concat(s.importedRoles," 个角色、").concat(s.importedConfigs," 个配置"))}catch(e){t.error("导入失败,请确认 JSON 文件格式正确")}finally{ei(!1),ea.current&&(ea.current.value="")}}},eA=function(e){var l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"file";b.setFieldsValue(e?{...e,resourceIds:(null==(l=e.resourceIds)?void 0:l.length)?e.resourceIds:e.resourceId?[e.resourceId]:[]}:{id:"role-".concat(Date.now()),name:"",description:"",type:r,resourceIds:[],executionType:"prompt"===r?"reference":void 0,processingType:"file"===r?"reference":void 0}),Y(!0)},ew=e=>{A.setFieldsValue(null!=e?e:{id:"config-".concat(Date.now()),name:"",description:"",fileRoles:[],promptRoles:[],builtIn:!1}),$(!0)},eN=e=>w.find(l=>l.id===e),eI=e=>{var l;return(null==e?void 0:e.type)==="prompt"?(null==(l=e.resourceIds)?void 0:l.length)?e.resourceIds:e.resourceId?[e.resourceId]:[]:[]},eS=e=>{var l;return(null==(l=R.find(l=>l.id===e))?void 0:l.projectName)||e},eT=e=>(0,s.jsx)(a.A,{closable:e.closable,onClose:e.onClose,color:"purple",title:e.value,style:{margin:"1px 2px",fontSize:11,lineHeight:"18px"},children:eS(e.value)}),eC=(e,l)=>{let o="file"===l?"blue":"purple",t="file"===l?G:J,n=[...e].sort((e,l)=>{var r,s;return Number(null!=(r=e.order)?r:0)-Number(null!=(s=l.order)?s:0)}).map(e=>eN(e.roleId)).filter(e=>!!e);return 0===n.length?(0,s.jsx)(c.A,{image:c.A.PRESENTED_IMAGE_SIMPLE,description:"file"===l?r("roles.noFileRoleSelected"):r("roles.noPromptRoleSelected")}):(0,s.jsx)("div",{className:"flex flex-col gap-2",children:n.map((e,l)=>{var n,i;let c=eI(e),d="file"===e.type?null!=(n=e.processingType)?n:"":null!=(i=e.executionType)?i:"";return(0,s.jsxs)("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-[var(--colorBgContainer)] border border-[var(--borderColor)]",children:[(0,s.jsxs)(a.A,{color:o,className:"m-0",children:["#",l+1]}),(0,s.jsx)("span",{className:"font-semibold flex-1 min-w-0 overflow-hidden text-ellipsis whitespace-nowrap",children:e.name}),(0,s.jsx)(a.A,{className:"m-0",children:r(t[d]||"roles.reference")}),"prompt"===e.type&&(0,s.jsx)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:r("roles.bindPromptCount").replace("{count}",String(c.length))})]},e.id)})})},eR=e=>{if(!e)return null;let l=eI(e);return(0,s.jsxs)("div",{style:{marginTop:8,padding:8,borderRadius:8,background:"var(--colorFillQuaternary)",fontSize:12,color:"var(--colorTextSecondary)"},children:[e.description&&(0,s.jsx)("div",{style:{marginBottom:4*("prompt"===e.type)},children:e.description}),"prompt"===e.type&&(0,s.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[l.slice(0,4).map(e=>(0,s.jsx)(a.A,{title:e,style:{margin:0,fontSize:10,lineHeight:"16px",maxWidth:180,overflow:"hidden",textOverflow:"ellipsis"},children:eS(e)},e)),l.length>4&&(0,s.jsxs)(a.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",l.length-4]}),0===l.length&&(0,s.jsx)("span",{children:"未绑定提示词"})]})]})};return(0,s.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"pageTitle",children:r("roles.title")}),(0,s.jsx)("p",{className:"pageDesc",children:r("roles.description")})]}),(0,s.jsxs)(x.A,{children:[(0,s.jsx)(m.A,{value:eo,onChange:et,style:{width:170},options:[{label:"我的配置 (".concat(w.length+S.length,")"),value:"custom"},{label:"全部来源 (".concat(w.length+S.length,")"),value:"all"}]}),(0,s.jsx)("input",{ref:ea,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:e=>{var l;eb(null==(l=e.target.files)?void 0:l[0])}}),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(F.A,{}),loading:en,onClick:()=>{var e;return null==(e=ea.current)?void 0:e.click()},children:"导入"}),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(B.A,{}),disabled:w.length+S.length===0,onClick:()=>{M("customize-document-roles-".concat(new Date().toISOString().slice(0,10),".json"),K(w,S)),t.success("已导出 ".concat(w.length," 个角色、").concat(S.length," 个配置"))},children:"导出全部"}),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(E.A,{}),onClick:()=>eA(void 0,"file"),children:r("roles.newFileRole")}),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(E.A,{}),onClick:()=>eA(void 0,"prompt"),children:r("roles.newPromptRole")}),(0,s.jsx)(d.Ay,{type:"primary",icon:(0,s.jsx)(E.A,{}),onClick:()=>ew(),children:r("roles.newConfig")})]})]}),(0,s.jsx)(u.A,{type:"info",showIcon:!0,message:(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,s.jsx)("span",{children:r("roles.plainGuideTitle")}),(0,s.jsx)(d.Ay,{type:"link",size:"small",icon:ee?(0,s.jsx)(O.A,{}):(0,s.jsx)(D.A,{}),onClick:()=>el(!ee),style:{padding:"0 4px"},children:ee?"收起说明":"展开说明"})]}),description:ee?r("roles.plainGuideDesc"):void 0}),(0,s.jsxs)("div",{className:"bg-[var(--colorBg)] rounded-xl border border-[var(--borderColor)] mt-4",children:[(0,s.jsx)(h.A,{className:"px-6 pt-2 custom-tabs",items:[{key:"file",label:"文件角色 (".concat(em.length,")")},{key:"prompt",label:"提示词角色 (".concat(eu.length,")")},{key:"configs",label:"项目角色配置 (".concat(ex.length,")")}],activeKey:er,onChange:es}),(0,s.jsx)("div",{className:"p-6 pt-2",children:"configs"===er?0===ex.length?(0,s.jsx)(c.A,{description:r("common.noData")}):(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:ex.map(e=>{let l=e.fileRoles.map(e=>({...e,role:eN(e.roleId)})).filter(e=>e.role),o=e.promptRoles.map(e=>({...e,role:eN(e.roleId)})).filter(e=>e.role);return(0,s.jsxs)("div",{className:"group p-5 rounded-xl border border-transparent hover:border-[var(--borderColorStrong)] bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] hover:shadow-sm flex flex-col transition-all duration-300 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate flex-1",children:e.name}),(0,s.jsx)("div",{className:"flex gap-2 flex-shrink-0",children:(0,s.jsx)(a.A,{color:"cyan",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:"我的配置"})})]}),e.description&&(0,s.jsx)(U,{ellipsis:{rows:2},className:"text-xs text-[var(--colorTextSecondary)] mb-4",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:["文件角色 (",e.fileRoles.length,")"]}),l.length>0?(0,s.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[l.slice(0,4).map(e=>(0,s.jsx)(a.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e.role.name},e.roleId)),l.length>4&&(0,s.jsxs)(a.A,{bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:["+",l.length-4]})]}):(0,s.jsx)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:"无"})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:["提示词角色 (",e.promptRoles.length,")"]}),o.length>0?(0,s.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[o.slice(0,4).map(e=>(0,s.jsx)(a.A,{color:"purple",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e.role.name},e.roleId)),o.length>4&&(0,s.jsxs)(a.A,{bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:["+",o.length-4]})]}):(0,s.jsx)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:"无"})]})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-1 opacity-0 group-hover:opacity-100 transition-opacity mt-4",children:[(0,s.jsx)(d.Ay,{type:"text",size:"small",icon:(0,s.jsx)(T.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:()=>ew(e)}),!e.builtIn&&(0,s.jsx)(d.Ay,{type:"text",size:"small",icon:(0,s.jsx)(B.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:()=>(e=>{let l=new Set([...e.fileRoles.map(e=>e.roleId),...e.promptRoles.map(e=>e.roleId)]);M("customize-role-config-".concat(X(e.name),"-").concat(new Date().toISOString().slice(0,10),".json"),K(w.filter(e=>l.has(e.id)&&!e.builtIn),[e])),t.success("已导出 1 个配置")})(e)}),(0,s.jsx)(p.A,{title:r("common.confirm"),onConfirm:()=>{ev(e.id)},children:(0,s.jsx)(d.Ay,{type:"text",size:"small",danger:!0,icon:(0,s.jsx)(_.A,{})})})]})]},e.id)})}):(e="file"===er?em:eu,l=r,0===e.length?(0,s.jsx)(c.A,{description:r("common.noData")}):(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:e.map(e=>{var o,n,i,c,x,m,u,h,g;let f="prompt"===e.type?(null==(o=e.resourceIds)?void 0:o.length)?e.resourceIds:e.resourceId?[e.resourceId]:[]:[],j=f.slice(0,3),y=f.length-j.length,v="file"===e.type?null!=(i=q[null!=(n=e.processingType)?n:""])?i:(0,s.jsx)(N.A,{}):null!=(x=L[null!=(c=e.executionType)?c:""])?x:(0,s.jsx)(z.A,{}),b="file"===e.type?null!=(u=V[null!=(m=e.processingType)?m:""])?u:"var(--colorAccent)":null!=(g=W[null!=(h=e.executionType)?h:""])?g:"var(--colorWarning)";return(0,s.jsxs)("div",{className:"group p-5 rounded-xl border border-transparent hover:border-[var(--borderColorStrong)] bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] hover:shadow-sm flex flex-col transition-all duration-300 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[(0,s.jsx)("span",{style:{color:b,fontSize:20,flexShrink:0,lineHeight:1},children:v}),(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate mb-1",children:e.name})]}),(0,s.jsx)("div",{className:"flex gap-2 flex-shrink-0",children:(0,s.jsx)(a.A,{color:"cyan",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:"我的角色"})})]}),e.description&&(0,s.jsx)(U,{ellipsis:{rows:2},className:"text-xs text-[var(--colorTextSecondary)] mb-4",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,s.jsx)(a.A,{color:"file"===e.type?"blue":"purple",bordered:!1,className:"m-0",children:function(e,l){var r,s,o;let t="file"===e.type?G[null!=(r=e.processingType)?r:""]:J[null!=(s=e.executionType)?s:""];return t?l(t):null!=(o="file"===e.type?e.processingType:e.executionType)?o:""}(e,l)}),f.length>0&&(0,s.jsxs)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:["绑定 ",f.length," 个提示词"]})]}),j.length>0&&(0,s.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[j.map(e=>(0,s.jsx)(a.A,{color:"purple",bordered:!1,title:e,className:"m-0 text-[10px] leading-[18px] max-w-[140px] truncate",children:eS(e)},e)),y>0&&(0,s.jsxs)(a.A,{bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:["+",y]})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-1 opacity-0 group-hover:opacity-100 transition-opacity mt-2",children:[(0,s.jsx)(d.Ay,{type:"text",size:"small",icon:(0,s.jsx)(T.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:()=>eA(e)}),!e.builtIn&&(0,s.jsx)(d.Ay,{type:"text",size:"small",icon:(0,s.jsx)(B.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:()=>{M("customize-role-".concat(X(e.name),"-").concat(new Date().toISOString().slice(0,10),".json"),K([e],[])),t.success("已导出 1 个角色")}}),(0,s.jsx)(p.A,{title:r("common.confirm"),onConfirm:()=>{ey(e)},children:(0,s.jsx)(d.Ay,{type:"text",size:"small",danger:!0,icon:(0,s.jsx)(_.A,{})})})]})]})]},e.id)})}))})]}),(0,s.jsx)(g.A,{title:r("roles.roleEditor"),open:Q,onClose:()=>Y(!1),width:800,maskClosable:!1,styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,s.jsx)(d.Ay,{type:"primary",onClick:()=>{ef()},children:r("common.save")}),children:(0,s.jsxs)(i.A,{form:b,layout:"vertical",children:[(0,s.jsx)(i.A.Item,{name:"id",hidden:!0,children:(0,s.jsx)(f.A,{})}),(0,s.jsxs)(j.A,{gutter:16,children:[(0,s.jsx)(y.A,{span:12,children:(0,s.jsx)(i.A.Item,{name:"type",label:r("roles.roleType"),rules:[{required:!0}],children:(0,s.jsx)(m.A,{options:[{label:r("roles.fileRole"),value:"file"},{label:r("roles.promptRole"),value:"prompt"}]})})}),(0,s.jsx)(y.A,{span:12,children:(0,s.jsx)(i.A.Item,{name:"name",label:r("roles.roleName"),rules:[{required:!0}],children:(0,s.jsx)(f.A,{})})})]}),(0,s.jsx)(i.A.Item,{name:"description",label:r("roles.roleDescription"),children:(0,s.jsx)(f.A.TextArea,{rows:2})}),(0,s.jsx)(i.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.type!==l.type,children:e=>{let{getFieldValue:l}=e,o="prompt"===l("type");return(0,s.jsx)(v.A,{size:"small",title:o?"提示词角色配置":"文件角色配置",style:{border:"1px solid var(--colorBorderSecondary)"},children:o?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.A.Item,{name:"executionType",label:r("roles.executionType"),rules:[{required:!0}],style:{marginBottom:12},children:(0,s.jsx)(m.A,{options:[{label:r("roles.factExtraction"),value:"fact_extraction"},{label:r("roles.chapterGeneration"),value:"chapter_generation"},{label:r("roles.validation"),value:"validation"},{label:r("roles.formatting"),value:"formatting"},{label:r("roles.reference"),value:"reference"}]})}),(0,s.jsx)(i.A.Item,{name:"resourceIds",label:r("roles.bindPrompt"),style:{marginBottom:0},help:(0,s.jsx)("span",{style:{fontSize:11,color:"var(--colorTextSecondary)"},children:r("roles.multiBindPromptHelp")}),children:(0,s.jsx)(m.A,{mode:"multiple",showSearch:!0,tagRender:eT,placeholder:"选择提示词",options:R.filter(e=>e.hasFile).map(e=>({label:e.projectName,value:e.id}))})})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.A.Item,{name:"processingType",label:r("roles.processingType"),rules:[{required:!0}],style:{marginBottom:12},children:(0,s.jsx)(m.A,{options:[{label:r("roles.ruleFile"),value:"rule"},{label:r("roles.tableFile"),value:"table"},{label:r("roles.drawingFile"),value:"drawing"},{label:r("roles.specificationFile"),value:"specification"},{label:r("roles.reference"),value:"reference"}]})}),(0,s.jsx)(u.A,{type:"info",showIcon:!0,message:"文件角色只定义处理类型",description:"具体项目文件由生成流程自动识别,或在模板的高级固定绑定资料中手动覆盖;这里不再绑定知识库文件,避免角色复用时混入其他项目资料。"})]})})}})]})}),(0,s.jsx)(g.A,{title:r("roles.configEditor"),open:Z,onClose:()=>$(!1),width:800,maskClosable:!1,styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,s.jsx)(d.Ay,{type:"primary",onClick:()=>{ej()},children:r("common.save")}),children:(0,s.jsxs)(i.A,{form:A,layout:"vertical",children:[(0,s.jsx)(i.A.Item,{name:"id",hidden:!0,children:(0,s.jsx)(f.A,{})}),(0,s.jsxs)(j.A,{gutter:16,children:[(0,s.jsx)(y.A,{span:12,children:(0,s.jsx)(i.A.Item,{name:"name",label:r("roles.configName"),rules:[{required:!0}],children:(0,s.jsx)(f.A,{})})}),(0,s.jsx)(y.A,{span:12,children:(0,s.jsx)(i.A.Item,{name:"description",label:r("roles.configDescription"),children:(0,s.jsx)(f.A,{})})})]}),(0,s.jsx)(i.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.fileRoles!==l.fileRoles||e.promptRoles!==l.promptRoles,children:e=>{let{getFieldValue:l}=e,o=l("fileRoles")||[],t=l("promptRoles")||[];return(0,s.jsx)(h.A,{destroyInactiveTabPane:!1,items:[{key:"file",label:"文件角色 (".concat(o.length,"/").concat(eh.length,")"),children:(0,s.jsx)(i.A.List,{name:"fileRoles",children:(e,l)=>{let{add:t,remove:n}=l;return(0,s.jsxs)("div",{className:"flex flex-col gap-6 pt-4",children:[(0,s.jsx)(v.A,{size:"small",title:"已选文件角色",className:"bg-[var(--colorBgHover)] border-[var(--borderColorStrong)]",styles:{header:{borderBottom:"1px solid var(--borderColorStrong)"}},children:eC(o,"file")}),0===e.length&&(0,s.jsx)(c.A,{description:"暂未添加文件角色"}),e.map((e,l)=>(0,s.jsxs)(v.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,s.jsxs)("div",{style:{position:"absolute",top:-10,left:12,background:"#1677ff",color:"#fff",fontSize:11,fontWeight:700,padding:"1px 8px",borderRadius:10},children:["#",l+1]}),(0,s.jsx)(d.Ay,{danger:!0,size:"small",icon:(0,s.jsx)(_.A,{}),onClick:()=>n(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,s.jsxs)(j.A,{gutter:[16,8],align:"middle",style:{marginTop:4},children:[(0,s.jsxs)(y.A,{flex:"auto",children:[(0,s.jsx)(i.A.Item,{name:[e.name,"roleId"],label:"文件角色",rules:[{required:!0}],style:{marginBottom:0},children:(0,s.jsx)(m.A,{placeholder:"选择文件角色",size:"small",options:eh.map(e=>{var l;return{label:"".concat(e.name," (").concat(r(G[null!=(l=e.processingType)?l:""]||"roles.reference"),")"),value:e.id}})})}),(0,s.jsx)(i.A.Item,{noStyle:!0,shouldUpdate:!0,children:l=>{let{getFieldValue:r}=l;return eR(eN(r(["fileRoles",e.name,"roleId"])))}})]}),(0,s.jsx)(y.A,{style:{width:90},children:(0,s.jsx)(i.A.Item,{name:[e.name,"order"],label:"排序",initialValue:l,style:{marginBottom:0},children:(0,s.jsx)(f.A,{type:"number",size:"small"})})})]})]},e.key)),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(E.A,{}),onClick:()=>t({order:e.length}),children:r("roles.addRole")})]})}})},{key:"prompt",label:"提示词角色 (".concat(t.length,"/").concat(eg.length,")"),children:(0,s.jsx)(i.A.List,{name:"promptRoles",children:(e,l)=>{let{add:o,remove:n}=l;return(0,s.jsxs)("div",{className:"flex flex-col gap-6 pt-4",children:[(0,s.jsx)(v.A,{size:"small",title:"已选提示词角色",className:"bg-[var(--colorBgHover)] border-[var(--borderColorStrong)]",styles:{header:{borderBottom:"1px solid var(--borderColorStrong)"}},children:eC(t,"prompt")}),0===e.length&&(0,s.jsx)(c.A,{description:"暂未添加提示词角色"}),e.map((e,l)=>(0,s.jsxs)(v.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,s.jsxs)("div",{style:{position:"absolute",top:-10,left:12,background:"#722ed1",color:"#fff",fontSize:11,fontWeight:700,padding:"1px 8px",borderRadius:10},children:["#",l+1]}),(0,s.jsx)(d.Ay,{danger:!0,size:"small",icon:(0,s.jsx)(_.A,{}),onClick:()=>n(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,s.jsxs)(j.A,{gutter:[16,8],align:"middle",style:{marginTop:4},children:[(0,s.jsxs)(y.A,{flex:"auto",children:[(0,s.jsx)(i.A.Item,{name:[e.name,"roleId"],label:"提示词角色",rules:[{required:!0}],style:{marginBottom:0},children:(0,s.jsx)(m.A,{placeholder:"选择提示词角色",size:"small",options:eg.map(e=>{var l;return{label:"".concat(e.name," (").concat(r(J[null!=(l=e.executionType)?l:""]||"roles.reference"),")"),value:e.id}})})}),(0,s.jsx)(i.A.Item,{noStyle:!0,shouldUpdate:!0,children:l=>{let{getFieldValue:r}=l;return eR(eN(r(["promptRoles",e.name,"roleId"])))}})]}),(0,s.jsx)(y.A,{style:{width:90},children:(0,s.jsx)(i.A.Item,{name:[e.name,"order"],label:"排序",initialValue:l,style:{marginBottom:0},children:(0,s.jsx)(f.A,{type:"number",size:"small"})})})]})]},e.key)),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(E.A,{}),onClick:()=>o({order:e.length}),children:r("roles.addRole")})]})}})}]})}})]})})]})}}},e=>{e.O(0,[433,576,787,195,455,466,636,593,792],()=>e(e.s=23507)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[623],{23507:(e,l,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/document-roles",function(){return r(59889)}])},59889:(e,l,r)=>{"use strict";r.r(l),r.d(l,{default:()=>Q});var s=r(65321),o=r(97109),t=r(35292),n=r(17807),i=r(63455),a=r(11702),c=r(84253),d=r(85114),p=r(26171),x=r(33442),m=r(50883),u=r(85493),h=r(58569),g=r(34052),f=r(7576),j=r(2256),y=r(38770),v=r(68787),b=r(25345),A=r(80042),w=r(75548),N=r(26631),I=r(84662),S=r(30486),T=r(99650),C=r(8263),R=r(84742),k=r(43094),z=r(8579),B=r(81668),_=r(58209),F=r(96091),E=r(54746),O=r(96651),D=r(60470),P=r(6578),H=r(48321);let{Paragraph:U}=t.A,q={rule:(0,s.jsx)(b.A,{}),table:(0,s.jsx)(A.A,{}),drawing:(0,s.jsx)(w.A,{}),specification:(0,s.jsx)(N.A,{}),reference:(0,s.jsx)(I.A,{})},L={fact_extraction:(0,s.jsx)(S.A,{}),chapter_generation:(0,s.jsx)(T.A,{}),llm_review:(0,s.jsx)(C.A,{}),validation:(0,s.jsx)(R.A,{}),formatting:(0,s.jsx)(k.A,{}),reference:(0,s.jsx)(I.A,{})},V={rule:"#fa8c16",table:"#52c41a",drawing:"#722ed1",specification:"#eb2f96",reference:"#13c2c2"},W={fact_extraction:"#fa8c16",chapter_generation:"#1677ff",llm_review:"#722ed1",validation:"#52c41a",formatting:"#eb2f96",reference:"#13c2c2"},G={rule:"roles.ruleFile",table:"roles.tableFile",drawing:"roles.drawingFile",specification:"roles.specificationFile",reference:"roles.reference"},J={fact_extraction:"roles.factExtraction",chapter_generation:"roles.chapterGeneration",llm_review:"roles.llmReview",validation:"roles.validation",formatting:"roles.formatting",reference:"roles.reference"};function M(e,l){let r=new Blob([JSON.stringify(l,null,2)],{type:"application/json;charset=utf-8"}),s=URL.createObjectURL(r),o=document.createElement("a");o.href=s,o.download=e,o.click(),URL.revokeObjectURL(s)}function X(e){return e.trim().replace(/[\\/:*?"<>|]/g,"-").slice(0,80)||"untitled"}function K(e,l){return{type:"customize-agent.documentRoles",version:1,exportedAt:new Date().toISOString(),roles:e,configs:l}}function Q(){let e,l,r=(0,H.Vr)(),{message:t}=n.A.useApp(),[b]=i.A.useForm(),[A]=i.A.useForm(),[w,I]=(0,o.useState)([]),[S,C]=(0,o.useState)([]),[R,k]=(0,o.useState)([]),[Q,Y]=(0,o.useState)(!1),[Z,$]=(0,o.useState)(!1),[ee,el]=(0,o.useState)(!1),[er,es]=(0,o.useState)("file"),[eo,et]=(0,o.useState)("custom"),[en,ei]=(0,o.useState)(!1),ea=(0,o.useRef)(null),ec=async()=>{let[e,l]=await Promise.all([(0,P.lv)(),(0,P.dx)()]);I(e.roles),C(e.configs),k(l)};(0,o.useEffect)(()=>{ec().catch(()=>t.error(r("common.error")))},[t,r]);let ed=()=>"all"===eo||"custom"===eo,ep=w.filter(ed),ex=S.filter(ed),em=ep.filter(e=>"file"===e.type),eu=ep.filter(e=>"prompt"===e.type),eh=w.filter(e=>"file"===e.type),eg=w.filter(e=>"prompt"===e.type),ef=async()=>{try{let e=await b.validateFields(),l="file"===e.type?{...e,resourceId:void 0,resourceIds:[]}:e,s=await (0,P.dg)(l);I(s.roles),C(s.configs),Y(!1),t.success(r("common.success"))}catch(e){t.error(r("common.error"))}},ej=async()=>{try{let e=await A.validateFields(),l=e=>(null!=e?e:[]).map((e,l)=>{var r;return{roleId:e.roleId,order:Number(null!=(r=e.order)?r:l)}}),s=await (0,P.NR)({...e,fileRoles:l(e.fileRoles),promptRoles:l(e.promptRoles)});I(s.roles),C(s.configs),$(!1),t.success(r("common.success"))}catch(e){t.error(r("common.error"))}},ey=async e=>{try{let l=await (0,P.FV)(e.type,e.id);I(l.roles),C(l.configs),t.success("角色已删除")}catch(e){t.error(e instanceof Error?e.message:"角色删除失败")}},ev=async e=>{try{let l=await (0,P.dw)(e);I(l.roles),C(l.configs),t.success("项目角色配置已删除")}catch(e){t.error(e instanceof Error?e.message:"项目角色配置删除失败")}},eb=async e=>{if(e){ei(!0);try{let l=JSON.parse(await e.text()),r=await fetch("/api/documents/roles?mode=import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!r.ok)throw Error(await r.text());let s=await r.json();I(s.roles),C(s.configs),t.success("已导入 ".concat(s.importedRoles," 个角色、").concat(s.importedConfigs," 个配置"))}catch(e){t.error("导入失败,请确认 JSON 文件格式正确")}finally{ei(!1),ea.current&&(ea.current.value="")}}},eA=function(e){var l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"file";b.setFieldsValue(e?{...e,resourceIds:(null==(l=e.resourceIds)?void 0:l.length)?e.resourceIds:e.resourceId?[e.resourceId]:[]}:{id:"role-".concat(Date.now()),name:"",description:"",type:r,resourceIds:[],executionType:"prompt"===r?"reference":void 0,processingType:"file"===r?"reference":void 0}),Y(!0)},ew=e=>{A.setFieldsValue(null!=e?e:{id:"config-".concat(Date.now()),name:"",description:"",fileRoles:[],promptRoles:[],builtIn:!1}),$(!0)},eN=e=>w.find(l=>l.id===e),eI=e=>{var l;return(null==e?void 0:e.type)==="prompt"?(null==(l=e.resourceIds)?void 0:l.length)?e.resourceIds:e.resourceId?[e.resourceId]:[]:[]},eS=e=>{var l;return(null==(l=R.find(l=>l.id===e))?void 0:l.projectName)||e},eT=e=>(0,s.jsx)(a.A,{closable:e.closable,onClose:e.onClose,color:"purple",title:e.value,style:{margin:"1px 2px",fontSize:11,lineHeight:"18px"},children:eS(e.value)}),eC=(e,l)=>{let o="file"===l?"blue":"purple",t="file"===l?G:J,n=[...e].sort((e,l)=>{var r,s;return Number(null!=(r=e.order)?r:0)-Number(null!=(s=l.order)?s:0)}).map(e=>eN(e.roleId)).filter(e=>!!e);return 0===n.length?(0,s.jsx)(c.A,{image:c.A.PRESENTED_IMAGE_SIMPLE,description:"file"===l?r("roles.noFileRoleSelected"):r("roles.noPromptRoleSelected")}):(0,s.jsx)("div",{className:"flex flex-col gap-2",children:n.map((e,l)=>{var n,i;let c=eI(e),d="file"===e.type?null!=(n=e.processingType)?n:"":null!=(i=e.executionType)?i:"";return(0,s.jsxs)("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-[var(--colorBgContainer)] border border-[var(--borderColor)]",children:[(0,s.jsxs)(a.A,{color:o,className:"m-0",children:["#",l+1]}),(0,s.jsx)("span",{className:"font-semibold flex-1 min-w-0 overflow-hidden text-ellipsis whitespace-nowrap",children:e.name}),(0,s.jsx)(a.A,{className:"m-0",children:r(t[d]||"roles.reference")}),"prompt"===e.type&&(0,s.jsx)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:r("roles.bindPromptCount").replace("{count}",String(c.length))})]},e.id)})})},eR=e=>{if(!e)return null;let l=eI(e);return(0,s.jsxs)("div",{style:{marginTop:8,padding:8,borderRadius:8,background:"var(--colorFillQuaternary)",fontSize:12,color:"var(--colorTextSecondary)"},children:[e.description&&(0,s.jsx)("div",{style:{marginBottom:4*("prompt"===e.type)},children:e.description}),"prompt"===e.type&&(0,s.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[l.slice(0,4).map(e=>(0,s.jsx)(a.A,{title:e,style:{margin:0,fontSize:10,lineHeight:"16px",maxWidth:180,overflow:"hidden",textOverflow:"ellipsis"},children:eS(e)},e)),l.length>4&&(0,s.jsxs)(a.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",l.length-4]}),0===l.length&&(0,s.jsx)("span",{children:"未绑定提示词"})]})]})};return(0,s.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"pageTitle",children:r("roles.title")}),(0,s.jsx)("p",{className:"pageDesc",children:r("roles.description")})]}),(0,s.jsxs)(x.A,{children:[(0,s.jsx)(m.A,{value:eo,onChange:et,style:{width:170},options:[{label:"我的配置 (".concat(w.length+S.length,")"),value:"custom"},{label:"全部来源 (".concat(w.length+S.length,")"),value:"all"}]}),(0,s.jsx)("input",{ref:ea,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:e=>{var l;eb(null==(l=e.target.files)?void 0:l[0])}}),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(F.A,{}),loading:en,onClick:()=>{var e;return null==(e=ea.current)?void 0:e.click()},children:"导入"}),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(B.A,{}),disabled:w.length+S.length===0,onClick:()=>{M("customize-document-roles-".concat(new Date().toISOString().slice(0,10),".json"),K(w,S)),t.success("已导出 ".concat(w.length," 个角色、").concat(S.length," 个配置"))},children:"导出全部"}),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(E.A,{}),onClick:()=>eA(void 0,"file"),children:r("roles.newFileRole")}),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(E.A,{}),onClick:()=>eA(void 0,"prompt"),children:r("roles.newPromptRole")}),(0,s.jsx)(d.Ay,{type:"primary",icon:(0,s.jsx)(E.A,{}),onClick:()=>ew(),children:r("roles.newConfig")})]})]}),(0,s.jsx)(u.A,{type:"info",showIcon:!0,message:(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,s.jsx)("span",{children:r("roles.plainGuideTitle")}),(0,s.jsx)(d.Ay,{type:"link",size:"small",icon:ee?(0,s.jsx)(O.A,{}):(0,s.jsx)(D.A,{}),onClick:()=>el(!ee),style:{padding:"0 4px"},children:ee?"收起说明":"展开说明"})]}),description:ee?r("roles.plainGuideDesc"):void 0}),(0,s.jsxs)("div",{className:"bg-[var(--colorBg)] rounded-xl border border-[var(--borderColor)] mt-4",children:[(0,s.jsx)(h.A,{className:"px-6 pt-2 custom-tabs",items:[{key:"file",label:"文件角色 (".concat(em.length,")")},{key:"prompt",label:"提示词角色 (".concat(eu.length,")")},{key:"configs",label:"项目角色配置 (".concat(ex.length,")")}],activeKey:er,onChange:es}),(0,s.jsx)("div",{className:"p-6 pt-2",children:"configs"===er?0===ex.length?(0,s.jsx)(c.A,{description:r("common.noData")}):(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:ex.map(e=>{let l=e.fileRoles.map(e=>({...e,role:eN(e.roleId)})).filter(e=>e.role),o=e.promptRoles.map(e=>({...e,role:eN(e.roleId)})).filter(e=>e.role);return(0,s.jsxs)("div",{className:"group p-5 rounded-xl border border-transparent hover:border-[var(--borderColorStrong)] bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] hover:shadow-sm flex flex-col transition-all duration-300 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate flex-1",children:e.name}),(0,s.jsx)("div",{className:"flex gap-2 flex-shrink-0",children:(0,s.jsx)(a.A,{color:"cyan",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:"我的配置"})})]}),e.description&&(0,s.jsx)(U,{ellipsis:{rows:2},className:"text-xs text-[var(--colorTextSecondary)] mb-4",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:["文件角色 (",e.fileRoles.length,")"]}),l.length>0?(0,s.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[l.slice(0,4).map(e=>(0,s.jsx)(a.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e.role.name},e.roleId)),l.length>4&&(0,s.jsxs)(a.A,{bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:["+",l.length-4]})]}):(0,s.jsx)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:"无"})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:["提示词角色 (",e.promptRoles.length,")"]}),o.length>0?(0,s.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[o.slice(0,4).map(e=>(0,s.jsx)(a.A,{color:"purple",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e.role.name},e.roleId)),o.length>4&&(0,s.jsxs)(a.A,{bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:["+",o.length-4]})]}):(0,s.jsx)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:"无"})]})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-1 opacity-0 group-hover:opacity-100 transition-opacity mt-4",children:[(0,s.jsx)(d.Ay,{type:"text",size:"small",icon:(0,s.jsx)(T.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:()=>ew(e)}),!e.builtIn&&(0,s.jsx)(d.Ay,{type:"text",size:"small",icon:(0,s.jsx)(B.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:()=>(e=>{let l=new Set([...e.fileRoles.map(e=>e.roleId),...e.promptRoles.map(e=>e.roleId)]);M("customize-role-config-".concat(X(e.name),"-").concat(new Date().toISOString().slice(0,10),".json"),K(w.filter(e=>l.has(e.id)&&!e.builtIn),[e])),t.success("已导出 1 个配置")})(e)}),(0,s.jsx)(p.A,{title:r("common.confirm"),onConfirm:()=>{ev(e.id)},children:(0,s.jsx)(d.Ay,{type:"text",size:"small",danger:!0,icon:(0,s.jsx)(_.A,{})})})]})]},e.id)})}):(e="file"===er?em:eu,l=r,0===e.length?(0,s.jsx)(c.A,{description:r("common.noData")}):(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:e.map(e=>{var o,n,i,c,x,m,u,h,g;let f="prompt"===e.type?(null==(o=e.resourceIds)?void 0:o.length)?e.resourceIds:e.resourceId?[e.resourceId]:[]:[],j=f.slice(0,3),y=f.length-j.length,v="file"===e.type?null!=(i=q[null!=(n=e.processingType)?n:""])?i:(0,s.jsx)(N.A,{}):null!=(x=L[null!=(c=e.executionType)?c:""])?x:(0,s.jsx)(z.A,{}),b="file"===e.type?null!=(u=V[null!=(m=e.processingType)?m:""])?u:"var(--colorAccent)":null!=(g=W[null!=(h=e.executionType)?h:""])?g:"var(--colorWarning)";return(0,s.jsxs)("div",{className:"group p-5 rounded-xl border border-transparent hover:border-[var(--borderColorStrong)] bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] hover:shadow-sm flex flex-col transition-all duration-300 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[(0,s.jsx)("span",{style:{color:b,fontSize:20,flexShrink:0,lineHeight:1},children:v}),(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate mb-1",children:e.name})]}),(0,s.jsx)("div",{className:"flex gap-2 flex-shrink-0",children:(0,s.jsx)(a.A,{color:"cyan",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:"我的角色"})})]}),e.description&&(0,s.jsx)(U,{ellipsis:{rows:2},className:"text-xs text-[var(--colorTextSecondary)] mb-4",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,s.jsx)(a.A,{color:"file"===e.type?"blue":"purple",bordered:!1,className:"m-0",children:function(e,l){var r,s,o;let t="file"===e.type?G[null!=(r=e.processingType)?r:""]:J[null!=(s=e.executionType)?s:""];return t?l(t):null!=(o="file"===e.type?e.processingType:e.executionType)?o:""}(e,l)}),f.length>0&&(0,s.jsxs)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:["绑定 ",f.length," 个提示词"]})]}),j.length>0&&(0,s.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[j.map(e=>(0,s.jsx)(a.A,{color:"purple",bordered:!1,title:e,className:"m-0 text-[10px] leading-[18px] max-w-[140px] truncate",children:eS(e)},e)),y>0&&(0,s.jsxs)(a.A,{bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:["+",y]})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-1 opacity-0 group-hover:opacity-100 transition-opacity mt-2",children:[(0,s.jsx)(d.Ay,{type:"text",size:"small",icon:(0,s.jsx)(T.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:()=>eA(e)}),!e.builtIn&&(0,s.jsx)(d.Ay,{type:"text",size:"small",icon:(0,s.jsx)(B.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:()=>{M("customize-role-".concat(X(e.name),"-").concat(new Date().toISOString().slice(0,10),".json"),K([e],[])),t.success("已导出 1 个角色")}}),(0,s.jsx)(p.A,{title:r("common.confirm"),onConfirm:()=>{ey(e)},children:(0,s.jsx)(d.Ay,{type:"text",size:"small",danger:!0,icon:(0,s.jsx)(_.A,{})})})]})]})]},e.id)})}))})]}),(0,s.jsx)(g.A,{title:r("roles.roleEditor"),open:Q,onClose:()=>Y(!1),width:800,maskClosable:!1,styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,s.jsx)(d.Ay,{type:"primary",onClick:()=>{ef()},children:r("common.save")}),children:(0,s.jsxs)(i.A,{form:b,layout:"vertical",children:[(0,s.jsx)(i.A.Item,{name:"id",hidden:!0,children:(0,s.jsx)(f.A,{})}),(0,s.jsxs)(j.A,{gutter:16,children:[(0,s.jsx)(y.A,{span:12,children:(0,s.jsx)(i.A.Item,{name:"type",label:r("roles.roleType"),rules:[{required:!0}],children:(0,s.jsx)(m.A,{options:[{label:r("roles.fileRole"),value:"file"},{label:r("roles.promptRole"),value:"prompt"}]})})}),(0,s.jsx)(y.A,{span:12,children:(0,s.jsx)(i.A.Item,{name:"name",label:r("roles.roleName"),rules:[{required:!0}],children:(0,s.jsx)(f.A,{})})})]}),(0,s.jsx)(i.A.Item,{name:"description",label:r("roles.roleDescription"),children:(0,s.jsx)(f.A.TextArea,{rows:2})}),(0,s.jsx)(i.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.type!==l.type,children:e=>{let{getFieldValue:l}=e,o="prompt"===l("type");return(0,s.jsx)(v.A,{size:"small",title:o?"提示词角色配置":"文件角色配置",style:{border:"1px solid var(--colorBorderSecondary)"},children:o?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.A.Item,{name:"executionType",label:r("roles.executionType"),rules:[{required:!0}],style:{marginBottom:12},children:(0,s.jsx)(m.A,{options:[{label:r("roles.factExtraction"),value:"fact_extraction"},{label:r("roles.chapterGeneration"),value:"chapter_generation"},{label:r("roles.validation"),value:"validation"},{label:r("roles.formatting"),value:"formatting"},{label:r("roles.reference"),value:"reference"}]})}),(0,s.jsx)(i.A.Item,{name:"resourceIds",label:r("roles.bindPrompt"),style:{marginBottom:0},help:(0,s.jsx)("span",{style:{fontSize:11,color:"var(--colorTextSecondary)"},children:r("roles.multiBindPromptHelp")}),children:(0,s.jsx)(m.A,{mode:"multiple",showSearch:!0,tagRender:eT,placeholder:"选择提示词",options:R.filter(e=>e.hasFile).map(e=>({label:e.projectName,value:e.id}))})})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.A.Item,{name:"processingType",label:r("roles.processingType"),rules:[{required:!0}],style:{marginBottom:12},children:(0,s.jsx)(m.A,{options:[{label:r("roles.ruleFile"),value:"rule"},{label:r("roles.tableFile"),value:"table"},{label:r("roles.drawingFile"),value:"drawing"},{label:r("roles.specificationFile"),value:"specification"},{label:r("roles.reference"),value:"reference"}]})}),(0,s.jsx)(u.A,{type:"info",showIcon:!0,message:"文件角色只定义处理类型",description:"具体项目文件由生成流程自动识别,或在模板的高级固定绑定资料中手动覆盖;这里不再绑定知识库文件,避免角色复用时混入其他项目资料。"})]})})}})]})}),(0,s.jsx)(g.A,{title:r("roles.configEditor"),open:Z,onClose:()=>$(!1),width:800,maskClosable:!1,styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,s.jsx)(d.Ay,{type:"primary",onClick:()=>{ej()},children:r("common.save")}),children:(0,s.jsxs)(i.A,{form:A,layout:"vertical",children:[(0,s.jsx)(i.A.Item,{name:"id",hidden:!0,children:(0,s.jsx)(f.A,{})}),(0,s.jsxs)(j.A,{gutter:16,children:[(0,s.jsx)(y.A,{span:12,children:(0,s.jsx)(i.A.Item,{name:"name",label:r("roles.configName"),rules:[{required:!0}],children:(0,s.jsx)(f.A,{})})}),(0,s.jsx)(y.A,{span:12,children:(0,s.jsx)(i.A.Item,{name:"description",label:r("roles.configDescription"),children:(0,s.jsx)(f.A,{})})})]}),(0,s.jsx)(i.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.fileRoles!==l.fileRoles||e.promptRoles!==l.promptRoles,children:e=>{let{getFieldValue:l}=e,o=l("fileRoles")||[],t=l("promptRoles")||[];return(0,s.jsx)(h.A,{destroyInactiveTabPane:!1,items:[{key:"file",label:"文件角色 (".concat(o.length,"/").concat(eh.length,")"),children:(0,s.jsx)(i.A.List,{name:"fileRoles",children:(e,l)=>{let{add:t,remove:n}=l;return(0,s.jsxs)("div",{className:"flex flex-col gap-6 pt-4",children:[(0,s.jsx)(v.A,{size:"small",title:"已选文件角色",className:"bg-[var(--colorBgHover)] border-[var(--borderColorStrong)]",styles:{header:{borderBottom:"1px solid var(--borderColorStrong)"}},children:eC(o,"file")}),0===e.length&&(0,s.jsx)(c.A,{description:"暂未添加文件角色"}),e.map((e,l)=>(0,s.jsxs)(v.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,s.jsxs)("div",{style:{position:"absolute",top:-10,left:12,background:"#1677ff",color:"#fff",fontSize:11,fontWeight:700,padding:"1px 8px",borderRadius:10},children:["#",l+1]}),(0,s.jsx)(d.Ay,{danger:!0,size:"small",icon:(0,s.jsx)(_.A,{}),onClick:()=>n(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,s.jsxs)(j.A,{gutter:[16,8],align:"middle",style:{marginTop:4},children:[(0,s.jsxs)(y.A,{flex:"auto",children:[(0,s.jsx)(i.A.Item,{name:[e.name,"roleId"],label:"文件角色",rules:[{required:!0}],style:{marginBottom:0},children:(0,s.jsx)(m.A,{placeholder:"选择文件角色",size:"small",options:eh.map(e=>{var l;return{label:"".concat(e.name," (").concat(r(G[null!=(l=e.processingType)?l:""]||"roles.reference"),")"),value:e.id}})})}),(0,s.jsx)(i.A.Item,{noStyle:!0,shouldUpdate:!0,children:l=>{let{getFieldValue:r}=l;return eR(eN(r(["fileRoles",e.name,"roleId"])))}})]}),(0,s.jsx)(y.A,{style:{width:90},children:(0,s.jsx)(i.A.Item,{name:[e.name,"order"],label:"排序",initialValue:l,style:{marginBottom:0},children:(0,s.jsx)(f.A,{type:"number",size:"small"})})})]})]},e.key)),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(E.A,{}),onClick:()=>t({order:e.length}),children:r("roles.addRole")})]})}})},{key:"prompt",label:"提示词角色 (".concat(t.length,"/").concat(eg.length,")"),children:(0,s.jsx)(i.A.List,{name:"promptRoles",children:(e,l)=>{let{add:o,remove:n}=l;return(0,s.jsxs)("div",{className:"flex flex-col gap-6 pt-4",children:[(0,s.jsx)(v.A,{size:"small",title:"已选提示词角色",className:"bg-[var(--colorBgHover)] border-[var(--borderColorStrong)]",styles:{header:{borderBottom:"1px solid var(--borderColorStrong)"}},children:eC(t,"prompt")}),0===e.length&&(0,s.jsx)(c.A,{description:"暂未添加提示词角色"}),e.map((e,l)=>(0,s.jsxs)(v.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,s.jsxs)("div",{style:{position:"absolute",top:-10,left:12,background:"#722ed1",color:"#fff",fontSize:11,fontWeight:700,padding:"1px 8px",borderRadius:10},children:["#",l+1]}),(0,s.jsx)(d.Ay,{danger:!0,size:"small",icon:(0,s.jsx)(_.A,{}),onClick:()=>n(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,s.jsxs)(j.A,{gutter:[16,8],align:"middle",style:{marginTop:4},children:[(0,s.jsxs)(y.A,{flex:"auto",children:[(0,s.jsx)(i.A.Item,{name:[e.name,"roleId"],label:"提示词角色",rules:[{required:!0}],style:{marginBottom:0},children:(0,s.jsx)(m.A,{placeholder:"选择提示词角色",size:"small",options:eg.map(e=>{var l;return{label:"".concat(e.name," (").concat(r(J[null!=(l=e.executionType)?l:""]||"roles.reference"),")"),value:e.id}})})}),(0,s.jsx)(i.A.Item,{noStyle:!0,shouldUpdate:!0,children:l=>{let{getFieldValue:r}=l;return eR(eN(r(["promptRoles",e.name,"roleId"])))}})]}),(0,s.jsx)(y.A,{style:{width:90},children:(0,s.jsx)(i.A.Item,{name:[e.name,"order"],label:"排序",initialValue:l,style:{marginBottom:0},children:(0,s.jsx)(f.A,{type:"number",size:"small"})})})]})]},e.key)),(0,s.jsx)(d.Ay,{icon:(0,s.jsx)(E.A,{}),onClick:()=>o({order:e.length}),children:r("roles.addRole")})]})}})}]})}})]})})]})}}},e=>{e.O(0,[433,155,576,787,195,455,466,636,593,792],()=>e(e.s=23507)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[298],{16403:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/documents",function(){return r(19562)}])},19562:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>eo});var l=r(65321),s=r(97109),a=r(7576),n=r(35292),o=r(33442),i=r(17807),c=r(63455),d=r(11702),u=r(88762),m=r(85114),p=r(58569),x=r(84253),h=r(26171),g=r(34052),f=r(68787),v=r(42700),j=r(2256),y=r(38770),w=r(38332),A=r(76506),b=r(50883),k=r(23718),S=r(23216),I=r(26619),C=r(8263),N=r(16285),T=r(8579),R=r(75548),E=r(7851),B=r(84742),z=r(29071),M=r(63552),F=r(26631),_=r(7225),D=r(83914),P=r(58209),L=r(54746),G=r(93051),W=r(64068),O=r(38762),q=r(64629),H=r(1310),V=r(67547),K=r(76830),U=r(6578),X=r(48321);let{TextArea:Q}=a.A,{Text:J}=n.A;function Y(e){let{type:t="info",title:r,children:s,style:a}=e,n="error"===t?"var(--colorError)":"warning"===t?"var(--colorWarning)":"success"===t?"var(--colorSuccess)":"var(--colorInfo)";return(0,l.jsxs)("div",{style:{border:"1px solid ".concat(n),background:"error"===t?"var(--colorErrorBg)":"warning"===t?"var(--colorWarningBg)":"success"===t?"var(--colorSuccessBg)":"var(--colorInfoBg)",borderRadius:8,padding:"9px 12px",...a},children:[(0,l.jsx)(J,{strong:!0,style:{color:n},children:r}),s&&(0,l.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12},children:s})]})}function Z(e){let{children:t,gap:r=12,style:s}=e;return(0,l.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:r,...s},children:t})}let $=null;function ee(){null==$||$.listeners.forEach(e=>e())}let et={role_binding:(0,l.jsx)(S.A,{}),knowledge_retrieval:(0,l.jsx)(I.A,{}),file_understanding:(0,l.jsx)(C.A,{}),fact_extraction:(0,l.jsx)(N.A,{}),chapter_generation:(0,l.jsx)(T.A,{}),asset_generation:(0,l.jsx)(R.A,{}),validation:(0,l.jsx)(E.A,{}),formatting:(0,l.jsx)(B.A,{}),llm_review:(0,l.jsx)(z.A,{}),export_ready:(0,l.jsx)(M.A,{}),reference:(0,l.jsx)(R.A,{})},er={施工组织设计:(0,l.jsx)(E.A,{}),投标文件:(0,l.jsx)(M.A,{}),技术方案:(0,l.jsx)(N.A,{}),报告:(0,l.jsx)(F.A,{}),自定义:(0,l.jsx)(T.A,{})};function el(e){return[...new Set(e.map(e=>e.trim()).filter(Boolean))]}function es(e){return e.map(e=>({key:e.key,value:e.key,rawTitle:e.title,title:e.isFolder?(0,l.jsxs)("div",{className:"flex items-center justify-between w-full pr-4",children:[(0,l.jsxs)(o.A,{size:4,children:[(0,l.jsx)(_.A,{style:{color:"#faad14"}}),(0,l.jsx)("span",{children:e.title})]}),(0,l.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:[e.fileCount||0," 项"]})]}):(0,l.jsx)("span",{title:e.key,children:e.title}),isFolder:e.isFolder,fileCount:e.fileCount||+!e.isFolder,isLeaf:e.isLeaf}))}let ea={role_binding:"角色配置绑定",knowledge_retrieval:"知识库检索",file_understanding:"多模态文件理解",fact_extraction:"LLM 事实抽取",chapter_generation:"LLM 章节生成",asset_generation:"多模态资源生成",validation:"规则校验",formatting:"格式化排版",llm_review:"LLM 审查优化",export_ready:"导出就绪",reference:"参考资源处理"},en={"knowledge-base":"知识库","document-readiness":"生成准备度检查","quality-repair":"质量补写","export-gate":"导出门禁","context-memory":"项目上下文","final-format":"正式排版","multimodal-files":"多模态文件理解",tender_announcement:"招标公告"};function eo(){var e,t,r,n,R;let _=(0,X.Vr)(),{message:eo}=i.A.useApp(),[ei]=c.A.useForm(),ec=(0,s.useRef)(null),[ed,eu]=(0,s.useState)([]),[em,ep]=(0,s.useState)("construction-organization-design"),[ex,eh]=(0,s.useState)([]),[eg,ef]=(0,s.useState)([]),[ev,ej]=(0,s.useState)([]),[ey,ew]=(0,s.useState)([]),[eA,eb]=(0,s.useState)(!1),[ek,eS]=(0,s.useState)(),[eI,eC]=(0,s.useState)(!0),[eN,eT]=(0,s.useState)(!1),[eR,eE]=(0,s.useState)(null),[eB,ez]=(0,s.useState)(""),[eM,eF]=(0,s.useState)([]),[e_,eD]=(0,s.useState)(null),[eP,eL]=(0,s.useState)(null),[eG,eW]=(0,s.useState)(""),[eO,eq]=(0,s.useState)(!1),[eH,eV]=(0,s.useState)("idle"),[eK,eU]=(0,s.useState)(null),[eX,eQ]=(0,s.useState)(null),[eJ,eY]=(0,s.useState)({start:0,end:0}),[eZ,e$]=(0,s.useState)([]),[e0,e1]=(0,s.useState)(!1),[e2,e6]=(0,s.useState)(!1),[e5,e8]=(0,s.useState)({}),e4=c.A.useWatch("projectRoleConfigId",ei),e3=(0,s.useMemo)(()=>eg.find(e=>e.id===e4),[eg,e4]),e7=(0,s.useMemo)(()=>new Set(((null==e3?void 0:e3.fileRoles)||[]).map(e=>e.roleId)),[e3]),e9=(0,s.useMemo)(()=>ex.filter(e=>"file"===e.type&&(!e4||e7.has(e.id))).map(e=>({label:e.name,value:e.id})),[ex,e7,e4]),te=c.A.useWatch("fileBindingGroups",ei)||{},tt=(0,s.useMemo)(()=>{var e,t,r;return(null==(e=ev.find(e=>e.selected))?void 0:e.projectRoot)||(null==(t=ev.find(e=>e.isCurrent))?void 0:t.projectRoot)||(null==(r=ev[0])?void 0:r.projectRoot)||""},[ev]);(0,s.useEffect)(()=>{if(!e2||!e4)return;let e=ei.getFieldValue("fileBindingGroups")||{},t=Object.fromEntries(Object.entries(e).filter(e=>{let[t]=e;return e7.has(t)}));Object.keys(t).length!==Object.keys(e).length&&ei.setFieldValue("fileBindingGroups",t)},[ei,e7,e4,e2]),(0,s.useEffect)(()=>{if(e2){if(0===e9.length)return void eS(void 0);ek&&e9.some(e=>e.value===ek)||eS(e9[0].value)}},[ek,e9,e2]);let[tr,tl]=(0,s.useState)([]),[ts,ta]=(0,s.useState)(null),[tn,to]=(0,s.useState)(null),[ti,tc]=(0,s.useState)("templates"),[td,tu]=(0,s.useState)(!1),[tm,tp]=(0,s.useState)("workflow"),tx=(0,s.useRef)(null),th=(0,s.useRef)(null),tg=(0,s.useRef)(0),tf=(0,s.useMemo)(()=>"activeGenDocId:".concat(tt||"default"),[tt]),tv=async()=>{try{eF((await (0,U.cQ)(tt||void 0)).documents)}catch(e){eF([])}};(0,s.useEffect)(()=>{let e=()=>{$&&(tl($.flowSteps),ta($.activeFlowKey),eT($.loading),$.documentId&&eD($.documentId),$.draft&&eE($.draft),void 0!==$.content&&ez($.content))},t=$;return null==t||t.listeners.add(e),e(),()=>{null==t||t.listeners.delete(e)}},[]),(0,s.useEffect)(()=>{eC(!0),Promise.all([(0,U.Dl)().then(e=>{var t,r;eu(e.templates),ep(null!=(r=null==(t=e.templates[0])?void 0:t.id)?r:"construction-organization-design")}),(0,U.lv)().then(e=>{eh(e.roles),ef(e.configs)}),(0,U.dx)().then(e=>ej(e))]).catch(()=>eo.error(_("common.error"))).finally(()=>eC(!1))},[eo,_]),(0,s.useEffect)(()=>{tt&&(localStorage.removeItem("activeGenDocId"),tv())},[tt]),(0,s.useEffect)(()=>{if(0===eM.length)return;let e=localStorage.getItem(tf);if(!e)return;if(!eM.find(t=>t.id===e&&"generating"===t.status))return void localStorage.removeItem(tf);let t=setInterval(()=>{(async()=>{try{let{document:r}=await (0,U.v7)(e,!1,tt||void 0);await tv(),"generating"!==r.status&&(localStorage.removeItem(tf),clearInterval(t))}catch(e){clearInterval(t)}})()},3e3);return()=>clearInterval(t)},[eM]);let tj=(0,s.useMemo)(()=>ed.find(e=>e.id===em),[ed,em]),ty=eg.map(e=>({label:e.name,value:e.id})),tw=Math.max(0,tr.findIndex(e=>e.key===ts)),tA=e=>{var t;return e?(null==(t=ex.find(t=>t.id===e))?void 0:t.name)||en[e]||"未知角色":""},tb=e=>e.subtitle||e.roleName||tA(e.roleId)||ea[e.type]||e.type,tk=e=>{var t,r,l;return e.promptName||((t=e.promptId)?(null==(r=ev.find(e=>e.id===t))?void 0:r.projectName)||(null==(l=ex.find(e=>e.id===t))?void 0:l.name)||en[t]||"未知提示词":"")},tS=()=>{tg.current+=1,eW(""),eU(null),eQ(null),e$([]),e1(!1),eq(!1),eV("idle")},tI=e=>{ep(e),eD(null),eE(null),ez(""),tS(),tp("workflow"),tu(!0),tc("drafts")},tC=async e=>{eD(e.id),ep(e.templateId);let t=tN(e.status);if(t||"failed"===e.status||"aborted"===e.status){tS(),to(e),eE(null),ez(""),eT(t),tp("workflow"),tu(!0);try{let{document:t}=await (0,U.v7)(e.id,!1,e.projectRoot||tt||void 0);tE(t),tN(t.status)?tB(t.id,t.projectRoot||e.projectRoot||tt||void 0):await tv()}catch(t){tE(e)}return}tp("editor"),tl([]),ta(null),tS();try{let{document:t}=await (0,U.v7)(e.id,!1,e.projectRoot||tt||void 0);eE(t.draft||null),ez(t.editedMarkdown||t.markdown)}catch(e){eo.error(_("common.error"))}tu(!0)},tN=e=>"completed"!==e&&"warning"!==e&&"failed"!==e&&"aborted"!==e,tT=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eN;(null==$?void 0:$.loading)&&($.flowSteps=e,$.activeFlowKey=t,$.loading=r,ee())},tR=e=>{var t,r,s,a,n;let o=e.executionStages||(null==(t=e.draft)?void 0:t.executionStages)||[];if(o.length>0){let t=o.map((t,r)=>{var s;let a,n=("failed"===e.status||"aborted"===e.status)&&"running"===t.status||"failed"===(a=t.status)?"error":"running"===a?"process":"fallback"===a?"warning":"finish";return{key:"".concat(t.type,"-").concat(r),title:t.title||ea[t.type]||t.type,subtitle:tb(t),description:t.message||"",status:n,icon:"role_binding"===(s=t.type)?(0,l.jsx)(S.A,{}):"knowledge_retrieval"===s?(0,l.jsx)(I.A,{}):"file_understanding"===s?(0,l.jsx)(C.A,{}):"fact_extraction"===s?(0,l.jsx)(N.A,{}):"chapter_generation"===s?(0,l.jsx)(T.A,{}):"llm_review"===s?(0,l.jsx)(z.A,{}):"validation"===s?(0,l.jsx)(E.A,{}):"formatting"===s?(0,l.jsx)(B.A,{}):"export_ready"===s?(0,l.jsx)(M.A,{}):(0,l.jsx)(F.A,{}),subSteps:((e,t,r)=>{let l=Array.isArray(e.details)?e.details.filter(Boolean):[],s=e.progress?"".concat(e.progress.label||"进度",":").concat(e.progress.current,"/").concat(e.progress.total):"",a=[...s?[s]:[],...l];return 0===a.length?[{key:"stage-".concat(r),title:tk(e)?"提示词:".concat(tk(e)):tb(e),status:t}]:a.slice(0,8).map((e,l)=>({key:"stage-".concat(r,"-").concat(l),title:e,status:"process"===t&&0===l?"process":"error"===t&&0===l?"error":"warning"===t?"warning":"process"===t?"finish":t}))})(t,n,r)}});"generating"===e.status&&t.length>0&&(null==(r=t.at(-1))?void 0:r.status)==="finish"&&(t[t.length-1]={...t[t.length-1],status:"process"});let i="generating"===e.status?(null==(s=t.at(-1))?void 0:s.key)||"prepare":"failed"===e.status||"aborted"===e.status?(null==(a=t.find(e=>"error"===e.status))?void 0:a.key)||(null==(n=t.at(-1))?void 0:n.key)||"prepare":"done";return{steps:t,activeKey:i}}return{steps:[],activeKey:null}},tE=e=>{to(e);let{steps:t,activeKey:r}=tR(e);tl(t),ta(r),eT(tN(e.status)),tT(t,r,tN(e.status)),("failed"===e.status||"aborted"===e.status)&&tp("workflow"),("completed"===e.status||"warning"===e.status)&&e.draft&&(eE(e.draft),ez(e.editedMarkdown||e.markdown),tp("editor"),tl([]),ta(null))},tB=(e,t)=>{tx.current&&clearInterval(tx.current),tx.current=setInterval(()=>{(async()=>{try{let{document:r}=await (0,U.v7)(e,!0,t||tt||void 0);tE(r),await tv(),tN(r.status)||(tx.current&&clearInterval(tx.current),tx.current=null,localStorage.removeItem(tf))}catch(e){}})()},2e3)};(0,s.useEffect)(()=>()=>{tx.current&&(clearInterval(tx.current),tx.current=null),th.current&&(clearTimeout(th.current),th.current=null)},[]),(0,s.useEffect)(()=>{if(!eN||!ts)return;let e=window.setInterval(()=>tl(e=>{let t=e.map(e=>{if(e.key!==ts||"process"!==e.status)return e;let t=e.subSteps.findIndex(e=>"process"===e.status),r=t<0?0:Math.min(t+1,e.subSteps.length-1);return{...e,subSteps:e.subSteps.map((e,t)=>t<r?{...e,status:"finish"}:t===r?{...e,status:"process"}:{...e,status:"wait"})}});return tT(t,ts),t}),1400);return()=>window.clearInterval(e)},[ts,eN]);let tz=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";eb(!0);try{let t=await (0,U.Fi)(e,tt||void 0);ew(es(t.nodes))}catch(e){eo.error("知识库文件加载失败")}finally{eb(!1)}},tM=async e=>{var t;let r=String(null!=(t=e.key)?t:"");if(r)try{let e=await (0,U.Fi)(r,tt||void 0),t=es(e.nodes),l=e=>e.map(e=>e.key===r?{...e,children:t}:e.children?{...e,children:l(e.children)}:e);ew(e=>l(e))}catch(e){eo.error("加载子文件夹失败")}},tF=e=>{var t,r,l;let s=null!=e?e:{id:"tpl-".concat(Date.now()),name:"",description:"",category:"自定义",outputTitle:"",projectRoleConfigId:void 0,chapters:[],fileBindings:[]};ei.resetFields(),ei.setFieldsValue({...s,fileBindingGroups:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce((e,t)=>(t.roleId&&t.filePath&&(e[t.roleId]=el([...e[t.roleId]||[],t.filePath])),e),{})}(s.fileBindings)}),eS(null==(l=eg.find(e=>e.id===s.projectRoleConfigId))||null==(r=l.fileRoles)||null==(t=r[0])?void 0:t.roleId),tz(),e6(!0)},t_=(e,t)=>{let r=ei.getFieldValue("fileBindingGroups")||{};ei.setFieldValue("fileBindingGroups",{...r,[e]:el(t)})},tD=async()=>{try{var e;await ei.validateFields();let t=ei.getFieldsValue(!0),r=new Set(((null==(e=eg.find(e=>e.id===t.projectRoleConfigId))?void 0:e.fileRoles)||[]).map(e=>e.roleId)),l=t.fileBindingGroups||{},s=Object.entries(l).filter(e=>{let[t]=e;return 0===r.size||r.has(t)}).flatMap(e=>{let[t,r]=e;return el(r||[]).map(e=>({roleId:t,filePath:e}))}),{fileBindingGroups:a,...n}=t,o={...n,chapters:[],fileBindings:s},i=await (0,U.l2)(o);eu(i.templates),ep(i.template.id),e6(!1),await tv(),eo.success(_("common.success"))}catch(e){e instanceof Error&&eo.error(e.message)}},tP=async e=>{try{let t=await (0,U.bV)(e);eu(t.templates),ep(t.template.id),eo.success(_("common.success"))}catch(e){eo.error(_("common.error"))}},tL=async e=>{try{var t,r;let l=await (0,U.h0)(e);eu(l.templates),ep(null!=(r=null==(t=l.templates[0])?void 0:t.id)?r:""),eo.success(_("common.success"))}catch(e){eo.error(_("common.error"))}},tG=async e=>{try{let{validation:t}=await (0,U.SM)(e,tt||void 0);e8(r=>({...r,[e]:t}));let r=t.issues.filter(e=>"error"===e.level);if(ep(e),r.length>0)return void eo.warning("模板运行前检查未通过,请先处理阻断项");t.issues.length>0&&eo.warning("模板存在非阻断警告,已继续运行"),tI(e)}catch(e){eo.error(e instanceof Error?e.message:"模板运行前检查失败")}},tW=async e=>{try{await (0,U.QG)(e.id,e.projectRoot||tt||void 0),e_===e.id&&(eD(null),eE(null),ez("")),await tv(),eo.success(_("common.success"))}catch(e){eo.error(_("common.error"))}},tO=async(e,t)=>{let r=Date.now(),l=0,s=Date.now();for(;;){let a;if(null==t?void 0:t.aborted)throw Error("用户中止");let n=new AbortController;t&&(t.pollController=n);try{({document:a}=await (0,U.v7)(e,!0,tt||void 0,n.signal))}finally{(null==t?void 0:t.pollController)===n&&(t.pollController=void 0)}if(tE(a),a.updatedAt!==l&&(l=a.updatedAt,s=Date.now()),("completed"===a.status||"warning"===a.status)&&a.draft)return a;if("failed"===a.status||"aborted"===a.status)throw Error(a.error||("aborted"===a.status?"生成已中止":"生成失败"));if(Date.now()-r>75e5||Date.now()-s>96e4)throw Error("生成任务疑似卡住,请点击继续生成或重新生成");await new Promise(e=>window.setTimeout(e,1500))}},tq=async()=>{if(!em)return;if((null==$?void 0:$.aborted)&&($=null),null==$?void 0:$.loading){tl($.flowSteps),ta($.activeFlowKey),eT(!0);return}if(!tt)return void eo.error("未识别当前项目,请先选择或打开项目后再生成文件");eT(!0);let e=(0,U.OX)({templateId:em,projectRoot:tt});$={id:Date.now(),templateId:em,loading:!0,flowSteps:[],activeFlowKey:null,promise:e,listeners:new Set},tl([]),ta(null);let t=[];try{let r=await e;r.documentId&&(localStorage.setItem(tf,r.documentId),eD(r.documentId),(null==$?void 0:$.promise)===e&&($.documentId=r.documentId)),await tv();let l=r.documentId?await tO(r.documentId,(null==$?void 0:$.promise)===e?$:void 0):void 0,s=r.draft||(null==l?void 0:l.draft);if(!s)throw Error("生成结果为空");(r.documentId||(null==l?void 0:l.id))&&eD(r.documentId||l.id),t.forEach(e=>window.clearTimeout(e)),eE(s),ez((null==l?void 0:l.editedMarkdown)||(null==l?void 0:l.markdown)||s.markdown),(null==$?void 0:$.promise)===e&&($.draft=s,$.content=(null==l?void 0:l.editedMarkdown)||(null==l?void 0:l.markdown)||s.markdown);let a=l||{id:r.documentId||"draft-".concat(Date.now()),templateId:em,title:s.title,requirement:s.requirement,projectRoot:s.projectRoot||tt,projectId:s.projectId,markdown:s.markdown,status:s.validationIssues.some(e=>"error"===e.level||"warning"===e.level)||!s.exportGate.passed?"warning":"completed",draft:s,executionStages:s.executionStages,assets:s.assets||[],createdAt:s.generatedAt,updatedAt:Date.now()},{steps:n}=tR(a);tl(n),tT(n,"done",!1),ta("done"),(null==$?void 0:$.promise)===e&&($.activeFlowKey="done",$.loading=!1,ee(),$=null),localStorage.removeItem(tf),await tv(),eo.success(_("common.success")),window.setTimeout(()=>{var e;return null==(e=ec.current)?void 0:e.scrollIntoView({behavior:"smooth",block:"start"})},200)}catch(l){localStorage.removeItem(tf);let t=l instanceof Error?l.message:_("common.error"),r=/用户中止|abort|aborted/i.test(t);r||tl(e=>{let r=e.map(e=>"process"===e.status?{...e,status:"error",description:t,subSteps:((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 r=e.subSteps.findIndex(e=>"wait"===e.status);return e.subSteps.map((e,t)=>t<r||-1===r?{...e,status:"finish"}:t===r?{...e,status:"process"}:e)})(e,"error")}:e);return tT(r,ts,!1),r}),(null==$?void 0:$.promise)===e&&($.loading=!1,$.error=t,ee(),$=null),await tv().catch(()=>void 0),r||eo.error(t)}finally{t.forEach(e=>window.clearTimeout(e)),eT(!1),(null==$?void 0:$.promise)===e&&($.loading=!1,ee())}},tH=(0,s.useRef)(!1);(0,s.useEffect)(()=>(th.current&&(clearTimeout(th.current),th.current=null),!td||"workflow"!==tm||e_||tH.current||(null==$?void 0:$.loading)||null==tj||!tj.projectRoleConfigId||(tH.current=!0,th.current=setTimeout(()=>{th.current=null,td&&"workflow"===tm&&!e_&&em==em&&tq()},300)),td||(tH.current=!1),()=>{th.current&&(clearTimeout(th.current),th.current=null)}),[td,tm,e_,tj,em]);let tV=async e=>{try{eD(e.id),ep(e.templateId),tp("workflow"),tu(!0),eT(!0);let t=await (0,U.UQ)(e.id,e.projectRoot||tt||void 0);localStorage.setItem(tf,t.documentId),await tv();let r=await tO(t.documentId);r.draft&&(eE(r.draft),ez(r.editedMarkdown||r.markdown||r.draft.markdown),tp("editor")),localStorage.removeItem(tf),await tv(),eo.success("已继续生成并完成")}catch(e){eo.error(e instanceof Error?e.message:"继续生成失败")}finally{eT(!1)}},tK=async e=>{if((null==$?void 0:$.loading)&&$.documentId===e.id){var t;$.aborted=!0,null==(t=$.pollController)||t.abort(),$.loading=!1,$.error="用户中止",ee(),$=null,eT(!1)}localStorage.removeItem(tf),tx.current&&(clearInterval(tx.current),tx.current=null);try{await (0,U.r)(e.id,e.projectRoot||tt||void 0),eo.success("已中止生成任务")}catch(e){eo.info("任务已不在运行,已刷新状态")}finally{await tv(),e_===e.id&&(eD(null),to(null),eE(null),ez(""))}},tU=async e=>{if(eR){eL(e);try{eR.exportGate.passed||eo.warning("导出门禁存在风险项,已允许导出,请下载后人工复核。");let t={documentId:e_||void 0,title:eR.title,markdown:eB,format:e,enforceGate:!1,exportGate:eR.exportGate,useClientMarkdown:!0,projectRoot:eR.projectRoot||tt||void 0},r=await (0,U.UE)(t);((e,t,r)=>{let l=new Blob([e],{type:r}),s=URL.createObjectURL(l),a=document.createElement("a");a.href=s,a.download=t,a.target="_self",a.rel="noopener",a.style.display="none",document.body.appendChild(a),a.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),a.remove(),window.setTimeout(()=>URL.revokeObjectURL(s),1e3)})(r,"".concat(eR.title,".").concat("markdown"===e?"md":e),{markdown:"text/markdown;charset=utf-8",html:"text/html;charset=utf-8",pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}[e])}catch(e){eo.error(e instanceof Error?e.message:_("common.error"))}finally{eL(null)}}},tX=async()=>{if(eR)try{if(e_)await (0,U.a6)(e_,{editedMarkdown:eB,markdown:eB},eR.projectRoot||tt||void 0);else{let e=await (0,U.Af)({...eR,markdown:eB});eE(e.draft)}await tv(),eo.success(_("common.success"))}catch(e){eo.error(_("common.error"))}},tQ=(e,t)=>{e$(r=>[{id:"".concat(Date.now()),content:e,prompt:t,createdAt:Date.now()},...r].slice(0,12))},tJ=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e&&eW(""),eU(null),eQ(null),eY({start:0,end:0})},tY=(e,t)=>{var r,l;return{title:(null==eR?void 0:eR.title)||"未命名文档",markdown:t,instruction:e,facts:null==eR||null==(r=eR.structuredFacts)?void 0:r.map(e=>"".concat(e.key,": ").concat(e.value)),chapters:null==eR||null==(l=eR.chapters)?void 0:l.map(e=>e.title),...(()=>{let e=eJ.start,t=eJ.end;return t>e?{selection:{start:e,end:t,text:eB.slice(e,t)},cursorOffset:e}:{cursorOffset:e}})()}},tZ=async()=>{let e=eG.trim();if(!eR||!e||eO)return;let t=tg.current+1;tg.current=t,eq(!0),eV("planning"),eQ(null);try{let r=await (0,U.Gi)({mode:"plan",...tY(e,eB)});if(tg.current!==t||e_!=e_)return;if(!r.plan)throw Error("AI 未返回修改计划");eU(r.plan)}catch(e){tg.current===t&&eo.error(e instanceof Error?e.message:_("common.error"))}finally{tg.current===t&&(eq(!1),eV("idle"))}},t$=async e=>{let t=eG.trim();if(!eR||!t||eO)return;let r=tg.current+1;tg.current=r,eq(!0),eV("applying");try{let l=await (0,U.Gi)({mode:"apply",...tY(t,eB),plan:e});if(tg.current!==r||e_!=e_)return;if(!l.markdown)throw Error("AI 未返回修改结果");eQ({plan:l.plan||e,markdown:l.markdown,beforeSnippet:l.beforeSnippet,afterSnippet:l.afterSnippet,summary:l.summary,changedChars:l.changedChars,prompt:t,before:eB})}catch(e){tg.current===r&&eo.error(e instanceof Error?e.message:_("common.error"))}finally{tg.current===r&&(eq(!1),eV("idle"))}};if(eI)return(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)(u.A,{active:!0,paragraph:{rows:2}}),(0,l.jsx)(u.A,{active:!0,paragraph:{rows:8}})]});let t0="workflow"===tm?"工作流:".concat((null==tj?void 0:tj.name)||"选择模板"):"编辑:".concat((null==eR?void 0:eR.title)||(null==tj?void 0:tj.outputTitle)||"文档");return(0,l.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,l.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4 pb-6 mb-2",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("h1",{className:"text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2.5 flex items-center gap-2",children:[(0,l.jsx)(S.A,{className:"text-[var(--colorAccent)]"}),_("documents.title")]}),(0,l.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)]",children:_("documents.description")})]}),(0,l.jsx)(m.Ay,{type:"primary",icon:(0,l.jsx)(L.A,{}),onClick:()=>tF(),className:"shadow-none rounded-lg",children:_("documents.newTemplate")})]}),(0,l.jsxs)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl shadow-sm overflow-hidden",children:[(0,l.jsx)(p.A,{items:[{key:"templates",label:(0,l.jsxs)("span",{className:"px-4",children:["模板库 ",(0,l.jsx)(d.A,{className:"ml-2 border-0 bg-[var(--colorFillAlter)]",children:ed.length})]})},{key:"drafts",label:(0,l.jsxs)("span",{className:"px-4",children:["生成记录 ",(0,l.jsx)(d.A,{className:"ml-2 border-0 bg-[var(--colorFillAlter)]",children:eM.length})]})}],activeKey:ti,onChange:tc,className:"documents-tabs",size:"large",tabBarStyle:{margin:0,padding:"0 16px",background:"var(--colorBgHover)",borderBottom:"1px solid var(--borderColor)"}}),(0,l.jsx)("div",{className:"p-4 bg-[var(--colorFillAlter)] min-h-[500px]",children:"templates"===ti?0===ed.length?(0,l.jsx)("div",{className:"py-32 text-center border border-dashed border-[var(--borderColor)] rounded-2xl bg-[var(--colorBgContainer)]",children:(0,l.jsx)(x.A,{description:(0,l.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:_("common.noData")})})}):(0,l.jsx)("div",{className:"grid grid-cols-1 gap-4",children:ed.map(e=>(0,l.jsxs)("div",{className:"group flex items-center p-4 rounded-2xl transition-all cursor-pointer ".concat(em===e.id?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),onClick:()=>ep(e.id),children:[(0,l.jsxs)("div",{className:"flex-1 min-w-0 pr-4",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3 mb-2 min-w-0",children:[function(e,t){let r=er[e]||(0,l.jsx)(F.A,{});return(0,l.jsx)("span",{style:{color:t?"var(--colorAccent)":"var(--colorTextSecondary)",fontSize:16,marginTop:2,flexShrink:0},children:r})}(e.category,em===e.id),(0,l.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate",children:e.name}),em===e.id&&(0,l.jsx)(d.A,{color:"blue",className:"border-0 m-0 shrink-0",children:"当前选中"}),(0,l.jsx)(d.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0 shrink-0",children:e.category})]}),e.description&&(0,l.jsx)("div",{className:"text-sm text-[var(--colorTextSecondary)] line-clamp-2 leading-relaxed mb-3",children:e.description}),e5[e.id]&&(0,l.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"inline-flex items-center gap-2 p-1.5 px-3 rounded-lg border text-xs ".concat(e5[e.id].issues.some(e=>"error"===e.level)?"border-red-200 bg-red-50/50":e5[e.id].issues.length?"border-yellow-200 bg-yellow-50/50":"border-green-200 bg-green-50/50"),children:[(0,l.jsx)("span",{className:"font-medium",children:e5[e.id].issues.some(e=>"error"===e.level)?"检查未通过":e5[e.id].issues.length?"存在警告":"检查通过"}),(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsxs)("span",{children:["文件角色 ",e5[e.id].fileDiagnostics.length]}),(0,l.jsxs)("span",{children:["提示词 ",e5[e.id].promptDiagnostics.length]}),!e5[e.id].issues.some(e=>"error"===e.level)&&e5[e.id].issues.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsx)("span",{className:"text-blue-500 cursor-pointer hover:underline",onClick:()=>tI(e.id),children:"忽略警告"})]})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2 shrink-0 transition-opacity ".concat(em===e.id?"opacity-100":"opacity-0 group-hover:opacity-100"),onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(m.Ay,{size:"small",onClick:t=>{t.stopPropagation(),tF(e)},className:"rounded-md",children:"配置"}),(0,l.jsx)(m.Ay,{size:"small",icon:(0,l.jsx)(G.A,{}),onClick:t=>{t.stopPropagation(),tP(e.id)},className:"rounded-md"}),(0,l.jsx)(h.A,{title:_("documents.deleteTemplateConfirm"),onConfirm:t=>{null==t||t.stopPropagation(),tL(e.id)},children:(0,l.jsx)(m.Ay,{size:"small",danger:!0,icon:(0,l.jsx)(P.A,{}),onClick:e=>e.stopPropagation(),className:"rounded-md"})}),(0,l.jsx)(m.Ay,{size:"small",type:"primary",icon:(0,l.jsx)(W.A,{}),onClick:t=>{t.stopPropagation(),tG(e.id)},className:"rounded-md justify-center",children:"运行"})]})]},e.id))}):0===eM.length?(0,l.jsx)("div",{className:"py-32 text-center border border-dashed border-[var(--borderColor)] rounded-2xl bg-[var(--colorBgContainer)]",children:(0,l.jsx)(x.A,{description:(0,l.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:_("common.noData")})})}):(0,l.jsx)("div",{className:"grid grid-cols-1 gap-4",children:eM.slice(0,15).map((e,t)=>{var r,s,a,n,o;let i,c;return(0,l.jsxs)("div",{className:"group flex items-center gap-4 p-4 rounded-2xl transition-all cursor-pointer ".concat(e_===e.id?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),onClick:()=>{tC(e)},children:[(0,l.jsx)("div",{className:"mt-1",children:"completed"===e.status?(0,l.jsx)(B.A,{className:"text-xl text-[var(--colorOk)]"}):"failed"===e.status||"aborted"===e.status?(0,l.jsx)(O.A,{className:"text-xl text-[var(--colorDanger)]"}):"warning"===e.status?(0,l.jsx)(E.A,{className:"text-xl text-[var(--colorWarning)]"}):(0,l.jsx)(q.A,{spin:!0,className:"text-xl text-blue-500"})}),(0,l.jsxs)("div",{className:"flex-1 min-w-0 pr-4",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3 mb-2",children:[(0,l.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate",children:e.title}),(0,l.jsxs)(d.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0 shrink-0",children:["#",t+1]}),(0,l.jsx)(d.A,{color:"completed"===(i=e.status)?"success":"warning"===i?"warning":"failed"===i?"error":"aborted"===i?"default":"processing",className:"border-0 m-0 shrink-0",children:"completed"===(c=e.status)?"已完成":"warning"===c?"需复核":"failed"===c?"失败":"aborted"===c?"已中止":"生成中"})]}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-x-4 gap-y-2 text-xs text-[var(--colorTextSecondary)] mb-3",children:[(0,l.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,l.jsx)(H.A,{})," ",new Date(e.updatedAt).toLocaleString()]}),(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.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 r=Math.floor(t/60),l=t%60;if(r<60)return l?"".concat(r," 分 ").concat(l," 秒"):"".concat(r," 分");let s=Math.floor(r/60),a=r%60;return a?"".concat(s," 小时 ").concat(a," 分"):"".concat(s," 小时")})(e)]}),e.partialChapters&&e.partialChapters.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsxs)("span",{children:["进度 ",e.partialChapters.filter(e=>"completed"===e.status).length,"/",e.partialChapters.length," 章"]}),(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsxs)("span",{children:["共 ",e.partialChapters.reduce((e,t)=>e+t.chars,0).toLocaleString()," 字"]})]})]}),("warning"===e.status||"failed"===e.status||"aborted"===e.status)&&(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 p-1.5 px-3 rounded-lg border text-xs ".concat("failed"===e.status||"aborted"===e.status?"border-red-200 bg-red-50/50":"border-yellow-200 bg-yellow-50/50"),children:[(0,l.jsx)("span",{className:"font-medium",children:"failed"===e.status?"生成失败":"aborted"===e.status?"已中止":"需复核"}),(0,l.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,l.jsx)("span",{className:"truncate max-w-[400px]",children:e.error||(null==(r=e.warningIssues)?void 0:r[0])||(null==(a=e.draft)||null==(s=a.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:s.message)||"需复核"})]})]}),(0,l.jsxs)("div",{className:"flex flex-col gap-2 shrink-0 transition-opacity ".concat(e_===e.id?"opacity-100":"opacity-0 group-hover:opacity-100"),onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(m.Ay,{size:"small",type:"primary",icon:tN(e.status)?(0,l.jsx)(q.A,{spin:!0}):(0,l.jsx)(W.A,{}),onClick:t=>{t.stopPropagation(),tC(e)},className:"rounded-md w-full justify-center",children:"打开"}),(0,l.jsxs)("div",{className:"flex gap-2 justify-end",children:[tN(e.status)&&(0,l.jsx)(h.A,{title:"确定中止此生成任务?",onConfirm:t=>{null==t||t.stopPropagation(),tK(e)},children:(0,l.jsx)(m.Ay,{size:"small",danger:!0,onClick:e=>e.stopPropagation(),className:"rounded-md flex-1",children:"中止"})}),("failed"===e.status||"aborted"===e.status||"warning"===e.status&&!!(null==(n=e.checkpointChapters)?void 0:n.length)&&/继续生成|重新生成|中断|卡住|未完成/u.test(e.error||(null==(o=e.warningIssues)?void 0:o.join(";"))||""))&&(0,l.jsx)(m.Ay,{size:"small",onClick:t=>{t.stopPropagation(),tV(e)},className:"rounded-md flex-1",children:"继续"}),(0,l.jsx)(h.A,{title:"确认删除?",onConfirm:t=>{null==t||t.stopPropagation(),tW(e)},children:(0,l.jsx)(m.Ay,{size:"small",danger:!0,icon:(0,l.jsx)(P.A,{}),onClick:e=>e.stopPropagation(),className:"rounded-md"})})]})]})]},e.id)})})})]}),(0,l.jsx)(g.A,{title:t0,open:td,onClose:()=>{tu(!1),tx.current&&(clearInterval(tx.current),tx.current=null)},size:800,mask:{closable:!1},style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:eR?(0,l.jsxs)(o.A,{wrap:!0,children:[(0,l.jsx)(m.Ay,{icon:(0,l.jsx)(V.A,{}),disabled:eO,onClick:()=>{tX()},children:_("documents.saveDraft")}),(0,l.jsx)(m.Ay,{icon:(0,l.jsx)(K.A,{}),disabled:eO,loading:"markdown"===eP,onClick:()=>{tU("markdown")},children:"MD"}),(0,l.jsx)(m.Ay,{disabled:eO,loading:"html"===eP,onClick:()=>{tU("html")},children:"HTML"}),(0,l.jsx)(m.Ay,{disabled:eO,loading:"docx"===eP,onClick:()=>{tU("docx")},children:"DOCX"}),(0,l.jsx)(m.Ay,{type:"primary",disabled:eO,loading:"pdf"===eP,onClick:()=>{tU("pdf")},children:"PDF"})]}):eN&&"workflow"===tm?(0,l.jsx)(m.Ay,{danger:!0,onClick:()=>{(async()=>{if(e_&&await (0,U.r)(e_,tt||void 0).catch(()=>void 0),$){var e;$.aborted=!0,null==(e=$.pollController)||e.abort(),$.loading=!1,$.error="用户中止",ee(),$=null}localStorage.removeItem(tf),tx.current&&(clearInterval(tx.current),tx.current=null),eT(!1),tl([]),ta(null),tu(!1),await tv(),eo.info("已中止生成任务")})()},children:"中止任务"}):void 0,children:(0,l.jsxs)(Z,{style:{width:"100%"},gap:16,children:["workflow"===tm&&tr.length>0&&(0,l.jsx)(Z,{gap:10,children:tr.map((e,t)=>{let r;return(0,l.jsxs)("div",{style:{display:"flex",gap:10,padding:10,border:"1px solid var(--colorBorderSecondary)",borderRadius:10,background:t===tw?"var(--colorFillAlter)":"var(--colorBgContainer)"},children:[(0,l.jsx)("span",{children:"process"===e.status?(0,l.jsx)(D.A,{}):"warning"===e.status?(0,l.jsx)(E.A,{style:{color:"var(--colorWarning)"}}):e.icon}),(0,l.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,l.jsxs)(o.A,{wrap:!0,children:[(0,l.jsx)(J,{strong:!0,children:e.title}),(0,l.jsx)(d.A,{color:"finish"===e.status?"success":"error"===e.status?"error":"warning"===e.status?"warning":"process"===e.status?"processing":"default",children:"warning"===(r=e.status)?"finish":r})]}),(0,l.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12,whiteSpace:"pre-wrap"},children:(0,l.jsxs)("div",{children:[e.subtitle&&(0,l.jsx)("div",{style:{marginBottom:4},children:(0,l.jsx)(d.A,{children:e.subtitle})}),(0,l.jsx)("div",{children:e.description}),(0,l.jsx)("div",{style:{marginTop:4},children:e.subSteps.map(e=>{var t;return(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,fontSize:12,color:"process"===e.status?"var(--colorPrimary)":"var(--colorTextSecondary)"},children:["process"===(t=e.status)?(0,l.jsx)(D.A,{}):"finish"===t?(0,l.jsx)(B.A,{}):"warning"===t?(0,l.jsx)(E.A,{style:{color:"var(--colorWarning)"}}):"error"===t?(0,l.jsx)(P.A,{}):(0,l.jsx)("span",{style:{display:"inline-block",height:6,width:6,borderRadius:"50%",background:"var(--colorTextTertiary)"}}),(0,l.jsx)("span",{children:e.title})]},e.key)})})]})})]})]},e.key)})}),"workflow"===tm&&(null==tn?void 0:tn.partialChapters)&&tn.partialChapters.length>0&&(0,l.jsx)(f.A,{size:"small",title:"章节进度",extra:(0,l.jsxs)(d.A,{color:"blue",children:[tn.partialChapters.filter(e=>"completed"===e.status).length,"/",tn.partialChapters.length]}),children:(0,l.jsx)(Z,{gap:6,style:{width:"100%"},children:tn.partialChapters.map(e=>(0,l.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:8,fontSize:12},children:[(0,l.jsx)(J,{ellipsis:!0,style:{maxWidth:480},children:e.title}),(0,l.jsxs)(o.A,{size:6,children:[(0,l.jsx)(d.A,{color:"failed"===e.status?"error":"success",children:"failed"===e.status?"失败":"完成"}),(0,l.jsxs)(J,{type:"secondary",children:[e.chars.toLocaleString()," 字"]})]})]},e.id))})}),"workflow"===tm&&(null==tn||null==(e=tn.reviewMetadata)?void 0:e.diagnostics)&&(0,l.jsx)(Y,{type:"info",title:"后台自动优化",children:"策略:".concat(tn.reviewMetadata.diagnostics.strategy.mode,";LLM 调用 ").concat(tn.reviewMetadata.diagnostics.llm.calls," 次;噪声过滤 ").concat((null==(t=tn.reviewMetadata.diagnostics.evidence)?void 0:t.filteredNoise)||0," 条;质量门禁 阻断").concat((null==(r=tn.reviewMetadata.diagnostics.quality)?void 0:r.blockingCount)||0,"/重要").concat((null==(n=tn.reviewMetadata.diagnostics.quality)?void 0:n.importantCount)||0,"/轻微").concat((null==(R=tn.reviewMetadata.diagnostics.quality)?void 0:R.minorCount)||0,";自动限流调整 ").concat(tn.reviewMetadata.diagnostics.llm.limitAdjustments," 次。审查与诊断信息仅用于系统修复,不会写入正文或导出文件。")}),"workflow"===tm&&eN&&0===tr.length&&(0,l.jsxs)("div",{style:{textAlign:"center",padding:40},children:[(0,l.jsx)(v.A,{}),(0,l.jsx)("div",{style:{marginTop:12,color:"var(--colorTextSecondary)"},children:"正在准备生成…"})]}),eR&&(0,l.jsx)("div",{ref:ec,children:(0,l.jsx)(p.A,{items:[{key:"edit",label:_("documents.edit"),children:(0,l.jsxs)(Z,{gap:16,style:{width:"100%"},children:[(0,l.jsx)(Q,{rows:28,value:eB,disabled:eO,onSelect:e=>{var t,r,l;return eY({start:null!=(t=e.currentTarget.selectionStart)?t:0,end:null!=(l=null!=(r=e.currentTarget.selectionEnd)?r:e.currentTarget.selectionStart)?l:0})},onChange:e=>{var t,r,l;ez(e.target.value),eU(null),eQ(null),eY({start:null!=(t=e.target.selectionStart)?t:0,end:null!=(l=null!=(r=e.target.selectionEnd)?r:e.target.selectionStart)?l:0})}}),(0,l.jsx)(f.A,{size:"small",style:{borderRadius:12,background:"linear-gradient(135deg, var(--colorFillAlter), var(--colorBgContainer))"},children:(0,l.jsxs)(Z,{gap:16,style:{width:"100%"},children:[(0,l.jsxs)(o.A,{align:"start",style:{width:"100%",justifyContent:"space-between"},children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)(o.A,{size:6,children:[(0,l.jsx)(z.A,{style:{color:"var(--colorAccent)"}}),(0,l.jsx)(J,{strong:!0,children:"精准修改"}),(0,l.jsx)(d.A,{color:"blue",children:"AI 辅助"})]}),(0,l.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12},children:"针对当前编辑内容补充更具体的要求,AI 会保留文档结构并按你的提示细化修改。"})]}),(0,l.jsxs)(m.Ay,{size:"small",icon:(0,l.jsx)(H.A,{}),onClick:()=>e1(e=>!e),disabled:0===eZ.length,children:["历史版本 ",eZ.length>0?eZ.length:""]})]}),(0,l.jsx)(Y,{type:"info",title:"系统只负责识别修改范围,不改写你的提示词;选中文字后优先只改选区,没有选区时按光标所在小节/章节定位。"}),(0,l.jsx)(Q,{rows:4,value:eG,disabled:eO,onChange:e=>{eW(e.target.value),eU(null),eQ(null)},placeholder:"例如:写细一点;润色这段;第七章补充高处作业和临电安全措施;把安全检查频次改成每周一次。"}),(0,l.jsxs)(o.A,{wrap:!0,style:{width:"100%",justifyContent:"space-between"},children:[(0,l.jsx)(o.A,{wrap:!0,children:["写细一点","更专业","只润色选区","补充可执行措施"].map(e=>(0,l.jsx)(m.Ay,{size:"small",disabled:eO,onClick:()=>eW(t=>t?"".concat(t,";").concat(e):e),children:e},e))}),(0,l.jsx)(m.Ay,{type:"primary",icon:(0,l.jsx)(z.A,{}),loading:eO&&"planning"===eH,disabled:!eG.trim()||eO,onClick:()=>{tZ()},children:"识别修改范围"})]}),eK&&!eX&&(0,l.jsx)(f.A,{size:"small",style:{borderRadius:10,borderColor:"var(--colorAccent)"},children:(0,l.jsxs)(Z,{gap:8,style:{width:"100%"},children:[(0,l.jsxs)(o.A,{wrap:!0,children:[(0,l.jsx)(d.A,{color:"purple",children:eK.scope}),(0,l.jsx)(d.A,{color:"blue",children:eK.action}),(0,l.jsxs)(d.A,{color:eK.confidence>=.8?"green":"orange",children:["置信度 ",Math.round(100*eK.confidence),"%"]}),eK.targetTitle&&(0,l.jsx)(J,{strong:!0,children:eK.targetTitle})]}),(0,l.jsx)(J,{children:eK.summary}),(0,l.jsx)(J,{type:"secondary",style:{fontSize:12},children:"将按你的原始提示词执行,不添加额外编辑任务。"}),(0,l.jsxs)(o.A,{children:[(0,l.jsx)(m.Ay,{type:"primary",loading:eO&&"applying"===eH,onClick:()=>{t$(eK)},children:"执行并预览"}),(0,l.jsx)(m.Ay,{disabled:eO,onClick:()=>eU(null),children:"取消"})]})]})}),eX&&(0,l.jsx)(f.A,{size:"small",style:{borderRadius:10,borderColor:"var(--colorSuccess)"},children:(0,l.jsxs)(Z,{gap:8,style:{width:"100%"},children:[(0,l.jsxs)(o.A,{wrap:!0,children:[(0,l.jsx)(d.A,{color:"green",children:"修改预览"}),(0,l.jsx)(J,{children:eX.summary||eX.plan.summary}),(0,l.jsxs)(d.A,{children:[eX.changedChars&&eX.changedChars>0?"+".concat(eX.changedChars):eX.changedChars," 字符"]})]}),(0,l.jsxs)(j.A,{gutter:12,children:[(0,l.jsxs)(y.A,{span:12,children:[(0,l.jsx)(J,{strong:!0,children:"修改前"}),(0,l.jsx)("div",{style:{marginTop:6,maxHeight:180,overflow:"auto",padding:10,borderRadius:8,background:"var(--colorFillAlter)",whiteSpace:"pre-wrap",fontSize:12},children:eX.beforeSnippet||"无片段预览"})]}),(0,l.jsxs)(y.A,{span:12,children:[(0,l.jsx)(J,{strong:!0,children:"修改后"}),(0,l.jsx)("div",{style:{marginTop:6,maxHeight:180,overflow:"auto",padding:10,borderRadius:8,background:"var(--colorFillAlter)",whiteSpace:"pre-wrap",fontSize:12},children:eX.afterSnippet||"无片段预览"})]})]}),(0,l.jsxs)(o.A,{children:[(0,l.jsx)(m.Ay,{type:"primary",onClick:()=>{eX&&(tQ(eX.before,eX.prompt),ez(eX.markdown),tJ(!0),eo.success("已应用精准修改"))},children:"应用到文档"}),(0,l.jsx)(m.Ay,{onClick:()=>eQ(null),children:"返回计划"}),(0,l.jsx)(m.Ay,{danger:!0,onClick:()=>{eU(null),eQ(null)},children:"放弃"})]})]})}),e0&&(0,l.jsx)("div",{style:{borderTop:"1px solid var(--colorBorderSecondary)",paddingTop:12},children:(0,l.jsx)(w.A,{size:"small",dataSource:eZ,locale:{emptyText:"暂无历史版本"},renderItem:e=>(0,l.jsx)(w.A.Item,{actions:[(0,l.jsx)(m.Ay,{size:"small",disabled:eO,onClick:()=>{tQ(eB,"恢复前版本"),ez(e.content),tJ(!0),eo.success("已恢复历史版本")},children:"恢复"},"restore")],children:(0,l.jsx)(w.A.Item.Meta,{title:(0,l.jsxs)(o.A,{children:[(0,l.jsx)(J,{children:new Date(e.createdAt).toLocaleString()}),(0,l.jsx)(d.A,{children:e.prompt})]}),description:(0,l.jsx)(J,{type:"secondary",ellipsis:!0,children:e.content.replace(/\s+/gu," ").slice(0,120)})})})})})]})})]})},{key:"chapters-facts",label:"章节与事实",children:(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[eR.chapters.length>0&&(0,l.jsxs)("div",{children:[(0,l.jsxs)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["章节 (",eR.chapters.length,")"]}),(0,l.jsx)(w.A,{size:"small",dataSource:eR.chapters,renderItem:e=>(0,l.jsx)(w.A.Item,{children:(0,l.jsx)(w.A.Item.Meta,{title:e.title,description:"证据: ".concat(e.evidence.length," \xb7 缺失: ").concat(e.missingFacts.length)})})})]}),eR.structuredFacts.length>0&&(0,l.jsxs)("div",{children:[(0,l.jsxs)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["结构化事实 (",eR.structuredFacts.length,")"]}),(0,l.jsx)(A.A,{size:"small",column:1,bordered:!0,children:eR.structuredFacts.map((e,t)=>(0,l.jsxs)(A.A.Item,{label:e.key,children:[(0,l.jsx)("span",{children:e.value}),(0,l.jsx)(d.A,{style:{marginLeft:8},children:e.confidence.toFixed(2)}),(0,l.jsx)(J,{type:"secondary",style:{fontSize:11,marginLeft:8},children:e.sourceFile})]},t))})]})]})},{key:"sources-missing",label:"来源与缺失",children:(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["引用来源 (",eR.sources.length,")"]}),0===eR.sources.length?(0,l.jsx)(x.A,{description:"暂无"}):(0,l.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:eR.sources.map(e=>(0,l.jsxs)(d.A,{color:"blue",children:[e.filePath," (",e.count,")"]},e.filePath))})]}),(0,l.jsxs)("div",{children:[(0,l.jsxs)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["缺失项 (",eR.missingItems.length,")"]}),0===eR.missingItems.length?(0,l.jsx)(x.A,{description:"无缺失"}):(0,l.jsx)(w.A,{size:"small",dataSource:eR.missingItems,renderItem:e=>(0,l.jsx)(w.A.Item,{children:e})})]})]})},{key:"validation",label:"校验 (".concat(eR.validationIssues.length,")"),children:0===eR.validationIssues.length?(0,l.jsx)(x.A,{description:"校验通过"}):(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[eR.validationIssues.map(e=>(0,l.jsxs)("div",{style:{border:"1px solid var(--colorBorderSecondary)",borderRadius:8,padding:12},children:[(0,l.jsx)(d.A,{color:"error"===e.level?"error":"warning"===e.level?"warning":"blue",children:e.level}),(0,l.jsx)("div",{style:{marginTop:6,whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all",lineHeight:1.6},children:e.message}),e.suggestion&&(0,l.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))),eR.exportGate.checklist.length>0&&(0,l.jsxs)("div",{style:{marginTop:8},children:[(0,l.jsx)(J,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:"导出门禁"}),(0,l.jsx)(w.A,{size:"small",dataSource:eR.exportGate.checklist,renderItem:e=>(0,l.jsxs)(w.A.Item,{children:[(0,l.jsx)(J,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:e.label}),(0,l.jsx)(d.A,{color:e.passed?"success":"error",children:e.passed?"PASS":"FAIL"})]})})]})]})},{key:"stages",label:"执行阶段 (".concat(eR.executionStages.length,")"),children:(0,l.jsx)(w.A,{size:"small",dataSource:eR.executionStages,renderItem:e=>(0,l.jsxs)(w.A.Item,{children:[(0,l.jsx)(w.A.Item.Meta,{avatar:et[e.type]||(0,l.jsx)(F.A,{}),title:(0,l.jsx)(J,{title:e.roleId,style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:"".concat(ea[e.type]||e.type," \xb7 ").concat(e.roleName||tA(e.roleId))}),description:(0,l.jsx)(J,{type:"secondary",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-word"},children:e.message})}),(0,l.jsx)(d.A,{color:"success"===e.status?"success":"failed"===e.status?"error":"skipped"===e.status?"default":"warning",children:e.status})]})})}]})})]})}),(0,l.jsx)(g.A,{title:_("documents.templateEditor"),open:e2,onClose:()=>e6(!1),size:860,mask:{closable:!1},styles:{body:{padding:20,overflow:"auto"},header:{borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,l.jsxs)(o.A,{children:[(0,l.jsx)(m.Ay,{onClick:()=>e6(!1),children:_("common.cancel")}),(0,l.jsx)(m.Ay,{type:"primary",onClick:()=>{tD()},children:_("common.save")})]}),children:(0,l.jsxs)(c.A,{form:ei,layout:"vertical",requiredMark:"optional",children:[(0,l.jsxs)(j.A,{gutter:12,children:[(0,l.jsx)(c.A.Item,{name:"id",hidden:!0,children:(0,l.jsx)(a.A,{})}),(0,l.jsx)(y.A,{xs:24,md:8,children:(0,l.jsx)(c.A.Item,{name:"name",label:_("documents.templateName"),rules:[{required:!0}],children:(0,l.jsx)(a.A,{})})}),(0,l.jsx)(y.A,{xs:24,md:8,children:(0,l.jsx)(c.A.Item,{name:"category",label:_("documents.templateCategory"),children:(0,l.jsx)(a.A,{})})}),(0,l.jsx)(y.A,{xs:24,md:8,children:(0,l.jsx)(c.A.Item,{name:"outputTitle",label:_("documents.outputTitle"),children:(0,l.jsx)(a.A,{})})}),(0,l.jsx)(y.A,{xs:24,md:12,children:(0,l.jsx)(c.A.Item,{name:"description",label:_("documents.templateDescription"),children:(0,l.jsx)(a.A,{})})})]}),(0,l.jsx)(c.A.Item,{name:"projectRoleConfigId",label:_("documents.projectRoleConfig"),rules:[{required:!0,message:_("documents.projectRoleConfigRequired")}],children:(0,l.jsx)(b.A,{showSearch:!0,placeholder:_("documents.projectRoleConfigRequired"),options:ty})}),(0,l.jsxs)("div",{className:"mb-6",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)(J,{strong:!0,className:"text-base text-[var(--colorText)] block mb-1",children:"项目文件绑定"}),(0,l.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:"每个文件角色可直接从下拉树形列表中多选文件或文件夹。"})]}),(0,l.jsx)(d.A,{color:"blue",bordered:!1,children:"按文件角色多选"})]}),eA?(0,l.jsxs)("div",{className:"text-center py-8",children:[(0,l.jsx)(v.A,{}),(0,l.jsx)("div",{className:"mt-3 text-[var(--colorTextSecondary)] text-xs",children:"正在加载知识库文件…"})]}):0===e9.length?(0,l.jsx)(x.A,{image:x.A.PRESENTED_IMAGE_SIMPLE,description:e4?"当前项目角色未配置文件角色":"请先选择项目角色"}):0===ey.length?(0,l.jsx)(x.A,{image:x.A.PRESENTED_IMAGE_SIMPLE,description:"暂无知识库文件"}):(0,l.jsx)("div",{className:"flex flex-col gap-4",children:e9.map(e=>{let t=e.value,r=t?el(te[t]||[]):[];return(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("span",{className:"font-medium text-sm text-[var(--colorText)]",children:e.label}),(0,l.jsx)(m.Ay,{type:"link",size:"small",danger:!0,disabled:0===r.length,onClick:()=>t_(t,[]),className:"p-0 h-auto",children:"清空"})]}),(0,l.jsx)(c.A.Item,{name:["fileBindingGroups",t],hidden:!0,children:(0,l.jsx)(a.A,{})}),(0,l.jsx)(k.A,{treeData:ey,loadData:tM,value:r,onChange:e=>{t_(t,e.map(e=>String(e)))},treeCheckable:!0,showCheckedStrategy:k.A.SHOW_PARENT,placeholder:"点击这里搜索或选择文件...",style:{width:"100%"},listHeight:300,treeNodeFilterProp:"rawTitle",showSearch:!0,maxTagCount:"responsive",size:"large"})]},e.value)})})]})]})})]})}}},e=>{e.O(0,[433,155,576,713,787,195,455,497,636,593,792],()=>e(e.s=16403)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[332],{15766:(_,u,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return e(76933)}])},76933:(_,u,e)=>{"use strict";e.r(u),e.d(u,{default:()=>n.default});var n=e(27795)}},_=>{_.O(0,[795,636,593,792],()=>_(_.s=15766)),_N_E=_.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[332],{15766:(_,u,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return e(76933)}])},76933:(_,u,e)=>{"use strict";e.r(u),e.d(u,{default:()=>n.default});var n=e(27795)}},_=>{_.O(0,[880,795,636,593,792],()=>_(_.s=15766)),_N_E=_.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[309],{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"}},37690:(e,l,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/file-detail",function(){return t(48200)}])},45551:(e,l,t)=>{"use strict";function r(e){if(0===e)return"0 B";let l=Math.floor(Math.log(e)/Math.log(1024)),t=e/Math.pow(1024,l);return"".concat(t.toFixed(+(0!==l))," ").concat(["B","KB","MB","GB","TB"][l])}function n(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===l?"Never":"从未";let t=Math.floor(Math.floor((Date.now()-e)/1e3)/60),r=Math.floor(t/60),n=Math.floor(r/24);return n>30?new Date(e).toLocaleDateString(l):"en-US"===l?n>0?"".concat(n,"d ago"):r>0?"".concat(r,"h ago"):t>0?"".concat(t,"m ago"):"Just now":n>0?"".concat(n," 天前"):r>0?"".concat(r," 小时前"):t>0?"".concat(t," 分钟前"):"刚刚"}t.d(l,{Jm:()=>s,fw:()=>n,z3:()=>r});let a={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},o={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function s(e){var l;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(l=("en-US"===t?o:a)[e])?l:e}},48200:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>L});var r=t(65321),n=t(97109),a=t(1873),o=t.n(a),s=t(86109),i=t(35292),d=t(76506),c=t(33442),u=t(11702),m=t(9137),g=t(21289),h=t(68787),p=t(56985),x=t(54989),w=t(88762),f=t(85493),k=t(84253),y=t(85114),b=t(58569),v=t(7576),_=t(47210),j=t(6578),A=t(48321),C=t(45551),N=t(14569),S=t.n(N);let{Paragraph:P}=i.A;function I(e){if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}function z(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).slice(0,30):[]}function T(e,l){let t=l.trim()?[l.trim(),...l.split(/[\s,,。;;::、]+/u)].filter(Boolean).sort((e,l)=>l.length-e.length):[];if(0===t.length)return e;let n=RegExp("(".concat(t.map(e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")).join("|"),")"),"giu");return e.split(n).map((e,l)=>t.some(l=>l.toLowerCase()===e.toLowerCase())?(0,r.jsx)("mark",{children:e},l):e)}function F(e,l,t){return null==l||""===l||Array.isArray(l)&&0===l.length?null:(0,r.jsx)(d.A.Item,{label:e,children:Array.isArray(l)?(0,r.jsx)(c.A,{wrap:!0,children:l.map(e=>(0,r.jsx)(u.A,{className:"cursor-pointer",onClick:()=>null==t?void 0:t(String(e)),children:String(e)},String(e)))}):String(l)})}function R(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"value";return e.map((e,t)=>({key:"".concat(l,"-").concat(t),name:e}))}function L(){var e,l,t,a,i;let N=(0,A.Vr)(),L=(0,s.useRouter)(),M="string"==typeof L.query.relativePath?L.query.relativePath:"",[E,D]=(0,n.useState)(),[B,O]=(0,n.useState)(!1),[J,K]=(0,n.useState)(""),[H,V]=(0,n.useState)(!1),[U,G]=(0,n.useState)(""),[W,X]=(0,n.useState)([]);(0,n.useEffect)(()=>{M&&(O(!0),K(""),(0,j.xC)(M).then(D).catch(e=>{D(void 0),K(e instanceof Error?e.message:N("knowledge.fileDetailLoadFailed"))}).finally(()=>O(!1)))},[M,N]);let q=(0,n.useMemo)(()=>(function(e){let l=I(null==e?void 0:e.file.metadataJson);return"object"==typeof l.extraction&&l.extraction?l.extraction:l})(E),[E]),$=z(q.layerNames);(0,n.useEffect)(()=>{X($)},[null==E?void 0:E.file.relativePath,$.join("|")]);let Z=U.trim().toLowerCase(),Q=(0,n.useMemo)(()=>{var e;return E&&Z?E.chunks.filter(e=>{let l=I(e.metadataJson);return[e.content,e.sectionTitle,l.rowRange,l.chunkKind,l.parentId,JSON.stringify(l)].some(e=>String(null!=e?e:"").toLowerCase().includes(Z))}):null!=(e=null==E?void 0:E.chunks)?e:[]},[E,Z]),Y=(0,n.useMemo)(()=>{var e;return E&&Z?E.parents.filter(e=>[e.content,e.sectionTitle,e.parentId,e.metadataJson].some(e=>String(null!=e?e:"").toLowerCase().includes(Z))):null!=(e=null==E?void 0:E.parents)?e:[]},[E,Z]),ee=async()=>{if(M){V(!0);try{let e=await (0,j.HC)(M);e.detail&&D(e.detail),m.Ay.success(N("knowledge.fileReindexed"))}finally{V(!1)}}},el=async e=>{e&&(await navigator.clipboard.writeText(e),m.Ay.success(N("knowledge.copied")))},et=async e=>{M&&(await (0,j.tn)(M,e),m.Ay.success("file"===e?N("knowledge.openFileRequested"):N("knowledge.openDirectoryRequested")))},er=(0,n.useMemo)(()=>{var e,l,t,n,a,s;let i=[],m=z(q.sheetNames),w=z(q.columnNames),f=z(q.layerNames),k=z(q.blockNames),y=z(q.entityTypes),b=z(q.productNames),v=z(q.materialNames),_=z(q.entityNames),j=z(q.dataPaths),A=m.length>0||w.length>0||null!=q.rowCount||null!=q.columnCount||null!=q.formulaCount||null!=q.mergeCount,C=R(w,"column"),T=(null!=(e=null==E?void 0:E.chunks)?e:[]).map(e=>I(e.metadataJson).rowRange).filter(e=>"string"==typeof e).map((e,l)=>({key:"row-".concat(l),name:e})),L=(null!=(l=null==E?void 0:E.chunks)?l:[]).flatMap(e=>e.content.split(/\r?\n/u)).map(e=>e.trim()).filter(e=>e.includes("|")).slice(0,80).map((e,l)=>({key:"grid-".concat(l),cells:e.split("|").map(e=>e.trim()).filter(Boolean)}));(A||C.length>0||T.length>0||L.length>0)&&i.push({key:"table",label:N("knowledge.table"),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[A&&(0,r.jsxs)(d.A,{size:"small",column:2,bordered:!0,children:[F(N("knowledge.sheet"),m,G),F(N("knowledge.header"),w,G),F(N("knowledge.rows"),q.rowCount),F(N("knowledge.columns"),q.columnCount),F(N("knowledge.formulaCount"),q.formulaCount),F(N("knowledge.mergeCount"),q.mergeCount)]}),C.length>0&&(0,r.jsx)(g.A,{size:"small",pagination:!1,rowKey:"key",dataSource:C,columns:[{title:N("knowledge.columnName"),dataIndex:"name",render:e=>(0,r.jsx)(u.A,{className:"cursor-pointer m-0 border-0 bg-[var(--colorFillSecondary)] hover:bg-[var(--colorFillAlter)]",onClick:()=>G(String(e)),children:String(e)})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"}),T.length>0&&(0,r.jsx)(g.A,{size:"small",pagination:!1,rowKey:"key",dataSource:T,columns:[{title:N("knowledge.rowRange"),dataIndex:"name",render:e=>(0,r.jsxs)(u.A,{color:"gold",className:"cursor-pointer m-0 border-0",onClick:()=>G(String(e)),children:[N("knowledge.rowPrefix")," ",String(e)]})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"}),L.length>0&&(0,r.jsx)(g.A,{size:"small",rowKey:"key",dataSource:L,pagination:{pageSize:10},columns:[{title:N("knowledge.tableGridPreview"),dataIndex:"cells",render:e=>(0,r.jsx)(c.A,{wrap:!0,children:e.map((e,l)=>(0,r.jsx)(u.A,{className:"m-0 border-0 bg-[var(--colorFillSecondary)]",children:e},"".concat(e,"-").concat(l)))})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"})]})});let M=f.length>0||k.length>0||y.length>0||b.length>0||v.length>0||_.length>0,D=[...R(f,"layer").map(e=>({...e,type:N("knowledge.layer")})),...R(y,"entity").map(e=>({...e,type:N("knowledge.entityType")})),...R(k,"block").map(e=>({...e,type:N("knowledge.blockSymbol")}))];(M||f.length>0||D.length>0)&&i.push({key:"drawing",label:N("knowledge.drawing"),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[M&&(0,r.jsxs)(d.A,{size:"small",column:2,bordered:!0,children:[F(N("knowledge.layer"),f,G),F(N("knowledge.blockSymbol"),k,G),F(N("knowledge.entityType"),y,G),F(N("knowledge.productPart"),b,G),F(N("knowledge.material"),v,G),F(N("knowledge.entityName"),_,G)]}),f.length>0&&(0,r.jsxs)(h.A,{size:"small",title:N("knowledge.layerTogglePreview"),className:"rounded-xl border-[var(--borderColor)]",children:[(0,r.jsx)(p.A.Group,{value:W,options:f.map(e=>({label:e,value:e})),onChange:e=>X(e.map(String))}),(0,r.jsx)("div",{className:S().drawingPreview,children:W.map(e=>(0,r.jsx)(u.A,{color:"blue",children:e},e))})]}),D.length>0&&(0,r.jsx)(g.A,{size:"small",pagination:!1,rowKey:"key",dataSource:D,columns:[{title:N("knowledge.type"),dataIndex:"type",width:120},{title:N("knowledge.name"),dataIndex:"name",render:e=>(0,r.jsx)(u.A,{className:"cursor-pointer",onClick:()=>G(String(e)),children:String(e)})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"})]})});let B=(null!=(t=null==E?void 0:E.chunks)?t:[]).flatMap(e=>e.content.split(/\r?\n/u)).map(e=>e.trim()).filter(e=>/^[\w.[\]-]+\s*[:=]/u.test(e)).slice(0,200).map((e,l)=>{var t,r,n,a;let o=/^([^:=]+)\s*[:=]\s*(.*)$/u.exec(e);return{key:"data-".concat(l),path:null!=(n=null==o||null==(t=o[1])?void 0:t.trim())?n:e,value:null!=(a=null==o||null==(r=o[2])?void 0:r.trim())?a:""}});(j.length>0||B.length>0)&&i.push({key:"data",label:N("knowledge.dataPath"),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[j.length>0&&(0,r.jsx)("div",{className:"bg-[var(--colorFillAlter)] border border-[var(--colorBorderSecondary)] rounded-xl p-3",children:(0,r.jsx)(x.A,{defaultExpandAll:!0,treeData:function(e){let l=new Map;for(let t of e){let e=l;for(let l of t.replace(/\[(\d+)\]/gu,".$1").split(".").filter(Boolean))e.has(l)||e.set(l,new Map),e=e.get(l)}let t=function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return[...e.entries()].map(e=>{let[r,n]=e;return{title:r,key:l?"".concat(l,".").concat(r):r,children:t(n,l?"".concat(l,".").concat(r):r)}})};return t(l)}(j),onSelect:e=>{var l;return G(String(null!=(l=e[0])?l:""))},className:"bg-transparent"})}),B.length>0&&(0,r.jsx)(g.A,{size:"small",rowKey:"key",dataSource:B,pagination:{pageSize:20},columns:[{title:N("knowledge.path"),dataIndex:"path",width:260,render:e=>(0,r.jsx)(u.A,{className:"cursor-pointer",onClick:()=>G(String(e)),children:String(e)})},{title:N("knowledge.value"),dataIndex:"value",render:e=>(0,r.jsx)("span",{className:"break-all",children:String(e)})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"})]})});let O=[q.ocrRecommended,q.ocrReason,q.ocrProvider,q.ocrLanguages,q.ocrTextLength,q.pdfPageOcrSupported,q.ocrPageCount,q.pdfOcrPageLimit,q.pdfRenderer,q.pdfPageCount,q.textPages,q.ocrAugmented,q.ocrPages,q.failedPages,q.imagePreprocessor].some(e=>null!=e),J=(null!=(n=null==E?void 0:E.chunks)?n:[]).map(e=>e.content).join("\n\n").split(/PDF OCR 第\s*(\d+)\s*页[::]/u).slice(1).reduce((e,l,t,r)=>{var n,a,o;return t%2==0&&e.push({key:"page-".concat(l),page:l,text:null!=(o=null==(a=r[t+1])||null==(n=a.split(/PDF OCR 第\s*\d+\s*页[::]/u)[0])?void 0:n.trim())?o:""}),e},[]),K=(null==E?void 0:E.file.format)==="pdf";return(O||K||J.length>0)&&i.push({key:"ocr",label:N("knowledge.ocrPdf"),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[O&&(0,r.jsxs)(d.A,{size:"small",column:2,bordered:!0,children:[F(N("knowledge.ocrRecommended"),q.ocrRecommended),F(N("knowledge.ocrReason"),q.ocrReason),F(N("knowledge.ocrProvider"),q.ocrProvider),F(N("knowledge.ocrLanguages"),q.ocrLanguages),F(N("knowledge.ocrTextLength"),q.ocrTextLength),F(N("knowledge.pdfPageCount"),q.pdfPageCount),F(N("knowledge.pdfTextPages"),q.textPages),F(N("knowledge.pdfOcrAugmented"),q.ocrAugmented),F(N("knowledge.pdfOcrPages"),Array.isArray(q.ocrPages)?q.ocrPages.join(", "):q.ocrPages),F(N("knowledge.pdfFailedPages"),Array.isArray(q.failedPages)?q.failedPages.map(e=>JSON.stringify(e)).join("; "):q.failedPages),F(N("knowledge.pdfPageOcrSupported"),q.pdfPageOcrSupported),F(N("knowledge.pdfOcrPageCount"),q.ocrPageCount),F(N("knowledge.pdfOcrPageLimit"),q.pdfOcrPageLimit),F(N("knowledge.pdfRenderer"),q.pdfRenderer),F(N("knowledge.imagePreprocessor"),q.imagePreprocessor)]}),K&&(0,r.jsx)("div",{className:S().pdfPreviewStrip,children:Array.from({length:Math.min(Number(null!=(s=null!=(a=q.pdfPageCount)?a:q.ocrPageCount)?s:1)||1,6)},(e,l)=>(0,r.jsx)(o(),{width:220,height:320,src:"/api/kb/files/preview-pdf-page?relativePath=".concat(encodeURIComponent(E.file.relativePath),"&page=").concat(l+1),alt:"PDF ".concat(N("knowledge.pageNumber")," ").concat(l+1),unoptimized:!0,className:"border border-[var(--borderColor)] rounded object-cover"},l))}),J.length>0&&(0,r.jsx)(g.A,{size:"small",rowKey:"key",dataSource:J,pagination:{pageSize:10},columns:[{title:N("knowledge.pageNumber"),dataIndex:"page",width:90},{title:N("knowledge.ocrText"),dataIndex:"text",render:e=>(0,r.jsx)(P,{ellipsis:{rows:4,expandable:!0,symbol:N("knowledge.openExpand")},children:String(e)})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"})]})}),i},[q,E,W]),en=[{title:N("knowledge.index"),key:"index",width:70,render:(e,l,t)=>t+1},{title:N("knowledge.chunkIndex"),dataIndex:"chunkIndex",width:90,render:e=>String(e)},{title:N("knowledge.chunkType"),width:110,render:(e,l)=>{var t;return(0,r.jsx)(u.A,{children:String(null!=(t=I(l.metadataJson).chunkKind)?t:l.category)})}},{title:N("knowledge.sectionOrRange"),width:220,render:(e,l)=>{let t=I(l.metadataJson),n="string"==typeof t.rowRange?t.rowRange:void 0;return(0,r.jsxs)(c.A,{wrap:!0,children:[l.sectionTitle?(0,r.jsx)(u.A,{color:"cyan",children:l.sectionTitle}):null,n?(0,r.jsxs)(u.A,{color:"gold",children:[N("knowledge.rowPrefix")," ",n]}):null]})}},{title:N("knowledge.tokens"),dataIndex:"tokenCount",width:90},{title:N("knowledge.chunkContent"),render:(e,l)=>(0,r.jsx)(P,{ellipsis:{rows:3,expandable:!0,symbol:N("knowledge.openExpand")},className:S().searchContent,children:T(l.content,U)})}],ea=[{title:N("knowledge.index"),key:"index",width:70,render:(e,l,t)=>t+1},{title:N("knowledge.parentChunkId"),dataIndex:"parentId",width:260,render:e=>(0,r.jsx)("span",{className:"break-all",children:e})},{title:N("knowledge.chunkCount"),dataIndex:"chunkCount",width:90},{title:N("knowledge.section"),dataIndex:"sectionTitle",width:220},{title:N("knowledge.chunkContent"),render:(e,l)=>(0,r.jsx)(P,{ellipsis:{rows:3,expandable:!0,symbol:N("knowledge.openExpand")},className:S().searchContent,children:T(l.content,U)})}];return B?(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsx)(w.A,{active:!0,paragraph:{rows:1}}),(0,r.jsx)(h.A,{size:"small",children:(0,r.jsx)(w.A,{active:!0,paragraph:{rows:6}})}),(0,r.jsx)(h.A,{size:"small",children:(0,r.jsx)(w.A,{active:!0,paragraph:{rows:4}})})]}):J?(0,r.jsx)(f.A,{type:"error",showIcon:!0,message:N("knowledge.fileDetailLoadFailed"),description:J}):E?(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsx)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl overflow-hidden border border-[var(--borderColor)] p-6 mb-6",children:(0,r.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-6",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(y.Ay,{icon:(0,r.jsx)(_.A,{}),href:"/knowledge/files",type:"link",className:"p-0 mr-4 text-[var(--colorTextSecondary)] hover:text-[var(--colorText)] flex items-center h-auto",children:N("knowledge.backToFileList")}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-bold text-[var(--colorText)] mb-1 flex items-center gap-2",children:N("knowledge.fileDetailTitle")}),(0,r.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)] m-0",children:N("knowledge.fileDetailDesc")})]})]}),(0,r.jsxs)(c.A,{wrap:!0,className:"shrink-0",children:[(0,r.jsx)(y.Ay,{size:"small",onClick:()=>{el(null==E?void 0:E.absolutePath)},children:N("knowledge.copySourcePath")}),(0,r.jsx)(y.Ay,{size:"small",onClick:()=>{el(null==E?void 0:E.directory)},children:N("knowledge.copyDirectory")}),(0,r.jsx)(y.Ay,{size:"small",onClick:()=>{et("file")},children:N("assets.openFile")}),(0,r.jsx)(y.Ay,{size:"small",onClick:()=>{et("directory")},children:N("assets.openDirectory")}),"pdf"===E.file.format?(0,r.jsx)(y.Ay,{size:"small",loading:H,onClick:()=>{ee()},children:N("knowledge.reOcr")}):null,(0,r.jsx)(y.Ay,{size:"small",type:"primary",loading:H,onClick:()=>{ee()},children:N("knowledge.reindexFile")})]})]})}),(0,r.jsx)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsx)("span",{className:"font-semibold",children:N("knowledge.basicInfo")}),children:(0,r.jsxs)(d.A,{size:"small",column:{xxl:3,xl:2,lg:2,md:1,sm:1,xs:1},bordered:!0,labelStyle:{width:"120px",background:"var(--colorFillAlter)",color:"var(--colorTextSecondary)"},children:[(0,r.jsx)(d.A.Item,{label:N("knowledge.path"),span:3,children:(0,r.jsx)("span",{className:"break-all",children:E.file.relativePath})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.originalFile"),span:3,children:(0,r.jsx)("span",{className:"break-all",children:null!=(e=E.absolutePath)?e:"-"})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.directory"),span:3,children:(0,r.jsx)("span",{className:"break-all",children:null!=(l=E.directory)?l:"-"})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.fileCategory"),children:(0,r.jsxs)(c.A,{size:4,children:[(0,r.jsx)(u.A,{className:"m-0 border-0 bg-[var(--colorFillSecondary)]",children:(0,C.Jm)(E.file.category)})," ",(0,r.jsx)(u.A,{className:"m-0 border-0 bg-[var(--colorFillSecondary)]",children:E.file.format})]})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.fileSize"),children:(0,C.z3)(E.file.fileSize)}),(0,r.jsx)(d.A.Item,{label:N("knowledge.chunkCount"),children:E.file.chunkCount}),(0,r.jsx)(d.A.Item,{label:N("knowledge.status"),children:(0,r.jsx)(u.A,{color:"completed"===E.file.status?"success":"failed"===E.file.status?"error":"processing",className:"m-0",children:E.file.status})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.extractionMode"),children:String(null!=(t=q.extractionMode)?t:"-")}),(0,r.jsx)(d.A.Item,{label:N("knowledge.contentCoverage"),children:String(null!=(a=q.contentCoverage)?a:"-")}),(0,r.jsx)(d.A.Item,{label:N("knowledge.textLength"),children:String(null!=(i=q.textLength)?i:"-")})]})}),er.length>0&&(0,r.jsx)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsx)("span",{className:"font-semibold",children:N("knowledge.structuredInfo")}),children:(0,r.jsx)(b.A,{items:er,className:"documents-tabs"})}),(0,r.jsx)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsx)("span",{className:"font-semibold",children:N("knowledge.detailFilter")}),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[(0,r.jsx)(v.A,{allowClear:!0,size:"large",value:U,onChange:e=>G(e.target.value),placeholder:N("knowledge.detailFilterPlaceholder"),className:"rounded-xl bg-[var(--colorBgHover)] border-[var(--borderColor)] focus:bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgContainer)] w-full"}),U?(0,r.jsxs)("div",{className:"flex flex-wrap gap-2 items-center bg-[var(--colorFillAlter)] p-3 rounded-xl border border-[var(--colorBorderSecondary)]",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-[var(--colorTextSecondary)] mr-2",children:"过滤结果:"}),(0,r.jsxs)(u.A,{color:"blue",className:"m-0 border-0",children:[N("knowledge.parentMatches")," ",Y.length]}),(0,r.jsxs)(u.A,{color:"green",className:"m-0 border-0",children:[N("knowledge.childMatches")," ",Q.length]}),(0,r.jsx)("div",{className:"w-[1px] h-3 bg-[var(--colorBorderSecondary)] mx-1"}),(0,r.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:[N("knowledge.filterTerm")," ",(0,r.jsx)("strong",{className:"text-[var(--colorText)]",children:U})]})]}):null]})}),(0,r.jsxs)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsxs)("span",{className:"font-semibold",children:[N("knowledge.parentChunks")," ",(0,r.jsxs)(u.A,{className:"ml-2 border-0 bg-[var(--colorFillSecondary)] text-xs font-normal",children:[Y.length," / ",E.parents.length]})]}),children:[(0,r.jsx)(f.A,{type:"info",showIcon:!0,message:N("knowledge.parentChunkHint"),className:"mb-4 rounded-xl border-blue-200 bg-blue-50/50"}),(0,r.jsx)(g.A,{rowKey:"id",columns:ea,dataSource:Y,pagination:{pageSize:10},size:"small",className:"custom-table"})]}),(0,r.jsx)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsxs)("span",{className:"font-semibold",children:[N("knowledge.childChunks")," ",(0,r.jsxs)(u.A,{className:"ml-2 border-0 bg-[var(--colorFillSecondary)] text-xs font-normal",children:[Q.length," / ",E.chunks.length]})]}),children:(0,r.jsx)(g.A,{rowKey:"id",columns:en,dataSource:Q,pagination:{pageSize:20},size:"small",className:"custom-table"})})]}):(0,r.jsx)(k.A,{description:N("knowledge.selectFile")})}}},e=>{e.O(0,[433,576,985,713,787,289,506,850,636,593,792],()=>e(e.s=37690)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[309],{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"}},37690:(e,l,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/file-detail",function(){return t(48200)}])},45551:(e,l,t)=>{"use strict";function r(e){if(0===e)return"0 B";let l=Math.floor(Math.log(e)/Math.log(1024)),t=e/Math.pow(1024,l);return"".concat(t.toFixed(+(0!==l))," ").concat(["B","KB","MB","GB","TB"][l])}function n(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===l?"Never":"从未";let t=Math.floor(Math.floor((Date.now()-e)/1e3)/60),r=Math.floor(t/60),n=Math.floor(r/24);return n>30?new Date(e).toLocaleDateString(l):"en-US"===l?n>0?"".concat(n,"d ago"):r>0?"".concat(r,"h ago"):t>0?"".concat(t,"m ago"):"Just now":n>0?"".concat(n," 天前"):r>0?"".concat(r," 小时前"):t>0?"".concat(t," 分钟前"):"刚刚"}t.d(l,{Jm:()=>s,fw:()=>n,z3:()=>r});let a={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},o={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function s(e){var l;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(l=("en-US"===t?o:a)[e])?l:e}},48200:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>L});var r=t(65321),n=t(97109),a=t(1873),o=t.n(a),s=t(86109),i=t(35292),d=t(76506),c=t(33442),u=t(11702),m=t(9137),g=t(21289),h=t(68787),p=t(56985),x=t(54989),w=t(88762),f=t(85493),k=t(84253),y=t(85114),b=t(58569),v=t(7576),_=t(47210),j=t(6578),A=t(48321),C=t(45551),N=t(14569),S=t.n(N);let{Paragraph:P}=i.A;function I(e){if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}function z(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).slice(0,30):[]}function T(e,l){let t=l.trim()?[l.trim(),...l.split(/[\s,,。;;::、]+/u)].filter(Boolean).sort((e,l)=>l.length-e.length):[];if(0===t.length)return e;let n=RegExp("(".concat(t.map(e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")).join("|"),")"),"giu");return e.split(n).map((e,l)=>t.some(l=>l.toLowerCase()===e.toLowerCase())?(0,r.jsx)("mark",{children:e},l):e)}function F(e,l,t){return null==l||""===l||Array.isArray(l)&&0===l.length?null:(0,r.jsx)(d.A.Item,{label:e,children:Array.isArray(l)?(0,r.jsx)(c.A,{wrap:!0,children:l.map(e=>(0,r.jsx)(u.A,{className:"cursor-pointer",onClick:()=>null==t?void 0:t(String(e)),children:String(e)},String(e)))}):String(l)})}function R(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"value";return e.map((e,t)=>({key:"".concat(l,"-").concat(t),name:e}))}function L(){var e,l,t,a,i;let N=(0,A.Vr)(),L=(0,s.useRouter)(),M="string"==typeof L.query.relativePath?L.query.relativePath:"",[E,D]=(0,n.useState)(),[B,O]=(0,n.useState)(!1),[J,K]=(0,n.useState)(""),[H,V]=(0,n.useState)(!1),[U,G]=(0,n.useState)(""),[W,X]=(0,n.useState)([]);(0,n.useEffect)(()=>{M&&(O(!0),K(""),(0,j.xC)(M).then(D).catch(e=>{D(void 0),K(e instanceof Error?e.message:N("knowledge.fileDetailLoadFailed"))}).finally(()=>O(!1)))},[M,N]);let q=(0,n.useMemo)(()=>(function(e){let l=I(null==e?void 0:e.file.metadataJson);return"object"==typeof l.extraction&&l.extraction?l.extraction:l})(E),[E]),$=z(q.layerNames);(0,n.useEffect)(()=>{X($)},[null==E?void 0:E.file.relativePath,$.join("|")]);let Z=U.trim().toLowerCase(),Q=(0,n.useMemo)(()=>{var e;return E&&Z?E.chunks.filter(e=>{let l=I(e.metadataJson);return[e.content,e.sectionTitle,l.rowRange,l.chunkKind,l.parentId,JSON.stringify(l)].some(e=>String(null!=e?e:"").toLowerCase().includes(Z))}):null!=(e=null==E?void 0:E.chunks)?e:[]},[E,Z]),Y=(0,n.useMemo)(()=>{var e;return E&&Z?E.parents.filter(e=>[e.content,e.sectionTitle,e.parentId,e.metadataJson].some(e=>String(null!=e?e:"").toLowerCase().includes(Z))):null!=(e=null==E?void 0:E.parents)?e:[]},[E,Z]),ee=async()=>{if(M){V(!0);try{let e=await (0,j.HC)(M);e.detail&&D(e.detail),m.Ay.success(N("knowledge.fileReindexed"))}finally{V(!1)}}},el=async e=>{e&&(await navigator.clipboard.writeText(e),m.Ay.success(N("knowledge.copied")))},et=async e=>{M&&(await (0,j.tn)(M,e),m.Ay.success("file"===e?N("knowledge.openFileRequested"):N("knowledge.openDirectoryRequested")))},er=(0,n.useMemo)(()=>{var e,l,t,n,a,s;let i=[],m=z(q.sheetNames),w=z(q.columnNames),f=z(q.layerNames),k=z(q.blockNames),y=z(q.entityTypes),b=z(q.productNames),v=z(q.materialNames),_=z(q.entityNames),j=z(q.dataPaths),A=m.length>0||w.length>0||null!=q.rowCount||null!=q.columnCount||null!=q.formulaCount||null!=q.mergeCount,C=R(w,"column"),T=(null!=(e=null==E?void 0:E.chunks)?e:[]).map(e=>I(e.metadataJson).rowRange).filter(e=>"string"==typeof e).map((e,l)=>({key:"row-".concat(l),name:e})),L=(null!=(l=null==E?void 0:E.chunks)?l:[]).flatMap(e=>e.content.split(/\r?\n/u)).map(e=>e.trim()).filter(e=>e.includes("|")).slice(0,80).map((e,l)=>({key:"grid-".concat(l),cells:e.split("|").map(e=>e.trim()).filter(Boolean)}));(A||C.length>0||T.length>0||L.length>0)&&i.push({key:"table",label:N("knowledge.table"),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[A&&(0,r.jsxs)(d.A,{size:"small",column:2,bordered:!0,children:[F(N("knowledge.sheet"),m,G),F(N("knowledge.header"),w,G),F(N("knowledge.rows"),q.rowCount),F(N("knowledge.columns"),q.columnCount),F(N("knowledge.formulaCount"),q.formulaCount),F(N("knowledge.mergeCount"),q.mergeCount)]}),C.length>0&&(0,r.jsx)(g.A,{size:"small",pagination:!1,rowKey:"key",dataSource:C,columns:[{title:N("knowledge.columnName"),dataIndex:"name",render:e=>(0,r.jsx)(u.A,{className:"cursor-pointer m-0 border-0 bg-[var(--colorFillSecondary)] hover:bg-[var(--colorFillAlter)]",onClick:()=>G(String(e)),children:String(e)})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"}),T.length>0&&(0,r.jsx)(g.A,{size:"small",pagination:!1,rowKey:"key",dataSource:T,columns:[{title:N("knowledge.rowRange"),dataIndex:"name",render:e=>(0,r.jsxs)(u.A,{color:"gold",className:"cursor-pointer m-0 border-0",onClick:()=>G(String(e)),children:[N("knowledge.rowPrefix")," ",String(e)]})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"}),L.length>0&&(0,r.jsx)(g.A,{size:"small",rowKey:"key",dataSource:L,pagination:{pageSize:10},columns:[{title:N("knowledge.tableGridPreview"),dataIndex:"cells",render:e=>(0,r.jsx)(c.A,{wrap:!0,children:e.map((e,l)=>(0,r.jsx)(u.A,{className:"m-0 border-0 bg-[var(--colorFillSecondary)]",children:e},"".concat(e,"-").concat(l)))})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"})]})});let M=f.length>0||k.length>0||y.length>0||b.length>0||v.length>0||_.length>0,D=[...R(f,"layer").map(e=>({...e,type:N("knowledge.layer")})),...R(y,"entity").map(e=>({...e,type:N("knowledge.entityType")})),...R(k,"block").map(e=>({...e,type:N("knowledge.blockSymbol")}))];(M||f.length>0||D.length>0)&&i.push({key:"drawing",label:N("knowledge.drawing"),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[M&&(0,r.jsxs)(d.A,{size:"small",column:2,bordered:!0,children:[F(N("knowledge.layer"),f,G),F(N("knowledge.blockSymbol"),k,G),F(N("knowledge.entityType"),y,G),F(N("knowledge.productPart"),b,G),F(N("knowledge.material"),v,G),F(N("knowledge.entityName"),_,G)]}),f.length>0&&(0,r.jsxs)(h.A,{size:"small",title:N("knowledge.layerTogglePreview"),className:"rounded-xl border-[var(--borderColor)]",children:[(0,r.jsx)(p.A.Group,{value:W,options:f.map(e=>({label:e,value:e})),onChange:e=>X(e.map(String))}),(0,r.jsx)("div",{className:S().drawingPreview,children:W.map(e=>(0,r.jsx)(u.A,{color:"blue",children:e},e))})]}),D.length>0&&(0,r.jsx)(g.A,{size:"small",pagination:!1,rowKey:"key",dataSource:D,columns:[{title:N("knowledge.type"),dataIndex:"type",width:120},{title:N("knowledge.name"),dataIndex:"name",render:e=>(0,r.jsx)(u.A,{className:"cursor-pointer",onClick:()=>G(String(e)),children:String(e)})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"})]})});let B=(null!=(t=null==E?void 0:E.chunks)?t:[]).flatMap(e=>e.content.split(/\r?\n/u)).map(e=>e.trim()).filter(e=>/^[\w.[\]-]+\s*[:=]/u.test(e)).slice(0,200).map((e,l)=>{var t,r,n,a;let o=/^([^:=]+)\s*[:=]\s*(.*)$/u.exec(e);return{key:"data-".concat(l),path:null!=(n=null==o||null==(t=o[1])?void 0:t.trim())?n:e,value:null!=(a=null==o||null==(r=o[2])?void 0:r.trim())?a:""}});(j.length>0||B.length>0)&&i.push({key:"data",label:N("knowledge.dataPath"),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[j.length>0&&(0,r.jsx)("div",{className:"bg-[var(--colorFillAlter)] border border-[var(--colorBorderSecondary)] rounded-xl p-3",children:(0,r.jsx)(x.A,{defaultExpandAll:!0,treeData:function(e){let l=new Map;for(let t of e){let e=l;for(let l of t.replace(/\[(\d+)\]/gu,".$1").split(".").filter(Boolean))e.has(l)||e.set(l,new Map),e=e.get(l)}let t=function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return[...e.entries()].map(e=>{let[r,n]=e;return{title:r,key:l?"".concat(l,".").concat(r):r,children:t(n,l?"".concat(l,".").concat(r):r)}})};return t(l)}(j),onSelect:e=>{var l;return G(String(null!=(l=e[0])?l:""))},className:"bg-transparent"})}),B.length>0&&(0,r.jsx)(g.A,{size:"small",rowKey:"key",dataSource:B,pagination:{pageSize:20},columns:[{title:N("knowledge.path"),dataIndex:"path",width:260,render:e=>(0,r.jsx)(u.A,{className:"cursor-pointer",onClick:()=>G(String(e)),children:String(e)})},{title:N("knowledge.value"),dataIndex:"value",render:e=>(0,r.jsx)("span",{className:"break-all",children:String(e)})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"})]})});let O=[q.ocrRecommended,q.ocrReason,q.ocrProvider,q.ocrLanguages,q.ocrTextLength,q.pdfPageOcrSupported,q.ocrPageCount,q.pdfOcrPageLimit,q.pdfRenderer,q.pdfPageCount,q.textPages,q.ocrAugmented,q.ocrPages,q.failedPages,q.imagePreprocessor].some(e=>null!=e),J=(null!=(n=null==E?void 0:E.chunks)?n:[]).map(e=>e.content).join("\n\n").split(/PDF OCR 第\s*(\d+)\s*页[::]/u).slice(1).reduce((e,l,t,r)=>{var n,a,o;return t%2==0&&e.push({key:"page-".concat(l),page:l,text:null!=(o=null==(a=r[t+1])||null==(n=a.split(/PDF OCR 第\s*\d+\s*页[::]/u)[0])?void 0:n.trim())?o:""}),e},[]),K=(null==E?void 0:E.file.format)==="pdf";return(O||K||J.length>0)&&i.push({key:"ocr",label:N("knowledge.ocrPdf"),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[O&&(0,r.jsxs)(d.A,{size:"small",column:2,bordered:!0,children:[F(N("knowledge.ocrRecommended"),q.ocrRecommended),F(N("knowledge.ocrReason"),q.ocrReason),F(N("knowledge.ocrProvider"),q.ocrProvider),F(N("knowledge.ocrLanguages"),q.ocrLanguages),F(N("knowledge.ocrTextLength"),q.ocrTextLength),F(N("knowledge.pdfPageCount"),q.pdfPageCount),F(N("knowledge.pdfTextPages"),q.textPages),F(N("knowledge.pdfOcrAugmented"),q.ocrAugmented),F(N("knowledge.pdfOcrPages"),Array.isArray(q.ocrPages)?q.ocrPages.join(", "):q.ocrPages),F(N("knowledge.pdfFailedPages"),Array.isArray(q.failedPages)?q.failedPages.map(e=>JSON.stringify(e)).join("; "):q.failedPages),F(N("knowledge.pdfPageOcrSupported"),q.pdfPageOcrSupported),F(N("knowledge.pdfOcrPageCount"),q.ocrPageCount),F(N("knowledge.pdfOcrPageLimit"),q.pdfOcrPageLimit),F(N("knowledge.pdfRenderer"),q.pdfRenderer),F(N("knowledge.imagePreprocessor"),q.imagePreprocessor)]}),K&&(0,r.jsx)("div",{className:S().pdfPreviewStrip,children:Array.from({length:Math.min(Number(null!=(s=null!=(a=q.pdfPageCount)?a:q.ocrPageCount)?s:1)||1,6)},(e,l)=>(0,r.jsx)(o(),{width:220,height:320,src:"/api/kb/files/preview-pdf-page?relativePath=".concat(encodeURIComponent(E.file.relativePath),"&page=").concat(l+1),alt:"PDF ".concat(N("knowledge.pageNumber")," ").concat(l+1),unoptimized:!0,className:"border border-[var(--borderColor)] rounded object-cover"},l))}),J.length>0&&(0,r.jsx)(g.A,{size:"small",rowKey:"key",dataSource:J,pagination:{pageSize:10},columns:[{title:N("knowledge.pageNumber"),dataIndex:"page",width:90},{title:N("knowledge.ocrText"),dataIndex:"text",render:e=>(0,r.jsx)(P,{ellipsis:{rows:4,expandable:!0,symbol:N("knowledge.openExpand")},children:String(e)})}],className:"custom-table border border-[var(--borderColor)] rounded-xl overflow-hidden"})]})}),i},[q,E,W]),en=[{title:N("knowledge.index"),key:"index",width:70,render:(e,l,t)=>t+1},{title:N("knowledge.chunkIndex"),dataIndex:"chunkIndex",width:90,render:e=>String(e)},{title:N("knowledge.chunkType"),width:110,render:(e,l)=>{var t;return(0,r.jsx)(u.A,{children:String(null!=(t=I(l.metadataJson).chunkKind)?t:l.category)})}},{title:N("knowledge.sectionOrRange"),width:220,render:(e,l)=>{let t=I(l.metadataJson),n="string"==typeof t.rowRange?t.rowRange:void 0;return(0,r.jsxs)(c.A,{wrap:!0,children:[l.sectionTitle?(0,r.jsx)(u.A,{color:"cyan",children:l.sectionTitle}):null,n?(0,r.jsxs)(u.A,{color:"gold",children:[N("knowledge.rowPrefix")," ",n]}):null]})}},{title:N("knowledge.tokens"),dataIndex:"tokenCount",width:90},{title:N("knowledge.chunkContent"),render:(e,l)=>(0,r.jsx)(P,{ellipsis:{rows:3,expandable:!0,symbol:N("knowledge.openExpand")},className:S().searchContent,children:T(l.content,U)})}],ea=[{title:N("knowledge.index"),key:"index",width:70,render:(e,l,t)=>t+1},{title:N("knowledge.parentChunkId"),dataIndex:"parentId",width:260,render:e=>(0,r.jsx)("span",{className:"break-all",children:e})},{title:N("knowledge.chunkCount"),dataIndex:"chunkCount",width:90},{title:N("knowledge.section"),dataIndex:"sectionTitle",width:220},{title:N("knowledge.chunkContent"),render:(e,l)=>(0,r.jsx)(P,{ellipsis:{rows:3,expandable:!0,symbol:N("knowledge.openExpand")},className:S().searchContent,children:T(l.content,U)})}];return B?(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsx)(w.A,{active:!0,paragraph:{rows:1}}),(0,r.jsx)(h.A,{size:"small",children:(0,r.jsx)(w.A,{active:!0,paragraph:{rows:6}})}),(0,r.jsx)(h.A,{size:"small",children:(0,r.jsx)(w.A,{active:!0,paragraph:{rows:4}})})]}):J?(0,r.jsx)(f.A,{type:"error",showIcon:!0,message:N("knowledge.fileDetailLoadFailed"),description:J}):E?(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsx)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl overflow-hidden border border-[var(--borderColor)] p-6 mb-6",children:(0,r.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-6",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(y.Ay,{icon:(0,r.jsx)(_.A,{}),href:"/knowledge/files",type:"link",className:"p-0 mr-4 text-[var(--colorTextSecondary)] hover:text-[var(--colorText)] flex items-center h-auto",children:N("knowledge.backToFileList")}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-bold text-[var(--colorText)] mb-1 flex items-center gap-2",children:N("knowledge.fileDetailTitle")}),(0,r.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)] m-0",children:N("knowledge.fileDetailDesc")})]})]}),(0,r.jsxs)(c.A,{wrap:!0,className:"shrink-0",children:[(0,r.jsx)(y.Ay,{size:"small",onClick:()=>{el(null==E?void 0:E.absolutePath)},children:N("knowledge.copySourcePath")}),(0,r.jsx)(y.Ay,{size:"small",onClick:()=>{el(null==E?void 0:E.directory)},children:N("knowledge.copyDirectory")}),(0,r.jsx)(y.Ay,{size:"small",onClick:()=>{et("file")},children:N("assets.openFile")}),(0,r.jsx)(y.Ay,{size:"small",onClick:()=>{et("directory")},children:N("assets.openDirectory")}),"pdf"===E.file.format?(0,r.jsx)(y.Ay,{size:"small",loading:H,onClick:()=>{ee()},children:N("knowledge.reOcr")}):null,(0,r.jsx)(y.Ay,{size:"small",type:"primary",loading:H,onClick:()=>{ee()},children:N("knowledge.reindexFile")})]})]})}),(0,r.jsx)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsx)("span",{className:"font-semibold",children:N("knowledge.basicInfo")}),children:(0,r.jsxs)(d.A,{size:"small",column:{xxl:3,xl:2,lg:2,md:1,sm:1,xs:1},bordered:!0,labelStyle:{width:"120px",background:"var(--colorFillAlter)",color:"var(--colorTextSecondary)"},children:[(0,r.jsx)(d.A.Item,{label:N("knowledge.path"),span:3,children:(0,r.jsx)("span",{className:"break-all",children:E.file.relativePath})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.originalFile"),span:3,children:(0,r.jsx)("span",{className:"break-all",children:null!=(e=E.absolutePath)?e:"-"})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.directory"),span:3,children:(0,r.jsx)("span",{className:"break-all",children:null!=(l=E.directory)?l:"-"})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.fileCategory"),children:(0,r.jsxs)(c.A,{size:4,children:[(0,r.jsx)(u.A,{className:"m-0 border-0 bg-[var(--colorFillSecondary)]",children:(0,C.Jm)(E.file.category)})," ",(0,r.jsx)(u.A,{className:"m-0 border-0 bg-[var(--colorFillSecondary)]",children:E.file.format})]})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.fileSize"),children:(0,C.z3)(E.file.fileSize)}),(0,r.jsx)(d.A.Item,{label:N("knowledge.chunkCount"),children:E.file.chunkCount}),(0,r.jsx)(d.A.Item,{label:N("knowledge.status"),children:(0,r.jsx)(u.A,{color:"completed"===E.file.status?"success":"failed"===E.file.status?"error":"processing",className:"m-0",children:E.file.status})}),(0,r.jsx)(d.A.Item,{label:N("knowledge.extractionMode"),children:String(null!=(t=q.extractionMode)?t:"-")}),(0,r.jsx)(d.A.Item,{label:N("knowledge.contentCoverage"),children:String(null!=(a=q.contentCoverage)?a:"-")}),(0,r.jsx)(d.A.Item,{label:N("knowledge.textLength"),children:String(null!=(i=q.textLength)?i:"-")})]})}),er.length>0&&(0,r.jsx)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsx)("span",{className:"font-semibold",children:N("knowledge.structuredInfo")}),children:(0,r.jsx)(b.A,{items:er,className:"documents-tabs"})}),(0,r.jsx)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsx)("span",{className:"font-semibold",children:N("knowledge.detailFilter")}),children:(0,r.jsxs)("div",{className:"flex flex-col w-full gap-4",children:[(0,r.jsx)(v.A,{allowClear:!0,size:"large",value:U,onChange:e=>G(e.target.value),placeholder:N("knowledge.detailFilterPlaceholder"),className:"rounded-xl bg-[var(--colorBgHover)] border-[var(--borderColor)] focus:bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgContainer)] w-full"}),U?(0,r.jsxs)("div",{className:"flex flex-wrap gap-2 items-center bg-[var(--colorFillAlter)] p-3 rounded-xl border border-[var(--colorBorderSecondary)]",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-[var(--colorTextSecondary)] mr-2",children:"过滤结果:"}),(0,r.jsxs)(u.A,{color:"blue",className:"m-0 border-0",children:[N("knowledge.parentMatches")," ",Y.length]}),(0,r.jsxs)(u.A,{color:"green",className:"m-0 border-0",children:[N("knowledge.childMatches")," ",Q.length]}),(0,r.jsx)("div",{className:"w-[1px] h-3 bg-[var(--colorBorderSecondary)] mx-1"}),(0,r.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:[N("knowledge.filterTerm")," ",(0,r.jsx)("strong",{className:"text-[var(--colorText)]",children:U})]})]}):null]})}),(0,r.jsxs)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsxs)("span",{className:"font-semibold",children:[N("knowledge.parentChunks")," ",(0,r.jsxs)(u.A,{className:"ml-2 border-0 bg-[var(--colorFillSecondary)] text-xs font-normal",children:[Y.length," / ",E.parents.length]})]}),children:[(0,r.jsx)(f.A,{type:"info",showIcon:!0,message:N("knowledge.parentChunkHint"),className:"mb-4 rounded-xl border-blue-200 bg-blue-50/50"}),(0,r.jsx)(g.A,{rowKey:"id",columns:ea,dataSource:Y,pagination:{pageSize:10},size:"small",className:"custom-table"})]}),(0,r.jsx)(h.A,{size:"small",className:"rounded-2xl border-[var(--borderColor)]",title:(0,r.jsxs)("span",{className:"font-semibold",children:[N("knowledge.childChunks")," ",(0,r.jsxs)(u.A,{className:"ml-2 border-0 bg-[var(--colorFillSecondary)] text-xs font-normal",children:[Q.length," / ",E.chunks.length]})]}),children:(0,r.jsx)(g.A,{rowKey:"id",columns:en,dataSource:Q,pagination:{pageSize:20},size:"small",className:"custom-table"})})]}):(0,r.jsx)(k.A,{description:N("knowledge.selectFile")})}}},e=>{e.O(0,[433,155,576,985,713,787,289,850,636,593,792],()=>e(e.s=37690)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
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"}},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,r)=>{"use strict";r.d(t,{A:()=>b});var l=r(51541),a=r(61848),n=r(5669),s=r(97109),i=r(72658),o=r(3638),c=r(92162),d=r(82725),u=r(74567),h=r(632),f=r(49517),m=r(79412),v=r(19527);let p=(0,d.U)(e=>{let{prefixCls:t,className:r,closeIcon:l,closable:a,type:n,title:d,children:p,footer:g,classNames:x,styles:y,...b}=e,{getPrefixCls:w}=s.useContext(u.QO),{className:j,style:_,classNames:A,styles:z}=(0,u.TP)("modal"),k=w(),C=t||w("modal"),S=(0,h.A)(k),[P,M]=(0,v.Ay)(C,S),[N,O]=(0,c.AV)([A,x],[z,y],{props:e}),H=`${C}-confirm`,T={};return T=n?{closable:a??!1,title:"",footer:"",children:s.createElement(f.k,{...e,prefixCls:C,confirmPrefixCls:H,rootPrefixCls:k,content:p})}:{closable:a??!0,title:d,footer:null!==g&&s.createElement(m.w,{...e}),children:p},s.createElement(i.Z,{prefixCls:C,className:(0,o.$)(P,`${C}-pure-panel`,n&&H,n&&`${H}-${n}`,r,j,M,S,N.root),style:{..._,...O.root},...b,closeIcon:(0,m.O)(C,l),closable:a,classNames:N,styles:O,...T})});var g=r(99739);function x(e){return(0,l.Ay)((0,l.fp)(e))}let y=n.A;y.useModal=g.A,y.info=function(e){return(0,l.Ay)((0,l.$D)(e))},y.success=function(e){return(0,l.Ay)((0,l.Ej)(e))},y.error=function(e){return(0,l.Ay)((0,l.jT)(e))},y.warning=x,y.warn=x,y.confirm=function(e){return(0,l.Ay)((0,l.lr)(e))},y.destroyAll=function(){for(;a.A.length;){let e=a.A.pop();e&&e()}},y.config=l.FB,y._InternalPanelDoNotUseOrYouWillBeFired=p;let b=y},26619:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(1611),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},26631:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(12887),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.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"}},35311:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M456 231a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"more",theme:"outlined"}},45551:(e,t,r)=>{"use strict";function l(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024)),r=e/Math.pow(1024,t);return"".concat(r.toFixed(+(0!==t))," ").concat(["B","KB","MB","GB","TB"][t])}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===t?"Never":"从未";let r=Math.floor(Math.floor((Date.now()-e)/1e3)/60),l=Math.floor(r/60),a=Math.floor(l/24);return a>30?new Date(e).toLocaleDateString(t):"en-US"===t?a>0?"".concat(a,"d ago"):l>0?"".concat(l,"h ago"):r>0?"".concat(r,"m ago"):"Just now":a>0?"".concat(a," 天前"):l>0?"".concat(l," 小时前"):r>0?"".concat(r," 分钟前"):"刚刚"}r.d(t,{Jm:()=>i,fw:()=>a,z3:()=>l});let n={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},s={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function i(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(t=("en-US"===r?s:n)[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"}},54746:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(71242),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},58209:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(23793),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.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,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(30289),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},64207:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>ee});var l=r(65321),a=r(97109),n=r(48321),s=r(43220),i=r.n(s),o=r(86109),c=r(17807),d=r(25258),u=r(11702),h=r(71102),f=r(85114),m=r(7576),v=r(50883),p=r(33442),g=r(21289),x=r(56768),y=r(48893),b=r(88483);function w(){return(w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let j=a.forwardRef((e,t)=>a.createElement(b.A,w({},e,{ref:t,icon:y.A})));var _=r(13067);function A(){return(A=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let z=a.forwardRef((e,t)=>a.createElement(b.A,A({},e,{ref:t,icon:_.A})));var k=r(58520);function C(){return(C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let S=a.forwardRef((e,t)=>a.createElement(b.A,C({},e,{ref:t,icon:k.A})));var P=r(90939);function M(){return(M=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let N=a.forwardRef((e,t)=>a.createElement(b.A,M({},e,{ref:t,icon:P.A})));var O=r(93314),H=r(61825),T=r(26619),E=r(7225),F=r(26631),V=r(64254),B=r(64629),I=r(58209),R=r(85855),L=r(30486),D=r(54746),q=r(84742),$=r(38762),J=r(39219),Q=r(22931),U=r(6578),W=r(45551),X=r(14569),G=r.n(X);let K=["document","spreadsheet","image","cad","code","data","web","diagram","other"],Z=/\.(zip|jar|war|apk|tar|gz|tgz|bz2|rar|7z)$/iu,Y=/(^|\/)\.DS_Store$|(^|\/)Thumbs\.db$|(^|\/)__MACOSX\/|\.bak$/iu;function ee(){let e=(0,n.Vr)("knowledge"),{locale:t}=(0,n.x_)(),{message:r}=c.A.useApp(),s=(0,o.useRouter)(),y="string"==typeof s.query.category?s.query.category:"",[b,w]=(0,a.useState)([]),[_,A]=(0,a.useState)(!1),[k,C]=(0,a.useState)(""),[P,M]=(0,a.useState)(""),[X,ee]=(0,a.useState)(y),[et,er]=(0,a.useState)(!1),[el,ea]=(0,a.useState)(!1),[en,es]=(0,a.useState)([]),[ei,eo]=(0,a.useState)([]),[ec,ed]=(0,a.useState)(new Set),[eu,eh]=(0,a.useState)("all"),[ef,em]=(0,a.useState)(!0),[ev,ep]=(0,a.useState)([]),[eg,ex]=(0,a.useState)(new Set),ey=(0,a.useRef)(X);(0,a.useEffect)(()=>{ey.current=X},[X]),(0,a.useEffect)(()=>{ee("string"==typeof s.query.category?s.query.category:"")},[s.query.category]);let eb=(0,a.useCallback)(async(e,t)=>{let r=null!=e?e:ey.current;(null==t?void 0:t.silent)||(A(!0),C(""));try{let e=await (0,U.HT)({category:r||void 0,limit:5e3});w(e.files||[]),e.initializing&&window.setTimeout(()=>{eb(r,{silent:!0})},3e3)}catch(e){(null==t?void 0:t.silent)||(w([]),C(e instanceof Error?e.message:"文件列表加载失败"))}finally{(null==t?void 0:t.silent)||A(!1)}},[]);(0,a.useEffect)(()=>{eb(X)},[X,eb]);let ew=e=>"document"===e.type?null:{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},ej=(0,a.useCallback)(async()=>{try{let e=(await (0,U.Qx)()).operations.map(ew).filter(e=>!!e);es(t=>{let r=new Set(e.map(e=>e.id).filter(Boolean)),l=e.map(e=>{var r;let l=t.find(t=>t.id===e.id);return l?{...l,...e,createdAt:null!=(r=l.createdAt)?r:e.createdAt}:e}),a=t.filter(e=>e.id&&!r.has(e.id)&&"processing"===e.status);return[...l,...a].slice(0,50)})}catch(e){}},[]),e_=(0,a.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];es(r=>{let l=r.findIndex(r=>e.id&&r.id===e.id||t.includes(r.title));if(l>=0){var a;let t=[...r];return t[l]={...r[l],...e,createdAt:null!=(a=r[l].createdAt)?a:e.createdAt},t}return[e,...r].slice(0,50)})},[]);(0,a.useEffect)(()=>{ej()},[ej]);let eA=(0,a.useMemo)(()=>{let e=0,t=0,r=0;for(let l of en)"processing"===l.status?e++:"success"===l.status?t++:("error"===l.status||"warning"===l.status)&&r++;return{processing:e,success:t,error:r}},[en]);(0,a.useEffect)(()=>{eA.processing>0&&em(!1)},[eA.processing]),(0,a.useEffect)(()=>{if(0===eA.processing)return;let e=window.setInterval(()=>{ej()},2e3),t=window.setInterval(()=>{eb(void 0,{silent:!0})},8e3);return()=>{window.clearInterval(e),window.clearInterval(t)}},[eb,ej,eA.processing]),"all"===eu||en.filter(e=>"processing"===eu?"processing"===e.status:"success"===eu?"success"===e.status:"error"!==eu||"error"===e.status||"warning"===e.status);let ez=async e=>{let t=e.filter(e=>{let t=e.webkitRelativePath||e.name;return e.size>0&&!Z.test(e.name)&&!Y.test(t)}),l=e.length-t.length;if(l>0&&r.warning("已跳过 ".concat(l," 个空文件、系统文件、备份文件或压缩包")),0===t.length)return;let a=1===t.length?t[0].name:"".concat(t.length," 个文件");er(!0);let n="".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));e_({id:n,type:"upload",title:"上传 ".concat(a),description:"等待上传、解析、切片和入库;同路径文件会更新,其他已有文件不会清除",status:"processing",percent:5});try{await (0,U.c1)(t,void 0,n,e=>{e_({id:n,type:"upload",title:"上传 ".concat(a),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)))})}),r.info("文件已上传,正在后台解析、切片和入库;同路径文件会更新,其他已有文件不会清除,可在顶部“后台任务”查看进度"),M(""),ee(""),eo([]),ey.current="",await ej(),window.setTimeout(()=>{eb(void 0,{silent:!0})},2e3)}catch(t){let e=t instanceof Error?t.message:"请重试或检查文件格式";r.error(e||"上传失败"),e_({id:n,type:"error",title:"上传失败 ".concat(a),description:e,status:"error",percent:100})}finally{er(!1)}},ek=async()=>{ea(!0);let e="reindex-ui-".concat(Date.now());e_({id:e,type:"reindex",title:"重新解析入库",description:"正在提交后台任务",status:"processing",percent:5});try{var t;let l=await (0,U.H1)(),a=l.operationId||e,n=l.job;r.info(l.alreadyRunning?"已有重新解析任务正在后台执行":"已提交重新解析入库任务,可在顶部“后台任务”查看进度"),e_({id:a,type:"reindex",title:(null==n?void 0:n.title)||"重新解析入库",description:(null==n?void 0:n.message)||"后台将重新扫描文件、解析、切片并重建索引",status:(null==n?void 0:n.status)||"processing",percent:null!=(t=null==n?void 0:n.percent)?t:10,error:null==n?void 0:n.error},["重新解析入库"]);for(let e=0;e<360;e++){let e=await (0,U.ax)(a).then(e=>e.job).catch(async()=>(await (0,U.Qx)()).operations.find(e=>e.id===a));if(e){let t="success"===e.status||"error"===e.status;if(e_({id:a,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?r.success(e.message||"重新解析入库完成"):r.error(e.error||e.message||"重新解析入库失败");break}}await new Promise(e=>setTimeout(e,1e3))}await eb(),await ej()}catch(l){let t=l instanceof Error?l.message:"重新解析入库失败";r.error(t),e_({id:e,type:"error",title:"重新解析入库失败",description:t,status:"error",percent:100},["重新解析入库","重新解析入库完成","重新解析入库失败"])}finally{ea(!1)}},eC=async e=>{let t="file-reindex-ui-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2));ex(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 l;let a=await (0,U.HC)(e.relativePath),n=a.operationId||t,s=a.job;r.info(a.alreadyRunning?"已有知识库任务正在后台执行":"已提交单文件重新解析任务"),e_({id:n,type:"reindex",title:(null==s?void 0:s.title)||"重新解析 ".concat(e.relativePath),description:(null==s?void 0:s.message)||"后台将重新解析、分块并入库该文件",status:(null==s?void 0:s.status)||"processing",percent:null!=(l=null==s?void 0:s.percent)?l:10,filePath:(null==s?void 0:s.filePath)||e.relativePath,chunkCount:null==s?void 0:s.chunkCount,error:null==s?void 0:s.error},["重新解析 ".concat(e.relativePath)]);for(let t=0;t<240;t++){let t=await (0,U.ax)(n).then(e=>e.job).catch(async()=>(await (0,U.Qx)()).operations.find(e=>e.id===n));if(t){let l="success"===t.status||"error"===t.status;if(e_({id:n,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 eb(),l){"success"===t.status?r.success(t.message||"单文件重新解析完成"):r.error(t.error||t.message||"单文件重新解析失败");break}}await new Promise(e=>setTimeout(e,1e3))}await eb(),await ej()}catch(a){let l=a instanceof Error?a.message:"单文件重新解析失败";r.error(l),e_({id:t,type:"error",title:"重新解析失败 ".concat(e.relativePath),description:l,status:"error",percent:100,filePath:e.relativePath},["重新解析 ".concat(e.relativePath)])}finally{ex(t=>{let r=new Set(t);return r.delete(e.relativePath),r})}},eS=t=>{let l="selected"===t?eF:"filtered"===t?eP.map(e=>e.relativePath):[],a=b.length;if("all"!==t&&0===l.length||"all"===t&&0===a)return void r.info("没有可删除的文件");let n="all"===t?"删除全部文件 ".concat(a," 个?"):"filtered"===t?"删除当前筛选结果中的文件 ".concat(l.length," 个?"):"删除已选文件 ".concat(l.length," 个?");d.A.confirm({title:n,content:"将同时删除文件、切片、索引和向量记录。此操作不可撤销。",okText:e("common.delete"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{es(e=>[{type:"delete",title:n,description:"正在批量删除文件和索引",status:"processing",percent:10},...e].slice(0,50));try{var e;let n=null!=(e=("all"===t?await (0,U.X8)():"selected"===t?await (0,U.tZ)(eE,eT):await (0,U.SJ)(l)).deleted)?e:"all"===t?a:l.length;r.success("已删除 ".concat(n," 个文件")),eo([]),es(e=>[{type:"delete",title:"批量删除完成",description:"已删除 ".concat(n," 个文件、切片和索引"),status:"success"},...e].slice(0,50)),await eb(),await ej()}catch(e){r.error("批量删除失败"),es(e=>[{type:"error",title:"批量删除失败",description:"请重试",status:"error"},...e].slice(0,50))}}})},eP=(0,a.useMemo)(()=>P?b.filter(e=>e.relativePath.toLowerCase().includes(P.toLowerCase())):b,[P,b]),eM=(0,a.useMemo)(()=>new Set(eP.map(e=>e.relativePath)),[eP]),eN=(0,a.useMemo)(()=>{let e={};for(let r of[...eP].sort((e,t)=>e.relativePath.localeCompare(t.relativePath))){let l=r.relativePath.split("/"),a="";for(let n=0;n<l.length;n++){let s=l[n],i=a;a=a?"".concat(a,"/").concat(s):s;let o=n===l.length-1;if(e[a])o||e[a].isFolder?o&&(e[a].isFolder=!1,e[a].file=r,e[a].fileCount=1,e[a].totalSize=r.fileSize,e[a].totalChunks=r.chunkCount):(e[a].isFolder=!0,e[a].children=[],e[a].fileCount=0,e[a].totalSize=0,e[a].totalChunks=0);else{var t;e[a]={key:a,name:s,isFolder:!o,...o?{file:r,fileCount:1,totalSize:r.fileSize,totalChunks:r.chunkCount}:{children:[],fileCount:0,totalSize:0,totalChunks:0}},i&&(null==(t=e[i])?void 0:t.children)&&e[i].children.push(e[a])}}}let r=e=>{for(let n of e)if(n.children){r(n.children);let e=0,s=0,i=0;for(let r of n.children){var t,l,a;e+=null!=(t=r.fileCount)?t:0,s+=null!=(l=r.totalSize)?l:0,i+=null!=(a=r.totalChunks)?a:0}n.fileCount=e,n.totalSize=s,n.totalChunks=i}},l=e=>e.map(e=>e.children?{...e,children:l(e.children)}:e).filter(e=>{var t,r,l;return!e.isFolder||(null!=(r=e.fileCount)?r:0)>0&&(null!=(l=null==(t=e.children)?void 0:t.length)?l:0)>0}),a=Object.values(e).filter(e=>!e.key.includes("/"));return r(a),l(a)},[eP]),eO=(0,a.useMemo)(()=>{let e=[],t=r=>{for(let l of r)e.push(l.key),l.children&&t(l.children)};return t(eN),e},[eN]),eH=(0,a.useMemo)(()=>new Set([...eM,...eO]),[eO,eM]),eT=(0,a.useMemo)(()=>ei.map(String).filter(e=>!eM.has(e)&&eO.includes(e)),[eO,ei,eM]),eE=(0,a.useMemo)(()=>ei.map(String).filter(e=>eM.has(e)),[ei,eM]),eF=(0,a.useMemo)(()=>{let e=new Set;for(let t of eE){let r=b.find(e=>e.relativePath===t);r&&e.add(r.relativePath)}for(let t of eT){let r="".concat(t,"/");for(let t of b)t.relativePath.startsWith(r)&&e.add(t.relativePath)}return Array.from(e)},[b,eE,eT]),eV=eF.length;(0,a.useEffect)(()=>{eo(e=>e.filter(e=>eH.has(String(e))))},[eH]);let eB=(0,a.useMemo)(()=>P?eO:[],[P,eO]);(0,a.useEffect)(()=>{ep(eB)},[eB]);let eI=(e,t)=>{ep(r=>e?[...r,t.key]:r.filter(e=>e!==t.key))},eR=[{title:e("fileName"),dataIndex:"name",key:"name",render:(e,t)=>(0,l.jsxs)("span",{className:G().fileNameCell,children:[t.isFolder?(0,l.jsx)("span",{style:{cursor:"pointer"},onClick:e=>{e.stopPropagation(),eI(!ev.includes(t.key),t)},children:(e=>{let t=e.children;return t&&0!==t.length?(0,l.jsx)(V.A,{style:{color:"#fa8c16",fontSize:15}}):(0,l.jsx)(E.A,{style:{color:"#fa8c16",fontSize:15}})})(t)}):(e=>{if(!e)return(0,l.jsx)(x.A,{style:{fontSize:15}});let t=e.category;return"image"===t?(0,l.jsx)(j,{style:{color:"#eb2f96",fontSize:15}}):"spreadsheet"===t?(0,l.jsx)(z,{style:{color:"#52c41a",fontSize:15}}):"document"===t?(0,l.jsx)(S,{style:{color:"#1677ff",fontSize:15}}):"code"===t?(0,l.jsx)(N,{style:{color:"#fa8c16",fontSize:15}}):"archive"===t?(0,l.jsx)(O.A,{style:{color:"#8c8c8c",fontSize:15}}):"web"===t?(0,l.jsx)(H.A,{style:{color:"#13c2c2",fontSize:15}}):"data"===t?(0,l.jsx)(T.A,{style:{color:"#722ed1",fontSize:15}}):"cad"===t?(0,l.jsx)(E.A,{style:{color:"#fa541c",fontSize:15}}):"diagram"===t?(0,l.jsx)(j,{style:{color:"#a0d911",fontSize:15}}):(0,l.jsx)(F.A,{style:{fontSize:15}})})(t.file),t.isFolder?(0,l.jsx)("span",{className:G().folderName,onClick:e=>{e.stopPropagation(),eI(!ev.includes(t.key),t)},children:t.name}):(0,l.jsx)(l.Fragment,{children:(0,l.jsx)(i(),{className:"min-w-0 max-w-[520px] whitespace-normal break-words leading-relaxed",href:"/knowledge/file-detail?relativePath=".concat(encodeURIComponent(t.key)),children:t.name})})]})},{title:e("fileCategory"),dataIndex:"category",key:"cat",width:110,render:(e,r)=>{var a,n;return r.isFolder?(0,l.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,l.jsx)(u.A,{children:(0,W.Jm)(null!=(n=null==(a=r.file)?void 0:a.category)?n:"",t)})}},{title:e("fileSize"),dataIndex:"fileSize",key:"size",width:90,render:(e,t)=>{var r,l,a;return(0,W.z3)(t.isFolder?null!=(l=t.totalSize)?l:0:null!=(a=null==(r=t.file)?void 0:r.fileSize)?a:0)}},{title:e("chunksCount"),dataIndex:"chunkCount",key:"chunks",width:80,render:(e,t)=>{var r,a,n;let s=t.isFolder?null!=(a=t.totalChunks)?a:0:null!=(n=null==(r=t.file)?void 0:r.chunkCount)?n:0;return(0,l.jsx)(u.A,{color:s>1?"green":"orange",children:s})}},{title:e("parsingStatus"),dataIndex:"status",key:"status",width:100,render:(e,t)=>{var r,a,n,s;return t.isFolder?(0,l.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,l.jsx)(u.A,{color:"active"===(s=null==(r=t.file)?void 0:r.status)?"green":"processing"===s||"indexing"===s?"blue":"error"===s?"red":"orange",children:(null==(a=t.file)?void 0:a.errorMessage)||(null==(n=t.file)?void 0:n.status)||"—"})}},{title:e("fileDate"),dataIndex:"mtime",key:"date",width:130,render:(e,r)=>{var a;return r.isFolder?(0,l.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(null==(a=r.file)?void 0:a.mtime)?new Date(r.file.mtime).toLocaleDateString(t):"—"}},{title:e("source"),key:"source",width:100,render:(t,r)=>r.isFolder?(0,l.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"—"}):(0,l.jsx)(u.A,{color:"cyan",children:e("fileSource")})},{title:"",key:"act",width:80,align:"center",render:(t,a)=>a.isFolder?null:(0,l.jsx)(h.A,{menu:{items:[{key:"reindex",label:e("reindex"),icon:(0,l.jsx)(B.A,{}),onClick:()=>{eC(a.file)}},{type:"divider"},{key:"delete",label:e("delete"),icon:(0,l.jsx)(I.A,{}),danger:!0,onClick:()=>{var t;return t=a.file,void d.A.confirm({title:e("delete"),content:e("deleteConfirm"),okText:e("common.confirm"),cancelText:e("common.cancel"),okButtonProps:{danger:!0},onOk:async()=>{es(e=>[{type:"delete",title:"删除 ".concat(t.relativePath),description:"正在删除文件记录",status:"processing"},...e].slice(0,50));try{await (0,U.xq)(t.relativePath),r.success("已删除"),es(e=>[{type:"delete",title:"删除完成 ".concat(t.relativePath),description:"文件和索引记录已移除",status:"success"},...e].slice(0,50)),eo(e=>e.filter(e=>e!==t.relativePath)),await eb(),await ej()}catch(e){r.error("删除失败"),es(e=>[{type:"error",title:"删除失败 ".concat(t.relativePath),description:"请重试",status:"error"},...e].slice(0,50))}}})}}]},trigger:["click"],children:(0,l.jsx)(f.Ay,{type:"text",size:"small",icon:(0,l.jsx)(R.A,{})})})}],eL=(0,l.jsxs)("div",{className:"flex flex-1 md:flex-none w-full md:w-auto items-center gap-3",children:[(0,l.jsx)(m.A,{placeholder:e("searchPlaceholder"),prefix:(0,l.jsx)(L.A,{className:"text-[var(--colorTextTertiary)]"}),value:P,onChange:e=>{M(e.target.value)},allowClear:!0,className:"max-w-[300px] flex-1 bg-transparent hover:bg-transparent focus:bg-transparent",bordered:!1,style:{borderBottom:"1px solid var(--borderColor)",borderRadius:0,paddingLeft:0,paddingRight:0}}),(0,l.jsx)(v.A,{value:X||void 0,onChange:e=>{ee(e||"")},placeholder:e("filterCategory"),allowClear:!0,style:{width:140},variant:"borderless",options:[{label:e("allCategories"),value:""},...K.map(e=>({label:(0,W.Jm)(e,t),value:e}))]}),(0,l.jsx)("div",{className:"w-[1px] h-6 bg-[var(--borderColor)] mx-1"}),(0,l.jsx)(h.A,{menu:{items:[{key:"file",label:e("uploadFiles"),icon:(0,l.jsx)(x.A,{}),onClick:()=>{var e;return null==(e=document.getElementById("kb-file-upload-input"))?void 0:e.click()}},{key:"folder",label:e("uploadFolder"),icon:(0,l.jsx)(E.A,{}),onClick:()=>{var e;return null==(e=document.getElementById("kb-folder-upload-input"))?void 0:e.click()}},{type:"divider"},{key:"reindex",label:e("reindexAll"),icon:(0,l.jsx)(B.A,{}),onClick:()=>{ek()},danger:!0}]},trigger:["click"],children:(0,l.jsx)(f.Ay,{type:"primary",icon:(0,l.jsx)(D.A,{}),loading:et||el,className:"rounded-md px-4",children:e("new")})}),(0,l.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 r=Array.from(null!=(t=e.target.files)?t:[]);e.target.value="",ez(r)}}),(0,l.jsx)("input",{id:"kb-folder-upload-input",type:"file",multiple:!0,hidden:!0,webkitdirectory:"",onChange:e=>{var t;let r=Array.from(null!=(t=e.target.files)?t:[]);e.target.value="",ez(r)}})]});return(0,l.jsxs)("div",{className:"h-[calc(100vh-140px)] flex flex-col",children:[(0,l.jsxs)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl border border-[var(--borderColor)] p-6 mb-4 shrink-0 animateFadeIn",children:[(0,l.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-6 pb-6 border-b border-[var(--borderColor)]",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("h1",{className:"text-2xl font-bold tracking-tight text-[var(--colorText)] mb-1 flex items-center gap-2",children:[(0,l.jsx)(T.A,{className:"text-[var(--colorAccent)]"}),e("files")]}),(0,l.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)] m-0",children:e("manageRawFiles")})]}),eL]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-6 pt-6 stagger-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)("div",{className:"w-12 h-12 rounded-xl bg-[var(--colorBgHover)] flex items-center justify-center text-xl text-[var(--colorTextSecondary)]",children:(0,l.jsx)(V.A,{})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e("totalRootFolders")}),(0,l.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none",children:eN.length})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)("div",{className:"w-12 h-12 rounded-xl bg-[var(--colorBgHover)] flex items-center justify-center text-xl text-[var(--colorTextSecondary)]",children:(0,l.jsx)(F.A,{})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e("totalFilesStats")}),(0,l.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none",children:b.length})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)("div",{className:"w-12 h-12 rounded-xl bg-green-50 dark:bg-green-900/20 flex items-center justify-center text-xl text-green-600 dark:text-green-500",children:(0,l.jsx)(q.A,{})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e("successfullyParsed")}),(0,l.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none",children:b.filter(e=>"success"===e.status).length})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)("div",{className:"w-12 h-12 rounded-xl bg-red-50 dark:bg-red-900/20 flex items-center justify-center text-xl text-red-600 dark:text-red-500",children:(0,l.jsx)($.A,{})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-[11px] font-semibold text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:e("parsingErrors")}),(0,l.jsx)("div",{className:"text-xl font-bold text-[var(--colorText)] leading-none",children:b.filter(e=>"error"===e.status).length})]})]})]})]}),k&&(0,l.jsx)("div",{className:"p-4 mb-4 bg-[var(--colorDanger)]/10 text-[var(--colorDanger)] rounded-xl border border-[var(--colorDanger)]/20",children:k}),(0,l.jsxs)("div",{className:"flex-1 min-h-0 bg-[var(--colorBgContainer)] rounded-2xl border border-[var(--borderColor)] overflow-hidden flex flex-col animateFadeIn stagger-3",style:{opacity:0},children:[(0,l.jsxs)("div",{className:"flex justify-between items-center p-4 bg-[var(--colorBgHover)] border-b border-[var(--borderColor)] shrink-0",children:[(0,l.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)] font-medium",children:e("showingMatchingFiles").replace("{count}",String(eP.length))}),(0,l.jsxs)(p.A,{size:8,children:[eV>0&&(0,l.jsxs)(f.Ay,{danger:!0,size:"small",icon:(0,l.jsx)(I.A,{}),onClick:()=>eS("selected"),className:"rounded-lg",children:[e("deleteSelected")," (",eV,")"]}),(0,l.jsx)(f.Ay,{danger:!0,size:"small",disabled:0===b.length,onClick:()=>eS("all"),className:"rounded-lg",children:e("deleteAll")})]})]}),(0,l.jsx)(g.A,{rowKey:"key",columns:eR,dataSource:eN,loading:_&&!et&&!el,size:"middle",className:"flex-1 custom-table border-0",scroll:{y:"calc(100vh - 460px)"},expandable:{expandedRowKeys:ev,onExpand:eI,expandIcon:e=>{let{expanded:t,onExpand:r,record:a}=e;return a.isFolder?(0,l.jsx)("button",{type:"button",onClick:e=>r(a,e),className:"w-6 h-6 mr-1 inline-flex items-center justify-center align-middle text-[var(--colorTextTertiary)] hover:text-[var(--colorText)] transition-colors bg-transparent border-0 p-0 leading-none",children:t?(0,l.jsx)(J.A,{size:16}):(0,l.jsx)(Q.A,{size:16})}):(0,l.jsx)("span",{className:"w-6 h-6 inline-flex"})}},locale:{emptyText:_?e("common.loading"):P?e("emptySearch"):e("noFiles")},pagination:!1,rowClassName:e=>"hover:bg-[var(--colorBgHover)] transition-colors ".concat(e.isFolder?"font-medium bg-[var(--colorBgSecondary)]/30":""),rowSelection:{selectedRowKeys:ei,onChange:eo,checkStrictly:!1,getCheckboxProps:e=>{var t;return{disabled:!!e.isFolder&&(null!=(t=e.fileCount)?t:0)===0}}}})]})]})}},71242:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"}},85855:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(35311),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))},90426:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/files",function(){return r(64207)}])},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"}},93314:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(97109),a=r(53234),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}let i=l.forwardRef((e,t)=>l.createElement(n.A,s({},e,{ref:t,icon:a.A})))}},e=>{e.O(0,[433,155,576,985,713,289,636,593,792],()=>e(e.s=90426)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[414],{45551:(e,l,t)=>{"use strict";function n(e){if(0===e)return"0 B";let l=Math.floor(Math.log(e)/Math.log(1024)),t=e/Math.pow(1024,l);return"".concat(t.toFixed(+(0!==l))," ").concat(["B","KB","MB","GB","TB"][l])}function a(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===l?"Never":"从未";let t=Math.floor(Math.floor((Date.now()-e)/1e3)/60),n=Math.floor(t/60),a=Math.floor(n/24);return a>30?new Date(e).toLocaleDateString(l):"en-US"===l?a>0?"".concat(a,"d ago"):n>0?"".concat(n,"h ago"):t>0?"".concat(t,"m ago"):"Just now":a>0?"".concat(a," 天前"):n>0?"".concat(n," 小时前"):t>0?"".concat(t," 分钟前"):"刚刚"}t.d(l,{Jm:()=>s,fw:()=>a,z3:()=>n});let r={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},o={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function s(e){var l;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(l=("en-US"===t?o:r)[e])?l:e}},50423:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>E});var n=t(65321),a=t(97109),r=t(34986),o=t(48321),s=t(17807),c=t(33442),i=t(85114),d=t(2256),u=t(38770),h=t(68787),x=t(54849),g=t(50883),m=t(76506),j=t(11702),A=t(7225),f=t(30486),w=t(99811),k=t(56768),v=t(26619),p=t(93314),y=t(58740),b=t(35459),C=t(23216),S=t(63663),z=t(49484),D=t(6578),N=t(45551);let _=["document","spreadsheet","image","cad","code","data","web","diagram","archive","other"];function E(){var e,l,t,E;let I=(0,o.Vr)(),{locale:T}=(0,o.x_)(),M=(0,r.useRouter)(),{stats:B,loading:F,reload:R}=function(){let[e,l]=(0,a.useState)(null),[t,n]=(0,a.useState)(!1),r=(0,a.useCallback)(async()=>{n(!0);try{l(await (0,D.hc)())}catch(e){}finally{n(!1)}},[]);return(0,a.useEffect)(()=>{r()},[r]),{stats:e,loading:t,reload:r}}(),O=function(){let[e,l]=(0,a.useState)(null);return(0,a.useEffect)(()=>{(0,D.VW)().then(l).catch(()=>{})},[]),e}(),{reindexing:P,reindex:J}=function(){let[e,l]=(0,a.useState)(!1);return{reindexing:e,reindex:(0,a.useCallback)(async()=>{l(!0);try{return await (0,D.H1)(),!0}catch(e){return!1}finally{l(!1)}},[])}}(),[U,W]=(0,a.useState)("document"),[H,V]=(0,a.useState)({count:0,totalSize:0,totalChunks:0}),{message:X}=s.A.useApp(),G=(0,a.useCallback)(async e=>{try{let l=await (0,D.HT)({category:e,limit:1e4}),t=0,n=0;if(Array.isArray(l.files))for(let e of l.files)t+=e.fileSize||0,n+=e.chunkCount||0;V({count:l.total||0,totalSize:t,totalChunks:n})}catch(e){V({count:0,totalSize:0,totalChunks:0})}},[]);(0,a.useEffect)(()=>{G(U)},[U,G]);let K=async()=>{await J()?await Promise.all([R(),G(U)]):X.error(I("common.error"))};return(0,n.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"pageTitle",children:I("knowledge.manageTitle")}),(0,n.jsx)("p",{className:"pageDesc",children:I("knowledge.manageDesc")})]}),(0,n.jsxs)(c.A,{children:[(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(A.A,{}),onClick:()=>M.push("/knowledge/files"),children:I("knowledge.files")}),(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(f.A,{}),onClick:()=>M.push("/knowledge/search"),children:I("knowledge.search")}),(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(w.A,{}),loading:P,onClick:()=>{K()},children:I("knowledge.reindex")})]})]}),(0,n.jsx)(d.A,{gutter:[16,16],children:[{icon:(0,n.jsx)(k.A,{}),label:I("knowledge.totalFiles"),value:null!=(l=null==B?void 0:B.fileCount)?l:0},{icon:(0,n.jsx)(v.A,{}),label:I("knowledge.totalChunks"),value:null!=(t=null==B?void 0:B.chunkCount)?t:0},{icon:(0,n.jsx)(p.A,{}),label:I("knowledge.totalSize"),value:(0,N.z3)(null!=(E=null==B?void 0:B.totalSizeBytes)?E:0)},{icon:(0,n.jsx)(y.A,{}),label:I("knowledge.lastIndexed"),value:(null==B?void 0:B.lastIndexedAt)?(0,N.fw)(B.lastIndexedAt,T):I("common.never")}].map((e,l)=>(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(h.A,{size:"small",loading:F&&!B,children:(0,n.jsx)(x.A,{title:e.label,value:e.value,prefix:e.icon})})},l))}),(0,n.jsxs)(h.A,{title:I("knowledge.categories"),size:"small",children:[(0,n.jsx)(g.A,{value:U,onChange:e=>W(e),options:_.map(e=>({label:(0,N.Jm)(e,T),value:e})),style:{width:160,marginBottom:16}}),(0,n.jsxs)(d.A,{gutter:[16,16],children:[(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.fileCount"),value:H.count,prefix:(0,n.jsx)(k.A,{style:{color:"var(--colorAccent)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.totalSize"),value:(0,N.z3)(H.totalSize),prefix:(0,n.jsx)(p.A,{style:{color:"var(--colorWarning)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.chunksCount"),value:H.totalChunks,prefix:(0,n.jsx)(b.A,{style:{color:"var(--colorOk)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.averageSize"),value:H.count>0?(0,N.z3)(H.totalSize/H.count):"—",prefix:(0,n.jsx)(v.A,{style:{color:"var(--colorDanger)"}})})})]})]}),O&&(0,n.jsx)(h.A,{title:I("knowledge.features"),size:"small",children:(0,n.jsxs)(m.A,{size:"small",column:{xs:1,sm:2},bordered:!0,children:[(0,n.jsx)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(C.A,{style:{marginRight:4}}),I("knowledge.vectorStore")]}),children:(0,n.jsx)(j.A,{color:"blue",children:O.vectorStore})}),(0,n.jsx)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(b.A,{style:{marginRight:4}}),I("knowledge.embedding")]}),children:(0,n.jsx)(j.A,{color:"purple",children:O.embeddingProvider})}),(0,n.jsxs)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S.A,{style:{marginRight:4}}),I("knowledge.featureDedup")]}),children:[(0,n.jsx)(j.A,{color:"green",children:O.dedupEngine}),(0,n.jsx)("div",{className:"text-xs",style:{color:"var(--colorTextSecondary)",marginTop:2},children:I("knowledge.featureDedupDesc")})]}),(0,n.jsxs)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(z.A,{style:{marginRight:4}}),I("knowledge.featureChunker")]}),children:[(0,n.jsx)(j.A,{color:"orange",children:O.chunker}),(0,n.jsx)("div",{className:"text-xs",style:{color:"var(--colorTextSecondary)",marginTop:2},children:I("knowledge.featureChunkerDesc")})]}),(null==(e=O.builtinExtractors)?void 0:e.length)>0&&(0,n.jsx)(m.A.Item,{label:I("knowledge.builtinExtractors"),span:2,children:(0,n.jsx)(c.A,{wrap:!0,children:O.builtinExtractors.map(e=>(0,n.jsx)(j.A,{color:"cyan",children:e},e))})})]})})]})}},54178:(e,l,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/manage",function(){return t(50423)}])}},e=>{e.O(0,[433,787,
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[414],{45551:(e,l,t)=>{"use strict";function n(e){if(0===e)return"0 B";let l=Math.floor(Math.log(e)/Math.log(1024)),t=e/Math.pow(1024,l);return"".concat(t.toFixed(+(0!==l))," ").concat(["B","KB","MB","GB","TB"][l])}function a(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";if(!e||e<=0)return"en-US"===l?"Never":"从未";let t=Math.floor(Math.floor((Date.now()-e)/1e3)/60),n=Math.floor(t/60),a=Math.floor(n/24);return a>30?new Date(e).toLocaleDateString(l):"en-US"===l?a>0?"".concat(a,"d ago"):n>0?"".concat(n,"h ago"):t>0?"".concat(t,"m ago"):"Just now":a>0?"".concat(a," 天前"):n>0?"".concat(n," 小时前"):t>0?"".concat(t," 分钟前"):"刚刚"}t.d(l,{Jm:()=>s,fw:()=>a,z3:()=>n});let r={document:"文档",spreadsheet:"表格",image:"图片",cad:"图纸",code:"代码",data:"数据",web:"网页",diagram:"图表",archive:"压缩包",other:"其他"},o={document:"Document",spreadsheet:"Spreadsheet",image:"Image",cad:"CAD",code:"Code",data:"Data",web:"Web",diagram:"Diagram",archive:"Archive",other:"Other"};function s(e){var l;let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zh-CN";return null!=(l=("en-US"===t?o:r)[e])?l:e}},50423:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>E});var n=t(65321),a=t(97109),r=t(34986),o=t(48321),s=t(17807),c=t(33442),i=t(85114),d=t(2256),u=t(38770),h=t(68787),x=t(54849),g=t(50883),m=t(76506),j=t(11702),A=t(7225),f=t(30486),w=t(99811),k=t(56768),v=t(26619),p=t(93314),y=t(58740),b=t(35459),C=t(23216),S=t(63663),z=t(49484),D=t(6578),N=t(45551);let _=["document","spreadsheet","image","cad","code","data","web","diagram","archive","other"];function E(){var e,l,t,E;let I=(0,o.Vr)(),{locale:T}=(0,o.x_)(),M=(0,r.useRouter)(),{stats:B,loading:F,reload:R}=function(){let[e,l]=(0,a.useState)(null),[t,n]=(0,a.useState)(!1),r=(0,a.useCallback)(async()=>{n(!0);try{l(await (0,D.hc)())}catch(e){}finally{n(!1)}},[]);return(0,a.useEffect)(()=>{r()},[r]),{stats:e,loading:t,reload:r}}(),O=function(){let[e,l]=(0,a.useState)(null);return(0,a.useEffect)(()=>{(0,D.VW)().then(l).catch(()=>{})},[]),e}(),{reindexing:P,reindex:J}=function(){let[e,l]=(0,a.useState)(!1);return{reindexing:e,reindex:(0,a.useCallback)(async()=>{l(!0);try{return await (0,D.H1)(),!0}catch(e){return!1}finally{l(!1)}},[])}}(),[U,W]=(0,a.useState)("document"),[H,V]=(0,a.useState)({count:0,totalSize:0,totalChunks:0}),{message:X}=s.A.useApp(),G=(0,a.useCallback)(async e=>{try{let l=await (0,D.HT)({category:e,limit:1e4}),t=0,n=0;if(Array.isArray(l.files))for(let e of l.files)t+=e.fileSize||0,n+=e.chunkCount||0;V({count:l.total||0,totalSize:t,totalChunks:n})}catch(e){V({count:0,totalSize:0,totalChunks:0})}},[]);(0,a.useEffect)(()=>{G(U)},[U,G]);let K=async()=>{await J()?await Promise.all([R(),G(U)]):X.error(I("common.error"))};return(0,n.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"pageTitle",children:I("knowledge.manageTitle")}),(0,n.jsx)("p",{className:"pageDesc",children:I("knowledge.manageDesc")})]}),(0,n.jsxs)(c.A,{children:[(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(A.A,{}),onClick:()=>M.push("/knowledge/files"),children:I("knowledge.files")}),(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(f.A,{}),onClick:()=>M.push("/knowledge/search"),children:I("knowledge.search")}),(0,n.jsx)(i.Ay,{icon:(0,n.jsx)(w.A,{}),loading:P,onClick:()=>{K()},children:I("knowledge.reindex")})]})]}),(0,n.jsx)(d.A,{gutter:[16,16],children:[{icon:(0,n.jsx)(k.A,{}),label:I("knowledge.totalFiles"),value:null!=(l=null==B?void 0:B.fileCount)?l:0},{icon:(0,n.jsx)(v.A,{}),label:I("knowledge.totalChunks"),value:null!=(t=null==B?void 0:B.chunkCount)?t:0},{icon:(0,n.jsx)(p.A,{}),label:I("knowledge.totalSize"),value:(0,N.z3)(null!=(E=null==B?void 0:B.totalSizeBytes)?E:0)},{icon:(0,n.jsx)(y.A,{}),label:I("knowledge.lastIndexed"),value:(null==B?void 0:B.lastIndexedAt)?(0,N.fw)(B.lastIndexedAt,T):I("common.never")}].map((e,l)=>(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(h.A,{size:"small",loading:F&&!B,children:(0,n.jsx)(x.A,{title:e.label,value:e.value,prefix:e.icon})})},l))}),(0,n.jsxs)(h.A,{title:I("knowledge.categories"),size:"small",children:[(0,n.jsx)(g.A,{value:U,onChange:e=>W(e),options:_.map(e=>({label:(0,N.Jm)(e,T),value:e})),style:{width:160,marginBottom:16}}),(0,n.jsxs)(d.A,{gutter:[16,16],children:[(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.fileCount"),value:H.count,prefix:(0,n.jsx)(k.A,{style:{color:"var(--colorAccent)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.totalSize"),value:(0,N.z3)(H.totalSize),prefix:(0,n.jsx)(p.A,{style:{color:"var(--colorWarning)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.chunksCount"),value:H.totalChunks,prefix:(0,n.jsx)(b.A,{style:{color:"var(--colorOk)"}})})}),(0,n.jsx)(u.A,{xs:12,sm:6,children:(0,n.jsx)(x.A,{title:I("knowledge.averageSize"),value:H.count>0?(0,N.z3)(H.totalSize/H.count):"—",prefix:(0,n.jsx)(v.A,{style:{color:"var(--colorDanger)"}})})})]})]}),O&&(0,n.jsx)(h.A,{title:I("knowledge.features"),size:"small",children:(0,n.jsxs)(m.A,{size:"small",column:{xs:1,sm:2},bordered:!0,children:[(0,n.jsx)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(C.A,{style:{marginRight:4}}),I("knowledge.vectorStore")]}),children:(0,n.jsx)(j.A,{color:"blue",children:O.vectorStore})}),(0,n.jsx)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(b.A,{style:{marginRight:4}}),I("knowledge.embedding")]}),children:(0,n.jsx)(j.A,{color:"purple",children:O.embeddingProvider})}),(0,n.jsxs)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S.A,{style:{marginRight:4}}),I("knowledge.featureDedup")]}),children:[(0,n.jsx)(j.A,{color:"green",children:O.dedupEngine}),(0,n.jsx)("div",{className:"text-xs",style:{color:"var(--colorTextSecondary)",marginTop:2},children:I("knowledge.featureDedupDesc")})]}),(0,n.jsxs)(m.A.Item,{label:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(z.A,{style:{marginRight:4}}),I("knowledge.featureChunker")]}),children:[(0,n.jsx)(j.A,{color:"orange",children:O.chunker}),(0,n.jsx)("div",{className:"text-xs",style:{color:"var(--colorTextSecondary)",marginTop:2},children:I("knowledge.featureChunkerDesc")})]}),(null==(e=O.builtinExtractors)?void 0:e.length)>0&&(0,n.jsx)(m.A.Item,{label:I("knowledge.builtinExtractors"),span:2,children:(0,n.jsx)(c.A,{wrap:!0,children:O.builtinExtractors.map(e=>(0,n.jsx)(j.A,{color:"cyan",children:e},e))})})]})})]})}},54178:(e,l,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/manage",function(){return t(50423)}])}},e=>{e.O(0,[433,787,403,636,593,792],()=>e(e.s=54178)),_N_E=e.O()}]);
|