@customize-agent/server 4.0.36 → 4.0.38
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 +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/chunks/3298.js +27 -27
- 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/asset-library.html +1 -1
- package/.next/server/pages/context/long-term.html +1 -1
- package/.next/server/pages/context/short-term.html +1 -1
- package/.next/server/pages/document-roles.html +1 -1
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge/search.html +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages-manifest.json +21 -21
- package/.next/static/{NkOCn8zhFFJRwv5C5Oqd- → Sot4sYAuOAcqfDiz4v0aX}/_buildManifest.js +1 -1
- package/.next/static/chunks/pages/document-roles-58926c89ba0f2c15.js +1 -0
- package/package.json +1 -1
- package/.next/static/chunks/pages/document-roles-cb222be93cfd561d.js +0 -1
- /package/.next/static/{NkOCn8zhFFJRwv5C5Oqd- → Sot4sYAuOAcqfDiz4v0aX}/_ssgManifest.js +0 -0
|
@@ -1,60 +1,60 @@
|
|
|
1
1
|
{
|
|
2
2
|
"/_app": "pages/_app.js",
|
|
3
3
|
"/_error": "pages/_error.js",
|
|
4
|
-
"/api/
|
|
4
|
+
"/api/config/models": "pages/api/config/models.js",
|
|
5
5
|
"/api/assets/generated/preview": "pages/api/assets/generated/preview.js",
|
|
6
6
|
"/api/config/embedding/healthCheck": "pages/api/config/embedding/healthCheck.js",
|
|
7
|
-
"/api/config/models": "pages/api/config/models.js",
|
|
8
|
-
"/api/context": "pages/api/context.js",
|
|
9
|
-
"/api/documents/chapter/regenerate": "pages/api/documents/chapter/regenerate.js",
|
|
10
7
|
"/api/documents/drafts": "pages/api/documents/drafts.js",
|
|
8
|
+
"/api/documents/generated/[id]": "pages/api/documents/generated/[id].js",
|
|
11
9
|
"/api/documents/generate": "pages/api/documents/generate.js",
|
|
10
|
+
"/api/context": "pages/api/context.js",
|
|
11
|
+
"/api/documents/chapter/regenerate": "pages/api/documents/chapter/regenerate.js",
|
|
12
12
|
"/api/documents/generated": "pages/api/documents/generated.js",
|
|
13
|
-
"/api/documents/generated/[id]": "pages/api/documents/generated/[id].js",
|
|
14
|
-
"/api/health": "pages/api/health.js",
|
|
15
|
-
"/api/documents/templates": "pages/api/documents/templates.js",
|
|
16
13
|
"/api/documents/roles": "pages/api/documents/roles.js",
|
|
17
14
|
"/api/jobs/[id]": "pages/api/jobs/[id].js",
|
|
15
|
+
"/api/assets/generated": "pages/api/assets/generated.js",
|
|
18
16
|
"/api/jobs": "pages/api/jobs.js",
|
|
19
17
|
"/api/kb/categories": "pages/api/kb/categories.js",
|
|
20
18
|
"/api/kb/duplicates": "pages/api/kb/duplicates.js",
|
|
19
|
+
"/api/documents/templates": "pages/api/documents/templates.js",
|
|
21
20
|
"/api/kb/files/detail": "pages/api/kb/files/detail.js",
|
|
22
|
-
"/api/kb/features": "pages/api/kb/features.js",
|
|
23
21
|
"/api/kb/files/open": "pages/api/kb/files/open.js",
|
|
22
|
+
"/api/health": "pages/api/health.js",
|
|
24
23
|
"/api/kb/files/reindex": "pages/api/kb/files/reindex.js",
|
|
24
|
+
"/api/kb/features": "pages/api/kb/features.js",
|
|
25
|
+
"/api/kb/files/search": "pages/api/kb/files/search.js",
|
|
25
26
|
"/api/kb/files": "pages/api/kb/files.js",
|
|
26
|
-
"/api/kb/operations": "pages/api/kb/operations.js",
|
|
27
|
-
"/api/kb/ignore": "pages/api/kb/ignore.js",
|
|
28
27
|
"/api/kb/reindex": "pages/api/kb/reindex.js",
|
|
29
|
-
"/api/kb/files/search": "pages/api/kb/files/search.js",
|
|
30
|
-
"/api/kb/search": "pages/api/kb/search.js",
|
|
31
|
-
"/api/kb/tags": "pages/api/kb/tags.js",
|
|
32
28
|
"/api/kb/stats": "pages/api/kb/stats.js",
|
|
29
|
+
"/api/kb/tags": "pages/api/kb/tags.js",
|
|
30
|
+
"/api/kb/operations": "pages/api/kb/operations.js",
|
|
31
|
+
"/api/kb/search": "pages/api/kb/search.js",
|
|
33
32
|
"/api/kb/upload/progress": "pages/api/kb/upload/progress.js",
|
|
34
|
-
"/api/prompt": "pages/api/prompt.js",
|
|
35
33
|
"/api/system/logs": "pages/api/system/logs.js",
|
|
36
34
|
"/api/system/stats": "pages/api/system/stats.js",
|
|
35
|
+
"/api/prompt": "pages/api/prompt.js",
|
|
37
36
|
"/asset-library": "pages/asset-library.html",
|
|
38
37
|
"/context/long-term": "pages/context/long-term.html",
|
|
39
38
|
"/context/short-term": "pages/context/short-term.html",
|
|
40
|
-
"/
|
|
39
|
+
"/api/kb/ignore": "pages/api/kb/ignore.js",
|
|
41
40
|
"/documents": "pages/documents.html",
|
|
41
|
+
"/document-roles": "pages/document-roles.html",
|
|
42
42
|
"/guide": "pages/guide.html",
|
|
43
|
-
"/": "pages/index.html",
|
|
44
43
|
"/knowledge/file-detail": "pages/knowledge/file-detail.html",
|
|
45
44
|
"/knowledge/files": "pages/knowledge/files.html",
|
|
46
|
-
"/
|
|
45
|
+
"/": "pages/index.html",
|
|
47
46
|
"/knowledge/manage": "pages/knowledge/manage.html",
|
|
48
|
-
"/knowledge/search": "pages/knowledge/search.html",
|
|
49
47
|
"/models": "pages/models.html",
|
|
50
48
|
"/overview": "pages/overview.html",
|
|
51
49
|
"/prompt": "pages/prompt.html",
|
|
52
|
-
"/
|
|
50
|
+
"/knowledge": "pages/knowledge.html",
|
|
53
51
|
"/settings": "pages/settings.html",
|
|
52
|
+
"/knowledge/search": "pages/knowledge/search.html",
|
|
53
|
+
"/api/config/embedding": "pages/api/config/embedding.js",
|
|
54
54
|
"/api/config/healthCheck": "pages/api/config/healthCheck.js",
|
|
55
|
-
"/api/config/providers": "pages/api/config/providers.js",
|
|
56
55
|
"/api/config/providers/[provider]": "pages/api/config/providers/[provider].js",
|
|
57
|
-
"/
|
|
56
|
+
"/system/logs": "pages/system/logs.html",
|
|
57
|
+
"/api/config/providers": "pages/api/config/providers.js",
|
|
58
58
|
"/api/kb/files/preview-pdf-page": "pages/api/kb/files/preview-pdf-page.js",
|
|
59
59
|
"/api/kb/upload": "pages/api/kb/upload.js",
|
|
60
60
|
"/api/prompt/chat": "pages/api/prompt/chat.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,e,t,c,a,n,d,i,r,u,o,k,b,
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,e,t,c,a,n,d,i,r,u,o,k,f,b,g,h,l,j,m){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:f,bitArray:[]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:f,bitArray:[]},"/":[s,e,b,g,"static/chunks/pages/index-a2a24e9602e7ea52.js"],"/_error":["static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":[s,e,n,"static/chunks/749-83476f9bcd014a5a.js","static/chunks/pages/asset-library-e9ddfe1cbaac42d9.js"],"/context/long-term":[s,e,t,c,a,n,d,i,h,"static/chunks/pages/context/long-term-6b9a9683a4d6ea86.js"],"/context/short-term":[s,e,t,c,a,n,d,i,h,"static/chunks/pages/context/short-term-6078efae6e3a905c.js"],"/document-roles":[s,e,t,c,i,"static/chunks/496-4fb9a063790e65ff.js","static/chunks/pages/document-roles-58926c89ba0f2c15.js"],"/documents":[s,e,t,c,i,u,l,"static/chunks/53-d534407b1397d66a.js","static/chunks/pages/documents-fc1a4fdb681f49a2.js"],"/guide":[s,e,l,"static/chunks/20-00147a779147a5a4.js","static/chunks/pages/guide-7d15d3d3ddb0205e.js"],"/knowledge":["static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":[s,e,t,a,n,d,u,j,o,"static/chunks/pages/knowledge/file-detail-97c77dfaf472a4b6.js"],"/knowledge/files":[s,e,t,a,n,d,o,"static/chunks/pages/knowledge/files-75a33100a1b3b5b5.js"],"/knowledge/manage":[s,e,u,"static/chunks/788-7f7359a830e3f4fd.js","static/chunks/pages/knowledge/manage-25eb1a993b155450.js"],"/knowledge/search":[s,e,t,u,m,o,"static/chunks/pages/knowledge/search-afb423fc22eb623b.js"],"/models":[s,e,t,c,a,i,m,"static/chunks/647-d5e08fda405f7059.js","static/chunks/pages/models-d5e80645dc4a61b1.js"],"/overview":[s,e,b,g,"static/chunks/pages/overview-1260176045ed5f7a.js"],"/prompt":[s,e,t,c,a,"static/chunks/525-5d947137d894f5fe.js","static/chunks/pages/prompt-9b869fbe3463020d.js"],"/settings":[s,e,"static/chunks/pages/settings-fa9d6a56898ba678.js"],"/system/logs":[s,t,c,a,n,d,j,"static/chunks/pages/system/logs-3826fa44a76b12fc.js"],sortedPages:["/","/_app","/_error","/asset-library","/context/long-term","/context/short-term","/document-roles","/documents","/guide","/knowledge","/knowledge/file-detail","/knowledge/files","/knowledge/manage","/knowledge/search","/models","/overview","/prompt","/settings","/system/logs"]}}("static/chunks/433-233659be69169c19.js","static/chunks/787-c18af810af3433f6.js","static/chunks/576-6699fed6c88502fe.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/985-4b4a3ed36ada16eb.js","static/chunks/150-134099bf526e9292.js","static/chunks/289-30e7c55f49a896b7.js","static/chunks/455-97ad88d6604f54b7.js",0,"static/chunks/506-93f730bc149d0dce.js","static/css/09be1fdeab8595ab.css",1e-4,NaN,"static/chunks/694-2d545cfbb9779f2c.js","static/chunks/795-d8fb7a0420512701.js","static/chunks/932-2f195f4200ce9378.js","static/chunks/412-b9c854c6a76db67d.js","static/chunks/861-91cbdd34b8e23151.js","static/chunks/938-45efd516bb130bd5.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -0,0 +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:()=>Z});var i=r(65321),n=r(97109),t=r(35292),s=r(11702),o=r(17807),a=r(63455),c=r(84253),d=r(33442),p=r(68787),x=r(85114),m=r(26171),h=r(57271),u=r(85493),f=r(34052),y=r(7576),g=r(2256),j=r(38770),A=r(58569),v=r(25345),b=r(43979),w=r(80042),S=r(75548),I=r(26631),z=r(84662),T=r(30486),R=r(99650),k=r(8263),C=r(84742),B=r(43094),F=r(8579),_=r(81668),N=r(58209),O=r(96091),W=r(54746),E=r(96651),D=r(60470),H=r(6578),P=r(79059);let{Paragraph:U}=t.A,L={rule:(0,i.jsx)(v.A,{}),project_fact:(0,i.jsx)(b.A,{}),table:(0,i.jsx)(w.A,{}),drawing:(0,i.jsx)(S.A,{}),specification:(0,i.jsx)(I.A,{}),reference:(0,i.jsx)(z.A,{})},q={fact_extraction:(0,i.jsx)(T.A,{}),chapter_generation:(0,i.jsx)(R.A,{}),llm_review:(0,i.jsx)(k.A,{}),validation:(0,i.jsx)(C.A,{}),formatting:(0,i.jsx)(B.A,{}),reference:(0,i.jsx)(z.A,{})},V={rule:"#fa8c16",project_fact:"#1677ff",table:"#52c41a",drawing:"#722ed1",specification:"#eb2f96",reference:"#13c2c2"},G={fact_extraction:"#fa8c16",chapter_generation:"#1677ff",llm_review:"#722ed1",validation:"#52c41a",formatting:"#eb2f96",reference:"#13c2c2"},Q={rule:"roles.ruleFile",project_fact:"roles.projectFactFile",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"},M=e=>(0,i.jsx)(s.A,{closable:e.closable,onClose:e.onClose,color:"blue",style:{margin:"1px 2px",fontSize:11,lineHeight:"18px"},children:e.label});function X(e,l){let r=new Blob([JSON.stringify(l,null,2)],{type:"application/json;charset=utf-8"}),i=URL.createObjectURL(r),n=document.createElement("a");n.href=i,n.download=e,n.click(),URL.revokeObjectURL(i)}function K(e){return e.trim().replace(/[\\/:*?"<>|]/g,"-").slice(0,80)||"untitled"}function Y(e,l){return{type:"customize-agent.documentRoles",version:1,exportedAt:new Date().toISOString(),roles:e,configs:l}}function Z(){let e,l,r=(0,P.Vr)(),{message:t}=o.A.useApp(),[v]=a.A.useForm(),[b]=a.A.useForm(),[w,S]=(0,n.useState)([]),[z,T]=(0,n.useState)([]),[k,C]=(0,n.useState)([]),[B,Z]=(0,n.useState)(!1),[$,ee]=(0,n.useState)([]),[el,er]=(0,n.useState)(!1),[ei,en]=(0,n.useState)(!1),[et,es]=(0,n.useState)(!1),[eo,ea]=(0,n.useState)("file"),[ec,ed]=(0,n.useState)("custom"),[ep,ex]=(0,n.useState)(!1),em=(0,n.useRef)(null),eh=async()=>{let[e,l,r]=await Promise.all([(0,H.lv)(),(0,H.nU)({limit:200,includeContent:!1}),(0,H.dx)()]);S(e.roles),T(e.configs),C(l.files),ee(r)};(0,n.useEffect)(()=>{eh().catch(()=>t.error(r("common.error")))},[t,r]);let eu=()=>"all"===ec||"custom"===ec,ef=w.filter(eu),ey=z.filter(eu),eg=ef.filter(e=>"file"===e.type),ej=ef.filter(e=>"prompt"===e.type),eA=w.filter(e=>"file"===e.type),ev=w.filter(e=>"prompt"===e.type),eb=async()=>{try{let e=await v.validateFields(),l=await (0,H.dg)(e);S(l.roles),T(l.configs),er(!1),t.success(r("common.success"))}catch(e){t.error(r("common.error"))}},ew=async()=>{try{let e=await b.validateFields(),l=e=>(null!=e?e:[]).map((e,l)=>{var r;return{roleId:e.roleId,order:Number(null!=(r=e.order)?r:l)}}),i=await (0,H.NR)({...e,fileRoles:l(e.fileRoles),promptRoles:l(e.promptRoles)});S(i.roles),T(i.configs),en(!1),t.success(r("common.success"))}catch(e){t.error(r("common.error"))}},eS=async e=>{let l=await (0,H.FV)(e.type,e.id);S(l.roles),T(l.configs)},eI=async e=>{let l=await (0,H.dw)(e);S(l.roles),T(l.configs)},ez=async e=>{if(e){ex(!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 i=await r.json();S(i.roles),T(i.configs),t.success("已导入 ".concat(i.importedRoles," 个角色、").concat(i.importedConfigs," 个配置"))}catch(e){t.error("导入失败,请确认 JSON 文件格式正确")}finally{ex(!1),em.current&&(em.current.value="")}}},eT=function(e){var l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"file";v.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}),er(!0)},eR=e=>{b.setFieldsValue(null!=e?e:{id:"config-".concat(Date.now()),name:"",description:"",fileRoles:[],promptRoles:[],builtIn:!1}),en(!0)},ek=e=>w.find(l=>l.id===e),eC=e=>{var l;return e?(null==(l=e.resourceIds)?void 0:l.length)?e.resourceIds:e.resourceId?[e.resourceId]:[]:[]},eB=(e,l)=>{let n="file"===l?"blue":"purple",t="file"===l?Q:J,o=[...e].sort((e,l)=>{var r,i;return Number(null!=(r=e.order)?r:0)-Number(null!=(i=l.order)?i:0)}).map(e=>ek(e.roleId)).filter(e=>!!e);return 0===o.length?(0,i.jsx)(c.A,{image:c.A.PRESENTED_IMAGE_SIMPLE,description:"file"===l?"暂未选择文件角色":"暂未选择提示词角色"}):(0,i.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:o.map((e,l)=>{var o,a;let c=eC(e),d="file"===e.type?null!=(o=e.processingType)?o:"":null!=(a=e.executionType)?a:"";return(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 8px",borderRadius:8,background:"var(--colorBgContainer)",border:"1px solid var(--colorBorderSecondary)"},children:[(0,i.jsxs)(s.A,{color:n,style:{margin:0},children:["#",l+1]}),(0,i.jsx)("span",{style:{fontWeight:600,flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,i.jsx)(s.A,{style:{margin:0},children:r(t[d]||"roles.reference")}),(0,i.jsxs)("span",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:["绑定 ",c.length," 个资源"]})]},e.id)})})},eF=e=>{if(!e)return null;let l=eC(e);return(0,i.jsxs)("div",{style:{marginTop:8,padding:8,borderRadius:8,background:"var(--colorFillQuaternary)",fontSize:12,color:"var(--colorTextSecondary)"},children:[e.description&&(0,i.jsx)("div",{style:{marginBottom:4},children:e.description}),(0,i.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[l.slice(0,4).map(e=>(0,i.jsx)(s.A,{style:{margin:0,fontSize:10,lineHeight:"16px",maxWidth:180,overflow:"hidden",textOverflow:"ellipsis"},children:e},e)),l.length>4&&(0,i.jsxs)(s.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",l.length-4]}),0===l.length&&(0,i.jsx)("span",{children:"未绑定资源"})]})]})},e_=async e=>{Z(!0);try{let l=await (0,H.nU)({query:e,limit:80,includeContent:!!e.trim()});C(l.files)}catch(e){t.error("知识库文件检索失败")}finally{Z(!1)}},eN=k.map(e=>({label:(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:8},children:[(0,i.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.relativePath}),(0,i.jsxs)(d.A,{size:4,children:[(0,i.jsx)(s.A,{color:"content"===e.matchedBy?"purple":"disk"===e.matchedBy?"orange":"blue",style:{margin:0},children:"content"===e.matchedBy?"内容":"disk"===e.matchedBy?"磁盘":"文件"}),(0,i.jsx)(s.A,{style:{margin:0},children:e.status})]})]}),value:e.relativePath}));return(0,i.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h1",{className:"pageTitle",children:r("roles.title")}),(0,i.jsx)("p",{className:"pageDesc",children:r("roles.description")})]}),(0,i.jsxs)(d.A,{children:[(0,i.jsx)(h.A,{value:ec,onChange:ed,style:{width:170},options:[{label:"我的配置 (".concat(w.length+z.length,")"),value:"custom"},{label:"全部来源 (".concat(w.length+z.length,")"),value:"all"}]}),(0,i.jsx)("input",{ref:em,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:e=>{var l;ez(null==(l=e.target.files)?void 0:l[0])}}),(0,i.jsx)(x.Ay,{icon:(0,i.jsx)(O.A,{}),loading:ep,onClick:()=>{var e;return null==(e=em.current)?void 0:e.click()},children:"导入"}),(0,i.jsx)(x.Ay,{icon:(0,i.jsx)(_.A,{}),disabled:w.length+z.length===0,onClick:()=>{X("customize-document-roles-".concat(new Date().toISOString().slice(0,10),".json"),Y(w,z)),t.success("已导出 ".concat(w.length," 个角色、").concat(z.length," 个配置"))},children:"导出全部"}),(0,i.jsx)(x.Ay,{icon:(0,i.jsx)(W.A,{}),onClick:()=>eT(void 0,"file"),children:r("roles.newFileRole")}),(0,i.jsx)(x.Ay,{icon:(0,i.jsx)(W.A,{}),onClick:()=>eT(void 0,"prompt"),children:r("roles.newPromptRole")}),(0,i.jsx)(x.Ay,{type:"primary",icon:(0,i.jsx)(W.A,{}),onClick:()=>eR(),children:r("roles.newConfig")})]})]}),(0,i.jsx)(u.A,{type:"info",showIcon:!0,message:(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,i.jsx)("span",{children:r("roles.plainGuideTitle")}),(0,i.jsx)(x.Ay,{type:"link",size:"small",icon:et?(0,i.jsx)(E.A,{}):(0,i.jsx)(D.A,{}),onClick:()=>es(!et),style:{padding:"0 4px"},children:et?"收起说明":"展开说明"})]}),description:et?r("roles.plainGuideDesc"):void 0}),(0,i.jsx)(p.A,{size:"small",tabList:[{key:"file",label:"文件角色 (".concat(eg.length,")")},{key:"prompt",label:"提示词角色 (".concat(ej.length,")")},{key:"configs",label:"项目角色配置 (".concat(ey.length,")")}],activeTabKey:eo,onTabChange:ea,children:"configs"===eo?0===ey.length?(0,i.jsx)(c.A,{description:r("common.noData")}):(0,i.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))",gap:12},children:ey.map(e=>{let l=e.fileRoles.map(e=>({...e,role:ek(e.roleId)})).filter(e=>e.role),n=e.promptRoles.map(e=>({...e,role:ek(e.roleId)})).filter(e=>e.role);return(0,i.jsxs)(p.A,{size:"small",hoverable:!0,style:{minWidth:0},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8,marginBottom:6},children:[(0,i.jsx)("span",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:e.name}),(0,i.jsx)(s.A,{color:"cyan",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"我的配置"}),(0,i.jsxs)("div",{style:{display:"flex",gap:4,flexShrink:0},children:[(0,i.jsx)(x.Ay,{size:"small",icon:(0,i.jsx)(R.A,{}),onClick:()=>eR(e),children:"编辑"}),!e.builtIn&&(0,i.jsx)(x.Ay,{size:"small",icon:(0,i.jsx)(_.A,{}),onClick:()=>(e=>{let l=new Set([...e.fileRoles.map(e=>e.roleId),...e.promptRoles.map(e=>e.roleId)]);X("customize-role-config-".concat(K(e.name),"-").concat(new Date().toISOString().slice(0,10),".json"),Y(w.filter(e=>l.has(e.id)&&!e.builtIn),[e])),t.success("已导出 1 个配置")})(e),children:"导出"}),(0,i.jsx)(m.A,{title:r("common.confirm"),onConfirm:()=>{eI(e.id)},children:(0,i.jsx)(x.Ay,{size:"small",danger:!0,icon:(0,i.jsx)(N.A,{})})})]})]}),e.description&&(0,i.jsx)(U,{ellipsis:{rows:2},style:{fontSize:12,color:"var(--colorTextSecondary)",marginBottom:8},children:e.description}),(0,i.jsxs)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:[(0,i.jsxs)("div",{style:{marginBottom:4},children:[(0,i.jsxs)("span",{children:["文件角色 (",e.fileRoles.length,"): "]}),l.length>0?(0,i.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:2},children:[l.slice(0,4).map(e=>(0,i.jsx)(s.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px"},children:e.role.name},e.roleId)),l.length>4&&(0,i.jsxs)(s.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",l.length-4]})]}):(0,i.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"无"})]}),(0,i.jsxs)("div",{children:[(0,i.jsxs)("span",{children:["提示词角色 (",e.promptRoles.length,"): "]}),n.length>0?(0,i.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:2},children:[n.slice(0,4).map(e=>(0,i.jsx)(s.A,{color:"purple",style:{margin:0,fontSize:10,lineHeight:"16px"},children:e.role.name},e.roleId)),n.length>4&&(0,i.jsxs)(s.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",n.length-4]})]}):(0,i.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"无"})]})]})]},e.id)})}):(e="file"===eo?eg:ej,l=r,0===e.length?(0,i.jsx)(c.A,{description:r("common.noData")}):(0,i.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(270px, 1fr))",gap:12},children:e.map(e=>{var n,o,a,c,d,h,u,f,y;let g=(null==(n=e.resourceIds)?void 0:n.length)?e.resourceIds:e.resourceId?[e.resourceId]:[],j=g.slice(0,3),A=g.length-j.length,v="file"===e.type?null!=(a=L[null!=(o=e.processingType)?o:""])?a:(0,i.jsx)(I.A,{}):null!=(d=q[null!=(c=e.executionType)?c:""])?d:(0,i.jsx)(F.A,{}),b="file"===e.type?null!=(u=V[null!=(h=e.processingType)?h:""])?u:"var(--colorAccent)":null!=(y=G[null!=(f=e.executionType)?f:""])?y:"var(--colorWarning)";return(0,i.jsxs)(p.A,{size:"small",hoverable:!0,style:{minWidth:0},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8,marginBottom:8},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0,flex:1},children:[(0,i.jsx)("span",{style:{color:b,fontSize:16,flexShrink:0,lineHeight:1},children:v}),(0,i.jsx)("span",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:"20px"},children:e.name})]}),(0,i.jsx)("div",{style:{display:"flex",gap:4,flexShrink:0},children:(0,i.jsx)(s.A,{color:"cyan",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"我的角色"})})]}),e.description&&(0,i.jsx)(U,{ellipsis:{rows:2},style:{fontSize:12,color:"var(--colorTextSecondary)",marginBottom:8},children:e.description}),(0,i.jsxs)("div",{style:{marginBottom:8,display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,i.jsx)(s.A,{color:"file"===e.type?"blue":"purple",style:{margin:0},children:function(e,l){var r,i,n;let t="file"===e.type?Q[null!=(r=e.processingType)?r:""]:J[null!=(i=e.executionType)?i:""];return t?l(t):null!=(n="file"===e.type?e.processingType:e.executionType)?n:""}(e,l)}),g.length>0&&(0,i.jsxs)("span",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:["绑定 ",g.length," 个资源"]})]}),j.length>0&&(0,i.jsx)("div",{style:{marginBottom:10},children:(0,i.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[j.map(e=>(0,i.jsx)(s.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px",maxWidth:140,overflow:"hidden",textOverflow:"ellipsis"},children:e},e)),A>0&&(0,i.jsxs)(s.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",A]})]})}),(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:6,paddingTop:4,borderTop:"1px solid var(--colorBorderSecondary)"},children:[(0,i.jsx)(x.Ay,{size:"small",icon:(0,i.jsx)(R.A,{}),onClick:()=>eT(e),children:"编辑"}),!e.builtIn&&(0,i.jsx)(x.Ay,{size:"small",icon:(0,i.jsx)(_.A,{}),onClick:()=>{X("customize-role-".concat(K(e.name),"-").concat(new Date().toISOString().slice(0,10),".json"),Y([e],[])),t.success("已导出 1 个角色")},children:"导出"}),(0,i.jsx)(m.A,{title:r("common.confirm"),onConfirm:()=>{eS(e)},children:(0,i.jsx)(x.Ay,{size:"small",danger:!0,icon:(0,i.jsx)(N.A,{})})})]})]},e.id)})}))}),(0,i.jsx)(f.A,{title:r("roles.roleEditor"),open:el,onClose:()=>er(!1),width:800,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,i.jsx)(x.Ay,{type:"primary",onClick:()=>{eb()},children:r("common.save")}),children:(0,i.jsxs)(a.A,{form:v,layout:"vertical",children:[(0,i.jsx)(a.A.Item,{name:"id",hidden:!0,children:(0,i.jsx)(y.A,{})}),(0,i.jsxs)(g.A,{gutter:16,children:[(0,i.jsx)(j.A,{span:12,children:(0,i.jsx)(a.A.Item,{name:"type",label:r("roles.roleType"),rules:[{required:!0}],children:(0,i.jsx)(h.A,{options:[{label:r("roles.fileRole"),value:"file"},{label:r("roles.promptRole"),value:"prompt"}]})})}),(0,i.jsx)(j.A,{span:12,children:(0,i.jsx)(a.A.Item,{name:"name",label:r("roles.roleName"),rules:[{required:!0}],children:(0,i.jsx)(y.A,{})})})]}),(0,i.jsx)(a.A.Item,{name:"description",label:r("roles.roleDescription"),children:(0,i.jsx)(y.A.TextArea,{rows:2})}),(0,i.jsx)(a.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.type!==l.type,children:e=>{let{getFieldValue:l}=e,n="prompt"===l("type");return(0,i.jsx)(p.A,{size:"small",title:n?"提示词角色配置":"文件角色配置",style:{border:"1px solid var(--colorBorderSecondary)"},children:n?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.A.Item,{name:"executionType",label:r("roles.executionType"),rules:[{required:!0}],style:{marginBottom:12},children:(0,i.jsx)(h.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,i.jsx)(a.A.Item,{name:"resourceIds",label:r("roles.bindPrompt"),style:{marginBottom:0},help:(0,i.jsx)("span",{style:{fontSize:11,color:"var(--colorTextSecondary)"},children:r("roles.multiBindPromptHelp")}),children:(0,i.jsx)(h.A,{mode:"multiple",showSearch:!0,tagRender:M,placeholder:"选择提示词",options:$.filter(e=>e.hasFile).map(e=>({label:e.projectName,value:e.id}))})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.A.Item,{name:"processingType",label:r("roles.processingType"),rules:[{required:!0}],style:{marginBottom:12},children:(0,i.jsx)(h.A,{options:[{label:r("roles.ruleFile"),value:"rule"},{label:r("roles.projectFactFile"),value:"project_fact"},{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,i.jsx)(a.A.Item,{name:"resourceIds",label:r("roles.bindFile"),style:{marginBottom:0},help:(0,i.jsx)("span",{style:{fontSize:11,color:"var(--colorTextSecondary)"},children:r("roles.multiBindFileHelp")}),children:(0,i.jsx)(h.A,{mode:"multiple",showSearch:!0,filterOption:!1,loading:B,onSearch:e=>{e_(e)},onFocus:()=>{e_("")},tagRender:M,placeholder:"输入关键词搜索知识库文件",options:eN,optionLabelProp:"value"})})]})})}})]})}),(0,i.jsx)(f.A,{title:r("roles.configEditor"),open:ei,onClose:()=>en(!1),width:800,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,i.jsx)(x.Ay,{type:"primary",onClick:()=>{ew()},children:r("common.save")}),children:(0,i.jsxs)(a.A,{form:b,layout:"vertical",children:[(0,i.jsx)(a.A.Item,{name:"id",hidden:!0,children:(0,i.jsx)(y.A,{})}),(0,i.jsxs)(g.A,{gutter:16,children:[(0,i.jsx)(j.A,{span:12,children:(0,i.jsx)(a.A.Item,{name:"name",label:r("roles.configName"),rules:[{required:!0}],children:(0,i.jsx)(y.A,{})})}),(0,i.jsx)(j.A,{span:12,children:(0,i.jsx)(a.A.Item,{name:"description",label:r("roles.configDescription"),children:(0,i.jsx)(y.A,{})})})]}),(0,i.jsx)(a.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.fileRoles!==l.fileRoles||e.promptRoles!==l.promptRoles,children:e=>{let{getFieldValue:l}=e,n=l("fileRoles")||[],t=l("promptRoles")||[];return(0,i.jsx)(A.A,{destroyInactiveTabPane:!1,items:[{key:"file",label:"文件角色 (".concat(n.length,"/").concat(eA.length,")"),children:(0,i.jsx)(a.A.List,{name:"fileRoles",children:(e,l)=>{let{add:t,remove:s}=l;return(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,i.jsx)(p.A,{size:"small",title:"已选文件角色",style:{background:"var(--colorFillQuaternary)"},children:eB(n,"file")}),0===e.length&&(0,i.jsx)(c.A,{description:"暂未添加文件角色"}),e.map((e,l)=>(0,i.jsxs)(p.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,i.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,i.jsx)(x.Ay,{danger:!0,size:"small",icon:(0,i.jsx)(N.A,{}),onClick:()=>s(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,i.jsxs)(g.A,{gutter:[16,8],align:"middle",style:{marginTop:4},children:[(0,i.jsxs)(j.A,{flex:"auto",children:[(0,i.jsx)(a.A.Item,{name:[e.name,"roleId"],label:"文件角色",rules:[{required:!0}],style:{marginBottom:0},children:(0,i.jsx)(h.A,{placeholder:"选择文件角色",size:"small",options:eA.map(e=>{var l;return{label:"".concat(e.name," (").concat(r(Q[null!=(l=e.processingType)?l:""]||"roles.reference"),")"),value:e.id}})})}),(0,i.jsx)(a.A.Item,{noStyle:!0,shouldUpdate:!0,children:l=>{let{getFieldValue:r}=l;return eF(ek(r(["fileRoles",e.name,"roleId"])))}})]}),(0,i.jsx)(j.A,{style:{width:90},children:(0,i.jsx)(a.A.Item,{name:[e.name,"order"],label:"排序",initialValue:l,style:{marginBottom:0},children:(0,i.jsx)(y.A,{type:"number",size:"small"})})})]})]},e.key)),(0,i.jsx)(x.Ay,{icon:(0,i.jsx)(W.A,{}),onClick:()=>t({order:e.length}),children:r("roles.addRole")})]})}})},{key:"prompt",label:"提示词角色 (".concat(t.length,"/").concat(ev.length,")"),children:(0,i.jsx)(a.A.List,{name:"promptRoles",children:(e,l)=>{let{add:n,remove:s}=l;return(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,i.jsx)(p.A,{size:"small",title:"已选提示词角色",style:{background:"var(--colorFillQuaternary)"},children:eB(t,"prompt")}),0===e.length&&(0,i.jsx)(c.A,{description:"暂未添加提示词角色"}),e.map((e,l)=>(0,i.jsxs)(p.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,i.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,i.jsx)(x.Ay,{danger:!0,size:"small",icon:(0,i.jsx)(N.A,{}),onClick:()=>s(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,i.jsxs)(g.A,{gutter:[16,8],align:"middle",style:{marginTop:4},children:[(0,i.jsxs)(j.A,{flex:"auto",children:[(0,i.jsx)(a.A.Item,{name:[e.name,"roleId"],label:"提示词角色",rules:[{required:!0}],style:{marginBottom:0},children:(0,i.jsx)(h.A,{placeholder:"选择提示词角色",size:"small",options:ev.map(e=>{var l;return{label:"".concat(e.name," (").concat(r(J[null!=(l=e.executionType)?l:""]||"roles.reference"),")"),value:e.id}})})}),(0,i.jsx)(a.A.Item,{noStyle:!0,shouldUpdate:!0,children:l=>{let{getFieldValue:r}=l;return eF(ek(r(["promptRoles",e.name,"roleId"])))}})]}),(0,i.jsx)(j.A,{style:{width:90},children:(0,i.jsx)(a.A.Item,{name:[e.name,"order"],label:"排序",initialValue:l,style:{marginBottom:0},children:(0,i.jsx)(y.A,{type:"number",size:"small"})})})]})]},e.key)),(0,i.jsx)(x.Ay,{icon:(0,i.jsx)(W.A,{}),onClick:()=>n({order:e.length}),children:r("roles.addRole")})]})}})}]})}})]})})]})}}},e=>{e.O(0,[433,787,576,195,455,496,636,593,792],()=>e(e.s=23507)),_N_E=e.O()}]);
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[623],{23507:(e,l,i)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/document-roles",function(){return i(59889)}])},59889:(e,l,i)=>{"use strict";i.r(l),i.d(l,{default:()=>Z});var r=i(65321),n=i(97109),t=i(35292),s=i(11702),o=i(17807),a=i(63455),c=i(33442),d=i(84253),p=i(68787),x=i(85114),m=i(26171),h=i(57271),u=i(85493),f=i(34052),y=i(7576),j=i(2256),g=i(38770),A=i(58569),v=i(25345),b=i(43979),w=i(80042),S=i(75548),I=i(26631),z=i(84662),T=i(30486),C=i(99650),k=i(8263),R=i(84742),B=i(43094),F=i(8579),_=i(81668),O=i(58209),N=i(96091),D=i(54746),W=i(96651),H=i(60470),E=i(6578),P=i(79059);let{Paragraph:L}=t.A,q={rule:(0,r.jsx)(v.A,{}),project_fact:(0,r.jsx)(b.A,{}),table:(0,r.jsx)(w.A,{}),drawing:(0,r.jsx)(S.A,{}),specification:(0,r.jsx)(I.A,{}),reference:(0,r.jsx)(z.A,{})},U={fact_extraction:(0,r.jsx)(T.A,{}),chapter_generation:(0,r.jsx)(C.A,{}),llm_review:(0,r.jsx)(k.A,{}),validation:(0,r.jsx)(R.A,{}),formatting:(0,r.jsx)(B.A,{}),reference:(0,r.jsx)(z.A,{})},V={rule:"#fa8c16",project_fact:"#1677ff",table:"#52c41a",drawing:"#722ed1",specification:"#eb2f96",reference:"#13c2c2"},G={fact_extraction:"#fa8c16",chapter_generation:"#1677ff",llm_review:"#722ed1",validation:"#52c41a",formatting:"#eb2f96",reference:"#13c2c2"},J={rule:"roles.ruleFile",project_fact:"roles.projectFactFile",table:"roles.tableFile",drawing:"roles.drawingFile",specification:"roles.specificationFile",reference:"roles.reference"},Q={fact_extraction:"roles.factExtraction",chapter_generation:"roles.chapterGeneration",llm_review:"roles.llmReview",validation:"roles.validation",formatting:"roles.formatting",reference:"roles.reference"},X=e=>(0,r.jsx)(s.A,{closable:e.closable,onClose:e.onClose,color:"blue",style:{margin:"1px 2px",fontSize:11,lineHeight:"18px"},children:e.label});function K(e,l){let i=new Blob([JSON.stringify(l,null,2)],{type:"application/json;charset=utf-8"}),r=URL.createObjectURL(i),n=document.createElement("a");n.href=r,n.download=e,n.click(),URL.revokeObjectURL(r)}function M(e){return e.trim().replace(/[\\/:*?"<>|]/g,"-").slice(0,80)||"untitled"}function Y(e,l){return{type:"customize-agent.documentRoles",version:1,exportedAt:new Date().toISOString(),roles:e,configs:l}}function Z(){let e,l,i=(0,P.Vr)(),{message:t}=o.A.useApp(),[v]=a.A.useForm(),[b]=a.A.useForm(),[w,S]=(0,n.useState)([]),[z,T]=(0,n.useState)([]),[k,R]=(0,n.useState)([]),[B,Z]=(0,n.useState)(!1),[$,ee]=(0,n.useState)([]),[el,ei]=(0,n.useState)(!1),[er,en]=(0,n.useState)(!1),[et,es]=(0,n.useState)(!1),[eo,ea]=(0,n.useState)("file"),[ec,ed]=(0,n.useState)("custom"),[ep,ex]=(0,n.useState)(!1),em=(0,n.useRef)(null),eh=async()=>{let[e,l,i]=await Promise.all([(0,E.lv)(),(0,E.nU)({limit:200,includeContent:!1}),(0,E.dx)()]);S(e.roles),T(e.configs),R(l.files),ee(i)};(0,n.useEffect)(()=>{eh().catch(()=>t.error(i("common.error")))},[t,i]);let eu=()=>"all"===ec||"custom"===ec,ef=w.filter(eu),ey=z.filter(eu),ej=ef.filter(e=>"file"===e.type),eg=ef.filter(e=>"prompt"===e.type),eA=w.filter(e=>"file"===e.type),ev=w.filter(e=>"prompt"===e.type),eb=async()=>{try{let e=await v.validateFields(),l=await (0,E.dg)(e);S(l.roles),T(l.configs),ei(!1),t.success(i("common.success"))}catch(e){t.error(i("common.error"))}},ew=async()=>{try{let e=await b.validateFields(),l=e=>(null!=e?e:[]).map((e,l)=>{var i;return{roleId:e.roleId,order:Number(null!=(i=e.order)?i:l)}}),r=await (0,E.NR)({...e,fileRoles:l(e.fileRoles),promptRoles:l(e.promptRoles)});S(r.roles),T(r.configs),en(!1),t.success(i("common.success"))}catch(e){t.error(i("common.error"))}},eS=async e=>{let l=await (0,E.FV)(e.type,e.id);S(l.roles),T(l.configs)},eI=async e=>{let l=await (0,E.dw)(e);S(l.roles),T(l.configs)},ez=async e=>{if(e){ex(!0);try{let l=JSON.parse(await e.text()),i=await fetch("/api/documents/roles?mode=import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!i.ok)throw Error(await i.text());let r=await i.json();S(r.roles),T(r.configs),t.success("已导入 ".concat(r.importedRoles," 个角色、").concat(r.importedConfigs," 个配置"))}catch(e){t.error("导入失败,请确认 JSON 文件格式正确")}finally{ex(!1),em.current&&(em.current.value="")}}},eT=function(e){var l;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"file";v.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:i,resourceIds:[],executionType:"prompt"===i?"reference":void 0,processingType:"file"===i?"reference":void 0}),ei(!0)},eC=e=>{b.setFieldsValue(null!=e?e:{id:"config-".concat(Date.now()),name:"",description:"",fileRoles:[],promptRoles:[],builtIn:!1}),en(!0)},ek=e=>w.find(l=>l.id===e),eR=async e=>{Z(!0);try{let l=await (0,E.nU)({query:e,limit:80,includeContent:!!e.trim()});R(l.files)}catch(e){t.error("知识库文件检索失败")}finally{Z(!1)}},eB=k.map(e=>({label:(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:8},children:[(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.relativePath}),(0,r.jsxs)(c.A,{size:4,children:[(0,r.jsx)(s.A,{color:"content"===e.matchedBy?"purple":"disk"===e.matchedBy?"orange":"blue",style:{margin:0},children:"content"===e.matchedBy?"内容":"disk"===e.matchedBy?"磁盘":"文件"}),(0,r.jsx)(s.A,{style:{margin:0},children:e.status})]})]}),value:e.relativePath}));return(0,r.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"pageTitle",children:i("roles.title")}),(0,r.jsx)("p",{className:"pageDesc",children:i("roles.description")})]}),(0,r.jsxs)(c.A,{children:[(0,r.jsx)(h.A,{value:ec,onChange:ed,style:{width:170},options:[{label:"我的配置 (".concat(w.length+z.length,")"),value:"custom"},{label:"全部来源 (".concat(w.length+z.length,")"),value:"all"}]}),(0,r.jsx)("input",{ref:em,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:e=>{var l;ez(null==(l=e.target.files)?void 0:l[0])}}),(0,r.jsx)(x.Ay,{icon:(0,r.jsx)(N.A,{}),loading:ep,onClick:()=>{var e;return null==(e=em.current)?void 0:e.click()},children:"导入"}),(0,r.jsx)(x.Ay,{icon:(0,r.jsx)(_.A,{}),disabled:w.length+z.length===0,onClick:()=>{K("customize-document-roles-".concat(new Date().toISOString().slice(0,10),".json"),Y(w,z)),t.success("已导出 ".concat(w.length," 个角色、").concat(z.length," 个配置"))},children:"导出全部"}),(0,r.jsx)(x.Ay,{icon:(0,r.jsx)(D.A,{}),onClick:()=>eT(void 0,"file"),children:i("roles.newFileRole")}),(0,r.jsx)(x.Ay,{icon:(0,r.jsx)(D.A,{}),onClick:()=>eT(void 0,"prompt"),children:i("roles.newPromptRole")}),(0,r.jsx)(x.Ay,{type:"primary",icon:(0,r.jsx)(D.A,{}),onClick:()=>eC(),children:i("roles.newConfig")})]})]}),(0,r.jsx)(u.A,{type:"info",showIcon:!0,message:(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,r.jsx)("span",{children:i("roles.plainGuideTitle")}),(0,r.jsx)(x.Ay,{type:"link",size:"small",icon:et?(0,r.jsx)(W.A,{}):(0,r.jsx)(H.A,{}),onClick:()=>es(!et),style:{padding:"0 4px"},children:et?"收起说明":"展开说明"})]}),description:et?i("roles.plainGuideDesc"):void 0}),(0,r.jsx)(p.A,{size:"small",tabList:[{key:"file",label:"文件角色 (".concat(ej.length,")")},{key:"prompt",label:"提示词角色 (".concat(eg.length,")")},{key:"configs",label:"项目角色配置 (".concat(ey.length,")")}],activeTabKey:eo,onTabChange:ea,children:"configs"===eo?0===ey.length?(0,r.jsx)(d.A,{description:i("common.noData")}):(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))",gap:12},children:ey.map(e=>{let l=e.fileRoles.map(e=>({...e,role:ek(e.roleId)})).filter(e=>e.role),n=e.promptRoles.map(e=>({...e,role:ek(e.roleId)})).filter(e=>e.role);return(0,r.jsxs)(p.A,{size:"small",hoverable:!0,style:{minWidth:0},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8,marginBottom:6},children:[(0,r.jsx)("span",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:e.name}),(0,r.jsx)(s.A,{color:"cyan",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"我的配置"}),(0,r.jsxs)("div",{style:{display:"flex",gap:4,flexShrink:0},children:[(0,r.jsx)(x.Ay,{size:"small",icon:(0,r.jsx)(C.A,{}),onClick:()=>eC(e),children:"编辑"}),!e.builtIn&&(0,r.jsx)(x.Ay,{size:"small",icon:(0,r.jsx)(_.A,{}),onClick:()=>(e=>{let l=new Set([...e.fileRoles.map(e=>e.roleId),...e.promptRoles.map(e=>e.roleId)]);K("customize-role-config-".concat(M(e.name),"-").concat(new Date().toISOString().slice(0,10),".json"),Y(w.filter(e=>l.has(e.id)&&!e.builtIn),[e])),t.success("已导出 1 个配置")})(e),children:"导出"}),(0,r.jsx)(m.A,{title:i("common.confirm"),onConfirm:()=>{eI(e.id)},children:(0,r.jsx)(x.Ay,{size:"small",danger:!0,icon:(0,r.jsx)(O.A,{})})})]})]}),e.description&&(0,r.jsx)(L,{ellipsis:{rows:2},style:{fontSize:12,color:"var(--colorTextSecondary)",marginBottom:8},children:e.description}),(0,r.jsxs)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:[(0,r.jsxs)("div",{style:{marginBottom:4},children:[(0,r.jsxs)("span",{children:["文件角色 (",e.fileRoles.length,"): "]}),l.length>0?(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:2},children:[l.slice(0,4).map(e=>(0,r.jsx)(s.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px"},children:e.role.name},e.roleId)),l.length>4&&(0,r.jsxs)(s.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",l.length-4]})]}):(0,r.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"无"})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("span",{children:["提示词角色 (",e.promptRoles.length,"): "]}),n.length>0?(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:2},children:[n.slice(0,4).map(e=>(0,r.jsx)(s.A,{color:"purple",style:{margin:0,fontSize:10,lineHeight:"16px"},children:e.role.name},e.roleId)),n.length>4&&(0,r.jsxs)(s.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",n.length-4]})]}):(0,r.jsx)("span",{style:{color:"var(--colorTextQuaternary)"},children:"无"})]})]})]},e.id)})}):(e="file"===eo?ej:eg,l=i,0===e.length?(0,r.jsx)(d.A,{description:i("common.noData")}):(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(270px, 1fr))",gap:12},children:e.map((e,n)=>{var o,a,c,d,h,u,f,y,j;let g=(null==(o=e.resourceIds)?void 0:o.length)?e.resourceIds:e.resourceId?[e.resourceId]:[],A=g.slice(0,3),v=g.length-A.length,b="file"===e.type?null!=(c=q[null!=(a=e.processingType)?a:""])?c:(0,r.jsx)(I.A,{}):null!=(h=U[null!=(d=e.executionType)?d:""])?h:(0,r.jsx)(F.A,{}),w="file"===e.type?null!=(f=V[null!=(u=e.processingType)?u:""])?f:"var(--colorAccent)":null!=(j=G[null!=(y=e.executionType)?y:""])?j:"var(--colorWarning)";return(0,r.jsxs)(p.A,{size:"small",hoverable:!0,style:{minWidth:0},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8,marginBottom:8},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0,flex:1},children:[(0,r.jsx)("span",{style:{color:w,fontSize:16,flexShrink:0,lineHeight:1},children:b}),(0,r.jsx)("span",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",lineHeight:"20px"},children:e.name})]}),(0,r.jsx)("div",{style:{display:"flex",gap:4,flexShrink:0},children:(0,r.jsx)(s.A,{color:"cyan",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"我的角色"})})]}),e.description&&(0,r.jsx)(L,{ellipsis:{rows:2},style:{fontSize:12,color:"var(--colorTextSecondary)",marginBottom:8},children:e.description}),(0,r.jsxs)("div",{style:{marginBottom:8,display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,r.jsx)(s.A,{color:"file"===e.type?"blue":"purple",style:{margin:0},children:function(e,l){var i,r,n;let t="file"===e.type?J[null!=(i=e.processingType)?i:""]:Q[null!=(r=e.executionType)?r:""];return t?l(t):null!=(n="file"===e.type?e.processingType:e.executionType)?n:""}(e,l)}),g.length>0&&(0,r.jsxs)("span",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:["绑定 ",g.length," 个资源"]})]}),A.length>0&&(0,r.jsx)("div",{style:{marginBottom:10},children:(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[A.map(e=>(0,r.jsx)(s.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px",maxWidth:140,overflow:"hidden",textOverflow:"ellipsis"},children:e},e)),v>0&&(0,r.jsxs)(s.A,{style:{margin:0,fontSize:10,lineHeight:"16px"},children:["+",v]})]})}),(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:6,paddingTop:4,borderTop:"1px solid var(--colorBorderSecondary)"},children:[(0,r.jsx)(x.Ay,{size:"small",icon:(0,r.jsx)(C.A,{}),onClick:()=>eT(e),children:"编辑"}),!e.builtIn&&(0,r.jsx)(x.Ay,{size:"small",icon:(0,r.jsx)(_.A,{}),onClick:()=>{K("customize-role-".concat(M(e.name),"-").concat(new Date().toISOString().slice(0,10),".json"),Y([e],[])),t.success("已导出 1 个角色")},children:"导出"}),(0,r.jsx)(m.A,{title:i("common.confirm"),onConfirm:()=>{eS(e)},children:(0,r.jsx)(x.Ay,{size:"small",danger:!0,icon:(0,r.jsx)(O.A,{})})})]})]},e.id)})}))}),(0,r.jsx)(f.A,{title:i("roles.roleEditor"),open:el,onClose:()=>ei(!1),width:800,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,r.jsx)(x.Ay,{type:"primary",onClick:()=>{eb()},children:i("common.save")}),children:(0,r.jsxs)(a.A,{form:v,layout:"vertical",children:[(0,r.jsx)(a.A.Item,{name:"id",hidden:!0,children:(0,r.jsx)(y.A,{})}),(0,r.jsxs)(j.A,{gutter:16,children:[(0,r.jsx)(g.A,{span:12,children:(0,r.jsx)(a.A.Item,{name:"type",label:i("roles.roleType"),rules:[{required:!0}],children:(0,r.jsx)(h.A,{options:[{label:i("roles.fileRole"),value:"file"},{label:i("roles.promptRole"),value:"prompt"}]})})}),(0,r.jsx)(g.A,{span:12,children:(0,r.jsx)(a.A.Item,{name:"name",label:i("roles.roleName"),rules:[{required:!0}],children:(0,r.jsx)(y.A,{})})})]}),(0,r.jsx)(a.A.Item,{name:"description",label:i("roles.roleDescription"),children:(0,r.jsx)(y.A.TextArea,{rows:2})}),(0,r.jsx)(a.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.type!==l.type,children:e=>{let{getFieldValue:l}=e,n="prompt"===l("type");return(0,r.jsx)(p.A,{size:"small",title:n?"提示词角色配置":"文件角色配置",style:{border:"1px solid var(--colorBorderSecondary)"},children:n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.A.Item,{name:"executionType",label:i("roles.executionType"),rules:[{required:!0}],style:{marginBottom:12},children:(0,r.jsx)(h.A,{options:[{label:i("roles.factExtraction"),value:"fact_extraction"},{label:i("roles.chapterGeneration"),value:"chapter_generation"},{label:i("roles.validation"),value:"validation"},{label:i("roles.formatting"),value:"formatting"},{label:i("roles.reference"),value:"reference"}]})}),(0,r.jsx)(a.A.Item,{name:"resourceIds",label:i("roles.bindPrompt"),style:{marginBottom:0},help:(0,r.jsx)("span",{style:{fontSize:11,color:"var(--colorTextSecondary)"},children:i("roles.multiBindPromptHelp")}),children:(0,r.jsx)(h.A,{mode:"multiple",showSearch:!0,tagRender:X,placeholder:"选择提示词",options:$.filter(e=>e.hasFile).map(e=>({label:e.projectName,value:e.id}))})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.A.Item,{name:"processingType",label:i("roles.processingType"),rules:[{required:!0}],style:{marginBottom:12},children:(0,r.jsx)(h.A,{options:[{label:i("roles.ruleFile"),value:"rule"},{label:i("roles.projectFactFile"),value:"project_fact"},{label:i("roles.tableFile"),value:"table"},{label:i("roles.drawingFile"),value:"drawing"},{label:i("roles.specificationFile"),value:"specification"},{label:i("roles.reference"),value:"reference"}]})}),(0,r.jsx)(a.A.Item,{name:"resourceIds",label:i("roles.bindFile"),style:{marginBottom:0},help:(0,r.jsx)("span",{style:{fontSize:11,color:"var(--colorTextSecondary)"},children:i("roles.multiBindFileHelp")}),children:(0,r.jsx)(h.A,{mode:"multiple",showSearch:!0,filterOption:!1,loading:B,onSearch:e=>{eR(e)},onFocus:()=>{eR("")},tagRender:X,placeholder:"输入关键词搜索知识库文件",options:eB,optionLabelProp:"value"})})]})})}})]})}),(0,r.jsx)(f.A,{title:i("roles.configEditor"),open:er,onClose:()=>en(!1),width:800,maskClosable:!1,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,r.jsx)(x.Ay,{type:"primary",onClick:()=>{ew()},children:i("common.save")}),children:(0,r.jsxs)(a.A,{form:b,layout:"vertical",children:[(0,r.jsx)(a.A.Item,{name:"id",hidden:!0,children:(0,r.jsx)(y.A,{})}),(0,r.jsxs)(j.A,{gutter:16,children:[(0,r.jsx)(g.A,{span:12,children:(0,r.jsx)(a.A.Item,{name:"name",label:i("roles.configName"),rules:[{required:!0}],children:(0,r.jsx)(y.A,{})})}),(0,r.jsx)(g.A,{span:12,children:(0,r.jsx)(a.A.Item,{name:"description",label:i("roles.configDescription"),children:(0,r.jsx)(y.A,{})})})]}),(0,r.jsx)(A.A,{destroyInactiveTabPane:!1,items:[{key:"file",label:"文件角色 (".concat(ej.length,")"),children:(0,r.jsx)(a.A.List,{name:"fileRoles",children:(e,l)=>{let{add:n,remove:t}=l;return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[0===e.length&&(0,r.jsx)(d.A,{description:"暂未添加文件角色"}),e.map((e,l)=>(0,r.jsxs)(p.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,r.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,r.jsx)(x.Ay,{danger:!0,size:"small",icon:(0,r.jsx)(O.A,{}),onClick:()=>t(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,r.jsxs)(j.A,{gutter:[16,8],align:"middle",style:{marginTop:4},children:[(0,r.jsx)(g.A,{flex:"auto",children:(0,r.jsx)(a.A.Item,{name:[e.name,"roleId"],label:"文件角色",rules:[{required:!0}],style:{marginBottom:0},children:(0,r.jsx)(h.A,{placeholder:"选择文件角色",size:"small",options:eA.map(e=>{var l;return{label:"".concat(e.name," (").concat(i(J[null!=(l=e.processingType)?l:""]||"roles.reference"),")"),value:e.id}})})})}),(0,r.jsx)(g.A,{style:{width:90},children:(0,r.jsx)(a.A.Item,{name:[e.name,"order"],label:"排序",initialValue:l,style:{marginBottom:0},children:(0,r.jsx)(y.A,{type:"number",size:"small"})})})]})]},e.key)),(0,r.jsx)(x.Ay,{icon:(0,r.jsx)(D.A,{}),onClick:()=>n({order:e.length}),children:i("roles.addRole")})]})}})},{key:"prompt",label:"提示词角色 (".concat(ev.length,")"),children:(0,r.jsx)(a.A.List,{name:"promptRoles",children:(e,l)=>{let{add:n,remove:t}=l;return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[0===e.length&&(0,r.jsx)(d.A,{description:"暂未添加提示词角色"}),e.map((e,l)=>(0,r.jsxs)(p.A,{size:"small",style:{border:"1px solid var(--colorBorderSecondary)",position:"relative"},children:[(0,r.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,r.jsx)(x.Ay,{danger:!0,size:"small",icon:(0,r.jsx)(O.A,{}),onClick:()=>t(e.name),style:{position:"absolute",top:8,right:8,zIndex:1}}),(0,r.jsxs)(j.A,{gutter:[16,8],align:"middle",style:{marginTop:4},children:[(0,r.jsx)(g.A,{flex:"auto",children:(0,r.jsx)(a.A.Item,{name:[e.name,"roleId"],label:"提示词角色",rules:[{required:!0}],style:{marginBottom:0},children:(0,r.jsx)(h.A,{placeholder:"选择提示词角色",size:"small",options:ev.map(e=>{var l;return{label:"".concat(e.name," (").concat(i(Q[null!=(l=e.executionType)?l:""]||"roles.reference"),")"),value:e.id}})})})}),(0,r.jsx)(g.A,{style:{width:90},children:(0,r.jsx)(a.A.Item,{name:[e.name,"order"],label:"排序",initialValue:l,style:{marginBottom:0},children:(0,r.jsx)(y.A,{type:"number",size:"small"})})})]})]},e.key)),(0,r.jsx)(x.Ay,{icon:(0,r.jsx)(D.A,{}),onClick:()=>n({order:e.length}),children:i("roles.addRole")})]})}})}]})]})})]})}}},e=>{e.O(0,[433,787,576,195,455,496,636,593,792],()=>e(e.s=23507)),_N_E=e.O()}]);
|
|
File without changes
|