@gientech/modual 2.2.19 → 2.2.21
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/assets/{GientechStreamReader-C4xVfNQX.js → GientechStreamReader-CCAVgoU7.js} +2 -2
- package/assets/{LeftOutlined-DbVWaJal.js → LeftOutlined-6ZZOHHzZ.js} +1 -1
- package/assets/{circle-plus-Bqwlq2UM.js → circle-plus-P1B4Xn23.js} +1 -1
- package/assets/{index-CaKTISxy.js → index-AbRL5gZq.js} +1 -1
- package/assets/{index-BB-K4Uv2.js → index-BVGi9GLj.js} +1 -1
- package/assets/{index-BbQ5_tfg.js → index-CshF4ZrU.js} +337 -226
- package/assets/{index-DiTGnLML.js → index-Cxdo0VA9.js} +1 -1
- package/assets/{index-O8MDfMV6.js → index-DBBlFPQ7.js} +1 -1
- package/assets/{index-zCzB-56N.js → index-DBcQE2Ji.js} +1 -1
- package/assets/{index-C2q5zZL5.js → index-DSsXFuyz.js} +159 -159
- package/assets/index-DXFiVEll.js +2177 -0
- package/assets/{index-DCnYE71u.js → index-D_Hj7QNz.js} +11 -11
- package/assets/index-DgYjqte0.js +745 -0
- package/assets/{index-DIaywdNt.js → index-VLFjDTvh.js} +1 -1
- package/assets/{plus-B4_cWXV7.js → plus-Dksaa79Q.js} +1 -1
- package/assets/{search-B5sYxJby.js → search-DPX4n-TM.js} +1 -1
- package/assets/style-403S9iLe.js +196 -0
- package/assets/style2.css +1 -1
- package/assets/style4.css +1 -1
- package/assets/style6.css +1 -1
- package/assets/style7.css +1 -1
- package/assets/{triangle-alert-DMLBtHZo.js → triangle-alert-DwIOmwma.js} +1 -1
- package/assets/{x-BHe7G4Ln.js → x-cAgrXVQW.js} +1 -1
- package/assistantConfig.js +3 -3
- package/chat.js +1 -1
- package/chatCompare.js +1 -1
- package/database.d.ts +0 -2
- package/database.js +2 -6
- package/databaseId.d.ts +0 -2
- package/databaseId.js +1 -1
- package/databaseTable.js +2 -2
- package/index.js +1 -1
- package/modelManage.js +2 -2
- package/package.json +1 -1
- package/sensitive.js +30 -30
- package/sensitiveWords.js +1 -1
- package/streamFilesReader.js +1 -1
- package/assets/index-7vlgiCIK.js +0 -2176
- package/assets/index-CQChY5LV.js +0 -741
- package/assets/style-C_DnFr50.js +0 -196
package/modelManage.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as l,jsxs as q}from"react/jsx-runtime";import Z,{useState as w,useMemo as j,useRef as oe,useEffect as Fe}from"react";import{Y as N,N as Ne}from"./assets/index-BbQ5_tfg.js";import{F as Re,d as Pe,J as O,S as ce,T as se}from"./assets/index-DCnYE71u.js";import{e as pe}from"./assets/index-CQChY5LV.js";import{s as z,M as Ee}from"./assets/index-DiTGnLML.js";import{D as Ue}from"./assets/index-zCzB-56N.js";import{X as qe}from"./assets/x-BHe7G4Ln.js";import{T as He}from"./assets/triangle-alert-DMLBtHZo.js";/* empty css *//* empty css */import{P as ze}from"./assets/plus-B4_cWXV7.js";import{B as ie}from"./assets/index-DIaywdNt.js";import"react-dom";const Ve=""+new URL("assets/empty.png",import.meta.url).href,We=({url:t,token:F,role:r,eventsEmit:c,getMessage:B})=>{const h=(e,s)=>B?B(e):s,m=Re.create({baseURL:t,timeout:1e6});return m.interceptors.request.use(e=>{let s=F;return!s&&!["user/login","user/kaptcha","user/regist"].some(n=>e.url.includes(n))?(c&&c("request:error_auth",{errorMsg:h("server.notLoggedIn","\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"),redirect:"/login"}),Promise.reject(new Error(h("server.notLoggedIn","\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F")))):(e.headers.Authorization=s||"",e.headers.userName=r==="\u672A\u767B\u5F55\u7528\u6237"?"":r,e)}),m.interceptors.response.use(e=>{const s=["user/kaptcha"],a=e.data;if(s.some(x=>e.config.url&&e.config.url.includes(x))||a.size&&a.type)return a;const{success:n,errorMsg:A,errorCode:b}=a;return n?a:c?(c("request:error_business",{errorCode:b,errorMsg:A||h("server.requestError","\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),response:a}),a):!1},e=>{var s,a,n,A,b,x,W,T,M;if(e.message==="canceled")return Promise.reject(e);if(c){let U="request:error_network",S={errorMsg:h("server.requestError","\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25"),error:e};((s=e==null?void 0:e.response)==null?void 0:s.status)===401?(U="request:error_auth",S={errorMsg:h("server.noPermission","\u6CA1\u6709\u8DB3\u591F\u6743\u9650"),error:e,redirect:"/login"}):(((n=(a=e==null?void 0:e.response)==null?void 0:a.data)==null?void 0:n.errorCode)==="30013"||((b=(A=e==null?void 0:e.response)==null?void 0:A.data)==null?void 0:b.errorCode)==="30023")&&(U="request:error_business",S={errorCode:(W=(x=e==null?void 0:e.response)==null?void 0:x.data)==null?void 0:W.errorCode,errorMsg:((M=(T=e==null?void 0:e.response)==null?void 0:T.data)==null?void 0:M.message)||h("server.requestError","\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),error:e}),c(U,S)}return Promise.reject(e)}),{getModelList:async e=>{try{const s=await m.get(`/allPage?${new URLSearchParams(e).toString()}`),{success:a,data:n}=s;if(a)return n}catch(s){return console.log("getModelList error:",s),!1}},delModelById:async e=>{try{const s=await m.delete(`/delete?id=${e}`),{success:a,data:n}=s;if(a)return n}catch(s){console.log("delModelById error:",s)}},createModel:async e=>{try{const s=await m.post("/create",e),{success:a,data:n}=s;if(a)return n}catch(s){console.log("createModel error:",s)}},updateModelById:async e=>{try{const s=await m.put("/update",e),{success:a,data:n}=s;if(a)return n;console.log("====eee==",s),z.error(`\u4FDD\u5B58\u5931\u8D25: ${s==null?void 0:s.errorMsg}`)}catch(s){console.log("updateModelById error:",s)}},getUseTypeList:async()=>{try{const e=await m.get("/getModelTypes"),{success:s,data:a}=e;if(s)return a}catch(e){return console.log("getUseTypeList error:",e),!1}},getModelProtocolsList:async()=>{try{const e=await m.get("/getModelProtocols"),{success:s,data:a}=e;if(s)return a}catch(e){return console.log("getModelProtocolsList error:",e),!1}},testStatus:async()=>{try{const e=await m.post("/check"),{success:s,data:a}=e;if(s)return a}catch(e){console.log("testStatus error:",e)}},replaceModel:async(e,s)=>{try{const a=await m.get(`/replaceModel?sourceModelId=${e}&targetModelId=${s}`),{success:n,data:A}=a;if(n)return A}catch(a){console.log("replaceModel error:",a)}},checkModel:async e=>{try{const s=await m.get(`/checkModelReference?modelName=${e}`),{success:a,data:n}=s;if(a)return n}catch(s){console.log("checkModelReference error:",s)}}}},X={common:{loading:"\u52A0\u8F7D\u4E2D..."},dashboard:{title:"\u6A21\u578B\u7BA1\u7406"},table:{viewLabel:"\u6A21\u578B",columns:{modelName:"\u6A21\u578B\u540D\u79F0",modelProtocol:"\u6A21\u578B\u4F20\u8F93\u534F\u8BAE",type:"\u4F7F\u7528\u7C7B\u578B",dec:"\u8BF4\u660E",status:"\u72B6\u6001",actions:"\u64CD\u4F5C"},statusHelpText:"\u5F53\u524D\u6A21\u578B\u72B6\u6001\u4E3A\u521D\u6B21\u65B0\u589E\u6821\u9A8C\u72B6\u6001\uFF0C\u82E5\u6A21\u578B\u4E0B\u7EBF\uFF0C\u6B64\u72B6\u6001\u4E0D\u4F1A\u4E3B\u52A8\u66F4\u65B0\uFF0C\u9700\u624B\u52A8\u6267\u884C\u6A21\u578B\u5220\u9664",toolbar:{add:"\u65B0\u5EFA",test:"\u6A21\u578B\u72B6\u6001\u68C0\u6D4B",replace:"\u6A21\u578B\u66FF\u6362"},actionEdit:"\u7F16\u8F91",actionAuth:"\u6388\u6743",actionDelete:"\u5220\u9664",tooltipChecking:"\u68C0\u6D4B\u4E2D\uFF0C\u8BF7\u7A0D\u540E",tooltipNoPermission:"\u89D2\u8272\u65E0\u6743\u9650\u64CD\u4F5C"},status:{available:"\u53EF\u7528",unavailable:"\u4E0D\u53EF\u7528",checking:"\u68C0\u6D4B\u4E2D"},empty:{noDataHint:"\u6682\u65E0\u6570\u636E\uFF0C\u8BF7\u5148\u65B0\u5EFA\u6A21\u578B",createModelBtn:"\u65B0\u5EFA\u6A21\u578B"},drawer:{titleNew:"\u65B0\u5EFA",titleEdit:"\u7F16\u8F91",cancel:"\u53D6\u6D88",confirm:"\u786E\u8BA4"},form:{labels:{modelName:"\u6A21\u578B\u540D\u79F0",modelIde:"\u6A21\u578BID",apiKey:"APIKey",url:"\u8BF7\u6C42URL",modelProtocol:"\u6A21\u578B\u4F20\u8F93\u534F\u8BAE",type:"\u4F7F\u7528\u7C7B\u578B",maxTokens:"\u4E0A\u4E0B\u6587\u957F\u5EA6",dec:"\u8BF4\u660E"},placeholders:{modelName:"\u8BF7\u8F93\u5165\u6A21\u578B\u540D\u79F0",modelIde:"\u8BF7\u8F93\u5165\u6A21\u578BID",apiKey:"\u8BF7\u8F93\u5165APIKey",url:"\u8BF7\u8F93\u5165\u8BF7\u6C42URL"},maxTokensHelpText:"\u8BF7\u5411\u6A21\u578B\u90E8\u7F72\u6216\u8FD0\u7EF4\u4EBA\u5458\u786E\u8BA4\u5F53\u524D\u6A21\u578B\u7684\u6700\u5927\u4E0A\u4E0B\u6587\u957F\u5EA6\uFF08Max Tokens / Context Length\uFF09\uFF0C\u5E76\u786E\u8BA4\u63A8\u7406\u670D\u52A1\uFF08\u5982 vLLM\uFF09\u662F\u5426\u914D\u7F6E\u4E86\u989D\u5916\u7684\u8F93\u5165\u957F\u5EA6\u9650\u5236"},replaceModal:{title:"\u6A21\u578B\u66FF\u6362",warningParagraph:"\u5982\u9700\u66F4\u6362\u6A21\u578B\uFF0C\u5728\u4E00\u952E\u66FF\u6362\u65F6\uFF0C\u7CFB\u7EDF\u5C06\u81EA\u52A8\u66F4\u65B0\u77E5\u8BC6\u89E3\u6790\u914D\u7F6E\u3001\u68C0\u7D22\u6D4B\u8BD5\u548C\u52A9\u624B\u914D\u7F6E\u4E2D\u7684\u6A21\u578B\u3002\u82E5\u66FF\u6362\u7684\u662F\u6587\u6863\u89E3\u6790\u7528\u7684Embedding\u6A21\u578B\uFF0C\u5219\u4F7F\u7528\u8BE5\u6A21\u578B\u7684\u6587\u6863\u5C06\u5168\u90E8\u91CD\u65B0\u6392\u961F\u89E3\u6790\uFF0C\u72B6\u6001\u53D8\u4E3A\u201C\u89E3\u6790\u4E2D\u201D\uFF0C\u4E14\u672A\u89E3\u6790\u5B8C\u6210\u7684\u6587\u6863\u6682\u4E0D\u53EF\u68C0\u7D22\uFF01",sourceLabel:"\u6A21\u578B\u540D\u79F0",targetLabel:"\u66FF\u6362\u4E3A",placeholderSelect:"\u8BF7\u9009\u62E9",cancel:"\u53D6\u6D88",confirm:"\u786E\u8BA4",messageSuccess:"\u6A21\u578B\u66FF\u6362\u6210\u529F"},message:{testSuccess:"\u6A21\u578B\u68C0\u6D4B\u4E2D\uFF0C\u8BF7\u8010\u5FC3\u7B49\u5F85\u72B6\u6001\u66F4\u65B0\uFF01",deleteSuccess:"\u5220\u9664\u6210\u529F",createSuccess:"\u6A21\u578B\u65B0\u589E\u6210\u529F\uFF01",editSuccess:"\u6A21\u578B\u7F16\u8F91\u6210\u529F\uFF01"},deleteConfirm:{title:"\u786E\u8BA4\u5220\u9664\uFF1F",content:'\u786E\u5B9A\u8981\u5220\u9664\u6A21\u578B "{{name}}" \u5417\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\u3002',titleWhenInUse:"\u5220\u9664\u6A21\u578B",contentWhenInUse:"\u5F53\u524D\u6A21\u578B\u5728\u7CFB\u7EDF\u5185\u5DF2\u88AB\u914D\u7F6E\u4F7F\u7528\uFF0C\u5220\u9664\u53EF\u80FD\u5F71\u54CD\u6587\u6863\u89E3\u6790\u3001\u95EE\u7B54\u3001\u591A\u6A21\u6001\u80FD\u529B\u4F7F\u7528\u7B49\uFF0C\u8BF7\u60A8\u5148\u4F7F\u7528\u201C\u6A21\u578B\u4E00\u952E\u66FF\u6362\u201D\u80FD\u529B\u5C06\u8BE5\u6A21\u578B\u66FF\u6362\u4E3A\u540C\u7C7B\u578B\u6A21\u578B\uFF0C\u518D\u5220\u9664\u6A21\u578B",okText:"\u786E\u8BA4",cancelText:"\u53D6\u6D88",deleteOkText:"\u5220\u9664"},server:{requestError:"\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",noPermission:"\u6CA1\u6709\u8DB3\u591F\u6743\u9650",notLoggedIn:"\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"}},Ke={common:{loading:"Loading..."},dashboard:{title:"Model management"},table:{viewLabel:"Models",columns:{modelName:"Model name",modelProtocol:"Protocol",type:"Use type",dec:"Description",status:"Status",actions:"Actions"},statusHelpText:"Status is validated on first add; if the model goes offline, it will not update automatically. Delete the model manually if needed.",toolbar:{add:"Add",test:"Test model status",replace:"Replace model"},actionEdit:"Edit",actionAuth:"Authorize",actionDelete:"Delete",tooltipChecking:"Checking, please wait",tooltipNoPermission:"No permission"},status:{available:"Available",unavailable:"Unavailable",checking:"Checking"},empty:{noDataHint:"No data. Add a model first.",createModelBtn:"Add model"},drawer:{titleNew:"Add",titleEdit:"Edit",cancel:"Cancel",confirm:"Confirm"},form:{labels:{modelName:"Model name",modelIde:"Model ID",apiKey:"API Key",url:"Request URL",modelProtocol:"Protocol",type:"Use type",maxTokens:"Context length",dec:"Description"},placeholders:{modelName:"Enter model name",modelIde:"Enter model ID",apiKey:"Enter API Key",url:"Enter request URL"},maxTokensHelpText:"Confirm with your deployment team the model's max context length (Max Tokens) and any limits set by the inference service (e.g. vLLM)."},replaceModal:{title:"Replace model",warningParagraph:'When you replace a model, the system will update knowledge parsing, retrieval tests, and assistant configs. If you replace an Embedding model used for documents, all documents using it will be re-queued for parsing and become "Parsing"; unparsed documents will not be searchable until done.',sourceLabel:"Model name",targetLabel:"Replace with",placeholderSelect:"Select",cancel:"Cancel",confirm:"Confirm",messageSuccess:"Model replaced successfully"},message:{testSuccess:"Model check in progress. Status will update shortly.",deleteSuccess:"Deleted",createSuccess:"Model added.",editSuccess:"Model updated."},deleteConfirm:{title:"Confirm delete?",content:'Delete model "{{name}}"? This cannot be undone.',titleWhenInUse:"Delete model",contentWhenInUse:'This model is in use. Deleting it may affect document parsing, Q&A, and multimodal features. Use "Replace model" to switch to another model of the same type first, then delete.',okText:"OK",cancelText:"Cancel",deleteOkText:"Delete"},server:{requestError:"Request failed, please try again.",noPermission:"Insufficient permission",notLoggedIn:"Not logged in or token expired"}},je={common:{loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D..."},dashboard:{title:"\u30E2\u30C7\u30EB\u7BA1\u7406"},table:{viewLabel:"\u30E2\u30C7\u30EB",columns:{modelName:"\u30E2\u30C7\u30EB\u540D",modelProtocol:"\u30D7\u30ED\u30C8\u30B3\u30EB",type:"\u7528\u9014",dec:"\u8AAC\u660E",status:"\u72B6\u614B",actions:"\u64CD\u4F5C"},statusHelpText:"\u72B6\u614B\u306F\u521D\u56DE\u8FFD\u52A0\u6642\u306B\u691C\u8A3C\u3055\u308C\u307E\u3059\u3002\u30E2\u30C7\u30EB\u304C\u30AA\u30D5\u30E9\u30A4\u30F3\u306B\u306A\u3063\u3066\u3082\u81EA\u52D5\u3067\u306F\u66F4\u65B0\u3055\u308C\u307E\u305B\u3093\u3002\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u624B\u52D5\u3067\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002",toolbar:{add:"\u65B0\u898F",test:"\u30E2\u30C7\u30EB\u72B6\u614B\u691C\u8A3C",replace:"\u30E2\u30C7\u30EB\u7F6E\u63DB"},actionEdit:"\u7DE8\u96C6",actionAuth:"\u6A29\u9650",actionDelete:"\u524A\u9664",tooltipChecking:"\u691C\u8A3C\u4E2D\u3001\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044",tooltipNoPermission:"\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093"},status:{available:"\u5229\u7528\u53EF",unavailable:"\u5229\u7528\u4E0D\u53EF",checking:"\u691C\u8A3C\u4E2D"},empty:{noDataHint:"\u30C7\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5148\u306B\u30E2\u30C7\u30EB\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002",createModelBtn:"\u30E2\u30C7\u30EB\u3092\u8FFD\u52A0"},drawer:{titleNew:"\u65B0\u898F",titleEdit:"\u7DE8\u96C6",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",confirm:"\u78BA\u8A8D"},form:{labels:{modelName:"\u30E2\u30C7\u30EB\u540D",modelIde:"\u30E2\u30C7\u30EBID",apiKey:"API\u30AD\u30FC",url:"\u30EA\u30AF\u30A8\u30B9\u30C8URL",modelProtocol:"\u30D7\u30ED\u30C8\u30B3\u30EB",type:"\u7528\u9014",maxTokens:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u9577",dec:"\u8AAC\u660E"},placeholders:{modelName:"\u30E2\u30C7\u30EB\u540D\u3092\u5165\u529B",modelIde:"\u30E2\u30C7\u30EBID\u3092\u5165\u529B",apiKey:"API\u30AD\u30FC\u3092\u5165\u529B",url:"\u30EA\u30AF\u30A8\u30B9\u30C8URL\u3092\u5165\u529B"},maxTokensHelpText:"\u30E2\u30C7\u30EB\u306E\u6700\u5927\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u9577\uFF08Max Tokens\uFF09\u3068\u63A8\u8AD6\u30B5\u30FC\u30D3\u30B9\uFF08vLLM\u7B49\uFF09\u306E\u5236\u9650\u3092\u30C7\u30D7\u30ED\u30A4\u62C5\u5F53\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},replaceModal:{title:"\u30E2\u30C7\u30EB\u7F6E\u63DB",warningParagraph:"\u30E2\u30C7\u30EB\u3092\u7F6E\u63DB\u3059\u308B\u3068\u3001\u77E5\u8B58\u89E3\u6790\u30FB\u691C\u7D22\u30C6\u30B9\u30C8\u30FB\u30A2\u30B7\u30B9\u30BF\u30F3\u30C8\u8A2D\u5B9A\u304C\u66F4\u65B0\u3055\u308C\u307E\u3059\u3002\u6587\u66F8\u89E3\u6790\u7528Embedding\u30E2\u30C7\u30EB\u3092\u7F6E\u63DB\u3057\u305F\u5834\u5408\u3001\u305D\u306E\u30E2\u30C7\u30EB\u3092\u4F7F\u3046\u6587\u66F8\u306F\u518D\u89E3\u6790\u30AD\u30E5\u30FC\u306B\u5165\u308A\u300C\u89E3\u6790\u4E2D\u300D\u3068\u306A\u308A\u3001\u89E3\u6790\u5B8C\u4E86\u307E\u3067\u691C\u7D22\u3067\u304D\u307E\u305B\u3093\u3002",sourceLabel:"\u30E2\u30C7\u30EB\u540D",targetLabel:"\u7F6E\u63DB\u5148",placeholderSelect:"\u9078\u629E",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",confirm:"\u78BA\u8A8D",messageSuccess:"\u30E2\u30C7\u30EB\u3092\u7F6E\u63DB\u3057\u307E\u3057\u305F"},message:{testSuccess:"\u30E2\u30C7\u30EB\u3092\u691C\u8A3C\u4E2D\u3067\u3059\u3002\u72B6\u614B\u304C\u66F4\u65B0\u3055\u308C\u308B\u307E\u3067\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002",deleteSuccess:"\u524A\u9664\u3057\u307E\u3057\u305F",createSuccess:"\u30E2\u30C7\u30EB\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F\u3002",editSuccess:"\u30E2\u30C7\u30EB\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002"},deleteConfirm:{title:"\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",content:"\u30E2\u30C7\u30EB\u300C{{name}}\u300D\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3002",titleWhenInUse:"\u30E2\u30C7\u30EB\u3092\u524A\u9664",contentWhenInUse:"\u3053\u306E\u30E2\u30C7\u30EB\u306F\u4F7F\u7528\u4E2D\u3067\u3059\u3002\u524A\u9664\u3059\u308B\u3068\u6587\u66F8\u89E3\u6790\u30FBQ&A\u30FB\u30DE\u30EB\u30C1\u30E2\u30FC\u30C0\u30EB\u306B\u5F71\u97FF\u3059\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u5148\u306B\u300C\u30E2\u30C7\u30EB\u7F6E\u63DB\u300D\u3067\u540C\u7A2E\u306E\u30E2\u30C7\u30EB\u306B\u7F6E\u304D\u63DB\u3048\u3066\u304B\u3089\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002",okText:"\u78BA\u8A8D",cancelText:"\u30AD\u30E3\u30F3\u30BB\u30EB",deleteOkText:"\u524A\u9664"},server:{requestError:"\u30EA\u30AF\u30A8\u30B9\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u3057\u3070\u3089\u304F\u3057\u3066\u304B\u3089\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",noPermission:"\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093",notLoggedIn:"\u672A\u30ED\u30B0\u30A4\u30F3\u307E\u305F\u306F\u30C8\u30FC\u30AF\u30F3\u671F\u9650\u5207\u308C"}},_e={zh:X,en:Ke,ja:je};function $e(t,F){return t.replace(/\{\{(\w+)\}\}/g,(r,c)=>F[c]??"")}function Oe(t,F){const r=_e[t]??X;return F?{...r,...F}:r}function Be(t,F){const r=F.split(".");let c=t;for(const B of r)c=c==null?void 0:c[B];return typeof c=="string"?c:F}const fe=Z.createContext({locale:"zh",messages:X,getMessage:t=>Be(X,t)});function le(){return Z.useContext(fe)}function Ye({locale:t,messages:F,children:r}){const c=Z.useMemo(()=>{const B=Oe(t,F);return{locale:t,messages:B,getMessage:h=>Be(B,h)}},[t,F]);return Z.createElement(fe.Provider,{value:c},r)}const Ze=Pe.div.attrs({className:"config-model-drawer-scroll-wrap"})`
|
|
1
|
+
import{jsx as l,jsxs as q}from"react/jsx-runtime";import X,{useState as w,useMemo as j,useRef as se,useEffect as Fe}from"react";import{$ as N,z as Ne}from"./assets/index-CshF4ZrU.js";import{F as Re,d as Pe,J as O,S as ce,T as oe}from"./assets/index-D_Hj7QNz.js";import{o as pe}from"./assets/index-DgYjqte0.js";import{s as H,M as Ee}from"./assets/index-Cxdo0VA9.js";import{D as Ue}from"./assets/index-DBcQE2Ji.js";import{X as qe}from"./assets/x-cAgrXVQW.js";import{T as ze}from"./assets/triangle-alert-DwIOmwma.js";/* empty css *//* empty css */import{P as He}from"./assets/plus-Dksaa79Q.js";import{B as ie}from"./assets/index-VLFjDTvh.js";import"react-dom";const Ve=""+new URL("assets/empty.png",import.meta.url).href,We=({url:t,token:F,role:r,eventsEmit:c,getMessage:B})=>{const h=(e,o)=>B?B(e):o,m=Re.create({baseURL:t,timeout:1e6});return m.interceptors.request.use(e=>{let o=F;return!o&&!["user/login","user/kaptcha","user/regist"].some(n=>e.url.includes(n))?(c&&c("request:error_auth",{errorMsg:h("server.notLoggedIn","\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"),redirect:"/login"}),Promise.reject(new Error(h("server.notLoggedIn","\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F")))):(e.headers.Authorization=o||"",e.headers.userName=r==="\u672A\u767B\u5F55\u7528\u6237"?"":r,e)}),m.interceptors.response.use(e=>{const o=["user/kaptcha"],a=e.data;if(o.some(x=>e.config.url&&e.config.url.includes(x))||a.size&&a.type)return a;const{success:n,errorMsg:A,errorCode:b}=a;return n?a:c?(c("request:error_business",{errorCode:b,errorMsg:A||h("server.requestError","\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),response:a}),a):!1},e=>{var o,a,n,A,b,x,W,T,M;if(e.message==="canceled")return Promise.reject(e);if(c){let U="request:error_network",S={errorMsg:h("server.requestError","\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25"),error:e};((o=e==null?void 0:e.response)==null?void 0:o.status)===401?(U="request:error_auth",S={errorMsg:h("server.noPermission","\u6CA1\u6709\u8DB3\u591F\u6743\u9650"),error:e,redirect:"/login"}):(((n=(a=e==null?void 0:e.response)==null?void 0:a.data)==null?void 0:n.errorCode)==="30013"||((b=(A=e==null?void 0:e.response)==null?void 0:A.data)==null?void 0:b.errorCode)==="30023")&&(U="request:error_business",S={errorCode:(W=(x=e==null?void 0:e.response)==null?void 0:x.data)==null?void 0:W.errorCode,errorMsg:((M=(T=e==null?void 0:e.response)==null?void 0:T.data)==null?void 0:M.message)||h("server.requestError","\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),error:e}),c(U,S)}return Promise.reject(e)}),{getModelList:async e=>{try{const o=await m.get(`/allPage?${new URLSearchParams(e).toString()}`),{success:a,data:n}=o;if(a)return n}catch(o){return console.log("getModelList error:",o),!1}},delModelById:async e=>{try{const o=await m.delete(`/delete?id=${e}`),{success:a,data:n}=o;if(a)return n}catch(o){console.log("delModelById error:",o)}},createModel:async e=>{try{const o=await m.post("/create",e),{success:a,data:n}=o;if(a)return n}catch(o){console.log("createModel error:",o)}},updateModelById:async e=>{try{const o=await m.put("/update",e),{success:a,data:n}=o;if(a)return n;console.log("====eee==",o),H.error(`\u4FDD\u5B58\u5931\u8D25: ${o==null?void 0:o.errorMsg}`)}catch(o){console.log("updateModelById error:",o)}},getUseTypeList:async()=>{try{const e=await m.get("/getModelTypes"),{success:o,data:a}=e;if(o)return a}catch(e){return console.log("getUseTypeList error:",e),!1}},getModelProtocolsList:async()=>{try{const e=await m.get("/getModelProtocols"),{success:o,data:a}=e;if(o)return a}catch(e){return console.log("getModelProtocolsList error:",e),!1}},testStatus:async()=>{try{const e=await m.post("/check"),{success:o,data:a}=e;if(o)return a}catch(e){console.log("testStatus error:",e)}},replaceModel:async(e,o)=>{try{const a=await m.get(`/replaceModel?sourceModelId=${e}&targetModelId=${o}`),{success:n,data:A}=a;if(n)return A}catch(a){console.log("replaceModel error:",a)}},checkModel:async e=>{try{const o=await m.get(`/checkModelReference?modelName=${e}`),{success:a,data:n}=o;if(a)return n}catch(o){console.log("checkModelReference error:",o)}}}},Y={common:{loading:"\u52A0\u8F7D\u4E2D..."},dashboard:{title:"\u6A21\u578B\u7BA1\u7406"},table:{viewLabel:"\u6A21\u578B",columns:{modelName:"\u6A21\u578B\u540D\u79F0",modelProtocol:"\u6A21\u578B\u4F20\u8F93\u534F\u8BAE",type:"\u4F7F\u7528\u7C7B\u578B",dec:"\u8BF4\u660E",status:"\u72B6\u6001",actions:"\u64CD\u4F5C"},statusHelpText:"\u5F53\u524D\u6A21\u578B\u72B6\u6001\u4E3A\u521D\u6B21\u65B0\u589E\u6821\u9A8C\u72B6\u6001\uFF0C\u82E5\u6A21\u578B\u4E0B\u7EBF\uFF0C\u6B64\u72B6\u6001\u4E0D\u4F1A\u4E3B\u52A8\u66F4\u65B0\uFF0C\u9700\u624B\u52A8\u6267\u884C\u6A21\u578B\u5220\u9664",toolbar:{add:"\u65B0\u5EFA",test:"\u6A21\u578B\u72B6\u6001\u68C0\u6D4B",replace:"\u6A21\u578B\u66FF\u6362"},actionEdit:"\u7F16\u8F91",actionAuth:"\u6388\u6743",actionDelete:"\u5220\u9664",tooltipChecking:"\u68C0\u6D4B\u4E2D\uFF0C\u8BF7\u7A0D\u540E",tooltipNoPermission:"\u89D2\u8272\u65E0\u6743\u9650\u64CD\u4F5C"},status:{available:"\u53EF\u7528",unavailable:"\u4E0D\u53EF\u7528",checking:"\u68C0\u6D4B\u4E2D"},empty:{noDataHint:"\u6682\u65E0\u6570\u636E\uFF0C\u8BF7\u5148\u65B0\u5EFA\u6A21\u578B",createModelBtn:"\u65B0\u5EFA\u6A21\u578B"},drawer:{titleNew:"\u65B0\u5EFA",titleEdit:"\u7F16\u8F91",cancel:"\u53D6\u6D88",confirm:"\u786E\u8BA4"},form:{labels:{modelName:"\u6A21\u578B\u540D\u79F0",modelIde:"\u6A21\u578BID",apiKey:"APIKey",url:"\u8BF7\u6C42URL",modelProtocol:"\u6A21\u578B\u4F20\u8F93\u534F\u8BAE",type:"\u4F7F\u7528\u7C7B\u578B",maxTokens:"\u4E0A\u4E0B\u6587\u957F\u5EA6",dec:"\u8BF4\u660E"},placeholders:{modelName:"\u8BF7\u8F93\u5165\u6A21\u578B\u540D\u79F0",modelIde:"\u8BF7\u8F93\u5165\u6A21\u578BID",apiKey:"\u8BF7\u8F93\u5165APIKey",url:"\u8BF7\u8F93\u5165\u8BF7\u6C42URL"},maxTokensHelpText:"\u8BF7\u5411\u6A21\u578B\u90E8\u7F72\u6216\u8FD0\u7EF4\u4EBA\u5458\u786E\u8BA4\u5F53\u524D\u6A21\u578B\u7684\u6700\u5927\u4E0A\u4E0B\u6587\u957F\u5EA6\uFF08Max Tokens / Context Length\uFF09\uFF0C\u5E76\u786E\u8BA4\u63A8\u7406\u670D\u52A1\uFF08\u5982 vLLM\uFF09\u662F\u5426\u914D\u7F6E\u4E86\u989D\u5916\u7684\u8F93\u5165\u957F\u5EA6\u9650\u5236"},replaceModal:{title:"\u6A21\u578B\u66FF\u6362",warningParagraph:"\u5982\u9700\u66F4\u6362\u6A21\u578B\uFF0C\u5728\u4E00\u952E\u66FF\u6362\u65F6\uFF0C\u7CFB\u7EDF\u5C06\u81EA\u52A8\u66F4\u65B0\u77E5\u8BC6\u89E3\u6790\u914D\u7F6E\u3001\u68C0\u7D22\u6D4B\u8BD5\u548C\u52A9\u624B\u914D\u7F6E\u4E2D\u7684\u6A21\u578B\u3002\u82E5\u66FF\u6362\u7684\u662F\u6587\u6863\u89E3\u6790\u7528\u7684Embedding\u6A21\u578B\uFF0C\u5219\u4F7F\u7528\u8BE5\u6A21\u578B\u7684\u6587\u6863\u5C06\u5168\u90E8\u91CD\u65B0\u6392\u961F\u89E3\u6790\uFF0C\u72B6\u6001\u53D8\u4E3A\u201C\u89E3\u6790\u4E2D\u201D\uFF0C\u4E14\u672A\u89E3\u6790\u5B8C\u6210\u7684\u6587\u6863\u6682\u4E0D\u53EF\u68C0\u7D22\uFF01",sourceLabel:"\u6A21\u578B\u540D\u79F0",targetLabel:"\u66FF\u6362\u4E3A",placeholderSelect:"\u8BF7\u9009\u62E9",cancel:"\u53D6\u6D88",confirm:"\u786E\u8BA4",messageSuccess:"\u6A21\u578B\u66FF\u6362\u6210\u529F"},message:{testSuccess:"\u6A21\u578B\u68C0\u6D4B\u4E2D\uFF0C\u8BF7\u8010\u5FC3\u7B49\u5F85\u72B6\u6001\u66F4\u65B0\uFF01",deleteSuccess:"\u5220\u9664\u6210\u529F",createSuccess:"\u6A21\u578B\u65B0\u589E\u6210\u529F\uFF01",editSuccess:"\u6A21\u578B\u7F16\u8F91\u6210\u529F\uFF01"},deleteConfirm:{title:"\u786E\u8BA4\u5220\u9664\uFF1F",content:'\u786E\u5B9A\u8981\u5220\u9664\u6A21\u578B "{{name}}" \u5417\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\u3002',titleWhenInUse:"\u5220\u9664\u6A21\u578B",contentWhenInUse:"\u5F53\u524D\u6A21\u578B\u5728\u7CFB\u7EDF\u5185\u5DF2\u88AB\u914D\u7F6E\u4F7F\u7528\uFF0C\u5220\u9664\u53EF\u80FD\u5F71\u54CD\u6587\u6863\u89E3\u6790\u3001\u95EE\u7B54\u3001\u591A\u6A21\u6001\u80FD\u529B\u4F7F\u7528\u7B49\uFF0C\u8BF7\u60A8\u5148\u4F7F\u7528\u201C\u6A21\u578B\u4E00\u952E\u66FF\u6362\u201D\u80FD\u529B\u5C06\u8BE5\u6A21\u578B\u66FF\u6362\u4E3A\u540C\u7C7B\u578B\u6A21\u578B\uFF0C\u518D\u5220\u9664\u6A21\u578B",okText:"\u786E\u8BA4",cancelText:"\u53D6\u6D88",deleteOkText:"\u5220\u9664"},server:{requestError:"\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",noPermission:"\u6CA1\u6709\u8DB3\u591F\u6743\u9650",notLoggedIn:"\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"}},Ke={common:{loading:"Loading..."},dashboard:{title:"Model management"},table:{viewLabel:"Models",columns:{modelName:"Model name",modelProtocol:"Protocol",type:"Use type",dec:"Description",status:"Status",actions:"Actions"},statusHelpText:"Status is validated on first add; if the model goes offline, it will not update automatically. Delete the model manually if needed.",toolbar:{add:"Add",test:"Test model status",replace:"Replace model"},actionEdit:"Edit",actionAuth:"Authorize",actionDelete:"Delete",tooltipChecking:"Checking, please wait",tooltipNoPermission:"No permission"},status:{available:"Available",unavailable:"Unavailable",checking:"Checking"},empty:{noDataHint:"No data. Add a model first.",createModelBtn:"Add model"},drawer:{titleNew:"Add",titleEdit:"Edit",cancel:"Cancel",confirm:"Confirm"},form:{labels:{modelName:"Model name",modelIde:"Model ID",apiKey:"API Key",url:"Request URL",modelProtocol:"Protocol",type:"Use type",maxTokens:"Context length",dec:"Description"},placeholders:{modelName:"Enter model name",modelIde:"Enter model ID",apiKey:"Enter API Key",url:"Enter request URL"},maxTokensHelpText:"Confirm with your deployment team the model's max context length (Max Tokens) and any limits set by the inference service (e.g. vLLM)."},replaceModal:{title:"Replace model",warningParagraph:'When you replace a model, the system will update knowledge parsing, retrieval tests, and assistant configs. If you replace an Embedding model used for documents, all documents using it will be re-queued for parsing and become "Parsing"; unparsed documents will not be searchable until done.',sourceLabel:"Model name",targetLabel:"Replace with",placeholderSelect:"Select",cancel:"Cancel",confirm:"Confirm",messageSuccess:"Model replaced successfully"},message:{testSuccess:"Model check in progress. Status will update shortly.",deleteSuccess:"Deleted",createSuccess:"Model added.",editSuccess:"Model updated."},deleteConfirm:{title:"Confirm delete?",content:'Delete model "{{name}}"? This cannot be undone.',titleWhenInUse:"Delete model",contentWhenInUse:'This model is in use. Deleting it may affect document parsing, Q&A, and multimodal features. Use "Replace model" to switch to another model of the same type first, then delete.',okText:"OK",cancelText:"Cancel",deleteOkText:"Delete"},server:{requestError:"Request failed, please try again.",noPermission:"Insufficient permission",notLoggedIn:"Not logged in or token expired"}},je={common:{loading:"\u8AAD\u307F\u8FBC\u307F\u4E2D..."},dashboard:{title:"\u30E2\u30C7\u30EB\u7BA1\u7406"},table:{viewLabel:"\u30E2\u30C7\u30EB",columns:{modelName:"\u30E2\u30C7\u30EB\u540D",modelProtocol:"\u30D7\u30ED\u30C8\u30B3\u30EB",type:"\u7528\u9014",dec:"\u8AAC\u660E",status:"\u72B6\u614B",actions:"\u64CD\u4F5C"},statusHelpText:"\u72B6\u614B\u306F\u521D\u56DE\u8FFD\u52A0\u6642\u306B\u691C\u8A3C\u3055\u308C\u307E\u3059\u3002\u30E2\u30C7\u30EB\u304C\u30AA\u30D5\u30E9\u30A4\u30F3\u306B\u306A\u3063\u3066\u3082\u81EA\u52D5\u3067\u306F\u66F4\u65B0\u3055\u308C\u307E\u305B\u3093\u3002\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u624B\u52D5\u3067\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002",toolbar:{add:"\u65B0\u898F",test:"\u30E2\u30C7\u30EB\u72B6\u614B\u691C\u8A3C",replace:"\u30E2\u30C7\u30EB\u7F6E\u63DB"},actionEdit:"\u7DE8\u96C6",actionAuth:"\u6A29\u9650",actionDelete:"\u524A\u9664",tooltipChecking:"\u691C\u8A3C\u4E2D\u3001\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044",tooltipNoPermission:"\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093"},status:{available:"\u5229\u7528\u53EF",unavailable:"\u5229\u7528\u4E0D\u53EF",checking:"\u691C\u8A3C\u4E2D"},empty:{noDataHint:"\u30C7\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5148\u306B\u30E2\u30C7\u30EB\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002",createModelBtn:"\u30E2\u30C7\u30EB\u3092\u8FFD\u52A0"},drawer:{titleNew:"\u65B0\u898F",titleEdit:"\u7DE8\u96C6",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",confirm:"\u78BA\u8A8D"},form:{labels:{modelName:"\u30E2\u30C7\u30EB\u540D",modelIde:"\u30E2\u30C7\u30EBID",apiKey:"API\u30AD\u30FC",url:"\u30EA\u30AF\u30A8\u30B9\u30C8URL",modelProtocol:"\u30D7\u30ED\u30C8\u30B3\u30EB",type:"\u7528\u9014",maxTokens:"\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u9577",dec:"\u8AAC\u660E"},placeholders:{modelName:"\u30E2\u30C7\u30EB\u540D\u3092\u5165\u529B",modelIde:"\u30E2\u30C7\u30EBID\u3092\u5165\u529B",apiKey:"API\u30AD\u30FC\u3092\u5165\u529B",url:"\u30EA\u30AF\u30A8\u30B9\u30C8URL\u3092\u5165\u529B"},maxTokensHelpText:"\u30E2\u30C7\u30EB\u306E\u6700\u5927\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u9577\uFF08Max Tokens\uFF09\u3068\u63A8\u8AD6\u30B5\u30FC\u30D3\u30B9\uFF08vLLM\u7B49\uFF09\u306E\u5236\u9650\u3092\u30C7\u30D7\u30ED\u30A4\u62C5\u5F53\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},replaceModal:{title:"\u30E2\u30C7\u30EB\u7F6E\u63DB",warningParagraph:"\u30E2\u30C7\u30EB\u3092\u7F6E\u63DB\u3059\u308B\u3068\u3001\u77E5\u8B58\u89E3\u6790\u30FB\u691C\u7D22\u30C6\u30B9\u30C8\u30FB\u30A2\u30B7\u30B9\u30BF\u30F3\u30C8\u8A2D\u5B9A\u304C\u66F4\u65B0\u3055\u308C\u307E\u3059\u3002\u6587\u66F8\u89E3\u6790\u7528Embedding\u30E2\u30C7\u30EB\u3092\u7F6E\u63DB\u3057\u305F\u5834\u5408\u3001\u305D\u306E\u30E2\u30C7\u30EB\u3092\u4F7F\u3046\u6587\u66F8\u306F\u518D\u89E3\u6790\u30AD\u30E5\u30FC\u306B\u5165\u308A\u300C\u89E3\u6790\u4E2D\u300D\u3068\u306A\u308A\u3001\u89E3\u6790\u5B8C\u4E86\u307E\u3067\u691C\u7D22\u3067\u304D\u307E\u305B\u3093\u3002",sourceLabel:"\u30E2\u30C7\u30EB\u540D",targetLabel:"\u7F6E\u63DB\u5148",placeholderSelect:"\u9078\u629E",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",confirm:"\u78BA\u8A8D",messageSuccess:"\u30E2\u30C7\u30EB\u3092\u7F6E\u63DB\u3057\u307E\u3057\u305F"},message:{testSuccess:"\u30E2\u30C7\u30EB\u3092\u691C\u8A3C\u4E2D\u3067\u3059\u3002\u72B6\u614B\u304C\u66F4\u65B0\u3055\u308C\u308B\u307E\u3067\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002",deleteSuccess:"\u524A\u9664\u3057\u307E\u3057\u305F",createSuccess:"\u30E2\u30C7\u30EB\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F\u3002",editSuccess:"\u30E2\u30C7\u30EB\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002"},deleteConfirm:{title:"\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",content:"\u30E2\u30C7\u30EB\u300C{{name}}\u300D\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3002",titleWhenInUse:"\u30E2\u30C7\u30EB\u3092\u524A\u9664",contentWhenInUse:"\u3053\u306E\u30E2\u30C7\u30EB\u306F\u4F7F\u7528\u4E2D\u3067\u3059\u3002\u524A\u9664\u3059\u308B\u3068\u6587\u66F8\u89E3\u6790\u30FBQ&A\u30FB\u30DE\u30EB\u30C1\u30E2\u30FC\u30C0\u30EB\u306B\u5F71\u97FF\u3059\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u5148\u306B\u300C\u30E2\u30C7\u30EB\u7F6E\u63DB\u300D\u3067\u540C\u7A2E\u306E\u30E2\u30C7\u30EB\u306B\u7F6E\u304D\u63DB\u3048\u3066\u304B\u3089\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002",okText:"\u78BA\u8A8D",cancelText:"\u30AD\u30E3\u30F3\u30BB\u30EB",deleteOkText:"\u524A\u9664"},server:{requestError:"\u30EA\u30AF\u30A8\u30B9\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u3057\u3070\u3089\u304F\u3057\u3066\u304B\u3089\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",noPermission:"\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093",notLoggedIn:"\u672A\u30ED\u30B0\u30A4\u30F3\u307E\u305F\u306F\u30C8\u30FC\u30AF\u30F3\u671F\u9650\u5207\u308C"}},$e={zh:Y,en:Ke,ja:je};function _e(t,F){return t.replace(/\{\{(\w+)\}\}/g,(r,c)=>F[c]??"")}function Oe(t,F){const r=$e[t]??Y;return F?{...r,...F}:r}function Be(t,F){const r=F.split(".");let c=t;for(const B of r)c=c==null?void 0:c[B];return typeof c=="string"?c:F}const fe=X.createContext({locale:"zh",messages:Y,getMessage:t=>Be(Y,t)});function le(){return X.useContext(fe)}function Ze({locale:t,messages:F,children:r}){const c=X.useMemo(()=>{const B=Oe(t,F);return{locale:t,messages:B,getMessage:h=>Be(B,h)}},[t,F]);return X.createElement(fe.Provider,{value:c},r)}const Xe=Pe.div.attrs({className:"config-model-drawer-scroll-wrap"})`
|
|
2
2
|
width: 100%;
|
|
3
3
|
flex: 1 1 0;
|
|
4
4
|
min-height: min-content;
|
|
@@ -11,4 +11,4 @@ import{jsx as l,jsxs as q}from"react/jsx-runtime";import Z,{useState as w,useMem
|
|
|
11
11
|
overflow: visible !important;
|
|
12
12
|
min-height: min-content !important;
|
|
13
13
|
}
|
|
14
|
-
`,Xe=({drawerTitle:t,drawerVisible:F,modelInfo:r,handleDrawerClose:c,modelUseTypeOpt:B,modelProtocolsOpt:h,eventsEmit:m})=>{const{messages:d}=le(),[u,R]=w(!1),[P,I]=w(!1),D=j(()=>({id:"config-model",layout:"vertical",formWidth:"550px",fields:[{id:"modelName",name:"modelName",label:d.form.labels.modelName,type:"input",required:!0,placeholder:d.form.placeholders.modelName,counter:30},{id:"modelIde",name:"modelIde",label:d.form.labels.modelIde,type:"input",required:!0,placeholder:d.form.placeholders.modelIde,defaultValue:""},{id:"apiKey",name:"apiKey",label:d.form.labels.apiKey,type:"input",required:!1,placeholder:d.form.placeholders.apiKey,defaultValue:""},{id:"url",name:"url",label:d.form.labels.url,type:"input",required:!0,placeholder:d.form.placeholders.url,defaultValue:""},{id:"modelProtocol",name:"modelProtocol",label:d.form.labels.modelProtocol,type:"select",required:!0,options:Array.isArray(h)?h:[]},{id:"type",name:"type",label:d.form.labels.type,type:"select",required:!0,options:Array.isArray(B)?B:[],defaultValue:1,controlledItems:{2:{defaults:{maxTokens:512}}}},{id:"maxTokens",name:"maxTokens",label:d.form.labels.maxTokens,type:"slider",range:{max:1e5,min:200},step:1,sliderInline:!0,required:!0,helpText:d.form.maxTokensHelpText},{id:"dec",name:"dec",label:d.form.labels.dec,type:"textarea",required:!1}]}),[d,B,h]),p=oe(null),V=async(a,n,A)=>{var b;switch(console.log("[Form] eventsEmit:",a,n,A),a){case"form:ready":n.formRef&&(p.current=n.formRef);break;case"form:change":if(!((b=p.current)!=null&&b.getValue)){console.log("\u8868\u5355\u5F15\u7528\u672A\u5C31\u7EEA\uFF0C\u8DF3\u8FC7 formdata_onchange \u4E8B\u4EF6");return}const x=await p.current.getValue("type");x==2||x==3?I(!0):I(!1);break;default:console.log("\u672A\u5904\u7406\u7684\u4E8B\u4EF6:",a,n)}m==null||m(a,n,A)},_=async()=>{try{R(!0);const a=await p.current.getAllData();a.isValid&&(r!=null&&r.id?await m("form_submitted_edit",a,void 0):await m("form_submitted_add",a,void 0))}catch(a){console.error("\u274C \u63D0\u4EA4\u8868\u5355\u6570\u636E\u5931\u8D25:",a)}finally{R(!1)}},e=j(()=>{const a=r==null?void 0:r.data.reduce((n,A)=>(n[A.columnId]=A.value,n),{});return{label:"\u52A8\u6001\u8868\u5355\u793A\u4F8B",defaultActiveId:D.id,model:null,views:[{label:"\u7528\u6237\u6CE8\u518C\u8868\u5355",id:D.id,type:"form",size:"md",formWidth:D.formWidth,formConfig:{layout:D.layout,showReset:!1,showSubmit:!1,formWidth:D.formWidth}}],dataSource:[{id:D.id,fields:D.fields,defaultValues:a||{}}],eventsEmit:V}},[r,P,D]),s=j(()=>{const n=(Array.isArray(e.dataSource)?e.dataSource:[]).map(b=>{const x=b==null?void 0:b.fields,T=(Array.isArray(x)?x:[]).map(M=>({...M,options:M&&"options"in M?Array.isArray(M.options)?M.options:[]:void 0,controlledItems:M==null?void 0:M.controlledItems}));return{...b,fields:T}}),A=Array.isArray(e.views)?e.views:[];return{...e,views:A,dataSource:n}},[e]);return l(Ue,{title:t,placement:"right",width:560,onClose:c,closeIcon:!1,extra:l(qe,{size:20,color:"#888888",onClick:c,className:"cursor-pointer"}),open:F,destroyOnHidden:!0,rootClassName:"config-model-drawer",styles:{body:{display:"flex",flexDirection:"column",flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden"}},footer:q("div",{className:"flex justify-end items-center gap-3",children:[l(N,{mode:"default",label:d.drawer.cancel,onClick:c}),l(N,{mode:"primary",label:d.drawer.confirm,loading:u,onClick:_})]}),children:l(Ze,{children:l(pe,{...s},"example-form")})})},{Item:de}=O,Ge=({modelVisible:t,options:F,eventsEmit:r,replaceModel:c})=>{const{messages:B}=le(),[h,m]=w(!1),[d]=O.useForm(),u=O.useWatch("sourceModelId",d),R=j(()=>{const I=F.find(D=>D.value==u);return I?F.filter(p=>p.useType==I.useType&&p.value!==u&&p.status==1):[]},[u]);Fe(()=>{u&&d.setFieldValue("targetModelId",void 0)},[u]);const P=async()=>{try{m(!0);const I=await d.validateFields(),{sourceModelId:D,targetModelId:p}=I;await c(D,p)&&(z.success(B.replaceModal.messageSuccess),d.resetFields(),r&&r("replace_model"))}catch(I){console.log("e---->",I)}finally{m(!1)}};return q(Ee,{open:t,title:B.replaceModal.title,width:620,destroyOnHidden:!0,onCancel:()=>{d.resetFields(),r&&r("close_model")},footer:q("div",{className:"flex justify-end gap-3",style:{justifyContent:"end",margin:"20px 4px"},children:[l(N,{mode:"default",label:B.replaceModal.cancel,onClick:()=>{d.resetFields(),r&&r("close_model")}}),l(N,{mode:"primary",label:B.replaceModal.confirm,loading:h,onClick:P})]}),children:[q("div",{className:"flex gap-3",style:{margin:"20px 4px"},children:[l("div",{children:l(He,{size:22,color:"#f4a02a"})}),l("span",{className:"text-[14px]",children:B.replaceModal.warningParagraph})]}),q(O,{form:d,colon:!1,labelCol:{span:5},wrapperCol:{span:18},style:{margin:"40px 60px"},children:[l(de,{label:B.replaceModal.sourceLabel,name:"sourceModelId",rules:[{required:!0,message:""}],children:l(ce,{placeholder:B.replaceModal.placeholderSelect,options:F})}),l(de,{label:B.replaceModal.targetLabel,name:"targetModelId",rules:[{required:!0,message:""}],children:l(ce,{placeholder:B.replaceModal.placeholderSelect,options:R})})]})]})},te={success:"green",error:"red",warning:"orange",processing:"blue",info:"cyan",default:"default"},ae=[{statusType:"success",value:"\u53EF\u7528",status:1},{statusType:"error",value:"\u4E0D\u53EF\u7528",status:0},{statusType:"warning",value:"\u68C0\u6D4B\u4E2D",status:2}],Qe=t=>typeof t=="string"&&t in te?te[t]:te.default;var Y=(t=>(t[t.DATE=0]="DATE",t[t.VIEW=1]="VIEW",t[t.ERROR=2]="ERROR",t[t.AUTHORIZE=3]="AUTHORIZE",t[t.DELETE=4]="DELETE",t[t.ANALYSIS_OR_EXTRACT=5]="ANALYSIS_OR_EXTRACT",t[t.DOWNLOAD=6]="DOWNLOAD",t[t.EDIT=7]="EDIT",t[t.ADD=8]="ADD",t[t.ANALYSIS_CONFIG=9]="ANALYSIS_CONFIG",t[t.AUTHORIZE_CONFIG=10]="AUTHORIZE_CONFIG",t))(Y||{});const{confirm:me}=Ee,Je={pageNum:1,pageSize:1e3},eu=t=>{const{value:F,cell:r}=t,c=Qe(t.cell.statusType);return r.status===0?l(se,{title:r.errorMsg,children:l("div",{className:"flex items-center gap-2",children:l(ie,{color:c,text:F})})}):l(ie,{color:c,text:F})};function uu(t){const{url:F,token:r,role:c,CustomComponents:B,eventsEmit:h,getBtnDisabled:m,showModelReplace:d}=t,{messages:u,getMessage:R,locale:P}=le(),[I,D]=w({container:"ready",content:"ready"}),p=oe(null),[V,_]=w(),e=oe(null),[s,a]=w(!1),[n,A]=w(!1),[b,x]=w([]),[W,T]=w(!1),[M,U]=w(""),[S,re]=w(),[G,Ae]=w([]),[Q,Ce]=w([]),{getModelList:ge,delModelById:De,createModel:ye,updateModelById:he,getUseTypeList:be,getModelProtocolsList:Me,testStatus:ve,replaceModel:we,checkModel:Ie}=We({url:F,token:r,role:c,eventsEmit:h,getMessage:R});Fe(()=>(D(i=>({...i,content:"loading"})),J(),ke(),()=>{e.current&&(clearTimeout(e.current),e.current=null)}),[]);const xe=i=>(i||[]).map(o=>{const f=ae.find(y=>y.status==o.status),E=o.status===1?u.status.available:o.status===0?u.status.unavailable:u.status.checking;return{id:o.id,data:[{columnId:"modelName",value:o.modelName},{columnId:"modelProtocol",value:o.modelProtocol,type:"customized"},{columnId:"type",value:o.type,type:"customized"},{columnId:"dec",value:o.dec},{columnId:"status",...f,value:E,type:"customized",errorMsg:o.errorMsg},{columnId:"actions",value:"edit",label:u.table.actionEdit,status:o.status,type:"action",disabled:m&&m(Y.EDIT,o.permission)},{columnId:"actions",value:"auth",label:u.table.actionAuth,type:"action",status:o.status,disabled:m&&m(Y.AUTHORIZE,o.permission)},{columnId:"actions",value:"delete",label:u.table.actionDelete,type:"action",status:o.status,disabled:m&&m(Y.AUTHORIZE,o.permission)},{columnId:"url",value:o.url},{columnId:"apiKey",value:o.apiKey},{columnId:"modelIde",value:o.modelIde},{columnId:"thinking",value:o.thinking},{columnId:"maxTokens",value:o.maxTokens}]}}),ke=async()=>{try{const[i,o]=await Promise.allSettled([be(),Me()]);if(i.status==="fulfilled"&&i.value){const f=i.value,E=Array.isArray(f)?f:[];Ae(E.map(y=>({...y,value:Number(y.value)})))}if(o.status==="fulfilled"&&o.value){const f=o.value,E=Array.isArray(f)?f:[];Ce(E.map(y=>({...y,value:Number(y.value)})))}}catch(i){console.error("[TableApiError] getTableList:",i)}},ne=async()=>{try{const i=await ge(Je);if(i.records){const o=xe(i.records),f=(i.records||[]).map(E=>({value:E.id,label:E.modelName,useType:E.type,status:E.status}));return x(f),_(o||[]),D(E=>({...E,content:"ready"})),o||[]}}catch(i){console.error("[TableApiError] getTableList:",i)}},J=async()=>{const i=await ne();Le(i||[])?e.current&&(clearTimeout(e.current),e.current=null):(e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(()=>{J()},5e3))};function Le(i){if(!Array.isArray(i))return!0;for(const o of i)if(o.data){const f=o.data.find(E=>E.columnId==="status");if(f&&f.status===2)return!1}return!0}const Se=j(()=>({defaultActiveId:"model-table",model:null,views:[{label:u.table.viewLabel,id:"model-table",type:"table",viewBehavior:"pagination",allowMultiSelect:!1,viewPageSize:10,paginationLocale:P,columns:[{id:"modelName",title:u.table.columns.modelName,type:"label"},{id:"modelProtocol",title:u.table.columns.modelProtocol,type:"customized",component:i=>{var E;const{value:o}=i,f=(E=Q.find(y=>y.value==o))==null?void 0:E.label;return l("span",{children:f})}},{id:"type",title:u.table.columns.type,type:"customized",component:i=>{var E;const{value:o}=i,f=(E=G.find(y=>y.value==o))==null?void 0:E.label;return l("span",{children:f})}},{id:"dec",title:u.table.columns.dec,type:"paragraph"},{id:"status",title:u.table.columns.status,type:"customized",component:l(eu,{}),helpText:u.table.statusHelpText},{id:"actions",title:u.table.columns.actions,type:"customized",component:i=>{const{value:o,cell:f,row:E}=i,{disabled:y,label:H,status:$}=f;return $==2?l(se,{title:u.table.tooltipChecking,children:l(N,{mode:"text",label:H,disabled:!0})}):y?l(se,{title:u.table.tooltipNoPermission,children:l(N,{mode:"text",label:H,disabled:y})}):l(N,{mode:"text",label:H,onClick:()=>K(`table_action_${o}`,E,void 0)})}}],toolbar:[{type:"button",btnType:"primary",key:"add",label:u.table.toolbar.add,icon:l(ze,{})},...d?[{type:"customized",key:"test",render:()=>l(N,{loading:s,mode:"primary",label:u.table.toolbar.test,onClick:()=>K("toolbar_test")})},{type:"button",btnType:"primary",key:"replace",label:u.table.toolbar.replace}]:[]]}]}),[u,P,G,Q,s,d]),Te=()=>q("div",{className:"flex flex-col items-center justify-center h-full",children:[l("div",{className:"text-xl font-semibold mb-3",style:{color:"#374151"},children:l("img",{src:Ve,width:120})}),l("div",{className:"text-base mb-6",style:{color:"#6b7280"},children:u.empty.noDataHint}),l("div",{className:"flex gap-3",children:l(N,{mode:"primary",label:u.empty.createModelBtn,onClick:()=>{U(u.drawer.titleNew),T(!0)}})})]});async function K(i,o,f){var E,y,H,$;switch(console.log("[adopter] mergedEventsEmit",i,o,f),i){case"toolbar_add":{U(u.drawer.titleNew),T(!0);break}case"toolbar_test":{a(!0),await ve()&&(a(!1),await J(),z.success(u.message.testSuccess));break}case"toolbar_replace":{A(!0);break}case"table_action_delete":{try{const k=o.data.find(v=>v.columnId=="modelName").value;if(await Ie(k)>0)me({title:u.deleteConfirm.titleWhenInUse,content:l("div",{style:{marginRight:"20px"},children:u.deleteConfirm.contentWhenInUse}),okText:u.deleteConfirm.okText,cancelText:u.deleteConfirm.cancelText});else{const v=o.data.find(L=>L.columnId=="modelName").value;me({title:u.deleteConfirm.title,content:$e(u.deleteConfirm.content,{name:v}),okText:u.deleteConfirm.deleteOkText,cancelText:u.deleteConfirm.cancelText,async onOk(){await De(o.id)&&(p!=null&&p.current)&&(p==null||p.current.appFn.removeItem(o.id),z.success(u.message.deleteSuccess))}})}}catch(k){console.error("\u5220\u9664\u8868\u6570\u636E\u5931\u8D25",k)}break}case"table_action_edit":{console.log("=====+++",u.drawer.titleEdit,o),U(u.drawer.titleEdit),T(!0),re(o);break}case"form_submitted_add":{try{const k=o.fields.reduce((v,L)=>(v[L.name]=L.value,v),{}),C=await ye({...k});if(C){const v=ae.find(g=>g.status==C.status),L=C.status===1?u.status.available:C.status===0?u.status.unavailable:u.status.checking,ue={id:C.id,data:[...(Object.keys(C)||[]).map(g=>g==="status"?{columnId:g,value:L,...v,type:"customized",errorMsg:C.errorMsg}:{columnId:g,value:C[g],...(g=="modelProtocol"||g=="type")&&{type:"customized"}}),{columnId:"actions",value:"edit",label:u.table.actionEdit,type:"action"},{columnId:"actions",value:"auth",label:u.table.actionAuth,type:"action"},{columnId:"actions",value:"delete",label:u.table.actionDelete,type:"action"}]};(y=(E=p==null?void 0:p.current)==null?void 0:E.appFn)==null||y.addItem(ue,{animate:!0,position:"start"}),z.success(u.message.createSuccess),ee()}}catch(k){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",k)}finally{}break}case"form_submitted_edit":{try{const k=o.fields.reduce((v,L)=>(v[L.name]=L.value,v),{}),C=await he({...k,id:S.id});if(console.log("======res",C),C){const v=ae.find(g=>g.status==C.status),L=C.status===1?u.status.available:C.status===0?u.status.unavailable:u.status.checking,ue={...S,data:S.data.map(g=>{if(C[g.columnId]!==null&&C[g.columnId]!==void 0){if(g.columnId=="status")return{...g,...v,value:L};g.value=C[g.columnId]}return g})};($=(H=p==null?void 0:p.current)==null?void 0:H.appFn)==null||$.updateItem(ue,S==null?void 0:S.id),z.success(u.message.editSuccess),ee()}}catch(k){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",k)}break}case"replace_model":{await ne(),A(!1);break}case"close_model":{A(!1);break}default:typeof t.eventsEmit=="function"&&t.eventsEmit(i,o);break}}const ee=()=>{T(!1),re(void 0)};return q(Ne,{title:u.dashboard.title,children:[l(pe,{dataSource:V,ref:p,eventsEmit:K,status:I,CustomComponents:{EmptyData:Te,...B},...Se}),l(Xe,{drawerTitle:M,drawerVisible:W,handleDrawerClose:ee,modelInfo:S,modelUseTypeOpt:G,modelProtocolsOpt:Q,eventsEmit:K}),l(Ge,{modelVisible:n,options:b,eventsEmit:K,replaceModel:we})]})}function Bu(t){const{locale:F="zh",messages:r,...c}=t;return l(Ye,{locale:F,messages:r,children:l(uu,{...c})})}export{fe as ModelManageI18nContext,Ye as ModelManageI18nProvider,Bu as default,Oe as getModelManageMessages,$e as interpolateModelManage,le as useModelManageI18n};
|
|
14
|
+
`,Ye=({drawerTitle:t,drawerVisible:F,modelInfo:r,handleDrawerClose:c,modelUseTypeOpt:B,modelProtocolsOpt:h,eventsEmit:m})=>{const{messages:d}=le(),[u,R]=w(!1),[P,I]=w(!1),D=j(()=>({id:"config-model",layout:"vertical",formWidth:"550px",fields:[{id:"modelName",name:"modelName",label:d.form.labels.modelName,type:"input",required:!0,placeholder:d.form.placeholders.modelName,counter:30},{id:"modelIde",name:"modelIde",label:d.form.labels.modelIde,type:"input",required:!0,placeholder:d.form.placeholders.modelIde,defaultValue:""},{id:"apiKey",name:"apiKey",label:d.form.labels.apiKey,type:"input",required:!1,placeholder:d.form.placeholders.apiKey,defaultValue:""},{id:"url",name:"url",label:d.form.labels.url,type:"input",required:!0,placeholder:d.form.placeholders.url,defaultValue:""},{id:"modelProtocol",name:"modelProtocol",label:d.form.labels.modelProtocol,type:"select",required:!0,options:Array.isArray(h)?h:[]},{id:"type",name:"type",label:d.form.labels.type,type:"select",required:!0,options:Array.isArray(B)?B:[],defaultValue:1,controlledItems:{2:{defaults:{maxTokens:512}}}},{id:"maxTokens",name:"maxTokens",label:d.form.labels.maxTokens,type:"slider",range:{max:1e5,min:200},step:1,sliderInline:!0,required:!0,helpText:d.form.maxTokensHelpText},{id:"dec",name:"dec",label:d.form.labels.dec,type:"textarea",required:!1}]}),[d,B,h]),p=se(null),V=async(a,n,A)=>{var b;switch(console.log("[Form] eventsEmit:",a,n,A),a){case"form:ready":n.formRef&&(p.current=n.formRef);break;case"form:change":if(!((b=p.current)!=null&&b.getValue)){console.log("\u8868\u5355\u5F15\u7528\u672A\u5C31\u7EEA\uFF0C\u8DF3\u8FC7 formdata_onchange \u4E8B\u4EF6");return}const x=await p.current.getValue("type");x==2||x==3?I(!0):I(!1);break;default:console.log("\u672A\u5904\u7406\u7684\u4E8B\u4EF6:",a,n)}m==null||m(a,n,A)},$=async()=>{try{R(!0);const a=await p.current.getAllData();a.isValid&&(r!=null&&r.id?await m("form_submitted_edit",a,void 0):await m("form_submitted_add",a,void 0))}catch(a){console.error("\u274C \u63D0\u4EA4\u8868\u5355\u6570\u636E\u5931\u8D25:",a)}finally{R(!1)}},e=j(()=>{const a=r==null?void 0:r.data.reduce((n,A)=>(n[A.columnId]=A.value,n),{});return{label:"\u52A8\u6001\u8868\u5355\u793A\u4F8B",defaultActiveId:D.id,model:null,views:[{label:"\u7528\u6237\u6CE8\u518C\u8868\u5355",id:D.id,type:"form",size:"md",formWidth:D.formWidth,formConfig:{layout:D.layout,showReset:!1,showSubmit:!1,formWidth:D.formWidth}}],dataSource:[{id:D.id,fields:D.fields,defaultValues:a||{}}],eventsEmit:V}},[r,P,D]),o=j(()=>{const n=(Array.isArray(e.dataSource)?e.dataSource:[]).map(b=>{const x=b==null?void 0:b.fields,T=(Array.isArray(x)?x:[]).map(M=>({...M,options:M&&"options"in M?Array.isArray(M.options)?M.options:[]:void 0,controlledItems:M==null?void 0:M.controlledItems}));return{...b,fields:T}}),A=Array.isArray(e.views)?e.views:[];return{...e,views:A,dataSource:n}},[e]);return l(Ue,{title:t,placement:"right",width:560,onClose:c,closeIcon:!1,extra:l(qe,{size:20,color:"#888888",onClick:c,className:"cursor-pointer"}),open:F,destroyOnHidden:!0,rootClassName:"config-model-drawer",styles:{body:{display:"flex",flexDirection:"column",flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden"}},footer:q("div",{className:"flex justify-end items-center gap-3",children:[l(N,{mode:"default",label:d.drawer.cancel,onClick:c}),l(N,{mode:"primary",label:d.drawer.confirm,loading:u,onClick:$})]}),children:l(Xe,{children:l(pe,{...o},"example-form")})})},{Item:de}=O,Ge=({modelVisible:t,options:F,eventsEmit:r,replaceModel:c})=>{const{messages:B}=le(),[h,m]=w(!1),[d]=O.useForm(),u=O.useWatch("sourceModelId",d),R=j(()=>{const I=F.find(D=>D.value==u);return I?F.filter(p=>p.useType==I.useType&&p.value!==u&&p.status==1):[]},[u]);Fe(()=>{u&&d.setFieldValue("targetModelId",void 0)},[u]);const P=async()=>{try{m(!0);const I=await d.validateFields(),{sourceModelId:D,targetModelId:p}=I;await c(D,p)&&(H.success(B.replaceModal.messageSuccess),d.resetFields(),r&&r("replace_model"))}catch(I){console.log("e---->",I)}finally{m(!1)}};return q(Ee,{open:t,title:B.replaceModal.title,width:620,destroyOnHidden:!0,onCancel:()=>{d.resetFields(),r&&r("close_model")},footer:q("div",{className:"flex justify-end gap-3",style:{justifyContent:"end",margin:"20px 4px"},children:[l(N,{mode:"default",label:B.replaceModal.cancel,onClick:()=>{d.resetFields(),r&&r("close_model")}}),l(N,{mode:"primary",label:B.replaceModal.confirm,loading:h,onClick:P})]}),children:[q("div",{className:"flex gap-3",style:{margin:"20px 4px"},children:[l("div",{children:l(ze,{size:22,color:"#f4a02a"})}),l("span",{className:"text-[14px]",children:B.replaceModal.warningParagraph})]}),q(O,{form:d,colon:!1,labelCol:{span:5},wrapperCol:{span:18},style:{margin:"40px 60px"},children:[l(de,{label:B.replaceModal.sourceLabel,name:"sourceModelId",rules:[{required:!0,message:""}],children:l(ce,{placeholder:B.replaceModal.placeholderSelect,options:F})}),l(de,{label:B.replaceModal.targetLabel,name:"targetModelId",rules:[{required:!0,message:""}],children:l(ce,{placeholder:B.replaceModal.placeholderSelect,options:R})})]})]})},te={success:"green",error:"red",warning:"orange",processing:"blue",info:"cyan",default:"default"},ae=[{statusType:"success",value:"\u53EF\u7528",status:1},{statusType:"error",value:"\u4E0D\u53EF\u7528",status:0},{statusType:"warning",value:"\u68C0\u6D4B\u4E2D",status:2}],Qe=t=>typeof t=="string"&&t in te?te[t]:te.default;var Z=(t=>(t[t.DATE=0]="DATE",t[t.VIEW=1]="VIEW",t[t.ERROR=2]="ERROR",t[t.AUTHORIZE=3]="AUTHORIZE",t[t.DELETE=4]="DELETE",t[t.ANALYSIS_OR_EXTRACT=5]="ANALYSIS_OR_EXTRACT",t[t.DOWNLOAD=6]="DOWNLOAD",t[t.EDIT=7]="EDIT",t[t.ADD=8]="ADD",t[t.ANALYSIS_CONFIG=9]="ANALYSIS_CONFIG",t[t.AUTHORIZE_CONFIG=10]="AUTHORIZE_CONFIG",t))(Z||{});const{confirm:me}=Ee,Je={pageNum:1,pageSize:1e3},eu=t=>{const{value:F,cell:r}=t,c=Qe(t.cell.statusType);return r.status===0?l(oe,{title:r.errorMsg,children:l("div",{className:"flex items-center gap-2",children:l(ie,{color:c,text:F})})}):l(ie,{color:c,text:F})};function uu(t){const{url:F,token:r,role:c,CustomComponents:B,eventsEmit:h,getBtnDisabled:m,showModelReplace:d}=t,{messages:u,getMessage:R,locale:P}=le(),[I,D]=w({container:"ready",content:"ready"}),p=se(null),[V,$]=w(),e=se(null),[o,a]=w(!1),[n,A]=w(!1),[b,x]=w([]),[W,T]=w(!1),[M,U]=w(""),[S,re]=w(),[G,Ae]=w([]),[Q,Ce]=w([]),{getModelList:ge,delModelById:De,createModel:ye,updateModelById:he,getUseTypeList:be,getModelProtocolsList:Me,testStatus:ve,replaceModel:we,checkModel:Ie}=We({url:F,token:r,role:c,eventsEmit:h,getMessage:R});Fe(()=>(D(i=>({...i,content:"loading"})),J(),ke(),()=>{e.current&&(clearTimeout(e.current),e.current=null)}),[]);const xe=i=>(i||[]).map(s=>{const f=ae.find(y=>y.status==s.status),E=s.status===1?u.status.available:s.status===0?u.status.unavailable:u.status.checking;return{id:s.id,data:[{columnId:"modelName",value:s.modelName},{columnId:"modelProtocol",value:s.modelProtocol,type:"customized"},{columnId:"type",value:s.type,type:"customized"},{columnId:"dec",value:s.dec},{columnId:"status",...f,value:E,type:"customized",errorMsg:s.errorMsg},{columnId:"actions",value:"edit",label:u.table.actionEdit,status:s.status,type:"action",disabled:m&&m(Z.EDIT,s.permission)},{columnId:"actions",value:"auth",label:u.table.actionAuth,type:"action",status:s.status,disabled:m&&m(Z.AUTHORIZE,s.permission)},{columnId:"actions",value:"delete",label:u.table.actionDelete,type:"action",status:s.status,disabled:m&&m(Z.AUTHORIZE,s.permission)},{columnId:"url",value:s.url},{columnId:"apiKey",value:s.apiKey},{columnId:"modelIde",value:s.modelIde},{columnId:"thinking",value:s.thinking},{columnId:"maxTokens",value:s.maxTokens}]}}),ke=async()=>{try{const[i,s]=await Promise.allSettled([be(),Me()]);if(i.status==="fulfilled"&&i.value){const f=i.value,E=Array.isArray(f)?f:[];Ae(E.map(y=>({...y,value:Number(y.value)})))}if(s.status==="fulfilled"&&s.value){const f=s.value,E=Array.isArray(f)?f:[];Ce(E.map(y=>({...y,value:Number(y.value)})))}}catch(i){console.error("[TableApiError] getTableList:",i)}},ne=async()=>{try{const i=await ge(Je);if(i.records){const s=xe(i.records),f=(i.records||[]).map(E=>({value:E.id,label:E.modelName,useType:E.type,status:E.status}));return x(f),$(s||[]),D(E=>({...E,content:"ready"})),s||[]}}catch(i){console.error("[TableApiError] getTableList:",i)}},J=async()=>{const i=await ne();Le(i||[])?e.current&&(clearTimeout(e.current),e.current=null):(e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(()=>{J()},5e3))};function Le(i){if(!Array.isArray(i))return!0;for(const s of i)if(s.data){const f=s.data.find(E=>E.columnId==="status");if(f&&f.status===2)return!1}return!0}const Se=j(()=>({defaultActiveId:"model-table",model:null,views:[{label:u.table.viewLabel,id:"model-table",type:"table",viewBehavior:"pagination",allowMultiSelect:!1,viewPageSize:10,paginationLocale:P,columns:[{id:"modelName",title:u.table.columns.modelName,type:"label"},{id:"modelProtocol",title:u.table.columns.modelProtocol,type:"customized",component:i=>{var E;const{value:s}=i,f=(E=Q.find(y=>y.value==s))==null?void 0:E.label;return l("span",{children:f})}},{id:"type",title:u.table.columns.type,type:"customized",component:i=>{var E;const{value:s}=i,f=(E=G.find(y=>y.value==s))==null?void 0:E.label;return l("span",{children:f})}},{id:"dec",title:u.table.columns.dec,type:"paragraph"},{id:"status",title:u.table.columns.status,type:"customized",component:l(eu,{}),helpText:u.table.statusHelpText},{id:"actions",title:u.table.columns.actions,type:"customized",component:i=>{const{value:s,cell:f,row:E}=i,{disabled:y,label:z,status:_}=f;return _==2?l(oe,{title:u.table.tooltipChecking,children:l(N,{mode:"text",label:z,disabled:!0})}):y?l(oe,{title:u.table.tooltipNoPermission,children:l(N,{mode:"text",label:z,disabled:y})}):l(N,{mode:"text",label:z,onClick:()=>K(`table_action_${s}`,E,void 0)})}}],toolbar:[{type:"button",btnType:"primary",key:"add",label:u.table.toolbar.add,icon:l(He,{size:14})},...d?[{type:"customized",key:"test",render:()=>l(N,{loading:o,mode:"primary",label:u.table.toolbar.test,onClick:()=>K("toolbar_test")})},{type:"button",btnType:"primary",key:"replace",label:u.table.toolbar.replace}]:[]]}]}),[u,P,G,Q,o,d]),Te=()=>q("div",{className:"flex flex-col items-center justify-center h-full",children:[l("div",{className:"text-xl font-semibold mb-3",style:{color:"#374151"},children:l("img",{src:Ve,width:120})}),l("div",{className:"text-base mb-6",style:{color:"#6b7280"},children:u.empty.noDataHint}),l("div",{className:"flex gap-3",children:l(N,{mode:"primary",label:u.empty.createModelBtn,onClick:()=>{U(u.drawer.titleNew),T(!0)}})})]});async function K(i,s,f){var E,y,z,_;switch(console.log("[adopter] mergedEventsEmit",i,s,f),i){case"toolbar_add":{U(u.drawer.titleNew),T(!0);break}case"toolbar_test":{a(!0),await ve()&&(a(!1),await J(),H.success(u.message.testSuccess));break}case"toolbar_replace":{A(!0);break}case"table_action_delete":{try{const k=s.data.find(v=>v.columnId=="modelName").value;if(await Ie(k)>0)me({title:u.deleteConfirm.titleWhenInUse,content:l("div",{style:{marginRight:"20px"},children:u.deleteConfirm.contentWhenInUse}),okText:u.deleteConfirm.okText,cancelText:u.deleteConfirm.cancelText});else{const v=s.data.find(L=>L.columnId=="modelName").value;me({title:u.deleteConfirm.title,content:_e(u.deleteConfirm.content,{name:v}),okText:u.deleteConfirm.deleteOkText,cancelText:u.deleteConfirm.cancelText,async onOk(){await De(s.id)&&(p!=null&&p.current)&&(p==null||p.current.appFn.removeItem(s.id),H.success(u.message.deleteSuccess))}})}}catch(k){console.error("\u5220\u9664\u8868\u6570\u636E\u5931\u8D25",k)}break}case"table_action_edit":{U(u.drawer.titleEdit),T(!0),re(s);break}case"form_submitted_add":{try{const k=s.fields.reduce((v,L)=>(v[L.name]=L.value,v),{}),C=await ye({...k});if(C){const v=ae.find(g=>g.status==C.status),L=C.status===1?u.status.available:C.status===0?u.status.unavailable:u.status.checking,ue={id:C.id,data:[...(Object.keys(C)||[]).map(g=>g==="status"?{columnId:g,value:L,...v,type:"customized",errorMsg:C.errorMsg}:{columnId:g,value:C[g],...(g=="modelProtocol"||g=="type")&&{type:"customized"}}),{columnId:"actions",value:"edit",label:u.table.actionEdit,type:"action"},{columnId:"actions",value:"auth",label:u.table.actionAuth,type:"action"},{columnId:"actions",value:"delete",label:u.table.actionDelete,type:"action"}]};(y=(E=p==null?void 0:p.current)==null?void 0:E.appFn)==null||y.addItem(ue,{animate:!0,position:"start"}),H.success(u.message.createSuccess),ee()}}catch(k){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",k)}finally{}break}case"form_submitted_edit":{try{const k=s.fields.reduce((v,L)=>(v[L.name]=L.value,v),{}),C=await he({...k,id:S.id});if(console.log("======res",C),C){const v=ae.find(g=>g.status==C.status),L=C.status===1?u.status.available:C.status===0?u.status.unavailable:u.status.checking,ue={...S,data:S.data.map(g=>{if(C[g.columnId]!==null&&C[g.columnId]!==void 0){if(g.columnId=="status")return{...g,...v,value:L};g.value=C[g.columnId]}return g})};(_=(z=p==null?void 0:p.current)==null?void 0:z.appFn)==null||_.updateItem(ue,S==null?void 0:S.id),H.success(u.message.editSuccess),ee()}}catch(k){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",k)}break}case"replace_model":{await ne(),A(!1);break}case"close_model":{A(!1);break}default:typeof t.eventsEmit=="function"&&t.eventsEmit(i,s);break}}const ee=()=>{T(!1),re(void 0)};return q(Ne,{title:u.dashboard.title,children:[l(pe,{dataSource:V,ref:p,eventsEmit:K,status:I,CustomComponents:{EmptyData:Te,...B},...Se}),l(Ye,{drawerTitle:M,drawerVisible:W,handleDrawerClose:ee,modelInfo:S,modelUseTypeOpt:G,modelProtocolsOpt:Q,eventsEmit:K}),l(Ge,{modelVisible:n,options:b,eventsEmit:K,replaceModel:we})]})}function Bu(t){const{locale:F="zh",messages:r,...c}=t;return l(Ze,{locale:F,messages:r,children:l(uu,{...c})})}export{fe as ModelManageI18nContext,Ze as ModelManageI18nProvider,Bu as default,Oe as getModelManageMessages,_e as interpolateModelManage,le as useModelManageI18n};
|