@gientech/modual 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +761 -761
  2. package/assets/{GientechStreamReader-C5jijqVw.js → GientechStreamReader-OCXcOLQC.js} +1 -1
  3. package/assets/{LeftOutlined-9XTSYGbi.js → LeftOutlined-DZMeGbKk.js} +1 -1
  4. package/assets/database.svg +11 -11
  5. package/assets/database_add.svg +53 -53
  6. package/assets/database_connect.svg +66 -66
  7. package/assets/database_upload.svg +29 -29
  8. package/assets/databse.svg +6 -6
  9. package/assets/defaultWeLogo.svg +14 -14
  10. package/assets/graph.svg +4 -4
  11. package/assets/iconAi.svg +9 -9
  12. package/assets/{index-BxR_BLxA.js → index-97Oe7YBe.js} +1 -1
  13. package/assets/{index-DaM9Fbys.js → index-B4k3tK0f.js} +1 -1
  14. package/assets/index-BIEKgWu0.js +27 -0
  15. package/assets/{index-B64Nj5uU.js → index-CGHHoZNS.js} +2 -2
  16. package/assets/index-CzZQWA2P.js +1 -0
  17. package/assets/{index-BvpN2hYX.js → index-DHK_n74G.js} +2 -2
  18. package/assets/{index-sWqCalkt.js → index-DPA1HCWQ.js} +233 -168
  19. package/assets/index-Dj91ulxd.js +646 -0
  20. package/assets/{index-hDlFWjNU.js → index-Dp4XCzCf.js} +1 -1
  21. package/assets/{index-D3Z0MZbL.js → index-iOuQJ8vu.js} +4 -4
  22. package/assets/{index-B872BsjL.js → index-usBlUHOb.js} +2 -2
  23. package/assets/knowledge.svg +4 -4
  24. package/assets/mysql.svg +14 -14
  25. package/assets/{plus-DDbDO7lA.js → plus-BICgMvz9.js} +1 -1
  26. package/assets/{search-BoBdGjgo.js → search-CD5YKija.js} +1 -1
  27. package/assets/sensitive.svg +5 -5
  28. package/assets/{style-DwfpZJI9.js → style-IJGVxGIy.js} +2 -2
  29. package/assets/style2.css +1 -1
  30. package/assets/style4.css +1 -1
  31. package/assets/{triangle-alert-DF53kXdm.js → triangle-alert-C4Z1AkGW.js} +1 -1
  32. package/assets/{x-DfdS1_QC.js → x-DWGzNb9c.js} +1 -1
  33. package/assistantConfig.js +28 -28
  34. package/chat.js +1 -1
  35. package/chatCompare.js +1 -1
  36. package/database.js +2 -2
  37. package/databaseId.d.ts +107 -2
  38. package/databaseId.js +1 -1
  39. package/databaseTable.js +2 -2
  40. package/index.d.ts +104 -0
  41. package/index.js +1 -1
  42. package/modelManage.js +1 -1
  43. package/package.json +6 -6
  44. package/sensitive.js +6 -6
  45. package/streamFilesReader.js +1 -1
  46. package/worker/pdf.worker.min.js +21 -21
  47. package/assets/index-BIrUv1JE.js +0 -576
  48. package/assets/index-Bk-pRt65.js +0 -27
  49. package/assets/index-CkVpaVb6.js +0 -1
  50. package/assets/index-SbYeytsI.js +0 -1
package/modelManage.js CHANGED
@@ -1 +1 @@
1
- import{jsx as o,jsxs as P}from"react/jsx-runtime";import Z,{useState as h,useMemo as G,useRef as se,useEffect as pe}from"react";import{J as L,$ as Ne}from"./assets/index-sWqCalkt.js";import{A as Pe,F as $,S as ce,T as le,i as ie}from"./assets/index-BvpN2hYX.js";import{O as Ee}from"./assets/index-BIrUv1JE.js";import{s as H,M as Be}from"./assets/index-D3Z0MZbL.js";import{D as Ue}from"./assets/index-CkVpaVb6.js";import{X as qe}from"./assets/x-DfdS1_QC.js";import{T as He}from"./assets/triangle-alert-DF53kXdm.js";/* empty css *//* empty css */import{P as ze}from"./assets/plus-DDbDO7lA.js";import{B as de}from"./assets/index-BxR_BLxA.js";import"react-dom";const We=""+new URL("assets/empty.png",import.meta.url).href,Ve=({url:a,token:F,role:r,eventsEmit:n,getMessage:E})=>{const D=(e,u)=>E?E(e):u,d=Pe.create({baseURL:a,timeout:1e6});return d.interceptors.request.use(e=>{let u=F;return!u&&!["user/login","user/kaptcha","user/regist"].some(m=>e.url.includes(m))?(n&&n("request:error_auth",{errorMsg:D("server.notLoggedIn","\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"),redirect:"/login"}),Promise.reject(new Error(D("server.notLoggedIn","\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F")))):(e.headers.Authorization=u||"",e.headers.userName=r==="\u672A\u767B\u5F55\u7528\u6237"?"":r,e)}),d.interceptors.response.use(e=>{const u=["user/kaptcha"],l=e.data;if(u.some(U=>e.config.url&&e.config.url.includes(U))||l.size&&l.type)return l;const{success:m,errorMsg:b,errorCode:k}=l;return m?l:n?(n("request:error_business",{errorCode:k,errorMsg:b||D("server.requestError","\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),response:l}),l):!1},e=>{var u,l,m,b,k,U,K,R,j;if(e.message==="canceled")return Promise.reject(e);if(n){let N="request:error_network",w={errorMsg:D("server.requestError","\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25"),error:e};((u=e==null?void 0:e.response)==null?void 0:u.status)===401?(N="request:error_auth",w={errorMsg:D("server.noPermission","\u6CA1\u6709\u8DB3\u591F\u6743\u9650"),error:e,redirect:"/login"}):(((m=(l=e==null?void 0:e.response)==null?void 0:l.data)==null?void 0:m.errorCode)==="30013"||((k=(b=e==null?void 0:e.response)==null?void 0:b.data)==null?void 0:k.errorCode)==="30023")&&(N="request:error_business",w={errorCode:(K=(U=e==null?void 0:e.response)==null?void 0:U.data)==null?void 0:K.errorCode,errorMsg:((j=(R=e==null?void 0:e.response)==null?void 0:R.data)==null?void 0:j.message)||D("server.requestError","\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),error:e}),n(N,w)}return Promise.reject(e)}),{getModelList:async e=>{try{const u=await d.get(`/allPage?${new URLSearchParams(e).toString()}`),{success:l,data:m}=u;if(l)return m}catch(u){return console.log("getModelList error:",u),!1}},delModelById:async e=>{try{const u=await d.delete(`/delete?id=${e}`),{success:l,data:m}=u;if(l)return m}catch(u){console.log("delModelById error:",u)}},createModel:async e=>{try{const u=await d.post("/create",e),{success:l,data:m}=u;if(l)return m}catch(u){console.log("createModel error:",u)}},updateModelById:async e=>{try{const u=await d.put("/update",e),{success:l,data:m}=u;if(l)return m;console.log("====eee==",u),H.error(`\u4FDD\u5B58\u5931\u8D25: ${u==null?void 0:u.errorMsg}`)}catch(u){console.log("updateModelById error:",u)}},getUseTypeList:async()=>{try{const e=await d.get("/getModelTypes"),{success:u,data:l}=e;if(u)return l}catch(e){return console.log("getUseTypeList error:",e),!1}},getModelProtocolsList:async()=>{try{const e=await d.get("/getModelProtocols"),{success:u,data:l}=e;if(u)return l}catch(e){return console.log("getModelProtocolsList error:",e),!1}},testStatus:async()=>{try{const e=await d.post("/check"),{success:u,data:l}=e;if(u)return l}catch(e){console.log("testStatus error:",e)}},replaceModel:async(e,u)=>{try{const l=await d.get(`/replaceModel?sourceModelId=${e}&targetModelId=${u}`),{success:m,data:b}=l;if(m)return b}catch(l){console.log("replaceModel error:",l)}},checkModel:async e=>{try{const u=await d.get(`/checkModelReference?modelName=${e}`),{success:l,data:m}=u;if(l)return m}catch(u){console.log("checkModelReference error:",u)}}}},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"}},Oe={zh:Y,en:Ke,ja:je};function $e(a,F){return a.replace(/\{\{(\w+)\}\}/g,(r,n)=>F[n]??"")}function _e(a,F){const r=Oe[a]??Y;return F?{...r,...F}:r}function fe(a,F){const r=F.split(".");let n=a;for(const E of r)n=n==null?void 0:n[E];return typeof n=="string"?n:F}const Ae=Z.createContext({locale:"zh",messages:Y,getMessage:a=>fe(Y,a)});function oe(){return Z.useContext(Ae)}function Ze({locale:a,messages:F,children:r}){const n=Z.useMemo(()=>{const E=_e(a,F);return{locale:a,messages:E,getMessage:D=>fe(E,D)}},[a,F]);return Z.createElement(Ae.Provider,{value:n},r)}const Ge=({drawerTitle:a,drawerVisible:F,modelInfo:r,handleDrawerClose:n,modelUseTypeOpt:E,modelProtocolsOpt:D,eventsEmit:d})=>{const{messages:i}=oe(),[t,S]=h(!1),[T,M]=h(!1),g=G(()=>({id:"config-model",layout:"vertical",formWidth:"550px",fields:[{id:"modelName",name:"modelName",label:i.form.labels.modelName,type:"input",required:!0,placeholder:i.form.placeholders.modelName,counter:30},{id:"modelIde",name:"modelIde",label:i.form.labels.modelIde,type:"input",required:!0,placeholder:i.form.placeholders.modelIde,defaultValue:""},{id:"apiKey",name:"apiKey",label:i.form.labels.apiKey,type:"input",required:!1,placeholder:i.form.placeholders.apiKey,defaultValue:""},{id:"url",name:"url",label:i.form.labels.url,type:"input",required:!0,placeholder:i.form.placeholders.url,defaultValue:""},{id:"modelProtocol",name:"modelProtocol",label:i.form.labels.modelProtocol,type:"select",required:!0,options:D},{id:"type",name:"type",label:i.form.labels.type,type:"select",required:!0,options:E,defaultValue:1,controlledItems:{2:{defaults:{maxTokens:512}}}},{id:"maxTokens",name:"maxTokens",label:i.form.labels.maxTokens,type:"slider",range:{max:1e5,min:200},step:1,sliderInline:!0,required:!0,helpText:i.form.maxTokensHelpText},{id:"dec",name:"dec",label:i.form.labels.dec,type:"textarea",required:!1}]}),[i,E,D]),p=se(null),z=async(u,l,m)=>{var b;switch(console.log("[Form] eventsEmit:",u,l,m),u){case"form:ready":l.formRef&&(p.current=l.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 k=await p.current.getValue("type");k==2||k==3?M(!0):M(!1);break;default:console.log("\u672A\u5904\u7406\u7684\u4E8B\u4EF6:",u,l)}d==null||d(u,l,m)},V=async()=>{try{S(!0);const u=await p.current.getAllData();u.isValid&&(r!=null&&r.id?await d("form_submitted_edit",u,void 0):await d("form_submitted_add",u,void 0))}catch(u){console.error("\u274C \u63D0\u4EA4\u8868\u5355\u6570\u636E\u5931\u8D25:",u)}finally{S(!1)}},e=G(()=>{const u=r==null?void 0:r.data.reduce((l,m)=>(l[m.columnId]=m.value,l),{});return console.log("====",u,r==null?void 0:r.data),{label:"\u52A8\u6001\u8868\u5355\u793A\u4F8B",defaultActiveId:g.id,model:null,views:[{label:"\u7528\u6237\u6CE8\u518C\u8868\u5355",id:g.id,type:"form",size:"md",formWidth:g.formWidth,formConfig:{layout:g.layout,showReset:!1,showSubmit:!1,formWidth:g.formWidth}}],dataSource:[{id:g.id,fields:g.fields,defaultValues:u||{}}],eventsEmit:z}},[r,T,g]);return o(Ue,{title:a,placement:"right",width:560,onClose:n,closeIcon:!1,extra:o(qe,{size:20,color:"#888888",onClick:n,className:"cursor-pointer"}),open:F,destroyOnHidden:!0,footer:P("div",{className:"flex justify-end items-center gap-3",children:[o(L,{mode:"default",label:i.drawer.cancel,onClick:n}),o(L,{mode:"primary",label:i.drawer.confirm,loading:t,onClick:V})]}),children:o(Ee,{...e},"example-form")})},{Item:me}=$,Ye=({modelVisible:a,options:F,eventsEmit:r,replaceModel:n})=>{const{messages:E}=oe(),[D,d]=h(!1),[i]=$.useForm(),t=$.useWatch("sourceModelId",i),S=G(()=>{const M=F.find(g=>g.value==t);return M?F.filter(p=>p.useType==M.useType&&p.value!==t&&p.status==1):[]},[t]);pe(()=>{t&&i.setFieldValue("targetModelId",void 0)},[t]);const T=async()=>{try{d(!0);const M=await i.validateFields(),{sourceModelId:g,targetModelId:p}=M;await n(g,p)&&(H.success(E.replaceModal.messageSuccess),i.resetFields(),r&&r("replace_model"))}catch(M){console.log("e---->",M)}finally{d(!1)}};return P(Be,{open:a,title:E.replaceModal.title,width:620,destroyOnHidden:!0,onCancel:()=>{i.resetFields(),r&&r("close_model")},footer:P("div",{className:"flex justify-end gap-3",style:{justifyContent:"end",margin:"20px 4px"},children:[o(L,{mode:"default",label:E.replaceModal.cancel,onClick:()=>{i.resetFields(),r&&r("close_model")}}),o(L,{mode:"primary",label:E.replaceModal.confirm,loading:D,onClick:T})]}),children:[P("div",{className:"flex gap-3",style:{margin:"20px 4px"},children:[o("div",{children:o(He,{size:22,color:"#f4a02a"})}),o("span",{className:"text-[14px]",children:E.replaceModal.warningParagraph})]}),P($,{form:i,colon:!1,labelCol:{span:5},wrapperCol:{span:18},style:{margin:"40px 60px"},children:[o(me,{label:E.replaceModal.sourceLabel,name:"sourceModelId",rules:[{required:!0,message:""}],children:o(ce,{placeholder:E.replaceModal.placeholderSelect,options:F})}),o(me,{label:E.replaceModal.targetLabel,name:"targetModelId",rules:[{required:!0,message:""}],children:o(ce,{placeholder:E.replaceModal.placeholderSelect,options:S})})]})]})},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}],Xe=a=>typeof a=="string"&&a in te?te[a]:te.default;var _=(a=>(a[a.DATE=0]="DATE",a[a.VIEW=1]="VIEW",a[a.ERROR=2]="ERROR",a[a.AUTHORIZE=3]="AUTHORIZE",a[a.DELETE=4]="DELETE",a[a.ANALYSIS_OR_EXTRACT=5]="ANALYSIS_OR_EXTRACT",a[a.DOWNLOAD=6]="DOWNLOAD",a[a.EDIT=7]="EDIT",a[a.ADD=8]="ADD",a[a.ANALYSIS_CONFIG=9]="ANALYSIS_CONFIG",a[a.AUTHORIZE_CONFIG=10]="AUTHORIZE_CONFIG",a))(_||{});const{confirm:Fe}=Be,Qe={pageNum:1,pageSize:1e3},Je=a=>{const{value:F,cell:r}=a,n=Xe(a.cell.statusType);return r.status===0?o(le,{title:r.errorMsg,children:o("div",{className:"flex items-center gap-2",children:o(de,{color:n,text:F})})}):o(de,{color:n,text:F})};function eu(a){const{url:F,token:r,role:n,CustomComponents:E,eventsEmit:D,getBtnDisabled:d,showModelReplace:i}=a,{messages:t,getMessage:S,locale:T}=oe(),[M,g]=h({container:"ready",content:"ready"}),p=se(null),[z,V]=h(),e=se(null),[u,l]=h(!1),[m,b]=h(!1),[k,U]=h([]),[K,R]=h(!1),[j,N]=h(""),[w,re]=h(),[X,Ce]=h([]),[Q,ge]=h([]),{getModelList:De,delModelById:be,createModel:ye,updateModelById:he,getUseTypeList:Me,getModelProtocolsList:ve,testStatus:Ie,replaceModel:we,checkModel:xe}=Ve({url:F,token:r,role:n,eventsEmit:D,getMessage:S});pe(()=>(g(c=>({...c,content:"loading"})),J(),Le(),()=>{e.current&&(clearTimeout(e.current),e.current=null)}),[]);const ke=c=>(c||[]).map(s=>{const f=ae.find(x=>x.status==s.status),B=s.status===1?t.status.available:s.status===0?t.status.unavailable:t.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:B,type:"customized",errorMsg:s.errorMsg},{columnId:"actions",value:"edit",label:t.table.actionEdit,status:s.status,type:"action",disabled:d&&d(_.EDIT,s.permission)},{columnId:"actions",value:"auth",label:t.table.actionAuth,type:"action",status:s.status,disabled:d&&d(_.AUTHORIZE,s.permission)},{columnId:"actions",value:"delete",label:t.table.actionDelete,type:"action",status:s.status,disabled:d&&d(_.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}]}}),Le=async()=>{try{const[c,s]=await Promise.allSettled([Me(),ve()]);c.status==="fulfilled"&&c.value&&Ce((c.value||[]).map(f=>({...f,value:Number(f.value)}))),s.status==="fulfilled"&&s.value&&ge((s.value||[]).map(f=>({...f,value:Number(f.value)})))}catch(c){console.error("[TableApiError] getTableList:",c)}},ne=async()=>{try{const c=await De(Qe);if(c.records){const s=ke(c.records),f=(c.records||[]).map(B=>({value:B.id,label:B.modelName,useType:B.type,status:B.status}));return U(f),V(s||[]),g(B=>({...B,content:"ready"})),s||[]}}catch(c){console.error("[TableApiError] getTableList:",c)}},J=async()=>{const c=await ne();Se(c||[])?e.current&&(clearTimeout(e.current),e.current=null):(e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(()=>{J()},5e3))};function Se(c){if(!Array.isArray(c))return!0;for(const s of c)if(s.data){const f=s.data.find(B=>B.columnId==="status");if(f&&f.status===2)return!1}return!0}const Te=G(()=>({defaultActiveId:"model-table",model:null,views:[{label:t.table.viewLabel,id:"model-table",type:"table",viewBehavior:"pagination",allowMultiSelect:!1,viewPageSize:10,paginationLocale:T,columns:[{id:"modelName",title:t.table.columns.modelName,type:"label"},{id:"modelProtocol",title:t.table.columns.modelProtocol,type:"customized",component:c=>{var B;const{value:s}=c,f=(B=Q.find(x=>x.value==s))==null?void 0:B.label;return o("span",{children:f})}},{id:"type",title:t.table.columns.type,type:"customized",component:c=>{var B;const{value:s}=c,f=(B=X.find(x=>x.value==s))==null?void 0:B.label;return o("span",{children:f})}},{id:"dec",title:t.table.columns.dec,type:"paragraph"},{id:"status",title:t.table.columns.status,type:"customized",component:o(Je,{}),helpText:t.table.statusHelpText},{id:"actions",title:t.table.columns.actions,type:"customized",component:c=>{const{value:s,cell:f,row:B}=c,{disabled:x,label:q,status:O}=f;return O==2?o(le,{title:t.table.tooltipChecking,children:o(L,{mode:"text",label:q,disabled:!0})}):x?o(le,{title:t.table.tooltipNoPermission,children:o(L,{mode:"text",label:q,disabled:x})}):o(L,{mode:"text",label:q,onClick:()=>W(`table_action_${s}`,B,void 0)})}}],toolbar:[{type:"button",btnType:"primary",key:"add",label:t.table.toolbar.add,icon:o(ze,{})},...i?[{type:"customized",key:"test",render:()=>o(L,{loading:u,mode:"primary",label:t.table.toolbar.test,onClick:()=>W("toolbar_test")})},{type:"button",btnType:"primary",key:"replace",label:t.table.toolbar.replace}]:[]]}]}),[t,T,X,Q,u,i]),Re=()=>P("div",{className:"flex flex-col items-center justify-center h-full",children:[o("div",{className:"text-xl font-semibold mb-3",style:{color:"#374151"},children:o("img",{src:We,width:120})}),o("div",{className:"text-base mb-6",style:{color:"#6b7280"},children:t.empty.noDataHint}),o("div",{className:"flex gap-3",children:o(L,{mode:"primary",label:t.empty.createModelBtn,onClick:()=>{N(t.drawer.titleNew),R(!0)}})})]});async function W(c,s,f){var B,x,q,O;switch(console.log("[adopter] mergedEventsEmit",c,s,f),c){case"toolbar_add":{N(t.drawer.titleNew),R(!0);break}case"toolbar_test":{l(!0),await Ie()&&(l(!1),await J(),H.success(t.message.testSuccess));break}case"toolbar_replace":{b(!0);break}case"table_action_delete":{try{const v=s.data.find(y=>y.columnId=="modelName").value;if(await xe(v)>0)Fe({title:t.deleteConfirm.titleWhenInUse,content:o("div",{style:{marginRight:"20px"},children:t.deleteConfirm.contentWhenInUse}),okText:t.deleteConfirm.okText,cancelText:t.deleteConfirm.cancelText});else{const y=s.data.find(I=>I.columnId=="modelName").value;Fe({title:t.deleteConfirm.title,content:$e(t.deleteConfirm.content,{name:y}),okText:t.deleteConfirm.deleteOkText,cancelText:t.deleteConfirm.cancelText,async onOk(){await be(s.id)&&(p!=null&&p.current)&&(p==null||p.current.appFn.removeItem(s.id),H.success(t.message.deleteSuccess))}})}}catch(v){console.error("\u5220\u9664\u8868\u6570\u636E\u5931\u8D25",v)}break}case"table_action_edit":{N(t.drawer.titleEdit),R(!0),re(s);break}case"form_submitted_add":{try{const v=s.fields.reduce((y,I)=>(y[I.name]=I.value,y),{}),A=await ye({...v});if(A){const y=ae.find(C=>C.status==A.status),I=A.status===1?t.status.available:A.status===0?t.status.unavailable:t.status.checking,ue={id:A.id,data:[...(Object.keys(A)||[]).map(C=>C==="status"?{columnId:C,value:I,...y,type:"customized",errorMsg:A.errorMsg}:{columnId:C,value:A[C],...(C=="modelProtocol"||C=="type")&&{type:"customized"}}),{columnId:"actions",value:"edit",label:t.table.actionEdit,type:"action"},{columnId:"actions",value:"auth",label:t.table.actionAuth,type:"action"},{columnId:"actions",value:"delete",label:t.table.actionDelete,type:"action"}]};(x=(B=p==null?void 0:p.current)==null?void 0:B.appFn)==null||x.addItem(ue,{animate:!0,position:"start"}),H.success(t.message.createSuccess),ee()}}catch(v){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",v)}finally{}break}case"form_submitted_edit":{try{const v=s.fields.reduce((y,I)=>(y[I.name]=I.value,y),{}),A=await he({...v,id:w.id});if(console.log("======res",A),A){const y=ae.find(C=>C.status==A.status),I=A.status===1?t.status.available:A.status===0?t.status.unavailable:t.status.checking,ue={...w,data:w.data.map(C=>{if(A[C.columnId]!==null&&A[C.columnId]!==void 0){if(C.columnId=="status")return{...C,...y,value:I};C.value=A[C.columnId]}return C})};(O=(q=p==null?void 0:p.current)==null?void 0:q.appFn)==null||O.updateItem(ue,w==null?void 0:w.id),H.success(t.message.editSuccess),ee()}}catch(v){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",v)}break}case"replace_model":{await ne(),b(!1);break}case"close_model":{b(!1);break}default:typeof a.eventsEmit=="function"&&a.eventsEmit(c,s);break}}const ee=()=>{R(!1),re(void 0)};return P(Ne,{title:t.dashboard.title,children:[o(Ee,{dataSource:z,ref:p,eventsEmit:W,status:M,CustomComponents:{EmptyData:Re,...E},styles:{theme:{...ie,colors:{...ie.colors,tableFirstColumnBg:"#ffffff",tableLastColumnBg:"#ffffff",paginationBackground:"#ffffff",subTableBackground:"#F5F5F5",tableHeaderBg:"#F5F5F5"}},mode:"light"},...Te}),o(Ge,{drawerTitle:j,drawerVisible:K,handleDrawerClose:ee,modelInfo:w,modelUseTypeOpt:X,modelProtocolsOpt:Q,eventsEmit:W}),o(Ye,{modelVisible:m,options:k,eventsEmit:W,replaceModel:we})]})}function Eu(a){const{locale:F="zh",messages:r,...n}=a;return o(Ze,{locale:F,messages:r,children:o(eu,{...n})})}export{Ae as ModelManageI18nContext,Ze as ModelManageI18nProvider,Eu as default,_e as getModelManageMessages,$e as interpolateModelManage,oe as useModelManageI18n};
1
+ import{jsx as l,jsxs as P}from"react/jsx-runtime";import Z,{useState as h,useMemo as Y,useRef as se,useEffect as Fe}from"react";import{Y as L,N as Re}from"./assets/index-DPA1HCWQ.js";import{w as Ne,F as _,S as ce,T as oe}from"./assets/index-DHK_n74G.js";import{z as pe}from"./assets/index-Dj91ulxd.js";import{s as z,M as Ee}from"./assets/index-iOuQJ8vu.js";import{D as Pe}from"./assets/index-CzZQWA2P.js";import{X as Ue}from"./assets/x-DWGzNb9c.js";import{T as qe}from"./assets/triangle-alert-C4Z1AkGW.js";/* empty css *//* empty css */import{P as ze}from"./assets/plus-BICgMvz9.js";import{B as ie}from"./assets/index-97Oe7YBe.js";import"react-dom";const He=""+new URL("assets/empty.png",import.meta.url).href,We=({url:a,token:F,role:r,eventsEmit:n,getMessage:E})=>{const D=(e,t)=>E?E(e):t,d=Ne.create({baseURL:a,timeout:1e6});return d.interceptors.request.use(e=>{let t=F;return!t&&!["user/login","user/kaptcha","user/regist"].some(m=>e.url.includes(m))?(n&&n("request:error_auth",{errorMsg:D("server.notLoggedIn","\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"),redirect:"/login"}),Promise.reject(new Error(D("server.notLoggedIn","\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F")))):(e.headers.Authorization=t||"",e.headers.userName=r==="\u672A\u767B\u5F55\u7528\u6237"?"":r,e)}),d.interceptors.response.use(e=>{const t=["user/kaptcha"],o=e.data;if(t.some(U=>e.config.url&&e.config.url.includes(U))||o.size&&o.type)return o;const{success:m,errorMsg:b,errorCode:k}=o;return m?o:n?(n("request:error_business",{errorCode:k,errorMsg:b||D("server.requestError","\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),response:o}),o):!1},e=>{var t,o,m,b,k,U,K,R,j;if(e.message==="canceled")return Promise.reject(e);if(n){let N="request:error_network",w={errorMsg:D("server.requestError","\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25"),error:e};((t=e==null?void 0:e.response)==null?void 0:t.status)===401?(N="request:error_auth",w={errorMsg:D("server.noPermission","\u6CA1\u6709\u8DB3\u591F\u6743\u9650"),error:e,redirect:"/login"}):(((m=(o=e==null?void 0:e.response)==null?void 0:o.data)==null?void 0:m.errorCode)==="30013"||((k=(b=e==null?void 0:e.response)==null?void 0:b.data)==null?void 0:k.errorCode)==="30023")&&(N="request:error_business",w={errorCode:(K=(U=e==null?void 0:e.response)==null?void 0:U.data)==null?void 0:K.errorCode,errorMsg:((j=(R=e==null?void 0:e.response)==null?void 0:R.data)==null?void 0:j.message)||D("server.requestError","\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"),error:e}),n(N,w)}return Promise.reject(e)}),{getModelList:async e=>{try{const t=await d.get(`/allPage?${new URLSearchParams(e).toString()}`),{success:o,data:m}=t;if(o)return m}catch(t){return console.log("getModelList error:",t),!1}},delModelById:async e=>{try{const t=await d.delete(`/delete?id=${e}`),{success:o,data:m}=t;if(o)return m}catch(t){console.log("delModelById error:",t)}},createModel:async e=>{try{const t=await d.post("/create",e),{success:o,data:m}=t;if(o)return m}catch(t){console.log("createModel error:",t)}},updateModelById:async e=>{try{const t=await d.put("/update",e),{success:o,data:m}=t;if(o)return m;console.log("====eee==",t),z.error(`\u4FDD\u5B58\u5931\u8D25: ${t==null?void 0:t.errorMsg}`)}catch(t){console.log("updateModelById error:",t)}},getUseTypeList:async()=>{try{const e=await d.get("/getModelTypes"),{success:t,data:o}=e;if(t)return o}catch(e){return console.log("getUseTypeList error:",e),!1}},getModelProtocolsList:async()=>{try{const e=await d.get("/getModelProtocols"),{success:t,data:o}=e;if(t)return o}catch(e){return console.log("getModelProtocolsList error:",e),!1}},testStatus:async()=>{try{const e=await d.post("/check"),{success:t,data:o}=e;if(t)return o}catch(e){console.log("testStatus error:",e)}},replaceModel:async(e,t)=>{try{const o=await d.get(`/replaceModel?sourceModelId=${e}&targetModelId=${t}`),{success:m,data:b}=o;if(m)return b}catch(o){console.log("replaceModel error:",o)}},checkModel:async e=>{try{const t=await d.get(`/checkModelReference?modelName=${e}`),{success:o,data:m}=t;if(o)return m}catch(t){console.log("checkModelReference error:",t)}}}},G={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"}},Ve={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"}},Ke={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"}},je={zh:G,en:Ve,ja:Ke};function Oe(a,F){return a.replace(/\{\{(\w+)\}\}/g,(r,n)=>F[n]??"")}function _e(a,F){const r=je[a]??G;return F?{...r,...F}:r}function Be(a,F){const r=F.split(".");let n=a;for(const E of r)n=n==null?void 0:n[E];return typeof n=="string"?n:F}const fe=Z.createContext({locale:"zh",messages:G,getMessage:a=>Be(G,a)});function le(){return Z.useContext(fe)}function $e({locale:a,messages:F,children:r}){const n=Z.useMemo(()=>{const E=_e(a,F);return{locale:a,messages:E,getMessage:D=>Be(E,D)}},[a,F]);return Z.createElement(fe.Provider,{value:n},r)}const Ze=({drawerTitle:a,drawerVisible:F,modelInfo:r,handleDrawerClose:n,modelUseTypeOpt:E,modelProtocolsOpt:D,eventsEmit:d})=>{const{messages:i}=le(),[u,S]=h(!1),[T,M]=h(!1),g=Y(()=>({id:"config-model",layout:"vertical",formWidth:"550px",fields:[{id:"modelName",name:"modelName",label:i.form.labels.modelName,type:"input",required:!0,placeholder:i.form.placeholders.modelName,counter:30},{id:"modelIde",name:"modelIde",label:i.form.labels.modelIde,type:"input",required:!0,placeholder:i.form.placeholders.modelIde,defaultValue:""},{id:"apiKey",name:"apiKey",label:i.form.labels.apiKey,type:"input",required:!1,placeholder:i.form.placeholders.apiKey,defaultValue:""},{id:"url",name:"url",label:i.form.labels.url,type:"input",required:!0,placeholder:i.form.placeholders.url,defaultValue:""},{id:"modelProtocol",name:"modelProtocol",label:i.form.labels.modelProtocol,type:"select",required:!0,options:D},{id:"type",name:"type",label:i.form.labels.type,type:"select",required:!0,options:E,defaultValue:1,controlledItems:{2:{defaults:{maxTokens:512}}}},{id:"maxTokens",name:"maxTokens",label:i.form.labels.maxTokens,type:"slider",range:{max:1e5,min:200},step:1,sliderInline:!0,required:!0,helpText:i.form.maxTokensHelpText},{id:"dec",name:"dec",label:i.form.labels.dec,type:"textarea",required:!1}]}),[i,E,D]),p=se(null),H=async(t,o,m)=>{var b;switch(console.log("[Form] eventsEmit:",t,o,m),t){case"form:ready":o.formRef&&(p.current=o.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 k=await p.current.getValue("type");k==2||k==3?M(!0):M(!1);break;default:console.log("\u672A\u5904\u7406\u7684\u4E8B\u4EF6:",t,o)}d==null||d(t,o,m)},V=async()=>{try{S(!0);const t=await p.current.getAllData();t.isValid&&(r!=null&&r.id?await d("form_submitted_edit",t,void 0):await d("form_submitted_add",t,void 0))}catch(t){console.error("\u274C \u63D0\u4EA4\u8868\u5355\u6570\u636E\u5931\u8D25:",t)}finally{S(!1)}},e=Y(()=>{const t=r==null?void 0:r.data.reduce((o,m)=>(o[m.columnId]=m.value,o),{});return{label:"\u52A8\u6001\u8868\u5355\u793A\u4F8B",defaultActiveId:g.id,model:null,views:[{label:"\u7528\u6237\u6CE8\u518C\u8868\u5355",id:g.id,type:"form",size:"md",formWidth:g.formWidth,formConfig:{layout:g.layout,showReset:!1,showSubmit:!1,formWidth:g.formWidth}}],dataSource:[{id:g.id,fields:g.fields,defaultValues:t||{}}],eventsEmit:H}},[r,T,g]);return l(Pe,{title:a,placement:"right",width:560,onClose:n,closeIcon:!1,extra:l(Ue,{size:20,color:"#888888",onClick:n,className:"cursor-pointer"}),open:F,destroyOnHidden:!0,footer:P("div",{className:"flex justify-end items-center gap-3",children:[l(L,{mode:"default",label:i.drawer.cancel,onClick:n}),l(L,{mode:"primary",label:i.drawer.confirm,loading:u,onClick:V})]}),children:l(pe,{...e},"example-form")})},{Item:de}=_,Ye=({modelVisible:a,options:F,eventsEmit:r,replaceModel:n})=>{const{messages:E}=le(),[D,d]=h(!1),[i]=_.useForm(),u=_.useWatch("sourceModelId",i),S=Y(()=>{const M=F.find(g=>g.value==u);return M?F.filter(p=>p.useType==M.useType&&p.value!==u&&p.status==1):[]},[u]);Fe(()=>{u&&i.setFieldValue("targetModelId",void 0)},[u]);const T=async()=>{try{d(!0);const M=await i.validateFields(),{sourceModelId:g,targetModelId:p}=M;await n(g,p)&&(z.success(E.replaceModal.messageSuccess),i.resetFields(),r&&r("replace_model"))}catch(M){console.log("e---->",M)}finally{d(!1)}};return P(Ee,{open:a,title:E.replaceModal.title,width:620,destroyOnHidden:!0,onCancel:()=>{i.resetFields(),r&&r("close_model")},footer:P("div",{className:"flex justify-end gap-3",style:{justifyContent:"end",margin:"20px 4px"},children:[l(L,{mode:"default",label:E.replaceModal.cancel,onClick:()=>{i.resetFields(),r&&r("close_model")}}),l(L,{mode:"primary",label:E.replaceModal.confirm,loading:D,onClick:T})]}),children:[P("div",{className:"flex gap-3",style:{margin:"20px 4px"},children:[l("div",{children:l(qe,{size:22,color:"#f4a02a"})}),l("span",{className:"text-[14px]",children:E.replaceModal.warningParagraph})]}),P(_,{form:i,colon:!1,labelCol:{span:5},wrapperCol:{span:18},style:{margin:"40px 60px"},children:[l(de,{label:E.replaceModal.sourceLabel,name:"sourceModelId",rules:[{required:!0,message:""}],children:l(ce,{placeholder:E.replaceModal.placeholderSelect,options:F})}),l(de,{label:E.replaceModal.targetLabel,name:"targetModelId",rules:[{required:!0,message:""}],children:l(ce,{placeholder:E.replaceModal.placeholderSelect,options:S})})]})]})},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}],Ge=a=>typeof a=="string"&&a in te?te[a]:te.default;var $=(a=>(a[a.DATE=0]="DATE",a[a.VIEW=1]="VIEW",a[a.ERROR=2]="ERROR",a[a.AUTHORIZE=3]="AUTHORIZE",a[a.DELETE=4]="DELETE",a[a.ANALYSIS_OR_EXTRACT=5]="ANALYSIS_OR_EXTRACT",a[a.DOWNLOAD=6]="DOWNLOAD",a[a.EDIT=7]="EDIT",a[a.ADD=8]="ADD",a[a.ANALYSIS_CONFIG=9]="ANALYSIS_CONFIG",a[a.AUTHORIZE_CONFIG=10]="AUTHORIZE_CONFIG",a))($||{});const{confirm:me}=Ee,Xe={pageNum:1,pageSize:1e3},Qe=a=>{const{value:F,cell:r}=a,n=Ge(a.cell.statusType);return r.status===0?l(oe,{title:r.errorMsg,children:l("div",{className:"flex items-center gap-2",children:l(ie,{color:n,text:F})})}):l(ie,{color:n,text:F})};function Je(a){const{url:F,token:r,role:n,CustomComponents:E,eventsEmit:D,getBtnDisabled:d,showModelReplace:i}=a,{messages:u,getMessage:S,locale:T}=le(),[M,g]=h({container:"ready",content:"ready"}),p=se(null),[H,V]=h(),e=se(null),[t,o]=h(!1),[m,b]=h(!1),[k,U]=h([]),[K,R]=h(!1),[j,N]=h(""),[w,re]=h(),[X,Ae]=h([]),[Q,Ce]=h([]),{getModelList:ge,delModelById:De,createModel:be,updateModelById:ye,getUseTypeList:he,getModelProtocolsList:Me,testStatus:Ie,replaceModel:ve,checkModel:we}=We({url:F,token:r,role:n,eventsEmit:D,getMessage:S});Fe(()=>(g(c=>({...c,content:"loading"})),J(),ke(),()=>{e.current&&(clearTimeout(e.current),e.current=null)}),[]);const xe=c=>(c||[]).map(s=>{const f=ae.find(x=>x.status==s.status),B=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:B,type:"customized",errorMsg:s.errorMsg},{columnId:"actions",value:"edit",label:u.table.actionEdit,status:s.status,type:"action",disabled:d&&d($.EDIT,s.permission)},{columnId:"actions",value:"auth",label:u.table.actionAuth,type:"action",status:s.status,disabled:d&&d($.AUTHORIZE,s.permission)},{columnId:"actions",value:"delete",label:u.table.actionDelete,type:"action",status:s.status,disabled:d&&d($.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[c,s]=await Promise.allSettled([he(),Me()]);c.status==="fulfilled"&&c.value&&Ae((c.value||[]).map(f=>({...f,value:Number(f.value)}))),s.status==="fulfilled"&&s.value&&Ce((s.value||[]).map(f=>({...f,value:Number(f.value)})))}catch(c){console.error("[TableApiError] getTableList:",c)}},ne=async()=>{try{const c=await ge(Xe);if(c.records){const s=xe(c.records),f=(c.records||[]).map(B=>({value:B.id,label:B.modelName,useType:B.type,status:B.status}));return U(f),V(s||[]),g(B=>({...B,content:"ready"})),s||[]}}catch(c){console.error("[TableApiError] getTableList:",c)}},J=async()=>{const c=await ne();Le(c||[])?e.current&&(clearTimeout(e.current),e.current=null):(e.current&&(clearTimeout(e.current),e.current=null),e.current=setTimeout(()=>{J()},5e3))};function Le(c){if(!Array.isArray(c))return!0;for(const s of c)if(s.data){const f=s.data.find(B=>B.columnId==="status");if(f&&f.status===2)return!1}return!0}const Se=Y(()=>({defaultActiveId:"model-table",model:null,views:[{label:u.table.viewLabel,id:"model-table",type:"table",viewBehavior:"pagination",allowMultiSelect:!1,viewPageSize:10,paginationLocale:T,columns:[{id:"modelName",title:u.table.columns.modelName,type:"label"},{id:"modelProtocol",title:u.table.columns.modelProtocol,type:"customized",component:c=>{var B;const{value:s}=c,f=(B=Q.find(x=>x.value==s))==null?void 0:B.label;return l("span",{children:f})}},{id:"type",title:u.table.columns.type,type:"customized",component:c=>{var B;const{value:s}=c,f=(B=X.find(x=>x.value==s))==null?void 0:B.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(Qe,{}),helpText:u.table.statusHelpText},{id:"actions",title:u.table.columns.actions,type:"customized",component:c=>{const{value:s,cell:f,row:B}=c,{disabled:x,label:q,status:O}=f;return O==2?l(oe,{title:u.table.tooltipChecking,children:l(L,{mode:"text",label:q,disabled:!0})}):x?l(oe,{title:u.table.tooltipNoPermission,children:l(L,{mode:"text",label:q,disabled:x})}):l(L,{mode:"text",label:q,onClick:()=>W(`table_action_${s}`,B,void 0)})}}],toolbar:[{type:"button",btnType:"primary",key:"add",label:u.table.toolbar.add,icon:l(ze,{})},...i?[{type:"customized",key:"test",render:()=>l(L,{loading:t,mode:"primary",label:u.table.toolbar.test,onClick:()=>W("toolbar_test")})},{type:"button",btnType:"primary",key:"replace",label:u.table.toolbar.replace}]:[]]}]}),[u,T,X,Q,t,i]),Te=()=>P("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:He,width:120})}),l("div",{className:"text-base mb-6",style:{color:"#6b7280"},children:u.empty.noDataHint}),l("div",{className:"flex gap-3",children:l(L,{mode:"primary",label:u.empty.createModelBtn,onClick:()=>{N(u.drawer.titleNew),R(!0)}})})]});async function W(c,s,f){var B,x,q,O;switch(console.log("[adopter] mergedEventsEmit",c,s,f),c){case"toolbar_add":{N(u.drawer.titleNew),R(!0);break}case"toolbar_test":{o(!0),await Ie()&&(o(!1),await J(),z.success(u.message.testSuccess));break}case"toolbar_replace":{b(!0);break}case"table_action_delete":{try{const I=s.data.find(y=>y.columnId=="modelName").value;if(await we(I)>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 y=s.data.find(v=>v.columnId=="modelName").value;me({title:u.deleteConfirm.title,content:Oe(u.deleteConfirm.content,{name:y}),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),z.success(u.message.deleteSuccess))}})}}catch(I){console.error("\u5220\u9664\u8868\u6570\u636E\u5931\u8D25",I)}break}case"table_action_edit":{console.log("=====+++",u.drawer.titleEdit,s),N(u.drawer.titleEdit),R(!0),re(s);break}case"form_submitted_add":{try{const I=s.fields.reduce((y,v)=>(y[v.name]=v.value,y),{}),A=await be({...I});if(A){const y=ae.find(C=>C.status==A.status),v=A.status===1?u.status.available:A.status===0?u.status.unavailable:u.status.checking,ue={id:A.id,data:[...(Object.keys(A)||[]).map(C=>C==="status"?{columnId:C,value:v,...y,type:"customized",errorMsg:A.errorMsg}:{columnId:C,value:A[C],...(C=="modelProtocol"||C=="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"}]};(x=(B=p==null?void 0:p.current)==null?void 0:B.appFn)==null||x.addItem(ue,{animate:!0,position:"start"}),z.success(u.message.createSuccess),ee()}}catch(I){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",I)}finally{}break}case"form_submitted_edit":{try{const I=s.fields.reduce((y,v)=>(y[v.name]=v.value,y),{}),A=await ye({...I,id:w.id});if(console.log("======res",A),A){const y=ae.find(C=>C.status==A.status),v=A.status===1?u.status.available:A.status===0?u.status.unavailable:u.status.checking,ue={...w,data:w.data.map(C=>{if(A[C.columnId]!==null&&A[C.columnId]!==void 0){if(C.columnId=="status")return{...C,...y,value:v};C.value=A[C.columnId]}return C})};(O=(q=p==null?void 0:p.current)==null?void 0:q.appFn)==null||O.updateItem(ue,w==null?void 0:w.id),z.success(u.message.editSuccess),ee()}}catch(I){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",I)}break}case"replace_model":{await ne(),b(!1);break}case"close_model":{b(!1);break}default:typeof a.eventsEmit=="function"&&a.eventsEmit(c,s);break}}const ee=()=>{R(!1),re(void 0)};return P(Re,{title:u.dashboard.title,children:[l(pe,{dataSource:H,ref:p,eventsEmit:W,status:M,CustomComponents:{EmptyData:Te,...E},...Se}),l(Ze,{drawerTitle:j,drawerVisible:K,handleDrawerClose:ee,modelInfo:w,modelUseTypeOpt:X,modelProtocolsOpt:Q,eventsEmit:W}),l(Ye,{modelVisible:m,options:k,eventsEmit:W,replaceModel:ve})]})}function pu(a){const{locale:F="zh",messages:r,...n}=a;return l($e,{locale:F,messages:r,children:l(Je,{...n})})}export{fe as ModelManageI18nContext,$e as ModelManageI18nProvider,pu as default,_e as getModelManageMessages,Oe as interpolateModelManage,le as useModelManageI18n};
package/package.json CHANGED
@@ -3,11 +3,15 @@
3
3
  "license": "MIT",
4
4
  "style": "assets/style.css",
5
5
  "private": false,
6
- "version": "2.2.0",
6
+ "version": "2.2.2",
7
7
  "author": "hanfeng_Zhang",
8
8
  "type": "module",
9
9
  "main": "index.js",
10
10
  "types": "index.d.ts",
11
+ "scripts": {
12
+ "test": "yarn link",
13
+ "disconnect": "yarn unlink"
14
+ },
11
15
  "peerDependencies": {
12
16
  "react": ">=18",
13
17
  "react-dom": ">=18"
@@ -65,9 +69,5 @@
65
69
  },
66
70
  "./style.css": "./assets/style.css",
67
71
  "./assets/style.css": "./assets/style.css"
68
- },
69
- "scripts": {
70
- "test": "yarn link",
71
- "disconnect": "yarn unlink"
72
72
  }
73
- }
73
+ }