decocms 4.248.2 → 4.248.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-DYa65h7M.js → AlertCircle-BJLsdJJB.js} +1 -1
- package/dist/client/assets/{AreaChart-Z7000aGF.js → AreaChart-DPRb077p.js} +1 -1
- package/dist/client/assets/{ArrowLeft-D0sSJGyh.js → ArrowLeft-BpINHsGO.js} +1 -1
- package/dist/client/assets/{ArrowUp-DaPuMC6J.js → ArrowUp-BCnJIsa2.js} +1 -1
- package/dist/client/assets/{Check-ErA_74IV.js → Check-DYWCAvRe.js} +1 -1
- package/dist/client/assets/{CheckCircle-CiRCtOI3.js → CheckCircle-CZfdFD75.js} +1 -1
- package/dist/client/assets/{ChevronDown-Dgga4a4Q.js → ChevronDown-Dm7RFEzi.js} +1 -1
- package/dist/client/assets/{ChevronRight-Cf-ty0tK.js → ChevronRight-DfFDfMiT.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-BS9Eaphx.js → ChevronSelectorVertical-BrPFZOd6.js} +1 -1
- package/dist/client/assets/{ChevronUp-DOEAI0tE.js → ChevronUp-YRlpUnbI.js} +1 -1
- package/dist/client/assets/{Copy01-C8DEngph.js → Copy01-B7kE9119.js} +1 -1
- package/dist/client/assets/{CreditCard01-LLnESWWX.js → CreditCard01-BBWGD6ln.js} +1 -1
- package/dist/client/assets/{DotsVertical-B9Mg1LjT.js → DotsVertical-Ds_DhNTo.js} +1 -1
- package/dist/client/assets/{Download01-CKTo0VS3.js → Download01-CtExxOFo.js} +1 -1
- package/dist/client/assets/{Eye-C-IIbq0b.js → Eye-Bkw_HSyr.js} +1 -1
- package/dist/client/assets/{FilterLines-BmuWDJhh.js → FilterLines-CdBZbJbR.js} +1 -1
- package/dist/client/assets/{Globe01-AGteY5p8.js → Globe01-CbzTjXVx.js} +1 -1
- package/dist/client/assets/{Globe04-B6IxAzhj.js → Globe04-5uq9vA8E.js} +1 -1
- package/dist/client/assets/{HardDrive-Bxx1_cqg.js → HardDrive-DLZzUCJy.js} +1 -1
- package/dist/client/assets/{Key01-Du0R52Fs.js → Key01-WP13V6P8.js} +1 -1
- package/dist/client/assets/{LinkExternal01-lwDudDKU.js → LinkExternal01-DWP8dcJA.js} +1 -1
- package/dist/client/assets/{LockUnlocked01-ChTbbG9p.js → LockUnlocked01-BsAWOf6A.js} +1 -1
- package/dist/client/assets/{LogOut01-VHtvJ8Vp.js → LogOut01-DUJGO4hF.js} +1 -1
- package/dist/client/assets/{Monitor01-DA25Iq0R.js → Monitor01-DZgvR7bI.js} +1 -1
- package/dist/client/assets/{Palette-yngNVQ4n.js → Palette-BRlImZFI.js} +1 -1
- package/dist/client/assets/{Play-CsQhzYUI.js → Play-xBrWdkON.js} +1 -1
- package/dist/client/assets/{Plus-Cf4b1bNp.js → Plus-DKhcQWfb.js} +1 -1
- package/dist/client/assets/{SearchLg-CIhGyLjl.js → SearchLg-BzZYCybQ.js} +1 -1
- package/dist/client/assets/{SearchMd-B1dsuEY7.js → SearchMd-C-eFE6qY.js} +1 -1
- package/dist/client/assets/{Settings02-zoYBf2Q9.js → Settings02-DsPup1VS.js} +1 -1
- package/dist/client/assets/{Share07-KO4nWaTW.js → Share07-_7OUHtSc.js} +1 -1
- package/dist/client/assets/{Shield01-EKP5VJCL.js → Shield01-BMGrPJL4.js} +1 -1
- package/dist/client/assets/{Stars01-BgC1nyVS.js → Stars01-DyPW1NZ3.js} +1 -1
- package/dist/client/assets/{Stars02-D7QMgn6_.js → Stars02-CsRg1_DW.js} +1 -1
- package/dist/client/assets/{Sun-CH0lCvO4.js → Sun-lLrEGeIB.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-ByrC3JZW.js → SwitchHorizontal01-Buwrdn2y.js} +1 -1
- package/dist/client/assets/{Tool01-BjJidQ3c.js → Tool01-Dg67-JKv.js} +1 -1
- package/dist/client/assets/{Tool02-Bs7nBBx_.js → Tool02-_e_W6rPa.js} +1 -1
- package/dist/client/assets/{Trash01-C4UDDTjr.js → Trash01-649gpHj9.js} +1 -1
- package/dist/client/assets/{TrendUp01-BQO_JaWi.js → TrendUp01-CSEGC0U8.js} +1 -1
- package/dist/client/assets/{Upload01-k3Mh0fZU.js → Upload01-DjDsiYUt.js} +1 -1
- package/dist/client/assets/{User01-m6vclzYC.js → User01-Dlgu2BER.js} +1 -1
- package/dist/client/assets/{UserSquare-1p4hY8NI.js → UserSquare-BS_e8Pjv.js} +1 -1
- package/dist/client/assets/{Users01-CWeSTta9.js → Users01-C7EqAQaR.js} +1 -1
- package/dist/client/assets/{Users03-a8f_wZmP.js → Users03-DvaTkZMF.js} +1 -1
- package/dist/client/assets/{XCircle-3TmYYaVT.js → XCircle-Cn5WdVId.js} +1 -1
- package/dist/client/assets/{XClose-BO1_8YHD.js → XClose-DyI1k_z6.js} +1 -1
- package/dist/client/assets/{YAxis-DrM-OWWa.js → YAxis-BOx2DF1X.js} +1 -1
- package/dist/client/assets/{Zap-BUA1_Jut.js → Zap-D44l2tlW.js} +1 -1
- package/dist/client/assets/{ZapSquare-8U0SgWLp.js → ZapSquare-DUHD_nc-.js} +1 -1
- package/dist/client/assets/{access-gate-D3zAqPzH.js → access-gate-D_1GlcS4.js} +1 -1
- package/dist/client/assets/agent-icon-BhfneAwy.js +1 -0
- package/dist/client/assets/agents-list-BUvHAwfb.js +1 -0
- package/dist/client/assets/ai-providers-lRapbKCn.js +6 -0
- package/dist/client/assets/{alert-DSZ984JY.js → alert-CuEsZrDf.js} +1 -1
- package/dist/client/assets/{alert-dialog-BBUALe3i.js → alert-dialog-fRZZzq2b.js} +2 -2
- package/dist/client/assets/api-keys-DOxIXB_j.js +1 -0
- package/dist/client/assets/app-editor-C_guf21J.js +1 -0
- package/dist/client/assets/{auth-CS2cT5wl.js → auth-CsyM6wOp.js} +1 -1
- package/dist/client/assets/{auth-catchall-Bs5rDKB8.js → auth-catchall-B-WhgvT0.js} +1 -1
- package/dist/client/assets/{auth-entry-B7mR5g8T.js → auth-entry-CQkyABOA.js} +1 -1
- package/dist/client/assets/{auth-split-layout-CxqUA4_R.js → auth-split-layout-vT7dwNTB.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-CB658Lpc.js → authenticate-and-persist-oauth-D5NQEgY8.js} +1 -1
- package/dist/client/assets/{automation-list-row-DqAvOKpL.js → automation-list-row-BDX5Zyot.js} +1 -1
- package/dist/client/assets/{automation-runs-C7VPpqIt.js → automation-runs-DTPprHYR.js} +16 -16
- package/dist/client/assets/automations-CkB3kyG0.js +1 -0
- package/dist/client/assets/{avatar-md-XNPuR.js → avatar-DeFAeBFl.js} +1 -1
- package/dist/client/assets/{badge-BR2WgVsV.js → badge-BNu531uc.js} +1 -1
- package/dist/client/assets/{block-document-yl-Al_kf.js → block-document-x1IV3qey.js} +1 -1
- package/dist/client/assets/buckets-J-wFqi2h.js +1 -0
- package/dist/client/assets/bulk-category-panel-CEdqKYSP.js +1 -0
- package/dist/client/assets/{capability-load-error-BornUXv-.js → capability-load-error-DUMl4Cfr.js} +1 -1
- package/dist/client/assets/{cards-B5pz2XNy.js → cards-CL2vc4-W.js} +1 -1
- package/dist/client/assets/category-editor-NdAWtsih.js +1 -0
- package/dist/client/assets/{chart-Dw43HBj2.js → chart-CArbD1Z5.js} +3 -3
- package/dist/client/assets/chat-context-C-y8N43p.js +35 -0
- package/dist/client/assets/{checkbox-CNnFytxt.js → checkbox-D3MLpBTA.js} +1 -1
- package/dist/client/assets/choose-editor-2qYKfGsR.js +1 -0
- package/dist/client/assets/{cli-auth-success-B37XVEcm.js → cli-auth-success-CDGc5a3I.js} +1 -1
- package/dist/client/assets/collection-detail-C2cTonBC.js +1 -0
- package/dist/client/assets/collection-display-button-jiE_9-7-.js +1 -0
- package/dist/client/assets/collection-search-CNrn5ZLG.js +1 -0
- package/dist/client/assets/{collection-table-wrapper-C12GS9C3.js → collection-table-wrapper-C4xZgp9x.js} +1 -1
- package/dist/client/assets/{collection-tabs-Dfa_vQOq.js → collection-tabs-Dg_azfZv.js} +1 -1
- package/dist/client/assets/{command-CXX8Roxa.js → command-BlvzBYcm.js} +1 -1
- package/dist/client/assets/commerce-onboarding-D0tGx8Lj.js +1 -0
- package/dist/client/assets/connect-D3748pCj.js +8 -0
- package/dist/client/assets/connection-CeBlIp_O.js +1 -0
- package/dist/client/assets/connection-card-B5D9qN3O.js +1 -0
- package/dist/client/assets/connection-detail-DuwCDpDs.js +1 -0
- package/dist/client/assets/connection-form-helpers-B3UcqYZu.js +1 -0
- package/dist/client/assets/connections-Dm3ee4Hu.js +1 -0
- package/dist/client/assets/{decopilot-sse-pool-BbcmZgTF.js → decopilot-sse-pool-DvpyeiPr.js} +1 -1
- package/dist/client/assets/dialog-CuqXnWbf.js +1 -0
- package/dist/client/assets/domain-settings-fQdlB2tF.js +1 -0
- package/dist/client/assets/{drawer-9chetton.js → drawer-Dw47OmQ9.js} +1 -1
- package/dist/client/assets/{dropdown-menu-Dhjx8BUz.js → dropdown-menu-Cg8GO9Ey.js} +1 -1
- package/dist/client/assets/{empty-state-BHXPcV6D.js → empty-state-DgtjDyl7.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DyM1tiNg.js → extract-connection-data-CFDQblVE.js} +1 -1
- package/dist/client/assets/{file-explorer-CGdZE7j0.js → file-explorer-BKaBUpVr.js} +2 -2
- package/dist/client/assets/{file-type-icon-jL53noJP.js → file-type-icon-BfTCeyA7.js} +1 -1
- package/dist/client/assets/{form-Cb2ftegM.js → form-gSf7rSoB.js} +1 -1
- package/dist/client/assets/general-fQ-9F_8c.js +1 -0
- package/dist/client/assets/{github-repo-picker-B0itW_sn.js → github-repo-picker-DxNDjsxj.js} +1 -1
- package/dist/client/assets/{hooks-BasSX9U3.js → hooks-IJLcrm9m.js} +5 -5
- package/dist/client/assets/{index-CJWr9N0v.js → index-BXFmp3WW.js} +1 -1
- package/dist/client/assets/index-BoZK85Tz.js +1 -0
- package/dist/client/assets/index-C-W5dASy.js +235 -0
- package/dist/client/assets/{index-BnYSClvU.js → index-CTd9wjzr.js} +37 -37
- package/dist/client/assets/{index-BHhk6DR8.js → index-CZyJSpiW.js} +2 -2
- package/dist/client/assets/{index-ZiQvvnOE.js → index-DkaFt-ER.js} +1 -1
- package/dist/client/assets/index-E5NqaLsL.js +1 -0
- package/dist/client/assets/index-JZrhswCW.js +1 -0
- package/dist/client/assets/index-redirect-BARimKaN.js +1 -0
- package/dist/client/assets/{index-BGLk9CX0.js → index-rmUjTFsu.js} +2 -2
- package/dist/client/assets/infra-billing-CsjaugX6.js +1 -0
- package/dist/client/assets/{input-7l72-E74.js → input-BPzKKVIm.js} +1 -1
- package/dist/client/assets/{integration-icon-9hdQMmio.js → integration-icon-0pMS4e0x.js} +1 -1
- package/dist/client/assets/invite-member-dialog-DncQfqgo.js +1 -0
- package/dist/client/assets/{label-Di7XD03t.js → label-Cy4ljnv_.js} +1 -1
- package/dist/client/assets/layout-DH8wLQcr.js +1 -0
- package/dist/client/assets/{login-B01_8Sdh.js → login-CYjOmWQU.js} +1 -1
- package/dist/client/assets/{mcp-oauth-_naDcGdv.js → mcp-oauth-D5NqWvPJ.js} +1 -1
- package/dist/client/assets/members-2QPdx0w5.js +1 -0
- package/dist/client/assets/{monaco-editor-DgD9evL7.js → monaco-editor-SX25UZKO.js} +4 -4
- package/dist/client/assets/{monitoring-stats-row-B0BLM1my.js → monitoring-stats-row-DOzTz31T.js} +1 -1
- package/dist/client/assets/{multi-select-BLNYHoGy.js → multi-select-DQX6uGgz.js} +1 -1
- package/dist/client/assets/{oauth-callback-BqBCpIME.js → oauth-callback-Bl1uQrp-.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-DA5Wl5SM.js → oauth-callback-ai-provider-D6vkHSiC.js} +1 -1
- package/dist/client/assets/{onboarding-px_II1bW.js → onboarding-DLUW7rwC.js} +1 -1
- package/dist/client/assets/{org-layout-DFED5zNf.js → org-layout-CHqCDI-6.js} +1 -1
- package/dist/client/assets/{organization-choice-IrwqMfm_.js → organization-choice-C665vOEP.js} +1 -1
- package/dist/client/assets/orgs-B8XetzAm.js +1 -0
- package/dist/client/assets/{page-seo-form-Cm5Qv5ak.js → page-seo-form-BqksEx3f.js} +1 -1
- package/dist/client/assets/{popover-CfGL7saO.js → popover-CKC_v_FI.js} +1 -1
- package/dist/client/assets/post-editor-D0V_cWUV.js +1 -0
- package/dist/client/assets/{primitives-DIc8lbRG.js → primitives-C4dJYS7T.js} +1 -1
- package/dist/client/assets/profile-CUktqNbW.js +1 -0
- package/dist/client/assets/project-app-view-DQXGeh0y.js +1 -0
- package/dist/client/assets/record-editor-D5yY3Dz9.js +1 -0
- package/dist/client/assets/redirect-editor-BEdHUyBe.js +1 -0
- package/dist/client/assets/registry-BWnBGVZj.js +2 -0
- package/dist/client/assets/{registry-layout-t9OiEUok.js → registry-layout-1Qslk_W6.js} +4 -4
- package/dist/client/assets/{reports-B-JkBTXv.js → reports-Bvrg-uin.js} +1 -1
- package/dist/client/assets/require-capability-DR7Mbbou.js +1 -0
- package/dist/client/assets/{required-auth-layout-DgjkQLI6.js → required-auth-layout-C7iO_f_Y.js} +1 -1
- package/dist/client/assets/{reset-password-C_dZ8Eqo.js → reset-password-D5H5T765.js} +1 -1
- package/dist/client/assets/roles-D4n1d-tX.js +1 -0
- package/dist/client/assets/{search-input-DsWKOK9t.js → search-input-vt9k7znl.js} +1 -1
- package/dist/client/assets/secrets-saGLdJQ9.js +1 -0
- package/dist/client/assets/{sections-editor-hTI5vt6I.js → sections-editor-dlfE05iX.js} +2 -2
- package/dist/client/assets/select-CX1EQjk0.js +1 -0
- package/dist/client/assets/{select-model-Dqz5FPx4.js → select-model-By0_2E97.js} +2 -2
- package/dist/client/assets/self-tool-result-wLzQezsb.js +1 -0
- package/dist/client/assets/seo-editor-BgJ2ySZq.js +1 -0
- package/dist/client/assets/settings-layout-_qKXk5vn.js +1 -0
- package/dist/client/assets/shell-controls-DUgcifyl.js +1 -0
- package/dist/client/assets/shell-layout-BGunSaDG.js +1 -0
- package/dist/client/assets/{spinner-glqojFDA.js → spinner-DQUJXeRb.js} +1 -1
- package/dist/client/assets/sso-DNeFyj4s.js +1 -0
- package/dist/client/assets/store-CLnACfV7.js +1 -0
- package/dist/client/assets/store-registry-CYcCjiAW.js +2 -0
- package/dist/client/assets/switch-080KuP0Z.js +1 -0
- package/dist/client/assets/synced-repos-CQQV9Zjv.js +1 -0
- package/dist/client/assets/{tab-id-CYxMrTRp.js → tab-id-BMHIgJVu.js} +1 -1
- package/dist/client/assets/{table-_DZMZF7n.js → table-DxRhe_5K.js} +1 -1
- package/dist/client/assets/tabs-Dt2F-lST.js +1 -0
- package/dist/client/assets/tasks-BaA9DyLn.js +1 -0
- package/dist/client/assets/textarea-C50htUTR.js +1 -0
- package/dist/client/assets/toggle-group-CT4Q_c7z.js +1 -0
- package/dist/client/assets/{toolbar-DEkBOfzd.js → toolbar-nEkAKWTR.js} +1 -1
- package/dist/client/assets/{track-C3SQxOl4.js → track-BifnyqN6.js} +1 -1
- package/dist/client/assets/{types-Dh-L4V2P.js → types-DZVMpxej.js} +4 -4
- package/dist/client/assets/use-ai-providers-Chs1tcQD.js +1 -0
- package/dist/client/assets/use-api-keys-Djf4Eh5p.js +1 -0
- package/dist/client/assets/use-automations-CmpL_Mom.js +1 -0
- package/dist/client/assets/{use-autosave-P4ije4un.js → use-autosave-D5h0ivOe.js} +1 -1
- package/dist/client/assets/{use-clock-tick-yZZNkqhy.js → use-clock-tick-Cad8pAZ9.js} +1 -1
- package/dist/client/assets/use-commerce-diagnostic-CRHEo45Z.js +1 -0
- package/dist/client/assets/use-connection-DzUFG_BF.js +1 -0
- package/dist/client/assets/{use-copy-BGwAE5Xe.js → use-copy-B43wL_o8.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-B5mSvVFn.js → use-create-virtual-mcp-CTvxs6s1.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-BDvfPMkV.js → use-debounced-autosave-DSiZvyT9.js} +1 -1
- package/dist/client/assets/{use-debounced-value-UZPGD-zb.js → use-debounced-value-Dq1JGl41.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-8dmobXlE.js → use-decopilot-events-ka0F1PHR.js} +1 -1
- package/dist/client/assets/use-delete-connection-CySUkdqd.js +1 -0
- package/dist/client/assets/{use-deployment-admin-tOuWllrn.js → use-deployment-admin-BQBai7bt.js} +1 -1
- package/dist/client/assets/use-file-configs-B6WrrXgQ.js +1 -0
- package/dist/client/assets/{use-infinite-scroll-Dzm35RNS.js → use-infinite-scroll-4H8mlAbs.js} +1 -1
- package/dist/client/assets/use-join-requests-eJo_jJba.js +1 -0
- package/dist/client/assets/{use-mcp-client-DFoPNyXR.js → use-mcp-client-PMt78ucZ.js} +7 -7
- package/dist/client/assets/use-mcp-tools-BgEqxU0u.js +1 -0
- package/dist/client/assets/use-members-CzhU7i-s.js +1 -0
- package/dist/client/assets/{use-navigate-to-agent-CX93JJ-W.js → use-navigate-to-agent-DpqkGd8j.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-CiGZ-xlx.js → use-org-auth-client-DCF2a5iN.js} +1 -1
- package/dist/client/assets/use-org-repo-syncs-t5rFG9d3.js +1 -0
- package/dist/client/assets/{use-org-sso-CHwTj_pK.js → use-org-sso-DmTf_LfQ.js} +1 -1
- package/dist/client/assets/{use-organization-roles-ChU_RgEA.js → use-organization-roles-7NQcUwh1.js} +1 -1
- package/dist/client/assets/use-organization-settings-BQYM8ne1.js +1 -0
- package/dist/client/assets/{use-registry-connections-BvzfOtMr.js → use-registry-connections-CrLBfd4m.js} +1 -1
- package/dist/client/assets/use-secrets-2hVFkyTr.js +1 -0
- package/dist/client/assets/{use-section-preview-base-CYcMtPj5.js → use-section-preview-base-CnPY0DDc.js} +1 -1
- package/dist/client/assets/{use-status-sounds-BWK3t0nt.js → use-status-sounds-u8GHDfsk.js} +1 -1
- package/dist/client/assets/use-tags-C5qFTaG8.js +1 -0
- package/dist/client/assets/use-view-mode-DWyYPm90.js +1 -0
- package/dist/client/assets/{use-virtual-mcp-BbdjNQ1e.js → use-virtual-mcp-eZtpf4bS.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-UhiHP148.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-Cf9qli1T.js +1 -0
- package/dist/client/assets/users-j4gaj7Zx.js +1 -0
- package/dist/client/assets/variant-calendar-DvHJ9GeI.js +1 -0
- package/dist/client/assets/view-mode-toggle-DdFZltId.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +1 -1
- package/dist/server/server.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/ArrowUpRight-Dv9QvAW5.js +0 -1
- package/dist/client/assets/LayoutLeft-BKrrf1xY.js +0 -1
- package/dist/client/assets/X-IBBjQPfk.js +0 -1
- package/dist/client/assets/agent-icon-vjhOL9u6.js +0 -1
- package/dist/client/assets/agents-list-DJeAJ_3a.js +0 -1
- package/dist/client/assets/ai-providers-DmqZvdDR.js +0 -6
- package/dist/client/assets/api-keys-DEdlM0o6.js +0 -1
- package/dist/client/assets/app-editor-DGG6hIQW.js +0 -1
- package/dist/client/assets/automations-QJpsEj6l.js +0 -1
- package/dist/client/assets/buckets-D7AznYZl.js +0 -1
- package/dist/client/assets/bulk-category-panel-Aw08g8MP.js +0 -1
- package/dist/client/assets/card-IdHCmi8B.js +0 -1
- package/dist/client/assets/category-editor-BLU7MJ_a.js +0 -1
- package/dist/client/assets/chat-context-Df1gS1sI.js +0 -35
- package/dist/client/assets/choose-editor-BGNNx0rr.js +0 -1
- package/dist/client/assets/collection-detail-CdVhmMD8.js +0 -1
- package/dist/client/assets/collection-display-button-DpaZ3d0j.js +0 -1
- package/dist/client/assets/collection-search-BQLruUQ4.js +0 -1
- package/dist/client/assets/commerce-onboarding-BOD-_HLG.js +0 -1
- package/dist/client/assets/connect-VrBLOQz7.js +0 -8
- package/dist/client/assets/connection-D6NWrsFQ.js +0 -1
- package/dist/client/assets/connection-card-2s-BDhzN.js +0 -1
- package/dist/client/assets/connection-detail-rH7mQov2.js +0 -1
- package/dist/client/assets/connection-form-helpers-BahPv0zc.js +0 -1
- package/dist/client/assets/connections-X1ffPxSi.js +0 -1
- package/dist/client/assets/dialog-B0pGkX2q.js +0 -1
- package/dist/client/assets/domain-settings-CBmnQIJo.js +0 -1
- package/dist/client/assets/general-DdO_16ZO.js +0 -1
- package/dist/client/assets/index-BVEEZvKv.js +0 -1
- package/dist/client/assets/index-CkEYKazi.js +0 -1
- package/dist/client/assets/index-DBsyf30G.js +0 -1
- package/dist/client/assets/index-DTCr2n-a.js +0 -235
- package/dist/client/assets/index-mAaX9S9j.js +0 -1
- package/dist/client/assets/index-redirect-D24SfTyt.js +0 -1
- package/dist/client/assets/infra-billing-DCiyfS8M.js +0 -1
- package/dist/client/assets/invite-member-dialog-CEZXV_r9.js +0 -1
- package/dist/client/assets/layout-HxxUtI_4.js +0 -1
- package/dist/client/assets/members-C7m7k6Aj.js +0 -1
- package/dist/client/assets/orgs-Ba0nF6qS.js +0 -1
- package/dist/client/assets/post-editor-yBvya3yr.js +0 -1
- package/dist/client/assets/profile-ZEjk6oqp.js +0 -1
- package/dist/client/assets/project-app-view-Ba53vvVz.js +0 -1
- package/dist/client/assets/record-editor-B2rcuwQk.js +0 -1
- package/dist/client/assets/redirect-editor-C-iqitv1.js +0 -1
- package/dist/client/assets/registry-BShVgR7c.js +0 -2
- package/dist/client/assets/require-capability-BganaMDA.js +0 -1
- package/dist/client/assets/roles-CPT4_Zim.js +0 -1
- package/dist/client/assets/secrets-Cm0Tre0I.js +0 -1
- package/dist/client/assets/select-BRuvjhJw.js +0 -1
- package/dist/client/assets/self-tool-result-mEKHKLZ8.js +0 -1
- package/dist/client/assets/seo-editor-DaIHsMkg.js +0 -1
- package/dist/client/assets/settings-layout-Hxpekzl7.js +0 -1
- package/dist/client/assets/settings-section-BS9eoASN.js +0 -1
- package/dist/client/assets/settings-subnav-D-pYtn7v.js +0 -1
- package/dist/client/assets/shell-controls-BhWnmqdm.js +0 -1
- package/dist/client/assets/shell-layout-B7KEX529.js +0 -1
- package/dist/client/assets/sidebar-Z1Ar8Iq1.js +0 -1
- package/dist/client/assets/skeleton-BvZK-LJN.js +0 -1
- package/dist/client/assets/sso-CZzvOl_H.js +0 -1
- package/dist/client/assets/store-4VNI89Jx.js +0 -1
- package/dist/client/assets/store-registry-5DQx43Zm.js +0 -2
- package/dist/client/assets/studio-tools-BBCHIrbu.js +0 -1
- package/dist/client/assets/switch-BAlslK2J.js +0 -1
- package/dist/client/assets/synced-repos-BYuo6K5k.js +0 -1
- package/dist/client/assets/tabs-DeNiwmVV.js +0 -1
- package/dist/client/assets/tasks-BohHzFrx.js +0 -1
- package/dist/client/assets/textarea-DkNj8yms.js +0 -1
- package/dist/client/assets/toggle-group-Do3gb8uy.js +0 -1
- package/dist/client/assets/tooltip-Dt_WUeQs.js +0 -1
- package/dist/client/assets/use-ai-providers-DwZngUHl.js +0 -1
- package/dist/client/assets/use-api-keys-DrlFtOsW.js +0 -1
- package/dist/client/assets/use-automations-BqX_0zG2.js +0 -1
- package/dist/client/assets/use-capability-U_kO9pjO.js +0 -1
- package/dist/client/assets/use-commerce-diagnostic-DL4B4X1w.js +0 -1
- package/dist/client/assets/use-connection-D7--TeDa.js +0 -1
- package/dist/client/assets/use-delete-connection-CP8NWsvL.js +0 -1
- package/dist/client/assets/use-file-configs-CgH1G4FU.js +0 -1
- package/dist/client/assets/use-join-requests-CW8P-2hM.js +0 -1
- package/dist/client/assets/use-mcp-tools-ByMlhxuh.js +0 -1
- package/dist/client/assets/use-members-DpAa0K8W.js +0 -1
- package/dist/client/assets/use-mobile-DxjazlC8.js +0 -1
- package/dist/client/assets/use-org-repo-syncs-CugnYvLM.js +0 -1
- package/dist/client/assets/use-organization-settings-kcm-WdX5.js +0 -1
- package/dist/client/assets/use-secrets-CAbcEA8g.js +0 -1
- package/dist/client/assets/use-settings-tabs-qdqtthwY.js +0 -1
- package/dist/client/assets/use-tags-Bcd_6z1e.js +0 -1
- package/dist/client/assets/use-view-mode-cgBHRzHt.js +0 -1
- package/dist/client/assets/useInfiniteQuery-CMi-ILZI.js +0 -1
- package/dist/client/assets/useRouterState-B0WmwZ8z.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Cw5NEgMj.js +0 -1
- package/dist/client/assets/users-CAr233Ns.js +0 -1
- package/dist/client/assets/variant-calendar--Tz37I5S.js +0 -1
- package/dist/client/assets/view-mode-toggle-ChvR0gk0.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as w,b as S,j as l,B as C,r as I,
|
|
1
|
+
import{c as w,b as S,j as l,B as C,r as I,I as E}from"./index-C-W5dASy.js";import{b as L,h as N,a as O,d as k,e as R}from"./dialog-CuqXnWbf.js";import{i as U}from"./Check-DYWCAvRe.js";import{a as $}from"./Copy01-B7kE9119.js";import{n as W}from"./Download01-CtExxOFo.js";const M="https://github.com/decocms/studio/releases";function F(){return`curl -fsSL ${window.location.origin}/install.sh | sh`}function P(e){return`https://github.com/decocms/studio/releases/download/native-v${e}/deco-${e}-linux-x86_64.AppImage`}function le(){return typeof navigator<"u"&&/Mac/.test(navigator.platform)&&!("ontouchend"in document)}function B(){return typeof navigator<"u"&&/Linux/.test(navigator.platform)&&!/Android/.test(navigator.userAgent)&&!("ontouchend"in document)}async function V(e,t){if(!e)return!1;try{return await e.writeText(t),!0}catch{return!1}}function D(e){const t=w.c(12),{copiedLabel:n}=e,r=S(),[s,i]=I.useState(!1);let c;t[0]===Symbol.for("react.memo_cache_sentinel")?(c=F(),t[0]=c):c=t[0];const o=c;let a;t[1]===Symbol.for("react.memo_cache_sentinel")?(a=l.jsx("code",{className:"block rounded-md border bg-muted px-3 py-2.5 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap select-all",children:o}),t[1]=a):a=t[1];let u;t[2]===Symbol.for("react.memo_cache_sentinel")?(u=()=>{V(navigator.clipboard,o).then(p=>{p&&(i(!0),setTimeout(()=>i(!1),2e3))})},t[2]=u):u=t[2];let d;t[3]!==s?(d=s?l.jsx(U,{size:16}):l.jsx($,{size:16}),t[3]=s,t[4]=d):d=t[4];let f;t[5]!==s||t[6]!==n||t[7]!==r?(f=s?n:r("downloadApp.copyLabel"),t[5]=s,t[6]=n,t[7]=r,t[8]=f):f=t[8];let m;return t[9]!==d||t[10]!==f?(m=l.jsxs("div",{className:"flex flex-col gap-3",children:[a,l.jsxs(C,{type:"button",className:"w-full gap-2",onClick:u,children:[d,f]})]}),t[9]=d,t[10]=f,t[11]=m):m=t[11],m}function Y(){const e=w.c(18),t=S();let n;e[0]!==t?(n=t("downloadApp.copiedLabel"),e[0]=t,e[1]=n):n=e[1];let r;e[2]!==n?(r=l.jsx(D,{copiedLabel:n}),e[2]=n,e[3]=r):r=e[3];let s;e[4]!==t?(s=t("downloadApp.terminalHint"),e[4]=t,e[5]=s):s=e[5];let i;e[6]!==s?(i=l.jsx("p",{children:s}),e[6]=s,e[7]=i):i=e[7];let c;e[8]!==t?(c=t("downloadApp.appleSiliconNote"),e[8]=t,e[9]=c):c=e[9];let o;e[10]!==c?(o=l.jsx("p",{children:c}),e[10]=c,e[11]=o):o=e[11];let a;e[12]!==i||e[13]!==o?(a=l.jsxs("div",{className:"flex flex-col gap-1 text-xs text-muted-foreground",children:[i,o]}),e[12]=i,e[13]=o,e[14]=a):a=e[14];let u;return e[15]!==r||e[16]!==a?(u=l.jsxs(l.Fragment,{children:[r,a]}),e[15]=r,e[16]=a,e[17]=u):u=e[17],u}function H(){const e=w.c(42),t=S();let n;e[0]!==t?(n=t("downloadApp.copiedLabelLinux"),e[0]=t,e[1]=n):n=e[1];let r;e[2]!==n?(r=l.jsx(D,{copiedLabel:n}),e[2]=n,e[3]=r):r=e[3];let s;e[4]!==t?(s=t("downloadApp.linuxInstallerHint"),e[4]=t,e[5]=s):s=e[5];let i;e[6]!==s?(i=l.jsx("p",{children:s}),e[6]=s,e[7]=i):i=e[7];let c;e[8]!==t?(c=t("downloadApp.linuxArchNote"),e[8]=t,e[9]=c):c=e[9];let o;e[10]!==c?(o=l.jsx("p",{children:c}),e[10]=c,e[11]=o):o=e[11];let a;e[12]!==i||e[13]!==o?(a=l.jsxs("div",{className:"flex flex-col gap-1 text-xs text-muted-foreground",children:[i,o]}),e[12]=i,e[13]=o,e[14]=a):a=e[14];let u;e[15]!==t?(u=t("downloadApp.linuxDirectDownloadHint"),e[15]=t,e[16]=u):u=e[16];let d;e[17]!==u?(d=l.jsx("p",{children:u}),e[17]=u,e[18]=d):d=e[18];let f;e[19]===Symbol.for("react.memo_cache_sentinel")?(f=P("4.248.4"),e[19]=f):f=e[19];let m;e[20]===Symbol.for("react.memo_cache_sentinel")?(m=l.jsx(W,{size:14}),e[20]=m):m=e[20];let p;e[21]!==t?(p=t("downloadApp.downloadAppImage"),e[21]=t,e[22]=p):p=e[22];let h;e[23]!==p?(h=l.jsx(C,{asChild:!0,variant:"outline",size:"sm",className:"gap-2",children:l.jsxs("a",{href:f,rel:"noreferrer",children:[m,p]})}),e[23]=p,e[24]=h):h=e[24];let g;e[25]!==t?(g=t("downloadApp.linuxChmodHint"),e[25]=t,e[26]=g):g=e[26];let x;e[27]!==g?(x=l.jsx("p",{children:g}),e[27]=g,e[28]=x):x=e[28];let A;e[29]!==t?(A=t("downloadApp.allReleases"),e[29]=t,e[30]=A):A=e[30];let y;e[31]!==A?(y=l.jsx("a",{href:M,target:"_blank",rel:"noreferrer",className:"underline-offset-2 hover:text-foreground hover:underline",children:A}),e[31]=A,e[32]=y):y=e[32];let T;e[33]!==h||e[34]!==x||e[35]!==y||e[36]!==d?(T=l.jsxs("div",{className:"flex flex-col items-start gap-2 border-t pt-4 text-xs text-muted-foreground",children:[d,h,x,y]}),e[33]=h,e[34]=x,e[35]=y,e[36]=d,e[37]=T):T=e[37];let b;return e[38]!==r||e[39]!==T||e[40]!==a?(b=l.jsxs(l.Fragment,{children:[r,a,T]}),e[38]=r,e[39]=T,e[40]=a,e[41]=b):b=e[41],b}function oe(e){const t=w.c(19),{open:n,onOpenChange:r}=e,s=S();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=B(),t[0]=i):i=t[0];const c=i;let o;t[1]!==s?(o=s("downloadApp.title"),t[1]=s,t[2]=o):o=t[2];let a;t[3]!==o?(a=l.jsx(L,{children:o}),t[3]=o,t[4]=a):a=t[4];let u;t[5]!==s?(u=s(c?"downloadApp.linuxDescription":"downloadApp.description"),t[5]=s,t[6]=u):u=t[6];let d;t[7]!==u?(d=l.jsx(N,{children:u}),t[7]=u,t[8]=d):d=t[8];let f;t[9]!==a||t[10]!==d?(f=l.jsxs(O,{children:[a,d]}),t[9]=a,t[10]=d,t[11]=f):f=t[11];let m;t[12]===Symbol.for("react.memo_cache_sentinel")?(m=c?l.jsx(H,{}):l.jsx(Y,{}),t[12]=m):m=t[12];let p;t[13]!==f?(p=l.jsxs(k,{className:"sm:max-w-md",children:[f,m]}),t[13]=f,t[14]=p):p=t[14];let h;return t[15]!==r||t[16]!==n||t[17]!==p?(h=l.jsx(R,{open:n,onOpenChange:r,children:p}),t[15]=r,t[16]=n,t[17]=p,t[18]=h):h=t[18],h}const z=1e4,ae="true",j=2;function v(e,t){return E.chatAutosend(e,t)}function G(e){return e==="pending"||e==="sending"}function J(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object")return null;const n=t;let r=0;n.status==="sending"?r=n.retryAt===void 0?1:j:n.retryAt!==void 0&&(r=1);const s=n.attempt===void 0?r:n.attempt;return typeof n.createdAt!="number"||typeof n.message!="object"||!G(n.status)||n.retryAt!==void 0&&typeof n.retryAt!="number"||typeof s!="number"||!Number.isInteger(s)||s<0||s>j?null:{...t,attempt:s}}function ce(e,t,n,r,s=Date.now()){const i={message:r,createdAt:s,status:"pending",attempt:0};return e.setItem(v(t,n),JSON.stringify(i)),i}function X(e,t,n){const r=v(t,n),s=J(e.getItem(r));return s||(e.removeItem(r),null)}function ue(e,t,n,r=Date.now()){const s=v(t,n),i=X(e,t,n);if(!i||i.status!=="pending")return null;if(i.attempt>=j)return e.removeItem(s),null;const c=i.retryAt??i.createdAt;if(r-c>=z)return e.removeItem(s),null;const o={...i,status:"sending",attempt:i.attempt+1};return e.setItem(s,JSON.stringify(o)),{message:o.message,createdAt:o.createdAt,attempt:o.attempt}}function de(e,t,n){e.removeItem(v(t,n))}function K(e){if(!e||!e.startsWith("automation:"))return null;const t=e.slice(11);return t?{id:t}:null}function q(e,t){return`app:${e}:${t}`}function fe(e){if(!e||!e.startsWith("app:"))return null;const t=e.slice(4),n=t.indexOf(":");if(n<=0)return null;const r=t.slice(0,n),s=t.slice(n+1);return!r||!s?null:{connectionId:r,toolName:s}}function pe(e){return`deck:${encodeURIComponent(e)}`}function me(e){if(!e||!e.startsWith("deck:"))return null;const t=e.slice(5);if(!t)return null;try{return{path:decodeURIComponent(t)}}catch{return null}}function he(e){return`file:${encodeURIComponent(e)}`}function ge(e){if(!e||!e.startsWith("file:"))return null;const t=e.slice(5);if(!t)return null;try{return{key:decodeURIComponent(t)}}catch{return null}}function xe(e){return`library-file:${encodeURIComponent(e)}`}function Ae(e){if(!e||!e.startsWith("library-file:"))return null;const t=e.slice(13);if(!t)return null;try{return{path:decodeURIComponent(t)}}catch{return null}}function ye(e){return`code:${encodeURIComponent(e)}`}function Te(e){if(!e)return null;if(e==="code")return{path:null};if(!e.startsWith("code:"))return null;const t=e.slice(5);if(!t)return null;try{return{path:decodeURIComponent(t)}}catch{return null}}const Q=["overview","settings","automations","preview","code","content","assets","git"],Z=new Set(Q),be=new Set(["board","files","connect-sources"]);function we(e){return e.startsWith("app:")||e.startsWith("automation:")||e.startsWith("file:")||e.startsWith("deck:")||e.startsWith("library-file:")||e.startsWith("code:")}const _=new Set(["instructions","connections","layout","settings"]);function Se(e){return!!e&&_.has(e)}function ee(e){const t=e?.defaultMainView??null;if(!t||_.has(t.type))return"settings";if(Z.has(t.type))return t.type;if(t.type==="ext-app"||t.type==="ext-apps"){if(t.id&&t.toolName)return q(t.id,t.toolName);const n=e?.tabs?.map(r=>r.id)??[];return t.id&&n.includes(t.id)?t.id:n[0]??"settings"}return e?.tabs?.[0]?.id??"settings"}function ve(e){const t=e.mainParam===0?"0":e.mainParam,n=ee(e.metadata);if(t==="0")return{mainOpen:!1,activeTab:n};if(t===void 0){const r=e.metadata?.defaultMainView??null;return{mainOpen:!(r==null||r.type==="chat"),activeTab:n}}return _.has(t)?{mainOpen:!0,activeTab:"settings"}:{mainOpen:!0,activeTab:t}}function je(e){return e.mainOpen&&e.clickedId===e.activeTab?0:e.clickedId}function _e(e){return e.mainOpen?e.activeTab==="automations"?!0:K(e.activeTab)!==null:!1}function Ce(e){return e.mainOpen&&e.activeTab==="automations"?0:"automations"}export{ae as A,oe as D,Q as F,be as O,B as a,ve as b,ge as c,me as d,Ae as e,q as f,je as g,ye as h,le as i,xe as j,Se as k,Te as l,fe as m,_e as n,Ce as o,K as p,pe as q,ee as r,he as s,we as t,ue as u,de as v,ce as w};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c,
|
|
1
|
+
import{c,n as i,j as r}from"./index-C-W5dASy.js";function d(o){const e=c.c(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let s;e[3]!==t?(s=i("w-full caption-bottom text-sm min-w-0",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==l||e[6]!==s?(a=r.jsx("div",{"data-slot":"table-container",className:"w-full min-w-0 bg-card rounded-xl card-shadow overflow-hidden",children:r.jsx("table",{"data-slot":"table",className:s,...l})}),e[5]=l,e[6]=s,e[7]=a):a=e[7],a}function f(o){const e=c.c(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let s;e[3]!==t?(s=i("[&_tr]:border-b sticky top-0 z-10 bg-card",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==l||e[6]!==s?(a=r.jsx("thead",{"data-slot":"table-header",className:s,...l}),e[5]=l,e[6]=s,e[7]=a):a=e[7],a}function b(o){const e=c.c(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let s;e[3]!==t?(s=i("[&_tr:last-child]:border-0",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==l||e[6]!==s?(a=r.jsx("tbody",{"data-slot":"table-body",className:s,...l}),e[5]=l,e[6]=s,e[7]=a):a=e[7],a}function p(o){const e=c.c(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let s;e[3]!==t?(s=i("data-[state=selected]:bg-muted border-b transition-colors",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==l||e[6]!==s?(a=r.jsx("tr",{"data-slot":"table-row",className:s,...l}),e[5]=l,e[6]=s,e[7]=a):a=e[7],a}function m(o){const e=c.c(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let s;e[3]!==t?(s=i("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==l||e[6]!==s?(a=r.jsx("th",{"data-slot":"table-head",className:s,...l}),e[5]=l,e[6]=s,e[7]=a):a=e[7],a}function x(o){const e=c.c(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let s;e[3]!==t?(s=i("p-2 align-middle whitespace-nowrap text-sm [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==l||e[6]!==s?(a=r.jsx("td",{"data-slot":"table-cell",className:s,...l}),e[5]=l,e[6]=s,e[7]=a):a=e[7],a}export{x as T,p as a,b,d as c,m as d,f as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as f,j as d,cl as $,bd as p,bj as T,cm as y,bf as M,bi as P,bg as S,bk as F,ck as V,cn as D,c as g,n as x}from"./index-C-W5dASy.js";var m="Tabs",[G]=M(m,[y]),w=y(),[L,h]=G(m),C=f.forwardRef((r,e)=>{const{__scopeTabs:a,value:t,onValueChange:n,defaultValue:s,orientation:o="horizontal",dir:i,activationMode:l="automatic",...v}=r,u=P(i),[c,b]=S({prop:t,onChange:n,defaultProp:s??"",caller:m});return d.jsx(L,{scope:a,baseId:F(),value:c,onValueChange:b,orientation:o,dir:u,activationMode:l,children:d.jsx(p.div,{dir:u,"data-orientation":o,...v,ref:e})})});C.displayName=m;var N="TabsList",j=f.forwardRef((r,e)=>{const{__scopeTabs:a,loop:t=!0,...n}=r,s=h(N,a),o=w(a);return d.jsx(V,{asChild:!0,...o,orientation:s.orientation,dir:s.dir,loop:t,children:d.jsx(p.div,{role:"tablist","aria-orientation":s.orientation,...n,ref:e})})});j.displayName=N;var I="TabsTrigger",_=f.forwardRef((r,e)=>{const{__scopeTabs:a,value:t,disabled:n=!1,...s}=r,o=h(I,a),i=w(a),l=A(o.baseId,t),v=E(o.baseId,t),u=t===o.value;return d.jsx($,{asChild:!0,...i,focusable:!n,active:u,children:d.jsx(p.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":v,"data-state":u?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:l,...s,ref:e,onMouseDown:T(r.onMouseDown,c=>{!n&&c.button===0&&c.ctrlKey===!1?o.onValueChange(t):c.preventDefault()}),onKeyDown:T(r.onKeyDown,c=>{[" ","Enter"].includes(c.key)&&o.onValueChange(t)}),onFocus:T(r.onFocus,()=>{const c=o.activationMode!=="manual";!u&&!n&&c&&o.onValueChange(t)})})})});_.displayName=I;var R="TabsContent",k=f.forwardRef((r,e)=>{const{__scopeTabs:a,value:t,forceMount:n,children:s,...o}=r,i=h(R,a),l=A(i.baseId,t),v=E(i.baseId,t),u=t===i.value,c=f.useRef(u);return f.useEffect(()=>{const b=requestAnimationFrame(()=>c.current=!1);return()=>cancelAnimationFrame(b)},[]),d.jsx(D,{present:n||u,children:({present:b})=>d.jsx(p.div,{"data-state":u?"active":"inactive","data-orientation":i.orientation,role:"tabpanel","aria-labelledby":l,hidden:!b,id:v,tabIndex:0,...o,ref:e,style:{...r.style,animationDuration:c.current?"0s":void 0},children:b&&s})})});k.displayName=R;function A(r,e){return`${r}-trigger-${e}`}function E(r,e){return`${r}-content-${e}`}var z=C,K=j,B=_,q=k;function O(r){const e=g.c(10);let a,t,n;e[0]!==r?({className:a,variant:n,...t}=r,e[0]=r,e[1]=a,e[2]=t,e[3]=n):(a=e[1],t=e[2],n=e[3]);const s=n===void 0?"pill":n;let o;e[4]!==a?(o=x("flex flex-col gap-2",a),e[4]=a,e[5]=o):o=e[5];let i;return e[6]!==t||e[7]!==o||e[8]!==s?(i=d.jsx(z,{"data-slot":"tabs","data-variant":s,className:o,...t}),e[6]=t,e[7]=o,e[8]=s,e[9]=i):i=e[9],i}function J(r){const e=g.c(11);let a,t,n;e[0]!==r?({className:a,variant:n,...t}=r,e[0]=r,e[1]=a,e[2]=t,e[3]=n):(a=e[1],t=e[2],n=e[3]);const s=n||"pill",o=s==="underline"?"flex h-[52px] items-center border-b border-border":s==="canvas"?"flex h-10 items-center bg-background relative":"bg-muted text-muted-foreground inline-flex h-10 w-fit items-center justify-center rounded-xl p-[3px]";let i;e[4]!==a||e[5]!==o?(i=x(o,a),e[4]=a,e[5]=o,e[6]=i):i=e[6];let l;return e[7]!==s||e[8]!==t||e[9]!==i?(l=d.jsx(K,{"data-slot":"tabs-list","data-variant":s,className:i,...t}),e[7]=s,e[8]=t,e[9]=i,e[10]=l):l=e[10],l}function Q(r){const e=g.c(11);let a,t,n;e[0]!==r?({className:a,variant:n,...t}=r,e[0]=r,e[1]=a,e[2]=t,e[3]=n):(a=e[1],t=e[2],n=e[3]);const s=n||"pill",o=s==="underline"?"flex items-center h-full px-3 relative text-sm whitespace-nowrap border-b-2 mb-[-1px] transition-all text-muted-foreground border-transparent hover:text-foreground data-[state=active]:text-foreground data-[state=active]:border-primary disabled:pointer-events-none disabled:opacity-50":s==="canvas"?"flex items-center h-full px-3 gap-2.5 text-sm whitespace-nowrap transition-all border-r border-b border-border [&>*]:opacity-50 data-[state=active]:[&>*]:opacity-100 data-[state=active]:border-b-0 last:border-r-0 disabled:pointer-events-none max-w-2xs":"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/20 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-lg border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[2px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";let i;e[4]!==a||e[5]!==o?(i=x(o,a),e[4]=a,e[5]=o,e[6]=i):i=e[6];let l;return e[7]!==s||e[8]!==t||e[9]!==i?(l=d.jsx(B,{"data-slot":"tabs-trigger","data-variant":s,className:i,...t}),e[7]=s,e[8]=t,e[9]=i,e[10]=l):l=e[10],l}function U(r){const e=g.c(8);let a,t;e[0]!==r?({className:a,...t}=r,e[0]=r,e[1]=a,e[2]=t):(a=e[1],t=e[2]);let n;e[3]!==a?(n=x("flex-1 outline-none h-full",a),e[3]=a,e[4]=n):n=e[4];let s;return e[5]!==t||e[6]!==n?(s=d.jsx(q,{"data-slot":"tabs-content",className:n,...t}),e[5]=t,e[6]=n,e[7]=s):s=e[7],s}export{U as T,O as a,Q as b,J as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as S,r as V,j as a,n as X,B as U,b as R,d7 as te,d6 as de,t as T,d8 as J,H as G,av as H,K as Q,o as ie,p as le,e as ne,P as ee,d9 as pe,Y as fe,s as je}from"./index-C-W5dASy.js";import{I as Z}from"./input-BPzKKVIm.js";import{i as me}from"./Check-DYWCAvRe.js";import{i as ue}from"./ChevronSelectorVertical-BrPFZOd6.js";import{C as xe,a as he,b as ye,c as be,d as ve,e as Se}from"./command-BlvzBYcm.js";import{a as we,P as _e,b as Ne}from"./popover-CKC_v_FI.js";import{S as ae}from"./switch-080KuP0Z.js";import{c as Ce,d as ke,b as Te,f as Pe,g as Ie,e as Ae,a as Re,A as De}from"./alert-dialog-fRZZzq2b.js";import{S as Ee,a as $e,b as Fe,c as Ke,d as oe}from"./select-CX1EQjk0.js";import{t as Me,b as qe,a as Be,i as Oe,c as Le}from"./UserSquare-BS_e8Pjv.js";import{u as ze,j as Je}from"./use-organization-settings-BQYM8ne1.js";import{t as Ue}from"./cards-CL2vc4-W.js";import{R as Ve}from"./require-capability-DR7Mbbou.js";import"./index-BXFmp3WW.js";import"./dialog-CuqXnWbf.js";import"./SearchMd-C-eFE6qY.js";import"./ChevronDown-Dm7RFEzi.js";import"./ChevronUp-YRlpUnbI.js";import"./constants-BSYv1IkQ.js";import"./DotsVertical-Ds_DhNTo.js";import"./Download01-CtExxOFo.js";import"./Share07-_7OUHtSc.js";import"./Globe01-CbzTjXVx.js";import"./Key01-WP13V6P8.js";import"./Palette-BRlImZFI.js";import"./Trash01-649gpHj9.js";import"./Zap-D44l2tlW.js";import"./dropdown-menu-Cg8GO9Ey.js";import"./ChevronRight-DfFDfMiT.js";import"./file-type-icon-BfTCeyA7.js";import"./Eye-Bkw_HSyr.js";import"./access-gate-D_1GlcS4.js";import"./capability-load-error-DUMl4Cfr.js";function Ge(t){const e=S.c(41),{options:l,value:s,onChange:n,placeholder:i,triggerClassName:r,contentClassName:o,width:g,renderTrigger:c,renderItem:f,emptyMessage:m,searchPlaceholder:d,filter:u}=t,p=i===void 0?"Select...":i,j=g===void 0?"w-[200px]":g,x=m===void 0?"No results found.":m,y=d===void 0?"Search...":d;let h;e[0]!==s?(h=O=>O.value===s,e[0]=s,e[1]=h):h=e[1];const b=l.find(h),[v,w]=V.useState(!1),_=_e,N=we,P=!0,C=c?a.jsx("div",{className:X("cursor-pointer",r),children:c(b)}):a.jsxs(U,{variant:"outline",role:"combobox",className:X("justify-between",j,r),children:[b?b.label:p,a.jsx(ue,{className:"opacity-50"})]});let k;e[2]!==N||e[3]!==C?(k=a.jsx(N,{asChild:P,children:C}),e[2]=N,e[3]=C,e[4]=k):k=e[4];let I;e[5]!==o?(I=X("p-0",o),e[5]=o,e[6]=I):I=e[6];let M;e[7]===Symbol.for("react.memo_cache_sentinel")?(M={width:"var(--radix-popover-trigger-width)"},e[7]=M):M=e[7];let q;e[8]!==y?(q=a.jsx(xe,{placeholder:y,className:"h-9"}),e[8]=y,e[9]=q):q=e[9];let D;e[10]!==x?(D=a.jsx(he,{children:x}),e[10]=x,e[11]=D):D=e[11];let E;if(e[12]!==n||e[13]!==l||e[14]!==f||e[15]!==w||e[16]!==s){let O;e[18]!==n||e[19]!==f||e[20]!==w||e[21]!==s?(O=A=>{const re=s===A.value;return a.jsx(ye,{value:A.label,onSelect:()=>{n(A.value===s?"":A.value),w(!1)},children:f?f(A,re):a.jsxs(a.Fragment,{children:[A.label,a.jsx(me,{className:X("ml-auto",re?"opacity-100":"opacity-0")})]})},A.value)},e[18]=n,e[19]=f,e[20]=w,e[21]=s,e[22]=O):O=e[22],E=l.map(O),e[12]=n,e[13]=l,e[14]=f,e[15]=w,e[16]=s,e[17]=E}else E=e[17];let $;e[23]!==E?($=a.jsx(be,{children:E}),e[23]=E,e[24]=$):$=e[24];let L;e[25]!==D||e[26]!==$?(L=a.jsxs(ve,{children:[D,$]}),e[25]=D,e[26]=$,e[27]=L):L=e[27];let F;e[28]!==u||e[29]!==q||e[30]!==L?(F=a.jsxs(Se,{filter:u,children:[q,L]}),e[28]=u,e[29]=q,e[30]=L,e[31]=F):F=e[31];let K;e[32]!==F||e[33]!==I?(K=a.jsx(Ne,{className:I,style:M,children:F}),e[32]=F,e[33]=I,e[34]=K):K=e[34];let B;return e[35]!==_||e[36]!==v||e[37]!==w||e[38]!==K||e[39]!==k?(B=a.jsxs(_,{open:v,onOpenChange:w,children:[k,K]}),e[35]=_,e[36]=v,e[37]=w,e[38]=K,e[39]=k,e[40]=B):B=e[40],B}function He(t){const e=S.c(4),{size:l,className:s}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=a.jsx("path",{d:"M11.571 11.513H0a5.218 5.218 0 0 0 5.232 5.215h2.13v2.057A5.215 5.215 0 0 0 12.575 24V12.518a1.005 1.005 0 0 0-1.005-1.005zm5.723-5.756H5.736a5.215 5.215 0 0 0 5.215 5.214h2.129v2.058a5.218 5.218 0 0 0 5.215 5.214V6.758a1.001 1.001 0 0 0-1.001-1.001zM23.013 0H11.455a5.215 5.215 0 0 0 5.215 5.215h2.129v2.057A5.215 5.215 0 0 0 24 12.483V1.005A1.001 1.001 0 0 0 23.013 0z"}),e[0]=n):n=e[0];let i;return e[1]!==s||e[2]!==l?(i=a.jsx("svg",{width:l,height:l,viewBox:"0 0 24 24",fill:"#2684FF","aria-hidden":"true",className:s,children:n}),e[1]=s,e[2]=l,e[3]=i):i=e[3],i}function Qe(){const t=S.c(12),e=R();let l;t[0]!==e?(l=e("settings.review.title"),t[0]=e,t[1]=l):l=t[1];let s;t[2]!==e?(s=e("settings.review.description"),t[2]=e,t[3]=s):s=t[3];let n;t[4]===Symbol.for("react.memo_cache_sentinel")?(n=a.jsx(W,{flag:"qa_agent_enabled",icon:a.jsx(Me,{size:16}),titleKey:"settings.review.qaAgentTitle",descriptionKey:"settings.review.qaAgentDescription"}),t[4]=n):n=t[4];let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=a.jsx(W,{flag:"code_reviewer_enabled",icon:a.jsx(qe,{size:16}),titleKey:"settings.review.codeReviewerTitle",descriptionKey:"settings.review.codeReviewerDescription"}),t[5]=i):i=t[5];let r;t[6]===Symbol.for("react.memo_cache_sentinel")?(r=a.jsx(W,{flag:"cheap_reviewer_model",icon:a.jsx(Be,{size:16}),titleKey:"settings.review.cheapReviewerModelTitle",descriptionKey:"settings.review.cheapReviewerModelDescription"}),t[6]=r):r=t[6];let o;t[7]===Symbol.for("react.memo_cache_sentinel")?(o=a.jsx(W,{flag:"auto_merge",icon:a.jsx(Oe,{size:16}),titleKey:"settings.review.autoMergeTitle",descriptionKey:"settings.review.autoMergeDescription"}),t[7]=o):o=t[7];let g;t[8]===Symbol.for("react.memo_cache_sentinel")?(g=a.jsxs(te,{children:[n,i,r,o,a.jsx(W,{flag:"auto_assign_report_tasks_to_super_agent",icon:a.jsx(Le,{size:16}),titleKey:"settings.review.autoAssignReportTasksTitle",descriptionKey:"settings.review.autoAssignReportTasksDescription"})]}),t[8]=g):g=t[8];let c;return t[9]!==l||t[10]!==s?(c=a.jsx(de,{title:l,description:s,children:g}),t[9]=l,t[10]=s,t[11]=c):c=t[11],c}function W(t){const e=S.c(23),{flag:l,icon:s,titleKey:n,descriptionKey:i}=t,r=R(),o=ze(l),g=Je();let c;e[0]!==r||e[1]!==n?(c=r(n),e[0]=r,e[1]=n,e[2]=c):c=e[2];let f;e[3]!==i||e[4]!==r?(f=r(i),e[3]=i,e[4]=r,e[5]=f):f=e[5];const m=g.isPending;let d;e[6]!==r||e[7]!==n?(d=r(n),e[6]=r,e[7]=n,e[8]=d):d=e[8];let u;e[9]!==l||e[10]!==g||e[11]!==r?(u=x=>g.mutate(l,x,{onError:()=>T.error(r("settings.review.updateError"))}),e[9]=l,e[10]=g,e[11]=r,e[12]=u):u=e[12];let p;e[13]!==o||e[14]!==g.isPending||e[15]!==d||e[16]!==u?(p=a.jsx(ae,{checked:o,disabled:m,"aria-label":d,onCheckedChange:u}),e[13]=o,e[14]=g.isPending,e[15]=d,e[16]=u,e[17]=p):p=e[17];let j;return e[18]!==s||e[19]!==c||e[20]!==f||e[21]!==p?(j=a.jsx(J,{icon:s,title:c,description:f,action:p}),e[18]=s,e[19]=c,e[20]=f,e[21]=p,e[22]=j):j=e[22],j}function ge(t){const e=t.projectName?.replace(/\s+/g," ").trim(),l=t.name.trim();return e?{primary:e,secondary:[l,t.projectKey].filter(Boolean).join(" · ")}:{primary:l,secondary:t.projectKey??""}}function Ye(t){const{primary:e,secondary:l}=ge(t);return[e,l,`#${t.id}`].filter(Boolean).join(" ")}function ce(t){return t.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").toLowerCase()}function We(t,e){const l=ce(e).trim();if(!l)return 1;const s=ce(t);return l.split(/\s+/).every(n=>s.includes(n))?1:0}function Xe(){const t=S.c(7),{org:e}=G(),l=H();let s;t[0]!==e.id?(s=Q.jiraIntegration(e.id),t[0]=e.id,t[1]=s):s=t[1];let n;t[2]!==l?(n=async()=>(await l.call("JIRA_INTEGRATION_GET",{})).integration,t[2]=l,t[3]=n):n=t[3];let i;return t[4]!==s||t[5]!==n?(i={queryKey:s,queryFn:n},t[4]=s,t[5]=n,t[6]=i):i=t[6],ie(i)}function Y(){const t=S.c(8),{org:e}=G(),l=H(),s=le();let n;t[0]!==l?(n=async o=>(await l.call("JIRA_INTEGRATION_UPSERT",o)).integration,t[0]=l,t[1]=n):n=t[1];let i;t[2]!==e||t[3]!==s?(i=()=>s.invalidateQueries({queryKey:Q.jiraIntegration(e.id)}),t[2]=e,t[3]=s,t[4]=i):i=t[4];let r;return t[5]!==n||t[6]!==i?(r={mutationFn:n,onSettled:i},t[5]=n,t[6]=i,t[7]=r):r=t[7],ne(r)}function Ze(){const t=S.c(8),{org:e}=G(),l=H(),s=le();let n;t[0]!==l?(n=()=>l.call("JIRA_INTEGRATION_DELETE",{}),t[0]=l,t[1]=n):n=t[1];let i;t[2]!==e||t[3]!==s?(i=()=>s.invalidateQueries({queryKey:Q.jiraIntegration(e.id)}),t[2]=e,t[3]=s,t[4]=i):i=t[4];let r;return t[5]!==n||t[6]!==i?(r={mutationFn:n,onSettled:i},t[5]=n,t[6]=i,t[7]=r):r=t[7],ne(r)}function et(t){const e=S.c(8),{org:l}=G(),s=H();let n;e[0]!==l.id?(n=Q.jiraBoards(l.id),e[0]=l.id,e[1]=n):n=e[1];let i;e[2]!==s?(i=async()=>(await s.call("JIRA_BOARDS_LIST",{})).boards,e[2]=s,e[3]=i):i=e[3];let r;return e[4]!==t||e[5]!==n||e[6]!==i?(r={queryKey:n,enabled:t,staleTime:6e4,queryFn:i},e[4]=t,e[5]=n,e[6]=i,e[7]=r):r=e[7],ie(r)}function tt(t){const e=S.c(10),{org:l}=G(),s=H();let n;e[0]!==t||e[1]!==l.id?(n=Q.jiraBoardColumns(l.id,t??""),e[0]=t,e[1]=l.id,e[2]=n):n=e[2];const i=t!==null;let r;e[3]!==t||e[4]!==s?(r=async()=>(await s.call("JIRA_BOARD_COLUMNS_LIST",{boardId:t??""})).columns,e[3]=t,e[4]=s,e[5]=r):r=e[5];let o;return e[6]!==n||e[7]!==i||e[8]!==r?(o={queryKey:n,enabled:i,staleTime:6e4,queryFn:r},e[6]=n,e[7]=i,e[8]=r,e[9]=o):o=e[9],ie(o)}function st(){const t=S.c(8),{org:e}=G(),l=H(),s=le();let n;t[0]!==l?(n=async()=>(await l.call("JIRA_SYNC_RUN",{})).result,t[0]=l,t[1]=n):n=t[1];let i;t[2]!==e||t[3]!==s?(i=()=>s.invalidateQueries({queryKey:Q.jiraIntegration(e.id)}),t[2]=e,t[3]=s,t[4]=i):i=t[4];let r;return t[5]!==n||t[6]!==i?(r={mutationFn:n,onSettled:i},t[5]=n,t[6]=i,t[7]=r):r=t[7],ne(r)}const it=[{value:"triage",labelKey:"taskBoard.config.statusBacklog"},{value:"todo",labelKey:"taskBoard.config.statusTodo"},{value:"in_progress",labelKey:"taskBoard.config.statusInProgress"},{value:"in_review",labelKey:"taskBoard.config.statusInReview"},{value:"done",labelKey:"taskBoard.config.statusDone"},{value:"archived",labelKey:"taskBoard.config.statusArchived"}],se="__dont_sync__";function z(t,e){return t instanceof Error?t.message:e}const lt="https://id.atlassian.com/manage-profile/security/api-tokens";function nt(t){const e=S.c(7),{stepKeys:l}=t,s=R();let n;if(e[0]!==l||e[1]!==s){let r;e[3]!==s?(r=o=>a.jsx("li",{children:s(o)},o),e[3]=s,e[4]=r):r=e[4],n=l.map(r),e[0]=l,e[1]=s,e[2]=n}else n=e[2];let i;return e[5]!==n?(i=a.jsx("ol",{className:"list-decimal pl-5 flex flex-col gap-1 text-xs text-muted-foreground",children:n}),e[5]=n,e[6]=i):i=e[6],i}function at(){const t=S.c(69),e=R(),l=Y(),[s,n]=V.useState(""),[i,r]=V.useState(""),[o,g]=V.useState("");let c;t[0]!==o||t[1]!==i||t[2]!==s?(c=s.trim()!==""&&i.trim()!==""&&o.trim()!=="",t[0]=o,t[1]=i,t[2]=s,t[3]=c):c=t[3];const f=c;let m;t[4]!==e?(m=e("settings.jira.siteLabel"),t[4]=e,t[5]=m):m=t[5];let d;t[6]!==m?(d=a.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:m}),t[6]=m,t[7]=d):d=t[7];let u;t[8]===Symbol.for("react.memo_cache_sentinel")?(u=A=>n(A.target.value),t[8]=u):u=t[8];let p;t[9]!==e?(p=e("settings.jira.sitePlaceholder"),t[9]=e,t[10]=p):p=t[10];let j;t[11]!==s||t[12]!==p?(j=a.jsx(Z,{value:s,onChange:u,placeholder:p,autoComplete:"off"}),t[11]=s,t[12]=p,t[13]=j):j=t[13];let x;t[14]!==d||t[15]!==j?(x=a.jsxs("div",{className:"flex flex-col gap-1.5",children:[d,j]}),t[14]=d,t[15]=j,t[16]=x):x=t[16];let y;t[17]!==e?(y=e("settings.jira.emailLabel"),t[17]=e,t[18]=y):y=t[18];let h;t[19]!==y?(h=a.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:y}),t[19]=y,t[20]=h):h=t[20];let b;t[21]===Symbol.for("react.memo_cache_sentinel")?(b=A=>r(A.target.value),t[21]=b):b=t[21];let v;t[22]!==e?(v=e("settings.jira.emailPlaceholder"),t[22]=e,t[23]=v):v=t[23];let w;t[24]!==i||t[25]!==v?(w=a.jsx(Z,{value:i,onChange:b,placeholder:v,autoComplete:"off"}),t[24]=i,t[25]=v,t[26]=w):w=t[26];let _;t[27]!==w||t[28]!==h?(_=a.jsxs("div",{className:"flex flex-col gap-1.5",children:[h,w]}),t[27]=w,t[28]=h,t[29]=_):_=t[29];let N;t[30]!==e?(N=e("settings.jira.tokenLabel"),t[30]=e,t[31]=N):N=t[31];let P;t[32]!==N?(P=a.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:N}),t[32]=N,t[33]=P):P=t[33];let C;t[34]!==e?(C=e("settings.jira.createTokenLink"),t[34]=e,t[35]=C):C=t[35];let k;t[36]===Symbol.for("react.memo_cache_sentinel")?(k=a.jsx(je,{size:12}),t[36]=k):k=t[36];let I;t[37]!==C?(I=a.jsxs("a",{href:lt,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-0.5 text-xs text-foreground hover:underline",children:[C,k]}),t[37]=C,t[38]=I):I=t[38];let M;t[39]!==P||t[40]!==I?(M=a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[P,I]}),t[39]=P,t[40]=I,t[41]=M):M=t[41];let q;t[42]===Symbol.for("react.memo_cache_sentinel")?(q=A=>g(A.target.value),t[42]=q):q=t[42];let D;t[43]!==e?(D=e("settings.jira.tokenPlaceholder"),t[43]=e,t[44]=D):D=t[44];let E;t[45]!==o||t[46]!==D?(E=a.jsx(Z,{type:"password",value:o,onChange:q,placeholder:D,autoComplete:"off"}),t[45]=o,t[46]=D,t[47]=E):E=t[47];let $;t[48]!==M||t[49]!==E?($=a.jsxs("div",{className:"flex flex-col gap-1.5",children:[M,E]}),t[48]=M,t[49]=E,t[50]=$):$=t[50];const L=!f||l.isPending;let F;t[51]!==o||t[52]!==i||t[53]!==s||t[54]!==e||t[55]!==l?(F=()=>l.mutate({siteUrl:s.trim(),email:i.trim(),apiToken:o.trim()},{onSuccess:()=>T.success(e("settings.jira.connected")),onError:A=>T.error(z(A,e("settings.jira.connectFailed")))}),t[51]=o,t[52]=i,t[53]=s,t[54]=e,t[55]=l,t[56]=F):F=t[56];let K;t[57]!==e||t[58]!==l.isPending?(K=l.isPending?e("settings.jira.connecting"):e("settings.jira.connect"),t[57]=e,t[58]=l.isPending,t[59]=K):K=t[59];let B;t[60]!==L||t[61]!==F||t[62]!==K?(B=a.jsx(U,{size:"sm",className:"w-fit",disabled:L,onClick:F,children:K}),t[60]=L,t[61]=F,t[62]=K,t[63]=B):B=t[63];let O;return t[64]!==_||t[65]!==$||t[66]!==B||t[67]!==x?(O=a.jsxs("div",{className:"flex flex-col gap-4 mt-3 max-w-md",children:[x,_,$,B]}),t[64]=_,t[65]=$,t[66]=B,t[67]=x,t[68]=O):O=t[68],O}function rt(t){const e=S.c(7),{integration:l}=t,s=R();if(l.lastSyncError){let r;return e[0]!==l.lastSyncError?(r=a.jsx("p",{className:"text-xs text-destructive truncate",children:l.lastSyncError}),e[0]=l.lastSyncError,e[1]=r):r=e[1],r}let n;e[2]!==l.lastSyncedAt||e[3]!==s?(n=l.lastSyncedAt?s("settings.jira.lastSynced",{ago:Ue(l.lastSyncedAt)}):s("settings.jira.waitingFirstSync"),e[2]=l.lastSyncedAt,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==n?(i=a.jsx("p",{className:"text-xs text-muted-foreground",children:n}),e[5]=n,e[6]=i):i=e[6],i}function ot(t){const e=S.c(23),{integration:l}=t,s=R(),n=Y(),i=tt(l.boardId);if(i.isPending){let m;return e[0]===Symbol.for("react.memo_cache_sentinel")?(m=a.jsx(fe,{className:"h-24 w-full mt-3"}),e[0]=m):m=e[0],m}if(i.isError){let m;e[1]!==i.error||e[2]!==s?(m=z(i.error,s("settings.jira.columnsFailed")),e[1]=i.error,e[2]=s,e[3]=m):m=e[3];let d;return e[4]!==m?(d=a.jsx("p",{className:"text-xs text-destructive mt-3",children:m}),e[4]=m,e[5]=d):d=e[5],d}let r;e[6]!==l.statusMapping||e[7]!==s||e[8]!==n?(r=function(d,u){const p={...l.statusMapping};for(const j of d)u===se?delete p[j]:p[j]=u;n.mutate({statusMapping:p},{onError:j=>T.error(z(j,s("settings.jira.saveFailed")))})},e[6]=l.statusMapping,e[7]=s,e[8]=n,e[9]=r):r=e[9];const o=r;let g;e[10]!==i.data?(g=i.data??[],e[10]=i.data,e[11]=g):g=e[11];let c;if(e[12]!==l.statusMapping||e[13]!==o||e[14]!==s||e[15]!==g){let m;e[17]!==l.statusMapping||e[18]!==o||e[19]!==s?(m=d=>a.jsxs("div",{className:"flex items-center justify-between gap-4 py-2.5 border-b border-border/60 last:border-b-0",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("span",{className:"text-sm truncate",children:d.name}),(d.statuses.length>1||d.statuses[0]!==d.name)&&a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:d.statuses.join(", ")})]}),a.jsxs(Ee,{value:(d.statuses[0]&&l.statusMapping[d.statuses[0]])??se,onValueChange:u=>o(d.statuses,u),children:[a.jsx($e,{className:"w-44 shrink-0",children:a.jsx(Fe,{})}),a.jsxs(Ke,{children:[a.jsx(oe,{value:se,children:s("settings.jira.dontSync")}),it.map(u=>a.jsx(oe,{value:u.value,children:s(u.labelKey)},u.value))]})]})]},d.name),e[17]=l.statusMapping,e[18]=o,e[19]=s,e[20]=m):m=e[20],c=g.map(m),e[12]=l.statusMapping,e[13]=o,e[14]=s,e[15]=g,e[16]=c}else c=e[16];let f;return e[21]!==c?(f=a.jsx("div",{className:"flex flex-col mt-3",children:c}),e[21]=c,e[22]=f):f=e[22],f}function ct(t){const e=S.c(44),{integration:l}=t,s=R(),n=Ze(),[i,r]=V.useState(!1),o=l.siteUrl,g=l.email;let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=()=>r(!0),e[0]=c):c=e[0];let f;e[1]!==s?(f=s("settings.jira.disconnect"),e[1]=s,e[2]=f):f=e[2];let m;e[3]!==f?(m=a.jsx(U,{variant:"outline",size:"sm",onClick:c,children:f}),e[3]=f,e[4]=m):m=e[4];let d;e[5]!==l.email||e[6]!==l.siteUrl||e[7]!==m?(d=a.jsx(J,{title:o,description:g,action:m}),e[5]=l.email,e[6]=l.siteUrl,e[7]=m,e[8]=d):d=e[8];let u;e[9]!==s?(u=s("settings.jira.disconnectTitle"),e[9]=s,e[10]=u):u=e[10];let p;e[11]!==u?(p=a.jsx(Ce,{children:u}),e[11]=u,e[12]=p):p=e[12];let j;e[13]!==s?(j=s("settings.jira.disconnectDescription"),e[13]=s,e[14]=j):j=e[14];let x;e[15]!==j?(x=a.jsx(ke,{children:j}),e[15]=j,e[16]=x):x=e[16];let y;e[17]!==x||e[18]!==p?(y=a.jsxs(Te,{children:[p,x]}),e[17]=x,e[18]=p,e[19]=y):y=e[19];let h;e[20]!==s?(h=s("settings.jira.cancel"),e[20]=s,e[21]=h):h=e[21];let b;e[22]!==h?(b=a.jsx(Pe,{children:h}),e[22]=h,e[23]=b):b=e[23];let v;e[24]!==n||e[25]!==s?(v=()=>n.mutate(void 0,{onSuccess:()=>T.success(s("settings.jira.disconnected")),onError:I=>T.error(z(I,s("settings.jira.saveFailed")))}),e[24]=n,e[25]=s,e[26]=v):v=e[26];let w;e[27]!==s?(w=s("settings.jira.disconnect"),e[27]=s,e[28]=w):w=e[28];let _;e[29]!==v||e[30]!==w?(_=a.jsx(Ie,{onClick:v,children:w}),e[29]=v,e[30]=w,e[31]=_):_=e[31];let N;e[32]!==b||e[33]!==_?(N=a.jsxs(Ae,{children:[b,_]}),e[32]=b,e[33]=_,e[34]=N):N=e[34];let P;e[35]!==y||e[36]!==N?(P=a.jsxs(Re,{children:[y,N]}),e[35]=y,e[36]=N,e[37]=P):P=e[37];let C;e[38]!==i||e[39]!==P?(C=a.jsx(De,{open:i,onOpenChange:r,children:P}),e[38]=i,e[39]=P,e[40]=C):C=e[40];let k;return e[41]!==C||e[42]!==d?(k=a.jsxs(a.Fragment,{children:[d,C]}),e[41]=C,e[42]=d,e[43]=k):k=e[43],k}function dt(t){const e=S.c(36),{integration:l}=t,s=R(),n=Y(),i=et(!0);let r,o;e[0]!==i.data||e[1]!==l.boardId||e[2]!==l.boardName?(r=(i.data??[]).map(mt),o=l.boardId?r.find(b=>b.value===l.boardId)?.primary??l.boardName??l.boardId:null,e[0]=i.data,e[1]=l.boardId,e[2]=l.boardName,e[3]=r,e[4]=o):(r=e[3],o=e[4]);const g=o;let c;e[5]!==s?(c=s("settings.jira.boardLabel"),e[5]=s,e[6]=c):c=e[6];let f;e[7]!==s?(f=s("settings.jira.boardDescription"),e[7]=s,e[8]=f):f=e[8];const m=l.boardId??"";let d;e[9]!==s?(d=s("settings.jira.boardPlaceholder"),e[9]=s,e[10]=d):d=e[10];let u;e[11]!==s?(u=s("settings.jira.boardSearchPlaceholder"),e[11]=s,e[12]=u):u=e[12];let p;e[13]!==i.isPending||e[14]!==s?(p=i.isPending?s("settings.jira.loadingBoards"):s("settings.jira.noBoardsMatch"),e[13]=i.isPending,e[14]=s,e[15]=p):p=e[15];let j;e[16]!==g||e[17]!==s?(j=()=>a.jsxs(U,{variant:"outline",role:"combobox",className:"w-72 justify-between font-normal",children:[a.jsx("span",{className:"truncate",children:g??s("settings.jira.boardPlaceholder")}),a.jsx(ue,{className:"opacity-50 shrink-0"})]}),e[16]=g,e[17]=s,e[18]=j):j=e[18];let x;e[19]!==r||e[20]!==l.boardId||e[21]!==s||e[22]!==n?(x=b=>{!b||b===l.boardId||n.mutate({boardId:b,boardName:r.find(v=>v.value===b)?.primary??null,statusMapping:{},enabled:!1},{onError:v=>T.error(z(v,s("settings.jira.saveFailed")))})},e[19]=r,e[20]=l.boardId,e[21]=s,e[22]=n,e[23]=x):x=e[23];let y;e[24]!==r||e[25]!==m||e[26]!==d||e[27]!==u||e[28]!==p||e[29]!==j||e[30]!==x?(y=a.jsx(Ge,{options:r,value:m,width:"w-72",triggerClassName:"shrink-0",placeholder:d,searchPlaceholder:u,filter:We,emptyMessage:p,renderTrigger:j,renderItem:ft,onChange:x}),e[24]=r,e[25]=m,e[26]=d,e[27]=u,e[28]=p,e[29]=j,e[30]=x,e[31]=y):y=e[31];let h;return e[32]!==y||e[33]!==c||e[34]!==f?(h=a.jsx(J,{title:c,description:f,action:y}),e[32]=y,e[33]=c,e[34]=f,e[35]=h):h=e[35],h}function ft(t,e){return a.jsxs("div",{className:"flex items-start gap-2 min-w-0 w-full",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"truncate",children:t.primary}),a.jsx("p",{className:"text-xs text-muted-foreground truncate",children:t.secondary})]}),a.jsx(me,{className:X("mt-0.5 shrink-0",e?"opacity-100":"opacity-0")})]})}function mt(t){const{primary:e,secondary:l}=ge(t);return{value:String(t.id),label:Ye(t),primary:e,secondary:l}}function ut(t){const e=S.c(10),{integration:l}=t,s=R();let n;e[0]!==s?(n=s("settings.jira.mappingLabel"),e[0]=s,e[1]=n):n=e[1];let i;e[2]!==s?(i=s("settings.jira.mappingDescription"),e[2]=s,e[3]=i):i=e[3];let r;e[4]!==l?(r=a.jsx(ot,{integration:l}),e[4]=l,e[5]=r):r=e[5];let o;return e[6]!==n||e[7]!==i||e[8]!==r?(o=a.jsx(J,{title:n,description:i,children:r}),e[6]=n,e[7]=i,e[8]=r,e[9]=o):o=e[9],o}function gt(t){const e=S.c(29),{integration:l}=t,s=R(),n=Y(),[i,r]=V.useState(l.jqlFilter??"");let o;e[0]!==i?(o=i.trim(),e[0]=i,e[1]=o):o=e[1];const g=o!==(l.jqlFilter??"");let c;e[2]!==s?(c=s("settings.jira.jqlLabel"),e[2]=s,e[3]=c):c=e[3];let f;e[4]!==s?(f=s("settings.jira.jqlDescription"),e[4]=s,e[5]=f):f=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=v=>r(v.target.value),e[6]=m):m=e[6];let d;e[7]!==s?(d=s("settings.jira.jqlPlaceholder"),e[7]=s,e[8]=d):d=e[8];let u;e[9]!==d||e[10]!==i?(u=a.jsx(Z,{value:i,onChange:m,placeholder:d,className:"font-mono text-xs"}),e[9]=d,e[10]=i,e[11]=u):u=e[11];const p=!g||n.isPending;let j;e[12]!==s||e[13]!==n||e[14]!==i?(j=()=>n.mutate({jqlFilter:i.trim()===""?null:i.trim()},{onSuccess:()=>T.success(s("settings.jira.jqlSaved")),onError:v=>T.error(z(v,s("settings.jira.saveFailed")))}),e[12]=s,e[13]=n,e[14]=i,e[15]=j):j=e[15];let x;e[16]!==s?(x=s("settings.jira.jqlSave"),e[16]=s,e[17]=x):x=e[17];let y;e[18]!==p||e[19]!==j||e[20]!==x?(y=a.jsx(U,{variant:"outline",size:"sm",className:"shrink-0",disabled:p,onClick:j,children:x}),e[18]=p,e[19]=j,e[20]=x,e[21]=y):y=e[21];let h;e[22]!==y||e[23]!==u?(h=a.jsxs("div",{className:"flex items-center gap-2 mt-3",children:[u,y]}),e[22]=y,e[23]=u,e[24]=h):h=e[24];let b;return e[25]!==h||e[26]!==c||e[27]!==f?(b=a.jsx(J,{title:c,description:f,children:h}),e[25]=h,e[26]=c,e[27]=f,e[28]=b):b=e[28],b}function pt(t){const e=S.c(15),{integration:l}=t,s=R(),n=Y();let i;e[0]!==s?(i=s("settings.jira.autoDelegateLabel"),e[0]=s,e[1]=i):i=e[1];let r;e[2]!==s?(r=s("settings.jira.autoDelegateDescription"),e[2]=s,e[3]=r):r=e[3];let o;e[4]!==s||e[5]!==n?(o=f=>n.mutate({autoDelegate:f},{onError:m=>T.error(z(m,s("settings.jira.saveFailed")))}),e[4]=s,e[5]=n,e[6]=o):o=e[6];let g;e[7]!==l.autoDelegate||e[8]!==o||e[9]!==n.isPending?(g=a.jsx(ae,{checked:l.autoDelegate,disabled:n.isPending,onCheckedChange:o}),e[7]=l.autoDelegate,e[8]=o,e[9]=n.isPending,e[10]=g):g=e[10];let c;return e[11]!==i||e[12]!==r||e[13]!==g?(c=a.jsx(J,{title:i,description:r,action:g}),e[11]=i,e[12]=r,e[13]=g,e[14]=c):c=e[14],c}function jt(t){const e=S.c(32),{integration:l}=t,s=R(),n=Y(),i=st();let r;e[0]!==l.statusMapping?(r=Object.keys(l.statusMapping),e[0]=l.statusMapping,e[1]=r):r=e[1];const o=r.length>0;let g;e[2]!==s?(g=s("settings.jira.enableLabel"),e[2]=s,e[3]=g):g=e[3];let c;e[4]!==l?(c=a.jsx(rt,{integration:l}),e[4]=l,e[5]=c):c=e[5];const f=!l.enabled||i.isPending;let m;e[6]!==i||e[7]!==s?(m=()=>i.mutate(void 0,{onSuccess:h=>{"error"in h?T.error(h.error):T.success(s("settings.jira.syncDone",{created:String(h.created),updated:String(h.updated)}))},onError:h=>T.error(z(h,s("settings.jira.syncFailed")))}),e[6]=i,e[7]=s,e[8]=m):m=e[8];let d;e[9]!==i.isPending||e[10]!==s?(d=i.isPending?s("settings.jira.syncing"):s("settings.jira.syncNow"),e[9]=i.isPending,e[10]=s,e[11]=d):d=e[11];let u;e[12]!==f||e[13]!==m||e[14]!==d?(u=a.jsx(U,{variant:"outline",size:"sm",disabled:f,onClick:m,children:d}),e[12]=f,e[13]=m,e[14]=d,e[15]=u):u=e[15];let p;e[16]!==o||e[17]!==l.boardId||e[18]!==s||e[19]!==n?(p=h=>{if(h&&(!l.boardId||!o)){T.error(s("settings.jira.enableRequirements"));return}n.mutate({enabled:h},{onError:b=>T.error(z(b,s("settings.jira.saveFailed")))})},e[16]=o,e[17]=l.boardId,e[18]=s,e[19]=n,e[20]=p):p=e[20];let j;e[21]!==l.enabled||e[22]!==p||e[23]!==n.isPending?(j=a.jsx(ae,{checked:l.enabled,disabled:n.isPending,onCheckedChange:p}),e[21]=l.enabled,e[22]=p,e[23]=n.isPending,e[24]=j):j=e[24];let x;e[25]!==u||e[26]!==j?(x=a.jsxs("div",{className:"flex items-center gap-3",children:[u,j]}),e[25]=u,e[26]=j,e[27]=x):x=e[27];let y;return e[28]!==x||e[29]!==g||e[30]!==c?(y=a.jsx(J,{title:g,description:c,action:x}),e[28]=x,e[29]=g,e[30]=c,e[31]=y):y=e[31],y}function xt(t){const e=S.c(24),{integration:l}=t,s=R(),n=`${window.location.origin}/api/_jira/webhook/${l.webhookSecret}`;let i;e[0]!==s?(i=s("settings.jira.webhookTitle"),e[0]=s,e[1]=i):i=e[1];let r;e[2]!==s?(r=s("settings.jira.webhookDescription"),e[2]=s,e[3]=r):r=e[3];let o;e[4]!==n?(o=a.jsx(Z,{readOnly:!0,value:n,className:"font-mono text-xs"}),e[4]=n,e[5]=o):o=e[5];let g;e[6]!==s||e[7]!==n?(g=()=>{navigator.clipboard.writeText(n),T.success(s("settings.jira.webhookCopied"))},e[6]=s,e[7]=n,e[8]=g):g=e[8];let c;e[9]!==s?(c=s("settings.jira.webhookCopy"),e[9]=s,e[10]=c):c=e[10];let f;e[11]!==g||e[12]!==c?(f=a.jsx(U,{variant:"outline",size:"sm",className:"shrink-0",onClick:g,children:c}),e[11]=g,e[12]=c,e[13]=f):f=e[13];let m;e[14]!==o||e[15]!==f?(m=a.jsxs("div",{className:"flex items-center gap-2",children:[o,f]}),e[14]=o,e[15]=f,e[16]=m):m=e[16];let d;e[17]===Symbol.for("react.memo_cache_sentinel")?(d=a.jsx(nt,{stepKeys:["settings.jira.webhookStep1","settings.jira.webhookStep2","settings.jira.webhookStep3","settings.jira.webhookStep4","settings.jira.webhookStep5"]}),e[17]=d):d=e[17];let u;e[18]!==m?(u=a.jsxs("div",{className:"flex flex-col gap-3 mt-3",children:[m,d]}),e[18]=m,e[19]=u):u=e[19];let p;return e[20]!==i||e[21]!==r||e[22]!==u?(p=a.jsx(J,{title:i,description:r,children:u}),e[20]=i,e[21]=r,e[22]=u,e[23]=p):p=e[23],p}function ht(){const t=S.c(28),e=R(),l=Xe();if(l.isPending){let d;return t[0]===Symbol.for("react.memo_cache_sentinel")?(d=a.jsx(te,{children:a.jsx("div",{className:"p-4",children:a.jsx(fe,{className:"h-40 w-full"})})}),t[0]=d):d=t[0],d}if(!l.data){let d;t[1]!==e?(d=e("settings.jira.connectTitle"),t[1]=e,t[2]=d):d=t[2];let u;t[3]!==e?(u=e("settings.jira.connectDescription"),t[3]=e,t[4]=u):u=t[4];let p;t[5]===Symbol.for("react.memo_cache_sentinel")?(p=a.jsx(at,{}),t[5]=p):p=t[5];let j;return t[6]!==d||t[7]!==u?(j=a.jsx(te,{children:a.jsx(J,{title:d,description:u,children:p})}),t[6]=d,t[7]=u,t[8]=j):j=t[8],j}const s=l.data;let n,i,r;t[9]!==s?(n=a.jsx(ct,{integration:s}),i=a.jsx(dt,{integration:s}),r=s.boardId&&a.jsx(ut,{integration:s}),t[9]=s,t[10]=n,t[11]=i,t[12]=r):(n=t[10],i=t[11],r=t[12]);let o;t[13]!==s?(o=s.boardId&&a.jsx(gt,{integration:s}),t[13]=s,t[14]=o):o=t[14];let g;t[15]!==s?(g=s.boardId&&a.jsx(pt,{integration:s}),t[15]=s,t[16]=g):g=t[16];let c,f;t[17]!==s?(c=a.jsx(jt,{integration:s}),f=a.jsx(xt,{integration:s}),t[17]=s,t[18]=c,t[19]=f):(c=t[18],f=t[19]);let m;return t[20]!==n||t[21]!==i||t[22]!==r||t[23]!==o||t[24]!==g||t[25]!==c||t[26]!==f?(m=a.jsxs(te,{children:[n,i,r,o,g,c,f]}),t[20]=n,t[21]=i,t[22]=r,t[23]=o,t[24]=g,t[25]=c,t[26]=f,t[27]=m):m=t[27],m}function yt(){const t=S.c(16),e=R();let l;t[0]!==e?(l=e("settings.nav.tasks"),t[0]=e,t[1]=l):l=t[1];let s;t[2]!==l?(s=a.jsx(ee.Title,{children:l}),t[2]=l,t[3]=s):s=t[3];let n;t[4]===Symbol.for("react.memo_cache_sentinel")?(n=a.jsx(Qe,{}),t[4]=n):n=t[4];let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=a.jsx(He,{size:18}),t[5]=i):i=t[5];let r;t[6]!==e?(r=e("settings.jira.sectionTitle"),t[6]=e,t[7]=r):r=t[7];let o;t[8]!==r?(o=a.jsxs("span",{className:"flex items-center gap-2",children:[i,r]}),t[8]=r,t[9]=o):o=t[9];let g;t[10]===Symbol.for("react.memo_cache_sentinel")?(g=a.jsx(ht,{}),t[10]=g):g=t[10];let c;t[11]!==o?(c=a.jsx(de,{title:o,children:g}),t[11]=o,t[12]=c):c=t[12];let f;return t[13]!==s||t[14]!==c?(f=a.jsx(ee,{children:a.jsx(ee.Content,{children:a.jsx(ee.Body,{children:a.jsxs(pe,{children:[s,n,c]})})})}),t[13]=s,t[14]=c,t[15]=f):f=t[15],f}function Zt(){const t=S.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=a.jsx(Ve,{capability:"org:manage",area:"settings",children:a.jsx(yt,{})}),t[0]=e):e=t[0],e}export{Zt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as o,n,j as l}from"./index-C-W5dASy.js";function c(s){const e=o.c(8);let i,r;e[0]!==s?({className:i,...r}=s,e[0]=s,e[1]=i,e[2]=r):(i=e[1],r=e[2]);let t;e[3]!==i?(t=n("placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/20 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex field-sizing-content min-h-16 w-full rounded-xl bg-background dark:bg-input/30 px-3 py-2 text-sm transition-[color,box-shadow] outline-none focus-visible:ring-[2px] card-shadow disabled:cursor-not-allowed disabled:opacity-50",i),e[3]=i,e[4]=t):t=e[4];let a;return e[5]!==r||e[6]!==t?(a=l.jsx("textarea",{"data-slot":"textarea",className:t,...r}),e[5]=r,e[6]=t,e[7]=a):a=e[7],a}export{c as T};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as x,bg as b,j as c,bd as m,bj as V,aY as p,cl as M,cm as T,bi as S,ck as A,bf as F,bo as $,c as P,n as C}from"./index-C-W5dASy.js";var j="Toggle",_=x.forwardRef((r,e)=>{const{pressed:l,defaultPressed:s,onPressedChange:n,...a}=r,[t,o]=b({prop:l,onChange:n,defaultProp:s??!1,caller:j});return c.jsx(m.button,{type:"button","aria-pressed":t,"data-state":t?"on":"off","data-disabled":r.disabled?"":void 0,...a,ref:e,onClick:V(r.onClick,()=>{r.disabled||o(!t)})})});_.displayName=j;var v="ToggleGroup",[w]=F(v,[T]),I=T(),h=p.forwardRef((r,e)=>{const{type:l,...s}=r;if(l==="single"){const n=s;return c.jsx(D,{...n,ref:e})}if(l==="multiple"){const n=s;return c.jsx(B,{...n,ref:e})}throw new Error(`Missing prop \`type\` expected on \`${v}\``)});h.displayName=v;var[z,y]=w(v),D=p.forwardRef((r,e)=>{const{value:l,defaultValue:s,onValueChange:n=()=>{},...a}=r,[t,o]=b({prop:l,defaultProp:s??"",onChange:n,caller:v});return c.jsx(z,{scope:r.__scopeToggleGroup,type:"single",value:p.useMemo(()=>t?[t]:[],[t]),onItemActivate:o,onItemDeactivate:p.useCallback(()=>o(""),[o]),children:c.jsx(R,{...a,ref:e})})}),B=p.forwardRef((r,e)=>{const{value:l,defaultValue:s,onValueChange:n=()=>{},...a}=r,[t,o]=b({prop:l,defaultProp:s??[],onChange:n,caller:v}),i=p.useCallback(u=>o((g=[])=>[...g,u]),[o]),d=p.useCallback(u=>o((g=[])=>g.filter(E=>E!==u)),[o]);return c.jsx(z,{scope:r.__scopeToggleGroup,type:"multiple",value:t,onItemActivate:i,onItemDeactivate:d,children:c.jsx(R,{...a,ref:e})})});h.displayName=v;var[O,H]=w(v),R=p.forwardRef((r,e)=>{const{__scopeToggleGroup:l,disabled:s=!1,rovingFocus:n=!0,orientation:a,dir:t,loop:o=!0,...i}=r,d=I(l),u=S(t),g={role:"group",dir:u,...i};return c.jsx(O,{scope:l,rovingFocus:n,disabled:s,children:n?c.jsx(A,{asChild:!0,...d,orientation:a,dir:u,loop:o,children:c.jsx(m.div,{...g,ref:e})}):c.jsx(m.div,{...g,ref:e})})}),f="ToggleGroupItem",N=p.forwardRef((r,e)=>{const l=y(f,r.__scopeToggleGroup),s=H(f,r.__scopeToggleGroup),n=I(r.__scopeToggleGroup),a=l.value.includes(r.value),t=s.disabled||r.disabled,o={...r,pressed:a,disabled:t},i=p.useRef(null);return s.rovingFocus?c.jsx(M,{asChild:!0,...n,focusable:!t,active:a,ref:i,children:c.jsx(G,{...o,ref:e})}):c.jsx(G,{...o,ref:e})});N.displayName=f;var G=p.forwardRef((r,e)=>{const{__scopeToggleGroup:l,value:s,...n}=r,a=y(f,l),t={role:"radio","aria-checked":r.pressed,"aria-pressed":void 0},o=a.type==="single"?t:void 0;return c.jsx(_,{...o,...n,ref:e,onPressedChange:i=>{i?a.onItemActivate(s):a.onItemDeactivate(s)}})}),L=h,U=N;const Y=$("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/20 focus-visible:ring-[2px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-2 min-w-9",sm:"h-7 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}}),k=x.createContext({size:"default",variant:"default"});function J(r){const e=P.c(20);let l,s,n,a,t;e[0]!==r?({className:s,variant:t,size:a,children:l,...n}=r,e[0]=r,e[1]=l,e[2]=s,e[3]=n,e[4]=a,e[5]=t):(l=e[1],s=e[2],n=e[3],a=e[4],t=e[5]);let o;e[6]!==s?(o=C("group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs",s),e[6]=s,e[7]=o):o=e[7];let i;e[8]!==a||e[9]!==t?(i={variant:t,size:a},e[8]=a,e[9]=t,e[10]=i):i=e[10];let d;e[11]!==l||e[12]!==i?(d=c.jsx(k.Provider,{value:i,children:l}),e[11]=l,e[12]=i,e[13]=d):d=e[13];let u;return e[14]!==n||e[15]!==a||e[16]!==o||e[17]!==d||e[18]!==t?(u=c.jsx(L,{"data-slot":"toggle-group","data-variant":t,"data-size":a,className:o,...n,children:d}),e[14]=n,e[15]=a,e[16]=o,e[17]=d,e[18]=t,e[19]=u):u=e[19],u}function K(r){const e=P.c(18);let l,s,n,a,t;e[0]!==r?({className:s,children:l,variant:t,size:a,...n}=r,e[0]=r,e[1]=l,e[2]=s,e[3]=n,e[4]=a,e[5]=t):(l=e[1],s=e[2],n=e[3],a=e[4],t=e[5]);const o=x.useContext(k),i=o.variant||t,d=o.size||a;let u;e[6]!==s||e[7]!==o.size||e[8]!==o.variant||e[9]!==a||e[10]!==t?(u=C(Y({variant:o.variant||t,size:o.size||a}),"min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l",s),e[6]=s,e[7]=o.size,e[8]=o.variant,e[9]=a,e[10]=t,e[11]=u):u=e[11];let g;return e[12]!==l||e[13]!==n||e[14]!==i||e[15]!==d||e[16]!==u?(g=c.jsx(U,{"data-slot":"toggle-group-item","data-variant":i,"data-size":d,className:u,...n,children:l}),e[12]=l,e[13]=n,e[14]=i,e[15]=d,e[16]=u,e[17]=g):g=e[17],g}export{J as T,K as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as u,
|
|
1
|
+
import{c as u,n as T,j as i,r as g,b as j,f as k,aC as p,L as N,bm as y,bJ as L}from"./index-C-W5dASy.js";function B(t){const e=u.c(14);let l,s,o,n,r;e[0]!==t?({active:l,className:s,ref:n,type:r,...o}=t,e[0]=t,e[1]=l,e[2]=s,e[3]=o,e[4]=n,e[5]=r):(l=e[1],s=e[2],o=e[3],n=e[4],r=e[5]);const c=r===void 0?"button":r,a=l?"bg-sidebar-accent text-sidebar-foreground":"text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-foreground";let f;e[6]!==s||e[7]!==a?(f=T("relative flex size-10 md:size-7 shrink-0 items-center justify-center rounded-md transition-colors","max-md:[&_svg]:size-5","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",a,s),e[6]=s,e[7]=a,e[8]=f):f=e[8];let b;return e[9]!==o||e[10]!==n||e[11]!==f||e[12]!==c?(b=i.jsx("button",{ref:n,type:c,className:f,...o}),e[9]=o,e[10]=n,e[11]=f,e[12]=c,e[13]=b):b=e[13],b}const S=g.createContext(null);function x(){const t=g.use(S);if(!t)throw new Error("Toolbar.* must be used inside <Toolbar>");return t}function v(t){const e=u.c(8),{children:l}=t,[s,o]=g.useState(null),[n,r]=g.useState(null),[c,a]=g.useState(null),[f,b]=g.useState(null);let d;e[0]!==c||e[1]!==f||e[2]!==n||e[3]!==s?(d={togglesEl:s,setTogglesEl:o,tabsEl:n,setTabsEl:r,centerEl:c,setCenterEl:a,rightEl:f,setRightEl:b},e[0]=c,e[1]=f,e[2]=n,e[3]=s,e[4]=d):d=e[4];let h;return e[5]!==l||e[6]!==d?(h=i.jsx(S,{value:d,children:l}),e[5]=l,e[6]=d,e[7]=h):h=e[7],h}function m(t){const e=u.c(2),{children:l}=t;let s;return e[0]!==l?(s=i.jsx(v,{children:i.jsx("div",{className:"flex flex-col h-full min-h-0",children:l})}),e[0]=l,e[1]=s):s=e[1],s}function $(t){const e=u.c(10);let l,s,o;e[0]!==t?({children:l,className:s,...o}=t,e[0]=t,e[1]=l,e[2]=s,e[3]=o):(l=e[1],s=e[2],o=e[3]);let n;e[4]!==s?(n=T("relative z-10 shrink-0 grid grid-cols-3 items-center pl-1 pr-2 h-12 bg-sidebar",s),e[4]=s,e[5]=n):n=e[5];let r;return e[6]!==l||e[7]!==o||e[8]!==n?(r=i.jsx("div",{className:n,...o,children:l}),e[6]=l,e[7]=o,e[8]=n,e[9]=r):r=e[9],r}function C(t){const e=u.c(2),{children:l}=t;let s;return e[0]!==l?(s=i.jsx("div",{className:"flex items-center gap-0.5 min-w-0 justify-self-start",children:l}),e[0]=l,e[1]=s):s=e[1],s}function R(t){const e=u.c(2),{children:l}=t;let s;return e[0]!==l?(s=i.jsx("div",{className:"flex items-center justify-end gap-0.5 min-w-0 justify-self-end",children:l}),e[0]=l,e[1]=s):s=e[1],s}function _(){const t=u.c(13),e=j(),s=y().logo??L,o=typeof s=="string"?s:s.light,n=typeof s=="string"?s:s.dark;let r;t[0]!==e?(r=e("agentShellLayout.toolbar.logo"),t[0]=e,t[1]=r):r=t[1];let c;t[2]!==o||t[3]!==r?(c=i.jsx("img",{src:o,alt:r,className:"size-6 object-contain dark:hidden"}),t[2]=o,t[3]=r,t[4]=c):c=t[4];let a;t[5]!==e?(a=e("agentShellLayout.toolbar.logo"),t[5]=e,t[6]=a):a=t[6];let f;t[7]!==n||t[8]!==a?(f=i.jsx("img",{src:n,alt:a,className:"size-6 object-contain hidden dark:block"}),t[7]=n,t[8]=a,t[9]=f):f=t[9];let b;return t[10]!==c||t[11]!==f?(b=i.jsxs("span",{className:"flex items-center shrink-0 px-2",children:[c,f]}),t[10]=c,t[11]=f,t[12]=b):b=t[12],b}function E(){const t=u.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx(g.Suspense,{fallback:i.jsx("span",{className:"shrink-0 size-6 mx-2"}),children:i.jsx(_,{})}),t[0]=e):e=t[0],e}function z(){const t=u.c(12),e=j();let l;t[0]===Symbol.for("react.memo_cache_sentinel")?(l={from:"/shell/$org"},t[0]=l):l=t[0];const{org:s}=k(l);let o;t[1]!==s?(o={org:s},t[1]=s,t[2]=o):o=t[2];let n;t[3]!==e?(n=e("agentShellLayout.toolbar.backToHome"),t[3]=e,t[4]=n):n=t[4];let r;t[5]!==e?(r=e("agentShellLayout.toolbar.backToHome"),t[5]=e,t[6]=r):r=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=i.jsx(E,{}),t[7]=c):c=t[7];let a;return t[8]!==o||t[9]!==n||t[10]!==r?(a=i.jsx(N,{to:"/$org",params:o,"aria-label":n,title:r,className:"flex items-center shrink-0 cursor-pointer pl-1",children:c}),t[8]=o,t[9]=n,t[10]=r,t[11]=a):a=t[11],a}function P(){const t=u.c(2),{setCenterEl:e}=x();let l;return t[0]!==e?(l=i.jsx("div",{ref:e,className:"min-w-0 flex items-center justify-center gap-2"}),t[0]=e,t[1]=l):l=t[1],l}function w(t){const e=u.c(3),{children:l}=t,{centerEl:s}=x();if(!s)return null;let o;return e[0]!==s||e[1]!==l?(o=p.createPortal(l,s),e[0]=s,e[1]=l,e[2]=o):o=e[2],o}function H(t){const e=u.c(5),{className:l}=t,{setTabsEl:s}=x();let o;e[0]!==l?(o=T("shrink-0 flex items-center",l),e[0]=l,e[1]=o):o=e[1];let n;return e[2]!==s||e[3]!==o?(n=i.jsx("div",{ref:s,className:o}),e[2]=s,e[3]=o,e[4]=n):n=e[4],n}function I(t){const e=u.c(3),{children:l}=t,{tabsEl:s}=x();if(!s)return null;let o;return e[0]!==l||e[1]!==s?(o=p.createPortal(l,s),e[0]=l,e[1]=s,e[2]=o):o=e[2],o}function D(t){const e=u.c(5),{className:l}=t,{setTogglesEl:s}=x();let o;e[0]!==l?(o=T("contents",l),e[0]=l,e[1]=o):o=e[1];let n;return e[2]!==s||e[3]!==o?(n=i.jsx("div",{ref:s,className:o}),e[2]=s,e[3]=o,e[4]=n):n=e[4],n}function O(){const t=u.c(2),{setRightEl:e}=x();let l;return t[0]!==e?(l=i.jsx("div",{ref:e,className:"flex items-center justify-end gap-0.5 shrink-0"}),t[0]=e,t[1]=l):l=t[1],l}m.Provider=v;m.Header=$;m.LeftColumn=C;m.RightColumn=R;m.Logo=E;m.LogoLink=z;m.CenterSlot=P;m.Center=w;m.TabsSlot=H;m.Tabs=I;m.TogglesSlot=D;m.RightSlot=O;export{B as T,m as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{v as _,T as l}from"./index-C-W5dASy.js";let s=!1;const p="report:auth-attempt:",f=3600*1e3;function h(e){const t=new URLSearchParams(e),n=t.get("share_id")||void 0,o=t.get("email_run_id")||void 0,r=t.get("utm_source")||void 0,u=t.get("utm_medium")||void 0,a=t.get("utm_campaign")||void 0;return{entrypoint:n||r==="share"?"share":o||t.has("d")||r==="email"?"email":r?"campaign":"direct",...n?{share_id:n}:{},...o?{email_run_id:o}:{},...r?{utm_source:r}:{},...u?{utm_medium:u}:{},...a?{utm_campaign:a}:{}}}function c(){return h(typeof window>"u"?"":window.location.search)}function i(e){return`${p}${e}`}function g(){try{return globalThis.crypto.randomUUID()}catch{return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}}function d(e){try{const t=window.sessionStorage.getItem(i(e));if(!t)return null;const n=JSON.parse(t);return n.domain!==e||typeof n.attempt_id!="string"||typeof n.gate_shown_at!="number"||Date.now()-n.gate_shown_at>f?(window.sessionStorage.removeItem(i(e)),null):n}catch{return null}}function m(e){try{window.sessionStorage.setItem(i(e.domain),JSON.stringify(e))}catch{}}function w(e){const t=d(e);if(t)return t;const n={attempt_id:g(),domain:e,gate_shown_at:Date.now(),...c()};return m(n),n}function y(e,t){const n={...w(e),...t};return m(n),n}function T(e){return{auth_attempt_id:e.attempt_id,entrypoint:e.entrypoint,...e.share_id?{share_id:e.share_id}:{},...e.email_run_id?{email_run_id:e.email_run_id}:{},...e.utm_source?{utm_source:e.utm_source}:{},...e.utm_medium?{utm_medium:e.utm_medium}:{},...e.utm_campaign?{utm_campaign:e.utm_campaign}:{}}}function R(e){const t=d(e);if(!t)return null;try{window.sessionStorage.removeItem(i(e))}catch{}return t}function S(e){const t=e.toLowerCase();return t==="invalid_email"?"invalid_email":t.includes("429")||t.includes("rate limit")?"rate_limited":t.includes("otp")||t.includes("verification code")||t.includes("invalid code")||t.includes("expired code")||t.includes("código")||t.includes("codigo")?"invalid_or_expired_code":t.includes("401")||t.includes("unauthorized")?"invalid_credentials":t.includes("409")||t.includes("already exists")?"account_exists":t.includes("network")||t.includes("fetch")?"network":t.includes("cancel")||t.includes("closed")?"cancelled":"unknown"}function I(e){s=e}function M(e,t,n){if(_())try{l.capture(e,{...c(),...t,...s?{report_preview:"reviewer"}:{}},n)}catch{}}export{S as a,w as b,M as c,T as d,R as e,h as r,I as s,y as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{bW as p,bX as t,aq as v,am as a,cJ as q,ak as s,ar as g,al as u,bl as h,bL as x,bU as O,cK as fe,cL as be,cM as B,cN as j,cO as ye,cP as ve,cQ as $,cR as _e,cS as He,cT as Me,cU as ke,cV as Pe,cW as qe,cX as Te,cY as Ie,c7 as Ee,cZ as Le,c_ as ze,c$ as Ue,d0 as Ae,d1 as De,d2 as Ne,d3 as Oe,c5 as je,r as oe,c as V,j as y,d4 as Be,d5 as $e,q as Ve,x as We,n as se}from"./index-C-W5dASy.js";import{P as Fe}from"./use-mcp-client-PMt78ucZ.js";const ce=["default-src 'none'","script-src 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval'","style-src 'unsafe-inline'","img-src * data: blob:","media-src * data: blob:","font-src data:","connect-src 'none'","frame-src 'none'","worker-src blob:","form-action 'none'","base-uri 'none'"].join("; ");function Ke(r,e={}){const i=`<meta http-equiv="Content-Security-Policy" content="${Je(e)}">`,n=/<head(\s[^>]*)?>|<HEAD(\s[^>]*)?>/i,l=r.match(n);if(l){const f=(l.index??0)+l[0].length;return r.slice(0,f)+`
|
|
2
2
|
`+i+r.slice(f)}const c=/<html(\s[^>]*)?>|<HTML(\s[^>]*)?>/i,d=r.match(c);if(d){const f=(d.index??0)+d[0].length;return r.slice(0,f)+`
|
|
3
3
|
<head>
|
|
4
4
|
`+i+`
|
|
@@ -8,7 +8,7 @@ import{bj as p,bk as t,a1 as v,Z as a,c6 as q,X as s,a2 as g,Y as u,aO as h,b8 a
|
|
|
8
8
|
</head>`+r.slice(f)}return`<head>
|
|
9
9
|
`+i+`
|
|
10
10
|
</head>
|
|
11
|
-
`+r}const Ze=/^https?:\/\/(\*\.)?[a-zA-Z0-9._-]+(:\d+)?\/?$/;function N(r){return!r||r.length===0?[]:r.filter(e=>Ze.test(e))}function Je(r){if(r.csp)return r.csp;const e=r.resourceCsp;if(!e)return ce;const o=N(e.resourceDomains),i=N(e.connectDomains),n=N(e.frameDomains),l=N(e.baseUriDomains),c=o.length>0,d=i.length>0,m=n.length>0,b=l.length>0;if(!c&&!d&&!m&&!b)return ce;const f=o.join(" ");return["default-src 'none'",c?`script-src 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval' ${f}`:"script-src 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval'",c?`style-src 'unsafe-inline' ${f}`:"style-src 'unsafe-inline'",c?`img-src * data: blob: ${f}`:"img-src * data: blob:",c?`media-src * data: blob: ${f}`:"media-src * data: blob:",c?`font-src data: ${f}`:"font-src data:",d?`connect-src ${i.join(" ")}`:"connect-src 'none'",m?`frame-src ${n.join(" ")}`:"frame-src 'none'","worker-src blob:","form-action 'none'",b?`base-uri ${l.join(" ")}`:"base-uri 'none'"].join("; ")}(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,o)=>(typeof require<"u"?require:e)[o]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});class Ye extends
|
|
11
|
+
`+r}const Ze=/^https?:\/\/(\*\.)?[a-zA-Z0-9._-]+(:\d+)?\/?$/;function N(r){return!r||r.length===0?[]:r.filter(e=>Ze.test(e))}function Je(r){if(r.csp)return r.csp;const e=r.resourceCsp;if(!e)return ce;const o=N(e.resourceDomains),i=N(e.connectDomains),n=N(e.frameDomains),l=N(e.baseUriDomains),c=o.length>0,d=i.length>0,m=n.length>0,b=l.length>0;if(!c&&!d&&!m&&!b)return ce;const f=o.join(" ");return["default-src 'none'",c?`script-src 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval' ${f}`:"script-src 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval'",c?`style-src 'unsafe-inline' ${f}`:"style-src 'unsafe-inline'",c?`img-src * data: blob: ${f}`:"img-src * data: blob:",c?`media-src * data: blob: ${f}`:"media-src * data: blob:",c?`font-src data: ${f}`:"font-src data:",d?`connect-src ${i.join(" ")}`:"connect-src 'none'",m?`frame-src ${n.join(" ")}`:"frame-src 'none'","worker-src blob:","form-action 'none'",b?`base-uri ${l.join(" ")}`:"base-uri 'none'"].join("; ")}(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,o)=>(typeof require<"u"?require:e)[o]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});class Ye extends Fe{_registeredMethods=new Set;_eventSlots=new Map;onEventDispatch(e,o){}_ensureEventSlot(e){let o=this._eventSlots.get(e);if(!o){let i=this.eventSchemas[e];if(!i)throw Error(`Unknown event: ${String(e)}`);o={listeners:[]},this._eventSlots.set(e,o);let n=i.shape.method.value;this._registeredMethods.add(n);let l=o;super.setNotificationHandler(i,c=>{let d=c.params;this.onEventDispatch(e,d),l.onHandler?.(d);for(let m of[...l.listeners])m(d)})}return o}setEventHandler(e,o){let i=this._ensureEventSlot(e);i.onHandler&&o&&console.warn(`[MCP Apps] on${String(e)} handler replaced. Use addEventListener("${String(e)}", …) to add multiple listeners without replacing.`),i.onHandler=o}getEventHandler(e){return this._eventSlots.get(e)?.onHandler}addEventListener(e,o){this._ensureEventSlot(e).listeners.push(o)}removeEventListener(e,o){let i=this._eventSlots.get(e);if(!i)return;let n=i.listeners.indexOf(o);n!==-1&&i.listeners.splice(n,1)}setRequestHandler=(e,o)=>{this._assertMethodNotRegistered(e,"setRequestHandler"),super.setRequestHandler(e,o)};setNotificationHandler=(e,o)=>{this._assertMethodNotRegistered(e,"setNotificationHandler"),super.setNotificationHandler(e,o)};warnIfRequestHandlerReplaced(e,o,i){o&&i&&console.warn(`[MCP Apps] ${e} handler replaced. Previous handler will no longer be called.`)}replaceRequestHandler=(e,o)=>{let i=e.shape.method.value;this._registeredMethods.add(i),super.setRequestHandler(e,o)};_assertMethodNotRegistered(e,o){let i=e.shape.method.value;if(this._registeredMethods.has(i))throw Error(`Handler for "${i}" already registered (via ${o}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._registeredMethods.add(i)}}var xe="2026-01-26",Qe="ui/notifications/tool-input-partial",Ge=p([t("light"),t("dark")]).describe("Color theme preference for the host environment."),T=p([t("inline"),t("fullscreen"),t("pip")]).describe("Display mode for UI presentation."),Xe=p([t("--color-background-primary"),t("--color-background-secondary"),t("--color-background-tertiary"),t("--color-background-inverse"),t("--color-background-ghost"),t("--color-background-info"),t("--color-background-danger"),t("--color-background-success"),t("--color-background-warning"),t("--color-background-disabled"),t("--color-text-primary"),t("--color-text-secondary"),t("--color-text-tertiary"),t("--color-text-inverse"),t("--color-text-ghost"),t("--color-text-info"),t("--color-text-danger"),t("--color-text-success"),t("--color-text-warning"),t("--color-text-disabled"),t("--color-border-primary"),t("--color-border-secondary"),t("--color-border-tertiary"),t("--color-border-inverse"),t("--color-border-ghost"),t("--color-border-info"),t("--color-border-danger"),t("--color-border-success"),t("--color-border-warning"),t("--color-border-disabled"),t("--color-ring-primary"),t("--color-ring-secondary"),t("--color-ring-inverse"),t("--color-ring-info"),t("--color-ring-danger"),t("--color-ring-success"),t("--color-ring-warning"),t("--font-sans"),t("--font-mono"),t("--font-weight-normal"),t("--font-weight-medium"),t("--font-weight-semibold"),t("--font-weight-bold"),t("--font-text-xs-size"),t("--font-text-sm-size"),t("--font-text-md-size"),t("--font-text-lg-size"),t("--font-heading-xs-size"),t("--font-heading-sm-size"),t("--font-heading-md-size"),t("--font-heading-lg-size"),t("--font-heading-xl-size"),t("--font-heading-2xl-size"),t("--font-heading-3xl-size"),t("--font-text-xs-line-height"),t("--font-text-sm-line-height"),t("--font-text-md-line-height"),t("--font-text-lg-line-height"),t("--font-heading-xs-line-height"),t("--font-heading-sm-line-height"),t("--font-heading-md-line-height"),t("--font-heading-lg-line-height"),t("--font-heading-xl-line-height"),t("--font-heading-2xl-line-height"),t("--font-heading-3xl-line-height"),t("--border-radius-xs"),t("--border-radius-sm"),t("--border-radius-md"),t("--border-radius-lg"),t("--border-radius-xl"),t("--border-radius-full"),t("--border-width-regular"),t("--shadow-hairline"),t("--shadow-sm"),t("--shadow-md"),t("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),et=v(Xe.describe(`Style variables for theming MCP apps.
|
|
12
12
|
|
|
13
13
|
Individual style keys are optional - hosts may provide any subset of these values.
|
|
14
14
|
Values are strings containing CSS values (colors, sizes, font stacks, etc.).
|
|
@@ -46,7 +46,7 @@ Boolean requesting whether a visible border and background is provided by the ho
|
|
|
46
46
|
- omitted: host decides border`)});var pe=s({method:t("ui/request-display-mode"),params:s({mode:T.describe("The display mode being requested.")})});s({mode:T.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough();var pt=p([t("model"),t("app")]).describe("Tool visibility scope - who can access the tool.");s({resourceUri:a().optional(),visibility:u(pt).optional().describe(`Who can access this tool. Default: ["model", "app"]
|
|
47
47
|
- "model": Tool visible to and callable by the agent
|
|
48
48
|
- "app": Tool callable by the app from this server only`),csp:O().optional(),permissions:O().optional()});s({mimeTypes:u(a()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});var ut=s({method:t("ui/download-file"),params:s({contents:u(p([fe,be])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),ht=s({method:t("ui/message"),params:s({role:t("user").describe('Message role, currently only "user" is supported.'),content:u(B).describe("Message content blocks (text, image, etc.).")})});s({method:t("ui/notifications/sandbox-resource-ready"),params:s({html:a().describe("HTML content to load into the inner iframe."),sandbox:a().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:re.optional().describe("CSP configuration from resource metadata."),permissions:ne.optional().describe("Sandbox permissions from resource metadata.")})});s({method:t("ui/notifications/tool-result"),params:j.describe("Standard MCP tool execution result.")});var we=s({toolInfo:s({id:ve.optional().describe("JSON-RPC id of the tools/call request."),tool:ye.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:Ge.optional().describe("Current color theme preference."),styles:rt.optional().describe("Style configuration for theming the app."),displayMode:T.optional().describe("How the UI is currently displayed."),availableDisplayModes:u(T).optional().describe("Display modes the host supports."),containerDimensions:p([s({height:h().describe("Fixed container height in pixels.")}),s({maxHeight:p([h(),q()]).optional().describe("Maximum container height in pixels.")})]).and(p([s({width:h().describe("Fixed container width in pixels.")}),s({maxWidth:p([h(),q()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
|
|
49
|
-
container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:a().optional().describe("User's language and region preference in BCP 47 format."),timeZone:a().optional().describe("User's timezone in IANA format."),userAgent:a().optional().describe("Host application identifier."),platform:p([t("web"),t("desktop"),t("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:s({touch:g().optional().describe("Whether the device supports touch input."),hover:g().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:s({top:h().describe("Top safe area inset in pixels."),right:h().describe("Right safe area inset in pixels."),bottom:h().describe("Bottom safe area inset in pixels."),left:h().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();s({method:t("ui/notifications/host-context-changed"),params:we.describe("Partial context update containing only changed fields.")});var mt=s({method:t("ui/update-model-context"),params:s({content:u(B).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:v(a(),x().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),gt=s({method:t("ui/initialize"),params:s({appInfo:$.describe("App identification (name and version)."),appCapabilities:ct.describe("Features and capabilities this app provides."),protocolVersion:a().describe("Protocol version this app supports.")})});s({protocolVersion:a().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:$.describe("Host application identification and version."),hostCapabilities:lt.describe("Features and capabilities provided by the host."),hostContext:we.describe("Rich context about the host environment.")}).passthrough();class ft{eventTarget;eventSource;messageListener;constructor(e=window.parent,o){this.eventTarget=e,this.eventSource=o,this.messageListener=i=>{if(o&&i.source!==this.eventSource){console.debug("Ignoring message from unknown source",i);return}let n=je.safeParse(i.data);n.success?(console.debug("Parsed message",n.data),this.onmessage?.(n.data)):i.data?.jsonrpc!=="2.0"?console.debug("Ignoring non-JSON-RPC message",n.error.message,i):(console.error("Failed to parse message",n.error.message,i),this.onerror?.(Error("Invalid JSON-RPC message received: "+n.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(e,o){e.method!==Qe&&console.debug("Sending message",e),this.eventTarget.postMessage(e,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}var bt="ui/resourceUri";function yt(r){let e=r._meta?.ui?.resourceUri;if(e===void 0&&(e=r._meta?.[bt]),typeof e=="string"&&e.startsWith("ui://"))return e;if(e!==void 0)throw Error(`Invalid UI resource URI: ${JSON.stringify(e)}`)}var vt=[xe];class xt extends Ye{_client;_hostInfo;_capabilities;_appCapabilities;_hostContext={};_appInfo;_initializedReceived=!1;_baseReplaceRequestHandler=this.replaceRequestHandler;replaceRequestHandler=(e,o)=>{this._baseReplaceRequestHandler(e,(i,n)=>(this._initializedReceived||console.warn(`[ext-apps] AppBridge received '${i.method}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`),o(i,n)))};eventSchemas={sizechange:st,sandboxready:ot,initialized:dt,requestteardown:at,loggingmessage:_e};constructor(e,o,i,n){super(n),this._client=e,this._hostInfo=o,this._capabilities=i,this.addEventListener("initialized",()=>{this._initializedReceived=!0}),this._hostContext=n?.hostContext||{},this.setRequestHandler(gt,l=>this._oninitialize(l)),this.setRequestHandler(He,(l,c)=>(this.onping?.(l.params,c),{})),this.replaceRequestHandler(pe,l=>({mode:this._hostContext.displayMode??"inline"}))}getAppCapabilities(){return this._appCapabilities}getAppVersion(){return this._appInfo}onping;get onsizechange(){return this.getEventHandler("sizechange")}set onsizechange(e){this.setEventHandler("sizechange",e)}get onsandboxready(){return this.getEventHandler("sandboxready")}set onsandboxready(e){this.setEventHandler("sandboxready",e)}get oninitialized(){return this.getEventHandler("initialized")}set oninitialized(e){this.setEventHandler("initialized",e)}_onmessage;get onmessage(){return this._onmessage}set onmessage(e){this.warnIfRequestHandlerReplaced("onmessage",this._onmessage,e),this._onmessage=e,this.replaceRequestHandler(ht,async(o,i)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(o.params,i)})}_onopenlink;get onopenlink(){return this._onopenlink}set onopenlink(e){this.warnIfRequestHandlerReplaced("onopenlink",this._onopenlink,e),this._onopenlink=e,this.replaceRequestHandler(tt,async(o,i)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(o.params,i)})}_ondownloadfile;get ondownloadfile(){return this._ondownloadfile}set ondownloadfile(e){this.warnIfRequestHandlerReplaced("ondownloadfile",this._ondownloadfile,e),this._ondownloadfile=e,this.replaceRequestHandler(ut,async(o,i)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(o.params,i)})}get onrequestteardown(){return this.getEventHandler("requestteardown")}set onrequestteardown(e){this.setEventHandler("requestteardown",e)}_onrequestdisplaymode;get onrequestdisplaymode(){return this._onrequestdisplaymode}set onrequestdisplaymode(e){this.warnIfRequestHandlerReplaced("onrequestdisplaymode",this._onrequestdisplaymode,e),this._onrequestdisplaymode=e,this.replaceRequestHandler(pe,async(o,i)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(o.params,i)})}get onloggingmessage(){return this.getEventHandler("loggingmessage")}set onloggingmessage(e){this.setEventHandler("loggingmessage",e)}_onupdatemodelcontext;get onupdatemodelcontext(){return this._onupdatemodelcontext}set onupdatemodelcontext(e){this.warnIfRequestHandlerReplaced("onupdatemodelcontext",this._onupdatemodelcontext,e),this._onupdatemodelcontext=e,this.replaceRequestHandler(mt,async(o,i)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(o.params,i)})}_oncalltool;get oncalltool(){return this._oncalltool}set oncalltool(e){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,e),this._oncalltool=e,this.replaceRequestHandler(Me,async(o,i)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(o.params,i)})}set oncreatesamplingmessage(e){this.setRequestHandler(ke,async(o,i)=>e(o.params,i))}sendToolListChanged(e={}){return this.notification({method:"notifications/tools/list_changed",params:e})}_onlistresources;get onlistresources(){return this._onlistresources}set onlistresources(e){this.warnIfRequestHandlerReplaced("onlistresources",this._onlistresources,e),this._onlistresources=e,this.replaceRequestHandler(Pe,async(o,i)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(o.params,i)})}_onlistresourcetemplates;get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(e){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,e),this._onlistresourcetemplates=e,this.replaceRequestHandler(qe,async(o,i)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(o.params,i)})}_onreadresource;get onreadresource(){return this._onreadresource}set onreadresource(e){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,e),this._onreadresource=e,this.replaceRequestHandler(Te,async(o,i)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(o.params,i)})}sendResourceListChanged(e={}){return this.notification({method:"notifications/resources/list_changed",params:e})}_onlistprompts;get onlistprompts(){return this._onlistprompts}set onlistprompts(e){this.warnIfRequestHandlerReplaced("onlistprompts",this._onlistprompts,e),this._onlistprompts=e,this.replaceRequestHandler(Ie,async(o,i)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(o.params,i)})}sendPromptListChanged(e={}){return this.notification({method:"notifications/prompts/list_changed",params:e})}assertCapabilityForMethod(e){}assertRequestHandlerCapability(e){}assertNotificationCapability(e){}assertTaskCapability(e){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(e){throw Error("Task handlers are not supported in MCP Apps")}getCapabilities(){return this._capabilities}async _oninitialize(e){let o=e.params.protocolVersion;return this._appInfo!==void 0&&console.warn("[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values."),this._appCapabilities=e.params.appCapabilities,this._appInfo=e.params.appInfo,{protocolVersion:vt.includes(o)?o:xe,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(e){let o={},i=!1;for(let n of Object.keys(e)){let l=this._hostContext[n],c=e[n];wt(l,c)||(o[n]=c,i=!0)}i&&(this._hostContext=e,this.sendHostContextChange(o))}sendHostContextChange(e){return this.notification({method:"ui/notifications/host-context-changed",params:e})}sendToolInput(e){return this.notification({method:"ui/notifications/tool-input",params:e})}sendToolInputPartial(e){return this.notification({method:"ui/notifications/tool-input-partial",params:e})}sendToolResult(e){return this.notification({method:"ui/notifications/tool-result",params:e})}sendToolCancelled(e){return this.notification({method:"ui/notifications/tool-cancelled",params:e})}sendSandboxResourceReady(e){return this.notification({method:"ui/notifications/sandbox-resource-ready",params:e})}teardownResource(e,o){return this.request({method:"ui/resource-teardown",params:e},nt,o)}sendResourceTeardown=this.teardownResource;callTool(e,o){return this.request({method:"tools/call",params:e},j,o)}listTools(e,o){return this.request({method:"tools/list",params:e},Ee,o)}async connect(e){if(this.transport)throw Error("AppBridge is already connected. Call close() before connecting again.");if(this._initializedReceived=!1,this._client){let o=this._client.getServerCapabilities();if(!o)throw Error("Client server capabilities not available");o.tools&&(this.oncalltool=async(i,n)=>this._client.request({method:"tools/call",params:i},j,{signal:n.signal}),o.tools.listChanged&&this._client.setNotificationHandler(Le,i=>this.sendToolListChanged(i.params))),o.resources&&(this.onlistresources=async(i,n)=>this._client.request({method:"resources/list",params:i},ze,{signal:n.signal}),this.onlistresourcetemplates=async(i,n)=>this._client.request({method:"resources/templates/list",params:i},Ae,{signal:n.signal}),this.onreadresource=async(i,n)=>this._client.request({method:"resources/read",params:i},De,{signal:n.signal}),o.resources.listChanged&&this._client.setNotificationHandler(Ue,i=>this.sendResourceListChanged(i.params))),o.prompts&&(this.onlistprompts=async(i,n)=>this._client.request({method:"prompts/list",params:i},Ne,{signal:n.signal}),o.prompts.listChanged&&this._client.setNotificationHandler(Oe,i=>this.sendPromptListChanged(i.params)))}return super.connect(e)}}function wt(r,e){return JSON.stringify(r)===JSON.stringify(e)}(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,o)=>(typeof require<"u"?require:e)[o]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var Ct=p([t("light"),t("dark")]).describe("Color theme preference for the host environment."),I=p([t("inline"),t("fullscreen"),t("pip")]).describe("Display mode for UI presentation."),Rt=p([t("--color-background-primary"),t("--color-background-secondary"),t("--color-background-tertiary"),t("--color-background-inverse"),t("--color-background-ghost"),t("--color-background-info"),t("--color-background-danger"),t("--color-background-success"),t("--color-background-warning"),t("--color-background-disabled"),t("--color-text-primary"),t("--color-text-secondary"),t("--color-text-tertiary"),t("--color-text-inverse"),t("--color-text-ghost"),t("--color-text-info"),t("--color-text-danger"),t("--color-text-success"),t("--color-text-warning"),t("--color-text-disabled"),t("--color-border-primary"),t("--color-border-secondary"),t("--color-border-tertiary"),t("--color-border-inverse"),t("--color-border-ghost"),t("--color-border-info"),t("--color-border-danger"),t("--color-border-success"),t("--color-border-warning"),t("--color-border-disabled"),t("--color-ring-primary"),t("--color-ring-secondary"),t("--color-ring-inverse"),t("--color-ring-info"),t("--color-ring-danger"),t("--color-ring-success"),t("--color-ring-warning"),t("--font-sans"),t("--font-mono"),t("--font-weight-normal"),t("--font-weight-medium"),t("--font-weight-semibold"),t("--font-weight-bold"),t("--font-text-xs-size"),t("--font-text-sm-size"),t("--font-text-md-size"),t("--font-text-lg-size"),t("--font-heading-xs-size"),t("--font-heading-sm-size"),t("--font-heading-md-size"),t("--font-heading-lg-size"),t("--font-heading-xl-size"),t("--font-heading-2xl-size"),t("--font-heading-3xl-size"),t("--font-text-xs-line-height"),t("--font-text-sm-line-height"),t("--font-text-md-line-height"),t("--font-text-lg-line-height"),t("--font-heading-xs-line-height"),t("--font-heading-sm-line-height"),t("--font-heading-md-line-height"),t("--font-heading-lg-line-height"),t("--font-heading-xl-line-height"),t("--font-heading-2xl-line-height"),t("--font-heading-3xl-line-height"),t("--border-radius-xs"),t("--border-radius-sm"),t("--border-radius-md"),t("--border-radius-lg"),t("--border-radius-xl"),t("--border-radius-full"),t("--border-width-regular"),t("--shadow-hairline"),t("--shadow-sm"),t("--shadow-md"),t("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),St=v(Rt.describe(`Style variables for theming MCP apps.
|
|
49
|
+
container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:a().optional().describe("User's language and region preference in BCP 47 format."),timeZone:a().optional().describe("User's timezone in IANA format."),userAgent:a().optional().describe("Host application identifier."),platform:p([t("web"),t("desktop"),t("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:s({touch:g().optional().describe("Whether the device supports touch input."),hover:g().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:s({top:h().describe("Top safe area inset in pixels."),right:h().describe("Right safe area inset in pixels."),bottom:h().describe("Bottom safe area inset in pixels."),left:h().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();s({method:t("ui/notifications/host-context-changed"),params:we.describe("Partial context update containing only changed fields.")});var mt=s({method:t("ui/update-model-context"),params:s({content:u(B).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:v(a(),x().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),gt=s({method:t("ui/initialize"),params:s({appInfo:$.describe("App identification (name and version)."),appCapabilities:ct.describe("Features and capabilities this app provides."),protocolVersion:a().describe("Protocol version this app supports.")})});s({protocolVersion:a().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:$.describe("Host application identification and version."),hostCapabilities:lt.describe("Features and capabilities provided by the host."),hostContext:we.describe("Rich context about the host environment.")}).passthrough();class ft{eventTarget;eventSource;messageListener;constructor(e=window.parent,o){this.eventTarget=e,this.eventSource=o,this.messageListener=i=>{if(o&&i.source!==this.eventSource){console.debug("Ignoring message from unknown source",i);return}let n=je.safeParse(i.data);n.success?(console.debug("Parsed message",n.data),this.onmessage?.(n.data)):i.data?.jsonrpc!=="2.0"?console.debug("Ignoring non-JSON-RPC message",n.error.message,i):(console.error("Failed to parse message",n.error.message,i),this.onerror?.(Error("Invalid JSON-RPC message received: "+n.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(e,o){e.method!==Qe&&console.debug("Sending message",e),this.eventTarget.postMessage(e,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}var bt="ui/resourceUri";function yt(r){let e=r._meta?.ui?.resourceUri;if(e===void 0&&(e=r._meta?.[bt]),typeof e=="string"&&e.startsWith("ui://"))return e;if(e!==void 0)throw Error(`Invalid UI resource URI: ${JSON.stringify(e)}`)}var vt=[xe];class xt extends Ye{_client;_hostInfo;_capabilities;_appCapabilities;_hostContext={};_appInfo;_initializedReceived=!1;_baseReplaceRequestHandler=this.replaceRequestHandler;replaceRequestHandler=(e,o)=>{this._baseReplaceRequestHandler(e,(i,n)=>(this._initializedReceived||console.warn(`[ext-apps] AppBridge received '${i.method}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`),o(i,n)))};eventSchemas={sizechange:st,sandboxready:ot,initialized:dt,requestteardown:at,loggingmessage:_e};constructor(e,o,i,n){super(n),this._client=e,this._hostInfo=o,this._capabilities=i,this.addEventListener("initialized",()=>{this._initializedReceived=!0}),this._hostContext=n?.hostContext||{},this.setRequestHandler(gt,l=>this._oninitialize(l)),this.setRequestHandler(He,(l,c)=>(this.onping?.(l.params,c),{})),this.replaceRequestHandler(pe,l=>({mode:this._hostContext.displayMode??"inline"}))}getAppCapabilities(){return this._appCapabilities}getAppVersion(){return this._appInfo}onping;get onsizechange(){return this.getEventHandler("sizechange")}set onsizechange(e){this.setEventHandler("sizechange",e)}get onsandboxready(){return this.getEventHandler("sandboxready")}set onsandboxready(e){this.setEventHandler("sandboxready",e)}get oninitialized(){return this.getEventHandler("initialized")}set oninitialized(e){this.setEventHandler("initialized",e)}_onmessage;get onmessage(){return this._onmessage}set onmessage(e){this.warnIfRequestHandlerReplaced("onmessage",this._onmessage,e),this._onmessage=e,this.replaceRequestHandler(ht,async(o,i)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(o.params,i)})}_onopenlink;get onopenlink(){return this._onopenlink}set onopenlink(e){this.warnIfRequestHandlerReplaced("onopenlink",this._onopenlink,e),this._onopenlink=e,this.replaceRequestHandler(tt,async(o,i)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(o.params,i)})}_ondownloadfile;get ondownloadfile(){return this._ondownloadfile}set ondownloadfile(e){this.warnIfRequestHandlerReplaced("ondownloadfile",this._ondownloadfile,e),this._ondownloadfile=e,this.replaceRequestHandler(ut,async(o,i)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(o.params,i)})}get onrequestteardown(){return this.getEventHandler("requestteardown")}set onrequestteardown(e){this.setEventHandler("requestteardown",e)}_onrequestdisplaymode;get onrequestdisplaymode(){return this._onrequestdisplaymode}set onrequestdisplaymode(e){this.warnIfRequestHandlerReplaced("onrequestdisplaymode",this._onrequestdisplaymode,e),this._onrequestdisplaymode=e,this.replaceRequestHandler(pe,async(o,i)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(o.params,i)})}get onloggingmessage(){return this.getEventHandler("loggingmessage")}set onloggingmessage(e){this.setEventHandler("loggingmessage",e)}_onupdatemodelcontext;get onupdatemodelcontext(){return this._onupdatemodelcontext}set onupdatemodelcontext(e){this.warnIfRequestHandlerReplaced("onupdatemodelcontext",this._onupdatemodelcontext,e),this._onupdatemodelcontext=e,this.replaceRequestHandler(mt,async(o,i)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(o.params,i)})}_oncalltool;get oncalltool(){return this._oncalltool}set oncalltool(e){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,e),this._oncalltool=e,this.replaceRequestHandler(Me,async(o,i)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(o.params,i)})}set oncreatesamplingmessage(e){this.setRequestHandler(ke,async(o,i)=>e(o.params,i))}sendToolListChanged(e={}){return this.notification({method:"notifications/tools/list_changed",params:e})}_onlistresources;get onlistresources(){return this._onlistresources}set onlistresources(e){this.warnIfRequestHandlerReplaced("onlistresources",this._onlistresources,e),this._onlistresources=e,this.replaceRequestHandler(Pe,async(o,i)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(o.params,i)})}_onlistresourcetemplates;get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(e){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,e),this._onlistresourcetemplates=e,this.replaceRequestHandler(qe,async(o,i)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(o.params,i)})}_onreadresource;get onreadresource(){return this._onreadresource}set onreadresource(e){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,e),this._onreadresource=e,this.replaceRequestHandler(Te,async(o,i)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(o.params,i)})}sendResourceListChanged(e={}){return this.notification({method:"notifications/resources/list_changed",params:e})}_onlistprompts;get onlistprompts(){return this._onlistprompts}set onlistprompts(e){this.warnIfRequestHandlerReplaced("onlistprompts",this._onlistprompts,e),this._onlistprompts=e,this.replaceRequestHandler(Ie,async(o,i)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(o.params,i)})}sendPromptListChanged(e={}){return this.notification({method:"notifications/prompts/list_changed",params:e})}assertCapabilityForMethod(e){}assertRequestHandlerCapability(e){}assertNotificationCapability(e){}assertTaskCapability(e){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(e){throw Error("Task handlers are not supported in MCP Apps")}getCapabilities(){return this._capabilities}async _oninitialize(e){let o=e.params.protocolVersion;return this._appInfo!==void 0&&console.warn("[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values."),this._appCapabilities=e.params.appCapabilities,this._appInfo=e.params.appInfo,{protocolVersion:vt.includes(o)?o:xe,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(e){let o={},i=!1;for(let n of Object.keys(e)){let l=this._hostContext[n],c=e[n];wt(l,c)||(o[n]=c,i=!0)}i&&(this._hostContext=e,this.sendHostContextChange(o))}sendHostContextChange(e){return this.notification({method:"ui/notifications/host-context-changed",params:e})}sendToolInput(e){return this.notification({method:"ui/notifications/tool-input",params:e})}sendToolInputPartial(e){return this.notification({method:"ui/notifications/tool-input-partial",params:e})}sendToolResult(e){return this.notification({method:"ui/notifications/tool-result",params:e})}sendToolCancelled(e){return this.notification({method:"ui/notifications/tool-cancelled",params:e})}sendSandboxResourceReady(e){return this.notification({method:"ui/notifications/sandbox-resource-ready",params:e})}teardownResource(e,o){return this.request({method:"ui/resource-teardown",params:e},nt,o)}sendResourceTeardown=this.teardownResource;callTool(e,o){return this.request({method:"tools/call",params:e},j,o)}listTools(e,o){return this.request({method:"tools/list",params:e},Ee,o)}async connect(e){if(this.transport)throw Error("AppBridge is already connected. Call close() before connecting again.");if(this._initializedReceived=!1,this._client){let o=this._client.getServerCapabilities();if(!o)throw Error("Client server capabilities not available");o.tools&&(this.oncalltool=async(i,n)=>this._client.request({method:"tools/call",params:i},j,{signal:n.signal}),o.tools.listChanged&&this._client.setNotificationHandler(Le,i=>this.sendToolListChanged(i.params))),o.resources&&(this.onlistresources=async(i,n)=>this._client.request({method:"resources/list",params:i},ze,{signal:n.signal}),this.onlistresourcetemplates=async(i,n)=>this._client.request({method:"resources/templates/list",params:i},Ue,{signal:n.signal}),this.onreadresource=async(i,n)=>this._client.request({method:"resources/read",params:i},Ae,{signal:n.signal}),o.resources.listChanged&&this._client.setNotificationHandler(De,i=>this.sendResourceListChanged(i.params))),o.prompts&&(this.onlistprompts=async(i,n)=>this._client.request({method:"prompts/list",params:i},Ne,{signal:n.signal}),o.prompts.listChanged&&this._client.setNotificationHandler(Oe,i=>this.sendPromptListChanged(i.params)))}return super.connect(e)}}function wt(r,e){return JSON.stringify(r)===JSON.stringify(e)}(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,o)=>(typeof require<"u"?require:e)[o]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var Ct=p([t("light"),t("dark")]).describe("Color theme preference for the host environment."),I=p([t("inline"),t("fullscreen"),t("pip")]).describe("Display mode for UI presentation."),Rt=p([t("--color-background-primary"),t("--color-background-secondary"),t("--color-background-tertiary"),t("--color-background-inverse"),t("--color-background-ghost"),t("--color-background-info"),t("--color-background-danger"),t("--color-background-success"),t("--color-background-warning"),t("--color-background-disabled"),t("--color-text-primary"),t("--color-text-secondary"),t("--color-text-tertiary"),t("--color-text-inverse"),t("--color-text-ghost"),t("--color-text-info"),t("--color-text-danger"),t("--color-text-success"),t("--color-text-warning"),t("--color-text-disabled"),t("--color-border-primary"),t("--color-border-secondary"),t("--color-border-tertiary"),t("--color-border-inverse"),t("--color-border-ghost"),t("--color-border-info"),t("--color-border-danger"),t("--color-border-success"),t("--color-border-warning"),t("--color-border-disabled"),t("--color-ring-primary"),t("--color-ring-secondary"),t("--color-ring-inverse"),t("--color-ring-info"),t("--color-ring-danger"),t("--color-ring-success"),t("--color-ring-warning"),t("--font-sans"),t("--font-mono"),t("--font-weight-normal"),t("--font-weight-medium"),t("--font-weight-semibold"),t("--font-weight-bold"),t("--font-text-xs-size"),t("--font-text-sm-size"),t("--font-text-md-size"),t("--font-text-lg-size"),t("--font-heading-xs-size"),t("--font-heading-sm-size"),t("--font-heading-md-size"),t("--font-heading-lg-size"),t("--font-heading-xl-size"),t("--font-heading-2xl-size"),t("--font-heading-3xl-size"),t("--font-text-xs-line-height"),t("--font-text-sm-line-height"),t("--font-text-md-line-height"),t("--font-text-lg-line-height"),t("--font-heading-xs-line-height"),t("--font-heading-sm-line-height"),t("--font-heading-md-line-height"),t("--font-heading-lg-line-height"),t("--font-heading-xl-line-height"),t("--font-heading-2xl-line-height"),t("--font-heading-3xl-line-height"),t("--border-radius-xs"),t("--border-radius-sm"),t("--border-radius-md"),t("--border-radius-lg"),t("--border-radius-xl"),t("--border-radius-full"),t("--border-width-regular"),t("--shadow-hairline"),t("--shadow-sm"),t("--shadow-md"),t("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),St=v(Rt.describe(`Style variables for theming MCP apps.
|
|
50
50
|
|
|
51
51
|
Individual style keys are optional - hosts may provide any subset of these values.
|
|
52
52
|
Values are strings containing CSS values (colors, sizes, font stacks, etc.).
|
|
@@ -84,4 +84,4 @@ Boolean requesting whether a visible border and background is provided by the ho
|
|
|
84
84
|
- omitted: host decides border`)});s({method:t("ui/request-display-mode"),params:s({mode:I.describe("The display mode being requested.")})});s({mode:I.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough();var Pt=p([t("model"),t("app")]).describe("Tool visibility scope - who can access the tool.");s({resourceUri:a().optional(),visibility:u(Pt).optional().describe(`Who can access this tool. Default: ["model", "app"]
|
|
85
85
|
- "model": Tool visible to and callable by the agent
|
|
86
86
|
- "app": Tool callable by the app from this server only`),csp:O().optional(),permissions:O().optional()});s({mimeTypes:u(a()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});s({method:t("ui/download-file"),params:s({contents:u(p([fe,be])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})});s({method:t("ui/message"),params:s({role:t("user").describe('Message role, currently only "user" is supported.'),content:u(B).describe("Message content blocks (text, image, etc.).")})});s({method:t("ui/notifications/sandbox-resource-ready"),params:s({html:a().describe("HTML content to load into the inner iframe."),sandbox:a().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:ae.optional().describe("CSP configuration from resource metadata."),permissions:le.optional().describe("Sandbox permissions from resource metadata.")})});s({method:t("ui/notifications/tool-result"),params:j.describe("Standard MCP tool execution result.")});var Ce=s({toolInfo:s({id:ve.optional().describe("JSON-RPC id of the tools/call request."),tool:ye.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:Ct.optional().describe("Current color theme preference."),styles:Ht.optional().describe("Style configuration for theming the app."),displayMode:I.optional().describe("How the UI is currently displayed."),availableDisplayModes:u(I).optional().describe("Display modes the host supports."),containerDimensions:p([s({height:h().describe("Fixed container height in pixels.")}),s({maxHeight:p([h(),q()]).optional().describe("Maximum container height in pixels.")})]).and(p([s({width:h().describe("Fixed container width in pixels.")}),s({maxWidth:p([h(),q()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
|
|
87
|
-
container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:a().optional().describe("User's language and region preference in BCP 47 format."),timeZone:a().optional().describe("User's timezone in IANA format."),userAgent:a().optional().describe("Host application identifier."),platform:p([t("web"),t("desktop"),t("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:s({touch:g().optional().describe("Whether the device supports touch input."),hover:g().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:s({top:h().describe("Top safe area inset in pixels."),right:h().describe("Right safe area inset in pixels."),bottom:h().describe("Bottom safe area inset in pixels."),left:h().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();s({method:t("ui/notifications/host-context-changed"),params:Ce.describe("Partial context update containing only changed fields.")});s({method:t("ui/update-model-context"),params:s({content:u(B).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:v(a(),x().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})});s({method:t("ui/initialize"),params:s({appInfo:$.describe("App identification (name and version)."),appCapabilities:kt.describe("Features and capabilities this app provides."),protocolVersion:a().describe("Protocol version this app supports.")})});s({protocolVersion:a().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:$.describe("Host application identification and version."),hostCapabilities:Mt.describe("Features and capabilities provided by the host."),hostContext:Ce.describe("Rich context about the host environment.")}).passthrough();function qt(){let r=document.documentElement.getAttribute("data-theme");return r==="dark"||r==="light"?r:document.documentElement.classList.contains("dark")?"dark":"light"}const Tt=[["--background","--color-background-primary"],["--muted","--color-background-secondary"],["--accent","--color-background-tertiary"],["--destructive","--color-background-danger"],["--success","--color-background-success"],["--warning","--color-background-warning"],["--foreground","--color-text-primary"],["--muted-foreground","--color-text-secondary"],["--accent-foreground","--color-text-tertiary"],["--destructive-foreground","--color-text-danger"],["--success-foreground","--color-text-success"],["--warning-foreground","--color-text-warning"],["--border","--color-border-primary"],["--input","--color-border-secondary"],["--ring","--color-ring-primary"],["--font-sans","--font-sans"],["--font-mono","--font-mono"],["--font-weight-normal","--font-weight-normal"],["--font-weight-medium","--font-weight-medium"],["--font-weight-semibold","--font-weight-semibold"],["--font-weight-bold","--font-weight-bold"],["--radius","--border-radius-md"],["--default-border-width","--border-width-regular"],["--shadow-sm","--shadow-sm"],["--shadow-md","--shadow-md"],["--shadow-lg","--shadow-lg"]];function It(){if(typeof document>"u")return{};const r=getComputedStyle(document.documentElement),e={};for(const[o,i]of Tt){const n=r.getPropertyValue(o).trim();n&&(e[i]=n)}return{variables:e}}const Et={name:"Studio",version:"1.0.0"},Lt={openLinks:{},serverTools:{},serverResources:{},logging:{},message:{},downloadFile:{},updateModelContext:{text:{}}},zt=15e3;function At(){return typeof navigator>"u"?"en":navigator.language??"en"}function Dt(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return"UTC"}}function Ut(){return typeof navigator>"u"?"web":/Mobi|Android/i.test(navigator.userAgent)?"mobile":"web"}function he(r,e,o,i,n){return{theme:qt(),styles:It(),displayMode:r,availableDisplayModes:["inline","fullscreen"],locale:n??At(),timeZone:Dt(),platform:Ut(),...e!=null&&{toolInfo:e},...o!=null&&{containerDimensions:{maxHeight:o}},...i!=null&&{orgId:i}}}const ie=new Set;let me=!1;function Nt(){if(me||typeof document>"u")return;me=!0;const r=()=>ie.forEach(e=>e());new MutationObserver(r).observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",r)}function Ot(r){return ie.add(r),Nt(),()=>ie.delete(r)}class jt{bridge=null;timeout=null;disposed=!1;unsubTheme=null;snapshot;listeners=new Set;config;constructor(e){this.config=e,this.snapshot=Object.freeze({height:e.minHeight,isLoading:!0,error:null})}subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));getSnapshot=()=>this.snapshot;updateConfig(e){const o=this.config;this.config=e,!(!this.bridge||this.disposed)&&((e.displayMode!==o.displayMode||e.locale!==o.locale)&&this.pushHostContext(),e.toolInput!==o.toolInput&&e.toolInput!=null&&this.bridge.sendToolInput({arguments:e.toolInput}),e.toolResult!==o.toolResult&&e.toolResult!=null&&this.bridge.sendToolResult(e.toolResult))}pushHostContext(){if(!this.bridge||this.disposed)return;const{displayMode:e,maxHeight:o,toolInfo:i,orgId:n,locale:l}=this.config;this.bridge.setHostContext(he(e,i,o,n,l))}set(e){const o=this.snapshot,i={...o,...e};if(!(i.height===o.height&&i.isLoading===o.isLoading&&i.error===o.error)){this.snapshot=Object.freeze(i);for(const n of this.listeners)n()}}teardown(){(this.bridge||this.timeout||this.unsubTheme)&&this.config.onTeardown?.(),this.disposed=!0,this.unsubTheme?.(),this.unsubTheme=null,this.bridge&&(this.bridge.teardownResource({}).catch(()=>{}),this.bridge.close(),this.bridge=null),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)}attach=e=>{if(this.teardown(),this.disposed=!1,this.set({height:this.config.minHeight,isLoading:!0,error:null}),!e)return;e.onerror=()=>{this.disposed||this.set({error:"Failed to load app",isLoading:!1})};let o=!1;e.onload=()=>{if(!this.disposed){if(!o){o=!0;return}this.set({height:this.config.minHeight,isLoading:!0,error:null}),this.connectBridge(e)}},this.connectBridge(e)};connectBridge(e){this.clearTimeout(),this.unsubTheme?.(),this.unsubTheme=null,this.bridge&&(this.bridge.close(),this.bridge=null);try{const{client:o,displayMode:i,maxHeight:n,toolInfo:l,orgId:c,locale:d}=this.config,m=he(i,l,n,c,d),b=new xt(o,Et,Lt,{hostContext:m});this.bridge=b,this.registerHandlers(b),this.startInitTimeout(),this.registerInitHandler(b),this.connectTransport(b,e),this.unsubTheme=Ot(()=>this.pushHostContext())}catch(o){this.clearTimeout(),console.error("Failed to create AppBridge:",o),this.set({error:o instanceof Error?o.message:"Unknown error",isLoading:!1})}}registerHandlers(e){e.onopenlink=async({url:o})=>{let i=null;try{i=new URL(o)}catch{}if(!i||!["http:","https:"].includes(i.protocol))throw new Error("Only http and https URLs are allowed");return window.open(o,"_blank","noopener,noreferrer"),{}},e.onmessage=async o=>(this.config.onMessage?.(o),{}),e.onupdatemodelcontext=async o=>(this.config.onUpdateModelContext?.(o),{}),e.onsizechange=({height:o})=>{if(!this.disposed&&o!=null){const{minHeight:i,maxHeight:n}=this.config;this.set({height:Math.max(i,Math.min(n,o))})}},e.onloggingmessage=({level:o,data:i})=>{console[o==="error"?"error":"debug"](`[MCP App ${this.config.toolInfo?.tool.name??"unknown"}]`,i)},e.onrequestdisplaymode=async({mode:o})=>({mode:this.config.onRequestDisplayMode?await this.config.onRequestDisplayMode(o):this.config.displayMode}),e.ondownloadfile=async({contents:o})=>{for(const i of o)if(i.type==="resource"){const n=i.resource,l="blob"in n?new Blob([Uint8Array.from(atob(n.blob),m=>m.charCodeAt(0))],{type:n.mimeType}):new Blob([n.text??""],{type:n.mimeType}),c=URL.createObjectURL(l),d=document.createElement("a");d.href=c,d.download=n.uri.split("/").pop()??"download",d.click(),URL.revokeObjectURL(c)}else i.type==="resource_link"&&window.open(i.uri,"_blank");return{}}}registerInitHandler(e){e.oninitialized=()=>{if(this.disposed)return;this.clearTimeout(),this.set({isLoading:!1});const{toolInput:o,toolResult:i}=this.config;o!=null&&e.sendToolInput({arguments:o}),i!=null&&e.sendToolResult(i)}}startInitTimeout(){this.timeout=setTimeout(()=>{this.disposed||this.set({error:"App took too long to load",isLoading:!1})},zt)}clearTimeout(){this.timeout&&(globalThis.clearTimeout(this.timeout),this.timeout=null)}connectTransport(e,o){if(!o.contentWindow){console.warn("iframe contentWindow not yet available");return}const i=new ft(o.contentWindow,o.contentWindow);e.connect(i).catch(n=>{this.disposed||(this.clearTimeout(),console.error("AppBridge connect failed:",n),this.set({error:n instanceof Error?n.message:"Connection failed",isLoading:!1}))})}}function Bt(r){const e=oe.useRef(new jt(r));oe.useEffect(()=>{e.current.updateConfig(r)},[r]);const{height:o,isLoading:i,error:n}=oe.useSyncExternalStore(e.current.subscribe,e.current.getSnapshot);return{height:o,isLoading:i,error:n,iframeRef:e.current.attach}}const ge=new Set;function $t(r){const e=r?.contents?.[0];return!e||!("text"in e)||!e.text?null:Ke(e.text,{resourceCsp:e._meta?.ui?.csp})}function Re(r){const e=V.c(40),{html:o,uri:i,orgId:n,toolInfo:l,toolInput:c,toolResult:d,displayMode:m,minHeight:b,maxHeight:f,client:E,onMessage:F,onUpdateModelContext:W,onTeardown:K,onRequestDisplayMode:Z,className:C}=r,w=m===void 0?"inline":m,J=b===void 0?150:b,Y=f===void 0?600:f;i&&!ge.has(i)&&(ge.add(i),Ve("mcp_app_opened",{resource_uri:i,display_mode:w,tool_name:l?.tool?.name??null}));const[Q]=Fe();let L;e[0]!==E||e[1]!==w||e[2]!==Y||e[3]!==J||e[4]!==F||e[5]!==Z||e[6]!==K||e[7]!==W||e[8]!==n||e[9]!==Q.language||e[10]!==l||e[11]!==c||e[12]!==d?(L={client:E,displayMode:w,minHeight:J,maxHeight:Y,orgId:n,locale:Q.language,toolInfo:l,toolInput:c,toolResult:d,onMessage:F,onUpdateModelContext:W,onTeardown:K,onRequestDisplayMode:Z},e[0]=E,e[1]=w,e[2]=Y,e[3]=J,e[4]=F,e[5]=Z,e[6]=K,e[7]=W,e[8]=n,e[9]=Q.language,e[10]=l,e[11]=c,e[12]=d,e[13]=L):L=e[13];const{height:G,isLoading:z,error:A,iframeRef:X}=Bt(L);if(!o)return null;if(A){let k;e[14]!==C?(k=se("flex items-center justify-center p-4 text-destructive bg-destructive/10 rounded-lg",C),e[14]=C,e[15]=k):k=e[15];let P;e[16]!==A?(P=y.jsx("span",{className:"text-sm",children:A}),e[16]=A,e[17]=P):P=e[17];let U;return e[18]!==k||e[19]!==P?(U=y.jsx("div",{className:k,children:P}),e[18]=k,e[19]=P,e[20]=U):U=e[20],U}const Se=l?.tool.name;let R;e[21]!==C?(R=se("relative w-full overflow-hidden rounded-lg",C),e[21]=C,e[22]=R):R=e[22];let S;e[23]!==w||e[24]!==G?(S=w!=="fullscreen"?{height:`${G}px`}:void 0,e[23]=w,e[24]=G,e[25]=S):S=e[25];let _;e[26]!==z?(_=z&&y.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background z-10",children:y.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[y.jsx("div",{className:"size-4 border-2 border-current border-t-transparent rounded-full animate-spin"}),y.jsx("span",{className:"text-sm",children:"Loading app..."})]})}),e[26]=z,e[27]=_):_=e[27];const ee=z&&"invisible";let H;e[28]!==ee?(H=se("w-full h-full border-0",ee),e[28]=ee,e[29]=H):H=e[29];const te=`MCP App: ${Se??i}`;let M;e[30]!==o||e[31]!==X||e[32]!==te||e[33]!==H?(M=y.jsx("iframe",{ref:X,srcDoc:o,sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-downloads",className:H,title:te}),e[30]=o,e[31]=X,e[32]=te,e[33]=H,e[34]=M):M=e[34];let D;return e[35]!==M||e[36]!==R||e[37]!==S||e[38]!==_?(D=y.jsxs("div",{className:R,style:S,children:[_,M]}),e[35]=M,e[36]=R,e[37]=S,e[38]=_,e[39]=D):D=e[39],D}function Vt(r){const e=V.c(13);let o,i,n,l;e[0]!==r?({resourceURI:l,orgSlug:n,connectionId:o,...i}=r,e[0]=r,e[1]=o,e[2]=i,e[3]=n,e[4]=l):(o=e[1],i=e[2],n=e[3],l=e[4]);let c;e[5]!==o||e[6]!==n||e[7]!==l?(c={orgSlug:n,connectionId:o,uri:l,staleTime:3e4},e[5]=o,e[6]=n,e[7]=l,e[8]=c):c=e[8];const d=Be(c);let m;return e[9]!==i||e[10]!==d.data||e[11]!==l?(m=y.jsx(Re,{html:d.data,uri:l,...i}),e[9]=i,e[10]=d.data,e[11]=l,e[12]=m):m=e[12],m}function Ft(r){const e=V.c(10);let o,i;e[0]!==r?({resourceURI:i,...o}=r,e[0]=r,e[1]=o,e[2]=i):(o=e[1],i=e[2]);let n;e[3]!==o.client||e[4]!==i?(n={client:o.client,uri:i,staleTime:3e4},e[3]=o.client,e[4]=i,e[5]=n):n=e[5];const{data:l}=$e(n),c=$t(l);let d;return e[6]!==o||e[7]!==c||e[8]!==i?(d=y.jsx(Re,{html:c,uri:i,...o}),e[6]=o,e[7]=c,e[8]=i,e[9]=d):d=e[9],d}function Zt(r){const e=V.c(4);if(r.orgSlug&&r.connectionId){let i;return e[0]!==r?(i=y.jsx(Vt,{...r,orgSlug:r.orgSlug,connectionId:r.connectionId}),e[0]=r,e[1]=i):i=e[1],i}let o;return e[2]!==r?(o=y.jsx(Ft,{...r}),e[2]=r,e[3]=o):o=e[3],o}const Jt={view:{minHeight:400,maxHeight:800},fullscreen:{minHeight:600,maxHeight:1200}};function Yt(r){if(!(r==null||typeof r!="object"))try{return yt({_meta:r})}catch{return}}export{Zt as M,Jt as a,Yt as g};
|
|
87
|
+
container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:a().optional().describe("User's language and region preference in BCP 47 format."),timeZone:a().optional().describe("User's timezone in IANA format."),userAgent:a().optional().describe("Host application identifier."),platform:p([t("web"),t("desktop"),t("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:s({touch:g().optional().describe("Whether the device supports touch input."),hover:g().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:s({top:h().describe("Top safe area inset in pixels."),right:h().describe("Right safe area inset in pixels."),bottom:h().describe("Bottom safe area inset in pixels."),left:h().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();s({method:t("ui/notifications/host-context-changed"),params:Ce.describe("Partial context update containing only changed fields.")});s({method:t("ui/update-model-context"),params:s({content:u(B).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:v(a(),x().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})});s({method:t("ui/initialize"),params:s({appInfo:$.describe("App identification (name and version)."),appCapabilities:kt.describe("Features and capabilities this app provides."),protocolVersion:a().describe("Protocol version this app supports.")})});s({protocolVersion:a().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:$.describe("Host application identification and version."),hostCapabilities:Mt.describe("Features and capabilities provided by the host."),hostContext:Ce.describe("Rich context about the host environment.")}).passthrough();function qt(){let r=document.documentElement.getAttribute("data-theme");return r==="dark"||r==="light"?r:document.documentElement.classList.contains("dark")?"dark":"light"}const Tt=[["--background","--color-background-primary"],["--muted","--color-background-secondary"],["--accent","--color-background-tertiary"],["--destructive","--color-background-danger"],["--success","--color-background-success"],["--warning","--color-background-warning"],["--foreground","--color-text-primary"],["--muted-foreground","--color-text-secondary"],["--accent-foreground","--color-text-tertiary"],["--destructive-foreground","--color-text-danger"],["--success-foreground","--color-text-success"],["--warning-foreground","--color-text-warning"],["--border","--color-border-primary"],["--input","--color-border-secondary"],["--ring","--color-ring-primary"],["--font-sans","--font-sans"],["--font-mono","--font-mono"],["--font-weight-normal","--font-weight-normal"],["--font-weight-medium","--font-weight-medium"],["--font-weight-semibold","--font-weight-semibold"],["--font-weight-bold","--font-weight-bold"],["--radius","--border-radius-md"],["--default-border-width","--border-width-regular"],["--shadow-sm","--shadow-sm"],["--shadow-md","--shadow-md"],["--shadow-lg","--shadow-lg"]];function It(){if(typeof document>"u")return{};const r=getComputedStyle(document.documentElement),e={};for(const[o,i]of Tt){const n=r.getPropertyValue(o).trim();n&&(e[i]=n)}return{variables:e}}const Et={name:"Studio",version:"1.0.0"},Lt={openLinks:{},serverTools:{},serverResources:{},logging:{},message:{},downloadFile:{},updateModelContext:{text:{}}},zt=15e3;function Ut(){return typeof navigator>"u"?"en":navigator.language??"en"}function At(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return"UTC"}}function Dt(){return typeof navigator>"u"?"web":/Mobi|Android/i.test(navigator.userAgent)?"mobile":"web"}function he(r,e,o,i,n){return{theme:qt(),styles:It(),displayMode:r,availableDisplayModes:["inline","fullscreen"],locale:n??Ut(),timeZone:At(),platform:Dt(),...e!=null&&{toolInfo:e},...o!=null&&{containerDimensions:{maxHeight:o}},...i!=null&&{orgId:i}}}const ie=new Set;let me=!1;function Nt(){if(me||typeof document>"u")return;me=!0;const r=()=>ie.forEach(e=>e());new MutationObserver(r).observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",r)}function Ot(r){return ie.add(r),Nt(),()=>ie.delete(r)}class jt{bridge=null;timeout=null;disposed=!1;unsubTheme=null;snapshot;listeners=new Set;config;constructor(e){this.config=e,this.snapshot=Object.freeze({height:e.minHeight,isLoading:!0,error:null})}subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));getSnapshot=()=>this.snapshot;updateConfig(e){const o=this.config;this.config=e,!(!this.bridge||this.disposed)&&((e.displayMode!==o.displayMode||e.locale!==o.locale)&&this.pushHostContext(),e.toolInput!==o.toolInput&&e.toolInput!=null&&this.bridge.sendToolInput({arguments:e.toolInput}),e.toolResult!==o.toolResult&&e.toolResult!=null&&this.bridge.sendToolResult(e.toolResult))}pushHostContext(){if(!this.bridge||this.disposed)return;const{displayMode:e,maxHeight:o,toolInfo:i,orgId:n,locale:l}=this.config;this.bridge.setHostContext(he(e,i,o,n,l))}set(e){const o=this.snapshot,i={...o,...e};if(!(i.height===o.height&&i.isLoading===o.isLoading&&i.error===o.error)){this.snapshot=Object.freeze(i);for(const n of this.listeners)n()}}teardown(){(this.bridge||this.timeout||this.unsubTheme)&&this.config.onTeardown?.(),this.disposed=!0,this.unsubTheme?.(),this.unsubTheme=null,this.bridge&&(this.bridge.teardownResource({}).catch(()=>{}),this.bridge.close(),this.bridge=null),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)}attach=e=>{if(this.teardown(),this.disposed=!1,this.set({height:this.config.minHeight,isLoading:!0,error:null}),!e)return;e.onerror=()=>{this.disposed||this.set({error:"Failed to load app",isLoading:!1})};let o=!1;e.onload=()=>{if(!this.disposed){if(!o){o=!0;return}this.set({height:this.config.minHeight,isLoading:!0,error:null}),this.connectBridge(e)}},this.connectBridge(e)};connectBridge(e){this.clearTimeout(),this.unsubTheme?.(),this.unsubTheme=null,this.bridge&&(this.bridge.close(),this.bridge=null);try{const{client:o,displayMode:i,maxHeight:n,toolInfo:l,orgId:c,locale:d}=this.config,m=he(i,l,n,c,d),b=new xt(o,Et,Lt,{hostContext:m});this.bridge=b,this.registerHandlers(b),this.startInitTimeout(),this.registerInitHandler(b),this.connectTransport(b,e),this.unsubTheme=Ot(()=>this.pushHostContext())}catch(o){this.clearTimeout(),console.error("Failed to create AppBridge:",o),this.set({error:o instanceof Error?o.message:"Unknown error",isLoading:!1})}}registerHandlers(e){e.onopenlink=async({url:o})=>{let i=null;try{i=new URL(o)}catch{}if(!i||!["http:","https:"].includes(i.protocol))throw new Error("Only http and https URLs are allowed");return window.open(o,"_blank","noopener,noreferrer"),{}},e.onmessage=async o=>(this.config.onMessage?.(o),{}),e.onupdatemodelcontext=async o=>(this.config.onUpdateModelContext?.(o),{}),e.onsizechange=({height:o})=>{if(!this.disposed&&o!=null){const{minHeight:i,maxHeight:n}=this.config;this.set({height:Math.max(i,Math.min(n,o))})}},e.onloggingmessage=({level:o,data:i})=>{console[o==="error"?"error":"debug"](`[MCP App ${this.config.toolInfo?.tool.name??"unknown"}]`,i)},e.onrequestdisplaymode=async({mode:o})=>({mode:this.config.onRequestDisplayMode?await this.config.onRequestDisplayMode(o):this.config.displayMode}),e.ondownloadfile=async({contents:o})=>{for(const i of o)if(i.type==="resource"){const n=i.resource,l="blob"in n?new Blob([Uint8Array.from(atob(n.blob),m=>m.charCodeAt(0))],{type:n.mimeType}):new Blob([n.text??""],{type:n.mimeType}),c=URL.createObjectURL(l),d=document.createElement("a");d.href=c,d.download=n.uri.split("/").pop()??"download",d.click(),URL.revokeObjectURL(c)}else i.type==="resource_link"&&window.open(i.uri,"_blank");return{}}}registerInitHandler(e){e.oninitialized=()=>{if(this.disposed)return;this.clearTimeout(),this.set({isLoading:!1});const{toolInput:o,toolResult:i}=this.config;o!=null&&e.sendToolInput({arguments:o}),i!=null&&e.sendToolResult(i)}}startInitTimeout(){this.timeout=setTimeout(()=>{this.disposed||this.set({error:"App took too long to load",isLoading:!1})},zt)}clearTimeout(){this.timeout&&(globalThis.clearTimeout(this.timeout),this.timeout=null)}connectTransport(e,o){if(!o.contentWindow){console.warn("iframe contentWindow not yet available");return}const i=new ft(o.contentWindow,o.contentWindow);e.connect(i).catch(n=>{this.disposed||(this.clearTimeout(),console.error("AppBridge connect failed:",n),this.set({error:n instanceof Error?n.message:"Connection failed",isLoading:!1}))})}}function Bt(r){const e=oe.useRef(new jt(r));oe.useEffect(()=>{e.current.updateConfig(r)},[r]);const{height:o,isLoading:i,error:n}=oe.useSyncExternalStore(e.current.subscribe,e.current.getSnapshot);return{height:o,isLoading:i,error:n,iframeRef:e.current.attach}}const ge=new Set;function $t(r){const e=r?.contents?.[0];return!e||!("text"in e)||!e.text?null:Ke(e.text,{resourceCsp:e._meta?.ui?.csp})}function Re(r){const e=V.c(40),{html:o,uri:i,orgId:n,toolInfo:l,toolInput:c,toolResult:d,displayMode:m,minHeight:b,maxHeight:f,client:E,onMessage:W,onUpdateModelContext:F,onTeardown:K,onRequestDisplayMode:Z,className:C}=r,w=m===void 0?"inline":m,J=b===void 0?150:b,Y=f===void 0?600:f;i&&!ge.has(i)&&(ge.add(i),Ve("mcp_app_opened",{resource_uri:i,display_mode:w,tool_name:l?.tool?.name??null}));const[Q]=We();let L;e[0]!==E||e[1]!==w||e[2]!==Y||e[3]!==J||e[4]!==W||e[5]!==Z||e[6]!==K||e[7]!==F||e[8]!==n||e[9]!==Q.language||e[10]!==l||e[11]!==c||e[12]!==d?(L={client:E,displayMode:w,minHeight:J,maxHeight:Y,orgId:n,locale:Q.language,toolInfo:l,toolInput:c,toolResult:d,onMessage:W,onUpdateModelContext:F,onTeardown:K,onRequestDisplayMode:Z},e[0]=E,e[1]=w,e[2]=Y,e[3]=J,e[4]=W,e[5]=Z,e[6]=K,e[7]=F,e[8]=n,e[9]=Q.language,e[10]=l,e[11]=c,e[12]=d,e[13]=L):L=e[13];const{height:G,isLoading:z,error:U,iframeRef:X}=Bt(L);if(!o)return null;if(U){let k;e[14]!==C?(k=se("flex items-center justify-center p-4 text-destructive bg-destructive/10 rounded-lg",C),e[14]=C,e[15]=k):k=e[15];let P;e[16]!==U?(P=y.jsx("span",{className:"text-sm",children:U}),e[16]=U,e[17]=P):P=e[17];let D;return e[18]!==k||e[19]!==P?(D=y.jsx("div",{className:k,children:P}),e[18]=k,e[19]=P,e[20]=D):D=e[20],D}const Se=l?.tool.name;let R;e[21]!==C?(R=se("relative w-full overflow-hidden rounded-lg",C),e[21]=C,e[22]=R):R=e[22];let S;e[23]!==w||e[24]!==G?(S=w!=="fullscreen"?{height:`${G}px`}:void 0,e[23]=w,e[24]=G,e[25]=S):S=e[25];let _;e[26]!==z?(_=z&&y.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background z-10",children:y.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[y.jsx("div",{className:"size-4 border-2 border-current border-t-transparent rounded-full animate-spin"}),y.jsx("span",{className:"text-sm",children:"Loading app..."})]})}),e[26]=z,e[27]=_):_=e[27];const ee=z&&"invisible";let H;e[28]!==ee?(H=se("w-full h-full border-0",ee),e[28]=ee,e[29]=H):H=e[29];const te=`MCP App: ${Se??i}`;let M;e[30]!==o||e[31]!==X||e[32]!==te||e[33]!==H?(M=y.jsx("iframe",{ref:X,srcDoc:o,sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-downloads",className:H,title:te}),e[30]=o,e[31]=X,e[32]=te,e[33]=H,e[34]=M):M=e[34];let A;return e[35]!==M||e[36]!==R||e[37]!==S||e[38]!==_?(A=y.jsxs("div",{className:R,style:S,children:[_,M]}),e[35]=M,e[36]=R,e[37]=S,e[38]=_,e[39]=A):A=e[39],A}function Vt(r){const e=V.c(13);let o,i,n,l;e[0]!==r?({resourceURI:l,orgSlug:n,connectionId:o,...i}=r,e[0]=r,e[1]=o,e[2]=i,e[3]=n,e[4]=l):(o=e[1],i=e[2],n=e[3],l=e[4]);let c;e[5]!==o||e[6]!==n||e[7]!==l?(c={orgSlug:n,connectionId:o,uri:l,staleTime:3e4},e[5]=o,e[6]=n,e[7]=l,e[8]=c):c=e[8];const d=Be(c);let m;return e[9]!==i||e[10]!==d.data||e[11]!==l?(m=y.jsx(Re,{html:d.data,uri:l,...i}),e[9]=i,e[10]=d.data,e[11]=l,e[12]=m):m=e[12],m}function Wt(r){const e=V.c(10);let o,i;e[0]!==r?({resourceURI:i,...o}=r,e[0]=r,e[1]=o,e[2]=i):(o=e[1],i=e[2]);let n;e[3]!==o.client||e[4]!==i?(n={client:o.client,uri:i,staleTime:3e4},e[3]=o.client,e[4]=i,e[5]=n):n=e[5];const{data:l}=$e(n),c=$t(l);let d;return e[6]!==o||e[7]!==c||e[8]!==i?(d=y.jsx(Re,{html:c,uri:i,...o}),e[6]=o,e[7]=c,e[8]=i,e[9]=d):d=e[9],d}function Zt(r){const e=V.c(4);if(r.orgSlug&&r.connectionId){let i;return e[0]!==r?(i=y.jsx(Vt,{...r,orgSlug:r.orgSlug,connectionId:r.connectionId}),e[0]=r,e[1]=i):i=e[1],i}let o;return e[2]!==r?(o=y.jsx(Wt,{...r}),e[2]=r,e[3]=o):o=e[3],o}const Jt={view:{minHeight:400,maxHeight:800},fullscreen:{minHeight:600,maxHeight:1200}};function Yt(r){if(!(r==null||typeof r!="object"))try{return yt({_meta:r})}catch{return}}export{Zt as M,Jt as a,Yt as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as p,H as h,av as R,K as m,o as y,z as S,aQ as D}from"./index-C-W5dASy.js";const P=["deco","anthropic","openrouter","llmapi","google","openai-compatible"],M=new Set(P);function O(o){return M.has(o)}const v={anthropic:["claude-haiku-4-5","claude-haiku"],openrouter:["qwen/qwen3.5-flash","anthropic/claude-haiku-4.5","anthropic/claude-haiku","google/gemini-3-flash"],deco:["qwen/qwen3.5-flash","anthropic/claude-haiku"],llmapi:["claude-haiku-4-5","claude-haiku","gpt-4o-mini"],google:["gemini-2.5-flash","gemini-3-flash"]},A={anthropic:["claude-sonnet-5","claude-sonnet"],openrouter:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude-opus-4.8","google/gemini-3-pro"],deco:["anthropic/claude-sonnet-5","anthropic/claude-sonnet","anthropic/claude"],llmapi:["claude-sonnet-4-6","claude-sonnet"],google:["gemini-3-pro","gemini-3-flash"]},L={anthropic:["claude-opus-4-8","claude-sonnet-5","claude-sonnet","claude-fable-5"],openrouter:["anthropic/claude-opus-4.8:extended","anthropic/claude-opus-4.8","anthropic/claude-sonnet-5:extended","anthropic/claude-sonnet-5","google/gemini-3-pro","anthropic/claude-fable-5"],deco:["anthropic/claude-opus","anthropic/claude-sonnet-4.6","anthropic/claude-sonnet","anthropic/claude-fable"],llmapi:["claude-opus-4-8","claude-opus","claude-sonnet-4-6"],google:["gemini-3-pro"]},T={openrouter:["openai/gpt-image-1","google/gemini-2.0-flash-image"],deco:["openai/gpt-image-1","google/gemini-2.0-flash-image"],llmapi:["gemini-2.5-flash-image","gpt-image-1"],google:["gemini-2.0-flash-image"]},K={openrouter:["perplexity/sonar","perplexity/sonar-pro"],deco:["perplexity/sonar","perplexity/sonar-pro"]},w={openrouter:["perplexity/deep-research","perplexity/sonar-pro"],deco:["perplexity/deep-research","perplexity/sonar-pro"]};function _(o){return o.toLowerCase().replace(/[^a-z0-9]/g,"")}function x(o){return _(o).includes("deepresearch")}const q=["sonar","searchpreview","online"];function I(o){const e=_(o);return e.includes("deepresearch")?!1:q.some(t=>e.includes(t))}function C(o){return o.asyncResearch!==!0&&I(o.modelId)}function F(o){return o.asyncResearch===!0||x(o.modelId)||I(o.modelId)}function u(o,e,t,n){for(const i of t){const s=o.find(a=>a.modelId===i);if(s)return{keyId:e,modelId:s.modelId,title:s.title}}for(const i of t){const s=o.find(a=>a.modelId.includes(i));if(s)return{keyId:e,modelId:s.modelId,title:s.title}}if(n){const i=o.find(n);if(i)return{keyId:e,modelId:i.modelId,title:i.title}}return null}function b(o,e){const t={chat:{fast:null,smart:null,thinking:null},image:null,webSearch:null,deepResearch:null};for(const n of o){const i=e[n.id]??[],s=n.providerId;t.chat.fast||(t.chat.fast=u(i,n.id,v[s]??[])),t.chat.smart||(t.chat.smart=u(i,n.id,A[s]??[])),t.chat.thinking||(t.chat.thinking=u(i,n.id,L[s]??[])),t.image||(t.image=u(i,n.id,T[s]??[],a=>a.capabilities?.includes("image")===!0)),t.webSearch||(t.webSearch=u(i,n.id,K[s]??[],C)),t.deepResearch||(t.deepResearch=u(i,n.id,w[s]??[],F))}return t}function H(o,e){return{queryKey:m.aiProviderKeys(e),staleTime:6e4,queryFn:async()=>await D(o,"AI_PROVIDER_KEY_LIST",{})}}function $(){const o=p.c(7),{org:e}=h(),t=R();let n;o[0]!==e.id?(n=m.aiProviders(e.id),o[0]=e.id,o[1]=n):n=o[1];let i;o[2]!==t?(i=async()=>await t.call("AI_PROVIDERS_LIST",{}),o[2]=t,o[3]=i):i=o[3];let s;o[4]!==n||o[5]!==i?(s={queryKey:n,staleTime:1/0,queryFn:i},o[4]=n,o[5]=i,o[6]=s):s=o[6];const{data:a}=S(s);return a}function N(){const o=p.c(5),{org:e}=h();let t;o[0]!==e.id||o[1]!==e.slug?(t=H(e.slug,e.id),o[0]=e.id,o[1]=e.slug,o[2]=t):t=o[2];const{data:n}=S(t);let i;return o[3]!==n?.keys?(i=n?.keys??[],o[3]=n?.keys,o[4]=i):i=o[4],i}function z(){const o=p.c(2),e=N();let t;return o[0]!==e?(t=e.filter(Q),o[0]=e,o[1]=t):t=o[1],t}function Q(o){return O(o.providerId)}function E(o){const e=p.c(15),{org:t}=h(),n=R();let i;e[0]!==o||e[1]!==t.id?(i=m.aiProviderModels(t.id,o??""),e[0]=o,e[1]=t.id,e[2]=i):i=e[2];const s=!!o;let a;e[3]!==o||e[4]!==n?(a=async()=>await n.call("AI_PROVIDERS_LIST_MODELS",{keyId:o??""}),e[3]=o,e[4]=n,e[5]=a):a=e[5];let r;e[6]!==i||e[7]!==s||e[8]!==a?(r={queryKey:i,enabled:s,staleTime:6e4,queryFn:a},e[6]=i,e[7]=s,e[8]=a,e[9]=r):r=e[9];const{data:l,isLoading:c}=y(r);let d;e[10]!==l?.models?(d=l?.models??[],e[10]=l?.models,e[11]=d):d=e[11];const g=!!o&&c;let f;return e[12]!==d||e[13]!==g?(f={models:d,isLoading:g},e[12]=d,e[13]=g,e[14]=f):f=e[14],f}function B(o){const e=p.c(8),t=o[0],n=o[1],i=o[2],{models:s}=E(t?.id),{models:a}=E(n?.id),{models:r}=E(i?.id);let l;if(e[0]!==t||e[1]!==n||e[2]!==i||e[3]!==o||e[4]!==s||e[5]!==a||e[6]!==r){const c={};t?.id&&(c[t.id]=s),n?.id&&(c[n.id]=a),i?.id&&(c[i.id]=r),l=b(o,c),e[0]=t,e[1]=n,e[2]=i,e[3]=o,e[4]=s,e[5]=a,e[6]=r,e[7]=l}else l=e[7];return l}function G(o){const e=p.c(11),{org:t}=h(),n=R();let i;e[0]!==o||e[1]!==t.id?(i=m.aiProviderModels(t.id,o),e[0]=o,e[1]=t.id,e[2]=i):i=e[2];let s;e[3]!==o||e[4]!==n?(s=async()=>await n.call("AI_PROVIDERS_LIST_MODELS",{keyId:o}),e[3]=o,e[4]=n,e[5]=s):s=e[5];let a;e[6]!==i||e[7]!==s?(a={queryKey:i,staleTime:6e4,queryFn:s},e[6]=i,e[7]=s,e[8]=a):a=e[8];const{data:r}=S(a);let l;return e[9]!==r?.models?(l=r?.models??[],e[9]=r?.models,e[10]=l):l=e[10],l}export{B as a,E as b,F as c,N as d,O as e,$ as f,G as g,C as i,b as p,z as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c,H as d,p,e as I,K as g,o as E}from"./index-C-W5dASy.js";import{u as y}from"./use-mcp-client-PMt78ucZ.js";import{S as m}from"./constants-BSYv1IkQ.js";function f(e,t){if(e?.isError)throw new Error(e.content?.[0]?.text??t);if(!e.structuredContent)throw new Error(t);return e.structuredContent}function S(){const e=c.c(10),{org:t}=d();let n;e[0]!==t.id||e[1]!==t.slug?(n={connectionId:m,orgId:t.id,orgSlug:t.slug},e[0]=t.id,e[1]=t.slug,e[2]=n):n=e[2];const r=y(n);let o;e[3]!==t.id?(o=g.apiKeysList(t.id),e[3]=t.id,e[4]=o):o=e[4];let s;e[5]!==r?(s=async()=>{const l=await r.callTool({name:"API_KEY_LIST",arguments:{}});return f(l,"Failed to list API keys").items},e[5]=r,e[6]=s):s=e[6];let i;return e[7]!==o||e[8]!==s?(i={queryKey:o,queryFn:s,staleTime:3e4},e[7]=o,e[8]=s,e[9]=i):i=e[9],E(i)}function P(){const e=c.c(11),{org:t}=d();let n;e[0]!==t.id||e[1]!==t.slug?(n={connectionId:m,orgId:t.id,orgSlug:t.slug},e[0]=t.id,e[1]=t.slug,e[2]=n):n=e[2];const r=y(n),o=p();let s;e[3]!==r?(s=async u=>{const a=await r.callTool({name:"API_KEY_CREATE",arguments:{name:u.name,permissions:u.permissions??{"*":["*"]}}});return f(a,"Failed to create API key")},e[3]=r,e[4]=s):s=e[4];let i;e[5]!==t.id||e[6]!==o?(i=()=>{o.invalidateQueries({queryKey:g.apiKeysList(t.id)})},e[5]=t.id,e[6]=o,e[7]=i):i=e[7];let l;return e[8]!==s||e[9]!==i?(l={mutationFn:s,onSuccess:i},e[8]=s,e[9]=i,e[10]=l):l=e[10],I(l)}function _(){const e=c.c(11),{org:t}=d();let n;e[0]!==t.id||e[1]!==t.slug?(n={connectionId:m,orgId:t.id,orgSlug:t.slug},e[0]=t.id,e[1]=t.slug,e[2]=n):n=e[2];const r=y(n),o=p();let s;e[3]!==r?(s=async u=>{const a=await r.callTool({name:"API_KEY_DELETE",arguments:{keyId:u}});return f(a,"Failed to delete API key")},e[3]=r,e[4]=s):s=e[4];let i;e[5]!==t.id||e[6]!==o?(i=()=>{o.invalidateQueries({queryKey:g.apiKeysList(t.id)})},e[5]=t.id,e[6]=o,e[7]=i):i=e[7];let l;return e[8]!==s||e[9]!==i?(l={mutationFn:s,onSuccess:i},e[8]=s,e[9]=i,e[10]=l):l=e[10],I(l)}export{S as a,_ as b,P as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as U,H as q,av as I,K as T,o as Q,p as x,e as y,t as m}from"./index-C-W5dASy.js";import{u as z}from"./use-mcp-client-PMt78ucZ.js";import{S as H}from"./constants-BSYv1IkQ.js";function J(t){if(t.paramsSchema&&typeof t.paramsSchema=="object")return t;const e={};if(Array.isArray(t.params))for(const s of t.params)e[s.name]={type:s.type,description:s.description,enum:s.enum};else t.params&&typeof t.params=="object"&&Object.assign(e,t.params);return{type:t.type,description:t.description,paramsSchema:e}}function st(t){const e=U.c(12),{org:s}=q(),l=t??H;let a;e[0]!==s.id||e[1]!==s.slug||e[2]!==l?(a={connectionId:l,orgId:s.id,orgSlug:s.slug},e[0]=s.id,e[1]=s.slug,e[2]=l,e[3]=a):a=e[3];const i=z(a);let n;e[4]!==t?(n=T.toolCall(t??"","TRIGGER_LIST",""),e[4]=t,e[5]=n):n=e[5];let o;e[6]!==i?(o=async()=>{const d=await i.callTool({name:"TRIGGER_LIST",arguments:{}});return(d.structuredContent??d).triggers.map(J)},e[6]=i,e[7]=o):o=e[7];const c=!!t;let r;return e[8]!==n||e[9]!==o||e[10]!==c?(r={queryKey:n,queryFn:o,enabled:c,staleTime:3e4},e[8]=n,e[9]=o,e[10]=c,e[11]=r):r=e[11],Q(r)}function it(t){const e=U.c(9),{org:s}=q(),l=I();let a;e[0]!==s.id||e[1]!==t?(a=T.automations(s.id,t),e[0]=s.id,e[1]=t,e[2]=a):a=e[2];let i;e[3]!==l||e[4]!==t?(i=async()=>(await l.call("AUTOMATION_LIST",t!=null?{virtual_mcp_id:t}:{})).automations,e[3]=l,e[4]=t,e[5]=i):i=e[5];let n;return e[6]!==a||e[7]!==i?(n={queryKey:a,queryFn:i,staleTime:1e4},e[6]=a,e[7]=i,e[8]=n):n=e[8],Q(n)}function ot(t){const e=U.c(10),{org:s}=q(),l=I();let a;e[0]!==t||e[1]!==s.id?(a=T.automation(s.id,t),e[0]=t,e[1]=s.id,e[2]=a):a=e[2];let i;e[3]!==t||e[4]!==l?(i=async()=>(await l.call("AUTOMATION_GET",{id:t})).automation,e[3]=t,e[4]=l,e[5]=i):i=e[5];const n=!!t;let o;return e[6]!==a||e[7]!==i||e[8]!==n?(o={queryKey:a,queryFn:i,enabled:n,staleTime:1e4},e[6]=a,e[7]=i,e[8]=n,e[9]=o):o=e[9],Q(o)}function at(t,e){const s=U.c(12),{org:l}=q(),a=I();let i;s[0]!==t||s[1]!==l.id||s[2]!==e?(i=T.automationRunStats(l.id,t,JSON.stringify(e??{})),s[0]=t,s[1]=l.id,s[2]=e,s[3]=i):i=s[3];let n;s[4]!==t||s[5]!==e||s[6]!==a?(n=async()=>await a.call("AUTOMATION_RUN_STATS",{automation_id:t,...e?.startDate?{startDate:e.startDate}:{},...e?.endDate?{endDate:e.endDate}:{}}),s[4]=t,s[5]=e,s[6]=a,s[7]=n):n=s[7];const o=!!t;let c;return s[8]!==i||s[9]!==n||s[10]!==o?(c={queryKey:i,queryFn:n,enabled:o,staleTime:3e4},s[8]=i,s[9]=n,s[10]=o,s[11]=c):c=s[11],Q(c)}function nt(t){return{name:"New Automation",messages:[],models:{tier:"smart"},temperature:.5,active:!0,virtual_mcp_id:t}}function lt(){const t=U.c(64),{org:e}=q(),s=I(),l=x();let a;t[0]!==e||t[1]!==l?(a=()=>l.invalidateQueries({queryKey:T.automationsAll(e.id)}),t[0]=e,t[1]=l,t[2]=a):a=t[2];const i=a;let n;t[3]!==e||t[4]!==l?(n=u=>l.invalidateQueries({queryKey:T.automation(e.id,u)}),t[3]=e,t[4]=l,t[5]=n):n=t[5];const o=n;let c;t[6]!==s?(c=async u=>await s.call("AUTOMATION_CREATE",u),t[6]=s,t[7]=c):c=t[7];let r;t[8]!==i?(r=()=>{i(),m.success("Automation created successfully")},t[8]=i,t[9]=r):r=t[9];let d;t[10]!==c||t[11]!==r?(d={mutationFn:c,onSuccess:r,onError:X},t[10]=c,t[11]=r,t[12]=d):d=t[12];const D=y(d);let p;t[13]!==s?(p=async u=>await s.call("AUTOMATION_UPDATE",u),t[13]=s,t[14]=p):p=t[14];let A;t[15]!==i||t[16]!==o?(A=(u,f)=>{i(),typeof f.id=="string"&&o(f.id),m.success("Automation updated successfully")},t[15]=i,t[16]=o,t[17]=A):A=t[17];let G;t[18]!==p||t[19]!==A?(G={mutationFn:p,onSuccess:A,onError:W},t[18]=p,t[19]=A,t[20]=G):G=t[20];const j=y(G);let g;t[21]!==s?(g=async u=>await s.call("AUTOMATION_DELETE",{id:u}),t[21]=s,t[22]=g):g=t[22];let _;t[23]!==i||t[24]!==e||t[25]!==l?(_=(u,f)=>{l.removeQueries({queryKey:T.automation(e.id,f)}),i(),m.success("Automation deleted successfully")},t[23]=i,t[24]=e,t[25]=l,t[26]=_):_=t[26];let $;t[27]!==g||t[28]!==_?($={mutationFn:g,onSuccess:_,onError:B},t[27]=g,t[28]=_,t[29]=$):$=t[29];const k=y($);let S;t[30]!==s?(S=async u=>await s.call("AUTOMATION_TRIGGER_ADD",u),t[30]=s,t[31]=S):S=t[31];let E;t[32]!==i||t[33]!==o?(E=u=>{i(),o(u.automation_id)},t[32]=i,t[33]=o,t[34]=E):E=t[34];let K;t[35]!==S||t[36]!==E?(K={mutationFn:S,onSuccess:E},t[35]=S,t[36]=E,t[37]=K):K=t[37];const v=y(K);let O;t[38]!==s?(O=async u=>await s.call("AUTOMATION_TRIGGER_ROTATE_TOKEN",{trigger_id:u.trigger_id}),t[38]=s,t[39]=O):O=t[39];let R;t[40]!==i||t[41]!==o?(R=(u,f)=>{i(),o(f.automation_id)},t[40]=i,t[41]=o,t[42]=R):R=t[42];let C;t[43]!==O||t[44]!==R?(C={mutationFn:O,onSuccess:R},t[43]=O,t[44]=R,t[45]=C):C=t[45];const P=y(C);let F;t[46]!==s?(F=async u=>await s.call("AUTOMATION_TRIGGER_REMOVE",{trigger_id:u.trigger_id}),t[46]=s,t[47]=F):F=t[47];let N;t[48]!==i||t[49]!==o?(N=(u,f)=>{i(),o(f.automation_id)},t[48]=i,t[49]=o,t[50]=N):N=t[50];let b;t[51]!==F||t[52]!==N?(b={mutationFn:F,onSuccess:N},t[51]=F,t[52]=N,t[53]=b):b=t[53];const h=y(b);let L;t[54]!==s?(L={mutationFn:async u=>await s.call("AUTOMATION_RUN",{id:u}),onSuccess:Y,onError:V},t[54]=s,t[55]=L):L=t[55];const w=y(L);let M;return t[56]!==D||t[57]!==k||t[58]!==w||t[59]!==v||t[60]!==h||t[61]!==P||t[62]!==j?(M={create:D,update:j,remove:k,triggerAdd:v,triggerRemove:h,triggerRotateToken:P,run:w},t[56]=D,t[57]=k,t[58]=w,t[59]=v,t[60]=h,t[61]=P,t[62]=j,t[63]=M):M=t[63],M}function V(t){const e=t instanceof Error?t.message:String(t);m.error(`Failed to run automation: ${e}`)}function Y(t){t.skipped?m.info(`Automation skipped: ${t.skipped}`):t.error?m.error(`Automation failed: ${t.error}`):m.success("Automation triggered")}function B(t){const e=t instanceof Error?t.message:String(t);m.error(`Failed to delete automation: ${e}`)}function W(t){const e=t instanceof Error?t.message:String(t);m.error(`Failed to update automation: ${e}`)}function X(t){const e=t instanceof Error?t.message:String(t);m.error(`Failed to create automation: ${e}`)}export{st as a,ot as b,it as c,nt as d,at as e,lt as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as T,r as o}from"./index-
|
|
1
|
+
import{c as T,r as o}from"./index-C-W5dASy.js";const y=700;function x(r,l,_){const e=T.c(7),f=y,[a,m]=o.useState(r),[i,S]=o.useState(r),[A,d]=o.useState(!1),t=o.useRef(null);r!==i&&(S(r),A||m(r));let s;e[0]!==f||e[1]!==l?(s=u=>{m(u),d(!0),t.current&&clearTimeout(t.current),t.current=setTimeout(()=>{t.current=null,d(!1),l(u)},f)},e[0]=f,e[1]=l,e[2]=s):s=e[2];const p=s;let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=u=>{m(u),t.current&&clearTimeout(t.current),t.current=null,d(!1)},e[3]=c):c=e[3];const E=c;let n;return e[4]!==a||e[5]!==p?(n=[a,p,E],e[4]=a,e[5]=p,e[6]=n):n=e[6],n}export{x as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as a}from"./AlertCircle-
|
|
1
|
+
import{i as a}from"./AlertCircle-BJLsdJJB.js";import{i as c}from"./CheckCircle-CZfdFD75.js";import{i as u}from"./DotsVertical-Ds_DhNTo.js";import{aZ as m}from"./agent-icon-BhfneAwy.js";import{k as b,c as d,r as f}from"./index-C-W5dASy.js";import{a as p}from"./XCircle-Cn5WdVId.js";const g={requires_action:{label:"Needs review",verb:"Waiting for your review",icon:a,iconClassName:"text-warning",labelColor:"text-warning"},failed:{label:"Failed",verb:"Something went wrong",icon:p,iconClassName:"text-destructive",labelColor:"text-destructive"},expired:{label:"Timed out",verb:"Stopped responding",icon:m,iconClassName:"text-warning",labelColor:"text-warning"},in_progress:{label:"Running",verb:"Agent is working",icon:b,iconClassName:"text-primary",labelColor:"text-primary"},completed:{label:"Done",verb:"Completed",icon:c,iconClassName:"text-muted-foreground/50",labelColor:"text-muted-foreground"}},v={label:"Unknown",verb:"Unknown status",icon:u,iconClassName:"text-muted-foreground",labelColor:"text-muted-foreground"};function y(r){return g[r??"completed"]??v}const i=new Map;function s(r){let t=i.get(r);return t||(t={tick:0,subscribers:new Set,intervalId:null},i.set(r,t)),t}function x(r,t){const e=s(r);return e.subscribers.add(t),e.intervalId===null&&(e.intervalId=setInterval(()=>{e.tick+=1;for(const o of e.subscribers)o()},r)),()=>{e.subscribers.delete(t),e.subscribers.size===0&&e.intervalId!==null&&(clearInterval(e.intervalId),e.intervalId=null)}}function T(r){const t=d.c(3),e=r===void 0?6e4:r;let o,n;return t[0]!==e?(o=l=>x(e,l),n=()=>s(e).tick,t[0]=e,t[1]=o,t[2]=n):(o=t[1],n=t[2]),f.useSyncExternalStore(o,n,C)}function C(){return 0}export{g as S,y as g,T as u};
|