1import{_ as te,u as ne,P as ce,o as re,d as _,e as i,i as n,t,g as e,m as f,j as A,k as d,l as C,n as m,S as T,L,F as I,r as j,O as D,J as O,K as de,v as b,V as pe,y as ue,D as q,B as u}from"./app-C0n_JTkv.js";import{s as V,a as me}from"./index-D_0tVZ9B.js";import{s as J}from"./index-DbGgezv_.js";import{s as z}from"./index-BgT2v3bl.js";import{s as P}from"./index-CzlEM2Vh.js";import{s as ve}from"./index-B5kKiMyU.js";import"./index-B4UNNT3c.js";import"./index-CzfdA7V7.js";import"./index-CM6NdNo-.js";import"./index-CJiZ237l.js";import"./index-ClLssthH.js";import"./index-BDQu2Lfz.js";import"./index-C5NXtoNO.js";import"./index-Bevkaex5.js";import"./index-CENnPlOz.js";import"./index-CubFoHAd.js";import"./index-Cl52Eosi.js";const _e={class:"mcp-token-list vox-page-shell"},be={class:"page-header"},ye={class:"page-header-title"},ge={key:0,class:"page-header-count"},fe=["data-pilot-label"],he={key:1,class:"oauth-card"},ke={class:"oauth-head"},xe={class:"client-hint"},Ce={class:"copy-row"},we={class:"mono-text endpoint-value"},Te={class:"access-facts"},Ve={class:"mono-text"},$e={class:"client-hint"},Ae={class:"mono-text"},Oe={class:"action-buttons"},Ue={class:"expansion-card"},De={class:"expansion-grid"},ze={class:"exp-label"},Pe={class:"exp-label"},Ee={class:"exp-label"},Ne={key:0,class:"apis-list"},Se={class:"exp-label"},He={class:"apis-tags"},Re={key:1,class:"access-section"},Be={class:"exp-label"},Le={class:"client-hint"},Ie={key:2,class:"access-section"},je={class:"exp-label"},Je={class:"copy-row"},Fe={class:"mono-text endpoint-value"},Me={class:"access-facts"},Ge={class:"mono-text"},Ke={key:3,class:"access-section"},We={class:"exp-label"},Xe={class:"client-hint"},qe={class:"snippet-box"},Qe={class:"snippet"},Ye={class:"client-hint"},Ze={class:"show-mobile-only",style:{"margin-top":"0.75rem",display:"flex",gap:"0.5rem"}},ea={class:"form-stack"},aa={class:"field"},la={for:"mcp-name"},ia={class:"field"},sa={for:"mcp-obs"},oa={class:"field inline-toggle"},ta={for:"mcp-create-enabled"},na=["for"],ca={class:"token-display"},ra={class:"form-stack"},da={class:"field inline-toggle"},pa={for:"mcp-enabled"},ua=["for"],ma="https://vox20.velip.com.br/mcpserver/velip",va={__name:"McpServerTokenList",setup(_a){const{t:l}=ne(),y=ce(),E=b([]),h=b([]),N=b(!1),S=b(0),H=b(1),F=b([]),x=b(ma),M=b(!1),$=b("cursor"),R=ue(()=>l("integracao.mcpTokenPlaceholder")),Q=[{value:"cursor",label:"Cursor"},{value:"claude_code",label:"Claude Code"},{value:"claude_desktop",label:"Claude Desktop"},{value:"curl",label:"curl"}];function G(o){const s=x.value,p=R.value;return o==="claude_code"?`claude mcp add --transport http velip ${s} --header "Authorization: Bearer ${p}"`:o==="claude_desktop"?JSON.stringify({mcpServers:{velip:{command:"npx",args:["-y","mcp-remote",s,"--header","Authorization:${VELIP_AUTH}"],env:{VELIP_AUTH:`Bearer ${p}`}}}},null,2):o==="curl"?`curl -X POST '${s}' \\ 2 -H 'Authorization: Bearer ${p}' \\ 3 -H 'Content-Type: application/json' \\ 4 -H 'Accept: application/json, text/event-stream' \\ 5 -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'`:JSON.stringify({mcpServers:{velip:{url:s,headers:{Authorization:`Bearer ${p}`}}}},null,2)}async function B(o){try{await navigator.clipboard.writeText(o),y.add({severity:"success",summary:l("integracao.mcpCopied"),life:2e3})}catch{y.add({severity:"warn",summary:l("integracao.tokenCopyFailed"),life:3e3})}}const c=q({visible:!1,name:"",obs:"",enabled:!0,apis:{},loading:!1}),w=b({visible:!1,plaintext:""}),g=b({visible:!1,id:null,name:"",loading:!1}),r=q({visible:!1,id:null,enabled:!0,apis:{},loading:!1});function Y(o){if(!o)return"â";const s=String(o).substring(0,10),[p,k,a]=s.split("-");return a&&k&&p?`${a}/${k}/${p}`:o}function Z(o){const s=h.value.find(p=>p.cmapi_key===o);return(s==null?void 0:s.cmapi_label)||o}async function ee(){try{const o=await O("integracao_tokens","mcpApis");h.value=o.apis||[]}catch{h.value=[]}}async function U(){N.value=!0;try{const o=await O("integracao_tokens","list",{type:"mcp"});E.value=o.items||[],S.value=o.total||E.value.length,H.value=o.api_ativo!==void 0?o.api_ativo:1,o.mcp_endpoint&&(x.value=o.mcp_endpoint),M.value=Number(o.oauth_ready)===1}catch(o){y.add({severity:"error",summary:l("app.error"),detail:o.message,life:4e3})}finally{N.value=!1}}function ae(){c.visible=!0,c.name="",c.obs="",c.enabled=!0,c.apis={},h.value.forEach(o=>{c.apis[o.cmapi_key]=!0}),c.loading=!1}async function le(){c.loading=!0;try{const o={};h.value.forEach(p=>{o[p.cmapi_key]={enabled:!!c.apis[p.cmapi_key]}});const s=await O("integracao_tokens","create",{type:"mcp",name:c.name,obs:c.obs,enabled:c.enabled?"1":"0",apis_json:JSON.stringify(o)});c.visible=!1,w.value={visible:!0,plaintext:s.token_plaintext||""},U()}catch(o){y.add({severity:"error",summary:l("app.error"),detail:o.message,life:4e3})}finally{c.loading=!1}}function K(o){r.visible=!0,r.id=o.cdpsid_id,r.enabled=o.mcp_enabled==1,r.apis={},h.value.forEach(s=>{const p=s.cmapi_key;r.apis[p]=!!(o.mcp_apis&&o.mcp_apis[p]&&o.mcp_apis[p].enabled)})}async function ie(){r.loading=!0;try{const o={};h.value.forEach(s=>{o[s.cmapi_key]={enabled:!!r.apis[s.cmapi_key]}}),await O("integracao_tokens","updatePermissions",{id:r.id,enabled:r.enabled?"1":"0",apis_json:JSON.stringify(o)}),y.add({severity:"success",summary:l("integracao.permissionsSaved"),life:3e3}),r.visible=!1,U()}catch(o){y.add({severity:"error",summary:l("app.error"),detail:o.message,life:4e3})}finally{r.loading=!1}}function W(o){g.value={visible:!0,id:o.cdpsid_id,name:o.cdpsid_name||o.token_preview,loading:!1}}async function se(){g.value.loading=!0;try{await O("integracao_tokens","revoke",{type:"mcp",id:g.value.id}),y.add({severity:"success",summary:l("integracao.tokenRevoked"),life:3e3}),g.value.visible=!1,U()}catch(o){y.add({severity:"error",summary:l("app.error"),detail:o.message,life:4e3})}finally{g.value.loading=!1}}async function oe(){try{await navigator.clipboard.writeText(w.value.plaintext),y.add({severity:"success",summary:l("integracao.tokenCopied"),life:2e3})}catch{y.add({severity:"warn",summary:l("integracao.tokenCopyFailed"),life:3e3})}}return re(async()=>{await ee(),U()}),(o,s)=>{const p=de("VoxPageChannelIcon"),k=pe("tooltip");
5return u(),_("div",_e,[i("div",be,[i("div",ye,[n(p),i("h2",null,t(e(l)("integracao.mcpTitle")),1)]),S.value>0?(u(),_("span",ge,t(S.value),1)):f("",!0)]),H.value===0?(u(),A(e(z),{key:0,severity:"warn",closable:!1,class:"api-warning"},{default:d(()=>[C(t(e(l)("integracao.apiAtivoWarning")),1)]),_:1})):f("",!0),i("div",{class:"filters-bar","data-pilot-form":"","data-pilot-page":"integracoes_mcp_server","data-pilot-label":e(l)("integracao.mcpTitle")},[n(e(m),{label:e(l)("integracao.createToken"),icon:"pi pi-plus",size:"small",disabled:H.value===0,onClick:ae},null,8,["label","disabled"])],8,fe),M.value?(u(),_("div",he,[i("div",ke,[s[17]||(s[17]=i("i",{class:"pi pi-sign-in"},null,-1)),i("strong",null,t(e(l)("integracao.mcpOauthTitle")),1)]),i("p",xe,t(e(l)("integracao.mcpOauthIntro")),1),i("div",Ce,[i("code",we,t(x.value),1),T(n(e(m),{icon:"pi pi-copy",size:"small",text:"",onClick:s[0]||(s[0]=a=>B(x.value))},null,512),[[k,e(l)("integracao.mcpCopy"),void 0,{top:!0}]])]),i("ul",Te,[i("li",null,t(e(l)("integracao.mcpOauthClaudeAi")),1),i("li",null,t(e(l)("integracao.mcpOauthChatgpt")),1),i("li",null,[C(t(e(l)("integracao.mcpOauthClaudeCode"))+" ",1),i("code",Ve,"claude mcp add --transport http velip "+t(x.value),1)]),i("li",null,t(e(l)("integracao.mcpOauthCursor")),1)]),i("p",$e,t(e(l)("integracao.mcpOauthAfter")),1)])):f("",!0),n(e(me),{value:E.value,loading:N.value,expandedRows:F.value,"onUpdate:expandedRows":s[4]||(s[4]=a=>F.value=a),stripedRows:"",size:"small",responsiveLayout:"scroll",dataKey:"cdpsid_id"},{expansion:d(({data:a})=>[i("div",Ue,[i("div",De,[i("div",null,[i("span",ze,t(e(l)("integracao.colName")),1),i("span",null,t(a.cdpsid_name||"â"),1)]),i("div",null,[i("span",Pe,t(e(l)("integracao.colUser")),1),i("span",null,t(a.cdcsu_nome||"â"),1)]),i("div",null,[i("span",Ee,t(e(l)("integracao.colObs")),1),i("span",null,t(a.cdpsid_obs||"â"),1)])]),a.mcp_apis&&Object.keys(a.mcp_apis).length?(u(),_("div",Ne,[i("span",Se,t(e(l)("integracao.colApis")),1),i("div",He,[(u(!0),_(I,null,j(a.mcp_apis,(v,X)=>(u(),A(e(L),{key:X,value:Z(X),severity:v.enabled?"success":"secondary",class:"api-tag"},null,8,["value","severity"]))),128))])])):f("",!0),a.oauth_client?(u(),_("div",Re,[i("span",Be,t(e(l)("integracao.mcpOauthApp")),1),i("span",null,t(a.oauth_client),1),i("p",Le,t(e(l)("integracao.mcpOauthTokenHint")),1),a.mcp_enabled!=1?(u(),A(e(z),{key:0,severity:"warn",closable:!1,class:"access-warn"},{default:d(()=>[C(t(e(l)("integracao.mcpDisabledHint")),1)]),_:1})):f("",!0)])):f("",!0),a.oauth_client?f("",!0):(u(),_("div",Ie,[i("span",je,t(e(l)("integracao.mcpAccessPoint")),1),i("div",Je,[i("code",Fe,t(x.value),1),T(n(e(m),{icon:"pi pi-copy",size:"small",text:"",onClick:s[1]||(s[1]=v=>B(x.value))},null,512),[[k,e(l)("integracao.mcpCopy"),void 0,{top:!0}]])]),i("ul",Me,[i("li",null,t(e(l)("integracao.mcpTransport")),1),i("li",null,[C(t(e(l)("integracao.mcpAuthHeader"))+" ",1),i("code",Ge,"Authorization: Bearer "+t(R.value),1)]),i("li",null,t(e(l)("integracao.mcpTokenHint",{prefix:a.token_preview})),1)]),a.mcp_enabled!=1?(u(),A(e(z),{key:0,severity:"warn",closable:!1,class:"access-warn"},{default:d(()=>[C(t(e(l)("integracao.mcpDisabledHint")),1)]),_:1})):f("",!0)])),a.oauth_client?f("",!0):(u(),_("div",Ke,[i("span",We,t(e(l)("integracao.mcpHowToConnect")),1),n(e(ve),{modelValue:$.value,"onUpdate:modelValue":s[2]||(s[2]=v=>$.value=v),options:Q,optionValue:"value",optionLabel:"label",allowEmpty:!1,size:"small",class:"client-tabs"},null,8,["modelValue"]),i("p",Xe,t(e(l)("integracao.mcpClientHint_"+$.value)),1),i("div",qe,[i("pre",Qe,[i("code",null,t(G($.value)),1)]),T(n(e(m),{icon:"pi pi-copy",size:"small",text:"",class:"snippet-copy",onClick:s[3]||(s[3]=v=>B(G($.value)))},null,512),[[k,e(l)("integracao.mcpCopy"),void 0,{top:!0}]])]),i("p",Ye,t(e(l)("integracao.mcpReplaceToken",{placeholder:R.value})),1)])),i("div",Ze,[n(e(m),{label:e(l)("integracao.editPermissions"),icon:"pi pi-cog",size:"small",outlined:"",onClick:v=>K(a)},null,8,["label","onClick"]),n(e(m),{label:e(l)("integracao.revokeToken"),icon:"pi pi-trash",severity:"danger",size:"small",outlined:"",onClick:v=>W(a)},null,8,["label","onClick"])])])]),default:d(()=>[n(e(V),{expander:"",style:{width:"3rem"}}),n(e(V),{field:"cdpsid_name",header:e(l)("integracao.colName")},{body:d(({data:a})=>[i("span",null,t(a.cdpsid_name),1),a.oauth_client?(u(),A(e(L),{key:0,value:"OAuth",severity:"info",class:"oauth-tag"})):f("",!0)]),_:1},8,["header"]),n(e(V),{field:"token_preview",header:e(l)("integracao.colToken"),headerClass:"hide-mobile",bodyClass:"hide-mobile"},{body:d(({data:a})=>[i("span",Ae,t(a.token_preview),1)]),_:1},8,["header"]),n(e(V),{header:e(l)("integracao.colMcpEnabled"),style:{width:"90px"}},{body:d(({data:a})=>[n(e(L),{value:a.mcp_enabled==1?e(l)("app.yes"):e(l)("app.no"),severity:a.mcp_enabled==1?"success":"secondary"},null,8,["value","severity"])]),_:1},8,["header"]),n(e(V),{field:"cdpsid_date",header:e(l)("integracao.colDate"),style:{width:"110px"},headerClass:"hide-mobile",bodyClass:"hide-mobile"},{body:d(({data:a})=>[C(t(Y(a.cdpsid_date)),1)]),_:1},8,["header"]),n(e(V),{header:e(l)("app.actions"),style:{width:"110px"},headerClass:"hide-mobile",bodyClass:"hide-mobile"},{body:d(({data:a})=>[i("div",Oe,[T(n(e(m),{icon:"pi pi-cog",size:"small",text:"",onClick:v=>K(a)},null,8,["onClick"]),[[k,e(l)("integracao.editPermissions"),void 0,{top:!0}]]),T(n(e(m),{icon:"pi pi-trash",severity:"danger",size:"small",text:"",onClick:v=>W(a)},null,8,["onClick"]),[[k,e(l)("integracao.revokeToken"),void 0,{top:!0}]])])]),_:1},8,["header"])]),_:1},8,["value","loading","expandedRows"]),n(e(D),{visible:c.visible,"onUpdate:visible":s[9]||(s[9]=a=>c.visible=a),header:e(l)("integracao.createTokenTitle"),style:{width:"460px"},modal:""},{footer:d(()=>[n(e(m),{label:e(l)("app.cancel"),icon:"pi pi-times",severity:"secondary",onClick:s[8]||(s[8]=a=>c.visible=!1)},null,8,["label"]),n(e(m),{label:e(l)("integracao.createToken"),icon:"pi pi-key",loading:c.loading,onClick:le},null,8,["label","loading"])]),default:d(()=>[i("div",ea,[i("div",aa,[i("label",la,t(e(l)("integracao.colName")),1),n(e(J),{id:"mcp-name",modelValue:c.name,"onUpdate:modelValue":s[5]||(s[5]=a=>c.name=a),maxlength:"50"},null,8,["modelValue"])]),i("div",ia,[i("label",sa,t(e(l)("integracao.colObs")),1),n(e(J),{id:"mcp-obs",modelValue:c.obs,"onUpdate:modelValue":s[6]||(s[6]=a=>c.obs=a),maxlength:"100"},null,8,["modelValue"])]),s[18]||(s[18]=i("div",{class:"perm-divider"},null,-1)),i("div",oa,[i("label",ta,t(e(l)("integracao.mcpGlobalEnabled")),1),n(e(P),{id:"mcp-create-enabled",modelValue:c.enabled,"onUpdate:modelValue":s[7]||(s[7]=a=>c.enabled=a)},null,8,["modelValue"])]),(u(!0),_(I,null,j(h.value,a=>(u(),_("div",{key:a.cmapi_key,class:"field inline-toggle"},[i("label",{for:"create-api-"+a.cmapi_key},t(a.cmapi_label||a.cmapi_key),9,na),n(e(P),{id:"create-api-"+a.cmapi_key,modelValue:c.apis[a.cmapi_key],"onUpdate:modelValue":v=>c.apis[a.cmapi_key]=v,disabled:!c.enabled},null,8,["id","modelValue","onUpdate:modelValue","disabled"])]))),128))])]),_:1},8,["visible","header"]),n(e(D),{visible:w.value.visible,"onUpdate:visible":s[11]||(s[11]=a=>w.value.visible=a),header:e(l)("integracao.tokenCreatedTitle"),style:{width:"520px"},modal:"",closable:!1},{footer:d(()=>[n(e(m),{label:e(l)("app.confirm"),icon:"pi pi-check",onClick:s[10]||(s[10]=a=>w.value.visible=!1)},null,8,["label"])]),default:d(()=>[n(e(z),{severity:"warn",closable:!1},{default:d(()=>[C(t(e(l)("integracao.tokenCopyWarning")),1)]),_:1}),i("div",ca,[n(e(J),{modelValue:w.value.plaintext,readonly:"",class:"mono-field token-input"}
5,null,8,["modelValue"]),T(n(e(m),{icon:"pi pi-copy",size:"small",onClick:oe},null,512),[[k,e(l)("integracao.copyToken"),void 0,{top:!0}]])])]),_:1},8,["visible","header"]),n(e(D),{visible:r.visible,"onUpdate:visible":s[14]||(s[14]=a=>r.visible=a),header:e(l)("integracao.permissionsTitle"),style:{width:"480px"},modal:""},{footer:d(()=>[n(e(m),{label:e(l)("app.cancel"),icon:"pi pi-times",severity:"secondary",onClick:s[13]||(s[13]=a=>r.visible=!1)},null,8,["label"]),n(e(m),{label:e(l)("app.save"),icon:"pi pi-check",loading:r.loading,onClick:ie},null,8,["label","loading"])]),default:d(()=>[i("div",ra,[i("div",da,[i("label",pa,t(e(l)("integracao.mcpGlobalEnabled")),1),n(e(P),{id:"mcp-enabled",modelValue:r.enabled,"onUpdate:modelValue":s[12]||(s[12]=a=>r.enabled=a)},null,8,["modelValue"])]),(u(!0),_(I,null,j(h.value,a=>(u(),_("div",{key:a.cmapi_key,class:"field inline-toggle"},[i("label",{for:"api-"+a.cmapi_key},t(a.cmapi_label||a.cmapi_key),9,ua),n(e(P),{id:"api-"+a.cmapi_key,modelValue:r.apis[a.cmapi_key],"onUpdate:modelValue":v=>r.apis[a.cmapi_key]=v},null,8,["id","modelValue","onUpdate:modelValue"])]))),128))])]),_:1},8,["visible","header"]),n(e(D),{visible:g.value.visible,"onUpdate:visible":s[16]||(s[16]=a=>g.value.visible=a),header:e(l)("integracao.revokeTokenTitle"),style:{width:"400px"},modal:""},{footer:d(()=>[n(e(m),{label:e(l)("app.cancel"),icon:"pi pi-times",severity:"secondary",onClick:s[15]||(s[15]=a=>g.value.visible=!1)},null,8,["label"]),n(e(m),{label:e(l)("app.confirm"),icon:"pi pi-trash",severity:"danger",loading:g.value.loading,onClick:se},null,8,["label","loading"])]),default:d(()=>[i("p",null,t(e(l)("integracao.revokeTokenConfirm",{name:g.value.name})),1)]),_:1},8,["visible","header"])])}}},Pa=te(va,[["__scopeId","data-v-4eae516c"]]);export{Pa as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.