decocms 4.100.0 → 4.100.2
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-Bxley7ls.js → AlertCircle-BUv0o0Gl.js} +1 -1
- package/dist/client/assets/{AreaChart-CG7AioGL.js → AreaChart-DB5xSdQV.js} +1 -1
- package/dist/client/assets/{ArrowRight-DAV431J7.js → ArrowRight-CygvGeg1.js} +1 -1
- package/dist/client/assets/{ArrowUp-DTvkt0ak.js → ArrowUp-C8Sj-6cW.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-S9c4hAoU.js → ArrowUpRight-DplBjw5o.js} +1 -1
- package/dist/client/assets/{Check-BEridtmz.js → Check-CZ62cQFv.js} +1 -1
- package/dist/client/assets/{CheckCircle-BlO_RSix.js → CheckCircle-Bz3mm2-x.js} +1 -1
- package/dist/client/assets/{ChevronDown-BiEc62bh.js → ChevronDown-J_OOB83i.js} +1 -1
- package/dist/client/assets/{ChevronRight-DQaJlJVb.js → ChevronRight-B_nfqq4b.js} +1 -1
- package/dist/client/assets/{ChevronUp-k6Oc5DVd.js → ChevronUp-DlNTHmG8.js} +1 -1
- package/dist/client/assets/{Copy01-C7hMCclq.js → Copy01-L90lYXit.js} +1 -1
- package/dist/client/assets/{DotsVertical-BMhkpK12.js → DotsVertical-lwqN942J.js} +1 -1
- package/dist/client/assets/{Eye-dVsVJhNZ.js → Eye-DJNMsuKP.js} +1 -1
- package/dist/client/assets/{FilterLines-D3B5tJlR.js → FilterLines-Ctf5R5fC.js} +1 -1
- package/dist/client/assets/{Globe01-DEDrpW1E.js → Globe01-BCBfPYAn.js} +1 -1
- package/dist/client/assets/{Globe04-BZBYUjok.js → Globe04-BHKVK6xV.js} +1 -1
- package/dist/client/assets/{HardDrive-ByaWw6uO.js → HardDrive-C2mVZcno.js} +1 -1
- package/dist/client/assets/{Image01-BV3Txwbg.js → Image01-BxzecnbA.js} +1 -1
- package/dist/client/assets/{Key01-DLsfTRDD.js → Key01-BBEWTXqy.js} +1 -1
- package/dist/client/assets/{LayoutLeft-BzVqeY55.js → LayoutLeft-hvI17iuw.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Ci-otr_n.js → LinkExternal01-BrSEUYxH.js} +1 -1
- package/dist/client/assets/{Monitor01-Ycx6Vrvt.js → Monitor01-CqpD_NrV.js} +1 -1
- package/dist/client/assets/{Package-Cnz6Un5X.js → Package-BB-dQTzG.js} +1 -1
- package/dist/client/assets/{Palette-BFS141XQ.js → Palette-D7uqEd1w.js} +1 -1
- package/dist/client/assets/{Play-CAB1ZCRF.js → Play-tGBeI8QZ.js} +1 -1
- package/dist/client/assets/{Plus-BQ9qrH8f.js → Plus-BR1TF8zT.js} +1 -1
- package/dist/client/assets/{SearchLg-W-Jcoj3E.js → SearchLg-DExNbDxF.js} +1 -1
- package/dist/client/assets/{SearchMd-CahiLwU-.js → SearchMd-C7ohVhrC.js} +1 -1
- package/dist/client/assets/{Settings02-B5wstt4p.js → Settings02-DwsPb2Fk.js} +1 -1
- package/dist/client/assets/{Shield01-DHTgRfQy.js → Shield01-BPZW3dum.js} +1 -1
- package/dist/client/assets/{Star01-C1FexH2L.js → Star01-BcHCCMO8.js} +1 -1
- package/dist/client/assets/{Stars01-BArh5_CK.js → Stars01-x8HCapJe.js} +1 -1
- package/dist/client/assets/{Stars02-D-v5MacQ.js → Stars02-Ce9RSIdg.js} +1 -1
- package/dist/client/assets/{Sun-BQx_Tk93.js → Sun-DCWZjgg1.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-C3WuJpK_.js → SwitchHorizontal01-3NFOZxw0.js} +1 -1
- package/dist/client/assets/{Tool01-D-9cvENG.js → Tool01-CX9osEdC.js} +1 -1
- package/dist/client/assets/{Tool02-BrKtvAQQ.js → Tool02-B2QhIM3v.js} +1 -1
- package/dist/client/assets/{Trash01-BOvBVpF6.js → Trash01-UmvRNb8P.js} +1 -1
- package/dist/client/assets/{TrendUp01-B1fIoCbN.js → TrendUp01-BJ_VQNkR.js} +1 -1
- package/dist/client/assets/{Upload01-BQmvLn4t.js → Upload01-CwUtLH3Y.js} +1 -1
- package/dist/client/assets/{User01-DaB2mE1H.js → User01-DhLO_hna.js} +1 -1
- package/dist/client/assets/{Users01-DD9j7wkG.js → Users01-CAOn3O6K.js} +1 -1
- package/dist/client/assets/{Users03-zDzGivHr.js → Users03-CGkLo8Pu.js} +1 -1
- package/dist/client/assets/{X-IbrtE-s4.js → X-Cb5gEaff.js} +1 -1
- package/dist/client/assets/{XCircle-DGigjeyF.js → XCircle-D50xFjzV.js} +1 -1
- package/dist/client/assets/{XClose-DzJNy4PW.js → XClose-F1uf7F8x.js} +1 -1
- package/dist/client/assets/{Zap-DPOyU8qk.js → Zap-CEoRNu9S.js} +1 -1
- package/dist/client/assets/{ZapSquare-DkSNEL2b.js → ZapSquare-C-YklkcW.js} +1 -1
- package/dist/client/assets/{ZoomOut-BITJSwVW.js → ZoomOut-BSX__OjD.js} +1 -1
- package/dist/client/assets/{access-gate-Cld6ZUBt.js → access-gate-akzDN5w1.js} +1 -1
- package/dist/client/assets/{add-section-modal-B-l5JUvv.js → add-section-modal-EOKRXMmH.js} +1 -1
- package/dist/client/assets/{agent-icon-CRZnpjC_.js → agent-icon--8-AE3To.js} +1 -1
- package/dist/client/assets/{agents-list-BbP4zLRg.js → agents-list-CWZbgUsD.js} +1 -1
- package/dist/client/assets/{ai-providers-YnzeVs9d.js → ai-providers-D70JYflQ.js} +1 -1
- package/dist/client/assets/{alert-Ca0O7jw_.js → alert-CgvSLAJD.js} +1 -1
- package/dist/client/assets/{alert-dialog-DI2MtMU3.js → alert-dialog-CotSOgab.js} +1 -1
- package/dist/client/assets/{app-editor-D4s8R4J9.js → app-editor-DQIqwsTg.js} +1 -1
- package/dist/client/assets/{auth-YD50toG1.js → auth-DW91iKuD.js} +1 -1
- package/dist/client/assets/{auth-catchall-DkIXGcxn.js → auth-catchall-BOvnnvmu.js} +1 -1
- package/dist/client/assets/{auth-entry-s8aPui2j.js → auth-entry-inexuCWD.js} +1 -1
- package/dist/client/assets/{auth-split-layout-Cms88cb7.js → auth-split-layout-BPhbQAcL.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-PalN3zyi.js → authenticate-and-persist-oauth-T4BE9_s9.js} +1 -1
- package/dist/client/assets/{automation-list-row-DtK1HcDM.js → automation-list-row-FIyToD1c.js} +1 -1
- package/dist/client/assets/{automation-runs-DkANrTNa.js → automation-runs-DzoysJ0O.js} +1 -1
- package/dist/client/assets/{automations-C7ppEZs_.js → automations-D_R8Uk0h.js} +1 -1
- package/dist/client/assets/{autosend-DYGIxc7a.js → autosend-CDaLoLJr.js} +1 -1
- package/dist/client/assets/{avatar-BXSptr47.js → avatar-BbZ_GFXI.js} +1 -1
- package/dist/client/assets/{badge-o246HDY_.js → badge-CR4m1nCF.js} +1 -1
- package/dist/client/assets/{block-document-08b2HbHS.js → block-document-O1DNHK7m.js} +1 -1
- package/dist/client/assets/{brand-context-BT4_-sV-.js → brand-context-BdqMedT2.js} +1 -1
- package/dist/client/assets/{buckets-oh77T4NQ.js → buckets-DILfb6Ca.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-DBuRNEkj.js → bulk-category-panel-Bc-UEj5M.js} +1 -1
- package/dist/client/assets/{calendar-ByQrFkkN.js → calendar-BUWo0OzZ.js} +1 -1
- package/dist/client/assets/{capability-load-error-DaNlM8PA.js → capability-load-error-DjeQRL2F.js} +1 -1
- package/dist/client/assets/{card-DWI_34Da.js → card-Bcboybeg.js} +1 -1
- package/dist/client/assets/{category-editor-D-rYhoBD.js → category-editor-CM9Pw4-4.js} +1 -1
- package/dist/client/assets/{chat-context-BOwGcE_A.js → chat-context-DCAsWyzi.js} +1 -1
- package/dist/client/assets/{checkbox-tnlQEu_f.js → checkbox-DqqjdX6Z.js} +1 -1
- package/dist/client/assets/{cli-auth-success-B6asT-0_.js → cli-auth-success-Bht3sRUb.js} +1 -1
- package/dist/client/assets/{collection-detail-BxIzrXWp.js → collection-detail-CMRIfo68.js} +1 -1
- package/dist/client/assets/{collection-display-button-Cp8sb1xW.js → collection-display-button-Bbkg9xtD.js} +1 -1
- package/dist/client/assets/{collection-search-DYrDm5KL.js → collection-search-C2TwQuRF.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Ca8kow9h.js → collection-table-wrapper-DEoGtU_1.js} +1 -1
- package/dist/client/assets/{collection-tabs-9jlVmnnd.js → collection-tabs-F8TrtV23.js} +1 -1
- package/dist/client/assets/{command-BNufXRj1.js → command-k3v6Xmex.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-BBINGvd5.js → commerce-onboarding-DQrumZem.js} +1 -1
- package/dist/client/assets/{companions-core-D_7TXcPF.js → companions-core-CyvPNYS0.js} +1 -1
- package/dist/client/assets/{connect-Cw3Zl8h_.js → connect-CuGt7QZR.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-fcQZEjT1.js → connect-desktop-dialog-IyTSDycN.js} +1 -1
- package/dist/client/assets/{connection-card-DlbLvUZt.js → connection-card-CBwM3xvm.js} +1 -1
- package/dist/client/assets/{connection-detail-DoUuTYmW.js → connection-detail-BvCegtQ4.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-BfmEOi9l.js → connection-form-helpers-C45t7I77.js} +1 -1
- package/dist/client/assets/{connections-BxbNq_CC.js → connections-Bb-Y_k01.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-4-i2lGyT.js → decopilot-sse-pool-CMLIsRLl.js} +1 -1
- package/dist/client/assets/{dialog-CNavh_ID.js → dialog-oqiFUhNo.js} +1 -1
- package/dist/client/assets/{domain-settings-CyhWiyM_.js → domain-settings-U95gZQOb.js} +1 -1
- package/dist/client/assets/{drawer-CA8X_E6D.js → drawer-DD6HCP9L.js} +1 -1
- package/dist/client/assets/{dropdown-menu-Dg1DhL8o.js → dropdown-menu-DW-UAJqn.js} +1 -1
- package/dist/client/assets/{empty-state-DXNSLY55.js → empty-state-B594A1OG.js} +1 -1
- package/dist/client/assets/{extract-connection-data-B0MmXUM0.js → extract-connection-data-CfmjyIxp.js} +1 -1
- package/dist/client/assets/{file-explorer-COyU4dcu.js → file-explorer-BF3AyN5c.js} +1 -1
- package/dist/client/assets/{file-type-icon-DXQqJNWv.js → file-type-icon-DQYDXS0g.js} +1 -1
- package/dist/client/assets/{files-C9oWz4mh.js → files-Caeu78Tv.js} +1 -1
- package/dist/client/assets/{form-CsYbTpJv.js → form-DeT4tdop.js} +1 -1
- package/dist/client/assets/{general-CrOgMOvt.js → general-LQPSVgMQ.js} +1 -1
- package/dist/client/assets/{github-repo-picker-BNjYQs95.js → github-repo-picker-CfhBZg9Y.js} +1 -1
- package/dist/client/assets/{hooks-BKmDsGe6.js → hooks-Bitmc3MJ.js} +1 -1
- package/dist/client/assets/{index-DbnsY2vR.js → index-B5L9qVh9.js} +1 -1
- package/dist/client/assets/{index-Cl06_fgY.js → index-B9b2436L.js} +1 -1
- package/dist/client/assets/{index-AtS4xbpU.js → index-BsAvzWI1.js} +1 -1
- package/dist/client/assets/{index-DuvagTzB.js → index-Byqv3aFB.js} +1 -1
- package/dist/client/assets/{index-FJocbDYS.js → index-C2FFzKCN.js} +1 -1
- package/dist/client/assets/{index-CdUxdGTP.js → index-CtIsPS6_.js} +1 -1
- package/dist/client/assets/{index-Ck1aiM-y.js → index-Cy_KZBHC.js} +1 -1
- package/dist/client/assets/{index-CUzWKVSK.js → index-DHgsKfhO.js} +5 -5
- package/dist/client/assets/{index-53-y7TEo.js → index-DbT7xKax.js} +1 -1
- package/dist/client/assets/{index-DADg-eRW.js → index-DjXBfWnE.js} +3 -3
- package/dist/client/assets/{index-BnnkITRc.js → index-Dt8sYlva.js} +1 -1
- package/dist/client/assets/{index-Cr4tpIsH.js → index-DvOLG2Q-.js} +6 -6
- package/dist/client/assets/{index-CDgaQwUf.js → index-HwIDQr-R.js} +1 -1
- package/dist/client/assets/{index-BWokJR0T.js → index-Xl3CYX4z.js} +1 -1
- package/dist/client/assets/{index-redirect-CGK51Jx5.js → index-redirect-C6c9m4Lt.js} +1 -1
- package/dist/client/assets/{input-BfCUUoj3.js → input-BNbx9XDn.js} +1 -1
- package/dist/client/assets/{integration-icon-DsRso_fD.js → integration-icon-FiJGcEdU.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-BjymDfDe.js → invite-member-dialog-rSR82K-S.js} +1 -1
- package/dist/client/assets/{label-CvivNPNS.js → label-BV5MaILX.js} +1 -1
- package/dist/client/assets/{layout-BDY9vkfA.js → layout-C2ZXZZYe.js} +1 -1
- package/dist/client/assets/{login-CNvX8EeU.js → login-qr018zR6.js} +1 -1
- package/dist/client/assets/{mcp-oauth-C4u6EfIt.js → mcp-oauth-BDq4WH8U.js} +1 -1
- package/dist/client/assets/{members-leo0TQhc.js → members-D_RqIP5o.js} +1 -1
- package/dist/client/assets/{monaco-editor-rv9m-l6Q.js → monaco-editor-Pqo6UXBL.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-Dmd5Lrs5.js → monitoring-stats-row-CkiCXa7l.js} +1 -1
- package/dist/client/assets/{multi-select-C6b9VjeT.js → multi-select-gstazskk.js} +1 -1
- package/dist/client/assets/{oauth-callback-CFCL4r2q.js → oauth-callback-EA6OTnJb.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-DuTs4NMP.js → oauth-callback-ai-provider-DzhYj9EW.js} +1 -1
- package/dist/client/assets/{onboarding-BhPvLoJ9.js → onboarding-BuMToTe0.js} +1 -1
- package/dist/client/assets/{org-install-CJnRTbPS.js → org-install-JjwViteW.js} +1 -1
- package/dist/client/assets/{org-layout-DsylsKwD.js → org-layout-9axO2zJE.js} +1 -1
- package/dist/client/assets/{organization-choice-BNxZP8V0.js → organization-choice-iZU5gj3r.js} +1 -1
- package/dist/client/assets/{orgs-BU_9id_H.js → orgs-C2L_7Osm.js} +1 -1
- package/dist/client/assets/{page-seo-form-bY-5HOX-.js → page-seo-form-DMj80ATg.js} +1 -1
- package/dist/client/assets/page-seo-sheet-wGFCimS_.js +1 -0
- package/dist/client/assets/{popover-DD6XdQ52.js → popover-BiW9PUxL.js} +1 -1
- package/dist/client/assets/{post-editor-CUXDISVS.js → post-editor-CN8InVfr.js} +1 -1
- package/dist/client/assets/{primitives-BlJUEz8T.js → primitives-CD95b0XI.js} +1 -1
- package/dist/client/assets/{profile-CRlWmhXk.js → profile-TcxgoTBN.js} +1 -1
- package/dist/client/assets/project-app-view-CRCCwDJX.js +1 -0
- package/dist/client/assets/record-editor-CWkcuv1w.js +1 -0
- package/dist/client/assets/{redirect-editor-BSua_SgZ.js → redirect-editor-CJ49is_m.js} +1 -1
- package/dist/client/assets/registry-DsvmO69P.js +2 -0
- package/dist/client/assets/{registry-layout-B4dYrZo2.js → registry-layout-DkEnlCPL.js} +1 -1
- package/dist/client/assets/{reports-zA5dQ7dx.js → reports-yT7HV3qQ.js} +1 -1
- package/dist/client/assets/{require-capability-Co_c6Mfs.js → require-capability-DUyLQoXx.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Bhcuvipf.js → required-auth-layout-B95yyzjT.js} +1 -1
- package/dist/client/assets/{reset-password-id8V-7ry.js → reset-password-SBNOA9rf.js} +1 -1
- package/dist/client/assets/{roles-C75qZHjS.js → roles-B4xaqpJf.js} +1 -1
- package/dist/client/assets/{search-input-DnHv6Bfo.js → search-input-DSVDuKVN.js} +1 -1
- package/dist/client/assets/{secrets-CPwtnUiZ.js → secrets-CTeYQCle.js} +1 -1
- package/dist/client/assets/{sections-editor-C8Jm9Q-n.js → sections-editor-pW_OOVxF.js} +1 -1
- package/dist/client/assets/{select-B9FacR86.js → select-KdMBITpv.js} +1 -1
- package/dist/client/assets/{select-model-D2ajwSX0.js → select-model-Cp11GE3V.js} +1 -1
- package/dist/client/assets/{self-tool-result-DPWaoMDu.js → self-tool-result-CnfHyXqD.js} +1 -1
- package/dist/client/assets/{seo-editor-C_k4p3V2.js → seo-editor-DTSCC_me.js} +1 -1
- package/dist/client/assets/{settings-layout-D2ZIrKs2.js → settings-layout-BurqlR-N.js} +1 -1
- package/dist/client/assets/{settings-section-CjXYZ8w1.js → settings-section-i4dHadSs.js} +1 -1
- package/dist/client/assets/{shell-controls-CclxlE8y.js → shell-controls-BRSCgaB_.js} +1 -1
- package/dist/client/assets/{shell-layout-V837oMz7.js → shell-layout-ChsdDbyU.js} +1 -1
- package/dist/client/assets/{sidebar-mcPsCK2S.js → sidebar-SV1i5Ee-.js} +1 -1
- package/dist/client/assets/{skeleton-ebOBBWFF.js → skeleton-d2OwoGsS.js} +1 -1
- package/dist/client/assets/{sso-C9CQGl6s.js → sso-gzLKiwRt.js} +1 -1
- package/dist/client/assets/{store-B_IkQGAp.js → store-BVdAdkW4.js} +1 -1
- package/dist/client/assets/store-registry-BjdMEVH_.js +2 -0
- package/dist/client/assets/{studio-tools-B3zb177t.js → studio-tools-CIlcbL_D.js} +1 -1
- package/dist/client/assets/{switch-CEilJb4P.js → switch-7ltlr7kY.js} +1 -1
- package/dist/client/assets/{table-AQETJoTB.js → table-XONvjTp0.js} +1 -1
- package/dist/client/assets/{tabs-B59ohLMF.js → tabs-Bj_xBrqm.js} +1 -1
- package/dist/client/assets/{textarea-DhDhVZOx.js → textarea-kRKjpadh.js} +1 -1
- package/dist/client/assets/{toggle-group-Dibq18vH.js → toggle-group-xQdS3in8.js} +1 -1
- package/dist/client/assets/{toolbar-cLCnXkwg.js → toolbar-DflHjpO1.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-C6CoUfsA.js → toolbar-icon-button-CMPDiYbN.js} +1 -1
- package/dist/client/assets/{tooltip-DaDwTvit.js → tooltip-C7NFNgEp.js} +1 -1
- package/dist/client/assets/{use-ai-providers-DftIlfJA.js → use-ai-providers-Bu1o9kbv.js} +1 -1
- package/dist/client/assets/{use-api-keys-Bfugbdhy.js → use-api-keys-CZJ2l6zR.js} +1 -1
- package/dist/client/assets/{use-automations-Dnz0ITTt.js → use-automations-hKIHS6WU.js} +1 -1
- package/dist/client/assets/{use-autosave-C0R8vu-_.js → use-autosave-KuoyHxn4.js} +1 -1
- package/dist/client/assets/{use-capability-xZkJNCZw.js → use-capability-DgSVXGNP.js} +1 -1
- package/dist/client/assets/{use-clock-tick-498bAXAc.js → use-clock-tick-D1HzVDoK.js} +1 -1
- package/dist/client/assets/{use-connection-Ck7XKbTz.js → use-connection-CB7m2Q7K.js} +1 -1
- package/dist/client/assets/{use-copy-C-NZefvp.js → use-copy-JQgS3yLP.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Br9-7uWS.js → use-create-virtual-mcp-CUdQ92mQ.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DpWYdaaW.js → use-debounced-autosave-BPgYnCOe.js} +1 -1
- package/dist/client/assets/{use-debounced-value-CDNo9vhp.js → use-debounced-value-Bdlv-9sR.js} +1 -1
- package/dist/client/assets/{use-deco-credits-B3_IFRIh.js → use-deco-credits-Cpe6vg4d.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-R8S3hvIZ.js → use-decopilot-events-mofcO2d7.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BSE6Zc9i.js → use-delete-connection-BQh3_hvP.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-BuAR8E8u.js → use-deployment-admin-vR7QWW0P.js} +1 -1
- package/dist/client/assets/{use-file-configs-BkoDNGv5.js → use-file-configs-CTN4PHXE.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-C57C3Rug.js → use-infinite-scroll-sHjnEZhB.js} +1 -1
- package/dist/client/assets/{use-join-requests-DSG2Qlpu.js → use-join-requests-BIOnRxcr.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-DI30xGcv.js → use-mcp-auth-status-8aWFtaM3.js} +1 -1
- package/dist/client/assets/{use-mcp-client-CS59ukvJ.js → use-mcp-client-V7uuD-C6.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-Ba7F3Muw.js → use-mcp-tools-D4s70ig2.js} +1 -1
- package/dist/client/assets/{use-members-8f2PJCa2.js → use-members-DOZv0ZwI.js} +1 -1
- package/dist/client/assets/{use-mobile-kLSLCFd9.js → use-mobile-BzpJrEnt.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-rJKVv9BI.js → use-navigate-to-agent-DyHWVg7e.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-uScl5586.js → use-org-auth-client-w-8wO7Jo.js} +1 -1
- package/dist/client/assets/{use-org-sso-KqI62VaZ.js → use-org-sso-BjMyvCVT.js} +1 -1
- package/dist/client/assets/{use-organization-roles-Cr5yOB5X.js → use-organization-roles-BgdjwKs1.js} +1 -1
- package/dist/client/assets/{use-organization-settings-C_KMCSYR.js → use-organization-settings-ClYgOqLp.js} +1 -1
- package/dist/client/assets/{use-registry-app-DdlLxJuN.js → use-registry-app-BmX_eMaI.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Dg0VJp8r.js → use-registry-connections-p6I882sI.js} +1 -1
- package/dist/client/assets/{use-secrets-CadxpfIf.js → use-secrets-CsceQoOj.js} +1 -1
- package/dist/client/assets/{use-status-sounds-5uFKlMGE.js → use-status-sounds-BVuc0AQQ.js} +1 -1
- package/dist/client/assets/{use-view-mode-D2LMsVS7.js → use-view-mode-DsdxgZhZ.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-BIYNPtPn.js → use-virtual-mcp-3p9JvaRB.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Cm67ZnT6.js +1 -0
- package/dist/client/assets/{useRouterState-Dkp5UAsH.js → useRouterState-ac6WChHX.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CZyss4Vs.js +1 -0
- package/dist/client/assets/{users-BR6LLTQ9.js → users-BMmT5YlZ.js} +1 -1
- package/dist/client/assets/{variant-calendar-BbXvOPUV.js → variant-calendar-F7mbHPJe.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-BhbvvGWW.js → view-mode-toggle-Bgv4Uuz6.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +61 -4
- package/dist/server/server.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/page-seo-sheet-CtoQT7T1.js +0 -1
- package/dist/client/assets/project-app-view-CVYrASLN.js +0 -1
- package/dist/client/assets/record-editor-CbMUuIxA.js +0 -1
- package/dist/client/assets/registry-DZsuvmOB.js +0 -2
- package/dist/client/assets/store-registry-BTPiCZGg.js +0 -2
- package/dist/client/assets/useInfiniteQuery-Cf_0YKpQ.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BZClNvPb.js +0 -1
package/dist/server/server.js
CHANGED
|
@@ -2736,7 +2736,7 @@ NKEYs are sensitive and should be treated as secrets.
|
|
|
2736
2736
|
-----BEGIN USER NKEY SEED-----
|
|
2737
2737
|
${G}
|
|
2738
2738
|
------END USER NKEY SEED------
|
|
2739
|
-
`;return new TextEncoder().encode(X)}var w81,PC,y64,_C$,U81="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",h64,u$,c$,Z6,CC$=24,AC,CJ;var hC$=O(()=>{(function($){$.Operator="operator",$.Account="account",$.User="user",$.Activation="activation",$.AuthorizationResponse="authorization_response"})(w81||(w81={}));(function($){var Z=function(h,m){this.hi=h|0,this.lo=m|0},G=function(h){var m,c=new Float64Array(16);if(h)for(m=0;m<h.length;m++)c[m]=h[m];return c},X=function(){throw Error("no PRNG")},Y=new Uint8Array(16),Q=new Uint8Array(32);Q[0]=9;var J=G(),W=G([1]),K=G([56129,1]),U=G([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),w=G([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),F=G([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),H=G([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),N=G([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function B(h,m){return h<<m|h>>>32-m}function D(h,m){var c=h[m+3]&255;return c=c<<8|h[m+2]&255,c=c<<8|h[m+1]&255,c<<8|h[m+0]&255}function E(h,m){var c=h[m]<<24|h[m+1]<<16|h[m+2]<<8|h[m+3],o=h[m+4]<<24|h[m+5]<<16|h[m+6]<<8|h[m+7];return new Z(c,o)}function L(h,m,c){var o;for(o=0;o<4;o++)h[m+o]=c&255,c>>>=8}function z(h,m,c){h[m]=c.hi>>24&255,h[m+1]=c.hi>>16&255,h[m+2]=c.hi>>8&255,h[m+3]=c.hi&255,h[m+4]=c.lo>>24&255,h[m+5]=c.lo>>16&255,h[m+6]=c.lo>>8&255,h[m+7]=c.lo&255}function j(h,m,c,o,Y0){var W0,f0=0;for(W0=0;W0<Y0;W0++)f0|=h[m+W0]^c[o+W0];return(1&f0-1>>>8)-1}function P(h,m,c,o){return j(h,m,c,o,16)}function A(h,m,c,o){return j(h,m,c,o,32)}function q(h,m,c,o,Y0){var W0=new Uint32Array(16),f0=new Uint32Array(16),m0=new Uint32Array(16),P0=new Uint32Array(4),S0,j0,y0;for(S0=0;S0<4;S0++)f0[5*S0]=D(o,4*S0),f0[1+S0]=D(c,4*S0),f0[6+S0]=D(m,4*S0),f0[11+S0]=D(c,16+4*S0);for(S0=0;S0<16;S0++)m0[S0]=f0[S0];for(S0=0;S0<20;S0++){for(j0=0;j0<4;j0++){for(y0=0;y0<4;y0++)P0[y0]=f0[(5*j0+4*y0)%16];P0[1]^=B(P0[0]+P0[3]|0,7),P0[2]^=B(P0[1]+P0[0]|0,9),P0[3]^=B(P0[2]+P0[1]|0,13),P0[0]^=B(P0[3]+P0[2]|0,18);for(y0=0;y0<4;y0++)W0[4*j0+(j0+y0)%4]=P0[y0]}for(y0=0;y0<16;y0++)f0[y0]=W0[y0]}if(Y0){for(S0=0;S0<16;S0++)f0[S0]=f0[S0]+m0[S0]|0;for(S0=0;S0<4;S0++)f0[5*S0]=f0[5*S0]-D(o,4*S0)|0,f0[6+S0]=f0[6+S0]-D(m,4*S0)|0;for(S0=0;S0<4;S0++)L(h,4*S0,f0[5*S0]),L(h,16+4*S0,f0[6+S0])}else for(S0=0;S0<16;S0++)L(h,4*S0,f0[S0]+m0[S0]|0)}function S(h,m,c,o){return q(h,m,c,o,!1),0}function M(h,m,c,o){return q(h,m,c,o,!0),0}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function l(h,m,c,o,Y0,W0,f0){var m0=new Uint8Array(16),P0=new Uint8Array(64),S0,j0;if(!Y0)return 0;for(j0=0;j0<16;j0++)m0[j0]=0;for(j0=0;j0<8;j0++)m0[j0]=W0[j0];while(Y0>=64){S(P0,m0,f0,C);for(j0=0;j0<64;j0++)h[m+j0]=(c?c[o+j0]:0)^P0[j0];S0=1;for(j0=8;j0<16;j0++)S0=S0+(m0[j0]&255)|0,m0[j0]=S0&255,S0>>>=8;if(Y0-=64,m+=64,c)o+=64}if(Y0>0){S(P0,m0,f0,C);for(j0=0;j0<Y0;j0++)h[m+j0]=(c?c[o+j0]:0)^P0[j0]}return 0}function b(h,m,c,o,Y0){return l(h,m,null,0,c,o,Y0)}function v(h,m,c,o,Y0){var W0=new Uint8Array(32);return M(W0,o,Y0,C),b(h,m,c,o.subarray(16),W0)}function $0(h,m,c,o,Y0,W0,f0){var m0=new Uint8Array(32);return M(m0,W0,f0,C),l(h,m,c,o,Y0,W0.subarray(16),m0)}function n(h,m){var c,o=0;for(c=0;c<17;c++)o=o+(h[c]+m[c]|0)|0,h[c]=o&255,o>>>=8}var F0=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function D0(h,m,c,o,Y0,W0){var f0,m0,P0,S0,j0=new Uint32Array(17),y0=new Uint32Array(17),o0=new Uint32Array(17),Z1=new Uint32Array(17),U1=new Uint32Array(17);for(P0=0;P0<17;P0++)y0[P0]=o0[P0]=0;for(P0=0;P0<16;P0++)y0[P0]=W0[P0];y0[3]&=15,y0[4]&=252,y0[7]&=15,y0[8]&=252,y0[11]&=15,y0[12]&=252,y0[15]&=15;while(Y0>0){for(P0=0;P0<17;P0++)Z1[P0]=0;for(P0=0;P0<16&&P0<Y0;++P0)Z1[P0]=c[o+P0];Z1[P0]=1,o+=P0,Y0-=P0,n(o0,Z1);for(m0=0;m0<17;m0++){j0[m0]=0;for(P0=0;P0<17;P0++)j0[m0]=j0[m0]+o0[P0]*(P0<=m0?y0[m0-P0]:320*y0[m0+17-P0]|0)|0|0}for(m0=0;m0<17;m0++)o0[m0]=j0[m0];S0=0;for(P0=0;P0<16;P0++)S0=S0+o0[P0]|0,o0[P0]=S0&255,S0>>>=8;S0=S0+o0[16]|0,o0[16]=S0&3,S0=5*(S0>>>2)|0;for(P0=0;P0<16;P0++)S0=S0+o0[P0]|0,o0[P0]=S0&255,S0>>>=8;S0=S0+o0[16]|0,o0[16]=S0}for(P0=0;P0<17;P0++)U1[P0]=o0[P0];n(o0,F0),f0=-(o0[16]>>>7)|0;for(P0=0;P0<17;P0++)o0[P0]^=f0&(U1[P0]^o0[P0]);for(P0=0;P0<16;P0++)Z1[P0]=W0[P0+16];Z1[16]=0,n(o0,Z1);for(P0=0;P0<16;P0++)h[m+P0]=o0[P0];return 0}function J0(h,m,c,o,Y0,W0){var f0=new Uint8Array(16);return D0(f0,0,c,o,Y0,W0),P(h,m,f0,0)}function G0(h,m,c,o,Y0){var W0;if(c<32)return-1;$0(h,0,m,0,c,o,Y0),D0(h,16,h,32,c-32,h);for(W0=0;W0<16;W0++)h[W0]=0;return 0}function a(h,m,c,o,Y0){var W0,f0=new Uint8Array(32);if(c<32)return-1;if(v(f0,0,32,o,Y0),J0(m,16,m,32,c-32,f0)!==0)return-1;$0(h,0,m,0,c,o,Y0);for(W0=0;W0<32;W0++)h[W0]=0;return 0}function A0(h,m){var c;for(c=0;c<16;c++)h[c]=m[c]|0}function U0(h){var m,c;for(c=0;c<16;c++)h[c]+=65536,m=Math.floor(h[c]/65536),h[(c+1)*(c<15?1:0)]+=m-1+37*(m-1)*(c===15?1:0),h[c]-=m*65536}function v0(h,m,c){var o,Y0=~(c-1);for(var W0=0;W0<16;W0++)o=Y0&(h[W0]^m[W0]),h[W0]^=o,m[W0]^=o}function d0(h,m){var c,o,Y0,W0=G(),f0=G();for(c=0;c<16;c++)f0[c]=m[c];U0(f0),U0(f0),U0(f0);for(o=0;o<2;o++){W0[0]=f0[0]-65517;for(c=1;c<15;c++)W0[c]=f0[c]-65535-(W0[c-1]>>16&1),W0[c-1]&=65535;W0[15]=f0[15]-32767-(W0[14]>>16&1),Y0=W0[15]>>16&1,W0[14]&=65535,v0(f0,W0,1-Y0)}for(c=0;c<16;c++)h[2*c]=f0[c]&255,h[2*c+1]=f0[c]>>8}function i0(h,m){var c=new Uint8Array(32),o=new Uint8Array(32);return d0(c,h),d0(o,m),A(c,0,o,0)}function n0(h){var m=new Uint8Array(32);return d0(m,h),m[0]&1}function w0(h,m){var c;for(c=0;c<16;c++)h[c]=m[2*c]+(m[2*c+1]<<8);h[15]&=32767}function C0(h,m,c){var o;for(o=0;o<16;o++)h[o]=m[o]+c[o]|0}function T0(h,m,c){var o;for(o=0;o<16;o++)h[o]=m[o]-c[o]|0}function B0(h,m,c){var o,Y0,W0=new Float64Array(31);for(o=0;o<31;o++)W0[o]=0;for(o=0;o<16;o++)for(Y0=0;Y0<16;Y0++)W0[o+Y0]+=m[o]*c[Y0];for(o=0;o<15;o++)W0[o]+=38*W0[o+16];for(o=0;o<16;o++)h[o]=W0[o];U0(h),U0(h)}function Q0(h,m){B0(h,m,m)}function X0(h,m){var c=G(),o;for(o=0;o<16;o++)c[o]=m[o];for(o=253;o>=0;o--)if(Q0(c,c),o!==2&&o!==4)B0(c,c,m);for(o=0;o<16;o++)h[o]=c[o]}function V0(h,m){var c=G(),o;for(o=0;o<16;o++)c[o]=m[o];for(o=250;o>=0;o--)if(Q0(c,c),o!==1)B0(c,c,m);for(o=0;o<16;o++)h[o]=c[o]}function p(h,m,c){var o=new Uint8Array(32),Y0=new Float64Array(80),W0,f0,m0=G(),P0=G(),S0=G(),j0=G(),y0=G(),o0=G();for(f0=0;f0<31;f0++)o[f0]=m[f0];o[31]=m[31]&127|64,o[0]&=248,w0(Y0,c);for(f0=0;f0<16;f0++)P0[f0]=Y0[f0],j0[f0]=m0[f0]=S0[f0]=0;m0[0]=j0[0]=1;for(f0=254;f0>=0;--f0)W0=o[f0>>>3]>>>(f0&7)&1,v0(m0,P0,W0),v0(S0,j0,W0),C0(y0,m0,S0),T0(m0,m0,S0),C0(S0,P0,j0),T0(P0,P0,j0),Q0(j0,y0),Q0(o0,m0),B0(m0,S0,m0),B0(S0,P0,y0),C0(y0,m0,S0),T0(m0,m0,S0),Q0(P0,m0),T0(S0,j0,o0),B0(m0,S0,K),C0(m0,m0,j0),B0(S0,S0,m0),B0(m0,j0,o0),B0(j0,P0,Y0),Q0(P0,y0),v0(m0,P0,W0),v0(S0,j0,W0);for(f0=0;f0<16;f0++)Y0[f0+16]=m0[f0],Y0[f0+32]=S0[f0],Y0[f0+48]=P0[f0],Y0[f0+64]=j0[f0];var Z1=Y0.subarray(32),U1=Y0.subarray(16);return X0(Z1,Z1),B0(U1,U1,Z1),d0(h,U1),0}function e(h,m){return p(h,m,Q)}function t0(h,m){return X(m,32),e(h,m)}function R0(h,m,c){var o=new Uint8Array(32);return p(o,c,m),M(h,Y,o,C)}var q0=G0,g=a;function N0(h,m,c,o,Y0,W0){var f0=new Uint8Array(32);return R0(f0,Y0,W0),q0(h,m,c,o,f0)}function b0(h,m,c,o,Y0,W0){var f0=new Uint8Array(32);return R0(f0,Y0,W0),g(h,m,c,o,f0)}function e0(){var h=0,m=0,c=0,o=0,Y0=65535,W0,f0,m0;for(m0=0;m0<arguments.length;m0++)W0=arguments[m0].lo,f0=arguments[m0].hi,h+=W0&Y0,m+=W0>>>16,c+=f0&Y0,o+=f0>>>16;return m+=h>>>16,c+=m>>>16,o+=c>>>16,new Z(c&Y0|o<<16,h&Y0|m<<16)}function c0(h,m){return new Z(h.hi>>>m,h.lo>>>m|h.hi<<32-m)}function T1(){var h=0,m=0,c;for(c=0;c<arguments.length;c++)h^=arguments[c].lo,m^=arguments[c].hi;return new Z(m,h)}function e1(h,m){var c,o,Y0=32-m;if(m<32)c=h.hi>>>m|h.lo<<Y0,o=h.lo>>>m|h.hi<<Y0;else if(m<64)c=h.lo>>>m|h.hi<<Y0,o=h.hi>>>m|h.lo<<Y0;return new Z(c,o)}function L6(h,m,c){var o=h.hi&m.hi^~h.hi&c.hi,Y0=h.lo&m.lo^~h.lo&c.lo;return new Z(o,Y0)}function Q4(h,m,c){var o=h.hi&m.hi^h.hi&c.hi^m.hi&c.hi,Y0=h.lo&m.lo^h.lo&c.lo^m.lo&c.lo;return new Z(o,Y0)}function u5(h){return T1(e1(h,28),e1(h,34),e1(h,39))}function s(h){return T1(e1(h,14),e1(h,18),e1(h,41))}function K1(h){return T1(e1(h,1),e1(h,8),c0(h,7))}function o$(h){return T1(e1(h,19),e1(h,61),c0(h,6))}var a$=[new Z(1116352408,3609767458),new Z(1899447441,602891725),new Z(3049323471,3964484399),new Z(3921009573,2173295548),new Z(961987163,4081628472),new Z(1508970993,3053834265),new Z(2453635748,2937671579),new Z(2870763221,3664609560),new Z(3624381080,2734883394),new Z(310598401,1164996542),new Z(607225278,1323610764),new Z(1426881987,3590304994),new Z(1925078388,4068182383),new Z(2162078206,991336113),new Z(2614888103,633803317),new Z(3248222580,3479774868),new Z(3835390401,2666613458),new Z(4022224774,944711139),new Z(264347078,2341262773),new Z(604807628,2007800933),new Z(770255983,1495990901),new Z(1249150122,1856431235),new Z(1555081692,3175218132),new Z(1996064986,2198950837),new Z(2554220882,3999719339),new Z(2821834349,766784016),new Z(2952996808,2566594879),new Z(3210313671,3203337956),new Z(3336571891,1034457026),new Z(3584528711,2466948901),new Z(113926993,3758326383),new Z(338241895,168717936),new Z(666307205,1188179964),new Z(773529912,1546045734),new Z(1294757372,1522805485),new Z(1396182291,2643833823),new Z(1695183700,2343527390),new Z(1986661051,1014477480),new Z(2177026350,1206759142),new Z(2456956037,344077627),new Z(2730485921,1290863460),new Z(2820302411,3158454273),new Z(3259730800,3505952657),new Z(3345764771,106217008),new Z(3516065817,3606008344),new Z(3600352804,1432725776),new Z(4094571909,1467031594),new Z(275423344,851169720),new Z(430227734,3100823752),new Z(506948616,1363258195),new Z(659060556,3750685593),new Z(883997877,3785050280),new Z(958139571,3318307427),new Z(1322822218,3812723403),new Z(1537002063,2003034995),new Z(1747873779,3602036899),new Z(1955562222,1575990012),new Z(2024104815,1125592928),new Z(2227730452,2716904306),new Z(2361852424,442776044),new Z(2428436474,593698344),new Z(2756734187,3733110249),new Z(3204031479,2999351573),new Z(3329325298,3815920427),new Z(3391569614,3928383900),new Z(3515267271,566280711),new Z(3940187606,3454069534),new Z(4118630271,4000239992),new Z(116418474,1914138554),new Z(174292421,2731055270),new Z(289380356,3203993006),new Z(460393269,320620315),new Z(685471733,587496836),new Z(852142971,1086792851),new Z(1017036298,365543100),new Z(1126000580,2618297676),new Z(1288033470,3409855158),new Z(1501505948,4234509866),new Z(1607167915,987167468),new Z(1816402316,1246189591)];function P9(h,m,c){var o=[],Y0=[],W0=[],f0=[],m0,P0,S0;for(P0=0;P0<8;P0++)o[P0]=W0[P0]=E(h,8*P0);var j0=0;while(c>=128){for(P0=0;P0<16;P0++)f0[P0]=E(m,8*P0+j0);for(P0=0;P0<80;P0++){for(S0=0;S0<8;S0++)Y0[S0]=W0[S0];m0=e0(W0[7],s(W0[4]),L6(W0[4],W0[5],W0[6]),a$[P0],f0[P0%16]),Y0[7]=e0(m0,u5(W0[0]),Q4(W0[0],W0[1],W0[2])),Y0[3]=e0(Y0[3],m0);for(S0=0;S0<8;S0++)W0[(S0+1)%8]=Y0[S0];if(P0%16===15)for(S0=0;S0<16;S0++)f0[S0]=e0(f0[S0],f0[(S0+9)%16],K1(f0[(S0+1)%16]),o$(f0[(S0+14)%16]))}for(P0=0;P0<8;P0++)W0[P0]=e0(W0[P0],o[P0]),o[P0]=W0[P0];j0+=128,c-=128}for(P0=0;P0<8;P0++)z(h,8*P0,o[P0]);return c}var uG=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function M8(h,m,c){var o=new Uint8Array(64),Y0=new Uint8Array(256),W0,f0=c;for(W0=0;W0<64;W0++)o[W0]=uG[W0];P9(o,m,c),c%=128;for(W0=0;W0<256;W0++)Y0[W0]=0;for(W0=0;W0<c;W0++)Y0[W0]=m[f0-c+W0];Y0[c]=128,c=256-128*(c<112?1:0),Y0[c-9]=0,z(Y0,c-8,new Z(f0/536870912|0,f0<<3)),P9(o,Y0,c);for(W0=0;W0<64;W0++)h[W0]=o[W0];return 0}function C6(h,m){var c=G(),o=G(),Y0=G(),W0=G(),f0=G(),m0=G(),P0=G(),S0=G(),j0=G();T0(c,h[1],h[0]),T0(j0,m[1],m[0]),B0(c,c,j0),C0(o,h[0],h[1]),C0(j0,m[0],m[1]),B0(o,o,j0),B0(Y0,h[3],m[3]),B0(Y0,Y0,w),B0(W0,h[2],m[2]),C0(W0,W0,W0),T0(f0,o,c),T0(m0,W0,Y0),C0(P0,W0,Y0),C0(S0,o,c),B0(h[0],f0,m0),B0(h[1],S0,P0),B0(h[2],P0,m0),B0(h[3],f0,S0)}function $5(h,m,c){var o;for(o=0;o<4;o++)v0(h[o],m[o],c)}function R5(h,m){var c=G(),o=G(),Y0=G();X0(Y0,m[2]),B0(c,m[0],Y0),B0(o,m[1],Y0),d0(h,o),h[31]^=n0(c)<<7}function Q9(h,m,c){var o,Y0;A0(h[0],J),A0(h[1],W),A0(h[2],W),A0(h[3],J);for(Y0=255;Y0>=0;--Y0)o=c[Y0/8|0]>>(Y0&7)&1,$5(h,m,o),C6(m,h),C6(h,h),$5(h,m,o)}function A9(h,m){var c=[G(),G(),G(),G()];A0(c[0],F),A0(c[1],H),A0(c[2],W),B0(c[3],F,H),Q9(h,c,m)}function x1(h,m,c){var o=new Uint8Array(64),Y0=[G(),G(),G(),G()],W0;if(!c)X(m,32);M8(o,m,32),o[0]&=248,o[31]&=127,o[31]|=64,A9(Y0,o),R5(h,Y0);for(W0=0;W0<32;W0++)m[W0+32]=h[W0];return 0}var k8=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function S8(h,m){var c,o,Y0,W0;for(o=63;o>=32;--o){c=0;for(Y0=o-32,W0=o-12;Y0<W0;++Y0)m[Y0]+=c-16*m[o]*k8[Y0-(o-32)],c=Math.floor((m[Y0]+128)/256),m[Y0]-=c*256;m[Y0]+=c,m[o]=0}c=0;for(Y0=0;Y0<32;Y0++)m[Y0]+=c-(m[31]>>4)*k8[Y0],c=m[Y0]>>8,m[Y0]&=255;for(Y0=0;Y0<32;Y0++)m[Y0]-=c*k8[Y0];for(o=0;o<32;o++)m[o+1]+=m[o]>>8,h[o]=m[o]&255}function G6(h){var m=new Float64Array(64),c;for(c=0;c<64;c++)m[c]=h[c];for(c=0;c<64;c++)h[c]=0;S8(h,m)}function f$(h,m,c,o){var Y0=new Uint8Array(64),W0=new Uint8Array(64),f0=new Uint8Array(64),m0,P0,S0=new Float64Array(64),j0=[G(),G(),G(),G()];M8(Y0,o,32),Y0[0]&=248,Y0[31]&=127,Y0[31]|=64;var y0=c+64;for(m0=0;m0<c;m0++)h[64+m0]=m[m0];for(m0=0;m0<32;m0++)h[32+m0]=Y0[32+m0];M8(f0,h.subarray(32),c+32),G6(f0),A9(j0,f0),R5(h,j0);for(m0=32;m0<64;m0++)h[m0]=o[m0];M8(W0,h,c+64),G6(W0);for(m0=0;m0<64;m0++)S0[m0]=0;for(m0=0;m0<32;m0++)S0[m0]=f0[m0];for(m0=0;m0<32;m0++)for(P0=0;P0<32;P0++)S0[m0+P0]+=W0[m0]*Y0[P0];return S8(h.subarray(32),S0),y0}function w8(h,m){var c=G(),o=G(),Y0=G(),W0=G(),f0=G(),m0=G(),P0=G();if(A0(h[2],W),w0(h[1],m),Q0(Y0,h[1]),B0(W0,Y0,U),T0(Y0,Y0,h[2]),C0(W0,h[2],W0),Q0(f0,W0),Q0(m0,f0),B0(P0,m0,f0),B0(c,P0,Y0),B0(c,c,W0),V0(c,c),B0(c,c,Y0),B0(c,c,W0),B0(c,c,W0),B0(h[0],c,W0),Q0(o,h[0]),B0(o,o,W0),i0(o,Y0))B0(h[0],h[0],N);if(Q0(o,h[0]),B0(o,o,W0),i0(o,Y0))return-1;if(n0(h[0])===m[31]>>7)T0(h[0],J,h[0]);return B0(h[3],h[0],h[1]),0}function j7(h,m,c,o){var Y0,W0=new Uint8Array(32),f0=new Uint8Array(64),m0=[G(),G(),G(),G()],P0=[G(),G(),G(),G()];if(c<64)return-1;if(w8(P0,o))return-1;for(Y0=0;Y0<c;Y0++)h[Y0]=m[Y0];for(Y0=0;Y0<32;Y0++)h[Y0+32]=o[Y0];if(M8(f0,h,c),G6(f0),Q9(m0,P0,f0),A9(P0,m.subarray(32)),C6(m0,P0),R5(W0,m0),c-=64,A(m,0,W0,0)){for(Y0=0;Y0<c;Y0++)h[Y0]=0;return-1}for(Y0=0;Y0<c;Y0++)h[Y0]=m[Y0+64];return c}var k$=32,n6=24,e6=32,t8=16,Z5=32,V=32,d=32,u=32,I=32,r=n6,x0=e6,l0=t8,W1=64,F1=32,g1=64,f1=32,Y8=64;$.lowlevel={crypto_core_hsalsa20:M,crypto_stream_xor:$0,crypto_stream:v,crypto_stream_salsa20_xor:l,crypto_stream_salsa20:b,crypto_onetimeauth:D0,crypto_onetimeauth_verify:J0,crypto_verify_16:P,crypto_verify_32:A,crypto_secretbox:G0,crypto_secretbox_open:a,crypto_scalarmult:p,crypto_scalarmult_base:e,crypto_box_beforenm:R0,crypto_box_afternm:q0,crypto_box:N0,crypto_box_open:b0,crypto_box_keypair:t0,crypto_hash:M8,crypto_sign:f$,crypto_sign_keypair:x1,crypto_sign_open:j7,crypto_secretbox_KEYBYTES:k$,crypto_secretbox_NONCEBYTES:n6,crypto_secretbox_ZEROBYTES:e6,crypto_secretbox_BOXZEROBYTES:t8,crypto_scalarmult_BYTES:Z5,crypto_scalarmult_SCALARBYTES:V,crypto_box_PUBLICKEYBYTES:d,crypto_box_SECRETKEYBYTES:u,crypto_box_BEFORENMBYTES:I,crypto_box_NONCEBYTES:r,crypto_box_ZEROBYTES:x0,crypto_box_BOXZEROBYTES:l0,crypto_sign_BYTES:W1,crypto_sign_PUBLICKEYBYTES:F1,crypto_sign_SECRETKEYBYTES:g1,crypto_sign_SEEDBYTES:f1,crypto_hash_BYTES:Y8,gf:G,D:U,L:k8,pack25519:d0,unpack25519:w0,M:B0,A:C0,S:Q0,Z:T0,pow2523:V0,add:C6,set25519:A0,modL:S8,scalarmult:Q9,scalarbase:A9};function u1(h,m){if(h.length!==k$)throw Error("bad key size");if(m.length!==n6)throw Error("bad nonce size")}function z$(h,m){if(h.length!==d)throw Error("bad public key size");if(m.length!==u)throw Error("bad secret key size")}function Y$(){for(var h=0;h<arguments.length;h++)if(!(arguments[h]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function v$(h){for(var m=0;m<h.length;m++)h[m]=0}$.randomBytes=function(h){var m=new Uint8Array(h);return X(m,h),m},$.secretbox=function(h,m,c){Y$(h,m,c),u1(c,m);var o=new Uint8Array(e6+h.length),Y0=new Uint8Array(o.length);for(var W0=0;W0<h.length;W0++)o[W0+e6]=h[W0];return G0(Y0,o,o.length,m,c),Y0.subarray(t8)},$.secretbox.open=function(h,m,c){Y$(h,m,c),u1(c,m);var o=new Uint8Array(t8+h.length),Y0=new Uint8Array(o.length);for(var W0=0;W0<h.length;W0++)o[W0+t8]=h[W0];if(o.length<32)return null;if(a(Y0,o,o.length,m,c)!==0)return null;return Y0.subarray(e6)},$.secretbox.keyLength=k$,$.secretbox.nonceLength=n6,$.secretbox.overheadLength=t8,$.scalarMult=function(h,m){if(Y$(h,m),h.length!==V)throw Error("bad n size");if(m.length!==Z5)throw Error("bad p size");var c=new Uint8Array(Z5);return p(c,h,m),c},$.scalarMult.base=function(h){if(Y$(h),h.length!==V)throw Error("bad n size");var m=new Uint8Array(Z5);return e(m,h),m},$.scalarMult.scalarLength=V,$.scalarMult.groupElementLength=Z5,$.box=function(h,m,c,o){var Y0=$.box.before(c,o);return $.secretbox(h,m,Y0)},$.box.before=function(h,m){Y$(h,m),z$(h,m);var c=new Uint8Array(I);return R0(c,h,m),c},$.box.after=$.secretbox,$.box.open=function(h,m,c,o){var Y0=$.box.before(c,o);return $.secretbox.open(h,m,Y0)},$.box.open.after=$.secretbox.open,$.box.keyPair=function(){var h=new Uint8Array(d),m=new Uint8Array(u);return t0(h,m),{publicKey:h,secretKey:m}},$.box.keyPair.fromSecretKey=function(h){if(Y$(h),h.length!==u)throw Error("bad secret key size");var m=new Uint8Array(d);return e(m,h),{publicKey:m,secretKey:new Uint8Array(h)}},$.box.publicKeyLength=d,$.box.secretKeyLength=u,$.box.sharedKeyLength=I,$.box.nonceLength=r,$.box.overheadLength=$.secretbox.overheadLength,$.sign=function(h,m){if(Y$(h,m),m.length!==g1)throw Error("bad secret key size");var c=new Uint8Array(W1+h.length);return f$(c,h,h.length,m),c},$.sign.open=function(h,m){if(Y$(h,m),m.length!==F1)throw Error("bad public key size");var c=new Uint8Array(h.length),o=j7(c,h,h.length,m);if(o<0)return null;var Y0=new Uint8Array(o);for(var W0=0;W0<Y0.length;W0++)Y0[W0]=c[W0];return Y0},$.sign.detached=function(h,m){var c=$.sign(h,m),o=new Uint8Array(W1);for(var Y0=0;Y0<o.length;Y0++)o[Y0]=c[Y0];return o},$.sign.detached.verify=function(h,m,c){if(Y$(h,m,c),m.length!==W1)throw Error("bad signature size");if(c.length!==F1)throw Error("bad public key size");var o=new Uint8Array(W1+h.length),Y0=new Uint8Array(W1+h.length),W0;for(W0=0;W0<W1;W0++)o[W0]=m[W0];for(W0=0;W0<h.length;W0++)o[W0+W1]=h[W0];return j7(Y0,o,o.length,c)>=0},$.sign.keyPair=function(){var h=new Uint8Array(F1),m=new Uint8Array(g1);return x1(h,m),{publicKey:h,secretKey:m}},$.sign.keyPair.fromSecretKey=function(h){if(Y$(h),h.length!==g1)throw Error("bad secret key size");var m=new Uint8Array(F1);for(var c=0;c<m.length;c++)m[c]=h[32+c];return{publicKey:m,secretKey:new Uint8Array(h)}},$.sign.keyPair.fromSeed=function(h){if(Y$(h),h.length!==f1)throw Error("bad seed size");var m=new Uint8Array(F1),c=new Uint8Array(g1);for(var o=0;o<32;o++)c[o]=h[o];return x1(m,c,!0),{publicKey:m,secretKey:c}},$.sign.publicKeyLength=F1,$.sign.secretKeyLength=g1,$.sign.seedLength=f1,$.sign.signatureLength=W1,$.hash=function(h){Y$(h);var m=new Uint8Array(Y8);return M8(m,h,h.length),m},$.hash.hashLength=Y8,$.verify=function(h,m){if(Y$(h,m),h.length===0||m.length===0)return!1;if(h.length!==m.length)return!1;return j(h,0,m,0,h.length)===0?!0:!1},$.setPRNG=function(h){X=h},function(){var h=typeof globalThis<"u"?globalThis.crypto||globalThis.msCrypto:null;if(h&&h.getRandomValues){var m=65536;$.setPRNG(function(c,o){var Y0,W0=new Uint8Array(o);for(Y0=0;Y0<o;Y0+=m)h.getRandomValues(W0.subarray(Y0,Y0+Math.min(o-Y0,m)));for(Y0=0;Y0<o;Y0++)c[Y0]=W0[Y0];v$(W0)})}else if(h=u0("crypto"),h&&h.randomBytes)$.setPRNG(function(c,o){var Y0,W0=h.randomBytes(o);for(Y0=0;Y0<o;Y0++)c[Y0]=W0[Y0];v$(W0)})}()})(typeof fg<"u"&&oZZ?oZZ:globalThis.nacl=globalThis.nacl||{});PC=typeof fg<"u"&&oZZ?oZZ:globalThis.nacl,y64={fromSeed:PC.sign.keyPair.fromSeed,sign:PC.sign.detached,verify:PC.sign.detached.verify,randomBytes:PC.randomBytes,scalarBaseMultiply:PC.scalarMult.base,seal:PC.box,open:PC.box.open};h64=new Uint16Array([0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920]);u$=class u$ extends Error{name;code;chainedError;constructor($,Z){super($);this.name="NKeysError",this.code=$,this.chainedError=Z}};(function($){$.InvalidPrefixByte="nkeys: invalid prefix byte",$.InvalidKey="nkeys: invalid key",$.InvalidPublicKey="nkeys: invalid public key",$.InvalidSeedLen="nkeys: invalid seed length",$.InvalidSeed="nkeys: invalid seed",$.InvalidCurveSeed="nkeys: invalid curve seed",$.InvalidCurveKey="nkeys: not a valid curve key",$.InvalidCurveOperation="nkeys: curve key is not valid for sign/verify",$.InvalidNKeyOperation="keys: only curve key can seal/open",$.InvalidEncoding="nkeys: invalid encoded key",$.InvalidRecipient="nkeys: not a valid recipient public curve key",$.InvalidEncrypted="nkeys: encrypted input is not valid",$.CannotSign="nkeys: cannot sign, no private key available",$.PublicKeyOnly="nkeys: no seed or private key available",$.InvalidChecksum="nkeys: invalid checksum",$.SerializationError="nkeys: serialization error",$.ApiError="nkeys: api error",$.ClearedPair="nkeys: pair is cleared"})(c$||(c$={}));(function($){$[$.Unknown=-1]="Unknown",$[$.Seed=144]="Seed",$[$.Private=120]="Private",$[$.Operator=112]="Operator",$[$.Server=104]="Server",$[$.Cluster=16]="Cluster",$[$.Account=0]="Account",$[$.User=160]="User",$[$.Curve=184]="Curve"})(Z6||(Z6={}));AC=[120,107,118,49];g64(y64);(function($){$.v1="ed25519",$.v2="ed25519-nkey"})(CJ||(CJ={}))});function O81($){try{$?.clear?.()}catch{}}async function cC$({accountJwt:$,accountSigningKey:Z,expiresAt:G,permissions:X,userId:Y,allowedConnectionTypes:Q=["WEBSOCKET"]}){let J=yC$($),W=N81(J.sub),K=B81(new TextEncoder().encode(Z)),U=fC$();try{let w=await vC$(Y,U,W,{pub:{allow:X.publish.allow},sub:{allow:X.subscribe.allow},allowed_connection_types:Q},{algorithm:CJ.v2,exp:Math.floor(G.getTime()/1000),signer:K});return new TextDecoder().decode(gC$(w,U))}finally{O81(U),O81(K),O81(W)}}var uC$=O(()=>{hC$()});function o64($){return/^wss?:\/\//i.test($.trim())?["WEBSOCKET"]:["STANDARD","WEBSOCKET"]}function dC$(){let $=new V1;return $.post("/links/session",async(Z)=>{let X=Z.get("studioContext").auth?.user?.id;if(!X)return Z.json({error:"Unauthorized"},401);let Y=O1();if(!Y.natsTunnelPublicEnabled)return Z.json(D81(),503);if(!Y.natsPublicUrl)return Z.json(D81(),503);if(!Y.natsAccountJwt||!Y.natsAccountSigningKey){if(!Y.localMode)return Z.json(D81(),503)}let Q=VJ(X),J;if(Y.natsAccountJwt&&Y.natsAccountSigningKey){let W=new Date(Date.now()+Y.natsTunnelSessionTtlSeconds*1000);J=await cC$({accountJwt:Y.natsAccountJwt,accountSigningKey:Y.natsAccountSigningKey,expiresAt:W,permissions:kC$(Q),userId:X,allowedConnectionTypes:o64(Y.natsPublicUrl)})}return Z.json(SC$({publicUrl:Y.natsPublicUrl,userId:X,ttlSeconds:Y.natsTunnelSessionTtlSeconds,credentials:J}))}),$}var D81=()=>({error:"link session unavailable"});var lC$=O(()=>{o8();F8();VC$();uC$()});async function e64($,Z){try{return!await $.alive(Z)}catch(G){return console.warn(`[vm-events] alive probe failed for ${Z}; assuming alive: ${G instanceof Error?G.message:String(G)}`),!1}}async function $44($){let{ctx:Z,runner:G,claimName:X,userId:Y,projectRef:Q,sandboxProviderKind:J}=$;try{await G.delete(X)}catch(W){console.warn(`[vm-events] runner.delete failed for ${X}: ${W instanceof Error?W.message:String(W)}`)}try{await new MN(Z.db).delete({userId:Y,projectRef:Q},J)}catch(W){console.warn(`[vm-events] sandbox_runner_state delete failed for ${Y}/${Q}/${J}: ${W instanceof Error?W.message:String(W)}`)}}async function Z44($){let{stream:Z,claimName:G,runner:X,signal:Y}=$;return new Promise((Q)=>{let J=!1,W=!1,K=null,U=(H)=>{if(J)return;J=!0,clearTimeout(w),Y.removeEventListener("abort",F),K?.unsubscribe(),Q(H)},w=setTimeout(()=>{if(W||J)return;Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"claim-never-created",message:"Sandbox claim was never created. The SANDBOX_START call may have failed earlier \u2014 check the start error."})}).catch(()=>{}),U(!1)},a64),F=()=>U(!1);Y.addEventListener("abort",F,{once:!0}),K=sn(X,G,(H)=>{if(J)return;if(H.kind!=="claiming")W=!0;if(Z.writeSSE({event:"phase",data:JSON.stringify(H)}).catch(()=>{}),H.kind==="ready")U(!0);else if(H.kind==="failed")U(!1)})})}async function G44($){let{stream:Z,runner:G,claimName:X,signal:Y}=$,Q=Date.now(),J=null;while(!Y.aborted){let K=null;try{K=await G.proxyDaemonRequest(X,"/_sandbox/events",{method:"GET",headers:new Headers({accept:"text/event-stream"}),body:null,signal:Y})}catch(U){if(Y.aborted)return;if(Date.now()-Q<mC$){await O8(iC$,{signal:Y}).catch(()=>{});continue}let w=U instanceof Error?U.message:String(U);await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE error: ${w}`})}).catch(()=>{});return}if(K.status===404){try{await K.body?.cancel()}catch{}if(Date.now()-Q<mC$){await O8(iC$,{signal:Y}).catch(()=>{});continue}await Z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(!K.ok||!K.body){try{await K.body?.cancel()}catch{}await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE failed (${K.status}).`})}).catch(()=>{});return}J=K;break}if(!J||!J.body)return;let W=J.body.getReader();try{while(!Y.aborted){let{value:K,done:U}=await W.read();if(U)break;if(K)await Z.write(K)}}catch{}finally{try{W.releaseLock()}catch{}}}var a64=90000,s64=15000,nC$=()=>{let $=new V1;return $.get("/",async(Z)=>{let G=Z.var.studioContext;try{M0(G)}catch{return Z.json({error:"Unauthorized"},401)}let X=y1(G);if(!X)return Z.json({error:"Unauthorized"},401);let Y;try{Y=O0(G)}catch{return Z.json({error:"Organization scope required"},403)}let Q=Z.req.query("virtualMcpId"),J=Z.req.query("branch");if(!Q||!J)return Z.json({error:"virtualMcpId and branch are required"},400);let W=await G.storage.virtualMcps.findById(Q);if(!W||W.organization_id!==Y.id)return Z.json({error:"Virtual MCP not found"},404);let K=Gw({orgId:Y.id,virtualMcpId:Q,branch:J}),U=Gg({userId:X,projectRef:K},J),w=W.metadata??null,F,H=null,N=null;try{let E=await _Y(G,{userId:X,branch:J,virtualMcpMetadata:w});F=E.provider,H=E.kind}catch(E){N=E instanceof Error?E:Error(String(E)),F=null}let B=H&&lW(w5(w),X,J,H),D=!!B&&B.sandboxHandle===U;if(!F)return rQ(Z,async(E)=>{await E.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:N?.message??"No sandbox runner configured on this studio instance."})})});return Z.header("X-Accel-Buffering","no"),Z.header("Content-Encoding","identity"),rQ(Z,async(E)=>{let L=new AbortController,z=setInterval(()=>{E.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(z)})},s64);E.onAbort(()=>{L.abort(),clearInterval(z)});try{if(D&&H){if(await e64(F,U)){await $44({ctx:G,runner:F,claimName:U,userId:X,projectRef:K,sandboxProviderKind:H}),await E.writeSSE({event:"gone",data:""}).catch(()=>{});return}}if(!await Z44({stream:E,claimName:U,runner:F,signal:L.signal})||L.signal.aborted)return;await G44({stream:E,runner:F,claimName:U,signal:L.signal})}finally{clearInterval(z)}})}),$},mC$=60000,iC$=500;var pC$=O(()=>{o8();zC();MY();d5();uE0();en();AV();ZZ0();RX()});function Y44($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}async function Q44($,Z){let G=await fetch(`${$}/rest/v1/apps?select=name,title,description,logo,category,vendors(alias,url)`,{headers:{apikey:Z,Authorization:`Bearer ${Z}`,Accept:"application/json"},signal:AbortSignal.timeout(X44)});if(!G.ok){let X=await G.text().catch(()=>G.statusText);throw console.error(`[deco-apps] Supabase error (${G.status}): ${X.slice(0,200)}`),Error(`External service error (${G.status})`)}return await G.json()}var X44=1e4,J44=async($,Z)=>{if(!$.get("studioContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},tC$=()=>{let $=new V1;return $.use("*",J44),$.get("/",async(Z)=>{let G=O1(),X=G.decoSupabaseUrl,Y=G.decoSupabaseServiceKey;if(!X||!Y)return Z.json({apps:[]});try{let Q=await Q44(X,Y);return Z.json({apps:Y44(Q)})}catch(Q){return console.error("[deco-apps] GET error:",Q),Z.json({error:"Failed to fetch apps"},502)}}),$};var rC$=O(()=>{o8();F8()});import{z as h1}from"zod";function zK($,Z="invalid_request_error",G=null,X=null){return{error:{message:$,type:Z,param:G,code:X}}}function D44($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let G=$.substring(0,Z),X=$.substring(Z+1);if(!G||!X)return null;return{credentialId:G,modelId:X}}function E44($,Z,G){try{return JSON.parse($)}catch{throw new sC$(`Invalid JSON in tool call arguments for function '${G}' (tool_call_id: ${Z}): ${$}`)}}function L44($){let Z={};for(let G of $)if(G.role==="assistant"&&G.tool_calls)for(let X of G.tool_calls)Z[X.id]=X.function.name;return $.map((G)=>{switch(G.role){case"system":return{role:"system",content:G.content};case"user":if(typeof G.content==="string")return{role:"user",content:G.content};return{role:"user",content:G.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:Y.text};return{type:"image",image:Y.image_url.url}})};case"assistant":if(G.tool_calls&&G.tool_calls.length>0)return{role:"assistant",content:G.tool_calls.map((Y)=>({type:"tool-call",toolCallId:Y.id,toolName:Y.function.name,input:E44(Y.function.arguments,Y.id,Y.function.name)}))};return{role:"assistant",content:G.content??""};case"tool":let X=Z[G.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:G.tool_call_id,toolName:X,output:{type:"text",value:G.content}}]}}})}function z44($){let Z=$.map((G)=>{let X=G.function.parameters?OY(G.function.parameters):OY({type:"object",properties:{}});return[G.function.name,b$({description:G.function.description,inputSchema:X})]});return Object.fromEntries(Z)}function j44($){if(!$)return;return{openai:{response_format:$}}}function P44(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function oC$($,Z,G,X,Y,Q){let J={model:$,messages:Z,tools:G,temperature:X.temperature,maxTokens:X.max_tokens,topP:X.top_p,frequencyPenalty:X.frequency_penalty,presencePenalty:X.presence_penalty,stopSequences:X.stop?Array.isArray(X.stop)?X.stop:[X.stop]:void 0,abortSignal:Q};return Y?{...J,providerOptions:Y}:J}function aC$($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var W44=256,K44,U44,w44,F44,H44,N44,B44,O44,sC$,eC$,$_$;var Z_$=O(()=>{E6();o8();zC();K44=h1.object({type:h1.literal("function"),function:h1.object({name:h1.string(),description:h1.string().optional(),parameters:h1.record(h1.string(),h1.unknown()).optional()})}),U44=h1.object({id:h1.string(),type:h1.literal("function"),function:h1.object({name:h1.string(),arguments:h1.string()})}),w44=h1.discriminatedUnion("role",[h1.object({role:h1.literal("system"),content:h1.string(),name:h1.string().optional()}),h1.object({role:h1.literal("user"),content:h1.union([h1.string(),h1.array(h1.union([h1.object({type:h1.literal("text"),text:h1.string()}),h1.object({type:h1.literal("image_url"),image_url:h1.object({url:h1.string(),detail:h1.string().optional()})})]))]),name:h1.string().optional()}),h1.object({role:h1.literal("assistant"),content:h1.string().nullable().optional(),name:h1.string().optional(),tool_calls:h1.array(U44).optional()}),h1.object({role:h1.literal("tool"),content:h1.string(),tool_call_id:h1.string()})]),F44=h1.object({type:h1.literal("text")}),H44=h1.object({type:h1.literal("json_object")}),N44=h1.object({type:h1.literal("json_schema"),json_schema:h1.object({name:h1.string(),description:h1.string().optional(),schema:h1.record(h1.string(),h1.unknown()),strict:h1.boolean().optional()})}),B44=h1.union([F44,H44,N44]),O44=h1.object({model:h1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:h1.array(w44),stream:h1.boolean().optional().default(!1),temperature:h1.number().min(0).max(2).optional(),max_tokens:h1.number().positive().optional(),top_p:h1.number().min(0).max(1).optional(),frequency_penalty:h1.number().min(-2).max(2).optional(),presence_penalty:h1.number().min(-2).max(2).optional(),stop:h1.union([h1.string(),h1.array(h1.string())]).optional(),tools:h1.array(K44).optional(),tool_choice:h1.union([h1.literal("auto"),h1.literal("none"),h1.literal("required"),h1.object({type:h1.literal("function"),function:h1.object({name:h1.string()})})]).optional(),response_format:B44.optional(),user:h1.string().optional()});sC$=class sC$ extends Error{constructor($){super($);this.name="MessageConversionError"}};eC$=new V1;eC$.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),G=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(zK("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(zK("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==G)return $.json(zK("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let X=await $.req.json(),Y=O44.safeParse(X);if(!Y.success){let E=Y.error.issues[0]??{message:"Invalid request",path:[]};return $.json(zK(`Invalid request: ${E.message}`,"invalid_request_error",E.path.length>0?E.path.join("."):null),400)}let Q=Y.data,J=D44(Q.model);if(!J)return $.json(zK("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=J,{modelId:K}=J;if(!W){let E=await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id});if(E.length===0)return $.json(zK("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=E[0].id}let U;try{U=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(zK(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let w=U.aiSdk.languageModel(K),F=L44(Q.messages),H=Q.tools?z44(Q.tools):void 0,N=j44(Q.response_format),B=P44(),D=Math.floor(Date.now()/1000);if(Q.stream)return rQ($,async(E)=>{let L=oC$(w,F,H,Q,N,$.req.raw.signal);try{let z=bQ(L),j=!1,P=0,A="",q=async()=>{if(A.length===0)return;let S=A;A="",await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{content:S},finish_reason:null}]})})};for await(let S of z.fullStream){if(!j&&(S.type==="text-delta"||S.type==="tool-call"))await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),j=!0;if(S.type==="text-delta"){if(A+=S.text,A.length>=W44)await q()}else if(S.type==="tool-call"){await q();let M=P++;await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{tool_calls:[{index:M,id:S.toolCallId,type:"function",function:{name:S.toolName,arguments:JSON.stringify(S.input)}}]},finish_reason:null}]})})}else if(S.type==="finish")await q(),await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{},finish_reason:aC$(S.finishReason)}],usage:S.totalUsage?{prompt_tokens:S.totalUsage.inputTokens??0,completion_tokens:S.totalUsage.outputTokens??0,total_tokens:S.totalUsage.totalTokens??0}:void 0})})}await q(),await E.writeSSE({data:"[DONE]"})}catch(z){let j=z;console.error("[openai-compat:stream] Error:",j.message),await E.writeSSE({data:JSON.stringify({error:{message:j.message,type:"server_error"}})})}});else{let E=oC$(w,F,H,Q,N,$.req.raw.signal),L=await ON(E),z={role:"assistant",content:L.text||null};if(L.toolCalls&&L.toolCalls.length>0)z.tool_calls=L.toolCalls.map((j)=>({id:j.toolCallId,type:"function",function:{name:j.toolName,arguments:JSON.stringify("input"in j?j.input:{})}})),z.content=null;return $.json({id:B,object:"chat.completion",created:D,model:Q.model,choices:[{index:0,message:z,finish_reason:aC$(L.finishReason)}],usage:{prompt_tokens:L.usage?.inputTokens??0,completion_tokens:L.usage?.outputTokens??0,total_tokens:L.usage?.totalTokens??0}})}}catch(X){let Y=X;if(Y.name==="AbortError")return $.json(zK("Request aborted","invalid_request_error"),400);if(Y.name==="MessageConversionError")return $.json(zK(Y.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Y.message,Y.stack),$.json(zK(Y.message,"server_error"),500)}});$_$=eC$});var X_$;var G_$=O(()=>{X_$={name:"decocms",version:"4.100.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.181","@duckdb/node-api":"^1.5.0-r.1","@openai/codex":"0.144.3","@openai/codex-darwin-arm64":"npm:@openai/codex@0.144.3-darwin-arm64","@openai/codex-darwin-x64":"npm:@openai/codex@0.144.3-darwin-x64","@openai/codex-linux-arm64":"npm:@openai/codex@0.144.3-linux-arm64","@openai/codex-linux-x64":"npm:@openai/codex@0.144.3-linux-x64","@openai/codex-win32-arm64":"npm:@openai/codex@0.144.3-win32-arm64","@openai/codex-win32-x64":"npm:@openai/codex@0.144.3-win32-x64"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@tiptap/extension-text-align":"3.20.2","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0",echarts:"^5.6.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6","use-stick-to-bottom":"^1.1.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.210","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@decocms/tunnel":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/experimental-ct-react":"1.59.1","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/shadcn":"^6.6.2","@rjsf/utils":"^6.6.2","@rjsf/validator-ajv8":"^6.6.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.208","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});function I44(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??T44}}var Y_$,T44="https://ph.studio.decocms.com",Q_$;var J_$=O(()=>{o8();Wb0();iN();S7();F8();P01();G_$();Y_$=new V1;Y_$.get("/",($)=>{let Z={version:X_$.version,theme:Vf1(),...rO().logo&&{logo:rO().logo},...gQ()&&{internalUrl:J00()},...O1().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!O1().firecrawlApiKey,auth:PR$(),posthog:I44(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:!gQ()&&O1().sandboxProviderKind==="agent-sandbox"}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});Q_$=Y_$});function $z0($){let Z=($??"").trim().toLowerCase();return Z=Z.replace(/^https?:\/\//,""),Z=Z.replace(/^www\./,""),Z=Z.split(/[/?#]/)[0]??"",Z.replace(/\/+$/,"")}function K_$($){return($z0($).split(".")[0]||$).replace(/[-_]/g," ").split(" ").filter(Boolean).map((G)=>G.charAt(0).toUpperCase()+G.slice(1)).join(" ")}function U_$($,Z=64){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent($z0($))}&sz=${Z}`}function W_$($,Z){let G=$.trim();if(G.length<=Z)return G;let X=G.slice(0,Z-1),Y=X.lastIndexOf(" ");return`${(Y>Z*0.6?X.slice(0,Y):X).trimEnd()}\u2026`}function w_$($){let{brand:Z,domain:G,score:X,verdict:Y}=$,Q=typeof X==="number"?`${Z} commerce report \u2014 ${Math.round(X)}/100 \xB7 decocms`:`${Z} commerce report \xB7 decocms`,J=`See the full ${Z} scorecard \u2014 SEO, performance, conversion & AEO signals scored by decocms.`,W=Y?.trim()?W_$(`${Y.trim().replace(/\s+/g," ")} \u2014 ${J}`,200):W_$(`How does ${G} really perform? ${J}`,200);return{title:Q,description:W}}import{join as R44}from"path";function vw($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function q44($){let Z=$z0($),G=K_$(Z),X=U_$(Z,128),Q=`${(O1().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Z)}`,{title:J,description:W}=w_$({brand:G,domain:Z});return[`<title>${vw(J)}</title>`,`<meta name="description" content="${vw(W)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${vw(J)}" />`,`<meta property="og:description" content="${vw(W)}" />`,`<meta property="og:url" content="${vw(Q)}" />`,'<meta name="twitter:card" content="summary" />',`<meta name="twitter:title" content="${vw(J)}" />`,`<meta name="twitter:description" content="${vw(W)}" />`,`<link rel="canonical" href="${vw(Q)}" />`,`<link rel="icon" href="${vw(X)}" sizes="any" />`].join(`
|
|
2739
|
+
`;return new TextEncoder().encode(X)}var w81,PC,y64,_C$,U81="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",h64,u$,c$,Z6,CC$=24,AC,CJ;var hC$=O(()=>{(function($){$.Operator="operator",$.Account="account",$.User="user",$.Activation="activation",$.AuthorizationResponse="authorization_response"})(w81||(w81={}));(function($){var Z=function(h,m){this.hi=h|0,this.lo=m|0},G=function(h){var m,c=new Float64Array(16);if(h)for(m=0;m<h.length;m++)c[m]=h[m];return c},X=function(){throw Error("no PRNG")},Y=new Uint8Array(16),Q=new Uint8Array(32);Q[0]=9;var J=G(),W=G([1]),K=G([56129,1]),U=G([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),w=G([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),F=G([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),H=G([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),N=G([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function B(h,m){return h<<m|h>>>32-m}function D(h,m){var c=h[m+3]&255;return c=c<<8|h[m+2]&255,c=c<<8|h[m+1]&255,c<<8|h[m+0]&255}function E(h,m){var c=h[m]<<24|h[m+1]<<16|h[m+2]<<8|h[m+3],o=h[m+4]<<24|h[m+5]<<16|h[m+6]<<8|h[m+7];return new Z(c,o)}function L(h,m,c){var o;for(o=0;o<4;o++)h[m+o]=c&255,c>>>=8}function z(h,m,c){h[m]=c.hi>>24&255,h[m+1]=c.hi>>16&255,h[m+2]=c.hi>>8&255,h[m+3]=c.hi&255,h[m+4]=c.lo>>24&255,h[m+5]=c.lo>>16&255,h[m+6]=c.lo>>8&255,h[m+7]=c.lo&255}function j(h,m,c,o,Y0){var W0,f0=0;for(W0=0;W0<Y0;W0++)f0|=h[m+W0]^c[o+W0];return(1&f0-1>>>8)-1}function P(h,m,c,o){return j(h,m,c,o,16)}function A(h,m,c,o){return j(h,m,c,o,32)}function q(h,m,c,o,Y0){var W0=new Uint32Array(16),f0=new Uint32Array(16),m0=new Uint32Array(16),P0=new Uint32Array(4),S0,j0,y0;for(S0=0;S0<4;S0++)f0[5*S0]=D(o,4*S0),f0[1+S0]=D(c,4*S0),f0[6+S0]=D(m,4*S0),f0[11+S0]=D(c,16+4*S0);for(S0=0;S0<16;S0++)m0[S0]=f0[S0];for(S0=0;S0<20;S0++){for(j0=0;j0<4;j0++){for(y0=0;y0<4;y0++)P0[y0]=f0[(5*j0+4*y0)%16];P0[1]^=B(P0[0]+P0[3]|0,7),P0[2]^=B(P0[1]+P0[0]|0,9),P0[3]^=B(P0[2]+P0[1]|0,13),P0[0]^=B(P0[3]+P0[2]|0,18);for(y0=0;y0<4;y0++)W0[4*j0+(j0+y0)%4]=P0[y0]}for(y0=0;y0<16;y0++)f0[y0]=W0[y0]}if(Y0){for(S0=0;S0<16;S0++)f0[S0]=f0[S0]+m0[S0]|0;for(S0=0;S0<4;S0++)f0[5*S0]=f0[5*S0]-D(o,4*S0)|0,f0[6+S0]=f0[6+S0]-D(m,4*S0)|0;for(S0=0;S0<4;S0++)L(h,4*S0,f0[5*S0]),L(h,16+4*S0,f0[6+S0])}else for(S0=0;S0<16;S0++)L(h,4*S0,f0[S0]+m0[S0]|0)}function S(h,m,c,o){return q(h,m,c,o,!1),0}function M(h,m,c,o){return q(h,m,c,o,!0),0}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function l(h,m,c,o,Y0,W0,f0){var m0=new Uint8Array(16),P0=new Uint8Array(64),S0,j0;if(!Y0)return 0;for(j0=0;j0<16;j0++)m0[j0]=0;for(j0=0;j0<8;j0++)m0[j0]=W0[j0];while(Y0>=64){S(P0,m0,f0,C);for(j0=0;j0<64;j0++)h[m+j0]=(c?c[o+j0]:0)^P0[j0];S0=1;for(j0=8;j0<16;j0++)S0=S0+(m0[j0]&255)|0,m0[j0]=S0&255,S0>>>=8;if(Y0-=64,m+=64,c)o+=64}if(Y0>0){S(P0,m0,f0,C);for(j0=0;j0<Y0;j0++)h[m+j0]=(c?c[o+j0]:0)^P0[j0]}return 0}function b(h,m,c,o,Y0){return l(h,m,null,0,c,o,Y0)}function v(h,m,c,o,Y0){var W0=new Uint8Array(32);return M(W0,o,Y0,C),b(h,m,c,o.subarray(16),W0)}function $0(h,m,c,o,Y0,W0,f0){var m0=new Uint8Array(32);return M(m0,W0,f0,C),l(h,m,c,o,Y0,W0.subarray(16),m0)}function n(h,m){var c,o=0;for(c=0;c<17;c++)o=o+(h[c]+m[c]|0)|0,h[c]=o&255,o>>>=8}var F0=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function D0(h,m,c,o,Y0,W0){var f0,m0,P0,S0,j0=new Uint32Array(17),y0=new Uint32Array(17),o0=new Uint32Array(17),Z1=new Uint32Array(17),U1=new Uint32Array(17);for(P0=0;P0<17;P0++)y0[P0]=o0[P0]=0;for(P0=0;P0<16;P0++)y0[P0]=W0[P0];y0[3]&=15,y0[4]&=252,y0[7]&=15,y0[8]&=252,y0[11]&=15,y0[12]&=252,y0[15]&=15;while(Y0>0){for(P0=0;P0<17;P0++)Z1[P0]=0;for(P0=0;P0<16&&P0<Y0;++P0)Z1[P0]=c[o+P0];Z1[P0]=1,o+=P0,Y0-=P0,n(o0,Z1);for(m0=0;m0<17;m0++){j0[m0]=0;for(P0=0;P0<17;P0++)j0[m0]=j0[m0]+o0[P0]*(P0<=m0?y0[m0-P0]:320*y0[m0+17-P0]|0)|0|0}for(m0=0;m0<17;m0++)o0[m0]=j0[m0];S0=0;for(P0=0;P0<16;P0++)S0=S0+o0[P0]|0,o0[P0]=S0&255,S0>>>=8;S0=S0+o0[16]|0,o0[16]=S0&3,S0=5*(S0>>>2)|0;for(P0=0;P0<16;P0++)S0=S0+o0[P0]|0,o0[P0]=S0&255,S0>>>=8;S0=S0+o0[16]|0,o0[16]=S0}for(P0=0;P0<17;P0++)U1[P0]=o0[P0];n(o0,F0),f0=-(o0[16]>>>7)|0;for(P0=0;P0<17;P0++)o0[P0]^=f0&(U1[P0]^o0[P0]);for(P0=0;P0<16;P0++)Z1[P0]=W0[P0+16];Z1[16]=0,n(o0,Z1);for(P0=0;P0<16;P0++)h[m+P0]=o0[P0];return 0}function J0(h,m,c,o,Y0,W0){var f0=new Uint8Array(16);return D0(f0,0,c,o,Y0,W0),P(h,m,f0,0)}function G0(h,m,c,o,Y0){var W0;if(c<32)return-1;$0(h,0,m,0,c,o,Y0),D0(h,16,h,32,c-32,h);for(W0=0;W0<16;W0++)h[W0]=0;return 0}function a(h,m,c,o,Y0){var W0,f0=new Uint8Array(32);if(c<32)return-1;if(v(f0,0,32,o,Y0),J0(m,16,m,32,c-32,f0)!==0)return-1;$0(h,0,m,0,c,o,Y0);for(W0=0;W0<32;W0++)h[W0]=0;return 0}function A0(h,m){var c;for(c=0;c<16;c++)h[c]=m[c]|0}function U0(h){var m,c;for(c=0;c<16;c++)h[c]+=65536,m=Math.floor(h[c]/65536),h[(c+1)*(c<15?1:0)]+=m-1+37*(m-1)*(c===15?1:0),h[c]-=m*65536}function v0(h,m,c){var o,Y0=~(c-1);for(var W0=0;W0<16;W0++)o=Y0&(h[W0]^m[W0]),h[W0]^=o,m[W0]^=o}function d0(h,m){var c,o,Y0,W0=G(),f0=G();for(c=0;c<16;c++)f0[c]=m[c];U0(f0),U0(f0),U0(f0);for(o=0;o<2;o++){W0[0]=f0[0]-65517;for(c=1;c<15;c++)W0[c]=f0[c]-65535-(W0[c-1]>>16&1),W0[c-1]&=65535;W0[15]=f0[15]-32767-(W0[14]>>16&1),Y0=W0[15]>>16&1,W0[14]&=65535,v0(f0,W0,1-Y0)}for(c=0;c<16;c++)h[2*c]=f0[c]&255,h[2*c+1]=f0[c]>>8}function i0(h,m){var c=new Uint8Array(32),o=new Uint8Array(32);return d0(c,h),d0(o,m),A(c,0,o,0)}function n0(h){var m=new Uint8Array(32);return d0(m,h),m[0]&1}function w0(h,m){var c;for(c=0;c<16;c++)h[c]=m[2*c]+(m[2*c+1]<<8);h[15]&=32767}function C0(h,m,c){var o;for(o=0;o<16;o++)h[o]=m[o]+c[o]|0}function T0(h,m,c){var o;for(o=0;o<16;o++)h[o]=m[o]-c[o]|0}function B0(h,m,c){var o,Y0,W0=new Float64Array(31);for(o=0;o<31;o++)W0[o]=0;for(o=0;o<16;o++)for(Y0=0;Y0<16;Y0++)W0[o+Y0]+=m[o]*c[Y0];for(o=0;o<15;o++)W0[o]+=38*W0[o+16];for(o=0;o<16;o++)h[o]=W0[o];U0(h),U0(h)}function Q0(h,m){B0(h,m,m)}function X0(h,m){var c=G(),o;for(o=0;o<16;o++)c[o]=m[o];for(o=253;o>=0;o--)if(Q0(c,c),o!==2&&o!==4)B0(c,c,m);for(o=0;o<16;o++)h[o]=c[o]}function V0(h,m){var c=G(),o;for(o=0;o<16;o++)c[o]=m[o];for(o=250;o>=0;o--)if(Q0(c,c),o!==1)B0(c,c,m);for(o=0;o<16;o++)h[o]=c[o]}function p(h,m,c){var o=new Uint8Array(32),Y0=new Float64Array(80),W0,f0,m0=G(),P0=G(),S0=G(),j0=G(),y0=G(),o0=G();for(f0=0;f0<31;f0++)o[f0]=m[f0];o[31]=m[31]&127|64,o[0]&=248,w0(Y0,c);for(f0=0;f0<16;f0++)P0[f0]=Y0[f0],j0[f0]=m0[f0]=S0[f0]=0;m0[0]=j0[0]=1;for(f0=254;f0>=0;--f0)W0=o[f0>>>3]>>>(f0&7)&1,v0(m0,P0,W0),v0(S0,j0,W0),C0(y0,m0,S0),T0(m0,m0,S0),C0(S0,P0,j0),T0(P0,P0,j0),Q0(j0,y0),Q0(o0,m0),B0(m0,S0,m0),B0(S0,P0,y0),C0(y0,m0,S0),T0(m0,m0,S0),Q0(P0,m0),T0(S0,j0,o0),B0(m0,S0,K),C0(m0,m0,j0),B0(S0,S0,m0),B0(m0,j0,o0),B0(j0,P0,Y0),Q0(P0,y0),v0(m0,P0,W0),v0(S0,j0,W0);for(f0=0;f0<16;f0++)Y0[f0+16]=m0[f0],Y0[f0+32]=S0[f0],Y0[f0+48]=P0[f0],Y0[f0+64]=j0[f0];var Z1=Y0.subarray(32),U1=Y0.subarray(16);return X0(Z1,Z1),B0(U1,U1,Z1),d0(h,U1),0}function e(h,m){return p(h,m,Q)}function t0(h,m){return X(m,32),e(h,m)}function R0(h,m,c){var o=new Uint8Array(32);return p(o,c,m),M(h,Y,o,C)}var q0=G0,g=a;function N0(h,m,c,o,Y0,W0){var f0=new Uint8Array(32);return R0(f0,Y0,W0),q0(h,m,c,o,f0)}function b0(h,m,c,o,Y0,W0){var f0=new Uint8Array(32);return R0(f0,Y0,W0),g(h,m,c,o,f0)}function e0(){var h=0,m=0,c=0,o=0,Y0=65535,W0,f0,m0;for(m0=0;m0<arguments.length;m0++)W0=arguments[m0].lo,f0=arguments[m0].hi,h+=W0&Y0,m+=W0>>>16,c+=f0&Y0,o+=f0>>>16;return m+=h>>>16,c+=m>>>16,o+=c>>>16,new Z(c&Y0|o<<16,h&Y0|m<<16)}function c0(h,m){return new Z(h.hi>>>m,h.lo>>>m|h.hi<<32-m)}function T1(){var h=0,m=0,c;for(c=0;c<arguments.length;c++)h^=arguments[c].lo,m^=arguments[c].hi;return new Z(m,h)}function e1(h,m){var c,o,Y0=32-m;if(m<32)c=h.hi>>>m|h.lo<<Y0,o=h.lo>>>m|h.hi<<Y0;else if(m<64)c=h.lo>>>m|h.hi<<Y0,o=h.hi>>>m|h.lo<<Y0;return new Z(c,o)}function L6(h,m,c){var o=h.hi&m.hi^~h.hi&c.hi,Y0=h.lo&m.lo^~h.lo&c.lo;return new Z(o,Y0)}function Q4(h,m,c){var o=h.hi&m.hi^h.hi&c.hi^m.hi&c.hi,Y0=h.lo&m.lo^h.lo&c.lo^m.lo&c.lo;return new Z(o,Y0)}function u5(h){return T1(e1(h,28),e1(h,34),e1(h,39))}function s(h){return T1(e1(h,14),e1(h,18),e1(h,41))}function K1(h){return T1(e1(h,1),e1(h,8),c0(h,7))}function o$(h){return T1(e1(h,19),e1(h,61),c0(h,6))}var a$=[new Z(1116352408,3609767458),new Z(1899447441,602891725),new Z(3049323471,3964484399),new Z(3921009573,2173295548),new Z(961987163,4081628472),new Z(1508970993,3053834265),new Z(2453635748,2937671579),new Z(2870763221,3664609560),new Z(3624381080,2734883394),new Z(310598401,1164996542),new Z(607225278,1323610764),new Z(1426881987,3590304994),new Z(1925078388,4068182383),new Z(2162078206,991336113),new Z(2614888103,633803317),new Z(3248222580,3479774868),new Z(3835390401,2666613458),new Z(4022224774,944711139),new Z(264347078,2341262773),new Z(604807628,2007800933),new Z(770255983,1495990901),new Z(1249150122,1856431235),new Z(1555081692,3175218132),new Z(1996064986,2198950837),new Z(2554220882,3999719339),new Z(2821834349,766784016),new Z(2952996808,2566594879),new Z(3210313671,3203337956),new Z(3336571891,1034457026),new Z(3584528711,2466948901),new Z(113926993,3758326383),new Z(338241895,168717936),new Z(666307205,1188179964),new Z(773529912,1546045734),new Z(1294757372,1522805485),new Z(1396182291,2643833823),new Z(1695183700,2343527390),new Z(1986661051,1014477480),new Z(2177026350,1206759142),new Z(2456956037,344077627),new Z(2730485921,1290863460),new Z(2820302411,3158454273),new Z(3259730800,3505952657),new Z(3345764771,106217008),new Z(3516065817,3606008344),new Z(3600352804,1432725776),new Z(4094571909,1467031594),new Z(275423344,851169720),new Z(430227734,3100823752),new Z(506948616,1363258195),new Z(659060556,3750685593),new Z(883997877,3785050280),new Z(958139571,3318307427),new Z(1322822218,3812723403),new Z(1537002063,2003034995),new Z(1747873779,3602036899),new Z(1955562222,1575990012),new Z(2024104815,1125592928),new Z(2227730452,2716904306),new Z(2361852424,442776044),new Z(2428436474,593698344),new Z(2756734187,3733110249),new Z(3204031479,2999351573),new Z(3329325298,3815920427),new Z(3391569614,3928383900),new Z(3515267271,566280711),new Z(3940187606,3454069534),new Z(4118630271,4000239992),new Z(116418474,1914138554),new Z(174292421,2731055270),new Z(289380356,3203993006),new Z(460393269,320620315),new Z(685471733,587496836),new Z(852142971,1086792851),new Z(1017036298,365543100),new Z(1126000580,2618297676),new Z(1288033470,3409855158),new Z(1501505948,4234509866),new Z(1607167915,987167468),new Z(1816402316,1246189591)];function P9(h,m,c){var o=[],Y0=[],W0=[],f0=[],m0,P0,S0;for(P0=0;P0<8;P0++)o[P0]=W0[P0]=E(h,8*P0);var j0=0;while(c>=128){for(P0=0;P0<16;P0++)f0[P0]=E(m,8*P0+j0);for(P0=0;P0<80;P0++){for(S0=0;S0<8;S0++)Y0[S0]=W0[S0];m0=e0(W0[7],s(W0[4]),L6(W0[4],W0[5],W0[6]),a$[P0],f0[P0%16]),Y0[7]=e0(m0,u5(W0[0]),Q4(W0[0],W0[1],W0[2])),Y0[3]=e0(Y0[3],m0);for(S0=0;S0<8;S0++)W0[(S0+1)%8]=Y0[S0];if(P0%16===15)for(S0=0;S0<16;S0++)f0[S0]=e0(f0[S0],f0[(S0+9)%16],K1(f0[(S0+1)%16]),o$(f0[(S0+14)%16]))}for(P0=0;P0<8;P0++)W0[P0]=e0(W0[P0],o[P0]),o[P0]=W0[P0];j0+=128,c-=128}for(P0=0;P0<8;P0++)z(h,8*P0,o[P0]);return c}var uG=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function M8(h,m,c){var o=new Uint8Array(64),Y0=new Uint8Array(256),W0,f0=c;for(W0=0;W0<64;W0++)o[W0]=uG[W0];P9(o,m,c),c%=128;for(W0=0;W0<256;W0++)Y0[W0]=0;for(W0=0;W0<c;W0++)Y0[W0]=m[f0-c+W0];Y0[c]=128,c=256-128*(c<112?1:0),Y0[c-9]=0,z(Y0,c-8,new Z(f0/536870912|0,f0<<3)),P9(o,Y0,c);for(W0=0;W0<64;W0++)h[W0]=o[W0];return 0}function C6(h,m){var c=G(),o=G(),Y0=G(),W0=G(),f0=G(),m0=G(),P0=G(),S0=G(),j0=G();T0(c,h[1],h[0]),T0(j0,m[1],m[0]),B0(c,c,j0),C0(o,h[0],h[1]),C0(j0,m[0],m[1]),B0(o,o,j0),B0(Y0,h[3],m[3]),B0(Y0,Y0,w),B0(W0,h[2],m[2]),C0(W0,W0,W0),T0(f0,o,c),T0(m0,W0,Y0),C0(P0,W0,Y0),C0(S0,o,c),B0(h[0],f0,m0),B0(h[1],S0,P0),B0(h[2],P0,m0),B0(h[3],f0,S0)}function $5(h,m,c){var o;for(o=0;o<4;o++)v0(h[o],m[o],c)}function R5(h,m){var c=G(),o=G(),Y0=G();X0(Y0,m[2]),B0(c,m[0],Y0),B0(o,m[1],Y0),d0(h,o),h[31]^=n0(c)<<7}function Q9(h,m,c){var o,Y0;A0(h[0],J),A0(h[1],W),A0(h[2],W),A0(h[3],J);for(Y0=255;Y0>=0;--Y0)o=c[Y0/8|0]>>(Y0&7)&1,$5(h,m,o),C6(m,h),C6(h,h),$5(h,m,o)}function A9(h,m){var c=[G(),G(),G(),G()];A0(c[0],F),A0(c[1],H),A0(c[2],W),B0(c[3],F,H),Q9(h,c,m)}function x1(h,m,c){var o=new Uint8Array(64),Y0=[G(),G(),G(),G()],W0;if(!c)X(m,32);M8(o,m,32),o[0]&=248,o[31]&=127,o[31]|=64,A9(Y0,o),R5(h,Y0);for(W0=0;W0<32;W0++)m[W0+32]=h[W0];return 0}var k8=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function S8(h,m){var c,o,Y0,W0;for(o=63;o>=32;--o){c=0;for(Y0=o-32,W0=o-12;Y0<W0;++Y0)m[Y0]+=c-16*m[o]*k8[Y0-(o-32)],c=Math.floor((m[Y0]+128)/256),m[Y0]-=c*256;m[Y0]+=c,m[o]=0}c=0;for(Y0=0;Y0<32;Y0++)m[Y0]+=c-(m[31]>>4)*k8[Y0],c=m[Y0]>>8,m[Y0]&=255;for(Y0=0;Y0<32;Y0++)m[Y0]-=c*k8[Y0];for(o=0;o<32;o++)m[o+1]+=m[o]>>8,h[o]=m[o]&255}function G6(h){var m=new Float64Array(64),c;for(c=0;c<64;c++)m[c]=h[c];for(c=0;c<64;c++)h[c]=0;S8(h,m)}function f$(h,m,c,o){var Y0=new Uint8Array(64),W0=new Uint8Array(64),f0=new Uint8Array(64),m0,P0,S0=new Float64Array(64),j0=[G(),G(),G(),G()];M8(Y0,o,32),Y0[0]&=248,Y0[31]&=127,Y0[31]|=64;var y0=c+64;for(m0=0;m0<c;m0++)h[64+m0]=m[m0];for(m0=0;m0<32;m0++)h[32+m0]=Y0[32+m0];M8(f0,h.subarray(32),c+32),G6(f0),A9(j0,f0),R5(h,j0);for(m0=32;m0<64;m0++)h[m0]=o[m0];M8(W0,h,c+64),G6(W0);for(m0=0;m0<64;m0++)S0[m0]=0;for(m0=0;m0<32;m0++)S0[m0]=f0[m0];for(m0=0;m0<32;m0++)for(P0=0;P0<32;P0++)S0[m0+P0]+=W0[m0]*Y0[P0];return S8(h.subarray(32),S0),y0}function w8(h,m){var c=G(),o=G(),Y0=G(),W0=G(),f0=G(),m0=G(),P0=G();if(A0(h[2],W),w0(h[1],m),Q0(Y0,h[1]),B0(W0,Y0,U),T0(Y0,Y0,h[2]),C0(W0,h[2],W0),Q0(f0,W0),Q0(m0,f0),B0(P0,m0,f0),B0(c,P0,Y0),B0(c,c,W0),V0(c,c),B0(c,c,Y0),B0(c,c,W0),B0(c,c,W0),B0(h[0],c,W0),Q0(o,h[0]),B0(o,o,W0),i0(o,Y0))B0(h[0],h[0],N);if(Q0(o,h[0]),B0(o,o,W0),i0(o,Y0))return-1;if(n0(h[0])===m[31]>>7)T0(h[0],J,h[0]);return B0(h[3],h[0],h[1]),0}function j7(h,m,c,o){var Y0,W0=new Uint8Array(32),f0=new Uint8Array(64),m0=[G(),G(),G(),G()],P0=[G(),G(),G(),G()];if(c<64)return-1;if(w8(P0,o))return-1;for(Y0=0;Y0<c;Y0++)h[Y0]=m[Y0];for(Y0=0;Y0<32;Y0++)h[Y0+32]=o[Y0];if(M8(f0,h,c),G6(f0),Q9(m0,P0,f0),A9(P0,m.subarray(32)),C6(m0,P0),R5(W0,m0),c-=64,A(m,0,W0,0)){for(Y0=0;Y0<c;Y0++)h[Y0]=0;return-1}for(Y0=0;Y0<c;Y0++)h[Y0]=m[Y0+64];return c}var k$=32,n6=24,e6=32,t8=16,Z5=32,V=32,d=32,u=32,I=32,r=n6,x0=e6,l0=t8,W1=64,F1=32,g1=64,f1=32,Y8=64;$.lowlevel={crypto_core_hsalsa20:M,crypto_stream_xor:$0,crypto_stream:v,crypto_stream_salsa20_xor:l,crypto_stream_salsa20:b,crypto_onetimeauth:D0,crypto_onetimeauth_verify:J0,crypto_verify_16:P,crypto_verify_32:A,crypto_secretbox:G0,crypto_secretbox_open:a,crypto_scalarmult:p,crypto_scalarmult_base:e,crypto_box_beforenm:R0,crypto_box_afternm:q0,crypto_box:N0,crypto_box_open:b0,crypto_box_keypair:t0,crypto_hash:M8,crypto_sign:f$,crypto_sign_keypair:x1,crypto_sign_open:j7,crypto_secretbox_KEYBYTES:k$,crypto_secretbox_NONCEBYTES:n6,crypto_secretbox_ZEROBYTES:e6,crypto_secretbox_BOXZEROBYTES:t8,crypto_scalarmult_BYTES:Z5,crypto_scalarmult_SCALARBYTES:V,crypto_box_PUBLICKEYBYTES:d,crypto_box_SECRETKEYBYTES:u,crypto_box_BEFORENMBYTES:I,crypto_box_NONCEBYTES:r,crypto_box_ZEROBYTES:x0,crypto_box_BOXZEROBYTES:l0,crypto_sign_BYTES:W1,crypto_sign_PUBLICKEYBYTES:F1,crypto_sign_SECRETKEYBYTES:g1,crypto_sign_SEEDBYTES:f1,crypto_hash_BYTES:Y8,gf:G,D:U,L:k8,pack25519:d0,unpack25519:w0,M:B0,A:C0,S:Q0,Z:T0,pow2523:V0,add:C6,set25519:A0,modL:S8,scalarmult:Q9,scalarbase:A9};function u1(h,m){if(h.length!==k$)throw Error("bad key size");if(m.length!==n6)throw Error("bad nonce size")}function z$(h,m){if(h.length!==d)throw Error("bad public key size");if(m.length!==u)throw Error("bad secret key size")}function Y$(){for(var h=0;h<arguments.length;h++)if(!(arguments[h]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function v$(h){for(var m=0;m<h.length;m++)h[m]=0}$.randomBytes=function(h){var m=new Uint8Array(h);return X(m,h),m},$.secretbox=function(h,m,c){Y$(h,m,c),u1(c,m);var o=new Uint8Array(e6+h.length),Y0=new Uint8Array(o.length);for(var W0=0;W0<h.length;W0++)o[W0+e6]=h[W0];return G0(Y0,o,o.length,m,c),Y0.subarray(t8)},$.secretbox.open=function(h,m,c){Y$(h,m,c),u1(c,m);var o=new Uint8Array(t8+h.length),Y0=new Uint8Array(o.length);for(var W0=0;W0<h.length;W0++)o[W0+t8]=h[W0];if(o.length<32)return null;if(a(Y0,o,o.length,m,c)!==0)return null;return Y0.subarray(e6)},$.secretbox.keyLength=k$,$.secretbox.nonceLength=n6,$.secretbox.overheadLength=t8,$.scalarMult=function(h,m){if(Y$(h,m),h.length!==V)throw Error("bad n size");if(m.length!==Z5)throw Error("bad p size");var c=new Uint8Array(Z5);return p(c,h,m),c},$.scalarMult.base=function(h){if(Y$(h),h.length!==V)throw Error("bad n size");var m=new Uint8Array(Z5);return e(m,h),m},$.scalarMult.scalarLength=V,$.scalarMult.groupElementLength=Z5,$.box=function(h,m,c,o){var Y0=$.box.before(c,o);return $.secretbox(h,m,Y0)},$.box.before=function(h,m){Y$(h,m),z$(h,m);var c=new Uint8Array(I);return R0(c,h,m),c},$.box.after=$.secretbox,$.box.open=function(h,m,c,o){var Y0=$.box.before(c,o);return $.secretbox.open(h,m,Y0)},$.box.open.after=$.secretbox.open,$.box.keyPair=function(){var h=new Uint8Array(d),m=new Uint8Array(u);return t0(h,m),{publicKey:h,secretKey:m}},$.box.keyPair.fromSecretKey=function(h){if(Y$(h),h.length!==u)throw Error("bad secret key size");var m=new Uint8Array(d);return e(m,h),{publicKey:m,secretKey:new Uint8Array(h)}},$.box.publicKeyLength=d,$.box.secretKeyLength=u,$.box.sharedKeyLength=I,$.box.nonceLength=r,$.box.overheadLength=$.secretbox.overheadLength,$.sign=function(h,m){if(Y$(h,m),m.length!==g1)throw Error("bad secret key size");var c=new Uint8Array(W1+h.length);return f$(c,h,h.length,m),c},$.sign.open=function(h,m){if(Y$(h,m),m.length!==F1)throw Error("bad public key size");var c=new Uint8Array(h.length),o=j7(c,h,h.length,m);if(o<0)return null;var Y0=new Uint8Array(o);for(var W0=0;W0<Y0.length;W0++)Y0[W0]=c[W0];return Y0},$.sign.detached=function(h,m){var c=$.sign(h,m),o=new Uint8Array(W1);for(var Y0=0;Y0<o.length;Y0++)o[Y0]=c[Y0];return o},$.sign.detached.verify=function(h,m,c){if(Y$(h,m,c),m.length!==W1)throw Error("bad signature size");if(c.length!==F1)throw Error("bad public key size");var o=new Uint8Array(W1+h.length),Y0=new Uint8Array(W1+h.length),W0;for(W0=0;W0<W1;W0++)o[W0]=m[W0];for(W0=0;W0<h.length;W0++)o[W0+W1]=h[W0];return j7(Y0,o,o.length,c)>=0},$.sign.keyPair=function(){var h=new Uint8Array(F1),m=new Uint8Array(g1);return x1(h,m),{publicKey:h,secretKey:m}},$.sign.keyPair.fromSecretKey=function(h){if(Y$(h),h.length!==g1)throw Error("bad secret key size");var m=new Uint8Array(F1);for(var c=0;c<m.length;c++)m[c]=h[32+c];return{publicKey:m,secretKey:new Uint8Array(h)}},$.sign.keyPair.fromSeed=function(h){if(Y$(h),h.length!==f1)throw Error("bad seed size");var m=new Uint8Array(F1),c=new Uint8Array(g1);for(var o=0;o<32;o++)c[o]=h[o];return x1(m,c,!0),{publicKey:m,secretKey:c}},$.sign.publicKeyLength=F1,$.sign.secretKeyLength=g1,$.sign.seedLength=f1,$.sign.signatureLength=W1,$.hash=function(h){Y$(h);var m=new Uint8Array(Y8);return M8(m,h,h.length),m},$.hash.hashLength=Y8,$.verify=function(h,m){if(Y$(h,m),h.length===0||m.length===0)return!1;if(h.length!==m.length)return!1;return j(h,0,m,0,h.length)===0?!0:!1},$.setPRNG=function(h){X=h},function(){var h=typeof globalThis<"u"?globalThis.crypto||globalThis.msCrypto:null;if(h&&h.getRandomValues){var m=65536;$.setPRNG(function(c,o){var Y0,W0=new Uint8Array(o);for(Y0=0;Y0<o;Y0+=m)h.getRandomValues(W0.subarray(Y0,Y0+Math.min(o-Y0,m)));for(Y0=0;Y0<o;Y0++)c[Y0]=W0[Y0];v$(W0)})}else if(h=u0("crypto"),h&&h.randomBytes)$.setPRNG(function(c,o){var Y0,W0=h.randomBytes(o);for(Y0=0;Y0<o;Y0++)c[Y0]=W0[Y0];v$(W0)})}()})(typeof fg<"u"&&oZZ?oZZ:globalThis.nacl=globalThis.nacl||{});PC=typeof fg<"u"&&oZZ?oZZ:globalThis.nacl,y64={fromSeed:PC.sign.keyPair.fromSeed,sign:PC.sign.detached,verify:PC.sign.detached.verify,randomBytes:PC.randomBytes,scalarBaseMultiply:PC.scalarMult.base,seal:PC.box,open:PC.box.open};h64=new Uint16Array([0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920]);u$=class u$ extends Error{name;code;chainedError;constructor($,Z){super($);this.name="NKeysError",this.code=$,this.chainedError=Z}};(function($){$.InvalidPrefixByte="nkeys: invalid prefix byte",$.InvalidKey="nkeys: invalid key",$.InvalidPublicKey="nkeys: invalid public key",$.InvalidSeedLen="nkeys: invalid seed length",$.InvalidSeed="nkeys: invalid seed",$.InvalidCurveSeed="nkeys: invalid curve seed",$.InvalidCurveKey="nkeys: not a valid curve key",$.InvalidCurveOperation="nkeys: curve key is not valid for sign/verify",$.InvalidNKeyOperation="keys: only curve key can seal/open",$.InvalidEncoding="nkeys: invalid encoded key",$.InvalidRecipient="nkeys: not a valid recipient public curve key",$.InvalidEncrypted="nkeys: encrypted input is not valid",$.CannotSign="nkeys: cannot sign, no private key available",$.PublicKeyOnly="nkeys: no seed or private key available",$.InvalidChecksum="nkeys: invalid checksum",$.SerializationError="nkeys: serialization error",$.ApiError="nkeys: api error",$.ClearedPair="nkeys: pair is cleared"})(c$||(c$={}));(function($){$[$.Unknown=-1]="Unknown",$[$.Seed=144]="Seed",$[$.Private=120]="Private",$[$.Operator=112]="Operator",$[$.Server=104]="Server",$[$.Cluster=16]="Cluster",$[$.Account=0]="Account",$[$.User=160]="User",$[$.Curve=184]="Curve"})(Z6||(Z6={}));AC=[120,107,118,49];g64(y64);(function($){$.v1="ed25519",$.v2="ed25519-nkey"})(CJ||(CJ={}))});function O81($){try{$?.clear?.()}catch{}}async function cC$({accountJwt:$,accountSigningKey:Z,expiresAt:G,permissions:X,userId:Y,allowedConnectionTypes:Q=["WEBSOCKET"]}){let J=yC$($),W=N81(J.sub),K=B81(new TextEncoder().encode(Z)),U=fC$();try{let w=await vC$(Y,U,W,{pub:{allow:X.publish.allow},sub:{allow:X.subscribe.allow},allowed_connection_types:Q},{algorithm:CJ.v2,exp:Math.floor(G.getTime()/1000),signer:K});return new TextDecoder().decode(gC$(w,U))}finally{O81(U),O81(K),O81(W)}}var uC$=O(()=>{hC$()});function o64($){return/^wss?:\/\//i.test($.trim())?["WEBSOCKET"]:["STANDARD","WEBSOCKET"]}function dC$(){let $=new V1;return $.post("/links/session",async(Z)=>{let X=Z.get("studioContext").auth?.user?.id;if(!X)return Z.json({error:"Unauthorized"},401);let Y=O1();if(!Y.natsTunnelPublicEnabled)return Z.json(D81(),503);if(!Y.natsPublicUrl)return Z.json(D81(),503);if(!Y.natsAccountJwt||!Y.natsAccountSigningKey){if(!Y.localMode)return Z.json(D81(),503)}let Q=VJ(X),J;if(Y.natsAccountJwt&&Y.natsAccountSigningKey){let W=new Date(Date.now()+Y.natsTunnelSessionTtlSeconds*1000);J=await cC$({accountJwt:Y.natsAccountJwt,accountSigningKey:Y.natsAccountSigningKey,expiresAt:W,permissions:kC$(Q),userId:X,allowedConnectionTypes:o64(Y.natsPublicUrl)})}return Z.json(SC$({publicUrl:Y.natsPublicUrl,userId:X,ttlSeconds:Y.natsTunnelSessionTtlSeconds,credentials:J}))}),$}var D81=()=>({error:"link session unavailable"});var lC$=O(()=>{o8();F8();VC$();uC$()});async function e64($,Z){try{return!await $.alive(Z)}catch(G){return console.warn(`[vm-events] alive probe failed for ${Z}; assuming alive: ${G instanceof Error?G.message:String(G)}`),!1}}async function $44($){let{ctx:Z,runner:G,claimName:X,userId:Y,projectRef:Q,sandboxProviderKind:J}=$;try{await G.delete(X)}catch(W){console.warn(`[vm-events] runner.delete failed for ${X}: ${W instanceof Error?W.message:String(W)}`)}try{await new MN(Z.db).delete({userId:Y,projectRef:Q},J)}catch(W){console.warn(`[vm-events] sandbox_runner_state delete failed for ${Y}/${Q}/${J}: ${W instanceof Error?W.message:String(W)}`)}}async function Z44($){let{stream:Z,claimName:G,runner:X,signal:Y}=$;return new Promise((Q)=>{let J=!1,W=!1,K=null,U=(H)=>{if(J)return;J=!0,clearTimeout(w),Y.removeEventListener("abort",F),K?.unsubscribe(),Q(H)},w=setTimeout(()=>{if(W||J)return;Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"claim-never-created",message:"Sandbox claim was never created. The SANDBOX_START call may have failed earlier \u2014 check the start error."})}).catch(()=>{}),U(!1)},a64),F=()=>U(!1);Y.addEventListener("abort",F,{once:!0}),K=sn(X,G,(H)=>{if(J)return;if(H.kind!=="claiming")W=!0;if(Z.writeSSE({event:"phase",data:JSON.stringify(H)}).catch(()=>{}),H.kind==="ready")U(!0);else if(H.kind==="failed")U(!1)})})}async function G44($){let{stream:Z,runner:G,claimName:X,signal:Y}=$,Q=Date.now(),J=null;while(!Y.aborted){let K=null;try{K=await G.proxyDaemonRequest(X,"/_sandbox/events",{method:"GET",headers:new Headers({accept:"text/event-stream"}),body:null,signal:Y})}catch(U){if(Y.aborted)return;if(Date.now()-Q<mC$){await O8(iC$,{signal:Y}).catch(()=>{});continue}let w=U instanceof Error?U.message:String(U);await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE error: ${w}`})}).catch(()=>{});return}if(K.status===404){try{await K.body?.cancel()}catch{}if(Date.now()-Q<mC$){await O8(iC$,{signal:Y}).catch(()=>{});continue}await Z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(!K.ok||!K.body){try{await K.body?.cancel()}catch{}await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE failed (${K.status}).`})}).catch(()=>{});return}J=K;break}if(!J||!J.body)return;let W=J.body.getReader();try{while(!Y.aborted){let{value:K,done:U}=await W.read();if(U)break;if(K)await Z.write(K)}}catch{}finally{try{W.releaseLock()}catch{}}}var a64=90000,s64=15000,nC$=()=>{let $=new V1;return $.get("/",async(Z)=>{let G=Z.var.studioContext;try{M0(G)}catch{return Z.json({error:"Unauthorized"},401)}let X=y1(G);if(!X)return Z.json({error:"Unauthorized"},401);let Y;try{Y=O0(G)}catch{return Z.json({error:"Organization scope required"},403)}let Q=Z.req.query("virtualMcpId"),J=Z.req.query("branch");if(!Q||!J)return Z.json({error:"virtualMcpId and branch are required"},400);let W=await G.storage.virtualMcps.findById(Q);if(!W||W.organization_id!==Y.id)return Z.json({error:"Virtual MCP not found"},404);let K=Gw({orgId:Y.id,virtualMcpId:Q,branch:J}),U=Gg({userId:X,projectRef:K},J),w=W.metadata??null,F,H=null,N=null;try{let E=await _Y(G,{userId:X,branch:J,virtualMcpMetadata:w});F=E.provider,H=E.kind}catch(E){N=E instanceof Error?E:Error(String(E)),F=null}let B=H&&lW(w5(w),X,J,H),D=!!B&&B.sandboxHandle===U;if(!F)return rQ(Z,async(E)=>{await E.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:N?.message??"No sandbox runner configured on this studio instance."})})});return Z.header("X-Accel-Buffering","no"),Z.header("Content-Encoding","identity"),rQ(Z,async(E)=>{let L=new AbortController,z=setInterval(()=>{E.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(z)})},s64);E.onAbort(()=>{L.abort(),clearInterval(z)});try{if(D&&H){if(await e64(F,U)){await $44({ctx:G,runner:F,claimName:U,userId:X,projectRef:K,sandboxProviderKind:H}),await E.writeSSE({event:"gone",data:""}).catch(()=>{});return}}if(!await Z44({stream:E,claimName:U,runner:F,signal:L.signal})||L.signal.aborted)return;await G44({stream:E,runner:F,claimName:U,signal:L.signal})}finally{clearInterval(z)}})}),$},mC$=60000,iC$=500;var pC$=O(()=>{o8();zC();MY();d5();uE0();en();AV();ZZ0();RX()});function Y44($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}async function Q44($,Z){let G=await fetch(`${$}/rest/v1/apps?select=name,title,description,logo,category,vendors(alias,url)`,{headers:{apikey:Z,Authorization:`Bearer ${Z}`,Accept:"application/json"},signal:AbortSignal.timeout(X44)});if(!G.ok){let X=await G.text().catch(()=>G.statusText);throw console.error(`[deco-apps] Supabase error (${G.status}): ${X.slice(0,200)}`),Error(`External service error (${G.status})`)}return await G.json()}var X44=1e4,J44=async($,Z)=>{if(!$.get("studioContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},tC$=()=>{let $=new V1;return $.use("*",J44),$.get("/",async(Z)=>{let G=O1(),X=G.decoSupabaseUrl,Y=G.decoSupabaseServiceKey;if(!X||!Y)return Z.json({apps:[]});try{let Q=await Q44(X,Y);return Z.json({apps:Y44(Q)})}catch(Q){return console.error("[deco-apps] GET error:",Q),Z.json({error:"Failed to fetch apps"},502)}}),$};var rC$=O(()=>{o8();F8()});import{z as h1}from"zod";function zK($,Z="invalid_request_error",G=null,X=null){return{error:{message:$,type:Z,param:G,code:X}}}function D44($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let G=$.substring(0,Z),X=$.substring(Z+1);if(!G||!X)return null;return{credentialId:G,modelId:X}}function E44($,Z,G){try{return JSON.parse($)}catch{throw new sC$(`Invalid JSON in tool call arguments for function '${G}' (tool_call_id: ${Z}): ${$}`)}}function L44($){let Z={};for(let G of $)if(G.role==="assistant"&&G.tool_calls)for(let X of G.tool_calls)Z[X.id]=X.function.name;return $.map((G)=>{switch(G.role){case"system":return{role:"system",content:G.content};case"user":if(typeof G.content==="string")return{role:"user",content:G.content};return{role:"user",content:G.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:Y.text};return{type:"image",image:Y.image_url.url}})};case"assistant":if(G.tool_calls&&G.tool_calls.length>0)return{role:"assistant",content:G.tool_calls.map((Y)=>({type:"tool-call",toolCallId:Y.id,toolName:Y.function.name,input:E44(Y.function.arguments,Y.id,Y.function.name)}))};return{role:"assistant",content:G.content??""};case"tool":let X=Z[G.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:G.tool_call_id,toolName:X,output:{type:"text",value:G.content}}]}}})}function z44($){let Z=$.map((G)=>{let X=G.function.parameters?OY(G.function.parameters):OY({type:"object",properties:{}});return[G.function.name,b$({description:G.function.description,inputSchema:X})]});return Object.fromEntries(Z)}function j44($){if(!$)return;return{openai:{response_format:$}}}function P44(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function oC$($,Z,G,X,Y,Q){let J={model:$,messages:Z,tools:G,temperature:X.temperature,maxTokens:X.max_tokens,topP:X.top_p,frequencyPenalty:X.frequency_penalty,presencePenalty:X.presence_penalty,stopSequences:X.stop?Array.isArray(X.stop)?X.stop:[X.stop]:void 0,abortSignal:Q};return Y?{...J,providerOptions:Y}:J}function aC$($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var W44=256,K44,U44,w44,F44,H44,N44,B44,O44,sC$,eC$,$_$;var Z_$=O(()=>{E6();o8();zC();K44=h1.object({type:h1.literal("function"),function:h1.object({name:h1.string(),description:h1.string().optional(),parameters:h1.record(h1.string(),h1.unknown()).optional()})}),U44=h1.object({id:h1.string(),type:h1.literal("function"),function:h1.object({name:h1.string(),arguments:h1.string()})}),w44=h1.discriminatedUnion("role",[h1.object({role:h1.literal("system"),content:h1.string(),name:h1.string().optional()}),h1.object({role:h1.literal("user"),content:h1.union([h1.string(),h1.array(h1.union([h1.object({type:h1.literal("text"),text:h1.string()}),h1.object({type:h1.literal("image_url"),image_url:h1.object({url:h1.string(),detail:h1.string().optional()})})]))]),name:h1.string().optional()}),h1.object({role:h1.literal("assistant"),content:h1.string().nullable().optional(),name:h1.string().optional(),tool_calls:h1.array(U44).optional()}),h1.object({role:h1.literal("tool"),content:h1.string(),tool_call_id:h1.string()})]),F44=h1.object({type:h1.literal("text")}),H44=h1.object({type:h1.literal("json_object")}),N44=h1.object({type:h1.literal("json_schema"),json_schema:h1.object({name:h1.string(),description:h1.string().optional(),schema:h1.record(h1.string(),h1.unknown()),strict:h1.boolean().optional()})}),B44=h1.union([F44,H44,N44]),O44=h1.object({model:h1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:h1.array(w44),stream:h1.boolean().optional().default(!1),temperature:h1.number().min(0).max(2).optional(),max_tokens:h1.number().positive().optional(),top_p:h1.number().min(0).max(1).optional(),frequency_penalty:h1.number().min(-2).max(2).optional(),presence_penalty:h1.number().min(-2).max(2).optional(),stop:h1.union([h1.string(),h1.array(h1.string())]).optional(),tools:h1.array(K44).optional(),tool_choice:h1.union([h1.literal("auto"),h1.literal("none"),h1.literal("required"),h1.object({type:h1.literal("function"),function:h1.object({name:h1.string()})})]).optional(),response_format:B44.optional(),user:h1.string().optional()});sC$=class sC$ extends Error{constructor($){super($);this.name="MessageConversionError"}};eC$=new V1;eC$.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),G=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(zK("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(zK("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==G)return $.json(zK("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let X=await $.req.json(),Y=O44.safeParse(X);if(!Y.success){let E=Y.error.issues[0]??{message:"Invalid request",path:[]};return $.json(zK(`Invalid request: ${E.message}`,"invalid_request_error",E.path.length>0?E.path.join("."):null),400)}let Q=Y.data,J=D44(Q.model);if(!J)return $.json(zK("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=J,{modelId:K}=J;if(!W){let E=await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id});if(E.length===0)return $.json(zK("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=E[0].id}let U;try{U=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(zK(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let w=U.aiSdk.languageModel(K),F=L44(Q.messages),H=Q.tools?z44(Q.tools):void 0,N=j44(Q.response_format),B=P44(),D=Math.floor(Date.now()/1000);if(Q.stream)return rQ($,async(E)=>{let L=oC$(w,F,H,Q,N,$.req.raw.signal);try{let z=bQ(L),j=!1,P=0,A="",q=async()=>{if(A.length===0)return;let S=A;A="",await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{content:S},finish_reason:null}]})})};for await(let S of z.fullStream){if(!j&&(S.type==="text-delta"||S.type==="tool-call"))await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),j=!0;if(S.type==="text-delta"){if(A+=S.text,A.length>=W44)await q()}else if(S.type==="tool-call"){await q();let M=P++;await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{tool_calls:[{index:M,id:S.toolCallId,type:"function",function:{name:S.toolName,arguments:JSON.stringify(S.input)}}]},finish_reason:null}]})})}else if(S.type==="finish")await q(),await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{},finish_reason:aC$(S.finishReason)}],usage:S.totalUsage?{prompt_tokens:S.totalUsage.inputTokens??0,completion_tokens:S.totalUsage.outputTokens??0,total_tokens:S.totalUsage.totalTokens??0}:void 0})})}await q(),await E.writeSSE({data:"[DONE]"})}catch(z){let j=z;console.error("[openai-compat:stream] Error:",j.message),await E.writeSSE({data:JSON.stringify({error:{message:j.message,type:"server_error"}})})}});else{let E=oC$(w,F,H,Q,N,$.req.raw.signal),L=await ON(E),z={role:"assistant",content:L.text||null};if(L.toolCalls&&L.toolCalls.length>0)z.tool_calls=L.toolCalls.map((j)=>({id:j.toolCallId,type:"function",function:{name:j.toolName,arguments:JSON.stringify("input"in j?j.input:{})}})),z.content=null;return $.json({id:B,object:"chat.completion",created:D,model:Q.model,choices:[{index:0,message:z,finish_reason:aC$(L.finishReason)}],usage:{prompt_tokens:L.usage?.inputTokens??0,completion_tokens:L.usage?.outputTokens??0,total_tokens:L.usage?.totalTokens??0}})}}catch(X){let Y=X;if(Y.name==="AbortError")return $.json(zK("Request aborted","invalid_request_error"),400);if(Y.name==="MessageConversionError")return $.json(zK(Y.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Y.message,Y.stack),$.json(zK(Y.message,"server_error"),500)}});$_$=eC$});var X_$;var G_$=O(()=>{X_$={name:"decocms",version:"4.100.2",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.181","@duckdb/node-api":"^1.5.0-r.1","@openai/codex":"0.144.3","@openai/codex-darwin-arm64":"npm:@openai/codex@0.144.3-darwin-arm64","@openai/codex-darwin-x64":"npm:@openai/codex@0.144.3-darwin-x64","@openai/codex-linux-arm64":"npm:@openai/codex@0.144.3-linux-arm64","@openai/codex-linux-x64":"npm:@openai/codex@0.144.3-linux-x64","@openai/codex-win32-arm64":"npm:@openai/codex@0.144.3-win32-arm64","@openai/codex-win32-x64":"npm:@openai/codex@0.144.3-win32-x64"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@tiptap/extension-text-align":"3.20.2","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0",echarts:"^5.6.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6","use-stick-to-bottom":"^1.1.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.210","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@decocms/tunnel":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/experimental-ct-react":"1.59.1","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/shadcn":"^6.6.2","@rjsf/utils":"^6.6.2","@rjsf/validator-ajv8":"^6.6.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.208","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});function I44(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??T44}}var Y_$,T44="https://ph.studio.decocms.com",Q_$;var J_$=O(()=>{o8();Wb0();iN();S7();F8();P01();G_$();Y_$=new V1;Y_$.get("/",($)=>{let Z={version:X_$.version,theme:Vf1(),...rO().logo&&{logo:rO().logo},...gQ()&&{internalUrl:J00()},...O1().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!O1().firecrawlApiKey,auth:PR$(),posthog:I44(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:!gQ()&&O1().sandboxProviderKind==="agent-sandbox"}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});Q_$=Y_$});function $z0($){let Z=($??"").trim().toLowerCase();return Z=Z.replace(/^https?:\/\//,""),Z=Z.replace(/^www\./,""),Z=Z.split(/[/?#]/)[0]??"",Z.replace(/\/+$/,"")}function K_$($){return($z0($).split(".")[0]||$).replace(/[-_]/g," ").split(" ").filter(Boolean).map((G)=>G.charAt(0).toUpperCase()+G.slice(1)).join(" ")}function U_$($,Z=64){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent($z0($))}&sz=${Z}`}function W_$($,Z){let G=$.trim();if(G.length<=Z)return G;let X=G.slice(0,Z-1),Y=X.lastIndexOf(" ");return`${(Y>Z*0.6?X.slice(0,Y):X).trimEnd()}\u2026`}function w_$($){let{brand:Z,domain:G,score:X,verdict:Y}=$,Q=typeof X==="number"?`${Z} commerce report \u2014 ${Math.round(X)}/100 \xB7 decocms`:`${Z} commerce report \xB7 decocms`,J=`See the full ${Z} scorecard \u2014 SEO, performance, conversion & AEO signals scored by decocms.`,W=Y?.trim()?W_$(`${Y.trim().replace(/\s+/g," ")} \u2014 ${J}`,200):W_$(`How does ${G} really perform? ${J}`,200);return{title:Q,description:W}}import{join as R44}from"path";function vw($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function q44($){let Z=$z0($),G=K_$(Z),X=U_$(Z,128),Q=`${(O1().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Z)}`,{title:J,description:W}=w_$({brand:G,domain:Z});return[`<title>${vw(J)}</title>`,`<meta name="description" content="${vw(W)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${vw(J)}" />`,`<meta property="og:description" content="${vw(W)}" />`,`<meta property="og:url" content="${vw(Q)}" />`,'<meta name="twitter:card" content="summary" />',`<meta name="twitter:title" content="${vw(J)}" />`,`<meta name="twitter:description" content="${vw(W)}" />`,`<link rel="canonical" href="${vw(Q)}" />`,`<link rel="icon" href="${vw(X)}" sizes="any" />`].join(`
|
|
2740
2740
|
`)}function M44($,Z){return $.replace(/<title>[\s\S]*?<\/title>\s*/i,"").replace(/<meta\s+name="(?:description|twitter:[^"]*)"[^>]*>\s*/gi,"").replace(/<meta\s+property="og:[^"]*"[^>]*>\s*/gi,"").replace(/<link\s+rel="icon"[^>]*>\s*/gi,"").replace("</head>",` ${Z}
|
|
2741
2741
|
</head>`)}function F_$($){let Z=new V1;return Z.get("/:domain",async(G)=>{let X=G.req.param("domain"),Y=$?R44($,"index.html"):null,Q=Y?Bun.file(Y):null;if(!Q||!await Q.exists())return G.notFound();let J=await Q.text();try{let W=q44(X);return G.html(M44(J,W),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return G.html(J)}}),Z}var H_$=O(()=>{o8();F8()});import{z as Q1}from"zod";var IC,k44,S44,V44,C44,N_$;var B_$=O(()=>{IC=Q1.enum(["good","bad","neutral"]),k44=Q1.preprocess(($)=>{if(Array.isArray($))return{kind:"text",value:$.find((G)=>G!==null&&typeof G!=="object")??""};return $!==null&&typeof $==="object"?$:{kind:"text",value:$}},Q1.object({kind:Q1.enum(["text","number","sparkline","badge","score"]).catch("text"),value:Q1.coerce.string().optional(),tone:IC.optional(),muted:Q1.boolean().optional(),delta:Q1.coerce.string().optional(),deltaDir:Q1.enum(["up","down","neutral"]).optional(),points:Q1.array(Q1.coerce.number()).optional(),label:Q1.coerce.string().optional()}).transform(($)=>{if($.kind==="badge"&&$.label==null)$.label=$.value??"";if($.kind==="score"){let Z=Number($.value);if(Number.isNaN(Z))return{...$,kind:"text"}}return $})),S44=Q1.preprocess(($)=>{let Z=$;if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&Array.isArray(Z.cells))Z=Z.cells;if(Array.isArray(Z)&&Z.length===1&&Array.isArray(Z[0]))Z=Z[0];if(Array.isArray(Z))return Z;if(Z&&typeof Z==="object")return Object.values(Z);return Z},Q1.array(k44)),V44={key:Q1.coerce.string(),title:Q1.coerce.string(),eyebrow:Q1.coerce.string().optional(),headline:Q1.coerce.string(),annotation:Q1.coerce.string().optional(),methodology:Q1.coerce.string().optional(),sources:Q1.array(Q1.object({name:Q1.coerce.string(),logoUrl:Q1.coerce.string()})).optional()},C44=Q1.discriminatedUnion("template",[Q1.object({template:Q1.literal("cover"),score:Q1.object({value:Q1.coerce.number(),max:Q1.coerce.number().optional(),grade:Q1.coerce.string().optional(),label:Q1.coerce.string().optional()}).optional(),brandImage:Q1.coerce.string().optional(),screenshot:Q1.coerce.string().optional(),mobileScreenshot:Q1.coerce.string().optional()}),Q1.object({template:Q1.literal("cta"),ctaUrl:Q1.coerce.string().optional(),ctaLabel:Q1.coerce.string().optional(),bullets:Q1.array(Q1.coerce.string()).optional()}),Q1.object({template:Q1.literal("series"),points:Q1.array(Q1.coerce.number()).min(2),xLabels:Q1.array(Q1.coerce.string()).min(1),unit:Q1.coerce.string().optional(),callout:Q1.object({index:Q1.coerce.number(),value:Q1.coerce.string(),tone:IC.optional()})}),Q1.object({template:Q1.literal("threshold"),value:Q1.coerce.string().default(""),metricLabel:Q1.coerce.string().optional(),ratio:Q1.coerce.number(),thresholdRatio:Q1.coerce.number().optional(),thresholdLabel:Q1.coerce.string().default(""),tone:IC.optional()}),Q1.object({template:Q1.literal("stats"),stats:Q1.array(Q1.object({value:Q1.coerce.string(),label:Q1.coerce.string(),tone:IC.optional()})).min(1)}),Q1.object({template:Q1.literal("bars"),items:Q1.array(Q1.object({value:Q1.coerce.string(),label:Q1.coerce.string(),ratio:Q1.coerce.number(),tone:IC.optional()})).min(1)}),Q1.object({template:Q1.literal("gauges"),gauges:Q1.array(Q1.object({label:Q1.coerce.string(),value:Q1.coerce.string(),status:Q1.enum(["good","warn","bad"]).catch("warn"),caption:Q1.coerce.string().optional(),ratio:Q1.coerce.number().optional()})).min(1)}),Q1.object({template:Q1.literal("checklist"),checks:Q1.array(Q1.object({label:Q1.coerce.string(),status:Q1.enum(["pass","fail","warn"]).catch("fail"),value:Q1.coerce.string().optional()})).min(1)}),Q1.object({template:Q1.literal("table"),columns:Q1.array(Q1.object({label:Q1.coerce.string(),align:Q1.enum(["left","right"]).optional()})).min(1),rows:Q1.array(S44).min(1),highlightRow:Q1.coerce.number().optional()}),Q1.object({template:Q1.literal("products"),products:Q1.array(Q1.object({name:Q1.coerce.string(),price:Q1.coerce.string().optional(),image:Q1.coerce.string().optional(),url:Q1.coerce.string().optional()})).min(1)}),Q1.object({template:Q1.literal("list"),entries:Q1.array(Q1.object({label:Q1.coerce.string(),severity:Q1.enum(["error","warning","notice"]).catch("notice")})).min(1),moreCount:Q1.coerce.number().optional()}),Q1.object({template:Q1.literal("keywords"),volumeLabel:Q1.coerce.string().optional(),keywords:Q1.array(Q1.object({term:Q1.coerce.string(),volume:Q1.coerce.string(),position:Q1.coerce.number().catch(0)})).min(1)}),Q1.object({template:Q1.literal("competitor"),metricLabel:Q1.coerce.string().optional(),competitors:Q1.array(Q1.object({name:Q1.coerce.string(),value:Q1.coerce.string(),tone:IC.optional(),isYou:Q1.boolean().optional()})).min(1)}),Q1.object({template:Q1.literal("scorecard"),rivalLabel:Q1.coerce.string().optional(),dimensions:Q1.array(Q1.object({label:Q1.coerce.string(),you:Q1.coerce.string(),rival:Q1.coerce.string().optional(),rivalName:Q1.coerce.string().optional(),tone:IC.optional()})).min(1)})]),N_$=Q1.object({...V44,template:C44})});function O_$($){let Z=[],G=[...$.sections].sort((X,Y)=>X.position-Y.position).map((X)=>{let Y=N_$.safeParse(X.props);if(Y.success)return Y.data;let Q=Y.error.issues[0];return Z.push({section_type:X.section_type,position:X.position,reason:Q?`${Q.path.join(".")||"(root)"}: ${Q.message}`:"contract violation"}),null}).filter((X)=>X!==null);return{deck:{meta:{...$.meta,scores:$.summary?.scores},slides:G},drops:Z}}var D_$=O(()=>{B_$()});function Dr($,Z){return fetch(`${wD({})}${$}`,Z)}async function _44($,Z){let G=await Dr(`/api/v2/public/diagnostics/${encodeURIComponent($)}`+(Z?`?pw=${encodeURIComponent(Z)}`:""),{headers:{Accept:"application/json"}});if(G.status===404)return{status:"not_found",deck:null,scanned_at:null,drops:[]};if(!G.ok)throw Error(`report read HTTP ${G.status}`);let X=await G.json(),{deck:Y,drops:Q}=O_$(X);return{status:Y.slides.length?"ready":"empty",deck:Y,scanned_at:X.scanned_at,drops:Q}}var f44,RC,E_$;var L_$=O(()=>{o8();AY();wb();D_$();f44=new Set(["complete","errored","terminated","unknown"]),RC=new V1;RC.use("*",async($,Z)=>{let G=await G8.api.getSession({headers:$.req.raw.headers});if(!G?.user?.id)return $.json({error:"Authentication required"},401,{"Cache-Control":"private, no-store",Vary:"Cookie"});$.set("reportUser",{email:G.user.email}),await Z(),$.header("Cache-Control","private, no-store"),$.header("Vary","Cookie");return});RC.get("/site/:domain",async($)=>{let Z=$.req.param("domain").trim();if(!Z)return $.json({error:"domain is required"},400);let G=$.req.query("key")?.trim()||void 0;try{let X=await _44(Z,G);return $.header("Cache-Control","private, no-store"),$.json(X)}catch{return $.json({error:"report read failed"},502)}});RC.post("/run",async($)=>{let Z;try{Z=await $.req.json()}catch{return $.json({error:"invalid JSON"},400)}let G=typeof Z.domain==="string"?Z.domain.trim():"";if(!G)return $.json({error:"domain is required"},400);let X=$.get("reportUser").email,Y=typeof Z.distinctId==="string"&&Z.distinctId.trim()&&Z.distinctId.length<=200?Z.distinctId.trim():void 0;try{let Q=await Dr("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${FD({})}`},body:JSON.stringify({url:G,email:X,distinct_id:Y})});if(!Q.ok)return $.json({error:`run HTTP ${Q.status}`},502);let J=await Q.json(),W=J.blocked?{state:"blocked"}:J.status==="fresh"?{state:"fresh"}:J.mode==="sync"?{state:"sync"}:{state:"running",id:J.id??null};return $.json(W)}catch{return $.json({error:"run failed"},502)}});RC.get("/status",async($)=>{let Z=$.req.query("id");if(!Z)return $.json({error:"id is required"},400);try{let G=await Dr(`/api/v2/diagnostics/status?id=${encodeURIComponent(Z)}`,{headers:{Authorization:`Bearer ${FD({})}`}});if(!G.ok)return $.json({error:`status HTTP ${G.status}`},502);let Y=(await G.json()).status??"unknown",Q={done:f44.has(Y),status:Y};return $.json(Q)}catch{return $.json({error:"status failed"},502)}});RC.get("/link-token/:id",async($)=>{let Z=$.req.param("id");try{let G=await Dr(`/api/v2/public/link-tokens/${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"}});if(G.status===404)return $.json(null);if(!G.ok)return $.json({error:`link token HTTP ${G.status}`},502);return $.json(await G.json())}catch{return $.json({error:"link token resolve failed"},502)}});RC.get("/suggest",async($)=>{let Z=($.req.query("q")??"").trim().slice(0,64);if(Z.length<2)return $.json({suggestions:[]});try{let G=await Dr(`/api/v2/public/suggest?q=${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"}});if(!G.ok)return $.json({suggestions:[]});let X=await G.json();return $.json({suggestions:Array.isArray(X.suggestions)?X.suggestions:[]})}catch{return $.json({suggestions:[]})}});E_$=RC});function z_$($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var j_$,b44,x44,P_$;var A_$=O(()=>{o8();x3();ev();vf();j_$=new V1,b44=["range","if-none-match","if-modified-since"],x44=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];j_$.get("/:org/files/*",async($)=>{let Z=$.get("studioContext"),G=Z.organization?.id;if(!Z.auth?.user?.id){if(Ng($))return $.redirect(`/login?next=${encodeURIComponent($.req.path)}`,302);throw new P$(401,{message:"Authentication required"})}if(!G)throw new P$(401,{message:"Organization context required"});let X=$.req.path.replace(/^.*\/files\//,"");if(!X)throw new P$(400,{message:"Missing file key"});let Y=await Wp(X,Z);if(!Y)throw new P$(503,{message:"Object storage not configured"});if(Y.startsWith("data:")&&b3()){let K=Y.match(/^data:([^;]+);base64,(.+)$/s);if(!K)throw new P$(500,{message:"Invalid data URL from storage"});let[,U,w]=K,F=Buffer.from(w,"base64"),H=new Headers({"Content-Type":U,"Cache-Control":"private, max-age=86400"});return z_$(H,U),new Response(F,{status:200,headers:H})}let Q=new Headers;for(let K of b44){let U=$.req.header(K);if(U)Q.set(K,U)}let J=await fetch(Y,{headers:Q});if(J.status===403||J.status===404)throw new P$(404,{message:"File not found"});if(!J.ok&&J.status!==304&&J.status!==416)throw console.error(`[files] upstream storage error ${J.status} for key:`,X),new P$(502,{message:"Upstream storage error"});let W=new Headers;for(let K of x44){let U=J.headers.get(K);if(U)W.set(K,U)}return W.set("Cache-Control","private, max-age=86400"),z_$(W,W.get("content-type")??""),new Response(J.body,{status:J.status,headers:W})});P_$=j_$});var Er=_((qC)=>{var v44=qC&&qC.__createBinding||(Object.create?function($,Z,G,X){if(X===void 0)X=G;var Y=Object.getOwnPropertyDescriptor(Z,G);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[G]}};Object.defineProperty($,X,Y)}:function($,Z,G,X){if(X===void 0)X=G;$[X]=Z[G]}),y44=qC&&qC.__exportStar||function($,Z){for(var G in $)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(Z,G))v44(Z,$,G)};Object.defineProperty(qC,"__esModule",{value:!0});y44(tX(),qC)});var R_$=_((T_$)=>{Object.defineProperty(T_$,"__esModule",{value:!0});T_$.version=void 0;T_$.version="3.4.0"});var k_$=_((jK)=>{var g44=jK&&jK.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(jK,"__esModule",{value:!0});jK.NodeTransport=jK.VERSION=void 0;jK.nodeResolveHost=m44;var i4=Er(),h44=u0("net"),E81=u0("tls"),c44=u0("path"),q_$=u0("fs"),u44=g44(u0("dns")),d44=R_$();jK.VERSION=d44.version;var l44="nats.js";class M_${socket;version;lang;yields=[];signal=(0,i4.deferred)();closedNotification=(0,i4.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=l44,this.version=jK.VERSION}async connect($,Z){this.tlsName=$.tlsName,this.options=Z;let{tls:G}=this.options,{handshakeFirst:X}=G||{};try{if(X===!0)this.socket=await this.tlsFirst($);else this.socket=await this.dial($);if(this.done)this.socket?.destroy();let Y=await this.peekInfo();(0,i4.checkOptions)(Y,Z);let{tls_required:Q,tls_available:J}=Y,W=J===!0&&Z.tls!==null;if(!X&&(Q||W))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if(Q&&this.socket.encrypted!==!0)throw i4.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(Y){let Q=Y;if(!Q)Q=new i4.errors.ConnectionError("error connecting - node provided an undefined error");let{code:J}=Q,W=J==="ECONNREFUSED"?new i4.errors.ConnectionError("connection refused",{cause:Q}):Q;throw this.socket?.destroy(),W}}dial($){let Z=(0,i4.deferred)(),G,X=(0,h44.createConnection)($.port,$.hostname,()=>{Z.resolve(X),X.removeAllListeners()});return X.on("error",(Y)=>{G=Y}),X.on("close",()=>{X.removeAllListeners(),Z.reject(G)}),X.setNoDelay(!0),Z}get isClosed(){return this.done}close($){return this._closed($,!1)}peekInfo(){let $=(0,i4.deferred)(),Z;return this.socket.on("data",(G)=>{this.yields.push(G);let X=i4.DataBuffer.concat(...this.yields),Y=(0,i4.extractProtocolMessage)(X);if(Y!=="")try{let Q=i4.INFO.exec(Y);if(!Q)throw Error("unexpected response from server");let J=JSON.parse(Q[1]);$.resolve(J)}catch(Q){$.reject(Q)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(G)=>{Z=G}),this.socket.on("close",()=>{this.socket.removeAllListeners(),$.reject(Z)}),$}loadFile($){if(!$)return Promise.resolve();let Z=(0,i4.deferred)();try{if($=(0,c44.resolve)($),!(0,q_$.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,q_$.readFile)($,(G,X)=>{if(G)return Z.reject(G);Z.resolve(X)})}catch(G){Z.reject(G)}return Z}async loadClientCerts(){let $={},{certFile:Z,cert:G,caFile:X,ca:Y,keyFile:Q,key:J}=this.options.tls;try{if(Z){let W=await this.loadFile(Z);if(W)$.cert=W}else if(G)$.cert=G;if(Q){let W=await this.loadFile(Q);if(W)$.key=W}else if(J)$.key=J;if(X){let W=await this.loadFile(X);if(W)$.ca=[W]}else if(Y)$.ca=Y;return Promise.resolve($)}catch(W){return Promise.reject(W)}}async tlsFirst($){let Z,G={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)G.socket=this.socket;if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};G=(0,i4.extend)(G,this.options.tls,Y)}catch(Y){return Promise.reject(new i4.errors.ConnectionError(Y.message,{cause:Y}))}let X=(0,i4.deferred)();try{let Y=(0,E81.connect)($.port,$.hostname,G,()=>{Y.removeAllListeners(),X.resolve(Y)});Y.on("error",(Q)=>{Z=Q}),Y.on("secureConnect",()=>{if(G.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{X.reject(Z),Y.removeAllListeners()}),Y.setNoDelay(!0)}catch(Y){X.reject(new i4.errors.ConnectionError(Y.message,{cause:Y}))}return X}async startTLS(){let $,Z={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let X=await this.loadClientCerts()||{};Z=(0,i4.extend)(Z,this.options.tls,X)}catch(X){return Promise.reject(new i4.errors.ConnectionError(X.message,{cause:X}))}let G=(0,i4.deferred)();try{let X=(0,E81.connect)(Z,()=>{X.removeAllListeners(),G.resolve(X)});X.on("error",(Y)=>{$=Y}),X.on("secureConnect",()=>{if(Z.rejectUnauthorized===!1)return;if(!X.authorized)throw X.authorizationError}),X.on("close",()=>{G.reject($),X.removeAllListeners()})}catch(X){G.reject(new i4.errors.ConnectionError(X.message,{cause:X}))}return G}setupHandlers(){let $;this.socket.on("data",(Z)=>{return this.yields.push(Z),this.signal.resolve()}),this.socket.on("error",(Z)=>{$=Z}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed($,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let $=this.yields;this.yields=[];for(let Z=0;Z<$.length;Z++){if(this.options.debug)console.info(`> ${(0,i4.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,i4.deferred)()}}discard(){if(this.done=!0,this.socket)try{this.socket.removeAllListeners(),this.socket.destroy()}catch{}}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof E81.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,i4.render)($)}`);let Z=(0,i4.deferred)();try{this.socket.write($,(G)=>{if(G){if(this.options.debug)console.error(`!!! ${(0,i4.render)($)}: ${G}`);return Z.reject(G)}return Z.resolve()})}catch(G){if(this.options.debug)console.error(`!!! ${(0,i4.render)($)}: ${G}`);Z.reject(G)}return Z}send($){this._send($).catch((G)=>{})}async _closed($,Z=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=$,!$&&this.socket&&Z)try{await this._send(new TextEncoder().encode(""))}catch(G){if(this.options.debug)console.log("transport close terminated with an error",G)}try{if(this.socket)this.socket.removeAllListeners(),this.socket?.destroy(),this.socket=void 0}catch(G){console.log(G)}this.done=!0,this.closedNotification.resolve(this.closeError)}closed(){return this.closedNotification}}jK.NodeTransport=M_$;function m44($){let Z=(0,i4.deferred)();return u44.default.lookup($,{all:!0},(G,X)=>{if(G){Z.reject(G);return}let Y=[];for(let Q of X)Y.push(Q.address);if(Y.length===0)Y.push($);Z.resolve(Y)}),Z}});var f_$=_((__$)=>{Object.defineProperty(__$,"__esModule",{value:!0});__$.connect=i44;var S_$=k_$(),V_$=Er(),C_$=Er();function i44($={}){if((0,C_$.hasWsProtocol)($))return Promise.reject(C_$.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,V_$.setTransportFactory)({factory:()=>{return new S_$.NodeTransport},dnsResolveFn:S_$.nodeResolveHost}),V_$.NatsConnectionImpl.connect($)}});var b_$=_((yw)=>{var p44=yw&&yw.__createBinding||(Object.create?function($,Z,G,X){if(X===void 0)X=G;var Y=Object.getOwnPropertyDescriptor(Z,G);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[G]}};Object.defineProperty($,X,Y)}:function($,Z,G,X){if(X===void 0)X=G;$[X]=Z[G]}),t44=yw&&yw.__exportStar||function($,Z){for(var G in $)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(Z,G))p44(Z,$,G)};Object.defineProperty(yw,"__esModule",{value:!0});yw.connect=void 0;var r44=f_$();Object.defineProperty(yw,"connect",{enumerable:!0,get:function(){return r44.connect}});t44(Er(),yw)});function g_$($){let Z=$?.connectFn??e44,G=null,X=null,Y=!1,Q=!1,J=!1,W=[];function K(){return G!==null&&!G.isClosed()&&!G.isDraining()&&!J}function U(){console.log(`[NatsProvider] fireReady: ${W.length} callbacks`);for(let H of W)try{H()}catch{}}function w(H){(async()=>{for await(let N of H.status())if(N.type==="disconnect")console.log("[NatsProvider] Disconnected"),J=!0;else if(N.type==="reconnect")console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),J=!1,X=null,U()})().catch(()=>{})}async function F(H,N){let B=0;while(!Q)try{G=await Z({servers:H,timeout:s44,reconnect:!0,maxReconnectAttempts:-1,...N?{authenticator:N}:{}}),console.log(`[NatsProvider] Connected to ${G.getServer()} after ${B} attempt(s)`),X=null,J=!1,w(G),U();return}catch{B++;let D=lX(a44,o44,B-1,2,0.5);await O8(D)}}return{init(H,N){if(Y)return;Y=!0,Q=!1;let B=N?.creds?x_$.credsAuthenticator(new TextEncoder().encode(N.creds)):void 0;F(H,B).catch(()=>{})},isConnected(){return K()},getConnection(){return K()?G:null},getJetStream(){if(!K())return null;if(!X)X=y_$.jetstream(G);return X},onReady(H){if(W.push(H),K())try{H()}catch{}},async drain(){if(Q=!0,Y=!1,X=null,J=!1,G){let H=G;G=null,await H.drain().catch(()=>{})}}}}function e44($){return v_$.connect($)}var x_$,v_$,y_$,o44=100,a44=3000,s44=3000;var h_$=O(()=>{d5();x_$=k(Qh(),1),v_$=k(b_$(),1),y_$=k(cB(),1)});function L81($,Z){return`${$}.${Z}`}class z81{cache;constructor($){this.cache=sy({ttlMs:$?.ttlMs??$54,maxSize:$?.maxSize??Z54})}async get($,Z){return this.cache.get(L81($,Z))??null}async set($,Z,G){this.cache.set(L81($,Z),G)}async invalidate($,Z){this.cache.delete(L81($,Z))}teardown(){this.cache.clear()}}var $54=600000,Z54=5000;var c_$=()=>{};function Zz0($,Z){return`${$}:${Z}`}function j81($){let Z=sy({ttlMs:$?.ttlMs??G54,maxSize:$?.maxSize??X54}),G=$?.getConnection,X=crypto.randomUUID(),Y=new TextEncoder,Q=new TextDecoder,J=null;function W(K,U){let w=G?.();if(!w)return;try{w.publish(u_$,Y.encode(JSON.stringify({organizationId:K,keyId:U,originId:X})))}catch(F){console.warn("[ProviderKeyCache] Publish failed (non-critical):",F)}}return{get(K,U){return Z.get(Zz0(K,U))},set(K,U,w){Z.set(Zz0(K,U),w)},invalidate(K,U){Z.delete(Zz0(K,U)),W(K,U)},start(){if(J)return;let K=G?.();if(!K)return;J=K.subscribe(u_$),(async()=>{for await(let U of J)try{let w=JSON.parse(Q.decode(U.data));if(w.originId===X)continue;Z.delete(Zz0(w.organizationId,w.keyId))}catch{}})().catch(console.error)},teardown(){J?.unsubscribe(),J=null,Z.clear()}}}var u_$="studio.ai-provider-keys.invalidate",G54=30000,X54=5000;var d_$=()=>{};class P81{options;sub=null;onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();constructor($){this.options=$}async start($){if($)this.onCancel=$;if(this.sub)return;if(!this.onCancel)return;let Z=this.options.getConnection();if(!Z)return;this.sub=Z.subscribe("mesh.decopilot.cancel");let G=new TextDecoder;(async()=>{for await(let X of this.sub)try{let Y=JSON.parse(G.decode(X.data));if(Y.originId===this.originId)continue;this.onCancel?.(Y.taskId)}catch{}})().catch(console.error)}broadcast($){if(/[.*>\s]/.test($)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.($);try{let Z=this.options.getConnection();if(!Z)return;Z.publish("mesh.decopilot.cancel",this.encoder.encode(JSON.stringify({taskId:$,originId:this.originId})))}catch(Z){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",Z)}}publishControlFrame($,Z){}async stop(){this.sub?.unsubscribe(),this.sub=null,this.onCancel=null}}var l_$=($)=>{let Z;return()=>Z??=$()},A81,T81;var m_$=O(()=>{N5();A81=l_$(()=>D8.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),T81=l_$(()=>D8.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function w54(){return{name:aU,subjects:[`${Fm0}.>`],storage:_J.StorageType.File,max_age:J54,max_bytes:K54,max_msgs_per_subject:U54,discard:_J.DiscardPolicy.Old,retention:_J.RetentionPolicy.Limits,duplicate_window:W54,num_replicas:1}}class p_${chunks=0;encodeMs=0;maxMs=0;bytes=0;windowStart=performance.now();constructor(){setInterval(()=>this.flush(),1e4).unref?.()}record($,Z){if(this.chunks++,this.encodeMs+=$,$>this.maxMs)this.maxMs=$;this.bytes+=Z}flush(){let $=performance.now(),Z=$-this.windowStart;if(this.chunks>0&&Z>0)console.warn(JSON.stringify({msg:"stream-encode-trace",windowMs:Math.round(Z),chunks:this.chunks,encodeMs:Math.round(this.encodeMs),pctOfLoop:+(this.encodeMs/Z*100).toFixed(1),maxChunkMs:+this.maxMs.toFixed(2),mbEncoded:+(this.bytes/1048576).toFixed(2)}));this.chunks=0,this.encodeMs=0,this.maxMs=0,this.bytes=0,this.windowStart=$}}function i_$($){let Z=n_$.headers();for(let[G,X]of Object.entries($))Z.set(G,X);return Z}function B54($,Z){let G=0;return{publish(X,Y,Q,J){X.publish(Y,Q,J?{headers:J}:void 0).catch((W)=>{if(G++,Q54().add(1,{"org.id":Z??"unknown"}),G===1||G%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${$} (${G} total):`,W)})},get errorCount(){return G}}}class I81{options;js=null;jsm=null;constructor($){this.options=$}async init(){let $=this.options.getConnection();if(!$){console.log("[Decopilot] StreamBuffer.init skipped: NATS not connected yet");return}let Z=this.options.getJetStreamManager?await this.options.getJetStreamManager():await _J.jetstreamManager($),G=w54();try{await Z.streams.info(aU),await Z.streams.update(aU,G)}catch(X){if(X instanceof Error&&X.message.includes("stream not found"))await Z.streams.add(G);else if(X instanceof Error&&/can ?not change.*storage|storage type/i.test(X.message))await Z.streams.delete(aU),await Z.streams.add(G);else throw X}this.js=this.options.getJetStream(),this.jsm=Z,console.log(`[Decopilot] StreamBuffer.init ${this.js?"ready":"degraded (js=null)"}`)}pump($,Z,G,X){let Y=this.js;if(!Y)return console.warn(`[Decopilot] pump: JetStream client unavailable for thread ${Z}; chunks NOT published to NATS`),Promise.resolve();let Q=B54(Z,X),J=!1,W=()=>{if(J)return;J=!0;let U=P4$(Z);Y.publish(U.subject,U.data).catch(()=>{})};G.addEventListener("abort",W,{once:!0});let K=(U)=>{let w=performance.now(),F=Nm0(U,{runId:Z}),H=performance.now()-w;if(A81().record(H),T81().add(1,{"org.id":X??"unknown"}),N54?.record(H,F.reduce((N,B)=>N+B.data.length,0)),F.length===0){console.warn(`[Decopilot] dropping oversized stream chunk for thread ${Z}`);return}for(let N of F)Q.publish(Y,N.subject,N.data,N.headers?i_$(N.headers):void 0)};return(async()=>{let U=$.getReader(),w=0,F=0,H;try{while(!0){let{done:N,value:B}=await U.read();if(N)break;if(K(B),F++,++w>=64)w=0,await new Promise((D)=>setImmediate(D))}}catch(N){H=N,console.warn(`[Decopilot] stream pump error for thread ${Z}:`,N?.message??N)}finally{if(U.releaseLock(),W(),H54)console.warn(JSON.stringify({msg:"decopilot-stream-diag",event:"pump-done",taskId:Z,publishedChunks:F,publishErrors:Q.errorCount}))}if(H!==void 0)throw H})()}async publishRawChunk($,Z,G){let X=this.js;if(!X)return!1;let Y=performance.now(),Q=Nm0(Z,{runId:$,dedup:G});if(A81().record(performance.now()-Y),T81().add(1),Q.length===0)return console.warn(`[Decopilot] dropping oversized raw chunk for thread ${$} (> MAX_CHUNKED_BYTES)`),!0;for(let J of Q)await X.publish(J.subject,J.data,{...J.headers?{headers:i_$(J.headers)}:{},...J.msgId?{msgID:J.msgId}:{}});return!0}async publishDone($,Z,G){let X=this.js;if(!X)return!1;let Y=j4$({runId:$,fenceToken:Z,finalSeq:G});return await X.publish(Y.subject,Y.data,{msgID:Y.msgId}),!0}async createTailStream($,Z,G){let X=this.js;if(!X)return console.warn(`[Decopilot] createTailStream: JetStream client unavailable for thread ${$}; no live tail`),null;let Y=G?.deliverPolicy==="new"?_J.DeliverPolicy.New:_J.DeliverPolicy.All,Q=G?.closeOnDone??!1,J=EN($),W;try{W=await(await X.consumers.get(aU,{filter_subjects:J,deliver_policy:Y})).consume()}catch(D){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",D?.message??D),null}let w=j90({messages:async function*(){try{for await(let D of W)yield{subject:D.subject,data:D.data,headers:D.headers}}finally{W.stop()}}(),onCancel:()=>W.stop()}).pipeThrough(E90()).pipeThrough(L90()).getReader(),F=!1,H=()=>{if(F)return;F=!0;try{w.releaseLock()}catch{}},N=!1,B=()=>{if(N)return;N=!0,W.stop(),w.cancel().catch(()=>{}),H()};return Z?.addEventListener("abort",B,{once:!0}),new ReadableStream({async pull(D){for(;;){let{done:E,value:L}=await w.read();if(E){B(),D.close();return}let z=L;if(z.kind==="done"){if(Q){B(),D.close();return}continue}D.enqueue(z.chunk);return}},cancel(){B()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(aU,{filter:EN($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var _J,n_$,Y54=($)=>{let Z;return()=>Z??=$()},Q54,J54=86400000000000,W54=120000000000,K54=4294967296,U54=500000,F54,H54,N54;var t_$=O(()=>{Om0();P90();Bm0();N5();m_$();_J=k(cB(),1),n_$=k(Qh(),1),Q54=Y54(()=>D8.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"}));F54=process.env.STREAM_ENCODE_TRACE==="1",H54=process.env.DECOPILOT_STREAM_TRACE==="1";N54=F54?new p_$:null});import{z as X8}from"zod";var r_$,o_$,PK,R81,a_$,s_$,e_$,$f$,O54,Zf$,Gf$,Xf$,Yf$,Qf$,D54,Jf$,PGZ,E54,L54=($)=>{return $.issues.map((Z)=>{return`${Z.path.length>0?Z.path.join("."):"frame"}: ${Z.message}`}).join("; ")},Wf$=($)=>{return new TextEncoder().encode(JSON.stringify($))},Kf$=($)=>{let Z;try{Z=JSON.parse(new TextDecoder().decode($))}catch(Q){throw TypeError("malformed JSON in tunnel frame",{cause:Q})}if(Z===null||typeof Z!=="object"||Array.isArray(Z))throw TypeError("frame must be an object");if(!("type"in Z))throw TypeError("frame type missing");let G=Z.type,X=typeof G==="string"?E54[G]:void 0;if(!X)throw TypeError(`unknown frame type: ${String(G)}`);let Y=X.safeParse(Z);if(!Y.success)throw TypeError(`invalid tunnel frame: ${L54(Y.error)}`);return Y.data};var Uf$=O(()=>{r_$=X8.string().regex(/^[A-Za-z0-9_-]*$/u),o_$=X8.array(X8.tuple([X8.string(),X8.string()])),PK=X8.string().regex(/^[A-Za-z0-9_-]+$/u),R81=X8.string().min(1),a_$=X8.object({type:X8.literal("request.start"),protocol:X8.literal("tunnel.v1"),requestId:PK,method:X8.string().min(1),url:X8.string().min(1),headers:o_$,replySubject:R81,bodySubject:R81.optional(),abortSubject:R81,deadlineUnixMs:X8.number().int().nonnegative().optional()}),s_$=X8.object({type:X8.literal("request.chunk"),requestId:PK,seq:X8.number().int().nonnegative(),data:r_$}),e_$=X8.object({type:X8.literal("request.end"),requestId:PK,seq:X8.number().int().nonnegative()}),$f$=X8.object({type:X8.literal("request.error"),requestId:PK,code:X8.string().min(1),message:X8.string()}),O54=X8.union([s_$,e_$,$f$]),Zf$=X8.object({type:X8.literal("response.ack"),requestId:PK}),Gf$=X8.object({type:X8.literal("response.start"),requestId:PK,status:X8.number().int().min(100).max(599),statusText:X8.string().optional(),headers:o_$}),Xf$=X8.object({type:X8.literal("response.chunk"),requestId:PK,seq:X8.number().int().nonnegative(),data:r_$}),Yf$=X8.object({type:X8.literal("response.end"),requestId:PK,seq:X8.number().int().nonnegative()}),Qf$=X8.object({type:X8.literal("response.error"),requestId:PK,code:X8.string().min(1),message:X8.string()}),D54=X8.union([Zf$,Gf$,Xf$,Yf$,Qf$]),Jf$=X8.object({type:X8.literal("abort"),requestId:PK,reason:X8.string().optional()}),PGZ=X8.union([a_$,O54,D54,Jf$]),E54={"request.start":a_$,"request.chunk":s_$,"request.end":e_$,"request.error":$f$,"response.ack":Zf$,"response.start":Gf$,"response.chunk":Xf$,"response.end":Yf$,"response.error":Qf$,abort:Jf$}});var z54=($)=>{return $.replaceAll("+","-").replaceAll("/","_").replaceAll("=","")},j54=($)=>{let Z=$.replaceAll("-","+").replaceAll("_","/"),G=(4-Z.length%4)%4;return Z+"=".repeat(G)},P54=($)=>{let Z=[];for(let G=0;G<$.length;G+=32768)Z.push(String.fromCharCode(...$.subarray(G,G+32768)));return Z.join("")},A54=($)=>{let Z=new Uint8Array($.length);for(let G=0;G<$.length;G+=32768){let X=$.slice(G,G+32768);Z.set(Uint8Array.from(X,(Y)=>Y.charCodeAt(0)),G)}return Z},wf$=($)=>{return z54(btoa(P54($)))},Ff$=($)=>{return A54(atob(j54($)))},T54;var Hf$=O(()=>{T54=class T54{#$=[];#Z;#G=!1;#Q=new Set;push($){if(this.#G)return;let Z=this.#Y();if(Z){Z.resolve({value:$,done:!1});return}this.#$.push($)}close(){if(this.#G)return;this.#G=!0,this.#X()}fail($){if(this.#G)return;this.#Z=$,this.#G=!0,this.#J($)}[Symbol.asyncIterator](){let $=!1,Z=new Set;return{next:()=>{if($)return Promise.resolve({value:void 0,done:!0});if(this.#$.length>0)return Promise.resolve({value:this.#$.shift(),done:!1});if(this.#Z)return Promise.reject(this.#Z);if(this.#G)return Promise.resolve({value:void 0,done:!0});return new Promise((G,X)=>{let Y;Y={resolve:(Q)=>{Z.delete(Y),G(Q)},reject:(Q)=>{Z.delete(Y),X(Q)}},Z.add(Y),this.#Q.add(Y)})},return:()=>{$=!0;for(let G of Z)this.#Q.delete(G),G.resolve({value:void 0,done:!0});return Z.clear(),Promise.resolve({value:void 0,done:!0})}}}#Y(){for(let $ of this.#Q)return this.#Q.delete($),$;return}#X(){for(let $ of this.#Q)$.resolve({value:void 0,done:!0});this.#Q.clear()}#J($){for(let Z of this.#Q)Z.reject($);this.#Q.clear()}}});function*f54($,Z){for(let G=0;G<$.length;G+=Z)yield $.subarray(G,G+Z)}class u54{maxSize;ttlMs;now;#$=new Map;constructor($,Z,G=Date.now){this.maxSize=$;this.ttlMs=Z;this.now=G}get($){let Z=this.#$.get($);if(!Z)return;if(Z.expiresAt<=this.now()){this.#$.delete($);return}return Z.value}has($){return this.get($)!==void 0}set($,Z){let G=this.now();this.prune(G),this.#$.delete($),this.#$.set($,{value:Z,expiresAt:G+this.ttlMs});while(this.#$.size>this.maxSize){let X=this.#$.keys().next().value;if(X===void 0)return;this.#$.delete(X)}}take($){let Z=this.get($);return this.#$.delete($),Z}clear(){this.#$.clear()}prune($){for(let[Z,G]of this.#$)if(G.expiresAt<=$)this.#$.delete(Z)}}var I54=30000,R54=1000,q54=65536,aQ,M54=($)=>{return"connection"in $},k54=($)=>{let Z=M54($)?$:{connection:$};return{connection:Z.connection,timeoutMs:Z.timeoutMs??0,firstFrameTimeoutMs:Z.firstFrameTimeoutMs??I54,idleTimeoutMs:Z.idleTimeoutMs??0,republishIntervalMs:Z.republishIntervalMs??R54,maxChunkBytes:Z.maxChunkBytes??q54,diagnostics:Z.diagnostics}},Nf$=($)=>{return Array.from($.entries())},S54=($)=>{return $!==void 0&&!($ instanceof Headers)&&typeof $!=="function"&&typeof $[Symbol.iterator]==="function"},V54=($,Z,G)=>{if(S54(Z?.headers))return Array.from(Z?.headers,([X,Y])=>[String(X),String(Y)]);if($ instanceof Request)return Nf$(G.headers);return Nf$(G.headers)},Bf$=($)=>{let Z=new Headers;for(let[G,X]of $)Z.append(G,X);return Z},C54=()=>{return crypto.randomUUID().replaceAll("-","")},_54=($)=>{try{$?.unsubscribe()}catch{}},b54=($)=>{if(!Number.isSafeInteger($)||$<1)throw TypeError("maxChunkBytes must be a positive safe integer")},x54=($,Z)=>{return $==="HEAD"||Z===204||Z===205||Z===304},TB=($,Z,G)=>{$.publish(Z,Wf$(G))},v54=($)=>{return $.type.startsWith("response.")},q81=($)=>{let Z=$.reason;if(Z instanceof Error)return Z.message;if(typeof Z==="string")return Z;return"aborted"},y54=($)=>{if($==="idle")return new aQ("tunnel_idle_timeout","no response frame within idleTimeoutMs");return new aQ("tunnel_no_first_frame","no response frame arrived before firstFrameTimeoutMs")},Of$=async($,Z,G,X,Y="first_frame")=>{while(!0){let Q,J;try{let W=await Promise.race([$.next(),new Promise((U,w)=>{if(X.aborted){w(X.reason);return}let F=()=>w(X.reason);J=()=>{X.removeEventListener("abort",F)},X.addEventListener("abort",F,{once:!0})}),...G>0?[new Promise((U,w)=>{Q=setTimeout(()=>{w(y54(Y))},G)})]:[]]);if(W.done)return{value:void 0,done:!0};let K=Kf$(W.value.data);if(!v54(K)||K.requestId!==Z)continue;return{value:K,done:!1}}finally{if(J?.(),Q)clearTimeout(Q)}}},g54=async($)=>{let Z=!1;while(!0){let G=await Of$($.iterator,$.requestId,Z?0:$.firstFrameTimeoutMs,$.signal);if(G.done)throw new aQ("tunnel_response_closed","response subscription closed before response.start");if(!Z)Z=!0,$.onFirstResponseFrame();if(G.value.type==="response.ack")continue;if(G.value.type==="response.start")return G.value;if(G.value.type==="response.error")throw new aQ(G.value.code,G.value.message);throw new aQ("tunnel_unexpected_response_frame",`expected response.start, got ${G.value.type}`)}},h54=async($)=>{let Z=$.body.getReader(),G=0,X=!1,Y=()=>{X=!0,Z.cancel($.signal.reason).catch(()=>{})};try{if($.signal.aborted){Y();return}$.signal.addEventListener("abort",Y,{once:!0});while(!0){let{done:Q,value:J}=await Z.read();if(X)return;if(Q){TB($.connection,$.subject,{type:"request.end",requestId:$.requestId,seq:G});return}for(let W of f54(J,$.maxChunkBytes)){if(X)return;TB($.connection,$.subject,{type:"request.chunk",requestId:$.requestId,seq:G,data:wf$(W)}),G++}}}catch(Q){if(X)return;TB($.connection,$.subject,{type:"request.error",requestId:$.requestId,code:"tunnel_request_body_error",message:Q instanceof Error?Q.message:String(Q)})}finally{$.signal.removeEventListener("abort",Y),Z.releaseLock()}},c54=($)=>{return new ReadableStream({async pull(Z){while(!0)try{let G=await Of$($.iterator,$.requestId,$.idleTimeoutMs,$.signal,"idle");if(G.done){Z.error(new aQ("tunnel_response_closed","response subscription closed before response.end")),$.cleanup();return}let X=G.value;if(X.type==="response.ack"||X.type==="response.start")continue;if(X.type==="response.chunk"){Z.enqueue(Ff$(X.data));return}if(X.type==="response.end"){Z.close(),$.cleanup();return}Z.error(new aQ(X.code,X.message)),$.cleanup();return}catch(G){Z.error(G),$.cleanup();return}},cancel(){TB($.connection,$.abortSubject,{type:"abort",requestId:$.requestId,reason:"response_body_cancelled"}),$.cleanup()}},{highWaterMark:0})},IB=($)=>{let Z=k54($);return b54(Z.maxChunkBytes),async(G,X)=>{let Y=qC$(G),Q=new Request(G,X),J=C54(),W=MC$(Y.hostname,J),K=new AbortController,U=new AbortController,w=!1,F,H,N,B,D=!1,E=(P=new aQ("tunnel_closed","tunnel request closed"))=>{if(w)return;if(w=!0,_54(F),Q.body&&!D)Q.body.cancel(P).catch(()=>{});if(U.abort(P),K.abort(P),N)clearInterval(N);if(B)clearTimeout(B);Q.signal.removeEventListener("abort",L)},L=()=>{let P=new aQ("tunnel_aborted",q81(Q.signal));TB(Z.connection,W.abort,{type:"abort",requestId:J,reason:q81(Q.signal)}),K.abort(P),E(P)};if(Q.signal.aborted)throw new aQ("tunnel_aborted",q81(Q.signal));if(F=Z.connection.subscribe(W.reply),H=F[Symbol.asyncIterator](),Q.signal.addEventListener("abort",L,{once:!0}),Z.timeoutMs>0)B=setTimeout(()=>{let P=new aQ("tunnel_timeout",`tunnel request timed out after ${Z.timeoutMs}ms`);TB(Z.connection,W.abort,{type:"abort",requestId:J,reason:"tunnel_timeout"}),K.abort(P),E(P)},Z.timeoutMs);let z={type:"request.start",protocol:"tunnel.v1",requestId:J,method:Q.method,url:Y.pathWithSearch,headers:V54(G,X,Q),replySubject:W.reply,abortSubject:W.abort,...Q.body?{bodySubject:W.body}:{},...Z.timeoutMs>0?{deadlineUnixMs:Date.now()+Z.timeoutMs}:{}};TB(Z.connection,W.request,z),N=Z.republishIntervalMs>0?setInterval(()=>{if(!D)TB(Z.connection,W.request,z)},Z.republishIntervalMs):void 0;let j=()=>{if(D)return;D=!0,(Q.body?h54({connection:Z.connection,subject:W.body,requestId:J,body:Q.body,maxChunkBytes:Z.maxChunkBytes,signal:U.signal}):void 0)?.catch((A)=>{Z.diagnostics?.({event:"request_body_error",requestId:J,subject:W.body,error:A instanceof Error?A.message:String(A)})})};try{let P=await g54({iterator:H,requestId:J,firstFrameTimeoutMs:Z.firstFrameTimeoutMs,signal:K.signal,onFirstResponseFrame:()=>{if(N)clearInterval(N);j()}});if(x54(Q.method,P.status))return E(),new Response(null,{status:P.status,statusText:P.statusText,headers:Bf$(P.headers)});return new Response(c54({connection:Z.connection,abortSubject:W.abort,iterator:H,requestId:J,idleTimeoutMs:Z.idleTimeoutMs,signal:K.signal,cleanup:E}),{status:P.status,statusText:P.statusText,headers:Bf$(P.headers)})}catch(P){throw E(P instanceof Error?P:Error(String(P))),P}}};var Df$=O(()=>{Uf$();Hf$();oL0();aQ=class aQ extends Error{code;constructor($,Z,G){super(`${$}: ${Z}`,G);this.code=$;this.name="TunnelTransportError"}}});var Gz0=O(()=>{Df$()});function Ef$($){let Z=$.createFetch??d54,G=$.timeoutMs??2000;return async(X)=>{try{let Y=$.getConnection();if(!Y)return M81;let Q=VJ(X),W=await Z(Y,G)(`tunnel://${Q}/api/links/status`,{method:"GET"});if(!W.ok)return M81;let K=await W.json();return{online:!0,hostname:K.hostname,capabilities:K.capabilities??[],cliVersion:K.cliVersion}}catch{return M81}}}var M81,d54=($,Z)=>IB({connection:$,firstFrameTimeoutMs:Z});var Lf$=O(()=>{Gz0();Br();M81={online:!1,capabilities:[]}});async function*l54($){if(!$.body){yield{headers:{status:$.status,headers:Object.fromEntries($.headers.entries())}};return}let Z=$.body.getReader(),G=!1;try{yield{headers:{status:$.status,headers:Object.fromEntries($.headers.entries())}};while(!0){let{done:X,value:Y}=await Z.read();if(X){G=!0;return}yield{data:Buffer.from(Y).toString("base64")}}}finally{try{if(!G)await Z.cancel()}catch{}finally{Z.releaseLock()}}}function zf$($){let Z=$.createFetch??((G)=>IB({connection:G,idleTimeoutMs:m54}));return async function*(X,Y,Q){let J=$.getConnection();if(!J)throw Error("link_unavailable: NATS unavailable");let W=VJ(X),K=Z(J),U={method:Y.method,headers:Y.headers,signal:Q?.signal};if(Y.body!=null)U.body=Y.body;let w=await K(`tunnel://${W}${Y.path}`,U);yield*l54(w)}}var m54=45000;var jf$=O(()=>{Gz0();Br()});import{z as fJ}from"zod";function Pf$($){return JSON.stringify($)}var oGZ;var Af$=O(()=>{oGZ=fJ.discriminatedUnion("type",[fJ.object({type:fJ.literal("cancel"),runId:fJ.string()}),fJ.object({type:fJ.literal("cancel_req"),reqId:fJ.string()}),fJ.object({type:fJ.literal("keep_alive")}),fJ.object({type:fJ.literal("shutdown")})])});function Tf$($){let Z=$.createFetch??((G)=>IB({connection:G,idleTimeoutMs:i54}));return{async publish(G,X,Y){let Q=$.getConnection();if(!Q)throw Error("link_unavailable: NATS unavailable");let J=VJ(G),K=await Z(Q)(`tunnel://${J}/api/links/work`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(X),signal:Y?.signal});if(!K.ok){let U=await K.text().catch(()=>"");throw Error(`tunnel work publish failed (${K.status})${U?`: ${U}`:""}`)}await K.body?.cancel().catch(()=>{})}}}function If$($){let Z=$.createFetch??IB;return{async publishControlFrame(G,X,Y){let Q=$.getConnection();if(!Q)throw Error("link_unavailable: NATS unavailable");let J=VJ(G),K=await Z(Q)(`tunnel://${J}/api/links/control`,{method:"POST",headers:{"content-type":"application/json"},body:Pf$(X),signal:Y?.signal});if(!K.ok){let U=await K.text().catch(()=>"");throw Error(`tunnel control publish failed (${K.status})${U?`: ${U}`:""}`)}await K.body?.cancel().catch(()=>{})}}}var i54=45000;var Rf$=O(()=>{Gz0();Af$();Br()});function Xz0($,Z,G,X){if(!X)return!1;return $.emit(Z,f3(G,X.status,{title:X.title??void 0,virtualMcpId:X.virtual_mcp_id??void 0,createdBy:X.created_by??void 0,triggerId:X.trigger_id??null,branch:X.branch??null,createdAt:X.created_at,updatedAt:X.updated_at})),!0}var qf$=O(()=>{L8()});class k81{storage;options;timer=null;constructor($,Z={}){this.storage=$;this.options=Z}start(){if(this.timer)return;let $=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},$)}async runOnce(){let $=this.options.staleAfterMs??3600000;try{let Z=await this.storage.sweepAbandoned($);if(Z>0)console.log(`[async-research-sweeper] marked ${Z} stale jobs as abandoned`);return Z}catch(Z){return console.error("[async-research-sweeper] sweep failed",Z),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}import{readdir as n54,rm as Yz0}from"fs/promises";import{join as Qz0}from"path";async function Jz0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-p54),Z.setUTCHours(0,0,0,0);let G=0;try{let X=await MC($);for(let Y of X)if(/^\d{4}$/.test(Y))G+=await Mf$($,Y,Z);else if(!Y.startsWith(".")){let Q=Qz0($,Y),J=await MC(Q);for(let K of J){if(!/^\d{4}$/.test(K))continue;G+=await Mf$(Q,K,Z)}if((await MC(Q)).length===0)await Yz0(Q,{recursive:!0,force:!0})}}catch(X){console.warn("monitoring retention cleanup failed:",X)}return G}async function Mf$($,Z,G){let X=0,Y=Qz0($,Z),Q=await MC(Y);for(let W of Q){if(!/^\d{2}$/.test(W))continue;let K=Qz0(Y,W),U=await MC(K);for(let F of U){if(!/^\d{2}$/.test(F))continue;let H=new Date(`${Z}-${W}-${F}T00:00:00Z`);if(isNaN(H.getTime()))continue;if(H<G){let N=Qz0(K,F);await Yz0(N,{recursive:!0,force:!0}),X++}}if((await MC(K)).length===0)await Yz0(K,{recursive:!0,force:!0})}if((await MC(Y)).length===0)await Yz0(Y,{recursive:!0,force:!0});return X}async function MC($){try{return(await n54($)).filter((G)=>!G.startsWith("."))}catch{return[]}}var p54=30;var S81=()=>{};import{DBOS as V81,SchedulerMode as t54}from"@dbos-inc/dbos-sdk";async function o54(){let $=[$3(),SC(),IK()],Z=0;for(let G of $)try{Z+=await Jz0(G)}catch(X){console.error("[monitoring-retention] cleanup failed:",X)}return console.log(`[monitoring-retention] deleted ${Z} day-dir(s) across ${$.length} signal dir(s)`),{deleted:Z,dirs:$.length}}async function a54($,Z){await V81.runStep(()=>o54(),{name:"monitoringRetention"})}function Sf$(){if(kf$)return;kf$=!0;let $=V81.registerWorkflow(a54,{name:"monitoringRetentionWorkflow"});V81.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:r54,mode:t54.ExactlyOncePerIntervalWhenActive})}var r54="23 4 * * *",kf$=!1;var Vf$=O(()=>{mX();S81()});function Cf$($){return async(Z,G)=>{let X=await $.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",G).where("member.organizationId","=",Z).executeTakeFirst();if(!X)return console.warn(`[automationContextFactory] User ${G} not found in org ${Z} \u2014 returning null`),null;let Y=await ZN.create();Y.auth.user={id:G,role:X.role},Y.organization={id:X.orgId,slug:X.orgSlug,name:X.orgName};let Q=await _u0($.db,Z,X.role);return Y.boundAuth=Cu0({auth:Y.authInstance,headers:new Headers,role:X.role,permissions:Q,userId:G}),Y.access=new yD(G,void 0,Y.boundAuth,X.role,"self"),s40(Y,{id:X.orgId,slug:X.orgSlug}),Y}}var _f$=O(()=>{gD();Vi()});function s54(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function $94(){for(let $ of e54)$()}function ff$($){let Z=[...C81.logs,$];C81={...C81,logs:Z.length>500?Z.slice(-500):Z},$94()}function _81(){return Z94}var C81,e54,Z94=!1;var f81=O(()=>{C81=s54(),e54=new Set});import{EventEmitter as G94}from"events";var b81;var bf$=O(()=>{f81();b81=new G94;b81.on("request",($)=>{ff$($)})});function xf$(){return async($,Z)=>{let G=Date.now(),X=$.req.method,Y=$.req.path;if(Y==="/api/auth/get-session"||Y.includes("favicon")){await Z();return}let Q="",J=!1;if(Y.startsWith("/mcp")&&X==="POST"){J=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let H=await $.req.raw.clone().json();if(H.method==="tools/call"&&H.params?.name){let N=bg(H.params.name),B=H.params.arguments||{},D=Object.keys(B).map((L)=>bg(L)),E=D.length>0?D.slice(0,3).join(",")+(D.length>3?"\u2026":""):"";Q=`${e4.tool}${N}${e4.dim}(${E})${e4.reset}`}else if(H.method)Q=`${e4.dim}${bg(H.method)}${e4.reset}`}}catch{}}let W=bg(Y);if(Y.startsWith("/mcp/conn_")){let w=Y.split("/")[2]??"";W=`/mcp/${e4.mcp}${bg(w.slice(0,12))}\u2026${e4.reset}`}else if(Y==="/mcp")W=`${e4.mcp}/mcp${e4.reset}`;else if(Y==="/mcp/registry")W=`${e4.mcp}/mcp/registry${e4.reset}`;let K=Y94(X),U=J?"\u25C0":"\u2190";if(!_81())console.log(`${e4.dim}${U}${e4.reset} ${K}${X}${e4.reset} ${W}${Q?` ${Q}`:""}`);try{await Z()}finally{let w=Date.now()-G,F=$.res.status,H=X94(F),N=w<1000?`${w}ms`:`${(w/1000).toFixed(1)}s`,B=J?"\u25B6":"\u2192";if(!_81())console.log(`${e4.dim}${B}${e4.reset} ${K}${X}${e4.reset} ${W}${Q?` ${Q}`:""} ${H}${F}${e4.reset} ${e4.duration}${N}${e4.reset}`);b81.emit("request",{method:X,path:bg(Y),status:F,duration:w,timestamp:new Date})}}}var e4,X94=($)=>{if($>=500)return e4.serverError;if($>=400)return e4.clientError;if($>=300)return e4.redirect;return e4.ok},Y94=($)=>{return e4[$]||e4.reset},bg=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var vf$=O(()=>{f81();bf$();e4={reset:"\x1B[0m",dim:"\x1B[2m",bold:"\x1B[1m",GET:"\x1B[36m",POST:"\x1B[33m",PUT:"\x1B[35m",DELETE:"\x1B[31m",ok:"\x1B[32m",redirect:"\x1B[36m",clientError:"\x1B[33m",serverError:"\x1B[31m",mcp:"\x1B[35m",tool:"\x1B[96m",duration:"\x1B[90m"}});import{createHmac as cf$}from"crypto";import{mkdir as Q94,readdir as J94,rm as yf$,stat as uf$}from"fs/promises";import{join as v81,relative as W94}from"path";import{z as T$}from"zod";function lf$($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return v81(K94,Z)}function mf$($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function x81($,Z){let G=lf$($),X=mf$(Z);return v81(G,X)}function U94($,Z,G,X){let Y=O1().encryptionKey||"dev-secret",Q=`${$}:${Z}:${G}:${X}`;return cf$("sha256",Y).update(Q).digest("hex")}function hf$($,Z,G,X,Y){let Q=Math.floor(Date.now()/1000)+X,J=U94(Z,G,Q,Y),W=new URL(`/api/dev-assets/${Z}/${mf$(G)}`,$);return W.searchParams.set("expires",Q.toString()),W.searchParams.set("signature",J),W.searchParams.set("method",Y),W.toString()}function if$($,Z,G){let X=`${$}:${Z.getTime()}:${G}`;return`"${cf$("md5","etag").update(X).digest("hex")}"`}async function nf$($,Z,G,X,Y){try{let Q=await J94($,{withFileTypes:!0});for(let J of Q){let W=v81($,J.name),U=W94(Z,W).replace(/\\/g,"/");if(G&&!U.startsWith(G))continue;if(J.isDirectory())if(X){let w=U+"/";if(!G||w.startsWith(G)){if(!(G?U.slice(G.length):U).includes("/"))Y.commonPrefixes.add(w)}}else await nf$(W,Z,G,X,Y);else if(J.isFile()){if(X&&G){let w=U.slice(G.length);if(w.includes(X)){let F=w.indexOf(X),H=G+w.slice(0,F+1);Y.commonPrefixes.add(H);continue}}try{let w=await uf$(W);Y.objects.push({key:U,size:w.size,lastModified:w.mtime.toISOString(),etag:if$(W,w.mtime,w.size)})}catch{}}}}catch{}}function pf$($,Z){let X=O0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:T$.object({prefix:T$.string().optional(),maxKeys:T$.number().optional().default(1000),continuationToken:T$.string().optional(),delimiter:T$.string().optional()}),outputSchema:T$.object({objects:T$.array(T$.object({key:T$.string(),size:T$.number(),lastModified:T$.string(),etag:T$.string()})),nextContinuationToken:T$.string().optional(),isTruncated:T$.boolean(),commonPrefixes:T$.array(T$.string()).optional()}),handler:async(Y)=>{let Q=Y,J=Q.prefix||"",W=Q.maxKeys??1000,K=Q.delimiter,U=Q.continuationToken,w=lf$(X);await Q94(w,{recursive:!0});let F={objects:[],commonPrefixes:new Set};await nf$(w,w,J,K,F),F.objects.sort((E,L)=>E.key.localeCompare(L.key));let H=0;if(U){if(H=F.objects.findIndex((E)=>E.key>U),H===-1)H=F.objects.length}let N=F.objects.slice(H,H+W),B=H+W<F.objects.length,D=B?N[N.length-1]?.key:void 0;return{objects:N,isTruncated:B,nextContinuationToken:D,commonPrefixes:Array.from(F.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:T$.object({key:T$.string()}),outputSchema:T$.object({contentType:T$.string().optional(),contentLength:T$.number(),lastModified:T$.string(),etag:T$.string(),metadata:T$.record(T$.string(),T$.string()).optional()}),handler:async(Y)=>{let Q=Y,J=x81(X,Q.key),W=await uf$(J);return{contentType:C11(Q.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:if$(J,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:T$.object({key:T$.string(),expiresIn:T$.number().optional()}),outputSchema:T$.object({url:T$.string(),expiresIn:T$.number()}),handler:async(Y)=>{let Q=Y,J=Q.expiresIn??gf$;return{url:hf$(Z,X,Q.key,J,"GET"),expiresIn:J}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:T$.object({key:T$.string(),expiresIn:T$.number().optional(),contentType:T$.string().optional()}),outputSchema:T$.object({url:T$.string(),expiresIn:T$.number()}),handler:async(Y)=>{let Q=Y,J=Q.expiresIn??gf$;return{url:hf$(Z,X,Q.key,J,"PUT"),expiresIn:J}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:T$.object({key:T$.string()}),outputSchema:T$.object({success:T$.boolean(),key:T$.string()}),handler:async(Y)=>{let Q=Y,J=x81(X,Q.key);try{return await yf$(J),{success:!0,key:Q.key}}catch{return{success:!1,key:Q.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:T$.object({keys:T$.array(T$.string()).max(1000)}),outputSchema:T$.object({deleted:T$.array(T$.string()),errors:T$.array(T$.object({key:T$.string(),message:T$.string()}))}),handler:async(Y)=>{let Q=Y,J=[],W=[];return await Promise.all(Q.keys.map(async(K)=>{let U=x81(X,K);try{await yf$(U),J.push(K)}catch(w){W.push({key:K,message:w instanceof Error?w.message:"Unknown error"})}})),{deleted:J,errors:W}}}]}async function y81($,Z,G){let X=pf$(Z,G),Y=new NU({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:L5});for(let J of X){let W="shape"in J.inputSchema?J.inputSchema.shape:T$.object({}).shape,K=J.outputSchema&&"shape"in J.outputSchema?J.outputSchema.shape:T$.object({}).shape;Y.registerTool(J.name,{description:J.description??"",inputSchema:W,outputSchema:K,annotations:J.annotations,_meta:J._meta},async(U)=>{try{let w=await J.handler(U);return{content:[{type:"text",text:JSON.stringify(w)}],structuredContent:w}}catch(w){return{content:[{type:"text",text:`Error: ${w.message}`}],isError:!0}}})}let Q=new vY({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await Y.connect(Q),oW(Y,Q,$,"mcp:dev-assets")}async function tf$($,Z,G,X){let Q=pf$(G,X).find((J)=>J.name===$);if(!Q)return{content:[{type:"text",text:`Tool not found: ${$}`}],isError:!0};try{let J=await Q.handler(Z);return{content:[{type:"text",text:JSON.stringify(J)}]}}catch(J){return{content:[{type:"text",text:J instanceof Error?J.message:String(J)}],isError:!0}}}var K94="./data/assets",gf$=3600,df$,rf$;var of$=O(()=>{F8();Fp();o8();gu();Xy();LG();DL0();df$=new V1;df$.all("/",async($)=>{let Z=$.get("studioContext"),G=new URL($.req.url),X=`${G.protocol}//${G.host}`;return y81($.req.raw,Z,X)});rf$=df$});var af$={};X6(af$,{mountDevRoutes:()=>w94});function w94($,Z){$.all("/mcp/:connectionId{.*_dev-assets$}",Z,async(X)=>{let Y=X.get("studioContext"),Q=new URL(X.req.url),J=`${Q.protocol}//${Q.host}`;return y81(X.req.raw,Y,J)}),$.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",Z,async(X)=>{let Y=X.get("studioContext"),Q=new URL(X.req.url),J=`${Q.protocol}//${Q.host}`,W=X.req.param("toolName");if(!W)return X.json({error:"Missing tool name"},400);let K=await X.req.json(),U=await tf$(W,K,Y,J);if(U.isError)return X.json(U.content,500);return X.json(U.content)}),$.use("/mcp/dev-assets",Z),$.route("/mcp/dev-assets",rf$);let G=new V1;G.use("*",tQ({mountPath:"/api/dev-assets"})),G.route("/",OL0({orgFromPath:!1})),$.route("/api/dev-assets",G)}var sf$=O(()=>{o8();T11();DL0();of$()});import{sql as F94}from"kysely";import{randomUUID as ef$}from"crypto";import{z as H94}from"zod";async function B94($){let Z=new Date().toISOString(),G=ef$(),X=i6.SELF($.organizationId),Y="registry.publish_request.created",Q={requestId:$.request.id,requestedId:$.request.requested_id,title:$.request.title,status:$.request.status,createdAt:$.request.created_at,requester:{name:$.request.requester_name,email:$.request.requester_email}};await $.db.insertInto("events").values({id:G,organization_id:$.organizationId,type:"registry.publish_request.created",source:X,specversion:"1.0",subject:$.request.id,time:Z,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(Q),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Z,updated_at:Z}).execute();let J=await $.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",$.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((W)=>W.or([W("publisher","is",null),W("publisher","=",X)])).execute();if(J.length>0)await $.db.insertInto("event_deliveries").values(J.map((W)=>({id:ef$(),event_id:G,subscription_id:W.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Z}))).execute();try{await F94`SELECT pg_notify('mesh_events', ${G})`.execute($.db)}catch{}}async function O94($,Z){let X=(await $.selectFrom("organization").select(["id"]).where("id","=",Z).execute())[0];if(X?.id)return X.id;return(await $.selectFrom("organization").select(["id"]).where("slug","=",Z).execute())[0]?.id??null}async function D94($,Z){let G=await $.selectFrom("virtual_mcp_plugin_configs").innerJoin("connections","connections.id","virtual_mcp_plugin_configs.virtual_mcp_id").select(["virtual_mcp_plugin_configs.settings as settings"]).where("connections.organization_id","=",Z).where("virtual_mcp_plugin_configs.plugin_id","=",QC).execute();for(let X of G){let Y=X.settings,Q=typeof Y==="string"?(()=>{try{return JSON.parse(Y)}catch{return{}}})():Y??{};if(Q.acceptPublishRequests===!0){let J=Q.rateLimitWindow==="minute"?"minute":"hour",W=Q.rateLimitMax,K=typeof W==="number"&&Number.isFinite(W)&&W>=1?Math.floor(W):Zb$;return{acceptPublishRequests:!0,requireApiToken:Q.requireApiToken===!0,rateLimitEnabled:Q.rateLimitEnabled===void 0?$b$:Q.rateLimitEnabled===!0,rateLimitWindow:J,rateLimitMax:K}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:$b$,rateLimitWindow:N94,rateLimitMax:Zb$}}async function E94($,Z,G){let X=G==="minute"?60000:3600000,Y=new Date(Date.now()-X).toISOString(),Q=await $.selectFrom("private_registry_publish_request").select((J)=>J.fn.countAll().as("count")).where("organization_id","=",Z).where("created_at",">=",Y).executeTakeFirst();return Number(Q?.count??0)}async function L94($,Z,G,X){let Y=await $.selectFrom("private_registry_item").select(["id","title"]).where("organization_id","=",Z).where((Q)=>Q.or([Q("id","=",G),Q("title","=",X)])).executeTakeFirst();return Y?{id:String(Y.id),title:String(Y.title)}:null}function Gb$($){let{db:Z,db:G}=$,X=new wx(G),Y=new Fx(G);return async(Q)=>{let J=Q.req.param("orgRef")??Q.req.param("org");if(!J)return Q.json({error:"Organization not found"},404);let W=await O94(Z,J);if(!W)return Q.json({error:"Organization not found"},404);let K=await D94(Z,W);if(!K.acceptPublishRequests)return Q.json({error:"Publish requests are not enabled for this registry."},403);if(K.requireApiToken){let N=Q.req.header("Authorization"),B=N?.startsWith("Bearer ")?N.slice(7).trim():null;if(!B)return Q.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await Y.validate(W,B))return Q.json({error:"Invalid API key"},401)}if(K.rateLimitEnabled){if(await E94(G,W,K.rateLimitWindow)>=K.rateLimitMax)return Q.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:K.rateLimitWindow==="minute"?60:3600},429)}let U;try{U=await Q.req.json()}catch{return Q.json({error:"Invalid JSON body"},400)}let w=IA$.safeParse(U);if(!w.success)return Q.json({error:"Invalid publish request payload",details:H94.treeifyError(w.error)},400);let F=await L94(G,W,w.data.data.id,w.data.data.title);if(F)return Q.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:F},409);let H=await X.createOrUpdate({organization_id:W,requested_id:w.data.data.id,title:w.data.data.title,description:w.data.data.description??null,_meta:w.data.data._meta,server:w.data.data.server,requester_name:w.data.requester?.name??null,requester_email:w.data.requester?.email??null});try{await B94({db:Z,organizationId:W,request:H})}catch(N){console.warn("[private-registry] failed to emit publish-request event:",N)}return i1.capture({distinctId:w.data.requester?.email??`org:${W}`,event:"registry_publish_request_submitted",groups:{organization:W},properties:{organization_id:W,request_id:H.id,requested_id:H.requested_id,title:w.data.data.title,requester_email:w.data.requester?.email??null}}),Q.json({id:H.id,requested_id:H.requested_id,status:H.status},201)}}var $b$=!0,N94="hour",Zb$=100;var Xb$=O(()=>{R4();L8();$g();Jg0();Wg0();Y9()});var Yb$={};X6(Yb$,{createPublishRequestHandler:()=>Gb$,createPublicMCPHandler:()=>VA$});var Qb$=O(()=>{ey();Xb$()});var fp0={};X6(fp0,{watchHandler:()=>Fb$,isSsoExemptPath:()=>wb$,getProxyDispatch:()=>A94,createApp:()=>C94});import{readFileSync as z94}from"fs";import{PrometheusSerializer as j94}from"@opentelemetry/exporter-prometheus";import{DBOS as xg}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as q94,oAuthProtectedResourceMetadata as M94}from"better-auth/plugins";async function P94($){let Z=$.connect(),G;try{G=await Promise.race([Z,Wb$(Jb$)])}catch{return Z.then((X)=>X.release(!0)).catch(()=>{}),!1}try{return await Promise.race([G.query("SELECT 1"),Wb$(Jb$)]),G.release(),!0}catch{return G.release(!0),!1}}function Wb$($){return new Promise((Z,G)=>setTimeout(()=>G(Error("pg health-check timeout")),$))}function A94(){if(!g81)throw Error("getProxyDispatch() called before createApp() or without NATS \u2014 proxy dispatch unavailable");return g81}async function T94($,Z){let{items:G}=await $.storage.connections.list(Z,{where:{field:["connection_url"],operator:"like",value:`${x_1}%`},limit:1}),X=G[0];if(!X?.configuration_state)return null;return X.configuration_state.project_locator}function I94($){let Z=new URLSearchParams;if($){let[G,X]=$.split("/");if(G)Z.set("workspace_hint",G);if(X)Z.set("project_hint",X)}else Z.set("auto_personal","true");return Z.set("force_new","true"),Z}function wb$($){return $.startsWith("/api/org-sso/")||$.startsWith("/api/auth/")||$.startsWith("/api/tools/management")||$.startsWith("/oauth-proxy/")||/^\/api\/[^/]+\/oauth-proxy\//.test($)||$.startsWith(`${A01}/`)}async function C94($={}){let Z=$.database??F6(),G=!1;$9.stop().catch((g)=>{console.error("[SSEHub] Error stopping previous broadcast (HMR cleanup):",g)});let X,Y,Q=new z81,J,W,K,U,w,F=null;if($.disableNats)J=j81(),X={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},Y=new Hp,W={start:async()=>{},broadcast:()=>{},publishControlFrame:()=>{},stop:async()=>{}},w=void 0,K={init:async()=>{},pump:(g)=>{return(async()=>{let N0=g.getReader();try{while(!0){let{done:b0}=await N0.read();if(b0)break}}catch{}finally{N0.releaseLock()}})()},publishRawChunk:async()=>!1,publishDone:async()=>!1,createTailStream:async()=>null,purge:()=>{},teardown:()=>{}};else{F=g_$();let g=O1().natsCredsPath,N0;if(g)try{N0=z94(g,"utf8")}catch(e1){console.error(`[app] failed to read NATS_CREDS at ${g}; connecting anonymously`,e1)}F.init(O1().natsUrls,N0?{creds:N0}:void 0);let b0=Ng0()?new Yv0({getJetStream:()=>F.getJetStream()}):null;b0?.init().catch(()=>{}),X=b0;let e0=new St0({getJetStream:()=>F.getJetStream()});e0.init().catch(()=>{}),Y=e0,J=j81({getConnection:()=>F.getConnection()}),W=new P81({getConnection:()=>F.getConnection()}),K=new I81({getConnection:()=>F.getConnection(),getJetStream:()=>F.getJetStream()}),U=Ef$({getConnection:()=>F.getConnection()}),w=Tf$({getConnection:()=>F.getConnection()});let c0=If$({getConnection:()=>F.getConnection()}),T1=W;W={start:(e1)=>T1.start(e1),broadcast:(e1)=>T1.broadcast(e1),publishControlFrame:(e1,L6)=>{c0.publishControlFrame(e1,L6).catch((Q4)=>{console.warn("[TunnelControl] publishControlFrame failed (non-critical):",Q4)})},stop:()=>T1.stop()},ZR$(F),F.onReady(()=>{b0?.init().catch((e1)=>{console.error("[McpListCache] Deferred init failed:",e1)}),e0.init().catch((e1)=>{console.error("[ConnectionCircuitStore] Deferred init failed:",e1)}),J.start(),Vi1(()=>F.getConnection()),K.init().catch((e1)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",e1)})})}if(vg)await vg();Qv0(X),Vt0(Y);let N={storage:new Ex(Z.db),sseHub:$9},B=new Rm0(N),D=new Xm(Z.db),E=new k81(D);E.start(),W.start((g)=>{l90(g),B.execute({type:"CANCEL",taskId:g}).catch((N0)=>{console.error("[Decopilot] CancelBroadcast execute failed:",N0)})}).catch((g)=>{console.error("[Decopilot] CancelBroadcast start failed:",g)}),F?.onReady(()=>{W.start().catch((g)=>{console.error("[CancelBroadcast] Deferred start failed:",g)})}),K.init().catch((g)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",g)}),vg=async()=>{await B.stopAll(),B.dispose(),E.dispose(),W.stop().catch(()=>{}),K.teardown(),X?.teardown(),Q.teardown(),J.teardown(),Ci1(),Y.teardown(),Qv0(null),Vt0(null)};let L=new V1;if(L.use("*",Zb0({enabled:(g)=>hf(g,"debug")==="1"})),L.use("*",Rz0),L.use("/*",jf1({origin:(g)=>{if(g.includes("localhost")||g.includes("127.0.0.1"))return g;return g},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"],exposeHeaders:["WWW-Authenticate"]})),L.use("*",async(g,N0)=>{if(await N0(),g.req.path.includes("/files/"))return;if(g.req.path.includes("/fs/")&&g.req.path.endsWith("/read"))return;g.header("X-Frame-Options","DENY"),g.header("Content-Security-Policy","frame-ancestors 'none'")}),!O1().noTui)L.use("*",xf$());L.use("*",async(g,N0)=>{if(await N0(),cg(g.req.path))return;if(g.res.status>=500){let e0=await g.res.clone().text();console.error(`[5xx Response] ${g.req.method} ${g.req.path} - ${g.res.status}:`,e0)}}),L.get(xZ.HEALTH,(g)=>{if(G)return g.json({status:"shutting_down"},503);return g.json({status:"ok"})}),L.get(xZ.HEALTH_LIVE,(g)=>{return g.json({status:"ok"})}),L.get(xZ.HEALTH_READY,async(g)=>{if(G)return g.json({status:"shutting_down"},503);let N0={};if(N0.postgres={status:await P94(Z.pool)?"up":"down"},F)N0.nats=F.isConnected()?{status:"up"}:{status:"down"};else N0.nats={status:"down"};let b0=N0.postgres.status==="up",e0=b0?200:503;return g.json({status:b0?"ready":"not_ready",services:N0},e0)}),L.get(xZ.METRICS,async(g)=>{try{let N0=await Sz0.collect(),b0=R94.serialize(N0.resourceMetrics);return g.text(b0,200,{"Content-Type":"text/plain; version=0.0.4; charset=utf-8"})}catch(N0){return console.error("Failed to collect metrics:",N0),g.text("# Error collecting metrics",500)}}),L.get(`${xZ.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(g)=>{let N0=g.req.param("queueName");if(!k94.has(N0))return g.json({error:`Unknown queue: ${N0}`},404);let b0=await xg.listQueuedWorkflows({queueName:N0,status:"ENQUEUED"});return g.json({queue_length:b0.length})}),L.get(xZ.HOSTED_RUN_PENDING,(g)=>{let{active:N0,pending:b0,max:e0}=o4$();return g.json({pending:b0,active:N0,max:e0})}),L.route("/api/config",Q_$),L.route("/api/_reports",E_$),L.route("/report",F_$($.clientDir)),L.route("/api/auth/custom",AR$),L.route("/api/auth/desktop",IR$),L.all("/api/auth/admin/*",kR$),L.all("/api/auth/*",async(g)=>{return await G8.handler(g.req.raw)});let z=ws1();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",UC),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",UC),L.route("/",z),L.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",Ci),L.route("/",Bs1()),L.use("/oauth-proxy/:connectionId/*",UC),L.all("/oauth-proxy/:connectionId/*",Kb$);let j=async(g)=>{let b0=await S94()(g.req.raw),e0=await b0.json();return Response.json(e0,b0)};L.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",UC),L.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",j);let P=async(g)=>{let b0=await V94()(g.req.raw),e0=await b0.json();return Response.json(e0,b0)};L.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",P);let A=$R$({ttlMs:120000}),q=await ra1({db:Z.db,auth:G8,encryption:{key:O1().encryptionKey},observability:{tracer:hw,meter:D8},modelListCache:Q,providerKeyCache:J,memberRoleCache:A,linkStatusProbe:U,publishLinkControlFrame:(g,N0)=>W.publishControlFrame(g,N0)});ZN.set(q);let S=new jU(O1().encryptionKey);M21({db:Z.db,baseUrl:P3()});let M=w60(Z.db),C=new tl(Z.db),l=Cf$({db:Z.db});It0({storage:M,studioContextFactory:l}),hm0({studioContextFactory:l,deps:{runRegistry:B,cancelBroadcast:W,streamBuffer:K,sseHub:$9},prepareLinkWorkFn:jM$,workPublisher:w}),bm0({dispatchRunFn:LM$,studioContextFactory:l,deps:{runRegistry:B,cancelBroadcast:W,streamBuffer:K,sseHub:$9}});let b=new Ex(Z.db),v=new uD(Z.db);f4$({getJetStream:()=>F?.getJetStream()??null,getJetStreamManager:async()=>{let g=F?.getConnection();return g?await Ub$.jetstreamManager(g):null},messageParts:b.messageParts(),resolveRun:async(g)=>{let N0=await Z.db.selectFrom("threads").select(["organization_id","created_by","message_storage_version","status","run_fence_token","title"]).where("id","=",g).executeTakeFirst();return N0?{orgId:N0.organization_id,createdBy:N0.created_by,version:N0.message_storage_version??1,status:N0.status,runFenceToken:N0.run_fence_token,title:N0.title??null}:null},completeRunIfNotCompleted:async(g,N0)=>{let b0=await b.completeRunIfNotCompleted(g,N0);if(Xz0($9,N0,g,b0),b0)await Cm0(v,g,N0);return b0},markRunRequiresAction:async(g,N0)=>{let b0=await b.requiresActionIfInProgress(g,N0);return Xz0($9,N0,g,b0),b0},markRunFailed:async(g,N0,b0,e0)=>{let c0=await b.markRunFailed(g,N0,b0,e0);if(Xz0($9,N0,g,c0),c0)await Cm0(v,g,N0);return c0},clearSynthesizedError:async(g,N0)=>{await b.messageParts().replaceMessageParts(g,LN(g,N0),[])},persistTitle:(g,N0,b0)=>b.update(g,N0,{title:b0}),onTitleUpdated:async({runId:g,orgId:N0,title:b0})=>{let e0=await b.get(g,N0).catch(()=>null);$9.emit(N0,f3(g,e0?.status??"in_progress",{title:b0,virtualMcpId:e0?.virtual_mcp_id??void 0,createdBy:e0?.created_by,triggerId:e0?.trigger_id,branch:e0?.branch??null,createdAt:e0?.created_at,updatedAt:e0?.updated_at}))},bumpProgress:async({runId:g,orgId:N0})=>{await b.bumpProgress(g,N0)},recordCompleted:async({runId:g,orgId:N0,distinctId:b0,usage:e0})=>{i1.capture({distinctId:b0,event:"chat_message_completed",groups:{organization:N0},properties:{organization_id:N0,thread_id:g,transport:"projector",input_tokens:e0.inputTokens,output_tokens:e0.outputTokens,total_tokens:e0.totalTokens}})},recordFailed:async({runId:g,orgId:N0,distinctId:b0,reason:e0,kind:c0})=>{i1.capture({distinctId:b0,event:"chat_message_failed",groups:{organization:N0},properties:{organization_id:N0,thread_id:g,transport:"projector",error_category:c0,error_message:e0}})},purgeRun:async(g)=>{K.purge(g)}}),BW$({studioContextFactory:l,systemDatabaseUrl:mx1(O1().databaseUrl,O1().databasePgSsl),streamBuffer:K}),Sf$(),k21();let $0=async(g,N0,b0)=>{let e0=await M.findById(g,N0);if(!e0)throw Error("Automation not found");return Mt0({automationId:e0.id,organizationId:e0.organization_id,triggerId:null})},n=new Og(M,({automation:g,trigger:N0,contextMessages:b0,idempotencyKey:e0})=>wp({automationId:g.id,organizationId:g.organization_id,triggerId:N0.id,contextMessages:b0},{idempotencyKey:e0})),F0=[$3(),SC(),IK()];for(let g of F0)Jz0(g).then(()=>{}).catch((N0)=>console.error("[monitoring] Retention cleanup failed:",N0));let D0=()=>Z.db.deleteFrom("apikey").where("expiresAt","<",new Date).execute().then(()=>{}).catch((g)=>console.error("[auth] Expired API key cleanup failed:",g));D0(),setInterval(D0,86400000).unref(),L.use("*",async(g,N0)=>{if(Tz0(g.req.path))return N0();let b0={measure:async(c0,T1)=>{UQ(g,c0);try{return await T1()}finally{JY(g,c0)}}},e0=await ZN.create(g.req.raw,{timings:b0});e0.automationRunner=$0,g.set("studioContext",e0);try{await N0()}finally{let c0=e0.pendingRevalidations;if(c0.length>0)Promise.race([Promise.allSettled(c0),O8(30000)]).catch((e1)=>console.error("[studio] revalidation cleanup error:",e1))}}),L.use("/api/:org/decopilot/*",wC),L.use("/api/:org/v1/*",wC),L.use("/api/:org/files/*",wC),L.use("*",async(g,N0)=>{if(wb$(g.req.path))return N0();let b0=g.get("studioContext");if(!b0?.organization?.id||!b0?.auth?.user?.id)return N0();if(!(await b0.storage.orgSsoConfig.getByOrgId(b0.organization.id))?.enforced)return N0();if(!await b0.storage.orgSsoSessions.isValid(b0.auth.user.id,b0.organization.id))return g.json({error:"SSO authentication required for this organization"},403);return N0()});let J0=new V1;J0.use("*",tQ({mountPath:"/api/org-sso"})),J0.route("/",vE0()),L.route("/api/org-sso",J0),L.get("/api/tools/management",(g)=>{return g.json({tools:Xb0,grouped:tO()})}),L.use("/mcp/*",async(g,N0)=>{UQ(g,"mcp");try{return await N0()}finally{JY(g,"mcp")}});let G0=async(g,N0)=>{let b0=g.var.studioContext;if(!b0.auth.user?.id&&!b0.auth.apiKey?.id){let e0=new URL(g.req.url),c0=g.req.header("x-forwarded-proto")?.split(",")[0]?.trim(),T1=c0?`${c0}://${e0.host}`:e0.origin;return g.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${T1}${e0.pathname}/.well-known/oauth-protected-resource"`}})}return await N0()};if(L.use("/mcp/:connectionId?",G0),L.use("/mcp/gateway/:virtualMcpId?",G0),L.use("/mcp/virtual-mcp/:virtualMcpId?",G0),L.use("/mcp/self",G0),b3()){let{mountDevRoutes:g}=(sf$(),Hz0(af$));g(L,G0)}let a=new V1;a.use("*",tQ({mountPath:"/mcp"})),a.route("/",DB0()),L.route("/mcp",a);let A0=new V1;A0.use("*",tQ({mountPath:"/mcp/self"})),A0.route("/",iL0()),L.route("/mcp/self",A0);let U0=new V1;U0.use("*",tQ({mountPath:"/mcp"})),U0.route("/",zB0()),L.route("/mcp",U0),L.use("/api/:org/models/*",async(g,N0)=>{UQ(g,"llm_models");try{return await N0()}finally{JY(g,"llm_models")}});let v0=P11({cancelBroadcast:W,streamBuffer:K,runRegistry:B,linkStatusProbe:U});if(L.route("/api",v0),F!=null)g81=zf$({getConnection:()=>F?.getConnection()??null});L.route("/api",dC$()),L.get("/api/links/me",async(g)=>{try{let N0=g.req.header("authorization")??"",b0=/^Bearer\s+(.+)$/i.exec(N0),e0=null;if(b0){let T1=(b0[1]??"").trim();e0=await fE0(T1,G8.api)}else e0=g.get("studioContext")?.auth?.user?.id??null;if(!e0)return g.json({error:"unauthorized"},401);let c0=U?await U(e0):{online:!1,capabilities:[]};if(!c0.online)return g.json(null);return g.json({hostname:c0.hostname,cliVersion:c0.cliVersion})}catch(N0){return console.error("[links/me] presence probe failed; reporting offline:",N0 instanceof Error?N0.message:String(N0)),g.json(null)}}),L.use("/api/:org/files/*",wC),L.route("/api",P_$);let d0=new V1;d0.use("*",tQ({mountPath:"/api"})),d0.route("/",nL0()),L.route("/api",d0),L.route("/api",$_$);let i0=new V1;i0.use("*",tQ({mountPath:"/api"})),i0.route("/",pL0({tokenStorage:C,automationEventDispatcher:n})),L.route("/api",i0);let n0=new ol(Z.db),w0=new V1;w0.use("*",tQ({mountPath:"/api"})),w0.route("/",HL0()),L.route("/api",w0),L.route("/api/deco-sites",dM$()),L.route("/api/deco-apps",tC$());let C0=new V1;C0.use("*",tQ({mountPath:"/api/deco-sites"})),C0.route("/",BL0()),L.route("/api/deco-sites",C0);let T0=new V1;T0.use("*",tQ({mountPath:"/api/vm-events"})),T0.route("/",nC$()),L.route("/api/vm-events",T0);let{createPublishRequestHandler:B0,createPublicMCPHandler:Q0}=await Promise.resolve().then(() => (Qb$(),Yb$)),X0={db:Z.db,vault:{encrypt:(g)=>S.encrypt(g),decrypt:(g)=>S.decrypt(g)}},V0=B0(X0),p=Q0(X0);L.use("/org/:orgRef/registry/publish-request",UC),L.post("/org/:orgRef/registry/publish-request",V0),L.use("/org/:orgSlug/registry/*",UC),L.all("/org/:orgSlug/registry/*",p),L.post("/api/:org/registry/publish-request",V0),L.all("/api/:org/registry/*",p),L.route(A01,SR$());let e=IC$({kvStorage:n0,runRegistry:B,streamBuffer:K,sseHub:$9,cancelBroadcast:W,tokenStorage:C,automationEventDispatcher:n,mountDevAssets:b3(),mcpAuth:G0,oauthProxyHandler:Kb$,watchHandler:Fb$,betterAuthProtectedResourceHandler:j,getNatsConnection:()=>F?.getConnection()??null});return L.route("/api/:org",e),L.notFound((g)=>{return g.json({error:"Not Found",path:g.req.path},404)}),L.onError(SM$),Object.assign(L,{markShuttingDown:()=>{G=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([$9.stop(),vg?Promise.resolve(vg()).finally(()=>{vg=null}):Promise.resolve()]),F)await F.drain().catch((g)=>console.error("[shutdown] NATS drain error:",g));console.log("[shutdown] Flushing telemetry..."),await mY().catch((g)=>console.error("[shutdown] Telemetry flush error:",g)),console.log("[shutdown] Closing database..."),await nx1(Z).catch((g)=>console.error("[shutdown] Database close error:",g)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await xg.registerQueue(lY,{partitionQueue:!0,concurrency:Pt0,minPollingIntervalMs:At0}),await xg.registerQueue(eQ,{partitionQueue:!0,concurrency:gm0}),await xg.registerQueue(TK,{partitionQueue:!0,concurrency:fm0}),await xg.registerQueue(gw,{partitionQueue:!0,concurrency:NW$}),await R11(M),await Promise.allSettled(["automations-gate","automations-global"].map((g)=>xg.deleteQueue(g))),await Tt0(Z.pool),zh1().catch((g)=>{console.error("[studio-pack-backfill] failed:",g)}),S21().catch((g)=>{console.error("[org-fs] public-sets boot sync kick failed:",g)})}})}var Ub$,Jb$=5000,g81=null,vg=null,Kb$=async($)=>{let Z=$.req.param("connectionId");if(!Z)return $.json({error:"Missing connectionId"},400);let G=$.req.path.split("/").filter(Boolean),X=G[G.length-1],Y=$.get("studioContext");if(!Y)Y=await ZN.create($.req.raw),$.set("studioContext",Y);let Q=$.req.param("org")?Y.organization?.id:void 0,J=await Y.storage.connections.findById(Z,Q);if(!J?.connection_url)return $.json({error:"Connection not found"},404);let W=await $v(J.connection_url),K,U=new URL(J.connection_url),F=(typeof J.metadata?.oauthResource==="string"&&J.metadata.oauthResource.length>0?J.metadata.oauthResource:void 0)??J.connection_url;if(W.ok)K=(await W.json()).authorization_servers?.[0];if(!K)K=U.origin;let H=await _i(K);if(!H.ok)return $.json({error:"Failed to get auth server metadata"},502);let N=await H.json(),B;if(X==="authorize")B=N.authorization_endpoint;else if(X==="token")B=N.token_endpoint;else if(X==="register")B=N.registration_endpoint;if(!B)return $.json({error:`Unknown OAuth endpoint: ${X}`},404);let D=new URL(B),E=new URL($.req.url);if(D.search=E.search,X==="authorize"){let l=D.searchParams.get("redirect_uri");if(l){let b=O1().baseUrl??E.origin;try{let v=new URL(l),$0=new URL(b);if(!(v.origin===$0.origin||v.hostname==="localhost"))return $.json({error:"invalid_request",error_description:"redirect_uri is not allowed"},400)}catch{return $.json({error:"invalid_request",error_description:"redirect_uri is malformed"},400)}D.searchParams.set("redirect_uri",l)}if(D.searchParams.has("resource"))D.searchParams.set("resource",F);if(v_1(J.connection_url))try{let b=await T94(Y,J.organization_id),v=I94(b);for(let[$0,n]of v)D.searchParams.set($0,n)}catch(b){console.warn("[oauth-proxy] Failed to get smart OAuth params, proceeding without:",b)}return $.redirect(D.toString(),302)}let L={Accept:$.req.header("Accept")||"application/json"},z=$.req.header("Content-Type");if(z)L["Content-Type"]=z;let j=$.req.header("Authorization");if(j)L.Authorization=j;let P,A=null,q=null;if($.req.method!=="GET"&&$.req.method!=="HEAD")if(X==="token"&&z?.includes("application/x-www-form-urlencoded")){if(j?.toLowerCase().startsWith("basic "))try{let n=atob(j.slice(6).trim()),F0=n.indexOf(":");if(F0!==-1){let D0=decodeURIComponent(n.slice(0,F0)),J0=decodeURIComponent(n.slice(F0+1));A=D0||null,q=J0||null}}catch{}let l=await $.req.formData();if(l.has("resource"))l.set("resource",F);let b=l.get("client_id"),v=l.get("client_secret");if(typeof b==="string"&&b)A=b;if(typeof v==="string"&&v)q=v;let $0=new URLSearchParams;for(let[n,F0]of l.entries())$0.append(n,F0.toString());P=$0.toString()}else if(X==="register"&&z?.toLowerCase().includes("application/json")){let l=await Y.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",J.organization_id).executeTakeFirst(),b=await $.req.text(),v={};try{v=b?JSON.parse(b):{}}catch{P=b}let $0=typeof v==="object"&&v!==null&&!Array.isArray(v);if(P===void 0&&!$0)P=b;if(P===void 0){let n=v,F0=n.metadata&&typeof n.metadata==="object"?n.metadata:{};n.metadata={...F0,organization_id:J.organization_id,...l?.slug?{organization_slug:l.slug}:{},...l?.name?{organization_name:l.name}:{}},P=JSON.stringify(n),L["Content-Type"]="application/json"}}else P=$.req.raw.body??void 0;let S=await fetch(D.toString(),{method:$.req.method,headers:L,body:P,duplex:"half",redirect:"manual"}),M=new Headers,C=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[l,b]of S.headers.entries())if(!C.includes(l.toLowerCase()))M.set(l,b);if(X==="token"&&S.ok){let l=await S.text();try{let b=JSON.parse(l);if(typeof b.access_token==="string"&&b.access_token){let v=typeof b.expires_in==="number"?new Date(Date.now()+b.expires_in*1000):null,$0=null;try{$0=await Zv(J.connection_url)??B}catch{$0=B}let n={connectionId:Z,accessToken:b.access_token,refreshToken:typeof b.refresh_token==="string"?b.refresh_token:null,scope:typeof b.scope==="string"?b.scope:null,expiresAt:v,clientId:A,clientSecret:q,tokenEndpoint:$0};await new _5(Y.db,Y.vault).upsert(n)}}catch(b){console.error("[oauth-proxy] failed to persist downstream token:",b)}return new Response(l,{status:S.status,statusText:S.statusText,headers:M})}return new Response(S.body,{status:S.status,statusText:S.statusText,headers:M})},Fb$=async($)=>{let Z=$.var.studioContext;if(!(Z.auth.user?.id??Z.auth.apiKey?.userId))return $.json({error:"Unauthorized"},401);let X=Z.organization?.id;if(!X)return $.json({error:"organization id missing"},400);let Y=$.req.query("types"),Q=Y?Y.split(",").map((W)=>W.trim()).filter(Boolean):null,J=crypto.randomUUID();return rQ($,async(W)=>{if(await W.writeSSE({event:"connected",data:JSON.stringify({listenerId:J,organizationId:X,typePatterns:Q,connectedAt:new Date().toISOString()})}),!$9.add({id:J,organizationId:X,typePatterns:Q?.length?Q:null,push:(w)=>{W.writeSSE({id:w.id,event:w.type,data:JSON.stringify(w)}).catch(()=>{$9.remove(X,J)})}})){await W.writeSSE({event:"error",data:JSON.stringify({error:"Too many connections",message:"SSE connection limit reached. Try again later."})});return}let U=setInterval(()=>{W.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(U)})},30000);await new Promise((w)=>{W.onAbort(()=>{clearInterval(U),$9.remove(X,J),w()})})})},R94,k94,S94=()=>M94(G8),V94=()=>q94(G8);var bp0=O(()=>{d5();F8();V21();S7();vf();L8();o8();W$0();Pf1();Gb0();AY();Vi();B01();HQ();N5();R4();P01();RR$();VR$();q01();MM$();A11();YJ();e40();T11();VM$();I11();RC$();lC$();pC$();S11();rC$();EB0();fi();Z_$();jB0();e$1();J_$();H_$();L_$();A_$();s$1();o$1();kr();Dd();h_$();UY();S60();el();_t0();c_$();d_$();t_$();Lf$();jf$();Rf$();qm0();qf$();qg0();g60();sU();Cg0();Vf$();G80();S81();mX();q11();Iv();Vm0();Tm0();G80();E11();oy0();ay0();_f$();cf();vf$();zC();B01();$y();m90();Ub$=k(cB(),1);R94=new j94,k94=new Set([lY,eQ,TK,gw])});var Ob$={};X6(Ob$,{resolveClientDir:()=>g94,resolveAssetPathWithTraversalCheck:()=>Bb$,isPathWithinDirectory:()=>Nb$,createAssetHandler:()=>h94});import{resolve as Lr,dirname as _94,join as f94,extname as b94,basename as x94,sep as Hb$}from"path";function v94($,Z){if($===Z||x94($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${Hb$}assets${Hb$}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function Nb$($,Z){let G=Lr(Z),X=Lr($);return X===G||X.startsWith(G+"/")}function Bb$({requestPath:$,clientDir:Z}){let G=$.startsWith("/")?$.slice(1):$,X=Lr(Z,G);if(!Nb$(X,Z))return null;return X}function g94($,Z="../client"){let G=new URL($),X=_94(G.pathname);return Lr(X,Z)}function h94($={}){let{env:Z="production",clientDir:G=y94,isServerPath:X=()=>!1}=$;if(Z==="development")return async function(Q){return null};return async function(Q){if(Q.method!=="GET")return null;let J=new URL(Q.url),W;try{W=decodeURIComponent(J.pathname)}catch{return null}if(X(W))return null;let K=Bb$({requestPath:W,clientDir:G});if(!K)return null;let U=f94(K,"index.html"),w=Lr(G,"index.html"),F=Q.headers.get("accept"),N=F?.includes("text/html")||F?.includes("*/*")&&["",".html"].includes(b94(K))?[U,w]:[];for(let B of[K,...N])try{let D=Bun.file(B);if(await D.exists())return new Response(D,{headers:v94(B,w)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var y94="./dist/client";var Db$=()=>{};var Eb$={};X6(Eb$,{tryUpgradePreviewWs:()=>n94,tryHandlePreviewHttp:()=>i94,previewWebSocketHandler:()=>p94,parsePreviewBaseDomain:()=>m94,isPreviewWsData:()=>Wz0,extractHandleFromHost:()=>h81});function d94($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function l94(){return new Response(u94,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function m94($){if(!$||$.trim()==="")return null;let Z=$.includes("{handle}")?$.replace("{handle}","__handle__"):$,G;try{G=new URL(Z)}catch{return null}let X=G.hostname;if($.includes("{handle}")){let Y=X.indexOf(".");if(Y<=0||Y===X.length-1)return null;return X.slice(Y+1)}return X}function h81($,Z){if(!$||!Z)return null;let G=$.indexOf(":"),X=(G>=0?$.slice(0,G):$).toLowerCase(),Q=`.${Z.toLowerCase().replace(/^\.+|\.+$/g,"")}`;if(!X.endsWith(Q))return null;let J=X.slice(0,X.length-Q.length);if(!J||J.includes("."))return null;return J}async function i94($,Z){let G=h81($.headers.get("host"),Z.baseDomain);if(!G)return null;let X=await Z.getRunner();if(!X)return jr(503,"preview proxy not configured");let Y=await X.proxyPreviewRequest(G,$);if(Y.headers.get(PV)&&d94($))return l94();return Y.headers.delete(PV),Y}function jr($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function Wz0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function n94($,Z,G){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let X=h81($.headers.get("host"),G.baseDomain);if(!X)return null;let Y=await G.getRunner();if(!Y)return jr(503,"preview proxy not configured");let Q=await Y.resolvePreviewUpstreamUrl(X);if(!Q)return jr(404,"sandbox not found");let J=new URL($.url);if(J.pathname.startsWith("/_sandbox")||J.pathname.startsWith("/_decopilot_vm"))return jr(404,"not found");let W=`${Q.replace(/^http/,"ws")}${J.pathname}${J.search}`,K=$.headers.get("sec-websocket-protocol"),U=K?K.split(",").map((H)=>H.trim()).filter(Boolean):[],w={kind:"preview",upstreamUrl:W,upstreamProtocols:U,pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:w}))return jr(426,"upgrade failed");return}function zr($,Z,G,X){if(Z.closed)return;Z.closed=!0;try{$.close(G,X)}catch{}try{Z.upstream?.close()}catch{}}var c94=256,u94='<!DOCTYPE html><html><head><meta charset="utf-8"><title>Connecting\u2026</title><style>body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;background:#fafafa;color:#555}div{text-align:center;max-width:420px;padding:24px}h3{margin:0 0 8px}p{margin:0;font-size:14px;color:#999;line-height:1.5}</style></head><body><div><h3>Connecting to sandbox\u2026</h3><p>Waiting for the sandbox to come online. This page refreshes automatically.</p></div><script>setTimeout(function(){window.location.reload()},1500)</script></body></html>',p94;var Lb$=O(()=>{Sp0();p94={open($){let Z=$.data;if(!Wz0(Z))return;let G;try{G=Z.upstreamProtocols.length>0?new WebSocket(Z.upstreamUrl,Z.upstreamProtocols):new WebSocket(Z.upstreamUrl)}catch(X){console.warn(`[preview-ws] failed to dial upstream ${Z.upstreamUrl}: ${X instanceof Error?X.message:String(X)}`),zr($,Z,1011,"upstream connect failed");return}G.binaryType="arraybuffer",Z.upstream=G,G.addEventListener("open",()=>{while(Z.pending.length>0){let X=Z.pending.shift();if(X!==void 0)G.send(X)}}),G.addEventListener("message",(X)=>{if(Z.closed)return;$.send(X.data)}),G.addEventListener("close",(X)=>{zr($,Z,X.code||1000,X.reason||"")}),G.addEventListener("error",()=>{zr($,Z,1011,"upstream error")})},message($,Z){let G=$.data;if(!Wz0(G))return;let X=G.upstream;if(X&&X.readyState===WebSocket.OPEN){X.send(Z);return}if(G.pending.length>=c94){zr($,G,1011,"preview ws backlog overflow");return}G.pending.push(Z)},close($){let Z=$.data;if(!Wz0(Z))return;zr($,Z,1000,"")}}});var Ab$={};X6(Ab$,{printBanner:()=>r94,bannerLines:()=>Pb$,BANNER_LINES:()=>zb$,BANNER_GRADIENT:()=>jb$});function t94($){let Z=Number.parseInt($.slice(1),16);return[Z>>16&255,Z>>8&255,Z&255]}function Pb$($){let Z=zb$.map((G,X)=>{let[Y,Q,J]=t94(jb$[X]);return`\x1B[38;2;${Y};${Q};${J}m${G}\x1B[39m`});if($!==void 0)Z.push(`\x1B[2m v${$}\x1B[22m`);return Z}function r94($){console.log("");for(let Z of Pb$($))console.log(Z);console.log("")}var zb$,jb$;var Tb$=O(()=>{zb$=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],jb$=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});var Rb$={};X6(Rb$,{bootstrapDevLinkSession:()=>YZ4});import{existsSync as o94}from"fs";import{chmod as a94,mkdir as s94,rename as e94,writeFile as $Z4}from"fs/promises";import{dirname as ZZ4,join as Ib$}from"path";function GZ4($){return Ib$($,"dev-link")}function XZ4($){let Z=process.env.DEV_LINK_SESSION_PATH;if(Z&&Z.trim()!=="")return Z;return Ib$(GZ4($),"session.json")}async function YZ4($,Z){let G=XZ4($),X=F6().db,Y=gQ()?await Jp():await X.selectFrom("user").select(["id","email","name"]).orderBy("createdAt","desc").executeTakeFirst();if(!Y?.id)return null;if(o94(G))try{let U=await Bun.file(G).json(),w=U.user?.sub,F=U.accessToken;if(w===Y.id&&typeof F==="string"){if(await G8.api.verifyApiKey({body:{key:F}}).then((N)=>N?.valid===!0).catch(()=>!1))return{path:G,userSub:w}}}catch{}let Q=null;try{Q=await G8.api.createApiKey({body:{name:"dev-link (auto-minted by bun run dev)",userId:Y.id,permissions:{"*":["*"]},expiresIn:2592000,rateLimitEnabled:!1}})}catch(K){return console.warn("[dev-link] failed to mint API key:",K instanceof Error?K.message:String(K)),null}if(!Q?.key)return null;let J={target:Z,clientId:"dev-link",user:{sub:Y.id,...Y.email?{email:Y.email}:{},...Y.name?{name:Y.name}:{}},accessToken:Q.key,createdAt:new Date().toISOString()};await s94(ZZ4(G),{recursive:!0});let W=`${G}.tmp`;return await $Z4(W,JSON.stringify(J,null,2),{mode:384}),await a94(W,384),await e94(W,G),{path:G,userSub:Y.id}}var qb$=O(()=>{HQ();AY();iN()});d5();var o81="4";function a81($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:o81,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}F8();Bz0();N5();function cx$(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function fz0($,Z){for(let G=0;G<$.length;G++){let X=$[G];if(X===void 0)continue;if(X===Z)return $[G+1];if(X.startsWith(`${Z}=`))return X.slice(Z.length+1)}return}function _61(){let $=cx$();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:fz0($,"--cpu-prof-dir")??process.cwd(),name:fz0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(fz0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}vz0();var Cr;function u61(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let G=MB();if(!G)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),Q=Y(),J=Object.entries(Q.objectTypeCounts).sort((W,K)=>K[1]-W[1]).slice(0,20);X={objectCount:Q.objectCount,heapSize:Q.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:G.rss,heapUsed:G.heapUsed,heapTotal:G.heapTotal,external:G.external,arrayBuffers:G.arrayBuffers,...X}))};return Z().catch(()=>{}),Cr=setInterval(()=>void Z().catch(()=>{}),$),Cr.unref?.(),process.on("SIGUSR2",()=>{try{let G=Bun.generateHeapSnapshot("v8"),X=typeof G==="string"?G:JSON.stringify(G),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,X),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(G){console.error("[heap-watch] snapshot failed:",G)}}),()=>{if(Cr)clearInterval(Cr)}}import*as lx$ from"bun:jsc";var{startSamplingProfiler:mx$,samplingProfilerStackTraces:ix$}=lx$;function d61(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{mx$()}catch(Q){return console.error("[stall-watchdog] failed to start sampling profiler:",Q),()=>{}}let G,X=performance.now()+Z,Y=()=>{let Q=performance.now(),J=Q-X;X=Q+Z;let W=[];try{W=ix$()?.traces??[]}catch{}if(J>$&&W.length>0){let K=new Map;for(let w of W){let F=w.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??w.frames[0];if(!F)continue;let H=(F.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),N=`${F.name??"?"} @ ${H}:${F.line??"?"}`;K.set(N,(K.get(N)??0)+1)}let U=[...K.entries()].sort((w,F)=>F[1]-w[1]).slice(0,8).map(([w,F])=>({frame:w,count:F}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:W.length,top:U}))}G=setTimeout(Y,Z),G.unref?.()};return G=setTimeout(Y,Z),G.unref?.(),()=>{if(G)clearTimeout(G)}}function l61(){_61();let $=[u61(),c61(),d61()];return()=>{for(let Z of $)Z()}}import{existsSync as HZ4}from"fs";var dX=O1();V61();var{DBOS:Pr,DBOSClient:QZ4}=await import("@dbos-inc/dbos-sdk");function Cb$($,Z){if(!Z)return $;let G=new URL($);if(!G.searchParams.has("sslmode"))G.searchParams.set("sslmode","verify-full");return G.toString()}var JZ4=[lY,eQ,TK,gw],WZ4=dX.dispatchRole==="worker"?JZ4:dX.dispatchRole==="api"?[]:void 0;Pr.setConfig(a81({systemDatabaseUrl:Cb$(dX.databaseUrl,dX.databasePgSsl),poolSize:Number(process.env.DBOS_POOL_SIZE??5),executorID:dX.podName,listenQueues:WZ4}));var{createApp:KZ4}=await Promise.resolve().then(() => (bp0(),fp0)),{isServerPath:UZ4}=await Promise.resolve().then(() => (kr(),N61)),{createAssetHandler:wZ4,resolveClientDir:_b$}=await Promise.resolve().then(() => (Db$(),Ob$)),FZ4=dX.port,Mb$=_b$(import.meta.url,"../client"),fb$=HZ4(Mb$)?Mb$:_b$(import.meta.url,"../dist/client"),NZ4=wZ4({clientDir:fb$,isServerPath:UZ4}),BZ4={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function OZ4($){let Z=new Headers($.headers);for(let[G,X]of Object.entries(BZ4))Z.set(G,X);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:DZ4,tryHandlePreviewHttp:EZ4,tryUpgradePreviewWs:LZ4,previewWebSocketHandler:c81,isPreviewWsData:u81}=await Promise.resolve().then(() => (Lb$(),Eb$)),{getOrInitSharedRunner:zZ4}=await Promise.resolve().then(() => (en(),L3$)),bb$=DZ4(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),kb$={baseDomain:bb$??"",getRunner:zZ4},Kz0=await KZ4({clientDir:fb$}),d81=process.env.DBOS_CONDUCTOR_KEY?.trim(),Sb$=process.env.DBOS_CONDUCTOR_URL?.trim();await Pr.launch({...d81?{conductorKey:d81}:{},...d81&&Sb$?{conductorURL:Sb$}:{}});console.log(`[dbos] application version: ${Pr.applicationVersion}`);var l81=5,m81=0;await sQ(async()=>{m81++;try{return await Kz0.initDbos()}catch($){let Z=m81>=l81?"giving up":"retrying";throw console.warn(`[dbos] initDbos attempt ${m81}/${l81} failed, ${Z}`,$),$}},{maxAttempts:l81,minTimeout:1000,maxTimeout:1e4,jitter:0.5});if(!dX.isCli){let{bannerLines:$}=await Promise.resolve().then(() => (Tb$(),Ab$));console.log("");for(let Z of $())console.log(Z)}var jZ4=Bun.serve({idleTimeout:0,port:FZ4,hostname:"0.0.0.0",fetch:async($,Z)=>{if(bb$){let X=await LZ4($,Z,kb$);if(X===void 0)return;if(X)return X;let Y=await EZ4($,kb$);if(Y)return Y}let G=await NZ4($);if(G)return OZ4(G);return Kz0.fetch($,{server:Z})},websocket:{open($){if(u81($.data))c81.open($)},message($,Z){if(u81($.data))c81.message($,Z)},close($){if(u81($.data))c81.close($)}},development:!1}),PZ4=l61();if(dX.localMode)Promise.resolve().then(() => (iN(),oN0)).then(async({seedLocalMode:$,markSeedComplete:Z})=>{try{let G=await $();if(process.env.DEV_LINK_SESSION_PATH)try{let{bootstrapDevLinkSession:X}=await Promise.resolve().then(() => (qb$(),Rb$)),Y=dX.baseUrl??`http://localhost:${dX.port}`,Q=await X(dX.dataDir,Y);if(Q)console.log(`[dev-link] session ready at ${Q.path} (userSub=${Q.userSub})`);else console.warn("[dev-link] no admin user yet \u2014 skipping session bootstrap. The auto-spawned link will refuse to start until an admin exists.")}catch(X){console.error("[dev-link] bootstrap failed:",X)}}catch(G){console.error("Failed to seed local mode:",G)}finally{Z()}}).catch(async($)=>{console.error("Failed to load local-mode module:",$);try{let{markSeedComplete:Z}=await Promise.resolve().then(() => (iN(),oN0));Z()}catch{}});var Vb$=!1;async function AZ4($){let Z;try{Z=await QZ4.create({systemDatabaseUrl:Cb$(dX.databaseUrl,dX.databasePgSsl),systemDatabaseSchemaName:"dbos"});let G=await Z.listWorkflows({status:"PENDING",queueName:eQ,executorId:$,loadInput:!1,loadOutput:!1});if(G.length===0){console.log(`[shutdown] no in-flight thread-gate gates to hand off (executor ${$})`);return}let X=G.map((Y)=>Y.workflowID);await Z.resumeWorkflows(X,{queueName:eQ}),console.log(`[shutdown] re-enqueued ${X.length} in-flight thread-gate gate(s) for re-adoption by a live executor (from ${$}):`,X)}catch(G){console.error("[shutdown] thread-gate handoff failed:",G)}finally{await Z?.destroy().catch(()=>{})}}async function Uz0($){if(Vb$)return;Vb$=!0,console.log(`
|
|
2742
2742
|
[shutdown] Received ${$}, shutting down gracefully...`);let Z=Number(process.env.SHUTDOWN_GRACE_SECONDS??60)*1000,G=Math.max(Z-5000,1e4),X=setTimeout(()=>{console.error(`[shutdown] Timed out after ${G}ms, forcing exit.`),process.exit(1)},G);X.unref?.();let Y=0;try{PZ4(),Kz0.markShuttingDown();let Q=e81(dX.dispatchRole,G,process.env.SHUTDOWN_DRAIN_MS);await O8(Q),await jZ4.stop(!0);let J=Pr.executorID;await Pr.shutdown(),await AZ4(J),await Kz0.shutdown()}catch(Q){console.error("[shutdown] Error during shutdown:",Q),Y=1}clearTimeout(X),process.exit(Y)}process.on("SIGTERM",()=>Uz0("SIGTERM"));process.on("SIGINT",()=>Uz0("SIGINT"));process.on("SIGHUP",()=>Uz0("SIGHUP"));process.on("unhandledRejection",($)=>{console.error("[process] Unhandled rejection:",$)});process.on("uncaughtException",($)=>{console.error("[process] Uncaught exception:",$),Uz0("uncaughtException")});
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as it,r as E,j as e,k as rt}from"./index-CUzWKVSK.js";import{m as mt,o as pt,p as st,q as at}from"./sidebar-mcPsCK2S.js";import{m as nt}from"./automation-runs-DkANrTNa.js";import{r as lt,u as ct,a as dt,b as St,i as ft,f as ut,d as vt,P as ht,S as gt}from"./page-seo-form-bY-5HOX-.js";import{r as xt}from"./index-Cr4tpIsH.js";import"./LayoutLeft-BzVqeY55.js";import"./use-mobile-kLSLCFd9.js";import"./X-IbrtE-s4.js";import"./tooltip-DaDwTvit.js";import"./select-B9FacR86.js";import"./Check-BEridtmz.js";import"./ChevronDown-BiEc62bh.js";import"./ChevronUp-k6Oc5DVd.js";import"./useInfiniteQuery-Cf_0YKpQ.js";import"./use-infinite-scroll-C57C3Rug.js";import"./use-connection-Ck7XKbTz.js";import"./use-mcp-client-CS59ukvJ.js";import"./auth-YD50toG1.js";import"./use-virtual-mcp-BIYNPtPn.js";import"./card-DWI_34Da.js";import"./table-AQETJoTB.js";import"./empty-state-DXNSLY55.js";import"./use-members-8f2PJCa2.js";import"./use-org-auth-client-uScl5586.js";import"./use-clock-tick-498bAXAc.js";import"./AlertCircle-Bxley7ls.js";import"./CheckCircle-BlO_RSix.js";import"./DotsVertical-BMhkpK12.js";import"./agent-icon-CRZnpjC_.js";import"./Tool01-D-9cvENG.js";import"./ArrowUp-DTvkt0ak.js";import"./Settings02-B5wstt4p.js";import"./Tool02-BrKtvAQQ.js";import"./ArrowRight-DAV431J7.js";import"./ArrowUpRight-S9c4hAoU.js";import"./TrendUp01-B1fIoCbN.js";import"./ZapSquare-DkSNEL2b.js";import"./ZoomOut-BITJSwVW.js";import"./Users03-zDzGivHr.js";import"./ChevronRight-DQaJlJVb.js";import"./Stars02-D-v5MacQ.js";import"./Copy01-C7hMCclq.js";import"./Globe01-DEDrpW1E.js";import"./Eye-dVsVJhNZ.js";import"./FilterLines-D3B5tJlR.js";import"./Star01-C1FexH2L.js";import"./Globe04-BZBYUjok.js";import"./SwitchHorizontal01-C3WuJpK_.js";import"./HardDrive-ByaWw6uO.js";import"./Image01-BV3Txwbg.js";import"./Key01-DLsfTRDD.js";import"./XCircle-DGigjeyF.js";import"./LinkExternal01-Ci-otr_n.js";import"./Monitor01-Ycx6Vrvt.js";import"./Sun-BQx_Tk93.js";import"./Package-Cnz6Un5X.js";import"./Palette-BFS141XQ.js";import"./Play-CAB1ZCRF.js";import"./Plus-BQ9qrH8f.js";import"./SearchLg-W-Jcoj3E.js";import"./SearchMd-CahiLwU-.js";import"./Shield01-DHTgRfQy.js";import"./Stars01-BArh5_CK.js";import"./Trash01-BOvBVpF6.js";import"./Upload01-BQmvLn4t.js";import"./User01-DaB2mE1H.js";import"./Users01-DD9j7wkG.js";import"./XClose-DzJNy4PW.js";import"./Zap-DPOyU8qk.js";import"./use-automations-Dnz0ITTt.js";import"./studio-tools-B3zb177t.js";import"./useSuspenseInfiniteQuery-BZClNvPb.js";import"./avatar-BXSptr47.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-C-NZefvp.js";import"./file-type-icon-DXQqJNWv.js";import"./dialog-CNavh_ID.js";import"./tab-id-BijBBRwE.js";import"./hooks-BKmDsGe6.js";import"./decopilot-sse-pool-4-i2lGyT.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./chat-context-BOwGcE_A.js";import"./autosend-DYGIxc7a.js";import"./use-ai-providers-DftIlfJA.js";import"./location-BpLtHjTZ.js";import"./use-decopilot-events-R8S3hvIZ.js";import"./use-organization-settings-C_KMCSYR.js";import"./monaco-editor-rv9m-l6Q.js";import"./index-CdUxdGTP.js";import"./index-Ck1aiM-y.js";import"./calendar-ByQrFkkN.js";import"./shell-layout-V837oMz7.js";import"./required-auth-layout-Bhcuvipf.js";import"./use-org-sso-KqI62VaZ.js";import"./integration-icon-DsRso_fD.js";import"./use-navigate-to-agent-rJKVv9BI.js";import"./reusable-new-chat-CouMjkYR.js";import"./AreaChart-CG7AioGL.js";import"./form-CsYbTpJv.js";import"./label-CvivNPNS.js";import"./input-BfCUUoj3.js";import"./switch-CEilJb4P.js";import"./drawer-CA8X_E6D.js";import"./collection-search-DYrDm5KL.js";import"./index-DADg-eRW.js";import"./get-initials-D-f_fDFw.js";import"./popover-DD6XdQ52.js";import"./use-registry-app-DdlLxJuN.js";import"./use-mcp-tools-Ba7F3Muw.js";import"./github-repo-scope-DjMZbiKa.js";import"./authenticate-and-persist-oauth-PalN3zyi.js";import"./mcp-oauth-C4u6EfIt.js";import"./extract-connection-data-B0MmXUM0.js";import"./dropdown-menu-Dg1DhL8o.js";import"./command-BNufXRj1.js";import"./index-DuvagTzB.js";import"./companions-core-D_7TXcPF.js";import"./tabs-B59ohLMF.js";import"./toggle-group-Dibq18vH.js";import"./use-deco-credits-B3_IFRIh.js";import"./connection-card-DlbLvUZt.js";import"./use-registry-connections-Dg0VJp8r.js";import"./retry-CErkP7V6.js";import"./connection-slug-eyAPH6o3.js";import"./textarea-DhDhVZOx.js";import"./connection-form-helpers-BfmEOi9l.js";import"./collection-tabs-9jlVmnnd.js";import"./badge-o246HDY_.js";import"./connect-desktop-dialog-fcQZEjT1.js";import"./select-model-D2ajwSX0.js";import"./checkbox-tnlQEu_f.js";import"./skeleton-ebOBBWFF.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-CjXYZ8w1.js";import"./index-DbnsY2vR.js";import"./alert-dialog-DI2MtMU3.js";import"./toolbar-cLCnXkwg.js";import"./use-debounced-value-CDNo9vhp.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-5uFKlMGE.js";import"./use-capability-xZkJNCZw.js";import"./toolbar-icon-button-C6CoUfsA.js";import"./pt-BR-CLy76QW2.js";import"./use-debounced-autosave-DpWYdaaW.js";import"./index-BnnkITRc.js";import"./search-input-DnHv6Bfo.js";import"./use-mcp-auth-status-DI30xGcv.js";import"./github-repo-picker-BNjYQs95.js";import"./provision-repo-scoped-github-connection-2iDn-wQ1.js";import"./use-secrets-CadxpfIf.js";import"./use-file-configs-BkoDNGv5.js";import"./automation-list-row-DtK1HcDM.js";function ui(u){const t=it.c(46),{open:k,onOpenChange:N,orgSlug:Q,virtualMcpId:U,branch:W,decofile:G,meta:s,target:m,onSaved:X}=u,o=lt(G,m,s),P=m.kind==="site"?"site":m.pageKey,[Y,Z]=E.useState(P),[tt,i]=E.useState(null),[J,g]=E.useState(void 0),[x,y]=E.useState(0);Y!==P&&(Z(P),i(null),g(void 0),y(wt));const{persistSeo:a,persistRawSeo:I,flush:K,isPending:D}=ct({orgSlug:Q,virtualMcpId:U,branch:W,target:m,resolved:o,onSaved:X}),w=m.kind==="page",ot=w?o?.rawSeoData:void 0,v=J!==void 0?J:ot,et=w?dt(v)??void 0:void 0,h=tt??et??o?.seoData??{},p=o?St(h,o):null,n=p&&(!w||ft(v))?xt(p,s):null,_=m.kind==="page"?ut(G,s)?.seoData??void 0:void 0;let j;t[0]!==s?(j=vt(s),t[0]=s,t[1]=j):j=t[1];const M=j;let R;t[2]!==a||t[3]!==o||t[4]!==i?(R=r=>{if(!o)return;const L=r;i(L),a(L)},t[2]=a,t[3]=o,t[4]=i,t[5]=R):R=t[5];const V=R;let F;t[6]!==K||t[7]!==N?(F=r=>{r||K(),N(r)},t[6]=K,t[7]=N,t[8]=F):F=t[8];const q=F,z=m.kind==="site"?"Site SEO":"Page SEO",T=w&&o,A=m.kind==="site"&&o&&n,B=m.kind==="site"?"No site-level SEO block found.":o?"SEO schema not found for this page.":"Could not load page SEO.";let C;t[9]!==i?(C=()=>i(null),t[9]=i,t[10]=C):C=t[10];const H=C;let O;t[11]!==y?(O=()=>y(yt),t[11]=y,t[12]=O):O=t[12];const $=O;let l;t[13]!==z?(l=e.jsx(mt,{className:"text-sm font-semibold",children:z}),t[13]=z,t[14]=l):l=t[14];let c;t[15]!==D?(c=D&&e.jsx(rt,{size:14,className:"animate-spin text-muted-foreground"}),t[15]=D,t[16]=c):c=t[16];let d;t[17]!==l||t[18]!==c?(d=e.jsxs(pt,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[l,c]}),t[17]=l,t[18]=c,t[19]=d):d=t[19];let S;t[20]!==p||t[21]!==$||t[22]!==H||t[23]!==M||t[24]!==v||t[25]!==h||t[26]!==B||t[27]!==x||t[28]!==V||t[29]!==I||t[30]!==a||t[31]!==o||t[32]!==n||t[33]!==i||t[34]!==g||t[35]!==T||t[36]!==A||t[37]!==_?(S=!o||!T&&!A?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:B}):e.jsx(nt,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:e.jsx("div",{className:"px-6 py-4",children:e.jsx("div",{className:"mx-auto max-w-sm",children:T?e.jsx(ht,{rawSeo:v,innerSeo:h,defaultResolveType:M,seoSchema:n,activeResolveType:p,seoTypeOptions:o.seoTypeOptions,formResetKey:x,siteDefaultSeo:_,onPersistRaw:r=>{g(r),I(r)},onInnerChange:r=>{i(r),a(r)},onClearForm:H,onBumpFormKey:$}):n&&p&&e.jsx(gt,{schema:n,resolveType:p,value:h,formResetKey:x,onChange:V})})})}),t[20]=p,t[21]=$,t[22]=H,t[23]=M,t[24]=v,t[25]=h,t[26]=B,t[27]=x,t[28]=V,t[29]=I,t[30]=a,t[31]=o,t[32]=n,t[33]=i,t[34]=g,t[35]=T,t[36]=A,t[37]=_,t[38]=S):S=t[38];let f;t[39]!==d||t[40]!==S?(f=e.jsxs(st,{side:"right",className:"w-[400px] sm:max-w-[440px] p-0 gap-0",children:[d,S]}),t[39]=d,t[40]=S,t[41]=f):f=t[41];let b;return t[42]!==q||t[43]!==k||t[44]!==f?(b=e.jsx(at,{open:k,onOpenChange:q,children:f}),t[42]=q,t[43]=k,t[44]=f,t[45]=b):b=t[45],b}function yt(u){return u+1}function wt(u){return u+1}export{ui as SeoSheet};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as L,F as H,j as U}from"./index-CUzWKVSK.js";import{a as O,g as $,s as E}from"./automation-runs-DkANrTNa.js";import{r as k,u as B}from"./use-mcp-client-CS59ukvJ.js";import{b as V,c as Y}from"./use-mcp-tools-Ba7F3Muw.js";import{u as q}from"./index-Cr4tpIsH.js";import{c as G}from"./monaco-editor-rv9m-l6Q.js";import{g as F,M as K,a as D}from"./index-Ck1aiM-y.js";import{b as W,a as z}from"./chat-context-BOwGcE_A.js";import{u as J}from"./shell-layout-V837oMz7.js";import{O as Q}from"./tab-id-BijBBRwE.js";import"./select-B9FacR86.js";import"./tooltip-DaDwTvit.js";import"./Check-BEridtmz.js";import"./ChevronDown-BiEc62bh.js";import"./ChevronUp-k6Oc5DVd.js";import"./useInfiniteQuery-Cf_0YKpQ.js";import"./use-infinite-scroll-C57C3Rug.js";import"./use-connection-Ck7XKbTz.js";import"./use-virtual-mcp-BIYNPtPn.js";import"./card-DWI_34Da.js";import"./sidebar-mcPsCK2S.js";import"./LayoutLeft-BzVqeY55.js";import"./use-mobile-kLSLCFd9.js";import"./X-IbrtE-s4.js";import"./table-AQETJoTB.js";import"./empty-state-DXNSLY55.js";import"./use-members-8f2PJCa2.js";import"./use-org-auth-client-uScl5586.js";import"./use-clock-tick-498bAXAc.js";import"./AlertCircle-Bxley7ls.js";import"./CheckCircle-BlO_RSix.js";import"./DotsVertical-BMhkpK12.js";import"./agent-icon-CRZnpjC_.js";import"./Tool01-D-9cvENG.js";import"./ArrowUp-DTvkt0ak.js";import"./Settings02-B5wstt4p.js";import"./Tool02-BrKtvAQQ.js";import"./ArrowRight-DAV431J7.js";import"./ArrowUpRight-S9c4hAoU.js";import"./TrendUp01-B1fIoCbN.js";import"./ZapSquare-DkSNEL2b.js";import"./ZoomOut-BITJSwVW.js";import"./Users03-zDzGivHr.js";import"./ChevronRight-DQaJlJVb.js";import"./Stars02-D-v5MacQ.js";import"./Copy01-C7hMCclq.js";import"./Globe01-DEDrpW1E.js";import"./Eye-dVsVJhNZ.js";import"./FilterLines-D3B5tJlR.js";import"./Star01-C1FexH2L.js";import"./Globe04-BZBYUjok.js";import"./SwitchHorizontal01-C3WuJpK_.js";import"./HardDrive-ByaWw6uO.js";import"./Image01-BV3Txwbg.js";import"./Key01-DLsfTRDD.js";import"./XCircle-DGigjeyF.js";import"./LinkExternal01-Ci-otr_n.js";import"./Monitor01-Ycx6Vrvt.js";import"./Sun-BQx_Tk93.js";import"./Package-Cnz6Un5X.js";import"./Palette-BFS141XQ.js";import"./Play-CAB1ZCRF.js";import"./Plus-BQ9qrH8f.js";import"./SearchLg-W-Jcoj3E.js";import"./SearchMd-CahiLwU-.js";import"./Shield01-DHTgRfQy.js";import"./Stars01-BArh5_CK.js";import"./Trash01-BOvBVpF6.js";import"./Upload01-BQmvLn4t.js";import"./User01-DaB2mE1H.js";import"./Users01-DD9j7wkG.js";import"./XClose-DzJNy4PW.js";import"./Zap-DPOyU8qk.js";import"./use-automations-Dnz0ITTt.js";import"./studio-tools-B3zb177t.js";import"./useSuspenseInfiniteQuery-BZClNvPb.js";import"./avatar-BXSptr47.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-C-NZefvp.js";import"./file-type-icon-DXQqJNWv.js";import"./dialog-CNavh_ID.js";import"./hooks-BKmDsGe6.js";import"./decopilot-sse-pool-4-i2lGyT.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./calendar-ByQrFkkN.js";import"./integration-icon-DsRso_fD.js";import"./use-navigate-to-agent-rJKVv9BI.js";import"./reusable-new-chat-CouMjkYR.js";import"./AreaChart-CG7AioGL.js";import"./form-CsYbTpJv.js";import"./label-CvivNPNS.js";import"./input-BfCUUoj3.js";import"./auth-YD50toG1.js";import"./drawer-CA8X_E6D.js";import"./collection-search-DYrDm5KL.js";import"./autosend-DYGIxc7a.js";import"./index-DADg-eRW.js";import"./get-initials-D-f_fDFw.js";import"./popover-DD6XdQ52.js";import"./use-registry-app-DdlLxJuN.js";import"./github-repo-scope-DjMZbiKa.js";import"./authenticate-and-persist-oauth-PalN3zyi.js";import"./mcp-oauth-C4u6EfIt.js";import"./extract-connection-data-B0MmXUM0.js";import"./use-decopilot-events-R8S3hvIZ.js";import"./dropdown-menu-Dg1DhL8o.js";import"./command-BNufXRj1.js";import"./index-DuvagTzB.js";import"./use-organization-settings-C_KMCSYR.js";import"./companions-core-D_7TXcPF.js";import"./tabs-B59ohLMF.js";import"./toggle-group-Dibq18vH.js";import"./use-deco-credits-B3_IFRIh.js";import"./connection-card-DlbLvUZt.js";import"./use-registry-connections-Dg0VJp8r.js";import"./retry-CErkP7V6.js";import"./connection-slug-eyAPH6o3.js";import"./textarea-DhDhVZOx.js";import"./connection-form-helpers-BfmEOi9l.js";import"./collection-tabs-9jlVmnnd.js";import"./badge-o246HDY_.js";import"./use-ai-providers-DftIlfJA.js";import"./connect-desktop-dialog-fcQZEjT1.js";import"./select-model-D2ajwSX0.js";import"./checkbox-tnlQEu_f.js";import"./skeleton-ebOBBWFF.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-CjXYZ8w1.js";import"./index-DbnsY2vR.js";import"./alert-dialog-DI2MtMU3.js";import"./toolbar-cLCnXkwg.js";import"./use-debounced-value-CDNo9vhp.js";import"./location-BpLtHjTZ.js";import"./index-CdUxdGTP.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-5uFKlMGE.js";import"./use-capability-xZkJNCZw.js";import"./toolbar-icon-button-C6CoUfsA.js";import"./pt-BR-CLy76QW2.js";import"./use-debounced-autosave-DpWYdaaW.js";import"./index-BnnkITRc.js";import"./search-input-DnHv6Bfo.js";import"./use-mcp-auth-status-DI30xGcv.js";import"./switch-CEilJb4P.js";import"./github-repo-picker-BNjYQs95.js";import"./provision-repo-scoped-github-connection-2iDn-wQ1.js";import"./use-secrets-CadxpfIf.js";import"./use-file-configs-BkoDNGv5.js";import"./automation-list-row-DtK1HcDM.js";import"./required-auth-layout-Bhcuvipf.js";import"./use-org-sso-KqI62VaZ.js";const X="studio://navigate";function Z(M){const[t]=M;if(M.length!==1||t?.type!=="resource_link"||!t.uri.startsWith(X))return{isNavigate:!1};let o=null;try{o=new URL(t.uri).searchParams.get("main")}catch{}return{isNavigate:!0,tab:o&&Q.has(o)?o:null}}const tt={};function ot(M){const t=L.c(38),{client:o,resourceURI:I,tool:i,connectionId:p,orgId:a,args:v}=M,{sendMessage:C}=W(),{setAppContext:f,clearAppContext:l}=z(),{openSidePanel:g,openTab:s}=J(),r=`${p}:${i.name}`;let c;t[0]!==s?(c=x=>x==="inline"?(s("0"),"inline"):"fullscreen",t[0]=s,t[1]=c):c=t[1];const m=c,n=v??tt;let u;t[2]!==o||t[3]!==i.name||t[4]!==n?(u={client:o,toolName:i.name,toolArguments:n},t[2]=o,t[3]=i.name,t[4]=n,t[5]=u):u=t[5];const{data:e}=Y(u);let h;if(t[6]!==i._meta||t[7]!==i.name){const x=$(i._meta);h=E(i.name,x),t[6]=i._meta,t[7]=i.name,t[8]=h}else h=t[8];const A=h;let d;t[9]!==i.inputSchema?(d=i.inputSchema??{type:"object"},t[9]=i.inputSchema,t[10]=d):d=t[10];let R;t[11]!==A||t[12]!==d||t[13]!==i?(R={...i,name:A,inputSchema:d},t[11]=A,t[12]=d,t[13]=i,t[14]=R):R=t[14];const b=R;let _;t[15]!==g||t[16]!==s||t[17]!==C?(_=x=>{const j=Z(x.content);if(j.isNavigate){j.tab&&s(j.tab);return}const w=G(x.content);w.content.length>0&&(g("chat"),C({tiptapDoc:w}))},t[15]=g,t[16]=s,t[17]=C,t[18]=_):_=t[18];const y=_;let P;t[19]!==b?(P={tool:b},t[19]=b,t[20]=P):P=t[20];let N;t[21]!==f||t[22]!==r?(N=x=>f(r,x),t[21]=f,t[22]=r,t[23]=N):N=t[23];let T;t[24]!==l||t[25]!==r?(T=()=>l(r),t[24]=l,t[25]=r,t[26]=T):T=t[26];let S;return t[27]!==o||t[28]!==y||t[29]!==m||t[30]!==a||t[31]!==I||t[32]!==P||t[33]!==N||t[34]!==T||t[35]!==n||t[36]!==e?(S=U.jsx(K,{resourceURI:I,orgId:a,toolInfo:P,toolInput:n,toolResult:e,displayMode:"fullscreen",minHeight:D.fullscreen.minHeight,maxHeight:D.fullscreen.maxHeight,client:o,onMessage:y,onUpdateModelContext:N,onTeardown:T,onRequestDisplayMode:m,className:"h-full"}),t[27]=o,t[28]=y,t[29]=m,t[30]=a,t[31]=I,t[32]=P,t[33]=N,t[34]=T,t[35]=n,t[36]=e,t[37]=S):S=t[37],S}function Wi(M){const t=L.c(24),{connectionId:o,toolName:I,args:i}=M,{org:p}=H(),a=q();let v;t[0]!==o||t[1]!==a?(v=k(o)&&a.vmEntry?.sandboxProviderKind==="user-desktop"&&a.previewUrl?`${a.previewUrl.replace(/\/+$/,"")}/api/mcp`:void 0,t[0]=o,t[1]=a,t[2]=v):v=t[2];const C=v;let f;t[3]!==o||t[4]!==C||t[5]!==p.id||t[6]!==p.slug?(f={connectionId:o,orgId:p.id,orgSlug:p.slug,mcpUrl:C},t[3]=o,t[4]=C,t[5]=p.id,t[6]=p.slug,t[7]=f):f=t[7];const l=B(f);let g;t[8]!==l?(g={client:l},t[8]=l,t[9]=g):g=t[9];const{data:s}=V(g);let r,c,m;t[10]!==I||t[11]!==s.tools?(r=O(decodeURIComponent(I)),m=s.tools.find(e=>e.name===r)??s.tools.find(e=>{const h=$(e._meta);if(!h)return!1;if(E(e.name,h)===r)return!0;const d=E(r,h);return d!==r&&e.name===d}),c=m?._meta?F(m._meta):void 0,t[10]=I,t[11]=s.tools,t[12]=r,t[13]=c,t[14]=m):(r=t[12],c=t[13],m=t[14]);const n=c;if(!m||!n){let e;return t[15]!==r?(e=U.jsx("div",{className:"flex items-center justify-center h-full w-full",children:U.jsxs("p",{className:"text-sm text-muted-foreground",children:['Tool "',r,'" not found or has no UI']})}),t[15]=r,t[16]=e):e=t[16],e}let u;return t[17]!==i||t[18]!==l||t[19]!==o||t[20]!==p.id||t[21]!==n||t[22]!==m?(u=U.jsx(ot,{client:l,resourceURI:n,tool:m,connectionId:o,orgId:p.id,args:i}),t[17]=i,t[18]=l,t[19]=o,t[20]=p.id,t[21]=n,t[22]=m,t[23]=u):u=t[23],u}export{Wi as AppViewContent};
|