@decocms/mesh 1.0.21 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-CkBPRGL_.js → AlertCircle-D7Y5lb85.js} +1 -1
- package/dist/client/assets/{ArrowLeft-eDq0PdxL.js → ArrowLeft-DLGdR8R3.js} +1 -1
- package/dist/client/assets/{Calendar-GsuMeXnI.js → Calendar-BIuHCFcF.js} +1 -1
- package/dist/client/assets/{ChevronDown-CqrF2uJ-.js → ChevronDown-DNVwrHI3.js} +1 -1
- package/dist/client/assets/{Clock-d43uwP0y.js → Clock-CbKCY_SW.js} +1 -1
- package/dist/client/assets/{Copy01-CUqgUCLS.js → Copy01-B-rLWzst.js} +1 -1
- package/dist/client/assets/{CpuChip02-CwrVudRE.js → CpuChip02-wuCmGgd2.js} +1 -1
- package/dist/client/assets/{DotsVertical-CGWni397.js → DotsVertical-qrfHOj7f.js} +1 -1
- package/dist/client/assets/{File06-CwcvFGqd.js → File06-DJfHNtkr.js} +1 -1
- package/dist/client/assets/{GitBranch01-B0LIL7GO.js → GitBranch01-DKUtbZqA.js} +1 -1
- package/dist/client/assets/{Inbox01-De35FSLT.js → Inbox01-C3SohPjD.js} +1 -1
- package/dist/client/assets/{InfoCircle-CaOedrxe.js → InfoCircle-JMKMx9jx.js} +1 -1
- package/dist/client/assets/{Key01-BXtnSDND.js → Key01-BUYdliq4.js} +1 -1
- package/dist/client/assets/{LinkExternal01-ClKXW-wQ.js → LinkExternal01-CwO6S7_R.js} +1 -1
- package/dist/client/assets/{Loading01-DfUJLT5a.js → Loading01-DyCC_wp5.js} +1 -1
- package/dist/client/assets/{Lock01-mcQuD2fk.js → Lock01-CJO1oPaw.js} +1 -1
- package/dist/client/assets/{Plus-xQLsl9Xg.js → Plus-BoZvN_rT.js} +1 -1
- package/dist/client/assets/{SearchMd-BAWY3jJ1.js → SearchMd-DBw3zp_M.js} +1 -1
- package/dist/client/assets/{Terminal-CJwUlnBn.js → Terminal-DURJ2Sop.js} +1 -1
- package/dist/client/assets/{Trash01-DAwkJNu8.js → Trash01-D8NpuzHg.js} +1 -1
- package/dist/client/assets/{Upload01-5z8SDkNm.js → Upload01-BYUhUNdK.js} +1 -1
- package/dist/client/assets/{X-SWur-HdE.js → X-BV7uqO3B.js} +1 -1
- package/dist/client/assets/{XClose-CAyc7YMv.js → XClose-Dez1KTRy.js} +1 -1
- package/dist/client/assets/{alert-dialog-dauOR89q.js → alert-dialog-2c4JlYwD.js} +2 -2
- package/dist/client/assets/auth-DLdX6AGd.js +1 -0
- package/dist/client/assets/{auth-catchall-L0DhXNi0.js → auth-catchall-kFa24VQN.js} +1 -1
- package/dist/client/assets/avatar-NC000dj0.js +1 -0
- package/dist/client/assets/{badge-DBsMMhww.js → badge-ffsmxYLL.js} +1 -1
- package/dist/client/assets/{button-UpWqqi7Z.js → button-BM8Ntdfr.js} +1 -1
- package/dist/client/assets/{card-csaWOT-1.js → card-BWKGhflg.js} +1 -1
- package/dist/client/assets/{checkbox-B53QAVdc.js → checkbox-CDB4i5WM.js} +1 -1
- package/dist/client/assets/{collection-detail-DU4x4vE8.js → collection-detail-DUvB2Vch.js} +1 -1
- package/dist/client/assets/{collection-display-button-CJMwmXuc.js → collection-display-button-M0ZEYwbq.js} +1 -1
- package/dist/client/assets/{collection-header-BIZLVBPH.js → collection-header-BZq2RMFO.js} +1 -1
- package/dist/client/assets/{collection-page-CpTNB-W7.js → collection-page-DV7fHb8_.js} +1 -1
- package/dist/client/assets/{collection-search-xvAQUbQ8.js → collection-search-D4vMytfv.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BLpgESGM.js → collection-table-wrapper-CDYLUpBi.js} +1 -1
- package/dist/client/assets/{connection-card-DIVWkbya.js → connection-card-DMoDmlju.js} +1 -1
- package/dist/client/assets/connection-detail-BPMKrF4u.js +1 -0
- package/dist/client/assets/connections-W2RFM1S-.js +1 -0
- package/dist/client/assets/{core-Cy6-sfQL.js → core-CJVZ6TZ4.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-BpD_WYLu.js → create-organization-dialog-DY8wFeXZ.js} +1 -1
- package/dist/client/assets/{dialog-DQ_m9LgP.js → dialog-_0iI5rNw.js} +1 -1
- package/dist/client/assets/{dropdown-menu-B_pozn9G.js → dropdown-menu-4Ypgp2xI.js} +1 -1
- package/dist/client/assets/env-vars-editor-DuAsDAtd.js +1 -0
- package/dist/client/assets/{error-boundary-07xTy_TK.js → error-boundary-Dd7BgwTJ.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DzWc2H-V.js → extract-connection-data-C4wZpmQd.js} +1 -1
- package/dist/client/assets/{form-CGaxh2WC.js → form-DNdbWanJ.js} +1 -1
- package/dist/client/assets/{formatDistanceToNow-BzQ8Uo3Q.js → formatDistanceToNow-CNMZ-Ei_.js} +1 -1
- package/dist/client/assets/gateway-detail-De4b4XSK.js +1 -0
- package/dist/client/assets/{gateways-B-RGUqRx.js → gateways-q4D0Ec2r.js} +1 -1
- package/dist/client/assets/{home-FzIxjpJt.js → home-RuIm8-ic.js} +1 -1
- package/dist/client/assets/index-BdkjLo3e.css +1 -0
- package/dist/client/assets/{index-D_9U2egr.js → index-BlsDXE23.js} +20 -20
- package/dist/client/assets/{index-D_TAlzS2.js → index-CD92JRY8.js} +1 -1
- package/dist/client/assets/{index-Czm7CWjK.js → index-CGy1qJ5Y.js} +1 -1
- package/dist/client/assets/{index-CB7OHJDJ.js → index-MYfTA9Ba.js} +1 -1
- package/dist/client/assets/{input-DNanPJKs.js → input-B45bC0Rc.js} +1 -1
- package/dist/client/assets/json-DzSEyFTU.js +1 -0
- package/dist/client/assets/{json-syntax-highlighter-BgGlXkoS.js → json-syntax-highlighter-DO7qBvWL.js} +2 -2
- package/dist/client/assets/{layout-Cx9b8Yer.js → layout-RDUry3u6.js} +1 -1
- package/dist/client/assets/{lazy-highlighter-B6ffJp-C.js → lazy-highlighter-KouMYaFu.js} +1 -1
- package/dist/client/assets/{localstorage-keys-BkdyiQZF.js → localstorage-keys-BNPDgZQf.js} +1 -1
- package/dist/client/assets/{login-C7pFWDVX.js → login-BZwM9o36.js} +1 -1
- package/dist/client/assets/{mcp-oauth-C_ge4NPz.js → mcp-oauth-BxQJ_sZ7.js} +1 -1
- package/dist/client/assets/members-b4fCyidG.js +3 -0
- package/dist/client/assets/monitoring-C3u-RljV.js +1 -0
- package/dist/client/assets/{oauth-callback-DVsq0aWr.js → oauth-callback-C8RVlzMp.js} +1 -1
- package/dist/client/assets/{page-lDA0jUjQ.js → page-D9cTJOkH.js} +1 -1
- package/dist/client/assets/popover-CDfnuIYl.js +1 -0
- package/dist/client/assets/prism-light-CAnIadDL.js +1 -0
- package/dist/client/assets/{resizable-CjAFAEbu.js → resizable-CwsfF64n.js} +34 -34
- package/dist/client/assets/{resource-tabs-CwnllnxC.js → resource-tabs-yHmaZ9ZD.js} +1 -1
- package/dist/client/assets/select-CG-oLpgX.js +1 -0
- package/dist/client/assets/{settings-B33ucW8T.js → settings-CrKQeRt-.js} +1 -1
- package/dist/client/assets/shell-layout-DRz6Ov6H.js +19 -0
- package/dist/client/assets/{spinner-mwkhkfGn.js → spinner-BIp36cWs.js} +1 -1
- package/dist/client/assets/{store-bCSxhgbO.js → store-DpYoNJNm.js} +1 -1
- package/dist/client/assets/{store-app-detail-MMa90jUl.js → store-app-detail-CxLOlzfX.js} +1 -1
- package/dist/client/assets/switch-Ckivla4Z.js +1 -0
- package/dist/client/assets/{tools-list-ReDr32oC.js → tools-list-DWIsrkx2.js} +1 -1
- package/dist/client/assets/tooltip-CYopm1Sm.js +1 -0
- package/dist/client/assets/{types-C7Od-bBc.js → types-Bmw9MVte.js} +1 -1
- package/dist/client/assets/{use-binding-q2q9V0d9.js → use-binding-DiGbYyGi.js} +6 -6
- package/dist/client/assets/{use-connection-CCY0Xwwp.js → use-connection-BGthiOfQ.js} +1 -1
- package/dist/client/assets/{use-connection-resources-CQX8IZC3.js → use-connection-resources-B-9emPmy.js} +1 -1
- package/dist/client/assets/{use-gateway-6PKj5OoP.js → use-gateway-B_vZFCo_.js} +1 -1
- package/dist/client/assets/{use-list-state-C-sROL5p.js → use-list-state-D2xhuXBP.js} +1 -1
- package/dist/client/assets/{use-mcp-W5evRIL-.js → use-mcp-CKeUPEl8.js} +1 -1
- package/dist/client/assets/{use-members-DBU71Me9.js → use-members-DGy3Ohsl.js} +1 -1
- package/dist/client/assets/{use-mobile-DjZ7nTWx.js → use-mobile-BSF9aYm8.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Du1vfsWT.js → use-organization-settings-Xs2e_hDY.js} +1 -1
- package/dist/client/assets/{use-tool-call-DTxbLF2G.js → use-tool-call-DOhzogS9.js} +1 -1
- package/dist/client/assets/useQuery-CA4Qsiz4.js +1 -0
- package/dist/client/assets/{useSuspenseInfiniteQuery-6jf87YQF.js → useSuspenseInfiniteQuery-HnhdgP6D.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-BWA1OFcI.js → view-mode-toggle-D-v785I-.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +141 -141
- package/dist/server/migrate.js +87 -87
- package/dist/server/server.js +138 -138
- package/package.json +1 -1
- package/dist/client/assets/auth-Ds7lWA5K.js +0 -1
- package/dist/client/assets/avatar-CB7RLPFt.js +0 -1
- package/dist/client/assets/connection-detail-Cdicu8TT.js +0 -1
- package/dist/client/assets/connections-BYIPhseC.js +0 -1
- package/dist/client/assets/env-vars-editor-DcIkv_3p.js +0 -1
- package/dist/client/assets/gateway-detail-DOKwn-_O.js +0 -1
- package/dist/client/assets/index-DNC-5MRZ.css +0 -1
- package/dist/client/assets/json-rZ-8IzF3.js +0 -1
- package/dist/client/assets/members-g3aHOb_a.js +0 -3
- package/dist/client/assets/monitoring-B4Jp1FeK.js +0 -1
- package/dist/client/assets/popover-BN78TD4M.js +0 -1
- package/dist/client/assets/prism-light-B_WmfTLI.js +0 -1
- package/dist/client/assets/select-888i9ck2.js +0 -1
- package/dist/client/assets/shell-layout-D2VG1r1F.js +0 -17
- package/dist/client/assets/switch-CxdnIT30.js +0 -1
- package/dist/client/assets/tooltip-CaoJSXa7.js +0 -1
- package/dist/client/assets/useQuery-BTda2D25.js +0 -1
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aH as h,w as e,aM as u,bL as y,aL as Le,v as i,aN as r,aO as S,a0 as U,W as s,b8 as ve,X as _,Y as m,bM as Ie,aJ as dt,bN as g,bO as mt,aP as Ae,bP as ht,bQ as _t,bR as ft,b1 as St}from"./index-D_9U2egr.js";const gt={custom:"custom"},me="2025-11-25",Bn=[me,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Rt="io.modelcontextprotocol/related-task",F="2.0",C=dt(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Oe=h([e(),u().int()]),Me=e();y({ttl:h([u(),Le()]).optional(),pollInterval:u().optional()});const wt=i({ttl:u().optional()}),yt=i({taskId:e()}),he=y({progressToken:Oe.optional(),[Rt]:yt.optional()}),T=i({_meta:he.optional()}),M=T.extend({task:wt.optional()}),Jn=t=>M.safeParse(t).success,x=i({method:e(),params:T.loose().optional()}),b=i({_meta:he.optional()}),q=i({method:e(),params:b.loose().optional()}),k=y({_meta:he.optional()}),Z=h([e(),u().int()]),Ne=i({jsonrpc:r(F),id:Z,...x.shape}).strict(),Gn=t=>Ne.safeParse(t).success,je=i({jsonrpc:r(F),...q.shape}).strict(),Fn=t=>je.safeParse(t).success,_e=i({jsonrpc:r(F),id:Z,result:k}).strict(),Zn=t=>_e.safeParse(t).success;var W;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(W||(W={}));const fe=i({jsonrpc:r(F),id:Z.optional(),error:i({code:u().int(),message:e(),data:S().optional()})}).strict(),Kn=t=>fe.safeParse(t).success,Yn=h([Ne,je,_e,fe]);h([_e,fe]);const ze=k.strict(),Ct=b.extend({requestId:Z.optional(),reason:e().optional()}),$e=q.extend({method:r("notifications/cancelled"),params:Ct}),xt=i({src:e(),mimeType:e().optional(),sizes:s(e()).optional(),theme:U(["light","dark"]).optional()}),N=i({icons:s(xt).optional()}),v=i({name:e(),title:e().optional()}),He=v.extend({...v.shape,...N.shape,version:e(),websiteUrl:e().optional(),description:e().optional()}),kt=ve(i({applyDefaults:m().optional()}),_(e(),S())),Pt=Ie(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,ve(i({form:kt.optional(),url:C.optional()}),_(e(),S()).optional())),Tt=y({list:C.optional(),cancel:C.optional(),requests:y({sampling:y({createMessage:C.optional()}).optional(),elicitation:y({create:C.optional()}).optional()}).optional()}),Ut=y({list:C.optional(),cancel:C.optional(),requests:y({tools:y({call:C.optional()}).optional()}).optional()}),bt=i({experimental:_(e(),C).optional(),sampling:i({context:C.optional(),tools:C.optional()}).optional(),elicitation:Pt.optional(),roots:i({listChanged:m().optional()}).optional(),tasks:Tt.optional()}),qt=T.extend({protocolVersion:e(),capabilities:bt,clientInfo:He}),Et=x.extend({method:r("initialize"),params:qt}),Lt=i({experimental:_(e(),C).optional(),logging:C.optional(),completions:C.optional(),prompts:i({listChanged:m().optional()}).optional(),resources:i({subscribe:m().optional(),listChanged:m().optional()}).optional(),tools:i({listChanged:m().optional()}).optional(),tasks:Ut.optional()}),vt=k.extend({protocolVersion:e(),capabilities:Lt,serverInfo:He,instructions:e().optional()}),We=q.extend({method:r("notifications/initialized"),params:b.optional()}),Qn=t=>We.safeParse(t).success,Ve=x.extend({method:r("ping"),params:T.optional()}),It=i({progress:u(),total:g(u()),message:g(e())}),At=i({...b.shape,...It.shape,progressToken:Oe}),De=q.extend({method:r("notifications/progress"),params:At}),Ot=T.extend({cursor:Me.optional()}),j=x.extend({params:Ot.optional()}),z=k.extend({nextCursor:Me.optional()}),Mt=U(["working","input_required","completed","failed","cancelled"]),$=i({taskId:e(),status:Mt,ttl:h([u(),Le()]),createdAt:e(),lastUpdatedAt:e(),pollInterval:g(u()),statusMessage:g(e())}),Be=k.extend({task:$}),Nt=b.merge($),Je=q.extend({method:r("notifications/tasks/status"),params:Nt}),Ge=x.extend({method:r("tasks/get"),params:T.extend({taskId:e()})}),Fe=k.merge($),Ze=x.extend({method:r("tasks/result"),params:T.extend({taskId:e()})});k.loose();const Ke=j.extend({method:r("tasks/list")}),Ye=z.extend({tasks:s($)}),Qe=x.extend({method:r("tasks/cancel"),params:T.extend({taskId:e()})}),Xn=k.merge($),Xe=i({uri:e(),mimeType:g(e()),_meta:_(e(),S()).optional()}),et=Xe.extend({text:e()}),Se=e().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),tt=Xe.extend({blob:Se}),H=U(["user","assistant"]),A=i({audience:s(H).optional(),priority:u().min(0).max(1).optional(),lastModified:mt({offset:!0}).optional()}),ot=i({...v.shape,...N.shape,uri:e(),description:g(e()),mimeType:g(e()),annotations:A.optional(),_meta:g(y({}))}),jt=i({...v.shape,...N.shape,uriTemplate:e(),description:g(e()),mimeType:g(e()),annotations:A.optional(),_meta:g(y({}))}),zt=j.extend({method:r("resources/list")}),$t=z.extend({resources:s(ot)}),Ht=j.extend({method:r("resources/templates/list")}),Wt=z.extend({resourceTemplates:s(jt)}),ge=T.extend({uri:e()}),Vt=ge,Dt=x.extend({method:r("resources/read"),params:Vt}),Bt=k.extend({contents:s(h([et,tt]))}),Jt=q.extend({method:r("notifications/resources/list_changed"),params:b.optional()}),Gt=ge,Ft=x.extend({method:r("resources/subscribe"),params:Gt}),Zt=ge,Kt=x.extend({method:r("resources/unsubscribe"),params:Zt}),Yt=b.extend({uri:e()}),Qt=q.extend({method:r("notifications/resources/updated"),params:Yt}),Xt=i({name:e(),description:g(e()),required:g(m())}),eo=i({...v.shape,...N.shape,description:g(e()),arguments:g(s(Xt)),_meta:g(y({}))}),to=j.extend({method:r("prompts/list")}),oo=z.extend({prompts:s(eo)}),no=T.extend({name:e(),arguments:_(e(),e()).optional()}),ao=x.extend({method:r("prompts/get"),params:no}),Re=i({type:r("text"),text:e(),annotations:A.optional(),_meta:_(e(),S()).optional()}),we=i({type:r("image"),data:Se,mimeType:e(),annotations:A.optional(),_meta:_(e(),S()).optional()}),ye=i({type:r("audio"),data:Se,mimeType:e(),annotations:A.optional(),_meta:_(e(),S()).optional()}),so=i({type:r("tool_use"),name:e(),id:e(),input:_(e(),S()),_meta:_(e(),S()).optional()}),io=i({type:r("resource"),resource:h([et,tt]),annotations:A.optional(),_meta:_(e(),S()).optional()}),ro=ot.extend({type:r("resource_link")}),Ce=h([Re,we,ye,ro,io]),co=i({role:H,content:Ce}),lo=k.extend({description:e().optional(),messages:s(co)}),po=q.extend({method:r("notifications/prompts/list_changed"),params:b.optional()}),uo=i({title:e().optional(),readOnlyHint:m().optional(),destructiveHint:m().optional(),idempotentHint:m().optional(),openWorldHint:m().optional()}),mo=i({taskSupport:U(["required","optional","forbidden"]).optional()}),nt=i({...v.shape,...N.shape,description:e().optional(),inputSchema:i({type:r("object"),properties:_(e(),C).optional(),required:s(e()).optional()}).catchall(S()),outputSchema:i({type:r("object"),properties:_(e(),C).optional(),required:s(e()).optional()}).catchall(S()).optional(),annotations:uo.optional(),execution:mo.optional(),_meta:_(e(),S()).optional()}),ho=j.extend({method:r("tools/list")}),_o=z.extend({tools:s(nt)}),at=k.extend({content:s(Ce).default([]),structuredContent:_(e(),S()).optional(),isError:m().optional()});at.or(k.extend({toolResult:S()}));const fo=M.extend({name:e(),arguments:_(e(),S()).optional()}),So=x.extend({method:r("tools/call"),params:fo}),go=q.extend({method:r("notifications/tools/list_changed"),params:b.optional()}),ea=i({autoRefresh:m().default(!0),debounceMs:u().int().nonnegative().default(300)}),st=U(["debug","info","notice","warning","error","critical","alert","emergency"]),Ro=T.extend({level:st}),wo=x.extend({method:r("logging/setLevel"),params:Ro}),yo=b.extend({level:st,logger:e().optional(),data:S()}),Co=q.extend({method:r("notifications/message"),params:yo}),xo=i({name:e().optional()}),ko=i({hints:s(xo).optional(),costPriority:u().min(0).max(1).optional(),speedPriority:u().min(0).max(1).optional(),intelligencePriority:u().min(0).max(1).optional()}),Po=i({mode:U(["auto","required","none"]).optional()}),To=i({type:r("tool_result"),toolUseId:e().describe("The unique identifier for the corresponding tool call."),content:s(Ce).default([]),structuredContent:i({}).loose().optional(),isError:m().optional(),_meta:_(e(),S()).optional()}),Uo=Ae("type",[Re,we,ye]),V=Ae("type",[Re,we,ye,so,To]),bo=i({role:H,content:h([V,s(V)]),_meta:_(e(),S()).optional()}),qo=M.extend({messages:s(bo),modelPreferences:ko.optional(),systemPrompt:e().optional(),includeContext:U(["none","thisServer","allServers"]).optional(),temperature:u().optional(),maxTokens:u().int(),stopSequences:s(e()).optional(),metadata:C.optional(),tools:s(nt).optional(),toolChoice:Po.optional()}),Eo=x.extend({method:r("sampling/createMessage"),params:qo}),Lo=k.extend({model:e(),stopReason:g(U(["endTurn","stopSequence","maxTokens"]).or(e())),role:H,content:Uo}),vo=k.extend({model:e(),stopReason:g(U(["endTurn","stopSequence","maxTokens","toolUse"]).or(e())),role:H,content:h([V,s(V)])}),Io=i({type:r("boolean"),title:e().optional(),description:e().optional(),default:m().optional()}),Ao=i({type:r("string"),title:e().optional(),description:e().optional(),minLength:u().optional(),maxLength:u().optional(),format:U(["email","uri","date","date-time"]).optional(),default:e().optional()}),Oo=i({type:U(["number","integer"]),title:e().optional(),description:e().optional(),minimum:u().optional(),maximum:u().optional(),default:u().optional()}),Mo=i({type:r("string"),title:e().optional(),description:e().optional(),enum:s(e()),default:e().optional()}),No=i({type:r("string"),title:e().optional(),description:e().optional(),oneOf:s(i({const:e(),title:e()})),default:e().optional()}),jo=i({type:r("string"),title:e().optional(),description:e().optional(),enum:s(e()),enumNames:s(e()).optional(),default:e().optional()}),zo=h([Mo,No]),$o=i({type:r("array"),title:e().optional(),description:e().optional(),minItems:u().optional(),maxItems:u().optional(),items:i({type:r("string"),enum:s(e())}),default:s(e()).optional()}),Ho=i({type:r("array"),title:e().optional(),description:e().optional(),minItems:u().optional(),maxItems:u().optional(),items:i({anyOf:s(i({const:e(),title:e()}))}),default:s(e()).optional()}),Wo=h([$o,Ho]),Vo=h([jo,zo,Wo]),Do=h([Vo,Io,Ao,Oo]),Bo=M.extend({mode:r("form").optional(),message:e(),requestedSchema:i({type:r("object"),properties:_(e(),Do),required:s(e()).optional()})}),Jo=M.extend({mode:r("url"),message:e(),elicitationId:e(),url:e().url()}),Go=h([Bo,Jo]),Fo=x.extend({method:r("elicitation/create"),params:Go}),Zo=b.extend({elicitationId:e()}),Ko=q.extend({method:r("notifications/elicitation/complete"),params:Zo}),Yo=k.extend({action:U(["accept","decline","cancel"]),content:Ie(t=>t===null?void 0:t,_(e(),h([e(),u(),m(),s(e())])).optional())}),Qo=i({type:r("ref/resource"),uri:e()}),Xo=i({type:r("ref/prompt"),name:e()}),en=T.extend({ref:h([Xo,Qo]),argument:i({name:e(),value:e()}),context:i({arguments:_(e(),e()).optional()}).optional()}),tn=x.extend({method:r("completion/complete"),params:en}),on=k.extend({completion:y({values:s(e()).max(100),total:g(u().int()),hasMore:g(m())})}),nn=i({uri:e().startsWith("file://"),name:e().optional(),_meta:_(e(),S()).optional()}),an=x.extend({method:r("roots/list"),params:T.optional()}),sn=k.extend({roots:s(nn)}),rn=q.extend({method:r("notifications/roots/list_changed"),params:b.optional()});h([Ve,Et,tn,wo,ao,to,zt,Ht,Dt,Ft,Kt,So,ho,Ge,Ze,Ke,Qe]);h([$e,De,We,rn,Je]);h([ze,Lo,vo,Yo,sn,Fe,Ye,Be]);h([Ve,Eo,Fo,an,Ge,Ze,Ke,Qe]);h([$e,De,Co,Qt,Jt,go,po,Je,Ko]);h([ze,vt,on,lo,oo,$t,Wt,Bt,at,_o,Fe,Ye,Be]);class xe extends Error{constructor(o,n,a){super(`MCP error ${o}: ${n}`),this.code=o,this.data=a,this.name="McpError"}static fromError(o,n,a){if(o===W.UrlElicitationRequired&&a){const c=a;if(c.elicitations)return new cn(c.elicitations,n)}return new xe(o,n,a)}}class cn extends xe{constructor(o,n=`URL elicitation${o.length>1?"s":""} required`){super(W.UrlElicitationRequired,n,{elicitations:o})}get elicitations(){return this.data?.elicitations??[]}}let ke;ke=globalThis.crypto;async function ln(t){return(await ke).getRandomValues(new Uint8Array(t))}async function pn(t){const o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",n=Math.pow(2,8)-Math.pow(2,8)%o.length;let a="";for(;a.length<t;){const c=await ln(t-a.length);for(const p of c)p<n&&(a+=o[p%o.length])}return a}async function un(t){return await pn(t)}async function dn(t){const o=await(await ke).subtle.digest("SHA-256",new TextEncoder().encode(t));return btoa(String.fromCharCode(...new Uint8Array(o))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function mn(t){if(t||(t=43),t<43||t>128)throw`Expected a length between 43 and 128. Received ${t}.`;const o=await un(t),n=await dn(o);return{code_verifier:o,code_challenge:n}}const w=ht().superRefine((t,o)=>{if(!URL.canParse(t))return o.addIssue({code:gt.custom,message:"URL must be parseable",fatal:!0}),_t}).refine(t=>{const o=new URL(t);return o.protocol!=="javascript:"&&o.protocol!=="data:"&&o.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),hn=y({resource:e().url(),authorization_servers:s(w).optional(),jwks_uri:e().url().optional(),scopes_supported:s(e()).optional(),bearer_methods_supported:s(e()).optional(),resource_signing_alg_values_supported:s(e()).optional(),resource_name:e().optional(),resource_documentation:e().optional(),resource_policy_uri:e().url().optional(),resource_tos_uri:e().url().optional(),tls_client_certificate_bound_access_tokens:m().optional(),authorization_details_types_supported:s(e()).optional(),dpop_signing_alg_values_supported:s(e()).optional(),dpop_bound_access_tokens_required:m().optional()}),it=y({issuer:e(),authorization_endpoint:w,token_endpoint:w,registration_endpoint:w.optional(),scopes_supported:s(e()).optional(),response_types_supported:s(e()),response_modes_supported:s(e()).optional(),grant_types_supported:s(e()).optional(),token_endpoint_auth_methods_supported:s(e()).optional(),token_endpoint_auth_signing_alg_values_supported:s(e()).optional(),service_documentation:w.optional(),revocation_endpoint:w.optional(),revocation_endpoint_auth_methods_supported:s(e()).optional(),revocation_endpoint_auth_signing_alg_values_supported:s(e()).optional(),introspection_endpoint:e().optional(),introspection_endpoint_auth_methods_supported:s(e()).optional(),introspection_endpoint_auth_signing_alg_values_supported:s(e()).optional(),code_challenge_methods_supported:s(e()).optional(),client_id_metadata_document_supported:m().optional()}),_n=y({issuer:e(),authorization_endpoint:w,token_endpoint:w,userinfo_endpoint:w.optional(),jwks_uri:w,registration_endpoint:w.optional(),scopes_supported:s(e()).optional(),response_types_supported:s(e()),response_modes_supported:s(e()).optional(),grant_types_supported:s(e()).optional(),acr_values_supported:s(e()).optional(),subject_types_supported:s(e()),id_token_signing_alg_values_supported:s(e()),id_token_encryption_alg_values_supported:s(e()).optional(),id_token_encryption_enc_values_supported:s(e()).optional(),userinfo_signing_alg_values_supported:s(e()).optional(),userinfo_encryption_alg_values_supported:s(e()).optional(),userinfo_encryption_enc_values_supported:s(e()).optional(),request_object_signing_alg_values_supported:s(e()).optional(),request_object_encryption_alg_values_supported:s(e()).optional(),request_object_encryption_enc_values_supported:s(e()).optional(),token_endpoint_auth_methods_supported:s(e()).optional(),token_endpoint_auth_signing_alg_values_supported:s(e()).optional(),display_values_supported:s(e()).optional(),claim_types_supported:s(e()).optional(),claims_supported:s(e()).optional(),service_documentation:e().optional(),claims_locales_supported:s(e()).optional(),ui_locales_supported:s(e()).optional(),claims_parameter_supported:m().optional(),request_parameter_supported:m().optional(),request_uri_parameter_supported:m().optional(),require_request_uri_registration:m().optional(),op_policy_uri:w.optional(),op_tos_uri:w.optional(),client_id_metadata_document_supported:m().optional()}),fn=i({..._n.shape,...it.pick({code_challenge_methods_supported:!0}).shape}),Sn=i({access_token:e(),id_token:e().optional(),token_type:e(),expires_in:ft().optional(),scope:e().optional(),refresh_token:e().optional()}).strip(),gn=i({error:e(),error_description:e().optional(),error_uri:e().optional()}),qe=w.optional().or(r("").transform(()=>{})),Rn=i({redirect_uris:s(w),token_endpoint_auth_method:e().optional(),grant_types:s(e()).optional(),response_types:s(e()).optional(),client_name:e().optional(),client_uri:w.optional(),logo_uri:qe,scope:e().optional(),contacts:s(e()).optional(),tos_uri:qe,policy_uri:e().optional(),jwks_uri:w.optional(),jwks:St().optional(),software_id:e().optional(),software_version:e().optional(),software_statement:e().optional()}).strip(),wn=i({client_id:e(),client_secret:e().optional(),client_id_issued_at:u().optional(),client_secret_expires_at:u().optional()}).strip(),yn=Rn.merge(wn);i({error:e(),error_description:e().optional()}).strip();i({token:e(),token_type_hint:e().optional()}).strip();function Cn(t){const o=typeof t=="string"?new URL(t):new URL(t.href);return o.hash="",o}function xn({requestedResource:t,configuredResource:o}){const n=typeof t=="string"?new URL(t):new URL(t.href),a=typeof o=="string"?new URL(o):new URL(o.href);if(n.origin!==a.origin||n.pathname.length<a.pathname.length)return!1;const c=n.pathname.endsWith("/")?n.pathname:n.pathname+"/",p=a.pathname.endsWith("/")?a.pathname:a.pathname+"/";return c.startsWith(p)}class R extends Error{constructor(o,n){super(o),this.errorUri=n,this.name=this.constructor.name}toResponseObject(){const o={error:this.errorCode,error_description:this.message};return this.errorUri&&(o.error_uri=this.errorUri),o}get errorCode(){return this.constructor.errorCode}}class te extends R{}te.errorCode="invalid_request";class D extends R{}D.errorCode="invalid_client";class B extends R{}B.errorCode="invalid_grant";class J extends R{}J.errorCode="unauthorized_client";class oe extends R{}oe.errorCode="unsupported_grant_type";class ne extends R{}ne.errorCode="invalid_scope";class ae extends R{}ae.errorCode="access_denied";class I extends R{}I.errorCode="server_error";class se extends R{}se.errorCode="temporarily_unavailable";class ie extends R{}ie.errorCode="unsupported_response_type";class re extends R{}re.errorCode="unsupported_token_type";class ce extends R{}ce.errorCode="invalid_token";class le extends R{}le.errorCode="method_not_allowed";class pe extends R{}pe.errorCode="too_many_requests";class G extends R{}G.errorCode="invalid_client_metadata";class ue extends R{}ue.errorCode="insufficient_scope";class de extends R{}de.errorCode="invalid_target";const kn={[te.errorCode]:te,[D.errorCode]:D,[B.errorCode]:B,[J.errorCode]:J,[oe.errorCode]:oe,[ne.errorCode]:ne,[ae.errorCode]:ae,[I.errorCode]:I,[se.errorCode]:se,[ie.errorCode]:ie,[re.errorCode]:re,[ce.errorCode]:ce,[le.errorCode]:le,[pe.errorCode]:pe,[G.errorCode]:G,[ue.errorCode]:ue,[de.errorCode]:de};class ta extends Error{constructor(o){super(o??"Unauthorized")}}function Pn(t){return["client_secret_basic","client_secret_post","none"].includes(t)}const Y="code",Q="S256";function Tn(t,o){const n=t.client_secret!==void 0;return o.length===0?n?"client_secret_post":"none":"token_endpoint_auth_method"in t&&t.token_endpoint_auth_method&&Pn(t.token_endpoint_auth_method)&&o.includes(t.token_endpoint_auth_method)?t.token_endpoint_auth_method:n&&o.includes("client_secret_basic")?"client_secret_basic":n&&o.includes("client_secret_post")?"client_secret_post":o.includes("none")?"none":n?"client_secret_post":"none"}function Un(t,o,n,a){const{client_id:c,client_secret:p}=o;switch(t){case"client_secret_basic":bn(c,p,n);return;case"client_secret_post":qn(c,p,a);return;case"none":En(c,a);return;default:throw new Error(`Unsupported client authentication method: ${t}`)}}function bn(t,o,n){if(!o)throw new Error("client_secret_basic authentication requires a client_secret");const a=btoa(`${t}:${o}`);n.set("Authorization",`Basic ${a}`)}function qn(t,o,n){n.set("client_id",t),o&&n.set("client_secret",o)}function En(t,o){o.set("client_id",t)}async function rt(t){const o=t instanceof Response?t.status:void 0,n=t instanceof Response?await t.text():t;try{const a=gn.parse(JSON.parse(n)),{error:c,error_description:p,error_uri:d}=a,l=kn[c]||I;return new l(p||"",d)}catch(a){const c=`${o?`HTTP ${o}: `:""}Invalid OAuth error response: ${a}. Raw body: ${n}`;return new I(c)}}async function oa(t,o){try{return await X(t,o)}catch(n){if(n instanceof D||n instanceof J)return await t.invalidateCredentials?.("all"),await X(t,o);if(n instanceof B)return await t.invalidateCredentials?.("tokens"),await X(t,o);throw n}}async function X(t,{serverUrl:o,authorizationCode:n,scope:a,resourceMetadataUrl:c,fetchFn:p}){let d,l;try{d=await In(o,{resourceMetadataUrl:c},p),d.authorization_servers&&d.authorization_servers.length>0&&(l=d.authorization_servers[0])}catch{}l||(l=new URL("/",o));const f=await vn(o,t,d),P=await jn(l,{fetchFn:p});let E=await Promise.resolve(t.clientInformation());if(!E){if(n!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");const L=P?.client_id_metadata_document_supported===!0,O=t.clientMetadataUrl;if(O&&!Ln(O))throw new G(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${O}`);if(L&&O)E={client_id:O},await t.saveClientInformation?.(E);else{if(!t.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");const be=await Wn(l,{metadata:P,clientMetadata:t.clientMetadata,fetchFn:p});await t.saveClientInformation(be),E=be}}const K=!t.redirectUrl;if(n!==void 0||K){const L=await Hn(t,l,{metadata:P,resource:f,authorizationCode:n,fetchFn:p});return await t.saveTokens(L),"AUTHORIZED"}const Ue=await t.tokens();if(Ue?.refresh_token)try{const L=await $n(l,{metadata:P,clientInformation:E,refreshToken:Ue.refresh_token,resource:f,addClientAuthentication:t.addClientAuthentication,fetchFn:p});return await t.saveTokens(L),"AUTHORIZED"}catch(L){if(!(!(L instanceof R)||L instanceof I))throw L}const lt=t.state?await t.state():void 0,{authorizationUrl:pt,codeVerifier:ut}=await zn(l,{metadata:P,clientInformation:E,state:lt,redirectUrl:t.redirectUrl,scope:a||d?.scopes_supported?.join(" ")||t.clientMetadata.scope,resource:f});return await t.saveCodeVerifier(ut),await t.redirectToAuthorization(pt),"REDIRECT"}function Ln(t){if(!t)return!1;try{const o=new URL(t);return o.protocol==="https:"&&o.pathname!=="/"}catch{return!1}}async function vn(t,o,n){const a=Cn(t);if(o.validateResourceURL)return await o.validateResourceURL(a,n?.resource);if(n){if(!xn({requestedResource:a,configuredResource:n.resource}))throw new Error(`Protected resource ${n.resource} does not match expected ${a} (or origin)`);return new URL(n.resource)}}function na(t){const o=t.headers.get("WWW-Authenticate");if(!o)return{};const[n,a]=o.split(" ");if(n.toLowerCase()!=="bearer"||!a)return{};const c=ee(t,"resource_metadata")||void 0;let p;if(c)try{p=new URL(c)}catch{}const d=ee(t,"scope")||void 0,l=ee(t,"error")||void 0;return{resourceMetadataUrl:p,scope:d,error:l}}function ee(t,o){const n=t.headers.get("WWW-Authenticate");if(!n)return null;const a=new RegExp(`${o}=(?:"([^"]+)"|([^\\s,]+))`),c=n.match(a);return c?c[1]||c[2]:null}async function In(t,o,n=fetch){const a=await Mn(t,"oauth-protected-resource",n,{protocolVersion:o?.protocolVersion,metadataUrl:o?.resourceMetadataUrl});if(!a||a.status===404)throw await a?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!a.ok)throw await a.body?.cancel(),new Error(`HTTP ${a.status} trying to load well-known OAuth protected resource metadata.`);return hn.parse(await a.json())}async function Pe(t,o,n=fetch){try{return await n(t,{headers:o})}catch(a){if(a instanceof TypeError)return o?Pe(t,void 0,n):void 0;throw a}}function An(t,o="",n={}){return o.endsWith("/")&&(o=o.slice(0,-1)),n.prependPathname?`${o}/.well-known/${t}`:`/.well-known/${t}${o}`}async function Ee(t,o,n=fetch){return await Pe(t,{"MCP-Protocol-Version":o},n)}function On(t,o){return!t||t.status>=400&&t.status<500&&o!=="/"}async function Mn(t,o,n,a){const c=new URL(t),p=a?.protocolVersion??me;let d;if(a?.metadataUrl)d=new URL(a.metadataUrl);else{const f=An(o,c.pathname);d=new URL(f,a?.metadataServerUrl??c),d.search=c.search}let l=await Ee(d,p,n);if(!a?.metadataUrl&&On(l,c.pathname)){const f=new URL(`/.well-known/${o}`,c);l=await Ee(f,p,n)}return l}function Nn(t){const o=typeof t=="string"?new URL(t):t,n=o.pathname!=="/",a=[];if(!n)return a.push({url:new URL("/.well-known/oauth-authorization-server",o.origin),type:"oauth"}),a.push({url:new URL("/.well-known/openid-configuration",o.origin),type:"oidc"}),a;let c=o.pathname;return c.endsWith("/")&&(c=c.slice(0,-1)),a.push({url:new URL(`/.well-known/oauth-authorization-server${c}`,o.origin),type:"oauth"}),a.push({url:new URL(`/.well-known/openid-configuration${c}`,o.origin),type:"oidc"}),a.push({url:new URL(`${c}/.well-known/openid-configuration`,o.origin),type:"oidc"}),a}async function jn(t,{fetchFn:o=fetch,protocolVersion:n=me}={}){const a={"MCP-Protocol-Version":n,Accept:"application/json"},c=Nn(t);for(const{url:p,type:d}of c){const l=await Pe(p,a,o);if(l){if(!l.ok){if(await l.body?.cancel(),l.status>=400&&l.status<500)continue;throw new Error(`HTTP ${l.status} trying to load ${d==="oauth"?"OAuth":"OpenID provider"} metadata from ${p}`)}return d==="oauth"?it.parse(await l.json()):fn.parse(await l.json())}}}async function zn(t,{metadata:o,clientInformation:n,redirectUrl:a,scope:c,state:p,resource:d}){let l;if(o){if(l=new URL(o.authorization_endpoint),!o.response_types_supported.includes(Y))throw new Error(`Incompatible auth server: does not support response type ${Y}`);if(o.code_challenge_methods_supported&&!o.code_challenge_methods_supported.includes(Q))throw new Error(`Incompatible auth server: does not support code challenge method ${Q}`)}else l=new URL("/authorize",t);const f=await mn(),P=f.code_verifier,E=f.code_challenge;return l.searchParams.set("response_type",Y),l.searchParams.set("client_id",n.client_id),l.searchParams.set("code_challenge",E),l.searchParams.set("code_challenge_method",Q),l.searchParams.set("redirect_uri",String(a)),p&&l.searchParams.set("state",p),c&&l.searchParams.set("scope",c),c?.includes("offline_access")&&l.searchParams.append("prompt","consent"),d&&l.searchParams.set("resource",d.href),{authorizationUrl:l,codeVerifier:P}}function ct(t,o,n){return new URLSearchParams({grant_type:"authorization_code",code:t,code_verifier:o,redirect_uri:String(n)})}async function Te(t,{metadata:o,tokenRequestParams:n,clientInformation:a,addClientAuthentication:c,resource:p,fetchFn:d}){const l=o?.token_endpoint?new URL(o.token_endpoint):new URL("/token",t),f=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(p&&n.set("resource",p.href),c)await c(f,n,l,o);else if(a){const E=o?.token_endpoint_auth_methods_supported??[],K=Tn(a,E);Un(K,a,f,n)}const P=await(d??fetch)(l,{method:"POST",headers:f,body:n});if(!P.ok)throw await rt(P);return Sn.parse(await P.json())}async function aa(t,{metadata:o,clientInformation:n,authorizationCode:a,codeVerifier:c,redirectUri:p,resource:d,addClientAuthentication:l,fetchFn:f}){const P=ct(a,c,p);return Te(t,{metadata:o,tokenRequestParams:P,clientInformation:n,addClientAuthentication:l,resource:d,fetchFn:f})}async function $n(t,{metadata:o,clientInformation:n,refreshToken:a,resource:c,addClientAuthentication:p,fetchFn:d}){const l=new URLSearchParams({grant_type:"refresh_token",refresh_token:a}),f=await Te(t,{metadata:o,tokenRequestParams:l,clientInformation:n,addClientAuthentication:p,resource:c,fetchFn:d});return{refresh_token:a,...f}}async function Hn(t,o,{metadata:n,resource:a,authorizationCode:c,fetchFn:p}={}){const d=t.clientMetadata.scope;let l;if(t.prepareTokenRequest&&(l=await t.prepareTokenRequest(d)),!l){if(!c)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!t.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");const P=await t.codeVerifier();l=ct(c,P,t.redirectUrl)}const f=await t.clientInformation();return Te(o,{metadata:n,tokenRequestParams:l,clientInformation:f??void 0,addClientAuthentication:t.addClientAuthentication,resource:a,fetchFn:p})}async function Wn(t,{metadata:o,clientMetadata:n,fetchFn:a}){let c;if(o){if(!o.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");c=new URL(o.registration_endpoint)}else c=new URL("/register",t);const p=await(a??fetch)(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!p.ok)throw await rt(p);return yn.parse(await p.json())}export{Fo as A,Yo as B,$e as C,Eo as D,W as E,Lo as F,Ge as G,oa as H,vt as I,na as J,Yn as K,Ke as L,xe as M,Qn as N,In as O,De as P,jn as Q,Rt as R,Bn as S,Je as T,ta as U,aa as V,Ve as a,Ze as b,Qe as c,Kn as d,Gn as e,Fn as f,Jn as g,Be as h,Zn as i,Fe as j,Ye as k,Xn as l,at as m,go as n,po as o,Jt as p,me as q,ze as r,on as s,lo as t,oo as u,$t as v,Wt as w,Bt as x,_o as y,ea as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as R,c as j,j as i,i as I,Z as U,_ as L,$ as M}from"./index-D_9U2egr.js";import{c as f}from"./button-UpWqqi7Z.js";const V=({size:a=24,color:e="currentColor",...s})=>R.createElement("svg",{viewBox:"0 0 24 24",width:a,height:a,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},R.createElement("path",{d:"M20 21c0-1.396 0-2.093-.172-2.661a4 4 0 0 0-2.667-2.667c-.568-.172-1.265-.172-2.661-.172h-5c-1.396 0-2.093 0-2.661.172a4 4 0 0 0-2.667 2.667C4 18.907 4 19.604 4 21M16.5 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z"}));V.displayName="User01";function O(a){const e=j.c(8);let s,t;e[0]!==a?({className:s,...t}=a,e[0]=a,e[1]=s,e[2]=t):(s=e[1],t=e[2]);let o;e[3]!==s?(o=f("relative flex size-8 shrink-0 overflow-hidden rounded-full",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==t||e[6]!==o?(r=i.jsx(M,{"data-slot":"avatar",className:o,...t}),e[5]=t,e[6]=o,e[7]=r):r=e[7],r}function _(a){const e=j.c(8);let s,t;e[0]!==a?({className:s,...t}=a,e[0]=a,e[1]=s,e[2]=t):(s=e[1],t=e[2]);let o;e[3]!==s?(o=f("aspect-square size-full",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==t||e[6]!==o?(r=i.jsx(U,{"data-slot":"avatar-image",className:o,...t}),e[5]=t,e[6]=o,e[7]=r):r=e[7],r}function T(a){const e=j.c(8);let s,t;e[0]!==a?({className:s,...t}=a,e[0]=a,e[1]=s,e[2]=t):(s=e[1],t=e[2]);let o;e[3]!==s?(o=f("bg-muted flex size-full items-center justify-center rounded-full",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==t||e[6]!==o?(r=i.jsx(L,{"data-slot":"avatar-fallback",className:o,...t}),e[5]=t,e[6]=o,e[7]=r):r=e[7],r}const S=["drop-shadow-lg bg-gradient-to-br from-red-100 to-red-300 text-red-800 shadow-lg shadow-red-300/40 ring-1 ring-red-300/30","drop-shadow-lg bg-gradient-to-br from-lime-100 to-lime-300 text-lime-800 shadow-lg shadow-lime-300/40 ring-1 ring-lime-300/30","drop-shadow-lg bg-gradient-to-br from-emerald-100 to-emerald-300 text-emerald-800 shadow-lg shadow-emerald-300/40 ring-1 ring-emerald-300/30","drop-shadow-lg bg-gradient-to-br from-orange-100 to-orange-300 text-orange-800 shadow-lg shadow-orange-300/40 ring-1 ring-orange-300/30","drop-shadow-lg bg-gradient-to-br from-amber-100 to-amber-300 text-amber-800 shadow-lg shadow-amber-300/40 ring-1 ring-amber-300/30","drop-shadow-lg bg-gradient-to-br from-yellow-100 to-yellow-300 text-yellow-800 shadow-lg shadow-yellow-300/40 ring-1 ring-yellow-300/30","drop-shadow-lg bg-gradient-to-br from-green-100 to-green-300 text-green-800 shadow-lg shadow-green-300/40 ring-1 ring-green-300/30","drop-shadow-lg bg-gradient-to-br from-teal-100 to-teal-300 text-teal-800 shadow-lg shadow-teal-300/40 ring-1 ring-teal-300/30","drop-shadow-lg bg-gradient-to-br from-cyan-100 to-cyan-300 text-cyan-800 shadow-lg shadow-cyan-300/40 ring-1 ring-cyan-300/30","drop-shadow-lg bg-gradient-to-br from-sky-100 to-sky-300 text-sky-800 shadow-lg shadow-sky-300/40 ring-1 ring-sky-300/30","drop-shadow-lg bg-gradient-to-br from-blue-100 to-blue-300 text-blue-800 shadow-lg shadow-blue-300/40 ring-1 ring-blue-300/30","drop-shadow-lg bg-gradient-to-br from-indigo-100 to-indigo-300 text-indigo-800 shadow-lg shadow-indigo-300/40 ring-1 ring-indigo-300/30","drop-shadow-lg bg-gradient-to-br from-violet-100 to-violet-300 text-violet-800 shadow-lg shadow-violet-300/40 ring-1 ring-violet-300/30","drop-shadow-lg bg-gradient-to-br from-purple-100 to-purple-300 text-purple-800 shadow-lg shadow-purple-300/40 ring-1 ring-purple-300/30","drop-shadow-lg bg-gradient-to-br from-fuchsia-100 to-fuchsia-300 text-fuchsia-800 shadow-lg shadow-fuchsia-300/40 ring-1 ring-fuchsia-300/30","drop-shadow-lg bg-gradient-to-br from-pink-100 to-pink-300 text-pink-800 shadow-lg shadow-pink-300/40 ring-1 ring-pink-300/30","drop-shadow-lg bg-gradient-to-br from-rose-100 to-rose-300 text-rose-800 shadow-lg shadow-rose-300/40 ring-1 ring-rose-300/30"],W="drop-shadow-lg text-muted-foreground bg-muted shadow-lg";function Z(a){let e=0;for(let t=0;t<a.length;t++)e=a.charCodeAt(t)+((e<<5)-e);const s=Math.abs(e)%S.length;return S[s]}const $=I("border border-border",{variants:{shape:{circle:"rounded-full",square:""},size:{"3xs":"w-3 h-3 text-xs font-semibold","2xs":"w-4 h-4 text-xs font-semibold",xs:"w-6 h-6 text-sm font-semibold",sm:"w-8 h-8 text-lg font-semibold",base:"w-10 h-10 text-2xl font-semibold",lg:"w-12 h-12 text-3xl font-semibold",xl:"w-16 h-16 text-4xl font-semibold","2xl":"w-20 h-20 text-5xl font-semibold","3xl":"w-32 h-32 text-7xl font-semibold"}},compoundVariants:[{shape:"square",size:"xs",class:"rounded-lg"},{shape:"square",size:"sm",class:"rounded-xl"},{shape:"square",size:"base",class:"rounded-xl"},{shape:"square",size:"lg",class:"rounded-xl"},{shape:"square",size:"xl",class:"rounded-2xl"},{shape:"square",size:"2xl",class:"rounded-3xl"},{shape:"square",size:"3xl",class:"rounded-[40px]"}],defaultVariants:{shape:"square",size:"base"}}),B=I("",{variants:{objectFit:{contain:"object-contain",cover:"object-cover"}},defaultVariants:{objectFit:"cover"}}),D=a=>{const e={"3xs":8,"2xs":8,xs:12,sm:16,base:24,lg:28,xl:36,"2xl":48,"3xl":80};return e[a]||e.base};function G(a){const e=j.c(35);let s,t,o,r,n,d,g,l;e[0]!==a?({url:l,fallback:t,shape:r,size:n,objectFit:d,className:s,muted:g,...o}=a,e[0]=a,e[1]=s,e[2]=t,e[3]=o,e[4]=r,e[5]=n,e[6]=d,e[7]=g,e[8]=l):(s=e[1],t=e[2],o=e[3],r=e[4],n=e[5],d=e[6],g=e[7],l=e[8]);const b=r===void 0?"square":r,h=n===void 0?"base":n,u=d===void 0?"cover":d,k=g===void 0?!1:g,[m,x]=R.useState(!1);let F;e:{if(typeof t=="string"){let c;e[9]!==t?(c=t.trim().slice(0,2).toUpperCase(),e[9]=t,e[10]=c):c=e[10],F=c;break e}F=t}const C=F;let z;e:{if(k){z=W;break e}if(typeof t=="string"){let c;e[11]!==t?(c=Z(t),e[11]=t,e[12]=c):c=e[12],z=c;break e}z=S[0]}const y=z;let N;e[13]!==l?(N=l?.startsWith("icon://"),e[13]=l,e[14]=N):N=e[14];const p=N;let q;e[15]!==p||e[16]!==l?(q=p?l?.replace("icon://",""):void 0,e[15]=p,e[16]=l,e[17]=q):q=e[17];const E=q;let w;e[18]!==s||e[19]!==b||e[20]!==h?(w=f($({shape:b,size:h}),s),e[18]=s,e[19]=b,e[20]=h,e[21]=w):w=e[21];let v;e[22]!==y||e[23]!==C||e[24]!==E||e[25]!==m||e[26]!==p||e[27]!==u||e[28]!==h||e[29]!==l?(v=p&&E?i.jsx("div",{className:f("flex items-center justify-center w-full h-full",y),children:i.jsx(V,{size:D(h)})}):i.jsxs(i.Fragment,{children:[l&&!m&&i.jsx(_,{src:l,loading:"lazy",alt:"Avatar",className:f(B({objectFit:u})),onError:()=>x(!0)}),(!l||m)&&i.jsx(T,{className:f(y,"rounded-none"),children:C})]}),e[22]=y,e[23]=C,e[24]=E,e[25]=m,e[26]=p,e[27]=u,e[28]=h,e[29]=l,e[30]=v):v=e[30];let A;return e[31]!==o||e[32]!==v||e[33]!==w?(A=i.jsx(O,{className:w,...o,children:v}),e[31]=o,e[32]=v,e[33]=w,e[34]=A):A=e[34],A}function H(a){const e=j.c(18);let s,t,o,r,n,d,g,l;e[0]!==a?({shape:r,size:n,url:l,fallback:t,objectFit:d,className:s,muted:g,...o}=a,e[0]=a,e[1]=s,e[2]=t,e[3]=o,e[4]=r,e[5]=n,e[6]=d,e[7]=g,e[8]=l):(s=e[1],t=e[2],o=e[3],r=e[4],n=e[5],d=e[6],g=e[7],l=e[8]);const b=r===void 0?"square":r,h=n===void 0?"base":n,u=d===void 0?"cover":d,k=g===void 0?!1:g,m=h??"base";let x;return e[9]!==s||e[10]!==t||e[11]!==k||e[12]!==u||e[13]!==o||e[14]!==b||e[15]!==m||e[16]!==l?(x=i.jsx(G,{shape:b,url:l,fallback:t,size:m,objectFit:u,className:s,muted:k,...o}),e[9]=s,e[10]=t,e[11]=k,e[12]=u,e[13]=o,e[14]=b,e[15]=m,e[16]=l,e[17]=x):x=e[17],x}H.Skeleton=function({shape:e="square",size:s="base",className:t}){return i.jsx("div",{className:f($({shape:e,size:s}),"bg-muted animate-pulse",t)})};export{H as A};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as U,c as W,j as s,f as Ce,g as Fe,a as pt,t as ht,d as xt,b as gt,av as jt}from"./index-D_9U2egr.js";import{E as H}from"./SearchMd-BAWY3jJ1.js";import{E as tt}from"./error-boundary-07xTy_TK.js";import{I as ve,b as Se,d as bt,e as yt,c as Ct,a as vt}from"./use-connection-CCY0Xwwp.js";import{b as St}from"./use-binding-q2q9V0d9.js";import{E as Qe,u as Nt,S as wt}from"./index-D_TAlzS2.js";import{u as Tt,a as $t}from"./use-connection-resources-CQX8IZC3.js";import{B as Ne}from"./button-UpWqqi7Z.js";import{i as st}from"./Loading01-DfUJLT5a.js";import{R as _t}from"./resource-tabs-CwnllnxC.js";import{V as Be,a as It,b as Dt}from"./layout-Cx9b8Yer.js";import{g as Xe}from"./generate-id-Dyweu44Y.js";import{C as we}from"./collection-display-button-CJMwmXuc.js";import{C as Ue}from"./collection-search-xvAQUbQ8.js";import{C as We}from"./card-csaWOT-1.js";import{b as ot,D as nt,a as it,d as G}from"./dropdown-menu-B_pozn9G.js";import{a as rt}from"./Copy01-CUqgUCLS.js";import{i as lt}from"./DotsVertical-CGWni397.js";import{s as ct,u as At}from"./use-list-state-C-sROL5p.js";import{s as at}from"./Trash01-DAwkJNu8.js";import{C as qe}from"./collection-table-wrapper-BLpgESGM.js";import{n as Ye}from"./Inbox01-De35FSLT.js";import{P as Ge}from"./formatDistanceToNow-BzQ8Uo3Q.js";import{B as Pt}from"./extract-connection-data-DzWc2H-V.js";import{A as kt,g as Lt,c as Mt,b as Rt,d as Et,e as Ot,a as zt,f as Vt}from"./alert-dialog-dauOR89q.js";import{s as Kt}from"./Plus-xQLsl9Xg.js";import{R as Ft,T as Bt}from"./tools-list-ReDr32oC.js";import"./tooltip-CaoJSXa7.js";import"./auth-Ds7lWA5K.js";import"./mcp-oauth-C_ge4NPz.js";import"./env-vars-editor-DcIkv_3p.js";import"./input-DNanPJKs.js";import"./use-tool-call-DTxbLF2G.js";import"./useQuery-BTda2D25.js";import"./File06-CwcvFGqd.js";import"./Key01-BXtnSDND.js";import"./form-CGaxh2WC.js";import"./select-888i9ck2.js";import"./ChevronDown-CqrF2uJ-.js";import"./Terminal-CJwUlnBn.js";import"./use-gateway-6PKj5OoP.js";import"./CpuChip02-CwrVudRE.js";import"./registry-utils-ulDDT0d8.js";import"./index-Czm7CWjK.js";import"./index-CB7OHJDJ.js";import"./badge-DBsMMhww.js";import"./ArrowLeft-eDq0PdxL.js";import"./view-mode-toggle-BWA1OFcI.js";import"./use-mobile-DjZ7nTWx.js";import"./use-organization-settings-Du1vfsWT.js";const He=({size:t=24,color:e="currentColor",...o})=>U.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...o},U.createElement("path",{d:"M2.876 18.116c.046-.414.069-.62.131-.814a2 2 0 0 1 .234-.485c.111-.17.259-.317.553-.61L17 3a2.828 2.828 0 1 1 4 4L7.794 20.206c-.294.294-.442.442-.611.553a2 2 0 0 1-.485.233c-.193.063-.4.086-.814.132L2.5 21.5l.376-3.384Z"}));He.displayName="Edit01";function Ut(t,e){const o=t.properties||{};for(const n in o){const c=o[n];if(c&&c.type==="string"&&(c.format==="url"||c.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const i=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of i)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function Wt(t){const e=W.c(25),{item:o,schema:i,actions:n}=t;let c;e[0]!==o||e[1]!==i?(c=Ut(i,o),e[0]=o,e[1]=i,e[2]=c):c=e[2];const d=c,u=o&&typeof o=="object"&&"description"in o&&typeof o.description=="string"?o.description:void 0;let g;e[3]!==n?(g=n&&Object.keys(n).length>0,e[3]=n,e[4]=g):g=e[4];const r=g;let p;e[5]!==d||e[6]!==o.title?(p=s.jsx(ve,{icon:d,name:o.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=d,e[6]=o.title,e[7]=p):p=e[7];let N;e[8]!==o.title?(N=s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:o.title}),e[8]=o.title,e[9]=N):N=e[9];const m=u||"No description";let v;e[10]!==m?(v=s.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:m}),e[10]=m,e[11]=v):v=e[11];let j;e[12]!==N||e[13]!==v?(j=s.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[N,v]}),e[12]=N,e[13]=v,e[14]=j):j=e[14];let b;e[15]!==p||e[16]!==j?(b=s.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[p,j]}),e[15]=p,e[16]=j,e[17]=b):b=e[17];let a;e[18]!==n||e[19]!==r||e[20]!==o?(a=r&&s.jsx("div",{className:"absolute top-6 right-6 opacity-0 group-hover:opacity-100 transition-opacity",onClick:Jt,onMouseDown:Ht,children:s.jsxs(ot,{children:[s.jsx(nt,{asChild:!0,children:s.jsx(Ne,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Gt,children:s.jsx(lt,{size:20})})}),s.jsxs(it,{align:"end",onClick:qt,children:[n.open&&s.jsxs(G,{onClick:l=>{l.stopPropagation(),n.open?.(o)},children:[s.jsx(ct,{size:16}),"Open"]}),n.edit&&s.jsxs(G,{onClick:l=>{l.stopPropagation(),n.edit?.(o)},children:[s.jsx(He,{size:16}),"Edit"]}),n.duplicate&&s.jsxs(G,{onClick:l=>{l.stopPropagation(),n.duplicate?.(o)},children:[s.jsx(rt,{size:16}),"Duplicate"]}),n.delete&&s.jsxs(G,{variant:"destructive",onClick:l=>{l.stopPropagation(),n.delete?.(o)},children:[s.jsx(at,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=r,e[20]=o,e[21]=a):a=e[21];let T;return e[22]!==b||e[23]!==a?(T=s.jsxs(We,{className:"cursor-pointer transition-colors h-full flex flex-col group relative",children:[b,a]}),e[22]=b,e[23]=a,e[24]=T):T=e[24],T}function qt(t){return t.stopPropagation()}function Gt(t){return t.stopPropagation()}function Ht(t){return t.stopPropagation()}function Jt(t){return t.stopPropagation()}const Zt=["icon","avatar","logo"],et=["created_at","created_by","id"];function Qt(t){return Object.keys(t).find(e=>Zt.includes(e.toLowerCase()))}function dt(t,e){return Object.keys(t.properties||{}).filter(o=>["id","created_at","updated_at","created_by","updated_by"].includes(o)?!1:e?e.includes(o):!0).map(o=>({id:o,label:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," ")}))}function Xt(t){const e=W.c(32),{data:o,schema:i,viewMode:n,onViewModeChange:c,search:d,sortKey:u,sortDirection:g,onSort:r,actions:p,onItemClick:N,headerActions:m,emptyState:v,readOnly:j,columns:b,hideToolbar:a,sortableFields:T}=t,l=c===void 0?os:c,C=g===void 0?"asc":g,$=r===void 0?ss:r;let f;e[0]!==p?(f=p===void 0?{}:p,e[0]=p,e[1]=f):f=e[1];const L=f,y=N===void 0?ts:N,_=m===void 0?null:m,I=v===void 0?null:v,O=j===void 0?!1:j,w=b===void 0?void 0:b,h=a===void 0?!1:a,R=T===void 0?void 0:T;let M;e[2]!==w||e[3]!==i||e[4]!==R?(M=w?w.filter(es).filter(A=>!R||R.includes(A.id)).map(Yt):dt(i,R),e[2]=w,e[3]=i,e[4]=R,e[5]=M):M=e[5];const z=M;let E;e[6]!==_||e[7]!==h||e[8]!==$||e[9]!==l||e[10]!==C||e[11]!==u||e[12]!==z||e[13]!==n?(E=!h&&s.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:s.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[s.jsx("div",{className:"flex items-center gap-2 flex-1",children:_}),s.jsx("div",{className:"flex items-center gap-2 shrink-0",children:s.jsx(we,{viewMode:n,onViewModeChange:l,sortKey:u,sortDirection:C,onSort:$,sortOptions:z})})]})}),e[6]=_,e[7]=h,e[8]=$,e[9]=l,e[10]=C,e[11]=u,e[12]=z,e[13]=n,e[14]=E):E=e[14];let S;e[15]!==L||e[16]!==w||e[17]!==o||e[18]!==I||e[19]!==y||e[20]!==$||e[21]!==O||e[22]!==i||e[23]!==d||e[24]!==C||e[25]!==u||e[26]!==R||e[27]!==n?(S=n==="cards"?s.jsx("div",{className:"flex-1 overflow-auto p-5",children:o.length===0?s.jsx("div",{className:"flex items-center justify-center h-full",children:I||s.jsx(Qe,{icon:s.jsx(Ye,{size:36,className:"text-muted-foreground"}),title:"No items found",description:d?"Try adjusting your search":"No items to display"})}):s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:o.map(A=>s.jsx("div",{onClick:()=>y?.(A),className:"cursor-pointer h-full",children:s.jsx(Wt,{item:A,schema:i,readOnly:O,actions:L})},A.id))})}):s.jsx(qe,{columns:rs(w,i,R,L),data:o,sortKey:u,sortDirection:C,onSort:$,onRowClick:y,emptyState:I||s.jsx(Qe,{icon:s.jsx(Ye,{size:36,className:"text-muted-foreground"}),title:"No items found",description:d?"Try adjusting your search":"No items to display"})}),e[15]=L,e[16]=w,e[17]=o,e[18]=I,e[19]=y,e[20]=$,e[21]=O,e[22]=i,e[23]=d,e[24]=C,e[25]=u,e[26]=R,e[27]=n,e[28]=S):S=e[28];let D;return e[29]!==E||e[30]!==S?(D=s.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[E,S]}),e[29]=E,e[30]=S,e[31]=D):D=e[31],D}function Yt(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function es(t){return t.sortable!==!1}function ts(){}function ss(){}function os(){}function ns(t){return{id:"actions",header:"",render:e=>s.jsxs(ot,{children:[s.jsx(nt,{asChild:!0,children:s.jsx(Ne,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:o=>o.stopPropagation(),children:s.jsx(lt,{size:20})})}),s.jsxs(it,{align:"end",onClick:o=>o.stopPropagation(),children:[t.open&&s.jsxs(G,{onClick:o=>{o.stopPropagation(),t.open?.(e)},children:[s.jsx(ct,{size:16}),"Open"]}),t.edit&&s.jsxs(G,{onClick:o=>{o.stopPropagation(),t.edit?.(e)},children:[s.jsx(He,{size:16}),"Edit"]}),t.duplicate&&s.jsxs(G,{onClick:o=>{o.stopPropagation(),t.duplicate?.(e)},children:[s.jsx(rt,{size:16}),"Duplicate"]}),t.delete&&s.jsxs(G,{variant:"destructive",onClick:o=>{o.stopPropagation(),t.delete?.(e)},children:[s.jsx(at,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function mt(t){const e=t.type;return Array.isArray(e)?e.every(o=>mt({type:o})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function is(t,e){const o=t.properties||{},i=Object.keys(o).filter(r=>{const p=o[r];return p&&mt(p)}),n=Qt(o),c=[],d=new Set;n&&i.includes(n)&&(c.push(n),d.add(n));const u=["title","description","updated_at","updated_by"];for(const r of u)i.includes(r)&&!d.has(r)&&(c.push(r),d.add(r));const g=i.filter(r=>!d.has(r)&&!et.includes(r)).sort((r,p)=>r.localeCompare(p));for(const r of g)c.push(r),d.add(r);for(const r of et)i.includes(r)&&!d.has(r)&&(c.push(r),d.add(r));return c.map(r=>{const p=o[r],N=e?e.includes(r):!["id"].includes(r);return r===n?{id:r,header:"",render:m=>{const v=m[r];return s.jsx(ve,{icon:v,name:m.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:r==="description"?{id:r,header:"Description",render:m=>{const v=m[r];return v==null?"—":s.jsx("span",{className:"block truncate max-w-[50ch]",children:String(v)})},sortable:N,cellClassName:"max-w-[50ch]"}:p?.format==="date-time"||r.endsWith("_at")?{id:r,header:r.charAt(0).toUpperCase()+r.slice(1).replace(/_/g," "),render:m=>{const v=m[r];return v?s.jsx("span",{className:"block truncate max-w-full",children:new Date(v).toLocaleDateString()}):"—"},sortable:N,cellClassName:"max-w-[200px]"}:{id:r,header:r.charAt(0).toUpperCase()+r.slice(1).replace(/_/g," "),render:m=>{const v=m[r];return v==null?"—":s.jsx("span",{className:"block truncate max-w-full",children:String(v)})},sortable:N,cellClassName:"max-w-[200px]"}})}function rs(t,e,o,i){const n=t||is(e,o);return n.some(u=>u.id==="actions")?n:Object.keys(i).length>0?[...n,ns(i)]:n}function ls(t){const e=W.c(117),{connectionId:o,org:i,activeCollection:n}=t,c=n.name,d=n.schema??Pt,u=n.hasCreateTool,g=n.hasUpdateTool,r=n.hasDeleteTool,p=Ce(),m=Fe().location.href,{data:v}=pt.useSession(),j=v?.user?.id||"unknown",b=Se(o);let a;e[0]!==o?(a=Ct(o),e[0]=o,e[1]=a):a=e[1];const T=a,l=bt(o,c,T),C=`${o}-${c}`;let $;e[2]!==i||e[3]!==C?($={namespace:i,resource:C,defaultSortKey:"updated_at"},e[2]=i,e[3]=C,e[4]=$):$=e[4];const{search:f,searchTerm:L,setSearch:y,viewMode:_,setViewMode:I,sortKey:O,sortDirection:w,handleSort:h}=At($);let R;e[5]!==L||e[6]!==w||e[7]!==O?(R={searchTerm:L,sortKey:O,sortDirection:w},e[5]=L,e[6]=w,e[7]=O,e[8]=R):R=e[8];const M=yt(o,c,T,R),z=!u&&!g&&!r;let E;e[9]!==c||e[10]!==o||e[11]!==p||e[12]!==i?(E=B=>{p({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:i,connectionId:o,collectionName:c,itemId:B.id}})},e[9]=c,e[10]=o,e[11]=p,e[12]=i,e[13]=E):E=e[13];const S=E;let D;e[14]!==l.create||e[15]!==j?(D=async B=>{const ye=new Date().toISOString();await l.create.mutateAsync({...B,id:Xe("conn"),title:`${B.title} (Copy)`,created_at:ye,updated_at:ye,created_by:j,updated_by:j})},e[14]=l.create,e[15]=j,e[16]=D):D=e[16];const A=D,[x,K]=U.useState(null);let V;e[17]===Symbol.for("react.memo_cache_sentinel")?(V=B=>{K(B)},e[17]=V):V=e[17];const P=V;let k;e[18]!==S||e[19]!==g?(k=g&&{edit:S},e[18]=S,e[19]=g,e[20]=k):k=e[20];let F;e[21]!==A||e[22]!==u?(F=u&&{duplicate:A},e[21]=A,e[22]=u,e[23]=F):F=e[23];let q;e[24]!==r?(q=r&&{delete:P},e[24]=r,e[25]=q):q=e[25];let J;e[26]!==q||e[27]!==k||e[28]!==F?(J={...k,...F,...q},e[26]=q,e[27]=k,e[28]=F,e[29]=J):J=e[29];const Z=J;let fe;e[30]!==l.delete||e[31]!==x?(fe=async()=>{x&&(await l.delete.mutateAsync(x.id),K(null))},e[30]=l.delete,e[31]=x,e[32]=fe):fe=e[32];const Te=fe;let pe;e[33]!==l.create||e[34]!==c||e[35]!==o||e[36]!==u||e[37]!==p||e[38]!==i||e[39]!==j?(pe=async()=>{if(!u){ht.error("Create operation is not available for this collection");return}const B=new Date().toISOString(),ye={id:Xe("conn"),title:"New Item",description:"A brief description of the item",created_at:B,updated_at:B,created_by:j,updated_by:j};try{const Ke=await l.create.mutateAsync(ye);p({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:i,connectionId:o,collectionName:c,itemId:Ke.id}})}catch(Ke){console.error("Failed to create item:",Ke)}},e[33]=l.create,e[34]=c,e[35]=o,e[36]=u,e[37]=p,e[38]=i,e[39]=j,e[40]=pe):pe=e[40];const $e=pe;let he;e[41]!==d?(he=dt(d),e[41]=d,e[42]=he):he=e[42];const _e=he,Je=(M?.length??0)>0,ut=u&&Je,ft=u&&!Je&&!f;let xe;e[43]!==l.create||e[44]!==$e||e[45]!==u?(xe=u?s.jsxs(Ne,{onClick:$e,size:"sm",disabled:l.create.isPending,className:"h-7",children:[s.jsx(Kt,{className:"mr-2 h-4 w-4"}),l.create.isPending?"Creating...":"Create"]}):null,e[43]=l.create,e[44]=$e,e[45]=u,e[46]=xe):xe=e[46];const Ze=xe,Ie=O;let Q;e[47]!==h||e[48]!==I||e[49]!==w||e[50]!==_e||e[51]!==Ie||e[52]!==_?(Q=s.jsx(we,{viewMode:_,onViewModeChange:I,sortKey:Ie,sortDirection:w,onSort:h,sortOptions:_e}),e[47]=h,e[48]=I,e[49]=w,e[50]=_e,e[51]=Ie,e[52]=_,e[53]=Q):Q=e[53];const De=`${c}s`,Ae=b?.icon??"grid_view";let X;e[54]!==De||e[55]!==Ae||e[56]!==m?(X=s.jsx(Ge,{title:De,url:m,icon:Ae}),e[54]=De,e[55]=Ae,e[56]=m,e[57]=X):X=e[57];const Pe=ut&&Ze;let Y;e[58]!==Q||e[59]!==X||e[60]!==Pe?(Y=s.jsxs(Be,{children:[Q,X,Pe]}),e[58]=Q,e[59]=X,e[60]=Pe,e[61]=Y):Y=e[61];const ke=`Search ${c}...`;let ee;e[62]!==y?(ee=B=>{B.key==="Escape"&&(y(""),B.target.blur())},e[62]=y,e[63]=ee):ee=e[63];let te;e[64]!==f||e[65]!==y||e[66]!==ke||e[67]!==ee?(te=s.jsx(Ue,{value:f,onChange:y,placeholder:ke,onKeyDown:ee}),e[64]=f,e[65]=y,e[66]=ke,e[67]=ee,e[68]=te):te=e[68];let se;e[69]!==M?(se=M??[],e[69]=M,e[70]=se):se=e[70];const Le=O;let oe;e[71]!==S?(oe=B=>S(B),e[71]=S,e[72]=oe):oe=e[72];const Me="No items found",Re=f?"Try adjusting your search terms":"This collection doesn't have any items yet.",Ee=ft?Ze:void 0;let ne;e[73]!==Me||e[74]!==Re||e[75]!==Ee?(ne=s.jsx(H,{image:null,title:Me,description:Re,actions:Ee}),e[73]=Me,e[74]=Re,e[75]=Ee,e[76]=ne):ne=e[76];let ie;e[77]!==h||e[78]!==z||e[79]!==Z||e[80]!==d||e[81]!==f||e[82]!==y||e[83]!==I||e[84]!==w||e[85]!==se||e[86]!==Le||e[87]!==oe||e[88]!==ne||e[89]!==_?(ie=s.jsx("div",{className:"flex-1 overflow-auto",children:s.jsx(Xt,{hideToolbar:!0,data:se,schema:d,viewMode:_,onViewModeChange:I,search:f,onSearchChange:y,sortKey:Le,sortDirection:w,onSort:h,actions:Z,onItemClick:oe,readOnly:z,emptyState:ne})}),e[77]=h,e[78]=z,e[79]=Z,e[80]=d,e[81]=f,e[82]=y,e[83]=I,e[84]=w,e[85]=se,e[86]=Le,e[87]=oe,e[88]=ne,e[89]=_,e[90]=ie):ie=e[90];let re;e[91]!==te||e[92]!==ie?(re=s.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[te,ie]}),e[91]=te,e[92]=ie,e[93]=re):re=e[93];const Oe=!!x;let ge;e[94]===Symbol.for("react.memo_cache_sentinel")?(ge=B=>{B||K(null)},e[94]=ge):ge=e[94];let je;e[95]===Symbol.for("react.memo_cache_sentinel")?(je=s.jsx(Mt,{children:"Delete item?"}),e[95]=je):je=e[95];const ze=x?.title;let le;e[96]!==ze?(le=s.jsxs(Rt,{children:[je,s.jsxs(Et,{children:['Are you sure you want to delete "',ze,'"? This action cannot be undone.']})]}),e[96]=ze,e[97]=le):le=e[97];let ce;e[98]!==l.delete.isPending?(ce=s.jsx(kt,{disabled:l.delete.isPending,children:"Cancel"}),e[98]=l.delete.isPending,e[99]=ce):ce=e[99];const Ve=l.delete.isPending?"Deleting...":"Delete";let ae;e[100]!==l.delete.isPending||e[101]!==Te||e[102]!==Ve?(ae=s.jsx(Lt,{onClick:Te,disabled:l.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:Ve}),e[100]=l.delete.isPending,e[101]=Te,e[102]=Ve,e[103]=ae):ae=e[103];let de;e[104]!==ce||e[105]!==ae?(de=s.jsxs(Ot,{children:[ce,ae]}),e[104]=ce,e[105]=ae,e[106]=de):de=e[106];let me;e[107]!==le||e[108]!==de?(me=s.jsxs(zt,{children:[le,de]}),e[107]=le,e[108]=de,e[109]=me):me=e[109];let ue;e[110]!==Oe||e[111]!==me?(ue=s.jsx(Vt,{open:Oe,onOpenChange:ge,children:me}),e[110]=Oe,e[111]=me,e[112]=ue):ue=e[112];let be;return e[113]!==Y||e[114]!==re||e[115]!==ue?(be=s.jsxs(s.Fragment,{children:[Y,re,ue]}),e[113]=Y,e[114]=re,e[115]=ue,e[116]=be):be=e[116],be}function cs(t){const e=W.c(42),{prompts:o,connectionId:i,org:n,connectionTitle:c,connectionIcon:d,onPromptClick:u,showToolbar:g,emptyMessage:r}=t,p=g===void 0?!0:g,N=r===void 0?"This connection doesn't have any prompts yet.":r,m=Ce(),j=Fe().location.href,[b,a]=U.useState(""),[T,l]=U.useState("table"),[C,$]=U.useState("name"),[f,L]=U.useState("asc");let y;e[0]!==f||e[1]!==C?(y=P=>{C===P?(L(fs),f==="desc"&&$(void 0)):($(P),L("asc"))},e[0]=f,e[1]=C,e[2]=y):y=e[2];const _=y;let I;e[3]!==i||e[4]!==m||e[5]!==u||e[6]!==n?(I=P=>{u?u(P):i&&n&&m({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:n,connectionId:i,collectionName:"prompts",itemId:encodeURIComponent(P.name)}})},e[3]=i,e[4]=m,e[5]=u,e[6]=n,e[7]=I):I=e[7];const O=I;let w;if(e[8]!==o||e[9]!==b||e[10]!==f||e[11]!==C){const P=!o||o.length===0?[]:b.trim()?(()=>{const k=b.toLowerCase();return o.filter(F=>F.name.toLowerCase().includes(k)||F.description&&F.description.toLowerCase().includes(k))})():o;w=!C||!f?P:[...P].sort((k,F)=>{const q=k[C]||"",J=F[C]||"",Z=String(q).localeCompare(String(J));return f==="asc"?Z:-Z}),e[8]=o,e[9]=b,e[10]=f,e[11]=C,e[12]=w}else w=e[12];const h=w;let R;e[13]===Symbol.for("react.memo_cache_sentinel")?(R=[{id:"name",header:"Name",render:us,sortable:!0},{id:"description",header:"Description",render:ms,cellClassName:"flex-1",sortable:!0}],e[13]=R):R=e[13];const M=R;let z;e[14]===Symbol.for("react.memo_cache_sentinel")?(z=M.filter(ds).map(as),e[14]=z):z=e[14];const E=z;let S;e[15]!==d||e[16]!==c||e[17]!==_||e[18]!==p||e[19]!==f||e[20]!==C||e[21]!==j||e[22]!==T?(S=p&&s.jsxs(Be,{children:[s.jsx(we,{viewMode:T,onViewModeChange:l,sortKey:C,sortDirection:f,onSort:_,sortOptions:E}),s.jsx(Ge,{title:c?`${c}: Prompts`:"Prompts",url:j,icon:d??"description"})]}),e[15]=d,e[16]=c,e[17]=_,e[18]=p,e[19]=f,e[20]=C,e[21]=j,e[22]=T,e[23]=S):S=e[23];let D;e[24]===Symbol.for("react.memo_cache_sentinel")?(D=P=>{P.key==="Escape"&&(a(""),P.target.blur())},e[24]=D):D=e[24];let A;e[25]!==b?(A=s.jsx(Ue,{value:b,onChange:a,placeholder:"Search prompts...",onKeyDown:D}),e[25]=b,e[26]=A):A=e[26];let x;e[27]!==N||e[28]!==O||e[29]!==_||e[30]!==b||e[31]!==f||e[32]!==C||e[33]!==h||e[34]!==T?(x=T==="cards"?s.jsx("div",{className:"flex-1 overflow-auto p-5",children:h.length===0?s.jsx(H,{image:null,title:b?"No prompts found":"No prompts available",description:b?"Try adjusting your search terms":N}):s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:h.map(P=>s.jsx(We,{className:"cursor-pointer transition-colors",onClick:()=>O(P),children:s.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[s.jsx(ve,{icon:null,name:P.name,size:"md",className:"shrink-0 shadow-sm"}),s.jsxs("div",{className:"flex flex-col gap-0",children:[s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:P.name}),s.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:P.description||"No description"})]})]})},P.name))})}):s.jsx(qe,{columns:M,data:h,isLoading:!1,sortKey:C,sortDirection:f,onSort:_,onRowClick:P=>O(P),emptyState:s.jsx(H,{image:null,title:b?"No prompts found":"No prompts available",description:b?"Try adjusting your search terms":N})}),e[27]=N,e[28]=O,e[29]=_,e[30]=b,e[31]=f,e[32]=C,e[33]=h,e[34]=T,e[35]=x):x=e[35];let K;e[36]!==A||e[37]!==x?(K=s.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[A,x]}),e[36]=A,e[37]=x,e[38]=K):K=e[38];let V;return e[39]!==K||e[40]!==S?(V=s.jsxs(s.Fragment,{children:[S,K]}),e[39]=K,e[40]=S,e[41]=V):V=e[41],V}function as(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function ds(t){return t.sortable}function ms(t){return s.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function us(t){return s.jsx("span",{className:"text-sm font-medium font-mono text-foreground",children:t.name})}function fs(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function ps(t){const e=W.c(6),{prompts:o,connectionId:i,org:n}=t,c=Se(i),d=c?.title,u=c?.icon;let g;return e[0]!==i||e[1]!==n||e[2]!==o||e[3]!==d||e[4]!==u?(g=s.jsx(cs,{prompts:o,connectionId:i,org:n,connectionTitle:d,connectionIcon:u}),e[0]=i,e[1]=n,e[2]=o,e[3]=d,e[4]=u,e[5]=g):g=e[5],g}function hs(t){const e=W.c(2),{repository:o}=t;let i;return e[0]!==o?(i=s.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:s.jsx(Ft,{repository:o})}),e[0]=o,e[1]=i):i=e[1],i}function xs(t){const e=W.c(39),{resources:o,connectionTitle:i,connectionIcon:n,onResourceClick:c,showToolbar:d,emptyMessage:u}=t,g=d===void 0?!0:d,r=u===void 0?"This connection doesn't have any resources yet.":u,N=Fe().location.href,[m,v]=U.useState(""),[j,b]=U.useState("table"),[a,T]=U.useState("name"),[l,C]=U.useState("asc");let $;e[0]!==l||e[1]!==a?($=x=>{a===x?(C(Ss),l==="desc"&&T(void 0)):(T(x),C("asc"))},e[0]=l,e[1]=a,e[2]=$):$=e[2];const f=$;let L;e[3]!==c?(L=x=>{c&&c(x)},e[3]=c,e[4]=L):L=e[4];const y=L;let _;if(e[5]!==o||e[6]!==m||e[7]!==l||e[8]!==a){const x=!o||o.length===0?[]:m.trim()?(()=>{const K=m.toLowerCase();return o.filter(V=>V.uri.toLowerCase().includes(K)||V.name&&V.name.toLowerCase().includes(K)||V.description&&V.description.toLowerCase().includes(K))})():o;_=!a||!l?x:[...x].sort((K,V)=>{const P=K[a]||"",k=V[a]||"",F=String(P).localeCompare(String(k));return l==="asc"?F:-F}),e[5]=o,e[6]=m,e[7]=l,e[8]=a,e[9]=_}else _=e[9];const I=_;let O;e[10]===Symbol.for("react.memo_cache_sentinel")?(O=[{id:"name",header:"Name",render:vs,sortable:!0},{id:"uri",header:"URI",render:Cs,sortable:!0},{id:"description",header:"Description",render:ys,cellClassName:"flex-1",sortable:!0},{id:"mimeType",header:"Type",render:bs,sortable:!0}],e[10]=O):O=e[10];const w=O;let h;e[11]===Symbol.for("react.memo_cache_sentinel")?(h=w.filter(js).map(gs),e[11]=h):h=e[11];const R=h;let M;e[12]!==n||e[13]!==i||e[14]!==f||e[15]!==g||e[16]!==l||e[17]!==a||e[18]!==N||e[19]!==j?(M=g&&s.jsxs(Be,{children:[s.jsx(we,{viewMode:j,onViewModeChange:b,sortKey:a,sortDirection:l,onSort:f,sortOptions:R}),s.jsx(Ge,{title:i?`${i}: Resources`:"Resources",url:N,icon:n??"folder"})]}),e[12]=n,e[13]=i,e[14]=f,e[15]=g,e[16]=l,e[17]=a,e[18]=N,e[19]=j,e[20]=M):M=e[20];let z;e[21]===Symbol.for("react.memo_cache_sentinel")?(z=x=>{x.key==="Escape"&&(v(""),x.target.blur())},e[21]=z):z=e[21];let E;e[22]!==m?(E=s.jsx(Ue,{value:m,onChange:v,placeholder:"Search resources...",onKeyDown:z}),e[22]=m,e[23]=E):E=e[23];let S;e[24]!==r||e[25]!==y||e[26]!==f||e[27]!==m||e[28]!==l||e[29]!==a||e[30]!==I||e[31]!==j?(S=j==="cards"?s.jsx("div",{className:"flex-1 overflow-auto p-5",children:I.length===0?s.jsx(H,{image:null,title:m?"No resources found":"No resources available",description:m?"Try adjusting your search terms":r}):s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:I.map(x=>s.jsx(We,{className:"cursor-pointer transition-colors",onClick:()=>y(x),children:s.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[s.jsx(ve,{icon:null,name:x.name||x.uri,size:"md",className:"shrink-0 shadow-sm"}),s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:x.name||x.uri}),s.jsx("p",{className:"text-xs font-mono text-muted-foreground truncate",children:x.uri}),x.description&&s.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2 mt-1",children:x.description})]})]})},x.uri))})}):s.jsx(qe,{columns:w,data:I,isLoading:!1,sortKey:a,sortDirection:l,onSort:f,onRowClick:x=>y(x),emptyState:s.jsx(H,{image:null,title:m?"No resources found":"No resources available",description:m?"Try adjusting your search terms":r})}),e[24]=r,e[25]=y,e[26]=f,e[27]=m,e[28]=l,e[29]=a,e[30]=I,e[31]=j,e[32]=S):S=e[32];let D;e[33]!==E||e[34]!==S?(D=s.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[E,S]}),e[33]=E,e[34]=S,e[35]=D):D=e[35];let A;return e[36]!==D||e[37]!==M?(A=s.jsxs(s.Fragment,{children:[M,D]}),e[36]=D,e[37]=M,e[38]=A):A=e[38],A}function gs(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function js(t){return t.sortable}function bs(t){return s.jsx("span",{className:"text-sm text-muted-foreground",children:t.mimeType||"—"})}function ys(t){return s.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function Cs(t){return s.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:t.uri})}function vs(t){return s.jsx("span",{className:"text-sm font-medium text-foreground",children:t.name||t.uri})}function Ss(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Ns(t){const e=W.c(6),{resources:o,connectionId:i,org:n}=t,c=Se(i),d=c?.title,u=c?.icon;let g;return e[0]!==i||e[1]!==n||e[2]!==o||e[3]!==d||e[4]!==u?(g=s.jsx(xs,{resources:o,connectionId:i,org:n,connectionTitle:d,connectionIcon:u}),e[0]=i,e[1]=n,e[2]=o,e[3]=d,e[4]=u,e[5]=g):g=e[5],g}function ws(t){const e=W.c(4),{tools:o,connectionId:i,org:n}=t;let c;return e[0]!==i||e[1]!==n||e[2]!==o?(c=s.jsx(Bt,{tools:o,connectionId:i,org:n}),e[0]=i,e[1]=n,e[2]=o,e[3]=c):c=e[3],c}function Ts(t){const e=W.c(61),{connection:o,connectionId:i,org:n,requestedTabId:c,collections:d,onUpdate:u,isUpdating:g,prompts:r,resources:p}=t,N=jt();let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m={from:"/$org/mcps/$connectionId"},e[0]=m):m=e[0];const v=Ce(m);let j;e[1]!==i?(j={connectionId:i},e[1]=i,e[2]=j):j=e[2];const b=Nt(j),a=b.isAuthenticated,T=o?.metadata?.repository,l=!!T?.url,C=o?.tools?.length??0,$=r.length,f=p.length;let L;e[3]===Symbol.for("react.memo_cache_sentinel")?(L={id:"settings",label:"Settings"},e[3]=L):L=e[3];let y;e[4]!==a||e[5]!==C?(y=a&&C>0?[{id:"tools",label:"Tools",count:C}]:[],e[4]=a,e[5]=C,e[6]=y):y=e[6];let _;e[7]!==a||e[8]!==$?(_=a&&$>0?[{id:"prompts",label:"Prompts",count:$}]:[],e[7]=a,e[8]=$,e[9]=_):_=e[9];let I;e[10]!==a||e[11]!==f?(I=a&&f>0?[{id:"resources",label:"Resources",count:f}]:[],e[10]=a,e[11]=f,e[12]=I):I=e[12];let O;if(e[13]!==d||e[14]!==l||e[15]!==a||e[16]!==y||e[17]!==_||e[18]!==I){let k;e[20]!==l?(k=l?[{id:"readme",label:"README"}]:[],e[20]=l,e[21]=k):k=e[21],O=[L,...y,..._,...I,...a?(d||[]).map($s):[],...k],e[13]=d,e[14]=l,e[15]=a,e[16]=y,e[17]=_,e[18]=I,e[19]=O}else O=e[19];const w=O,h=w.some(k=>k.id===c)?c:"settings";let R;e[22]!==v?(R=k=>{v({search:F=>({...F,tab:k}),replace:!0})},e[22]=v,e[23]=R):R=e[23];const M=R;let z;e[24]!==d?(z=d||[],e[24]=d,e[25]=z):z=e[25];let E;if(e[26]!==h||e[27]!==z){let k;e[29]!==h?(k=F=>F.name===h,e[29]=h,e[30]=k):k=e[30],E=z.find(k),e[26]=h,e[27]=z,e[28]=E}else E=e[28];const S=E;let D;e[31]!==N.history?(D=()=>N.history.back(),e[31]=N.history,e[32]=D):D=e[32];let A;e[33]!==h||e[34]!==M||e[35]!==w?(A=s.jsx(It,{children:s.jsx(_t,{tabs:w,activeTab:h,onTabChange:M})}),e[33]=h,e[34]=M,e[35]=w,e[36]=A):A=e[36];let x;e[37]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx("div",{className:"flex h-full items-center justify-center",children:s.jsx(st,{size:32,className:"animate-spin text-muted-foreground"})}),e[37]=x):x=e[37];let K;e[38]!==S||e[39]!==h||e[40]!==b.isServerError||e[41]!==b.supportsOAuth||e[42]!==o||e[43]!==i||e[44]!==M||e[45]!==l||e[46]!==a||e[47]!==g||e[48]!==u||e[49]!==n||e[50]!==r||e[51]!==T||e[52]!==p?(K=s.jsx(U.Suspense,{fallback:x,children:h==="tools"?s.jsx(ws,{tools:o.tools??void 0,connectionId:i,org:n}):h==="prompts"?s.jsx(ps,{prompts:r,connectionId:i,org:n}):h==="resources"?s.jsx(Ns,{resources:p,connectionId:i,org:n}):h==="settings"?s.jsx(wt,{connection:o,onUpdate:u,isUpdating:g,isMCPAuthenticated:a,supportsOAuth:b.supportsOAuth,isServerError:b.isServerError,onViewReadme:l?()=>M("readme"):void 0}):h==="readme"&&l?s.jsx(hs,{repository:T}):S&&a?s.jsx(ls,{connectionId:i,org:n,activeCollection:S},h):s.jsx(H,{title:"Collection not found",description:"This collection may have been deleted or you may not have access."})}),e[38]=S,e[39]=h,e[40]=b.isServerError,e[41]=b.supportsOAuth,e[42]=o,e[43]=i,e[44]=M,e[45]=l,e[46]=a,e[47]=g,e[48]=u,e[49]=n,e[50]=r,e[51]=T,e[52]=p,e[53]=K):K=e[53];let V;e[54]!==h||e[55]!==K?(V=s.jsx("div",{className:"flex h-full w-full bg-background overflow-hidden",children:s.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-auto",children:s.jsx(tt,{children:K},h)})}),e[54]=h,e[55]=K,e[56]=V):V=e[56];let P;return e[57]!==D||e[58]!==A||e[59]!==V?(P=s.jsxs(Dt,{onBack:D,children:[A,V]}),e[57]=D,e[58]=A,e[59]=V,e[60]=P):P=e[60],P}function $s(t){return{id:t.name,label:t.displayName}}function _s(){const t=W.c(29);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/$org/mcps/$connectionId"},t[0]=e):e=t[0];const o=Ce(e);let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i={from:"/shell/$org/mcps/$connectionId"},t[1]=i):i=t[1];const{connectionId:n,org:c}=xt(i);let d;t[2]===Symbol.for("react.memo_cache_sentinel")?(d={from:"/shell/$org/mcps/$connectionId"},t[2]=d):d=t[2];const g=gt(d).tab||"settings",r=Se(n),p=vt(),N=St(r??void 0);let m;t[3]!==n?(m=[n],t[3]=n,t[4]=m):m=t[4];const{promptsMap:v}=Tt(m);let j;t[5]!==n?(j=[n],t[5]=n,t[6]=j):j=t[6];const{resourcesMap:b}=$t(j);let a;t[7]!==n||t[8]!==v?(a=v.get(n)??[],t[7]=n,t[8]=v,t[9]=a):a=t[9];const T=a;let l;t[10]!==n||t[11]!==b?(l=b.get(n)??[],t[10]=n,t[11]=b,t[12]=l):l=t[12];const C=l;let $;t[13]!==p.update||t[14]!==n?($=async y=>{await p.update.mutateAsync({id:n,data:y})},t[13]=p.update,t[14]=n,t[15]=$):$=t[15];const f=$;if(!r){let y;return t[16]!==o||t[17]!==c?(y=s.jsx("div",{className:"flex h-full w-full bg-background",children:s.jsx(H,{title:"Connection not found",description:"This connection may have been deleted or you may not have access.",actions:s.jsx(Ne,{variant:"outline",onClick:()=>o({to:"/$org/mcps",params:{org:c}}),children:"Back to connections"})})}),t[16]=o,t[17]=c,t[18]=y):y=t[18],y}let L;return t[19]!==p.update.isPending||t[20]!==N||t[21]!==r||t[22]!==n||t[23]!==f||t[24]!==c||t[25]!==T||t[26]!==g||t[27]!==C?(L=s.jsx(Ts,{org:c,connection:r,connectionId:n,requestedTabId:g,collections:N,onUpdate:f,isUpdating:p.update.isPending,prompts:T,resources:C}),t[19]=p.update.isPending,t[20]=N,t[21]=r,t[22]=n,t[23]=f,t[24]=c,t[25]=T,t[26]=g,t[27]=C,t[28]=L):L=t[28],L}function Is(){const t=W.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx(tt,{children:s.jsx(U.Suspense,{fallback:s.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:s.jsx(st,{size:32,className:"animate-spin text-muted-foreground"})}),children:s.jsx(_s,{})})}),t[0]=e):e=t[0],e}function _o(){const t=W.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx(Is,{}),t[0]=e):e=t[0],e}export{_o as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as J,j as e,r as M,f as Q,b as Y,a as Z,u as ee,y as ne,x as te,v as X,W as se,w as x,a0 as oe}from"./index-D_9U2egr.js";import{C as re}from"./collection-header-BIZLVBPH.js";import{C as ie}from"./collection-page-CpTNB-W7.js";import{C as ae}from"./collection-search-xvAQUbQ8.js";import{C as ce}from"./collection-table-wrapper-BLpgESGM.js";import{C as le}from"./connection-card-DIVWkbya.js";import{E as P}from"./SearchMd-BAWY3jJ1.js";import{E as de}from"./error-boundary-07xTy_TK.js";import{a as me,u as pe,n as T,I as ue}from"./use-connection-CCY0Xwwp.js";import{u as xe,s as F}from"./use-list-state-C-sROL5p.js";import{u as he}from"./tooltip-CaoJSXa7.js";import{f as ge,a as je,b as fe,c as ve,d as _e,e as Ce,A as ye,g as Se}from"./alert-dialog-dauOR89q.js";import{B as we}from"./badge-DBsMMhww.js";import{B as g}from"./button-UpWqqi7Z.js";import{d as Ne,c as ke,D as De,a as be,b as Pe,T as Te,f as Ie}from"./dialog-DQ_m9LgP.js";import{b as z,D as V,a as R,d as k}from"./dropdown-menu-B_pozn9G.js";import{a as Me,F as l,b as d,c as m,d as p,f as u}from"./form-CGaxh2WC.js";import{i as B}from"./DotsVertical-CGWni397.js";import{i as $e,r as Ae,s as I,E as Ee,e as W}from"./env-vars-editor-DcIkv_3p.js";import{i as Oe}from"./Loading01-DfUJLT5a.js";import{i as Fe}from"./Terminal-CJwUlnBn.js";import{s as H}from"./Trash01-DAwkJNu8.js";import{I as f}from"./input-DNanPJKs.js";import{S as ze,a as Ve,b as Re,c as Be,d as w}from"./select-888i9ck2.js";import{g as He}from"./generate-id-Dyweu44Y.js";import"./collection-display-button-CJMwmXuc.js";import"./view-mode-toggle-BWA1OFcI.js";import"./card-csaWOT-1.js";import"./use-mobile-DjZ7nTWx.js";import"./X-SWur-HdE.js";import"./Plus-xQLsl9Xg.js";import"./ChevronDown-CqrF2uJ-.js";const Xe=X({key:x(),value:x()}),We=X({title:x().min(1,"Name is required"),description:x().nullable().optional(),ui_type:oe(["HTTP","SSE","Websocket","NPX","STDIO"]),connection_url:x().optional(),connection_token:x().nullable().optional(),npx_package:x().optional(),stdio_command:x().optional(),stdio_args:x().optional(),stdio_cwd:x().optional(),env_vars:se(Xe).optional()}).refine(t=>t.ui_type==="NPX"?!!t.npx_package?.trim():!0,{message:"NPM package is required",path:["npx_package"]}).refine(t=>t.ui_type==="STDIO"?!!t.stdio_command?.trim():!0,{message:"Command is required",path:["stdio_command"]}).refine(t=>t.ui_type==="HTTP"||t.ui_type==="SSE"||t.ui_type==="Websocket"?!!t.connection_url?.trim():!0,{message:"URL is required",path:["connection_url"]});function Le(t,o){const j={command:"npx",args:["-y",t]},v=W(o);return Object.keys(v).length>0&&(j.envVars=v),j}function Ue(t,o,j,v){const _={command:t};o.trim()&&(_.args=o.trim().split(/\s+/)),j?.trim()&&(_.cwd=j.trim());const i=W(v);return Object.keys(i).length>0&&(_.envVars=i),_}function Ke(t){return t.command==="npx"}function qe(t){return t.args?.find(o=>!o.startsWith("-"))??""}function Ge(t){return{command:t.command,args:t.args?.join(" ")??"",cwd:t.cwd??""}}function Je(t,o){switch(o.type){case"edit":return{mode:"editing",connection:o.connection};case"delete":return{mode:"deleting",connection:o.connection};case"close":return{mode:"idle"}}}function Qe(){const{org:t}=he(),o=Q(),j=Y({strict:!1}),{data:v}=Z.useSession(),{stdioEnabled:_}=ee(),i=xe({namespace:t.slug,resource:"connections"}),D=me(),b=pe(i),[h,C]=M.useReducer(Je,{mode:"idle"}),$=j.action==="create",L=()=>{o({to:"/$org/mcps",params:{org:t.slug},search:{action:"create"}})},A=()=>{o({to:"/$org/mcps",params:{org:t.slug},search:{}})},r=ne({resolver:te(We),defaultValues:{title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]}}),y=r.watch("ui_type"),a=h.mode==="editing"?h.connection:null;M.useEffect(()=>{if(a){const n=$e(a.connection_headers)?a.connection_headers:null;if(n&&a.connection_type==="STDIO"){const s=Ae(n.envVars);if(Ke(n)){const c=qe(n);r.reset({title:a.title,description:a.description,ui_type:"NPX",connection_url:"",connection_token:null,npx_package:c,stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:s})}else{const c=Ge(n);r.reset({title:a.title,description:a.description,ui_type:"STDIO",connection_url:"",connection_token:null,npx_package:"",stdio_command:c.command,stdio_args:c.args,stdio_cwd:c.cwd,env_vars:s})}}else r.reset({title:a.title,description:a.description,ui_type:a.connection_type,connection_url:a.connection_url??"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})}else r.reset({title:"",description:null,ui_type:"HTTP",connection_url:"",connection_token:null,npx_package:"",stdio_command:"",stdio_args:"",stdio_cwd:"",env_vars:[]})},[a,r]);const U=async()=>{if(h.mode!=="deleting")return;const n=h.connection.id;C({type:"close"});try{await D.delete.mutateAsync(n)}catch{}},K=async n=>{let s,c=null,N=null,S=null;if(n.ui_type==="NPX"?(s="STDIO",c="",S=Le(n.npx_package||"",n.env_vars||[])):n.ui_type==="STDIO"?(s="STDIO",c="",S=Ue(n.stdio_command||"",n.stdio_args||"",n.stdio_cwd,n.env_vars||[])):(s=n.ui_type,c=n.connection_url||"",N=n.connection_token||null),a){await D.update.mutateAsync({id:a.id,data:{title:n.title,description:n.description||null,connection_type:s,connection_url:c,...N&&{connection_token:N},...S&&{connection_headers:S}}}),C({type:"close"}),r.reset();return}const O=He("conn");await D.create.mutateAsync({id:O,title:n.title,description:n.description||null,connection_type:s,connection_url:c,connection_token:N,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:v?.user?.id||"system",organization_id:t.id,icon:null,app_name:null,app_id:null,connection_headers:S,oauth_config:null,configuration_state:null,metadata:null,tools:null,bindings:null,status:"inactive"}),A(),r.reset(),o({to:"/$org/mcps/$connectionId",params:{org:t.slug,connectionId:O}})},E=n=>{n||($?A():C({type:"close"}),r.reset())},q=[{id:"icon",header:"",render:n=>e.jsx(ue,{icon:n.icon,name:n.title,size:"sm",className:"shrink-0 shadow-sm",fallbackIcon:e.jsx(T,{})}),cellClassName:"w-16 shrink-0",wrap:!0},{id:"title",header:"Name",render:n=>e.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:n.title}),cellClassName:"w-48 min-w-0 shrink-0",sortable:!0},{id:"description",header:"Description",render:n=>e.jsx("span",{className:"text-sm text-foreground line-clamp-2",children:n.description||"—"}),cellClassName:"flex-1 min-w-0",wrap:!0,sortable:!0},{id:"connection_type",header:"Type",accessor:n=>e.jsx("span",{className:"text-sm font-medium",children:n.connection_type}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"connection_url",header:"URL",render:n=>{const s=n.connection_url??"",c=s.length>40?`${s.slice(0,40)}...`:s;return e.jsx("span",{className:"text-sm text-muted-foreground",children:c})},cellClassName:"w-48 min-w-0 shrink-0"},{id:"status",header:"Status",render:n=>e.jsx(we,{variant:n.status==="active"?"success":"outline",children:n.status}),cellClassName:"w-24 shrink-0",sortable:!0},{id:"actions",header:"",render:n=>e.jsxs(z,{children:[e.jsx(V,{asChild:!0,children:e.jsx(g,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:e.jsx(B,{size:20})})}),e.jsxs(R,{align:"end",onClick:s=>s.stopPropagation(),children:[e.jsxs(k,{onClick:s=>{s.stopPropagation(),o({to:"/$org/mcps/$connectionId",params:{org:t.slug,connectionId:n.id}})},children:[e.jsx(F,{size:16}),"Inspect"]}),e.jsxs(k,{variant:"destructive",onClick:s=>{s.stopPropagation(),C({type:"delete",connection:n})},children:[e.jsx(H,{size:16}),"Delete"]})]})]}),cellClassName:"w-12 shrink-0"}],G=e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(g,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:t.slug}}),size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Browse Store"}),e.jsx(g,{onClick:L,size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Connect MCP Server"})]});return e.jsxs(ie,{children:[e.jsx(Ne,{open:$||h.mode==="editing",onOpenChange:E,children:e.jsxs(ke,{className:"sm:max-w-[525px]",children:[e.jsxs(De,{children:[e.jsx(be,{children:a?"Edit Connection":"Create New Connection"}),e.jsx(Pe,{children:a?"Update the connection details below.":"Add a new connection to your organization. Fill in the details below."})]}),e.jsx(Me,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(K),children:[e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsx(l,{control:r.control,name:"title",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"Name *"}),e.jsx(p,{children:e.jsx(f,{placeholder:"My Connection",...n})}),e.jsx(u,{})]})}),e.jsx(l,{control:r.control,name:"description",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"Description"}),e.jsx(p,{children:e.jsx(Te,{placeholder:"A brief description of this connection",rows:3,...n,value:n.value??""})}),e.jsx(u,{})]})}),e.jsx(l,{control:r.control,name:"ui_type",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"Type *"}),e.jsxs(ze,{value:n.value,onValueChange:n.onChange,children:[e.jsx(p,{children:e.jsx(Ve,{children:e.jsx(Re,{})})}),e.jsxs(Be,{children:[e.jsx(w,{value:"HTTP",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(I,{className:"w-4 h-4"}),"HTTP"]})}),e.jsx(w,{value:"SSE",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(I,{className:"w-4 h-4"}),"SSE"]})}),e.jsx(w,{value:"Websocket",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(I,{className:"w-4 h-4"}),"Websocket"]})}),_&&e.jsxs(e.Fragment,{children:[e.jsx(w,{value:"NPX",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(T,{className:"w-4 h-4"}),"NPX Package"]})}),e.jsx(w,{value:"STDIO",children:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Fe,{className:"w-4 h-4"}),"Custom Command"]})})]})]})]}),e.jsx(u,{})]})}),y==="NPX"&&e.jsx(e.Fragment,{children:e.jsx(l,{control:r.control,name:"npx_package",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"NPM Package *"}),e.jsx(p,{children:e.jsx(f,{placeholder:"@perplexity-ai/mcp-server",...n,value:n.value??""})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"The npm package to run with npx"}),e.jsx(u,{})]})})}),y==="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4 items-start",children:[e.jsx(l,{control:r.control,name:"stdio_command",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"Command *"}),e.jsx(p,{children:e.jsx(f,{placeholder:"node, bun, python...",...n,value:n.value??""})}),e.jsx(u,{})]})}),e.jsx(l,{control:r.control,name:"stdio_args",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"Arguments"}),e.jsx(p,{children:e.jsx(f,{placeholder:"arg1 arg2 --flag value",...n,value:n.value??""})}),e.jsx(u,{})]})})]}),e.jsx(l,{control:r.control,name:"stdio_cwd",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"Working Directory"}),e.jsx(p,{children:e.jsx(f,{placeholder:"/path/to/project (optional)",...n,value:n.value??""})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Directory where the command will be executed"}),e.jsx(u,{})]})})]}),(y==="NPX"||y==="STDIO")&&e.jsx(l,{control:r.control,name:"env_vars",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"Environment Variables"}),e.jsx(p,{children:e.jsx(Ee,{value:n.value??[],onChange:n.onChange})}),e.jsx(u,{})]})}),y!=="NPX"&&y!=="STDIO"&&e.jsxs(e.Fragment,{children:[e.jsx(l,{control:r.control,name:"connection_url",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"URL *"}),e.jsx(p,{children:e.jsx(f,{placeholder:"https://example.com/mcp",...n,value:n.value??""})}),e.jsx(u,{})]})}),e.jsx(l,{control:r.control,name:"connection_token",render:({field:n})=>e.jsxs(d,{children:[e.jsx(m,{children:"Token (optional)"}),e.jsx(p,{children:e.jsx(f,{type:"password",placeholder:"Bearer token or API key",...n,value:n.value??""})}),e.jsx(u,{})]})})]})]}),e.jsxs(Ie,{children:[e.jsx(g,{type:"button",variant:"outline",onClick:()=>E(!1),children:"Cancel"}),e.jsx(g,{type:"submit",disabled:r.formState.isSubmitting,className:"min-w-40",children:r.formState.isSubmitting?"Saving...":a?"Update Connection":"Create Connection"})]})]})})]})}),e.jsx(ge,{open:h.mode==="deleting",onOpenChange:n=>!n&&C({type:"close"}),children:e.jsxs(je,{children:[e.jsxs(fe,{children:[e.jsx(ve,{children:"Delete Connection?"}),e.jsxs(_e,{children:["This action cannot be undone. This will permanently delete"," ",e.jsx("span",{className:"font-medium text-foreground",children:h.mode==="deleting"&&h.connection.title}),"."]})]}),e.jsxs(Ce,{children:[e.jsx(ye,{children:"Cancel"}),e.jsx(Se,{onClick:U,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),e.jsx(re,{title:"MCP Servers",viewMode:i.viewMode,onViewModeChange:i.setViewMode,sortKey:i.sortKey,sortDirection:i.sortDirection,onSort:i.handleSort,sortOptions:[{id:"title",label:"Name"},{id:"description",label:"Description"},{id:"connection_type",label:"Type"},{id:"status",label:"Status"}],ctaButton:G}),e.jsx(ae,{value:i.search,onChange:i.setSearch,placeholder:"Search for an MCP Server...",onKeyDown:n=>{n.key==="Escape"&&(i.setSearch(""),n.target.blur())}}),i.viewMode==="cards"?e.jsx("div",{className:"flex-1 overflow-auto p-5",children:b.length===0?e.jsx(P,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:336,height:320,"aria-hidden":"true"}),title:(i.search,"No MCP Servers found"),description:i.search?`No MCP Servers match "${i.search}"`:"Create a connection to get started.",actions:!i.search&&e.jsx(g,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:t.slug}}),children:"Browse Store"})}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:b.map(n=>e.jsx(le,{connection:n,fallbackIcon:e.jsx(T,{}),onClick:()=>o({to:"/$org/mcps/$connectionId",params:{org:t.slug,connectionId:n.id}}),headerActions:e.jsxs(z,{children:[e.jsx(V,{asChild:!0,children:e.jsx(g,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:e.jsx(B,{size:20})})}),e.jsxs(R,{align:"end",onClick:s=>s.stopPropagation(),children:[e.jsxs(k,{onClick:s=>{s.stopPropagation(),o({to:"/$org/mcps/$connectionId",params:{org:t.slug,connectionId:n.id}})},children:[e.jsx(F,{size:16}),"Inspect"]}),e.jsxs(k,{variant:"destructive",onClick:s=>{s.stopPropagation(),C({type:"delete",connection:n})},children:[e.jsx(H,{size:16}),"Delete"]})]})]})},n.id))})}):e.jsx(ce,{columns:q,data:b,isLoading:!1,sortKey:i.sortKey,sortDirection:i.sortDirection,onSort:i.handleSort,onRowClick:n=>o({to:"/$org/mcps/$connectionId",params:{org:t.slug,connectionId:n.id}}),emptyState:i.search?e.jsx(P,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No MCP Servers found",description:`No MCP Servers match "${i.search}"`}):e.jsx(P,{image:e.jsx("img",{src:"/emptystate-mcp.svg",alt:"",width:400,height:178,"aria-hidden":"true"}),title:"No MCP Servers found",description:"Create a connection to get started.",actions:e.jsx(g,{variant:"outline",onClick:()=>o({to:"/$org/store",params:{org:t.slug}}),children:"Browse Store"})})})]})}function In(){const t=J.c(1);let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsx(de,{children:e.jsx(M.Suspense,{fallback:e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(Oe,{size:32,className:"animate-spin text-muted-foreground"})}),children:e.jsx(Qe,{})})}),t[0]=o):o=t[0],o}export{In as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as N,v as y,a0 as P,W as _,w as t,X as p,aO as w,aH as H,c as R,j as c}from"./index-D_9U2egr.js";import{B as z}from"./button-UpWqqi7Z.js";import{I as V}from"./input-DNanPJKs.js";import{s as W}from"./Plus-xQLsl9Xg.js";import{s as L}from"./Trash01-DAwkJNu8.js";const U=({size:i=24,color:e="currentColor",...n})=>N.createElement("svg",{viewBox:"0 0 24 24",width:i,height:i,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...n},N.createElement("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10m0-20a15.3 15.3 0 0 0-4 10 15.3 15.3 0 0 0 4 10m0-20C6.477 2 2 6.477 2 12s4.477 10 10 10m0-20c5.523 0 10 4.477 10 10s-4.477 10-10 10M2.5 9h19m-19 6h19"}));U.displayName="Globe02";const B=y({authorizationEndpoint:t().url(),tokenEndpoint:t().url(),introspectionEndpoint:t().url().optional(),clientId:t(),clientSecret:t().optional(),scopes:_(t()),grantType:P(["authorization_code","client_credentials"])}),M=y({name:t(),description:t().optional(),inputSchema:p(t(),w()),outputSchema:p(t(),w()).optional()}),$=y({headers:p(t(),t()).optional()}),q=y({command:t().describe("Command to run (e.g., 'npx', 'node')"),args:_(t()).optional().describe("Command arguments"),cwd:t().optional().describe("Working directory"),envVars:p(t(),t()).optional().describe("Environment variables (encrypted in storage)")}),O=y({id:t().describe("Unique identifier for the connection"),title:t().describe("Human-readable name for the connection"),created_at:t().describe("When the connection was created"),updated_at:t().describe("When the connection was last updated"),created_by:t().describe("User ID who created the connection"),updated_by:t().optional().describe("User ID who last updated the connection"),organization_id:t().describe("Organization ID this connection belongs to"),description:t().nullable().describe("Description of the connection"),icon:t().nullable().describe("Icon URL for the connection"),app_name:t().nullable().describe("Associated app name"),app_id:t().nullable().describe("Associated app ID"),connection_type:P(["HTTP","SSE","Websocket","STDIO"]).describe("Type of connection"),connection_url:t().nullable().describe("URL for HTTP/SSE/WebSocket connections. Null for STDIO."),connection_token:t().nullable().describe("Authentication token (for HTTP connections)"),connection_headers:H([q,$]).nullable().describe("Connection parameters. HTTP: { headers }. STDIO: { command, args, cwd, envVars }"),oauth_config:B.nullable().describe("OAuth configuration"),configuration_state:p(t(),w()).nullable().describe("Configuration state (decrypted)"),configuration_scopes:_(t()).nullable().optional().describe("Configuration scopes"),metadata:p(t(),w()).nullable().describe("Additional metadata (includes repository info)"),tools:_(M).nullable().describe("Discovered tools from MCP"),bindings:_(t()).nullable().describe("Detected bindings"),status:P(["active","inactive","error"]).describe("Current status")});O.omit({created_at:!0,updated_at:!0,created_by:!0,updated_by:!0,organization_id:!0,tools:!0,bindings:!0,status:!0}).partial({id:!0,description:!0,icon:!0,app_name:!0,app_id:!0,connection_url:!0,connection_token:!0,connection_headers:!0,oauth_config:!0,configuration_state:!0,configuration_scopes:!0,metadata:!0});O.partial();function Q(i){return i!=null&&"command"in i}function Y(i){const e=R.c(34),{value:n,onChange:o,keyPlaceholder:A,valuePlaceholder:D,className:j}=i,h=A===void 0?"VARIABLE_NAME":A,f=D===void 0?"value...":D;let k;e[0]!==o||e[1]!==n?(k=()=>{o([...n,{key:"",value:""}])},e[0]=o,e[1]=n,e[2]=k):k=e[2];const I=k;let E;e[3]!==o||e[4]!==n?(E=r=>{o(n.filter((l,a)=>a!==r))},e[3]=o,e[4]=n,e[5]=E):E=e[5];const b=E;let x;e[6]!==o||e[7]!==n?(x=(r,l)=>{const a=[...n],s=a[r];s&&(a[r]={key:l,value:s.value},o(a))},e[6]=o,e[7]=n,e[8]=x):x=e[8];const g=x;let C;e[9]!==o||e[10]!==n?(C=(r,l)=>{const a=[...n],s=a[r];s&&(a[r]={key:s.key,value:l},o(a))},e[9]=o,e[10]=n,e[11]=C):C=e[11];const v=C;let d;if(e[12]!==g||e[13]!==b||e[14]!==v||e[15]!==h||e[16]!==n||e[17]!==f){let r;e[19]!==g||e[20]!==b||e[21]!==v||e[22]!==h||e[23]!==f?(r=(l,a)=>c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(V,{placeholder:h,value:l.key,onChange:s=>g(a,s.target.value),className:"h-10 rounded-lg flex-1 font-mono text-sm"}),c.jsx(V,{type:"password",placeholder:f,value:l.value,onChange:s=>v(a,s.target.value),className:"h-10 rounded-lg flex-1"}),c.jsx(z,{type:"button",variant:"ghost",size:"icon",className:"h-10 w-10 shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>b(a),children:c.jsx(L,{size:16})})]},a),e[19]=g,e[20]=b,e[21]=v,e[22]=h,e[23]=f,e[24]=r):r=e[24],d=n.map(r),e[12]=g,e[13]=b,e[14]=v,e[15]=h,e[16]=n,e[17]=f,e[18]=d}else d=e[18];let S;e[25]===Symbol.for("react.memo_cache_sentinel")?(S=c.jsx(W,{size:16,className:"mr-1"}),e[25]=S):S=e[25];let u;e[26]!==I?(u=c.jsxs(z,{type:"button",variant:"outline",size:"sm",className:"w-full h-9 text-muted-foreground",onClick:I,children:[S,"Add Environment Variable"]}),e[26]=I,e[27]=u):u=e[27];let m;e[28]!==d||e[29]!==u?(m=c.jsxs("div",{className:"flex flex-col gap-2",children:[d,u]}),e[28]=d,e[29]=u,e[30]=m):m=e[30];let T;return e[31]!==j||e[32]!==m?(T=c.jsx("div",{className:j,children:m}),e[31]=j,e[32]=m,e[33]=T):T=e[33],T}function Z(i){const e={};for(const{key:n,value:o}of i)n.trim()&&(e[n.trim()]=o);return e}function ee(i){return i?Object.entries(i).map(([e,n])=>({key:e,value:n})):[]}export{Y as E,Z as e,Q as i,ee as r,U as s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as T,c as U,j as t,f as ke,d as Me,b as Oe,v as Ue,a0 as Se,w as Ne,g as Be,av as Le,x as Je,y as qe,t as Ie}from"./index-D_9U2egr.js";import{E as Qe}from"./SearchMd-BAWY3jJ1.js";import{E as $e}from"./error-boundary-07xTy_TK.js";import{I as _e,u as Pe}from"./use-connection-CCY0Xwwp.js";import{T as Ke,S as We}from"./switch-CxdnIT30.js";import{C as Re}from"./checkbox-B53QAVdc.js";import{c as K,B as J}from"./button-UpWqqi7Z.js";import{i as He}from"./ArrowLeft-eDq0PdxL.js";import{C as Xe}from"./collection-search-xvAQUbQ8.js";import{I as we}from"./input-DNanPJKs.js";import{s as Ye}from"./Plus-xQLsl9Xg.js";import{i as Ze}from"./X-SWur-HdE.js";import{b as et,a as tt}from"./use-gateway-6PKj5OoP.js";import{u as st,a as nt}from"./use-connection-resources-CQX8IZC3.js";import{a as ce,c as ae,b as de,T as me,i as Te}from"./tooltip-CaoJSXa7.js";import{a as ot}from"./Copy01-CUqgUCLS.js";import{i as lt}from"./CpuChip02-CwrVudRE.js";import{i as ze}from"./InfoCircle-CaOedrxe.js";import{i as Ce}from"./Loading01-DfUJLT5a.js";import{F as ie,a as rt,b as fe,d as xe,f as he,c as Ae}from"./form-CGaxh2WC.js";import{S as Ee,a as De,b as Fe,c as Ve,d as ue}from"./select-888i9ck2.js";import{R as it}from"./resource-tabs-CwnllnxC.js";import{s as ct}from"./slugify-CEUa2lfQ.js";import{P as at,f as dt}from"./formatDistanceToNow-BzQ8Uo3Q.js";import{a as mt,V as ut,b as ft}from"./layout-Cx9b8Yer.js";import"./ChevronDown-CqrF2uJ-.js";import"./badge-DBsMMhww.js";import"./use-organization-settings-Du1vfsWT.js";const xt=T.memo(function(e){const s=U.c(20),{connection:o,isSelected:d,hasItemsEnabled:l,activeItemsCount:f,totalItemsCount:x,onSelect:a,onToggle:r}=e,i=d?"bg-accent/50":"hover:bg-muted/50";let m;s[0]!==i?(m=K("flex items-center gap-3 p-2 rounded-lg transition-colors will-change-auto",i),s[0]=i,s[1]=m):m=s[1];let c;s[2]!==o.icon||s[3]!==o.title?(c=t.jsx(_e,{icon:o.icon,name:o.title,size:"xs"}),s[2]=o.icon,s[3]=o.title,s[4]=c):c=s[4];let j;s[5]!==o.title?(j=t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:o.title})}),s[5]=o.title,s[6]=j):j=s[6];let h;s[7]!==a||s[8]!==c||s[9]!==j?(h=t.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 cursor-pointer",onClick:a,children:[c,j]}),s[7]=a,s[8]=c,s[9]=j,s[10]=h):h=s[10];let p;s[11]!==f||s[12]!==l||s[13]!==r||s[14]!==x?(p=x>0&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[f,"/",x]}),t.jsx(Re,{checked:l,onCheckedChange:r,onClick:pt})]}),s[11]=f,s[12]=l,s[13]=r,s[14]=x,s[15]=p):p=s[15];let b;return s[16]!==m||s[17]!==h||s[18]!==p?(b=t.jsxs("div",{className:m,children:[h,p]}),s[16]=m,s[17]=h,s[18]=p,s[19]=b):b=s[19],b}),ht=T.memo(function(e){const s=U.c(18),{connectionId:o,item:d,isSelected:l,onToggle:f}=e,x=`item-${o}-${d.id}`,a=l?"text-foreground":"text-muted-foreground";let r;s[0]!==a?(r=K("text-sm font-medium",a),s[0]=a,s[1]=r):r=s[1];let i;s[2]!==d.name||s[3]!==r?(i=t.jsx("div",{className:"flex items-center gap-2 mb-1",children:t.jsx("span",{className:r,children:d.name})}),s[2]=d.name,s[3]=r,s[4]=i):i=s[4];let m;s[5]!==d.description?(m=d.description&&t.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:d.description}),s[5]=d.description,s[6]=m):m=s[6];let c;s[7]!==i||s[8]!==m?(c=t.jsxs("div",{className:"flex-1 min-w-0",children:[i,m]}),s[7]=i,s[8]=m,s[9]=c):c=s[9];const j=`item-${o}-${d.id}`;let h;s[10]!==l||s[11]!==f||s[12]!==j?(h=t.jsx("div",{className:"flex items-center shrink-0",children:t.jsx(Re,{id:j,checked:l,onCheckedChange:f,onClick:gt})}),s[10]=l,s[11]=f,s[12]=j,s[13]=h):h=s[13];let p;return s[14]!==x||s[15]!==c||s[16]!==h?(p=t.jsxs("label",{className:"flex items-center gap-3 p-3 rounded-lg hover:bg-muted/50 cursor-pointer group will-change-auto",htmlFor:x,children:[c,h]}),s[14]=x,s[15]=c,s[16]=h,s[17]=p):p=s[17],p});function Ge({itemSet:n,onItemSetChange:e,getItems:s,itemLabel:o,emptyItemsMessage:d,extraContent:l}){const[f,x]=T.useState(""),a=T.useDeferredValue(f),[r,i]=T.useState("all"),[m,c]=T.useState(!1),j=T.useRef(new Set(Object.keys(n))),h=Pe({searchTerm:a.trim()||void 0}),p=j.current,b=[...p.values()].map(u=>h.find(C=>C.id===u)).filter(u=>u!==void 0),S=h.filter(u=>!p.has(u.id)),w=[...b,...S],g=u=>{const C=n[u];return C!==void 0&&C.length>0},y=w.filter(u=>{if(r==="all")return!0;const C=g(u.id);return r==="selected"?C:r==="unselected"?!C:!0}),[v,_]=T.useState(w[0]?.id??null),N=v?w.find(u=>u.id===v)??null:null,D=N?s(N):[],A=(u,C)=>n[u]?.includes(C)??!1,B=(u,C)=>{const k=n[u]??[],P=k.includes(C),F={...n};if(P){const R=k.filter(z=>z!==C);R.length===0?delete F[u]:F[u]=R}else F[u]=[...k,C];e(F)},q=u=>{const C=w.find(V=>V.id===u);if(!C)return;const k=s(C);if(k.length===0)return;const P=n[u]??[],F=k.map(V=>V.id),R=P.length>0&&F.every(V=>P.includes(V)),z={...n};R?delete z[u]:(z[u]=F,_(u)),e(z)},M=u=>{_(u),c(!0)},G=()=>{c(!1)};return t.jsxs("div",{className:"flex h-full",children:[t.jsxs("div",{className:K("w-full md:w-80 border-r border-border flex flex-col",m&&"hidden md:flex"),children:[t.jsx(Xe,{value:f,onChange:x,placeholder:"Search MCP Servers..."}),t.jsxs("div",{className:"flex gap-1 p-2 border-b border-border",children:[t.jsx("button",{onClick:()=>i("all"),className:K("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",r==="all"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"All"}),t.jsx("button",{onClick:()=>i("selected"),className:K("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",r==="selected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Selected"}),t.jsx("button",{onClick:()=>i("unselected"),className:K("flex-1 px-3 py-1.5 text-xs font-medium rounded-md transition-colors border cursor-pointer",r==="unselected"?"bg-muted border-border":"border-border opacity-75 hover:opacity-100"),children:"Unselected"})]}),t.jsx("div",{className:"flex-1 overflow-auto",children:y.length===0?t.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:f?"No connections found":r==="selected"?"No servers selected":r==="unselected"?"No unselected servers":"No connections available"}):t.jsx("div",{className:"p-2 space-y-1",children:y.map(u=>{const k=s(u).length,P=n[u.id]?.length??0;return t.jsx(xt,{connection:u,isSelected:v===u.id,hasItemsEnabled:g(u.id),activeItemsCount:P,totalItemsCount:k,onSelect:()=>M(u.id),onToggle:()=>q(u.id)},u.id)})})})]}),t.jsx("div",{className:K("flex-1 flex-col",m?"flex":"hidden md:flex"),children:N?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"md:hidden border-b border-border p-4 flex items-center gap-3",children:[t.jsx(J,{variant:"ghost",size:"sm",onClick:G,className:"h-8 w-8 p-0 shrink-0",children:t.jsx(He,{size:20})}),t.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[t.jsx(_e,{icon:N.icon,name:N.title,size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:N.title}),N.description&&t.jsx("p",{className:"text-sm text-muted-foreground truncate",children:N.description})]})]})]}),l,t.jsx("div",{className:"flex-1 overflow-auto p-4",children:D.length===0?t.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:d||`This connection has no ${o} available`}):t.jsx("div",{className:"space-y-2",children:D.map(u=>t.jsx(ht,{connectionId:N.id,item:u,isSelected:A(N.id,u.id),onToggle:()=>B(N.id,u.id)},u.id))})})]}):t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsxs("div",{className:"text-sm text-muted-foreground text-center",children:["Select a connection to view its ",o]})})})]})}function pt(n){return n.stopPropagation()}function gt(n){return n.stopPropagation()}function jt(n){const e=U.c(6),{promptSet:s,onPromptSetChange:o,connectionPrompts:d}=n;let l;e[0]!==d?(l=a=>(d.get(a.id)??[]).map(bt),e[0]=d,e[1]=l):l=e[1];const f=l;let x;return e[2]!==f||e[3]!==o||e[4]!==s?(x=t.jsx(Ge,{itemSet:s,onItemSetChange:o,getItems:f,itemLabel:"prompts",emptyItemsMessage:"This connection has no prompts available"}),e[2]=f,e[3]=o,e[4]=s,e[5]=x):x=e[5],x}function bt(n){return{id:n.name,name:n.name,description:n.description}}function yt(n){return n.includes("*")}function vt(n){const e=U.c(27),{patterns:s,onAddPattern:o,onRemovePattern:d}=n,[l,f]=T.useState("");let x;e[0]!==l||e[1]!==o||e[2]!==s?(x=()=>{const c=l.trim();c&&!s.includes(c)&&(o(c),f(""))},e[0]=l,e[1]=o,e[2]=s,e[3]=x):x=e[3];const a=x;let r;e[4]!==a?(r=c=>{c.key==="Enter"&&(c.preventDefault(),a())},e[4]=a,e[5]=r):r=e[5];const i=r;let m;if(e[6]!==a||e[7]!==i||e[8]!==l||e[9]!==d||e[10]!==s){const c=s.filter(yt);let j;e[12]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx("code",{children:"*"}),e[12]=j):j=e[12];let h;e[13]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsxs("div",{className:"text-xs text-muted-foreground",children:["Add URI patterns to match multiple resources. Use ",j," for single segment and ",t.jsx("code",{children:"**"})," for multiple segments."]}),e[13]=h):h=e[13];let p;e[14]===Symbol.for("react.memo_cache_sentinel")?(p=_=>f(_.target.value),e[14]=p):p=e[14];let b;e[15]!==i||e[16]!==l?(b=t.jsx(we,{value:l,onChange:p,onKeyDown:i,placeholder:"e.g., file:///**/*.ts or db://users/*",className:"flex-1 text-sm"}),e[15]=i,e[16]=l,e[17]=b):b=e[17];let S;e[18]!==l?(S=l.trim(),e[18]=l,e[19]=S):S=e[19];const w=!S;let g;e[20]===Symbol.for("react.memo_cache_sentinel")?(g=t.jsx(Ye,{size:16}),e[20]=g):g=e[20];let y;e[21]!==a||e[22]!==w?(y=t.jsx(J,{type:"button",variant:"outline",size:"sm",onClick:a,disabled:w,children:g}),e[21]=a,e[22]=w,e[23]=y):y=e[23];let v;e[24]!==y||e[25]!==b?(v=t.jsxs("div",{className:"flex gap-2",children:[b,y]}),e[24]=y,e[25]=b,e[26]=v):v=e[26],m=t.jsxs("div",{className:"border-b border-border p-4 space-y-3",children:[h,v,c.length>0&&t.jsx("div",{className:"flex flex-wrap gap-2",children:c.map(_=>t.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-muted rounded-md text-xs",children:[t.jsx("code",{className:"text-foreground",children:_}),t.jsx("button",{type:"button",onClick:()=>d(_),className:"text-muted-foreground hover:text-foreground",children:t.jsx(Ze,{size:12})})]},_))})]}),e[6]=a,e[7]=i,e[8]=l,e[9]=d,e[10]=s,e[11]=m}else m=e[11];return m}function St(n){const e=U.c(23),{resourceSet:s,onResourceSetChange:o,connectionResources:d}=n,[l]=T.useState(null);let f;e[0]!==d?(f=g=>(d.get(g.id)??[]).map(Ct),e[0]=d,e[1]=f):f=e[1];const x=f;let a;e[2]!==o||e[3]!==s?(a=(g,y)=>{const v=s[g]??[];v.includes(y)||o({...s,[g]:[...v,y]})},e[2]=o,e[3]=s,e[4]=a):a=e[4];const r=a;let i;e[5]!==o||e[6]!==s?(i=(g,y)=>{const _=(s[g]??[]).filter(N=>N!==y);if(_.length===0){const N={...s};delete N[g],o(N)}else o({...s,[g]:_})},e[5]=o,e[6]=s,e[7]=i):i=e[7];const m=i;let c;e[8]!==o?(c=g=>{o(g)},e[8]=o,e[9]=c):c=e[9];const j=c;let h;e[10]!==s||e[11]!==l?(h=l?s[l]??[]:[],e[10]=s,e[11]=l,e[12]=h):h=e[12];const p=h;let b;e[13]!==r||e[14]!==m||e[15]!==l||e[16]!==p?(b=l?t.jsx(vt,{patterns:p,onAddPattern:g=>r(l,g),onRemovePattern:g=>m(l,g)}):null,e[13]=r,e[14]=m,e[15]=l,e[16]=p,e[17]=b):b=e[17];const S=b;let w;return e[18]!==S||e[19]!==x||e[20]!==j||e[21]!==s?(w=t.jsx("div",{className:"h-full",children:t.jsx(Ge,{itemSet:s,onItemSetChange:j,getItems:x,itemLabel:"resources",emptyItemsMessage:"This connection has no resources available",extraContent:S})}),e[18]=S,e[19]=x,e[20]=j,e[21]=s,e[22]=w):w=e[22],w}function Ct(n){return{id:n.uri,name:n.name||n.uri,description:n.description||n.uri}}function _t(n){const s=new TextEncoder().encode(n),o=Array.from(s,d=>String.fromCharCode(d)).join("");return btoa(o)}function wt(n){const e=U.c(52),{serverName:s,gatewayUrl:o}=n,[d,l]=T.useState(!1),[f,x]=T.useState(null),a=ct(s);let r,i,m,c;if(e[0]!==o||e[1]!==a){const Q={type:"http",url:o},L={[a]:Q};r=JSON.stringify(L,null,2);const W=X=>JSON.stringify({...Q,headers:{"x-mesh-client":X}},null,2),H=_t(W("Cursor"));i=`cursor://anysphere.cursor-deeplink/mcp/install?name=${encodeURIComponent(a)}&config=${encodeURIComponent(H)}`;const pe=W("Claude Code");m=a;let $;e[6]===Symbol.for("react.memo_cache_sentinel")?($=/'/g,e[6]=$):$=e[6],c=pe.replace($,"'\\''"),e[0]=o,e[1]=a,e[2]=r,e[3]=i,e[4]=m,e[5]=c}else r=e[2],i=e[3],m=e[4],c=e[5];const j=`claude mcp add "${m}" --config '${c}'`;let h;e[7]!==r?(h=async()=>{await navigator.clipboard.writeText(r),l(!0),Ie.success("Configuration copied to clipboard"),setTimeout(()=>l(!1),2e3)},e[7]=r,e[8]=h):h=e[8];const p=h;let b;e[9]===Symbol.for("react.memo_cache_sentinel")?(b=async(Q,L)=>{await navigator.clipboard.writeText(Q),x(L),Ie.success(`${L} command copied`),setTimeout(()=>x(null),2e3)},e[9]=b):b=e[9];const S=b,w=Nt;let g;e[10]===Symbol.for("react.memo_cache_sentinel")?(g=t.jsx("div",{children:t.jsx("h4",{className:"text-sm font-medium text-foreground mb-1",children:"Install in your IDE"})}),e[10]=g):g=e[10];let y;e[11]!==d?(y=d?t.jsx(Te,{size:14}):t.jsx(ot,{size:14}),e[11]=d,e[12]=y):y=e[12];let v;e[13]!==p||e[14]!==y?(v=t.jsx(de,{asChild:!0,children:t.jsx(J,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0 shrink-0",onClick:p,children:y})}),e[13]=p,e[14]=y,e[15]=v):v=e[15];let _;e[16]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx(me,{children:"Copy configuration"}),e[16]=_):_=e[16];let N;e[17]!==v?(N=t.jsx("div",{className:"absolute top-2 right-2",children:t.jsx(ce,{children:t.jsxs(ae,{children:[v,_]})})}),e[17]=v,e[18]=N):N=e[18];let D;e[19]!==r||e[20]!==p?(D=t.jsx("pre",{className:"text-xs font-mono text-foreground overflow-auto max-h-40 whitespace-pre-wrap wrap-break-word cursor-pointer",onClick:p,children:r}),e[19]=r,e[20]=p,e[21]=D):D=e[21];let A;e[22]!==D||e[23]!==N?(A=t.jsxs("div",{className:"relative flex flex-col gap-2 p-3 bg-muted/50 rounded-lg",children:[N,D]}),e[22]=D,e[23]=N,e[24]=A):A=e[24];let B;e[25]!==i?(B=()=>w(i),e[25]=i,e[26]=B):B=e[26];let q,M;e[27]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("img",{src:"/logos/cursor.svg",alt:"Cursor",className:"h-6 w-6",style:{filter:"brightness(0) saturate(100%) invert(11%) sepia(8%) saturate(785%) hue-rotate(1deg) brightness(95%) contrast(89%)"}}),M=t.jsx("span",{className:"text-sm font-medium",children:"Cursor"}),e[27]=q,e[28]=M):(q=e[27],M=e[28]);let G;e[29]!==B?(G=t.jsx(de,{asChild:!0,children:t.jsxs(J,{variant:"outline",className:"h-auto py-3 px-4 justify-center gap-2 flex-1 min-w-fit",onClick:B,children:[q,M]})}),e[29]=B,e[30]=G):G=e[30];let u;e[31]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx(me,{children:"Add to Cursor"}),e[31]=u):u=e[31];let C;e[32]!==G?(C=t.jsx(ce,{children:t.jsxs(ae,{children:[G,u]})}),e[32]=G,e[33]=C):C=e[33];let k;e[34]!==j?(k=()=>S(j,"Claude"),e[34]=j,e[35]=k):k=e[35];let P,F;e[36]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsx("img",{src:"/logos/Claude Code.svg",alt:"Claude Code",className:"h-6 w-6",style:{filter:"brightness(0) saturate(100%) invert(55%) sepia(31%) saturate(1264%) hue-rotate(331deg) brightness(92%) contrast(86%)"}}),F=t.jsx("span",{className:"text-sm font-medium",children:"Claude Code"}),e[36]=P,e[37]=F):(P=e[36],F=e[37]);let R;e[38]!==f?(R=f==="Claude"&&t.jsx(Te,{size:14,className:"ml-2 text-green-500"}),e[38]=f,e[39]=R):R=e[39];let z;e[40]!==k||e[41]!==R?(z=t.jsx(de,{asChild:!0,children:t.jsxs(J,{variant:"outline",className:"h-auto py-3 px-4 justify-center gap-2 flex-1 min-w-fit",onClick:k,children:[P,F,R]})}),e[40]=k,e[41]=R,e[42]=z):z=e[42];let V;e[43]===Symbol.for("react.memo_cache_sentinel")?(V=t.jsx(me,{children:"Add to Claude Code"}),e[43]=V):V=e[43];let O;e[44]!==z?(O=t.jsx(ce,{children:t.jsxs(ae,{children:[z,V]})}),e[44]=z,e[45]=O):O=e[45];let E;e[46]!==C||e[47]!==O?(E=t.jsxs("div",{className:"flex flex-wrap gap-2",children:[C,O]}),e[46]=C,e[47]=O,e[48]=E):E=e[48];let re;return e[49]!==A||e[50]!==E?(re=t.jsxs("div",{className:"flex flex-col gap-4",children:[g,A,E]}),e[49]=A,e[50]=E,e[51]=re):re=e[51],re}function Nt(n){window.open(n,"_blank")}const It=Ue({title:Ne().min(1,"Name is required").max(255),description:Ne().nullable(),status:Se(["active","inactive"]),tool_selection_mode:Se(["inclusion","exclusion"]),tool_selection_strategy:Se(["passthrough","smart_tool_selection","code_execution"])});function Tt(n,e){const s={};for(const o of n.connections)if(o.selected_tools===null){const d=e.get(o.connection_id)??[];d.length>0&&(s[o.connection_id]=d)}else o.selected_tools.length>0&&(s[o.connection_id]=o.selected_tools);return s}function kt(n){const e={};for(const s of n.connections)s.selected_resources!==null&&s.selected_resources!==void 0&&s.selected_resources.length>0&&(e[s.connection_id]=s.selected_resources);return e}function $t(n){const e={};for(const s of n.connections)s.selected_prompts!==null&&s.selected_prompts!==void 0&&s.selected_prompts.length>0&&(e[s.connection_id]=s.selected_prompts);return e}function Pt(n,e,s,o){const d=new Set([...Object.keys(n),...Object.keys(e),...Object.keys(s)]);return Array.from(d).map(l=>{const f=n[l]??[],x=o.get(l)??[],a=x.length>0&&x.every(r=>f.includes(r));return{connection_id:l,selected_tools:f.length===0||a?null:f,selected_resources:e[l]??null,selected_prompts:s[l]??null}})}function Rt(n){const e=U.c(41),{form:s,gateway:o,icon:d}=n;let l;e[0]!==s?(l=s.watch("title")||"Gateway",e[0]=s,e[1]=l):l=e[1];let f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(lt,{}),e[2]=f):f=e[2];let x;e[3]!==d||e[4]!==l?(x=t.jsx(_e,{icon:d,name:l,size:"lg",className:"shrink-0 shadow-sm",fallbackIcon:f}),e[3]=d,e[4]=l,e[5]=x):x=e[5];let a;e[6]!==s.control?(a=t.jsx(ie,{control:s.control,name:"status",render:Ft}),e[6]=s.control,e[7]=a):a=e[7];let r;e[8]!==x||e[9]!==a?(r=t.jsxs("div",{className:"flex items-start justify-between",children:[x,a]}),e[8]=x,e[9]=a,e[10]=r):r=e[10];let i;e[11]!==s.control?(i=t.jsxs("div",{className:"flex flex-col",children:[t.jsx(ie,{control:s.control,name:"title",render:Dt}),t.jsx(ie,{control:s.control,name:"description",render:Et})]}),e[11]=s.control,e[12]=i):i=e[12];let m;e[13]!==r||e[14]!==i?(m=t.jsxs("div",{className:"flex flex-col gap-4 p-5 border-b border-border",children:[r,i]}),e[13]=r,e[14]=i,e[15]=m):m=e[15];let c;e[16]!==s.control?(c=t.jsxs("div",{className:"flex flex-col gap-4 p-5",children:[t.jsx(ie,{control:s.control,name:"tool_selection_mode",render:At}),t.jsx(ie,{control:s.control,name:"tool_selection_strategy",render:zt})]}),e[16]=s.control,e[17]=c):c=e[17];let j;e[18]!==m||e[19]!==c?(j=t.jsxs("div",{className:"flex flex-col",children:[m,c]}),e[18]=m,e[19]=c,e[20]=j):j=e[20];let h;e[21]!==s||e[22]!==j?(h=t.jsx("div",{className:"lg:border-r border-b lg:border-b-0 border-border overflow-auto",children:t.jsx(rt,{...s,children:j})}),e[21]=s,e[22]=j,e[23]=h):h=e[23];let p;e[24]!==o.id||e[25]!==o.title?(p=o.title||`gateway-${o.id.slice(0,8)}`,e[24]=o.id,e[25]=o.title,e[26]=p):p=e[26];const b=`${window.location.origin}/mcp/gateway/${o.id}`;let S;e[27]!==p||e[28]!==b?(S=t.jsx("div",{className:"p-5",children:t.jsx(wt,{serverName:p,gatewayUrl:b})}),e[27]=p,e[28]=b,e[29]=S):S=e[29];let w;e[30]===Symbol.for("react.memo_cache_sentinel")?(w=t.jsx("span",{className:"flex-1 text-sm text-foreground",children:"Last Updated"}),e[30]=w):w=e[30];let g;e[31]!==o.updated_at?(g=o.updated_at?dt(new Date(o.updated_at),{addSuffix:!1}):"Unknown",e[31]=o.updated_at,e[32]=g):g=e[32];let y;e[33]!==g?(y=t.jsxs("div",{className:"flex items-center gap-4 p-5 border-t border-border",children:[w,t.jsx("span",{className:"text-muted-foreground uppercase text-xs",children:g})]}),e[33]=g,e[34]=y):y=e[34];let v;e[35]!==S||e[36]!==y?(v=t.jsxs("div",{className:"flex flex-col overflow-auto",children:[S,y]}),e[35]=S,e[36]=y,e[37]=v):v=e[37];let _;return e[38]!==h||e[39]!==v?(_=t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[2fr_1fr] h-full",children:[h,v]}),e[38]=h,e[39]=v,e[40]=_):_=e[40],_}function zt(n){const{field:e}=n;return t.jsxs(fe,{children:[t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx(Ae,{className:"mb-0",children:"Gateway Strategy"}),t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx(ce,{children:t.jsxs(ae,{children:[t.jsx(de,{asChild:!0,children:t.jsx(J,{type:"button",variant:"ghost",size:"icon",className:"size-7","aria-label":"Gateway strategy help",children:t.jsx(ze,{size:14,className:"text-muted-foreground"})})}),t.jsx(me,{side:"left",className:"max-w-sm",children:t.jsxs("div",{className:"text-xs space-y-1",children:[t.jsxs("div",{children:[t.jsx("strong",{children:"Passthrough:"})," Pass tools through as-is (default)."]}),t.jsxs("div",{children:[t.jsx("strong",{children:"Smart Tool Selection:"})," ","Intelligent tool selection behavior."]}),t.jsxs("div",{children:[t.jsx("strong",{children:"Code Execution:"})," Code execution behavior."]})]})})]})}),t.jsxs(Ee,{value:e.value,onValueChange:e.onChange,children:[t.jsx(xe,{children:t.jsx(De,{className:"w-[180px]",children:t.jsx(Fe,{})})}),t.jsxs(Ve,{children:[t.jsx(ue,{value:"passthrough",children:"Passthrough"}),t.jsx(ue,{value:"smart_tool_selection",children:"Smart Tool Selection"}),t.jsx(ue,{value:"code_execution",children:"Code Execution"})]})]})]})]}),t.jsx(he,{})]})}function At(n){const{field:e}=n;return t.jsxs(fe,{children:[t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx(Ae,{className:"mb-0",children:"Selection Mode"}),t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx(ce,{children:t.jsxs(ae,{children:[t.jsx(de,{asChild:!0,children:t.jsx(J,{type:"button",variant:"ghost",size:"icon",className:"size-7","aria-label":"Selection mode help",children:t.jsx(ze,{size:14,className:"text-muted-foreground"})})}),t.jsx(me,{side:"left",className:"max-w-sm",children:t.jsxs("div",{className:"text-xs space-y-1",children:[t.jsxs("div",{children:[t.jsx("strong",{children:"Include:"})," Only selected items are exposed."]}),t.jsxs("div",{children:[t.jsx("strong",{children:"Exclude:"})," All items except selected ones are exposed."]})]})})]})}),t.jsxs(Ee,{value:e.value,onValueChange:e.onChange,children:[t.jsx(xe,{children:t.jsx(De,{className:"w-[180px]",children:t.jsx(Fe,{})})}),t.jsxs(Ve,{children:[t.jsx(ue,{value:"inclusion",children:"Include Selected"}),t.jsx(ue,{value:"exclusion",children:"Exclude Selected"})]})]})]})]}),t.jsx(he,{})]})}function Et(n){const{field:e}=n;return t.jsxs(fe,{className:"w-full space-y-0",children:[t.jsx(xe,{children:t.jsx(we,{...e,value:e.value||"",className:"h-auto text-base text-muted-foreground leading-6 px-0 border-transparent hover:border-input focus:border-input bg-transparent transition-all",placeholder:"Add a description..."})}),t.jsx(he,{})]})}function Dt(n){const{field:e}=n;return t.jsxs(fe,{className:"w-full space-y-0",children:[t.jsx(xe,{children:t.jsx(we,{...e,className:"h-auto text-lg! font-medium leading-7 px-0 border-transparent hover:border-input focus:border-input bg-transparent transition-all",placeholder:"Gateway Name"})}),t.jsx(he,{})]})}function Ft(n){const{field:e}=n;return t.jsxs(fe,{children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-sm text-muted-foreground",children:e.value==="active"?"Active":"Inactive"}),t.jsx(xe,{children:t.jsx(We,{checked:e.value==="active",onCheckedChange:s=>e.onChange(s?"active":"inactive")})})]}),t.jsx(he,{})]})}function Vt(n){const e=U.c(70),{gateway:s,gatewayId:o,requestedTabId:d}=n,f=Be().location.href,x=Le();let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/$org/gateways/$gatewayId"},e[0]=a):a=e[0];const r=ke(a),i=tt();let m;e[1]===Symbol.for("react.memo_cache_sentinel")?(m={},e[1]=m):m=e[1];const c=Pe(m);let j;e[2]!==c?(j=c.map(Mt),e[2]=c,e[3]=j):j=e[3];const h=j,{promptsMap:p}=st(h),{resourcesMap:b}=nt(h);let S;if(e[4]!==c){S=new Map;for(const I of c)I.tools&&I.tools.length>0&&S.set(I.id,I.tools.map(Gt));e[4]=c,e[5]=S}else S=e[5];let w;e[6]!==S||e[7]!==s?(w=()=>Tt(s,S),e[6]=S,e[7]=s,e[8]=w):w=e[8];const[g,y]=T.useState(w);let v;e[9]!==s?(v=()=>kt(s),e[9]=s,e[10]=v):v=e[10];const[_,N]=T.useState(v);let D;e[11]!==s?(D=()=>$t(s),e[11]=s,e[12]=D):D=e[12];const[A,B]=T.useState(D),[q,M]=T.useState(!1);let G;e[13]===Symbol.for("react.memo_cache_sentinel")?(G=I=>{y(I),M(!0)},e[13]=G):G=e[13];const u=G;let C;e[14]===Symbol.for("react.memo_cache_sentinel")?(C=I=>{N(I),M(!0)},e[14]=C):C=e[14];const k=C;let P;e[15]===Symbol.for("react.memo_cache_sentinel")?(P=I=>{B(I),M(!0)},e[15]=P):P=e[15];const F=P;let R;e[16]===Symbol.for("react.memo_cache_sentinel")?(R=Je(It),e[16]=R):R=e[16];const z=s.tool_selection_mode??"inclusion",V=s.tool_selection_strategy??"passthrough";let O;e[17]!==s.description||e[18]!==s.status||e[19]!==s.title||e[20]!==z||e[21]!==V?(O={resolver:R,defaultValues:{title:s.title,description:s.description,status:s.status,tool_selection_mode:z,tool_selection_strategy:V}},e[17]=s.description,e[18]=s.status,e[19]=s.title,e[20]=z,e[21]=V,e[22]=O):O=e[22];const E=qe(O),Q=E.formState.isDirty||q;let L;e[23]!==i.update||e[24]!==S||e[25]!==E||e[26]!==o||e[27]!==A||e[28]!==_||e[29]!==g?(L=async()=>{const I=E.getValues(),ve=Pt(g,_,A,S);await i.update.mutateAsync({id:o,data:{title:I.title,description:I.description,status:I.status,tool_selection_mode:I.tool_selection_mode,tool_selection_strategy:I.tool_selection_strategy,connections:ve}}),E.reset(I),M(!1)},e[23]=i.update,e[24]=S,e[25]=E,e[26]=o,e[27]=A,e[28]=_,e[29]=g,e[30]=L):L=e[30];const W=L;let H;e[31]===Symbol.for("react.memo_cache_sentinel")?(H=[{id:"settings",label:"Settings"},{id:"tools",label:"Tools"},{id:"resources",label:"Resources"},{id:"prompts",label:"Prompts"}],e[31]=H):H=e[31];const pe=H,$=pe.some(I=>I.id===d)?d:"settings";let X;e[32]!==r?(X=I=>{r({search:ve=>({...ve,tab:I}),replace:!0})},e[32]=r,e[33]=X):X=e[33];const be=X;let Y;e[34]!==x.history?(Y=()=>x.history.back(),e[34]=x.history,e[35]=Y):Y=e[35];let Z;e[36]!==$||e[37]!==be?(Z=t.jsx(mt,{children:t.jsx(it,{tabs:pe,activeTab:$,onTabChange:be})}),e[36]=$,e[37]=be,e[38]=Z):Z=e[38];const ye=s.icon??"cpu_chip";let ee;e[39]!==s.title||e[40]!==ye||e[41]!==f?(ee=t.jsx(at,{title:s.title,url:f,icon:ye}),e[39]=s.title,e[40]=ye,e[41]=f,e[42]=ee):ee=e[42];let te;e[43]!==i.update.isPending||e[44]!==W||e[45]!==Q?(te=Q&&t.jsxs(J,{onClick:W,disabled:i.update.isPending,size:"sm",className:"h-7",children:[i.update.isPending&&t.jsx(Ce,{size:16,className:"mr-2 animate-spin"}),"Save Changes"]}),e[43]=i.update.isPending,e[44]=W,e[45]=Q,e[46]=te):te=e[46];let se;e[47]!==ee||e[48]!==te?(se=t.jsxs(ut,{children:[ee,te]}),e[47]=ee,e[48]=te,e[49]=se):se=e[49];let ge;e[50]===Symbol.for("react.memo_cache_sentinel")?(ge=t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(Ce,{size:32,className:"animate-spin text-muted-foreground"})}),e[50]=ge):ge=e[50];let ne;e[51]!==$||e[52]!==p||e[53]!==b||e[54]!==E||e[55]!==s||e[56]!==A||e[57]!==_||e[58]!==g?(ne=$==="settings"?t.jsx(Rt,{form:E,gateway:s,icon:s.icon}):$==="tools"?t.jsx(Ke,{toolSet:g,onToolSetChange:u}):$==="resources"?t.jsx(St,{resourceSet:_,onResourceSetChange:k,connectionResources:b}):$==="prompts"?t.jsx(jt,{promptSet:A,onPromptSetChange:F,connectionPrompts:p}):null,e[51]=$,e[52]=p,e[53]=b,e[54]=E,e[55]=s,e[56]=A,e[57]=_,e[58]=g,e[59]=ne):ne=e[59];let oe;e[60]!==ne?(oe=t.jsx(T.Suspense,{fallback:ge,children:ne}),e[60]=ne,e[61]=oe):oe=e[61];let le;e[62]!==$||e[63]!==oe?(le=t.jsx("div",{className:"flex h-full w-full bg-background overflow-hidden",children:t.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-auto",children:t.jsx($e,{children:oe},$)})}),e[62]=$,e[63]=oe,e[64]=le):le=e[64];let je;return e[65]!==Y||e[66]!==Z||e[67]!==se||e[68]!==le?(je=t.jsxs(ft,{onBack:Y,children:[Z,se,le]}),e[65]=Y,e[66]=Z,e[67]=se,e[68]=le,e[69]=je):je=e[69],je}function Gt(n){return n.name}function Mt(n){return n.id}function Ot(){const n=U.c(10);let e;n[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/$org/gateways/$gatewayId"},n[0]=e):e=n[0];const s=ke(e);let o;n[1]===Symbol.for("react.memo_cache_sentinel")?(o={from:"/shell/$org/gateways/$gatewayId"},n[1]=o):o=n[1];const{gatewayId:d,org:l}=Me(o);let f;n[2]===Symbol.for("react.memo_cache_sentinel")?(f={from:"/shell/$org/gateways/$gatewayId"},n[2]=f):f=n[2];const a=Oe(f).tab||"settings",r=et(d);if(!r){let m;return n[3]!==s||n[4]!==l?(m=t.jsx("div",{className:"flex h-full w-full bg-background",children:t.jsx(Qe,{title:"Gateway not found",description:"This gateway may have been deleted or you may not have access.",actions:t.jsx(J,{variant:"outline",onClick:()=>s({to:"/$org/gateways",params:{org:l}}),children:"Back to gateways"})})}),n[3]=s,n[4]=l,n[5]=m):m=n[5],m}let i;return n[6]!==r||n[7]!==d||n[8]!==a?(i=t.jsx(Vt,{gateway:r,gatewayId:d,requestedTabId:a}),n[6]=r,n[7]=d,n[8]=a,n[9]=i):i=n[9],i}function Ut(){const n=U.c(1);let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx($e,{children:t.jsx(T.Suspense,{fallback:t.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:t.jsx(Ce,{size:32,className:"animate-spin text-muted-foreground"})}),children:t.jsx(Ot,{})})}),n[0]=e):e=n[0],e}function gs(){const n=U.c(1);let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Ut,{}),n[0]=e):e=n[0],e}export{gs as default};
|