@decocms/mesh 1.0.0-alpha.15 → 1.0.0-alpha.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/client/assets/{alert-dialog-Hgs2tcw0.js → alert-dialog-CfsdbV8c.js} +1 -1
  2. package/dist/client/assets/app-name-gTETL9So.js +1 -0
  3. package/dist/client/assets/{auth-Dfo88onv.js → auth-CsOevbKn.js} +1 -1
  4. package/dist/client/assets/{auth-catchall-pzDMkYZ_.js → auth-catchall-BMURI6L3.js} +1 -1
  5. package/dist/client/assets/{avatar-Dw1KHXJf.js → avatar-Bn65M9_M.js} +1 -1
  6. package/dist/client/assets/{badge-C29ypR-2.js → badge-BTXir9uJ.js} +1 -1
  7. package/dist/client/assets/{button-Cv1rgJOF.js → button-B2BIOawN.js} +1 -1
  8. package/dist/client/assets/{card-BggFBtGd.js → card-B24qMCfe.js} +1 -1
  9. package/dist/client/assets/{checkbox-Ay9B68Cb.js → checkbox-CeN8Ys7n.js} +1 -1
  10. package/dist/client/assets/{circle-alert-C3-3ZyHM.js → circle-alert-bANxza_Q.js} +1 -1
  11. package/dist/client/assets/{collection-detail-BihTkJuQ.js → collection-detail-Ca7tFfcv.js} +1 -1
  12. package/dist/client/assets/{collection-display-button-grM851Xd.js → collection-display-button-DEnVk52I.js} +1 -1
  13. package/dist/client/assets/{collection-header-DsMf-88h.js → collection-header-DZSYSGOn.js} +1 -1
  14. package/dist/client/assets/{collection-page-C6Lt30BH.js → collection-page-Cfda-vNl.js} +1 -1
  15. package/dist/client/assets/{collection-search-CXcLRFBk.js → collection-search-DxeL6Ufp.js} +1 -1
  16. package/dist/client/assets/{collection-table-wrapper-DIAaiM6K.js → collection-table-wrapper-D6eaPdiL.js} +1 -1
  17. package/dist/client/assets/{connection-card-BSv7-QCW.js → connection-card-DBDfkDQH.js} +1 -1
  18. package/dist/client/assets/{connection-detail-B1R8nv6U.js → connection-detail-DBMh3Kzg.js} +1 -1
  19. package/dist/client/assets/{connections-hz-ahAKO.js → connections-CdlDfWny.js} +1 -1
  20. package/dist/client/assets/{create-organization-dialog-Bvkdjwsj.js → create-organization-dialog-DZM9X3ft.js} +1 -1
  21. package/dist/client/assets/{dialog-rRH3MQkl.js → dialog-BjdII1I-.js} +1 -1
  22. package/dist/client/assets/{dropdown-menu-dUgjswGX.js → dropdown-menu-BT_X0ZTy.js} +1 -1
  23. package/dist/client/assets/{empty-state-CCq1QaCi.js → empty-state-CAhQEGD4.js} +1 -1
  24. package/dist/client/assets/{error-boundary-COxhsLlB.js → error-boundary-CKkz6PFv.js} +1 -1
  25. package/dist/client/assets/{extract-connection-data-DyKjnzFA.js → extract-connection-data-BuUce3IM.js} +1 -1
  26. package/dist/client/assets/{form-xpLXXjk9.js → form-DYn0g3Xk.js} +1 -1
  27. package/dist/client/assets/gateway-detail-CP1wU_gQ.js +1 -0
  28. package/dist/client/assets/{gateways-BEpD9ssC.js → gateways-CC9LsUii.js} +1 -1
  29. package/dist/client/assets/{home-BP87nVNG.js → home-owX9B5A1.js} +1 -1
  30. package/dist/client/assets/{icon-KZI-tyY2.js → icon-B4prTi7A.js} +1 -1
  31. package/dist/client/assets/{index-C3w_QZu6.js → index-BSJAakWI.js} +1 -1
  32. package/dist/client/assets/{index-B6JW-QRO.js → index-CJJcr20V.js} +1 -1
  33. package/dist/client/assets/{index-kuMaGV9U.js → index-DRfRtuak.js} +2 -2
  34. package/dist/client/assets/{index-3kbMatbv.js → index-Dwwz-rb1.js} +1 -1
  35. package/dist/client/assets/{input-C0U94pom.js → input-0KxSy7p5.js} +1 -1
  36. package/dist/client/assets/{integration-icon-Dv-2D552.js → integration-icon-BOIQGbTx.js} +1 -1
  37. package/dist/client/assets/{layout-B4csW0zk.js → layout-erRxoybz.js} +1 -1
  38. package/dist/client/assets/{lazy-highlighter-BeM-KnKF.js → lazy-highlighter-DNEByQ_q.js} +1 -1
  39. package/dist/client/assets/{localstorage-keys-BY-fTuiw.js → localstorage-keys-C-_5_veF.js} +1 -1
  40. package/dist/client/assets/{login-Dl_POp8A.js → login-eNmXdIlx.js} +1 -1
  41. package/dist/client/assets/{mcp-oauth-C8lkjJJ-.js → mcp-oauth-D4DQrKdX.js} +1 -1
  42. package/dist/client/assets/{members-sRtGjt4B.js → members-CqBq9Tqq.js} +1 -1
  43. package/dist/client/assets/{monitoring-wqV_ck_J.js → monitoring-RZzI7HX3.js} +1 -1
  44. package/dist/client/assets/{monitoring-stats-row-Bmw8lKAo.js → monitoring-stats-row-CDJOdEFs.js} +1 -1
  45. package/dist/client/assets/{oauth-callback-D4bjzxVG.js → oauth-callback-B2eu3eq6.js} +1 -1
  46. package/dist/client/assets/{page-Dm4c28Rt.js → page-D6nvIccR.js} +1 -1
  47. package/dist/client/assets/{popover-BLX5hifQ.js → popover-CXXilSJS.js} +1 -1
  48. package/dist/client/assets/{prism-a2E9dRRh.js → prism-CqKQ-uUB.js} +1 -1
  49. package/dist/client/assets/{resource-tabs-C2-m37Rp.js → resource-tabs-BPbCYInc.js} +1 -1
  50. package/dist/client/assets/{schema-DLIeWQJ0.js → schema-DI-mC0WE.js} +1 -1
  51. package/dist/client/assets/{select-BFyzpZOm.js → select-xvA0wpax.js} +1 -1
  52. package/dist/client/assets/{settings-KJAP4FWc.js → settings-N1KHLSeV.js} +1 -1
  53. package/dist/client/assets/{shell-layout-DqWy6R9v.js → shell-layout-DBeyfhU9.js} +3 -3
  54. package/dist/client/assets/slugify-CEUa2lfQ.js +1 -0
  55. package/dist/client/assets/{spinner-CYHX4tj_.js → spinner-DknaoKT9.js} +1 -1
  56. package/dist/client/assets/store-app-detail-BY8fKDCz.js +1 -0
  57. package/dist/client/assets/store-xSGmsPQe.js +1 -0
  58. package/dist/client/assets/{switch-B0GAK0hk.js → switch-C5HcbsY1.js} +1 -1
  59. package/dist/client/assets/{textarea-7TwZjOJN.js → textarea-DG6Oh4Et.js} +1 -1
  60. package/dist/client/assets/{tool-set-selector-BxJYXzYX.js → tool-set-selector-1Cg6gjRw.js} +1 -1
  61. package/dist/client/assets/{tooltip-CyTpNpEt.js → tooltip-7pBEiiqV.js} +1 -1
  62. package/dist/client/assets/{upload-CedwcKCT.js → upload-6ljQ7Xvj.js} +1 -1
  63. package/dist/client/assets/{use-binding-Dlf98XSv.js → use-binding-QY8lUZ4l.js} +1 -1
  64. package/dist/client/assets/{use-gateway-C6ADI4VP.js → use-gateway-D3gYh1VN.js} +1 -1
  65. package/dist/client/assets/{use-list-state-Cu8fsSjR.js → use-list-state-C1uU-z8t.js} +1 -1
  66. package/dist/client/assets/{use-mcp-Z1amXXTK.js → use-mcp-BLvzQK7V.js} +1 -1
  67. package/dist/client/assets/{use-members-dDzJ30ii.js → use-members-BGTW4lDt.js} +1 -1
  68. package/dist/client/assets/{use-mobile-Ct-F04sM.js → use-mobile-qq-CGCwC.js} +1 -1
  69. package/dist/client/assets/{use-organization-settings-D7E3skEu.js → use-organization-settings-BppZIKRZ.js} +1 -1
  70. package/dist/client/assets/{use-tool-call-DSlbFKjt.js → use-tool-call-Ct8SM41M.js} +1 -1
  71. package/dist/client/assets/useQuery-Dt7bC647.js +1 -0
  72. package/dist/client/assets/utils-DFmxvpl9.js +1 -0
  73. package/dist/client/index.html +1 -1
  74. package/dist/server/cli.js +151 -151
  75. package/dist/server/server.js +147 -147
  76. package/package.json +1 -1
  77. package/dist/client/assets/app-name-DQPOjnhR.js +0 -1
  78. package/dist/client/assets/gateway-detail-DIqZF9Yz.js +0 -1
  79. package/dist/client/assets/store-DoIp_x0L.js +0 -1
  80. package/dist/client/assets/store-app-detail-CkhxmJHm.js +0 -1
  81. package/dist/client/assets/useQuery-DJ7WNdWe.js +0 -1
  82. package/dist/client/assets/utils-dJ2GyoL3.js +0 -1
@@ -1 +1 @@
1
- import{c as g,j as p}from"./index-kuMaGV9U.js";import{h as k}from"./prism-a2E9dRRh.js";const b={'code[class*="language-"]':{background:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{background:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},'code[class*="language-"]::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"] *::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'pre[class*="language-"] *::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"]::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"] *::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'pre[class*="language-"] *::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},':not(pre) > code[class*="language-"]':{padding:"0.2em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},prolog:{color:"hsl(220, 10%, 40%)"},cdata:{color:"hsl(220, 10%, 40%)"},doctype:{color:"hsl(220, 14%, 71%)"},punctuation:{color:"hsl(220, 14%, 71%)"},entity:{color:"hsl(220, 14%, 71%)",cursor:"help"},"attr-name":{color:"hsl(29, 54%, 61%)"},"class-name":{color:"hsl(29, 54%, 61%)"},boolean:{color:"hsl(29, 54%, 61%)"},constant:{color:"hsl(29, 54%, 61%)"},number:{color:"hsl(29, 54%, 61%)"},atrule:{color:"hsl(29, 54%, 61%)"},keyword:{color:"hsl(286, 60%, 67%)"},property:{color:"hsl(355, 65%, 65%)"},tag:{color:"hsl(355, 65%, 65%)"},symbol:{color:"hsl(355, 65%, 65%)"},deleted:{color:"hsl(355, 65%, 65%)"},important:{color:"hsl(355, 65%, 65%)"},selector:{color:"hsl(95, 38%, 62%)"},string:{color:"hsl(95, 38%, 62%)"},char:{color:"hsl(95, 38%, 62%)"},builtin:{color:"hsl(95, 38%, 62%)"},inserted:{color:"hsl(95, 38%, 62%)"},regex:{color:"hsl(95, 38%, 62%)"},"attr-value":{color:"hsl(95, 38%, 62%)"},"attr-value > .token.punctuation":{color:"hsl(95, 38%, 62%)"},variable:{color:"hsl(207, 82%, 66%)"},operator:{color:"hsl(207, 82%, 66%)"},function:{color:"hsl(207, 82%, 66%)"},url:{color:"hsl(187, 47%, 55%)"},"attr-value > .token.punctuation.attr-equals":{color:"hsl(220, 14%, 71%)"},"special-attr > .token.attr-value > .token.value.css":{color:"hsl(220, 14%, 71%)"},".language-css .token.selector":{color:"hsl(355, 65%, 65%)"},".language-css .token.property":{color:"hsl(220, 14%, 71%)"},".language-css .token.function":{color:"hsl(187, 47%, 55%)"},".language-css .token.url > .token.function":{color:"hsl(187, 47%, 55%)"},".language-css .token.url > .token.string.url":{color:"hsl(95, 38%, 62%)"},".language-css .token.important":{color:"hsl(286, 60%, 67%)"},".language-css .token.atrule .token.rule":{color:"hsl(286, 60%, 67%)"},".language-javascript .token.operator":{color:"hsl(286, 60%, 67%)"},".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation":{color:"hsl(5, 48%, 51%)"},".language-json .token.operator":{color:"hsl(220, 14%, 71%)"},".language-json .token.null.keyword":{color:"hsl(29, 54%, 61%)"},".language-markdown .token.url":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url > .token.operator":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url-reference.url > .token.string":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url > .token.content":{color:"hsl(207, 82%, 66%)"},".language-markdown .token.url > .token.url":{color:"hsl(187, 47%, 55%)"},".language-markdown .token.url-reference.url":{color:"hsl(187, 47%, 55%)"},".language-markdown .token.blockquote.punctuation":{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},".language-markdown .token.hr.punctuation":{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},".language-markdown .token.code-snippet":{color:"hsl(95, 38%, 62%)"},".language-markdown .token.bold .token.content":{color:"hsl(29, 54%, 61%)"},".language-markdown .token.italic .token.content":{color:"hsl(286, 60%, 67%)"},".language-markdown .token.strike .token.content":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.strike .token.punctuation":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.list.punctuation":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.title.important > .token.punctuation":{color:"hsl(355, 65%, 65%)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:"0.8"},"token.tab:not(:empty):before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.cr:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.lf:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.space:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item":{marginRight:"0.4em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},".line-highlight.line-highlight":{background:"hsla(220, 100%, 80%, 0.04)"},".line-highlight.line-highlight:before":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 14%, 71%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},".line-highlight.line-highlight[data-end]:after":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 14%, 71%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"hsla(220, 100%, 80%, 0.04)"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"hsla(220, 14%, 71%, 0.15)"},".command-line .command-line-prompt":{borderRightColor:"hsla(220, 14%, 71%, 0.15)"},".line-numbers .line-numbers-rows > span:before":{color:"hsl(220, 14%, 45%)"},".command-line .command-line-prompt > span:before":{color:"hsl(220, 14%, 45%)"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"hsl(286, 60%, 67%)"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"hsl(286, 60%, 67%)"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"hsl(286, 60%, 67%)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},".prism-previewer.prism-previewer:before":{borderColor:"hsl(224, 13%, 17%)"},".prism-previewer-gradient.prism-previewer-gradient div":{borderColor:"hsl(224, 13%, 17%)",borderRadius:"0.3em"},".prism-previewer-color.prism-previewer-color:before":{borderRadius:"0.3em"},".prism-previewer-easing.prism-previewer-easing:before":{borderRadius:"0.3em"},".prism-previewer.prism-previewer:after":{borderTopColor:"hsl(224, 13%, 17%)"},".prism-previewer-flipped.prism-previewer-flipped.after":{borderBottomColor:"hsl(224, 13%, 17%)"},".prism-previewer-angle.prism-previewer-angle:before":{background:"hsl(219, 13%, 22%)"},".prism-previewer-time.prism-previewer-time:before":{background:"hsl(219, 13%, 22%)"},".prism-previewer-easing.prism-previewer-easing":{background:"hsl(219, 13%, 22%)"},".prism-previewer-angle.prism-previewer-angle circle":{stroke:"hsl(220, 14%, 71%)",strokeOpacity:"1"},".prism-previewer-time.prism-previewer-time circle":{stroke:"hsl(220, 14%, 71%)",strokeOpacity:"1"},".prism-previewer-easing.prism-previewer-easing circle":{stroke:"hsl(220, 14%, 71%)",fill:"transparent"},".prism-previewer-easing.prism-previewer-easing path":{stroke:"hsl(220, 14%, 71%)"},".prism-previewer-easing.prism-previewer-easing line":{stroke:"hsl(220, 14%, 71%)"}};function f(h){const o=g.c(8),{language:d,content:n,fillHeight:s}=h,c=s===void 0?!1:s,t=d||"text",a=c?"100%":void 0,i=c?"100%":void 0;let e;o[0]!==a||o[1]!==i?(e={margin:0,padding:"1rem",fontSize:"0.8rem",borderRadius:"0.5rem",background:"#282c34",position:"relative",overflowX:"hidden",overflowY:"visible",width:"100%",maxWidth:"100%",display:"block",wordBreak:"break-word",overflowWrap:"break-word",height:a,minHeight:i},o[0]=a,o[1]=i,o[2]=e):e=o[2];let r;o[3]===Symbol.for("react.memo_cache_sentinel")?(r={className:"font-mono",style:{wordBreak:"break-word",overflowWrap:"break-word",whiteSpace:"pre-wrap"}},o[3]=r):r=o[3];let l;return o[4]!==n||o[5]!==t||o[6]!==e?(l=p.jsx(k,{language:t,style:b,customStyle:e,codeTagProps:r,wrapLongLines:!0,children:n}),o[4]=n,o[5]=t,o[6]=e,o[7]=l):l=o[7],l}export{f as default};
1
+ import{c as g,j as p}from"./index-DRfRtuak.js";import{h as k}from"./prism-CqKQ-uUB.js";const b={'code[class*="language-"]':{background:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{background:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)",fontFamily:'"Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"2",OTabSize:"2",tabSize:"2",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto",borderRadius:"0.3em"},'code[class*="language-"]::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"] *::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'pre[class*="language-"] *::-moz-selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"]::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'code[class*="language-"] *::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},'pre[class*="language-"] *::selection':{background:"hsl(220, 13%, 28%)",color:"inherit",textShadow:"none"},':not(pre) > code[class*="language-"]':{padding:"0.2em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},prolog:{color:"hsl(220, 10%, 40%)"},cdata:{color:"hsl(220, 10%, 40%)"},doctype:{color:"hsl(220, 14%, 71%)"},punctuation:{color:"hsl(220, 14%, 71%)"},entity:{color:"hsl(220, 14%, 71%)",cursor:"help"},"attr-name":{color:"hsl(29, 54%, 61%)"},"class-name":{color:"hsl(29, 54%, 61%)"},boolean:{color:"hsl(29, 54%, 61%)"},constant:{color:"hsl(29, 54%, 61%)"},number:{color:"hsl(29, 54%, 61%)"},atrule:{color:"hsl(29, 54%, 61%)"},keyword:{color:"hsl(286, 60%, 67%)"},property:{color:"hsl(355, 65%, 65%)"},tag:{color:"hsl(355, 65%, 65%)"},symbol:{color:"hsl(355, 65%, 65%)"},deleted:{color:"hsl(355, 65%, 65%)"},important:{color:"hsl(355, 65%, 65%)"},selector:{color:"hsl(95, 38%, 62%)"},string:{color:"hsl(95, 38%, 62%)"},char:{color:"hsl(95, 38%, 62%)"},builtin:{color:"hsl(95, 38%, 62%)"},inserted:{color:"hsl(95, 38%, 62%)"},regex:{color:"hsl(95, 38%, 62%)"},"attr-value":{color:"hsl(95, 38%, 62%)"},"attr-value > .token.punctuation":{color:"hsl(95, 38%, 62%)"},variable:{color:"hsl(207, 82%, 66%)"},operator:{color:"hsl(207, 82%, 66%)"},function:{color:"hsl(207, 82%, 66%)"},url:{color:"hsl(187, 47%, 55%)"},"attr-value > .token.punctuation.attr-equals":{color:"hsl(220, 14%, 71%)"},"special-attr > .token.attr-value > .token.value.css":{color:"hsl(220, 14%, 71%)"},".language-css .token.selector":{color:"hsl(355, 65%, 65%)"},".language-css .token.property":{color:"hsl(220, 14%, 71%)"},".language-css .token.function":{color:"hsl(187, 47%, 55%)"},".language-css .token.url > .token.function":{color:"hsl(187, 47%, 55%)"},".language-css .token.url > .token.string.url":{color:"hsl(95, 38%, 62%)"},".language-css .token.important":{color:"hsl(286, 60%, 67%)"},".language-css .token.atrule .token.rule":{color:"hsl(286, 60%, 67%)"},".language-javascript .token.operator":{color:"hsl(286, 60%, 67%)"},".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation":{color:"hsl(5, 48%, 51%)"},".language-json .token.operator":{color:"hsl(220, 14%, 71%)"},".language-json .token.null.keyword":{color:"hsl(29, 54%, 61%)"},".language-markdown .token.url":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url > .token.operator":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url-reference.url > .token.string":{color:"hsl(220, 14%, 71%)"},".language-markdown .token.url > .token.content":{color:"hsl(207, 82%, 66%)"},".language-markdown .token.url > .token.url":{color:"hsl(187, 47%, 55%)"},".language-markdown .token.url-reference.url":{color:"hsl(187, 47%, 55%)"},".language-markdown .token.blockquote.punctuation":{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},".language-markdown .token.hr.punctuation":{color:"hsl(220, 10%, 40%)",fontStyle:"italic"},".language-markdown .token.code-snippet":{color:"hsl(95, 38%, 62%)"},".language-markdown .token.bold .token.content":{color:"hsl(29, 54%, 61%)"},".language-markdown .token.italic .token.content":{color:"hsl(286, 60%, 67%)"},".language-markdown .token.strike .token.content":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.strike .token.punctuation":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.list.punctuation":{color:"hsl(355, 65%, 65%)"},".language-markdown .token.title.important > .token.punctuation":{color:"hsl(355, 65%, 65%)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:"0.8"},"token.tab:not(:empty):before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.cr:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.lf:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"token.space:before":{color:"hsla(220, 14%, 71%, 0.15)",textShadow:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item":{marginRight:"0.4em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 9%, 55%)",padding:"0.1em 0.4em",borderRadius:"0.3em"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{background:"hsl(220, 13%, 28%)",color:"hsl(220, 14%, 71%)"},".line-highlight.line-highlight":{background:"hsla(220, 100%, 80%, 0.04)"},".line-highlight.line-highlight:before":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 14%, 71%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},".line-highlight.line-highlight[data-end]:after":{background:"hsl(220, 13%, 26%)",color:"hsl(220, 14%, 71%)",padding:"0.1em 0.6em",borderRadius:"0.3em",boxShadow:"0 2px 0 0 rgba(0, 0, 0, 0.2)"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"hsla(220, 100%, 80%, 0.04)"},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:"hsla(220, 14%, 71%, 0.15)"},".command-line .command-line-prompt":{borderRightColor:"hsla(220, 14%, 71%, 0.15)"},".line-numbers .line-numbers-rows > span:before":{color:"hsl(220, 14%, 45%)"},".command-line .command-line-prompt > span:before":{color:"hsl(220, 14%, 45%)"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"hsl(355, 65%, 65%)"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"hsl(95, 38%, 62%)"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"hsl(207, 82%, 66%)"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"hsl(286, 60%, 67%)"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"hsl(286, 60%, 67%)"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"hsl(286, 60%, 67%)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"hsla(353, 100%, 66%, 0.15)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection":{backgroundColor:"hsla(353, 95%, 66%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"hsla(137, 100%, 55%, 0.15)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection":{backgroundColor:"hsla(135, 73%, 55%, 0.25)"},".prism-previewer.prism-previewer:before":{borderColor:"hsl(224, 13%, 17%)"},".prism-previewer-gradient.prism-previewer-gradient div":{borderColor:"hsl(224, 13%, 17%)",borderRadius:"0.3em"},".prism-previewer-color.prism-previewer-color:before":{borderRadius:"0.3em"},".prism-previewer-easing.prism-previewer-easing:before":{borderRadius:"0.3em"},".prism-previewer.prism-previewer:after":{borderTopColor:"hsl(224, 13%, 17%)"},".prism-previewer-flipped.prism-previewer-flipped.after":{borderBottomColor:"hsl(224, 13%, 17%)"},".prism-previewer-angle.prism-previewer-angle:before":{background:"hsl(219, 13%, 22%)"},".prism-previewer-time.prism-previewer-time:before":{background:"hsl(219, 13%, 22%)"},".prism-previewer-easing.prism-previewer-easing":{background:"hsl(219, 13%, 22%)"},".prism-previewer-angle.prism-previewer-angle circle":{stroke:"hsl(220, 14%, 71%)",strokeOpacity:"1"},".prism-previewer-time.prism-previewer-time circle":{stroke:"hsl(220, 14%, 71%)",strokeOpacity:"1"},".prism-previewer-easing.prism-previewer-easing circle":{stroke:"hsl(220, 14%, 71%)",fill:"transparent"},".prism-previewer-easing.prism-previewer-easing path":{stroke:"hsl(220, 14%, 71%)"},".prism-previewer-easing.prism-previewer-easing line":{stroke:"hsl(220, 14%, 71%)"}};function f(h){const o=g.c(8),{language:d,content:n,fillHeight:s}=h,c=s===void 0?!1:s,t=d||"text",a=c?"100%":void 0,i=c?"100%":void 0;let e;o[0]!==a||o[1]!==i?(e={margin:0,padding:"1rem",fontSize:"0.8rem",borderRadius:"0.5rem",background:"#282c34",position:"relative",overflowX:"hidden",overflowY:"visible",width:"100%",maxWidth:"100%",display:"block",wordBreak:"break-word",overflowWrap:"break-word",height:a,minHeight:i},o[0]=a,o[1]=i,o[2]=e):e=o[2];let r;o[3]===Symbol.for("react.memo_cache_sentinel")?(r={className:"font-mono",style:{wordBreak:"break-word",overflowWrap:"break-word",whiteSpace:"pre-wrap"}},o[3]=r):r=o[3];let l;return o[4]!==n||o[5]!==t||o[6]!==e?(l=p.jsx(k,{language:t,style:b,customStyle:e,codeTagProps:r,wrapLongLines:!0,children:n}),o[4]=n,o[5]=t,o[6]=e,o[7]=l):l=o[7],l}export{f as default};
@@ -1 +1 @@
1
- import{c as C,a1 as L}from"./index-kuMaGV9U.js";import{u as Q}from"./useQuery-DJ7WNdWe.js";import{u as $}from"./button-Cv1rgJOF.js";function q(e){try{return JSON.parse(e)}catch{return}}function O(e,n){const t=localStorage.getItem(e),s=t?q(t):void 0,a=typeof n=="function"?n(s):s??n;if(s===void 0||a!==s)try{const o=JSON.stringify(a);localStorage.setItem(e,o)}catch{}return a}function E(e,n){const t=C.c(25),s=L();let a;t[0]!==e?(a=["localStorage",e],t[0]=e,t[1]=a):a=t[1];const o=a;let r,i;t[2]!==n||t[3]!==e?(r=()=>O(e,n),i=()=>O(e,n),t[2]=n,t[3]=e,t[4]=r,t[5]=i):(r=t[4],i=t[5]);let m;t[6]!==o||t[7]!==r||t[8]!==i?(m={queryKey:o,queryFn:r,initialData:i,staleTime:1/0,gcTime:1/0},t[6]=o,t[7]=r,t[8]=i,t[9]=m):m=t[9];const{data:I}=Q(m);let l;t[10]!==e?(l=async c=>{const y=JSON.stringify(c);return localStorage.setItem(e,y),c},t[10]=e,t[11]=l):l=t[11];let u;t[12]!==s||t[13]!==o?(u=c=>{s.setQueryData(o,c)},t[12]=s,t[13]=o,t[14]=u):u=t[14];let f;t[15]!==l||t[16]!==u?(f={mutationFn:l,onSuccess:u},t[15]=l,t[16]=u,t[17]=f):f=t[17];const h=$(f);let g;t[18]!==h||t[19]!==s||t[20]!==o?(g=c=>{const y=s.getQueryData(o),x=typeof c=="function"?c(y):c;h.mutate(x)},t[18]=h,t[19]=s,t[20]=o,t[21]=g):g=t[21];const S=g,p=I;let d;return t[22]!==S||t[23]!==p?(d=[p,S],t[22]=S,t[23]=p,t[24]=d):d=t[24],d}const F={decoChatOpen:()=>"mesh:decochat:open",threadManagerState:e=>`mesh:thread-manager-state:${e}`,chatSelectedModel:e=>`mesh:chat:selectedModel:${e}`,decoChatPanelWidth:()=>"mesh:decochat:panel-width",sidebarOpen:()=>"mesh:sidebar-open",selectedRegistry:e=>`mesh:store:selected-registry:${e}`,orgHomeQuickstart:e=>`mesh:org-home:quickstart:${e}`};export{F as L,E as u};
1
+ import{c as C,a1 as L}from"./index-DRfRtuak.js";import{u as Q}from"./useQuery-Dt7bC647.js";import{u as $}from"./button-B2BIOawN.js";function q(e){try{return JSON.parse(e)}catch{return}}function O(e,n){const t=localStorage.getItem(e),s=t?q(t):void 0,a=typeof n=="function"?n(s):s??n;if(s===void 0||a!==s)try{const o=JSON.stringify(a);localStorage.setItem(e,o)}catch{}return a}function E(e,n){const t=C.c(25),s=L();let a;t[0]!==e?(a=["localStorage",e],t[0]=e,t[1]=a):a=t[1];const o=a;let r,i;t[2]!==n||t[3]!==e?(r=()=>O(e,n),i=()=>O(e,n),t[2]=n,t[3]=e,t[4]=r,t[5]=i):(r=t[4],i=t[5]);let m;t[6]!==o||t[7]!==r||t[8]!==i?(m={queryKey:o,queryFn:r,initialData:i,staleTime:1/0,gcTime:1/0},t[6]=o,t[7]=r,t[8]=i,t[9]=m):m=t[9];const{data:I}=Q(m);let l;t[10]!==e?(l=async c=>{const y=JSON.stringify(c);return localStorage.setItem(e,y),c},t[10]=e,t[11]=l):l=t[11];let u;t[12]!==s||t[13]!==o?(u=c=>{s.setQueryData(o,c)},t[12]=s,t[13]=o,t[14]=u):u=t[14];let f;t[15]!==l||t[16]!==u?(f={mutationFn:l,onSuccess:u},t[15]=l,t[16]=u,t[17]=f):f=t[17];const h=$(f);let g;t[18]!==h||t[19]!==s||t[20]!==o?(g=c=>{const y=s.getQueryData(o),x=typeof c=="function"?c(y):c;h.mutate(x)},t[18]=h,t[19]=s,t[20]=o,t[21]=g):g=t[21];const S=g,p=I;let d;return t[22]!==S||t[23]!==p?(d=[p,S],t[22]=S,t[23]=p,t[24]=d):d=t[24],d}const F={decoChatOpen:()=>"mesh:decochat:open",threadManagerState:e=>`mesh:thread-manager-state:${e}`,chatSelectedModel:e=>`mesh:chat:selectedModel:${e}`,decoChatPanelWidth:()=>"mesh:decochat:panel-width",sidebarOpen:()=>"mesh:sidebar-open",selectedRegistry:e=>`mesh:store:selected-registry:${e}`,orgHomeQuickstart:e=>`mesh:org-home:quickstart:${e}`};export{F as L,E as u};
@@ -1 +1 @@
1
- import{u as k,r as p,j as e,a as j,b as z,S as L,N as R,c as U}from"./index-kuMaGV9U.js";import{u as T,B as P}from"./button-Cv1rgJOF.js";import{I as E}from"./input-C0U94pom.js";import{c as b}from"./utils-dJ2GyoL3.js";function B({redirectUrl:r}){const{emailAndPassword:t}=k(),[s,d]=p.useState(""),[o,u]=p.useState(""),[l,v]=p.useState(""),[i,N]=p.useState(()=>globalThis.localStorage?.getItem("hasLoggedIn")!=="true"),[m,h]=p.useState(""),g=T({mutationFn:async({email:a,password:n,name:C})=>{try{if(i){const c=await j.signUp.email({email:a,password:n,name:C||""});if(c.error)throw new Error(c.error.message||"Sign up failed");return c}else{const c=await j.signIn.email({email:a,password:n});if(c.error)throw new Error(c.error.message||"Sign in failed");return c}}catch(c){throw c instanceof Error?c:new Error("Authentication failed")}},onSuccess:()=>{globalThis.localStorage?.setItem("hasLoggedIn","true"),r&&(window.location.href=r)}}),y=a=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a),x=()=>{s.trim()&&!y(s)&&h("Invalid email address")},S=a=>{if(a.preventDefault(),!y(s)){h("Invalid email address");return}g.mutate({email:s,password:o,name:l})},_=a=>n=>{a(n.target.value),I&&g.reset(),a===d&&m&&h("")},f=g.isPending,I=g.error,w=i?s.trim()&&o.trim()&&l.trim():s.trim()&&o.trim(),A=a=>{if(!a)return null;const n=a.message.toLowerCase();return n.includes("unauthorized")||n.includes("401")?"Invalid email or password. Please try again.":n.includes("already exists")||n.includes("409")?"An account with this email already exists. Try signing in instead.":n.includes("network")||n.includes("fetch")?"Network error. Please check your connection and try again.":n.includes("rate limit")||n.includes("429")?"Too many attempts. Please wait a moment and try again.":a.message||"An error occurred. Please try again."};return e.jsxs("div",{className:"mx-auto w-full min-w-[400px] max-w-md grid gap-6 bg-card p-10 border border-primary-foreground/20",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12"})}),e.jsx("div",{className:"text-center space-y-1",children:e.jsx("p",{className:"text-sm text-foreground/70",children:i?"Create your account":"Login or signup below"})}),I&&e.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:A(I)}),t.enabled&&e.jsxs("form",{onSubmit:S,className:"grid gap-4",children:[e.jsx("div",{className:b("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",i?"max-h-[200px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:e.jsxs("div",{className:b("p-1",!i&&"pointer-events-none"),children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Name"}),e.jsx(E,{type:"text",placeholder:"Your name",value:l,onChange:_(v),required:!0,disabled:f||!i,"aria-hidden":!i})]})}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Email"}),e.jsx(E,{type:"email",placeholder:"you@example.com",value:s,onChange:_(d),onBlur:x,required:!0,disabled:f,"aria-invalid":!!m}),m&&e.jsx("p",{className:"text-xs text-destructive mt-1.5",children:m})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Password"}),e.jsx(E,{type:"password",placeholder:"••••••••",value:o,onChange:_(u),required:!0,disabled:f})]}),e.jsx("div",{className:b("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",w?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:e.jsx("div",{className:b("p-1",!w&&"pointer-events-none"),children:e.jsx(P,{type:"submit",disabled:f||!w,className:b("w-full font-semibold"),size:"lg","aria-hidden":!w,children:f?i?"Creating account...":"Signing in...":"Continue"})})})]}),e.jsx("div",{className:"text-center",children:e.jsx(P,{type:"button",variant:"link",onClick:()=>{N(!i),v(""),h(""),g.reset()},disabled:f,className:"text-sm text-muted-foreground hover:text-foreground",children:i?"Already have an account? Sign in":"Don't have an account? Sign up"})}),e.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground pt-4",children:[e.jsx("a",{href:"https://www.decocms.com/terms-of-use",target:"_blank",rel:"noopener noreferrer",className:"hover:text-foreground transition-colors",children:"Terms of Service"}),e.jsx("a",{href:"https://www.decocms.com/privacy-policy",target:"_blank",rel:"noopener noreferrer",className:"hover:text-foreground transition-colors",children:"Privacy Policy"})]})]})}function M(r){if(!r.client_id||r.response_type!=="code")return null;const t=new URLSearchParams;return r.client_id&&t.set("client_id",r.client_id),r.redirect_uri&&t.set("redirect_uri",r.redirect_uri),r.response_type&&t.set("response_type",r.response_type),r.state&&t.set("state",r.state),r.scope&&t.set("scope",r.scope),r.code_challenge&&t.set("code_challenge",r.code_challenge),r.code_challenge_method&&t.set("code_challenge_method",r.code_challenge_method),`/api/auth/mcp/authorize?${t.toString()}`}function q(r){const t=U.c(5),{callbackURL:s,providerId:d}=r;let o,u;t[0]!==s||t[1]!==d?(o=()=>{(async()=>await j.signIn.sso({providerId:d,callbackURL:s}))()},u=[d,s],t[0]=s,t[1]=d,t[2]=o,t[3]=u):(o=t[2],u=t[3]),p.useEffect(o,u);let l;return t[4]===Symbol.for("react.memo_cache_sentinel")?(l=e.jsx(L,{}),t[4]=l):l=t[4],l}function Y(){const r=j.useSession(),t=z({from:"/login"}),{next:s="/",client_id:d,redirect_uri:o,response_type:u,state:l,scope:v,code_challenge:i,code_challenge_method:N}=t,{sso:m,emailAndPassword:h,magicLink:g,socialProviders:y}=k(),x=M({client_id:d,redirect_uri:o,response_type:u,state:l,scope:v,code_challenge:i,code_challenge_method:N}),S=x||s;return r.data?x?(window.location.href=x,e.jsx(L,{})):e.jsx(R,{to:s}):m.enabled?e.jsx(q,{callbackURL:S,providerId:m.providerId}):h.enabled||g.enabled||y.enabled?e.jsxs("main",{className:"relative flex min-h-screen items-center justify-center bg-gradient-to-br from-primary to-primary/75 p-4",children:[e.jsx("div",{className:"absolute inset-0",style:{backgroundImage:"radial-gradient(circle, var(--primary-foreground) 1px, transparent 1px)",backgroundSize:"16px 16px",opacity:.15}}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-screen h-px bg-primary-foreground/15"}),e.jsx("div",{className:"absolute bottom-0 left-1/2 -translate-x-1/2 w-screen h-px bg-primary-foreground/15"}),e.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-px h-screen bg-primary-foreground/15"}),e.jsx("div",{className:"absolute right-0 top-1/2 -translate-y-1/2 w-px h-screen bg-primary-foreground/15"}),e.jsx(B,{redirectUrl:x})]})]}):e.jsx("div",{children:"No login options available"})}export{Y as default};
1
+ import{u as k,r as p,j as e,a as j,b as z,S as L,N as R,c as U}from"./index-DRfRtuak.js";import{u as T,B as P}from"./button-B2BIOawN.js";import{I as E}from"./input-0KxSy7p5.js";import{c as b}from"./utils-DFmxvpl9.js";function B({redirectUrl:r}){const{emailAndPassword:t}=k(),[s,d]=p.useState(""),[o,u]=p.useState(""),[l,v]=p.useState(""),[i,N]=p.useState(()=>globalThis.localStorage?.getItem("hasLoggedIn")!=="true"),[m,h]=p.useState(""),g=T({mutationFn:async({email:a,password:n,name:C})=>{try{if(i){const c=await j.signUp.email({email:a,password:n,name:C||""});if(c.error)throw new Error(c.error.message||"Sign up failed");return c}else{const c=await j.signIn.email({email:a,password:n});if(c.error)throw new Error(c.error.message||"Sign in failed");return c}}catch(c){throw c instanceof Error?c:new Error("Authentication failed")}},onSuccess:()=>{globalThis.localStorage?.setItem("hasLoggedIn","true"),r&&(window.location.href=r)}}),y=a=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a),x=()=>{s.trim()&&!y(s)&&h("Invalid email address")},S=a=>{if(a.preventDefault(),!y(s)){h("Invalid email address");return}g.mutate({email:s,password:o,name:l})},_=a=>n=>{a(n.target.value),I&&g.reset(),a===d&&m&&h("")},f=g.isPending,I=g.error,w=i?s.trim()&&o.trim()&&l.trim():s.trim()&&o.trim(),A=a=>{if(!a)return null;const n=a.message.toLowerCase();return n.includes("unauthorized")||n.includes("401")?"Invalid email or password. Please try again.":n.includes("already exists")||n.includes("409")?"An account with this email already exists. Try signing in instead.":n.includes("network")||n.includes("fetch")?"Network error. Please check your connection and try again.":n.includes("rate limit")||n.includes("429")?"Too many attempts. Please wait a moment and try again.":a.message||"An error occurred. Please try again."};return e.jsxs("div",{className:"mx-auto w-full min-w-[400px] max-w-md grid gap-6 bg-card p-10 border border-primary-foreground/20",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12"})}),e.jsx("div",{className:"text-center space-y-1",children:e.jsx("p",{className:"text-sm text-foreground/70",children:i?"Create your account":"Login or signup below"})}),I&&e.jsx("div",{className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:A(I)}),t.enabled&&e.jsxs("form",{onSubmit:S,className:"grid gap-4",children:[e.jsx("div",{className:b("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",i?"max-h-[200px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:e.jsxs("div",{className:b("p-1",!i&&"pointer-events-none"),children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Name"}),e.jsx(E,{type:"text",placeholder:"Your name",value:l,onChange:_(v),required:!0,disabled:f||!i,"aria-hidden":!i})]})}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Email"}),e.jsx(E,{type:"email",placeholder:"you@example.com",value:s,onChange:_(d),onBlur:x,required:!0,disabled:f,"aria-invalid":!!m}),m&&e.jsx("p",{className:"text-xs text-destructive mt-1.5",children:m})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-2",children:"Password"}),e.jsx(E,{type:"password",placeholder:"••••••••",value:o,onChange:_(u),required:!0,disabled:f})]}),e.jsx("div",{className:b("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",w?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:e.jsx("div",{className:b("p-1",!w&&"pointer-events-none"),children:e.jsx(P,{type:"submit",disabled:f||!w,className:b("w-full font-semibold"),size:"lg","aria-hidden":!w,children:f?i?"Creating account...":"Signing in...":"Continue"})})})]}),e.jsx("div",{className:"text-center",children:e.jsx(P,{type:"button",variant:"link",onClick:()=>{N(!i),v(""),h(""),g.reset()},disabled:f,className:"text-sm text-muted-foreground hover:text-foreground",children:i?"Already have an account? Sign in":"Don't have an account? Sign up"})}),e.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground pt-4",children:[e.jsx("a",{href:"https://www.decocms.com/terms-of-use",target:"_blank",rel:"noopener noreferrer",className:"hover:text-foreground transition-colors",children:"Terms of Service"}),e.jsx("a",{href:"https://www.decocms.com/privacy-policy",target:"_blank",rel:"noopener noreferrer",className:"hover:text-foreground transition-colors",children:"Privacy Policy"})]})]})}function M(r){if(!r.client_id||r.response_type!=="code")return null;const t=new URLSearchParams;return r.client_id&&t.set("client_id",r.client_id),r.redirect_uri&&t.set("redirect_uri",r.redirect_uri),r.response_type&&t.set("response_type",r.response_type),r.state&&t.set("state",r.state),r.scope&&t.set("scope",r.scope),r.code_challenge&&t.set("code_challenge",r.code_challenge),r.code_challenge_method&&t.set("code_challenge_method",r.code_challenge_method),`/api/auth/mcp/authorize?${t.toString()}`}function q(r){const t=U.c(5),{callbackURL:s,providerId:d}=r;let o,u;t[0]!==s||t[1]!==d?(o=()=>{(async()=>await j.signIn.sso({providerId:d,callbackURL:s}))()},u=[d,s],t[0]=s,t[1]=d,t[2]=o,t[3]=u):(o=t[2],u=t[3]),p.useEffect(o,u);let l;return t[4]===Symbol.for("react.memo_cache_sentinel")?(l=e.jsx(L,{}),t[4]=l):l=t[4],l}function Y(){const r=j.useSession(),t=z({from:"/login"}),{next:s="/",client_id:d,redirect_uri:o,response_type:u,state:l,scope:v,code_challenge:i,code_challenge_method:N}=t,{sso:m,emailAndPassword:h,magicLink:g,socialProviders:y}=k(),x=M({client_id:d,redirect_uri:o,response_type:u,state:l,scope:v,code_challenge:i,code_challenge_method:N}),S=x||s;return r.data?x?(window.location.href=x,e.jsx(L,{})):e.jsx(R,{to:s}):m.enabled?e.jsx(q,{callbackURL:S,providerId:m.providerId}):h.enabled||g.enabled||y.enabled?e.jsxs("main",{className:"relative flex min-h-screen items-center justify-center bg-gradient-to-br from-primary to-primary/75 p-4",children:[e.jsx("div",{className:"absolute inset-0",style:{backgroundImage:"radial-gradient(circle, var(--primary-foreground) 1px, transparent 1px)",backgroundSize:"16px 16px",opacity:.15}}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-screen h-px bg-primary-foreground/15"}),e.jsx("div",{className:"absolute bottom-0 left-1/2 -translate-x-1/2 w-screen h-px bg-primary-foreground/15"}),e.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-px h-screen bg-primary-foreground/15"}),e.jsx("div",{className:"absolute right-0 top-1/2 -translate-y-1/2 w-px h-screen bg-primary-foreground/15"}),e.jsx(B,{redirectUrl:x})]})]}):e.jsx("div",{children:"No login options available"})}export{Y as default};
@@ -1 +1 @@
1
- import{p as O,q as V,r as P,m as $}from"./auth-Dfo88onv.js";function y(r){let e=0;for(let t=0;t<r.length;t++){const o=r.charCodeAt(t);e=(e<<5)-e+o,e=e&e}return Math.abs(e).toString(16)}const U=new Map,C="mcp:oauth:callback:";class L{serverUrl;_clientMetadata;_redirectUrl;_state=null;_codeVerifier=null;_clientInfo=null;_tokens=null;constructor(e){this.serverUrl=e.serverUrl,this._redirectUrl=e.callbackUrl??`${window.location.origin}/oauth/callback`,this._clientMetadata={redirect_uris:[this._redirectUrl],token_endpoint_auth_method:"none",grant_types:["authorization_code","refresh_token"],response_types:["code"],client_name:e.clientName??"@decocms/mesh MCP client",scope:"mcp"},U.set(y(this.serverUrl),this)}get redirectUrl(){return this._redirectUrl}get clientMetadata(){return this._clientMetadata}state(){return this._state||(this._state=crypto.randomUUID()),this._state}getStoredState(){return this._state}clientInformation(){return this._clientInfo??void 0}saveClientInformation(e){this._clientInfo=e}tokens(){return this._tokens??void 0}saveTokens(e){this._tokens=e}redirectToAuthorization(e){const c=window.screenX+(window.outerWidth-600)/2,s=window.screenY+(window.outerHeight-700)/2;window.open(e.toString(),"mcp-oauth",`width=600,height=700,left=${c},top=${s},popup=yes`)}saveCodeVerifier(e){this._codeVerifier=e}codeVerifier(){if(!this._codeVerifier)throw new Error("Code verifier not found");return this._codeVerifier}invalidateCredentials(){this._clientInfo=null,this._tokens=null,this._codeVerifier=null,this._state=null}getServerUrl(){return this.serverUrl}cleanup(){U.delete(y(this.serverUrl))}}async function R(r){const e=new URL(`/mcp/${r.connectionId}`,window.location.origin),t=new L({serverUrl:e.href,clientName:r.clientName,clientUri:r.clientUri,callbackUrl:r.callbackUrl});try{const o=new Promise((d,n)=>{const l=r.timeout||12e4;let w,h=!1;const M=t.state(),p=`${C}${M}`,a=()=>{if(!h){h=!0,window.removeEventListener("message",g),window.removeEventListener("storage",_),clearTimeout(w);try{localStorage.removeItem(p)}catch{}}},m=async i=>{if(h)return;if(!i.success){a(),n(new Error(i.error||"OAuth authentication failed"));return}const{code:u,state:b}=i;if(!u){a(),n(new Error("Missing authorization code"));return}if(t.getStoredState()!==b){a(),n(new Error("OAuth state mismatch - possible CSRF attack"));return}try{const v=(await O(e))?.authorization_servers?.[0]||e,A=await V(v),S=t.clientInformation();if(!S){a(),n(new Error("Client information not found"));return}const E=t.codeVerifier(),I=await P(v,{metadata:A,clientInformation:S,authorizationCode:u,codeVerifier:E,redirectUri:t.redirectUrl,resource:new URL(e)});a(),d(I)}catch(k){a(),n(k)}},g=async i=>{i.origin===window.location.origin&&i.data?.type==="mcp:oauth:callback"&&await m(i.data)},_=async i=>{if(!(i.key!==p||!i.newValue))try{const u=JSON.parse(i.newValue);await m(u)}catch{}};window.addEventListener("message",g),window.addEventListener("storage",_),w=setTimeout(()=>{a(),n(new Error("OAuth authentication timeout"))},l)});return await $(t,{serverUrl:e})==="REDIRECT"?{token:(await o).access_token,error:null}:{token:t.tokens()?.access_token||null,error:null}}catch(o){return{token:null,error:o instanceof Error?o.message:String(o)}}finally{t.cleanup()}}function f(r,e){if(window.opener&&!window.opener.closed)return window.opener.postMessage(r,window.location.origin),!0;if(e)try{const t=`${C}${e}`;return localStorage.setItem(t,JSON.stringify(r)),!0}catch{}return!1}async function N(){const r=new URLSearchParams(window.location.search),e=r.get("code");let t=r.get("state");const o=r.get("error"),c=r.get("error_description");let s=t;if(t)try{const n=atob(t),l=JSON.parse(n);l.clientState&&(s=l.clientState)}catch{}if(o){const n=c||o;return f({type:"mcp:oauth:callback",success:!1,error:n},s),{success:!1,error:n}}if(!e||!t){const n="Missing code or state parameter";return f({type:"mcp:oauth:callback",success:!1,error:n},s),{success:!1,error:n}}return t=s||t,f({type:"mcp:oauth:callback",success:!0,code:e,state:t},t)?{success:!0}:{success:!1,error:"Parent window not available"}}async function D({url:r,token:e}){try{const t=new Headers;return t.set("Content-Type","application/json"),t.set("Accept","application/json, text/event-stream"),(await fetch(r,{method:"POST",headers:t,body:JSON.stringify({jsonrpc:"2.0",id:1,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"@decocms/mesh MCP client",version:"1.0.0"}}})})).ok}catch(t){return console.error("[isConnectionAuthenticated] Error:",t),!1}}export{R as a,N as h,D as i};
1
+ import{p as O,q as V,r as P,m as $}from"./auth-CsOevbKn.js";function y(r){let e=0;for(let t=0;t<r.length;t++){const o=r.charCodeAt(t);e=(e<<5)-e+o,e=e&e}return Math.abs(e).toString(16)}const U=new Map,C="mcp:oauth:callback:";class L{serverUrl;_clientMetadata;_redirectUrl;_state=null;_codeVerifier=null;_clientInfo=null;_tokens=null;constructor(e){this.serverUrl=e.serverUrl,this._redirectUrl=e.callbackUrl??`${window.location.origin}/oauth/callback`,this._clientMetadata={redirect_uris:[this._redirectUrl],token_endpoint_auth_method:"none",grant_types:["authorization_code","refresh_token"],response_types:["code"],client_name:e.clientName??"@decocms/mesh MCP client",scope:"mcp"},U.set(y(this.serverUrl),this)}get redirectUrl(){return this._redirectUrl}get clientMetadata(){return this._clientMetadata}state(){return this._state||(this._state=crypto.randomUUID()),this._state}getStoredState(){return this._state}clientInformation(){return this._clientInfo??void 0}saveClientInformation(e){this._clientInfo=e}tokens(){return this._tokens??void 0}saveTokens(e){this._tokens=e}redirectToAuthorization(e){const c=window.screenX+(window.outerWidth-600)/2,s=window.screenY+(window.outerHeight-700)/2;window.open(e.toString(),"mcp-oauth",`width=600,height=700,left=${c},top=${s},popup=yes`)}saveCodeVerifier(e){this._codeVerifier=e}codeVerifier(){if(!this._codeVerifier)throw new Error("Code verifier not found");return this._codeVerifier}invalidateCredentials(){this._clientInfo=null,this._tokens=null,this._codeVerifier=null,this._state=null}getServerUrl(){return this.serverUrl}cleanup(){U.delete(y(this.serverUrl))}}async function R(r){const e=new URL(`/mcp/${r.connectionId}`,window.location.origin),t=new L({serverUrl:e.href,clientName:r.clientName,clientUri:r.clientUri,callbackUrl:r.callbackUrl});try{const o=new Promise((d,n)=>{const l=r.timeout||12e4;let w,h=!1;const M=t.state(),p=`${C}${M}`,a=()=>{if(!h){h=!0,window.removeEventListener("message",g),window.removeEventListener("storage",_),clearTimeout(w);try{localStorage.removeItem(p)}catch{}}},m=async i=>{if(h)return;if(!i.success){a(),n(new Error(i.error||"OAuth authentication failed"));return}const{code:u,state:b}=i;if(!u){a(),n(new Error("Missing authorization code"));return}if(t.getStoredState()!==b){a(),n(new Error("OAuth state mismatch - possible CSRF attack"));return}try{const v=(await O(e))?.authorization_servers?.[0]||e,A=await V(v),S=t.clientInformation();if(!S){a(),n(new Error("Client information not found"));return}const E=t.codeVerifier(),I=await P(v,{metadata:A,clientInformation:S,authorizationCode:u,codeVerifier:E,redirectUri:t.redirectUrl,resource:new URL(e)});a(),d(I)}catch(k){a(),n(k)}},g=async i=>{i.origin===window.location.origin&&i.data?.type==="mcp:oauth:callback"&&await m(i.data)},_=async i=>{if(!(i.key!==p||!i.newValue))try{const u=JSON.parse(i.newValue);await m(u)}catch{}};window.addEventListener("message",g),window.addEventListener("storage",_),w=setTimeout(()=>{a(),n(new Error("OAuth authentication timeout"))},l)});return await $(t,{serverUrl:e})==="REDIRECT"?{token:(await o).access_token,error:null}:{token:t.tokens()?.access_token||null,error:null}}catch(o){return{token:null,error:o instanceof Error?o.message:String(o)}}finally{t.cleanup()}}function f(r,e){if(window.opener&&!window.opener.closed)return window.opener.postMessage(r,window.location.origin),!0;if(e)try{const t=`${C}${e}`;return localStorage.setItem(t,JSON.stringify(r)),!0}catch{}return!1}async function N(){const r=new URLSearchParams(window.location.search),e=r.get("code");let t=r.get("state");const o=r.get("error"),c=r.get("error_description");let s=t;if(t)try{const n=atob(t),l=JSON.parse(n);l.clientState&&(s=l.clientState)}catch{}if(o){const n=c||o;return f({type:"mcp:oauth:callback",success:!1,error:n},s),{success:!1,error:n}}if(!e||!t){const n="Missing code or state parameter";return f({type:"mcp:oauth:callback",success:!1,error:n},s),{success:!1,error:n}}return t=s||t,f({type:"mcp:oauth:callback",success:!0,code:e,state:t},t)?{success:!0}:{success:!1,error:"Parent window not available"}}async function D({url:r,token:e}){try{const t=new Headers;return t.set("Content-Type","application/json"),t.set("Accept","application/json, text/event-stream"),(await fetch(r,{method:"POST",headers:t,body:JSON.stringify({jsonrpc:"2.0",id:1,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"@decocms/mesh MCP client",version:"1.0.0"}}})})).ok}catch(t){return console.error("[isConnectionAuthenticated] Error:",t),!1}}export{R as a,N as h,D as i};
@@ -1 +1 @@
1
- import{a2 as oe,a as X,ap as Pe,au as Se,av as os,aw as ls,aq as ie,r as D,a1 as Re,as as $e,ar as is,a6 as Q,j as t,c as ae}from"./index-kuMaGV9U.js";import{C as as}from"./collection-header-DsMf-88h.js";import{C as Te}from"./collection-page-C6Lt30BH.js";import{C as Ee}from"./collection-search-CXcLRFBk.js";import{C as cs}from"./collection-table-wrapper-DIAaiM6K.js";import{T as ds}from"./tool-set-selector-BxJYXzYX.js";import{b as ms}from"./integration-icon-Dv-2D552.js";import{u as _e}from"./use-members-dDzJ30ii.js";import{W as us}from"./well-known-mcp-Dq2j3ucM.js";import{u as ye}from"./tooltip-CyTpNpEt.js";import{u as Fe}from"./useQuery-DJ7WNdWe.js";import{A as we}from"./avatar-Dw1KHXJf.js";import{B as ge}from"./badge-C29ypR-2.js";import{u as ue,B as Y}from"./button-Cv1rgJOF.js";import{C as fs}from"./checkbox-Ay9B68Cb.js";import{f as he,a as pe,b as xe,c as be,d as Ce,e as Ne,A as je,g as ve}from"./alert-dialog-Hgs2tcw0.js";import{d as Ke,e as Ye,c as Qe,D as gs,a as hs,f as ps}from"./dialog-rRH3MQkl.js";import{b as Ze,D as qe,a as We,c as Oe,e as xs,f as bs,g as Cs,d as Ns}from"./dropdown-menu-dUgjswGX.js";import{I as q}from"./icon-KZI-tyY2.js";import{I as js}from"./input-C0U94pom.js";import{S as Me}from"./switch-B0GAK0hk.js";import{c as J}from"./utils-dJ2GyoL3.js";import{E as Ae}from"./empty-state-CCq1QaCi.js";import{E as vs}from"./error-boundary-COxhsLlB.js";import{a as Es,F as De,b as ze,d as ke,f as ys}from"./form-xpLXXjk9.js";import{c as He,a as Je,S as Xe,b as es,d as ss}from"./select-BFyzpZOm.js";import{C as ws}from"./card-BggFBtGd.js";import"./collection-display-button-grM851Xd.js";const ts=[{name:"ORGANIZATION_CREATE",description:"Create a new organization",category:"Organizations"},{name:"ORGANIZATION_LIST",description:"List organizations",category:"Organizations"},{name:"ORGANIZATION_GET",description:"View organization details",category:"Organizations"},{name:"ORGANIZATION_UPDATE",description:"Update organization",category:"Organizations"},{name:"ORGANIZATION_DELETE",description:"Delete organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_SETTINGS_GET",description:"View organization settings",category:"Organizations"},{name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization settings",category:"Organizations"},{name:"ORGANIZATION_MEMBER_ADD",description:"Add members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove members",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_LIST",description:"List members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update member roles",category:"Organizations"},{name:"COLLECTION_CONNECTIONS_CREATE",description:"Create connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_LIST",description:"List connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_GET",description:"View connection details",category:"Connections"},{name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete connections",category:"Connections",dangerous:!0},{name:"CONNECTION_TEST",description:"Test connections",category:"Connections"},{name:"DATABASES_RUN_SQL",description:"Run SQL queries",category:"Connections",dangerous:!0},{name:"COLLECTION_GATEWAY_CREATE",description:"Create gateways",category:"Gateways"},{name:"COLLECTION_GATEWAY_LIST",description:"List gateways",category:"Gateways"},{name:"COLLECTION_GATEWAY_GET",description:"View gateway details",category:"Gateways"},{name:"COLLECTION_GATEWAY_UPDATE",description:"Update gateways",category:"Gateways"},{name:"COLLECTION_GATEWAY_DELETE",description:"Delete gateways",category:"Gateways",dangerous:!0},{name:"MONITORING_LOGS_LIST",description:"List monitoring logs",category:"Monitoring"},{name:"MONITORING_STATS",description:"View monitoring statistics",category:"Monitoring"},{name:"API_KEY_CREATE",description:"Create API key",category:"API Keys"},{name:"API_KEY_LIST",description:"List API keys",category:"API Keys"},{name:"API_KEY_UPDATE",description:"Update API key",category:"API Keys"},{name:"API_KEY_DELETE",description:"Delete API key",category:"API Keys",dangerous:!0},{name:"EVENT_PUBLISH",description:"Publish events",category:"Event Bus"},{name:"EVENT_SUBSCRIBE",description:"Subscribe to events",category:"Event Bus"},{name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events",category:"Event Bus"},{name:"EVENT_CANCEL",description:"Cancel recurring events",category:"Event Bus"},{name:"EVENT_ACK",description:"Acknowledge event delivery",category:"Event Bus"},{name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions",category:"Event Bus"},{name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state",category:"Event Bus"}],Ss={ORGANIZATION_CREATE:"Create organization",ORGANIZATION_LIST:"List organizations",ORGANIZATION_GET:"View organization details",ORGANIZATION_UPDATE:"Update organization",ORGANIZATION_DELETE:"Delete organization",ORGANIZATION_SETTINGS_GET:"View organization settings",ORGANIZATION_SETTINGS_UPDATE:"Update organization settings",ORGANIZATION_MEMBER_LIST:"List members",ORGANIZATION_MEMBER_ADD:"Add members",ORGANIZATION_MEMBER_REMOVE:"Remove members",ORGANIZATION_MEMBER_UPDATE_ROLE:"Update member roles",COLLECTION_CONNECTIONS_LIST:"List connections",COLLECTION_CONNECTIONS_GET:"View connection details",COLLECTION_CONNECTIONS_CREATE:"Create connections",COLLECTION_CONNECTIONS_UPDATE:"Update connections",COLLECTION_CONNECTIONS_DELETE:"Delete connections",CONNECTION_TEST:"Test connections",DATABASES_RUN_SQL:"Run SQL queries",COLLECTION_GATEWAY_CREATE:"Create gateways",COLLECTION_GATEWAY_LIST:"List gateways",COLLECTION_GATEWAY_GET:"View gateway details",COLLECTION_GATEWAY_UPDATE:"Update gateways",COLLECTION_GATEWAY_DELETE:"Delete gateways",MONITORING_LOGS_LIST:"List monitoring logs",MONITORING_STATS:"View monitoring statistics",API_KEY_CREATE:"Create API key",API_KEY_LIST:"List API keys",API_KEY_UPDATE:"Update API key",API_KEY_DELETE:"Delete API key",EVENT_PUBLISH:"Publish events",EVENT_SUBSCRIBE:"Subscribe to events",EVENT_UNSUBSCRIBE:"Unsubscribe from events",EVENT_CANCEL:"Cancel recurring events",EVENT_ACK:"Acknowledge event delivery",EVENT_SUBSCRIPTION_LIST:"List event subscriptions",EVENT_SYNC_SUBSCRIPTIONS:"Sync subscriptions to desired state"};function As(){const s={Organizations:[],Connections:[],Gateways:[],Monitoring:[],"API Keys":[],"Event Bus":[]};for(const e of ts)s[e.category]?.push(e);return s}function Is(){return ts.map(s=>({value:s.name,label:Ss[s.name],dangerous:s.dangerous}))}const Be=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function Ts(s){return s.replace(/-/g," ")}function Os(s){if(!s)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1};const e=[];let n=!1;const c=[];let u=!1;const h=new Set;let p=!1;for(const[f,j]of Object.entries(s)){if(f===us.SELF){j.includes("*")?n=!0:e.push(...j);continue}if(f==="*"){if(u=!0,j.includes("*"))p=!0;else for(const w of j)h.add(w);continue}if(c.push(f),j.includes("*"))p=!0;else for(const w of j)h.add(w)}return{staticPermissions:e,allowsAllStaticPermissions:n,connectionIds:c,allowsAllConnections:u,toolNames:Array.from(h),allowsAllTools:p}}function Le(){const{locator:s}=ye(),{data:e,isLoading:n,error:c,refetch:u}=Fe({queryKey:oe.organizationRoles(s),queryFn:async()=>{try{const f=await X.organization.listRoles();return f?.error?(console.error("[useOrganizationRoles] API error:",f.error),[]):f?.data??[]}catch(f){return console.error("[useOrganizationRoles] Fetch error:",f),[]}},staleTime:3e4}),h=Be.map(f=>({role:f.value,label:f.label,isBuiltin:f.isBuiltin}));if(e&&Array.isArray(e))for(const f of e){const j=f.role;if(!j||Be.some(y=>y.value===j))continue;const{staticPermissions:w,allowsAllStaticPermissions:i,connectionIds:O,allowsAllConnections:l,toolNames:b,allowsAllTools:x}=Os(f.permission);h.push({id:f.id,role:j,label:Ts(j),isBuiltin:!1,permission:f.permission??void 0,staticPermissionCount:i?-1:w.length,allowsAllStaticPermissions:i,connectionCount:l?-1:O.length,allowsAllConnections:l,toolCount:x?-1:b.length,allowsAllTools:x})}const p=h.filter(f=>!f.isBuiltin);return{roles:h,customRoles:p,builtinRoles:h.filter(f=>f.isBuiltin),isLoading:n,error:c,refetch:u}}const Rs=Pe({role:Pe({id:ie().optional(),slug:ie().optional(),label:ie()}),allowAllStaticPermissions:ls(),staticPermissions:Se(ie()),toolSet:os(Se(ie())),memberIds:Se(ie())});function ns(s){return s?s.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}const _s=[{role:"owner",label:"Owner",color:"bg-red-500"},{role:"admin",label:"Admin",color:"bg-blue-500"},{role:"user",label:"User",color:"bg-green-500"}],Ie=["bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500"];function Ls(s){if(!s)return"bg-neutral-400";let e=0;for(let c=0;c<s.length;c++){const u=s.charCodeAt(c);e=(e<<5)-e+u,e=e&e}const n=Math.abs(e)%Ie.length;return Ie[n]??Ie[0]}function fe(){return{role:{id:void 0,slug:void 0,label:""},allowAllStaticPermissions:!1,staticPermissions:[],toolSet:{},memberIds:[]}}function Ps(s){const e=ae.c(35),{allowAllStaticPermissions:n,staticPermissions:c,onAllowAllChange:u,onPermissionsChange:h}=s,[p,f]=D.useState(""),j=D.useDeferredValue(p);let w,i,O,l,b;if(e[0]!==n||e[1]!==j||e[2]!==u||e[3]!==h||e[4]!==p||e[5]!==c){const R=As(),m=Is(),a=m.filter(d=>d.label.toLowerCase().includes(j.toLowerCase())),g=d=>{if(c.includes(d))h(c.filter(C=>C!==d));else{const C=[...c,d];C.length===m.length?(u(!0),h([])):h(C)}};O="flex flex-col h-full",e[11]!==p?(l=t.jsx("div",{className:"border-b border-border",children:t.jsx(Ee,{value:p,onChange:f,placeholder:"Search permissions...",className:"border-b-0"})}),e[11]=p,e[12]=l):l=e[12];let A;e[13]!==n||e[14]!==u||e[15]!==h?(A=()=>{u(!n),h([])},e[13]=n,e[14]=u,e[15]=h,e[16]=A):A=e[16];let v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx("span",{className:"text-sm font-medium",children:"All organization permissions"}),e[17]=v):v=e[17];let S;e[18]!==u||e[19]!==h?(S=d=>{u(d),h([])},e[18]=u,e[19]=h,e[20]=S):S=e[20];let o;e[21]!==n||e[22]!==S?(o=t.jsx("div",{onClick:ks,children:t.jsx(Me,{checked:n,onCheckedChange:S})}),e[21]=n,e[22]=S,e[23]=o):o=e[23],e[24]!==A||e[25]!==o?(b=t.jsx("div",{className:"border-b border-border",children:t.jsxs("div",{className:"flex items-center justify-between px-4 py-3 rounded-lg hover:bg-muted/50 cursor-pointer",onClick:A,children:[v,o]})}),e[24]=A,e[25]=o,e[26]=b):b=e[26],w="flex-1 overflow-auto",i=Object.entries(R).map(d=>{const[C,E]=d,M=a.filter(N=>E.some(I=>I.name===N.value));return M.length===0?null:t.jsxs("div",{className:"mb-6 last:mb-0",children:[t.jsx("h4",{className:"text-sm font-medium p-3 pb-1.5 text-muted-foreground/75",children:C}),t.jsx("div",{className:"space-y-1",children:M.map(N=>t.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3 hover:bg-muted/50 cursor-pointer",onClick:()=>{if(n){u(!1);const I=m.map(zs);h(I.filter(L=>L!==N.value))}else g(N.value)},children:[t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx("span",{className:"text-sm",children:N.label})}),t.jsx("div",{onClick:Ds,children:t.jsx(Me,{checked:n||c.includes(N.value),onCheckedChange:()=>{if(n){u(!1);const I=m.map(Ms);h(I.filter(L=>L!==N.value))}else g(N.value)}})})]},N.value))})]},C)}),e[0]=n,e[1]=j,e[2]=u,e[3]=h,e[4]=p,e[5]=c,e[6]=w,e[7]=i,e[8]=O,e[9]=l,e[10]=b}else w=e[6],i=e[7],O=e[8],l=e[9],b=e[10];let x;e[27]!==w||e[28]!==i?(x=t.jsx("div",{className:w,children:i}),e[27]=w,e[28]=i,e[29]=x):x=e[29];let y;return e[30]!==O||e[31]!==l||e[32]!==b||e[33]!==x?(y=t.jsxs("div",{className:O,children:[l,b,x]}),e[30]=O,e[31]=l,e[32]=b,e[33]=x,e[34]=y):y=e[34],y}function Ms(s){return s.value}function Ds(s){return s.stopPropagation()}function zs(s){return s.value}function ks(s){return s.stopPropagation()}function Bs(s){const e=ae.c(56),{open:n,onOpenChange:c,selectedMemberIds:u,onAddMembers:h}=s,[p,f]=D.useState(""),j=D.useDeferredValue(p);let w;e[0]===Symbol.for("react.memo_cache_sentinel")?(w=[],e[0]=w):w=e[0];const[i,O]=D.useState(w),{data:l}=_e();let b,x,y,R,m,a,g,A,v,S,o;if(e[1]!==l?.data?.members||e[2]!==j||e[3]!==h||e[4]!==c||e[5]!==n||e[6]!==i||e[7]!==p||e[8]!==u){const U=l?.data?.members??[];let K;e[20]!==j?(K=_=>{const z=j.toLowerCase();return _.user?.name?.toLowerCase().includes(z)||_.user?.email?.toLowerCase().includes(z)},e[20]=j,e[21]=K):K=e[21];const se=U.filter(K),le=Us;let ee;e[22]!==u?(ee=_=>u.includes(_),e[22]=u,e[23]=ee):ee=e[23];const ce=ee;let te;e[24]!==i?(te=_=>{i.includes(_)?O(i.filter(z=>z!==_)):O([...i,_])},e[24]=i,e[25]=te):te=e[25];const r=te;let P;e[26]!==h||e[27]!==c||e[28]!==i?(P=()=>{h(i),O([]),c(!1)},e[26]=h,e[27]=c,e[28]=i,e[29]=P):P=e[29],y=P,x=he,S=n,o=c,b=pe,A="sm:max-w-md p-0 overflow-hidden",e[30]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsxs(xe,{className:"px-6 pt-6",children:[t.jsx(be,{children:"Add Members to Role"}),t.jsx(Ce,{children:"Select members to add to this role."})]}),e[30]=v):v=e[30],a="flex flex-col h-80",e[31]!==p?(g=t.jsx(Ee,{value:p,onChange:f,placeholder:"Search members...",className:"border-b border-t-0 border-x-0 rounded-none"}),e[31]=p,e[32]=g):g=e[32],R="flex-1 overflow-auto",m=se.length===0?t.jsx("div",{className:"flex items-center justify-center h-full px-6",children:t.jsx("p",{className:"text-sm text-muted-foreground",children:p?"No members found":"No members available"})}):t.jsx("div",{className:"px-6 py-2 space-y-1",children:se.map(_=>{const z=le(_),V=ce(_.id),G=i.includes(_.id);return t.jsxs("label",{className:J("flex items-center gap-3 p-2 rounded-lg",!z||V?"opacity-50 cursor-not-allowed":"cursor-pointer hover:bg-muted/50"),children:[t.jsx(fs,{checked:G||V,onCheckedChange:()=>{z&&!V&&r(_.id)},disabled:!z||V}),t.jsx(we,{url:_.user?.image??void 0,fallback:ns(_.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:_.user?.name||"Unknown"}),t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:_.user?.email})]}),!z&&t.jsx(ge,{variant:"secondary",className:"shrink-0",children:"Owner"}),V&&z&&t.jsx(ge,{variant:"outline",className:"shrink-0",children:"Added"})]},_.id)})}),e[1]=l?.data?.members,e[2]=j,e[3]=h,e[4]=c,e[5]=n,e[6]=i,e[7]=p,e[8]=u,e[9]=b,e[10]=x,e[11]=y,e[12]=R,e[13]=m,e[14]=a,e[15]=g,e[16]=A,e[17]=v,e[18]=S,e[19]=o}else b=e[9],x=e[10],y=e[11],R=e[12],m=e[13],a=e[14],g=e[15],A=e[16],v=e[17],S=e[18],o=e[19];let d;e[33]!==R||e[34]!==m?(d=t.jsx("div",{className:R,children:m}),e[33]=R,e[34]=m,e[35]=d):d=e[35];let C;e[36]!==d||e[37]!==a||e[38]!==g?(C=t.jsxs("div",{className:a,children:[g,d]}),e[36]=d,e[37]=a,e[38]=g,e[39]=C):C=e[39];let E;e[40]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(je,{children:"Cancel"}),e[40]=E):E=e[40];const M=i.length===0,N=i.length>0&&`(${i.length})`;let I;e[41]!==y||e[42]!==M||e[43]!==N?(I=t.jsxs(Ne,{className:"px-6 pb-6",children:[E,t.jsxs(ve,{onClick:y,disabled:M,children:["Add ",N]})]}),e[41]=y,e[42]=M,e[43]=N,e[44]=I):I=e[44];let L;e[45]!==b||e[46]!==C||e[47]!==I||e[48]!==A||e[49]!==v?(L=t.jsxs(b,{className:A,children:[v,C,I]}),e[45]=b,e[46]=C,e[47]=I,e[48]=A,e[49]=v,e[50]=L):L=e[50];let T;return e[51]!==x||e[52]!==L||e[53]!==S||e[54]!==o?(T=t.jsx(x,{open:S,onOpenChange:o,children:L}),e[51]=x,e[52]=L,e[53]=S,e[54]=o,e[55]=T):T=e[55],T}function Us(s){return s.role!=="owner"}function Gs(s){const e=ae.c(37),{memberIds:n,onMemberIdsChange:c}=s,[u,h]=D.useState(""),p=D.useDeferredValue(u),[f,j]=D.useState(!1),{data:w}=_e();let i,O,l,b,x;if(e[0]!==w?.data?.members||e[1]!==p||e[2]!==n||e[3]!==c||e[4]!==u){const a=w?.data?.members??[];let g;e[10]!==n?(g=N=>n.includes(N.id),e[10]=n,e[11]=g):g=e[11];const A=a.filter(g);let v;e[12]!==p?(v=N=>{const I=p.toLowerCase();return N.user?.name?.toLowerCase().includes(I)||N.user?.email?.toLowerCase().includes(I)},e[12]=p,e[13]=v):v=e[13];const S=A.filter(v);let o;e[14]!==n||e[15]!==c?(o=N=>{c(n.filter(I=>I!==N))},e[14]=n,e[15]=c,e[16]=o):o=e[16];const d=o;let C;e[17]!==n||e[18]!==c?(C=N=>{c([...n,...N])},e[17]=n,e[18]=c,e[19]=C):C=e[19],i=C,b="flex flex-col h-full";let E;e[20]!==u?(E=t.jsx(Ee,{value:u,onChange:h,placeholder:"Search members...",className:"flex-1 border-b-0"}),e[20]=u,e[21]=E):E=e[21];let M;e[22]===Symbol.for("react.memo_cache_sentinel")?(M=t.jsx("div",{className:"pr-4",children:t.jsxs(Y,{variant:"outline",size:"sm",onClick:()=>j(!0),children:[t.jsx(q,{name:"add",size:16}),"Add Member"]})}),e[22]=M):M=e[22],e[23]!==E?(x=t.jsxs("div",{className:"flex items-center border-b border-border",children:[E,M]}),e[23]=E,e[24]=x):x=e[24],O="flex-1 overflow-auto",l=A.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsxs("div",{className:"text-center",children:[t.jsx("h3",{className:"text-lg font-medium mb-2",children:"No members"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Add members to this role to grant them the configured permissions."})]})}):S.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsxs("p",{className:"text-sm text-muted-foreground",children:['No members match "',u,'"']})}):t.jsx("div",{className:"p-4 space-y-2",children:S.map(N=>t.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg bg-muted/30",children:[t.jsx(we,{url:N.user?.image??void 0,fallback:ns(N.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:N.user?.name||"Unknown"}),t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:N.user?.email})]}),t.jsx(Y,{variant:"ghost",size:"sm",onClick:()=>d(N.id),children:t.jsx(q,{name:"close",size:16})})]},N.id))}),e[0]=w?.data?.members,e[1]=p,e[2]=n,e[3]=c,e[4]=u,e[5]=i,e[6]=O,e[7]=l,e[8]=b,e[9]=x}else i=e[5],O=e[6],l=e[7],b=e[8],x=e[9];let y;e[25]!==O||e[26]!==l?(y=t.jsx("div",{className:O,children:l}),e[25]=O,e[26]=l,e[27]=y):y=e[27];let R;e[28]!==f||e[29]!==i||e[30]!==n?(R=t.jsx(Bs,{open:f,onOpenChange:j,selectedMemberIds:n,onAddMembers:i}),e[28]=f,e[29]=i,e[30]=n,e[31]=R):R=e[31];let m;return e[32]!==b||e[33]!==x||e[34]!==y||e[35]!==R?(m=t.jsxs("div",{className:b,children:[x,y,R]}),e[32]=b,e[33]=x,e[34]=y,e[35]=R,e[36]=m):m=e[36],m}function Vs(s){const e=ae.c(3);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx(q,{name:"progress_activity",size:24,className:"animate-spin text-muted-foreground"})}),e[0]=n):n=e[0];let c;return e[1]!==s?(c=t.jsx(D.Suspense,{fallback:n,children:t.jsx(Gs,{...s})}),e[1]=s,e[2]=c):c=e[2],c}function $s({trigger:s,onSuccess:e}){const[n,c]=D.useState(!1),[u,h]=D.useState("mcp"),{locator:p}=ye(),f=Re(),j=ms()??[],{customRoles:w,refetch:i}=Le(),{data:O}=Fe({queryKey:oe.members(p),queryFn:()=>X.organization.listMembers()}),l=$e({resolver:is(Rs),defaultValues:fe()}),b=l.formState.isValid,x=l.formState.isDirty,y=!l.watch("role.id"),[R,m]=D.useState(null),[a,g]=D.useState(null),[A,v]=D.useState(!1),[S,o]=D.useState(null),d=r=>{const P=r.permission||{},_=P.self||[],z=_.includes("*"),V=z?[]:_.filter(B=>B!=="*"),G={};for(const[B,F]of Object.entries(P))if(B!=="self")if(B==="*")for(const H of j)F.includes("*")?G[H.id]=H.tools?.map(re=>re.name)??[]:G[H.id]=F;else{const H=j.find(re=>re.id===B);H&&(F.includes("*")?G[B]=H.tools?.map(re=>re.name)??[]:G[B]=F)}const ne=(O?.data?.members??[]).filter(B=>B.role===r.role).map(B=>B.id);return{role:{id:r.id,slug:r.role,label:r.label},allowAllStaticPermissions:z,staticPermissions:V,toolSet:G,memberIds:ne}},C=r=>{const P=d(r);l.reset(P),m(r.id??null)},E=()=>{l.reset(fe()),m(null)},M=r=>{x&&b?(o(()=>()=>C(r)),v(!0)):C(r)},N=async()=>{x&&b&&await le(),E()},I=r=>{if(!r&&l.formState.isDirty&&b){o(()=>()=>{c(!1),l.reset(fe())}),v(!0);return}if(c(r),!r)l.reset(fe());else{const P=w[0];P?C(P):E()}},L=()=>{v(!1),S&&(S(),o(null))},T=r=>{const P={};r.allowAllStaticPermissions?P.self=["*"]:r.staticPermissions.length>0&&(P.self=r.staticPermissions);for(const[_,z]of Object.entries(r.toolSet))if(z.length>0){const G=j.find(W=>W.id===_)?.tools?.map(W=>W.name)??[];G.length>0&&G.every(W=>z.includes(W))?P[_]=["*"]:P[_]=z}return P},U=ue({mutationFn:async r=>{const P=T(r),_=r.role.label.toLowerCase().replace(/\s+/g,"-");if(r.role.id){const z=await X.organization.updateRole({roleId:r.role.id,data:{permission:P}});if(z?.error)throw new Error(z.error.message);const G=(O?.data?.members??[]).filter(B=>B.role===r.role.slug).map(B=>B.id),W=r.memberIds.filter(B=>!G.includes(B)),ne=G.filter(B=>!r.memberIds.includes(B));for(const B of W){const F=await X.organization.updateMemberRole({memberId:B,role:[r.role.slug]});if(F?.error)throw new Error(F.error.message)}for(const B of ne){const F=await X.organization.updateMemberRole({memberId:B,role:["user"]});if(F?.error)throw new Error(F.error.message)}return r}else{const z=await X.organization.createRole({role:_,permission:P});if(z?.error)throw new Error(z.error.message);for(const V of r.memberIds){const G=await X.organization.updateMemberRole({memberId:V,role:[_]});if(G?.error)throw new Error(G.error.message)}return{...r,role:{...r.role,id:z.data?.roleData?.id,slug:_}}}},onSuccess:(r,P)=>{f.invalidateQueries({queryKey:oe.members(p)}),f.invalidateQueries({queryKey:oe.organizationRoles(p)});const _=!P.role.id;Q.success(_?"Role created successfully!":"Role updated successfully!"),i(),l.reset(r),r.role.id&&m(r.role.id),e?.()},onError:r=>{Q.error(r instanceof Error?r.message:"Failed to save role")}}),K=ue({mutationFn:async r=>{const P=await X.organization.deleteRole({roleId:r});if(P?.error)throw new Error(P.error.message);return P?.data},onSuccess:()=>{if(f.invalidateQueries({queryKey:oe.members(p)}),f.invalidateQueries({queryKey:oe.organizationRoles(p)}),Q.success("Role deleted successfully!"),i(),a?.id===R){const r=w.filter(P=>P.id!==a?.id);r[0]?C(r[0]):E()}},onError:r=>{Q.error(r instanceof Error?r.message:"Failed to delete role")}}),se=U.isPending||K.isPending,le=async()=>{const r=l.getValues();if(!r.role.label.trim()){Q.error("Role name is required"),l.setFocus("role.label");return}await U.mutateAsync(r)},ee=l.handleSubmit(r=>{if(!r.role.label.trim()){Q.error("Role name is required"),l.setFocus("role.label");return}U.mutate(r)}),ce=r=>{r.id&&g({id:r.id,label:r.label})},te=()=>{a?.id&&K.mutate(a.id),g(null)};return t.jsxs(Ke,{open:n,onOpenChange:I,children:[t.jsx(Ye,{asChild:!0,children:s}),t.jsx(Qe,{className:"sm:max-w-5xl h-[80vh] max-h-[80vh] flex flex-col p-0 overflow-hidden w-[95vw]",children:t.jsxs("div",{className:"flex-1 flex overflow-hidden min-h-0 flex-col sm:flex-row",children:[t.jsxs("div",{className:"w-full sm:w-64 sm:border-r border-b sm:border-b-0 border-border flex flex-col bg-background sm:h-full max-h-[40vh] sm:max-h-full",children:[t.jsx("div",{className:"flex-1 overflow-auto px-3.5 py-3.5 pt-3.5",children:t.jsxs("div",{className:"flex flex-col gap-1",children:[_s.map(r=>t.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden opacity-50 cursor-not-allowed",children:[t.jsx("div",{className:J("shrink-0 size-3 rounded-full",r.color)}),t.jsx("p",{className:"text-sm font-medium truncate flex-1",children:r.label}),t.jsx(q,{name:"lock",size:14,className:"text-muted-foreground shrink-0"})]},r.role)),w.map(r=>{const P=R===r.id;return t.jsxs("div",{className:J("group flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden transition-colors cursor-pointer",P?"bg-accent":"hover:bg-muted/50"),onClick:()=>M(r),children:[t.jsx("div",{className:J("shrink-0 size-3 rounded-full",Ls(r.label))}),t.jsx("p",{className:"text-sm font-medium truncate flex-1",children:r.label}),w.length+(y?1:0)>1&&t.jsxs(Ze,{children:[t.jsx(qe,{asChild:!0,children:t.jsx(Y,{variant:"ghost",size:"icon",className:J("size-5 shrink-0 transition-opacity opacity-0 pointer-events-none","group-hover:opacity-100 group-hover:pointer-events-auto",P&&"opacity-100 pointer-events-auto"),onClick:_=>_.stopPropagation(),children:t.jsx(q,{name:"more_horiz",size:14})})}),t.jsx(We,{align:"end",children:t.jsxs(Oe,{className:"text-destructive",onClick:_=>{_.stopPropagation(),ce(r)},children:[t.jsx(q,{name:"delete",size:16}),"Delete"]})})]})]},r.id)}),y&&t.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden bg-accent",children:[t.jsx("div",{className:"shrink-0 size-3 rounded-full bg-neutral-400"}),t.jsx(js,{...l.register("role.label"),placeholder:"Enter role name",className:"flex-1 text-sm font-medium border-0 shadow-none h-auto px-0 py-0 focus-visible:ring-0 bg-transparent",autoFocus:!0}),t.jsx(ge,{variant:"secondary",className:"shrink-0 text-xs px-1.5 py-0",children:"New"})]})]})}),t.jsx("div",{className:"px-3.5 pb-3.5",children:t.jsxs(Y,{variant:"outline",size:"default",onClick:N,disabled:se||x,className:"w-full h-10",children:[t.jsx(q,{name:"add",size:16}),"Create new role"]})})]}),t.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[t.jsxs("div",{className:"h-12 border-b border-border px-4 py-3.5 flex items-center gap-2 shrink-0",children:[t.jsx(Y,{variant:"outline",size:"sm",onClick:()=>h("mcp"),className:J("h-8 rounded-lg px-2 py-1",u==="mcp"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"MCP Permissions"}),t.jsx(Y,{variant:"outline",size:"sm",onClick:()=>h("org"),className:J("h-8 rounded-lg px-2 py-1",u==="org"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"Organization Permissions"}),t.jsx(Y,{variant:"outline",size:"sm",onClick:()=>h("members"),className:J("h-8 rounded-lg px-2 py-1",u==="members"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"Members"})]}),t.jsxs("div",{className:"flex-1 overflow-hidden min-h-0",children:[u==="mcp"&&t.jsx(ds,{toolSet:l.watch("toolSet"),onToolSetChange:r=>l.setValue("toolSet",r,{shouldDirty:!0})}),u==="org"&&t.jsx(Ps,{allowAllStaticPermissions:l.watch("allowAllStaticPermissions"),staticPermissions:l.watch("staticPermissions"),onAllowAllChange:r=>l.setValue("allowAllStaticPermissions",r,{shouldDirty:!0}),onPermissionsChange:r=>l.setValue("staticPermissions",r,{shouldDirty:!0})}),u==="members"&&t.jsx(Vs,{memberIds:l.watch("memberIds"),onMemberIdsChange:r=>l.setValue("memberIds",r,{shouldDirty:!0})})]}),t.jsxs("div",{className:"border-t border-border px-5 py-5 flex items-center justify-end gap-2.5 shrink-0",children:[t.jsx(Y,{variant:"outline",onClick:()=>I(!1),disabled:se,className:"h-10",children:"Cancel"}),t.jsx(Y,{onClick:ee,disabled:se||!b||!l.formState.isDirty,className:"h-10",children:U.isPending?"Saving...":y?"Create Role":"Save Changes"})]})]})]})}),t.jsx(he,{open:a!==null,onOpenChange:r=>!r&&g(null),children:t.jsxs(pe,{children:[t.jsxs(xe,{children:[t.jsx(be,{children:"Delete Role"}),t.jsxs(Ce,{children:['Are you sure you want to delete the "',a?.label,'" role? This action cannot be undone.']})]}),t.jsxs(Ne,{children:[t.jsx(je,{children:"Cancel"}),t.jsx(ve,{onClick:te,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),t.jsx(he,{open:A,onOpenChange:v,children:t.jsxs(pe,{children:[t.jsxs(xe,{children:[t.jsx(be,{children:"Discard Changes"}),t.jsx(Ce,{children:"You have unsaved changes. Are you sure you want to discard them?"})]}),t.jsxs(Ne,{children:[t.jsx(je,{onClick:()=>o(null),children:"Keep Editing"}),t.jsx(ve,{onClick:L,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Discard"})]})]})})]})}const Fs=ie().email("Invalid email address");function Ks({emails:s,onEmailsChange:e,disabled:n,placeholder:c="Emails, comma separated",validation:u,onToast:h,badgeClassName:p}){const[f,j]=D.useState(""),[w,i]=D.useState(new Map),O=D.useRef(null),l=D.useCallback(o=>{const d=o.trim().toLowerCase();return u?.validate?u.validate(d):u?.currentUserEmail&&d===u.currentUserEmail.toLowerCase()?"self":Fs.safeParse(d).success?"valid":"invalid"},[u]),b=D.useCallback(o=>{const d=o.trim().toLowerCase();if(!d||s.includes(d))return!1;const C=l(d),E=[...s,d];return e(E),i(M=>{const N=new Map(M);return N.set(d,C),N}),!0},[s,e,l]),x=D.useCallback(o=>{const d=s.filter(C=>C!==o);e(d),i(C=>{const E=new Map(C);return E.delete(o),E})},[s,e]),y=D.useCallback(o=>{const d=o.split(/[,;\n\r\t|]/).map(I=>I.trim()).filter(I=>I.length>0);let C=0,E=0;const M=[],N=new Map;if(d.forEach(I=>{E++;const L=I.trim().toLowerCase();if(s.includes(L)||M.includes(L))return;const T=l(L);M.push(L),N.set(L,T),C++}),M.length>0){const I=[...s,...M];e(I),i(L=>{const T=new Map(L);return N.forEach((U,K)=>{T.set(K,U)}),T})}return E>0&&(j(""),C>0&&h?h(`Added ${C} email${C>1?"s":""}`,"success"):E>C&&h&&h(`${E-C} email${E-C>1?"s were":" was"} already added or invalid`,"info")),C},[s,e,l,h]),R=o=>{const d=o.target.value;/[,;\n\r\t|]/.test(d)?y(d):j(d)},m=o=>{if(o.key==="Enter"&&!o.shiftKey)o.preventDefault(),f.trim()&&b(f)&&j("");else if(o.key==="Backspace"&&!f&&s.length>0){const d=s[s.length-1];d&&x(d)}},a=o=>{const d=o.clipboardData.getData("text");d.trim()&&(o.preventDefault(),/[,;\n\r\t|]/.test(d)?y(d):b(d.trim())||j(d.trim()))},g=D.useCallback(()=>{const o=O.current;o&&(o.style.height="auto",o.style.height=Math.max(96,Math.min(200,o.scrollHeight))+"px")},[]);D.useEffect(()=>{g()},[f,g]);const A=D.useMemo(()=>s.filter(o=>w.get(o)==="invalid"),[s,w]),v=D.useMemo(()=>s.filter(o=>w.get(o)==="self"),[s,w]),S=o=>{switch(w.get(o)){case"invalid":case"self":return"destructive";default:return"secondary"}};return t.jsxs("div",{className:"space-y-2",children:[t.jsx("div",{className:J("min-h-[96px] w-full rounded-xl border border-input bg-background px-3 py-2 text-sm transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",n&&"opacity-50 cursor-not-allowed"),onClick:()=>O.current?.focus(),children:t.jsxs("div",{className:"flex flex-wrap gap-1 items-start",children:[s.map(o=>t.jsxs(ge,{variant:S(o),className:J("flex items-center gap-1 max-w-xs",p||"px-1 py-0.5"),children:[t.jsx("span",{className:"truncate",children:o}),t.jsx(Y,{type:"button",variant:"ghost",size:"icon",className:J("h-4 w-4 rounded-full transition-colors",S(o)==="destructive"?"text-destructive hover:text-foreground":"text-muted-foreground hover:text-foreground"),onClick:d=>{d.stopPropagation(),x(o)},disabled:n,children:t.jsx(q,{name:"close",size:12})})]},o)),t.jsx("textarea",{ref:O,value:f,onChange:R,onKeyDown:m,onPaste:a,className:"flex-1 min-w-[120px] bg-transparent border-none outline-none resize-none placeholder:text-muted-foreground overflow-hidden",placeholder:s.length===0?c:"Add more emails...",disabled:n,rows:4,style:{minHeight:"96px",maxHeight:"200px"}})]})}),v.length>0&&t.jsxs("div",{className:"text-sm text-destructive",children:["You're not able to send an invite to yourself: ",v.join(", ")]}),A.length>0&&t.jsxs("div",{className:"text-sm text-destructive",children:["Invalid email format: ",A.join(", ")]})]})}const Ys=ie().email("Invalid email address");function Qs({trigger:s}){const[e,n]=D.useState(!1),{locator:c}=ye(),u=Re(),{data:h}=X.useSession(),p=h?.user?.email,{roles:f,isLoading:j}=Le(),w=f.filter(m=>m.role!=="owner"),i=$e({mode:"onChange",defaultValues:{emails:[],role:"user"}}),O=i.watch("emails"),l=i.watch("role"),b=O.filter(m=>{const a=m.trim().toLowerCase(),g=Ys.safeParse(a).success,A=!p||a!==p.toLowerCase();return g&&A}),x=ue({mutationFn:async m=>{if(!m.role)throw new Error("Please select a role");const a=await Promise.allSettled(b.map(async A=>{const v=await X.organization.inviteMember({email:A,role:m.role});if(v.error)throw new Error(v.error.message);return v.data})),g=a.filter(A=>A.status==="rejected");if(g.length>0)throw new Error(`Failed to invite ${g.length} member${g.length>1?"s":""}`);return a},onSuccess:()=>{u.invalidateQueries({queryKey:oe.members(c)}),Q.success(b.length===1?"Member invited successfully!":`${b.length} members invited successfully!`),i.reset({emails:[],role:"user"}),n(!1)},onError:m=>{Q.error(m instanceof Error?m.message:"Failed to invite members")}}),y=m=>{if(b.length===0){Q.error("Please add at least one valid email address");return}if(!m.role){Q.error("Please select a role");return}x.mutate(m)},R=b.length>0&&!!l;return t.jsxs(Ke,{open:e,onOpenChange:n,children:[t.jsx(Ye,{asChild:!0,children:s}),t.jsxs(Qe,{className:"sm:max-w-lg",children:[t.jsx(gs,{children:t.jsx(hs,{children:"Invite members"})}),t.jsx(Es,{...i,children:t.jsxs("form",{onSubmit:i.handleSubmit(y),className:"space-y-4",children:[t.jsx(De,{control:i.control,name:"emails",render:({field:m})=>t.jsx(ze,{children:t.jsx(ke,{children:t.jsx(Ks,{emails:m.value??[],onEmailsChange:m.onChange,disabled:x.isPending,placeholder:"Emails, comma separated",validation:{currentUserEmail:p},onToast:(a,g)=>Q[g](a)})})})}),t.jsx(De,{control:i.control,name:"role",render:({field:m})=>t.jsxs(ze,{children:[t.jsx(ke,{children:t.jsxs(He,{value:m.value,onValueChange:m.onChange,disabled:x.isPending||j,children:[t.jsx(Je,{className:"w-full",children:t.jsx(Xe,{placeholder:"Select a role"})}),t.jsx(es,{children:w.map(a=>{const g=[];return a.isBuiltin||(a.allowsAllStaticPermissions?g.push("Full org access"):a.staticPermissionCount&&a.staticPermissionCount>0&&g.push(`${a.staticPermissionCount} org perm${a.staticPermissionCount!==1?"s":""}`),a.allowsAllConnections?g.push("All connections"):a.connectionCount&&a.connectionCount>0&&g.push(`${a.connectionCount} connection${a.connectionCount!==1?"s":""}`),(a.connectionCount!==0||a.allowsAllConnections)&&(a.allowsAllTools?g.push("all tools"):a.toolCount&&a.toolCount>0&&g.push(`${a.toolCount} tool${a.toolCount!==1?"s":""}`))),t.jsx(ss,{value:a.role,children:t.jsxs("div",{className:"flex flex-col",children:[t.jsx("span",{children:a.label}),!a.isBuiltin&&g.length>0&&t.jsx("span",{className:"text-xs text-muted-foreground",children:g.join(", ")})]})},a.role)})})]})}),t.jsx(ys,{})]})}),t.jsxs(ps,{children:[t.jsx(Y,{variant:"outline",onClick:()=>{i.reset({emails:[],role:"user"}),n(!1)},type:"button",disabled:x.isPending,children:"Cancel"}),t.jsx(Y,{type:"submit",disabled:x.isPending||!R,children:x.isPending?"Inviting...":`Invite ${b.length||0} Member${b.length!==1?"s":""}`})]})]})})]})]})}const Ue=["bg-neutral-400","bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500","bg-slate-500"],Zs={owner:"bg-red-500",admin:"bg-blue-500",user:"bg-green-500"};function rs(s){return s?s.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}function qs(s){const e=new Map;for(const[n,c]of Object.entries(Zs))e.set(n,c);for(let n=0;n<s.length;n++){const c=s[n];c&&!e.has(c.role)&&e.set(c.role,Ue[n%Ue.length]??"bg-neutral-400")}return e}function Ws(s){return new Date(s).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function Ge(s){const e=ae.c(50),{role:n,memberId:c,isOwner:u,roleColorMap:h,selectableRoles:p,onRoleChange:f,size:j,className:w}=s,i=j===void 0?"xs":j;let O,l,b,x,y,R,m,a,g,A;if(e[0]!==w||e[1]!==u||e[2]!==c||e[3]!==f||e[4]!==n||e[5]!==h||e[6]!==i){const I=h.get(n)??"bg-neutral-400";b=He,a=n,e[17]!==c||e[18]!==f?(g=L=>f(c,L),e[17]=c,e[18]=f,e[19]=g):g=e[19],A=u,l=Je,R=i,m=w,O=Xe,y="flex items-center gap-2 min-w-0",x=J("size-2 rounded-full shrink-0",I),e[0]=w,e[1]=u,e[2]=c,e[3]=f,e[4]=n,e[5]=h,e[6]=i,e[7]=O,e[8]=l,e[9]=b,e[10]=x,e[11]=y,e[12]=R,e[13]=m,e[14]=a,e[15]=g,e[16]=A}else O=e[7],l=e[8],b=e[9],x=e[10],y=e[11],R=e[12],m=e[13],a=e[14],g=e[15],A=e[16];let v;e[20]!==x?(v=t.jsx("div",{className:x}),e[20]=x,e[21]=v):v=e[21];let S;e[22]!==n?(S=t.jsx("span",{className:"capitalize truncate",children:n}),e[22]=n,e[23]=S):S=e[23];let o;e[24]!==S||e[25]!==y||e[26]!==v?(o=t.jsxs("div",{className:y,children:[v,S]}),e[24]=S,e[25]=y,e[26]=v,e[27]=o):o=e[27];let d;e[28]!==O||e[29]!==o?(d=t.jsx(O,{children:o}),e[28]=O,e[29]=o,e[30]=d):d=e[30];let C;e[31]!==l||e[32]!==d||e[33]!==R||e[34]!==m?(C=t.jsx(l,{size:R,className:m,children:d}),e[31]=l,e[32]=d,e[33]=R,e[34]=m,e[35]=C):C=e[35];let E;if(e[36]!==h||e[37]!==p){let I;e[39]!==h?(I=L=>{const T=h.get(L.role)??"bg-neutral-400";return t.jsx(ss,{value:L.role,children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:J("size-3 rounded-full",T)}),t.jsx("span",{className:"capitalize",children:L.label})]})},L.role)},e[39]=h,e[40]=I):I=e[40],E=p.map(I),e[36]=h,e[37]=p,e[38]=E}else E=e[38];let M;e[41]!==E?(M=t.jsx(es,{children:E}),e[41]=E,e[42]=M):M=e[42];let N;return e[43]!==b||e[44]!==C||e[45]!==M||e[46]!==a||e[47]!==g||e[48]!==A?(N=t.jsxs(b,{value:a,onValueChange:g,disabled:A,children:[C,M]}),e[43]=b,e[44]=C,e[45]=M,e[46]=a,e[47]=g,e[48]=A,e[49]=N):N=e[49],N}function Ve(s){const e=ae.c(51),{member:n,roles:c,onChangeRole:u,onRemove:h,isUpdating:p}=s,f=p===void 0?!1:p,j=n.role==="owner";let w,i,O,l,b,x,y,R,m;if(e[0]!==j||e[1]!==f||e[2]!==n.id||e[3]!==n.role||e[4]!==u||e[5]!==c){let E;e[15]!==n.role?(E=T=>T.role!==n.role&&T.role!=="owner",e[15]=n.role,e[16]=E):E=e[16];const M=c.filter(E);l=Ze;let N;e[17]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx(q,{name:"more_vert",size:20}),e[17]=N):N=e[17],e[18]!==j?(m=t.jsx(qe,{asChild:!0,children:t.jsx(Y,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",disabled:j,onClick:Js,children:N})}),e[18]=j,e[19]=m):m=e[19],O=We,y="end",R=Hs,i=xs;let I;e[20]===Symbol.for("react.memo_cache_sentinel")?(I=t.jsx(q,{name:"swap_horiz",size:16}),e[20]=I):I=e[20],e[21]!==f?(x=t.jsxs(bs,{disabled:f,children:[I,"Change Role"]}),e[21]=f,e[22]=x):x=e[22],w=Cs;let L;e[23]!==f||e[24]!==n.id||e[25]!==u?(L=T=>{const U=[];return T.isBuiltin||(T.allowsAllStaticPermissions?U.push("Full org access"):T.staticPermissionCount&&T.staticPermissionCount>0&&U.push(`${T.staticPermissionCount} org perm${T.staticPermissionCount!==1?"s":""}`),T.allowsAllConnections?U.push("All connections"):T.connectionCount&&T.connectionCount>0&&U.push(`${T.connectionCount} connection${T.connectionCount!==1?"s":""}`),(T.connectionCount!==0||T.allowsAllConnections)&&(T.allowsAllTools?U.push("all tools"):T.toolCount&&T.toolCount>0&&U.push(`${T.toolCount} tool${T.toolCount!==1?"s":""}`))),t.jsxs(Oe,{onClick:K=>{K.stopPropagation(),u(n.id,T.role)},disabled:f,children:[t.jsx(q,{name:T.isBuiltin?"shield":"key",size:16}),t.jsxs("span",{className:"flex flex-col",children:[t.jsx("span",{children:T.label}),!T.isBuiltin&&U.length>0&&t.jsx("span",{className:"text-xs text-muted-foreground",children:U.join(", ")})]})]},T.role)},e[23]=f,e[24]=n.id,e[25]=u,e[26]=L):L=e[26],b=M.map(L),e[0]=j,e[1]=f,e[2]=n.id,e[3]=n.role,e[4]=u,e[5]=c,e[6]=w,e[7]=i,e[8]=O,e[9]=l,e[10]=b,e[11]=x,e[12]=y,e[13]=R,e[14]=m}else w=e[6],i=e[7],O=e[8],l=e[9],b=e[10],x=e[11],y=e[12],R=e[13],m=e[14];let a;e[27]!==w||e[28]!==b?(a=t.jsx(w,{children:b}),e[27]=w,e[28]=b,e[29]=a):a=e[29];let g;e[30]!==i||e[31]!==x||e[32]!==a?(g=t.jsxs(i,{children:[x,a]}),e[30]=i,e[31]=x,e[32]=a,e[33]=g):g=e[33];let A;e[34]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx(Ns,{}),e[34]=A):A=e[34];let v;e[35]!==n.id||e[36]!==h?(v=E=>{E.stopPropagation(),h(n.id)},e[35]=n.id,e[36]=h,e[37]=v):v=e[37];let S;e[38]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsx(q,{name:"delete",size:16}),e[38]=S):S=e[38];let o;e[39]!==v?(o=t.jsxs(Oe,{variant:"destructive",onClick:v,children:[S,"Remove Member"]}),e[39]=v,e[40]=o):o=e[40];let d;e[41]!==O||e[42]!==o||e[43]!==y||e[44]!==R||e[45]!==g?(d=t.jsxs(O,{align:y,onClick:R,children:[g,A,o]}),e[41]=O,e[42]=o,e[43]=y,e[44]=R,e[45]=g,e[46]=d):d=e[46];let C;return e[47]!==l||e[48]!==d||e[49]!==m?(C=t.jsxs(l,{children:[m,d]}),e[47]=l,e[48]=d,e[49]=m,e[50]=C):C=e[50],C}function Hs(s){return s.stopPropagation()}function Js(s){return s.stopPropagation()}function Xs(){const s=ae.c(72),{data:e}=_e(),n=Re(),{locator:c}=ye(),[u,h]=D.useState(null),[p,f]=D.useState(""),[j,w]=D.useState("table"),[i,O]=D.useState("member"),[l,b]=D.useState("asc"),x=e?.data?.members;let y;s[0]!==i?(y=k=>{i===k?b(it):(O(k),b("asc"))},s[0]=i,s[1]=y):y=s[1];const R=y;let m;if(s[2]!==x||s[3]!==p||s[4]!==l||s[5]!==i){if(m=x??[],p){const k=p.toLowerCase();m=m.filter($=>$.user?.name?.toLowerCase().includes(k)||$.user?.email?.toLowerCase().includes(k)||$.role?.toLowerCase().includes(k))}if(i&&l){let k;s[7]!==l||s[8]!==i?(k=($,Z)=>{let de,me;e:switch(i){case"member":{de=$.user?.name||"",me=Z.user?.name||"";break e}case"role":{de=$.role||"",me=Z.role||"";break e}case"joined":{de=$.createdAt?typeof $.createdAt=="string"?$.createdAt:$.createdAt.toISOString():"",me=Z.createdAt?typeof Z.createdAt=="string"?Z.createdAt:Z.createdAt.toISOString():"";break e}default:return 0}return l==="asc"?de.localeCompare(me):me.localeCompare(de)},s[7]=l,s[8]=i,s[9]=k):k=s[9],m=[...m].sort(k)}s[2]=x,s[3]=p,s[4]=l,s[5]=i,s[6]=m}else m=s[6];const a=m;let g;s[10]!==c||s[11]!==n?(g={mutationFn:lt,onSuccess:()=>{n.invalidateQueries({queryKey:oe.members(c)}),Q.success("Member has been removed from the organization"),h(null)},onError:ot},s[10]=c,s[11]=n,s[12]=g):g=s[12];const A=ue(g);let v;s[13]!==c||s[14]!==n?(v={mutationFn:rt,onSuccess:()=>{n.invalidateQueries({queryKey:oe.members(c)}),Q.success("Member's role has been updated")},onError:nt},s[13]=c,s[14]=n,s[15]=v):v=s[15];const S=ue(v),{roles:o,customRoles:d}=Le();let C;s[16]!==d?(C=qs(d),s[16]=d,s[17]=C):C=s[17];const E=C;let M;s[18]!==o?(M=o.filter(tt),s[18]=o,s[19]=M):M=s[19];const N=M;let I;s[20]===Symbol.for("react.memo_cache_sentinel")?(I={id:"member",header:"Member",render:st,cellClassName:"flex-1 min-w-0",sortable:!0},s[20]=I):I=s[20];let L;s[21]!==E||s[22]!==N||s[23]!==S?(L={id:"role",header:"Role",render:k=>t.jsx(Ge,{role:k.role,memberId:k.id,isOwner:k.role==="owner",roleColorMap:E,selectableRoles:N,onRoleChange:($,Z)=>S.mutate({memberId:$,role:Z}),className:"w-36"}),cellClassName:"w-36 shrink-0",sortable:!0},s[21]=E,s[22]=N,s[23]=S,s[24]=L):L=s[24];let T;s[25]===Symbol.for("react.memo_cache_sentinel")?(T={id:"joined",header:"Joined",render:et,cellClassName:"w-48 shrink-0",sortable:!0},s[25]=T):T=s[25];let U;s[26]!==o||s[27]!==S?(U={id:"actions",header:"",render:k=>t.jsx(Ve,{member:k,roles:o,onChangeRole:($,Z)=>S.mutate({memberId:$,role:Z}),onRemove:h,isUpdating:S.isPending}),cellClassName:"w-12 shrink-0"},s[26]=o,s[27]=S,s[28]=U):U=s[28];let K;s[29]!==L||s[30]!==U?(K=[I,L,T,U],s[29]=L,s[30]=U,s[31]=K):K=s[31];const se=K;let le;s[32]===Symbol.for("react.memo_cache_sentinel")?(le=t.jsx($s,{trigger:t.jsxs(Y,{variant:"outline",size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:[t.jsx(q,{name:"shield",size:16}),"Manage Roles"]})}),s[32]=le):le=s[32];let ee;s[33]===Symbol.for("react.memo_cache_sentinel")?(ee=t.jsxs("div",{className:"flex items-center gap-2",children:[le,t.jsx(Qs,{trigger:t.jsx(Y,{size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Invite Member"})})]}),s[33]=ee):ee=s[33];const ce=ee,te=!!u;let r;s[34]===Symbol.for("react.memo_cache_sentinel")?(r=()=>h(null),s[34]=r):r=s[34];let P;s[35]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsxs(xe,{children:[t.jsx(be,{children:"Remove Member"}),t.jsx(Ce,{children:"Are you sure you want to remove this member from the organization? This action cannot be undone."})]}),s[35]=P):P=s[35];let _;s[36]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx(je,{children:"Cancel"}),s[36]=_):_=s[36];let z;s[37]!==u||s[38]!==A?(z=()=>u&&A.mutate(u),s[37]=u,s[38]=A,s[39]=z):z=s[39];let V;s[40]!==A.isPending||s[41]!==z?(V=t.jsxs(pe,{children:[P,t.jsxs(Ne,{children:[_,t.jsx(ve,{onClick:z,disabled:A.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove"})]})]}),s[40]=A.isPending,s[41]=z,s[42]=V):V=s[42];let G;s[43]!==te||s[44]!==V?(G=t.jsx(he,{open:te,onOpenChange:r,children:V}),s[43]=te,s[44]=V,s[45]=G):G=s[45];let W;s[46]===Symbol.for("react.memo_cache_sentinel")?(W=[{id:"member",label:"Name"},{id:"role",label:"Role"},{id:"joined",label:"Joined"}],s[46]=W):W=s[46];let ne;s[47]!==R||s[48]!==l||s[49]!==i||s[50]!==j?(ne=t.jsx(as,{title:"Members",viewMode:j,onViewModeChange:w,sortKey:i,sortDirection:l,onSort:R,sortOptions:W,ctaButton:ce}),s[47]=R,s[48]=l,s[49]=i,s[50]=j,s[51]=ne):ne=s[51];let B;s[52]===Symbol.for("react.memo_cache_sentinel")?(B=k=>{k.key==="Escape"&&(f(""),k.target.blur())},s[52]=B):B=s[52];let F;s[53]!==p?(F=t.jsx(Ee,{value:p,onChange:f,placeholder:"Search members...",onKeyDown:B}),s[53]=p,s[54]=F):F=s[54];let H;s[55]!==se||s[56]!==a||s[57]!==R||s[58]!==E||s[59]!==o||s[60]!==p||s[61]!==N||s[62]!==l||s[63]!==i||s[64]!==S||s[65]!==j?(H=j==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:a.length===0?t.jsx(Ae,{title:"No members found",description:p?`No members match "${p}"`:"Invite members to get started."}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:a.map(k=>t.jsxs(ws,{className:"transition-colors relative",children:[t.jsx("div",{className:"absolute top-4 right-4 z-10",children:t.jsx(Ve,{member:k,roles:o,onChangeRole:($,Z)=>S.mutate({memberId:$,role:Z}),onRemove:h,isUpdating:S.isPending})}),t.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[t.jsx(we,{url:k.user?.image??void 0,fallback:rs(k.user?.name),shape:"circle",size:"lg",className:"shrink-0"}),t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:k.user?.name||"Unknown"}),t.jsx("p",{className:"text-sm text-muted-foreground truncate",children:k.user?.email}),t.jsx(Ge,{role:k.role,memberId:k.id,isOwner:k.role==="owner",roleColorMap:E,selectableRoles:N,onRoleChange:($,Z)=>S.mutate({memberId:$,role:Z}),className:"w-fit"})]})]})]},k.id))})}):t.jsx(cs,{columns:se,data:a,isLoading:!1,sortKey:i,sortDirection:l,onSort:R,emptyState:p?t.jsx(Ae,{title:"No members found",description:`No members match "${p}"`}):t.jsx(Ae,{title:"No members found",description:"Invite members to get started."})}),s[55]=se,s[56]=a,s[57]=R,s[58]=E,s[59]=o,s[60]=p,s[61]=N,s[62]=l,s[63]=i,s[64]=S,s[65]=j,s[66]=H):H=s[66];let re;return s[67]!==G||s[68]!==ne||s[69]!==F||s[70]!==H?(re=t.jsxs(Te,{children:[G,ne,F,H]}),s[67]=G,s[68]=ne,s[69]=F,s[70]=H,s[71]=re):re=s[71],re}function et(s){return t.jsx("span",{className:"text-sm text-foreground",children:s.createdAt?Ws(s.createdAt):"N/A"})}function st(s){return t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(we,{url:s.user?.image??void 0,fallback:rs(s.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:s.user?.name||"Unknown"}),t.jsx("div",{className:"text-sm text-muted-foreground truncate",children:s.user?.email})]})]})}function tt(s){return s.role!=="owner"}function nt(s){Q.error(s instanceof Error?s.message:"Failed to update role")}async function rt(s){const{memberId:e,role:n}=s,c=await X.organization.updateMemberRole({memberId:e,role:[n]});if(c?.error)throw new Error(c.error.message)}function ot(s){Q.error(s instanceof Error?s.message:"Failed to remove member")}async function lt(s){const e=await X.organization.removeMember({memberIdOrEmail:s});if(e?.error)throw new Error(e.error.message)}function it(s){return s==="asc"?"desc":s==="desc"?null:"asc"}function Dt(){const s=ae.c(2);let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Te,{children:t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Failed to load members"})})}),s[0]=e):e=s[0];let n;return s[1]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(vs,{fallback:e,children:t.jsx(D.Suspense,{fallback:t.jsx(Te,{children:t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx(q,{name:"progress_activity",size:32,className:"animate-spin text-muted-foreground"})})}),children:t.jsx(Xs,{})})}),s[1]=n):n=s[1],n}export{Dt as default};
1
+ import{a2 as oe,a as X,ap as Pe,au as Se,av as os,aw as ls,aq as ie,r as D,a1 as Re,as as $e,ar as is,a6 as Q,j as t,c as ae}from"./index-DRfRtuak.js";import{C as as}from"./collection-header-DZSYSGOn.js";import{C as Te}from"./collection-page-Cfda-vNl.js";import{C as Ee}from"./collection-search-DxeL6Ufp.js";import{C as cs}from"./collection-table-wrapper-D6eaPdiL.js";import{T as ds}from"./tool-set-selector-1Cg6gjRw.js";import{b as ms}from"./integration-icon-BOIQGbTx.js";import{u as _e}from"./use-members-BGTW4lDt.js";import{W as us}from"./well-known-mcp-Dq2j3ucM.js";import{u as ye}from"./tooltip-7pBEiiqV.js";import{u as Fe}from"./useQuery-Dt7bC647.js";import{A as we}from"./avatar-Bn65M9_M.js";import{B as ge}from"./badge-BTXir9uJ.js";import{u as ue,B as Y}from"./button-B2BIOawN.js";import{C as fs}from"./checkbox-CeN8Ys7n.js";import{f as he,a as pe,b as xe,c as be,d as Ce,e as Ne,A as je,g as ve}from"./alert-dialog-CfsdbV8c.js";import{d as Ke,e as Ye,c as Qe,D as gs,a as hs,f as ps}from"./dialog-BjdII1I-.js";import{b as Ze,D as qe,a as We,c as Oe,e as xs,f as bs,g as Cs,d as Ns}from"./dropdown-menu-BT_X0ZTy.js";import{I as q}from"./icon-B4prTi7A.js";import{I as js}from"./input-0KxSy7p5.js";import{S as Me}from"./switch-C5HcbsY1.js";import{c as J}from"./utils-DFmxvpl9.js";import{E as Ae}from"./empty-state-CAhQEGD4.js";import{E as vs}from"./error-boundary-CKkz6PFv.js";import{a as Es,F as De,b as ze,d as ke,f as ys}from"./form-DYn0g3Xk.js";import{c as He,a as Je,S as Xe,b as es,d as ss}from"./select-xvA0wpax.js";import{C as ws}from"./card-B24qMCfe.js";import"./collection-display-button-DEnVk52I.js";const ts=[{name:"ORGANIZATION_CREATE",description:"Create a new organization",category:"Organizations"},{name:"ORGANIZATION_LIST",description:"List organizations",category:"Organizations"},{name:"ORGANIZATION_GET",description:"View organization details",category:"Organizations"},{name:"ORGANIZATION_UPDATE",description:"Update organization",category:"Organizations"},{name:"ORGANIZATION_DELETE",description:"Delete organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_SETTINGS_GET",description:"View organization settings",category:"Organizations"},{name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization settings",category:"Organizations"},{name:"ORGANIZATION_MEMBER_ADD",description:"Add members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove members",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_LIST",description:"List members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update member roles",category:"Organizations"},{name:"COLLECTION_CONNECTIONS_CREATE",description:"Create connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_LIST",description:"List connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_GET",description:"View connection details",category:"Connections"},{name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete connections",category:"Connections",dangerous:!0},{name:"CONNECTION_TEST",description:"Test connections",category:"Connections"},{name:"DATABASES_RUN_SQL",description:"Run SQL queries",category:"Connections",dangerous:!0},{name:"COLLECTION_GATEWAY_CREATE",description:"Create gateways",category:"Gateways"},{name:"COLLECTION_GATEWAY_LIST",description:"List gateways",category:"Gateways"},{name:"COLLECTION_GATEWAY_GET",description:"View gateway details",category:"Gateways"},{name:"COLLECTION_GATEWAY_UPDATE",description:"Update gateways",category:"Gateways"},{name:"COLLECTION_GATEWAY_DELETE",description:"Delete gateways",category:"Gateways",dangerous:!0},{name:"MONITORING_LOGS_LIST",description:"List monitoring logs",category:"Monitoring"},{name:"MONITORING_STATS",description:"View monitoring statistics",category:"Monitoring"},{name:"API_KEY_CREATE",description:"Create API key",category:"API Keys"},{name:"API_KEY_LIST",description:"List API keys",category:"API Keys"},{name:"API_KEY_UPDATE",description:"Update API key",category:"API Keys"},{name:"API_KEY_DELETE",description:"Delete API key",category:"API Keys",dangerous:!0},{name:"EVENT_PUBLISH",description:"Publish events",category:"Event Bus"},{name:"EVENT_SUBSCRIBE",description:"Subscribe to events",category:"Event Bus"},{name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events",category:"Event Bus"},{name:"EVENT_CANCEL",description:"Cancel recurring events",category:"Event Bus"},{name:"EVENT_ACK",description:"Acknowledge event delivery",category:"Event Bus"},{name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions",category:"Event Bus"},{name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state",category:"Event Bus"}],Ss={ORGANIZATION_CREATE:"Create organization",ORGANIZATION_LIST:"List organizations",ORGANIZATION_GET:"View organization details",ORGANIZATION_UPDATE:"Update organization",ORGANIZATION_DELETE:"Delete organization",ORGANIZATION_SETTINGS_GET:"View organization settings",ORGANIZATION_SETTINGS_UPDATE:"Update organization settings",ORGANIZATION_MEMBER_LIST:"List members",ORGANIZATION_MEMBER_ADD:"Add members",ORGANIZATION_MEMBER_REMOVE:"Remove members",ORGANIZATION_MEMBER_UPDATE_ROLE:"Update member roles",COLLECTION_CONNECTIONS_LIST:"List connections",COLLECTION_CONNECTIONS_GET:"View connection details",COLLECTION_CONNECTIONS_CREATE:"Create connections",COLLECTION_CONNECTIONS_UPDATE:"Update connections",COLLECTION_CONNECTIONS_DELETE:"Delete connections",CONNECTION_TEST:"Test connections",DATABASES_RUN_SQL:"Run SQL queries",COLLECTION_GATEWAY_CREATE:"Create gateways",COLLECTION_GATEWAY_LIST:"List gateways",COLLECTION_GATEWAY_GET:"View gateway details",COLLECTION_GATEWAY_UPDATE:"Update gateways",COLLECTION_GATEWAY_DELETE:"Delete gateways",MONITORING_LOGS_LIST:"List monitoring logs",MONITORING_STATS:"View monitoring statistics",API_KEY_CREATE:"Create API key",API_KEY_LIST:"List API keys",API_KEY_UPDATE:"Update API key",API_KEY_DELETE:"Delete API key",EVENT_PUBLISH:"Publish events",EVENT_SUBSCRIBE:"Subscribe to events",EVENT_UNSUBSCRIBE:"Unsubscribe from events",EVENT_CANCEL:"Cancel recurring events",EVENT_ACK:"Acknowledge event delivery",EVENT_SUBSCRIPTION_LIST:"List event subscriptions",EVENT_SYNC_SUBSCRIPTIONS:"Sync subscriptions to desired state"};function As(){const s={Organizations:[],Connections:[],Gateways:[],Monitoring:[],"API Keys":[],"Event Bus":[]};for(const e of ts)s[e.category]?.push(e);return s}function Is(){return ts.map(s=>({value:s.name,label:Ss[s.name],dangerous:s.dangerous}))}const Be=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function Ts(s){return s.replace(/-/g," ")}function Os(s){if(!s)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1};const e=[];let n=!1;const c=[];let u=!1;const h=new Set;let p=!1;for(const[f,j]of Object.entries(s)){if(f===us.SELF){j.includes("*")?n=!0:e.push(...j);continue}if(f==="*"){if(u=!0,j.includes("*"))p=!0;else for(const w of j)h.add(w);continue}if(c.push(f),j.includes("*"))p=!0;else for(const w of j)h.add(w)}return{staticPermissions:e,allowsAllStaticPermissions:n,connectionIds:c,allowsAllConnections:u,toolNames:Array.from(h),allowsAllTools:p}}function Le(){const{locator:s}=ye(),{data:e,isLoading:n,error:c,refetch:u}=Fe({queryKey:oe.organizationRoles(s),queryFn:async()=>{try{const f=await X.organization.listRoles();return f?.error?(console.error("[useOrganizationRoles] API error:",f.error),[]):f?.data??[]}catch(f){return console.error("[useOrganizationRoles] Fetch error:",f),[]}},staleTime:3e4}),h=Be.map(f=>({role:f.value,label:f.label,isBuiltin:f.isBuiltin}));if(e&&Array.isArray(e))for(const f of e){const j=f.role;if(!j||Be.some(y=>y.value===j))continue;const{staticPermissions:w,allowsAllStaticPermissions:i,connectionIds:O,allowsAllConnections:l,toolNames:b,allowsAllTools:x}=Os(f.permission);h.push({id:f.id,role:j,label:Ts(j),isBuiltin:!1,permission:f.permission??void 0,staticPermissionCount:i?-1:w.length,allowsAllStaticPermissions:i,connectionCount:l?-1:O.length,allowsAllConnections:l,toolCount:x?-1:b.length,allowsAllTools:x})}const p=h.filter(f=>!f.isBuiltin);return{roles:h,customRoles:p,builtinRoles:h.filter(f=>f.isBuiltin),isLoading:n,error:c,refetch:u}}const Rs=Pe({role:Pe({id:ie().optional(),slug:ie().optional(),label:ie()}),allowAllStaticPermissions:ls(),staticPermissions:Se(ie()),toolSet:os(Se(ie())),memberIds:Se(ie())});function ns(s){return s?s.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}const _s=[{role:"owner",label:"Owner",color:"bg-red-500"},{role:"admin",label:"Admin",color:"bg-blue-500"},{role:"user",label:"User",color:"bg-green-500"}],Ie=["bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500"];function Ls(s){if(!s)return"bg-neutral-400";let e=0;for(let c=0;c<s.length;c++){const u=s.charCodeAt(c);e=(e<<5)-e+u,e=e&e}const n=Math.abs(e)%Ie.length;return Ie[n]??Ie[0]}function fe(){return{role:{id:void 0,slug:void 0,label:""},allowAllStaticPermissions:!1,staticPermissions:[],toolSet:{},memberIds:[]}}function Ps(s){const e=ae.c(35),{allowAllStaticPermissions:n,staticPermissions:c,onAllowAllChange:u,onPermissionsChange:h}=s,[p,f]=D.useState(""),j=D.useDeferredValue(p);let w,i,O,l,b;if(e[0]!==n||e[1]!==j||e[2]!==u||e[3]!==h||e[4]!==p||e[5]!==c){const R=As(),m=Is(),a=m.filter(d=>d.label.toLowerCase().includes(j.toLowerCase())),g=d=>{if(c.includes(d))h(c.filter(C=>C!==d));else{const C=[...c,d];C.length===m.length?(u(!0),h([])):h(C)}};O="flex flex-col h-full",e[11]!==p?(l=t.jsx("div",{className:"border-b border-border",children:t.jsx(Ee,{value:p,onChange:f,placeholder:"Search permissions...",className:"border-b-0"})}),e[11]=p,e[12]=l):l=e[12];let A;e[13]!==n||e[14]!==u||e[15]!==h?(A=()=>{u(!n),h([])},e[13]=n,e[14]=u,e[15]=h,e[16]=A):A=e[16];let v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx("span",{className:"text-sm font-medium",children:"All organization permissions"}),e[17]=v):v=e[17];let S;e[18]!==u||e[19]!==h?(S=d=>{u(d),h([])},e[18]=u,e[19]=h,e[20]=S):S=e[20];let o;e[21]!==n||e[22]!==S?(o=t.jsx("div",{onClick:ks,children:t.jsx(Me,{checked:n,onCheckedChange:S})}),e[21]=n,e[22]=S,e[23]=o):o=e[23],e[24]!==A||e[25]!==o?(b=t.jsx("div",{className:"border-b border-border",children:t.jsxs("div",{className:"flex items-center justify-between px-4 py-3 rounded-lg hover:bg-muted/50 cursor-pointer",onClick:A,children:[v,o]})}),e[24]=A,e[25]=o,e[26]=b):b=e[26],w="flex-1 overflow-auto",i=Object.entries(R).map(d=>{const[C,E]=d,M=a.filter(N=>E.some(I=>I.name===N.value));return M.length===0?null:t.jsxs("div",{className:"mb-6 last:mb-0",children:[t.jsx("h4",{className:"text-sm font-medium p-3 pb-1.5 text-muted-foreground/75",children:C}),t.jsx("div",{className:"space-y-1",children:M.map(N=>t.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3 hover:bg-muted/50 cursor-pointer",onClick:()=>{if(n){u(!1);const I=m.map(zs);h(I.filter(L=>L!==N.value))}else g(N.value)},children:[t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx("span",{className:"text-sm",children:N.label})}),t.jsx("div",{onClick:Ds,children:t.jsx(Me,{checked:n||c.includes(N.value),onCheckedChange:()=>{if(n){u(!1);const I=m.map(Ms);h(I.filter(L=>L!==N.value))}else g(N.value)}})})]},N.value))})]},C)}),e[0]=n,e[1]=j,e[2]=u,e[3]=h,e[4]=p,e[5]=c,e[6]=w,e[7]=i,e[8]=O,e[9]=l,e[10]=b}else w=e[6],i=e[7],O=e[8],l=e[9],b=e[10];let x;e[27]!==w||e[28]!==i?(x=t.jsx("div",{className:w,children:i}),e[27]=w,e[28]=i,e[29]=x):x=e[29];let y;return e[30]!==O||e[31]!==l||e[32]!==b||e[33]!==x?(y=t.jsxs("div",{className:O,children:[l,b,x]}),e[30]=O,e[31]=l,e[32]=b,e[33]=x,e[34]=y):y=e[34],y}function Ms(s){return s.value}function Ds(s){return s.stopPropagation()}function zs(s){return s.value}function ks(s){return s.stopPropagation()}function Bs(s){const e=ae.c(56),{open:n,onOpenChange:c,selectedMemberIds:u,onAddMembers:h}=s,[p,f]=D.useState(""),j=D.useDeferredValue(p);let w;e[0]===Symbol.for("react.memo_cache_sentinel")?(w=[],e[0]=w):w=e[0];const[i,O]=D.useState(w),{data:l}=_e();let b,x,y,R,m,a,g,A,v,S,o;if(e[1]!==l?.data?.members||e[2]!==j||e[3]!==h||e[4]!==c||e[5]!==n||e[6]!==i||e[7]!==p||e[8]!==u){const U=l?.data?.members??[];let K;e[20]!==j?(K=_=>{const z=j.toLowerCase();return _.user?.name?.toLowerCase().includes(z)||_.user?.email?.toLowerCase().includes(z)},e[20]=j,e[21]=K):K=e[21];const se=U.filter(K),le=Us;let ee;e[22]!==u?(ee=_=>u.includes(_),e[22]=u,e[23]=ee):ee=e[23];const ce=ee;let te;e[24]!==i?(te=_=>{i.includes(_)?O(i.filter(z=>z!==_)):O([...i,_])},e[24]=i,e[25]=te):te=e[25];const r=te;let P;e[26]!==h||e[27]!==c||e[28]!==i?(P=()=>{h(i),O([]),c(!1)},e[26]=h,e[27]=c,e[28]=i,e[29]=P):P=e[29],y=P,x=he,S=n,o=c,b=pe,A="sm:max-w-md p-0 overflow-hidden",e[30]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsxs(xe,{className:"px-6 pt-6",children:[t.jsx(be,{children:"Add Members to Role"}),t.jsx(Ce,{children:"Select members to add to this role."})]}),e[30]=v):v=e[30],a="flex flex-col h-80",e[31]!==p?(g=t.jsx(Ee,{value:p,onChange:f,placeholder:"Search members...",className:"border-b border-t-0 border-x-0 rounded-none"}),e[31]=p,e[32]=g):g=e[32],R="flex-1 overflow-auto",m=se.length===0?t.jsx("div",{className:"flex items-center justify-center h-full px-6",children:t.jsx("p",{className:"text-sm text-muted-foreground",children:p?"No members found":"No members available"})}):t.jsx("div",{className:"px-6 py-2 space-y-1",children:se.map(_=>{const z=le(_),V=ce(_.id),G=i.includes(_.id);return t.jsxs("label",{className:J("flex items-center gap-3 p-2 rounded-lg",!z||V?"opacity-50 cursor-not-allowed":"cursor-pointer hover:bg-muted/50"),children:[t.jsx(fs,{checked:G||V,onCheckedChange:()=>{z&&!V&&r(_.id)},disabled:!z||V}),t.jsx(we,{url:_.user?.image??void 0,fallback:ns(_.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:_.user?.name||"Unknown"}),t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:_.user?.email})]}),!z&&t.jsx(ge,{variant:"secondary",className:"shrink-0",children:"Owner"}),V&&z&&t.jsx(ge,{variant:"outline",className:"shrink-0",children:"Added"})]},_.id)})}),e[1]=l?.data?.members,e[2]=j,e[3]=h,e[4]=c,e[5]=n,e[6]=i,e[7]=p,e[8]=u,e[9]=b,e[10]=x,e[11]=y,e[12]=R,e[13]=m,e[14]=a,e[15]=g,e[16]=A,e[17]=v,e[18]=S,e[19]=o}else b=e[9],x=e[10],y=e[11],R=e[12],m=e[13],a=e[14],g=e[15],A=e[16],v=e[17],S=e[18],o=e[19];let d;e[33]!==R||e[34]!==m?(d=t.jsx("div",{className:R,children:m}),e[33]=R,e[34]=m,e[35]=d):d=e[35];let C;e[36]!==d||e[37]!==a||e[38]!==g?(C=t.jsxs("div",{className:a,children:[g,d]}),e[36]=d,e[37]=a,e[38]=g,e[39]=C):C=e[39];let E;e[40]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(je,{children:"Cancel"}),e[40]=E):E=e[40];const M=i.length===0,N=i.length>0&&`(${i.length})`;let I;e[41]!==y||e[42]!==M||e[43]!==N?(I=t.jsxs(Ne,{className:"px-6 pb-6",children:[E,t.jsxs(ve,{onClick:y,disabled:M,children:["Add ",N]})]}),e[41]=y,e[42]=M,e[43]=N,e[44]=I):I=e[44];let L;e[45]!==b||e[46]!==C||e[47]!==I||e[48]!==A||e[49]!==v?(L=t.jsxs(b,{className:A,children:[v,C,I]}),e[45]=b,e[46]=C,e[47]=I,e[48]=A,e[49]=v,e[50]=L):L=e[50];let T;return e[51]!==x||e[52]!==L||e[53]!==S||e[54]!==o?(T=t.jsx(x,{open:S,onOpenChange:o,children:L}),e[51]=x,e[52]=L,e[53]=S,e[54]=o,e[55]=T):T=e[55],T}function Us(s){return s.role!=="owner"}function Gs(s){const e=ae.c(37),{memberIds:n,onMemberIdsChange:c}=s,[u,h]=D.useState(""),p=D.useDeferredValue(u),[f,j]=D.useState(!1),{data:w}=_e();let i,O,l,b,x;if(e[0]!==w?.data?.members||e[1]!==p||e[2]!==n||e[3]!==c||e[4]!==u){const a=w?.data?.members??[];let g;e[10]!==n?(g=N=>n.includes(N.id),e[10]=n,e[11]=g):g=e[11];const A=a.filter(g);let v;e[12]!==p?(v=N=>{const I=p.toLowerCase();return N.user?.name?.toLowerCase().includes(I)||N.user?.email?.toLowerCase().includes(I)},e[12]=p,e[13]=v):v=e[13];const S=A.filter(v);let o;e[14]!==n||e[15]!==c?(o=N=>{c(n.filter(I=>I!==N))},e[14]=n,e[15]=c,e[16]=o):o=e[16];const d=o;let C;e[17]!==n||e[18]!==c?(C=N=>{c([...n,...N])},e[17]=n,e[18]=c,e[19]=C):C=e[19],i=C,b="flex flex-col h-full";let E;e[20]!==u?(E=t.jsx(Ee,{value:u,onChange:h,placeholder:"Search members...",className:"flex-1 border-b-0"}),e[20]=u,e[21]=E):E=e[21];let M;e[22]===Symbol.for("react.memo_cache_sentinel")?(M=t.jsx("div",{className:"pr-4",children:t.jsxs(Y,{variant:"outline",size:"sm",onClick:()=>j(!0),children:[t.jsx(q,{name:"add",size:16}),"Add Member"]})}),e[22]=M):M=e[22],e[23]!==E?(x=t.jsxs("div",{className:"flex items-center border-b border-border",children:[E,M]}),e[23]=E,e[24]=x):x=e[24],O="flex-1 overflow-auto",l=A.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsxs("div",{className:"text-center",children:[t.jsx("h3",{className:"text-lg font-medium mb-2",children:"No members"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Add members to this role to grant them the configured permissions."})]})}):S.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsxs("p",{className:"text-sm text-muted-foreground",children:['No members match "',u,'"']})}):t.jsx("div",{className:"p-4 space-y-2",children:S.map(N=>t.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg bg-muted/30",children:[t.jsx(we,{url:N.user?.image??void 0,fallback:ns(N.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:N.user?.name||"Unknown"}),t.jsx("p",{className:"text-xs text-muted-foreground truncate",children:N.user?.email})]}),t.jsx(Y,{variant:"ghost",size:"sm",onClick:()=>d(N.id),children:t.jsx(q,{name:"close",size:16})})]},N.id))}),e[0]=w?.data?.members,e[1]=p,e[2]=n,e[3]=c,e[4]=u,e[5]=i,e[6]=O,e[7]=l,e[8]=b,e[9]=x}else i=e[5],O=e[6],l=e[7],b=e[8],x=e[9];let y;e[25]!==O||e[26]!==l?(y=t.jsx("div",{className:O,children:l}),e[25]=O,e[26]=l,e[27]=y):y=e[27];let R;e[28]!==f||e[29]!==i||e[30]!==n?(R=t.jsx(Bs,{open:f,onOpenChange:j,selectedMemberIds:n,onAddMembers:i}),e[28]=f,e[29]=i,e[30]=n,e[31]=R):R=e[31];let m;return e[32]!==b||e[33]!==x||e[34]!==y||e[35]!==R?(m=t.jsxs("div",{className:b,children:[x,y,R]}),e[32]=b,e[33]=x,e[34]=y,e[35]=R,e[36]=m):m=e[36],m}function Vs(s){const e=ae.c(3);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx(q,{name:"progress_activity",size:24,className:"animate-spin text-muted-foreground"})}),e[0]=n):n=e[0];let c;return e[1]!==s?(c=t.jsx(D.Suspense,{fallback:n,children:t.jsx(Gs,{...s})}),e[1]=s,e[2]=c):c=e[2],c}function $s({trigger:s,onSuccess:e}){const[n,c]=D.useState(!1),[u,h]=D.useState("mcp"),{locator:p}=ye(),f=Re(),j=ms()??[],{customRoles:w,refetch:i}=Le(),{data:O}=Fe({queryKey:oe.members(p),queryFn:()=>X.organization.listMembers()}),l=$e({resolver:is(Rs),defaultValues:fe()}),b=l.formState.isValid,x=l.formState.isDirty,y=!l.watch("role.id"),[R,m]=D.useState(null),[a,g]=D.useState(null),[A,v]=D.useState(!1),[S,o]=D.useState(null),d=r=>{const P=r.permission||{},_=P.self||[],z=_.includes("*"),V=z?[]:_.filter(B=>B!=="*"),G={};for(const[B,F]of Object.entries(P))if(B!=="self")if(B==="*")for(const H of j)F.includes("*")?G[H.id]=H.tools?.map(re=>re.name)??[]:G[H.id]=F;else{const H=j.find(re=>re.id===B);H&&(F.includes("*")?G[B]=H.tools?.map(re=>re.name)??[]:G[B]=F)}const ne=(O?.data?.members??[]).filter(B=>B.role===r.role).map(B=>B.id);return{role:{id:r.id,slug:r.role,label:r.label},allowAllStaticPermissions:z,staticPermissions:V,toolSet:G,memberIds:ne}},C=r=>{const P=d(r);l.reset(P),m(r.id??null)},E=()=>{l.reset(fe()),m(null)},M=r=>{x&&b?(o(()=>()=>C(r)),v(!0)):C(r)},N=async()=>{x&&b&&await le(),E()},I=r=>{if(!r&&l.formState.isDirty&&b){o(()=>()=>{c(!1),l.reset(fe())}),v(!0);return}if(c(r),!r)l.reset(fe());else{const P=w[0];P?C(P):E()}},L=()=>{v(!1),S&&(S(),o(null))},T=r=>{const P={};r.allowAllStaticPermissions?P.self=["*"]:r.staticPermissions.length>0&&(P.self=r.staticPermissions);for(const[_,z]of Object.entries(r.toolSet))if(z.length>0){const G=j.find(W=>W.id===_)?.tools?.map(W=>W.name)??[];G.length>0&&G.every(W=>z.includes(W))?P[_]=["*"]:P[_]=z}return P},U=ue({mutationFn:async r=>{const P=T(r),_=r.role.label.toLowerCase().replace(/\s+/g,"-");if(r.role.id){const z=await X.organization.updateRole({roleId:r.role.id,data:{permission:P}});if(z?.error)throw new Error(z.error.message);const G=(O?.data?.members??[]).filter(B=>B.role===r.role.slug).map(B=>B.id),W=r.memberIds.filter(B=>!G.includes(B)),ne=G.filter(B=>!r.memberIds.includes(B));for(const B of W){const F=await X.organization.updateMemberRole({memberId:B,role:[r.role.slug]});if(F?.error)throw new Error(F.error.message)}for(const B of ne){const F=await X.organization.updateMemberRole({memberId:B,role:["user"]});if(F?.error)throw new Error(F.error.message)}return r}else{const z=await X.organization.createRole({role:_,permission:P});if(z?.error)throw new Error(z.error.message);for(const V of r.memberIds){const G=await X.organization.updateMemberRole({memberId:V,role:[_]});if(G?.error)throw new Error(G.error.message)}return{...r,role:{...r.role,id:z.data?.roleData?.id,slug:_}}}},onSuccess:(r,P)=>{f.invalidateQueries({queryKey:oe.members(p)}),f.invalidateQueries({queryKey:oe.organizationRoles(p)});const _=!P.role.id;Q.success(_?"Role created successfully!":"Role updated successfully!"),i(),l.reset(r),r.role.id&&m(r.role.id),e?.()},onError:r=>{Q.error(r instanceof Error?r.message:"Failed to save role")}}),K=ue({mutationFn:async r=>{const P=await X.organization.deleteRole({roleId:r});if(P?.error)throw new Error(P.error.message);return P?.data},onSuccess:()=>{if(f.invalidateQueries({queryKey:oe.members(p)}),f.invalidateQueries({queryKey:oe.organizationRoles(p)}),Q.success("Role deleted successfully!"),i(),a?.id===R){const r=w.filter(P=>P.id!==a?.id);r[0]?C(r[0]):E()}},onError:r=>{Q.error(r instanceof Error?r.message:"Failed to delete role")}}),se=U.isPending||K.isPending,le=async()=>{const r=l.getValues();if(!r.role.label.trim()){Q.error("Role name is required"),l.setFocus("role.label");return}await U.mutateAsync(r)},ee=l.handleSubmit(r=>{if(!r.role.label.trim()){Q.error("Role name is required"),l.setFocus("role.label");return}U.mutate(r)}),ce=r=>{r.id&&g({id:r.id,label:r.label})},te=()=>{a?.id&&K.mutate(a.id),g(null)};return t.jsxs(Ke,{open:n,onOpenChange:I,children:[t.jsx(Ye,{asChild:!0,children:s}),t.jsx(Qe,{className:"sm:max-w-5xl h-[80vh] max-h-[80vh] flex flex-col p-0 overflow-hidden w-[95vw]",children:t.jsxs("div",{className:"flex-1 flex overflow-hidden min-h-0 flex-col sm:flex-row",children:[t.jsxs("div",{className:"w-full sm:w-64 sm:border-r border-b sm:border-b-0 border-border flex flex-col bg-background sm:h-full max-h-[40vh] sm:max-h-full",children:[t.jsx("div",{className:"flex-1 overflow-auto px-3.5 py-3.5 pt-3.5",children:t.jsxs("div",{className:"flex flex-col gap-1",children:[_s.map(r=>t.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden opacity-50 cursor-not-allowed",children:[t.jsx("div",{className:J("shrink-0 size-3 rounded-full",r.color)}),t.jsx("p",{className:"text-sm font-medium truncate flex-1",children:r.label}),t.jsx(q,{name:"lock",size:14,className:"text-muted-foreground shrink-0"})]},r.role)),w.map(r=>{const P=R===r.id;return t.jsxs("div",{className:J("group flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden transition-colors cursor-pointer",P?"bg-accent":"hover:bg-muted/50"),onClick:()=>M(r),children:[t.jsx("div",{className:J("shrink-0 size-3 rounded-full",Ls(r.label))}),t.jsx("p",{className:"text-sm font-medium truncate flex-1",children:r.label}),w.length+(y?1:0)>1&&t.jsxs(Ze,{children:[t.jsx(qe,{asChild:!0,children:t.jsx(Y,{variant:"ghost",size:"icon",className:J("size-5 shrink-0 transition-opacity opacity-0 pointer-events-none","group-hover:opacity-100 group-hover:pointer-events-auto",P&&"opacity-100 pointer-events-auto"),onClick:_=>_.stopPropagation(),children:t.jsx(q,{name:"more_horiz",size:14})})}),t.jsx(We,{align:"end",children:t.jsxs(Oe,{className:"text-destructive",onClick:_=>{_.stopPropagation(),ce(r)},children:[t.jsx(q,{name:"delete",size:16}),"Delete"]})})]})]},r.id)}),y&&t.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-lg overflow-hidden bg-accent",children:[t.jsx("div",{className:"shrink-0 size-3 rounded-full bg-neutral-400"}),t.jsx(js,{...l.register("role.label"),placeholder:"Enter role name",className:"flex-1 text-sm font-medium border-0 shadow-none h-auto px-0 py-0 focus-visible:ring-0 bg-transparent",autoFocus:!0}),t.jsx(ge,{variant:"secondary",className:"shrink-0 text-xs px-1.5 py-0",children:"New"})]})]})}),t.jsx("div",{className:"px-3.5 pb-3.5",children:t.jsxs(Y,{variant:"outline",size:"default",onClick:N,disabled:se||x,className:"w-full h-10",children:[t.jsx(q,{name:"add",size:16}),"Create new role"]})})]}),t.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[t.jsxs("div",{className:"h-12 border-b border-border px-4 py-3.5 flex items-center gap-2 shrink-0",children:[t.jsx(Y,{variant:"outline",size:"sm",onClick:()=>h("mcp"),className:J("h-8 rounded-lg px-2 py-1",u==="mcp"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"MCP Permissions"}),t.jsx(Y,{variant:"outline",size:"sm",onClick:()=>h("org"),className:J("h-8 rounded-lg px-2 py-1",u==="org"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"Organization Permissions"}),t.jsx(Y,{variant:"outline",size:"sm",onClick:()=>h("members"),className:J("h-8 rounded-lg px-2 py-1",u==="members"?"bg-muted border-input text-foreground":"border-input text-muted-foreground bg-transparent"),children:"Members"})]}),t.jsxs("div",{className:"flex-1 overflow-hidden min-h-0",children:[u==="mcp"&&t.jsx(ds,{toolSet:l.watch("toolSet"),onToolSetChange:r=>l.setValue("toolSet",r,{shouldDirty:!0})}),u==="org"&&t.jsx(Ps,{allowAllStaticPermissions:l.watch("allowAllStaticPermissions"),staticPermissions:l.watch("staticPermissions"),onAllowAllChange:r=>l.setValue("allowAllStaticPermissions",r,{shouldDirty:!0}),onPermissionsChange:r=>l.setValue("staticPermissions",r,{shouldDirty:!0})}),u==="members"&&t.jsx(Vs,{memberIds:l.watch("memberIds"),onMemberIdsChange:r=>l.setValue("memberIds",r,{shouldDirty:!0})})]}),t.jsxs("div",{className:"border-t border-border px-5 py-5 flex items-center justify-end gap-2.5 shrink-0",children:[t.jsx(Y,{variant:"outline",onClick:()=>I(!1),disabled:se,className:"h-10",children:"Cancel"}),t.jsx(Y,{onClick:ee,disabled:se||!b||!l.formState.isDirty,className:"h-10",children:U.isPending?"Saving...":y?"Create Role":"Save Changes"})]})]})]})}),t.jsx(he,{open:a!==null,onOpenChange:r=>!r&&g(null),children:t.jsxs(pe,{children:[t.jsxs(xe,{children:[t.jsx(be,{children:"Delete Role"}),t.jsxs(Ce,{children:['Are you sure you want to delete the "',a?.label,'" role? This action cannot be undone.']})]}),t.jsxs(Ne,{children:[t.jsx(je,{children:"Cancel"}),t.jsx(ve,{onClick:te,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),t.jsx(he,{open:A,onOpenChange:v,children:t.jsxs(pe,{children:[t.jsxs(xe,{children:[t.jsx(be,{children:"Discard Changes"}),t.jsx(Ce,{children:"You have unsaved changes. Are you sure you want to discard them?"})]}),t.jsxs(Ne,{children:[t.jsx(je,{onClick:()=>o(null),children:"Keep Editing"}),t.jsx(ve,{onClick:L,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Discard"})]})]})})]})}const Fs=ie().email("Invalid email address");function Ks({emails:s,onEmailsChange:e,disabled:n,placeholder:c="Emails, comma separated",validation:u,onToast:h,badgeClassName:p}){const[f,j]=D.useState(""),[w,i]=D.useState(new Map),O=D.useRef(null),l=D.useCallback(o=>{const d=o.trim().toLowerCase();return u?.validate?u.validate(d):u?.currentUserEmail&&d===u.currentUserEmail.toLowerCase()?"self":Fs.safeParse(d).success?"valid":"invalid"},[u]),b=D.useCallback(o=>{const d=o.trim().toLowerCase();if(!d||s.includes(d))return!1;const C=l(d),E=[...s,d];return e(E),i(M=>{const N=new Map(M);return N.set(d,C),N}),!0},[s,e,l]),x=D.useCallback(o=>{const d=s.filter(C=>C!==o);e(d),i(C=>{const E=new Map(C);return E.delete(o),E})},[s,e]),y=D.useCallback(o=>{const d=o.split(/[,;\n\r\t|]/).map(I=>I.trim()).filter(I=>I.length>0);let C=0,E=0;const M=[],N=new Map;if(d.forEach(I=>{E++;const L=I.trim().toLowerCase();if(s.includes(L)||M.includes(L))return;const T=l(L);M.push(L),N.set(L,T),C++}),M.length>0){const I=[...s,...M];e(I),i(L=>{const T=new Map(L);return N.forEach((U,K)=>{T.set(K,U)}),T})}return E>0&&(j(""),C>0&&h?h(`Added ${C} email${C>1?"s":""}`,"success"):E>C&&h&&h(`${E-C} email${E-C>1?"s were":" was"} already added or invalid`,"info")),C},[s,e,l,h]),R=o=>{const d=o.target.value;/[,;\n\r\t|]/.test(d)?y(d):j(d)},m=o=>{if(o.key==="Enter"&&!o.shiftKey)o.preventDefault(),f.trim()&&b(f)&&j("");else if(o.key==="Backspace"&&!f&&s.length>0){const d=s[s.length-1];d&&x(d)}},a=o=>{const d=o.clipboardData.getData("text");d.trim()&&(o.preventDefault(),/[,;\n\r\t|]/.test(d)?y(d):b(d.trim())||j(d.trim()))},g=D.useCallback(()=>{const o=O.current;o&&(o.style.height="auto",o.style.height=Math.max(96,Math.min(200,o.scrollHeight))+"px")},[]);D.useEffect(()=>{g()},[f,g]);const A=D.useMemo(()=>s.filter(o=>w.get(o)==="invalid"),[s,w]),v=D.useMemo(()=>s.filter(o=>w.get(o)==="self"),[s,w]),S=o=>{switch(w.get(o)){case"invalid":case"self":return"destructive";default:return"secondary"}};return t.jsxs("div",{className:"space-y-2",children:[t.jsx("div",{className:J("min-h-[96px] w-full rounded-xl border border-input bg-background px-3 py-2 text-sm transition-[color,box-shadow]","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",n&&"opacity-50 cursor-not-allowed"),onClick:()=>O.current?.focus(),children:t.jsxs("div",{className:"flex flex-wrap gap-1 items-start",children:[s.map(o=>t.jsxs(ge,{variant:S(o),className:J("flex items-center gap-1 max-w-xs",p||"px-1 py-0.5"),children:[t.jsx("span",{className:"truncate",children:o}),t.jsx(Y,{type:"button",variant:"ghost",size:"icon",className:J("h-4 w-4 rounded-full transition-colors",S(o)==="destructive"?"text-destructive hover:text-foreground":"text-muted-foreground hover:text-foreground"),onClick:d=>{d.stopPropagation(),x(o)},disabled:n,children:t.jsx(q,{name:"close",size:12})})]},o)),t.jsx("textarea",{ref:O,value:f,onChange:R,onKeyDown:m,onPaste:a,className:"flex-1 min-w-[120px] bg-transparent border-none outline-none resize-none placeholder:text-muted-foreground overflow-hidden",placeholder:s.length===0?c:"Add more emails...",disabled:n,rows:4,style:{minHeight:"96px",maxHeight:"200px"}})]})}),v.length>0&&t.jsxs("div",{className:"text-sm text-destructive",children:["You're not able to send an invite to yourself: ",v.join(", ")]}),A.length>0&&t.jsxs("div",{className:"text-sm text-destructive",children:["Invalid email format: ",A.join(", ")]})]})}const Ys=ie().email("Invalid email address");function Qs({trigger:s}){const[e,n]=D.useState(!1),{locator:c}=ye(),u=Re(),{data:h}=X.useSession(),p=h?.user?.email,{roles:f,isLoading:j}=Le(),w=f.filter(m=>m.role!=="owner"),i=$e({mode:"onChange",defaultValues:{emails:[],role:"user"}}),O=i.watch("emails"),l=i.watch("role"),b=O.filter(m=>{const a=m.trim().toLowerCase(),g=Ys.safeParse(a).success,A=!p||a!==p.toLowerCase();return g&&A}),x=ue({mutationFn:async m=>{if(!m.role)throw new Error("Please select a role");const a=await Promise.allSettled(b.map(async A=>{const v=await X.organization.inviteMember({email:A,role:m.role});if(v.error)throw new Error(v.error.message);return v.data})),g=a.filter(A=>A.status==="rejected");if(g.length>0)throw new Error(`Failed to invite ${g.length} member${g.length>1?"s":""}`);return a},onSuccess:()=>{u.invalidateQueries({queryKey:oe.members(c)}),Q.success(b.length===1?"Member invited successfully!":`${b.length} members invited successfully!`),i.reset({emails:[],role:"user"}),n(!1)},onError:m=>{Q.error(m instanceof Error?m.message:"Failed to invite members")}}),y=m=>{if(b.length===0){Q.error("Please add at least one valid email address");return}if(!m.role){Q.error("Please select a role");return}x.mutate(m)},R=b.length>0&&!!l;return t.jsxs(Ke,{open:e,onOpenChange:n,children:[t.jsx(Ye,{asChild:!0,children:s}),t.jsxs(Qe,{className:"sm:max-w-lg",children:[t.jsx(gs,{children:t.jsx(hs,{children:"Invite members"})}),t.jsx(Es,{...i,children:t.jsxs("form",{onSubmit:i.handleSubmit(y),className:"space-y-4",children:[t.jsx(De,{control:i.control,name:"emails",render:({field:m})=>t.jsx(ze,{children:t.jsx(ke,{children:t.jsx(Ks,{emails:m.value??[],onEmailsChange:m.onChange,disabled:x.isPending,placeholder:"Emails, comma separated",validation:{currentUserEmail:p},onToast:(a,g)=>Q[g](a)})})})}),t.jsx(De,{control:i.control,name:"role",render:({field:m})=>t.jsxs(ze,{children:[t.jsx(ke,{children:t.jsxs(He,{value:m.value,onValueChange:m.onChange,disabled:x.isPending||j,children:[t.jsx(Je,{className:"w-full",children:t.jsx(Xe,{placeholder:"Select a role"})}),t.jsx(es,{children:w.map(a=>{const g=[];return a.isBuiltin||(a.allowsAllStaticPermissions?g.push("Full org access"):a.staticPermissionCount&&a.staticPermissionCount>0&&g.push(`${a.staticPermissionCount} org perm${a.staticPermissionCount!==1?"s":""}`),a.allowsAllConnections?g.push("All connections"):a.connectionCount&&a.connectionCount>0&&g.push(`${a.connectionCount} connection${a.connectionCount!==1?"s":""}`),(a.connectionCount!==0||a.allowsAllConnections)&&(a.allowsAllTools?g.push("all tools"):a.toolCount&&a.toolCount>0&&g.push(`${a.toolCount} tool${a.toolCount!==1?"s":""}`))),t.jsx(ss,{value:a.role,children:t.jsxs("div",{className:"flex flex-col",children:[t.jsx("span",{children:a.label}),!a.isBuiltin&&g.length>0&&t.jsx("span",{className:"text-xs text-muted-foreground",children:g.join(", ")})]})},a.role)})})]})}),t.jsx(ys,{})]})}),t.jsxs(ps,{children:[t.jsx(Y,{variant:"outline",onClick:()=>{i.reset({emails:[],role:"user"}),n(!1)},type:"button",disabled:x.isPending,children:"Cancel"}),t.jsx(Y,{type:"submit",disabled:x.isPending||!R,children:x.isPending?"Inviting...":`Invite ${b.length||0} Member${b.length!==1?"s":""}`})]})]})})]})]})}const Ue=["bg-neutral-400","bg-red-500","bg-orange-500","bg-amber-500","bg-yellow-500","bg-lime-500","bg-green-500","bg-emerald-500","bg-teal-500","bg-cyan-500","bg-sky-500","bg-blue-500","bg-indigo-500","bg-violet-500","bg-purple-500","bg-fuchsia-500","bg-pink-500","bg-rose-500","bg-slate-500"],Zs={owner:"bg-red-500",admin:"bg-blue-500",user:"bg-green-500"};function rs(s){return s?s.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2):"?"}function qs(s){const e=new Map;for(const[n,c]of Object.entries(Zs))e.set(n,c);for(let n=0;n<s.length;n++){const c=s[n];c&&!e.has(c.role)&&e.set(c.role,Ue[n%Ue.length]??"bg-neutral-400")}return e}function Ws(s){return new Date(s).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function Ge(s){const e=ae.c(50),{role:n,memberId:c,isOwner:u,roleColorMap:h,selectableRoles:p,onRoleChange:f,size:j,className:w}=s,i=j===void 0?"xs":j;let O,l,b,x,y,R,m,a,g,A;if(e[0]!==w||e[1]!==u||e[2]!==c||e[3]!==f||e[4]!==n||e[5]!==h||e[6]!==i){const I=h.get(n)??"bg-neutral-400";b=He,a=n,e[17]!==c||e[18]!==f?(g=L=>f(c,L),e[17]=c,e[18]=f,e[19]=g):g=e[19],A=u,l=Je,R=i,m=w,O=Xe,y="flex items-center gap-2 min-w-0",x=J("size-2 rounded-full shrink-0",I),e[0]=w,e[1]=u,e[2]=c,e[3]=f,e[4]=n,e[5]=h,e[6]=i,e[7]=O,e[8]=l,e[9]=b,e[10]=x,e[11]=y,e[12]=R,e[13]=m,e[14]=a,e[15]=g,e[16]=A}else O=e[7],l=e[8],b=e[9],x=e[10],y=e[11],R=e[12],m=e[13],a=e[14],g=e[15],A=e[16];let v;e[20]!==x?(v=t.jsx("div",{className:x}),e[20]=x,e[21]=v):v=e[21];let S;e[22]!==n?(S=t.jsx("span",{className:"capitalize truncate",children:n}),e[22]=n,e[23]=S):S=e[23];let o;e[24]!==S||e[25]!==y||e[26]!==v?(o=t.jsxs("div",{className:y,children:[v,S]}),e[24]=S,e[25]=y,e[26]=v,e[27]=o):o=e[27];let d;e[28]!==O||e[29]!==o?(d=t.jsx(O,{children:o}),e[28]=O,e[29]=o,e[30]=d):d=e[30];let C;e[31]!==l||e[32]!==d||e[33]!==R||e[34]!==m?(C=t.jsx(l,{size:R,className:m,children:d}),e[31]=l,e[32]=d,e[33]=R,e[34]=m,e[35]=C):C=e[35];let E;if(e[36]!==h||e[37]!==p){let I;e[39]!==h?(I=L=>{const T=h.get(L.role)??"bg-neutral-400";return t.jsx(ss,{value:L.role,children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:J("size-3 rounded-full",T)}),t.jsx("span",{className:"capitalize",children:L.label})]})},L.role)},e[39]=h,e[40]=I):I=e[40],E=p.map(I),e[36]=h,e[37]=p,e[38]=E}else E=e[38];let M;e[41]!==E?(M=t.jsx(es,{children:E}),e[41]=E,e[42]=M):M=e[42];let N;return e[43]!==b||e[44]!==C||e[45]!==M||e[46]!==a||e[47]!==g||e[48]!==A?(N=t.jsxs(b,{value:a,onValueChange:g,disabled:A,children:[C,M]}),e[43]=b,e[44]=C,e[45]=M,e[46]=a,e[47]=g,e[48]=A,e[49]=N):N=e[49],N}function Ve(s){const e=ae.c(51),{member:n,roles:c,onChangeRole:u,onRemove:h,isUpdating:p}=s,f=p===void 0?!1:p,j=n.role==="owner";let w,i,O,l,b,x,y,R,m;if(e[0]!==j||e[1]!==f||e[2]!==n.id||e[3]!==n.role||e[4]!==u||e[5]!==c){let E;e[15]!==n.role?(E=T=>T.role!==n.role&&T.role!=="owner",e[15]=n.role,e[16]=E):E=e[16];const M=c.filter(E);l=Ze;let N;e[17]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx(q,{name:"more_vert",size:20}),e[17]=N):N=e[17],e[18]!==j?(m=t.jsx(qe,{asChild:!0,children:t.jsx(Y,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",disabled:j,onClick:Js,children:N})}),e[18]=j,e[19]=m):m=e[19],O=We,y="end",R=Hs,i=xs;let I;e[20]===Symbol.for("react.memo_cache_sentinel")?(I=t.jsx(q,{name:"swap_horiz",size:16}),e[20]=I):I=e[20],e[21]!==f?(x=t.jsxs(bs,{disabled:f,children:[I,"Change Role"]}),e[21]=f,e[22]=x):x=e[22],w=Cs;let L;e[23]!==f||e[24]!==n.id||e[25]!==u?(L=T=>{const U=[];return T.isBuiltin||(T.allowsAllStaticPermissions?U.push("Full org access"):T.staticPermissionCount&&T.staticPermissionCount>0&&U.push(`${T.staticPermissionCount} org perm${T.staticPermissionCount!==1?"s":""}`),T.allowsAllConnections?U.push("All connections"):T.connectionCount&&T.connectionCount>0&&U.push(`${T.connectionCount} connection${T.connectionCount!==1?"s":""}`),(T.connectionCount!==0||T.allowsAllConnections)&&(T.allowsAllTools?U.push("all tools"):T.toolCount&&T.toolCount>0&&U.push(`${T.toolCount} tool${T.toolCount!==1?"s":""}`))),t.jsxs(Oe,{onClick:K=>{K.stopPropagation(),u(n.id,T.role)},disabled:f,children:[t.jsx(q,{name:T.isBuiltin?"shield":"key",size:16}),t.jsxs("span",{className:"flex flex-col",children:[t.jsx("span",{children:T.label}),!T.isBuiltin&&U.length>0&&t.jsx("span",{className:"text-xs text-muted-foreground",children:U.join(", ")})]})]},T.role)},e[23]=f,e[24]=n.id,e[25]=u,e[26]=L):L=e[26],b=M.map(L),e[0]=j,e[1]=f,e[2]=n.id,e[3]=n.role,e[4]=u,e[5]=c,e[6]=w,e[7]=i,e[8]=O,e[9]=l,e[10]=b,e[11]=x,e[12]=y,e[13]=R,e[14]=m}else w=e[6],i=e[7],O=e[8],l=e[9],b=e[10],x=e[11],y=e[12],R=e[13],m=e[14];let a;e[27]!==w||e[28]!==b?(a=t.jsx(w,{children:b}),e[27]=w,e[28]=b,e[29]=a):a=e[29];let g;e[30]!==i||e[31]!==x||e[32]!==a?(g=t.jsxs(i,{children:[x,a]}),e[30]=i,e[31]=x,e[32]=a,e[33]=g):g=e[33];let A;e[34]===Symbol.for("react.memo_cache_sentinel")?(A=t.jsx(Ns,{}),e[34]=A):A=e[34];let v;e[35]!==n.id||e[36]!==h?(v=E=>{E.stopPropagation(),h(n.id)},e[35]=n.id,e[36]=h,e[37]=v):v=e[37];let S;e[38]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsx(q,{name:"delete",size:16}),e[38]=S):S=e[38];let o;e[39]!==v?(o=t.jsxs(Oe,{variant:"destructive",onClick:v,children:[S,"Remove Member"]}),e[39]=v,e[40]=o):o=e[40];let d;e[41]!==O||e[42]!==o||e[43]!==y||e[44]!==R||e[45]!==g?(d=t.jsxs(O,{align:y,onClick:R,children:[g,A,o]}),e[41]=O,e[42]=o,e[43]=y,e[44]=R,e[45]=g,e[46]=d):d=e[46];let C;return e[47]!==l||e[48]!==d||e[49]!==m?(C=t.jsxs(l,{children:[m,d]}),e[47]=l,e[48]=d,e[49]=m,e[50]=C):C=e[50],C}function Hs(s){return s.stopPropagation()}function Js(s){return s.stopPropagation()}function Xs(){const s=ae.c(72),{data:e}=_e(),n=Re(),{locator:c}=ye(),[u,h]=D.useState(null),[p,f]=D.useState(""),[j,w]=D.useState("table"),[i,O]=D.useState("member"),[l,b]=D.useState("asc"),x=e?.data?.members;let y;s[0]!==i?(y=k=>{i===k?b(it):(O(k),b("asc"))},s[0]=i,s[1]=y):y=s[1];const R=y;let m;if(s[2]!==x||s[3]!==p||s[4]!==l||s[5]!==i){if(m=x??[],p){const k=p.toLowerCase();m=m.filter($=>$.user?.name?.toLowerCase().includes(k)||$.user?.email?.toLowerCase().includes(k)||$.role?.toLowerCase().includes(k))}if(i&&l){let k;s[7]!==l||s[8]!==i?(k=($,Z)=>{let de,me;e:switch(i){case"member":{de=$.user?.name||"",me=Z.user?.name||"";break e}case"role":{de=$.role||"",me=Z.role||"";break e}case"joined":{de=$.createdAt?typeof $.createdAt=="string"?$.createdAt:$.createdAt.toISOString():"",me=Z.createdAt?typeof Z.createdAt=="string"?Z.createdAt:Z.createdAt.toISOString():"";break e}default:return 0}return l==="asc"?de.localeCompare(me):me.localeCompare(de)},s[7]=l,s[8]=i,s[9]=k):k=s[9],m=[...m].sort(k)}s[2]=x,s[3]=p,s[4]=l,s[5]=i,s[6]=m}else m=s[6];const a=m;let g;s[10]!==c||s[11]!==n?(g={mutationFn:lt,onSuccess:()=>{n.invalidateQueries({queryKey:oe.members(c)}),Q.success("Member has been removed from the organization"),h(null)},onError:ot},s[10]=c,s[11]=n,s[12]=g):g=s[12];const A=ue(g);let v;s[13]!==c||s[14]!==n?(v={mutationFn:rt,onSuccess:()=>{n.invalidateQueries({queryKey:oe.members(c)}),Q.success("Member's role has been updated")},onError:nt},s[13]=c,s[14]=n,s[15]=v):v=s[15];const S=ue(v),{roles:o,customRoles:d}=Le();let C;s[16]!==d?(C=qs(d),s[16]=d,s[17]=C):C=s[17];const E=C;let M;s[18]!==o?(M=o.filter(tt),s[18]=o,s[19]=M):M=s[19];const N=M;let I;s[20]===Symbol.for("react.memo_cache_sentinel")?(I={id:"member",header:"Member",render:st,cellClassName:"flex-1 min-w-0",sortable:!0},s[20]=I):I=s[20];let L;s[21]!==E||s[22]!==N||s[23]!==S?(L={id:"role",header:"Role",render:k=>t.jsx(Ge,{role:k.role,memberId:k.id,isOwner:k.role==="owner",roleColorMap:E,selectableRoles:N,onRoleChange:($,Z)=>S.mutate({memberId:$,role:Z}),className:"w-36"}),cellClassName:"w-36 shrink-0",sortable:!0},s[21]=E,s[22]=N,s[23]=S,s[24]=L):L=s[24];let T;s[25]===Symbol.for("react.memo_cache_sentinel")?(T={id:"joined",header:"Joined",render:et,cellClassName:"w-48 shrink-0",sortable:!0},s[25]=T):T=s[25];let U;s[26]!==o||s[27]!==S?(U={id:"actions",header:"",render:k=>t.jsx(Ve,{member:k,roles:o,onChangeRole:($,Z)=>S.mutate({memberId:$,role:Z}),onRemove:h,isUpdating:S.isPending}),cellClassName:"w-12 shrink-0"},s[26]=o,s[27]=S,s[28]=U):U=s[28];let K;s[29]!==L||s[30]!==U?(K=[I,L,T,U],s[29]=L,s[30]=U,s[31]=K):K=s[31];const se=K;let le;s[32]===Symbol.for("react.memo_cache_sentinel")?(le=t.jsx($s,{trigger:t.jsxs(Y,{variant:"outline",size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:[t.jsx(q,{name:"shield",size:16}),"Manage Roles"]})}),s[32]=le):le=s[32];let ee;s[33]===Symbol.for("react.memo_cache_sentinel")?(ee=t.jsxs("div",{className:"flex items-center gap-2",children:[le,t.jsx(Qs,{trigger:t.jsx(Y,{size:"sm",className:"h-7 px-3 rounded-lg text-sm font-medium",children:"Invite Member"})})]}),s[33]=ee):ee=s[33];const ce=ee,te=!!u;let r;s[34]===Symbol.for("react.memo_cache_sentinel")?(r=()=>h(null),s[34]=r):r=s[34];let P;s[35]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsxs(xe,{children:[t.jsx(be,{children:"Remove Member"}),t.jsx(Ce,{children:"Are you sure you want to remove this member from the organization? This action cannot be undone."})]}),s[35]=P):P=s[35];let _;s[36]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx(je,{children:"Cancel"}),s[36]=_):_=s[36];let z;s[37]!==u||s[38]!==A?(z=()=>u&&A.mutate(u),s[37]=u,s[38]=A,s[39]=z):z=s[39];let V;s[40]!==A.isPending||s[41]!==z?(V=t.jsxs(pe,{children:[P,t.jsxs(Ne,{children:[_,t.jsx(ve,{onClick:z,disabled:A.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Remove"})]})]}),s[40]=A.isPending,s[41]=z,s[42]=V):V=s[42];let G;s[43]!==te||s[44]!==V?(G=t.jsx(he,{open:te,onOpenChange:r,children:V}),s[43]=te,s[44]=V,s[45]=G):G=s[45];let W;s[46]===Symbol.for("react.memo_cache_sentinel")?(W=[{id:"member",label:"Name"},{id:"role",label:"Role"},{id:"joined",label:"Joined"}],s[46]=W):W=s[46];let ne;s[47]!==R||s[48]!==l||s[49]!==i||s[50]!==j?(ne=t.jsx(as,{title:"Members",viewMode:j,onViewModeChange:w,sortKey:i,sortDirection:l,onSort:R,sortOptions:W,ctaButton:ce}),s[47]=R,s[48]=l,s[49]=i,s[50]=j,s[51]=ne):ne=s[51];let B;s[52]===Symbol.for("react.memo_cache_sentinel")?(B=k=>{k.key==="Escape"&&(f(""),k.target.blur())},s[52]=B):B=s[52];let F;s[53]!==p?(F=t.jsx(Ee,{value:p,onChange:f,placeholder:"Search members...",onKeyDown:B}),s[53]=p,s[54]=F):F=s[54];let H;s[55]!==se||s[56]!==a||s[57]!==R||s[58]!==E||s[59]!==o||s[60]!==p||s[61]!==N||s[62]!==l||s[63]!==i||s[64]!==S||s[65]!==j?(H=j==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:a.length===0?t.jsx(Ae,{title:"No members found",description:p?`No members match "${p}"`:"Invite members to get started."}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:a.map(k=>t.jsxs(ws,{className:"transition-colors relative",children:[t.jsx("div",{className:"absolute top-4 right-4 z-10",children:t.jsx(Ve,{member:k,roles:o,onChangeRole:($,Z)=>S.mutate({memberId:$,role:Z}),onRemove:h,isUpdating:S.isPending})}),t.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[t.jsx(we,{url:k.user?.image??void 0,fallback:rs(k.user?.name),shape:"circle",size:"lg",className:"shrink-0"}),t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:k.user?.name||"Unknown"}),t.jsx("p",{className:"text-sm text-muted-foreground truncate",children:k.user?.email}),t.jsx(Ge,{role:k.role,memberId:k.id,isOwner:k.role==="owner",roleColorMap:E,selectableRoles:N,onRoleChange:($,Z)=>S.mutate({memberId:$,role:Z}),className:"w-fit"})]})]})]},k.id))})}):t.jsx(cs,{columns:se,data:a,isLoading:!1,sortKey:i,sortDirection:l,onSort:R,emptyState:p?t.jsx(Ae,{title:"No members found",description:`No members match "${p}"`}):t.jsx(Ae,{title:"No members found",description:"Invite members to get started."})}),s[55]=se,s[56]=a,s[57]=R,s[58]=E,s[59]=o,s[60]=p,s[61]=N,s[62]=l,s[63]=i,s[64]=S,s[65]=j,s[66]=H):H=s[66];let re;return s[67]!==G||s[68]!==ne||s[69]!==F||s[70]!==H?(re=t.jsxs(Te,{children:[G,ne,F,H]}),s[67]=G,s[68]=ne,s[69]=F,s[70]=H,s[71]=re):re=s[71],re}function et(s){return t.jsx("span",{className:"text-sm text-foreground",children:s.createdAt?Ws(s.createdAt):"N/A"})}function st(s){return t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(we,{url:s.user?.image??void 0,fallback:rs(s.user?.name),shape:"circle",size:"sm"}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:s.user?.name||"Unknown"}),t.jsx("div",{className:"text-sm text-muted-foreground truncate",children:s.user?.email})]})]})}function tt(s){return s.role!=="owner"}function nt(s){Q.error(s instanceof Error?s.message:"Failed to update role")}async function rt(s){const{memberId:e,role:n}=s,c=await X.organization.updateMemberRole({memberId:e,role:[n]});if(c?.error)throw new Error(c.error.message)}function ot(s){Q.error(s instanceof Error?s.message:"Failed to remove member")}async function lt(s){const e=await X.organization.removeMember({memberIdOrEmail:s});if(e?.error)throw new Error(e.error.message)}function it(s){return s==="asc"?"desc":s==="desc"?null:"asc"}function Dt(){const s=ae.c(2);let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(Te,{children:t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Failed to load members"})})}),s[0]=e):e=s[0];let n;return s[1]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(vs,{fallback:e,children:t.jsx(D.Suspense,{fallback:t.jsx(Te,{children:t.jsx("div",{className:"flex items-center justify-center h-full",children:t.jsx(q,{name:"progress_activity",size:32,className:"animate-spin text-muted-foreground"})})}),children:t.jsx(Xs,{})})}),s[1]=n):n=s[1],n}export{Dt as default};