decocms 3.30.1 → 3.31.1

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 (249) hide show
  1. package/dist/client/assets/{AlertCircle-BQLR7I4E.js → AlertCircle-CNjNg2wb.js} +1 -1
  2. package/dist/client/assets/{ArrowUpRight-DSaWSvAP.js → ArrowUpRight-7-SM74wR.js} +1 -1
  3. package/dist/client/assets/{Check-DCDpfG7m.js → Check-CkY-NLLZ.js} +1 -1
  4. package/dist/client/assets/{CheckCircle-BBK-3Pzt.js → CheckCircle-DYKqL__C.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-BD0G-h2k.js → ChevronDown-B8XrNXeE.js} +1 -1
  6. package/dist/client/assets/{ChevronLeft-DtP_Ayjz.js → ChevronLeft-B6gErU0k.js} +1 -1
  7. package/dist/client/assets/{ChevronRight-DUzhuedZ.js → ChevronRight-BJRYs8bt.js} +1 -1
  8. package/dist/client/assets/{ChevronUp-D5M0geM5.js → ChevronUp-CgxnjYlU.js} +1 -1
  9. package/dist/client/assets/{Container-Catp9d2q.js → Container-Dt-ev6Gi.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-Dok1GVxI.js → DotsVertical-BwZzHCbU.js} +1 -1
  11. package/dist/client/assets/{Eye-Dmik5hYP.js → Eye-Co-ItdFE.js} +1 -1
  12. package/dist/client/assets/{FilterLines-C37LaXJ1.js → FilterLines-DwPmuK2v.js} +1 -1
  13. package/dist/client/assets/{Globe01-D1c-3J9t.js → Globe01-BnLBFtky.js} +1 -1
  14. package/dist/client/assets/{HardDrive-C1vRZoAn.js → HardDrive-DmPQQU2w.js} +1 -1
  15. package/dist/client/assets/{Key01-CdveS1HN.js → Key01-BuFH2ztD.js} +1 -1
  16. package/dist/client/assets/{LayoutLeft-Bfxz6P9F.js → LayoutLeft-DOdRMzln.js} +1 -1
  17. package/dist/client/assets/{LinkExternal01-CxEkPs1F.js → LinkExternal01-ZepkFy5p.js} +1 -1
  18. package/dist/client/assets/{Monitor01-Bkoa3Nbe.js → Monitor01-5IIvvy6H.js} +1 -1
  19. package/dist/client/assets/{Palette-C74Da44y.js → Palette-Cu3PTFf5.js} +1 -1
  20. package/dist/client/assets/{Play-BERjgeke.js → Play-4vubxqND.js} +1 -1
  21. package/dist/client/assets/{Plus-CdvauR8B.js → Plus-DrYyBDmj.js} +1 -1
  22. package/dist/client/assets/{RefreshCcw01-4ELQWtuB.js → RefreshCcw01-eSV0Gr10.js} +1 -1
  23. package/dist/client/assets/{SearchMd-DvX2rzEB.js → SearchMd-Dq0euRWv.js} +1 -1
  24. package/dist/client/assets/{Settings02-Cqwfv4FN.js → Settings02-B_z2JeIq.js} +1 -1
  25. package/dist/client/assets/{Shield01-6id4oLiZ.js → Shield01-Dmf7TklI.js} +1 -1
  26. package/dist/client/assets/{Star01--MeVNqbA.js → Star01-ChWAyIjY.js} +1 -1
  27. package/dist/client/assets/{Stars01-C2BTpZeS.js → Stars01-DbI-YGmK.js} +1 -1
  28. package/dist/client/assets/{Stars02-D6zEAnUT.js → Stars02-WR3K9Daq.js} +1 -1
  29. package/dist/client/assets/{Sun-BGVsB7Cm.js → Sun-BIJajZBA.js} +1 -1
  30. package/dist/client/assets/{SwitchHorizontal01-DC97OO23.js → SwitchHorizontal01-BjyN-RbX.js} +1 -1
  31. package/dist/client/assets/{Tool01-DQ4cTbeu.js → Tool01-Nn7pl58k.js} +1 -1
  32. package/dist/client/assets/{Trash01-Biurgfq6.js → Trash01-BW2v6vxa.js} +1 -1
  33. package/dist/client/assets/{Upload01-B-0o1yeU.js → Upload01-CyW8Wv9e.js} +1 -1
  34. package/dist/client/assets/{User01-CZ5ejYDg.js → User01-BBVMvdD1.js} +1 -1
  35. package/dist/client/assets/{Users01-CKNLJr4G.js → Users01-3QXDJ7kM.js} +1 -1
  36. package/dist/client/assets/{Users03-CA9cu5qb.js → Users03-Dc2Q2YCx.js} +1 -1
  37. package/dist/client/assets/{X-DlMQL-XM.js → X-BUrHvnq3.js} +1 -1
  38. package/dist/client/assets/{XCircle-G0WrPq0g.js → XCircle-Bz32In76.js} +1 -1
  39. package/dist/client/assets/{XClose-LNW85JIs.js → XClose-D4SdKRIc.js} +1 -1
  40. package/dist/client/assets/{Zap-CbtV6Vvm.js → Zap-DAhQN3Qe.js} +1 -1
  41. package/dist/client/assets/{ZapSquare-C9LhFrIW.js → ZapSquare-DdYqdyu4.js} +1 -1
  42. package/dist/client/assets/{ZoomOut-CImzlj9g.js → ZoomOut-BP5vTMyD.js} +1 -1
  43. package/dist/client/assets/{access-gate-DR0BZ9Yv.js → access-gate-CGZv0aLQ.js} +1 -1
  44. package/dist/client/assets/{accordion-CiWkTYYE.js → accordion-CGxHoi6P.js} +1 -1
  45. package/dist/client/assets/add-section-modal-DLCZWYmt.js +1 -0
  46. package/dist/client/assets/agent-capabilities-BOt7wU7l.js +3 -0
  47. package/dist/client/assets/{agent-icon-CjlB-XbA.js → agent-icon-DbC1U9Lv.js} +1 -1
  48. package/dist/client/assets/{agent-icons-COjGtXRX.js → agent-icons-B273VQSG.js} +2 -2
  49. package/dist/client/assets/{agents-list-BbpQy40q.js → agents-list-Dpi-AAFb.js} +1 -1
  50. package/dist/client/assets/{ai-providers-YKtufrsd.js → ai-providers-DGbRuhig.js} +1 -1
  51. package/dist/client/assets/{alert-DUOzDLz2.js → alert-dB15ZxT2.js} +1 -1
  52. package/dist/client/assets/{alert-dialog-ZB1-0uWA.js → alert-dialog-CstddcEP.js} +2 -2
  53. package/dist/client/assets/app-editor-Cq82w23j.js +1 -0
  54. package/dist/client/assets/{auth-catchall-p-9cQrp4.js → auth-catchall-2_Uziri1.js} +1 -1
  55. package/dist/client/assets/{auth-split-layout-DCQZj1x8.js → auth-split-layout-BBSUM3P9.js} +1 -1
  56. package/dist/client/assets/{automation-list-row-1QBzAyda.js → automation-list-row-DeSlvYhB.js} +1 -1
  57. package/dist/client/assets/{automation-runs-CbXniThO.js → automation-runs-D6XH4v3a.js} +1 -1
  58. package/dist/client/assets/{automations-DXbm14M-.js → automations-DouKICLt.js} +1 -1
  59. package/dist/client/assets/{avatar-DdrKHW7Q.js → avatar-Glcqg-C7.js} +1 -1
  60. package/dist/client/assets/{badge-GxV01_sa.js → badge-CjjK5Sr7.js} +1 -1
  61. package/dist/client/assets/{brand-context-CckU9jvo.js → brand-context-DdQVWL7M.js} +1 -1
  62. package/dist/client/assets/{buckets-BXxpFWbP.js → buckets-DVxXOURG.js} +1 -1
  63. package/dist/client/assets/{calendar-ndWEDvWe.js → calendar-D0KKVHnd.js} +1 -1
  64. package/dist/client/assets/{capability-load-error-C1lcmzPk.js → capability-load-error-B_GRCsfG.js} +1 -1
  65. package/dist/client/assets/{card-B7vNztnP.js → card-DeDg0Mpx.js} +1 -1
  66. package/dist/client/assets/{chat-context-Dr8mURNn.js → chat-context-Dd9y-6Y-.js} +1 -1
  67. package/dist/client/assets/{checkbox-CvlqSsv8.js → checkbox-D292XxeM.js} +1 -1
  68. package/dist/client/assets/{cli-auth-success-DbBnzJkW.js → cli-auth-success-DF9o-evj.js} +1 -1
  69. package/dist/client/assets/{collection-detail-dh1JPTkf.js → collection-detail-ZNirTQKs.js} +1 -1
  70. package/dist/client/assets/{collection-display-button-ByiFEfVE.js → collection-display-button-BHNg4RzF.js} +1 -1
  71. package/dist/client/assets/{collection-search-B62hBYcH.js → collection-search-CFFTRK3x.js} +1 -1
  72. package/dist/client/assets/{collection-table-wrapper-p305Tve_.js → collection-table-wrapper-CJC6Vyfs.js} +1 -1
  73. package/dist/client/assets/{collection-tabs-BoWbncvo.js → collection-tabs-Da8fu2pB.js} +1 -1
  74. package/dist/client/assets/{collections-BU-b7Qnp.js → collections-CWnO7g9J.js} +1 -1
  75. package/dist/client/assets/{command-DeymMKPH.js → command-Dm1ALJPS.js} +1 -1
  76. package/dist/client/assets/{connect-desktop-dialog-B6fCPmnk.js → connect-desktop-dialog-CNaHa2Dn.js} +1 -1
  77. package/dist/client/assets/{connection-card-BdHs3sI8.js → connection-card-J_g5yRQM.js} +1 -1
  78. package/dist/client/assets/{connection-detail-1bfT9skO.js → connection-detail-CtdPxsW2.js} +1 -1
  79. package/dist/client/assets/{connection-form-helpers-Cl8WE-Wv.js → connection-form-helpers-0bmqzhLl.js} +1 -1
  80. package/dist/client/assets/connections-P_p0V_Q0.js +1 -0
  81. package/dist/client/assets/decopilot-sse-pool-BemyIcDl.js +1 -0
  82. package/dist/client/assets/{dialog-Bug5LYvY.js → dialog-B4Gk40Ec.js} +1 -1
  83. package/dist/client/assets/{domain-settings-CiVW_jUc.js → domain-settings-BDb8F-pn.js} +1 -1
  84. package/dist/client/assets/{drawer-Ckfnpw8I.js → drawer-C8AwBmXm.js} +1 -1
  85. package/dist/client/assets/{dropdown-menu-CggnBdjt.js → dropdown-menu-D2S2HMhI.js} +1 -1
  86. package/dist/client/assets/{dynamic-plugin-layout-yS0CT9hK.js → dynamic-plugin-layout-Dg3kd-lT.js} +1 -1
  87. package/dist/client/assets/{empty-state-C6yeON6c.js → empty-state-BEPxxZyq.js} +1 -1
  88. package/dist/client/assets/{empty-state-DtTBbW_W.js → empty-state-ZcLmoTrQ.js} +1 -1
  89. package/dist/client/assets/{extract-connection-data-BR7VTC2M.js → extract-connection-data-Cdme2PYD.js} +1 -1
  90. package/dist/client/assets/{features-fQ1ChqbW.js → features-Dg5ySgax.js} +1 -1
  91. package/dist/client/assets/file-explorer-NmtOY4n0.js +2 -0
  92. package/dist/client/assets/{file-type-icon-Dg4vNCbL.js → file-type-icon-ByhQy2rW.js} +1 -1
  93. package/dist/client/assets/{files-C7GL35WM.js → files-CGUJegiW.js} +1 -1
  94. package/dist/client/assets/{form-Bkkvnz-_.js → form-DzqpARCW.js} +1 -1
  95. package/dist/client/assets/{general-T2AFh9Ye.js → general-BaZ3r2GW.js} +1 -1
  96. package/dist/client/assets/{generate-id-DfnWKozM.js → generate-id-DCN1LrlB.js} +1 -1
  97. package/dist/client/assets/{github-repo-picker-BKJVsWG6.js → github-repo-picker-DifHpnDV.js} +1 -1
  98. package/dist/client/assets/{header-tab-button-CfuW1KOG.js → header-tab-button-CyQ_CUpS.js} +1 -1
  99. package/dist/client/assets/{hover-card-7wnR4X6J.js → hover-card-fQ5zGcbl.js} +1 -1
  100. package/dist/client/assets/{image-field-DsnvgvCV.js → image-field-_Av_lLAg.js} +1 -1
  101. package/dist/client/assets/{index-uM9cBeAz.js → index--VFF-Fa0.js} +1 -1
  102. package/dist/client/assets/{index-BL9vKovB.js → index-0pKQiQw5.js} +4 -4
  103. package/dist/client/assets/{index-CCldjkHi.js → index-Bkgvp8b5.js} +1 -1
  104. package/dist/client/assets/{index-CV7TX6uY.js → index-BlbwvYId.js} +1 -1
  105. package/dist/client/assets/{index-CvubZqsl.js → index-Brb5zXrs.js} +1 -1
  106. package/dist/client/assets/{index-BDwe75Ed.js → index-CDPDznJw.js} +1 -1
  107. package/dist/client/assets/{index-C_NDVGp1.js → index-CDa8r-Ay.js} +1 -1
  108. package/dist/client/assets/index-CXYYh-WP.js +1 -0
  109. package/dist/client/assets/{index-K-cFrJme.js → index-D3IoOs9k.js} +1 -1
  110. package/dist/client/assets/{index-M8U0QO9V.js → index-D7vPwljU.js} +1 -1
  111. package/dist/client/assets/index-D_v0xAjK.js +8 -0
  112. package/dist/client/assets/{index-BjoOIgbb.js → index-DjCrtoJM.js} +3 -3
  113. package/dist/client/assets/{index-C6AFi5aI.js → index-H-an7LFa.js} +1 -1
  114. package/dist/client/assets/{index-BD68Poau.js → index-grq1eXi6.js} +1 -1
  115. package/dist/client/assets/{index-redirect-CDKs11B5.js → index-redirect-DtYqdHDy.js} +1 -1
  116. package/dist/client/assets/index-snZrdd2U.js +1 -0
  117. package/dist/client/assets/{input-CAytkUdm.js → input-odGTsdHi.js} +1 -1
  118. package/dist/client/assets/{integration-icon-BxZqCPgY.js → integration-icon-CYVpZTf5.js} +1 -1
  119. package/dist/client/assets/{label-_bcDhrPn.js → label-CO8q2BMX.js} +1 -1
  120. package/dist/client/assets/{layout-D6JyUu-W.js → layout-mA5Rj_u2.js} +1 -1
  121. package/dist/client/assets/{login-D_Y894-5.js → login-BdTiL4Ph.js} +1 -1
  122. package/dist/client/assets/{members-BiZDHDwm.js → members-K2LSrSOy.js} +1 -1
  123. package/dist/client/assets/monaco-editor-DKpM33ac.js +9 -0
  124. package/dist/client/assets/{monitoring-stats-row-BH1n8Qao.js → monitoring-stats-row-C1HQhYEp.js} +1 -1
  125. package/dist/client/assets/{oauth-callback-Bwrh5dBF.js → oauth-callback-RCth5FgJ.js} +1 -1
  126. package/dist/client/assets/{oauth-callback-ai-provider-DnFWhV-5.js → oauth-callback-ai-provider-Bx_f4SNv.js} +1 -1
  127. package/dist/client/assets/{onboarding-0pY55b33.js → onboarding-Cw0yv-ax.js} +1 -1
  128. package/dist/client/assets/{org-install-CfS-9owX.js → org-install-C5oIAlaU.js} +1 -1
  129. package/dist/client/assets/{org-layout-WjhxFhVG.js → org-layout-AJN3IVEY.js} +1 -1
  130. package/dist/client/assets/{org-plugin-layout-CBd88Pps.js → org-plugin-layout-DeLJrvoA.js} +1 -1
  131. package/dist/client/assets/{page-seo-form-DA-M0CRU.js → page-seo-form-2v7yqwmW.js} +1 -1
  132. package/dist/client/assets/page-seo-sheet-DEYwDlV3.js +1 -0
  133. package/dist/client/assets/{pair-rWOsLIRO.js → pair-C9I7jtDw.js} +6 -6
  134. package/dist/client/assets/{plugin-empty-state-BC-cPjsG.js → plugin-empty-state-BllJH9a8.js} +1 -1
  135. package/dist/client/assets/{plugin-header-CZ1sX2n9.js → plugin-header-pbmKrc1L.js} +1 -1
  136. package/dist/client/assets/{plugin-layout-egGFGy3C.js → plugin-layout-DRXLQokx.js} +1 -1
  137. package/dist/client/assets/{popover-H1IIsqsO.js → popover-ChUM3TFy.js} +1 -1
  138. package/dist/client/assets/{post-editor-D8Amc377.js → post-editor-DBJSrVd6.js} +2 -2
  139. package/dist/client/assets/{primitives-DXNs_riQ.js → primitives-CDySgipF.js} +1 -1
  140. package/dist/client/assets/{profile-jQNt2qst.js → profile-C7vJk0Kt.js} +1 -1
  141. package/dist/client/assets/project-app-view-iV-1n2vK.js +1 -0
  142. package/dist/client/assets/record-editor-bmEKAE4B.js +1 -0
  143. package/dist/client/assets/registry-CT2kzs1z.js +2 -0
  144. package/dist/client/assets/registry-layout-CBGi99kW.js +27 -0
  145. package/dist/client/assets/{require-capability-g-UPmpGK.js → require-capability-XeIce_Pd.js} +1 -1
  146. package/dist/client/assets/{required-auth-layout-B5sViZsY.js → required-auth-layout-BBVKG7Ms.js} +1 -1
  147. package/dist/client/assets/{reset-password-BC3ZM7w0.js → reset-password-CZ2_k_ln.js} +1 -1
  148. package/dist/client/assets/{resizable-DaIe2JEk.js → resizable-DYZX4GYZ.js} +1 -1
  149. package/dist/client/assets/roles-eO3gNPsn.js +1 -0
  150. package/dist/client/assets/save-referenced-block-erNAPeZK.js +1 -0
  151. package/dist/client/assets/{save-status-DaG-SHKI.js → save-status-DGCu0Kou.js} +1 -1
  152. package/dist/client/assets/{schema-form-BBSGBJV6.js → schema-form-CnMZQoIC.js} +1 -1
  153. package/dist/client/assets/{scroll-area-7dB1B4gR.js → scroll-area-D-xuBg8S.js} +1 -1
  154. package/dist/client/assets/{search-input-DwwxFJsd.js → search-input-BOFnCDgB.js} +1 -1
  155. package/dist/client/assets/{secrets-BVqejBQE.js → secrets-BLYQN7Zp.js} +1 -1
  156. package/dist/client/assets/{sections-editor-B1P_XWwE.js → sections-editor-BFS_rZo4.js} +2 -2
  157. package/dist/client/assets/{select-Dn6Da_1F.js → select-B1gidrpT.js} +1 -1
  158. package/dist/client/assets/{select-model-W59Bilmt.js → select-model-CCz1D052.js} +1 -1
  159. package/dist/client/assets/seo-editor-ClvdYMyV.js +1 -0
  160. package/dist/client/assets/{settings-layout-DypT7z1u.js → settings-layout-ParxM_Ja.js} +1 -1
  161. package/dist/client/assets/{settings-section-BkgYqxH8.js → settings-section-DDBr5t6q.js} +1 -1
  162. package/dist/client/assets/{sheet-CxiAY8T5.js → sheet-BwcUAu7J.js} +1 -1
  163. package/dist/client/assets/{shell-controls-rZ6L5v7J.js → shell-controls-a5C7q3sv.js} +1 -1
  164. package/dist/client/assets/{shell-layout-B5B3hmRp.js → shell-layout-jPbG1TxD.js} +1 -1
  165. package/dist/client/assets/shell-route-loading-CrwP7Moq.js +1 -0
  166. package/dist/client/assets/{sidebar-CIJpOENy.js → sidebar-D0YkKw2Q.js} +1 -1
  167. package/dist/client/assets/{skeleton-B0e2OkSv.js → skeleton-BnLuwQl0.js} +1 -1
  168. package/dist/client/assets/{sortable.esm-B6-kJBUo.js → sortable.esm-DHNuKLSF.js} +1 -1
  169. package/dist/client/assets/{spinner-C2ljLkNd.js → spinner-C_dp5faG.js} +1 -1
  170. package/dist/client/assets/{sso-DutRn6kP.js → sso-Dv0vfQwF.js} +1 -1
  171. package/dist/client/assets/{store-CuKFTdG_.js → store-CzOlrmK7.js} +1 -1
  172. package/dist/client/assets/store-registry-BBiSNL3g.js +2 -0
  173. package/dist/client/assets/{studio-tools-DfxdEEgB.js → studio-tools-C1zamUp1.js} +1 -1
  174. package/dist/client/assets/{switch-DDGBJlE2.js → switch-Co2WNb8L.js} +1 -1
  175. package/dist/client/assets/{tab-id-TBSp1YxU.js → tab-id-Br9ttHTZ.js} +1 -1
  176. package/dist/client/assets/{table-GnXYzms9.js → table-DXm5sFe0.js} +1 -1
  177. package/dist/client/assets/{tabs-BajnAGhM.js → tabs-Bhgl3qMn.js} +1 -1
  178. package/dist/client/assets/{task-status-fWcsMePP.js → task-status-BYl9XRWC.js} +1 -1
  179. package/dist/client/assets/{textarea-JAS7Y9kw.js → textarea-DkHK4zFC.js} +1 -1
  180. package/dist/client/assets/{toggle-group-Bv21I6Mc.js → toggle-group-i9f6SFf7.js} +1 -1
  181. package/dist/client/assets/{toolbar-CkGflKXn.js → toolbar-CJqhxN0I.js} +1 -1
  182. package/dist/client/assets/{tools-list-DKrbt2O-.js → tools-list-C1LX0lcn.js} +1 -1
  183. package/dist/client/assets/{tooltip-CKtclZb-.js → tooltip-MvXJgTec.js} +1 -1
  184. package/dist/client/assets/{types-2N8PTdbg.js → types-B5hLLDbz.js} +1 -1
  185. package/dist/client/assets/{use-ai-providers-CGLipwx3.js → use-ai-providers-BsaGHbRZ.js} +1 -1
  186. package/dist/client/assets/{use-automations-BChOAOA6.js → use-automations-CsEWrXaA.js} +1 -1
  187. package/dist/client/assets/{use-capability-czp9i90U.js → use-capability-COL6vTbP.js} +1 -1
  188. package/dist/client/assets/{use-clock-tick-_Fh5zTFQ.js → use-clock-tick-DOOx6g7A.js} +1 -1
  189. package/dist/client/assets/{use-collections-CrAY0KoX.js → use-collections-BTo2RzuF.js} +1 -1
  190. package/dist/client/assets/{use-connection-NiFefepq.js → use-connection-C7K5Qf-S.js} +1 -1
  191. package/dist/client/assets/{use-copy-CQfxrmWX.js → use-copy-CGrsfbTf.js} +1 -1
  192. package/dist/client/assets/{use-create-virtual-mcp-DwKQGNi1.js → use-create-virtual-mcp-D9KVCrT1.js} +1 -1
  193. package/dist/client/assets/{use-debounced-autosave-DCM6oAgZ.js → use-debounced-autosave-6YBhwe_F.js} +1 -1
  194. package/dist/client/assets/{use-delete-connection-bIYVec_d.js → use-delete-connection-BfZlr78w.js} +1 -1
  195. package/dist/client/assets/{use-file-configs-CqXWCLQv.js → use-file-configs-2cFOqoXA.js} +1 -1
  196. package/dist/client/assets/use-infinite-scroll-CHxQ8pHV.js +1 -0
  197. package/dist/client/assets/{use-list-state-DRxXstLB.js → use-list-state-ohTb0Oa4.js} +1 -1
  198. package/dist/client/assets/{use-mcp-client-B46VYAN_.js → use-mcp-client-Wf5qUXFF.js} +1 -1
  199. package/dist/client/assets/{use-mcp-prompts-BfYOND3X.js → use-mcp-prompts-C3LVS9Ph.js} +1 -1
  200. package/dist/client/assets/{use-mcp-tools-wPegb5Xs.js → use-mcp-tools-CHOFkJhf.js} +1 -1
  201. package/dist/client/assets/{use-members-DTpTFucv.js → use-members-DPGvEZAM.js} +1 -1
  202. package/dist/client/assets/{use-navigate-to-agent-DL0_jMva.js → use-navigate-to-agent-Cyv38GW6.js} +1 -1
  203. package/dist/client/assets/{use-org-auth-client-DFhI1mXp.js → use-org-auth-client-DEFpPA_h.js} +1 -1
  204. package/dist/client/assets/{use-org-sso-B2JHlDcL.js → use-org-sso-DXk1g-4_.js} +1 -1
  205. package/dist/client/assets/{use-organization-roles-Do917bwO.js → use-organization-roles-CgzLzx7m.js} +1 -1
  206. package/dist/client/assets/{use-organization-settings-CGdaVuD7.js → use-organization-settings-DYscqYOA.js} +1 -1
  207. package/dist/client/assets/{use-registry-connections-B7_YY-15.js → use-registry-connections-BWH6CWaF.js} +1 -1
  208. package/dist/client/assets/{use-secrets-qOLSEePj.js → use-secrets-C2K4Jrkd.js} +1 -1
  209. package/dist/client/assets/{use-status-sounds-EA9ENH60.js → use-status-sounds-CFQ4LNhs.js} +1 -1
  210. package/dist/client/assets/{use-view-mode-C2K6zcu8.js → use-view-mode-Dg3ZmYU0.js} +1 -1
  211. package/dist/client/assets/{use-virtual-mcp-DHileccV.js → use-virtual-mcp-3Wk6GVmY.js} +1 -1
  212. package/dist/client/assets/useInfiniteQuery-DiweShIv.js +1 -0
  213. package/dist/client/assets/{useRouterState-93R-QVdz.js → useRouterState-DyL85Esh.js} +1 -1
  214. package/dist/client/assets/useSuspenseInfiniteQuery-BHYoMCUL.js +1 -0
  215. package/dist/client/assets/{user-T0gsPnBH.js → user-CNkzK1zV.js} +1 -1
  216. package/dist/client/assets/{view-mode-toggle-BvPi1TV1.js → view-mode-toggle-Do2GCdol.js} +1 -1
  217. package/dist/client/assets/{watch-sse-pool-BSePGeIN.js → watch-sse-pool-WsArg2kN.js} +1 -1
  218. package/dist/client/assets/{workflow-aar8VltW.js → workflow-C2UTibro.js} +1 -1
  219. package/dist/client/assets/workflow-detail-B3lltIYe.js +1 -0
  220. package/dist/client/index.html +1 -1
  221. package/dist/server/cli.js +418 -418
  222. package/dist/server/migrate.js +52 -52
  223. package/dist/server/server.js +292 -292
  224. package/package.json +1 -1
  225. package/dist/client/assets/add-section-modal-Dv2cxIh1.js +0 -1
  226. package/dist/client/assets/agent-capabilities-l_XcUqX-.js +0 -3
  227. package/dist/client/assets/app-editor-CFm4rW9v.js +0 -1
  228. package/dist/client/assets/connections-CQfywKkf.js +0 -1
  229. package/dist/client/assets/decopilot-sse-pool-TF6jERkV.js +0 -1
  230. package/dist/client/assets/file-explorer-Bpe6MxXV.js +0 -2
  231. package/dist/client/assets/index-CoS-DNLH.js +0 -1
  232. package/dist/client/assets/index-DHXKcvHJ.js +0 -1
  233. package/dist/client/assets/index-Dow8MSuu.js +0 -8
  234. package/dist/client/assets/infiniteQueryObserver-DjRZQa58.js +0 -1
  235. package/dist/client/assets/monaco-editor-DR1buwuA.js +0 -9
  236. package/dist/client/assets/page-seo-sheet-BGJM5zp7.js +0 -1
  237. package/dist/client/assets/project-app-view-CByPW7cJ.js +0 -1
  238. package/dist/client/assets/record-editor-BoDJjFQA.js +0 -1
  239. package/dist/client/assets/registry-aermVrqm.js +0 -2
  240. package/dist/client/assets/registry-layout-CC29q8fz.js +0 -27
  241. package/dist/client/assets/roles-C5M6mJ4v.js +0 -1
  242. package/dist/client/assets/save-referenced-block-BLu5E_fA.js +0 -1
  243. package/dist/client/assets/seo-editor-CBSOqlcM.js +0 -1
  244. package/dist/client/assets/shell-route-loading-BURh1jIH.js +0 -1
  245. package/dist/client/assets/store-registry-CRmNQ4V9.js +0 -2
  246. package/dist/client/assets/use-infinite-scroll-CNFLUrB_.js +0 -1
  247. package/dist/client/assets/useInfiniteQuery-vMxng0_U.js +0 -1
  248. package/dist/client/assets/useSuspenseInfiniteQuery-_hGeqDYv.js +0 -1
  249. package/dist/client/assets/workflow-detail-Cyps73VW.js +0 -1
@@ -1,4 +1,4 @@
1
- import{cH as le,cI as ue,cJ as de,c4 as he,cK as fe,bH as m,bI as w,cL as pe,cM as me,cN as _e,cO as A,cP as ge,cQ as j,cR as we,cS as q,cT as Te,cU as F,cV as ye,cW as ke,cX as ve,cY as z,bC as Se,cZ as Ce,c_ as be,b$ as ee,cc as Re,ci as Ie,cg as Ee,c$ as qe,d0 as Pe,d1 as $e,d2 as M,d3 as Ae,d4 as Me,ch as Oe,cd as He,ce as Ne,cf as xe,cb as De,d5 as Ue,d6 as je,d7 as Fe,c6 as Le,d8 as Ve,d9 as We,da as P,db as O,dc as Q,dd as ze,cj as x,e as te,s as se,aO as V}from"./index-BjoOIgbb.js";function N(a){return!!a._zod}function b(a,e){return N(a)?le(a,e):a.safeParse(e)}function re(a){if(!a)return;let e;if(N(a)?e=a._zod?.def?.shape:e=a.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function Qe(a){if(N(a)){const o=a._zod?.def;if(o){if(o.value!==void 0)return o.value;if(Array.isArray(o.values)&&o.values.length>0)return o.values[0]}}const t=a._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}const s=a.value;if(s!==void 0)return s}function R(a){return a==="completed"||a==="failed"||a==="cancelled"}function G(a){const t=re(a)?.method;if(!t)throw new Error("Schema is missing a method literal");const s=Qe(t);if(typeof s!="string")throw new Error("Schema method literal must be a string");return s}function J(a,e){const t=b(a,e);if(!t.success)throw t.error;return t.data}const Ge=6e4;class Je{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ue,t=>{this._oncancel(t)}),this.setNotificationHandler(de,t=>{this._onprogress(t)}),this.setRequestHandler(he,t=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(fe,async(t,s)=>{const r=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!r)throw new m(w.InvalidParams,"Failed to retrieve task: Task not found");return{...r}}),this.setRequestHandler(pe,async(t,s)=>{const r=async()=>{const o=t.params.taskId;if(this._taskMessageQueue){let i;for(;i=await this._taskMessageQueue.dequeue(o,s.sessionId);){if(i.type==="response"||i.type==="error"){const u=i.message,f=u.id,l=this._requestResolvers.get(f);if(l)if(this._requestResolvers.delete(f),i.type==="response")l(u);else{const h=u,p=new m(h.error.code,h.error.message,h.error.data);l(p)}else{const h=i.type==="response"?"Response":"Error";this._onerror(new Error(`${h} handler missing for request ${f}`))}continue}await this._transport?.send(i.message,{relatedRequestId:s.requestId})}}const n=await this._taskStore.getTask(o,s.sessionId);if(!n)throw new m(w.InvalidParams,`Task not found: ${o}`);if(!R(n.status))return await this._waitForTaskUpdate(o,s.signal),await r();if(R(n.status)){const i=await this._taskStore.getTaskResult(o,s.sessionId);return this._clearTaskQueue(o),{...i,_meta:{...i._meta,[q]:{taskId:o}}}}return await r()};return await r()}),this.setRequestHandler(me,async(t,s)=>{try{const{tasks:r,nextCursor:o}=await this._taskStore.listTasks(t.params?.cursor,s.sessionId);return{tasks:r,nextCursor:o,_meta:{}}}catch(r){throw new m(w.InvalidParams,`Failed to list tasks: ${r instanceof Error?r.message:String(r)}`)}}),this.setRequestHandler(_e,async(t,s)=>{try{const r=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!r)throw new m(w.InvalidParams,`Task not found: ${t.params.taskId}`);if(R(r.status))throw new m(w.InvalidParams,`Cannot cancel task in terminal status: ${r.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",s.sessionId),this._clearTaskQueue(t.params.taskId);const o=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!o)throw new m(w.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...o}}catch(r){throw r instanceof m?r:new m(w.InvalidRequest,`Failed to cancel task: ${r instanceof Error?r.message:String(r)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,s,r,o=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:o,onTimeout:r})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),m.fromError(w.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;const t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};const s=this.transport?.onerror;this._transport.onerror=o=>{s?.(o),this._onerror(o)};const r=this._transport?.onmessage;this._transport.onmessage=(o,n)=>{r?.(o,n),A(o)||ge(o)?this._onresponse(o):j(o)?this._onrequest(o,n):we(o)?this._onnotification(o):this._onerror(new Error(`Unknown message type: ${JSON.stringify(o)}`))},await this._transport.start()}_onclose(){const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const s of this._timeoutInfo.values())clearTimeout(s.timeoutId);this._timeoutInfo.clear();for(const s of this._requestHandlerAbortControllers.values())s.abort();this._requestHandlerAbortControllers.clear();const t=m.fromError(w.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(const s of e.values())s(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){const t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(s=>this._onerror(new Error(`Uncaught error in notification handler: ${s}`)))}_onrequest(e,t){const s=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,r=this._transport,o=e.params?._meta?.[q]?.taskId;if(s===void 0){const l={jsonrpc:"2.0",id:e.id,error:{code:w.MethodNotFound,message:"Method not found"}};o&&this._taskMessageQueue?this._enqueueTaskMessage(o,{type:"error",message:l,timestamp:Date.now()},r?.sessionId).catch(h=>this._onerror(new Error(`Failed to enqueue error response: ${h}`))):r?.send(l).catch(h=>this._onerror(new Error(`Failed to send an error response: ${h}`)));return}const n=new AbortController;this._requestHandlerAbortControllers.set(e.id,n);const i=Te(e.params)?e.params.task:void 0,u=this._taskStore?this.requestTaskStore(e,r?.sessionId):void 0,f={signal:n.signal,sessionId:r?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(n.signal.aborted)return;const h={relatedRequestId:e.id};o&&(h.relatedTask={taskId:o}),await this.notification(l,h)},sendRequest:async(l,h,p)=>{if(n.signal.aborted)throw new m(w.ConnectionClosed,"Request was cancelled");const g={...p,relatedRequestId:e.id};o&&!g.relatedTask&&(g.relatedTask={taskId:o});const y=g.relatedTask?.taskId??o;return y&&u&&await u.updateTaskStatus(y,"input_required"),await this.request(l,h,g)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:o,taskStore:u,taskRequestedTtl:i?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{i&&this.assertTaskHandlerCapability(e.method)}).then(()=>s(e,f)).then(async l=>{if(n.signal.aborted)return;const h={result:l,jsonrpc:"2.0",id:e.id};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"response",message:h,timestamp:Date.now()},r?.sessionId):await r?.send(h)},async l=>{if(n.signal.aborted)return;const h={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:w.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"error",message:h,timestamp:Date.now()},r?.sessionId):await r?.send(h)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===n&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){const{progressToken:t,...s}=e.params,r=Number(t),o=this._progressHandlers.get(r);if(!o){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const n=this._responseHandlers.get(r),i=this._timeoutInfo.get(r);if(i&&n&&i.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(u){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),n(u);return}o(s)}_onresponse(e){const t=Number(e.id),s=this._requestResolvers.get(t);if(s){if(this._requestResolvers.delete(t),A(e))s(e);else{const n=new m(e.error.code,e.error.message,e.error.data);s(n)}return}const r=this._responseHandlers.get(t);if(r===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let o=!1;if(A(e)&&e.result&&typeof e.result=="object"){const n=e.result;if(n.task&&typeof n.task=="object"){const i=n.task;typeof i.taskId=="string"&&(o=!0,this._taskProgressTokens.set(i.taskId,t))}}if(o||this._progressHandlers.delete(t),A(e))r(e);else{const n=m.fromError(e.error.code,e.error.message,e.error.data);r(n)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,s){const{task:r}=s??{};if(!r){try{yield{type:"result",result:await this.request(e,t,s)}}catch(n){yield{type:"error",error:n instanceof m?n:new m(w.InternalError,String(n))}}return}let o;try{const n=await this.request(e,F,s);if(n.task)o=n.task.taskId,yield{type:"taskCreated",task:n.task};else throw new m(w.InternalError,"Task creation did not return a task");for(;;){const i=await this.getTask({taskId:o},s);if(yield{type:"taskStatus",task:i},R(i.status)){i.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:o},t,s)}:i.status==="failed"?yield{type:"error",error:new m(w.InternalError,`Task ${o} failed`)}:i.status==="cancelled"&&(yield{type:"error",error:new m(w.InternalError,`Task ${o} was cancelled`)});return}if(i.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},t,s)};return}const u=i.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(f=>setTimeout(f,u)),s?.signal?.throwIfAborted()}}catch(n){yield{type:"error",error:n instanceof m?n:new m(w.InternalError,String(n))}}}request(e,t,s){const{relatedRequestId:r,resumptionToken:o,onresumptiontoken:n,task:i,relatedTask:u}=s??{};return new Promise((f,l)=>{const h=c=>{l(c)};if(!this._transport){h(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),i&&this.assertTaskCapability(e.method)}catch(c){h(c);return}s?.signal?.throwIfAborted();const p=this._requestMessageId++,g={...e,jsonrpc:"2.0",id:p};s?.onprogress&&(this._progressHandlers.set(p,s.onprogress),g.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),i&&(g.params={...g.params,task:i}),u&&(g.params={...g.params,_meta:{...g.params?._meta||{},[q]:u}});const y=c=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(c)}},{relatedRequestId:r,resumptionToken:o,onresumptiontoken:n}).catch(v=>this._onerror(new Error(`Failed to send cancellation: ${v}`)));const _=c instanceof m?c:new m(w.RequestTimeout,String(c));l(_)};this._responseHandlers.set(p,c=>{if(!s?.signal?.aborted){if(c instanceof Error)return l(c);try{const _=b(t,c.result);_.success?f(_.data):l(_.error)}catch(_){l(_)}}}),s?.signal?.addEventListener("abort",()=>{y(s?.signal?.reason)});const T=s?.timeout??Ge,k=()=>y(m.fromError(w.RequestTimeout,"Request timed out",{timeout:T}));this._setupTimeout(p,T,s?.maxTotalTimeout,k,s?.resetTimeoutOnProgress??!1);const d=u?.taskId;if(d){const c=_=>{const v=this._responseHandlers.get(p);v?v(_):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,c),this._enqueueTaskMessage(d,{type:"request",message:g,timestamp:Date.now()}).catch(_=>{this._cleanupTimeout(p),l(_)})}else this._transport.send(g,{relatedRequestId:r,resumptionToken:o,onresumptiontoken:n}).catch(c=>{this._cleanupTimeout(p),l(c)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},ye,t)}async getTaskResult(e,t,s){return this.request({method:"tasks/result",params:e},t,s)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},ke,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},ve,t)}async notification(e,t){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const s=t?.relatedTask?.taskId;if(s){const i={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[q]:t.relatedTask}}};await this._enqueueTaskMessage(s,{type:"notification",message:i,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let i={...e,jsonrpc:"2.0"};t?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[q]:t.relatedTask}}}),this._transport?.send(i,t).catch(u=>this._onerror(u))});return}let n={...e,jsonrpc:"2.0"};t?.relatedTask&&(n={...n,params:{...n.params,_meta:{...n.params?._meta||{},[q]:t.relatedTask}}}),await this._transport.send(n,t)}setRequestHandler(e,t){const s=G(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(r,o)=>{const n=J(e,r);return Promise.resolve(t(n,o))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){const s=G(e);this._notificationHandlers.set(s,r=>{const o=J(e,r);return Promise.resolve(t(o))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){const t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,s){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,s,r)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){const s=await this._taskMessageQueue.dequeueAll(e,t);for(const r of s)if(r.type==="request"&&j(r.message)){const o=r.message.id,n=this._requestResolvers.get(o);n?(n(new m(w.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(o)):this._onerror(new Error(`Resolver missing for request ${o} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let s=this._options?.defaultTaskPollInterval??1e3;try{const r=await this._taskStore?.getTask(e);r?.pollInterval&&(s=r.pollInterval)}catch{}return new Promise((r,o)=>{if(t.aborted){o(new m(w.InvalidRequest,"Request cancelled"));return}const n=setTimeout(r,s);t.addEventListener("abort",()=>{clearTimeout(n),o(new m(w.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){const s=this._taskStore;if(!s)throw new Error("No task store configured");return{createTask:async r=>{if(!e)throw new Error("No request provided");return await s.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async r=>{const o=await s.getTask(r,t);if(!o)throw new m(w.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(r,o,n)=>{await s.storeTaskResult(r,o,n,t);const i=await s.getTask(r,t);if(i){const u=z.parse({method:"notifications/tasks/status",params:i});await this.notification(u),R(i.status)&&this._cleanupTaskProgressHandler(r)}},getTaskResult:r=>s.getTaskResult(r,t),updateTaskStatus:async(r,o,n)=>{const i=await s.getTask(r,t);if(!i)throw new m(w.InvalidParams,`Task "${r}" not found - it may have been cleaned up`);if(R(i.status))throw new m(w.InvalidParams,`Cannot update task "${r}" from terminal status "${i.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await s.updateTaskStatus(r,o,n,t);const u=await s.getTask(r,t);if(u){const f=z.parse({method:"notifications/tasks/status",params:u});await this.notification(f),R(u.status)&&this._cleanupTaskProgressHandler(r)}},listTasks:r=>s.listTasks(r,t)}}}function K(a){return a!==null&&typeof a=="object"&&!Array.isArray(a)}function Ke(a,e){const t={...a};for(const s in e){const r=s,o=e[r];if(o===void 0)continue;const n=t[r];K(n)&&K(o)?t[r]={...n,...o}:t[r]=o}return t}var Be=Ce();const Ye=Se(Be);function Ze(){const a=new Ye({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return be(a),a}class Xe{constructor(e){this._ajv=e??Ze()}getValidator(e){const t="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return s=>t(s)?{valid:!0,data:s,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}class et{constructor(e){this._client=e}async*callToolStream(e,t=ee,s){const r=this._client,o={...s,task:s?.task??(r.isToolTask(e.name)?{}:void 0)},n=r.requestStream({method:"tools/call",params:e},t,o),i=r.getToolOutputValidator(e.name);for await(const u of n){if(u.type==="result"&&i){const f=u.result;if(!f.structuredContent&&!f.isError){yield{type:"error",error:new m(w.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(f.structuredContent)try{const l=i(f.structuredContent);if(!l.valid){yield{type:"error",error:new m(w.InvalidParams,`Structured content does not match the tool's output schema: ${l.errorMessage}`)};return}}catch(l){if(l instanceof m){yield{type:"error",error:l};return}yield{type:"error",error:new m(w.InvalidParams,`Failed to validate structured content: ${l instanceof Error?l.message:String(l)}`)};return}}yield u}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,s){return this._client.getTaskResult({taskId:e},t,s)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,s){return this._client.requestStream(e,t,s)}}function tt(a,e,t){if(!a)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!a.tools?.call)throw new Error(`${t} does not support task creation for tools/call (required for ${e})`);break}}function st(a,e,t){if(!a)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!a.sampling?.createMessage)throw new Error(`${t} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!a.elicitation?.create)throw new Error(`${t} does not support task creation for elicitation/create (required for ${e})`);break}}function H(a,e){if(!(!a||e===null||typeof e!="object")){if(a.type==="object"&&a.properties&&typeof a.properties=="object"){const t=e,s=a.properties;for(const r of Object.keys(s)){const o=s[r];t[r]===void 0&&Object.prototype.hasOwnProperty.call(o,"default")&&(t[r]=o.default),t[r]!==void 0&&H(o,t[r])}}if(Array.isArray(a.anyOf))for(const t of a.anyOf)typeof t!="boolean"&&H(t,e);if(Array.isArray(a.oneOf))for(const t of a.oneOf)typeof t!="boolean"&&H(t,e)}}function rt(a){if(!a)return{supportsFormMode:!1,supportsUrlMode:!1};const e=a.form!==void 0,t=a.url!==void 0;return{supportsFormMode:e||!e&&!t,supportsUrlMode:t}}let at=class extends Je{constructor(e,t){super(t),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=t?.capabilities??{},this._jsonSchemaValidator=t?.jsonSchemaValidator??new Xe,t?.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",Re,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",Ie,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",Ee,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new et(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Ke(this._capabilities,e)}setRequestHandler(e,t){const r=re(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let o;if(N(r)){const i=r;o=i._zod?.def?.value??i.value}else{const i=r;o=i._def?.value??i.value}if(typeof o!="string")throw new Error("Schema method literal must be a string");const n=o;if(n==="elicitation/create"){const i=async(u,f)=>{const l=b(je,u);if(!l.success){const c=l.error instanceof Error?l.error.message:String(l.error);throw new m(w.InvalidParams,`Invalid elicitation request: ${c}`)}const{params:h}=l.data;h.mode=h.mode??"form";const{supportsFormMode:p,supportsUrlMode:g}=rt(this._capabilities.elicitation);if(h.mode==="form"&&!p)throw new m(w.InvalidParams,"Client does not support form-mode elicitation requests");if(h.mode==="url"&&!g)throw new m(w.InvalidParams,"Client does not support URL-mode elicitation requests");const y=await Promise.resolve(t(u,f));if(h.task){const c=b(F,y);if(!c.success){const _=c.error instanceof Error?c.error.message:String(c.error);throw new m(w.InvalidParams,`Invalid task creation result: ${_}`)}return c.data}const T=b(Fe,y);if(!T.success){const c=T.error instanceof Error?T.error.message:String(T.error);throw new m(w.InvalidParams,`Invalid elicitation result: ${c}`)}const k=T.data,d=h.mode==="form"?h.requestedSchema:void 0;if(h.mode==="form"&&k.action==="accept"&&k.content&&d&&this._capabilities.elicitation?.form?.applyDefaults)try{H(d,k.content)}catch{}return k};return super.setRequestHandler(e,i)}if(n==="sampling/createMessage"){const i=async(u,f)=>{const l=b(Le,u);if(!l.success){const k=l.error instanceof Error?l.error.message:String(l.error);throw new m(w.InvalidParams,`Invalid sampling request: ${k}`)}const{params:h}=l.data,p=await Promise.resolve(t(u,f));if(h.task){const k=b(F,p);if(!k.success){const d=k.error instanceof Error?k.error.message:String(k.error);throw new m(w.InvalidParams,`Invalid task creation result: ${d}`)}return k.data}const y=h.tools||h.toolChoice?Ve:We,T=b(y,p);if(!T.success){const k=T.error instanceof Error?T.error.message:String(T.error);throw new m(w.InvalidParams,`Invalid sampling result: ${k}`)}return T.data};return super.setRequestHandler(e,i)}return super.setRequestHandler(e,t)}assertCapability(e,t){if(!this._serverCapabilities?.[e])throw new Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId===void 0)try{const s=await this.request({method:"initialize",params:{protocolVersion:qe,capabilities:this._capabilities,clientInfo:this._clientInfo}},Pe,t);if(s===void 0)throw new Error(`Server sent invalid initialize result: ${s}`);if(!$e.includes(s.protocolVersion))throw new Error(`Server's protocol version is not supported: ${s.protocolVersion}`);this._serverCapabilities=s.capabilities,this._serverVersion=s.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(s.protocolVersion),this._instructions=s.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(s){throw this.close(),s}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${e})`);break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break}}assertTaskCapability(e){tt(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){this._capabilities&&st(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},M,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},Ae,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},M,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},Me,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},Oe,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},He,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},Ne,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},xe,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},M,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},M,t)}async callTool(e,t=ee,s){if(this.isToolTaskRequired(e.name))throw new m(w.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);const r=await this.request({method:"tools/call",params:e},t,s),o=this.getToolOutputValidator(e.name);if(o){if(!r.structuredContent&&!r.isError)throw new m(w.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(r.structuredContent)try{const n=o(r.structuredContent);if(!n.valid)throw new m(w.InvalidParams,`Structured content does not match the tool's output schema: ${n.errorMessage}`)}catch(n){throw n instanceof m?n:new m(w.InvalidParams,`Failed to validate structured content: ${n instanceof Error?n.message:String(n)}`)}}return r}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(const t of e){if(t.outputSchema){const r=this._jsonSchemaValidator.getValidator(t.outputSchema);this._cachedToolOutputValidators.set(t.name,r)}const s=t.execution?.taskSupport;(s==="required"||s==="optional")&&this._cachedKnownTaskTools.add(t.name),s==="required"&&this._cachedRequiredTaskTools.add(t.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){const s=await this.request({method:"tools/list",params:e},De,t);return this.cacheToolMetadata(s.tools),s}_setupListChangedHandler(e,t,s,r){const o=Ue.safeParse(s);if(!o.success)throw new Error(`Invalid ${e} listChanged options: ${o.error.message}`);if(typeof s.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);const{autoRefresh:n,debounceMs:i}=o.data,{onChanged:u}=s,f=async()=>{if(!n){u(null,null);return}try{const h=await r();u(null,h)}catch(h){const p=h instanceof Error?h:new Error(String(h));u(p,null)}},l=()=>{if(i){const h=this._listChangedDebounceTimers.get(e);h&&clearTimeout(h);const p=setTimeout(f,i);this._listChangedDebounceTimers.set(e,p)}else f()};this.setNotificationHandler(t,l)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};const St={SELF:a=>`${a}_self`,REGISTRY:a=>`${a}_registry`,COMMUNITY_REGISTRY:a=>`${a}_community-registry`,DEV_ASSETS:a=>`${a}_dev-assets`,SITE_DIAGNOSTICS:a=>`site-diagnostics_${a}`},ot="self";function nt(a){return{is(e){return!e||!e.startsWith(a)?null:e.slice(a.length)||null},get(e){return`${a}${e}`}}}function it(a){return{id:a.id,organization_id:a.organizationId,title:a.title,description:a.description,icon:a.icon,status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:a.instructions??null},pinned:!1,connections:[]}}const ae=nt("decopilot_"),Ct=ae.is,ct=ae.get;function bt(a){return it({id:ct(a),organizationId:a,title:"Decopilot",description:"Default agent that aggregates all organization connections",icon:"https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png"})}const Rt={AGENT_MANAGER:a=>`studio-agent-manager_${a}`,AUTOMATION_MANAGER:a=>`studio-automation-manager_${a}`,CONNECTION_MANAGER:a=>`studio-connection-manager_${a}`,STORE_MANAGER:a=>`studio-store-manager_${a}`,BRAND_MANAGER:a=>`studio-brand-manager_${a}`,USAGE_MANAGER:a=>`studio-usage-manager_${a}`};function It(a){return a?a.startsWith("studio-agent-manager_")||a.startsWith("studio-automation-manager_")||a.startsWith("studio-connection-manager_")||a.startsWith("studio-store-manager_")||a.startsWith("studio-brand-manager_")||a.startsWith("studio-usage-manager_"):!1}const D=a=>[{type:"text",text:a}];function lt(a){const e=a.meshUrl??(typeof window<"u"?window.location.origin:void 0);if(!e)throw new Error("RestSelfClient requires either meshUrl or a browser environment.");const t={"Content-Type":"application/json",Accept:"application/json",...a.token?{Authorization:`Bearer ${a.token}`}:{}},s=u=>new URL(`/api/${encodeURIComponent(a.orgSlug)}${u}`,e).href,r=async u=>{let f;try{f=await fetch(s(`/tools/${encodeURIComponent(u.name)}`),{method:"POST",headers:t,credentials:"include",body:JSON.stringify(u.arguments??{})})}catch(h){const p=h instanceof Error?h.message:"Network error";return{content:D(p),isError:!0}}if(!f.ok){let h=`${u.name} failed (${f.status})`;try{const p=await f.json();p?.error&&(h=p.error)}catch{}return{content:D(h),isError:!0}}const l=await f.json().catch(()=>({}));return{content:D(typeof l=="string"?l:JSON.stringify(l)),structuredContent:l}},o=async()=>{const u=await fetch(s("/tools"),{method:"GET",headers:t,credentials:"include"});return u.ok?await u.json():{tools:[]}},n=u=>()=>Promise.reject(new Error(`RestSelfClient: ${u} is not supported over REST for the self connection`));return{callTool:r,listTools:o,listPrompts:n("listPrompts"),getPrompt:n("getPrompt"),listResources:n("listResources"),readResource:n("readResource"),listResourceTemplates:n("listResourceTemplates"),close:()=>Promise.resolve(),toJSON:()=>a.toJSONString}}function L(a){return a?a instanceof Headers?Object.fromEntries(a.entries()):Array.isArray(a)?Object.fromEntries(a):{...a}:{}}function ut(a=fetch,e){return e?async(t,s)=>{const r={...e,...s,headers:s?.headers?{...L(e.headers),...L(s.headers)}:e.headers};return a(t,r)}:a}class B extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}const Y=10,dt=13,I=32;function U(a){}function ht(a){if(typeof a=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:e=U,onError:t=U,onRetry:s=U,onComment:r}=a,o=[];let n=!0,i,u="",f=0,l;function h(d){if(n&&(n=!1,d.charCodeAt(0)===239&&d.charCodeAt(1)===187&&d.charCodeAt(2)===191&&(d=d.slice(3))),o.length===0){const v=p(d);v!==""&&o.push(v);return}if(d.indexOf(`
1
+ import{cH as le,cI as ue,cJ as de,c4 as he,cK as fe,bH as m,bI as w,cL as pe,cM as me,cN as _e,cO as A,cP as ge,cQ as j,cR as we,cS as q,cT as Te,cU as F,cV as ye,cW as ke,cX as ve,cY as z,bC as Se,cZ as Ce,c_ as be,b$ as ee,cc as Re,ci as Ie,cg as Ee,c$ as qe,d0 as Pe,d1 as $e,d2 as M,d3 as Ae,d4 as Me,ch as Oe,cd as He,ce as Ne,cf as xe,cb as De,d5 as Ue,d6 as je,d7 as Fe,c6 as Le,d8 as Ve,d9 as We,da as P,db as O,dc as Q,dd as ze,cj as x,e as te,s as se,aO as V}from"./index-DjCrtoJM.js";function N(a){return!!a._zod}function b(a,e){return N(a)?le(a,e):a.safeParse(e)}function re(a){if(!a)return;let e;if(N(a)?e=a._zod?.def?.shape:e=a.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function Qe(a){if(N(a)){const o=a._zod?.def;if(o){if(o.value!==void 0)return o.value;if(Array.isArray(o.values)&&o.values.length>0)return o.values[0]}}const t=a._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}const s=a.value;if(s!==void 0)return s}function R(a){return a==="completed"||a==="failed"||a==="cancelled"}function G(a){const t=re(a)?.method;if(!t)throw new Error("Schema is missing a method literal");const s=Qe(t);if(typeof s!="string")throw new Error("Schema method literal must be a string");return s}function J(a,e){const t=b(a,e);if(!t.success)throw t.error;return t.data}const Ge=6e4;class Je{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ue,t=>{this._oncancel(t)}),this.setNotificationHandler(de,t=>{this._onprogress(t)}),this.setRequestHandler(he,t=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(fe,async(t,s)=>{const r=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!r)throw new m(w.InvalidParams,"Failed to retrieve task: Task not found");return{...r}}),this.setRequestHandler(pe,async(t,s)=>{const r=async()=>{const o=t.params.taskId;if(this._taskMessageQueue){let i;for(;i=await this._taskMessageQueue.dequeue(o,s.sessionId);){if(i.type==="response"||i.type==="error"){const u=i.message,f=u.id,l=this._requestResolvers.get(f);if(l)if(this._requestResolvers.delete(f),i.type==="response")l(u);else{const h=u,p=new m(h.error.code,h.error.message,h.error.data);l(p)}else{const h=i.type==="response"?"Response":"Error";this._onerror(new Error(`${h} handler missing for request ${f}`))}continue}await this._transport?.send(i.message,{relatedRequestId:s.requestId})}}const n=await this._taskStore.getTask(o,s.sessionId);if(!n)throw new m(w.InvalidParams,`Task not found: ${o}`);if(!R(n.status))return await this._waitForTaskUpdate(o,s.signal),await r();if(R(n.status)){const i=await this._taskStore.getTaskResult(o,s.sessionId);return this._clearTaskQueue(o),{...i,_meta:{...i._meta,[q]:{taskId:o}}}}return await r()};return await r()}),this.setRequestHandler(me,async(t,s)=>{try{const{tasks:r,nextCursor:o}=await this._taskStore.listTasks(t.params?.cursor,s.sessionId);return{tasks:r,nextCursor:o,_meta:{}}}catch(r){throw new m(w.InvalidParams,`Failed to list tasks: ${r instanceof Error?r.message:String(r)}`)}}),this.setRequestHandler(_e,async(t,s)=>{try{const r=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!r)throw new m(w.InvalidParams,`Task not found: ${t.params.taskId}`);if(R(r.status))throw new m(w.InvalidParams,`Cannot cancel task in terminal status: ${r.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",s.sessionId),this._clearTaskQueue(t.params.taskId);const o=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!o)throw new m(w.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...o}}catch(r){throw r instanceof m?r:new m(w.InvalidRequest,`Failed to cancel task: ${r instanceof Error?r.message:String(r)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,s,r,o=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:o,onTimeout:r})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),m.fromError(w.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;const t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};const s=this.transport?.onerror;this._transport.onerror=o=>{s?.(o),this._onerror(o)};const r=this._transport?.onmessage;this._transport.onmessage=(o,n)=>{r?.(o,n),A(o)||ge(o)?this._onresponse(o):j(o)?this._onrequest(o,n):we(o)?this._onnotification(o):this._onerror(new Error(`Unknown message type: ${JSON.stringify(o)}`))},await this._transport.start()}_onclose(){const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const s of this._timeoutInfo.values())clearTimeout(s.timeoutId);this._timeoutInfo.clear();for(const s of this._requestHandlerAbortControllers.values())s.abort();this._requestHandlerAbortControllers.clear();const t=m.fromError(w.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(const s of e.values())s(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){const t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(s=>this._onerror(new Error(`Uncaught error in notification handler: ${s}`)))}_onrequest(e,t){const s=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,r=this._transport,o=e.params?._meta?.[q]?.taskId;if(s===void 0){const l={jsonrpc:"2.0",id:e.id,error:{code:w.MethodNotFound,message:"Method not found"}};o&&this._taskMessageQueue?this._enqueueTaskMessage(o,{type:"error",message:l,timestamp:Date.now()},r?.sessionId).catch(h=>this._onerror(new Error(`Failed to enqueue error response: ${h}`))):r?.send(l).catch(h=>this._onerror(new Error(`Failed to send an error response: ${h}`)));return}const n=new AbortController;this._requestHandlerAbortControllers.set(e.id,n);const i=Te(e.params)?e.params.task:void 0,u=this._taskStore?this.requestTaskStore(e,r?.sessionId):void 0,f={signal:n.signal,sessionId:r?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(n.signal.aborted)return;const h={relatedRequestId:e.id};o&&(h.relatedTask={taskId:o}),await this.notification(l,h)},sendRequest:async(l,h,p)=>{if(n.signal.aborted)throw new m(w.ConnectionClosed,"Request was cancelled");const g={...p,relatedRequestId:e.id};o&&!g.relatedTask&&(g.relatedTask={taskId:o});const y=g.relatedTask?.taskId??o;return y&&u&&await u.updateTaskStatus(y,"input_required"),await this.request(l,h,g)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:o,taskStore:u,taskRequestedTtl:i?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{i&&this.assertTaskHandlerCapability(e.method)}).then(()=>s(e,f)).then(async l=>{if(n.signal.aborted)return;const h={result:l,jsonrpc:"2.0",id:e.id};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"response",message:h,timestamp:Date.now()},r?.sessionId):await r?.send(h)},async l=>{if(n.signal.aborted)return;const h={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:w.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"error",message:h,timestamp:Date.now()},r?.sessionId):await r?.send(h)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===n&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){const{progressToken:t,...s}=e.params,r=Number(t),o=this._progressHandlers.get(r);if(!o){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const n=this._responseHandlers.get(r),i=this._timeoutInfo.get(r);if(i&&n&&i.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(u){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),n(u);return}o(s)}_onresponse(e){const t=Number(e.id),s=this._requestResolvers.get(t);if(s){if(this._requestResolvers.delete(t),A(e))s(e);else{const n=new m(e.error.code,e.error.message,e.error.data);s(n)}return}const r=this._responseHandlers.get(t);if(r===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let o=!1;if(A(e)&&e.result&&typeof e.result=="object"){const n=e.result;if(n.task&&typeof n.task=="object"){const i=n.task;typeof i.taskId=="string"&&(o=!0,this._taskProgressTokens.set(i.taskId,t))}}if(o||this._progressHandlers.delete(t),A(e))r(e);else{const n=m.fromError(e.error.code,e.error.message,e.error.data);r(n)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,s){const{task:r}=s??{};if(!r){try{yield{type:"result",result:await this.request(e,t,s)}}catch(n){yield{type:"error",error:n instanceof m?n:new m(w.InternalError,String(n))}}return}let o;try{const n=await this.request(e,F,s);if(n.task)o=n.task.taskId,yield{type:"taskCreated",task:n.task};else throw new m(w.InternalError,"Task creation did not return a task");for(;;){const i=await this.getTask({taskId:o},s);if(yield{type:"taskStatus",task:i},R(i.status)){i.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:o},t,s)}:i.status==="failed"?yield{type:"error",error:new m(w.InternalError,`Task ${o} failed`)}:i.status==="cancelled"&&(yield{type:"error",error:new m(w.InternalError,`Task ${o} was cancelled`)});return}if(i.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},t,s)};return}const u=i.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(f=>setTimeout(f,u)),s?.signal?.throwIfAborted()}}catch(n){yield{type:"error",error:n instanceof m?n:new m(w.InternalError,String(n))}}}request(e,t,s){const{relatedRequestId:r,resumptionToken:o,onresumptiontoken:n,task:i,relatedTask:u}=s??{};return new Promise((f,l)=>{const h=c=>{l(c)};if(!this._transport){h(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),i&&this.assertTaskCapability(e.method)}catch(c){h(c);return}s?.signal?.throwIfAborted();const p=this._requestMessageId++,g={...e,jsonrpc:"2.0",id:p};s?.onprogress&&(this._progressHandlers.set(p,s.onprogress),g.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),i&&(g.params={...g.params,task:i}),u&&(g.params={...g.params,_meta:{...g.params?._meta||{},[q]:u}});const y=c=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(c)}},{relatedRequestId:r,resumptionToken:o,onresumptiontoken:n}).catch(v=>this._onerror(new Error(`Failed to send cancellation: ${v}`)));const _=c instanceof m?c:new m(w.RequestTimeout,String(c));l(_)};this._responseHandlers.set(p,c=>{if(!s?.signal?.aborted){if(c instanceof Error)return l(c);try{const _=b(t,c.result);_.success?f(_.data):l(_.error)}catch(_){l(_)}}}),s?.signal?.addEventListener("abort",()=>{y(s?.signal?.reason)});const T=s?.timeout??Ge,k=()=>y(m.fromError(w.RequestTimeout,"Request timed out",{timeout:T}));this._setupTimeout(p,T,s?.maxTotalTimeout,k,s?.resetTimeoutOnProgress??!1);const d=u?.taskId;if(d){const c=_=>{const v=this._responseHandlers.get(p);v?v(_):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,c),this._enqueueTaskMessage(d,{type:"request",message:g,timestamp:Date.now()}).catch(_=>{this._cleanupTimeout(p),l(_)})}else this._transport.send(g,{relatedRequestId:r,resumptionToken:o,onresumptiontoken:n}).catch(c=>{this._cleanupTimeout(p),l(c)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},ye,t)}async getTaskResult(e,t,s){return this.request({method:"tasks/result",params:e},t,s)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},ke,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},ve,t)}async notification(e,t){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const s=t?.relatedTask?.taskId;if(s){const i={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[q]:t.relatedTask}}};await this._enqueueTaskMessage(s,{type:"notification",message:i,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let i={...e,jsonrpc:"2.0"};t?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[q]:t.relatedTask}}}),this._transport?.send(i,t).catch(u=>this._onerror(u))});return}let n={...e,jsonrpc:"2.0"};t?.relatedTask&&(n={...n,params:{...n.params,_meta:{...n.params?._meta||{},[q]:t.relatedTask}}}),await this._transport.send(n,t)}setRequestHandler(e,t){const s=G(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(r,o)=>{const n=J(e,r);return Promise.resolve(t(n,o))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){const s=G(e);this._notificationHandlers.set(s,r=>{const o=J(e,r);return Promise.resolve(t(o))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){const t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,s){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,s,r)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){const s=await this._taskMessageQueue.dequeueAll(e,t);for(const r of s)if(r.type==="request"&&j(r.message)){const o=r.message.id,n=this._requestResolvers.get(o);n?(n(new m(w.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(o)):this._onerror(new Error(`Resolver missing for request ${o} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let s=this._options?.defaultTaskPollInterval??1e3;try{const r=await this._taskStore?.getTask(e);r?.pollInterval&&(s=r.pollInterval)}catch{}return new Promise((r,o)=>{if(t.aborted){o(new m(w.InvalidRequest,"Request cancelled"));return}const n=setTimeout(r,s);t.addEventListener("abort",()=>{clearTimeout(n),o(new m(w.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){const s=this._taskStore;if(!s)throw new Error("No task store configured");return{createTask:async r=>{if(!e)throw new Error("No request provided");return await s.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async r=>{const o=await s.getTask(r,t);if(!o)throw new m(w.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(r,o,n)=>{await s.storeTaskResult(r,o,n,t);const i=await s.getTask(r,t);if(i){const u=z.parse({method:"notifications/tasks/status",params:i});await this.notification(u),R(i.status)&&this._cleanupTaskProgressHandler(r)}},getTaskResult:r=>s.getTaskResult(r,t),updateTaskStatus:async(r,o,n)=>{const i=await s.getTask(r,t);if(!i)throw new m(w.InvalidParams,`Task "${r}" not found - it may have been cleaned up`);if(R(i.status))throw new m(w.InvalidParams,`Cannot update task "${r}" from terminal status "${i.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await s.updateTaskStatus(r,o,n,t);const u=await s.getTask(r,t);if(u){const f=z.parse({method:"notifications/tasks/status",params:u});await this.notification(f),R(u.status)&&this._cleanupTaskProgressHandler(r)}},listTasks:r=>s.listTasks(r,t)}}}function K(a){return a!==null&&typeof a=="object"&&!Array.isArray(a)}function Ke(a,e){const t={...a};for(const s in e){const r=s,o=e[r];if(o===void 0)continue;const n=t[r];K(n)&&K(o)?t[r]={...n,...o}:t[r]=o}return t}var Be=Ce();const Ye=Se(Be);function Ze(){const a=new Ye({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return be(a),a}class Xe{constructor(e){this._ajv=e??Ze()}getValidator(e){const t="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return s=>t(s)?{valid:!0,data:s,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}class et{constructor(e){this._client=e}async*callToolStream(e,t=ee,s){const r=this._client,o={...s,task:s?.task??(r.isToolTask(e.name)?{}:void 0)},n=r.requestStream({method:"tools/call",params:e},t,o),i=r.getToolOutputValidator(e.name);for await(const u of n){if(u.type==="result"&&i){const f=u.result;if(!f.structuredContent&&!f.isError){yield{type:"error",error:new m(w.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(f.structuredContent)try{const l=i(f.structuredContent);if(!l.valid){yield{type:"error",error:new m(w.InvalidParams,`Structured content does not match the tool's output schema: ${l.errorMessage}`)};return}}catch(l){if(l instanceof m){yield{type:"error",error:l};return}yield{type:"error",error:new m(w.InvalidParams,`Failed to validate structured content: ${l instanceof Error?l.message:String(l)}`)};return}}yield u}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,s){return this._client.getTaskResult({taskId:e},t,s)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,s){return this._client.requestStream(e,t,s)}}function tt(a,e,t){if(!a)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!a.tools?.call)throw new Error(`${t} does not support task creation for tools/call (required for ${e})`);break}}function st(a,e,t){if(!a)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!a.sampling?.createMessage)throw new Error(`${t} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!a.elicitation?.create)throw new Error(`${t} does not support task creation for elicitation/create (required for ${e})`);break}}function H(a,e){if(!(!a||e===null||typeof e!="object")){if(a.type==="object"&&a.properties&&typeof a.properties=="object"){const t=e,s=a.properties;for(const r of Object.keys(s)){const o=s[r];t[r]===void 0&&Object.prototype.hasOwnProperty.call(o,"default")&&(t[r]=o.default),t[r]!==void 0&&H(o,t[r])}}if(Array.isArray(a.anyOf))for(const t of a.anyOf)typeof t!="boolean"&&H(t,e);if(Array.isArray(a.oneOf))for(const t of a.oneOf)typeof t!="boolean"&&H(t,e)}}function rt(a){if(!a)return{supportsFormMode:!1,supportsUrlMode:!1};const e=a.form!==void 0,t=a.url!==void 0;return{supportsFormMode:e||!e&&!t,supportsUrlMode:t}}let at=class extends Je{constructor(e,t){super(t),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=t?.capabilities??{},this._jsonSchemaValidator=t?.jsonSchemaValidator??new Xe,t?.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",Re,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",Ie,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",Ee,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new et(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Ke(this._capabilities,e)}setRequestHandler(e,t){const r=re(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let o;if(N(r)){const i=r;o=i._zod?.def?.value??i.value}else{const i=r;o=i._def?.value??i.value}if(typeof o!="string")throw new Error("Schema method literal must be a string");const n=o;if(n==="elicitation/create"){const i=async(u,f)=>{const l=b(je,u);if(!l.success){const c=l.error instanceof Error?l.error.message:String(l.error);throw new m(w.InvalidParams,`Invalid elicitation request: ${c}`)}const{params:h}=l.data;h.mode=h.mode??"form";const{supportsFormMode:p,supportsUrlMode:g}=rt(this._capabilities.elicitation);if(h.mode==="form"&&!p)throw new m(w.InvalidParams,"Client does not support form-mode elicitation requests");if(h.mode==="url"&&!g)throw new m(w.InvalidParams,"Client does not support URL-mode elicitation requests");const y=await Promise.resolve(t(u,f));if(h.task){const c=b(F,y);if(!c.success){const _=c.error instanceof Error?c.error.message:String(c.error);throw new m(w.InvalidParams,`Invalid task creation result: ${_}`)}return c.data}const T=b(Fe,y);if(!T.success){const c=T.error instanceof Error?T.error.message:String(T.error);throw new m(w.InvalidParams,`Invalid elicitation result: ${c}`)}const k=T.data,d=h.mode==="form"?h.requestedSchema:void 0;if(h.mode==="form"&&k.action==="accept"&&k.content&&d&&this._capabilities.elicitation?.form?.applyDefaults)try{H(d,k.content)}catch{}return k};return super.setRequestHandler(e,i)}if(n==="sampling/createMessage"){const i=async(u,f)=>{const l=b(Le,u);if(!l.success){const k=l.error instanceof Error?l.error.message:String(l.error);throw new m(w.InvalidParams,`Invalid sampling request: ${k}`)}const{params:h}=l.data,p=await Promise.resolve(t(u,f));if(h.task){const k=b(F,p);if(!k.success){const d=k.error instanceof Error?k.error.message:String(k.error);throw new m(w.InvalidParams,`Invalid task creation result: ${d}`)}return k.data}const y=h.tools||h.toolChoice?Ve:We,T=b(y,p);if(!T.success){const k=T.error instanceof Error?T.error.message:String(T.error);throw new m(w.InvalidParams,`Invalid sampling result: ${k}`)}return T.data};return super.setRequestHandler(e,i)}return super.setRequestHandler(e,t)}assertCapability(e,t){if(!this._serverCapabilities?.[e])throw new Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId===void 0)try{const s=await this.request({method:"initialize",params:{protocolVersion:qe,capabilities:this._capabilities,clientInfo:this._clientInfo}},Pe,t);if(s===void 0)throw new Error(`Server sent invalid initialize result: ${s}`);if(!$e.includes(s.protocolVersion))throw new Error(`Server's protocol version is not supported: ${s.protocolVersion}`);this._serverCapabilities=s.capabilities,this._serverVersion=s.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(s.protocolVersion),this._instructions=s.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(s){throw this.close(),s}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${e})`);break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break}}assertTaskCapability(e){tt(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){this._capabilities&&st(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},M,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},Ae,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},M,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},Me,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},Oe,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},He,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},Ne,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},xe,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},M,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},M,t)}async callTool(e,t=ee,s){if(this.isToolTaskRequired(e.name))throw new m(w.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);const r=await this.request({method:"tools/call",params:e},t,s),o=this.getToolOutputValidator(e.name);if(o){if(!r.structuredContent&&!r.isError)throw new m(w.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(r.structuredContent)try{const n=o(r.structuredContent);if(!n.valid)throw new m(w.InvalidParams,`Structured content does not match the tool's output schema: ${n.errorMessage}`)}catch(n){throw n instanceof m?n:new m(w.InvalidParams,`Failed to validate structured content: ${n instanceof Error?n.message:String(n)}`)}}return r}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(const t of e){if(t.outputSchema){const r=this._jsonSchemaValidator.getValidator(t.outputSchema);this._cachedToolOutputValidators.set(t.name,r)}const s=t.execution?.taskSupport;(s==="required"||s==="optional")&&this._cachedKnownTaskTools.add(t.name),s==="required"&&this._cachedRequiredTaskTools.add(t.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){const s=await this.request({method:"tools/list",params:e},De,t);return this.cacheToolMetadata(s.tools),s}_setupListChangedHandler(e,t,s,r){const o=Ue.safeParse(s);if(!o.success)throw new Error(`Invalid ${e} listChanged options: ${o.error.message}`);if(typeof s.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);const{autoRefresh:n,debounceMs:i}=o.data,{onChanged:u}=s,f=async()=>{if(!n){u(null,null);return}try{const h=await r();u(null,h)}catch(h){const p=h instanceof Error?h:new Error(String(h));u(p,null)}},l=()=>{if(i){const h=this._listChangedDebounceTimers.get(e);h&&clearTimeout(h);const p=setTimeout(f,i);this._listChangedDebounceTimers.set(e,p)}else f()};this.setNotificationHandler(t,l)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};const St={SELF:a=>`${a}_self`,REGISTRY:a=>`${a}_registry`,COMMUNITY_REGISTRY:a=>`${a}_community-registry`,DEV_ASSETS:a=>`${a}_dev-assets`,SITE_DIAGNOSTICS:a=>`site-diagnostics_${a}`},ot="self";function nt(a){return{is(e){return!e||!e.startsWith(a)?null:e.slice(a.length)||null},get(e){return`${a}${e}`}}}function it(a){return{id:a.id,organization_id:a.organizationId,title:a.title,description:a.description,icon:a.icon,status:"active",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),created_by:"system",updated_by:void 0,metadata:{instructions:a.instructions??null},pinned:!1,connections:[]}}const ae=nt("decopilot_"),Ct=ae.is,ct=ae.get;function bt(a){return it({id:ct(a),organizationId:a,title:"Decopilot",description:"Default agent that aggregates all organization connections",icon:"https://assets.decocache.com/decocms/fd07a578-6b1c-40f1-bc05-88a3b981695d/f7fc4ffa81aec04e37ae670c3cd4936643a7b269.png"})}const Rt={AGENT_MANAGER:a=>`studio-agent-manager_${a}`,AUTOMATION_MANAGER:a=>`studio-automation-manager_${a}`,CONNECTION_MANAGER:a=>`studio-connection-manager_${a}`,STORE_MANAGER:a=>`studio-store-manager_${a}`,BRAND_MANAGER:a=>`studio-brand-manager_${a}`,USAGE_MANAGER:a=>`studio-usage-manager_${a}`};function It(a){return a?a.startsWith("studio-agent-manager_")||a.startsWith("studio-automation-manager_")||a.startsWith("studio-connection-manager_")||a.startsWith("studio-store-manager_")||a.startsWith("studio-brand-manager_")||a.startsWith("studio-usage-manager_"):!1}const D=a=>[{type:"text",text:a}];function lt(a){const e=a.meshUrl??(typeof window<"u"?window.location.origin:void 0);if(!e)throw new Error("RestSelfClient requires either meshUrl or a browser environment.");const t={"Content-Type":"application/json",Accept:"application/json",...a.token?{Authorization:`Bearer ${a.token}`}:{}},s=u=>new URL(`/api/${encodeURIComponent(a.orgSlug)}${u}`,e).href,r=async u=>{let f;try{f=await fetch(s(`/tools/${encodeURIComponent(u.name)}`),{method:"POST",headers:t,credentials:"include",body:JSON.stringify(u.arguments??{})})}catch(h){const p=h instanceof Error?h.message:"Network error";return{content:D(p),isError:!0}}if(!f.ok){let h=`${u.name} failed (${f.status})`;try{const p=await f.json();p?.error&&(h=p.error)}catch{}return{content:D(h),isError:!0}}const l=await f.json().catch(()=>({}));return{content:D(typeof l=="string"?l:JSON.stringify(l)),structuredContent:l}},o=async()=>{const u=await fetch(s("/tools"),{method:"GET",headers:t,credentials:"include"});return u.ok?await u.json():{tools:[]}},n=u=>()=>Promise.reject(new Error(`RestSelfClient: ${u} is not supported over REST for the self connection`));return{callTool:r,listTools:o,listPrompts:n("listPrompts"),getPrompt:n("getPrompt"),listResources:n("listResources"),readResource:n("readResource"),listResourceTemplates:n("listResourceTemplates"),close:()=>Promise.resolve(),toJSON:()=>a.toJSONString}}function L(a){return a?a instanceof Headers?Object.fromEntries(a.entries()):Array.isArray(a)?Object.fromEntries(a):{...a}:{}}function ut(a=fetch,e){return e?async(t,s)=>{const r={...e,...s,headers:s?.headers?{...L(e.headers),...L(s.headers)}:e.headers};return a(t,r)}:a}class B extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}const Y=10,dt=13,I=32;function U(a){}function ht(a){if(typeof a=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:e=U,onError:t=U,onRetry:s=U,onComment:r}=a,o=[];let n=!0,i,u="",f=0,l;function h(d){if(n&&(n=!1,d.charCodeAt(0)===239&&d.charCodeAt(1)===187&&d.charCodeAt(2)===191&&(d=d.slice(3))),o.length===0){const v=p(d);v!==""&&o.push(v);return}if(d.indexOf(`
2
2
  `)===-1&&d.indexOf("\r")===-1){o.push(d);return}o.push(d);const c=o.join("");o.length=0;const _=p(c);_!==""&&o.push(_)}function p(d){let c=0;if(d.indexOf("\r")===-1){let _=d.indexOf(`
3
3
  `,c);for(;_!==-1;){if(c===_){f>0&&e({id:i,event:l,data:u}),i=void 0,u="",f=0,l=void 0,c=_+1,_=d.indexOf(`
4
4
  `,c);continue}const v=d.charCodeAt(c);if(Z(d,c,v)){const S=d.charCodeAt(c+5)===I?c+6:c+5,C=d.slice(S,_);if(f===0&&d.charCodeAt(_+1)===Y){e({id:i,event:l,data:C}),i=void 0,u="",l=void 0,c=_+2,_=d.indexOf(`
@@ -1 +1 @@
1
- import{e as l,n as c,bH as m,bI as f,s as y,aO as n}from"./index-BjoOIgbb.js";async function u(r){if(!r.getServerCapabilities()?.prompts)return{prompts:[]};try{return await r.listPrompts()}catch(t){if(t instanceof m&&t.code===f.MethodNotFound)return{prompts:[]};throw t}}async function b(r,e,t){if(!r.getServerCapabilities()?.prompts)throw new Error("Prompts capability not supported");return await r.getPrompt({name:e,arguments:t??{}})}function g(r){const e=l.c(12);let t,s;e[0]!==r?({client:t,...s}=r,e[0]=r,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let i;e[3]!==t?(i=n.mcpPromptsList(t),e[3]=t,e[4]=i):i=e[4];let o;e[5]!==t?(o=()=>u(t),e[5]=t,e[6]=o):o=e[6];const p=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==i||e[9]!==o||e[10]!==p?(a={...s,queryKey:i,queryFn:o,staleTime:p,retry:!1},e[7]=s,e[8]=i,e[9]=o,e[10]=p,e[11]=a):a=e[11],y(a)}function q(r){const e=l.c(12);let t,s;e[0]!==r?({client:t,...s}=r,e[0]=r,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let i;e[3]!==t?(i=n.mcpPromptsList(t),e[3]=t,e[4]=i):i=e[4];let o;e[5]!==t?(o=()=>u(t),e[5]=t,e[6]=o):o=e[6];const p=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==i||e[9]!==o||e[10]!==p?(a={...s,queryKey:i,queryFn:o,staleTime:p,retry:!1},e[7]=s,e[8]=i,e[9]=o,e[10]=p,e[11]=a):a=e[11],c(a)}export{q as a,b as g,u as l,g as u};
1
+ import{e as l,n as c,bH as m,bI as f,s as y,aO as n}from"./index-DjCrtoJM.js";async function u(r){if(!r.getServerCapabilities()?.prompts)return{prompts:[]};try{return await r.listPrompts()}catch(t){if(t instanceof m&&t.code===f.MethodNotFound)return{prompts:[]};throw t}}async function b(r,e,t){if(!r.getServerCapabilities()?.prompts)throw new Error("Prompts capability not supported");return await r.getPrompt({name:e,arguments:t??{}})}function g(r){const e=l.c(12);let t,s;e[0]!==r?({client:t,...s}=r,e[0]=r,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let i;e[3]!==t?(i=n.mcpPromptsList(t),e[3]=t,e[4]=i):i=e[4];let o;e[5]!==t?(o=()=>u(t),e[5]=t,e[6]=o):o=e[6];const p=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==i||e[9]!==o||e[10]!==p?(a={...s,queryKey:i,queryFn:o,staleTime:p,retry:!1},e[7]=s,e[8]=i,e[9]=o,e[10]=p,e[11]=a):a=e[11],y(a)}function q(r){const e=l.c(12);let t,s;e[0]!==r?({client:t,...s}=r,e[0]=r,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let i;e[3]!==t?(i=n.mcpPromptsList(t),e[3]=t,e[4]=i):i=e[4];let o;e[5]!==t?(o=()=>u(t),e[5]=t,e[6]=o):o=e[6];const p=s.staleTime??3e4;let a;return e[7]!==s||e[8]!==i||e[9]!==o||e[10]!==p?(a={...s,queryKey:i,queryFn:o,staleTime:p,retry:!1},e[7]=s,e[8]=i,e[9]=o,e[10]=p,e[11]=a):a=e[11],c(a)}export{q as a,b as g,u as l,g as u};
@@ -1 +1 @@
1
- import{e as m,n as p,s as q,aO as T,a as C}from"./index-BjoOIgbb.js";function O(a){const e=m.c(12);let t,s;e[0]!==a?({client:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=T.mcpToolsList(t),e[3]=t,e[4]=l):l=e[4];let o;e[5]!==t?(o=async()=>await t.listTools(),e[5]=t,e[6]=o):o=e[6];const n=s.staleTime??3e4;let i;return e[7]!==s||e[8]!==l||e[9]!==o||e[10]!==n?(i={...s,queryKey:l,queryFn:o,staleTime:n,retry:!1},e[7]=s,e[8]=l,e[9]=o,e[10]=n,e[11]=i):i=e[11],q(i)}function K(a){const e=m.c(12);let t,s;e[0]!==a?({client:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=T.mcpToolsList(t),e[3]=t,e[4]=l):l=e[4];let o;e[5]!==t?(o=async()=>await t.listTools(),e[5]=t,e[6]=o):o=e[6];const n=s.staleTime??3e4;let i;return e[7]!==s||e[8]!==l||e[9]!==o||e[10]!==n?(i={...s,queryKey:l,queryFn:o,staleTime:n,retry:!1},e[7]=s,e[8]=l,e[9]=o,e[10]=n,e[11]=i):i=e[11],p(i)}function M(a){const e=m.c(21);let t,s,l,o;e[0]!==a?({client:t,toolName:o,toolArguments:l,...s}=a,e[0]=a,e[1]=t,e[2]=s,e[3]=l,e[4]=o):(t=e[1],s=e[2],l=e[3],o=e[4]);let n,i,u;if(e[5]!==t||e[6]!==s||e[7]!==l||e[8]!==o){const f=JSON.stringify(l??{});u=q,n=s,i=T.mcpToolCall(t,o,f),e[5]=t,e[6]=s,e[7]=l,e[8]=o,e[9]=n,e[10]=i,e[11]=u}else n=e[9],i=e[10],u=e[11];let r;e[12]!==t||e[13]!==l||e[14]!==o?(r=async()=>await t.callTool({name:o,arguments:l}),e[12]=t,e[13]=l,e[14]=o,e[15]=r):r=e[15];const y=s.staleTime??3e4;let c;return e[16]!==n||e[17]!==i||e[18]!==r||e[19]!==y?(c={...n,queryKey:i,queryFn:r,staleTime:y,retry:!1},e[16]=n,e[17]=i,e[18]=r,e[19]=y,e[20]=c):c=e[20],u(c)}function w(a){const e=m.c(21);let t,s,l,o;e[0]!==a?({client:t,toolName:o,toolArguments:l,...s}=a,e[0]=a,e[1]=t,e[2]=s,e[3]=l,e[4]=o):(t=e[1],s=e[2],l=e[3],o=e[4]);let n,i,u;if(e[5]!==t||e[6]!==s||e[7]!==l||e[8]!==o){const f=JSON.stringify(l??{});u=p,n=s,i=T.mcpToolCall(t,o,f),e[5]=t,e[6]=s,e[7]=l,e[8]=o,e[9]=n,e[10]=i,e[11]=u}else n=e[9],i=e[10],u=e[11];let r;e[12]!==t||e[13]!==l||e[14]!==o?(r=async()=>await t.callTool({name:o,arguments:l}),e[12]=t,e[13]=l,e[14]=o,e[15]=r):r=e[15];const y=s.staleTime??3e4;let c;return e[16]!==n||e[17]!==i||e[18]!==r||e[19]!==y?(c={...n,queryKey:i,queryFn:r,staleTime:y,retry:!1},e[16]=n,e[17]=i,e[18]=r,e[19]=y,e[20]=c):c=e[20],u(c)}function F(a){const e=m.c(8);let t,s;e[0]!==a?({client:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=async n=>await t.callTool(n),e[3]=t,e[4]=l):l=e[4];let o;return e[5]!==s||e[6]!==l?(o={...s,mutationFn:l},e[5]=s,e[6]=l,e[7]=o):o=e[7],C(o)}export{O as a,K as b,M as c,F as d,w as u};
1
+ import{e as m,n as p,s as q,aO as T,a as C}from"./index-DjCrtoJM.js";function O(a){const e=m.c(12);let t,s;e[0]!==a?({client:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=T.mcpToolsList(t),e[3]=t,e[4]=l):l=e[4];let o;e[5]!==t?(o=async()=>await t.listTools(),e[5]=t,e[6]=o):o=e[6];const n=s.staleTime??3e4;let i;return e[7]!==s||e[8]!==l||e[9]!==o||e[10]!==n?(i={...s,queryKey:l,queryFn:o,staleTime:n,retry:!1},e[7]=s,e[8]=l,e[9]=o,e[10]=n,e[11]=i):i=e[11],q(i)}function K(a){const e=m.c(12);let t,s;e[0]!==a?({client:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=T.mcpToolsList(t),e[3]=t,e[4]=l):l=e[4];let o;e[5]!==t?(o=async()=>await t.listTools(),e[5]=t,e[6]=o):o=e[6];const n=s.staleTime??3e4;let i;return e[7]!==s||e[8]!==l||e[9]!==o||e[10]!==n?(i={...s,queryKey:l,queryFn:o,staleTime:n,retry:!1},e[7]=s,e[8]=l,e[9]=o,e[10]=n,e[11]=i):i=e[11],p(i)}function M(a){const e=m.c(21);let t,s,l,o;e[0]!==a?({client:t,toolName:o,toolArguments:l,...s}=a,e[0]=a,e[1]=t,e[2]=s,e[3]=l,e[4]=o):(t=e[1],s=e[2],l=e[3],o=e[4]);let n,i,u;if(e[5]!==t||e[6]!==s||e[7]!==l||e[8]!==o){const f=JSON.stringify(l??{});u=q,n=s,i=T.mcpToolCall(t,o,f),e[5]=t,e[6]=s,e[7]=l,e[8]=o,e[9]=n,e[10]=i,e[11]=u}else n=e[9],i=e[10],u=e[11];let r;e[12]!==t||e[13]!==l||e[14]!==o?(r=async()=>await t.callTool({name:o,arguments:l}),e[12]=t,e[13]=l,e[14]=o,e[15]=r):r=e[15];const y=s.staleTime??3e4;let c;return e[16]!==n||e[17]!==i||e[18]!==r||e[19]!==y?(c={...n,queryKey:i,queryFn:r,staleTime:y,retry:!1},e[16]=n,e[17]=i,e[18]=r,e[19]=y,e[20]=c):c=e[20],u(c)}function w(a){const e=m.c(21);let t,s,l,o;e[0]!==a?({client:t,toolName:o,toolArguments:l,...s}=a,e[0]=a,e[1]=t,e[2]=s,e[3]=l,e[4]=o):(t=e[1],s=e[2],l=e[3],o=e[4]);let n,i,u;if(e[5]!==t||e[6]!==s||e[7]!==l||e[8]!==o){const f=JSON.stringify(l??{});u=p,n=s,i=T.mcpToolCall(t,o,f),e[5]=t,e[6]=s,e[7]=l,e[8]=o,e[9]=n,e[10]=i,e[11]=u}else n=e[9],i=e[10],u=e[11];let r;e[12]!==t||e[13]!==l||e[14]!==o?(r=async()=>await t.callTool({name:o,arguments:l}),e[12]=t,e[13]=l,e[14]=o,e[15]=r):r=e[15];const y=s.staleTime??3e4;let c;return e[16]!==n||e[17]!==i||e[18]!==r||e[19]!==y?(c={...n,queryKey:i,queryFn:r,staleTime:y,retry:!1},e[16]=n,e[17]=i,e[18]=r,e[19]=y,e[20]=c):c=e[20],u(c)}function F(a){const e=m.c(8);let t,s;e[0]!==a?({client:t,...s}=a,e[0]=a,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let l;e[3]!==t?(l=async n=>await t.callTool(n),e[3]=t,e[4]=l):l=e[4];let o;return e[5]!==s||e[6]!==l?(o={...s,mutationFn:l},e[5]=s,e[6]=l,e[7]=o):o=e[7],C(o)}export{O as a,K as b,M as c,F as d,w as u};
@@ -1 +1 @@
1
- import{e as n,q as i,s as l,K as m}from"./index-BjoOIgbb.js";import{u as a}from"./use-org-auth-client-DFhI1mXp.js";function p(){const e=n.c(7),{locator:o}=i(),u=a();let t;e[0]!==o?(t=m.members(o),e[0]=o,e[1]=t):t=e[1];let s;e[2]!==u?(s=()=>u.organization.listMembers(),e[2]=u,e[3]=s):s=e[3];let r;return e[4]!==t||e[5]!==s?(r={queryKey:t,queryFn:s},e[4]=t,e[5]=s,e[6]=r):r=e[6],l(r)}export{p as u};
1
+ import{e as n,q as i,s as l,K as m}from"./index-DjCrtoJM.js";import{u as a}from"./use-org-auth-client-DEFpPA_h.js";function p(){const e=n.c(7),{locator:o}=i(),u=a();let t;e[0]!==o?(t=m.members(o),e[0]=o,e[1]=t):t=e[1];let s;e[2]!==u?(s=()=>u.organization.listMembers(),e[2]=u,e[3]=s):s=e[3];let r;return e[4]!==t||e[5]!==s?(r={queryKey:t,queryFn:s},e[4]=t,e[5]=s,e[6]=r):r=e[6],l(r)}export{p as u};
@@ -1 +1 @@
1
- import{L as v,r as f,e as C,j,f as N,q as D,b as F}from"./index-BjoOIgbb.js";import{a as q}from"./use-virtual-mcp-DHileccV.js";const h="__tool_call_runs__",w=["requires_action","in_progress","failed","expired","completed"];function te(e){const t=new Map(w.map(r=>[r,[]]));for(const r of e){const n=r.status??"completed";(t.get(n)??t.get("completed")).push(r)}return w.map(r=>({status:r,threads:t.get(r)}))}function re(e,t){const r=new Map;for(const u of e){if(u.id.startsWith("thrd_welcome_"))continue;const c=u.virtual_mcp_id??h,a=r.get(c);a?(a.threads.push(u),(u.updated_at??"")>a.latestUpdatedAt&&(a.latestUpdatedAt=u.updated_at??"")):r.set(c,{virtualMcpId:c,threads:[u],latestUpdatedAt:u.updated_at??""})}const n=t!==null?r.get(t):void 0;n&&t&&r.delete(t);const s=r.get(h);s&&r.delete(h);const o=[...r.values()].sort((u,c)=>c.latestUpdatedAt.localeCompare(u.latestUpdatedAt)),i=[];return n&&n.threads.length>0&&i.push(n),i.push(...o),s&&s.threads.length>0&&i.push(s),i}const R=new Map,A=new Map;function P(e){return`${e.orgId}:${e.userId}`}function E(e){return`sidebar.group-order.${e}`}function O(e){try{const t=localStorage.getItem(e),r=t?JSON.parse(t):[];return Array.isArray(r)?r.filter(n=>typeof n=="string"):[]}catch{return[]}}function T(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function $(e){const t=P(e),r=R.get(t);if(r)return r;const n=v.sidebarGroupOrder(e.orgId,e.userId);let s=!1;try{s=localStorage.getItem(n)!==null}catch{}let o=O(n);if(!s&&o.length===0&&e.userId!=="anon"){const i=O(E(e.orgId));i.length>0&&(o=i)}return R.set(t,o),o}function p(e,t){const r=new Set(t);return $(e).filter(n=>!r.has(n))}function g(e,t){R.set(P(e),t),T(v.sidebarGroupOrder(e.orgId,e.userId),t)}function m(e){const t=A.get(e);if(t)return t;const r=O(v.sidebarOrgPinnedOrder(e));return A.set(e,r),r}function S(e,t){A.set(e,t),T(v.sidebarOrgPinnedOrder(e),t)}function ne(e,t){g(e,t)}function se(e,t){S(e,t)}function k(e,t){return e===t||e===h}function I(e,t){return t.includes(e)}function B(e,t){return e.map(r=>r.virtualMcpId).filter(r=>!k(r,t))}function oe(e,t,r,n){const s=new Set(n);return B(e,r).filter(o=>t==="org"?s.has(o):!s.has(o))}function J(e,t){const r=new Set(e),n=t.filter(s=>!r.has(s));return n.length===0?e:[...e,...n]}function ie(e,t,r){const n=new Set(r),s=[],o=[];let i,u;for(const c of e){const a=c.virtualMcpId;if(t&&a===t){i=c;continue}if(a===h){u=c;continue}if(n.has(a)){s.push(c);continue}o.push(c)}return{decopilot:i,orgPinned:s,user:o,toolCallRuns:u}}function L(e,t,r,n=[],s=[]){const o=r?e.find(d=>d.virtualMcpId===r):void 0,i=e.find(d=>d.virtualMcpId===h),u=new Set(n),c=n.filter(d=>!k(d,r)),a=J(s,c),l=t.filter(d=>!u.has(d)),x=new Map(e.map(d=>[d.virtualMcpId,d])),_=d=>{const U=x.get(d);return U||{virtualMcpId:d,threads:[],latestUpdatedAt:""}},G=a.filter(d=>u.has(d)).map(_),K=l.map(_),b=[];return o&&b.push(o),b.push(...G,...K),i&&b.push(i),{groups:b,userOrder:l,orgOrder:G.map(d=>d.virtualMcpId)}}function Y(e,t){const r=new Set(t);m(e.orgId).length===0&&t.length>0&&S(e.orgId,[...t]);const s=v.sidebarGroupOrder(e.orgId,e.userId);if(O(s).length>0)return;const o=O(E(e.orgId));if(o.length===0)return;const i=o.filter(u=>!r.has(u));g(e,i)}function M(e,t){const r=new Set(t),n=$(e),s=n.filter(o=>!r.has(o));s.length!==n.length&&g(e,s)}function ue(e,t,r,n=[]){Y(e,n),M(e,n);const s=p(e,n),o=m(e.orgId),{userOrder:i,orgOrder:u}=L(t,s,r,n,o);(i.length!==s.length||i.some((c,a)=>c!==s[a]))&&g(e,i),(u.length!==o.length||u.some((c,a)=>c!==o[a]))&&S(e.orgId,u)}function ae(e,t,r,n=[]){const s=p(e,n),o=m(e.orgId);return L(t,s,r,n,o).groups}function ce(e,t,r){if(r){const o=p(e,[t]).filter(u=>u!==t);g(e,o);const i=m(e.orgId);i.includes(t)||S(e.orgId,[...i,t]);return}const n=m(e.orgId).filter(o=>o!==t);S(e.orgId,n);const s=p(e,[]);s.includes(t)||g(e,[...s,t])}function W(e,t,r=[]){if(r.includes(t))return;const n=p(e,r);n.includes(t)||g(e,[t,...n])}function de(e,t,r=[]){const n=p(e,r),s=n.filter(o=>o!==t);s.length!==n.length&&g(e,s)}function le(e,t,r){const n=e.indexOf(t),s=e.indexOf(r);if(n===-1||s===-1||n===s)return e;const o=[...e],[i]=o.splice(n,1);return i===void 0?e:(o.splice(s,0,i),o)}function fe(e,t,r,n){if(e==="org")return n;const s=p(t,r),o=new Set(n),i=s.filter(u=>!o.has(u));return[...n,...i]}function ge(e,t,r){const n=I(e,r),s=I(t,r);return n===s}const y=f.createContext(null);function pe(e){const t=C.c(7),{children:r}=e,[n,s]=f.useState(!1),[o,i]=f.useState(0);let u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=()=>i(z),t[0]=u):u=t[0];const c=u;let a;t[1]!==n||t[2]!==o?(a={empty:n,setEmpty:s,orderRevision:o,bumpOrderRevision:c},t[1]=n,t[2]=o,t[3]=a):a=t[3];let l;return t[4]!==r||t[5]!==a?(l=j.jsx(y.Provider,{value:a,children:r}),t[4]=r,t[5]=a,t[6]=l):l=t[6],l}function z(e){return e+1}function he(){return f.useContext(y)?.empty??!1}function Oe(){return f.useContext(y)?.orderRevision??0}function H(){return f.useContext(y)?.bumpOrderRevision??Q}function Q(){}function me(e){const{value:t}=e,r=f.useContext(y),[n,s]=f.useState(null);return r&&n!==t&&(r.setEmpty(t),s(t)),null}function Se(){const e=C.c(9),t=N(),{org:r}=D(),n=q(),{data:s}=F.useSession(),o=s?.user?.id??"anon";let i;e[0]!==n?(i=n.filter(Z).map(X),e[0]=n,e[1]=i):i=e[1];const u=i,c=H();let a;return e[2]!==c||e[3]!==t||e[4]!==r.id||e[5]!==r.slug||e[6]!==u||e[7]!==o?(a=(l,x)=>{W({orgId:r.id,userId:o},l,u),c();const _=crypto.randomUUID();t({to:"/$org/$taskId",params:{org:r.slug,taskId:_},search:{...x?.search??{},virtualmcpid:l}})},e[2]=c,e[3]=t,e[4]=r.id,e[5]=r.slug,e[6]=u,e[7]=o,e[8]=a):a=e[8],a}function X(e){return e.id}function Z(e){return!!e.pinned}export{me as S,h as T,H as a,W as b,ge as c,fe as d,se as e,ne as f,ue as g,ae as h,Oe as i,re as j,Se as k,te as l,de as m,ce as n,pe as o,ie as p,le as r,oe as s,he as u};
1
+ import{L as v,r as f,e as C,j,f as N,q as D,b as F}from"./index-DjCrtoJM.js";import{a as q}from"./use-virtual-mcp-3Wk6GVmY.js";const h="__tool_call_runs__",w=["requires_action","in_progress","failed","expired","completed"];function te(e){const t=new Map(w.map(r=>[r,[]]));for(const r of e){const n=r.status??"completed";(t.get(n)??t.get("completed")).push(r)}return w.map(r=>({status:r,threads:t.get(r)}))}function re(e,t){const r=new Map;for(const u of e){if(u.id.startsWith("thrd_welcome_"))continue;const c=u.virtual_mcp_id??h,a=r.get(c);a?(a.threads.push(u),(u.updated_at??"")>a.latestUpdatedAt&&(a.latestUpdatedAt=u.updated_at??"")):r.set(c,{virtualMcpId:c,threads:[u],latestUpdatedAt:u.updated_at??""})}const n=t!==null?r.get(t):void 0;n&&t&&r.delete(t);const s=r.get(h);s&&r.delete(h);const o=[...r.values()].sort((u,c)=>c.latestUpdatedAt.localeCompare(u.latestUpdatedAt)),i=[];return n&&n.threads.length>0&&i.push(n),i.push(...o),s&&s.threads.length>0&&i.push(s),i}const R=new Map,A=new Map;function P(e){return`${e.orgId}:${e.userId}`}function E(e){return`sidebar.group-order.${e}`}function O(e){try{const t=localStorage.getItem(e),r=t?JSON.parse(t):[];return Array.isArray(r)?r.filter(n=>typeof n=="string"):[]}catch{return[]}}function T(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function $(e){const t=P(e),r=R.get(t);if(r)return r;const n=v.sidebarGroupOrder(e.orgId,e.userId);let s=!1;try{s=localStorage.getItem(n)!==null}catch{}let o=O(n);if(!s&&o.length===0&&e.userId!=="anon"){const i=O(E(e.orgId));i.length>0&&(o=i)}return R.set(t,o),o}function p(e,t){const r=new Set(t);return $(e).filter(n=>!r.has(n))}function g(e,t){R.set(P(e),t),T(v.sidebarGroupOrder(e.orgId,e.userId),t)}function m(e){const t=A.get(e);if(t)return t;const r=O(v.sidebarOrgPinnedOrder(e));return A.set(e,r),r}function S(e,t){A.set(e,t),T(v.sidebarOrgPinnedOrder(e),t)}function ne(e,t){g(e,t)}function se(e,t){S(e,t)}function k(e,t){return e===t||e===h}function I(e,t){return t.includes(e)}function B(e,t){return e.map(r=>r.virtualMcpId).filter(r=>!k(r,t))}function oe(e,t,r,n){const s=new Set(n);return B(e,r).filter(o=>t==="org"?s.has(o):!s.has(o))}function J(e,t){const r=new Set(e),n=t.filter(s=>!r.has(s));return n.length===0?e:[...e,...n]}function ie(e,t,r){const n=new Set(r),s=[],o=[];let i,u;for(const c of e){const a=c.virtualMcpId;if(t&&a===t){i=c;continue}if(a===h){u=c;continue}if(n.has(a)){s.push(c);continue}o.push(c)}return{decopilot:i,orgPinned:s,user:o,toolCallRuns:u}}function L(e,t,r,n=[],s=[]){const o=r?e.find(d=>d.virtualMcpId===r):void 0,i=e.find(d=>d.virtualMcpId===h),u=new Set(n),c=n.filter(d=>!k(d,r)),a=J(s,c),l=t.filter(d=>!u.has(d)),x=new Map(e.map(d=>[d.virtualMcpId,d])),_=d=>{const U=x.get(d);return U||{virtualMcpId:d,threads:[],latestUpdatedAt:""}},G=a.filter(d=>u.has(d)).map(_),K=l.map(_),b=[];return o&&b.push(o),b.push(...G,...K),i&&b.push(i),{groups:b,userOrder:l,orgOrder:G.map(d=>d.virtualMcpId)}}function Y(e,t){const r=new Set(t);m(e.orgId).length===0&&t.length>0&&S(e.orgId,[...t]);const s=v.sidebarGroupOrder(e.orgId,e.userId);if(O(s).length>0)return;const o=O(E(e.orgId));if(o.length===0)return;const i=o.filter(u=>!r.has(u));g(e,i)}function M(e,t){const r=new Set(t),n=$(e),s=n.filter(o=>!r.has(o));s.length!==n.length&&g(e,s)}function ue(e,t,r,n=[]){Y(e,n),M(e,n);const s=p(e,n),o=m(e.orgId),{userOrder:i,orgOrder:u}=L(t,s,r,n,o);(i.length!==s.length||i.some((c,a)=>c!==s[a]))&&g(e,i),(u.length!==o.length||u.some((c,a)=>c!==o[a]))&&S(e.orgId,u)}function ae(e,t,r,n=[]){const s=p(e,n),o=m(e.orgId);return L(t,s,r,n,o).groups}function ce(e,t,r){if(r){const o=p(e,[t]).filter(u=>u!==t);g(e,o);const i=m(e.orgId);i.includes(t)||S(e.orgId,[...i,t]);return}const n=m(e.orgId).filter(o=>o!==t);S(e.orgId,n);const s=p(e,[]);s.includes(t)||g(e,[...s,t])}function W(e,t,r=[]){if(r.includes(t))return;const n=p(e,r);n.includes(t)||g(e,[t,...n])}function de(e,t,r=[]){const n=p(e,r),s=n.filter(o=>o!==t);s.length!==n.length&&g(e,s)}function le(e,t,r){const n=e.indexOf(t),s=e.indexOf(r);if(n===-1||s===-1||n===s)return e;const o=[...e],[i]=o.splice(n,1);return i===void 0?e:(o.splice(s,0,i),o)}function fe(e,t,r,n){if(e==="org")return n;const s=p(t,r),o=new Set(n),i=s.filter(u=>!o.has(u));return[...n,...i]}function ge(e,t,r){const n=I(e,r),s=I(t,r);return n===s}const y=f.createContext(null);function pe(e){const t=C.c(7),{children:r}=e,[n,s]=f.useState(!1),[o,i]=f.useState(0);let u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=()=>i(z),t[0]=u):u=t[0];const c=u;let a;t[1]!==n||t[2]!==o?(a={empty:n,setEmpty:s,orderRevision:o,bumpOrderRevision:c},t[1]=n,t[2]=o,t[3]=a):a=t[3];let l;return t[4]!==r||t[5]!==a?(l=j.jsx(y.Provider,{value:a,children:r}),t[4]=r,t[5]=a,t[6]=l):l=t[6],l}function z(e){return e+1}function he(){return f.useContext(y)?.empty??!1}function Oe(){return f.useContext(y)?.orderRevision??0}function H(){return f.useContext(y)?.bumpOrderRevision??Q}function Q(){}function me(e){const{value:t}=e,r=f.useContext(y),[n,s]=f.useState(null);return r&&n!==t&&(r.setEmpty(t),s(t)),null}function Se(){const e=C.c(9),t=N(),{org:r}=D(),n=q(),{data:s}=F.useSession(),o=s?.user?.id??"anon";let i;e[0]!==n?(i=n.filter(Z).map(X),e[0]=n,e[1]=i):i=e[1];const u=i,c=H();let a;return e[2]!==c||e[3]!==t||e[4]!==r.id||e[5]!==r.slug||e[6]!==u||e[7]!==o?(a=(l,x)=>{W({orgId:r.id,userId:o},l,u),c();const _=crypto.randomUUID();t({to:"/$org/$taskId",params:{org:r.slug,taskId:_},search:{...x?.search??{},virtualmcpid:l}})},e[2]=c,e[3]=t,e[4]=r.id,e[5]=r.slug,e[6]=u,e[7]=o,e[8]=a):a=e[8],a}function X(e){return e.id}function Z(e){return!!e.pinned}export{me as S,h as T,H as a,W as b,ge as c,fe as d,se as e,ne as f,ue as g,ae as h,Oe as i,re as j,Se as k,te as l,de as m,ce as n,pe as o,ie as p,le as r,oe as s,he as u};
@@ -1 +1 @@
1
- import{e as q,q as x,b as i}from"./index-BjoOIgbb.js";function A(){const e=q.c(32),{org:O}=x(),o=O.id;let z;e[0]!==o?(z=R=>(f=>i.organization[R]({...f??{},organizationId:o})),e[0]=o,e[1]=z):z=e[1];const t=z;let M;e[2]!==o?(M=R=>(f=>{const y={...f??{}},h=y.query??{};return y.query={...h,organizationId:o},i.organization[R](y)}),e[2]=o,e[3]=M):M=e[3];const n=M;let a,r;e[4]!==n?(a=n("listMembers"),r=n("listRoles"),e[4]=n,e[5]=a,e[6]=r):(a=e[5],r=e[6]);let l,s,c,g,u,m,d,v,b;e[7]!==t?(g=t("inviteMember"),u=t("removeMember"),m=t("updateMemberRole"),d=t("addMember"),v=t("createRole"),b=t("updateRole"),l=t("deleteRole"),s=t("cancelInvitation"),c=t("update"),e[7]=t,e[8]=l,e[9]=s,e[10]=c,e[11]=g,e[12]=u,e[13]=m,e[14]=d,e[15]=v,e[16]=b):(l=e[8],s=e[9],c=e[10],g=e[11],u=e[12],m=e[13],d=e[14],v=e[15],b=e[16]);let p;e[17]!==n?(p=n("getActiveMember"),e[17]=n,e[18]=p):p=e[18];let I;return e[19]!==l||e[20]!==s||e[21]!==c||e[22]!==p||e[23]!==a||e[24]!==r||e[25]!==g||e[26]!==u||e[27]!==m||e[28]!==d||e[29]!==v||e[30]!==b?(I={organization:{listMembers:a,listRoles:r,inviteMember:g,removeMember:u,updateMemberRole:m,addMember:d,createRole:v,updateRole:b,deleteRole:l,cancelInvitation:s,update:c,getActiveMember:p,acceptInvitation:i.organization.acceptInvitation,rejectInvitation:i.organization.rejectInvitation,getInvitation:i.organization.getInvitation,list:i.organization.list,create:i.organization.create,getFullOrganization:i.organization.getFullOrganization}},e[19]=l,e[20]=s,e[21]=c,e[22]=p,e[23]=a,e[24]=r,e[25]=g,e[26]=u,e[27]=m,e[28]=d,e[29]=v,e[30]=b,e[31]=I):I=e[31],I}export{A as u};
1
+ import{e as q,q as x,b as i}from"./index-DjCrtoJM.js";function A(){const e=q.c(32),{org:O}=x(),o=O.id;let z;e[0]!==o?(z=R=>(f=>i.organization[R]({...f??{},organizationId:o})),e[0]=o,e[1]=z):z=e[1];const t=z;let M;e[2]!==o?(M=R=>(f=>{const y={...f??{}},h=y.query??{};return y.query={...h,organizationId:o},i.organization[R](y)}),e[2]=o,e[3]=M):M=e[3];const n=M;let a,r;e[4]!==n?(a=n("listMembers"),r=n("listRoles"),e[4]=n,e[5]=a,e[6]=r):(a=e[5],r=e[6]);let l,s,c,g,u,m,d,v,b;e[7]!==t?(g=t("inviteMember"),u=t("removeMember"),m=t("updateMemberRole"),d=t("addMember"),v=t("createRole"),b=t("updateRole"),l=t("deleteRole"),s=t("cancelInvitation"),c=t("update"),e[7]=t,e[8]=l,e[9]=s,e[10]=c,e[11]=g,e[12]=u,e[13]=m,e[14]=d,e[15]=v,e[16]=b):(l=e[8],s=e[9],c=e[10],g=e[11],u=e[12],m=e[13],d=e[14],v=e[15],b=e[16]);let p;e[17]!==n?(p=n("getActiveMember"),e[17]=n,e[18]=p):p=e[18];let I;return e[19]!==l||e[20]!==s||e[21]!==c||e[22]!==p||e[23]!==a||e[24]!==r||e[25]!==g||e[26]!==u||e[27]!==m||e[28]!==d||e[29]!==v||e[30]!==b?(I={organization:{listMembers:a,listRoles:r,inviteMember:g,removeMember:u,updateMemberRole:m,addMember:d,createRole:v,updateRole:b,deleteRole:l,cancelInvitation:s,update:c,getActiveMember:p,acceptInvitation:i.organization.acceptInvitation,rejectInvitation:i.organization.rejectInvitation,getInvitation:i.organization.getInvitation,list:i.organization.list,create:i.organization.create,getFullOrganization:i.organization.getFullOrganization}},e[19]=l,e[20]=s,e[21]=c,e[22]=p,e[23]=a,e[24]=r,e[25]=g,e[26]=u,e[27]=m,e[28]=d,e[29]=v,e[30]=b,e[31]=I):I=e[31],I}export{A as u};
@@ -1 +1 @@
1
- import{e as u,n as S,G as l,a as y,K as c}from"./index-BjoOIgbb.js";function w(o,a){const e=u.c(8);let s;e[0]!==o?(s=c.orgSsoStatus(o??""),e[0]=o,e[1]=s):s=e[1];let t;e[2]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/status`);if(!r.ok)throw new Error("Failed to check SSO status");return r.json()},e[2]=a,e[3]=t):t=e[3];const n=!!o&&!!a;let i;return e[4]!==s||e[5]!==t||e[6]!==n?(i={queryKey:s,queryFn:t,enabled:n},e[4]=s,e[5]=t,e[6]=n,e[7]=i):i=e[7],S(i)}function q(o,a){const e=u.c(8);let s;e[0]!==o?(s=c.orgSsoConfig(o??""),e[0]=o,e[1]=s):s=e[1];let t;e[2]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/config`);if(!r.ok)throw new Error("Failed to fetch SSO config");return r.json()},e[2]=a,e[3]=t):t=e[3];const n=!!o&&!!a;let i;return e[4]!==s||e[5]!==t||e[6]!==n?(i={queryKey:s,queryFn:t,enabled:n},e[4]=s,e[5]=t,e[6]=n,e[7]=i):i=e[7],S(i)}function C(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async r=>{const f=await fetch(`/api/${a}/sso/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!f.ok){const p=await f.json();throw new Error(p.error||"Failed to save SSO config")}return f.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}function O(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/config`,{method:"DELETE"});if(!r.ok)throw new Error("Failed to delete SSO config");return r.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}function m(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async r=>{const f=await fetch(`/api/${a}/sso/config/enforce`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enforced:r})});if(!f.ok)throw new Error("Failed to toggle SSO enforcement");return f.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}export{q as a,C as b,O as c,m as d,w as u};
1
+ import{e as u,n as S,G as l,a as y,K as c}from"./index-DjCrtoJM.js";function w(o,a){const e=u.c(8);let s;e[0]!==o?(s=c.orgSsoStatus(o??""),e[0]=o,e[1]=s):s=e[1];let t;e[2]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/status`);if(!r.ok)throw new Error("Failed to check SSO status");return r.json()},e[2]=a,e[3]=t):t=e[3];const n=!!o&&!!a;let i;return e[4]!==s||e[5]!==t||e[6]!==n?(i={queryKey:s,queryFn:t,enabled:n},e[4]=s,e[5]=t,e[6]=n,e[7]=i):i=e[7],S(i)}function q(o,a){const e=u.c(8);let s;e[0]!==o?(s=c.orgSsoConfig(o??""),e[0]=o,e[1]=s):s=e[1];let t;e[2]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/config`);if(!r.ok)throw new Error("Failed to fetch SSO config");return r.json()},e[2]=a,e[3]=t):t=e[3];const n=!!o&&!!a;let i;return e[4]!==s||e[5]!==t||e[6]!==n?(i={queryKey:s,queryFn:t,enabled:n},e[4]=s,e[5]=t,e[6]=n,e[7]=i):i=e[7],S(i)}function C(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async r=>{const f=await fetch(`/api/${a}/sso/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!f.ok){const p=await f.json();throw new Error(p.error||"Failed to save SSO config")}return f.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}function O(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/config`,{method:"DELETE"});if(!r.ok)throw new Error("Failed to delete SSO config");return r.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}function m(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async r=>{const f=await fetch(`/api/${a}/sso/config/enforce`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enforced:r})});if(!f.ok)throw new Error("Failed to toggle SSO enforcement");return f.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}export{q as a,C as b,O as c,m as d,w as u};
@@ -1 +1 @@
1
- import{u as R}from"./use-org-auth-client-DFhI1mXp.js";import{q as b,n as P,K as y}from"./index-BjoOIgbb.js";const w=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function B(t){return t.replace(/-/g," ").replace(/\b\w/g,n=>n.toUpperCase())}function O(t){if(!t)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1,modelCount:0,allowsAllModels:!1};const n=[];let i=!1;const u=[];let c=!1;const a=new Set;let s=!1,f=0,e=!1;for(const[l,o]of Object.entries(t)){if(l==="self"){o.includes("*")?i=!0:n.push(...o);continue}if(l==="models"){o.includes("*:*")?e=!0:f=o.length;continue}if(l==="*"){if(c=!0,o.includes("*"))s=!0;else for(const r of o)a.add(r);continue}if(u.push(l),o.includes("*"))s=!0;else for(const r of o)a.add(r)}return{staticPermissions:n,allowsAllStaticPermissions:i,connectionIds:u,allowsAllConnections:c,toolNames:Array.from(a),allowsAllTools:s,modelCount:f,allowsAllModels:e}}function I(){const{locator:t}=b(),n=R(),{data:i,isLoading:u,error:c,refetch:a}=P({queryKey:y.organizationRoles(t),queryFn:async()=>{try{const e=await n.organization.listRoles();return e?.error?(console.error("[useOrganizationRoles] API error:",e.error),[]):e?.data??[]}catch(e){return console.error("[useOrganizationRoles] Fetch error:",e),[]}},staleTime:3e4}),s=w.map(e=>({role:e.value,label:e.label,isBuiltin:e.isBuiltin}));if(i&&Array.isArray(i))for(const e of i){const l=e.role;if(!l||w.some(h=>h.value===l))continue;const{staticPermissions:o,allowsAllStaticPermissions:r,connectionIds:g,allowsAllConnections:m,toolNames:p,allowsAllTools:d,modelCount:C,allowsAllModels:A}=O(e.permission);s.push({id:e.id,role:l,label:B(l),isBuiltin:!1,permission:e.permission??void 0,staticPermissionCount:r?-1:o.length,allowsAllStaticPermissions:r,connectionCount:m?-1:g.length,allowsAllConnections:m,toolCount:d?-1:p.length,allowsAllTools:d,modelCount:A?-1:C,allowsAllModels:A})}const f=s.filter(e=>!e.isBuiltin);return{roles:s,customRoles:f,builtinRoles:s.filter(e=>e.isBuiltin),isLoading:u,error:c,refetch:a}}export{I as u};
1
+ import{u as R}from"./use-org-auth-client-DEFpPA_h.js";import{q as b,n as P,K as y}from"./index-DjCrtoJM.js";const w=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function B(t){return t.replace(/-/g," ").replace(/\b\w/g,n=>n.toUpperCase())}function O(t){if(!t)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1,modelCount:0,allowsAllModels:!1};const n=[];let i=!1;const u=[];let c=!1;const a=new Set;let s=!1,f=0,e=!1;for(const[l,o]of Object.entries(t)){if(l==="self"){o.includes("*")?i=!0:n.push(...o);continue}if(l==="models"){o.includes("*:*")?e=!0:f=o.length;continue}if(l==="*"){if(c=!0,o.includes("*"))s=!0;else for(const r of o)a.add(r);continue}if(u.push(l),o.includes("*"))s=!0;else for(const r of o)a.add(r)}return{staticPermissions:n,allowsAllStaticPermissions:i,connectionIds:u,allowsAllConnections:c,toolNames:Array.from(a),allowsAllTools:s,modelCount:f,allowsAllModels:e}}function I(){const{locator:t}=b(),n=R(),{data:i,isLoading:u,error:c,refetch:a}=P({queryKey:y.organizationRoles(t),queryFn:async()=>{try{const e=await n.organization.listRoles();return e?.error?(console.error("[useOrganizationRoles] API error:",e.error),[]):e?.data??[]}catch(e){return console.error("[useOrganizationRoles] Fetch error:",e),[]}},staleTime:3e4}),s=w.map(e=>({role:e.value,label:e.label,isBuiltin:e.isBuiltin}));if(i&&Array.isArray(i))for(const e of i){const l=e.role;if(!l||w.some(h=>h.value===l))continue;const{staticPermissions:o,allowsAllStaticPermissions:r,connectionIds:g,allowsAllConnections:m,toolNames:p,allowsAllTools:d,modelCount:C,allowsAllModels:A}=O(e.permission);s.push({id:e.id,role:l,label:B(l),isBuiltin:!1,permission:e.permission??void 0,staticPermissionCount:r?-1:o.length,allowsAllStaticPermissions:r,connectionCount:m?-1:g.length,allowsAllConnections:m,toolCount:d?-1:p.length,allowsAllTools:d,modelCount:A?-1:C,allowsAllModels:A})}const f=s.filter(e=>!e.isBuiltin);return{roles:s,customRoles:f,builtinRoles:s.filter(e=>e.isBuiltin),isLoading:u,error:c,refetch:a}}export{I as u};
@@ -1 +1 @@
1
- import{K as g,e as c,q as _,n as z,G as C,a as G,r as P}from"./index-BjoOIgbb.js";import{a as h,u as A,W as R}from"./use-mcp-client-B46VYAN_.js";const S={organizationId:"",sidebar_items:null,enabled_plugins:null,registry_config:null,simple_mode:null,default_home_agents:null},N={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}};function O(t,e){return{queryKey:g.organizationSettings(e),queryFn:async()=>{const n=await t.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}});return n?.isError?{...S,organizationId:e}:n.structuredContent??{...S,organizationId:e}},staleTime:6e4}}function E(t){const e=c.c(9),{org:n}=_();let s;e[0]!==n.id||e[1]!==n.slug?(s={connectionId:h,orgId:n.id,orgSlug:n.slug},e[0]=n.id,e[1]=n.slug,e[2]=s):s=e[2];const r=A(s);let i;e[3]!==r||e[4]!==n.id?(i=O(r,n.id),e[3]=r,e[4]=n.id,e[5]=i):i=e[5];const o=t;let a;return e[6]!==i||e[7]!==o?(a={...i,select:o},e[6]=i,e[7]=o,e[8]=a):a=e[8],z(a)}function Y(t,e){const n=c.c(6);let s;n[0]!==t||n[1]!==e?(s={connectionId:h,orgId:t,orgSlug:e},n[0]=t,n[1]=e,n[2]=s):s=n[2];const r=A(s);let i;n[3]!==r||n[4]!==t?(i=O(r,t),n[3]=r,n[4]=t,n[5]=i):i=n[5];const{data:o}=z(i);return o??null}function T(){const t=c.c(12),{org:e}=_();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:h,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const s=A(n),r=C();let i;t[3]!==s||t[4]!==e.id?(i=async l=>{const u=await s.callTool({name:"ORGANIZATION_SETTINGS_UPDATE",arguments:{organizationId:e.id,...l}});if(u?.isError)throw new Error(u.content?.[0]?.text??"Failed to update organization settings");const f=u.structuredContent;if(!f)throw new Error("ORGANIZATION_SETTINGS_UPDATE returned no payload");return f},t[3]=s,t[4]=e.id,t[5]=i):i=t[5];let o;t[6]!==e.id||t[7]!==r?(o=l=>{r.setQueryData(g.organizationSettings(e.id),u=>({...u??S,...l}))},t[6]=e.id,t[7]=r,t[8]=o):o=t[8];let a;return t[9]!==i||t[10]!==o?(a={mutationFn:i,onSuccess:o},t[9]=i,t[10]=o,t[11]=a):a=t[11],G(a)}function b(t){return t?.tiers?{tiers:{fast:t.tiers.fast??null,smart:t.tiers.smart??null,thinking:t.tiers.thinking??null,image:t.tiers.image??null,web_research:t.tiers.web_research??null}}:N}function H(){const{data:t}=E(Q);return t??N}function Q(t){return b(t.simple_mode)}function L(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({simple_mode:i},o),s=(i,o)=>e.mutateAsync({simple_mode:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function $(){const{data:t}=E(x);return t??null}function x(t){return t.registry_config}function W(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({registry_config:i},o),s=(i,o)=>e.mutateAsync({registry_config:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function Z(){const{data:t}=E(q);return t??null}function q(t){return t.default_home_agents}function U(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({default_home_agents:i},o),s=(i,o)=>e.mutateAsync({default_home_agents:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function j(){const t=c.c(14),{org:e}=_(),n=U(),s=C();let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=Promise.resolve(),t[0]=r):r=t[0];const i=P.useRef(r);let o;t[1]!==e.id?(o=g.organizationSettings(e.id),t[1]=e.id,t[2]=o):o=t[2];const a=o;let l;t[3]!==a||t[4]!==s?(l=()=>s.getQueryData(a)?.default_home_agents?.ids??[],t[3]=a,t[4]=s,t[5]=l):l=t[5];const u=l;let f;t[6]!==a||t[7]!==e.slug||t[8]!==s||t[9]!==n?(f=D=>{const I=i.current.then(async()=>{const w=s.getQueryData(a),p=D(w?.default_home_agents?.ids??[]);if(p!==null){s.setQueryData(a,m=>m&&{...m,default_home_agents:{ids:p}});try{await n.mutateAsync({ids:p}),await s.refetchQueries({queryKey:g.homeNextActions(e.slug),type:"active"})}catch(m){const M=m;throw s.setQueryData(a,w),M}}});return i.current=I.catch(k),I},t[6]=a,t[7]=e.slug,t[8]=s,t[9]=n,t[10]=f):f=t[10];const y=f;let d;return t[11]!==y||t[12]!==u?(d={currentIds:u,apply:y},t[11]=y,t[12]=u,t[13]=d):d=t[13],d}function k(){}function B(){const t=c.c(5),{org:e}=_(),n=$();let s;t[0]!==e.id?(s=R.REGISTRY(e.id),t[0]=e.id,t[1]=s):s=t[1];const r=s;let i;return t[2]!==r||t[3]!==n?(i=o=>{if(!n)return o===r;const a=n.registries[o];return a?a.enabled:o===r},t[2]=r,t[3]=n,t[4]=i):i=t[4],i}export{j as a,B as b,Y as c,T as d,H as e,L as f,$ as g,W as h,O as o,Z as u};
1
+ import{K as g,e as c,q as _,n as z,G as C,a as G,r as P}from"./index-DjCrtoJM.js";import{a as h,u as A,W as R}from"./use-mcp-client-Wf5qUXFF.js";const S={organizationId:"",sidebar_items:null,enabled_plugins:null,registry_config:null,simple_mode:null,default_home_agents:null},N={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}};function O(t,e){return{queryKey:g.organizationSettings(e),queryFn:async()=>{const n=await t.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}});return n?.isError?{...S,organizationId:e}:n.structuredContent??{...S,organizationId:e}},staleTime:6e4}}function E(t){const e=c.c(9),{org:n}=_();let s;e[0]!==n.id||e[1]!==n.slug?(s={connectionId:h,orgId:n.id,orgSlug:n.slug},e[0]=n.id,e[1]=n.slug,e[2]=s):s=e[2];const r=A(s);let i;e[3]!==r||e[4]!==n.id?(i=O(r,n.id),e[3]=r,e[4]=n.id,e[5]=i):i=e[5];const o=t;let a;return e[6]!==i||e[7]!==o?(a={...i,select:o},e[6]=i,e[7]=o,e[8]=a):a=e[8],z(a)}function Y(t,e){const n=c.c(6);let s;n[0]!==t||n[1]!==e?(s={connectionId:h,orgId:t,orgSlug:e},n[0]=t,n[1]=e,n[2]=s):s=n[2];const r=A(s);let i;n[3]!==r||n[4]!==t?(i=O(r,t),n[3]=r,n[4]=t,n[5]=i):i=n[5];const{data:o}=z(i);return o??null}function T(){const t=c.c(12),{org:e}=_();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:h,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const s=A(n),r=C();let i;t[3]!==s||t[4]!==e.id?(i=async l=>{const u=await s.callTool({name:"ORGANIZATION_SETTINGS_UPDATE",arguments:{organizationId:e.id,...l}});if(u?.isError)throw new Error(u.content?.[0]?.text??"Failed to update organization settings");const f=u.structuredContent;if(!f)throw new Error("ORGANIZATION_SETTINGS_UPDATE returned no payload");return f},t[3]=s,t[4]=e.id,t[5]=i):i=t[5];let o;t[6]!==e.id||t[7]!==r?(o=l=>{r.setQueryData(g.organizationSettings(e.id),u=>({...u??S,...l}))},t[6]=e.id,t[7]=r,t[8]=o):o=t[8];let a;return t[9]!==i||t[10]!==o?(a={mutationFn:i,onSuccess:o},t[9]=i,t[10]=o,t[11]=a):a=t[11],G(a)}function b(t){return t?.tiers?{tiers:{fast:t.tiers.fast??null,smart:t.tiers.smart??null,thinking:t.tiers.thinking??null,image:t.tiers.image??null,web_research:t.tiers.web_research??null}}:N}function H(){const{data:t}=E(Q);return t??N}function Q(t){return b(t.simple_mode)}function L(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({simple_mode:i},o),s=(i,o)=>e.mutateAsync({simple_mode:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function $(){const{data:t}=E(x);return t??null}function x(t){return t.registry_config}function W(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({registry_config:i},o),s=(i,o)=>e.mutateAsync({registry_config:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function Z(){const{data:t}=E(q);return t??null}function q(t){return t.default_home_agents}function U(){const t=c.c(7),e=T();let n,s;t[0]!==e?(n=(i,o)=>e.mutate({default_home_agents:i},o),s=(i,o)=>e.mutateAsync({default_home_agents:i},o),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let r;return t[3]!==e||t[4]!==n||t[5]!==s?(r={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=r):r=t[6],r}function j(){const t=c.c(14),{org:e}=_(),n=U(),s=C();let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=Promise.resolve(),t[0]=r):r=t[0];const i=P.useRef(r);let o;t[1]!==e.id?(o=g.organizationSettings(e.id),t[1]=e.id,t[2]=o):o=t[2];const a=o;let l;t[3]!==a||t[4]!==s?(l=()=>s.getQueryData(a)?.default_home_agents?.ids??[],t[3]=a,t[4]=s,t[5]=l):l=t[5];const u=l;let f;t[6]!==a||t[7]!==e.slug||t[8]!==s||t[9]!==n?(f=D=>{const I=i.current.then(async()=>{const w=s.getQueryData(a),p=D(w?.default_home_agents?.ids??[]);if(p!==null){s.setQueryData(a,m=>m&&{...m,default_home_agents:{ids:p}});try{await n.mutateAsync({ids:p}),await s.refetchQueries({queryKey:g.homeNextActions(e.slug),type:"active"})}catch(m){const M=m;throw s.setQueryData(a,w),M}}});return i.current=I.catch(k),I},t[6]=a,t[7]=e.slug,t[8]=s,t[9]=n,t[10]=f):f=t[10];const y=f;let d;return t[11]!==y||t[12]!==u?(d={currentIds:u,apply:y},t[11]=y,t[12]=u,t[13]=d):d=t[13],d}function k(){}function B(){const t=c.c(5),{org:e}=_(),n=$();let s;t[0]!==e.id?(s=R.REGISTRY(e.id),t[0]=e.id,t[1]=s):s=t[1];const r=s;let i;return t[2]!==r||t[3]!==n?(i=o=>{if(!n)return o===r;const a=n.registries[o];return a?a.enabled:o===r},t[2]=r,t[3]=n,t[4]=i):i=t[4],i}export{j as a,B as b,Y as c,T as d,H as e,L as f,$ as g,W as h,O as o,Z as u};
@@ -1 +1 @@
1
- import{e as a,q as C}from"./index-BjoOIgbb.js";import{u as R}from"./use-connection-NiFefepq.js";import{W as u}from"./use-mcp-client-B46VYAN_.js";import{g as p}from"./use-organization-settings-CGdaVuD7.js";function E(){const e=a.c(17),{org:i}=C(),o=p();let n;e[0]!==i.id?(n=u.REGISTRY(i.id),e[0]=i.id,e[1]=n):n=e[1];const c=n;let l;e[2]!==i.id?(l=u.COMMUNITY_REGISTRY(i.id),e[2]=i.id,e[3]=l):l=e[3];const d=l;let r;e[4]!==d||e[5]!==c?(r=[c,d],e[4]=d,e[5]=c,e[6]=r):r=e[6];let t;if(e[7]!==o||e[8]!==r){if(t=new Set(r),o?.registries){let s;e[10]!==o.registries?(s=Object.keys(o.registries),e[10]=o.registries,e[11]=s):s=e[11];for(const m of s)t.add(m)}e[7]=o,e[8]=r,e[9]=t}else t=e[9];const g=R();let f;if(e[12]!==g||e[13]!==t){let s;e[15]!==t?(s=m=>t.has(m.id),e[15]=t,e[16]=s):s=e[16],f=g.filter(s),e[12]=g,e[13]=t,e[14]=f}else f=e[14];return f}export{E as u};
1
+ import{e as a,q as C}from"./index-DjCrtoJM.js";import{u as R}from"./use-connection-C7K5Qf-S.js";import{W as u}from"./use-mcp-client-Wf5qUXFF.js";import{g as p}from"./use-organization-settings-DYscqYOA.js";function E(){const e=a.c(17),{org:i}=C(),o=p();let n;e[0]!==i.id?(n=u.REGISTRY(i.id),e[0]=i.id,e[1]=n):n=e[1];const c=n;let l;e[2]!==i.id?(l=u.COMMUNITY_REGISTRY(i.id),e[2]=i.id,e[3]=l):l=e[3];const d=l;let r;e[4]!==d||e[5]!==c?(r=[c,d],e[4]=d,e[5]=c,e[6]=r):r=e[6];let t;if(e[7]!==o||e[8]!==r){if(t=new Set(r),o?.registries){let s;e[10]!==o.registries?(s=Object.keys(o.registries),e[10]=o.registries,e[11]=s):s=e[11];for(const m of s)t.add(m)}e[7]=o,e[8]=r,e[9]=t}else t=e[9];const g=R();let f;if(e[12]!==g||e[13]!==t){let s;e[15]!==t?(s=m=>t.has(m.id),e[15]=t,e[16]=s):s=e[16],f=g.filter(s),e[12]=g,e[13]=t,e[14]=f}else f=e[14];return f}export{E as u};
@@ -1 +1 @@
1
- import{e as n,q as r,K as c,s as y,G as d,a as S}from"./index-BjoOIgbb.js";import{u as l}from"./studio-tools-DfxdEEgB.js";function C(){const e=n.c(7),{org:o}=r(),u=l();let i;e[0]!==o.id?(i=c.secrets(o.id),e[0]=o.id,e[1]=i):i=e[1];let t;e[2]!==u?(t=async()=>await u.call("SECRET_LIST",{}),e[2]=u,e[3]=t):t=e[3];let s;e[4]!==i||e[5]!==t?(s={queryKey:i,staleTime:6e4,queryFn:t},e[4]=i,e[5]=t,e[6]=s):s=e[6];const{data:a}=y(s);return a.secrets}function p(){const e=n.c(8),{org:o}=r(),u=l(),i=d();let t;e[0]!==u?(t=async f=>await u.call("SECRET_CREATE",{...f}),e[0]=u,e[1]=t):t=e[1];let s;e[2]!==o||e[3]!==i?(s=()=>{i.invalidateQueries({queryKey:c.secrets(o.id)})},e[2]=o,e[3]=i,e[4]=s):s=e[4];let a;return e[5]!==t||e[6]!==s?(a={mutationFn:t,onSuccess:s},e[5]=t,e[6]=s,e[7]=a):a=e[7],S(a)}export{p as a,C as u};
1
+ import{e as n,q as r,K as c,s as y,G as d,a as S}from"./index-DjCrtoJM.js";import{u as l}from"./studio-tools-C1zamUp1.js";function C(){const e=n.c(7),{org:o}=r(),u=l();let i;e[0]!==o.id?(i=c.secrets(o.id),e[0]=o.id,e[1]=i):i=e[1];let t;e[2]!==u?(t=async()=>await u.call("SECRET_LIST",{}),e[2]=u,e[3]=t):t=e[3];let s;e[4]!==i||e[5]!==t?(s={queryKey:i,staleTime:6e4,queryFn:t},e[4]=i,e[5]=t,e[6]=s):s=e[6];const{data:a}=y(s);return a.secrets}function p(){const e=n.c(8),{org:o}=r(),u=l(),i=d();let t;e[0]!==u?(t=async f=>await u.call("SECRET_CREATE",{...f}),e[0]=u,e[1]=t):t=e[1];let s;e[2]!==o||e[3]!==i?(s=()=>{i.invalidateQueries({queryKey:c.secrets(o.id)})},e[2]=o,e[3]=i,e[4]=s):s=e[4];let a;return e[5]!==t||e[6]!==s?(a={mutationFn:t,onSuccess:s},e[5]=t,e[6]=s,e[7]=a):a=e[7],S(a)}export{p as a,C as u};
@@ -1 +1 @@
1
- import{r as o,e as T,a0 as h}from"./index-BjoOIgbb.js";import{p as R,q as I}from"./question-004-sINsf4GQ.js";import{D as S}from"./watch-sse-pool-BSePGeIN.js";import{d as y}from"./decopilot-sse-pool-TF6jERkV.js";const b=()=>0;function D(s){const{orgSlug:e,taskId:n,enabled:t=!0,onStep:r,onFinish:u,onTaskStatus:f}=s,l=o.useRef({taskId:n,onStep:r,onFinish:u,onTaskStatus:f});l.current={taskId:n,onStep:r,onFinish:u,onTaskStatus:f};const i=o.useRef(null),p=o.useRef(t),d=o.useRef(e);(!i.current||p.current!==t||d.current!==e)&&(p.current=t,d.current=e,i.current=m=>{if(!t||!e)return()=>{};const E=k=>{let a;try{a=JSON.parse(k.data)}catch{return}const c=l.current;if(!(c.taskId&&a.subject!==c.taskId)){switch(a.type){case S.STEP:c.onStep?.(a);break;case S.FINISH:c.onFinish?.(a);break;case S.THREAD_STATUS:c.onTaskStatus?.(a);break}m()}};return y.subscribe(e,E)}),o.useSyncExternalStore(i.current,b,b)}const O=new Set(["completed","failed","requires_action"]);function q(s){const e=T.c(5),[n]=h();let t;e[0]!==n?(t=u=>{n.enableSounds&&O.has(u.data.status)&&R(I.dataUri).catch(_)},e[0]=n,e[1]=t):t=e[1];let r;e[2]!==s||e[3]!==t?(r={orgSlug:s,onTaskStatus:t},e[2]=s,e[3]=t,e[4]=r):r=e[4],D(r)}function _(s){console.warn("[status-sounds] playback failed:",s)}export{q as u};
1
+ import{r as o,e as T,a0 as h}from"./index-DjCrtoJM.js";import{p as R,q as I}from"./question-004-sINsf4GQ.js";import{D as S}from"./watch-sse-pool-WsArg2kN.js";import{d as y}from"./decopilot-sse-pool-BemyIcDl.js";const b=()=>0;function D(s){const{orgSlug:e,taskId:n,enabled:t=!0,onStep:r,onFinish:u,onTaskStatus:f}=s,l=o.useRef({taskId:n,onStep:r,onFinish:u,onTaskStatus:f});l.current={taskId:n,onStep:r,onFinish:u,onTaskStatus:f};const i=o.useRef(null),p=o.useRef(t),d=o.useRef(e);(!i.current||p.current!==t||d.current!==e)&&(p.current=t,d.current=e,i.current=m=>{if(!t||!e)return()=>{};const E=k=>{let a;try{a=JSON.parse(k.data)}catch{return}const c=l.current;if(!(c.taskId&&a.subject!==c.taskId)){switch(a.type){case S.STEP:c.onStep?.(a);break;case S.FINISH:c.onFinish?.(a);break;case S.THREAD_STATUS:c.onTaskStatus?.(a);break}m()}};return y.subscribe(e,E)}),o.useSyncExternalStore(i.current,b,b)}const O=new Set(["completed","failed","requires_action"]);function q(s){const e=T.c(5),[n]=h();let t;e[0]!==n?(t=u=>{n.enableSounds&&O.has(u.data.status)&&R(I.dataUri).catch(_)},e[0]=n,e[1]=t):t=e[1];let r;e[2]!==s||e[3]!==t?(r={orgSlug:s,onTaskStatus:t},e[2]=s,e[3]=t,e[4]=r):r=e[4],D(r)}function _(s){console.warn("[status-sounds] playback failed:",s)}export{q as u};
@@ -1 +1 @@
1
- import{e as p,r as f}from"./index-BjoOIgbb.js";import{u as w}from"./tooltip-CKtclZb-.js";function S(m,M){const e=p.c(12),u=M===void 0?"cards":M,o=w(),b=f.useRef(o),s=m?`deco-view-mode-${m}`:"deco-view-mode";let i;e[0]!==u||e[1]!==s?(i=()=>{const r=globalThis.localStorage?.getItem(s);return r==="cards"||r==="table"?r:u},e[0]=u,e[1]=s,e[2]=i):i=e[2];const[t,g]=f.useState(i);let l;e[3]!==s?(l=r=>{g(r),globalThis.localStorage?.setItem(s,r)},e[3]=s,e[4]=l):l=e[4];const d=l;let c,a;e[5]!==o||e[6]!==t?(c=()=>{!b.current&&o&&t==="table"&&g("cards"),b.current=o},a=[o,t],e[5]=o,e[6]=t,e[7]=c,e[8]=a):(c=e[7],a=e[8]),f.useEffect(c,a);let n;return e[9]!==d||e[10]!==t?(n=[t,d],e[9]=d,e[10]=t,e[11]=n):n=e[11],n}export{S as u};
1
+ import{e as p,r as f}from"./index-DjCrtoJM.js";import{u as w}from"./tooltip-MvXJgTec.js";function S(m,M){const e=p.c(12),u=M===void 0?"cards":M,o=w(),b=f.useRef(o),s=m?`deco-view-mode-${m}`:"deco-view-mode";let i;e[0]!==u||e[1]!==s?(i=()=>{const r=globalThis.localStorage?.getItem(s);return r==="cards"||r==="table"?r:u},e[0]=u,e[1]=s,e[2]=i):i=e[2];const[t,g]=f.useState(i);let l;e[3]!==s?(l=r=>{g(r),globalThis.localStorage?.setItem(s,r)},e[3]=s,e[4]=l):l=e[4];const d=l;let c,a;e[5]!==o||e[6]!==t?(c=()=>{!b.current&&o&&t==="table"&&g("cards"),b.current=o},a=[o,t],e[5]=o,e[6]=t,e[7]=c,e[8]=a):(c=e[7],a=e[8]),f.useEffect(c,a);let n;return e[9]!==d||e[10]!==t?(n=[t,d],e[9]=d,e[10]=t,e[11]=n):n=e[11],n}export{S as u};
@@ -1 +1 @@
1
- import{e as a,q as d,aO as p,n as P}from"./index-BjoOIgbb.js";import{b as L,a as V,u as _,c as A}from"./use-collections-CrAY0KoX.js";import{a as g,u as I}from"./use-mcp-client-B46VYAN_.js";function v(s){const t=a.c(5);let e;t[0]!==s?(e=s===void 0?{}:s,t[0]=s,t[1]=e):e=t[1];const n=e,{org:i}=d();let o;t[2]!==i.id||t[3]!==i.slug?(o={connectionId:g,orgId:i.id,orgSlug:i.slug},t[2]=i.id,t[3]=i.slug,t[4]=o):o=t[4];const l=I(o);return L(i.id,"VIRTUAL_MCP",l,n)}function R(s,t,e){return A(s,"VIRTUAL_MCP",t??void 0,e)}function b(s){const t=a.c(3),{org:e}=d();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const i=I(n);return _(e.id,"VIRTUAL_MCP",s??void 0,i)}function E(s){const t=a.c(15),{org:e}=d();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const i=I(n);let o,l,c;t[3]!==s||t[4]!==e.id?(o=[...s].sort(),c=P,l=p.virtualMcpLastUsed(e.id,o),t[3]=s,t[4]=e.id,t[5]=o,t[6]=l,t[7]=c):(o=t[5],l=t[6],c=t[7]);const C=o.length>0;let u;t[8]!==i||t[9]!==o?(u=async()=>{const M=(await i.callTool({name:"VIRTUAL_MCP_LAST_USED_LIST",arguments:{ids:o}})).structuredContent??{items:[]},f=new Map;for(const m of M.items)f.set(m.id,m);return f},t[8]=i,t[9]=o,t[10]=u):u=t[10];let r;return t[11]!==l||t[12]!==C||t[13]!==u?(r={queryKey:l,enabled:C,staleTime:3e4,queryFn:u},t[11]=l,t[12]=C,t[13]=u,t[14]=r):r=t[14],c(r)}function $(){const s=a.c(3),{org:t}=d();let e;s[0]!==t.id||s[1]!==t.slug?(e={connectionId:g,orgId:t.id,orgSlug:t.slug},s[0]=t.id,s[1]=t.slug,s[2]=e):e=s[2];const n=I(e);return V(t.id,"VIRTUAL_MCP",n)}export{v as a,$ as b,E as c,b as u,R as v};
1
+ import{e as a,q as d,aO as p,n as P}from"./index-DjCrtoJM.js";import{b as L,a as V,u as _,c as A}from"./use-collections-BTo2RzuF.js";import{a as g,u as I}from"./use-mcp-client-Wf5qUXFF.js";function v(s){const t=a.c(5);let e;t[0]!==s?(e=s===void 0?{}:s,t[0]=s,t[1]=e):e=t[1];const n=e,{org:i}=d();let o;t[2]!==i.id||t[3]!==i.slug?(o={connectionId:g,orgId:i.id,orgSlug:i.slug},t[2]=i.id,t[3]=i.slug,t[4]=o):o=t[4];const l=I(o);return L(i.id,"VIRTUAL_MCP",l,n)}function R(s,t,e){return A(s,"VIRTUAL_MCP",t??void 0,e)}function b(s){const t=a.c(3),{org:e}=d();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const i=I(n);return _(e.id,"VIRTUAL_MCP",s??void 0,i)}function E(s){const t=a.c(15),{org:e}=d();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const i=I(n);let o,l,c;t[3]!==s||t[4]!==e.id?(o=[...s].sort(),c=P,l=p.virtualMcpLastUsed(e.id,o),t[3]=s,t[4]=e.id,t[5]=o,t[6]=l,t[7]=c):(o=t[5],l=t[6],c=t[7]);const C=o.length>0;let u;t[8]!==i||t[9]!==o?(u=async()=>{const M=(await i.callTool({name:"VIRTUAL_MCP_LAST_USED_LIST",arguments:{ids:o}})).structuredContent??{items:[]},f=new Map;for(const m of M.items)f.set(m.id,m);return f},t[8]=i,t[9]=o,t[10]=u):u=t[10];let r;return t[11]!==l||t[12]!==C||t[13]!==u?(r={queryKey:l,enabled:C,staleTime:3e4,queryFn:u},t[11]=l,t[12]=C,t[13]=u,t[14]=r):r=t[14],c(r)}function $(){const s=a.c(3),{org:t}=d();let e;s[0]!==t.id||s[1]!==t.slug?(e={connectionId:g,orgId:t.id,orgSlug:t.slug},s[0]=t.id,s[1]=t.slug,s[2]=e):e=s[2];const n=I(e);return V(t.id,"VIRTUAL_MCP",n)}export{v as a,$ as b,E as c,b as u,R as v};
@@ -0,0 +1 @@
1
+ import{I as u}from"./use-infinite-scroll-CHxQ8pHV.js";import{cG as i}from"./index-DjCrtoJM.js";function t(e,r){return i(e,u,r)}export{t as u};
@@ -1 +1 @@
1
- import{bo as s,r as c,bT as a,bU as i}from"./index-BjoOIgbb.js";function f(r){const n=s({warn:r?.router===void 0}),t=r?.router||n,u=c.useRef(void 0);return a(t.stores.__store,e=>{if(r?.select){if(r.structuralSharing??t.options.defaultStructuralSharing){const o=i(u.current,r.select(e));return u.current=o,o}return r.select(e)}return e})}export{f as u};
1
+ import{bo as s,r as c,bT as a,bU as i}from"./index-DjCrtoJM.js";function f(r){const n=s({warn:r?.router===void 0}),t=r?.router||n,u=c.useRef(void 0);return a(t.stores.__store,e=>{if(r?.select){if(r.structuralSharing??t.options.defaultStructuralSharing){const o=i(u.current,r.select(e));return u.current=o,o}return r.select(e)}return e})}export{f as u};
@@ -0,0 +1 @@
1
+ import{I as s}from"./use-infinite-scroll-CHxQ8pHV.js";import{cG as u,aF as n}from"./index-DjCrtoJM.js";function a(r,e){return u({...r,enabled:!0,suspense:!0,throwOnError:n},s,e)}export{a as u};
@@ -1 +1 @@
1
- import{e as w,n as k,K as S,c as y,j as t}from"./index-BjoOIgbb.js";import{A as E}from"./avatar-DdrKHW7Q.js";import{u as K}from"./studio-tools-DfxdEEgB.js";function R(r){const e=w.c(9),p=K();let m;e[0]!==r?(m=S.user(r),e[0]=r,e[1]=m):m=e[1];let o;e[2]!==p||e[3]!==r?(o=async()=>{const{user:n}=await p.call("USER_GET",{id:r});return n},e[2]=p,e[3]=r,e[4]=o):o=e[4];const x=!!r;let s;return e[5]!==m||e[6]!==o||e[7]!==x?(s={queryKey:m,queryFn:o,staleTime:3e5,retry:1,enabled:x},e[5]=m,e[6]=o,e[7]=x,e[8]=s):s=e[8],k(s)}function A(r){const e=w.c(36),{id:p,size:m,showEmail:o,avatarOnly:x,className:s}=r,n=m===void 0?"xs":m,u=o===void 0?!1:o,d=x===void 0?!1:x,{data:c,isLoading:U,isError:b}=R(p);if(U){let l;e[0]!==s?(l=y("flex items-center gap-2",s),e[0]=s,e[1]=l):l=e[1];let a;e[2]!==n?(a=t.jsx(E.Skeleton,{shape:"circle",size:n}),e[2]=n,e[3]=a):a=e[3];let i;e[4]!==d||e[5]!==u?(i=!d&&t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),u&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"})]}),e[4]=d,e[5]=u,e[6]=i):i=e[6];let f;return e[7]!==l||e[8]!==a||e[9]!==i?(f=t.jsxs("div",{className:l,children:[a,i]}),e[7]=l,e[8]=a,e[9]=i,e[10]=f):f=e[10],f}if(b||!c){let l;e[11]!==s?(l=y("flex items-center gap-2",s),e[11]=s,e[12]=l):l=e[12];let a;e[13]!==n?(a=t.jsx(E,{shape:"circle",size:n,fallback:"?",muted:!0}),e[13]=n,e[14]=a):a=e[14];let i;e[15]!==d?(i=!d&&t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[15]=d,e[16]=i):i=e[16];let f;return e[17]!==l||e[18]!==a||e[19]!==i?(f=t.jsxs("div",{className:l,children:[a,i]}),e[17]=l,e[18]=a,e[19]=i,e[20]=f):f=e[20],f}let v;e[21]!==s?(v=y("flex items-center gap-2",s),e[21]=s,e[22]=v):v=e[22];const g=c.image??void 0;let h;e[23]!==n||e[24]!==g||e[25]!==c.name?(h=t.jsx(E,{shape:"circle",size:n,url:g,fallback:c.name}),e[23]=n,e[24]=g,e[25]=c.name,e[26]=h):h=e[26];let j;e[27]!==d||e[28]!==u||e[29]!==c.email||e[30]!==c.name?(j=!d&&t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"text-sm font-medium",children:c.name}),u&&t.jsx("div",{className:"text-xs text-muted-foreground",children:c.email})]}),e[27]=d,e[28]=u,e[29]=c.email,e[30]=c.name,e[31]=j):j=e[31];let N;return e[32]!==v||e[33]!==h||e[34]!==j?(N=t.jsxs("div",{className:v,children:[h,j]}),e[32]=v,e[33]=h,e[34]=j,e[35]=N):N=e[35],N}export{A as U};
1
+ import{e as w,n as k,K as S,c as y,j as t}from"./index-DjCrtoJM.js";import{A as E}from"./avatar-Glcqg-C7.js";import{u as K}from"./studio-tools-C1zamUp1.js";function R(r){const e=w.c(9),p=K();let m;e[0]!==r?(m=S.user(r),e[0]=r,e[1]=m):m=e[1];let o;e[2]!==p||e[3]!==r?(o=async()=>{const{user:n}=await p.call("USER_GET",{id:r});return n},e[2]=p,e[3]=r,e[4]=o):o=e[4];const x=!!r;let s;return e[5]!==m||e[6]!==o||e[7]!==x?(s={queryKey:m,queryFn:o,staleTime:3e5,retry:1,enabled:x},e[5]=m,e[6]=o,e[7]=x,e[8]=s):s=e[8],k(s)}function A(r){const e=w.c(36),{id:p,size:m,showEmail:o,avatarOnly:x,className:s}=r,n=m===void 0?"xs":m,u=o===void 0?!1:o,d=x===void 0?!1:x,{data:c,isLoading:U,isError:b}=R(p);if(U){let l;e[0]!==s?(l=y("flex items-center gap-2",s),e[0]=s,e[1]=l):l=e[1];let a;e[2]!==n?(a=t.jsx(E.Skeleton,{shape:"circle",size:n}),e[2]=n,e[3]=a):a=e[3];let i;e[4]!==d||e[5]!==u?(i=!d&&t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),u&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"})]}),e[4]=d,e[5]=u,e[6]=i):i=e[6];let f;return e[7]!==l||e[8]!==a||e[9]!==i?(f=t.jsxs("div",{className:l,children:[a,i]}),e[7]=l,e[8]=a,e[9]=i,e[10]=f):f=e[10],f}if(b||!c){let l;e[11]!==s?(l=y("flex items-center gap-2",s),e[11]=s,e[12]=l):l=e[12];let a;e[13]!==n?(a=t.jsx(E,{shape:"circle",size:n,fallback:"?",muted:!0}),e[13]=n,e[14]=a):a=e[14];let i;e[15]!==d?(i=!d&&t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[15]=d,e[16]=i):i=e[16];let f;return e[17]!==l||e[18]!==a||e[19]!==i?(f=t.jsxs("div",{className:l,children:[a,i]}),e[17]=l,e[18]=a,e[19]=i,e[20]=f):f=e[20],f}let v;e[21]!==s?(v=y("flex items-center gap-2",s),e[21]=s,e[22]=v):v=e[22];const g=c.image??void 0;let h;e[23]!==n||e[24]!==g||e[25]!==c.name?(h=t.jsx(E,{shape:"circle",size:n,url:g,fallback:c.name}),e[23]=n,e[24]=g,e[25]=c.name,e[26]=h):h=e[26];let j;e[27]!==d||e[28]!==u||e[29]!==c.email||e[30]!==c.name?(j=!d&&t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"text-sm font-medium",children:c.name}),u&&t.jsx("div",{className:"text-xs text-muted-foreground",children:c.email})]}),e[27]=d,e[28]=u,e[29]=c.email,e[30]=c.name,e[31]=j):j=e[31];let N;return e[32]!==v||e[33]!==h||e[34]!==j?(N=t.jsxs("div",{className:v,children:[h,j]}),e[32]=v,e[33]=h,e[34]=j,e[35]=N):N=e[35],N}export{A as U};
@@ -1 +1 @@
1
- import{e as k,r as C,c as x,j as i}from"./index-BjoOIgbb.js";import{b as I,T as P,a as L}from"./tooltip-CKtclZb-.js";const M={sm:{button:"size-7",icon:"size-4"},md:{button:"size-9",icon:"size-5"},lg:{button:"size-12",icon:"size-6"}};function B(S){const e=k.c(27),{value:s,onValueChange:y,options:o,size:R,fullWidth:E,className:z}=S,V=R===void 0?"sm":R,u=E===void 0?!1:E;let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=[],e[0]=b):b=e[0];const _=C.useRef(b);let g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g={left:0,width:0,opacity:0},e[1]=g):g=e[1];const[f,W]=C.useState(g);let h,p;e[2]!==o||e[3]!==s?(h=()=>{const t=o.findIndex(j=>j.value===s),m=_.current[t];m&&W({left:m.offsetLeft,width:m.offsetWidth,opacity:1})},p=[s,o],e[2]=o,e[3]=s,e[4]=h,e[5]=p):(h=e[4],p=e[5]),C.useEffect(h,p);const d=M[V];let n;e[6]!==z?(n=x("relative flex gap-0 bg-muted rounded-lg",z),e[6]=z,e[7]=n):n=e[7];let l;e[8]!==d||e[9]!==u||e[10]!==y||e[11]!==o||e[12]!==s?(l=o.map((t,m)=>{const j=i.jsxs("button",{ref:$=>{_.current[m]=$},type:"button",onClick:()=>y(t.value),className:x("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",u?"flex-1 h-12 px-4":d.button,!u&&t.label?"px-3":""),children:[i.jsx("span",{className:x("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",d.icon,s===t.value?"text-foreground":"text-muted-foreground"),children:t.icon}),t.label&&i.jsx("span",{className:x("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===t.value?"text-foreground":"text-muted-foreground"),children:t.label})]},t.value);return t.tooltip?i.jsxs(I,{children:[i.jsx(P,{asChild:!0,children:j}),i.jsx(L,{side:"bottom",children:t.tooltip})]},t.value):j}),e[8]=d,e[9]=u,e[10]=y,e[11]=o,e[12]=s,e[13]=l):l=e[13];const w=u?"h-12":d.button;let a;e[14]!==w?(a=x("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",w),e[14]=w,e[15]=a):a=e[15];const N=`${f.left}px`,T=`${f.width}px`;let r;e[16]!==f.opacity||e[17]!==N||e[18]!==T?(r={left:N,width:T,opacity:f.opacity},e[16]=f.opacity,e[17]=N,e[18]=T,e[19]=r):r=e[19];let c;e[20]!==a||e[21]!==r?(c=i.jsx("div",{className:a,style:r}),e[20]=a,e[21]=r,e[22]=c):c=e[22];let v;return e[23]!==c||e[24]!==n||e[25]!==l?(v=i.jsxs("div",{className:n,children:[l,c]}),e[23]=c,e[24]=n,e[25]=l,e[26]=v):v=e[26],v}export{B as V};
1
+ import{e as k,r as C,c as x,j as i}from"./index-DjCrtoJM.js";import{b as I,T as P,a as L}from"./tooltip-MvXJgTec.js";const M={sm:{button:"size-7",icon:"size-4"},md:{button:"size-9",icon:"size-5"},lg:{button:"size-12",icon:"size-6"}};function B(S){const e=k.c(27),{value:s,onValueChange:y,options:o,size:R,fullWidth:E,className:z}=S,V=R===void 0?"sm":R,u=E===void 0?!1:E;let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=[],e[0]=b):b=e[0];const _=C.useRef(b);let g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g={left:0,width:0,opacity:0},e[1]=g):g=e[1];const[f,W]=C.useState(g);let h,p;e[2]!==o||e[3]!==s?(h=()=>{const t=o.findIndex(j=>j.value===s),m=_.current[t];m&&W({left:m.offsetLeft,width:m.offsetWidth,opacity:1})},p=[s,o],e[2]=o,e[3]=s,e[4]=h,e[5]=p):(h=e[4],p=e[5]),C.useEffect(h,p);const d=M[V];let n;e[6]!==z?(n=x("relative flex gap-0 bg-muted rounded-lg",z),e[6]=z,e[7]=n):n=e[7];let l;e[8]!==d||e[9]!==u||e[10]!==y||e[11]!==o||e[12]!==s?(l=o.map((t,m)=>{const j=i.jsxs("button",{ref:$=>{_.current[m]=$},type:"button",onClick:()=>y(t.value),className:x("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",u?"flex-1 h-12 px-4":d.button,!u&&t.label?"px-3":""),children:[i.jsx("span",{className:x("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",d.icon,s===t.value?"text-foreground":"text-muted-foreground"),children:t.icon}),t.label&&i.jsx("span",{className:x("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===t.value?"text-foreground":"text-muted-foreground"),children:t.label})]},t.value);return t.tooltip?i.jsxs(I,{children:[i.jsx(P,{asChild:!0,children:j}),i.jsx(L,{side:"bottom",children:t.tooltip})]},t.value):j}),e[8]=d,e[9]=u,e[10]=y,e[11]=o,e[12]=s,e[13]=l):l=e[13];const w=u?"h-12":d.button;let a;e[14]!==w?(a=x("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",w),e[14]=w,e[15]=a):a=e[15];const N=`${f.left}px`,T=`${f.width}px`;let r;e[16]!==f.opacity||e[17]!==N||e[18]!==T?(r={left:N,width:T,opacity:f.opacity},e[16]=f.opacity,e[17]=N,e[18]=T,e[19]=r):r=e[19];let c;e[20]!==a||e[21]!==r?(c=i.jsx("div",{className:a,style:r}),e[20]=a,e[21]=r,e[22]=c):c=e[22];let v;return e[23]!==c||e[24]!==n||e[25]!==l?(v=i.jsxs("div",{className:n,children:[l,c]}),e[23]=c,e[24]=n,e[25]=l,e[26]=v):v=e[26],v}export{B as V};
@@ -1 +1 @@
1
- import"./index-BjoOIgbb.js";const y={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},p=Object.values(y);function _(n,l,i,o,c){const a=Math.min(n,l*o**i);return(1-c*Math.random())*a}const v=3e4,D=1e3;function O(n){const{buildUrl:l,eventTypes:i,name:o,crossTab:c=!1}=n,a=new Map,u=c&&typeof BroadcastChannel<"u"&&typeof navigator<"u"&&typeof navigator.locks<"u";if(u&&!o)throw new Error("createSSESubscription: `name` is required when crossTab");function d(e,t){e.bootDone=!0;for(const s of e.handlers)try{s(t)}catch{}}function h(e){for(const t of e.reconnectHandlers)try{t()}catch{}}function E(e){const t=new EventSource(l(e.key));e.es=t,t.onopen=()=>{e.reconnectAttempt=0,e.bootDone&&(h(e),e.channel?.postMessage({kind:"reconnect"})),e.bootDone=!0},t.onerror=()=>{e.es===t&&t.readyState===EventSource.CLOSED&&C(e)};const s=r=>{e.channel?.postMessage({kind:"event",type:r.type,data:r.data}),d(e,r)};for(const r of i)t.addEventListener(r,s)}function C(e){if(e.refCount<=0||e.reconnectTimer)return;const t=_(v,D,e.reconnectAttempt,2,0);e.reconnectAttempt++,e.reconnectTimer=setTimeout(()=>{e.reconnectTimer=null,!(e.refCount<=0||!e.isLeader)&&(e.es?.close(),E(e))},t)}function T(e){if(e.refCount<=0){e.releaseLeadership?.(),e.releaseLeadership=null;return}e.isLeader=!0,E(e)}function m(e){if(!u){T(e);return}e.lockAbort=new AbortController,navigator.locks.request(`sse-leader:${o}:${e.key}`,{signal:e.lockAbort.signal},()=>new Promise(t=>{e.releaseLeadership=t,T(e)})).catch(()=>{})}function L(e,t){t.kind==="event"?d(e,new MessageEvent(t.type,{data:t.data})):t.kind==="reconnect"&&h(e)}function A(e){const t=a.get(e);if(t)return t;const s={key:e,refCount:0,handlers:new Set,reconnectHandlers:new Set,bootDone:!1,es:null,isLeader:!1,reconnectAttempt:0,reconnectTimer:null,channel:null,lockAbort:null,releaseLeadership:null};if(a.set(e,s),u){const r=new BroadcastChannel(`sse:${o}:${e}`);r.onmessage=f=>L(s,f.data),s.channel=r}return m(s),s}function k(e){e.reconnectTimer&&(clearTimeout(e.reconnectTimer),e.reconnectTimer=null),e.es?.close(),e.es=null,e.releaseLeadership?.(),e.releaseLeadership=null,e.lockAbort?.abort(),e.lockAbort=null,e.channel?.close(),e.channel=null,a.delete(e.key)}return{subscribe(e,t,s){const r=A(e);r.refCount++,r.handlers.add(t),s&&r.reconnectHandlers.add(s);let f=!1;return()=>{f||(f=!0,r.handlers.delete(t),s&&r.reconnectHandlers.delete(s),r.refCount--,r.refCount<=0&&k(r))}}}}function w(n,l){const i=new Set(l);return{subscribe(o,c,a){const u=d=>{i.has(d.type)&&c(d)};return n.subscribe(o,u,a)}}}const b=["workflow.execution.created","workflow.execution.resumed","workflow.step.execute","workflow.step.completed"],g=[...p,"workflow.*"],M=[...p,...b],S=O({name:"watch",buildUrl:n=>`/api/${encodeURIComponent(n)}/watch?types=${g.join(",")}`,eventTypes:M,crossTab:!0}),H=w(S,[...p]),P=w(S,b);export{y as D,H as d,_ as e,P as w};
1
+ import"./index-DjCrtoJM.js";const y={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},p=Object.values(y);function _(n,l,i,o,c){const a=Math.min(n,l*o**i);return(1-c*Math.random())*a}const v=3e4,D=1e3;function O(n){const{buildUrl:l,eventTypes:i,name:o,crossTab:c=!1}=n,a=new Map,u=c&&typeof BroadcastChannel<"u"&&typeof navigator<"u"&&typeof navigator.locks<"u";if(u&&!o)throw new Error("createSSESubscription: `name` is required when crossTab");function d(e,t){e.bootDone=!0;for(const s of e.handlers)try{s(t)}catch{}}function h(e){for(const t of e.reconnectHandlers)try{t()}catch{}}function E(e){const t=new EventSource(l(e.key));e.es=t,t.onopen=()=>{e.reconnectAttempt=0,e.bootDone&&(h(e),e.channel?.postMessage({kind:"reconnect"})),e.bootDone=!0},t.onerror=()=>{e.es===t&&t.readyState===EventSource.CLOSED&&C(e)};const s=r=>{e.channel?.postMessage({kind:"event",type:r.type,data:r.data}),d(e,r)};for(const r of i)t.addEventListener(r,s)}function C(e){if(e.refCount<=0||e.reconnectTimer)return;const t=_(v,D,e.reconnectAttempt,2,0);e.reconnectAttempt++,e.reconnectTimer=setTimeout(()=>{e.reconnectTimer=null,!(e.refCount<=0||!e.isLeader)&&(e.es?.close(),E(e))},t)}function T(e){if(e.refCount<=0){e.releaseLeadership?.(),e.releaseLeadership=null;return}e.isLeader=!0,E(e)}function m(e){if(!u){T(e);return}e.lockAbort=new AbortController,navigator.locks.request(`sse-leader:${o}:${e.key}`,{signal:e.lockAbort.signal},()=>new Promise(t=>{e.releaseLeadership=t,T(e)})).catch(()=>{})}function L(e,t){t.kind==="event"?d(e,new MessageEvent(t.type,{data:t.data})):t.kind==="reconnect"&&h(e)}function A(e){const t=a.get(e);if(t)return t;const s={key:e,refCount:0,handlers:new Set,reconnectHandlers:new Set,bootDone:!1,es:null,isLeader:!1,reconnectAttempt:0,reconnectTimer:null,channel:null,lockAbort:null,releaseLeadership:null};if(a.set(e,s),u){const r=new BroadcastChannel(`sse:${o}:${e}`);r.onmessage=f=>L(s,f.data),s.channel=r}return m(s),s}function k(e){e.reconnectTimer&&(clearTimeout(e.reconnectTimer),e.reconnectTimer=null),e.es?.close(),e.es=null,e.releaseLeadership?.(),e.releaseLeadership=null,e.lockAbort?.abort(),e.lockAbort=null,e.channel?.close(),e.channel=null,a.delete(e.key)}return{subscribe(e,t,s){const r=A(e);r.refCount++,r.handlers.add(t),s&&r.reconnectHandlers.add(s);let f=!1;return()=>{f||(f=!0,r.handlers.delete(t),s&&r.reconnectHandlers.delete(s),r.refCount--,r.refCount<=0&&k(r))}}}}function w(n,l){const i=new Set(l);return{subscribe(o,c,a){const u=d=>{i.has(d.type)&&c(d)};return n.subscribe(o,u,a)}}}const b=["workflow.execution.created","workflow.execution.resumed","workflow.step.execute","workflow.step.completed"],g=[...p,"workflow.*"],M=[...p,...b],S=O({name:"watch",buildUrl:n=>`/api/${encodeURIComponent(n)}/watch?types=${g.join(",")}`,eventTypes:M,crossTab:!0}),H=w(S,[...p]),P=w(S,b);export{y as D,H as d,_ as e,P as w};
@@ -1 +1 @@
1
- import{e as oe,j as t,B as Ce,f as Be,b as lt,q as ze,r as at,o as Le,G as ct,a as dt,K as Fe,ec as Ke,dz as mt}from"./index-BjoOIgbb.js";import{u as pt,a as ut}from"./use-mcp-client-B46VYAN_.js";import{B as ft,g as Me}from"./generate-id-DfnWKozM.js";import{C as qe}from"./collection-display-button-ByiFEfVE.js";import{C as ht}from"./collection-search-B62hBYcH.js";import{C as gt}from"./card-B7vNztnP.js";import{I as Ve}from"./integration-icon-BxZqCPgY.js";import{D as Ge,a as Qe,b as He,c as O}from"./dropdown-menu-CggnBdjt.js";import{s as Je,a as Ye}from"./Eye-Dmik5hYP.js";import{i as Xe}from"./DotsVertical-Dok1GVxI.js";import{i as Ze}from"./Tool01-DQ4cTbeu.js";import{s as et}from"./Trash01-Biurgfq6.js";import{C as xt}from"./collection-table-wrapper-p305Tve_.js";import{E as Ue}from"./empty-state-C6yeON6c.js";import{n as We}from"./Stars02-D6zEAnUT.js";import{U as jt}from"./user-T0gsPnBH.js";import{E as tt}from"./empty-state-DtTBbW_W.js";import{u as Ct}from"./use-list-state-DRxXstLB.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-ZB1-0uWA.js";import{a as It,b as At}from"./use-collections-CrAY0KoX.js";import{a as Tt}from"./use-connection-NiFefepq.js";import{s as Et}from"./Plus-CdvauR8B.js";import{a as Ot}from"./layout-D6JyUu-W.js";import{u as $t}from"./studio-tools-DfxdEEgB.js";import{P as je}from"./index-M8U0QO9V.js";import"./collections-BU-b7Qnp.js";import"./SwitchHorizontal01-DC97OO23.js";import"./Check-DCDpfG7m.js";import"./tooltip-CKtclZb-.js";import"./view-mode-toggle-BvPi1TV1.js";import"./badge-GxV01_sa.js";import"./SearchMd-DvX2rzEB.js";import"./Container-Catp9d2q.js";import"./agent-icon-CjlB-XbA.js";import"./AlertCircle-BQLR7I4E.js";import"./RefreshCcw01-4ELQWtuB.js";import"./XCircle-G0WrPq0g.js";import"./ArrowUpRight-DSaWSvAP.js";import"./ZapSquare-C9LhFrIW.js";import"./Users03-CA9cu5qb.js";import"./CheckCircle-BBK-3Pzt.js";import"./ChevronDown-BD0G-h2k.js";import"./ChevronLeft-DtP_Ayjz.js";import"./ChevronRight-DUzhuedZ.js";import"./ChevronUp-D5M0geM5.js";import"./ZoomOut-CImzlj9g.js";import"./Globe01-D1c-3J9t.js";import"./FilterLines-C37LaXJ1.js";import"./Star01--MeVNqbA.js";import"./Palette-C74Da44y.js";import"./HardDrive-C1vRZoAn.js";import"./Key01-CdveS1HN.js";import"./LayoutLeft-Bfxz6P9F.js";import"./LinkExternal01-CxEkPs1F.js";import"./Monitor01-Bkoa3Nbe.js";import"./Sun-BGVsB7Cm.js";import"./Play-BERjgeke.js";import"./Settings02-Cqwfv4FN.js";import"./Shield01-6id4oLiZ.js";import"./Stars01-C2BTpZeS.js";import"./Upload01-B-0o1yeU.js";import"./User01-CZ5ejYDg.js";import"./Users01-CKNLJr4G.js";import"./XClose-LNW85JIs.js";import"./X-DlMQL-XM.js";import"./Zap-CbtV6Vvm.js";import"./table-GnXYzms9.js";import"./avatar-DdrKHW7Q.js";import"./use-view-mode-C2K6zcu8.js";import"./sidebar-CIJpOENy.js";import"./sheet-CxiAY8T5.js";function kt(i,e){const s=i.properties||{};for(const n in s){const a=s[n];if(a&&a.type==="string"&&(a.format==="url"||a.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function zt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let a;e[0]!==s||e[1]!==l?(a=kt(l,s),e[0]=s,e[1]=l,e[2]=a):a=e[2];const r=a,u=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let m;e[3]!==n?(m=n&&Object.keys(n).length>0,e[3]=n,e[4]=m):m=e[4];const o=m;let p;e[5]!==r||e[6]!==s.title?(p=t.jsx(Ve,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=p):p=e[7];let d;e[8]!==s.title?(d=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=d):d=e[9];const h=u||"No description";let c;e[10]!==h?(c=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h}),e[10]=h,e[11]=c):c=e[11];let v;e[12]!==d||e[13]!==c?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[d,c]}),e[12]=d,e[13]=c,e[14]=v):v=e[14];let y;e[15]!==p||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[p,v]}),e[15]=p,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Mt,onMouseDown:Kt,children:t.jsxs(Ge,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Ft,children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:Lt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(Je,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(Ze,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ye,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(et,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}function Mt(i){return i.stopPropagation()}const Ut=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Wt(i){return Object.keys(i).find(e=>Ut.includes(e.toLowerCase()))}function st(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Rt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:a,sortKey:r,sortDirection:u,onSort:m,actions:o,onItemClick:p,headerActions:d,emptyState:h,readOnly:c,columns:v,hideToolbar:y,sortableFields:b}=i,x=u===void 0?"asc":u,g=m===void 0?Gt:m;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const f=$,T=p===void 0?Vt:p,E=d===void 0?null:d,N=h===void 0?null:h,k=c===void 0?!1:c,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(qt).filter(A=>!P||P.includes(A.id)).map(Bt):st(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(qe,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==f||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==a||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(zt,{item:A,schema:l,readOnly:k,actions:f})},A.id))})}):t.jsx(xt,{columns:Jt(j,l,P,f),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}),e[13]=f,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=a,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Bt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function qt(i){return i.sortable!==!1}function Vt(){}function Gt(){}function Qt(i){return{id:"actions",header:"",render:e=>t.jsxs(Ge,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(Je,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(Ze,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ye,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(et,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function it(i){const e=i.type;return Array.isArray(e)?e.every(s=>it({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Ht(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const p=s[o];return p&&it(p)}),n=Wt(s),a=[],r=new Set;n&&l.includes(n)&&(a.push(n),r.add(n));const u=["title","description","updated_at","updated_by"];for(const o of u)l.includes(o)&&!r.has(o)&&(a.push(o),r.add(o));const m=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,p)=>o.localeCompare(p));for(const o of m)a.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(a.push(o),r.add(o));return a.map(o=>{const p=s[o],d=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:h=>{const c=h[o];return t.jsx(Ve,{icon:c,name:h.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:h=>{const c=h[o];return c==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(c)})},sortable:d,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c?t.jsx(jt,{id:String(c),size:"xs"}):"—"},sortable:d,cellClassName:"max-w-[250px]"}:p?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c?t.jsx("span",{className:"block truncate max-w-full",children:new Date(c).toLocaleDateString()}):"—"},sortable:d,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(c)})},sortable:d,cellClassName:"max-w-[200px]"}})}function Jt(i,e,s,l){const n=i||Ht(e,s);return n.some(u=>u.id==="actions")?n:Object.keys(l).length>0?[...n,Qt(l)]:n}function Yt(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:a}=i,r=n.name,u=n.schema??ft,m=n.hasCreateTool,o=n.hasUpdateTool,p=n.hasDeleteTool,d=Be(),{data:h}=lt.useSession(),c=h?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=pt(g),f=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!m&&!o&&!p;let ne;e[14]!==b||e[15]!==r||e[16]!==d||e[17]!==a||e[18]!==l?(ne=C=>{if(a){a(C);return}d({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=d,e[17]=a,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==f.create||e[21]!==c?(re=async C=>{const xe=new Date().toISOString();await f.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:c,updated_by:c})},e[20]=f.create,e[21]=c,e[22]=re):re=e[22];const be=re,[F,ve]=at.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const ot=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==m?(M=m&&{duplicate:be},e[27]=be,e[28]=m,e[29]=M):M=e[29];let U;e[30]!==p?(U=p&&{delete:ot},e[30]=p,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==f.delete||e[37]!==F?(ce=async()=>{F&&(await f.delete.mutateAsync(F.id),ve(null))},e[36]=f.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==f.create||e[40]!==b||e[41]!==r||e[42]!==m||e[43]!==d||e[44]!==l||e[45]!==c?(de=async()=>{if(!m){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:c,updated_by:c};try{const ke=await f.create.mutateAsync(xe);d({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=f.create,e[40]=b,e[41]=r,e[42]=m,e[43]=d,e[44]=l,e[45]=c,e[46]=de):de=e[46];const we=de;let me;e[47]!==u?(me=st(u),e[47]=u,e[48]=me):me=e[48];const Se=me,nt=(I?.length??0)>0,rt=m&&!nt&&!N;let pe;e[49]!==f.create||e[50]!==we||e[51]!==m?(pe=m?t.jsxs(Ce,{onClick:we,size:"sm",disabled:f.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),f.create.isPending?"Creating...":"Create"]}):null,e[49]=f.create,e[50]=we,e[51]=m,e[52]=pe):pe=e[52];const ue=pe,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(qe,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let q;e[65]!==ue||e[66]!==m?(q=m&&t.jsx("div",{className:"pr-3",children:ue}),e[65]=ue,e[66]=m,e[67]=q):q=e[67];let V;e[68]!==B||e[69]!==q?(V=t.jsxs("div",{className:"flex items-center gap-2",children:[B,q]}),e[68]=B,e[69]=q,e[70]=V):V=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=rt?ue:void 0;let H;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(H=t.jsx(tt,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=H):H=e[78];let J;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==u||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==H||e[91]!==z?(J=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Rt,{hideToolbar:!0,data:G,schema:u,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:H})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=u,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=H,e[91]=z,e[92]=J):J=e[92];let Y;e[93]!==V||e[94]!==J?(Y=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[V,J]}),e[93]=V,e[94]=J,e[95]=Y):Y=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let X;e[98]!==Oe?(X=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=X):X=e[99];let Z;e[100]!==f.delete.isPending?(Z=t.jsx(vt,{disabled:f.delete.isPending,children:"Cancel"}),e[100]=f.delete.isPending,e[101]=Z):Z=e[101];const $e=f.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==f.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:f.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=f.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==Z||e[107]!==ee?(te=t.jsxs(Pt,{children:[Z,ee]}),e[106]=Z,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==X||e[110]!==te?(se=t.jsxs(_t,{children:[X,te]}),e[109]=X,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==Y||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,Y,ie]}),e[115]=W,e[116]=Y,e[117]=ie,e[118]=ge):ge=e[118],ge}function Xt(){const i=oe.c(10),{org:e,project:s}=ze(),l=ct(),n=$t();let a;i[0]!==s||i[1]!==n?(a=async o=>{const p=s.enabledPlugins??[];if(p.includes(o))return;const d=[...p,o];return await n.call("COLLECTION_VIRTUAL_MCP_UPDATE",{id:s.id,data:{metadata:{enabled_plugins:d}}})},i[0]=s,i[1]=n,i[2]=a):a=i[2];let r;i[3]!==e||i[4]!==s||i[5]!==l?(r=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[3]=e,i[4]=s,i[5]=l,i[6]=r):r=i[6];let u;return i[7]!==a||i[8]!==r?(u={mutationFn:a,onSuccess:r,onError:Zt},i[7]=a,i[8]=r,i[9]=u):u=i[9],dt(u)}function Zt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function es(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:a}=i,r=Xt();let u;e[0]!==r||e[1]!==s?(u=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=u):u=e[2];const m=u,o=a??null,p=r.isPending?"Enabling…":"Enable plugin";let d;e[3]!==r.isPending||e[4]!==m||e[5]!==p?(d=t.jsx(Ce,{onClick:m,disabled:r.isPending,children:p}),e[3]=r.isPending,e[4]=m,e[5]=p,e[6]=d):d=e[6];let h;return e[7]!==n||e[8]!==o||e[9]!==d||e[10]!==l?(h=t.jsx(tt,{image:o,title:l,description:n,actions:d}),e[7]=n,e[8]=o,e[9]=d,e[10]=l,e[11]=h):h=e[11],h}const ts={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function vi(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(es,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(mt,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Yt,{connectionId:ut,org:e.slug,activeCollection:ts,onItemClick:a=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:a.id}})})})})}export{vi as default};
1
+ import{e as oe,j as t,B as Ce,f as Be,b as lt,q as ze,r as at,o as Le,G as ct,a as dt,K as Fe,ec as Ke,dz as mt}from"./index-DjCrtoJM.js";import{u as pt,a as ut}from"./use-mcp-client-Wf5qUXFF.js";import{B as ft,g as Me}from"./generate-id-DCN1LrlB.js";import{C as qe}from"./collection-display-button-BHNg4RzF.js";import{C as ht}from"./collection-search-CFFTRK3x.js";import{C as gt}from"./card-DeDg0Mpx.js";import{I as Ve}from"./integration-icon-CYVpZTf5.js";import{D as Ge,a as Qe,b as He,c as O}from"./dropdown-menu-D2S2HMhI.js";import{s as Je,a as Ye}from"./Eye-Co-ItdFE.js";import{i as Xe}from"./DotsVertical-BwZzHCbU.js";import{i as Ze}from"./Tool01-Nn7pl58k.js";import{s as et}from"./Trash01-BW2v6vxa.js";import{C as xt}from"./collection-table-wrapper-CJC6Vyfs.js";import{E as Ue}from"./empty-state-BEPxxZyq.js";import{n as We}from"./Stars02-WR3K9Daq.js";import{U as jt}from"./user-CNkzK1zV.js";import{E as tt}from"./empty-state-ZcLmoTrQ.js";import{u as Ct}from"./use-list-state-ohTb0Oa4.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-CstddcEP.js";import{a as It,b as At}from"./use-collections-BTo2RzuF.js";import{a as Tt}from"./use-connection-C7K5Qf-S.js";import{s as Et}from"./Plus-DrYyBDmj.js";import{a as Ot}from"./layout-mA5Rj_u2.js";import{u as $t}from"./studio-tools-C1zamUp1.js";import{P as je}from"./index-D7vPwljU.js";import"./collections-CWnO7g9J.js";import"./SwitchHorizontal01-BjyN-RbX.js";import"./Check-CkY-NLLZ.js";import"./tooltip-MvXJgTec.js";import"./view-mode-toggle-Do2GCdol.js";import"./badge-CjjK5Sr7.js";import"./SearchMd-Dq0euRWv.js";import"./Container-Dt-ev6Gi.js";import"./agent-icon-DbC1U9Lv.js";import"./AlertCircle-CNjNg2wb.js";import"./RefreshCcw01-eSV0Gr10.js";import"./XCircle-Bz32In76.js";import"./ArrowUpRight-7-SM74wR.js";import"./ZapSquare-DdYqdyu4.js";import"./Users03-Dc2Q2YCx.js";import"./CheckCircle-DYKqL__C.js";import"./ChevronDown-B8XrNXeE.js";import"./ChevronLeft-B6gErU0k.js";import"./ChevronRight-BJRYs8bt.js";import"./ChevronUp-CgxnjYlU.js";import"./ZoomOut-BP5vTMyD.js";import"./Globe01-BnLBFtky.js";import"./FilterLines-DwPmuK2v.js";import"./Star01-ChWAyIjY.js";import"./Palette-Cu3PTFf5.js";import"./HardDrive-DmPQQU2w.js";import"./Key01-BuFH2ztD.js";import"./LayoutLeft-DOdRMzln.js";import"./LinkExternal01-ZepkFy5p.js";import"./Monitor01-5IIvvy6H.js";import"./Sun-BIJajZBA.js";import"./Play-4vubxqND.js";import"./Settings02-B_z2JeIq.js";import"./Shield01-Dmf7TklI.js";import"./Stars01-DbI-YGmK.js";import"./Upload01-CyW8Wv9e.js";import"./User01-BBVMvdD1.js";import"./Users01-3QXDJ7kM.js";import"./XClose-D4SdKRIc.js";import"./X-BUrHvnq3.js";import"./Zap-DAhQN3Qe.js";import"./table-DXm5sFe0.js";import"./avatar-Glcqg-C7.js";import"./use-view-mode-Dg3ZmYU0.js";import"./sidebar-D0YkKw2Q.js";import"./sheet-BwcUAu7J.js";function kt(i,e){const s=i.properties||{};for(const n in s){const a=s[n];if(a&&a.type==="string"&&(a.format==="url"||a.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function zt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let a;e[0]!==s||e[1]!==l?(a=kt(l,s),e[0]=s,e[1]=l,e[2]=a):a=e[2];const r=a,u=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let m;e[3]!==n?(m=n&&Object.keys(n).length>0,e[3]=n,e[4]=m):m=e[4];const o=m;let p;e[5]!==r||e[6]!==s.title?(p=t.jsx(Ve,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=p):p=e[7];let d;e[8]!==s.title?(d=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=d):d=e[9];const h=u||"No description";let c;e[10]!==h?(c=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:h}),e[10]=h,e[11]=c):c=e[11];let v;e[12]!==d||e[13]!==c?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[d,c]}),e[12]=d,e[13]=c,e[14]=v):v=e[14];let y;e[15]!==p||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[p,v]}),e[15]=p,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Mt,onMouseDown:Kt,children:t.jsxs(Ge,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Ft,children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:Lt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(Je,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(Ze,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ye,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(et,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}function Mt(i){return i.stopPropagation()}const Ut=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Wt(i){return Object.keys(i).find(e=>Ut.includes(e.toLowerCase()))}function st(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Rt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:a,sortKey:r,sortDirection:u,onSort:m,actions:o,onItemClick:p,headerActions:d,emptyState:h,readOnly:c,columns:v,hideToolbar:y,sortableFields:b}=i,x=u===void 0?"asc":u,g=m===void 0?Gt:m;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const f=$,T=p===void 0?Vt:p,E=d===void 0?null:d,N=h===void 0?null:h,k=c===void 0?!1:c,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(qt).filter(A=>!P||P.includes(A.id)).map(Bt):st(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(qe,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==f||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==a||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(zt,{item:A,schema:l,readOnly:k,actions:f})},A.id))})}):t.jsx(xt,{columns:Jt(j,l,P,f),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:a?"Try adjusting your search":"No items to display"})}),e[13]=f,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=a,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Bt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function qt(i){return i.sortable!==!1}function Vt(){}function Gt(){}function Qt(i){return{id:"actions",header:"",render:e=>t.jsxs(Ge,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Xe,{size:20})})}),t.jsxs(He,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(Je,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(Ze,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ye,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(et,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function it(i){const e=i.type;return Array.isArray(e)?e.every(s=>it({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Ht(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const p=s[o];return p&&it(p)}),n=Wt(s),a=[],r=new Set;n&&l.includes(n)&&(a.push(n),r.add(n));const u=["title","description","updated_at","updated_by"];for(const o of u)l.includes(o)&&!r.has(o)&&(a.push(o),r.add(o));const m=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,p)=>o.localeCompare(p));for(const o of m)a.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(a.push(o),r.add(o));return a.map(o=>{const p=s[o],d=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:h=>{const c=h[o];return t.jsx(Ve,{icon:c,name:h.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:h=>{const c=h[o];return c==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(c)})},sortable:d,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c?t.jsx(jt,{id:String(c),size:"xs"}):"—"},sortable:d,cellClassName:"max-w-[250px]"}:p?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c?t.jsx("span",{className:"block truncate max-w-full",children:new Date(c).toLocaleDateString()}):"—"},sortable:d,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:h=>{const c=h[o];return c==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(c)})},sortable:d,cellClassName:"max-w-[200px]"}})}function Jt(i,e,s,l){const n=i||Ht(e,s);return n.some(u=>u.id==="actions")?n:Object.keys(l).length>0?[...n,Qt(l)]:n}function Yt(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:a}=i,r=n.name,u=n.schema??ft,m=n.hasCreateTool,o=n.hasUpdateTool,p=n.hasDeleteTool,d=Be(),{data:h}=lt.useSession(),c=h?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=pt(g),f=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!m&&!o&&!p;let ne;e[14]!==b||e[15]!==r||e[16]!==d||e[17]!==a||e[18]!==l?(ne=C=>{if(a){a(C);return}d({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=d,e[17]=a,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==f.create||e[21]!==c?(re=async C=>{const xe=new Date().toISOString();await f.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:c,updated_by:c})},e[20]=f.create,e[21]=c,e[22]=re):re=e[22];const be=re,[F,ve]=at.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const ot=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==m?(M=m&&{duplicate:be},e[27]=be,e[28]=m,e[29]=M):M=e[29];let U;e[30]!==p?(U=p&&{delete:ot},e[30]=p,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==f.delete||e[37]!==F?(ce=async()=>{F&&(await f.delete.mutateAsync(F.id),ve(null))},e[36]=f.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==f.create||e[40]!==b||e[41]!==r||e[42]!==m||e[43]!==d||e[44]!==l||e[45]!==c?(de=async()=>{if(!m){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:c,updated_by:c};try{const ke=await f.create.mutateAsync(xe);d({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=f.create,e[40]=b,e[41]=r,e[42]=m,e[43]=d,e[44]=l,e[45]=c,e[46]=de):de=e[46];const we=de;let me;e[47]!==u?(me=st(u),e[47]=u,e[48]=me):me=e[48];const Se=me,nt=(I?.length??0)>0,rt=m&&!nt&&!N;let pe;e[49]!==f.create||e[50]!==we||e[51]!==m?(pe=m?t.jsxs(Ce,{onClick:we,size:"sm",disabled:f.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),f.create.isPending?"Creating...":"Create"]}):null,e[49]=f.create,e[50]=we,e[51]=m,e[52]=pe):pe=e[52];const ue=pe,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(qe,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let q;e[65]!==ue||e[66]!==m?(q=m&&t.jsx("div",{className:"pr-3",children:ue}),e[65]=ue,e[66]=m,e[67]=q):q=e[67];let V;e[68]!==B||e[69]!==q?(V=t.jsxs("div",{className:"flex items-center gap-2",children:[B,q]}),e[68]=B,e[69]=q,e[70]=V):V=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=rt?ue:void 0;let H;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(H=t.jsx(tt,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=H):H=e[78];let J;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==u||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==H||e[91]!==z?(J=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Rt,{hideToolbar:!0,data:G,schema:u,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:H})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=u,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=H,e[91]=z,e[92]=J):J=e[92];let Y;e[93]!==V||e[94]!==J?(Y=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[V,J]}),e[93]=V,e[94]=J,e[95]=Y):Y=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let X;e[98]!==Oe?(X=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=X):X=e[99];let Z;e[100]!==f.delete.isPending?(Z=t.jsx(vt,{disabled:f.delete.isPending,children:"Cancel"}),e[100]=f.delete.isPending,e[101]=Z):Z=e[101];const $e=f.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==f.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:f.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=f.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==Z||e[107]!==ee?(te=t.jsxs(Pt,{children:[Z,ee]}),e[106]=Z,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==X||e[110]!==te?(se=t.jsxs(_t,{children:[X,te]}),e[109]=X,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==Y||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,Y,ie]}),e[115]=W,e[116]=Y,e[117]=ie,e[118]=ge):ge=e[118],ge}function Xt(){const i=oe.c(10),{org:e,project:s}=ze(),l=ct(),n=$t();let a;i[0]!==s||i[1]!==n?(a=async o=>{const p=s.enabledPlugins??[];if(p.includes(o))return;const d=[...p,o];return await n.call("COLLECTION_VIRTUAL_MCP_UPDATE",{id:s.id,data:{metadata:{enabled_plugins:d}}})},i[0]=s,i[1]=n,i[2]=a):a=i[2];let r;i[3]!==e||i[4]!==s||i[5]!==l?(r=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[3]=e,i[4]=s,i[5]=l,i[6]=r):r=i[6];let u;return i[7]!==a||i[8]!==r?(u={mutationFn:a,onSuccess:r,onError:Zt},i[7]=a,i[8]=r,i[9]=u):u=i[9],dt(u)}function Zt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function es(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:a}=i,r=Xt();let u;e[0]!==r||e[1]!==s?(u=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=u):u=e[2];const m=u,o=a??null,p=r.isPending?"Enabling…":"Enable plugin";let d;e[3]!==r.isPending||e[4]!==m||e[5]!==p?(d=t.jsx(Ce,{onClick:m,disabled:r.isPending,children:p}),e[3]=r.isPending,e[4]=m,e[5]=p,e[6]=d):d=e[6];let h;return e[7]!==n||e[8]!==o||e[9]!==d||e[10]!==l?(h=t.jsx(tt,{image:o,title:l,description:n,actions:d}),e[7]=n,e[8]=o,e[9]=d,e[10]=l,e[11]=h):h=e[11],h}const ts={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function vi(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(es,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(mt,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Yt,{connectionId:ut,org:e.slug,activeCollection:ts,onItemClick:a=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:a.id}})})})})}export{vi as default};
@@ -0,0 +1 @@
1
+ import{e as s,g as l,j as o,l as a,E as n,r as c}from"./index-DjCrtoJM.js";import{a as f}from"./index-CDPDznJw.js";import"./index-CDa8r-Ay.js";import"./use-mcp-client-Wf5qUXFF.js";import"./collections-CWnO7g9J.js";import"./index-Brb5zXrs.js";import"./use-virtual-mcp-3Wk6GVmY.js";import"./use-collections-BTo2RzuF.js";import"./monaco-editor-DKpM33ac.js";import"./index-H-an7LFa.js";import"./spinner-C_dp5faG.js";import"./resizable-DYZX4GYZ.js";import"./ZoomOut-BP5vTMyD.js";import"./badge-CjjK5Sr7.js";import"./select-B1gidrpT.js";import"./tooltip-MvXJgTec.js";import"./Check-CkY-NLLZ.js";import"./ChevronDown-B8XrNXeE.js";import"./ChevronUp-CgxnjYlU.js";import"./view-mode-toggle-Do2GCdol.js";import"./agent-icon-DbC1U9Lv.js";import"./AlertCircle-CNjNg2wb.js";import"./Tool01-Nn7pl58k.js";import"./SwitchHorizontal01-BjyN-RbX.js";import"./RefreshCcw01-eSV0Gr10.js";import"./XCircle-Bz32In76.js";import"./ArrowUpRight-7-SM74wR.js";import"./ZapSquare-DdYqdyu4.js";import"./Users03-Dc2Q2YCx.js";import"./CheckCircle-DYKqL__C.js";import"./ChevronLeft-B6gErU0k.js";import"./ChevronRight-BJRYs8bt.js";import"./DotsVertical-BwZzHCbU.js";import"./Container-Dt-ev6Gi.js";import"./Eye-Co-ItdFE.js";import"./Globe01-BnLBFtky.js";import"./FilterLines-DwPmuK2v.js";import"./Star01-ChWAyIjY.js";import"./Palette-Cu3PTFf5.js";import"./HardDrive-DmPQQU2w.js";import"./Stars02-WR3K9Daq.js";import"./Key01-BuFH2ztD.js";import"./LayoutLeft-DOdRMzln.js";import"./LinkExternal01-ZepkFy5p.js";import"./Monitor01-5IIvvy6H.js";import"./Sun-BIJajZBA.js";import"./Play-4vubxqND.js";import"./Plus-DrYyBDmj.js";import"./SearchMd-Dq0euRWv.js";import"./Settings02-B_z2JeIq.js";import"./Shield01-Dmf7TklI.js";import"./Stars01-DbI-YGmK.js";import"./Trash01-BW2v6vxa.js";import"./Upload01-CyW8Wv9e.js";import"./User01-BBVMvdD1.js";import"./Users01-3QXDJ7kM.js";import"./XClose-D4SdKRIc.js";import"./X-BUrHvnq3.js";import"./Zap-DAhQN3Qe.js";import"./layout-mA5Rj_u2.js";import"./index-D7vPwljU.js";import"./sidebar-D0YkKw2Q.js";import"./sheet-BwcUAu7J.js";import"./use-connection-C7K5Qf-S.js";import"./use-mcp-tools-CHOFkJhf.js";import"./dialog-B4Gk40Ec.js";import"./scroll-area-D-xuBg8S.js";import"./index-D3IoOs9k.js";import"./hover-card-fQ5zGcbl.js";import"./dropdown-menu-D2S2HMhI.js";import"./integration-icon-CYVpZTf5.js";import"./accordion-CGxHoi6P.js";import"./index-Bkgvp8b5.js";import"./empty-state-BEPxxZyq.js";import"./watch-sse-pool-WsArg2kN.js";import"./input-odGTsdHi.js";function Bt(){const t=s.c(4);let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={from:"/shell/$org/settings/workflows/$itemId"},t[0]=r):r=t[0];const{itemId:e}=l(r);let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(a,{size:32,className:"animate-spin text-muted-foreground"})}),t[1]=i):i=t[1];const p=decodeURIComponent(e);let m;return t[2]!==p?(m=o.jsx(n,{children:o.jsx(c.Suspense,{fallback:i,children:o.jsx(f,{itemId:p})})}),t[2]=p,t[3]=m):m=t[3],m}export{Bt as default};
@@ -43,7 +43,7 @@
43
43
  <meta name="apple-mobile-web-app-capable" content="yes" />
44
44
  <meta name="apple-mobile-web-app-status-bar-style" content="default" />
45
45
  <meta name="apple-mobile-web-app-title" content="deco Studio" />
46
- <script type="module" crossorigin src="/assets/index-BjoOIgbb.js"></script>
46
+ <script type="module" crossorigin src="/assets/index-DjCrtoJM.js"></script>
47
47
  <link rel="stylesheet" crossorigin href="/assets/index-DfYyH4IW.css">
48
48
  </head>
49
49
  <body>