@loop_ouroboros/mcp-hub-lite 1.0.0 → 1.0.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 (129) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +15 -0
  3. package/dist/client/assets/{HomeView-f901HeKw.js → HomeView-7rMg9C6t.js} +1 -1
  4. package/dist/client/assets/{ResourceDetailView-Bz66ZjfY.js → ResourceDetailView-Bf-1ffbk.js} +1 -1
  5. package/dist/client/assets/ResourcesView-g5x4xCPh.js +1 -0
  6. package/dist/client/assets/{ServerDashboard-7_8Og9JJ.css → ServerDashboard-Chpne8Q0.css} +1 -1
  7. package/dist/client/assets/ServerDashboard-G8Wmp4hF.js +2 -0
  8. package/dist/client/assets/ServerListView-dV2XrPjo.js +32 -0
  9. package/dist/client/assets/SessionsView-Ckd38lj1.js +1 -0
  10. package/dist/client/assets/SettingsView-BJUdepEQ.js +1 -0
  11. package/dist/client/assets/ToolCallDialog-BhdPX-Kf.css +1 -0
  12. package/dist/client/assets/ToolCallDialog-C_bTCpHC.js +1 -0
  13. package/dist/client/assets/ToolsView-0c2eputu.js +1 -0
  14. package/dist/client/assets/ToolsView-E3Ps9c7i.css +1 -0
  15. package/dist/client/assets/{_baseClone-DCmK847M.js → _baseClone-5q1b0P3O.js} +1 -1
  16. package/dist/client/assets/{el-form-item-DM0q2hmO.js → el-form-item-ClFnj49k.js} +1 -1
  17. package/dist/client/assets/{el-input-BtI9NECe.js → el-input-CDnuSKVZ.js} +1 -1
  18. package/dist/client/assets/{el-loading-CChNmKeI.js → el-loading-H85n3BUC.js} +1 -1
  19. package/dist/client/assets/{el-overlay-lZZbPmsX.js → el-overlay-CzMkXyYy.js} +1 -1
  20. package/dist/client/assets/el-select-DvjGddk_.js +1 -0
  21. package/dist/client/assets/{el-tab-pane-Dy9ruaEX.js → el-tab-pane-C_DQMcwe.js} +1 -1
  22. package/dist/client/assets/{el-table-column-98UyVgBH.js → el-table-column-CASRIbZM.js} +1 -1
  23. package/dist/client/assets/el-tag-npbwux4f.js +1 -0
  24. package/dist/client/assets/{index-CSTs2jYk.js → index-CCnAxNF8.js} +2 -2
  25. package/dist/client/assets/{index-BzQXG7no.js → index-d1DZeSfz.js} +1 -1
  26. package/dist/client/assets/{omit-Bx5HJNV_.js → omit-DPsOVNIJ.js} +1 -1
  27. package/dist/client/assets/{raf-B9VDMtMF.js → raf-DY5mgbuB.js} +1 -1
  28. package/dist/client/assets/{vnode-B8aJx8u4.js → vnode-CHomNjgN.js} +1 -1
  29. package/dist/client/index.html +1 -1
  30. package/dist/server/shared/models/server.model.d.ts +1 -0
  31. package/dist/server/shared/models/server.model.d.ts.map +1 -1
  32. package/dist/server/shared/models/session.model.d.ts +2 -0
  33. package/dist/server/shared/models/session.model.d.ts.map +1 -1
  34. package/dist/server/shared/models/session.model.js +1 -0
  35. package/dist/server/shared/types/client.types.d.ts +4 -32
  36. package/dist/server/shared/types/client.types.d.ts.map +1 -1
  37. package/dist/server/shared/types/client.types.js +3 -2
  38. package/dist/server/shared/types/index.d.ts +3 -3
  39. package/dist/server/shared/types/index.d.ts.map +1 -1
  40. package/dist/server/shared/types/index.js +3 -3
  41. package/dist/server/shared/types/session-context.types.d.ts +37 -0
  42. package/dist/server/shared/types/session-context.types.d.ts.map +1 -0
  43. package/dist/server/shared/types/session-context.types.js +5 -0
  44. package/dist/server/src/api/mcp/debug-response-wrapper.d.ts.map +1 -1
  45. package/dist/server/src/api/mcp/debug-response-wrapper.js +26 -1
  46. package/dist/server/src/api/mcp/gateway.d.ts.map +1 -1
  47. package/dist/server/src/api/mcp/gateway.js +28 -24
  48. package/dist/server/src/api/mcp/session-context-extractor.d.ts +5 -5
  49. package/dist/server/src/api/mcp/session-context-extractor.d.ts.map +1 -1
  50. package/dist/server/src/api/mcp/session-context-extractor.js +12 -27
  51. package/dist/server/src/api/web/clients.js +2 -2
  52. package/dist/server/src/api/web/hub-tools.d.ts.map +1 -1
  53. package/dist/server/src/api/web/hub-tools.js +4 -1
  54. package/dist/server/src/api/web/sessions.js +1 -1
  55. package/dist/server/src/app.d.ts.map +1 -1
  56. package/dist/server/src/app.js +0 -2
  57. package/dist/server/src/config/config.schema.d.ts +2 -0
  58. package/dist/server/src/config/config.schema.d.ts.map +1 -1
  59. package/dist/server/src/config/config.schema.js +1 -0
  60. package/dist/server/src/index.js +1 -1
  61. package/dist/server/src/services/client-tracker.service.d.ts +3 -128
  62. package/dist/server/src/services/client-tracker.service.d.ts.map +1 -1
  63. package/dist/server/src/services/client-tracker.service.js +4 -200
  64. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +2 -2
  65. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -1
  66. package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +40 -8
  67. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -1
  68. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +18 -6
  69. package/dist/server/src/services/gateway/tool-list-generator.js +2 -2
  70. package/dist/server/src/services/hub-tools/resource-generator.d.ts +1 -4
  71. package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -1
  72. package/dist/server/src/services/hub-tools/resource-generator.js +1 -26
  73. package/dist/server/src/services/search/search-cache.d.ts +0 -19
  74. package/dist/server/src/services/search/search-cache.d.ts.map +1 -1
  75. package/dist/server/src/services/search/search-cache.js +0 -24
  76. package/dist/server/src/services/session/session-manager.d.ts.map +1 -1
  77. package/dist/server/src/services/session/session-manager.js +11 -9
  78. package/dist/server/src/services/session-tracker.service.d.ts +132 -0
  79. package/dist/server/src/services/session-tracker.service.d.ts.map +1 -0
  80. package/dist/server/src/services/session-tracker.service.js +227 -0
  81. package/dist/server/src/utils/json-utils.d.ts.map +1 -1
  82. package/dist/server/src/utils/json-utils.js +6 -0
  83. package/dist/server/src/utils/logger/log-colors.d.ts +1 -0
  84. package/dist/server/src/utils/logger/log-colors.d.ts.map +1 -1
  85. package/dist/server/src/utils/logger/log-colors.js +2 -1
  86. package/dist/server/src/utils/logger/log-context.d.ts +1 -0
  87. package/dist/server/src/utils/logger/log-context.d.ts.map +1 -1
  88. package/dist/server/src/utils/logger/log-formatter.d.ts +28 -0
  89. package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -1
  90. package/dist/server/src/utils/logger/log-formatter.js +205 -0
  91. package/dist/server/src/utils/logger/log-modules.d.ts +3 -6
  92. package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -1
  93. package/dist/server/src/utils/logger/log-modules.js +1 -3
  94. package/dist/server/src/utils/logger/log-output.d.ts +2 -2
  95. package/dist/server/src/utils/logger/log-output.d.ts.map +1 -1
  96. package/dist/server/src/utils/logger/log-output.js +27 -6
  97. package/dist/server/src/utils/logger/logger.d.ts +13 -0
  98. package/dist/server/src/utils/logger/logger.d.ts.map +1 -1
  99. package/dist/server/src/utils/logger/logger.js +42 -7
  100. package/dist/server/src/utils/request-context.d.ts +16 -16
  101. package/dist/server/src/utils/request-context.d.ts.map +1 -1
  102. package/dist/server/src/utils/request-context.js +14 -14
  103. package/dist/server/src/utils/tool-args-parser.d.ts +0 -4
  104. package/dist/server/src/utils/tool-args-parser.d.ts.map +1 -1
  105. package/dist/server/src/utils/tool-args-parser.js +0 -7
  106. package/dist/server/src/utils/transports/stdio-transport.js +1 -1
  107. package/dist/server/src/utils/transports/transport-factory.js +2 -2
  108. package/dist/server/tests/integration/api/gateway.test.js +22 -37
  109. package/dist/server/tests/temp/test-stack.d.ts +6 -0
  110. package/dist/server/tests/temp/test-stack.d.ts.map +1 -0
  111. package/dist/server/tests/temp/test-stack.js +40 -0
  112. package/dist/server/tests/unit/services/hub-tools.service.test.js +1 -15
  113. package/dist/server/tests/unit/services/session-manager.test.js +1 -1
  114. package/dist/server/tests/unit/utils/json-utils.test.js +94 -0
  115. package/dist/server/tests/unit/utils/logger.test.js +101 -0
  116. package/dist/server/tests/unit/utils/request-context.test.js +12 -12
  117. package/package.json +1 -1
  118. package/dist/client/assets/ResourcesView-lI_fItfA.js +0 -1
  119. package/dist/client/assets/ServerDashboard-Bgx8WVkx.js +0 -2
  120. package/dist/client/assets/ServerListView-CP6Ffkfx.js +0 -30
  121. package/dist/client/assets/SessionsView-D68qKR4D.js +0 -1
  122. package/dist/client/assets/SettingsView-BPYfO9BE.js +0 -1
  123. package/dist/client/assets/ToolCallDialog-Br8FNebN.js +0 -1
  124. package/dist/client/assets/ToolCallDialog-C7eh7jHE.css +0 -1
  125. package/dist/client/assets/ToolsView-B6hUiR43.js +0 -1
  126. package/dist/client/assets/ToolsView-BLnU8cV6.css +0 -1
  127. package/dist/client/assets/el-select-BXztu2b5.js +0 -1
  128. package/dist/client/assets/el-tag-B5lLT51E.js +0 -1
  129. package/dist/client/assets/index-BgKcmWJr.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-03-06
4
+
5
+ - **System Tool Fix**: Fix system tool call validation errors when requestOptions.sessionId is null
6
+ - **Frontend Fix**: Change system tool serverName from 'system' to 'mcp-hub-lite' for consistency
7
+ - **Zod Schema Enhancement**: Enhance sessionId schema to accept null and transform to undefined
8
+ - **ToolCallDialog Improvement**: Only include requestOptions when selectedInstanceId has value
9
+ - **Version Bump**: Update package.json version to 1.0.1
10
+
11
+ ## 2026-03-05
12
+
13
+ - **Project Initialization**: Execute full project documentation architecture initialization and update
14
+ - **Root CLAUDE.md Update**: Add 2026-03-05 changelog entry, verify module structure diagram and navigation link integrity
15
+ - **Module Documentation Status Check**: Confirm CLAUDE.md document status for all 20 major modules
16
+ - **Coverage Report Verification**: Verify project scan coverage and scan status
17
+
3
18
  ## 2026-03-04
4
19
 
5
20
  - **CLI Fix**: Ensure CLI commands exit properly after execution
package/README.md CHANGED
@@ -55,6 +55,21 @@ MCP-HUB-LITE is an MCP server gateway designed specifically for independent deve
55
55
 
56
56
  ### Installation
57
57
 
58
+ #### Install from npm
59
+
60
+ ```bash
61
+ # Install from npm
62
+ npm install -g @loop_ouroboros/mcp-hub-lite
63
+
64
+ # Start the service
65
+ mcp-hub-lite start
66
+
67
+ # Open UI
68
+ mcp-hub-lite ui
69
+ ```
70
+
71
+ #### Build from source
72
+
58
73
  ```bash
59
74
  # Install dependencies
60
75
  npm install
@@ -1 +1 @@
1
- import{u as t}from"./index-CSTs2jYk.js";import{E as s}from"./index-BzQXG7no.js";import{t as a,f as n,w as c,A as i,C as l,O as f,a1 as m,y as _}from"./vue-vendor-6ny5zj9i.js";import"./typescript-Bp3YSIOJ.js";const u={class:"flex w-full h-full"},d={class:"flex-1 h-full overflow-hidden bg-gray-50 dark:bg-[#0f172a] relative transition-colors duration-300"},k=a({__name:"HomeView",setup(p){const o=t();return n(()=>{o.fetchServers()}),c(()=>o.error,e=>{e&&s.error(e)}),(e,h)=>{const r=m("router-view");return _(),i("div",u,[l("main",d,[f(r)])])}}});export{k as default};
1
+ import{u as t}from"./index-CCnAxNF8.js";import{E as s}from"./index-d1DZeSfz.js";import{t as a,f as n,w as c,A as i,C as l,O as f,a1 as m,y as _}from"./vue-vendor-6ny5zj9i.js";import"./typescript-Bp3YSIOJ.js";const u={class:"flex w-full h-full"},d={class:"flex-1 h-full overflow-hidden bg-gray-50 dark:bg-[#0f172a] relative transition-colors duration-300"},k=a({__name:"HomeView",setup(p){const o=t();return n(()=>{o.fetchServers()}),c(()=>o.error,e=>{e&&s.error(e)}),(e,h)=>{const r=m("router-view");return _(),i("div",u,[l("main",d,[f(r)])])}}});export{k as default};
@@ -1 +1 @@
1
- import{F as j,az as ee,ac as W,$ as Q,aE as X,aG as pe,aA as ve,a9 as fe,_ as T,I as q,ay as be,G as Y,f as _e,aC as ye,aH as ge,aF as he,aD as xe,ad as oe,J as ke,u as we,p as Re,c as Ve,aT as Ce,a as Be,aU as Ee,C as Se,w as Ie}from"./index-CSTs2jYk.js";import{v as $e}from"./el-loading-CChNmKeI.js";import{a as Z,r as $,i as Ne,c as m,t as z,A as x,y,C as t,H as M,ap as te,u as e,I as U,J as E,k as ae,v as O,a9 as P,$ as d,n as se,K as Ge,f as le,q as Pe,Q as De,ah as Ue,w as je,P as ze,ak as Ae,x as Fe,B as Le,V as Te,a6 as qe,a8 as Me,O as V,G as S,U as Oe,a7 as Ke}from"./vue-vendor-6ny5zj9i.js";import{C as K,U as H}from"./event-BB_Ol6Sd.js";import{o as He}from"./omit-Bx5HJNV_.js";import{_ as Je}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./_baseClone-DCmK847M.js";const re=j({modelValue:{type:[String,Number,Boolean],default:void 0},size:ee,disabled:{type:Boolean,default:void 0},label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),We=j({...re,border:Boolean}),ne={[H]:n=>Z(n)||W(n)||Q(n),[K]:n=>Z(n)||W(n)||Q(n)},ie=Symbol("radioGroupKey"),de=(n,_)=>{const r=$(),p=Ne(ie,void 0),o=m(()=>!!p),w=m(()=>X(n.value)?n.label:n.value),g=m({get(){return o.value?p.modelValue:n.modelValue},set(f){o.value?p.changeEvent(f):_&&_(H,f),r.value.checked=n.modelValue===w.value}}),u=pe(m(()=>p?.size)),s=ve(m(()=>p?.disabled)),b=$(!1),v=m(()=>s.value||o.value&&g.value!==w.value?-1:0);return fe({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},m(()=>o.value&&X(n.value))),{radioRef:r,isGroup:o,radioGroup:p,focus:b,size:u,disabled:s,tabIndex:v,modelValue:g,actualValue:w}},Qe=["value","name","disabled","checked"],Xe=z({name:"ElRadio",__name:"radio",props:We,emits:ne,setup(n,{emit:_}){const r=n,p=_,o=q("radio"),{radioRef:w,radioGroup:g,focus:u,size:s,disabled:b,modelValue:v,actualValue:f}=de(r,p);function i(){se(()=>p(K,v.value))}return(k,c)=>{var l;return y(),x("label",{class:E([e(o).b(),e(o).is("disabled",e(b)),e(o).is("focus",e(u)),e(o).is("bordered",k.border),e(o).is("checked",e(v)===e(f)),e(o).m(e(s))])},[t("span",{class:E([e(o).e("input"),e(o).is("disabled",e(b)),e(o).is("checked",e(v)===e(f))])},[M(t("input",{ref_key:"radioRef",ref:w,"onUpdate:modelValue":c[0]||(c[0]=h=>ae(v)?v.value=h:null),class:E(e(o).e("original")),value:e(f),name:k.name||((l=e(g))==null?void 0:l.name),disabled:e(b),checked:e(v)===e(f),type:"radio",onFocus:c[1]||(c[1]=h=>u.value=!0),onBlur:c[2]||(c[2]=h=>u.value=!1),onChange:i,onClick:c[3]||(c[3]=U(()=>{},["stop"]))},null,42,Qe),[[te,e(v)]]),t("span",{class:E(e(o).e("inner"))},null,2)],2),t("span",{class:E(e(o).e("label")),onKeydown:c[4]||(c[4]=U(()=>{},["stop"]))},[O(k.$slots,"default",{},()=>[P(d(k.label),1)])],34)],2)}}});var ue=T(Xe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const Ye=j({...re}),Ze=["value","name","disabled"],eo=z({name:"ElRadioButton",__name:"radio-button",props:Ye,setup(n){const _=n,r=q("radio"),{radioRef:p,focus:o,size:w,disabled:g,modelValue:u,radioGroup:s,actualValue:b}=de(_),v=m(()=>({backgroundColor:s?.fill||"",borderColor:s?.fill||"",boxShadow:s?.fill?`-1px 0 0 0 ${s.fill}`:"",color:s?.textColor||""}));return(f,i)=>{var k;return y(),x("label",{class:E([e(r).b("button"),e(r).is("active",e(u)===e(b)),e(r).is("disabled",e(g)),e(r).is("focus",e(o)),e(r).bm("button",e(w))])},[M(t("input",{ref_key:"radioRef",ref:p,"onUpdate:modelValue":i[0]||(i[0]=c=>ae(u)?u.value=c:null),class:E(e(r).be("button","original-radio")),value:e(b),type:"radio",name:f.name||((k=e(s))==null?void 0:k.name),disabled:e(g),onFocus:i[1]||(i[1]=c=>o.value=!0),onBlur:i[2]||(i[2]=c=>o.value=!1),onClick:i[3]||(i[3]=U(()=>{},["stop"]))},null,42,Ze),[[te,e(u)]]),t("span",{class:E(e(r).be("button","inner")),style:Ge(e(u)===e(b)?v.value:{}),onKeydown:i[4]||(i[4]=U(()=>{},["stop"]))},[O(f.$slots,"default",{},()=>[P(d(f.label),1)])],38)],2)}}});var J=T(eo,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const oo=j({id:{type:String,default:void 0},size:ee,disabled:{type:Boolean,default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},options:{type:Y(Array)},props:{type:Y(Object),default:()=>ce},type:{type:String,values:["radio","button"],default:"radio"},...be(["ariaLabel"])}),to=ne,ce={label:"label",value:"value",disabled:"disabled"},ao=["id","aria-label","aria-labelledby"],so=z({name:"ElRadioGroup",__name:"radio-group",props:oo,emits:to,setup(n,{emit:_}){const r=n,p=_,o=q("radio"),w=_e(),g=$(),{formItem:u}=ye(),{inputId:s,isLabeledByFormItem:b}=ge(r,{formItemContext:u}),v=l=>{p(H,l),se(()=>p(K,l))};le(()=>{const l=g.value.querySelectorAll("[type=radio]"),h=l[0];!Array.from(l).some(C=>C.checked)&&h&&(h.tabIndex=0)});const f=m(()=>r.name||w.value),i=m(()=>({...ce,...r.props})),k=l=>{const{label:h,value:C,disabled:N}=i.value,A={label:l[h],value:l[C],disabled:l[N]};return{...He(l,[h,C,N]),...A}},c=m(()=>r.type==="button"?J:ue);return Pe(ie,De({...Ue(r),changeEvent:v,name:f})),je(()=>r.modelValue,(l,h)=>{r.validateEvent&&!he(l,h)&&u?.validate("change").catch(C=>xe())}),(l,h)=>(y(),x("div",{id:e(s),ref_key:"radioGroupRef",ref:g,class:E(e(o).b("group")),role:"radiogroup","aria-label":e(b)?void 0:l.ariaLabel||"radio-group","aria-labelledby":e(b)?e(u).labelId:void 0},[O(l.$slots,"default",{},()=>[(y(!0),x(ze,null,Ae(l.options,(C,N)=>(y(),Fe(Te(c.value),Le({key:N},{ref_for:!0},k(C)),null,16))),128))])],10,ao))}});var me=T(so,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);ke(ue,{RadioButton:J,RadioGroup:me});const lo=oe(me),ro=oe(J),no={class:"resource-detail py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full h-full flex flex-col overflow-hidden"},io={class:"flex items-center justify-between mb-6 shrink-0"},uo={class:"flex items-center gap-4"},co={class:"text-2xl font-bold text-gray-900 dark:text-white"},mo={class:"flex-1 flex flex-col gap-6 overflow-hidden"},po={class:"bg-white dark:bg-[#1e1e1e] rounded-lg shadow p-6 shrink-0 border border-gray-200 dark:border-gray-700"},vo={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},fo={class:"text-sm font-medium text-gray-500 dark:text-gray-400 mb-1"},bo={class:"font-mono text-sm break-all select-all"},_o={class:"text-sm font-medium text-gray-500 dark:text-gray-400 mb-1"},yo={class:"font-mono text-sm"},go={class:"md:col-span-2"},ho={class:"text-sm font-medium text-gray-500 dark:text-gray-400 mb-1"},xo={class:"text-sm"},ko={class:"md:col-span-2"},wo={class:"text-sm font-medium text-gray-500 dark:text-gray-400 mb-1"},Ro={class:"text-sm"},Vo={class:"bg-white dark:bg-[#1e1e1e] rounded-lg shadow flex-1 flex flex-col overflow-hidden border border-gray-200 dark:border-gray-700"},Co={class:"px-6 py-4 border-b border-gray-200 dark:border-gray-700 flex justify-between items-center bg-gray-50 dark:bg-[#2d2d2d]"},Bo={class:"font-medium"},Eo={class:"flex gap-2"},So={class:"flex-1 overflow-auto p-6 bg-gray-50 dark:bg-[#0f172a]"},Io={key:0,class:"mb-4 p-4 bg-blue-50 dark:bg-blue-900 rounded-lg border border-blue-200 dark:border-blue-800"},$o={class:"text-sm text-blue-700 dark:text-blue-300"},No={key:1,class:"h-full flex items-center justify-center text-gray-400"},Go={key:2,class:"h-full flex flex-col items-center justify-center text-red-500"},Po={key:3,class:"h-full"},Do={key:0,class:"h-full"},Uo={key:0,class:"h-full flex items-center justify-center"},jo=["src"],zo={key:1,class:"bg-white dark:bg-[#1e1e1e] p-4 rounded shadow-sm h-full overflow-auto font-mono text-sm whitespace-pre-wrap"},Ao={key:1,class:"h-full"},Fo={class:"bg-gray-900 text-gray-100 p-4 rounded-lg h-full overflow-auto font-mono text-sm"},Lo=z({__name:"ResourceDetailView",setup(n){const _=Me(),r=Ke(),p=we(),{t:o}=qe(),w=m(()=>_.params.name),g=m(()=>_.query.uri),u=m(()=>{if(_.query.name)return _.query.name;const a=_.query.uri;if(a){const B=a.split("/"),R=B[B.length-1];if(R&&R.length>0)return R}return"Unknown Resource"}),s=m(()=>_.query.mimeType||"application/octet-stream"),b=m(()=>_.query.description||o("resources.noDescription")),v=$(!1),f=$(null),i=$(null),k=$("preview"),c=m(()=>s.value.startsWith("image/")),l=m(()=>{if(!i.value)return"";const a=i.value;return a&&typeof a=="object"&&"text"in a&&typeof a.text=="string"?a.text:a&&typeof a=="object"&&"blob"in a?"[Binary Data]":""}),h=m(()=>{if(!c.value||!i.value)return"";const a=i.value;return a&&typeof a=="object"&&"blob"in a&&typeof a.blob=="string"?`data:${s.value};base64,${a.blob}`:""});function C(){r.back()}async function N(){v.value=!0,f.value=null;try{i.value=await p.readResource(w.value,g.value)}catch(a){f.value=a.message||"Failed to load resource content"}finally{v.value=!1}}function A(){const a=document.createElement("a"),B=new Blob([l.value],{type:s.value}),R=i.value;if(R&&typeof R=="object"&&"blob"in R&&typeof R.blob=="string"){const I=atob(R.blob),D=new Array(I.length);for(let G=0;G<I.length;G++)D[G]=I.charCodeAt(G);const F=new Uint8Array(D),L=new Blob([F],{type:s.value});a.href=URL.createObjectURL(L)}else a.href=URL.createObjectURL(B);a.download=u.value,document.body.appendChild(a),a.click(),document.body.removeChild(a)}return le(()=>{g.value&&N()}),(a,B)=>{const R=Ve,I=Be,D=ro,F=lo,L=$e;return y(),x("div",no,[t("div",io,[t("div",uo,[V(R,{icon:e(Re),plain:"",onClick:C,class:"shrink-0"},{default:S(()=>[P(d(e(o)("action.back")),1)]),_:1},8,["icon"]),t("h2",co," Resource Details: "+d(u.value),1)])]),M((y(),x("div",mo,[t("div",po,[t("div",vo,[t("div",null,[t("div",fo,d(e(o)("resources.uri")),1),t("div",bo,d(g.value),1)]),t("div",null,[t("div",_o,d(e(o)("resources.mimeType")),1),t("div",yo,d(s.value),1)]),t("div",go,[t("div",ho,d(e(o)("resources.description")),1),t("div",xo,d(b.value),1)]),t("div",ko,[t("div",wo,d(e(o)("resources.server")),1),t("div",Ro,d(w.value),1)])])]),t("div",Vo,[t("div",Co,[t("div",Bo,d(e(o)("resources.contentPreview")),1),t("div",Eo,[V(F,{modelValue:k.value,"onUpdate:modelValue":B[0]||(B[0]=G=>k.value=G),size:"small"},{default:S(()=>[V(D,{value:"preview"},{default:S(()=>[V(I,{class:"mr-1"},{default:S(()=>[V(e(Ee))]),_:1}),P(" "+d(e(o)("resources.preview")),1)]),_:1}),V(D,{value:"source"},{default:S(()=>[V(I,{class:"mr-1"},{default:S(()=>[V(e(Se))]),_:1}),P(" "+d(e(o)("resources.source")),1)]),_:1})]),_:1},8,["modelValue"]),V(R,{size:"small",icon:e(Ce),onClick:A},{default:S(()=>[P(d(e(o)("resources.download")),1)]),_:1},8,["icon"])])]),t("div",So,[b.value&&b.value!=="No description available"?(y(),x("div",Io,[B[1]||(B[1]=t("div",{class:"text-sm font-medium text-blue-900 dark:text-blue-100 mb-1"},"Description",-1)),t("div",$o,d(b.value),1)])):Oe("",!0),v.value?(y(),x("div",No,d(e(o)("resources.loadingContent")),1)):f.value?(y(),x("div",Go,[V(I,{class:"text-4xl mb-2"},{default:S(()=>[V(e(Ie))]),_:1}),t("div",null,d(f.value),1)])):(y(),x("div",Po,[k.value==="preview"?(y(),x("div",Do,[c.value?(y(),x("div",Uo,[t("img",{src:h.value,class:"max-w-full max-h-full object-contain rounded shadow-lg"},null,8,jo)])):(y(),x("div",zo,d(l.value),1))])):(y(),x("div",Ao,[t("pre",Fo,[t("code",null,d(l.value),1)])]))]))])])])),[[L,v.value]])])}}}),Wo=Je(Lo,[["__scopeId","data-v-41a7b24b"]]);export{Wo as default};
1
+ import{F as j,aA as ee,ac as W,$ as Q,aF as X,aH as pe,aB as ve,a9 as fe,_ as T,I as q,az as be,G as Y,f as _e,aD as ye,aI as ge,aG as he,aE as xe,ad as oe,J as ke,u as we,p as Re,c as Ve,aU as Be,a as Ce,aV as Ee,C as Se,w as Ie}from"./index-CCnAxNF8.js";import{v as $e}from"./el-loading-H85n3BUC.js";import{a as Z,r as $,i as Ne,c as m,t as z,A as x,y,C as t,H as M,ap as te,u as e,I as U,J as E,k as ae,v as O,a9 as P,$ as d,n as se,K as Ge,f as le,q as Pe,Q as De,ah as Ue,w as je,P as ze,ak as Ae,x as Fe,B as Le,V as Te,a6 as qe,a8 as Me,O as V,G as S,U as Oe,a7 as Ke}from"./vue-vendor-6ny5zj9i.js";import{C as K,U as H}from"./event-BB_Ol6Sd.js";import{o as He}from"./omit-DPsOVNIJ.js";import{_ as Je}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./_baseClone-5q1b0P3O.js";const re=j({modelValue:{type:[String,Number,Boolean],default:void 0},size:ee,disabled:{type:Boolean,default:void 0},label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),We=j({...re,border:Boolean}),ne={[H]:n=>Z(n)||W(n)||Q(n),[K]:n=>Z(n)||W(n)||Q(n)},ie=Symbol("radioGroupKey"),de=(n,_)=>{const r=$(),p=Ne(ie,void 0),o=m(()=>!!p),w=m(()=>X(n.value)?n.label:n.value),g=m({get(){return o.value?p.modelValue:n.modelValue},set(f){o.value?p.changeEvent(f):_&&_(H,f),r.value.checked=n.modelValue===w.value}}),u=pe(m(()=>p?.size)),s=ve(m(()=>p?.disabled)),b=$(!1),v=m(()=>s.value||o.value&&g.value!==w.value?-1:0);return fe({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},m(()=>o.value&&X(n.value))),{radioRef:r,isGroup:o,radioGroup:p,focus:b,size:u,disabled:s,tabIndex:v,modelValue:g,actualValue:w}},Qe=["value","name","disabled","checked"],Xe=z({name:"ElRadio",__name:"radio",props:We,emits:ne,setup(n,{emit:_}){const r=n,p=_,o=q("radio"),{radioRef:w,radioGroup:g,focus:u,size:s,disabled:b,modelValue:v,actualValue:f}=de(r,p);function i(){se(()=>p(K,v.value))}return(k,c)=>{var l;return y(),x("label",{class:E([e(o).b(),e(o).is("disabled",e(b)),e(o).is("focus",e(u)),e(o).is("bordered",k.border),e(o).is("checked",e(v)===e(f)),e(o).m(e(s))])},[t("span",{class:E([e(o).e("input"),e(o).is("disabled",e(b)),e(o).is("checked",e(v)===e(f))])},[M(t("input",{ref_key:"radioRef",ref:w,"onUpdate:modelValue":c[0]||(c[0]=h=>ae(v)?v.value=h:null),class:E(e(o).e("original")),value:e(f),name:k.name||((l=e(g))==null?void 0:l.name),disabled:e(b),checked:e(v)===e(f),type:"radio",onFocus:c[1]||(c[1]=h=>u.value=!0),onBlur:c[2]||(c[2]=h=>u.value=!1),onChange:i,onClick:c[3]||(c[3]=U(()=>{},["stop"]))},null,42,Qe),[[te,e(v)]]),t("span",{class:E(e(o).e("inner"))},null,2)],2),t("span",{class:E(e(o).e("label")),onKeydown:c[4]||(c[4]=U(()=>{},["stop"]))},[O(k.$slots,"default",{},()=>[P(d(k.label),1)])],34)],2)}}});var ue=T(Xe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const Ye=j({...re}),Ze=["value","name","disabled"],eo=z({name:"ElRadioButton",__name:"radio-button",props:Ye,setup(n){const _=n,r=q("radio"),{radioRef:p,focus:o,size:w,disabled:g,modelValue:u,radioGroup:s,actualValue:b}=de(_),v=m(()=>({backgroundColor:s?.fill||"",borderColor:s?.fill||"",boxShadow:s?.fill?`-1px 0 0 0 ${s.fill}`:"",color:s?.textColor||""}));return(f,i)=>{var k;return y(),x("label",{class:E([e(r).b("button"),e(r).is("active",e(u)===e(b)),e(r).is("disabled",e(g)),e(r).is("focus",e(o)),e(r).bm("button",e(w))])},[M(t("input",{ref_key:"radioRef",ref:p,"onUpdate:modelValue":i[0]||(i[0]=c=>ae(u)?u.value=c:null),class:E(e(r).be("button","original-radio")),value:e(b),type:"radio",name:f.name||((k=e(s))==null?void 0:k.name),disabled:e(g),onFocus:i[1]||(i[1]=c=>o.value=!0),onBlur:i[2]||(i[2]=c=>o.value=!1),onClick:i[3]||(i[3]=U(()=>{},["stop"]))},null,42,Ze),[[te,e(u)]]),t("span",{class:E(e(r).be("button","inner")),style:Ge(e(u)===e(b)?v.value:{}),onKeydown:i[4]||(i[4]=U(()=>{},["stop"]))},[O(f.$slots,"default",{},()=>[P(d(f.label),1)])],38)],2)}}});var J=T(eo,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const oo=j({id:{type:String,default:void 0},size:ee,disabled:{type:Boolean,default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},options:{type:Y(Array)},props:{type:Y(Object),default:()=>ce},type:{type:String,values:["radio","button"],default:"radio"},...be(["ariaLabel"])}),to=ne,ce={label:"label",value:"value",disabled:"disabled"},ao=["id","aria-label","aria-labelledby"],so=z({name:"ElRadioGroup",__name:"radio-group",props:oo,emits:to,setup(n,{emit:_}){const r=n,p=_,o=q("radio"),w=_e(),g=$(),{formItem:u}=ye(),{inputId:s,isLabeledByFormItem:b}=ge(r,{formItemContext:u}),v=l=>{p(H,l),se(()=>p(K,l))};le(()=>{const l=g.value.querySelectorAll("[type=radio]"),h=l[0];!Array.from(l).some(B=>B.checked)&&h&&(h.tabIndex=0)});const f=m(()=>r.name||w.value),i=m(()=>({...ce,...r.props})),k=l=>{const{label:h,value:B,disabled:N}=i.value,A={label:l[h],value:l[B],disabled:l[N]};return{...He(l,[h,B,N]),...A}},c=m(()=>r.type==="button"?J:ue);return Pe(ie,De({...Ue(r),changeEvent:v,name:f})),je(()=>r.modelValue,(l,h)=>{r.validateEvent&&!he(l,h)&&u?.validate("change").catch(B=>xe())}),(l,h)=>(y(),x("div",{id:e(s),ref_key:"radioGroupRef",ref:g,class:E(e(o).b("group")),role:"radiogroup","aria-label":e(b)?void 0:l.ariaLabel||"radio-group","aria-labelledby":e(b)?e(u).labelId:void 0},[O(l.$slots,"default",{},()=>[(y(!0),x(ze,null,Ae(l.options,(B,N)=>(y(),Fe(Te(c.value),Le({key:N},{ref_for:!0},k(B)),null,16))),128))])],10,ao))}});var me=T(so,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);ke(ue,{RadioButton:J,RadioGroup:me});const lo=oe(me),ro=oe(J),no={class:"resource-detail py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full h-full flex flex-col overflow-hidden"},io={class:"flex items-center justify-between mb-6 shrink-0"},uo={class:"flex items-center gap-4"},co={class:"text-2xl font-bold text-gray-900 dark:text-white"},mo={class:"flex-1 flex flex-col gap-6 overflow-hidden"},po={class:"bg-white dark:bg-[#1e1e1e] rounded-lg shadow p-6 shrink-0 border border-gray-200 dark:border-gray-700"},vo={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},fo={class:"text-sm font-medium text-gray-500 dark:text-gray-400 mb-1"},bo={class:"font-mono text-sm break-all select-all"},_o={class:"text-sm font-medium text-gray-500 dark:text-gray-400 mb-1"},yo={class:"font-mono text-sm"},go={class:"md:col-span-2"},ho={class:"text-sm font-medium text-gray-500 dark:text-gray-400 mb-1"},xo={class:"text-sm"},ko={class:"md:col-span-2"},wo={class:"text-sm font-medium text-gray-500 dark:text-gray-400 mb-1"},Ro={class:"text-sm"},Vo={class:"bg-white dark:bg-[#1e1e1e] rounded-lg shadow flex-1 flex flex-col overflow-hidden border border-gray-200 dark:border-gray-700"},Bo={class:"px-6 py-4 border-b border-gray-200 dark:border-gray-700 flex justify-between items-center bg-gray-50 dark:bg-[#2d2d2d]"},Co={class:"font-medium"},Eo={class:"flex gap-2"},So={class:"flex-1 overflow-auto p-6 bg-gray-50 dark:bg-[#0f172a]"},Io={key:0,class:"mb-4 p-4 bg-blue-50 dark:bg-blue-900 rounded-lg border border-blue-200 dark:border-blue-800"},$o={class:"text-sm text-blue-700 dark:text-blue-300"},No={key:1,class:"h-full flex items-center justify-center text-gray-400"},Go={key:2,class:"h-full flex flex-col items-center justify-center text-red-500"},Po={key:3,class:"h-full"},Do={key:0,class:"h-full"},Uo={key:0,class:"h-full flex items-center justify-center"},jo=["src"],zo={key:1,class:"bg-white dark:bg-[#1e1e1e] p-4 rounded shadow-sm h-full overflow-auto font-mono text-sm whitespace-pre-wrap"},Ao={key:1,class:"h-full"},Fo={class:"bg-gray-900 text-gray-100 p-4 rounded-lg h-full overflow-auto font-mono text-sm"},Lo=z({__name:"ResourceDetailView",setup(n){const _=Me(),r=Ke(),p=we(),{t:o}=qe(),w=m(()=>_.params.name),g=m(()=>_.query.uri),u=m(()=>{if(_.query.name)return _.query.name;const a=_.query.uri;if(a){const C=a.split("/"),R=C[C.length-1];if(R&&R.length>0)return R}return"Unknown Resource"}),s=m(()=>_.query.mimeType||"application/octet-stream"),b=m(()=>_.query.description||o("resources.noDescription")),v=$(!1),f=$(null),i=$(null),k=$("preview"),c=m(()=>s.value.startsWith("image/")),l=m(()=>{if(!i.value)return"";const a=i.value;return a&&typeof a=="object"&&"text"in a&&typeof a.text=="string"?a.text:a&&typeof a=="object"&&"blob"in a?"[Binary Data]":""}),h=m(()=>{if(!c.value||!i.value)return"";const a=i.value;return a&&typeof a=="object"&&"blob"in a&&typeof a.blob=="string"?`data:${s.value};base64,${a.blob}`:""});function B(){r.back()}async function N(){v.value=!0,f.value=null;try{i.value=await p.readResource(w.value,g.value)}catch(a){f.value=a.message||"Failed to load resource content"}finally{v.value=!1}}function A(){const a=document.createElement("a"),C=new Blob([l.value],{type:s.value}),R=i.value;if(R&&typeof R=="object"&&"blob"in R&&typeof R.blob=="string"){const I=atob(R.blob),D=new Array(I.length);for(let G=0;G<I.length;G++)D[G]=I.charCodeAt(G);const F=new Uint8Array(D),L=new Blob([F],{type:s.value});a.href=URL.createObjectURL(L)}else a.href=URL.createObjectURL(C);a.download=u.value,document.body.appendChild(a),a.click(),document.body.removeChild(a)}return le(()=>{g.value&&N()}),(a,C)=>{const R=Ve,I=Ce,D=ro,F=lo,L=$e;return y(),x("div",no,[t("div",io,[t("div",uo,[V(R,{icon:e(Re),plain:"",onClick:B,class:"shrink-0"},{default:S(()=>[P(d(e(o)("action.back")),1)]),_:1},8,["icon"]),t("h2",co," Resource Details: "+d(u.value),1)])]),M((y(),x("div",mo,[t("div",po,[t("div",vo,[t("div",null,[t("div",fo,d(e(o)("resources.uri")),1),t("div",bo,d(g.value),1)]),t("div",null,[t("div",_o,d(e(o)("resources.mimeType")),1),t("div",yo,d(s.value),1)]),t("div",go,[t("div",ho,d(e(o)("resources.description")),1),t("div",xo,d(b.value),1)]),t("div",ko,[t("div",wo,d(e(o)("resources.server")),1),t("div",Ro,d(w.value),1)])])]),t("div",Vo,[t("div",Bo,[t("div",Co,d(e(o)("resources.contentPreview")),1),t("div",Eo,[V(F,{modelValue:k.value,"onUpdate:modelValue":C[0]||(C[0]=G=>k.value=G),size:"small"},{default:S(()=>[V(D,{value:"preview"},{default:S(()=>[V(I,{class:"mr-1"},{default:S(()=>[V(e(Ee))]),_:1}),P(" "+d(e(o)("resources.preview")),1)]),_:1}),V(D,{value:"source"},{default:S(()=>[V(I,{class:"mr-1"},{default:S(()=>[V(e(Se))]),_:1}),P(" "+d(e(o)("resources.source")),1)]),_:1})]),_:1},8,["modelValue"]),V(R,{size:"small",icon:e(Be),onClick:A},{default:S(()=>[P(d(e(o)("resources.download")),1)]),_:1},8,["icon"])])]),t("div",So,[b.value&&b.value!=="No description available"?(y(),x("div",Io,[C[1]||(C[1]=t("div",{class:"text-sm font-medium text-blue-900 dark:text-blue-100 mb-1"},"Description",-1)),t("div",$o,d(b.value),1)])):Oe("",!0),v.value?(y(),x("div",No,d(e(o)("resources.loadingContent")),1)):f.value?(y(),x("div",Go,[V(I,{class:"text-4xl mb-2"},{default:S(()=>[V(e(Ie))]),_:1}),t("div",null,d(f.value),1)])):(y(),x("div",Po,[k.value==="preview"?(y(),x("div",Do,[c.value?(y(),x("div",Uo,[t("img",{src:h.value,class:"max-w-full max-h-full object-contain rounded shadow-lg"},null,8,jo)])):(y(),x("div",zo,d(l.value),1))])):(y(),x("div",Ao,[t("pre",Fo,[t("code",null,d(l.value),1)])]))]))])])])),[[L,v.value]])])}}}),Wo=Je(Lo,[["__scopeId","data-v-41a7b24b"]]);export{Wo as default};
@@ -0,0 +1 @@
1
+ import{u as D,N as O,a as P,ae as U,y as q,C as k,c as A}from"./index-CCnAxNF8.js";import{b as F,a as M}from"./el-table-column-CASRIbZM.js";import{E as W}from"./el-tag-npbwux4f.js";import{E as G}from"./el-input-CDnuSKVZ.js";import{t as H,r as B,f as Q,c as J,A as u,C as a,$ as o,O as e,u as _,U as w,G as l,P as T,ak as K,a9 as c,a7 as N,y as d}from"./vue-vendor-6ny5zj9i.js";import{_ as X}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./_baseClone-5q1b0P3O.js";import"./omit-DPsOVNIJ.js";import"./event-BB_Ol6Sd.js";import"./raf-DY5mgbuB.js";import"./typescript-Bp3YSIOJ.js";const Y={class:"resources-view py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full h-full flex flex-col overflow-hidden bg-gray-50 dark:bg-[#0f172a] transition-colors duration-300"},Z={class:"mb-6 shrink-0"},ee={class:"text-2xl font-semibold text-gray-900 dark:text-white mb-4"},te={class:"relative"},se={class:"flex-1 overflow-y-auto custom-scrollbar space-y-8 pr-2"},le={key:0,class:"flex flex-col items-center justify-center py-12 text-gray-400"},ae={class:"flex items-center gap-2 mb-4"},oe={class:"text-lg font-bold text-gray-900 dark:text-white"},ie={class:"text-sm font-normal text-gray-500 ml-2"},ne={key:0,class:"mb-6 pl-4"},re={class:"text-sm font-semibold text-gray-500 dark:text-gray-400 mb-3 uppercase tracking-wider"},ce={class:"flex items-center gap-2"},ue=["title"],de=["title"],me={key:1,class:"mb-6 pl-4"},pe={class:"text-sm font-semibold text-gray-500 dark:text-gray-400 mb-3 uppercase tracking-wider"},fe={class:"flex items-center gap-2"},_e=["title"],he=["title"],be={key:2,class:"pl-4"},ye={class:"text-sm font-semibold text-gray-500 dark:text-gray-400 mb-3 uppercase tracking-wider"},ge={class:"flex items-center gap-2"},ke=["title"],we=["title"],ve={class:"flex items-center gap-2 mb-4"},xe={class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4"},$e={class:"flex items-center gap-2"},Te=["title"],Re=["title"],Ce="mcp-hub-lite",ze=H({__name:"ResourcesView",setup(Ee){const L=N(),I=D(),h=B(""),v=B({});Q(async()=>{await j()});async function j(){try{v.value=await I.fetchAllResources()}catch(t){console.error("Failed to load resources:",t)}}const R=J(()=>{if(!h.value)return v.value;const t=h.value.toLowerCase(),i={};for(const[x,m]of Object.entries(v.value)){const n=m.filter(p=>p.name.toLowerCase().includes(t)||p.uri.toLowerCase().includes(t));n.length>0&&(i[x]=n)}return i});function C(t){return t.endsWith("/tools")}function z(t){return t.endsWith("/resources")}function E(t){return t.filter(i=>!C(i.uri)&&!z(i.uri))}function V(t){return t.filter(i=>C(i.uri))}function S(t){return t.filter(i=>z(i.uri))}function b(t,i){L.push({name:"resource-detail",params:{name:t},query:{uri:i.uri,name:i.name,mimeType:i.mimeType,description:i.description}})}return(t,i)=>{const x=G,m=P,n=F,p=W,y=A,g=M;return d(),u("div",Y,[a("div",Z,[a("h2",ee,o(t.$t("resources.title")),1),a("div",te,[e(x,{modelValue:h.value,"onUpdate:modelValue":i[0]||(i[0]=r=>h.value=r),placeholder:t.$t("resources.searchPlaceholder"),class:"w-full",size:"large","prefix-icon":_(O),clearable:""},null,8,["modelValue","placeholder","prefix-icon"])])]),a("div",se,[Object.keys(R.value).length===0?(d(),u("div",le,[e(m,{size:48,class:"mb-4 opacity-50"},{default:l(()=>[e(_(U))]),_:1}),a("p",null,o(t.$t("resources.noResources")),1)])):w("",!0),(d(!0),u(T,null,K(R.value,(r,f)=>(d(),u("section",{key:f,class:"animate-fade-in"},[f===Ce?(d(),u(T,{key:0},[a("div",ae,[e(m,{class:"text-gray-900 dark:text-white",size:20},{default:l(()=>[e(_(q))]),_:1}),a("h3",oe,[c(o(t.$t("resources.systemResources"))+" ",1),a("span",ie,"("+o(r.length)+")",1)]),i[1]||(i[1]=a("div",{class:"h-px flex-1 bg-gray-200 dark:bg-gray-700 ml-4"},null,-1))]),E(r).length>0?(d(),u("div",ne,[a("h4",re,o(t.$t("resources.serverResources")),1),e(g,{data:E(r),style:{width:"100%"},class:"custom-table mb-4"},{default:l(()=>[e(n,{prop:"name",label:t.$t("resources.name"),"min-width":"300"},{default:l(({row:s})=>[a("div",ce,[e(m,null,{default:l(()=>[e(_(k))]),_:1}),a("span",{class:"font-medium truncate",title:s.name},o(s.name),9,ue)])]),_:1},8,["label"]),e(n,{prop:"uri",label:t.$t("resources.uri"),"min-width":"300"},{default:l(({row:s})=>[a("span",{class:"truncate block",title:s.uri},o(s.uri),9,de)]),_:1},8,["label"]),e(n,{prop:"mimeType",label:t.$t("resources.mimeType"),width:"180"},{default:l(({row:s})=>[e(p,{size:"small",type:"success",effect:"plain"},{default:l(()=>[c(o(s.mimeType||"unknown"),1)]),_:2},1024)]),_:1},8,["label"]),e(n,{label:"",width:"100",align:"right"},{default:l(({row:s})=>[e(y,{size:"small",plain:"",onClick:$=>b(f,s)},{default:l(()=>[c(o(t.$t("action.view")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["data"])])):w("",!0),S(r).length>0?(d(),u("div",me,[a("h4",pe,o(t.$t("resources.dataResources")),1),e(g,{data:S(r),style:{width:"100%"},class:"custom-table mb-4"},{default:l(()=>[e(n,{prop:"name",label:t.$t("resources.name"),"min-width":"300"},{default:l(({row:s})=>[a("div",fe,[e(m,null,{default:l(()=>[e(_(k))]),_:1}),a("span",{class:"font-medium truncate",title:s.name},o(s.name),9,_e)])]),_:1},8,["label"]),e(n,{prop:"uri",label:t.$t("resources.uri"),"min-width":"300"},{default:l(({row:s})=>[a("span",{class:"truncate block",title:s.uri},o(s.uri),9,he)]),_:1},8,["label"]),e(n,{prop:"mimeType",label:t.$t("resources.mimeType"),width:"180"},{default:l(({row:s})=>[e(p,{size:"small",type:"success",effect:"plain"},{default:l(()=>[c(o(s.mimeType||"unknown"),1)]),_:2},1024)]),_:1},8,["label"]),e(n,{label:"",width:"100",align:"right"},{default:l(({row:s})=>[e(y,{size:"small",plain:"",onClick:$=>b(f,s)},{default:l(()=>[c(o(t.$t("action.view")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["data"])])):w("",!0),V(r).length>0?(d(),u("div",be,[a("h4",ye,o(t.$t("resources.toolResources")),1),e(g,{data:V(r),style:{width:"100%"},class:"custom-table mb-4"},{default:l(()=>[e(n,{prop:"name",label:t.$t("resources.name"),"min-width":"300"},{default:l(({row:s})=>[a("div",ge,[e(m,null,{default:l(()=>[e(_(k))]),_:1}),a("span",{class:"font-medium truncate",title:s.name},o(s.name),9,ke)])]),_:1},8,["label"]),e(n,{prop:"uri",label:t.$t("resources.uri"),"min-width":"300"},{default:l(({row:s})=>[a("span",{class:"truncate block",title:s.uri},o(s.uri),9,we)]),_:1},8,["label"]),e(n,{prop:"mimeType",label:t.$t("resources.mimeType"),width:"180"},{default:l(({row:s})=>[e(p,{size:"small",type:"success",effect:"plain"},{default:l(()=>[c(o(s.mimeType||"unknown"),1)]),_:2},1024)]),_:1},8,["label"]),e(n,{label:"",width:"100",align:"right"},{default:l(({row:s})=>[e(y,{size:"small",plain:"",onClick:$=>b(f,s)},{default:l(()=>[c(o(t.$t("action.view")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["data"])])):w("",!0)],64)):(d(),u(T,{key:1},[a("div",ve,[e(p,{effect:"dark",type:"info",size:"default",class:"!text-sm font-medium"},{default:l(()=>[c(o(f),1)]),_:2},1024),i[2]||(i[2]=a("div",{class:"h-px flex-1 bg-gray-200 dark:bg-gray-700"},null,-1))]),a("div",xe,[e(g,{data:r,style:{width:"100%"},class:"custom-table col-span-full"},{default:l(()=>[e(n,{prop:"name",label:t.$t("resources.name"),"min-width":"300"},{default:l(({row:s})=>[a("div",$e,[e(m,null,{default:l(()=>[e(_(k))]),_:1}),a("span",{class:"font-medium truncate",title:s.name},o(s.name),9,Te)])]),_:1},8,["label"]),e(n,{prop:"uri",label:t.$t("resources.uri"),"min-width":"300"},{default:l(({row:s})=>[a("span",{class:"truncate block",title:s.uri},o(s.uri),9,Re)]),_:1},8,["label"]),e(n,{prop:"mimeType",label:t.$t("resources.mimeType"),width:"180"},{default:l(({row:s})=>[e(p,{size:"small",type:"success",effect:"plain"},{default:l(()=>[c(o(s.mimeType||"unknown"),1)]),_:2},1024)]),_:1},8,["label"]),e(n,{label:"",width:"100",align:"right"},{default:l(({row:s})=>[e(y,{size:"small",plain:"",onClick:$=>b(f,s)},{default:l(()=>[c(o(t.$t("action.view")),1)]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["data"])])],64))]))),128))])])}}}),Ae=X(ze,[["__scopeId","data-v-b769732e"]]);export{Ae as default};
@@ -1 +1 @@
1
- .custom-scrollbar[data-v-0af924e8]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-0af924e8]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-0af924e8]::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:3px}.dark .custom-scrollbar[data-v-0af924e8]::-webkit-scrollbar-thumb{background-color:#334155}.custom-tabs[data-v-9ecf6079] .el-tabs__header{margin-bottom:0}.custom-tabs[data-v-9ecf6079] .el-tabs__content{flex:1;overflow:hidden;padding-top:1rem}.custom-tabs-label .el-icon[data-v-9ecf6079]{vertical-align:middle}.custom-tabs-label span[data-v-9ecf6079]{vertical-align:middle;margin-left:4px}
1
+ .custom-scrollbar[data-v-0af924e8]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-0af924e8]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-0af924e8]::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:3px}.dark .custom-scrollbar[data-v-0af924e8]::-webkit-scrollbar-thumb{background-color:#334155}.custom-tabs[data-v-653c8117] .el-tabs__header{margin-bottom:0}.custom-tabs[data-v-653c8117] .el-tabs__content{flex:1;overflow:hidden;padding-top:1rem}.custom-tabs-label .el-icon[data-v-653c8117]{vertical-align:middle}.custom-tabs-label span[data-v-653c8117]{vertical-align:middle;margin-left:4px}
@@ -0,0 +1,2 @@
1
+ import{o as Le,g as mt,E as gt,_ as pt,T as ht,a as xe,b as bt,c as qe,d as yt,l as ze,e as Re,f as je,i as wt,h as Pe,j as _t,u as Me,k as Ge,m as Ct,n as Se,w as He,v as We,p as kt,r as $t,s as St,q as re,t as Ee,x as Et,y as Vt,z as Dt,A as Tt,B as Bt,C as It,D as xt}from"./index-CCnAxNF8.js";import{E as Mt,u as At,a as Ut,b as Ot,c as Lt,d as zt,e as Rt}from"./el-overlay-CzMkXyYy.js";import{n as Z,t as be,a1 as ie,x as V,y as c,G as r,H as Ve,O as s,C as n,J as E,I as pe,K as Ne,A as p,U as j,V as le,$ as i,af as he,v as jt,L as De,a9 as D,M as Pt,c as R,r as I,Q as Ht,ag as Te,w as J,f as Ae,F as Nt,p as Be,a as Ue,ah as Ft,ai as Ke,aj as Qe,l as Fe,d as Xe,u as y,P as K,ak as X,a6 as Jt,Z as qt,a8 as Gt,E as Wt,a7 as Kt}from"./vue-vendor-6ny5zj9i.js";import{_ as Ze}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{E as Qt,a as Xt}from"./el-tab-pane-C_DQMcwe.js";import{E as Zt,a as Yt,b as el}from"./el-table-column-CASRIbZM.js";import"./el-tag-npbwux4f.js";import{i as tl,E as ll,a as al,b as ol,c as sl}from"./el-form-item-ClFnj49k.js";import{E as Ye}from"./el-input-CDnuSKVZ.js";import{E as nl,a as rl}from"./el-select-DvjGddk_.js";import{T as il}from"./ToolCallDialog-C_bTCpHC.js";import{_ as ul,f as dl}from"./ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js";import{E as S}from"./index-d1DZeSfz.js";import"./vnode-CHomNjgN.js";import"./event-BB_Ol6Sd.js";import"./raf-DY5mgbuB.js";import"./typescript-Bp3YSIOJ.js";import"./omit-DPsOVNIJ.js";import"./_baseClone-5q1b0P3O.js";const Ie="_trap-focus-children",Y=[],Je=e=>{if(Y.length===0)return;const a=mt(e),f=Y[Y.length-1][Ie];if(f.length>0&&a===gt.tab){if(f.length===1){e.preventDefault(),document.activeElement!==f[0]&&f[0].focus();return}const w=e.shiftKey,k=e.target===f[0],g=e.target===f[f.length-1];k&&w&&(e.preventDefault(),f[f.length-1].focus()),g&&!w&&(e.preventDefault(),f[0].focus())}},cl={beforeMount(e){e[Ie]=Le(e),Y.push(e),Y.length<=1&&document.addEventListener("keydown",Je)},updated(e){Z(()=>{e[Ie]=Le(e)})},unmounted(){Y.shift(),Y.length===0&&document.removeEventListener("keydown",Je)}},fl=be({name:"ElMessageBox",directives:{TrapFocus:cl},components:{ElButton:qe,ElFocusTrap:bt,ElInput:Ye,ElOverlay:Mt,ElIcon:xe,...ht},inheritAttrs:!1,props:{buttonSize:{type:String,validator:tl},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:a}){const{locale:f,zIndex:w,ns:k,size:g}=yt("message-box",R(()=>e.buttonSize)),{t:M}=f,{nextZIndex:l}=w,$=I(!1),u=Ht({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:Te(ze),cancelButtonLoadingIcon:Te(ze),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:l()}),L=R(()=>{const _=u.type;return{[k.bm("icon",_)]:_&&Re[_]}}),h=je(),A=je(),q=R(()=>{const _=u.type;return u.icon||_&&Re[_]||""}),z=R(()=>!!u.message),T=I(),G=I(),N=I(),B=I(),ee=I(),de=R(()=>u.confirmButtonClass);J(()=>u.inputValue,async _=>{await Z(),e.boxType==="prompt"&&_&&ce()},{immediate:!0}),J(()=>$.value,_=>{var U,O;_&&(e.boxType!=="prompt"&&(u.autofocus?N.value=(O=(U=ee.value)==null?void 0:U.$el)!=null?O:T.value:N.value=T.value),u.zIndex=l()),e.boxType==="prompt"&&(_?Z().then(()=>{var ve;B.value&&B.value.$el&&(u.autofocus?N.value=(ve=Ce())!=null?ve:T.value:N.value=T.value)}):(u.editorErrorMessage="",u.validateError=!1))});const ye=R(()=>e.draggable),we=R(()=>e.overflow),{isDragging:_e}=At(T,G,ye,we);Ae(async()=>{await Z(),e.closeOnHashChange&&window.addEventListener("hashchange",W)}),Nt(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",W)});function W(){$.value&&($.value=!1,Z(()=>{u.action&&a("action",u.action)}))}const oe=()=>{e.closeOnClickModal&&te(u.distinguishCancelAndClose?"close":"cancel")},se=Ot(oe),ne=_=>{if(u.inputType!=="textarea")return _.preventDefault(),te("confirm")},te=_=>{var U;e.boxType==="prompt"&&_==="confirm"&&!ce()||(u.action=_,u.beforeClose?(U=u.beforeClose)==null||U.call(u,_,u,W):W())},ce=()=>{if(e.boxType==="prompt"){const _=u.inputPattern;if(_&&!_.test(u.inputValue||""))return u.editorErrorMessage=u.inputErrorMessage||M("el.messagebox.error"),u.validateError=!0,!1;const U=u.inputValidator;if(Be(U)){const O=U(u.inputValue);if(O===!1)return u.editorErrorMessage=u.inputErrorMessage||M("el.messagebox.error"),u.validateError=!0,!1;if(Ue(O))return u.editorErrorMessage=O,u.validateError=!0,!1}}return u.editorErrorMessage="",u.validateError=!1,!0},Ce=()=>{var _,U;const O=(_=B.value)==null?void 0:_.$refs;return(U=O?.input)!=null?U:O?.textarea},fe=()=>{te("close")},ke=()=>{e.closeOnPressEscape&&fe()};return e.lockScroll&&Ut($,{ns:k}),{...Ft(u),ns:k,overlayEvent:se,visible:$,hasMessage:z,typeClass:L,contentId:h,inputId:A,btnSize:g,iconComponent:q,confirmButtonClasses:de,rootRef:T,focusStartRef:N,headerRef:G,inputRef:B,isDragging:_e,confirmRef:ee,doClose:W,handleClose:fe,onCloseRequested:ke,handleWrapperClick:oe,handleInputEnter:ne,handleAction:te,t:M}}}),vl=["aria-label","aria-describedby"],ml=["aria-label"],gl=["id"];function pl(e,a,f,w,k,g){const M=ie("el-icon"),l=ie("el-input"),$=ie("el-button"),u=ie("el-focus-trap"),L=ie("el-overlay");return c(),V(Pt,{name:"fade-in-linear",onAfterLeave:a[11]||(a[11]=h=>e.$emit("vanish")),persisted:""},{default:r(()=>[Ve(s(L,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:r(()=>[n("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:E(`${e.ns.namespace.value}-overlay-message-box`),onClick:a[8]||(a[8]=(...h)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...h)),onMousedown:a[9]||(a[9]=(...h)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...h)),onMouseup:a[10]||(a[10]=(...h)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...h))},[s(u,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:r(()=>[n("div",{ref:"rootRef",class:E([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:Ne(e.customStyle),tabindex:"-1",onClick:a[7]||(a[7]=pe(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(c(),p("div",{key:0,ref:"headerRef",class:E([e.ns.e("header"),{"show-close":e.showClose}])},[n("div",{class:E(e.ns.e("title"))},[e.iconComponent&&e.center?(c(),V(M,{key:0,class:E([e.ns.e("status"),e.typeClass])},{default:r(()=>[(c(),V(le(e.iconComponent)))]),_:1},8,["class"])):j("v-if",!0),n("span",null,i(e.title),1)],2),e.showClose?(c(),p("button",{key:0,type:"button",class:E(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:a[0]||(a[0]=h=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:a[1]||(a[1]=he(pe(h=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[s(M,{class:E(e.ns.e("close"))},{default:r(()=>[(c(),V(le(e.closeIcon||"close")))]),_:1},8,["class"])],42,ml)):j("v-if",!0)],2)):j("v-if",!0),n("div",{id:e.contentId,class:E(e.ns.e("content"))},[n("div",{class:E(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(c(),V(M,{key:0,class:E([e.ns.e("status"),e.typeClass])},{default:r(()=>[(c(),V(le(e.iconComponent)))]),_:1},8,["class"])):j("v-if",!0),e.hasMessage?(c(),p("div",{key:1,class:E(e.ns.e("message"))},[jt(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(c(),V(le(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(c(),V(le(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:i(e.message)},null,8,["for","textContent"]))])],2)):j("v-if",!0)],2),Ve(n("div",{class:E(e.ns.e("input"))},[s(l,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":a[2]||(a[2]=h=>e.inputValue=h),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:E({invalid:e.validateError}),onKeydown:he(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),n("div",{class:E(e.ns.e("errormsg")),style:Ne({visibility:e.editorErrorMessage?"visible":"hidden"})},i(e.editorErrorMessage),7)],2),[[De,e.showInput]])],10,gl),n("div",{class:E(e.ns.e("btns"))},[e.showCancelButton?(c(),V($,{key:0,loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:E([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:a[3]||(a[3]=h=>e.handleAction("cancel")),onKeydown:a[4]||(a[4]=he(pe(h=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:r(()=>[D(i(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","loading-icon","class","round","size"])):j("v-if",!0),Ve(s($,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:E([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:a[5]||(a[5]=h=>e.handleAction("confirm")),onKeydown:a[6]||(a[6]=he(pe(h=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:r(()=>[D(i(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","loading-icon","class","round","disabled","size"]),[[De,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,vl)]),_:3},8,["z-index","overlay-class","mask"]),[[De,e.visible]])]),_:3})}var hl=pt(fl,[["render",pl],["__file","/home/runner/work/element-plus/element-plus/packages/components/message-box/src/index.vue"]]);const ue=new Map,bl=e=>{let a=document.body;return e.appendTo&&(Ue(e.appendTo)&&(a=document.querySelector(e.appendTo)),Pe(e.appendTo)&&(a=e.appendTo),Pe(a)||(a=document.body)),a},yl=(e,a,f=null)=>{const w=s(hl,e,Be(e.message)||Ke(e.message)?{default:Be(e.message)?e.message:()=>e.message}:null);return w.appContext=f,Qe(w,a),bl(e).appendChild(a.firstElementChild),w.component},wl=()=>document.createElement("div"),_l=(e,a)=>{const f=wl();e.onVanish=()=>{Qe(null,f),ue.delete(k)},e.onAction=g=>{const M=ue.get(k);let l;e.showInput?l={value:k.inputValue,action:g}:l=g,e.callback?e.callback(l,w.proxy):g==="cancel"||g==="close"?e.distinguishCancelAndClose&&g!=="cancel"?M.reject("close"):M.reject("cancel"):M.resolve(l)};const w=yl(e,f,a),k=w.proxy;for(const g in e)Fe(e,g)&&!Fe(k.$props,g)&&(g==="closeIcon"&&Xe(e[g])?k[g]=Te(e[g]):k[g]=e[g]);return k.visible=!0,k};function ae(e,a=null){if(!wt)return Promise.reject();let f;return Ue(e)||Ke(e)?e={message:e}:f=e.callback,new Promise((w,k)=>{const g=_l(e,a??ae._context);ue.set(g,{options:e,callback:f,resolve:w,reject:k})})}const Cl=["alert","confirm","prompt"],kl={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};Cl.forEach(e=>{ae[e]=$l(e)});function $l(e){return(a,f,w,k)=>{let g="";return Xe(f)?(w=f,g=""):_t(f)?g="":g=f,ae(Object.assign({title:g,message:a,type:"",...kl[e]},w,{boxType:e}),k)}}ae.close=()=>{ue.forEach((e,a)=>{a.doClose()}),ue.clear()};ae._context=null;const Q=ae;Q.install=e=>{Q._context=e._context,e.config.globalProperties.$msgbox=Q,e.config.globalProperties.$messageBox=Q,e.config.globalProperties.$alert=Q.alert,e.config.globalProperties.$confirm=Q.confirm,e.config.globalProperties.$prompt=Q.prompt};const Sl=Q,El={class:"dashboard py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full h-full flex flex-col overflow-hidden transition-colors duration-300"},Vl={class:"text-2xl font-semibold text-gray-900 dark:text-white mb-6 shrink-0"},Dl={key:0,class:"grid grid-cols-3 gap-6 mb-8 shrink-0"},Tl={class:"p-6 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-[#1e293b] h-32"},Bl={key:1,class:"grid grid-cols-3 gap-6 mb-8 shrink-0"},Il={class:"stat-card bg-white dark:bg-[#1e293b] p-6 rounded-xl border border-gray-200 dark:border-gray-700 shadow-sm transition-colors duration-300"},xl={class:"text-gray-500 dark:text-gray-400 text-sm mb-2"},Ml={class:"text-4xl font-bold text-gray-900 dark:text-white"},Al={class:"stat-card bg-white dark:bg-[#1e293b] p-6 rounded-xl border border-gray-200 dark:border-gray-700 shadow-sm transition-colors duration-300"},Ul={class:"text-gray-500 dark:text-gray-400 text-sm mb-2"},Ol={class:"text-4xl font-bold text-gray-900 dark:text-white"},Ll={class:"stat-card bg-white dark:bg-[#1e293b] p-6 rounded-xl border border-gray-200 dark:border-gray-700 shadow-sm transition-colors duration-300"},zl={class:"text-gray-500 dark:text-gray-400 text-sm mb-2"},Rl={class:"text-4xl font-bold text-red-500"},jl={class:"activity-section bg-white dark:bg-[#1e293b] rounded-xl border border-gray-200 dark:border-gray-700 flex flex-col flex-1 min-h-0 shadow-sm transition-colors duration-300"},Pl={class:"p-4 border-b border-gray-200 dark:border-gray-700"},Hl={class:"text-lg font-medium text-gray-900 dark:text-white"},Nl={class:"flex items-center gap-2 mb-1"},Fl={class:"font-medium text-gray-700 dark:text-gray-200"},Jl={class:"text-xs text-gray-400 ml-auto"},ql={class:"text-sm text-gray-600 dark:text-gray-400 font-mono pl-6 break-words"},Gl={key:0,class:"flex flex-col items-center justify-center h-full text-gray-400 dark:text-gray-500"},Wl=be({__name:"DashboardView",setup(e){const a=Me();Ge();const f=I(null);Ae(()=>{!a.loading&&a.servers.length>0&&a.fetchAllLogs()}),J(()=>a.loading,l=>{!l&&a.servers.length>0&&a.fetchAllLogs()});const w=R(()=>{const l=[];return a.servers.forEach($=>{$.logs.forEach((u,L)=>{l.push({serverName:$.name,serverStatus:$.status,message:u.message,time:k(u.timestamp),timestamp:u.timestamp,originalIndex:L})})}),l.sort(($,u)=>$.timestamp-u.timestamp)});J(()=>w.value.length,()=>{Z(()=>{f.value&&(f.value.scrollTop=f.value.scrollHeight)})});function k(l){const $=new Date(l),u=String($.getHours()).padStart(2,"0"),L=String($.getMinutes()).padStart(2,"0"),h=String($.getSeconds()).padStart(2,"0"),A=String($.getMilliseconds()).padStart(3,"0");return`${u}:${L}:${h}.${A}`}function g(l){switch(l){case"online":return We;case"offline":return Se;case"stopping":return Se;case"error":return He;case"starting":return He;default:return Se}}function M(l){switch(l){case"online":return"text-green-500";case"offline":return"text-gray-400";case"stopping":return"text-gray-400";case"error":return"text-yellow-500";case"starting":return"text-yellow-500";default:return"text-gray-400"}}return(l,$)=>{const u=zt,L=Lt,h=xe;return c(),p("div",El,[n("h2",Vl,i(l.$t("dashboard.title")),1),y(a).loading&&y(a).servers.length===0?(c(),p("div",Dl,[s(L,{animated:"",count:3,class:"w-full h-full"},{template:r(()=>[n("div",Tl,[s(u,{variant:"text",style:{width:"30%"},class:"mb-2"}),s(u,{variant:"h1",style:{width:"50%"}})])]),_:1})])):(c(),p("div",Bl,[n("div",Il,[n("div",xl,i(l.$t("dashboard.totalServers")),1),n("div",Ml,i(y(a).stats.total),1)]),n("div",Al,[n("div",Ul,i(l.$t("dashboard.running")),1),n("div",Ol,i(y(a).stats.online),1)]),n("div",Ll,[n("div",zl,i(l.$t("dashboard.errors")),1),n("div",Rl,i(y(a).stats.errors),1)])])),n("div",jl,[n("div",Pl,[n("h3",Hl,i(l.$t("dashboard.recentActivity")),1)]),n("div",{ref_key:"activityContainer",ref:f,class:"p-4 overflow-y-auto flex-1 custom-scrollbar"},[(c(!0),p(K,null,X(w.value,(A,q)=>(c(),p("div",{key:q,class:"activity-item mb-4 pb-4 border-b border-gray-100 dark:border-gray-700/50 last:border-0"},[n("div",Nl,[s(h,{size:16,class:E(M(A.serverStatus))},{default:r(()=>[(c(),V(le(g(A.serverStatus))))]),_:2},1032,["class"]),n("span",Fl,i(A.serverName),1),n("span",Jl,i(A.time),1)]),n("div",ql,i(A.message),1)]))),128)),w.value.length===0?(c(),p("div",Gl,[s(h,{size:40,class:"mb-2 opacity-50"},{default:r(()=>[s(y(Ct))]),_:1}),$[0]||($[0]=n("span",null,"No recent activity",-1))])):j("",!0)],512)])])}}}),Kl=Ze(Wl,[["__scopeId","data-v-0af924e8"]]),Ql={key:0,class:"server-detail py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full h-full flex flex-col overflow-hidden transition-colors duration-300"},Xl={class:"flex items-center justify-between mb-6 shrink-0"},Zl={class:"flex items-center gap-4"},Yl={class:"flex flex-col items-start gap-2"},ea={class:"text-2xl font-bold text-gray-900 dark:text-white"},ta={class:"flex gap-2"},la={class:"custom-tabs-label"},aa={class:"max-w-3xl"},oa={class:"w-full flex flex-col gap-2"},sa={class:"w-full flex flex-col gap-2"},na={class:"w-full flex flex-col gap-2"},ra={class:"flex gap-2"},ia={class:"custom-tabs-label"},ua={class:"flex items-center justify-between gap-2 mb-2"},da={class:"flex items-center gap-2"},ca={class:"text-sm text-gray-600 dark:text-gray-400 font-medium"},fa={class:"flex items-center justify-between w-full"},va={key:0,class:"text-blue-500 text-xs ml-2"},ma={class:"flex items-center gap-2"},ga={class:"custom-tabs-label"},pa={class:"flex h-full gap-4"},ha={class:"w-1/3 border-r border-gray-200 dark:border-gray-700 pr-4 overflow-y-auto"},ba={class:"font-bold mb-4"},ya={key:0,class:"space-y-2"},wa=["onClick"],_a={class:"min-w-0 flex-1 mr-2"},Ca={class:"font-medium truncate"},ka={key:1,class:"text-gray-500 text-sm italic"},$a={class:"flex-1 min-h-0 overflow-y-auto px-4 flex flex-col"},Sa={class:"flex justify-between items-center mb-4 shrink-0"},Ea={class:"font-bold"},Va={key:0},Da={class:"mb-4 text-gray-600 dark:text-gray-300"},Ta={class:"font-medium mb-2"},Ba={class:"bg-gray-50 dark:bg-[#0f172a] p-4 rounded-lg overflow-x-auto text-sm font-mono border border-gray-200 dark:border-gray-700"},Ia={key:1,class:"flex-1 flex items-center justify-center text-gray-400"},xa={class:"custom-tabs-label"},Ma={class:"h-full overflow-y-auto"},Aa={class:"flex items-center gap-2"},Ua={class:"font-medium"},Oa={key:0,class:"text-center py-8 text-gray-500"},La={class:"dialog-footer"},za={key:1,class:"h-full flex items-center justify-center text-gray-400"},Ra=be({__name:"ServerDetail",setup(e){const a=Me();Ge();const{t:f}=Jt(),w=Kt(),k=Gt();function g(){a.selectedServerId=null,w.push({name:"servers"})}function M(t){l.value&&w.push({name:"resource-detail",params:{name:l.value.name},query:{uri:t.uri,name:t.name,mimeType:t.mimeType}})}const l=R(()=>a.selectedServer),$=R(()=>l.value?a.servers.filter(t=>t.name===l.value.name):[]),u=R({get:()=>l.value?.id||"",set:t=>{a.selectServer(t)}});function L(t){let o=t.id;return t.pid&&(o+=` (PID: ${t.pid})`),t.instance?.hash==="config-only"&&(o="Config (No Instance)"),t.status==="online"?o+=` (${f("serverDetail.status.running")})`:t.status==="offline"&&t.instance?.hash!=="config-only"&&(o+=` (${f("serverDetail.status.stopped")})`),o}const h=I("config"),A=I(!0),q=I(null),z=I({}),T=I({}),G=I(!1),N=I(""),B=I(null),ee=I(!1);qt(()=>{const t=k.query.tab;t&&["config","logs","tools","resources"].includes(t)&&(h.value=t)});const de=R({get:()=>l.value?.config.timeout?l.value.config.timeout/1e3:60,set:t=>{l.value&&(l.value.config.timeout=t*1e3)}});J(l,t=>{t?.config.env&&(z.value={},Object.keys(t.config.env).forEach(o=>{z.value[o]=o})),t?.config.headers&&(T.value={},Object.keys(t.config.headers).forEach(o=>{T.value[o]=o}))},{immediate:!0}),J(()=>l.value?.id,(t,o)=>{t&&t!==o&&(k.query.tab||(h.value=l.value?.status==="online"?"logs":"config"),B.value=null)},{immediate:!0}),J(()=>l.value?.logs.length,()=>{A.value&&Z(()=>{q.value&&(q.value.scrollTop=q.value.scrollHeight)})}),J(h,async t=>{l.value?.id&&(t==="tools"?await a.fetchTools(l.value.id):t==="resources"?await a.fetchResources(l.value.id):t==="logs"&&a.fetchLogs(l.value.id))},{immediate:!0});function ye(t){B.value=t}function we(t){if(!l.value?.config)return!1;const o=l.value.config.allowedTools;return o==null||o.length===0?!1:Array.isArray(o)?o.includes(t):!1}function _e(t){switch(t){case"debug":return"text-gray-400";case"info":return"text-blue-400";case"warn":return"text-yellow-400";case"error":return"text-red-400";default:return"text-gray-300"}}function W(t){const o=new Date(t),v=o.getFullYear(),m=String(o.getMonth()+1).padStart(2,"0"),C=String(o.getDate()).padStart(2,"0"),F=String(o.getHours()).padStart(2,"0"),P=String(o.getMinutes()).padStart(2,"0"),H=String(o.getSeconds()).padStart(2,"0"),$e=String(o.getMilliseconds()).padStart(3,"0");return`${v}-${m}-${C} ${F}:${P}:${H}.${$e}`}const oe=I("00:00:00");let se=null;const ne=()=>{oe.value=dl(l.value?.startTime,l.value?.status)};Ae(()=>{se=setInterval(ne,1e3),ne()}),Wt(()=>{se&&clearInterval(se)}),J(()=>l.value?.startTime,()=>{ne()});const te=async()=>{if(l.value)try{l.value.status==="online"&&await a.stopServer(l.value.id),await a.startServer(l.value.id),S.success(f("action.restarted"))}catch(t){t instanceof Error?S.error(t.message):S.error(String(t))}},ce=async()=>{if(l.value)try{await a.stopServer(l.value.id),S.success(f("action.stopped"))}catch(t){t instanceof Error?S.error(t.message):S.error(String(t))}},Ce=async()=>{if(l.value)try{await a.startServer(l.value.id),S.success(f("action.started"))}catch(t){t instanceof Error?S.error(t.message):S.error(String(t))}},fe=async()=>{if(l.value)try{await Sl.confirm(f("serverDetail.deleteConfirm"),f("action.delete"),{confirmButtonText:f("action.delete"),cancelButtonText:f("action.cancel"),type:"warning"}),await a.deleteServer(l.value.id),S.success(f("action.serverDeleted")),a.selectedServerId=null}catch(t){t!=="cancel"&&(t instanceof Error?S.error(t.message||"Failed to delete server"):S.error(String(t)||"Failed to delete server"))}},ke=async(t,o)=>{if(!l.value)return;let v=l.value.config.allowedTools;v==null&&(l.value.tools?v=l.value.tools.map(m=>m.name):v=[]),o?v.includes(t)||(v=[...v,t]):v=v.filter(m=>m!==t),l.value.config.allowedTools=v;try{await a.updateServer(l.value.id,{config:l.value.config}),S.success(f("action.configSaved"))}catch(m){m instanceof Error?S.error(m.message):S.error(String(m))}},_=async()=>{if(l.value)try{await a.updateServer(l.value.id,{config:l.value.config}),S.success(f("action.configSaved"))}catch(t){t instanceof Error?S.error(t.message):S.error(String(t))}},U=()=>{if(!l.value)return;const t={env:l.value.config.env||{},enabled:l.value.config.enabled,description:l.value.config.description};l.value.config.headers&&Object.keys(l.value.config.headers).length>0&&(t.headers=l.value.config.headers),l.value.config.timeout&&(t.timeout=l.value.config.timeout),l.value.config.type==="stdio"?(t.command=l.value.config.command,t.args=l.value.config.args||[]):t.url=l.value.config.url;const o={mcpServers:{[l.value.name]:t}};N.value=JSON.stringify(o,null,2),G.value=!0},O=async()=>{try{const t=JSON.parse(N.value);if(!t.mcpServers)throw new Error("Missing mcpServers key");const o=Object.keys(t.mcpServers);if(o.length===0)throw new Error("No server config found");const v=o[0]||"",m=t.mcpServers[v];if(l.value){const C={...l.value.config};m.command?(C.type="stdio",C.command=m.command,C.args=m.args||[],delete C.url):m.url&&(C.type=m.type==="sse"?"sse":"streamable-http",C.url=m.url,delete C.command,delete C.args),m.env&&(C.env=m.env),m.headers?C.headers=m.headers:m.headers===null||m.headers,m.timeout!==void 0&&(C.timeout=m.timeout),m.enabled!==void 0&&(C.enabled=m.enabled),m.description!==void 0&&(C.description=m.description),await a.updateServer(l.value.id,{name:v!==l.value.name?v:void 0,config:C}),C.env&&(z.value={},Object.keys(C.env).forEach(F=>{z.value[F]=F})),C.headers&&(T.value={},Object.keys(C.headers).forEach(F=>{T.value[F]=F})),G.value=!1,S.success(f("action.configSaved"))}}catch(t){t instanceof Error?S.error("Invalid JSON: "+t.message):S.error("Invalid JSON: "+String(t))}},ve=()=>{l.value.config.args||(l.value.config.args=[]),l.value.config.args.push("")},et=t=>{l.value.config.args?.splice(t,1)},tt=()=>{l.value.config.env||(l.value.config.env={});const t=`NEW_VAR_${Object.keys(l.value.config.env).length}`;l.value.config.env[t]="",z.value[t]=t},lt=t=>{delete l.value.config.env[t],delete z.value[t]},at=(t,o)=>{if(t===o)return;const v=l.value.config.env[t]||"";delete l.value.config.env[t],l.value.config.env[o]=v,delete z.value[t],z.value[o]=o},ot=()=>{l.value.config.headers||(l.value.config.headers={});const t=`NEW_HEADER_${Object.keys(l.value.config.headers).length}`;l.value.config.headers[t]="",T.value[t]=t},st=t=>{delete l.value.config.headers[t],delete T.value[t]},nt=(t,o)=>{if(t===o)return;const v=l.value.config.headers[t]||"";delete l.value.config.headers[t],l.value.config.headers[o]=v,delete T.value[t],T.value[o]=o},rt=async()=>{l.value&&(await a.clearLogs(l.value.id),S.success(f("action.logsCleared")))},it=()=>{if(l.value){const t=l.value.logs.map(o=>`${W(o.timestamp)} [${o.level.toUpperCase()}] ${o.message}`).join(`
2
+ `);navigator.clipboard.writeText(t),S.success(f("action.logsCopied"))}};return(t,o)=>{const v=qe,m=xe,C=rl,F=nl,P=al,H=Ye,$e=ol,Oe=sl,ut=ll,me=Xt,dt=Zt,ge=el,ct=Yt,ft=Qt,vt=Rt;return l.value?(c(),p("div",Ql,[n("div",Xl,[n("div",Zl,[s(v,{icon:y(kt),plain:"",onClick:g,class:"shrink-0"},{default:r(()=>[D(i(t.$t("action.back")),1)]),_:1},8,["icon"]),n("div",Yl,[n("h2",ea,i(l.value.name),1),s(ul,{server:l.value,"include-uptime":!0,"formatted-uptime":oe.value},null,8,["server","formatted-uptime"])])]),n("div",ta,[s(v,{icon:y($t),plain:"",onClick:te},{default:r(()=>[D(i(t.$t("action.restart")),1)]),_:1},8,["icon"]),l.value.status==="online"?(c(),V(v,{key:0,type:"warning",plain:"",icon:y(St),onClick:ce},{default:r(()=>[D(i(t.$t("action.stop")),1)]),_:1},8,["icon"])):(c(),V(v,{key:1,type:"success",icon:y(We),onClick:Ce},{default:r(()=>[D(i(t.$t("action.start")),1)]),_:1},8,["icon"])),s(v,{type:"danger",icon:y(re),onClick:fe},{default:r(()=>[D(i(t.$t("action.delete")),1)]),_:1},8,["icon"])])]),s(ft,{modelValue:h.value,"onUpdate:modelValue":o[9]||(o[9]=d=>h.value=d),class:"flex-1 flex flex-col overflow-hidden custom-tabs"},{default:r(()=>[s(me,{name:"config",class:"h-full overflow-y-auto"},{label:r(()=>[n("span",la,[s(m,null,{default:r(()=>[s(y(Vt))]),_:1}),n("span",null,i(t.$t("serverDetail.tabs.config")),1)])]),default:r(()=>[n("div",aa,[s(ut,{"label-position":"top",class:"mt-4"},{default:r(()=>[s(P,{label:t.$t("serverDetail.config.transport")},{default:r(()=>[s(F,{modelValue:l.value.config.type,"onUpdate:modelValue":o[0]||(o[0]=d=>l.value.config.type=d),class:"w-full"},{default:r(()=>[s(C,{label:t.$t("serverDetail.config.transportStdio"),value:"stdio"},null,8,["label"]),s(C,{label:t.$t("serverDetail.config.transportSse"),value:"sse"},null,8,["label"]),s(C,{label:t.$t("serverDetail.config.transportHttp"),value:"streamable-http"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),l.value.config.type==="stdio"?(c(),p(K,{key:0},[s(P,{label:t.$t("serverDetail.config.executable")},{default:r(()=>[s(H,{modelValue:l.value.config.command,"onUpdate:modelValue":o[1]||(o[1]=d=>l.value.config.command=d)},null,8,["modelValue"])]),_:1},8,["label"]),s(P,{label:t.$t("serverDetail.config.args")},{default:r(()=>[n("div",oa,[(c(!0),p(K,null,X(l.value.config.args,(d,b)=>(c(),p("div",{key:b,class:"flex gap-2 w-full"},[s(H,{modelValue:l.value.config.args[b],"onUpdate:modelValue":x=>l.value.config.args[b]=x},null,8,["modelValue","onUpdate:modelValue"]),s(v,{icon:y(re),circle:"",plain:"",onClick:x=>et(b)},null,8,["icon","onClick"])]))),128)),n("div",null,[s(v,{icon:y(Ee),plain:"",size:"small",onClick:ve},{default:r(()=>[D("+ "+i(t.$t("serverDetail.config.addArg")),1)]),_:1},8,["icon"])])])]),_:1},8,["label"])],64)):(c(),V(P,{key:1,label:t.$t("serverDetail.config.url")},{default:r(()=>[s(H,{modelValue:l.value.config.url,"onUpdate:modelValue":o[2]||(o[2]=d=>l.value.config.url=d)},null,8,["modelValue"])]),_:1},8,["label"])),s(P,{label:t.$t("serverDetail.config.timeout")},{default:r(()=>[s($e,{modelValue:de.value,"onUpdate:modelValue":o[3]||(o[3]=d=>de.value=d),min:0,step:1},null,8,["modelValue"])]),_:1},8,["label"]),s(P,{label:t.$t("serverDetail.config.description")},{default:r(()=>[s(H,{modelValue:l.value.config.description,"onUpdate:modelValue":o[4]||(o[4]=d=>l.value.config.description=d),type:"textarea",rows:3,placeholder:t.$t("serverDetail.config.descriptionPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(P,{label:t.$t("serverDetail.config.autoStart")},{default:r(()=>[s(Oe,{modelValue:l.value.config.enabled,"onUpdate:modelValue":o[5]||(o[5]=d=>l.value.config.enabled=d)},null,8,["modelValue"])]),_:1},8,["label"]),s(P,{label:t.$t("serverDetail.config.env")},{default:r(()=>[n("div",sa,[(c(!0),p(K,null,X(l.value.config.env,(d,b)=>(c(),p("div",{key:b,class:"flex gap-2 w-full",style:{display:"flex",gap:"0.5rem",width:"100%"}},[s(H,{modelValue:z.value[b],"onUpdate:modelValue":x=>z.value[b]=x,placeholder:t.$t("addServer.keyPlaceholder"),style:{width:"30%","min-width":"150px"},onChange:x=>at(b,x)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"]),s(H,{modelValue:l.value.config.env[b],"onUpdate:modelValue":x=>l.value.config.env[b]=x,placeholder:t.$t("addServer.valuePlaceholder"),style:{flex:"1"}},null,8,["modelValue","onUpdate:modelValue","placeholder"]),s(v,{icon:y(re),circle:"",plain:"",onClick:x=>lt(b)},null,8,["icon","onClick"])]))),128)),n("div",null,[s(v,{icon:y(Ee),plain:"",size:"small",onClick:tt},{default:r(()=>[D("+ "+i(t.$t("serverDetail.config.addEnv")),1)]),_:1},8,["icon"])])])]),_:1},8,["label"]),l.value.config.type!=="stdio"?(c(),V(P,{key:2,label:"Headers"},{default:r(()=>[n("div",na,[(c(!0),p(K,null,X(l.value.config.headers,(d,b)=>(c(),p("div",{key:b,class:"flex gap-2 w-full",style:{display:"flex",gap:"0.5rem",width:"100%"}},[s(H,{modelValue:T.value[b],"onUpdate:modelValue":x=>T.value[b]=x,placeholder:t.$t("addServer.keyPlaceholder"),style:{width:"30%","min-width":"150px"},onChange:x=>nt(b,x)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"]),s(H,{modelValue:l.value.config.headers[b],"onUpdate:modelValue":x=>l.value.config.headers[b]=x,placeholder:t.$t("addServer.valuePlaceholder"),style:{flex:"1"}},null,8,["modelValue","onUpdate:modelValue","placeholder"]),s(v,{icon:y(re),circle:"",plain:"",onClick:x=>st(b)},null,8,["icon","onClick"])]))),128)),n("div",null,[s(v,{icon:y(Ee),plain:"",size:"small",onClick:ot},{default:r(()=>[D("+ "+i(t.$t("serverDetail.config.addEnv")),1)]),_:1},8,["icon"])])])]),_:1})):j("",!0),n("div",ra,[s(v,{type:"primary",class:"mt-4",onClick:_},{default:r(()=>[D(i(t.$t("serverDetail.config.save")),1)]),_:1}),s(v,{class:"mt-4",icon:y(Et),onClick:U},{default:r(()=>[D(i(t.$t("serverDetail.config.editByJson")),1)]),_:1},8,["icon"])])]),_:1})])]),_:1}),s(me,{name:"logs",class:"h-full flex flex-col"},{label:r(()=>[n("span",ia,[s(m,null,{default:r(()=>[s(y(Tt))]),_:1}),n("span",null,i(t.$t("serverDetail.tabs.logs")),1)])]),default:r(()=>[n("div",ua,[n("div",da,[n("span",ca,i(t.$t("serverDetail.logs.instance")),1),s(F,{modelValue:u.value,"onUpdate:modelValue":o[6]||(o[6]=d=>u.value=d),size:"small",style:{width:"450px"},placeholder:t.$t("serverDetail.logs.selectInstance")},{default:r(()=>[(c(!0),p(K,null,X($.value,d=>(c(),V(C,{key:d.id,label:L(d),value:d.id},{default:r(()=>[n("div",fa,[n("span",null,i(L(d)),1),d.id===l.value.id?(c(),p("span",va,"Current")):j("",!0)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),n("div",ma,[s(dt,{modelValue:A.value,"onUpdate:modelValue":o[7]||(o[7]=d=>A.value=d),label:t.$t("serverDetail.logs.autoScroll"),class:"text-gray-600 dark:text-gray-400"},null,8,["modelValue","label"]),s(v,{size:"small",icon:y(re),plain:"",onClick:rt},{default:r(()=>[D(i(t.$t("serverDetail.logs.clear")),1)]),_:1},8,["icon"]),s(v,{size:"small",icon:y(Dt),plain:"",onClick:it},{default:r(()=>[D(i(t.$t("serverDetail.logs.copy")),1)]),_:1},8,["icon"])])]),n("div",{class:"bg-gray-900 dark:bg-black p-4 rounded-lg font-mono text-sm h-full overflow-y-auto text-gray-300",ref_key:"logsContainer",ref:q},[(c(!0),p(K,null,X(l.value.logs,(d,b)=>(c(),p("div",{key:b,class:"mb-1 break-words"},[n("span",{class:E(_e(d.level))},i(W(d.timestamp))+" ["+i(d.level.toUpperCase())+"] "+i(d.message),3)]))),128))],512)]),_:1}),s(me,{name:"tools",class:"h-full flex flex-col"},{label:r(()=>[n("span",ga,[s(m,null,{default:r(()=>[s(y(Bt))]),_:1}),n("span",null,i(t.$t("serverDetail.tabs.tools"))+" ("+i(l.value.toolsCount||0)+")",1)])]),default:r(()=>[n("div",pa,[n("div",ha,[n("h3",ba,i(t.$t("serverDetail.tools.available")),1),l.value.tools&&l.value.tools.length>0?(c(),p("div",ya,[(c(!0),p(K,null,X(l.value.tools,d=>(c(),p("div",{key:d.name,class:E(["p-3 rounded-lg cursor-pointer transition-colors flex items-center justify-between group",B.value?.name===d.name?"bg-blue-50 dark:bg-blue-900/30 border border-blue-200 dark:border-blue-800":"hover:bg-gray-100 dark:hover:bg-gray-800 border border-transparent"]),onClick:b=>ye(d)},[n("div",_a,[n("div",Ca,i(d.name),1)]),s(Oe,{"model-value":we(d.name),"onUpdate:modelValue":b=>ke(d.name,!!b),class:"mr-4","active-text":t.$t("serverDetail.tools.aggregated")},null,8,["model-value","onUpdate:modelValue","active-text"])],10,wa))),128))])):(c(),p("div",ka,i(t.$t("serverDetail.tools.none")),1))]),n("div",$a,[n("div",Sa,[n("h3",Ea,i(t.$t("serverDetail.tools.details"))+": "+i(B.value?.name||""),1),B.value?(c(),V(v,{key:0,type:"primary",size:"small",onClick:o[8]||(o[8]=d=>ee.value=!0)},{default:r(()=>[D(i(t.$t("serverDetail.tools.call")),1)]),_:1})):j("",!0)]),B.value?(c(),p("div",Va,[n("p",Da,i(B.value.description),1),n("h4",Ta,i(t.$t("serverDetail.tools.schema")),1),n("pre",Ba,i(JSON.stringify(B.value.inputSchema,null,2)),1)])):(c(),p("div",Ia,i(t.$t("serverDetail.tools.selectHint")),1))])])]),_:1}),s(me,{name:"resources",class:"h-full flex flex-col"},{label:r(()=>[n("span",xa,[s(m,null,{default:r(()=>[s(y(xt))]),_:1}),n("span",null,i(t.$t("serverDetail.tabs.resources"))+" ("+i(l.value.resourcesCount||0)+")",1)])]),default:r(()=>[n("div",Ma,[s(ct,{data:l.value.resources||[],style:{width:"100%"},class:"custom-table"},{default:r(()=>[s(ge,{prop:"name",label:t.$t("serverDetail.resources.name"),width:"200"},{default:r(({row:d})=>[n("div",Aa,[s(m,null,{default:r(()=>[s(y(It))]),_:1}),n("span",Ua,i(d.name),1)])]),_:1},8,["label"]),s(ge,{prop:"uri",label:t.$t("serverDetail.resources.uri"),"min-width":"300"},null,8,["label"]),s(ge,{prop:"mimeType",label:t.$t("serverDetail.resources.mimeType"),width:"150"},null,8,["label"]),s(ge,{label:"",width:"100",align:"right"},{default:r(({row:d})=>[s(v,{size:"small",plain:"",onClick:b=>M(d)},{default:r(()=>[D(i(t.$t("action.view")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),!l.value.resources||l.value.resources.length===0?(c(),p("div",Oa,i(t.$t("serverDetail.resources.none")),1)):j("",!0)])]),_:1})]),_:1},8,["modelValue"]),s(vt,{modelValue:G.value,"onUpdate:modelValue":o[12]||(o[12]=d=>G.value=d),title:"Edit JSON Config",width:"600px"},{footer:r(()=>[n("span",La,[s(v,{onClick:o[11]||(o[11]=d=>G.value=!1)},{default:r(()=>[D(i(t.$t("action.cancel")),1)]),_:1}),s(v,{type:"primary",onClick:O},{default:r(()=>[D(i(t.$t("action.save")),1)]),_:1})])]),default:r(()=>[s(H,{modelValue:N.value,"onUpdate:modelValue":o[10]||(o[10]=d=>N.value=d),type:"textarea",rows:15,"font-family":"monospace"},null,8,["modelValue"])]),_:1},8,["modelValue"]),B.value?(c(),V(il,{key:0,modelValue:ee.value,"onUpdate:modelValue":o[13]||(o[13]=d=>ee.value=d),"server-name":l.value.name,"tool-name":B.value.name,description:B.value.description,"input-schema":B.value.inputSchema},null,8,["modelValue","server-name","tool-name","description","input-schema"])):j("",!0)])):(c(),p("div",za,i(t.$t("serverDetail.noServerSelected")),1))}}}),ja=Ze(Ra,[["__scopeId","data-v-653c8117"]]),Pa={class:"h-full w-full"},ro=be({__name:"ServerDashboard",setup(e){const a=Me();return(f,w)=>(c(),p("div",Pa,[y(a).selectedServerId?(c(),V(ja,{key:1})):(c(),V(Kl,{key:0}))]))}});export{ro as default};
@@ -0,0 +1,32 @@
1
+ import{F as ce,G as me,_ as pe,H as ve,I as fe,J as ge,u as le,c as te,q as W,t as G,K as ye,a as be,L as he,M as $e,s as ke,v as Se,r as _e,y as we,A as Ce,B as Ve,D as xe}from"./index-CCnAxNF8.js";import{e as Ee,c as Ue,d as Ie}from"./el-overlay-CzMkXyYy.js";import{t as Y,A as f,y as u,U as P,C as o,J as B,u as c,v as X,a9 as g,$ as d,K as De,a6 as ae,c as Ae,r as C,w as ze,x as L,G as a,O as t,P as j,ak as H,f as Je,a7 as Fe,I as F}from"./vue-vendor-6ny5zj9i.js";import{a as je,b as Be,c as Pe,E as Te}from"./el-form-item-ClFnj49k.js";import{E as Me}from"./el-input-CDnuSKVZ.js";import{E as y}from"./index-d1DZeSfz.js";import{_ as Ne}from"./ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js";import{_ as Oe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vnode-CHomNjgN.js";import"./event-BB_Ol6Sd.js";import"./_baseClone-5q1b0P3O.js";import"./typescript-Bp3YSIOJ.js";const He=ce({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:me([String,Object,Array]),default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}}),Le=Y({name:"ElCard",__name:"card",props:He,setup(K){const k=ve("card"),x=fe("card");return(h,$)=>{var E;return u(),f("div",{class:B([c(x).b(),c(x).is(`${h.shadow||((E=c(k))==null?void 0:E.shadow)||"always"}-shadow`)])},[h.$slots.header||h.header?(u(),f("div",{key:0,class:B([c(x).e("header"),h.headerClass])},[X(h.$slots,"header",{},()=>[g(d(h.header),1)])],2)):P("v-if",!0),o("div",{class:B([c(x).e("body"),h.bodyClass]),style:De(h.bodyStyle)},[X(h.$slots,"default")],6),h.$slots.footer||h.footer?(u(),f("div",{key:1,class:B([c(x).e("footer"),h.footerClass])},[X(h.$slots,"footer",{},()=>[g(d(h.footer),1)])],2)):P("v-if",!0)],2)}}});var Ge=pe(Le,[["__file","/home/runner/work/element-plus/element-plus/packages/components/card/src/card.vue"]]);const Re=ge(Ge),qe={class:"flex gap-4 w-full"},Ke={class:"text-xs text-gray-400"},Qe={class:"text-xs text-gray-400"},We={class:"text-xs text-gray-400"},Xe={class:"w-full flex flex-col gap-2",style:{display:"flex","flex-direction":"column",width:"100%"}},Ye={class:"w-full flex flex-col gap-2",style:{display:"flex","flex-direction":"column",width:"100%"}},Ze={class:"w-full flex flex-col gap-2",style:{display:"flex","flex-direction":"column",width:"100%"}},el={class:"dialog-footer flex justify-between w-full"},ll={class:"flex gap-2"},tl={key:0,class:"mb-4"},al={class:"text-green-500 mb-2"},ol={class:"card-header"},sl={class:"space-y-2"},rl={key:1,class:"mb-4"},nl={class:"text-red-500 mb-2"},dl={class:"card-header"},il={class:"space-y-2"},ul={class:"font-bold"},cl={class:"text-sm text-gray-400"},ee=`{
2
+ "mcpServers": {
3
+ }
4
+ }`,ml=Y({__name:"AddServerModal",props:{modelValue:{type:Boolean},initialMode:{}},emits:["update:modelValue"],setup(K,{emit:k}){const x=K,h=k,{t:$}=ae(),E=le(),z=Ae({get:()=>x.modelValue,set:l=>h("update:modelValue",l)}),U=C(!1),I=C(!1),V=C(!1);ze(z,l=>{l&&x.initialMode==="json"&&(U.value=!0)});const T=C(ee),M=C(`{
5
+ "mcpServers": {
6
+ "server1": {
7
+ "command": "npx @anthropic-ai/mcp",
8
+ "args": ["--model", "claude-3-opus-20250620"],
9
+ "enabled": true
10
+ },
11
+ "server2": {
12
+ "type": "streamable-http",
13
+ "url": "http://localhost:3000",
14
+ "headers": { "Authorization": "Bearer token" },
15
+ "enabled": true
16
+ }
17
+ }
18
+ }`),J=C({success:[],errors:[]}),r=C({transport:"stdio",name:"",command:"",args:[],url:"",timeout:60,autoStart:!0}),n=C([]),i=C([]);function D(){try{const l=JSON.parse(T.value);let e=l,m="";if(l.mcpServers){const p=Object.keys(l.mcpServers);p.length>0&&(m=p[0]||"",e=l.mcpServers[m])}m&&(r.value.name=m),e.command?(r.value.transport="stdio",r.value.command=e.command,r.value.args=e.args||[]):e.url&&(r.value.transport=e.type==="sse"?"sse":"streamable-http",r.value.url=e.url),e.timeout&&(r.value.timeout=e.timeout/1e3),e.enabled!==void 0&&(r.value.autoStart=e.enabled),e.env&&(n.value=Object.entries(e.env).map(([p,b])=>({key:p,value:String(b)}))),e.headers&&(i.value=Object.entries(e.headers).map(([p,b])=>({key:p,value:String(b)}))),U.value=!1,y.success($("action.configImported"))}catch(l){l instanceof Error?y.error($("error.invalidJsonConfig")+": "+l.message):y.error($("error.invalidJsonConfig")+": "+String(l))}}async function S(){try{const l=JSON.parse(M.value);if(!l.mcpServers||typeof l.mcpServers!="object"){y.error('Invalid JSON format: missing "mcpServers" object');return}I.value=!1,R(),y.success($("action.serverAdded")),E.importServersFromJson(l).catch(e=>{console.error("Import error:",e),e instanceof Error?y.error("Import failed: "+e.message):y.error("Import failed: "+String(e))})}catch(l){console.error("Import error:",l),l instanceof Error?y.error("Import failed: "+l.message):y.error("Import failed: "+String(l))}}function N(){r.value.args.push("")}function Q(l){r.value.args.splice(l,1)}function v(){n.value.push({key:"",value:""})}function A(l){n.value.splice(l,1)}function oe(){i.value.push({key:"",value:""})}function se(l){i.value.splice(l,1)}function R(){z.value=!1,re()}function re(){r.value={transport:"stdio",name:"",command:"",args:[],url:"",timeout:60,autoStart:!0},n.value=[],i.value=[],T.value=ee,M.value=`{
19
+ "mcpServers": {
20
+ "server1": {
21
+ "command": "npx @anthropic-ai/mcp",
22
+ "args": ["--model", "claude-3-opus-20250620"],
23
+ "enabled": true
24
+ },
25
+ "server2": {
26
+ "type": "streamable-http",
27
+ "url": "http://localhost:3000",
28
+ "headers": { "Authorization": "Bearer token" },
29
+ "enabled": true
30
+ }
31
+ }
32
+ }`,J.value={success:[],errors:[]},U.value=!1,I.value=!1,V.value=!1}const O=C(!1);async function ne(){if(O.value)return;O.value=!0;const l=n.value.reduce((m,p)=>(p.key&&(m[p.key]=p.value),m),{}),e=i.value.reduce((m,p)=>(p.key&&(m[p.key]=p.value),m),{});try{await E.addServer({name:r.value.name||"Unnamed Server",status:"offline",type:r.value.transport==="stdio"?"local":"remote",config:{type:r.value.transport,command:r.value.command,args:r.value.args.filter(m=>m),url:r.value.url,timeout:r.value.timeout*1e3,enabled:r.value.autoStart,allowedTools:[],env:l,headers:Object.keys(e).length>0?e:void 0},logs:[]}),y.success($("action.serverAdded")),R()}catch(m){m instanceof Error?y.error(m.message||$("error.addServerFailed")):y.error($("error.addServerFailed"))}finally{O.value=!1}}return(l,e)=>{const m=je,p=Me,b=te,de=Be,ie=Pe,ue=Te,q=Ee,Z=Re;return u(),L(q,{modelValue:z.value,"onUpdate:modelValue":e[18]||(e[18]=s=>z.value=s),title:l.$t("addServer.title"),width:"600px",class:"custom-dialog","before-close":R,"append-to-body":"","align-center":""},{footer:a(()=>[o("div",el,[o("div",ll,[t(b,{onClick:e[8]||(e[8]=s=>U.value=!0)},{default:a(()=>[g(d(l.$t("addServer.byJson")),1)]),_:1}),t(b,{onClick:e[9]||(e[9]=s=>I.value=!0)},{default:a(()=>[g(d(l.$t("addServer.importBatch")),1)]),_:1})]),o("div",null,[t(b,{onClick:R,disabled:O.value},{default:a(()=>[g(d(l.$t("action.cancel")),1)]),_:1},8,["disabled"]),t(b,{type:"primary",onClick:ne,loading:O.value},{default:a(()=>[g(d(l.$t("action.create")),1)]),_:1},8,["loading"])])])]),default:a(()=>[t(ue,{model:r.value,"label-position":"top"},{default:a(()=>[t(m,{label:l.$t("addServer.transportType")},{default:a(()=>[o("div",qe,[o("div",{class:B(["flex-1 p-4 border rounded-lg cursor-pointer text-center transition-all",r.value.transport==="stdio"?"border-blue-500 bg-blue-900/20":"border-gray-600 hover:border-gray-500"]),onClick:e[0]||(e[0]=s=>r.value.transport="stdio")},[e[19]||(e[19]=o("div",{class:"font-bold mb-1"},"stdio",-1)),o("div",Ke," ("+d(l.$t("serverDetail.config.transportStdio"))+") ",1)],2),o("div",{class:B(["flex-1 p-4 border rounded-lg cursor-pointer text-center transition-all",r.value.transport==="sse"?"border-blue-500 bg-blue-900/20":"border-gray-600 hover:border-gray-500"]),onClick:e[1]||(e[1]=s=>r.value.transport="sse")},[e[20]||(e[20]=o("div",{class:"font-bold mb-1"},"SSE",-1)),o("div",Qe,"("+d(l.$t("serverDetail.config.transportSse"))+")",1)],2),o("div",{class:B(["flex-1 p-4 border rounded-lg cursor-pointer text-center transition-all",r.value.transport==="streamable-http"?"border-blue-500 bg-blue-900/20":"border-gray-600 hover:border-gray-500"]),onClick:e[2]||(e[2]=s=>r.value.transport="streamable-http")},[e[21]||(e[21]=o("div",{class:"font-bold mb-1"},"Streamable HTTP",-1)),o("div",We,"("+d(l.$t("serverDetail.config.transportHttp"))+")",1)],2)])]),_:1},8,["label"]),t(m,{label:l.$t("addServer.name")},{default:a(()=>[t(p,{modelValue:r.value.name,"onUpdate:modelValue":e[3]||(e[3]=s=>r.value.name=s),placeholder:l.$t("addServer.namePlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),r.value.transport==="stdio"?(u(),f(j,{key:0},[t(m,{label:l.$t("serverDetail.config.executable")},{default:a(()=>[t(p,{modelValue:r.value.command,"onUpdate:modelValue":e[4]||(e[4]=s=>r.value.command=s),placeholder:l.$t("addServer.executablePlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),t(m,{label:l.$t("serverDetail.config.args")},{default:a(()=>[o("div",Xe,[(u(!0),f(j,null,H(r.value.args,(s,_)=>(u(),f("div",{key:_,class:"flex gap-2 w-full"},[t(p,{modelValue:r.value.args[_],"onUpdate:modelValue":w=>r.value.args[_]=w,placeholder:l.$t("addServer.argPlaceholder")},null,8,["modelValue","onUpdate:modelValue","placeholder"]),t(b,{icon:c(W),circle:"",plain:"",onClick:w=>Q(_)},null,8,["icon","onClick"])]))),128)),o("div",null,[t(b,{icon:c(G),plain:"",size:"small",onClick:N},{default:a(()=>[g("+ "+d(l.$t("serverDetail.config.addArg")),1)]),_:1},8,["icon"])])])]),_:1},8,["label"])],64)):(u(),L(m,{key:1,label:l.$t("serverDetail.config.url")},{default:a(()=>[t(p,{modelValue:r.value.url,"onUpdate:modelValue":e[5]||(e[5]=s=>r.value.url=s),placeholder:l.$t("addServer.urlPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])),t(m,{label:l.$t("serverDetail.config.timeout")},{default:a(()=>[t(de,{modelValue:r.value.timeout,"onUpdate:modelValue":e[6]||(e[6]=s=>r.value.timeout=s),min:0,step:10},null,8,["modelValue"])]),_:1},8,["label"]),t(m,{label:l.$t("serverDetail.config.autoStart")},{default:a(()=>[t(ie,{modelValue:r.value.autoStart,"onUpdate:modelValue":e[7]||(e[7]=s=>r.value.autoStart=s)},null,8,["modelValue"])]),_:1},8,["label"]),t(m,{label:l.$t("serverDetail.config.env")},{default:a(()=>[o("div",Ye,[(u(!0),f(j,null,H(n.value,(s,_)=>(u(),f("div",{key:_,class:"flex gap-2 w-full",style:{display:"flex",gap:"0.5rem",width:"100%"}},[t(p,{modelValue:s.key,"onUpdate:modelValue":w=>s.key=w,placeholder:l.$t("addServer.keyPlaceholder"),style:{width:"30%","min-width":"150px"}},null,8,["modelValue","onUpdate:modelValue","placeholder"]),t(p,{modelValue:s.value,"onUpdate:modelValue":w=>s.value=w,placeholder:l.$t("addServer.valuePlaceholder"),style:{flex:"1"}},null,8,["modelValue","onUpdate:modelValue","placeholder"]),t(b,{icon:c(W),circle:"",plain:"",onClick:w=>A(_)},null,8,["icon","onClick"])]))),128)),o("div",null,[t(b,{icon:c(G),plain:"",size:"small",onClick:v},{default:a(()=>[g("+ "+d(l.$t("serverDetail.config.addEnv")),1)]),_:1},8,["icon"])])])]),_:1},8,["label"]),r.value.transport!=="stdio"?(u(),L(m,{key:2,label:"Headers"},{default:a(()=>[o("div",Ze,[(u(!0),f(j,null,H(i.value,(s,_)=>(u(),f("div",{key:_,class:"flex gap-2 w-full",style:{display:"flex",gap:"0.5rem",width:"100%"}},[t(p,{modelValue:s.key,"onUpdate:modelValue":w=>s.key=w,placeholder:l.$t("addServer.keyPlaceholder"),style:{width:"30%","min-width":"150px"}},null,8,["modelValue","onUpdate:modelValue","placeholder"]),t(p,{modelValue:s.value,"onUpdate:modelValue":w=>s.value=w,placeholder:l.$t("addServer.valuePlaceholder"),style:{flex:"1"}},null,8,["modelValue","onUpdate:modelValue","placeholder"]),t(b,{icon:c(W),circle:"",plain:"",onClick:w=>se(_)},null,8,["icon","onClick"])]))),128)),o("div",null,[t(b,{icon:c(G),plain:"",size:"small",onClick:oe},{default:a(()=>[g("+ "+d(l.$t("serverDetail.config.addEnv")),1)]),_:1},8,["icon"])])])]),_:1})):P("",!0)]),_:1},8,["model"]),t(q,{modelValue:U.value,"onUpdate:modelValue":e[12]||(e[12]=s=>U.value=s),title:l.$t("addServer.byJson"),width:"500px","append-to-body":"",class:"custom-dialog"},{footer:a(()=>[t(b,{onClick:e[11]||(e[11]=s=>U.value=!1)},{default:a(()=>[g(d(l.$t("action.cancel")),1)]),_:1}),t(b,{type:"primary",onClick:D},{default:a(()=>[g(d(l.$t("action.save")),1)]),_:1})]),default:a(()=>[t(p,{modelValue:T.value,"onUpdate:modelValue":e[10]||(e[10]=s=>T.value=s),type:"textarea",rows:10,placeholder:'{ "mcpServers": { "name": { "command": "...", ... } } }'},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),t(q,{modelValue:I.value,"onUpdate:modelValue":e[15]||(e[15]=s=>I.value=s),title:l.$t("addServer.batchImportTitle"),width:"600px","append-to-body":"",class:"custom-dialog"},{footer:a(()=>[t(b,{onClick:e[14]||(e[14]=s=>I.value=!1)},{default:a(()=>[g(d(l.$t("action.cancel")),1)]),_:1}),t(b,{type:"primary",onClick:S,loading:O.value},{default:a(()=>[g(d(l.$t("addServer.importAll")),1)]),_:1},8,["loading"])]),default:a(()=>[t(p,{modelValue:M.value,"onUpdate:modelValue":e[13]||(e[13]=s=>M.value=s),type:"textarea",rows:12,placeholder:'{ "mcpServers": { "server1": { "command": "npx @anthropic-ai/mcp", "args": ["--model", "claude-3-opus-20250620"] }, "server2": { "url": "http://localhost:3000", "headers": { "Authorization": "Bearer token" } } } }'},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),t(q,{modelValue:V.value,"onUpdate:modelValue":e[17]||(e[17]=s=>V.value=s),title:l.$t("addServer.batchImportTitle"),width:"600px","append-to-body":"",class:"custom-dialog"},{footer:a(()=>[t(b,{onClick:e[16]||(e[16]=s=>V.value=!1)},{default:a(()=>[...e[22]||(e[22]=[g("Close",-1)])]),_:1})]),default:a(()=>[J.value.success.length>0?(u(),f("div",tl,[o("h4",al,d(l.$t("action.serverAdded")),1),t(Z,{class:"mb-4"},{header:a(()=>[o("div",ol,[o("span",null,d(l.$t("action.serverAdded")),1)])]),default:a(()=>[o("div",sl,[(u(!0),f(j,null,H(J.value.success,s=>(u(),f("div",{key:s.id,class:"p-2 bg-green-50 dark:bg-green-900/20 rounded"},d(s.name),1))),128))])]),_:1})])):P("",!0),J.value.errors.length>0?(u(),f("div",rl,[o("h4",nl,d(l.$t("error.addServerFailed")),1),t(Z,{class:"mb-4"},{header:a(()=>[o("div",dl,[o("span",null,d(l.$t("error.addServerFailed")),1)])]),default:a(()=>[o("div",il,[(u(!0),f(j,null,H(J.value.errors,(s,_)=>(u(),f("div",{key:_,class:"p-2 bg-red-50 dark:bg-red-900/20 rounded"},[o("div",ul,d(s.name),1),o("div",cl,d(s.error),1)]))),128))])]),_:1})])):P("",!0)]),_:1},8,["modelValue","title"])]),_:1},8,["modelValue","title"])}}}),pl={class:"server-list-view py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full h-full flex flex-col overflow-hidden bg-gray-50 dark:bg-[#0f172a] transition-colors duration-300"},vl={class:"flex items-center justify-between mb-6 shrink-0"},fl={class:"text-2xl font-semibold text-gray-900 dark:text-white"},gl={class:"flex gap-2"},yl={key:0,class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"},bl={class:"p-6 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-[#1e293b] h-48"},hl={class:"flex items-center gap-3 mb-4"},$l={class:"flex-1"},kl={key:1,class:"flex flex-col items-center justify-center flex-1 text-gray-400 dark:text-gray-500"},Sl={class:"text-xl font-medium mb-2"},_l={key:2,class:"overflow-y-auto flex-1 custom-scrollbar"},wl={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pb-6 pr-2"},Cl=["onClick"],Vl={class:"flex flex-col gap-2 mb-4"},xl={class:"flex items-center justify-between"},El=["title"],Ul={class:"flex gap-1 shrink-0"},Il={class:"text-xs"},Dl={class:"text-xs"},Al={class:"text-xs"},zl={class:"grid grid-cols-2 xl:grid-cols-4 gap-2 pt-4 border-t border-gray-100 dark:border-gray-700/50 mt-auto"},Jl=Y({__name:"ServerListView",setup(K){const k=le(),x=ye(),h=Fe(),{t:$}=ae(),E=C(!1),z=C("form");async function U(){try{const n=k.servers.map(i=>({name:i.name,config:i.config}));await x.updateConfig({servers:n.reduce((i,D)=>(i[D.name]=D.config,i),{})}),y.success($("action.saveSuccess"))}catch(n){y.error(n.message||$("error.saveFailed"))}}Je(()=>{k.fetchServers()});function I(n){z.value=n,E.value=!0}function V(n,i){k.selectServer(n),h.push({name:"dashboard",query:{tab:i}})}function T(n){n.status==="online"?V(n.id,"logs"):V(n.id,"config")}async function M(n){try{await k.startServer(n.id),y.success($("action.started"))}catch(i){y.error(i.message||$("error.connectionFailed"))}}async function J(n){try{await k.stopServer(n.id),y.success($("action.stopped"))}catch(i){y.error(i.message||$("error.connectionFailed"))}}async function r(n){try{await k.stopServer(n.id),await k.startServer(n.id),y.success($("action.restarted"))}catch(i){y.error(i.message||$("error.connectionFailed"))}}return(n,i)=>{const D=be,S=te,N=Ie,Q=Ue;return u(),f("div",pl,[o("div",vl,[o("h2",fl,d(n.$t("sidebar.servers")),1),o("div",gl,[t(S,{type:"success",onClick:U},{default:a(()=>[t(D,{class:"mr-2"},{default:a(()=>[t(c(he))]),_:1}),g(" "+d(n.$t("action.save")),1)]),_:1}),t(S,{type:"primary",onClick:i[0]||(i[0]=v=>I("form"))},{default:a(()=>[t(D,{class:"mr-2"},{default:a(()=>[t(c(G))]),_:1}),g(" "+d(n.$t("sidebar.addServer")),1)]),_:1})])]),c(k).loading&&c(k).servers.length===0?(u(),f("div",yl,[t(Q,{animated:"",count:3,class:"w-full h-full"},{template:a(()=>[o("div",bl,[o("div",hl,[t(N,{variant:"circle",style:{width:"40px",height:"40px"}}),o("div",$l,[t(N,{variant:"text",style:{width:"60%"},class:"mb-2"}),t(N,{variant:"text",style:{width:"30%"}})])]),t(N,{variant:"rect",style:{height:"60px"}})])]),_:1})])):c(k).servers.length===0?(u(),f("div",kl,[t(D,{size:64,class:"mb-4 opacity-50"},{default:a(()=>[t(c($e))]),_:1}),o("h3",Sl,d(n.$t("serverDetail.noServerSelected")),1),i[3]||(i[3]=o("p",{class:"mb-6"},'Click "Add New Server" to get started.',-1)),t(S,{type:"primary",onClick:i[1]||(i[1]=v=>I("form"))},{default:a(()=>[t(D,{class:"mr-2"},{default:a(()=>[t(c(G))]),_:1}),g(" "+d(n.$t("sidebar.addServer")),1)]),_:1})])):(u(),f("div",_l,[o("div",wl,[(u(!0),f(j,null,H(c(k).servers,v=>(u(),f("div",{key:v.id,class:"server-card bg-white dark:bg-[#1e293b] rounded-xl border border-gray-200 dark:border-gray-700 p-6 shadow-sm hover:shadow-md transition-all duration-300 flex flex-col h-full cursor-pointer",onClick:A=>T(v)},[o("div",Vl,[o("div",xl,[o("h3",{class:"font-bold text-gray-900 dark:text-white truncate text-lg mr-2",title:v.name},d(v.name),9,El),o("div",Ul,[v.status==="online"?(u(),L(S,{key:0,type:"danger",plain:"",size:"small",icon:c(ke),onClick:F(A=>J(v),["stop"]),class:"!p-1 !h-8",title:n.$t("action.stop")},{default:a(()=>[o("span",Il,d(n.$t("action.stop")),1)]),_:1},8,["icon","onClick","title"])):v.status==="offline"?(u(),L(S,{key:1,type:"success",plain:"",size:"small",icon:c(Se),onClick:F(A=>M(v),["stop"]),class:"!p-1 !h-8",title:n.$t("action.start")},{default:a(()=>[o("span",Dl,d(n.$t("action.start")),1)]),_:1},8,["icon","onClick","title"])):P("",!0),v.status==="online"?(u(),L(S,{key:2,plain:"",size:"small",icon:c(_e),onClick:F(A=>r(v),["stop"]),class:"!p-1 !h-8",title:n.$t("action.restart")},{default:a(()=>[o("span",Al,d(n.$t("action.restart")),1)]),_:1},8,["icon","onClick","title"])):P("",!0)])]),t(Ne,{server:v,"include-uptime":!1},null,8,["server"])]),o("div",zl,[t(S,{plain:"",size:"small",icon:c(we),onClick:F(A=>V(v.id,"config"),["stop"]),class:"!w-full !ml-0"},{default:a(()=>[g(d(n.$t("action.configure")),1)]),_:1},8,["icon","onClick"]),t(S,{plain:"",size:"small",icon:c(Ce),onClick:F(A=>V(v.id,"logs"),["stop"]),class:"!w-full !ml-0"},{default:a(()=>[g(d(n.$t("serverDetail.tabs.logs")),1)]),_:1},8,["icon","onClick"]),t(S,{plain:"",size:"small",icon:c(Ve),onClick:F(A=>V(v.id,"tools"),["stop"]),class:"!w-full !ml-0"},{default:a(()=>[g(d(n.$t("serverDetail.tabs.tools"))+" ("+d(v.toolsCount||0)+") ",1)]),_:2},1032,["icon","onClick"]),t(S,{plain:"",size:"small",icon:c(xe),onClick:F(A=>V(v.id,"resources"),["stop"]),class:"!w-full !ml-0"},{default:a(()=>[g(d(n.$t("serverDetail.tabs.resources"))+" ("+d(v.resourcesCount||0)+") ",1)]),_:2},1032,["icon","onClick"])])],8,Cl))),128))])])),t(ml,{modelValue:E.value,"onUpdate:modelValue":i[2]||(i[2]=v=>E.value=v),"initial-mode":z.value},null,8,["modelValue","initial-mode"])])}}}),ql=Oe(Jl,[["__scopeId","data-v-540a79a1"]]);export{ql as default};
@@ -0,0 +1 @@
1
+ import{af as A,c as V}from"./index-CCnAxNF8.js";import{v as k}from"./el-loading-H85n3BUC.js";import{a as C,b as S}from"./el-table-column-CASRIbZM.js";import{E as T}from"./el-tag-npbwux4f.js";import{t as j,f as E,A as f,C as r,O as s,$ as n,G as l,H as N,u as b,x as h,a9 as d,U as B,P as D,ak as L,y as a}from"./vue-vendor-6ny5zj9i.js";import"./_baseClone-5q1b0P3O.js";import"./omit-DPsOVNIJ.js";import"./event-BB_Ol6Sd.js";import"./raf-DY5mgbuB.js";const I={class:"sessions-view py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full h-full flex flex-col overflow-hidden transition-colors duration-300"},M={class:"flex justify-between items-center mb-6 shrink-0"},O={class:"text-2xl font-semibold text-gray-900 dark:text-white"},z={class:"bg-white dark:bg-[#1e293b] rounded-xl border border-gray-200 dark:border-gray-700 shadow-sm flex-1 overflow-hidden flex flex-col"},F={class:"flex flex-wrap gap-1"},G={key:0,class:"text-gray-400 text-sm"},Y=j({__name:"SessionsView",setup(H){const i=A(),w={tools:"success",resources:"info",prompts:"warning",logging:"info",roots:"primary",experimental:"danger"};function _(e){return w[e]||"info"}function m(e){return!e||typeof e!="object"?[]:Object.keys(e).filter(c=>e[c]&&typeof e[c]=="object")}function g(){i.fetchSessions()}function u(e){return e?new Date(e).toLocaleString():"-"}return E(()=>{i.fetchSessions()}),(e,c)=>{const y=V,t=S,x=T,v=C,$=k;return a(),f("div",I,[r("div",M,[r("h2",O,n(e.$t("sessions.title")),1),s(y,{type:"primary",onClick:g},{default:l(()=>[d(n(e.$t("sessions.refresh")),1)]),_:1})]),r("div",z,[N((a(),h(v,{data:b(i).sessions,style:{width:"100%"},height:"100%",class:"flex-1"},{default:l(()=>[s(t,{prop:"sessionId",label:e.$t("sessions.sessionId"),"min-width":"300","show-overflow-tooltip":""},null,8,["label"]),s(t,{prop:"clientName",label:e.$t("sessions.clientName"),"min-width":"120"},null,8,["label"]),s(t,{prop:"clientVersion",label:e.$t("sessions.clientVersion"),"min-width":"100"},null,8,["label"]),s(t,{prop:"protocolVersion",label:e.$t("sessions.protocolVersion"),"min-width":"120"},null,8,["label"]),s(t,{label:e.$t("sessions.capabilities"),"min-width":"200"},{default:l(o=>[r("div",F,[(a(!0),f(D,null,L(m(o.row.capabilities),p=>(a(),h(x,{key:p,size:"small",type:_(p),effect:"plain"},{default:l(()=>[d(n(p),1)]),_:2},1032,["type"]))),128)),m(o.row.capabilities).length===0?(a(),f("span",G," - ")):B("",!0)])]),_:1},8,["label"]),s(t,{prop:"cwd",label:e.$t("sessions.cwd"),"min-width":"200","show-overflow-tooltip":""},null,8,["label"]),s(t,{prop:"project",label:e.$t("sessions.project"),"min-width":"150"},null,8,["label"]),s(t,{prop:"userAgent",label:e.$t("sessions.userAgent"),"min-width":"250","show-overflow-tooltip":""},null,8,["label"]),s(t,{label:e.$t("sessions.createdAt"),width:"180"},{default:l(o=>[d(n(u(o.row.createdAt)),1)]),_:1},8,["label"]),s(t,{label:e.$t("sessions.lastAccessedAt"),width:"180"},{default:l(o=>[d(n(u(o.row.lastAccessedAt)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[$,b(i).loading]])])])}}});export{Y as default};
@@ -0,0 +1 @@
1
+ import{K as z,c as K,a as X,aW as Y,aX as J,aY as Q,aZ as ee,y as te,C as le,a_ as se}from"./index-CCnAxNF8.js";import{v as ae}from"./el-loading-H85n3BUC.js";import{E as ne,a as oe}from"./el-tab-pane-C_DQMcwe.js";import{E as ue,a as ie,b as me,c as de}from"./el-form-item-ClFnj49k.js";import"./el-tag-npbwux4f.js";import{E as re,a as ge}from"./el-select-DvjGddk_.js";import{E as ce}from"./el-input-CDnuSKVZ.js";import{t as pe,a6 as fe,aq as ve,r as b,c as w,w as T,f as ye,A as E,C as n,H as be,O as l,$ as g,G as o,u,a9 as Ve,x as S,U as P,P as R,ak as he,y}from"./vue-vendor-6ny5zj9i.js";import{E as L}from"./index-d1DZeSfz.js";import"./raf-DY5mgbuB.js";import"./typescript-Bp3YSIOJ.js";import"./event-BB_Ol6Sd.js";import"./vnode-CHomNjgN.js";import"./omit-DPsOVNIJ.js";import"./_baseClone-5q1b0P3O.js";const _e={class:"h-full w-full overflow-y-auto"},xe={class:"py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full"},we={class:"mb-6 flex items-center justify-between"},$e={class:"text-2xl font-bold text-gray-900 dark:text-white"},ke={class:"pb-10"},Ue={class:"flex items-center gap-2"},Ce={class:"pt-4"},Te={class:"flex flex-col gap-2"},Ee={class:"flex items-center my-4"},Ne={class:"text-sm font-medium text-gray-900 dark:text-gray-100 mr-4"},Ie={class:"flex items-center gap-2"},De={class:"flex items-center gap-2"},Fe={class:"flex items-center gap-2"},Me={class:"flex items-center gap-2"},Se={class:"pt-4"},Pe={class:"flex items-center my-4"},Ae={class:"text-sm font-medium text-gray-900 dark:text-gray-100 mr-4"},Be={class:"flex items-center gap-2"},Oe={class:"pt-4"},Re={class:"text-xs text-gray-500 mt-1"},Le={class:"space-y-4"},je={class:"flex items-center gap-4"},Ge={class:"w-[260px] text-sm font-medium text-gray-700 dark:text-gray-300"},He={class:"flex items-center gap-4"},We={class:"w-[260px] text-sm font-medium text-gray-700 dark:text-gray-300"},Ze={class:"flex items-center gap-4"},qe={class:"w-[260px] text-sm font-medium text-gray-700 dark:text-gray-300"},ze={class:"flex items-center gap-2"},Ke={class:"flex items-center gap-4"},Xe={class:"w-[260px] text-sm font-medium text-gray-700 dark:text-gray-300"},Ye={class:"flex items-center gap-2"},Je={class:"flex items-center gap-4"},Qe={class:"w-[260px] text-sm font-medium text-gray-700 dark:text-gray-300"},et={class:"flex items-center gap-2"},tt={class:"flex items-center gap-4"},lt={class:"w-[260px] text-sm font-medium text-gray-700 dark:text-gray-300"},st={class:"flex items-center gap-2"},ht=pe({__name:"SettingsView",setup(at){const{t:A}=fe(),N=z(),{config:s,loading:j}=ve(N),I=b(!1),B=b("system"),d={seconds:1,minutes:60,hours:3600,days:86400},G=["days","hours","minutes","seconds"],c=e=>{for(const t of G){const m=d[t];if(e>=m)return t}return"seconds"},O=w({get:()=>{const e=s.value?.system?.logging?.rotationAge||"7d",t=parseInt(e.replace(/[^\d]/g,""))||7;return Number(Math.round(t))},set:e=>{s.value?.system?.logging&&e!==void 0&&e!==null&&(s.value.system.logging.rotationAge=`${e}d`)}}),V=b(c((s.value?.security?.connectionTimeout||3e4)/1e3)),$=w({get:()=>{const t=(s.value?.security?.connectionTimeout||3e4)/1e3,m=c(t),r=t/d[m];return Number(Math.round(r))},set:e=>{s.value?.security&&e!==void 0&&e!==null&&(s.value.security.connectionTimeout=Number(e)*d[V.value]*1e3)}}),h=b(c((s.value?.security?.idleConnectionTimeout||3e5)/1e3)),k=w({get:()=>{const t=(s.value?.security?.idleConnectionTimeout||3e5)/1e3,m=c(t),r=t/d[m];return Number(Math.round(r))},set:e=>{s.value?.security&&e!==void 0&&e!==null&&(s.value.security.idleConnectionTimeout=Number(e)*d[h.value]*1e3)}}),_=b(c((s.value?.security?.sessionTimeout||1800*1e3)/1e3)),U=w({get:()=>{const t=(s.value?.security?.sessionTimeout||18e5)/1e3,m=c(t),r=t/d[m];return Number(Math.round(r))},set:e=>{s.value?.security&&e!==void 0&&e!==null&&(s.value.security.sessionTimeout=Number(e)*d[_.value]*1e3)}}),x=b(c((s.value?.security?.sessionFlushInterval||900*1e3)/1e3)),C=w({get:()=>{const t=(s.value?.security?.sessionFlushInterval||9e5)/1e3,m=c(t),r=t/d[m];return Number(Math.round(r))},set:e=>{s.value?.security&&e!==void 0&&e!==null&&(s.value.security.sessionFlushInterval=Number(e)*d[x.value]*1e3)}});T(V,(e,t)=>{if(t&&e!==t){const m=d[e]/d[t],r=$.value;$.value=Math.round(r/m)}}),T(h,(e,t)=>{if(t&&e!==t){const m=d[e]/d[t],r=k.value;k.value=Math.round(r/m)}}),T(_,(e,t)=>{if(t&&e!==t){const m=d[e]/d[t],r=U.value;U.value=Math.round(r/m)}}),T(x,(e,t)=>{if(t&&e!==t){const m=d[e]/d[t],r=C.value;C.value=Math.round(r/m)}}),ye(async()=>{s.value.host||await N.fetchConfig(),s.value?.security&&(V.value=c((s.value.security.connectionTimeout||3e4)/1e3),h.value=c((s.value.security.idleConnectionTimeout||3e5)/1e3),_.value=c((s.value.security.sessionTimeout||1800*1e3)/1e3),x.value=c((s.value.security.sessionFlushInterval||900*1e3)/1e3))});async function H(){I.value=!0;try{await N.updateConfig(s.value),L.success(A("settings.saveSuccess"))}catch(e){L.error(A("settings.saveError")+": "+e.message)}finally{I.value=!1}}return(e,t)=>{const m=X,r=K,W=ce,p=ie,f=me,i=ge,v=re,D=ue,F=oe,M=de,Z=ne,q=ae;return y(),E("div",_e,[n("div",xe,[n("div",we,[n("h1",$e,g(e.$t("settings.title")),1),l(r,{type:"primary",onClick:H,loading:I.value},{default:o(()=>[l(m,{class:"mr-1"},{default:o(()=>[l(u(Y))]),_:1}),Ve(" "+g(e.$t("settings.save")),1)]),_:1},8,["loading"])]),be((y(),E("div",ke,[l(Z,{modelValue:B.value,"onUpdate:modelValue":t[20]||(t[20]=a=>B.value=a),class:"demo-tabs"},{default:o(()=>[l(F,{name:"system"},{label:o(()=>[n("span",Ue,[l(m,null,{default:o(()=>[l(u(te))]),_:1}),n("span",null,g(e.$t("settings.systemTab")),1)])]),default:o(()=>[n("div",Ce,[l(D,{model:u(s),"label-position":"left","label-width":"260px"},{default:o(()=>[n("div",Te,[l(p,{label:e.$t("settings.host")},{default:o(()=>[l(W,{modelValue:u(s).system.host,"onUpdate:modelValue":t[0]||(t[0]=a=>u(s).system.host=a),class:"w-[200px]"},null,8,["modelValue"])]),_:1},8,["label"]),l(p,{label:e.$t("settings.port")},{default:o(()=>[l(f,{modelValue:u(s).system.port,"onUpdate:modelValue":t[1]||(t[1]=a=>u(s).system.port=a),min:1,max:65535,class:"w-[200px]"},null,8,["modelValue"])]),_:1},8,["label"])]),n("div",Ee,[n("span",Ne,g(e.$t("settings.appearance")),1),t[21]||(t[21]=n("div",{class:"h-px bg-gray-200 dark:bg-gray-700 flex-1"},null,-1))]),l(p,{label:e.$t("settings.theme")},{default:o(()=>[l(v,{modelValue:u(s).system.theme,"onUpdate:modelValue":t[2]||(t[2]=a=>u(s).system.theme=a),class:"w-[200px]"},{default:o(()=>[l(i,{label:e.$t("settings.themeLight"),value:"light"},{default:o(()=>[n("span",Ie,[l(m,null,{default:o(()=>[l(u(J))]),_:1}),n("span",null,g(e.$t("settings.themeLight")),1)])]),_:1},8,["label"]),l(i,{label:e.$t("settings.themeDark"),value:"dark"},{default:o(()=>[n("span",De,[l(m,null,{default:o(()=>[l(u(Q))]),_:1}),n("span",null,g(e.$t("settings.themeDark")),1)])]),_:1},8,["label"]),l(i,{label:e.$t("settings.themeSystem"),value:"system"},{default:o(()=>[n("span",Fe,[l(m,null,{default:o(()=>[l(u(ee))]),_:1}),n("span",null,g(e.$t("settings.themeSystem")),1)])]),_:1},8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),l(p,{label:e.$t("settings.language")},{default:o(()=>[l(v,{modelValue:u(s).system.language,"onUpdate:modelValue":t[3]||(t[3]=a=>u(s).system.language=a),class:"w-[200px]"},{default:o(()=>[l(i,{label:e.$t("settings.langEn"),value:"en"},null,8,["label"]),l(i,{label:e.$t("settings.langZh"),value:"zh"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"])]),_:1},8,["model"])])]),_:1}),l(F,{name:"logging"},{label:o(()=>[n("span",Me,[l(m,null,{default:o(()=>[l(u(le))]),_:1}),n("span",null,g(e.$t("settings.logging")),1)])]),default:o(()=>[n("div",Se,[u(s).system.logging?(y(),S(D,{key:0,model:u(s).system.logging,"label-position":"left","label-width":"260px"},{default:o(()=>[l(p,{label:e.$t("settings.logLevel")},{default:o(()=>[l(v,{modelValue:u(s).system.logging.level,"onUpdate:modelValue":t[4]||(t[4]=a=>u(s).system.logging.level=a),class:"w-full md:w-64"},{default:o(()=>[l(i,{label:"DEBUG",value:"debug"}),l(i,{label:"INFO",value:"info"}),l(i,{label:"WARN",value:"warn"}),l(i,{label:"ERROR",value:"error"})]),_:1},8,["modelValue"])]),_:1},8,["label"]),l(p,{label:e.$t("settings.maxAge")},{default:o(()=>[l(f,{modelValue:O.value,"onUpdate:modelValue":t[5]||(t[5]=a=>O.value=a),min:1,class:"w-[150px]"},null,8,["modelValue"])]),_:1},8,["label"]),n("div",Pe,[n("span",Ae,g(e.$t("settings.debugOptions")),1),t[22]||(t[22]=n("div",{class:"h-px bg-gray-200 dark:bg-gray-700 flex-1"},null,-1))]),u(s).system.logging.level==="debug"||u(s).isDevMode?(y(),E(R,{key:0},[l(p,{label:e.$t("settings.jsonPretty")},{default:o(()=>[l(M,{modelValue:u(s).system.logging.jsonPretty,"onUpdate:modelValue":t[6]||(t[6]=a=>u(s).system.logging.jsonPretty=a)},null,8,["modelValue"])]),_:1},8,["label"]),l(p,{label:e.$t("settings.mcpCommDebug")},{default:o(()=>[l(M,{modelValue:u(s).system.logging.mcpCommDebug,"onUpdate:modelValue":t[7]||(t[7]=a=>u(s).system.logging.mcpCommDebug=a)},null,8,["modelValue"])]),_:1},8,["label"]),l(p,{label:e.$t("settings.sessionDebug")},{default:o(()=>[l(M,{modelValue:u(s).system.logging.sessionDebug,"onUpdate:modelValue":t[8]||(t[8]=a=>u(s).system.logging.sessionDebug=a)},null,8,["modelValue"])]),_:1},8,["label"])],64)):P("",!0)]),_:1},8,["model"])):P("",!0)])]),_:1}),l(F,{name:"security"},{label:o(()=>[n("span",Be,[l(m,null,{default:o(()=>[l(u(se))]),_:1}),n("span",null,g(e.$t("settings.security")),1)])]),default:o(()=>[n("div",Oe,[u(s).security?(y(),S(D,{key:0,model:u(s).security,"label-position":"left","label-width":"260px"},{default:o(()=>[l(p,{label:e.$t("settings.allowedNetworks")},{default:o(()=>[l(v,{modelValue:u(s).security.allowedNetworks,"onUpdate:modelValue":t[9]||(t[9]=a=>u(s).security.allowedNetworks=a),multiple:"",filterable:"","allow-create":"","default-first-option":"","reserve-keyword":!1,placeholder:"Enter IP CIDR",class:"w-full"},{default:o(()=>[(y(!0),E(R,null,he(u(s).security.allowedNetworks,a=>(y(),S(i,{key:a,label:a,value:a},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n("div",Re,g(e.$t("settings.allowedNetworksHint")),1)]),_:1},8,["label"]),n("div",Le,[n("div",je,[n("span",Ge,g(e.$t("settings.maxConcurrentConnections")),1),l(f,{modelValue:u(s).security.maxConcurrentConnections,"onUpdate:modelValue":t[10]||(t[10]=a=>u(s).security.maxConcurrentConnections=a),min:1,max:1e3,style:{width:"128px","flex-shrink":"0"}},null,8,["modelValue"])]),n("div",He,[n("span",We,g(e.$t("settings.maxConnections")),1),l(f,{modelValue:u(s).security.maxConnections,"onUpdate:modelValue":t[11]||(t[11]=a=>u(s).security.maxConnections=a),min:1,max:1e3,style:{width:"128px","flex-shrink":"0"}},null,8,["modelValue"])]),n("div",Ze,[n("span",qe,g(e.$t("settings.connectionTimeout")),1),n("div",ze,[l(f,{modelValue:$.value,"onUpdate:modelValue":t[12]||(t[12]=a=>$.value=a),min:1,step:1,style:{width:"128px","flex-shrink":"0"}},null,8,["modelValue"]),l(v,{modelValue:V.value,"onUpdate:modelValue":t[13]||(t[13]=a=>V.value=a),style:{width:"128px","flex-shrink":"0"}},{default:o(()=>[l(i,{label:e.$t("settings.timeUnits.seconds"),value:"seconds"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.minutes"),value:"minutes"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.hours"),value:"hours"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.days"),value:"days"},null,8,["label"])]),_:1},8,["modelValue"])])]),n("div",Ke,[n("span",Xe,g(e.$t("settings.idleConnectionTimeout")),1),n("div",Ye,[l(f,{modelValue:k.value,"onUpdate:modelValue":t[14]||(t[14]=a=>k.value=a),min:1,step:1,style:{width:"128px","flex-shrink":"0"}},null,8,["modelValue"]),l(v,{modelValue:h.value,"onUpdate:modelValue":t[15]||(t[15]=a=>h.value=a),style:{width:"128px","flex-shrink":"0"}},{default:o(()=>[l(i,{label:e.$t("settings.timeUnits.seconds"),value:"seconds"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.minutes"),value:"minutes"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.hours"),value:"hours"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.days"),value:"days"},null,8,["label"])]),_:1},8,["modelValue"])])]),n("div",Je,[n("span",Qe,g(e.$t("settings.sessionTimeout")),1),n("div",et,[l(f,{modelValue:U.value,"onUpdate:modelValue":t[16]||(t[16]=a=>U.value=a),min:1,step:1,style:{width:"128px","flex-shrink":"0"}},null,8,["modelValue"]),l(v,{modelValue:_.value,"onUpdate:modelValue":t[17]||(t[17]=a=>_.value=a),style:{width:"128px","flex-shrink":"0"}},{default:o(()=>[l(i,{label:e.$t("settings.timeUnits.seconds"),value:"seconds"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.minutes"),value:"minutes"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.hours"),value:"hours"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.days"),value:"days"},null,8,["label"])]),_:1},8,["modelValue"])])]),n("div",tt,[n("span",lt,g(e.$t("settings.sessionFlushInterval")),1),n("div",st,[l(f,{modelValue:C.value,"onUpdate:modelValue":t[18]||(t[18]=a=>C.value=a),min:1,step:1,style:{width:"128px","flex-shrink":"0"}},null,8,["modelValue"]),l(v,{modelValue:x.value,"onUpdate:modelValue":t[19]||(t[19]=a=>x.value=a),style:{width:"128px","flex-shrink":"0"}},{default:o(()=>[l(i,{label:e.$t("settings.timeUnits.seconds"),value:"seconds"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.minutes"),value:"minutes"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.hours"),value:"hours"},null,8,["label"]),l(i,{label:e.$t("settings.timeUnits.days"),value:"days"},null,8,["label"])]),_:1},8,["modelValue"])])])])]),_:1},8,["model"])):P("",!0)])]),_:1})]),_:1},8,["modelValue"])])),[[q,u(j)]])])])}}});export{ht as default};
@@ -0,0 +1 @@
1
+ .custom-textarea[data-v-b0cc0171] .el-textarea__inner{height:100%}
@@ -0,0 +1 @@
1
+ import{c as H,O as V,S as M}from"./index-CCnAxNF8.js";import{e as P}from"./el-overlay-CzMkXyYy.js";import{E as R}from"./el-input-CDnuSKVZ.js";import"./el-tag-npbwux4f.js";import{a as K,E as Q}from"./el-select-DvjGddk_.js";import{t as W,a6 as X,c as E,r as v,w as $,x as I,u as s,G as y,C as r,A as m,U as k,$ as n,O as _,P as Y,ak as Z,a9 as w,y as i}from"./vue-vendor-6ny5zj9i.js";import{E as C}from"./index-d1DZeSfz.js";import{_ as ee}from"./_plugin-vue_export-helper-DlAUqK2U.js";const te={class:"flex flex-col h-[60vh]"},le={key:0,class:"mb-4 text-gray-600 dark:text-gray-400 bg-gray-50 dark:bg-gray-800/50 p-3 rounded-lg border border-gray-100 dark:border-gray-700/50 max-h-32 overflow-y-auto"},ae={key:1,class:"mb-4 flex items-center"},oe={class:"font-medium text-gray-700 dark:text-gray-300 mr-2 whitespace-nowrap"},se={class:"flex-1 flex gap-4 min-h-0"},re={class:"flex-1 flex flex-col min-w-0"},ne={class:"flex justify-between items-center mb-2"},ie={class:"font-medium text-gray-700 dark:text-gray-300"},ce={class:"flex-1 flex flex-col min-w-0 border-l border-gray-200 dark:border-gray-700 pl-4"},ue={class:"flex justify-between items-center mb-2"},de={class:"font-medium text-gray-700 dark:text-gray-300"},me={class:"flex-1 overflow-auto bg-gray-50 dark:bg-[#0f172a] rounded-lg border border-gray-200 dark:border-gray-700 p-4 font-mono text-sm"},pe={key:0,class:"whitespace-pre-wrap break-words text-gray-600 dark:text-gray-400"},fe={key:1,class:"whitespace-pre-wrap break-words text-green-600 dark:text-green-400"},ge={key:2,class:"whitespace-pre-wrap break-words text-red-600 dark:text-red-400"},ve={key:3,class:"whitespace-pre-wrap break-words text-gray-600 dark:text-gray-400"},ye={class:"flex justify-between items-center"},he={class:"text-xs text-gray-500"},xe={key:0},_e={class:"flex gap-2"},be=W({__name:"ToolCallDialog",props:{modelValue:{type:Boolean},serverName:{},toolName:{},description:{},inputSchema:{}},emits:["update:modelValue"],setup(h,{emit:j}){const{t:l}=X(),a=h,A=j,N=E({get:()=>a.modelValue,set:e=>A("update:modelValue",e)}),x=v("{}"),p=v(null),c=v(null),b=v(!1),f=v(!1),S=v([]),g=v(null),J=E(()=>a.inputSchema?JSON.stringify(a.inputSchema,null,2):"{}"),O=async()=>{if(a.serverName)try{const e=await V.get(`/web/server-instances/${a.serverName}`),t=Array.isArray(e)?e:[];S.value=t,t.length>0&&(g.value=t[0].id)}catch(e){console.error("Failed to fetch server instances:",e),S.value=[],g.value=null}};$(()=>a.serverName,()=>{O()}),$(()=>a.modelValue,e=>{if(e){const t=B(a.inputSchema);x.value=JSON.stringify(t,null,2),p.value=null,c.value=null,O()}},{immediate:!0});function B(e){if(!e||!e.properties)return{};const t={};for(const[d,D]of Object.entries(e.properties)){const o=D;o.default!==void 0?t[d]=o.default:o.type==="string"?t[d]="":o.type==="number"||o.type==="integer"?t[d]=0:o.type==="boolean"?t[d]=!1:o.type==="array"?t[d]=[]:o.type==="object"?t[d]={}:t[d]=null}return t}function T(){try{const e=JSON.parse(x.value);x.value=JSON.stringify(e,null,2)}catch{C.warning(l("toolCallDialog.invalidJson"))}}function z(){f.value=!f.value}function F(e){return`${e.id}`}function U(){console.log("Selected instance:",g.value)}async function L(){try{let e;try{e=JSON.parse(x.value)}catch{C.error(l("toolCallDialog.invalidJsonArguments"));return}b.value=!0,p.value=null,c.value=null,f.value=!1;let t;a.serverName&&a.serverName!=="mcp-hub-lite"?t=await V.post(`/web/hub-tools/servers/${a.serverName}/tools/${a.toolName}/call`,{toolArgs:e,requestOptions:g.value?{sessionId:g.value}:void 0}):t=await V.post(`/web/hub-tools/system/${a.toolName}/call`,{toolArgs:e}),p.value=JSON.stringify(t,null,2),C.success(l("toolCallDialog.executionSuccessful"))}catch(e){console.error("Tool execution failed:",e),e instanceof Error?c.value=e.message||String(e):c.value=String(e),e instanceof M&&e.data?c.value=typeof e.data=="string"?e.data:JSON.stringify(e.data,null,2):typeof e=="object"&&e!==null&&"response"in e&&e.response?.data&&(c.value=JSON.stringify(e.response.data,null,2)),C.error(l("toolCallDialog.executionFailed"))}finally{b.value=!1}}return(e,t)=>{const d=K,D=Q,o=H,q=R,G=P;return i(),I(G,{modelValue:N.value,"onUpdate:modelValue":t[3]||(t[3]=u=>N.value=u),title:s(l)("toolCallDialog.title",{toolName:h.toolName}),width:"800px",class:"tool-call-dialog","destroy-on-close":""},{footer:y(()=>[r("div",ye,[r("div",he,[b.value?(i(),m("span",xe,n(s(l)("toolCallDialog.executing")),1)):k("",!0)]),r("div",_e,[_(o,{onClick:t[2]||(t[2]=u=>N.value=!1)},{default:y(()=>[w(n(s(l)("action.cancel")),1)]),_:1}),_(o,{type:"primary",loading:b.value,onClick:L},{default:y(()=>[w(n(s(l)("toolCallDialog.execute")),1)]),_:1},8,["loading"])])])]),default:y(()=>[r("div",te,[h.description?(i(),m("div",le,n(h.description),1)):k("",!0),h.serverName&&h.serverName!=="mcp-hub-lite"?(i(),m("div",ae,[r("span",oe,n(s(l)("toolCallDialog.instance")),1),_(D,{modelValue:g.value,"onUpdate:modelValue":t[0]||(t[0]=u=>g.value=u),placeholder:s(l)("toolCallDialog.selectInstance"),size:"small",class:"flex-1",onChange:U},{default:y(()=>[(i(!0),m(Y,null,Z(S.value,u=>(i(),I(d,{key:u.id,label:F(u),value:u.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])):k("",!0),r("div",se,[r("div",re,[r("div",ne,[r("span",ie,n(s(l)("toolCallDialog.arguments")),1),_(o,{link:"",type:"primary",size:"small",onClick:T},{default:y(()=>[w(n(s(l)("toolCallDialog.formatJson")),1)]),_:1})]),_(q,{modelValue:x.value,"onUpdate:modelValue":t[1]||(t[1]=u=>x.value=u),type:"textarea",class:"flex-1 font-mono custom-textarea","input-style":{height:"100%",fontFamily:"monospace"},placeholder:'{"key": "value"}',resize:"none",maxlength:"1000000","show-word-limit":""},null,8,["modelValue"])]),r("div",ce,[r("div",ue,[r("span",de,n(f.value?s(l)("toolCallDialog.inputSchema"):p.value||c.value?s(l)("toolCallDialog.response"):s(l)("toolCallDialog.inputSchema")),1),p.value||c.value||f.value?(i(),I(o,{key:0,link:"",type:"info",size:"small",onClick:z},{default:y(()=>[w(n(f.value?s(l)("toolCallDialog.showResponse"):s(l)("toolCallDialog.showInputSchema")),1)]),_:1})):k("",!0)]),r("div",me,[f.value?(i(),m("pre",pe,n(J.value),1)):p.value?(i(),m("pre",fe,n(p.value),1)):c.value?(i(),m("pre",ge,n(c.value),1)):(i(),m("pre",ve,n(J.value),1))])])])])]),_:1},8,["modelValue","title"])}}}),Je=ee(be,[["__scopeId","data-v-b0cc0171"]]);export{Je as T};
@@ -0,0 +1 @@
1
+ import{u as G,N as H,a as J,O as U,c as M,P as K,Q as z,y as W,R as X}from"./index-CCnAxNF8.js";import{c as Y}from"./el-overlay-CzMkXyYy.js";import{E as Z}from"./el-input-CDnuSKVZ.js";import{t as j,A as i,C as t,U as L,J as E,$ as r,y as a,a6 as ee,r as u,c as te,f as se,x as T,O as l,G as y,u as g,H as F,a9 as O,L as P,P as S,ak as V}from"./vue-vendor-6ny5zj9i.js";import{T as oe}from"./ToolCallDialog-C_bTCpHC.js";import{_ as ae}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./vnode-CHomNjgN.js";import"./event-BB_Ol6Sd.js";import"./typescript-Bp3YSIOJ.js";import"./el-tag-npbwux4f.js";import"./el-select-DvjGddk_.js";import"./index-d1DZeSfz.js";const le={class:"min-w-0 mb-3"},re={class:"flex items-center gap-2 mb-2"},ne=["title"],ie=["title"],R=j({__name:"ToolCard",props:{title:{},description:{},tagName:{},tagClass:{}},emits:["call"],setup(c){return(f,p)=>(a(),i("div",{class:"bg-white dark:bg-[#1e293b] border border-gray-200 dark:border-gray-700 rounded-lg p-4 flex flex-col justify-between shadow-sm hover:shadow-md transition-shadow h-full cursor-pointer",onClick:p[0]||(p[0]=_=>f.$emit("call"))},[t("div",le,[t("div",re,[c.tagName?(a(),i("span",{key:0,class:E(["shrink-0 px-2 py-0.5 rounded-full text-xs font-medium whitespace-nowrap",c.tagClass||"bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300"])},r(c.tagName),3)):L("",!0),t("span",{class:"font-bold text-gray-900 dark:text-gray-100 font-mono text-base break-all",title:c.title},r(c.title),9,ne)]),t("p",{class:"text-sm text-gray-600 dark:text-gray-400 line-clamp-2",title:c.description},r(c.description||f.$t("tools.noDescription")),9,ie)])]))}}),ce={class:"tools-view py-6 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto w-full h-full flex flex-col overflow-hidden bg-gray-50 dark:bg-[#0f172a] transition-colors duration-300"},de={class:"mb-6 shrink-0"},me={class:"text-2xl font-semibold text-gray-900 dark:text-white mb-4"},ue={class:"relative"},pe={class:"flex-1 overflow-y-auto custom-scrollbar space-y-8 pr-2"},ve={class:"text-lg font-bold text-gray-900 dark:text-white"},ge={class:"text-sm font-normal text-gray-500 ml-2"},fe={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-8 transition-all duration-300"},he={class:"flex items-center gap-2 mb-4"},xe={class:"text-lg font-bold text-gray-900 dark:text-white"},ye={class:"text-sm font-normal text-gray-500 ml-2"},_e={key:0,class:"space-y-4"},be={key:1,class:"text-center py-8 text-gray-500"},ke={key:2,class:"space-y-6"},we=["onClick"],Ce={class:"text-xs bg-gray-100 dark:bg-gray-800 px-2 py-0.5 rounded-full"},$e={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 transition-all duration-300"},Ne=j({__name:"ToolsView",setup(c){const{t:f}=ee(),p=u(""),_=u(!1),D=u([]),k=G(),w=u([]),C=u(!1),v=u(null),h=u(new Set),b=u(!1);function Q(e){h.value.has(e)?h.value.delete(e):h.value.add(e)}async function q(){try{const e=await U.get("/web/hub-tools/system");w.value=e.map(s=>({...s,serverName:"mcp-hub-lite"})).sort((s,d)=>s.name.localeCompare(d.name))}catch(e){console.error("Failed to fetch system tools:",e)}}function I(e){v.value={...e,serverName:e.serverName},C.value=!0}async function B(){_.value=!0;try{const e=await U.get(`/web/search?q=${encodeURIComponent(p.value)}`);D.value=e.results||[]}catch(e){console.error("Failed to fetch tools:",e)}finally{_.value=!1}}function A(){B()}const $=te(()=>{const e={};return D.value.forEach(s=>{const x=k.servers.find(N=>N.name===s.tool.serverName)?.status==="online"?f("tools.online"):f("tools.offline"),n=s.tool.serverName?`${s.tool.serverName} (${x})`:"Unknown";e[n]||(e[n]=[]),e[n].push(s)}),Object.entries(e).map(([s,d])=>({serverName:s,tools:d.sort((x,n)=>x.tool.name.localeCompare(n.tool.name))})).sort((s,d)=>s.serverName.localeCompare(d.serverName))});return se(()=>{q(),B(),k.servers.length===0&&k.fetchServers()}),(e,s)=>{const d=M,x=Z,n=J,N=Y;return a(),i("div",ce,[t("div",de,[t("h2",me,r(e.$t("tools.title")),1),t("div",ue,[l(x,{modelValue:p.value,"onUpdate:modelValue":s[0]||(s[0]=o=>p.value=o),placeholder:e.$t("tools.searchPlaceholder"),class:"w-full",size:"large","prefix-icon":g(H),onInput:A},{append:y(()=>[l(d,{icon:g(K)},null,8,["icon"])]),_:1},8,["modelValue","placeholder","prefix-icon"])])]),t("div",pe,[t("section",null,[t("div",{class:"flex items-center gap-2 mb-4 cursor-pointer select-none hover:text-gray-700 dark:hover:text-gray-200 transition-colors",onClick:s[1]||(s[1]=o=>b.value=!b.value)},[l(n,{class:E(["transition-transform duration-200",{"-rotate-90":b.value}])},{default:y(()=>[l(g(z))]),_:1},8,["class"]),l(n,{class:"text-gray-900 dark:text-white",size:20},{default:y(()=>[l(g(W))]),_:1}),t("h3",ve,[O(r(e.$t("tools.systemTools"))+" ",1),t("span",ge,"("+r(w.value.length)+")",1)])]),F(t("div",fe,[(a(!0),i(S,null,V(w.value,o=>(a(),T(R,{key:o.name,title:o.name,description:o.description,"tag-name":e.$t("tools.systemTag"),"tag-class":"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300",onCall:m=>I(o)},null,8,["title","description","tag-name","onCall"]))),128))],512),[[P,!b.value]])]),t("section",null,[t("div",he,[l(n,{class:"text-gray-900 dark:text-white",size:20},{default:y(()=>[l(g(X))]),_:1}),t("h3",xe,[O(r(e.$t("tools.aggregatedTools"))+" ",1),t("span",ye,"("+r($.value.reduce((o,m)=>o+m.tools.length,0))+")",1)])]),_.value?(a(),i("div",_e,[l(N,{animated:"",count:3})])):$.value.length===0?(a(),i("div",be,r(e.$t("tools.noToolsFound")),1)):(a(),i("div",ke,[(a(!0),i(S,null,V($.value,o=>(a(),i("div",{key:o.serverName,class:"space-y-3"},[t("div",{class:"flex items-center gap-2 text-sm font-medium text-gray-500 dark:text-gray-400 px-1 cursor-pointer select-none hover:text-gray-700 dark:hover:text-gray-200 transition-colors",onClick:m=>Q(o.serverName)},[l(n,{class:E(["transition-transform duration-200",{"-rotate-90":h.value.has(o.serverName)}])},{default:y(()=>[l(g(z))]),_:1},8,["class"]),t("span",null,r(o.serverName),1),t("span",Ce,r(o.tools.length),1)],8,we),F(t("div",$e,[(a(!0),i(S,null,V(o.tools,m=>(a(),T(R,{key:m.tool.name,title:m.tool.name,description:m.tool.description,onCall:Te=>I(m.tool)},null,8,["title","description","onCall"]))),128))],512),[[P,!h.value.has(o.serverName)]])]))),128))]))])]),v.value?(a(),T(oe,{key:0,modelValue:C.value,"onUpdate:modelValue":s[2]||(s[2]=o=>C.value=o),"server-name":v.value.serverName,"tool-name":v.value.name,description:v.value.description,"input-schema":v.value.inputSchema},null,8,["modelValue","server-name","tool-name","description","input-schema"])):L("",!0)])}}}),je=ae(Ne,[["__scopeId","data-v-465acdb9"]]);export{je as default};
@@ -0,0 +1 @@
1
+ .custom-scrollbar[data-v-465acdb9]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-465acdb9]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-465acdb9]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.dark .custom-scrollbar[data-v-465acdb9]::-webkit-scrollbar-thumb{background:#475569}
@@ -1 +1 @@
1
- import{ai as T,ao as Q,bw as U,bx as B,by as X,aj as Z,bz as V,am as M,an as z,bA as D,bB as k,bC as ee,bD as re,bE as m,bF as $,ap as G,bG as d,bH as K,bI as l,aq as te,av as ne,bJ as ae,as as oe}from"./index-CSTs2jYk.js";var S=Object.create,se=(function(){function e(){}return function(r){if(!T(r))return{};if(S)return S(r);e.prototype=r;var t=new e;return e.prototype=void 0,t}})();function ie(e,r){var t=-1,a=e.length;for(r||(r=Array(a));++t<a;)r[t]=e[t];return r}function ce(e,r){for(var t=-1,a=e==null?0:e.length;++t<a&&r(e[t],t,e)!==!1;);return e}function y(e,r,t,a){var b=!t;t||(t={});for(var s=-1,o=r.length;++s<o;){var c=r[s],i=void 0;i===void 0&&(i=e[c]),b?Q(t,c,i):U(t,c,i)}return t}function fe(e){var r=[];if(e!=null)for(var t in Object(e))r.push(t);return r}var ue=Object.prototype,be=ue.hasOwnProperty;function ge(e){if(!T(e))return fe(e);var r=B(e),t=[];for(var a in e)a=="constructor"&&(r||!be.call(e,a))||t.push(a);return t}function A(e){return Z(e)?X(e,!0):ge(e)}var N=V(Object.getPrototypeOf,Object);function le(e,r){return e&&y(r,M(r),e)}function ye(e,r){return e&&y(r,A(r),e)}var _=typeof exports=="object"&&exports&&!exports.nodeType&&exports,x=_&&typeof module=="object"&&module&&!module.nodeType&&module,pe=x&&x.exports===_,I=pe?z.Buffer:void 0,C=I?I.allocUnsafe:void 0;function Te(e,r){if(r)return e.slice();var t=e.length,a=C?C(t):new e.constructor(t);return e.copy(a),a}function de(e,r){return y(e,D(e),r)}var Ae=Object.getOwnPropertySymbols,R=Ae?function(e){for(var r=[];e;)ee(r,D(e)),e=N(e);return r}:k;function je(e,r){return y(e,R(e),r)}function he(e){return re(e,A,R)}var ve=Object.prototype,Oe=ve.hasOwnProperty;function we(e){var r=e.length,t=new e.constructor(r);return r&&typeof e[0]=="string"&&Oe.call(e,"index")&&(t.index=e.index,t.input=e.input),t}function j(e){var r=new e.constructor(e.byteLength);return new m(r).set(new m(e)),r}function me(e,r){var t=r?j(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}var $e=/\w*$/;function Se(e){var r=new e.constructor(e.source,$e.exec(e));return r.lastIndex=e.lastIndex,r}var E=$?$.prototype:void 0,F=E?E.valueOf:void 0;function xe(e){return F?Object(F.call(e)):{}}function Ie(e,r){var t=r?j(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}var Ce="[object Boolean]",Ee="[object Date]",Fe="[object Map]",Pe="[object Number]",Le="[object RegExp]",Ue="[object Set]",Be="[object String]",Me="[object Symbol]",De="[object ArrayBuffer]",Ge="[object DataView]",Ke="[object Float32Array]",Ne="[object Float64Array]",_e="[object Int8Array]",Re="[object Int16Array]",qe="[object Int32Array]",He="[object Uint8Array]",Je="[object Uint8ClampedArray]",We="[object Uint16Array]",Ye="[object Uint32Array]";function Qe(e,r,t){var a=e.constructor;switch(r){case De:return j(e);case Ce:case Ee:return new a(+e);case Ge:return me(e,t);case Ke:case Ne:case _e:case Re:case qe:case He:case Je:case We:case Ye:return Ie(e,t);case Fe:return new a;case Pe:case Be:return new a(e);case Le:return Se(e);case Ue:return new a;case Me:return xe(e)}}function Xe(e){return typeof e.constructor=="function"&&!B(e)?se(N(e)):{}}var Ze="[object Map]";function Ve(e){return G(e)&&d(e)==Ze}var P=l&&l.isMap,ze=P?K(P):Ve,ke="[object Set]";function er(e){return G(e)&&d(e)==ke}var L=l&&l.isSet,rr=L?K(L):er,tr=1,nr=2,ar=4,q="[object Arguments]",or="[object Array]",sr="[object Boolean]",ir="[object Date]",cr="[object Error]",H="[object Function]",fr="[object GeneratorFunction]",ur="[object Map]",br="[object Number]",J="[object Object]",gr="[object RegExp]",lr="[object Set]",yr="[object String]",pr="[object Symbol]",Tr="[object WeakMap]",dr="[object ArrayBuffer]",Ar="[object DataView]",jr="[object Float32Array]",hr="[object Float64Array]",vr="[object Int8Array]",Or="[object Int16Array]",wr="[object Int32Array]",mr="[object Uint8Array]",$r="[object Uint8ClampedArray]",Sr="[object Uint16Array]",xr="[object Uint32Array]",n={};n[q]=n[or]=n[dr]=n[Ar]=n[sr]=n[ir]=n[jr]=n[hr]=n[vr]=n[Or]=n[wr]=n[ur]=n[br]=n[J]=n[gr]=n[lr]=n[yr]=n[pr]=n[mr]=n[$r]=n[Sr]=n[xr]=!0;n[cr]=n[H]=n[Tr]=!1;function p(e,r,t,a,b,s){var o,c=r&tr,i=r&nr,W=r&ar;if(t&&(o=b?t(e,a,b,s):t(e)),o!==void 0)return o;if(!T(e))return e;var h=oe(e);if(h){if(o=we(e),!c)return ie(e,o)}else{var g=d(e),v=g==H||g==fr;if(te(e))return Te(e,c);if(g==J||g==q||v&&!b){if(o=i||v?{}:Xe(e),!c)return i?je(e,ye(o,e)):de(e,le(o,e))}else{if(!n[g])return b?e:{};o=Qe(e,g,c)}}s||(s=new ne);var O=s.get(e);if(O)return O;s.set(e,o),rr(e)?e.forEach(function(f){o.add(p(f,r,t,f,e,s))}):ze(e)&&e.forEach(function(f,u){o.set(u,p(f,r,t,u,e,s))});var Y=W?i?he:ae:i?A:M,w=h?void 0:Y(e);return ce(w||e,function(f,u){w&&(u=f,f=e[u]),U(o,u,p(f,r,t,u,e,s))}),o}export{ie as a,Te as b,y as c,Ie as d,p as e,he as f,N as g,Xe as i,A as k};
1
+ import{aj as T,ap as Q,bx as U,by as B,bz as X,ak as Z,bA as V,an as M,ao as z,bB as D,bC as k,bD as ee,bE as re,bF as $,bG as m,aq as G,bH as d,bI as K,bJ as l,ar as te,aw as ne,bK as ae,at as oe}from"./index-CCnAxNF8.js";var S=Object.create,se=(function(){function e(){}return function(r){if(!T(r))return{};if(S)return S(r);e.prototype=r;var t=new e;return e.prototype=void 0,t}})();function ie(e,r){var t=-1,a=e.length;for(r||(r=Array(a));++t<a;)r[t]=e[t];return r}function ce(e,r){for(var t=-1,a=e==null?0:e.length;++t<a&&r(e[t],t,e)!==!1;);return e}function y(e,r,t,a){var b=!t;t||(t={});for(var s=-1,o=r.length;++s<o;){var c=r[s],i=void 0;i===void 0&&(i=e[c]),b?Q(t,c,i):U(t,c,i)}return t}function fe(e){var r=[];if(e!=null)for(var t in Object(e))r.push(t);return r}var ue=Object.prototype,be=ue.hasOwnProperty;function ge(e){if(!T(e))return fe(e);var r=B(e),t=[];for(var a in e)a=="constructor"&&(r||!be.call(e,a))||t.push(a);return t}function A(e){return Z(e)?X(e,!0):ge(e)}var N=V(Object.getPrototypeOf,Object);function le(e,r){return e&&y(r,M(r),e)}function ye(e,r){return e&&y(r,A(r),e)}var _=typeof exports=="object"&&exports&&!exports.nodeType&&exports,x=_&&typeof module=="object"&&module&&!module.nodeType&&module,pe=x&&x.exports===_,I=pe?z.Buffer:void 0,C=I?I.allocUnsafe:void 0;function Te(e,r){if(r)return e.slice();var t=e.length,a=C?C(t):new e.constructor(t);return e.copy(a),a}function de(e,r){return y(e,D(e),r)}var Ae=Object.getOwnPropertySymbols,R=Ae?function(e){for(var r=[];e;)ee(r,D(e)),e=N(e);return r}:k;function je(e,r){return y(e,R(e),r)}function he(e){return re(e,A,R)}var Oe=Object.prototype,ve=Oe.hasOwnProperty;function we(e){var r=e.length,t=new e.constructor(r);return r&&typeof e[0]=="string"&&ve.call(e,"index")&&(t.index=e.index,t.input=e.input),t}function j(e){var r=new e.constructor(e.byteLength);return new $(r).set(new $(e)),r}function $e(e,r){var t=r?j(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}var me=/\w*$/;function Se(e){var r=new e.constructor(e.source,me.exec(e));return r.lastIndex=e.lastIndex,r}var E=m?m.prototype:void 0,F=E?E.valueOf:void 0;function xe(e){return F?Object(F.call(e)):{}}function Ie(e,r){var t=r?j(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}var Ce="[object Boolean]",Ee="[object Date]",Fe="[object Map]",Pe="[object Number]",Le="[object RegExp]",Ue="[object Set]",Be="[object String]",Me="[object Symbol]",De="[object ArrayBuffer]",Ge="[object DataView]",Ke="[object Float32Array]",Ne="[object Float64Array]",_e="[object Int8Array]",Re="[object Int16Array]",qe="[object Int32Array]",He="[object Uint8Array]",Je="[object Uint8ClampedArray]",We="[object Uint16Array]",Ye="[object Uint32Array]";function Qe(e,r,t){var a=e.constructor;switch(r){case De:return j(e);case Ce:case Ee:return new a(+e);case Ge:return $e(e,t);case Ke:case Ne:case _e:case Re:case qe:case He:case Je:case We:case Ye:return Ie(e,t);case Fe:return new a;case Pe:case Be:return new a(e);case Le:return Se(e);case Ue:return new a;case Me:return xe(e)}}function Xe(e){return typeof e.constructor=="function"&&!B(e)?se(N(e)):{}}var Ze="[object Map]";function Ve(e){return G(e)&&d(e)==Ze}var P=l&&l.isMap,ze=P?K(P):Ve,ke="[object Set]";function er(e){return G(e)&&d(e)==ke}var L=l&&l.isSet,rr=L?K(L):er,tr=1,nr=2,ar=4,q="[object Arguments]",or="[object Array]",sr="[object Boolean]",ir="[object Date]",cr="[object Error]",H="[object Function]",fr="[object GeneratorFunction]",ur="[object Map]",br="[object Number]",J="[object Object]",gr="[object RegExp]",lr="[object Set]",yr="[object String]",pr="[object Symbol]",Tr="[object WeakMap]",dr="[object ArrayBuffer]",Ar="[object DataView]",jr="[object Float32Array]",hr="[object Float64Array]",Or="[object Int8Array]",vr="[object Int16Array]",wr="[object Int32Array]",$r="[object Uint8Array]",mr="[object Uint8ClampedArray]",Sr="[object Uint16Array]",xr="[object Uint32Array]",n={};n[q]=n[or]=n[dr]=n[Ar]=n[sr]=n[ir]=n[jr]=n[hr]=n[Or]=n[vr]=n[wr]=n[ur]=n[br]=n[J]=n[gr]=n[lr]=n[yr]=n[pr]=n[$r]=n[mr]=n[Sr]=n[xr]=!0;n[cr]=n[H]=n[Tr]=!1;function p(e,r,t,a,b,s){var o,c=r&tr,i=r&nr,W=r&ar;if(t&&(o=b?t(e,a,b,s):t(e)),o!==void 0)return o;if(!T(e))return e;var h=oe(e);if(h){if(o=we(e),!c)return ie(e,o)}else{var g=d(e),O=g==H||g==fr;if(te(e))return Te(e,c);if(g==J||g==q||O&&!b){if(o=i||O?{}:Xe(e),!c)return i?je(e,ye(o,e)):de(e,le(o,e))}else{if(!n[g])return b?e:{};o=Qe(e,g,c)}}s||(s=new ne);var v=s.get(e);if(v)return v;s.set(e,o),rr(e)?e.forEach(function(f){o.add(p(f,r,t,f,e,s))}):ze(e)&&e.forEach(function(f,u){o.set(u,p(f,r,t,u,e,s))});var Y=W?i?he:ae:i?A:M,w=h?void 0:Y(e);return ce(w||e,function(f,u){w&&(u=f,f=e[u]),U(o,u,p(f,r,t,u,e,s))}),o}export{ie as a,Te as b,y as c,Ie as d,p as e,he as f,N as g,Xe as i,A as k};
@@ -1,4 +1,4 @@
1
- import{$ as me,F as Ie,G as ae,b3 as nt,aM as Ge,_ as Le,aG as Be,I as Se,aB as it,aD as Te,a1 as at,aR as _t,b4 as Je,f as xt,b5 as $t,V as He,aK as Ke,ad as Rt,J as st,ac as Z,b6 as we,ay as wt,az as Tt,W as Mt,aC as Et,j as Oe,aA as Ft,Q as kt,b7 as Ct,a as re,aO as jt,t as Lt,g as Bt,b8 as Wt,E as lt,U as Ae,aH as Dt,l as zt}from"./index-CSTs2jYk.js";import{p as Me,b as ke,a as he,r as ee,c as S,t as qe,Q as Ce,w as oe,q as Vt,ah as Nt,A as K,y as I,v as J,J as L,i as je,f as We,F as It,S as St,O as se,P as Kt,n as ot,a0 as Ut,C as Ee,G,x as j,U as C,V as ue,K as Ye,u as y,a9 as Gt,$ as pe,at as Jt,H as ut,af as Ze,a4 as Ht,I as qt,s as Yt,au as ft}from"./vue-vendor-6ny5zj9i.js";import{e as Zt}from"./_baseClone-DCmK847M.js";import{E as Qt}from"./el-input-BtI9NECe.js";import{U as ne,I as de,C as Ve}from"./event-BB_Ol6Sd.js";var Xt=4;function dt(i){return Zt(i,Xt)}const er=100,tr=600,_e="_RepeatClick",ct={beforeMount(i,e){const t=e.value,{interval:r=er,delay:n=tr}=Me(t)?{}:t;let s,a;const o=()=>Me(t)?t():t.handler(),f=()=>{a&&(clearTimeout(a),a=void 0),s&&(clearInterval(s),s=void 0)},b=m=>{m.button===0&&(f(),o(),document.addEventListener("mouseup",f,{once:!0}),a=setTimeout(()=>{s=setInterval(()=>{o()},r)},n))};i[_e]={start:b,clear:f},i.addEventListener("mousedown",b)},unmounted(i){if(!i[_e])return;const{start:e,clear:t}=i[_e];e&&i.removeEventListener("mousedown",e),t&&(t(),document.removeEventListener("mouseup",t)),i[_e]=null}},rr=Ie({size:{type:String,values:nt},disabled:Boolean}),nr=Ie({...rr,model:Object,rules:{type:ae(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:ae([Object,Boolean]),default:!0}}),ir={validate:(i,e,t)=>(ke(i)||he(i))&&me(e)&&he(t)};function ar(){const i=ee([]),e=S(()=>{if(!i.value.length)return"0";const s=Math.max(...i.value);return s?`${s}px`:""});function t(s){const a=i.value.indexOf(s);return a===-1&&e.value,a}function r(s,a){if(s&&a){const o=t(a);i.value.splice(o,1,s)}else s&&i.value.push(s)}function n(s){const a=t(s);a>-1&&i.value.splice(a,1)}return{autoLabelWidth:e,registerLabelWidth:r,deregisterLabelWidth:n}}const xe=(i,e)=>{const t=Ge(e).map(r=>ke(r)?r.join("."):r);return t.length>0?i.filter(r=>r.propString&&t.includes(r.propString)):i},sr="ElForm",or=qe({name:sr,__name:"form",props:nr,emits:ir,setup(i,{expose:e,emit:t}){const r=i,n=t,s=ee(),a=Ce([]),o=Be(),f=Se("form"),b=S(()=>{const{labelPosition:l,inline:v}=r;return[f.b(),f.m(o.value||"default"),{[f.m(`label-${l}`)]:l,[f.m("inline")]:v}]}),m=l=>xe(a,[l])[0],w=l=>{a.push(l)},N=l=>{l.prop&&a.splice(a.indexOf(l),1)},_=(l=[])=>{r.model&&xe(a,l).forEach(v=>v.resetField())},x=(l=[])=>{xe(a,l).forEach(v=>v.clearValidate())},c=S(()=>!!r.model),E=l=>{if(a.length===0)return[];const v=xe(a,l);return v.length?v:[]},d=async l=>g(void 0,l),$=async(l=[])=>{if(!c.value)return!1;const v=E(l);if(v.length===0)return!0;let O={};for(const A of v)try{await A.validate(""),A.validateState==="error"&&!A.error&&A.resetField()}catch(B){O={...O,...B}}return Object.keys(O).length===0?!0:Promise.reject(O)},g=async(l=[],v)=>{let O=!1;const A=!Me(v);try{return O=await $(l),O===!0&&await v?.(O),O}catch(B){if(B instanceof Error)throw B;const te=B;if(r.scrollToError&&s.value){const Q=s.value.querySelector(`.${f.b()}-item.is-error`);Q?.scrollIntoView(r.scrollIntoViewOptions)}return!O&&await v?.(!1,te),A&&Promise.reject(te)}},q=l=>{var v;const O=m(l);O&&((v=O.$el)==null||v.scrollIntoView(r.scrollIntoViewOptions))};return oe(()=>r.rules,()=>{r.validateOnRuleChange&&d().catch(l=>Te())},{deep:!0,flush:"post"}),Vt(it,Ce({...Nt(r),emit:n,resetFields:_,clearValidate:x,validateField:g,getField:m,addField:w,removeField:N,...ar()})),e({validate:d,validateField:g,resetFields:_,clearValidate:x,scrollToField:q,getField:m,fields:a}),(l,v)=>(I(),K("form",{ref_key:"formRef",ref:s,class:L(b.value)},[J(l.$slots,"default")],2))}});var lr=Le(or,[["__file","/home/runner/work/element-plus/element-plus/packages/components/form/src/form.vue"]]);function fe(){return fe=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i},fe.apply(this,arguments)}function ur(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Ne(i,e)}function Qe(i){return Qe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Qe(i)}function Ne(i,e){return Ne=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Ne(i,e)}function fr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Re(i,e,t){return fr()?Re=Reflect.construct.bind():Re=function(n,s,a){var o=[null];o.push.apply(o,s);var f=Function.bind.apply(n,o),b=new f;return a&&Ne(b,a.prototype),b},Re.apply(null,arguments)}function dr(i){return Function.toString.call(i).indexOf("[native code]")!==-1}function Xe(i){var e=typeof Map=="function"?new Map:void 0;return Xe=function(r){if(r===null||!dr(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,n)}function n(){return Re(r,arguments,Qe(this).constructor)}return n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Ne(n,r)},Xe(i)}var cr=/%[sdj%]/g,vr=function(){};function et(i){if(!i||!i.length)return null;var e={};return i.forEach(function(t){var r=t.field;e[r]=e[r]||[],e[r].push(t)}),e}function H(i){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];var n=0,s=t.length;if(typeof i=="function")return i.apply(null,t);if(typeof i=="string"){var a=i.replace(cr,function(o){if(o==="%%")return"%";if(n>=s)return o;switch(o){case"%s":return String(t[n++]);case"%d":return Number(t[n++]);case"%j":try{return JSON.stringify(t[n++])}catch{return"[Circular]"}break;default:return o}});return a}return i}function pr(i){return i==="string"||i==="url"||i==="hex"||i==="email"||i==="date"||i==="pattern"}function M(i,e){return!!(i==null||e==="array"&&Array.isArray(i)&&!i.length||pr(e)&&typeof i=="string"&&!i)}function mr(i,e,t){var r=[],n=0,s=i.length;function a(o){r.push.apply(r,o||[]),n++,n===s&&t(r)}i.forEach(function(o){e(o,a)})}function vt(i,e,t){var r=0,n=i.length;function s(a){if(a&&a.length){t(a);return}var o=r;r=r+1,o<n?e(i[o],s):t([])}s([])}function hr(i){var e=[];return Object.keys(i).forEach(function(t){e.push.apply(e,i[t]||[])}),e}var pt=(function(i){ur(e,i);function e(t,r){var n;return n=i.call(this,"Async Validation Error")||this,n.errors=t,n.fields=r,n}return e})(Xe(Error));function yr(i,e,t,r,n){if(e.first){var s=new Promise(function(N,_){var x=function(d){return r(d),d.length?_(new pt(d,et(d))):N(n)},c=hr(i);vt(c,t,x)});return s.catch(function(N){return N}),s}var a=e.firstFields===!0?Object.keys(i):e.firstFields||[],o=Object.keys(i),f=o.length,b=0,m=[],w=new Promise(function(N,_){var x=function(E){if(m.push.apply(m,E),b++,b===f)return r(m),m.length?_(new pt(m,et(m))):N(n)};o.length||(r(m),N(n)),o.forEach(function(c){var E=i[c];a.indexOf(c)!==-1?vt(E,t,x):mr(E,t,x)})});return w.catch(function(N){return N}),w}function gr(i){return!!(i&&i.message!==void 0)}function br(i,e){for(var t=i,r=0;r<e.length;r++){if(t==null)return t;t=t[e[r]]}return t}function mt(i,e){return function(t){var r;return i.fullFields?r=br(e,i.fullFields):r=e[t.field||i.fullField],gr(t)?(t.field=t.field||i.fullField,t.fieldValue=r,t):{message:typeof t=="function"?t():t,fieldValue:r,field:t.field||i.fullField}}}function ht(i,e){if(e){for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];typeof r=="object"&&typeof i[t]=="object"?i[t]=fe({},i[t],r):i[t]=r}}return i}var Pt=function(e,t,r,n,s,a){e.required&&(!r.hasOwnProperty(e.field)||M(t,a||e.type))&&n.push(H(s.messages.required,e.fullField))},wr=function(e,t,r,n,s){(/^\s+$/.test(t)||t==="")&&n.push(H(s.messages.whitespace,e.fullField))},$e,Er=(function(){if($e)return $e;var i="[a-fA-F\\d:]",e=function(q){return q&&q.includeBoundaries?"(?:(?<=\\s|^)(?="+i+")|(?<="+i+")(?=\\s|$))":""},t="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",r="[a-fA-F\\d]{1,4}",n=(`
1
+ import{$ as me,F as Ie,G as ae,b4 as nt,aN as Ge,_ as Le,aH as Be,I as Se,aC as it,aE as Te,a1 as at,aS as _t,b5 as Je,f as xt,b6 as $t,V as He,aL as Ke,ad as Rt,J as st,ac as Z,b7 as we,az as wt,aA as Tt,W as Mt,aD as Et,j as Oe,aB as Ft,Q as kt,b8 as Ct,a as re,aP as jt,t as Lt,g as Bt,b9 as Wt,E as lt,U as Ae,aI as Dt,l as zt}from"./index-CCnAxNF8.js";import{p as Me,b as ke,a as he,r as ee,c as S,t as qe,Q as Ce,w as oe,q as Vt,ah as Nt,A as K,y as I,v as J,J as L,i as je,f as We,F as It,S as St,O as se,P as Kt,n as ot,a0 as Ut,C as Ee,G,x as j,U as C,V as ue,K as Ye,u as y,a9 as Gt,$ as pe,at as Jt,H as ut,af as Ze,a4 as Ht,I as qt,s as Yt,au as ft}from"./vue-vendor-6ny5zj9i.js";import{e as Zt}from"./_baseClone-5q1b0P3O.js";import{E as Qt}from"./el-input-CDnuSKVZ.js";import{U as ne,I as de,C as Ve}from"./event-BB_Ol6Sd.js";var Xt=4;function dt(i){return Zt(i,Xt)}const er=100,tr=600,_e="_RepeatClick",ct={beforeMount(i,e){const t=e.value,{interval:r=er,delay:n=tr}=Me(t)?{}:t;let s,a;const o=()=>Me(t)?t():t.handler(),f=()=>{a&&(clearTimeout(a),a=void 0),s&&(clearInterval(s),s=void 0)},b=m=>{m.button===0&&(f(),o(),document.addEventListener("mouseup",f,{once:!0}),a=setTimeout(()=>{s=setInterval(()=>{o()},r)},n))};i[_e]={start:b,clear:f},i.addEventListener("mousedown",b)},unmounted(i){if(!i[_e])return;const{start:e,clear:t}=i[_e];e&&i.removeEventListener("mousedown",e),t&&(t(),document.removeEventListener("mouseup",t)),i[_e]=null}},rr=Ie({size:{type:String,values:nt},disabled:Boolean}),nr=Ie({...rr,model:Object,rules:{type:ae(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:ae([Object,Boolean]),default:!0}}),ir={validate:(i,e,t)=>(ke(i)||he(i))&&me(e)&&he(t)};function ar(){const i=ee([]),e=S(()=>{if(!i.value.length)return"0";const s=Math.max(...i.value);return s?`${s}px`:""});function t(s){const a=i.value.indexOf(s);return a===-1&&e.value,a}function r(s,a){if(s&&a){const o=t(a);i.value.splice(o,1,s)}else s&&i.value.push(s)}function n(s){const a=t(s);a>-1&&i.value.splice(a,1)}return{autoLabelWidth:e,registerLabelWidth:r,deregisterLabelWidth:n}}const xe=(i,e)=>{const t=Ge(e).map(r=>ke(r)?r.join("."):r);return t.length>0?i.filter(r=>r.propString&&t.includes(r.propString)):i},sr="ElForm",or=qe({name:sr,__name:"form",props:nr,emits:ir,setup(i,{expose:e,emit:t}){const r=i,n=t,s=ee(),a=Ce([]),o=Be(),f=Se("form"),b=S(()=>{const{labelPosition:l,inline:v}=r;return[f.b(),f.m(o.value||"default"),{[f.m(`label-${l}`)]:l,[f.m("inline")]:v}]}),m=l=>xe(a,[l])[0],w=l=>{a.push(l)},N=l=>{l.prop&&a.splice(a.indexOf(l),1)},_=(l=[])=>{r.model&&xe(a,l).forEach(v=>v.resetField())},x=(l=[])=>{xe(a,l).forEach(v=>v.clearValidate())},c=S(()=>!!r.model),E=l=>{if(a.length===0)return[];const v=xe(a,l);return v.length?v:[]},d=async l=>g(void 0,l),$=async(l=[])=>{if(!c.value)return!1;const v=E(l);if(v.length===0)return!0;let O={};for(const A of v)try{await A.validate(""),A.validateState==="error"&&!A.error&&A.resetField()}catch(B){O={...O,...B}}return Object.keys(O).length===0?!0:Promise.reject(O)},g=async(l=[],v)=>{let O=!1;const A=!Me(v);try{return O=await $(l),O===!0&&await v?.(O),O}catch(B){if(B instanceof Error)throw B;const te=B;if(r.scrollToError&&s.value){const Q=s.value.querySelector(`.${f.b()}-item.is-error`);Q?.scrollIntoView(r.scrollIntoViewOptions)}return!O&&await v?.(!1,te),A&&Promise.reject(te)}},q=l=>{var v;const O=m(l);O&&((v=O.$el)==null||v.scrollIntoView(r.scrollIntoViewOptions))};return oe(()=>r.rules,()=>{r.validateOnRuleChange&&d().catch(l=>Te())},{deep:!0,flush:"post"}),Vt(it,Ce({...Nt(r),emit:n,resetFields:_,clearValidate:x,validateField:g,getField:m,addField:w,removeField:N,...ar()})),e({validate:d,validateField:g,resetFields:_,clearValidate:x,scrollToField:q,getField:m,fields:a}),(l,v)=>(I(),K("form",{ref_key:"formRef",ref:s,class:L(b.value)},[J(l.$slots,"default")],2))}});var lr=Le(or,[["__file","/home/runner/work/element-plus/element-plus/packages/components/form/src/form.vue"]]);function fe(){return fe=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i},fe.apply(this,arguments)}function ur(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Ne(i,e)}function Qe(i){return Qe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Qe(i)}function Ne(i,e){return Ne=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Ne(i,e)}function fr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Re(i,e,t){return fr()?Re=Reflect.construct.bind():Re=function(n,s,a){var o=[null];o.push.apply(o,s);var f=Function.bind.apply(n,o),b=new f;return a&&Ne(b,a.prototype),b},Re.apply(null,arguments)}function dr(i){return Function.toString.call(i).indexOf("[native code]")!==-1}function Xe(i){var e=typeof Map=="function"?new Map:void 0;return Xe=function(r){if(r===null||!dr(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(r))return e.get(r);e.set(r,n)}function n(){return Re(r,arguments,Qe(this).constructor)}return n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Ne(n,r)},Xe(i)}var cr=/%[sdj%]/g,vr=function(){};function et(i){if(!i||!i.length)return null;var e={};return i.forEach(function(t){var r=t.field;e[r]=e[r]||[],e[r].push(t)}),e}function H(i){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];var n=0,s=t.length;if(typeof i=="function")return i.apply(null,t);if(typeof i=="string"){var a=i.replace(cr,function(o){if(o==="%%")return"%";if(n>=s)return o;switch(o){case"%s":return String(t[n++]);case"%d":return Number(t[n++]);case"%j":try{return JSON.stringify(t[n++])}catch{return"[Circular]"}break;default:return o}});return a}return i}function pr(i){return i==="string"||i==="url"||i==="hex"||i==="email"||i==="date"||i==="pattern"}function M(i,e){return!!(i==null||e==="array"&&Array.isArray(i)&&!i.length||pr(e)&&typeof i=="string"&&!i)}function mr(i,e,t){var r=[],n=0,s=i.length;function a(o){r.push.apply(r,o||[]),n++,n===s&&t(r)}i.forEach(function(o){e(o,a)})}function vt(i,e,t){var r=0,n=i.length;function s(a){if(a&&a.length){t(a);return}var o=r;r=r+1,o<n?e(i[o],s):t([])}s([])}function hr(i){var e=[];return Object.keys(i).forEach(function(t){e.push.apply(e,i[t]||[])}),e}var pt=(function(i){ur(e,i);function e(t,r){var n;return n=i.call(this,"Async Validation Error")||this,n.errors=t,n.fields=r,n}return e})(Xe(Error));function yr(i,e,t,r,n){if(e.first){var s=new Promise(function(N,_){var x=function(d){return r(d),d.length?_(new pt(d,et(d))):N(n)},c=hr(i);vt(c,t,x)});return s.catch(function(N){return N}),s}var a=e.firstFields===!0?Object.keys(i):e.firstFields||[],o=Object.keys(i),f=o.length,b=0,m=[],w=new Promise(function(N,_){var x=function(E){if(m.push.apply(m,E),b++,b===f)return r(m),m.length?_(new pt(m,et(m))):N(n)};o.length||(r(m),N(n)),o.forEach(function(c){var E=i[c];a.indexOf(c)!==-1?vt(E,t,x):mr(E,t,x)})});return w.catch(function(N){return N}),w}function gr(i){return!!(i&&i.message!==void 0)}function br(i,e){for(var t=i,r=0;r<e.length;r++){if(t==null)return t;t=t[e[r]]}return t}function mt(i,e){return function(t){var r;return i.fullFields?r=br(e,i.fullFields):r=e[t.field||i.fullField],gr(t)?(t.field=t.field||i.fullField,t.fieldValue=r,t):{message:typeof t=="function"?t():t,fieldValue:r,field:t.field||i.fullField}}}function ht(i,e){if(e){for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];typeof r=="object"&&typeof i[t]=="object"?i[t]=fe({},i[t],r):i[t]=r}}return i}var Pt=function(e,t,r,n,s,a){e.required&&(!r.hasOwnProperty(e.field)||M(t,a||e.type))&&n.push(H(s.messages.required,e.fullField))},wr=function(e,t,r,n,s){(/^\s+$/.test(t)||t==="")&&n.push(H(s.messages.whitespace,e.fullField))},$e,Er=(function(){if($e)return $e;var i="[a-fA-F\\d:]",e=function(q){return q&&q.includeBoundaries?"(?:(?<=\\s|^)(?="+i+")|(?<="+i+")(?=\\s|$))":""},t="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",r="[a-fA-F\\d]{1,4}",n=(`
2
2
  (?:
3
3
  (?:`+r+":){7}(?:"+r+`|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
4
4
  (?:`+r+":){6}(?:"+t+"|:"+r+`|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4