decocms 4.158.2 → 4.158.3
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-qIC_xSrj.js → AlertCircle-YkJszhyi.js} +1 -1
- package/dist/client/assets/{AreaChart-HkmLkZy2.js → AreaChart-D6sbwDYG.js} +1 -1
- package/dist/client/assets/{ArrowUp-Dv6dW9X3.js → ArrowUp-DPqqjxMs.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-CQVsRNYA.js → ArrowUpRight-DCcGUPRq.js} +1 -1
- package/dist/client/assets/{Check-Dw0yb53j.js → Check-BanZqVS6.js} +1 -1
- package/dist/client/assets/{CheckCircle-Dud6wUS9.js → CheckCircle-CiwBnetw.js} +1 -1
- package/dist/client/assets/{ChevronDown-DvIRW9jR.js → ChevronDown-CUX5BVRH.js} +1 -1
- package/dist/client/assets/{ChevronRight-C9FO0Ghk.js → ChevronRight-D7bdokHb.js} +1 -1
- package/dist/client/assets/{ChevronUp-C8zQGFtm.js → ChevronUp-BvwOltu0.js} +1 -1
- package/dist/client/assets/{Copy01-DBF2xtLX.js → Copy01-D8PXcQlN.js} +1 -1
- package/dist/client/assets/{CpuChip01-Bm59eh5F.js → CpuChip01-Sn9YZC9Z.js} +1 -1
- package/dist/client/assets/{DotsVertical-A7mKqECE.js → DotsVertical-Dh5AhfNj.js} +1 -1
- package/dist/client/assets/{Eye-BQPVNie2.js → Eye-BjzBo9pu.js} +1 -1
- package/dist/client/assets/{FilterLines-CLE41-vv.js → FilterLines-EqTRXCN6.js} +1 -1
- package/dist/client/assets/{HardDrive-Iz7lTyC4.js → HardDrive-CXeNKlS_.js} +1 -1
- package/dist/client/assets/{Key01-Dj3z1dEv.js → Key01-B_NmjlUq.js} +1 -1
- package/dist/client/assets/{LayoutLeft-DMB2s9jy.js → LayoutLeft-BJ-rrVM8.js} +1 -1
- package/dist/client/assets/{LinkExternal01-BiWFfTiD.js → LinkExternal01-B6_9NVrP.js} +1 -1
- package/dist/client/assets/{LogOut01-CmE_ZaFu.js → LogOut01-CPJ6BI1C.js} +1 -1
- package/dist/client/assets/{Monitor01-DpjnSDYR.js → Monitor01-BW-aur37.js} +1 -1
- package/dist/client/assets/{Palette-Cl97ZzbL.js → Palette-SJkRJpeD.js} +1 -1
- package/dist/client/assets/{Play-BpgcQFKU.js → Play-CdlOcV-y.js} +1 -1
- package/dist/client/assets/{Plus-sJs2USHB.js → Plus-CCR2dl91.js} +1 -1
- package/dist/client/assets/{SearchLg-DEgv-uG-.js → SearchLg-BROgsk9l.js} +1 -1
- package/dist/client/assets/{SearchMd-D9FDebLE.js → SearchMd-BBtCjgk8.js} +1 -1
- package/dist/client/assets/{Settings02-Bl_0yVE7.js → Settings02--NDw0tr0.js} +1 -1
- package/dist/client/assets/{Shield01-BO8-H5xY.js → Shield01-Ss0yQTUj.js} +1 -1
- package/dist/client/assets/{Star01-o2L6nHqw.js → Star01-CntjezXG.js} +1 -1
- package/dist/client/assets/{Stars01-CuVmQ4th.js → Stars01-lkb5ewEZ.js} +1 -1
- package/dist/client/assets/{Stars02-DgSFkiw6.js → Stars02-C2Cbwy_X.js} +1 -1
- package/dist/client/assets/{Sun-DL-zXPtw.js → Sun-MMOSzKiH.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-DC3YBwC_.js → SwitchHorizontal01-3z68UsWg.js} +1 -1
- package/dist/client/assets/{Tool01-DVkbgDKg.js → Tool01-B1U6TeQ7.js} +1 -1
- package/dist/client/assets/{Tool02-GyxJVdhs.js → Tool02-FCeFZNlp.js} +1 -1
- package/dist/client/assets/{Trash01-IiY64zb7.js → Trash01-CUyl1xYR.js} +1 -1
- package/dist/client/assets/{TrendUp01-BnywZeMt.js → TrendUp01-CHXXVD4m.js} +1 -1
- package/dist/client/assets/{Upload01-CHdkzkYk.js → Upload01-ZeBMj0BP.js} +1 -1
- package/dist/client/assets/{User01-Dic8NL9t.js → User01-PMJPa_tN.js} +1 -1
- package/dist/client/assets/{Users01-CxHLm5J9.js → Users01-CqQx5tIk.js} +1 -1
- package/dist/client/assets/{Users03-C-Rx_Rc3.js → Users03-BxaRzrtC.js} +1 -1
- package/dist/client/assets/{X-DTAX3OCa.js → X-Fy7AbE7F.js} +1 -1
- package/dist/client/assets/{XCircle-u8Vikw7a.js → XCircle-CWLIEPUH.js} +1 -1
- package/dist/client/assets/{XClose-DV1DPWGC.js → XClose-Bp_RaZDo.js} +1 -1
- package/dist/client/assets/{Zap-C9po9Mov.js → Zap-CXlonpRe.js} +1 -1
- package/dist/client/assets/{ZapSquare-yY2i-ZE0.js → ZapSquare-BmTk-klu.js} +1 -1
- package/dist/client/assets/{access-gate-DKcnqzVk.js → access-gate-CiM6cp0o.js} +1 -1
- package/dist/client/assets/{add-section-modal-BuZ_NECI.js → add-section-modal-BCa7yMsN.js} +1 -1
- package/dist/client/assets/{agent-icon-DwBPTcr7.js → agent-icon-DAE-QVSX.js} +1 -1
- package/dist/client/assets/{agents-list-CNvUWwLk.js → agents-list-BF4lfGs_.js} +1 -1
- package/dist/client/assets/{ai-providers-BjmN_iJH.js → ai-providers-BzSQnJv2.js} +1 -1
- package/dist/client/assets/{alert-CiHMyreR.js → alert-BwjwMJ_u.js} +1 -1
- package/dist/client/assets/{alert-dialog-Ds78S35S.js → alert-dialog-Bejl4UZW.js} +1 -1
- package/dist/client/assets/{app-editor-CJiIIYx0.js → app-editor-Dp-AZe52.js} +1 -1
- package/dist/client/assets/{auth-B-WF-Fyk.js → auth-CSGt0fLM.js} +1 -1
- package/dist/client/assets/{auth-catchall-dNvPV8tq.js → auth-catchall-C6mjSaOw.js} +1 -1
- package/dist/client/assets/{auth-entry-Dl0epUp1.js → auth-entry-B8bklg_Y.js} +1 -1
- package/dist/client/assets/{auth-split-layout-9KD_aCez.js → auth-split-layout-KfT9Fgv_.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-BSdP7jbF.js → authenticate-and-persist-oauth-DTurxjpA.js} +1 -1
- package/dist/client/assets/{automation-list-row-Dwbyv5TT.js → automation-list-row-als2Xpcd.js} +1 -1
- package/dist/client/assets/{automation-runs-DRI95Blq.js → automation-runs-dOAA8A_J.js} +1 -1
- package/dist/client/assets/{automations-CiegP5qa.js → automations-VwnKPcQS.js} +1 -1
- package/dist/client/assets/{avatar-CksInPMf.js → avatar-B4ZEWEhO.js} +1 -1
- package/dist/client/assets/{badge-BQ6hSN97.js → badge-DoTrxPvS.js} +1 -1
- package/dist/client/assets/{block-document-DtApBc50.js → block-document-CdPdyXou.js} +1 -1
- package/dist/client/assets/{brand-context-hq-Z_9qV.js → brand-context-Cb1cYLDv.js} +1 -1
- package/dist/client/assets/{buckets-DZEZvm_j.js → buckets-BOqpTdJo.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-_IbwEONi.js → bulk-category-panel-CZZu1CRx.js} +1 -1
- package/dist/client/assets/{calendar-Dh6Ay4oq.js → calendar-1BAMPIfo.js} +1 -1
- package/dist/client/assets/{capability-load-error-DmwIYHnQ.js → capability-load-error-CCEEpuHJ.js} +1 -1
- package/dist/client/assets/{card-CSjRjipe.js → card-CISWuoNN.js} +1 -1
- package/dist/client/assets/{category-editor-BIqEh4Eq.js → category-editor-DGLGlS3L.js} +1 -1
- package/dist/client/assets/{chat-context-D64R7wZr.js → chat-context-CoSeVfqX.js} +1 -1
- package/dist/client/assets/{checkbox-CPbhbD1e.js → checkbox-hIdnOQby.js} +1 -1
- package/dist/client/assets/{cli-auth-success-CIKWin3h.js → cli-auth-success-BqjCvyB5.js} +1 -1
- package/dist/client/assets/{collection-detail-Cso7X5xa.js → collection-detail-053oVNcD.js} +1 -1
- package/dist/client/assets/{collection-display-button-0fTpEpjG.js → collection-display-button-BEHwBZFo.js} +1 -1
- package/dist/client/assets/{collection-search-BwFX8J9H.js → collection-search-Dza0Wnqg.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-zuHVMAKO.js → collection-table-wrapper-BJ75h_ci.js} +1 -1
- package/dist/client/assets/{collection-tabs-CvyLDMWR.js → collection-tabs-BQWDYbtI.js} +1 -1
- package/dist/client/assets/{command-57yejGBk.js → command-EKXrfvyu.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-CfO1R-2I.js → commerce-onboarding-DlJYxHQw.js} +1 -1
- package/dist/client/assets/{companions-core-DFao4P_s.js → companions-core-CvQj41-P.js} +1 -1
- package/dist/client/assets/{connect-CNm71Hjc.js → connect-Dis7hEDy.js} +1 -1
- package/dist/client/assets/{connection-QATUkG05.js → connection-BZEuAZZC.js} +1 -1
- package/dist/client/assets/{connection-card-DrJZGb5B.js → connection-card-D9VnLzY1.js} +1 -1
- package/dist/client/assets/{connection-detail-C5oyVr86.js → connection-detail-DkCZJSCg.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-DrZpyl95.js → connection-form-helpers-CwB0lnHg.js} +1 -1
- package/dist/client/assets/{connections-D3o8P-Wb.js → connections-DFaFU1nP.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-s13SK9y4.js → decopilot-sse-pool-ddxDh-T3.js} +1 -1
- package/dist/client/assets/{dialog-C7c6o6FP.js → dialog-BAhwXLtu.js} +1 -1
- package/dist/client/assets/{domain-settings-Mv5ZBGq6.js → domain-settings-3XVvFKO7.js} +1 -1
- package/dist/client/assets/{drawer-BKO67Xux.js → drawer-BQd2nFSf.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CbU2D-c0.js → dropdown-menu-8-9RMyUq.js} +1 -1
- package/dist/client/assets/{empty-state-c2j5Ds6E.js → empty-state-C-PMtz9f.js} +1 -1
- package/dist/client/assets/{extract-connection-data-CHzJzImj.js → extract-connection-data-BZa8p_H-.js} +1 -1
- package/dist/client/assets/{file-explorer-DjGGJJmb.js → file-explorer-DXY03oX6.js} +1 -1
- package/dist/client/assets/{form-4dv9_c-3.js → form-BvU3JKee.js} +1 -1
- package/dist/client/assets/{general-DmeeYFiw.js → general-CP6LTcbJ.js} +1 -1
- package/dist/client/assets/{github-repo-picker-BDJbJq_X.js → github-repo-picker-Df-OSUFw.js} +1 -1
- package/dist/client/assets/{hooks-CQZEoVeJ.js → hooks-8r52ZzPh.js} +1 -1
- package/dist/client/assets/{index-C_siJ8jb.js → index-B6Z7PR0c.js} +3 -3
- package/dist/client/assets/{index-DoiyHa2I.js → index-BoLS04lq.js} +1 -1
- package/dist/client/assets/{index-DK327Z1m.js → index-Bvfh6gNn.js} +1 -1
- package/dist/client/assets/{index-C02mImEU.js → index-C4i4dW_0.js} +1 -1
- package/dist/client/assets/{index-BHj_z9is.js → index-CHYDq1Mt.js} +1 -1
- package/dist/client/assets/{index-BUR03TdS.js → index-CfOvqDrF.js} +5 -5
- package/dist/client/assets/{index-Bd5TxvXq.js → index-CqSKWTR6.js} +1 -1
- package/dist/client/assets/{index-ObaO_KTB.js → index-CxoHON83.js} +1 -1
- package/dist/client/assets/{index-DhhX5FGH.js → index-DWIeHGtm.js} +1 -1
- package/dist/client/assets/{index-kTQ08f_V.js → index-DxOAuh92.js} +1 -1
- package/dist/client/assets/{index-redirect-BM56RLHI.js → index-redirect-DzgwSAE0.js} +1 -1
- package/dist/client/assets/{index-CCKcgzR3.js → index-xLZV-a-I.js} +3 -3
- package/dist/client/assets/{input-C0DYQwT4.js → input-BojcyffB.js} +1 -1
- package/dist/client/assets/{integration-icon-qI9RoW2h.js → integration-icon-CArxB5uE.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-BuemHTqS.js → invite-member-dialog-B8ckXtQt.js} +1 -1
- package/dist/client/assets/{label-DwTm1B-u.js → label-CkgoFapr.js} +1 -1
- package/dist/client/assets/{layout-BdY4uzlC.js → layout-C-sM6rKc.js} +1 -1
- package/dist/client/assets/{login-BdD1Za0l.js → login-B4ADCVAk.js} +1 -1
- package/dist/client/assets/{mcp-oauth-Che7vtan.js → mcp-oauth-CHnOKcYw.js} +1 -1
- package/dist/client/assets/{members-CymT0WFw.js → members-faZAtqbf.js} +1 -1
- package/dist/client/assets/{monaco-editor-Cyh8g4ki.js → monaco-editor-CcMhH2ul.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-ym6EVlnJ.js → monitoring-stats-row-BmU63u-K.js} +1 -1
- package/dist/client/assets/{multi-select-D7N-MiN0.js → multi-select-D9AH5ZXR.js} +1 -1
- package/dist/client/assets/{oauth-callback-BUEw7QDH.js → oauth-callback-B8FYxv5p.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-DRD_6RrT.js → oauth-callback-ai-provider-D_wc92xB.js} +1 -1
- package/dist/client/assets/{onboarding-r5XtoSLm.js → onboarding-DPHO6jJq.js} +1 -1
- package/dist/client/assets/{org-layout-DC_k-BB6.js → org-layout-DnsmheU0.js} +1 -1
- package/dist/client/assets/{organization-choice-D7ScNtlb.js → organization-choice-C8DRHLSZ.js} +1 -1
- package/dist/client/assets/{orgs-CFErd6sg.js → orgs-DGcaLxGF.js} +1 -1
- package/dist/client/assets/{page-seo-form-hYazo0Jj.js → page-seo-form-DtArubh-.js} +1 -1
- package/dist/client/assets/{popover-Gmg5lY4q.js → popover-DVFAT0c-.js} +1 -1
- package/dist/client/assets/{post-editor-COrFDOZo.js → post-editor-CIF81oIw.js} +1 -1
- package/dist/client/assets/{primitives-CE6etn75.js → primitives-w9Lg9eWu.js} +1 -1
- package/dist/client/assets/{profile-C7W3wF9h.js → profile-cEVpZAUx.js} +1 -1
- package/dist/client/assets/project-app-view-CatDRucp.js +1 -0
- package/dist/client/assets/record-editor-CnhwCwUv.js +1 -0
- package/dist/client/assets/{redirect-editor-5lNy5HsW.js → redirect-editor-CprSKjFX.js} +1 -1
- package/dist/client/assets/registry-jo0U30T7.js +2 -0
- package/dist/client/assets/{registry-layout-CC2oyVmB.js → registry-layout-CjC8MD0g.js} +1 -1
- package/dist/client/assets/{reports-DTetgeJj.js → reports-Bmfny53H.js} +1 -1
- package/dist/client/assets/{require-capability-DMai0dE_.js → require-capability-KV0-YKXW.js} +1 -1
- package/dist/client/assets/{required-auth-layout-BNLV3Z9n.js → required-auth-layout-B8V_mVLF.js} +1 -1
- package/dist/client/assets/{reset-password-BC57Hkeq.js → reset-password-BSgfWKYU.js} +1 -1
- package/dist/client/assets/{roles-las8u9fW.js → roles-BKKRsW49.js} +1 -1
- package/dist/client/assets/{search-input-C83eu_0r.js → search-input-zOnTA2ZC.js} +1 -1
- package/dist/client/assets/{secrets-TEsTjL46.js → secrets-BO1pYpF8.js} +1 -1
- package/dist/client/assets/{sections-editor-C2Om6EFx.js → sections-editor-DIrENEAq.js} +1 -1
- package/dist/client/assets/{select-model-urZAnlWP.js → select-model-irlX9OHt.js} +1 -1
- package/dist/client/assets/{select-CBqI6EKt.js → select-vILxxytl.js} +1 -1
- package/dist/client/assets/{self-tool-result-BU8ra_BU.js → self-tool-result-CLRYKd2s.js} +1 -1
- package/dist/client/assets/{seo-editor-CGrEOztm.js → seo-editor-RmjyGTpd.js} +1 -1
- package/dist/client/assets/{settings-layout-B6UunhIC.js → settings-layout-jRIjhxbU.js} +1 -1
- package/dist/client/assets/{settings-section-BkCa2hSF.js → settings-section-DN6dwCrb.js} +1 -1
- package/dist/client/assets/{shell-controls-DvqqvSsN.js → shell-controls-BMNXpy_H.js} +1 -1
- package/dist/client/assets/{shell-layout-DK_eY-ht.js → shell-layout-DPwXTcE5.js} +1 -1
- package/dist/client/assets/{sidebar-DY8K_17u.js → sidebar-BNYlE7AV.js} +1 -1
- package/dist/client/assets/{skeleton-DNroJ5d2.js → skeleton-6qQI888K.js} +1 -1
- package/dist/client/assets/{spinner-CNTd4wtK.js → spinner-o1rRSgzv.js} +1 -1
- package/dist/client/assets/{sso-DbH0TO7h.js → sso-CYHJYar5.js} +1 -1
- package/dist/client/assets/{store-DzjFcyTL.js → store-WWl5qYba.js} +1 -1
- package/dist/client/assets/store-registry-CJKalEyT.js +2 -0
- package/dist/client/assets/{studio-tools-Dnhpj5qh.js → studio-tools-BtWoNkcq.js} +1 -1
- package/dist/client/assets/{switch-D7HAjvDx.js → switch-D3xI7duw.js} +1 -1
- package/dist/client/assets/{tab-id-DxO0cBtb.js → tab-id-DiqmaBy2.js} +1 -1
- package/dist/client/assets/{table-BE4QKzOE.js → table-rGuxqPwr.js} +1 -1
- package/dist/client/assets/{tabs-O9QjcYrv.js → tabs-BmMYATnP.js} +1 -1
- package/dist/client/assets/{textarea-DFBGfRuK.js → textarea-BJt8cC6S.js} +1 -1
- package/dist/client/assets/{toggle-group-BtPvM55s.js → toggle-group-B6JAyI2q.js} +1 -1
- package/dist/client/assets/{toolbar-Cpvuujer.js → toolbar-CkCyMacW.js} +1 -1
- package/dist/client/assets/{tooltip-D9s1yr4p.js → tooltip-BkG8gKDz.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CQPjpXWl.js → use-ai-providers-DsZYnQg7.js} +1 -1
- package/dist/client/assets/{use-automations-CKUnBMBC.js → use-automations-DE2_NNy6.js} +1 -1
- package/dist/client/assets/{use-autosave-Dg87V8v1.js → use-autosave-8Cxke91M.js} +1 -1
- package/dist/client/assets/{use-capability-BHSV9gBd.js → use-capability-D0DkHssD.js} +1 -1
- package/dist/client/assets/{use-clock-tick-cqkvm-Ef.js → use-clock-tick-CXln3MAa.js} +1 -1
- package/dist/client/assets/{use-connection-Cy658_xM.js → use-connection-CwxutjPh.js} +1 -1
- package/dist/client/assets/{use-copy-CVhZVr-U.js → use-copy-C3D96rny.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Bi8HgMn7.js → use-create-virtual-mcp-6r2-LHL3.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-Ch2W7ZiY.js → use-debounced-autosave-CU83xIiP.js} +1 -1
- package/dist/client/assets/{use-debounced-value-DOn4Suao.js → use-debounced-value-DcuInD5Y.js} +1 -1
- package/dist/client/assets/{use-deco-credits-C98B9sz1.js → use-deco-credits-Ch8Vm2Gh.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-DHxI6exQ.js → use-decopilot-events-CzpHE_oH.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DJ9n74qf.js → use-delete-connection-BBWErgtv.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-BqcUjJTV.js → use-deployment-admin-Bu5Ua4e6.js} +1 -1
- package/dist/client/assets/{use-file-configs-D9dmpUrg.js → use-file-configs-DhMqka3s.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-Hu8-0kRx.js → use-infinite-scroll-CqngkeUq.js} +1 -1
- package/dist/client/assets/{use-join-requests-DcUe6bm_.js → use-join-requests-C8pWePHr.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-CkEtujGJ.js → use-mcp-auth-status-Do6e__rE.js} +1 -1
- package/dist/client/assets/{use-mcp-client-D51gNtSm.js → use-mcp-client-CpQD6Mz_.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-B1FxPgHp.js → use-mcp-tools-B9hG9X55.js} +1 -1
- package/dist/client/assets/{use-members-0ZMl36LX.js → use-members-DWfet2FQ.js} +1 -1
- package/dist/client/assets/{use-mobile-Be620oYx.js → use-mobile-4pnpeHV9.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-Czj1eRPz.js → use-navigate-to-agent-RjkB7mVO.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-J_HWXHei.js → use-org-auth-client-BppvrEHw.js} +1 -1
- package/dist/client/assets/{use-org-sso-0BdA3rsr.js → use-org-sso-C6r7r7Z-.js} +1 -1
- package/dist/client/assets/{use-organization-roles-CYDjrcGS.js → use-organization-roles-CFZWX9hz.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Dx8YLTtr.js → use-organization-settings-M5Zt0kWH.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CZVi37FP.js → use-registry-connections-C7i_uv3Z.js} +1 -1
- package/dist/client/assets/{use-secrets-C2jMKR1n.js → use-secrets-BgeMMiZf.js} +1 -1
- package/dist/client/assets/{use-status-sounds-3jCuX-9T.js → use-status-sounds-BZR8_RrZ.js} +1 -1
- package/dist/client/assets/{use-tags-D6OOOtp7.js → use-tags-BHi49oJt.js} +1 -1
- package/dist/client/assets/{use-view-mode-CfanfKcA.js → use-view-mode-DmoOwGW1.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-DQmehG0S.js → use-virtual-mcp-CaUP1Uqm.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Dekopob7.js +1 -0
- package/dist/client/assets/{useQueries-BRhSLBW5.js → useQueries-DcjddpQA.js} +1 -1
- package/dist/client/assets/{useRouterState-BTPqZkPv.js → useRouterState-Bo_NQVoe.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DqjaZzvF.js +1 -0
- package/dist/client/assets/{users-DetSWk8v.js → users-CvweS0eq.js} +1 -1
- package/dist/client/assets/{variant-calendar-B7KPrNWl.js → variant-calendar-CvrAdj38.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-BmJXsKF6.js → view-mode-toggle-8krhraza.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +2 -2
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/project-app-view-Drm83BNO.js +0 -1
- package/dist/client/assets/record-editor-Cd1O7CW0.js +0 -1
- package/dist/client/assets/registry-CA8KXJkV.js +0 -2
- package/dist/client/assets/store-registry-Bcjy_qj0.js +0 -2
- package/dist/client/assets/useInfiniteQuery-CazF2pt1.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BKzWCoNd.js +0 -1
package/dist/server/server.js
CHANGED
|
@@ -1198,7 +1198,7 @@ ${X.description}
|
|
|
1198
1198
|
Task description:
|
|
1199
1199
|
${X.description}
|
|
1200
1200
|
`:"","How to work:","- Call `TASK_BOARD_ITEM_PRS_GET` with the task id below to find the pull request under review, then load its repository to inspect / exercise the change.","- Do NOT push commits or change the code yourself. You are reviewing, not implementing.",`- End the run by calling \`TASK_BOARD_REVIEW_DECISION\` exactly once with the task id, reviewer "${G}", the reviewToken below, and your decision:`," - `approve` when it's good to ship. Include a short summary of what you verified."," - `request_changes` when something is wrong or missing. Include specific, actionable notes \u2014 the task goes back to the Super Agent with your notes.","- The reviewToken proves you are this reviewer \u2014 pass it through EXACTLY as given. Without it your approval won't count toward an automatic merge.","",`(task id: ${X.id})`,`(reviewToken: ${Y})`].join(`
|
|
1201
|
-
`);await A70(Z,X,{title:`${kn[G]}: ${X.title}`,prompt:$,temperature:0.3}),await $K(Z,{taskBoardItemId:X.id,action:"review_requested",actorId:null,data:{reviewer:G}});let J=await Z.storage.taskBoard.getById(X.id,Q);if(J)_Z(Q,J)}var gX4,hX4;var Qn0=B(()=>{zF();FE();yY();ti0();gX4=new Set(["completed","failed","expired"]),hX4={qa:"You are the QA Agent. Your job is to confirm the task ACTUALLY SOLVED THE "+"PROBLEM \u2014 not to review code style. Exercise the feature/behavior the task "+"describes (use the PR's preview / dev server when available), check the acceptance criteria implied by the title and description, and look for regressions in the affected flow. Judge outcomes, not the diff.",code_review:"You are the Code Reviewer. Review the code changes for correctness, security, and quality. FIRST look for a review skill/command appropriate to this repository's stack (e.g. a `/review`, `code-review`, or `security-review` skill, or the repo's CONTRIBUTING/review guidelines) and use it. Read the diff critically and flag concrete issues with file/line references."}});import{z as R70}from"zod";async function q70(Z,X,G,Y){if(G){let J=await Z.storage.connections.findById(G,X);if(J&&J.status==="active")return J}let{items:Q}=await Z.storage.connections.list(X,{slug:"mcp-github"}),$=Q.filter((J)=>J.status==="active");if(Y){let J=$.find((W)=>{let K=_G(W);return K?.owner===Y.owner&&K?.repo===Y.name});if(J)return J}return $.find((J)=>_G(J)===null)??$[0]??null}function M70(Z){if(!Z||typeof Z!=="object")return null;let X=Z;if(X.isError)return null;if(X.structuredContent&&typeof X.structuredContent==="object"&&Object.keys(X.structuredContent).length>0)return X.structuredContent;let G=X.content?.find((Y)=>Y.type==="text")?.text;if(!G)return null;try{return JSON.parse(G)}catch{return null}}function Jn0(Z){let X;try{X=new URL(Z).hostname.toLowerCase()}catch{return!1}return X==="deco.site"||X.endsWith(".decocdn.com")||X.endsWith(".deco-cx.workers.dev")||X.endsWith(".deco.site")}function dX4(Z){if(!Z||!Array.isArray(Z.statuses))return null;let X=Z.statuses.map((G)=>G&&typeof G==="object"?G:null).filter((G)=>!!G&&typeof G.target_url==="string"&&Jn0(G.target_url));if(X.length===0)return null;return X.find((G)=>G.state==="success")?.target_url??X[0].target_url}function mX4(Z){let X=Array.isArray(Z)?Z:Array.isArray(Z?.comments)?Z.comments:Array.isArray(Z?.items)?Z.items:[];for(let G of X){let Y=G&&typeof G.body==="string"?G.body:"";if(!Y)continue;let Q=Y.match(/href=['"]([^'"]+)['"][^>]*>\s*Branch Preview/i);if(Q?.[1]&&Jn0(Q[1]))return Q[1];let $=(Y.match(/https?:\/\/[^\s"'<>)\]]+/g)??[]).find((J)=>Jn0(J));if($)return $}return null}function c78(Z){if(!Z)return null;if((typeof Z.total_count==="number"?Z.total_count:null)===0)return null;switch(Z.state){case"success":return"passing";case"failure":case"error":return"failing";case"pending":return"pending";default:return null}}function d78(Z){let X=Array.isArray(Z)?Z:Array.isArray(Z?.check_runs)?Z.check_runs:[];if(X.length===0)return null;let G=!1,Y=!1;for(let Q of X){if(!Q||typeof Q!=="object")continue;let{status:$,conclusion:J}=Q;if($!=="completed")Y=!0;else if(typeof J==="string"&&l78.has(J))G=!0}if(G)return"failing";if(Y)return"pending";return"passing"}function m78(Z,X){if(Z==="failing"||X==="failing")return"failing";if(Z==="pending"||X==="pending")return"pending";if(Z==="passing"||X==="passing")return"passing";return null}function iX4(Z){let X=Array.isArray(Z)?Z:Array.isArray(Z?.check_runs)?Z.check_runs:[],G=[];for(let Y of X){if(!Y||typeof Y!=="object")continue;let Q=Y;G.push({id:typeof Q.id==="number"?Q.id:null,name:typeof Q.name==="string"?Q.name:"",status:typeof Q.status==="string"?Q.status:"completed",conclusion:typeof Q.conclusion==="string"?Q.conclusion:null,detailsUrl:typeof Q.html_url==="string"?Q.html_url:typeof Q.details_url==="string"?Q.details_url:null})}return G}function nX4(Z){return Z.status==="completed"&&Z.conclusion!=null&&l78.has(Z.conclusion)}async function pX4(Z,X,G){try{let Q=M70(await Z.callTool({name:"GET_CHECK_RUN",arguments:{owner:X.repoOwner,repo:X.repoName,checkRunId:G}},void 0,{timeout:I70}))?.output,$=typeof Q?.summary==="string"?Q.summary:null,J=typeof Q?.text==="string"?Q.text:null;return $??J??null}catch{return null}}async function i78(Z,X,G){let Y=await q70(Z,X,G.connectionId,{owner:G.repoOwner,name:G.repoName});if(!Y)return null;let Q=await o9(Y,Z,!0),$=async(J)=>M70(await Q.callTool({name:"pull_request_read",arguments:{method:J,owner:G.repoOwner,repo:G.repoName,pullNumber:G.number}},void 0,{timeout:I70}));try{let J=null;try{J=c78(await $("get_status"))}catch{}try{J=m78(J,d78(await $("get_check_runs")))}catch{}return J}finally{await Q.close().catch(()=>{})}}async function tX4(Z,X){let G=async(N)=>{try{return M70(await Z.callTool({name:"pull_request_read",arguments:{method:N,owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:I70}))}catch{return null}},[Y,Q,$]=await Promise.all([G("get_status"),G("get_check_runs"),G("get_comments")]),J=m78(c78(Y),d78(Q)),W=dX4(Y)??mX4($),K=await Promise.all(iX4(Q).map(async(N)=>({name:N.name,status:N.status,conclusion:N.conclusion,detailsUrl:N.detailsUrl,summary:nX4(N)&&N.id!=null?await pX4(Z,X,N.id):null})));return{checksStatus:J,checks:K,previewUrl:W}}async function oX4(Z,X,G){let Y=await q70(Z,X,G.connectionId,{owner:G.repoOwner,name:G.repoName});if(!Y)return $n0;let Q=await o9(Y,Z,!0);try{let[$,J]=await Promise.all([Q.callTool({name:"pull_request_read",arguments:{method:"get",owner:G.repoOwner,repo:G.repoName,pullNumber:G.number}},void 0,{timeout:I70}),tX4(Q,G)]),W=M70($);if(!W)return $n0;let K=W.state,N=K==="open";return{title:typeof W.title==="string"?W.title:null,body:typeof W.body==="string"?W.body:null,state:K==="closed"?"closed":N?"open":null,draft:typeof W.draft==="boolean"?W.draft:null,merged:typeof W.merged==="boolean"?W.merged:null,checksStatus:N?J.checksStatus:null,checks:N?J.checks:[],previewUrl:N?J.previewUrl:null}}catch{return $n0}finally{await Q.close().catch(()=>{})}}var I70=8000,$n0,l78,Wn0;var Kn0=B(()=>{e0();HF();NF();zF();sW();yY();Qn0();gi0();$n0={title:null,body:null,state:null,draft:null,merged:null,checksStatus:null,checks:[],previewUrl:null};l78=new Set(["failure","cancelled","timed_out","action_required","startup_failure","stale"]);Wn0=s({name:"TASK_BOARD_ITEM_PRS_GET",description:"Get the GitHub pull requests linked to a task board item, each enriched with live state (title, open/closed, draft, merged) fetched from GitHub.",annotations:{title:"Get Task Board Item Pull Requests",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:R70.object({taskBoardItemId:R70.string()}),outputSchema:R70.object({prs:R70.array(F68)}),handler:async({taskBoardItemId:Z},X)=>{D0(X),await X.access.check();let G=X.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Y=await X.storage.taskBoard.getById(Z,G);for(let K of Y?.threads??[]){let N=K.lastMessage?L70(K.lastMessage):null;if(!N)continue;try{await X.storage.taskBoard.linkPr({taskBoardItemId:Z,organizationId:G,url:N.url,prNumber:N.number,repoOwner:N.owner,repoName:N.repo,connectionId:null})}catch(F){console.error("[task-board] PR recovery from thread text failed",F)}}let Q=await X.storage.taskBoard.listPrs(Z,G),$=await Promise.all(Q.map(async(K)=>{let N=await oX4(X,G,K);return{url:K.url,number:K.number,repoOwner:K.repoOwner,repoName:K.repoName,createdAt:K.createdAt,...N}})),J=$.find((K)=>K.state==="open"&&!K.merged),W=J!=null&&J.checksStatus!=="pending"&&J.checksStatus!=="failing";if(Y&&Y.status==="in_review"&&Y.assigneeId===KX&&W)await Yn0(X,Y).catch((K)=>{console.error("[task-board] reviewer auto-handoff failed",K)});if($.some((K)=>K.merged))try{if(Y&&Y.status!=="done"){let K=await X.storage.taskBoard.update(Z,G,{status:"done"},Y.updatedBy);_Z(G,K)}}catch(K){console.error("[task-board] merge\u2192done reconcile failed",K)}return{prs:$}}})});async function k70(Z,X,G){let Q=(await Z.storage.taskBoard.listPrs(G,X))[0];if(!Q)return!1;let $=await i78(Z,X,Q);if($==="failing"||$==="pending")return console.warn(`[task-board] merge blocked \u2014 checks ${$} on PR #${Q.number}`),!1;let J=await q70(Z,X,Q.connectionId,{owner:Q.repoOwner,name:Q.repoName});if(!J)return!1;let W=await o9(J,Z,!0);try{return!(await W.callTool({name:"merge_pull_request",arguments:{owner:Q.repoOwner,repo:Q.repoName,pullNumber:Q.number}},void 0,{timeout:rX4}))?.isError}catch(K){return console.error("[task-board] merge PR failed",K),!1}finally{await W.close().catch(()=>{})}}var rX4=15000;var Nn0=B(()=>{HF();Kn0()});import{z as pw}from"zod";async function aX4(Z,X,G){let Q=(await Z.storage.organizationSettings.get(X))?.flags??{},$=g_.filter((W)=>Q[h_[W]]===!0),J=await Z.storage.taskBoard.listActivity(G,X);return fZ0(J,$,{verifiedOnly:!0})}var Fn0;var n78=B(()=>{e0();zF();sW();FE();yY();sn();Nn0();Fn0=s({name:"TASK_BOARD_REVIEW_DECISION",description:"Record a reviewer's decision for a task under review. `approve` marks the pull request approved by that reviewer (and, once EVERY enabled reviewer has approved, merges it when the org enabled auto-merge, advancing the task to Done); `request_changes` hands the task back to the Super Agent with your notes so it can fix the PR.",annotations:{title:"Review Decision",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0},inputSchema:pw.object({taskBoardItemId:pw.string(),reviewer:pw.enum(["qa","code_review"]).describe("Which reviewer you are: `qa` (QA Agent) or `code_review` (Code Reviewer)."),reviewToken:pw.string().optional().describe("The reviewToken from your prompt \u2014 proves you are this reviewer. "+"Pass it through exactly; an approval without a valid token is recorded but does NOT count toward an automatic merge."),decision:pw.enum(["approve","request_changes"]),notes:pw.string().min(1).describe("For approve: a short summary of what you verified. For request_changes: specific, actionable feedback the Super Agent must address.")}),outputSchema:pw.object({status:jF,merged:pw.boolean().describe("True when this approval completed the review and merged the PR.")}),handler:async({taskBoardItemId:Z,reviewer:X,reviewToken:G,decision:Y,notes:Q},$)=>{D0($),await $.access.check();let J=$.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let W=await $.storage.taskBoard.getById(Z,J);if(!W)throw Error(`Task board item not found: ${Z}`);let N=(G?await $.storage.taskBoard.resolveReviewClaimByToken(Z,G):null)?.reviewer===X;if(Y==="request_changes"){let D=await $.storage.taskBoard.update(Z,J,{status:"in_progress"},W.updatedBy);await $K($,{taskBoardItemId:Z,action:"review_changes_requested",actorId:null,data:{reviewer:X,notes:Q,verified:N}}),_Z(J,D);let E=(await $.storage.taskBoard.listPrs(Z,J))[0];return await oi0($,D,{feedback:`${kn[X]}: ${Q}`,pr:E?{number:E.number,url:E.url}:void 0}),{status:D.status,merged:!1}}if(await $K($,{taskBoardItemId:Z,action:"review_approved",actorId:null,data:{reviewer:X,notes:Q,verified:N}}),!await aX4($,J,Z)){let D=await $.storage.taskBoard.getById(Z,J)??W;return _Z(J,D),{status:D.status,merged:!1}}let w=(await $.storage.organizationSettings.get(J))?.flags?.auto_merge===!0?await k70($,J,Z):!1,O=w?await $.storage.taskBoard.update(Z,J,{status:"done"},W.updatedBy):await $.storage.taskBoard.getById(Z,J)??W;if(w)await $K($,{taskBoardItemId:Z,action:"status_changed",actorId:null,data:{from:W.status,to:"done"}});return _Z(J,O),{status:O.status,merged:w}}})});import{z as S70}from"zod";function sX4(Z,X,G){if(Z!=="in_review")return!1;return G.length===0||fZ0(X,G)}var Un0;var p78=B(()=>{e0();zF();sW();FE();yY();Nn0();Un0=s({name:"TASK_BOARD_PROMOTE_TO_PRODUCTION",description:"Ship a reviewed task: merge its open pull request and move the task to Done. Used by the board's 'Ship to production' button after the enabled reviewers approved, when auto-merge is off (a human does the final merge).",annotations:{title:"Ship to Production",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0},inputSchema:S70.object({taskBoardItemId:S70.string()}),outputSchema:S70.object({status:jF,merged:S70.boolean().describe("True when the PR was merged.")}),handler:async({taskBoardItemId:Z},X)=>{D0(X),await X.access.check();let G=X.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Y=await X.storage.taskBoard.getById(Z,G);if(!Y)throw Error(`Task board item not found: ${Z}`);let $=(await X.storage.organizationSettings.get(G))?.flags??{},J=g_.filter((F)=>$[h_[F]]===!0),W=await X.storage.taskBoard.listActivity(Z,G);if(!sX4(Y.status,W,J))throw Error("Task is not ready to ship: it must be In Review with every enabled reviewer approved");if(!await k70(X,G,Z))return{status:Y.status,merged:!1};let N=await X.storage.taskBoard.update(Z,G,{status:"done"},Y.updatedBy);if(Y.status!=="done")await $K(X,{taskBoardItemId:Z,action:"status_changed",actorId:null,data:{from:Y.status,to:"done"}});return _Z(G,N),{status:N.status,merged:!0}}})});var t78=B(()=>{x78();g78();h78();u78();Kn0();n78();p78();FE()});import{z as RF}from"zod";var Hn0;var o78=B(()=>{e0();Hn0=s({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:RF.object({}),outputSchema:RF.object({tags:RF.array(RF.object({id:RF.string(),organizationId:RF.string(),name:RF.string(),color:RF.string().nullable(),createdAt:RF.string().describe("ISO 8601 timestamp")}))}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X);return{tags:(await X.storage.tags.listOrgTags(G.id)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});import{z as JK}from"zod";var wn0;var r78=B(()=>{e0();wn0=s({name:"TAGS_CREATE",description:"Create a new tag, usable on organization members and task board items.",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:JK.object({name:JK.string().min(1).max(50).describe("Tag name"),color:JK.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional().describe('Hex color the tag renders its dot with, e.g. "#3b82f6"')}),outputSchema:JK.object({tag:JK.object({id:JK.string(),organizationId:JK.string(),name:JK.string(),color:JK.string().nullable(),createdAt:JK.string().describe("ISO 8601 timestamp")})}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X),Y=await X.storage.tags.createTag(G.id,Z.name,Z.color);return{tag:{...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():String(Y.createdAt)}}}})});import{z as V70}from"zod";var On0;var a78=B(()=>{e0();On0=s({name:"TAGS_DELETE",description:"Delete a tag and automatically remove it from all assigned members.",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:V70.object({tagId:V70.string().describe("Tag ID to delete")}),outputSchema:V70.object({success:V70.boolean()}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X),Y=await X.storage.tags.getTag(Z.tagId);if(!Y)throw Error("Tag not found");if(Y.organizationId!==G.id)throw Error("Tag does not belong to this organization");return await X.storage.tags.deleteTag(Z.tagId),{success:!0}}})});import{z as WK}from"zod";var Bn0;var s78=B(()=>{e0();Bn0=s({name:"MEMBER_TAGS_GET",description:"Get all tags currently assigned to a specific member.",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:WK.object({memberId:WK.string().describe("Member ID")}),outputSchema:WK.object({tags:WK.array(WK.object({id:WK.string(),organizationId:WK.string(),name:WK.string(),color:WK.string().nullable(),createdAt:WK.string().describe("ISO 8601 timestamp")}))}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X);if(!await X.storage.tags.verifyMemberOrg(Z.memberId,G.id))throw Error(`Member not found in this organization: ${Z.memberId}`);return{tags:(await X.storage.tags.getMemberTags(Z.memberId)).map(($)=>({...$,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():String($.createdAt)}))}}})});import{z as m3}from"zod";var Dn0;var e78=B(()=>{e0();Dn0=s({name:"MEMBER_TAGS_SET",description:"Replace all tags on a member with the given set. Pass empty array to clear.",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:m3.object({memberId:m3.string().describe("Member ID"),tagIds:m3.array(m3.string()).describe("Array of tag IDs to assign")}),outputSchema:m3.object({success:m3.boolean(),tags:m3.array(m3.object({id:m3.string(),organizationId:m3.string(),name:m3.string(),createdAt:m3.string().describe("ISO 8601 timestamp")}))}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X);if(!await X.storage.tags.verifyMemberOrg(Z.memberId,G.id))throw Error(`Member not found in this organization: ${Z.memberId}`);for(let $ of Z.tagIds){let J=await X.storage.tags.getTag($);if(!J)throw Error(`Tag not found: ${$}`);if(J.organizationId!==G.id)throw Error(`Tag does not belong to this organization: ${$}`)}return await X.storage.tags.setMemberTags(Z.memberId,Z.tagIds),{success:!0,tags:(await X.storage.tags.getMemberTags(Z.memberId)).map(($)=>({...$,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():String($.createdAt)}))}}})});var ZX8=B(()=>{o78();r78();a78();s78();e78()});function i3(Z,X=Date.now()){let G=Z.status;if(G==="in_progress"){let Y=new Date(Z.updated_at).getTime(),Q=Z.last_progress_at?new Date(Z.last_progress_at).getTime():Number.NaN,$=Math.max(Number.isFinite(Y)?Y:Number.NEGATIVE_INFINITY,Number.isFinite(Q)?Q:Number.NEGATIVE_INFINITY);if(!Number.isFinite($)||X-$>1800000)G="expired"}return{id:Z.id,organization_id:Z.organization_id,title:Z.title,description:Z.description,created_at:Z.created_at,updated_at:Z.updated_at,created_by:Z.created_by,updated_by:Z.updated_by,hidden:Z.hidden??!1,status:G,virtual_mcp_id:Z.virtual_mcp_id||void 0,trigger_id:Z.trigger_id,branch:Z.branch,sandbox_provider_kind:Z.sandbox_provider_kind,harness_id:Z.harness_id,metadata:Z.metadata&&Object.keys(Z.metadata).length>0?Z.metadata:void 0,run_config:Z.run_config}}var Ln0;var XX8=B(()=>{Ln0=["in_progress","requires_action","failed","completed"]});import{z as V8}from"zod";var GX8,XG4,YX8,KK,QX8,$X8;var UE=B(()=>{XX8();GX8=V8.object({id:V8.string().describe("Unique message ID"),thread_id:V8.string().describe("ID of the parent thread"),metadata:V8.unknown().optional().describe("Optional message metadata"),parts:V8.array(V8.record(V8.string(),V8.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:V8.enum(["user","assistant","system"]).describe("Message role"),created_at:V8.string().datetime().describe("Timestamp of creation"),updated_at:V8.string().datetime().describe("Timestamp of last update")}),XG4=V8.object({toolName:V8.string().describe("Fully qualified tool name"),appId:V8.string().describe("App ID that owns the tool"),args:V8.record(V8.string(),V8.unknown()).describe("Arguments used when expanding the tool"),expandedAt:V8.string().datetime().describe("When the tool was expanded")}),YX8=V8.object({expanded_tools:V8.array(XG4).optional()}).catchall(V8.unknown()),KK=V8.object({id:V8.string().describe("Unique thread ID"),organization_id:V8.string().describe("Organization this thread belongs to"),title:V8.string().describe("Thread title"),description:V8.string().nullable().describe("Thread description"),created_at:V8.string().datetime().describe("Timestamp of creation"),updated_at:V8.string().datetime().describe("Timestamp of last update"),hidden:V8.boolean().optional().describe("Whether the thread is hidden"),status:V8.enum([...Ln0,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:V8.string().describe("User ID who created the thread"),updated_by:V8.string().optional().describe("User ID who last updated the thread"),virtual_mcp_id:V8.string().optional().describe("Virtual MCP (agent) this thread was initiated with"),trigger_id:V8.string().nullable().optional().describe("Automation trigger that created this thread; null/absent for human-initiated threads."),branch:V8.string().nullable().optional().describe("Git branch this thread is pinned to (GitHub-linked vms only)"),sandbox_provider_kind:V8.string().nullable().optional().describe("Pinned on first message; identifies which sandbox provider to dispatch to (e.g. 'agent-sandbox', 'user-desktop')."),harness_id:V8.string().nullable().optional().describe("Pinned on first message; selects which harness runs the thread (e.g. 'claude-code', 'codex', 'decopilot')."),metadata:YX8.optional().describe("Free-form per-thread UI state (e.g. expanded_tools)"),run_config:V8.record(V8.string(),V8.unknown()).nullable().optional().describe("Persisted run configuration (contains agent and model info)")}),QX8=V8.object({id:V8.string().optional().describe("Optional custom ID for the thread"),title:V8.string().optional().describe("Thread title"),description:V8.string().nullish().describe("Thread description"),virtual_mcp_id:V8.string().describe("Virtual MCP (agent) this thread is bound to"),branch:V8.string().min(1).optional().describe("Preferred branch. Used only when the vMCP has a githubRepo; ignored otherwise. When omitted, the server picks the most-recently-touched branch from the user's sandboxMap, falling back to a freshly generated name.")}),$X8=V8.object({title:V8.string().optional().describe("New thread title"),description:V8.string().nullish().describe("New thread description"),hidden:V8.boolean().optional().describe("Whether the thread is hidden"),status:V8.enum(Ln0).optional().describe("New thread status (user-set override). 'expired' is a computed virtual status and cannot be set directly."),metadata:YX8.optional().describe("Full replacement of the thread's metadata object"),branch:V8.string().min(1).nullish().describe("New git branch for this thread"),virtual_mcp_id:V8.string().optional().describe("Re-point the thread at a different agent. Only meaningful for an unsent thread (changing the recipient of a new chat); the UI restricts it accordingly.")})});function GG4(Z){return(Z??"").normalize("NFKD").replace(/[\u0300-\u036F]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"user"}function C70(Z){return Z?.name||Z?.email?.split("@")[0]||void 0}function f70(Z){let X=GG4(Z),G=Date.now().toString(36).split("").reverse().join("");return`${X}-${G}`}import{z as JX8}from"zod";function $G4(Z,X){let G=Z?.[X];if(!G)return;return Object.entries(G).sort(([,Q],[,$])=>{let J=Math.max(0,...Object.values(Q).map((K)=>K.createdAt??0));return Math.max(0,...Object.values($).map((K)=>K.createdAt??0))-J})[0]?.[0]}var YG4,QG4,En0;var WX8=B(()=>{q5();e0();UE();qG();YG4=JX8.object({data:QX8.describe("Data for the new thread (id is auto-generated if not provided)")}),QG4=JX8.object({item:KK.describe("The created thread entity")});En0=s({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread for organizing messages and conversations.",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:YG4,outputSchema:QG4,handler:async(Z,X)=>{D0(X);let G=B0(X);await X.access.check();let Y=V1(X);if(!Y)throw Error("User ID required to create thread");let{data:Q}=Z,$=Q.id??J4("thrd"),J=await X.storage.virtualMcps.findById(Q.virtual_mcp_id,G.id);if(!J||J.organization_id!==G.id)throw Error(`Virtual MCP not found: ${Q.virtual_mcp_id}`);let W=J.metadata,K=W?.githubRepo,N=null;if(K)N=Q.branch??$G4(W?.sandboxMap,Y)??f70(C70(X.auth.user));let F=await X.storage.threads.create({id:$,organization_id:G.id,title:Q.title,description:Q.description,virtual_mcp_id:Q.virtual_mcp_id,branch:N,created_by:Y});if(F.isNew)i1.capture({distinctId:Y,event:"chat_started",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:$,has_title:!!Z.data.title,created_via:"tool"}});return{item:i3(F)}}})});import{z as gQ}from"zod";var JG4,WG4,HE;var zn0=B(()=>{h3();e0();UE();JG4=HJ.extend({where:gQ.object({created_by:gQ.string().optional(),trigger_ids:gQ.array(gQ.string()).optional(),virtual_mcp_id:gQ.string().optional(),hidden:gQ.boolean().optional(),has_trigger:gQ.boolean().optional()}).optional(),startDate:gQ.string().datetime().optional().describe("Filter threads updated at or after this ISO timestamp"),endDate:gQ.string().datetime().optional().describe("Filter threads updated at or before this ISO timestamp"),search:gQ.string().optional().describe("Full-text search on thread title (case-insensitive)"),status:gQ.string().optional().describe("Filter by thread status (e.g. completed, failed, in_progress)"),userId:gQ.string().optional().describe("Filter by the user who created the thread"),agentId:gQ.string().optional().describe("Filter by agent (connection or virtual MCP) ID")}),WG4=wF(KK),HE=s({name:"COLLECTION_THREADS_LIST",description:"List threads with filtering, sorting, and pagination.",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:JG4,outputSchema:WG4,handler:async(Z,X)=>{await X.access.check();let G=X.auth.user?.id;if(!G)throw Error("User ID required to list threads");B0(X);let Y=Z.offset??0,Q=Z.limit??100,$=Z.where?.trigger_ids,J=Z.where?.virtual_mcp_id,W=Z.userId??(Z.where?.created_by==="me"?G:Z.where?.created_by),{threads:K,total:N}=$?.length?await X.storage.threads.listByTriggerIds($,{limit:Q,offset:Y}):await X.storage.threads.list(W,{limit:Q,offset:Y,virtualMcpId:J,startDate:Z.startDate,endDate:Z.endDate,search:Z.search,status:Z.status,agentId:Z.agentId,includeArchived:Z.where?.hidden,hasTrigger:Z.where?.has_trigger}),F=Y+Q<N,U=Date.now();return{items:K.map((H)=>i3(H,U)),totalCount:N,hasMore:F}}})});var KG4,wE;var jn0=B(()=>{h3();e0();UE();KG4=On(KK),wE=s({name:"COLLECTION_THREADS_GET",description:"Get a thread's details and metadata by ID.",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:wn,outputSchema:KG4,handler:async(Z,X)=>{D0(X),B0(X),await X.access.check();let G=await X.storage.threads.get(Z.id);if(!G)return{item:null};return{item:i3(G)}}})});import{z as An0}from"zod";var NG4,FG4,Pn0;var KX8=B(()=>{q5();e0();UE();NG4=An0.object({id:An0.string().describe("ID of the thread to update"),data:$X8.describe("Partial thread data to update")}),FG4=An0.object({item:KK.describe("The updated thread entity")}),Pn0=s({name:"COLLECTION_THREADS_UPDATE",description:"Update a thread's title, description, or visibility.",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:NG4,outputSchema:FG4,handler:async(Z,X)=>{D0(X);let G=B0(X);await X.access.check();let Y=V1(X);if(!Y)throw Error("User ID required to update thread");let{id:Q,data:$}=Z,J=await X.storage.threads.get(Q);if(!J)throw Error("Thread not found in organization");if($.virtual_mcp_id!==void 0){let N=await X.storage.virtualMcps.findById($.virtual_mcp_id,G.id);if(!N||N.organization_id!==G.id)throw Error(`Virtual MCP not found: ${$.virtual_mcp_id}`)}if($.branch===null&&J.virtual_mcp_id){if((await X.storage.virtualMcps.findById(J.virtual_mcp_id,B0(X).id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let W={title:$.title,description:$.description,hidden:$.hidden,updated_by:Y};if($.status)W.status=$.status;if($.metadata!==void 0)W.metadata=$.metadata;if($.branch!==void 0)W.branch=$.branch;if($.virtual_mcp_id!==void 0)W.virtual_mcp_id=$.virtual_mcp_id;let K=await X.storage.threads.update(Q,W);if($.hidden!==void 0&&$.hidden!==J.hidden)i1.capture({distinctId:Y,event:$.hidden?"chat_archived":"chat_unarchived",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:Q}});return{item:i3(K)}}})});var Tn0;var NX8=B(()=>{h3();UE();q5();e0();Tn0=s({name:"COLLECTION_THREADS_DELETE",description:"Permanently delete a thread and all its messages.",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Bn,outputSchema:Dn(KK),handler:async(Z,X)=>{D0(X);let G=B0(X);await X.access.check();let Y=await X.storage.threads.get(Z.id);if(!Y)throw Error(`Thread not found: ${Z.id}`);await X.storage.threads.delete(Z.id);let Q=V1(X);if(Q)i1.capture({distinctId:Q,event:"chat_deleted",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:Z.id}});return{item:i3(Y)}}})});import{z as UG4}from"zod";function FX8(Z){if(!Z)return null;if("field"in Z&&Z.field[0]==="thread_id"&&Z.operator==="eq")return String(Z.value);if("conditions"in Z&&(Z.operator==="and"||Z.operator==="or"))for(let X of Z.conditions){let G=FX8(X);if(G)return G}return null}var HG4,wG4,OE;var Rn0=B(()=>{h3();e0();UE();HG4=HJ.extend({thread_id:UG4.string().optional().describe("ID of the thread to list messages for (required)")}),wG4=wF(GX8),OE=s({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List messages in a thread with pagination. Requires thread_id. Returns messages in chronological order.",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:HG4,outputSchema:wG4,handler:async(Z,X)=>{B0(X),await X.access.check();let G=Z.thread_id??FX8(Z.where);if(!G)throw Error("thread_id is required (provide as top-level param or in where clause)");let Y=Z.offset??0,Q=Z.limit??100,$=Z.orderBy?.[0]?.direction??"asc",J=await X.storage.threads.get(G);if(!J)return{items:[],totalCount:0,hasMore:!1};if(J.message_storage_version===2){let{messages:F,total:U}=await X.storage.threads.messageParts().loadWindow(G,{limit:Q,offset:Y});return{items:F.map((H)=>({id:H.id,thread_id:G,role:H.role,parts:H.parts,metadata:H.metadata??null,created_at:H.created_at,updated_at:H.created_at})),totalCount:U,hasMore:Y+Q<U}}let{messages:W,total:K}=await X.storage.threads.listMessages(G,{limit:Q,offset:Y,sort:$}),N=Y+Q<K;return{items:W,totalCount:K,hasMore:N}}})});function UX8(Z){return Z!==null}function b70(Z,X){if(Z===null)return!0;return Z===X}import{z as HX8}from"zod";function IF(Z){return Z==="cluster"?"agent-sandbox":Z}function qn0(Z){return`${Z.userId}:${Z.projectRef}`}var In0,OG4;var v70=B(()=>{In0=HX8.enum(["ts","go"]),OG4=HX8.enum(["agent-sandbox","user-desktop"])});class x70{map=new Map;async run(Z,X){let G=this.map.get(Z);if(G)return G;let Y=X();this.map.set(Z,Y);try{return await Y}finally{this.map.delete(Z)}}}function _70(Z,X,G,Y){if(!Z)return Y(null);if(!Z.withLock)return Y(Z);return Z.withLock(X,G,Y)}import{createHash as BG4}from"crypto";function LG4(Z,X=16){return BG4("sha256").update(qn0(Z)).digest("hex").slice(0,X)}function tw(Z,X){let G=LG4(Z),Y=EG4(X);return Y?`${Y}-${G}`:`s-${G}`}function EG4(Z){if(!Z)return"";return(Z.split("/").pop()??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,DG4).replace(/-+$/g,"")}var DG4=24;var wX8=B(()=>{v70()});function y70(Z,X){let G=Z.replace(/\/+$/,"");if(G.includes("{handle}"))return`${G.replace("{handle}",X)}/`;try{let Y=new URL(G);return Y.hostname=`${X}.${Y.hostname}`,`${Y.toString()}/`}catch{return`${G}/${X}/`}}function qF(Z){let X=Z?.userName?.trim();if(!X||OX8.test(X))return null;let G=Z?.userEmail?.trim();if(!G||OX8.test(G))return{userName:X};if(!zG4.test(G))return{userName:X};return{userName:X,userEmail:G}}var OX8,zG4;var g70=B(()=>{OX8=/[\r\n<>]/,zG4=/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/});function Mn0(Z){let X=Z.repo,G=X?{repository:{cloneUrl:X.cloneUrl,repoName:X.displayName??jG4(X.cloneUrl),...X.branch?{branch:X.branch}:{},...X.submoduleCredentials&&X.submoduleCredentials.length>0?{submoduleCredentials:X.submoduleCredentials}:{}},identity:{userName:X.userName,userEmail:X.userEmail}}:void 0,Y=Z.tenant,Q=qF({userName:Y?.userName,userEmail:Y?.userEmail})??void 0,$=Z.packageManager?{name:Z.packageManager.name,...Z.packageManager.path?{path:Z.packageManager.path}:{}}:void 0,J=$?{packageManager:$,runtime:Z.runtime,...Z.port!==void 0?{port:Z.port}:{}}:void 0;if(!G&&!J&&!Q)return null;return{...G?{git:G}:{},...Q?{operator:Q}:{},...J?{application:J}:{}}}function jG4(Z){try{let X=new URL(Z);return X.pathname.replace(/^\/+/,"").replace(/\.git$/,"")||X.hostname}catch{return Z}}var BX8=B(()=>{g70()});function AG4(Z){try{return new URL(Z).username.length>0}catch{return!1}}function kn0(Z){let X=Z.repo?.cloneUrl;if(!X||!AG4(X))return null;return{git:{repository:{cloneUrl:X}}}}var h70=B(()=>{wX8();BX8()});function BE(Z){if("threadId"in Z){if(!Z.threadId)throw Error("composeSandboxRef: threadId required");return`thread:${Z.threadId}`}if(!Z.orgId||!Z.virtualMcpId||!Z.branch)throw Error("composeSandboxRef: orgId, virtualMcpId and branch are all required for agent refs");return`agent:${Z.orgId}:${Z.virtualMcpId}:${Z.branch}`}function PG4(Z){return(typeof Z.timeout==="number"&&Z.timeout>0?Math.min(Z.timeout,120000):30000)+15000}function TG4(Z,X){if(Z.aborted)return X.catch(()=>{}),Promise.reject(Z.reason??Error("aborted"));return new Promise((G,Y)=>{let Q=()=>{X.catch(()=>{}),Y(Z.reason??Error("aborted"))};Z.addEventListener("abort",Q,{once:!0}),X.then(G,Y).finally(()=>{Z.removeEventListener("abort",Q)})})}async function RG4(Z,X,G,Y,Q="POST",$){let J=$?.timeoutMs??PG4(Y??{}),W=AbortSignal.timeout(J),K=$?.signal?AbortSignal.any([$.signal,W]):W,N,F;try{let H={method:Q,headers:new Headers({"content-type":"application/json"}),body:null,signal:K};if(Q!=="GET"&&Y!==null)H.body=JSON.stringify(Y);({res:N,rawText:F}=await TG4(K,(async()=>{let w=await Z.proxyDaemonRequest(X,G,H);return{res:w,rawText:await w.text()}})()))}catch(H){if($?.signal?.aborted)throw H;if(W.aborted)throw Error(`Sandbox ${Q} ${G} timed out after ${Math.round(J/1000)}s \u2014 the sandbox may be overloaded or its filesystem stalled. Retry, or use a smaller operation.`);throw new en(H)}let U;try{U=JSON.parse(F)}catch{console.error("[sandbox-fs-hooks] Failed to parse JSON response runner=%s path=%s status=%d rawText=%s",Z.kind,G,N.status,F.slice(0,2000));let H=N.status>=500?" (server error)":N.status===0?" (no response)":"";throw Error(`Daemon ${G} returned invalid JSON (HTTP ${N.status}${H}): ${F.slice(0,800)}`)}if(!N.ok){console.error("[sandbox-fs-hooks] Non-OK response runner=%s path=%s status=%d body=%s",Z.kind,G,N.status,F.slice(0,2000));let H=U.error??`Daemon ${G} failed (${N.status})`;if(N.status===404&&H==="sandbox not found")throw new en(Error(H),!0);throw Error(H)}return U}function IG4(Z){let X=[];for(let G of Z.split(`
|
|
1201
|
+
`);await A70(Z,X,{title:`${kn[G]}: ${X.title}`,prompt:$,temperature:0.3}),await $K(Z,{taskBoardItemId:X.id,action:"review_requested",actorId:null,data:{reviewer:G}});let J=await Z.storage.taskBoard.getById(X.id,Q);if(J)_Z(Q,J)}var gX4,hX4;var Qn0=B(()=>{zF();FE();yY();ti0();gX4=new Set(["completed","failed","expired"]),hX4={qa:"You are the QA Agent. Your job is to confirm the task ACTUALLY SOLVED THE "+"PROBLEM \u2014 not to review code style. Exercise the feature/behavior the task "+"describes (use the PR's preview / dev server when available), check the acceptance criteria implied by the title and description, and look for regressions in the affected flow. Judge outcomes, not the diff.",code_review:"You are the Code Reviewer. Review the code changes for correctness, security, and quality. FIRST look for a review skill/command appropriate to this repository's stack (e.g. a `/review`, `code-review`, or `security-review` skill, or the repo's CONTRIBUTING/review guidelines) and use it. Read the diff critically and flag concrete issues with file/line references."}});import{z as R70}from"zod";async function q70(Z,X,G,Y){if(G){let J=await Z.storage.connections.findById(G,X);if(J&&J.status==="active")return J}let{items:Q}=await Z.storage.connections.list(X,{slug:"mcp-github"}),$=Q.filter((J)=>J.status==="active");if(Y){let J=$.find((W)=>{let K=_G(W);return K?.owner===Y.owner&&K?.repo===Y.name});if(J)return J}return $.find((J)=>_G(J)===null)??$[0]??null}function M70(Z){if(!Z||typeof Z!=="object")return null;let X=Z;if(X.isError)return null;if(X.structuredContent&&typeof X.structuredContent==="object"&&Object.keys(X.structuredContent).length>0)return X.structuredContent;let G=X.content?.find((Y)=>Y.type==="text")?.text;if(!G)return null;try{return JSON.parse(G)}catch{return null}}function Jn0(Z){let X;try{X=new URL(Z).hostname.toLowerCase()}catch{return!1}return X==="deco.site"||X.endsWith(".decocdn.com")||X.endsWith(".deco-cx.workers.dev")||X.endsWith(".deco.site")}function dX4(Z){if(!Z||!Array.isArray(Z.statuses))return null;let X=Z.statuses.map((G)=>G&&typeof G==="object"?G:null).filter((G)=>!!G&&typeof G.target_url==="string"&&Jn0(G.target_url));if(X.length===0)return null;return X.find((G)=>G.state==="success")?.target_url??X[0].target_url}function mX4(Z){let X=Array.isArray(Z)?Z:Array.isArray(Z?.comments)?Z.comments:Array.isArray(Z?.items)?Z.items:[];for(let G of X){let Y=G&&typeof G.body==="string"?G.body:"";if(!Y)continue;let Q=Y.match(/href=['"]([^'"]+)['"][^>]*>\s*Branch Preview/i);if(Q?.[1]&&Jn0(Q[1]))return Q[1];let $=(Y.match(/https?:\/\/[^\s"'<>)\]]+/g)??[]).find((J)=>Jn0(J));if($)return $}return null}function c78(Z){if(!Z)return null;if((typeof Z.total_count==="number"?Z.total_count:null)===0)return null;switch(Z.state){case"success":return"passing";case"failure":case"error":return"failing";case"pending":return"pending";default:return null}}function d78(Z){let X=Array.isArray(Z)?Z:Array.isArray(Z?.check_runs)?Z.check_runs:[];if(X.length===0)return null;let G=!1,Y=!1;for(let Q of X){if(!Q||typeof Q!=="object")continue;let{status:$,conclusion:J}=Q;if($!=="completed")Y=!0;else if(typeof J==="string"&&l78.has(J))G=!0}if(G)return"failing";if(Y)return"pending";return"passing"}function m78(Z,X){if(Z==="failing"||X==="failing")return"failing";if(Z==="pending"||X==="pending")return"pending";if(Z==="passing"||X==="passing")return"passing";return null}function iX4(Z){let X=Array.isArray(Z)?Z:Array.isArray(Z?.check_runs)?Z.check_runs:[],G=[];for(let Y of X){if(!Y||typeof Y!=="object")continue;let Q=Y;G.push({id:typeof Q.id==="number"?Q.id:null,name:typeof Q.name==="string"?Q.name:"",status:typeof Q.status==="string"?Q.status:"completed",conclusion:typeof Q.conclusion==="string"?Q.conclusion:null,detailsUrl:typeof Q.html_url==="string"?Q.html_url:typeof Q.details_url==="string"?Q.details_url:null})}return G}function nX4(Z){return Z.status==="completed"&&Z.conclusion!=null&&l78.has(Z.conclusion)}async function pX4(Z,X,G){try{let Q=M70(await Z.callTool({name:"GET_CHECK_RUN",arguments:{owner:X.repoOwner,repo:X.repoName,checkRunId:G}},void 0,{timeout:I70}))?.output,$=typeof Q?.summary==="string"?Q.summary:null,J=typeof Q?.text==="string"?Q.text:null;return $??J??null}catch{return null}}async function i78(Z,X,G){let Y=await q70(Z,X,G.connectionId,{owner:G.repoOwner,name:G.repoName});if(!Y)return null;let Q=await o9(Y,Z,!0),$=async(J)=>M70(await Q.callTool({name:"pull_request_read",arguments:{method:J,owner:G.repoOwner,repo:G.repoName,pullNumber:G.number}},void 0,{timeout:I70}));try{let J=null;try{J=c78(await $("get_status"))}catch{}try{J=m78(J,d78(await $("get_check_runs")))}catch{}return J}finally{await Q.close().catch(()=>{})}}async function tX4(Z,X){let G=async(N)=>{try{return M70(await Z.callTool({name:"pull_request_read",arguments:{method:N,owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:I70}))}catch{return null}},[Y,Q,$]=await Promise.all([G("get_status"),G("get_check_runs"),G("get_comments")]),J=m78(c78(Y),d78(Q)),W=dX4(Y)??mX4($),K=await Promise.all(iX4(Q).map(async(N)=>({name:N.name,status:N.status,conclusion:N.conclusion,detailsUrl:N.detailsUrl,summary:nX4(N)&&N.id!=null?await pX4(Z,X,N.id):null})));return{checksStatus:J,checks:K,previewUrl:W}}async function oX4(Z,X,G){let Y=await q70(Z,X,G.connectionId,{owner:G.repoOwner,name:G.repoName});if(!Y)return $n0;let Q=await o9(Y,Z,!0);try{let[$,J]=await Promise.all([Q.callTool({name:"pull_request_read",arguments:{method:"get",owner:G.repoOwner,repo:G.repoName,pullNumber:G.number}},void 0,{timeout:I70}),tX4(Q,G)]),W=M70($);if(!W)return $n0;let K=W.state,N=K==="open";return{title:typeof W.title==="string"?W.title:null,body:typeof W.body==="string"?W.body:null,state:K==="closed"?"closed":N?"open":null,draft:typeof W.draft==="boolean"?W.draft:null,merged:typeof W.merged==="boolean"?W.merged:null,checksStatus:N?J.checksStatus:null,checks:N?J.checks:[],previewUrl:N?J.previewUrl:null}}catch{return $n0}finally{await Q.close().catch(()=>{})}}var I70=8000,$n0,l78,Wn0;var Kn0=B(()=>{e0();HF();NF();zF();sW();yY();Qn0();gi0();$n0={title:null,body:null,state:null,draft:null,merged:null,checksStatus:null,checks:[],previewUrl:null};l78=new Set(["failure","cancelled","timed_out","action_required","startup_failure","stale"]);Wn0=s({name:"TASK_BOARD_ITEM_PRS_GET",description:"Get the GitHub pull requests linked to a task board item, each enriched with live state (title, open/closed, draft, merged) fetched from GitHub.",annotations:{title:"Get Task Board Item Pull Requests",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:R70.object({taskBoardItemId:R70.string()}),outputSchema:R70.object({prs:R70.array(F68)}),handler:async({taskBoardItemId:Z},X)=>{D0(X),await X.access.check();let G=X.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Y=await X.storage.taskBoard.getById(Z,G);for(let K of Y?.threads??[]){let N=K.lastMessage?L70(K.lastMessage):null;if(!N)continue;try{await X.storage.taskBoard.linkPr({taskBoardItemId:Z,organizationId:G,url:N.url,prNumber:N.number,repoOwner:N.owner,repoName:N.repo,connectionId:null})}catch(F){console.error("[task-board] PR recovery from thread text failed",F)}}let Q=await X.storage.taskBoard.listPrs(Z,G),$=await Promise.all(Q.map(async(K)=>{let N=await oX4(X,G,K);return{url:K.url,number:K.number,repoOwner:K.repoOwner,repoName:K.repoName,createdAt:K.createdAt,...N}})),J=$.find((K)=>K.state==="open"&&!K.merged),W=J!=null&&J.checksStatus!=="pending"&&J.checksStatus!=="failing";if(Y&&Y.status==="in_review"&&Y.assigneeId===KX&&W)await Yn0(X,Y).catch((K)=>{console.error("[task-board] reviewer auto-handoff failed",K)});if($.some((K)=>K.merged))try{if(Y&&Y.status!=="done"){let K=await X.storage.taskBoard.update(Z,G,{status:"done"},Y.updatedBy);_Z(G,K)}}catch(K){console.error("[task-board] merge\u2192done reconcile failed",K)}return{prs:$}}})});async function k70(Z,X,G){let Q=(await Z.storage.taskBoard.listPrs(G,X))[0];if(!Q)return!1;let $=await i78(Z,X,Q);if($==="failing"||$==="pending")return console.warn(`[task-board] merge blocked \u2014 checks ${$} on PR #${Q.number}`),!1;let J=await q70(Z,X,Q.connectionId,{owner:Q.repoOwner,name:Q.repoName});if(!J)return!1;let W=await o9(J,Z,!0);try{return!(await W.callTool({name:"merge_pull_request",arguments:{owner:Q.repoOwner,repo:Q.repoName,pullNumber:Q.number}},void 0,{timeout:rX4}))?.isError}catch(K){return console.error("[task-board] merge PR failed",K),!1}finally{await W.close().catch(()=>{})}}var rX4=15000;var Nn0=B(()=>{HF();Kn0()});import{z as pw}from"zod";async function aX4(Z,X,G){let Q=(await Z.storage.organizationSettings.get(X))?.flags??{},$=g_.filter((W)=>Q[h_[W]]===!0),J=await Z.storage.taskBoard.listActivity(G,X);return fZ0(J,$,{verifiedOnly:!0})}var Fn0;var n78=B(()=>{e0();zF();sW();FE();yY();sn();Nn0();Fn0=s({name:"TASK_BOARD_REVIEW_DECISION",description:"Record a reviewer's decision for a task under review. `approve` marks the pull request approved by that reviewer (and, once EVERY enabled reviewer has approved, merges it when the org enabled auto-merge, advancing the task to Done); `request_changes` hands the task back to the Super Agent with your notes so it can fix the PR.",annotations:{title:"Review Decision",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0},inputSchema:pw.object({taskBoardItemId:pw.string(),reviewer:pw.enum(["qa","code_review"]).describe("Which reviewer you are: `qa` (QA Agent) or `code_review` (Code Reviewer)."),reviewToken:pw.string().optional().describe("The reviewToken from your prompt \u2014 proves you are this reviewer. "+"Pass it through exactly; an approval without a valid token is recorded but does NOT count toward an automatic merge."),decision:pw.enum(["approve","request_changes"]),notes:pw.string().min(1).describe("For approve: a short summary of what you verified. For request_changes: specific, actionable feedback the Super Agent must address.")}),outputSchema:pw.object({status:jF,merged:pw.boolean().describe("True when this approval completed the review and merged the PR.")}),handler:async({taskBoardItemId:Z,reviewer:X,reviewToken:G,decision:Y,notes:Q},$)=>{D0($),await $.access.check();let J=$.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let W=await $.storage.taskBoard.getById(Z,J);if(!W)throw Error(`Task board item not found: ${Z}`);let N=(G?await $.storage.taskBoard.resolveReviewClaimByToken(Z,G):null)?.reviewer===X;if(Y==="request_changes"){let D=await $.storage.taskBoard.update(Z,J,{status:"in_progress"},W.updatedBy);await $K($,{taskBoardItemId:Z,action:"review_changes_requested",actorId:null,data:{reviewer:X,notes:Q,verified:N}}),_Z(J,D);let E=(await $.storage.taskBoard.listPrs(Z,J))[0];return await oi0($,D,{feedback:`${kn[X]}: ${Q}`,pr:E?{number:E.number,url:E.url}:void 0}),{status:D.status,merged:!1}}if(await $K($,{taskBoardItemId:Z,action:"review_approved",actorId:null,data:{reviewer:X,notes:Q,verified:N}}),!await aX4($,J,Z)){let D=await $.storage.taskBoard.getById(Z,J)??W;return _Z(J,D),{status:D.status,merged:!1}}let w=(await $.storage.organizationSettings.get(J))?.flags?.auto_merge===!0?await k70($,J,Z):!1,O=w?await $.storage.taskBoard.update(Z,J,{status:"done"},W.updatedBy):await $.storage.taskBoard.getById(Z,J)??W;if(w)await $K($,{taskBoardItemId:Z,action:"status_changed",actorId:null,data:{from:W.status,to:"done"}});return _Z(J,O),{status:O.status,merged:w}}})});import{z as S70}from"zod";function sX4(Z,X,G){if(Z!=="in_review")return!1;return G.length===0||fZ0(X,G)}var Un0;var p78=B(()=>{e0();zF();sW();FE();yY();Nn0();Un0=s({name:"TASK_BOARD_PROMOTE_TO_PRODUCTION",description:"Ship a reviewed task: merge its open pull request and move the task to Done. Used by the board's 'Ship to production' button after the enabled reviewers approved, when auto-merge is off (a human does the final merge).",annotations:{title:"Ship to Production",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0},inputSchema:S70.object({taskBoardItemId:S70.string()}),outputSchema:S70.object({status:jF,merged:S70.boolean().describe("True when the PR was merged.")}),handler:async({taskBoardItemId:Z},X)=>{D0(X),await X.access.check();let G=X.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Y=await X.storage.taskBoard.getById(Z,G);if(!Y)throw Error(`Task board item not found: ${Z}`);let $=(await X.storage.organizationSettings.get(G))?.flags??{},J=g_.filter((F)=>$[h_[F]]===!0),W=await X.storage.taskBoard.listActivity(Z,G);if(!sX4(Y.status,W,J))throw Error("Task is not ready to ship: it must be In Review with every enabled reviewer approved");if(!await k70(X,G,Z))return{status:Y.status,merged:!1};let N=await X.storage.taskBoard.update(Z,G,{status:"done"},Y.updatedBy);if(Y.status!=="done")await $K(X,{taskBoardItemId:Z,action:"status_changed",actorId:null,data:{from:Y.status,to:"done"}});return _Z(G,N),{status:N.status,merged:!0}}})});var t78=B(()=>{x78();g78();h78();u78();Kn0();n78();p78();FE()});import{z as RF}from"zod";var Hn0;var o78=B(()=>{e0();Hn0=s({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:RF.object({}),outputSchema:RF.object({tags:RF.array(RF.object({id:RF.string(),organizationId:RF.string(),name:RF.string(),color:RF.string().nullable(),createdAt:RF.string().describe("ISO 8601 timestamp")}))}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X);return{tags:(await X.storage.tags.listOrgTags(G.id)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});import{z as JK}from"zod";var wn0;var r78=B(()=>{e0();wn0=s({name:"TAGS_CREATE",description:"Create a new tag, usable on organization members and task board items.",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:JK.object({name:JK.string().min(1).max(50).describe("Tag name"),color:JK.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional().describe('Hex color the tag renders its dot with, e.g. "#3b82f6"')}),outputSchema:JK.object({tag:JK.object({id:JK.string(),organizationId:JK.string(),name:JK.string(),color:JK.string().nullable(),createdAt:JK.string().describe("ISO 8601 timestamp")})}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X),Y=await X.storage.tags.createTag(G.id,Z.name,Z.color);return{tag:{...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():String(Y.createdAt)}}}})});import{z as V70}from"zod";var On0;var a78=B(()=>{e0();On0=s({name:"TAGS_DELETE",description:"Delete a tag and automatically remove it from all assigned members.",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:V70.object({tagId:V70.string().describe("Tag ID to delete")}),outputSchema:V70.object({success:V70.boolean()}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X),Y=await X.storage.tags.getTag(Z.tagId);if(!Y)throw Error("Tag not found");if(Y.organizationId!==G.id)throw Error("Tag does not belong to this organization");return await X.storage.tags.deleteTag(Z.tagId),{success:!0}}})});import{z as WK}from"zod";var Bn0;var s78=B(()=>{e0();Bn0=s({name:"MEMBER_TAGS_GET",description:"Get all tags currently assigned to a specific member.",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:WK.object({memberId:WK.string().describe("Member ID")}),outputSchema:WK.object({tags:WK.array(WK.object({id:WK.string(),organizationId:WK.string(),name:WK.string(),color:WK.string().nullable(),createdAt:WK.string().describe("ISO 8601 timestamp")}))}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X);if(!await X.storage.tags.verifyMemberOrg(Z.memberId,G.id))throw Error(`Member not found in this organization: ${Z.memberId}`);return{tags:(await X.storage.tags.getMemberTags(Z.memberId)).map(($)=>({...$,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():String($.createdAt)}))}}})});import{z as m3}from"zod";var Dn0;var e78=B(()=>{e0();Dn0=s({name:"MEMBER_TAGS_SET",description:"Replace all tags on a member with the given set. Pass empty array to clear.",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:m3.object({memberId:m3.string().describe("Member ID"),tagIds:m3.array(m3.string()).describe("Array of tag IDs to assign")}),outputSchema:m3.object({success:m3.boolean(),tags:m3.array(m3.object({id:m3.string(),organizationId:m3.string(),name:m3.string(),createdAt:m3.string().describe("ISO 8601 timestamp")}))}),handler:async(Z,X)=>{D0(X),await X.access.check();let G=B0(X);if(!await X.storage.tags.verifyMemberOrg(Z.memberId,G.id))throw Error(`Member not found in this organization: ${Z.memberId}`);for(let $ of Z.tagIds){let J=await X.storage.tags.getTag($);if(!J)throw Error(`Tag not found: ${$}`);if(J.organizationId!==G.id)throw Error(`Tag does not belong to this organization: ${$}`)}return await X.storage.tags.setMemberTags(Z.memberId,Z.tagIds),{success:!0,tags:(await X.storage.tags.getMemberTags(Z.memberId)).map(($)=>({...$,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():String($.createdAt)}))}}})});var ZX8=B(()=>{o78();r78();a78();s78();e78()});function i3(Z,X=Date.now()){let G=Z.status;if(G==="in_progress"){let Y=new Date(Z.updated_at).getTime(),Q=Z.last_progress_at?new Date(Z.last_progress_at).getTime():Number.NaN,$=Math.max(Number.isFinite(Y)?Y:Number.NEGATIVE_INFINITY,Number.isFinite(Q)?Q:Number.NEGATIVE_INFINITY);if(!Number.isFinite($)||X-$>1800000)G="expired"}return{id:Z.id,organization_id:Z.organization_id,title:Z.title,description:Z.description,created_at:Z.created_at,updated_at:Z.updated_at,created_by:Z.created_by,updated_by:Z.updated_by,hidden:Z.hidden??!1,status:G,virtual_mcp_id:Z.virtual_mcp_id||void 0,trigger_id:Z.trigger_id,branch:Z.branch,sandbox_provider_kind:Z.sandbox_provider_kind,harness_id:Z.harness_id,metadata:Z.metadata&&Object.keys(Z.metadata).length>0?Z.metadata:void 0,run_config:Z.run_config}}var Ln0;var XX8=B(()=>{Ln0=["in_progress","requires_action","failed","completed"]});import{z as V8}from"zod";var GX8,XG4,YX8,KK,QX8,$X8;var UE=B(()=>{XX8();GX8=V8.object({id:V8.string().describe("Unique message ID"),thread_id:V8.string().describe("ID of the parent thread"),metadata:V8.unknown().optional().describe("Optional message metadata"),parts:V8.array(V8.record(V8.string(),V8.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:V8.enum(["user","assistant","system"]).describe("Message role"),created_at:V8.string().datetime().describe("Timestamp of creation"),updated_at:V8.string().datetime().describe("Timestamp of last update")}),XG4=V8.object({toolName:V8.string().describe("Fully qualified tool name"),appId:V8.string().describe("App ID that owns the tool"),args:V8.record(V8.string(),V8.unknown()).describe("Arguments used when expanding the tool"),expandedAt:V8.string().datetime().describe("When the tool was expanded")}),YX8=V8.object({expanded_tools:V8.array(XG4).optional()}).catchall(V8.unknown()),KK=V8.object({id:V8.string().describe("Unique thread ID"),organization_id:V8.string().describe("Organization this thread belongs to"),title:V8.string().describe("Thread title"),description:V8.string().nullable().describe("Thread description"),created_at:V8.string().datetime().describe("Timestamp of creation"),updated_at:V8.string().datetime().describe("Timestamp of last update"),hidden:V8.boolean().optional().describe("Whether the thread is hidden"),status:V8.enum([...Ln0,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:V8.string().describe("User ID who created the thread"),updated_by:V8.string().optional().describe("User ID who last updated the thread"),virtual_mcp_id:V8.string().optional().describe("Virtual MCP (agent) this thread was initiated with"),trigger_id:V8.string().nullable().optional().describe("Automation trigger that created this thread; null/absent for human-initiated threads."),branch:V8.string().nullable().optional().describe("Git branch this thread is pinned to (GitHub-linked vms only)"),sandbox_provider_kind:V8.string().nullable().optional().describe("Pinned on first message; identifies which sandbox provider to dispatch to (e.g. 'agent-sandbox', 'user-desktop')."),harness_id:V8.string().nullable().optional().describe("Pinned on first message; selects which harness runs the thread (e.g. 'claude-code', 'codex', 'decopilot')."),metadata:YX8.optional().describe("Free-form per-thread UI state (e.g. expanded_tools)"),run_config:V8.record(V8.string(),V8.unknown()).nullable().optional().describe("Persisted run configuration (contains agent and model info)")}),QX8=V8.object({id:V8.string().optional().describe("Optional custom ID for the thread"),title:V8.string().optional().describe("Thread title"),description:V8.string().nullish().describe("Thread description"),virtual_mcp_id:V8.string().describe("Virtual MCP (agent) this thread is bound to"),branch:V8.string().min(1).optional().describe("Preferred branch. Used only when the vMCP has a githubRepo; ignored otherwise. When omitted, the server picks the most-recently-touched branch from the user's sandboxMap, falling back to a freshly generated name.")}),$X8=V8.object({title:V8.string().optional().describe("New thread title"),description:V8.string().nullish().describe("New thread description"),hidden:V8.boolean().optional().describe("Whether the thread is hidden"),status:V8.enum(Ln0).optional().describe("New thread status (user-set override). 'expired' is a computed virtual status and cannot be set directly."),metadata:YX8.optional().describe("Full replacement of the thread's metadata object"),branch:V8.string().min(1).nullish().describe("New git branch for this thread"),virtual_mcp_id:V8.string().optional().describe("Re-point the thread at a different agent. Only meaningful for an unsent thread (changing the recipient of a new chat); the UI restricts it accordingly.")})});function GG4(Z){return(Z??"").normalize("NFKD").replace(/[\u0300-\u036F]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"user"}function C70(Z){return Z?.name||Z?.email?.split("@")[0]||void 0}function f70(Z){let X=GG4(Z),G=Date.now().toString(36).split("").reverse().join("");return`${X}-${G}`}import{z as JX8}from"zod";function $G4(Z,X){let G=Z?.[X];if(!G)return;return Object.entries(G).sort(([,Q],[,$])=>{let J=Math.max(0,...Object.values(Q).map((K)=>K.createdAt??0));return Math.max(0,...Object.values($).map((K)=>K.createdAt??0))-J})[0]?.[0]}var YG4,QG4,En0;var WX8=B(()=>{q5();e0();UE();qG();YG4=JX8.object({data:QX8.describe("Data for the new thread (id is auto-generated if not provided)")}),QG4=JX8.object({item:KK.describe("The created thread entity")});En0=s({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread for organizing messages and conversations.",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:YG4,outputSchema:QG4,handler:async(Z,X)=>{D0(X);let G=B0(X);await X.access.check();let Y=V1(X);if(!Y)throw Error("User ID required to create thread");let{data:Q}=Z,$=Q.id??J4("thrd"),J=await X.storage.virtualMcps.findById(Q.virtual_mcp_id,G.id);if(!J||J.organization_id!==G.id)throw Error(`Virtual MCP not found: ${Q.virtual_mcp_id}`);let W=J.metadata,K=W?.githubRepo,N=null;if(K)N=Q.branch??$G4(W?.sandboxMap,Y)??f70(C70(X.auth.user));let F=await X.storage.threads.create({id:$,organization_id:G.id,title:Q.title,description:Q.description,virtual_mcp_id:Q.virtual_mcp_id,branch:N,created_by:Y});if(F.isNew)i1.capture({distinctId:Y,event:"chat_started",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:$,has_title:!!Z.data.title,created_via:"tool"}});return{item:i3(F)}}})});import{z as gQ}from"zod";var JG4,WG4,HE;var zn0=B(()=>{h3();e0();UE();JG4=HJ.extend({where:gQ.object({created_by:gQ.string().optional(),trigger_ids:gQ.array(gQ.string()).optional(),virtual_mcp_id:gQ.string().optional(),hidden:gQ.boolean().optional(),has_trigger:gQ.boolean().optional()}).optional(),startDate:gQ.string().datetime().optional().describe("Filter threads updated at or after this ISO timestamp"),endDate:gQ.string().datetime().optional().describe("Filter threads updated at or before this ISO timestamp"),search:gQ.string().optional().describe("Full-text search on thread title (case-insensitive)"),status:gQ.string().optional().describe("Filter by thread status (e.g. completed, failed, in_progress)"),userId:gQ.string().optional().describe("Filter by the user who created the thread"),agentId:gQ.string().optional().describe("Filter by agent (connection or virtual MCP) ID")}),WG4=wF(KK),HE=s({name:"COLLECTION_THREADS_LIST",description:"List threads with filtering, sorting, and pagination.",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:JG4,outputSchema:WG4,handler:async(Z,X)=>{await X.access.check();let G=X.auth.user?.id;if(!G)throw Error("User ID required to list threads");B0(X);let Y=Z.offset??0,Q=Z.limit??100,$=Z.where?.trigger_ids,J=Z.where?.virtual_mcp_id,W=Z.userId??(Z.where?.created_by==="me"?G:Z.where?.created_by),{threads:K,total:N}=$?.length?await X.storage.threads.listByTriggerIds($,{limit:Q,offset:Y}):await X.storage.threads.list(W,{limit:Q,offset:Y,virtualMcpId:J,startDate:Z.startDate,endDate:Z.endDate,search:Z.search,status:Z.status,agentId:Z.agentId,includeArchived:Z.where?.hidden,hasTrigger:Z.where?.has_trigger}),F=Y+Q<N,U=Date.now();return{items:K.map((H)=>i3(H,U)),totalCount:N,hasMore:F}}})});var KG4,wE;var jn0=B(()=>{h3();e0();UE();KG4=On(KK),wE=s({name:"COLLECTION_THREADS_GET",description:"Get a thread's details and metadata by ID.",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:wn,outputSchema:KG4,handler:async(Z,X)=>{D0(X),B0(X),await X.access.check();let G=await X.storage.threads.get(Z.id);if(!G)return{item:null};return{item:i3(G)}}})});import{z as An0}from"zod";var NG4,FG4,Pn0;var KX8=B(()=>{q5();e0();UE();NG4=An0.object({id:An0.string().describe("ID of the thread to update"),data:$X8.describe("Partial thread data to update")}),FG4=An0.object({item:KK.describe("The updated thread entity")}),Pn0=s({name:"COLLECTION_THREADS_UPDATE",description:"Update a thread's title, description, or visibility.",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:NG4,outputSchema:FG4,handler:async(Z,X)=>{D0(X);let G=B0(X);await X.access.check();let Y=V1(X);if(!Y)throw Error("User ID required to update thread");let{id:Q,data:$}=Z,J=await X.storage.threads.get(Q);if(!J)throw Error("Thread not found in organization");if($.virtual_mcp_id!==void 0){let N=await X.storage.virtualMcps.findById($.virtual_mcp_id,G.id);if(!N||N.organization_id!==G.id)throw Error(`Virtual MCP not found: ${$.virtual_mcp_id}`)}if($.branch===null&&J.virtual_mcp_id){if((await X.storage.virtualMcps.findById(J.virtual_mcp_id,G.id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let W={title:$.title,description:$.description,hidden:$.hidden,updated_by:Y};if($.status)W.status=$.status;if($.metadata!==void 0)W.metadata=$.metadata;if($.branch!==void 0)W.branch=$.branch;if($.virtual_mcp_id!==void 0)W.virtual_mcp_id=$.virtual_mcp_id;let K=await X.storage.threads.update(Q,W);if($.hidden!==void 0&&$.hidden!==J.hidden)i1.capture({distinctId:Y,event:$.hidden?"chat_archived":"chat_unarchived",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:Q}});return{item:i3(K)}}})});var Tn0;var NX8=B(()=>{h3();UE();q5();e0();Tn0=s({name:"COLLECTION_THREADS_DELETE",description:"Permanently delete a thread and all its messages.",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Bn,outputSchema:Dn(KK),handler:async(Z,X)=>{D0(X);let G=B0(X);await X.access.check();let Y=await X.storage.threads.get(Z.id);if(!Y)throw Error(`Thread not found: ${Z.id}`);await X.storage.threads.delete(Z.id);let Q=V1(X);if(Q)i1.capture({distinctId:Q,event:"chat_deleted",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:Z.id}});return{item:i3(Y)}}})});import{z as UG4}from"zod";function FX8(Z){if(!Z)return null;if("field"in Z&&Z.field[0]==="thread_id"&&Z.operator==="eq")return String(Z.value);if("conditions"in Z&&(Z.operator==="and"||Z.operator==="or"))for(let X of Z.conditions){let G=FX8(X);if(G)return G}return null}var HG4,wG4,OE;var Rn0=B(()=>{h3();e0();UE();HG4=HJ.extend({thread_id:UG4.string().optional().describe("ID of the thread to list messages for (required)")}),wG4=wF(GX8),OE=s({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List messages in a thread with pagination. Requires thread_id. Returns messages in chronological order.",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:HG4,outputSchema:wG4,handler:async(Z,X)=>{B0(X),await X.access.check();let G=Z.thread_id??FX8(Z.where);if(!G)throw Error("thread_id is required (provide as top-level param or in where clause)");let Y=Z.offset??0,Q=Z.limit??100,$=Z.orderBy?.[0]?.direction??"asc",J=await X.storage.threads.get(G);if(!J)return{items:[],totalCount:0,hasMore:!1};if(J.message_storage_version===2){let{messages:F,total:U}=await X.storage.threads.messageParts().loadWindow(G,{limit:Q,offset:Y});return{items:F.map((H)=>({id:H.id,thread_id:G,role:H.role,parts:H.parts,metadata:H.metadata??null,created_at:H.created_at,updated_at:H.created_at})),totalCount:U,hasMore:Y+Q<U}}let{messages:W,total:K}=await X.storage.threads.listMessages(G,{limit:Q,offset:Y,sort:$}),N=Y+Q<K;return{items:W,totalCount:K,hasMore:N}}})});function UX8(Z){return Z!==null}function b70(Z,X){if(Z===null)return!0;return Z===X}import{z as HX8}from"zod";function IF(Z){return Z==="cluster"?"agent-sandbox":Z}function qn0(Z){return`${Z.userId}:${Z.projectRef}`}var In0,OG4;var v70=B(()=>{In0=HX8.enum(["ts","go"]),OG4=HX8.enum(["agent-sandbox","user-desktop"])});class x70{map=new Map;async run(Z,X){let G=this.map.get(Z);if(G)return G;let Y=X();this.map.set(Z,Y);try{return await Y}finally{this.map.delete(Z)}}}function _70(Z,X,G,Y){if(!Z)return Y(null);if(!Z.withLock)return Y(Z);return Z.withLock(X,G,Y)}import{createHash as BG4}from"crypto";function LG4(Z,X=16){return BG4("sha256").update(qn0(Z)).digest("hex").slice(0,X)}function tw(Z,X){let G=LG4(Z),Y=EG4(X);return Y?`${Y}-${G}`:`s-${G}`}function EG4(Z){if(!Z)return"";return(Z.split("/").pop()??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,DG4).replace(/-+$/g,"")}var DG4=24;var wX8=B(()=>{v70()});function y70(Z,X){let G=Z.replace(/\/+$/,"");if(G.includes("{handle}"))return`${G.replace("{handle}",X)}/`;try{let Y=new URL(G);return Y.hostname=`${X}.${Y.hostname}`,`${Y.toString()}/`}catch{return`${G}/${X}/`}}function qF(Z){let X=Z?.userName?.trim();if(!X||OX8.test(X))return null;let G=Z?.userEmail?.trim();if(!G||OX8.test(G))return{userName:X};if(!zG4.test(G))return{userName:X};return{userName:X,userEmail:G}}var OX8,zG4;var g70=B(()=>{OX8=/[\r\n<>]/,zG4=/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/});function Mn0(Z){let X=Z.repo,G=X?{repository:{cloneUrl:X.cloneUrl,repoName:X.displayName??jG4(X.cloneUrl),...X.branch?{branch:X.branch}:{},...X.submoduleCredentials&&X.submoduleCredentials.length>0?{submoduleCredentials:X.submoduleCredentials}:{}},identity:{userName:X.userName,userEmail:X.userEmail}}:void 0,Y=Z.tenant,Q=qF({userName:Y?.userName,userEmail:Y?.userEmail})??void 0,$=Z.packageManager?{name:Z.packageManager.name,...Z.packageManager.path?{path:Z.packageManager.path}:{}}:void 0,J=$?{packageManager:$,runtime:Z.runtime,...Z.port!==void 0?{port:Z.port}:{}}:void 0;if(!G&&!J&&!Q)return null;return{...G?{git:G}:{},...Q?{operator:Q}:{},...J?{application:J}:{}}}function jG4(Z){try{let X=new URL(Z);return X.pathname.replace(/^\/+/,"").replace(/\.git$/,"")||X.hostname}catch{return Z}}var BX8=B(()=>{g70()});function AG4(Z){try{return new URL(Z).username.length>0}catch{return!1}}function kn0(Z){let X=Z.repo?.cloneUrl;if(!X||!AG4(X))return null;return{git:{repository:{cloneUrl:X}}}}var h70=B(()=>{wX8();BX8()});function BE(Z){if("threadId"in Z){if(!Z.threadId)throw Error("composeSandboxRef: threadId required");return`thread:${Z.threadId}`}if(!Z.orgId||!Z.virtualMcpId||!Z.branch)throw Error("composeSandboxRef: orgId, virtualMcpId and branch are all required for agent refs");return`agent:${Z.orgId}:${Z.virtualMcpId}:${Z.branch}`}function PG4(Z){return(typeof Z.timeout==="number"&&Z.timeout>0?Math.min(Z.timeout,120000):30000)+15000}function TG4(Z,X){if(Z.aborted)return X.catch(()=>{}),Promise.reject(Z.reason??Error("aborted"));return new Promise((G,Y)=>{let Q=()=>{X.catch(()=>{}),Y(Z.reason??Error("aborted"))};Z.addEventListener("abort",Q,{once:!0}),X.then(G,Y).finally(()=>{Z.removeEventListener("abort",Q)})})}async function RG4(Z,X,G,Y,Q="POST",$){let J=$?.timeoutMs??PG4(Y??{}),W=AbortSignal.timeout(J),K=$?.signal?AbortSignal.any([$.signal,W]):W,N,F;try{let H={method:Q,headers:new Headers({"content-type":"application/json"}),body:null,signal:K};if(Q!=="GET"&&Y!==null)H.body=JSON.stringify(Y);({res:N,rawText:F}=await TG4(K,(async()=>{let w=await Z.proxyDaemonRequest(X,G,H);return{res:w,rawText:await w.text()}})()))}catch(H){if($?.signal?.aborted)throw H;if(W.aborted)throw Error(`Sandbox ${Q} ${G} timed out after ${Math.round(J/1000)}s \u2014 the sandbox may be overloaded or its filesystem stalled. Retry, or use a smaller operation.`);throw new en(H)}let U;try{U=JSON.parse(F)}catch{console.error("[sandbox-fs-hooks] Failed to parse JSON response runner=%s path=%s status=%d rawText=%s",Z.kind,G,N.status,F.slice(0,2000));let H=N.status>=500?" (server error)":N.status===0?" (no response)":"";throw Error(`Daemon ${G} returned invalid JSON (HTTP ${N.status}${H}): ${F.slice(0,800)}`)}if(!N.ok){console.error("[sandbox-fs-hooks] Non-OK response runner=%s path=%s status=%d body=%s",Z.kind,G,N.status,F.slice(0,2000));let H=U.error??`Daemon ${G} failed (${N.status})`;if(N.status===404&&H==="sandbox not found")throw new en(Error(H),!0);throw Error(H)}return U}function IG4(Z){let X=[];for(let G of Z.split(`
|
|
1202
1202
|
`)){if(!G)continue;let Y=G.indexOf(":");if(Y<0)continue;let Q=G.indexOf(":",Y+1);if(Q<0)continue;let $=G.slice(0,Y),J=Number.parseInt(G.slice(Y+1,Q),10);if(!Number.isFinite(J))continue;X.push({file:$,line:J,text:G.slice(Q+1)})}return X}function Sn0(Z,X){let{ensureHandle:G,invalidateHandle:Y,canAutoRestart:Q}=X,$=(W)=>{let K=W instanceof Error?W.message:String(W);return Q?`Sandbox is unreachable and auto-restart did not recover it: ${K}`:"The sandbox is not running. Ask the user to start it by clicking the server button (left side of the header bar)."},J=async(W,K,N="POST",F)=>{let U=async(w)=>RG4(Z,w,W,K,N,{signal:F,timeoutMs:X.opTimeoutMs}),H=await G();try{return await U(H)}catch(w){if(!(w instanceof en))throw w;if(!Q&&!w.gone)throw Error($(w.cause??w));console.warn(`[sandbox-fs-hooks] daemon ${W} unreachable \u2014 reaping sandbox and retrying once`,w.cause??w);try{await Y({force:w.gone})}catch(D){console.warn("[sandbox-fs-hooks] invalidateHandle failed",D)}let O;try{O=await G()}catch(D){throw Error(`Failed to restart sandbox: ${D instanceof Error?D.message:String(D)}`)}try{return await U(O)}catch(D){if(D instanceof en)throw Error($(D.cause??D));throw D}}};return{onProxy:(W,K,N,F)=>J(W,K,N,F),onRead:async(W)=>{return(await J("/_sandbox/read",{path:W})).content},onWrite:async(W,K)=>{await J("/_sandbox/write",{path:W,content:K})},onEdit:async(W,K)=>{for(let N of K)await J("/_sandbox/edit",{path:W,old_string:N.oldText,new_string:N.newText,replace_all:N.replaceAll===!0})},onBash:async(W,K)=>{return await J("/_sandbox/bash",{command:W,...K?.cwd!==void 0?{cwd:K.cwd}:{},...K?.timeoutMs!==void 0?{timeout:K.timeoutMs}:{}})},onGlob:async(W)=>{return(await J("/_sandbox/glob",{pattern:W})).files},onGrep:async(W,K)=>{let N=await J("/_sandbox/grep",{pattern:W,output_mode:"content",...K?.path!==void 0?{path:K.path}:{},...K?.glob!==void 0?{glob:K.glob}:{},...K?.caseInsensitive?{ignore_case:!0}:{}});return IG4(N.results)}}}var en;var DX8=B(()=>{en=class en extends Error{code="DAEMON_UNREACHABLE";gone;constructor(Z,X=!1){super(Z instanceof Error?Z.message:"Daemon proxy failed");if(this.gone=X,Z instanceof Error)this.cause=Z}}});function qG4(Z){return Z==="agent-sandbox"||Z==="cluster"||Z==="user-desktop"}function PJ(){let Z=process.env.STUDIO_SANDBOX_PROVIDER,X=Z&&Z.length>0?Z:"user-desktop";if(!qG4(X))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${Z}" \u2014 expected "agent-sandbox", "cluster", or "user-desktop".`);return IF(X)}var n3=B(()=>{v70();v70();h70();DX8()});function Zy(Z){return IF(Z.sandboxProviderKind)==="user-desktop"?{sandboxProviderKind:"user-desktop"}:{sandboxProviderKind:"agent-sandbox"}}var u70=B(()=>{n3()});function Vn0(Z){let X=new AbortController,G=Xy.get(Z);if(!G)G=new Set,Xy.set(Z,G);return G.add(X),X}function Cn0(Z,X){let G=Xy.get(Z);if(!G)return;if(G.delete(X),G.size===0)Xy.delete(Z)}function c70(Z){let X=Xy.get(Z);if(!X)return;for(let G of X)G.abort();Xy.delete(Z)}var Xy;var l70=B(()=>{Xy=new Map});function FX(Z){return`studio-storage://${Z}`}function Zp(Z){if(Z.startsWith("studio-storage://"))return Z.slice(17);if(Z.startsWith("mesh-storage://"))return Z.slice(15);return null}function fn0(){return/(?:studio|mesh)-storage:\/\/([^\s"'<>[\]]+)/g}var DE="https://chrome.browserless.io",LE=32000;import{z as NK}from"zod";function SG4(Z,X=!1){return{...Z&&X?{clip:{x:0,y:0,width:jX8.width,height:d70}}:{fullPage:Z},type:"jpeg",quality:kG4}}function EX8(Z){if(Z[0]!==255||Z[1]!==216)return null;let X=new DataView(Z.buffer,Z.byteOffset,Z.byteLength),G=2;while(G+9<Z.length){if(Z[G]!==255)return null;let Y=Z[G+1];if(Y>=192&&Y<=207&&![196,200,204].includes(Y))return X.getUint16(G+5);G+=2+X.getUint16(G+2)}return null}function m70(Z){if(Z>LX8){let X=(Z/1048576).toFixed(1),G=LX8/1048576;throw Error(`Reference image too large: ${X} MB (max ${G} MB). Use a smaller image.`)}}function fG4(Z,X){let G;try{G=new URL(Z)}catch{throw Error("Invalid image URL")}if(G.protocol!=="https:"&&!(X&&G.protocol==="http:"))throw Error("Image URL must use HTTPS");for(let Y of CG4)if(Y.test(G.hostname))throw Error("Image URL must not point to a private network address")}async function zX8(Z,X){if(!X?.getBytes)throw Error("Object storage read is not available");if(X.head){let{size:Y}=await X.head(Z);m70(Y)}let G=await X.getBytes(Z);return m70(G.byteLength),G}async function bG4(Z,X){let G=Zp(Z);if(G!==null)return zX8(G,X.objectStorage);let Y=Z.match(MG4);if(Y)return zX8(Y[1],X.objectStorage);if(Z.startsWith("data:")){let J=Z.match(/^data:[^;]+;base64,(.+)$/s);if(!J)throw Error("Invalid data: URI");let W=Buffer.from(J[1],"base64");return m70(W.byteLength),W}fG4(Z,X.allowHttpExternalUrls===!0);let Q=await fetch(Z,{signal:X.abortSignal});if(!Q.ok)throw Error(`Failed to fetch image from ${Z}: ${Q.status}`);let $=new Uint8Array(await Q.arrayBuffer());return m70($.byteLength),$}async function bn0(Z,X){let{provider:G,imageModelInfo:Y,objectStorage:Q}=X,$=G.aiSdk.imageModel(Y.id),J=Z.referenceImages&&Z.referenceImages.length>0,W=J?await Promise.all(Z.referenceImages.map((w)=>{let O=w.uri??w.url;if(!O)throw Error("Reference image missing uri");return bG4(O,X)})):[],K=J?{text:Z.prompt,images:W}:Z.prompt,N=await Q70({model:$,prompt:K,n:Z.n??1,...Z.aspectRatio?{aspectRatio:Z.aspectRatio}:{},...X.abortSignal?{abortSignal:X.abortSignal}:{}});if(!Q)throw Error("Object storage is unavailable; cannot persist the generated image.");let F=Z.n??1,U=N.images.length>F?N.images.slice(-F):N.images;return{success:!0,images:await Promise.all(U.map(async(w)=>{let O=w.mediaType??"image/png",D=O.split("/")[1]??"png",L=`generated-images/${crypto.randomUUID()}.${D}`,E=Uint8Array.from(atob(w.base64),(z)=>z.charCodeAt(0));return await Q.put(L,E,{contentType:O}),{uri:FX(L),mediaType:O}})),prompt:Z.prompt,model:Y.id,usage:{inputTokens:N.usage.inputTokens??0,outputTokens:N.usage.outputTokens??0},usedReferenceImages:J?Z.referenceImages.length:0}}function i70(Z,X){return y8({description:"Generate an image from a text description, optionally using reference images. Use this when the user asks you to create, generate, draw, or design an image. If the user has attached images and wants to modify or use them as a reference, pass them as referenceImages. "+"The image is displayed automatically by the UI \u2014 do NOT include image URLs or markdown images in your response.",inputSchema:O0(EE),execute:async(G,Y)=>{let Q=performance.now();try{return await bn0(G,X)}finally{Z.write({type:"data-tool-metadata",id:Y.toolCallId,data:{latencyMs:performance.now()-Q}})}}})}function n70(Z,X){let{objectStorage:G,toolOutputMap:Y,pendingImages:Q}=X;return y8({description:"Take a screenshot of a web page. Use this when you need to visually see a website, check its layout, verify a deployment, or inspect a page's appearance. "+"The screenshot is displayed automatically by the UI \u2014 do NOT include image URLs or markdown images in your response.",inputSchema:O0(VG4),execute:async($,J)=>{let W=performance.now();try{let K=X.browserlessToken??process.env.BROWSERLESS_TOKEN;if(!K)return{success:!1,error:"BROWSERLESS_TOKEN is not configured."};let N=$.fullPage??!1,F=async(z)=>await fetch(`${DE}/screenshot?token=${encodeURIComponent(K)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:$.url,options:SG4(N,z),viewport:jX8})}),U=await F(!1);if(!U.ok){let z=await U.text().catch(()=>"Unknown error");return{success:!1,error:`Browserless screenshot failed (${U.status}): ${z}`,url:$.url}}let H=new Uint8Array(await U.arrayBuffer()),w=EX8(H);if(N&&w!==null&&w>d70){U=await F(!0);let z=U.ok?new Uint8Array(await U.arrayBuffer()):null;if(!z||(EX8(z)??0)>d70)return{success:!1,error:`Full-page screenshot of ${$.url} is ${w}px tall, over the ${d70}px limit, and the clipped retry did not come back within it. Retry with fullPage: false.`,url:$.url};H=z}let O="image/jpeg",D=`screenshots/${crypto.randomUUID()}.jpg`,L,E=null;if(G)try{await G.put(D,H,{contentType:O}),L=FX(D),E=await G.presignedGetUrl?.(D,600)??null}catch(z){console.error("[take-screenshot] Failed to upload, using data: URI fallback",z),L=`data:${O};base64,${Buffer.from(H).toString("base64")}`}else L=`data:${O};base64,${Buffer.from(H).toString("base64")}`;if(!E)E=L.startsWith("data:")?L:`data:${O};base64,${Buffer.from(H).toString("base64")}`;return Q.push({url:E,mediaType:O,pageUrl:$.url}),Y.set(J.toolCallId,`Screenshot of ${$.url} stored at ${L}`),{success:!0,image:{uri:L,mediaType:O},url:$.url}}finally{Z.write({type:"data-tool-metadata",id:J.toolCallId,data:{latencyMs:performance.now()-W}})}},toModelOutput({output:$}){if(!$.success)return{type:"text",value:$.error??"Screenshot failed"};return{type:"text",value:`Screenshot of ${$.url} captured successfully. The image is attached below.`}}})}var MG4,LX8=20971520,jX8,kG4=80,d70=7000,EE,VG4,CG4;var zE=B(()=>{F4();F4();MG4=/\/api\/[^/]+\/files\/([^?#]+)/,jX8={width:1280,height:800};EE=NK.object({prompt:NK.string().max(1e4).describe("Detailed description of the image to generate. Be specific about style, composition, colors, and subject matter."),referenceImages:NK.array(NK.object({uri:NK.string().describe("URI of the reference image (e.g. studio-storage://generated-images/uuid.png).")})).optional().describe("Reference images to use as input for image-to-image generation. Pass the URI of any image from the conversation (uploaded files, previously generated images, etc.) when the user wants to modify, transform, or use an existing image as a starting point."),aspectRatio:NK.enum(["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]).optional().describe("Aspect ratio for the generated image. Defaults to 1:1."),n:NK.number().int().min(1).max(4).optional().describe("Number of images to generate. Defaults to 1.")}),VG4=NK.object({url:NK.string().url().describe("The URL of the web page to screenshot."),fullPage:NK.boolean().optional().describe("When true, captures the full scrollable page instead of just the viewport. Defaults to false.")}),CG4=[/^127\./,/^10\./,/^172\.(1[6-9]|2\d|3[01])\./,/^192\.168\./,/^169\.254\./,/^0\./,/^\[::1\]$/,/^\[fd/,/^\[fe80:/,/^\[::ffff:/i,/^localhost$/i]});function hQ(Z){if(Z instanceof Error)return Z.message;if(typeof Z==="object"&&Z!==null)try{return JSON.stringify(Z)}catch{return"[unserializable object]"}return String(Z)}function AX8(Z){let G=Z.split(/\.\s+/).filter((Q)=>!/https?:\/\//i.test(Q)&&!/openrouter/i.test(Q));if(G.length===0)return Z;let Y=G.join(". ").trim();return Y.endsWith(".")?Y:`${Y}.`}function PX8(Z){if(Z instanceof Error)return{message:Z.message,statusCode:Z.statusCode};if(typeof Z==="object"&&Z!==null){let X=Z,G=typeof X.message==="string"?X.message:hQ(Z),Y=typeof X.statusCode==="number"?X.statusCode:typeof X.code==="number"?X.code:void 0;return{message:G,statusCode:Y}}return{message:String(Z)}}function p70(Z){let{message:X,statusCode:G}=PX8(Z),Y=X.toLowerCase();return G===402||Y.includes("credit")||Y.includes("insufficient funds")||Y.includes("insufficient balance")||Y.includes("billing")||Y.includes("quota exceeded")||Y.includes("key limit")||Y.includes("payment required")}function vG4(Z){let X=Z.toLowerCase();if(X.includes("circuit breaker is open"))return"A connected app is temporarily unreachable \u2014 it'll keep retrying. Try again in a moment.";if(!(X.includes("error posting to endpoint")||X.includes("streamable http error")))return null;if(/unauthorized|authentication required|forbidden|\b401\b|\b403\b/.test(X))return"A connected app needs to be re-authenticated before it can be used. Reconnect it, then try again.";return"Couldn't reach a connected app. Try again in a moment."}function TX8(Z){let{message:X}=PX8(Z),G=vG4(X);if(G)return G;if(p70(Z))return`[CREDITS] ${AX8(X)}`;return AX8(X)}function RX8(Z){let X=Z.indexOf(vn0);if(X===-1)return{baseId:Z,signature:null};return{baseId:Z.slice(0,X),signature:Z.slice(X+vn0.length)}}function xG4(Z,X){return`${Z}${vn0}${X}`}function _G4(Z,X){return{...Z,google:{...Z?.google??{},thoughtSignature:X}}}function yG4(Z){let X=Z?.google?.thoughtSignature;return typeof X==="string"?X:null}function IX8(Z){let{baseId:X,signature:G}=RX8(Z.toolCallId);if(G===null)return Z;return{...Z,toolCallId:X,providerMetadata:_G4(Z.providerMetadata,G)}}function gG4(Z){switch(Z.type){case"tool-input-start":case"tool-input-delta":case"tool-input-end":{let{baseId:X,signature:G}=RX8(Z.id);return G===null?Z:{...Z,id:X}}case"tool-call":return IX8(Z);default:return Z}}function hG4(Z){let X=new Map;for(let Y of Z.prompt){if(Y.role!=="assistant")continue;for(let Q of Y.content){if(Q.type!=="tool-call")continue;let $=yG4(Q.providerOptions);if($)X.set(Q.toolCallId,$)}}if(X.size===0)return Z;let G=Z.prompt.map((Y)=>{if(Y.role!=="assistant"&&Y.role!=="tool")return Y;let Q=Y.content.map(($)=>{if($.type!=="tool-call"&&$.type!=="tool-result")return $;let J=X.get($.toolCallId);return J?{...$,toolCallId:xG4($.toolCallId,J)}:$});return{...Y,content:Q}});return{...Z,prompt:G}}function uG4(){return{specificationVersion:"v3",transformParams:async({params:Z})=>hG4(Z),wrapStream:async({doStream:Z})=>{let{stream:X,...G}=await Z();return{...G,stream:X.pipeThrough(new TransformStream({transform(Y,Q){Q.enqueue(gG4(Y))}}))}},wrapGenerate:async({doGenerate:Z})=>{let X=await Z(),G=X.content.map((Y)=>Y.type==="tool-call"?IX8(Y):Y);return{...X,content:G}}}}function qX8(Z){return WE({model:Z,middleware:uG4()})}var vn0="__thought__";var MX8=B(()=>{F4()});function lG4(Z,X){return WE({model:Z,middleware:{specificationVersion:"v3",wrapStream:async({doStream:Y,params:Q})=>{try{return await Y()}catch($){if(!p70($))throw $;return X.doStream(Q)}},wrapGenerate:async({doGenerate:Y,params:Q})=>{try{return await Y()}catch($){if(!p70($))throw $;return X.doGenerate(Q)}}}})}function t70(Z,X){let G={};if(X.capabilities?.reasoning!==!1)G.reasoning={enabled:!0,effort:"medium"};let Y=Z.info?.id==="openrouter"&&X.id!==xn0;if(Y)G.models=[X.id,xn0];let Q=(W,K)=>K&&Object.keys(K).length>0?Z.aiSdk.languageModel(W,K):Z.aiSdk.languageModel(W),$=Q(X.id,G),J=Y?lG4($,Q(xn0)):$;return Z.info?.id&&cG4.has(Z.info.id)?qX8(J):J}var xn0="openrouter/free",cG4;var _n0=B(()=>{F4();MX8();cG4=new Set(["openai-compatible","openrouter","deco","llmapi"])});function kX8(Z,X){if(!X)return Z;let G=new Set(X);return Object.fromEntries(Object.entries(Z).filter(([Y])=>G.has(Y)))}function SX8(Z,X){let G=Z?.maxOutputTokens??32768,Y=Z?.contextWindow;if(!Y)return G;let Q=Y-X*2;return Math.max(1024,Math.min(G,Q))}var o70=300000;import{z as yn0}from"zod";function r70(Z){let{toolOutputMap:X}=Z;return y8({description:"Filter a tool output that was too large to display inline. Returns all lines matching the given regular expression pattern (grep-like). You may call this tool multiple times with different patterns to extract different pieces of information.",inputExamples:[{input:{tool_call_id:"id_1",pattern:"error|warning"}},{input:{tool_call_id:"id_2",pattern:'"status":\\s*"failed"'}}],inputSchema:O0(yn0.object({tool_call_id:yn0.string(),pattern:yn0.string().min(1).describe("Regular expression pattern to filter tool output lines. Returns all matching lines.")})),execute:async({tool_call_id:G,pattern:Y})=>{if(!X.has(G))return{result:`Tool output not found for tool call id: ${G}. Available ids: ${[...X.keys()].join(", ")||"(none)"}`,matchCount:0,totalLines:0};let Q=X.get(G),$;try{$=new RegExp(Y)}catch{return{result:`Invalid regex pattern: ${Y}`,matchCount:0,totalLines:0}}let J=Q.split(`
|
|
1203
1203
|
`),W=J.filter((F)=>$.test(F)),K=W.join(`
|
|
1204
1204
|
`),N=YG(K);if(N>ow){let F=uG(K);return{result:`Output is still too long (${N} tokens), use a more specific pattern to reduce output.
|
|
@@ -2771,7 +2771,7 @@ NKEYs are sensitive and should be treated as secrets.
|
|
|
2771
2771
|
-----BEGIN USER NKEY SEED-----
|
|
2772
2772
|
${G}
|
|
2773
2773
|
------END USER NKEY SEED------
|
|
2774
|
-
`;return new TextEncoder().encode(Y)}var l41,oC,A75,Vv8,c41="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",T75,d8,l8,Y4,Sv8=24,rC,mJ;var yv8=B(()=>{(function(Z){Z.Operator="operator",Z.Account="account",Z.User="user",Z.Activation="activation",Z.AuthorizationResponse="authorization_response"})(l41||(l41={}));(function(Z){var X=function(h,i){this.hi=h|0,this.lo=i|0},G=function(h){var i,u=new Float64Array(16);if(h)for(i=0;i<h.length;i++)u[i]=h[i];return u},Y=function(){throw Error("no PRNG")},Q=new Uint8Array(16),$=new Uint8Array(32);$[0]=9;var J=G(),W=G([1]),K=G([56129,1]),N=G([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),F=G([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),U=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]),w=G([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function O(h,i){return h<<i|h>>>32-i}function D(h,i){var u=h[i+3]&255;return u=u<<8|h[i+2]&255,u=u<<8|h[i+1]&255,u<<8|h[i+0]&255}function L(h,i){var u=h[i]<<24|h[i+1]<<16|h[i+2]<<8|h[i+3],r=h[i+4]<<24|h[i+5]<<16|h[i+6]<<8|h[i+7];return new X(u,r)}function E(h,i,u){var r;for(r=0;r<4;r++)h[i+r]=u&255,u>>>=8}function z(h,i,u){h[i]=u.hi>>24&255,h[i+1]=u.hi>>16&255,h[i+2]=u.hi>>8&255,h[i+3]=u.hi&255,h[i+4]=u.lo>>24&255,h[i+5]=u.lo>>16&255,h[i+6]=u.lo>>8&255,h[i+7]=u.lo&255}function j(h,i,u,r,Q0){var N0,v0=0;for(N0=0;N0<Q0;N0++)v0|=h[i+N0]^u[r+N0];return(1&v0-1>>>8)-1}function A(h,i,u,r){return j(h,i,u,r,16)}function P(h,i,u,r){return j(h,i,u,r,32)}function q(h,i,u,r,Q0){var N0=new Uint32Array(16),v0=new Uint32Array(16),m0=new Uint32Array(16),R0=new Uint32Array(4),V0,T0,y0;for(V0=0;V0<4;V0++)v0[5*V0]=D(r,4*V0),v0[1+V0]=D(u,4*V0),v0[6+V0]=D(i,4*V0),v0[11+V0]=D(u,16+4*V0);for(V0=0;V0<16;V0++)m0[V0]=v0[V0];for(V0=0;V0<20;V0++){for(T0=0;T0<4;T0++){for(y0=0;y0<4;y0++)R0[y0]=v0[(5*T0+4*y0)%16];R0[1]^=O(R0[0]+R0[3]|0,7),R0[2]^=O(R0[1]+R0[0]|0,9),R0[3]^=O(R0[2]+R0[1]|0,13),R0[0]^=O(R0[3]+R0[2]|0,18);for(y0=0;y0<4;y0++)N0[4*T0+(T0+y0)%4]=R0[y0]}for(y0=0;y0<16;y0++)v0[y0]=N0[y0]}if(Q0){for(V0=0;V0<16;V0++)v0[V0]=v0[V0]+m0[V0]|0;for(V0=0;V0<4;V0++)v0[5*V0]=v0[5*V0]-D(r,4*V0)|0,v0[6+V0]=v0[6+V0]-D(i,4*V0)|0;for(V0=0;V0<4;V0++)E(h,4*V0,v0[5*V0]),E(h,16+4*V0,v0[6+V0])}else for(V0=0;V0<16;V0++)E(h,4*V0,v0[V0]+m0[V0]|0)}function S(h,i,u,r){return q(h,i,u,r,!1),0}function M(h,i,u,r){return q(h,i,u,r,!0),0}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function m(h,i,u,r,Q0,N0,v0){var m0=new Uint8Array(16),R0=new Uint8Array(64),V0,T0;if(!Q0)return 0;for(T0=0;T0<16;T0++)m0[T0]=0;for(T0=0;T0<8;T0++)m0[T0]=N0[T0];while(Q0>=64){S(R0,m0,v0,C);for(T0=0;T0<64;T0++)h[i+T0]=(u?u[r+T0]:0)^R0[T0];V0=1;for(T0=8;T0<16;T0++)V0=V0+(m0[T0]&255)|0,m0[T0]=V0&255,V0>>>=8;if(Q0-=64,i+=64,u)r+=64}if(Q0>0){S(R0,m0,v0,C);for(T0=0;T0<Q0;T0++)h[i+T0]=(u?u[r+T0]:0)^R0[T0]}return 0}function v(h,i,u,r,Q0){return m(h,i,null,0,u,r,Q0)}function x(h,i,u,r,Q0){var N0=new Uint8Array(32);return M(N0,r,Q0,C),v(h,i,u,r.subarray(16),N0)}function e(h,i,u,r,Q0,N0,v0){var m0=new Uint8Array(32);return M(m0,N0,v0,C),m(h,i,u,r,Q0,N0.subarray(16),m0)}function o(h,i){var u,r=0;for(u=0;u<17;u++)r=r+(h[u]+i[u]|0)|0,h[u]=r&255,r>>>=8}var w0=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function L0(h,i,u,r,Q0,N0){var v0,m0,R0,V0,T0=new Uint32Array(17),y0=new Uint32Array(17),r0=new Uint32Array(17),G1=new Uint32Array(17),F1=new Uint32Array(17);for(R0=0;R0<17;R0++)y0[R0]=r0[R0]=0;for(R0=0;R0<16;R0++)y0[R0]=N0[R0];y0[3]&=15,y0[4]&=252,y0[7]&=15,y0[8]&=252,y0[11]&=15,y0[12]&=252,y0[15]&=15;while(Q0>0){for(R0=0;R0<17;R0++)G1[R0]=0;for(R0=0;R0<16&&R0<Q0;++R0)G1[R0]=u[r+R0];G1[R0]=1,r+=R0,Q0-=R0,o(r0,G1);for(m0=0;m0<17;m0++){T0[m0]=0;for(R0=0;R0<17;R0++)T0[m0]=T0[m0]+r0[R0]*(R0<=m0?y0[m0-R0]:320*y0[m0+17-R0]|0)|0|0}for(m0=0;m0<17;m0++)r0[m0]=T0[m0];V0=0;for(R0=0;R0<16;R0++)V0=V0+r0[R0]|0,r0[R0]=V0&255,V0>>>=8;V0=V0+r0[16]|0,r0[16]=V0&3,V0=5*(V0>>>2)|0;for(R0=0;R0<16;R0++)V0=V0+r0[R0]|0,r0[R0]=V0&255,V0>>>=8;V0=V0+r0[16]|0,r0[16]=V0}for(R0=0;R0<17;R0++)F1[R0]=r0[R0];o(r0,w0),v0=-(r0[16]>>>7)|0;for(R0=0;R0<17;R0++)r0[R0]^=v0&(F1[R0]^r0[R0]);for(R0=0;R0<16;R0++)G1[R0]=N0[R0+16];G1[16]=0,o(r0,G1);for(R0=0;R0<16;R0++)h[i+R0]=r0[R0];return 0}function W0(h,i,u,r,Q0,N0){var v0=new Uint8Array(16);return L0(v0,0,u,r,Q0,N0),A(h,i,v0,0)}function $0(h,i,u,r,Q0){var N0;if(u<32)return-1;e(h,0,i,0,u,r,Q0),L0(h,16,h,32,u-32,h);for(N0=0;N0<16;N0++)h[N0]=0;return 0}function a(h,i,u,r,Q0){var N0,v0=new Uint8Array(32);if(u<32)return-1;if(x(v0,0,32,r,Q0),W0(i,16,i,32,u-32,v0)!==0)return-1;e(h,0,i,0,u,r,Q0);for(N0=0;N0<32;N0++)h[N0]=0;return 0}function E0(h,i){var u;for(u=0;u<16;u++)h[u]=i[u]|0}function J0(h){var i,u;for(u=0;u<16;u++)h[u]+=65536,i=Math.floor(h[u]/65536),h[(u+1)*(u<15?1:0)]+=i-1+37*(i-1)*(u===15?1:0),h[u]-=i*65536}function f0(h,i,u){var r,Q0=~(u-1);for(var N0=0;N0<16;N0++)r=Q0&(h[N0]^i[N0]),h[N0]^=r,i[N0]^=r}function i0(h,i){var u,r,Q0,N0=G(),v0=G();for(u=0;u<16;u++)v0[u]=i[u];J0(v0),J0(v0),J0(v0);for(r=0;r<2;r++){N0[0]=v0[0]-65517;for(u=1;u<15;u++)N0[u]=v0[u]-65535-(N0[u-1]>>16&1),N0[u-1]&=65535;N0[15]=v0[15]-32767-(N0[14]>>16&1),Q0=N0[15]>>16&1,N0[14]&=65535,f0(v0,N0,1-Q0)}for(u=0;u<16;u++)h[2*u]=v0[u]&255,h[2*u+1]=v0[u]>>8}function l0(h,i){var u=new Uint8Array(32),r=new Uint8Array(32);return i0(u,h),i0(r,i),P(u,0,r,0)}function s0(h){var i=new Uint8Array(32);return i0(i,h),i[0]&1}function F0(h,i){var u;for(u=0;u<16;u++)h[u]=i[2*u]+(i[2*u+1]<<8);h[15]&=32767}function S0(h,i,u){var r;for(r=0;r<16;r++)h[r]=i[r]+u[r]|0}function P0(h,i,u){var r;for(r=0;r<16;r++)h[r]=i[r]-u[r]|0}function K0(h,i,u){var r,Q0,N0=new Float64Array(31);for(r=0;r<31;r++)N0[r]=0;for(r=0;r<16;r++)for(Q0=0;Q0<16;Q0++)N0[r+Q0]+=i[r]*u[Q0];for(r=0;r<15;r++)N0[r]+=38*N0[r+16];for(r=0;r<16;r++)h[r]=N0[r];J0(h),J0(h)}function G0(h,i){K0(h,i,i)}function Y0(h,i){var u=G(),r;for(r=0;r<16;r++)u[r]=i[r];for(r=253;r>=0;r--)if(G0(u,u),r!==2&&r!==4)K0(u,u,i);for(r=0;r<16;r++)h[r]=u[r]}function C0(h,i){var u=G(),r;for(r=0;r<16;r++)u[r]=i[r];for(r=250;r>=0;r--)if(G0(u,u),r!==1)K0(u,u,i);for(r=0;r<16;r++)h[r]=u[r]}function n(h,i,u){var r=new Uint8Array(32),Q0=new Float64Array(80),N0,v0,m0=G(),R0=G(),V0=G(),T0=G(),y0=G(),r0=G();for(v0=0;v0<31;v0++)r[v0]=i[v0];r[31]=i[31]&127|64,r[0]&=248,F0(Q0,u);for(v0=0;v0<16;v0++)R0[v0]=Q0[v0],T0[v0]=m0[v0]=V0[v0]=0;m0[0]=T0[0]=1;for(v0=254;v0>=0;--v0)N0=r[v0>>>3]>>>(v0&7)&1,f0(m0,R0,N0),f0(V0,T0,N0),S0(y0,m0,V0),P0(m0,m0,V0),S0(V0,R0,T0),P0(R0,R0,T0),G0(T0,y0),G0(r0,m0),K0(m0,V0,m0),K0(V0,R0,y0),S0(y0,m0,V0),P0(m0,m0,V0),G0(R0,m0),P0(V0,T0,r0),K0(m0,V0,K),S0(m0,m0,T0),K0(V0,V0,m0),K0(m0,T0,r0),K0(T0,R0,Q0),G0(R0,y0),f0(m0,R0,N0),f0(V0,T0,N0);for(v0=0;v0<16;v0++)Q0[v0+16]=m0[v0],Q0[v0+32]=V0[v0],Q0[v0+48]=R0[v0],Q0[v0+64]=T0[v0];var G1=Q0.subarray(32),F1=Q0.subarray(16);return Y0(G1,G1),K0(F1,F1,G1),i0(h,F1),0}function X0(h,i){return n(h,i,$)}function t0(h,i){return Y(i,32),X0(h,i)}function q0(h,i,u){var r=new Uint8Array(32);return n(r,u,i),M(h,Q,r,C)}var M0=$0,g=a;function H0(h,i,u,r,Q0,N0){var v0=new Uint8Array(32);return q0(v0,Q0,N0),M0(h,i,u,r,v0)}function x0(h,i,u,r,Q0,N0){var v0=new Uint8Array(32);return q0(v0,Q0,N0),g(h,i,u,r,v0)}function Z1(){var h=0,i=0,u=0,r=0,Q0=65535,N0,v0,m0;for(m0=0;m0<arguments.length;m0++)N0=arguments[m0].lo,v0=arguments[m0].hi,h+=N0&Q0,i+=N0>>>16,u+=v0&Q0,r+=v0>>>16;return i+=h>>>16,u+=i>>>16,r+=u>>>16,new X(u&Q0|r<<16,h&Q0|i<<16)}function u0(h,i){return new X(h.hi>>>i,h.lo>>>i|h.hi<<32-i)}function T1(){var h=0,i=0,u;for(u=0;u<arguments.length;u++)h^=arguments[u].lo,i^=arguments[u].hi;return new X(i,h)}function e1(h,i){var u,r,Q0=32-i;if(i<32)u=h.hi>>>i|h.lo<<Q0,r=h.lo>>>i|h.hi<<Q0;else if(i<64)u=h.lo>>>i|h.hi<<Q0,r=h.hi>>>i|h.lo<<Q0;return new X(u,r)}function j4(h,i,u){var r=h.hi&i.hi^~h.hi&u.hi,Q0=h.lo&i.lo^~h.lo&u.lo;return new X(r,Q0)}function $5(h,i,u){var r=h.hi&i.hi^h.hi&u.hi^i.hi&u.hi,Q0=h.lo&i.lo^h.lo&u.lo^i.lo&u.lo;return new X(r,Q0)}function u9(h){return T1(e1(h,28),e1(h,34),e1(h,39))}function Z0(h){return T1(e1(h,14),e1(h,18),e1(h,41))}function N1(h){return T1(e1(h,1),e1(h,8),u0(h,7))}function s8(h){return T1(e1(h,19),e1(h,61),u0(h,6))}var e8=[new X(1116352408,3609767458),new X(1899447441,602891725),new X(3049323471,3964484399),new X(3921009573,2173295548),new X(961987163,4081628472),new X(1508970993,3053834265),new X(2453635748,2937671579),new X(2870763221,3664609560),new X(3624381080,2734883394),new X(310598401,1164996542),new X(607225278,1323610764),new X(1426881987,3590304994),new X(1925078388,4068182383),new X(2162078206,991336113),new X(2614888103,633803317),new X(3248222580,3479774868),new X(3835390401,2666613458),new X(4022224774,944711139),new X(264347078,2341262773),new X(604807628,2007800933),new X(770255983,1495990901),new X(1249150122,1856431235),new X(1555081692,3175218132),new X(1996064986,2198950837),new X(2554220882,3999719339),new X(2821834349,766784016),new X(2952996808,2566594879),new X(3210313671,3203337956),new X(3336571891,1034457026),new X(3584528711,2466948901),new X(113926993,3758326383),new X(338241895,168717936),new X(666307205,1188179964),new X(773529912,1546045734),new X(1294757372,1522805485),new X(1396182291,2643833823),new X(1695183700,2343527390),new X(1986661051,1014477480),new X(2177026350,1206759142),new X(2456956037,344077627),new X(2730485921,1290863460),new X(2820302411,3158454273),new X(3259730800,3505952657),new X(3345764771,106217008),new X(3516065817,3606008344),new X(3600352804,1432725776),new X(4094571909,1467031594),new X(275423344,851169720),new X(430227734,3100823752),new X(506948616,1363258195),new X(659060556,3750685593),new X(883997877,3785050280),new X(958139571,3318307427),new X(1322822218,3812723403),new X(1537002063,2003034995),new X(1747873779,3602036899),new X(1955562222,1575990012),new X(2024104815,1125592928),new X(2227730452,2716904306),new X(2361852424,442776044),new X(2428436474,593698344),new X(2756734187,3733110249),new X(3204031479,2999351573),new X(3329325298,3815920427),new X(3391569614,3928383900),new X(3515267271,566280711),new X(3940187606,3454069534),new X(4118630271,4000239992),new X(116418474,1914138554),new X(174292421,2731055270),new X(289380356,3203993006),new X(460393269,320620315),new X(685471733,587496836),new X(852142971,1086792851),new X(1017036298,365543100),new X(1126000580,2618297676),new X(1288033470,3409855158),new X(1501505948,4234509866),new X(1607167915,987167468),new X(1816402316,1246189591)];function TZ(h,i,u){var r=[],Q0=[],N0=[],v0=[],m0,R0,V0;for(R0=0;R0<8;R0++)r[R0]=N0[R0]=L(h,8*R0);var T0=0;while(u>=128){for(R0=0;R0<16;R0++)v0[R0]=L(i,8*R0+T0);for(R0=0;R0<80;R0++){for(V0=0;V0<8;V0++)Q0[V0]=N0[V0];m0=Z1(N0[7],Z0(N0[4]),j4(N0[4],N0[5],N0[6]),e8[R0],v0[R0%16]),Q0[7]=Z1(m0,u9(N0[0]),$5(N0[0],N0[1],N0[2])),Q0[3]=Z1(Q0[3],m0);for(V0=0;V0<8;V0++)N0[(V0+1)%8]=Q0[V0];if(R0%16===15)for(V0=0;V0<16;V0++)v0[V0]=Z1(v0[V0],v0[(V0+9)%16],N1(v0[(V0+1)%16]),s8(v0[(V0+14)%16]))}for(R0=0;R0<8;R0++)N0[R0]=Z1(N0[R0],r[R0]),r[R0]=N0[R0];T0+=128,u-=128}for(R0=0;R0<8;R0++)z(h,8*R0,r[R0]);return u}var aG=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 M6(h,i,u){var r=new Uint8Array(64),Q0=new Uint8Array(256),N0,v0=u;for(N0=0;N0<64;N0++)r[N0]=aG[N0];TZ(r,i,u),u%=128;for(N0=0;N0<256;N0++)Q0[N0]=0;for(N0=0;N0<u;N0++)Q0[N0]=i[v0-u+N0];Q0[u]=128,u=256-128*(u<112?1:0),Q0[u-9]=0,z(Q0,u-8,new X(v0/536870912|0,v0<<3)),TZ(r,Q0,u);for(N0=0;N0<64;N0++)h[N0]=r[N0];return 0}function f4(h,i){var u=G(),r=G(),Q0=G(),N0=G(),v0=G(),m0=G(),R0=G(),V0=G(),T0=G();P0(u,h[1],h[0]),P0(T0,i[1],i[0]),K0(u,u,T0),S0(r,h[0],h[1]),S0(T0,i[0],i[1]),K0(r,r,T0),K0(Q0,h[3],i[3]),K0(Q0,Q0,F),K0(N0,h[2],i[2]),S0(N0,N0,N0),P0(v0,r,u),P0(m0,N0,Q0),S0(R0,N0,Q0),S0(V0,r,u),K0(h[0],v0,m0),K0(h[1],V0,R0),K0(h[2],R0,m0),K0(h[3],v0,V0)}function X9(h,i,u){var r;for(r=0;r<4;r++)f0(h[r],i[r],u)}function R9(h,i){var u=G(),r=G(),Q0=G();Y0(Q0,i[2]),K0(u,i[0],Q0),K0(r,i[1],Q0),i0(h,r),h[31]^=s0(u)<<7}function JZ(h,i,u){var r,Q0;E0(h[0],J),E0(h[1],W),E0(h[2],W),E0(h[3],J);for(Q0=255;Q0>=0;--Q0)r=u[Q0/8|0]>>(Q0&7)&1,X9(h,i,r),f4(i,h),f4(h,h),X9(h,i,r)}function RZ(h,i){var u=[G(),G(),G(),G()];E0(u[0],U),E0(u[1],H),E0(u[2],W),K0(u[3],U,H),JZ(h,u,i)}function _1(h,i,u){var r=new Uint8Array(64),Q0=[G(),G(),G(),G()],N0;if(!u)Y(i,32);M6(r,i,32),r[0]&=248,r[31]&=127,r[31]|=64,RZ(Q0,r),R9(h,Q0);for(N0=0;N0<32;N0++)i[N0+32]=h[N0];return 0}var k6=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 S6(h,i){var u,r,Q0,N0;for(r=63;r>=32;--r){u=0;for(Q0=r-32,N0=r-12;Q0<N0;++Q0)i[Q0]+=u-16*i[r]*k6[Q0-(r-32)],u=Math.floor((i[Q0]+128)/256),i[Q0]-=u*256;i[Q0]+=u,i[r]=0}u=0;for(Q0=0;Q0<32;Q0++)i[Q0]+=u-(i[31]>>4)*k6[Q0],u=i[Q0]>>8,i[Q0]&=255;for(Q0=0;Q0<32;Q0++)i[Q0]-=u*k6[Q0];for(r=0;r<32;r++)i[r+1]+=i[r]>>8,h[r]=i[r]&255}function Q4(h){var i=new Float64Array(64),u;for(u=0;u<64;u++)i[u]=h[u];for(u=0;u<64;u++)h[u]=0;S6(h,i)}function _8(h,i,u,r){var Q0=new Uint8Array(64),N0=new Uint8Array(64),v0=new Uint8Array(64),m0,R0,V0=new Float64Array(64),T0=[G(),G(),G(),G()];M6(Q0,r,32),Q0[0]&=248,Q0[31]&=127,Q0[31]|=64;var y0=u+64;for(m0=0;m0<u;m0++)h[64+m0]=i[m0];for(m0=0;m0<32;m0++)h[32+m0]=Q0[32+m0];M6(v0,h.subarray(32),u+32),Q4(v0),RZ(T0,v0),R9(h,T0);for(m0=32;m0<64;m0++)h[m0]=r[m0];M6(N0,h,u+64),Q4(N0);for(m0=0;m0<64;m0++)V0[m0]=0;for(m0=0;m0<32;m0++)V0[m0]=v0[m0];for(m0=0;m0<32;m0++)for(R0=0;R0<32;R0++)V0[m0+R0]+=N0[m0]*Q0[R0];return S6(h.subarray(32),V0),y0}function H6(h,i){var u=G(),r=G(),Q0=G(),N0=G(),v0=G(),m0=G(),R0=G();if(E0(h[2],W),F0(h[1],i),G0(Q0,h[1]),K0(N0,Q0,N),P0(Q0,Q0,h[2]),S0(N0,h[2],N0),G0(v0,N0),G0(m0,v0),K0(R0,m0,v0),K0(u,R0,Q0),K0(u,u,N0),C0(u,u),K0(u,u,Q0),K0(u,u,N0),K0(u,u,N0),K0(h[0],u,N0),G0(r,h[0]),K0(r,r,N0),l0(r,Q0))K0(h[0],h[0],w);if(G0(r,h[0]),K0(r,r,N0),l0(r,Q0))return-1;if(s0(h[0])===i[31]>>7)P0(h[0],J,h[0]);return K0(h[3],h[0],h[1]),0}function RX(h,i,u,r){var Q0,N0=new Uint8Array(32),v0=new Uint8Array(64),m0=[G(),G(),G(),G()],R0=[G(),G(),G(),G()];if(u<64)return-1;if(H6(R0,r))return-1;for(Q0=0;Q0<u;Q0++)h[Q0]=i[Q0];for(Q0=0;Q0<32;Q0++)h[Q0+32]=r[Q0];if(M6(v0,h,u),Q4(v0),JZ(m0,R0,v0),RZ(R0,i.subarray(32)),f4(m0,R0),R9(N0,m0),u-=64,P(i,0,N0,0)){for(Q0=0;Q0<u;Q0++)h[Q0]=0;return-1}for(Q0=0;Q0<u;Q0++)h[Q0]=i[Q0+64];return u}var C8=32,i4=24,e4=32,r6=16,G9=32,V=32,l=32,c=32,R=32,t=i4,_0=e4,d0=r6,K1=64,H1=32,g1=64,v1=32,J6=64;Z.lowlevel={crypto_core_hsalsa20:M,crypto_stream_xor:e,crypto_stream:x,crypto_stream_salsa20_xor:m,crypto_stream_salsa20:v,crypto_onetimeauth:L0,crypto_onetimeauth_verify:W0,crypto_verify_16:A,crypto_verify_32:P,crypto_secretbox:$0,crypto_secretbox_open:a,crypto_scalarmult:n,crypto_scalarmult_base:X0,crypto_box_beforenm:q0,crypto_box_afternm:M0,crypto_box:H0,crypto_box_open:x0,crypto_box_keypair:t0,crypto_hash:M6,crypto_sign:_8,crypto_sign_keypair:_1,crypto_sign_open:RX,crypto_secretbox_KEYBYTES:C8,crypto_secretbox_NONCEBYTES:i4,crypto_secretbox_ZEROBYTES:e4,crypto_secretbox_BOXZEROBYTES:r6,crypto_scalarmult_BYTES:G9,crypto_scalarmult_SCALARBYTES:V,crypto_box_PUBLICKEYBYTES:l,crypto_box_SECRETKEYBYTES:c,crypto_box_BEFORENMBYTES:R,crypto_box_NONCEBYTES:t,crypto_box_ZEROBYTES:_0,crypto_box_BOXZEROBYTES:d0,crypto_sign_BYTES:K1,crypto_sign_PUBLICKEYBYTES:H1,crypto_sign_SECRETKEYBYTES:g1,crypto_sign_SEEDBYTES:v1,crypto_hash_BYTES:J6,gf:G,D:N,L:k6,pack25519:i0,unpack25519:F0,M:K0,A:S0,S:G0,Z:P0,pow2523:C0,add:f4,set25519:E0,modL:S6,scalarmult:JZ,scalarbase:RZ};function c1(h,i){if(h.length!==C8)throw Error("bad key size");if(i.length!==i4)throw Error("bad nonce size")}function A8(h,i){if(h.length!==l)throw Error("bad public key size");if(i.length!==c)throw Error("bad secret key size")}function Q8(){for(var h=0;h<arguments.length;h++)if(!(arguments[h]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function h8(h){for(var i=0;i<h.length;i++)h[i]=0}Z.randomBytes=function(h){var i=new Uint8Array(h);return Y(i,h),i},Z.secretbox=function(h,i,u){Q8(h,i,u),c1(u,i);var r=new Uint8Array(e4+h.length),Q0=new Uint8Array(r.length);for(var N0=0;N0<h.length;N0++)r[N0+e4]=h[N0];return $0(Q0,r,r.length,i,u),Q0.subarray(r6)},Z.secretbox.open=function(h,i,u){Q8(h,i,u),c1(u,i);var r=new Uint8Array(r6+h.length),Q0=new Uint8Array(r.length);for(var N0=0;N0<h.length;N0++)r[N0+r6]=h[N0];if(r.length<32)return null;if(a(Q0,r,r.length,i,u)!==0)return null;return Q0.subarray(e4)},Z.secretbox.keyLength=C8,Z.secretbox.nonceLength=i4,Z.secretbox.overheadLength=r6,Z.scalarMult=function(h,i){if(Q8(h,i),h.length!==V)throw Error("bad n size");if(i.length!==G9)throw Error("bad p size");var u=new Uint8Array(G9);return n(u,h,i),u},Z.scalarMult.base=function(h){if(Q8(h),h.length!==V)throw Error("bad n size");var i=new Uint8Array(G9);return X0(i,h),i},Z.scalarMult.scalarLength=V,Z.scalarMult.groupElementLength=G9,Z.box=function(h,i,u,r){var Q0=Z.box.before(u,r);return Z.secretbox(h,i,Q0)},Z.box.before=function(h,i){Q8(h,i),A8(h,i);var u=new Uint8Array(R);return q0(u,h,i),u},Z.box.after=Z.secretbox,Z.box.open=function(h,i,u,r){var Q0=Z.box.before(u,r);return Z.secretbox.open(h,i,Q0)},Z.box.open.after=Z.secretbox.open,Z.box.keyPair=function(){var h=new Uint8Array(l),i=new Uint8Array(c);return t0(h,i),{publicKey:h,secretKey:i}},Z.box.keyPair.fromSecretKey=function(h){if(Q8(h),h.length!==c)throw Error("bad secret key size");var i=new Uint8Array(l);return X0(i,h),{publicKey:i,secretKey:new Uint8Array(h)}},Z.box.publicKeyLength=l,Z.box.secretKeyLength=c,Z.box.sharedKeyLength=R,Z.box.nonceLength=t,Z.box.overheadLength=Z.secretbox.overheadLength,Z.sign=function(h,i){if(Q8(h,i),i.length!==g1)throw Error("bad secret key size");var u=new Uint8Array(K1+h.length);return _8(u,h,h.length,i),u},Z.sign.open=function(h,i){if(Q8(h,i),i.length!==H1)throw Error("bad public key size");var u=new Uint8Array(h.length),r=RX(u,h,h.length,i);if(r<0)return null;var Q0=new Uint8Array(r);for(var N0=0;N0<Q0.length;N0++)Q0[N0]=u[N0];return Q0},Z.sign.detached=function(h,i){var u=Z.sign(h,i),r=new Uint8Array(K1);for(var Q0=0;Q0<r.length;Q0++)r[Q0]=u[Q0];return r},Z.sign.detached.verify=function(h,i,u){if(Q8(h,i,u),i.length!==K1)throw Error("bad signature size");if(u.length!==H1)throw Error("bad public key size");var r=new Uint8Array(K1+h.length),Q0=new Uint8Array(K1+h.length),N0;for(N0=0;N0<K1;N0++)r[N0]=i[N0];for(N0=0;N0<h.length;N0++)r[N0+K1]=h[N0];return RX(Q0,r,r.length,u)>=0},Z.sign.keyPair=function(){var h=new Uint8Array(H1),i=new Uint8Array(g1);return _1(h,i),{publicKey:h,secretKey:i}},Z.sign.keyPair.fromSecretKey=function(h){if(Q8(h),h.length!==g1)throw Error("bad secret key size");var i=new Uint8Array(H1);for(var u=0;u<i.length;u++)i[u]=h[32+u];return{publicKey:i,secretKey:new Uint8Array(h)}},Z.sign.keyPair.fromSeed=function(h){if(Q8(h),h.length!==v1)throw Error("bad seed size");var i=new Uint8Array(H1),u=new Uint8Array(g1);for(var r=0;r<32;r++)u[r]=h[r];return _1(i,u,!0),{publicKey:i,secretKey:u}},Z.sign.publicKeyLength=H1,Z.sign.secretKeyLength=g1,Z.sign.seedLength=v1,Z.sign.signatureLength=K1,Z.hash=function(h){Q8(h);var i=new Uint8Array(J6);return M6(i,h,h.length),i},Z.hash.hashLength=J6,Z.verify=function(h,i){if(Q8(h,i),h.length===0||i.length===0)return!1;if(h.length!==i.length)return!1;return j(h,0,i,0,h.length)===0?!0:!1},Z.setPRNG=function(h){Y=h},function(){var h=typeof globalThis<"u"?globalThis.crypto||globalThis.msCrypto:null;if(h&&h.getRandomValues){var i=65536;Z.setPRNG(function(u,r){var Q0,N0=new Uint8Array(r);for(Q0=0;Q0<r;Q0+=i)h.getRandomValues(N0.subarray(Q0,Q0+Math.min(r-Q0,i)));for(Q0=0;Q0<r;Q0++)u[Q0]=N0[Q0];h8(N0)})}else if(h=c0("crypto"),h&&h.randomBytes)Z.setPRNG(function(u,r){var Q0,N0=h.randomBytes(r);for(Q0=0;Q0<r;Q0++)u[Q0]=N0[Q0];h8(N0)})}()})(typeof Kh<"u"&&d$7?d$7:globalThis.nacl=globalThis.nacl||{});oC=typeof Kh<"u"&&d$7?d$7:globalThis.nacl,A75={fromSeed:oC.sign.keyPair.fromSeed,sign:oC.sign.detached,verify:oC.sign.detached.verify,randomBytes:oC.randomBytes,scalarBaseMultiply:oC.scalarMult.base,seal:oC.box,open:oC.box.open};T75=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]);d8=class d8 extends Error{name;code;chainedError;constructor(Z,X){super(Z);this.name="NKeysError",this.code=Z,this.chainedError=X}};(function(Z){Z.InvalidPrefixByte="nkeys: invalid prefix byte",Z.InvalidKey="nkeys: invalid key",Z.InvalidPublicKey="nkeys: invalid public key",Z.InvalidSeedLen="nkeys: invalid seed length",Z.InvalidSeed="nkeys: invalid seed",Z.InvalidCurveSeed="nkeys: invalid curve seed",Z.InvalidCurveKey="nkeys: not a valid curve key",Z.InvalidCurveOperation="nkeys: curve key is not valid for sign/verify",Z.InvalidNKeyOperation="keys: only curve key can seal/open",Z.InvalidEncoding="nkeys: invalid encoded key",Z.InvalidRecipient="nkeys: not a valid recipient public curve key",Z.InvalidEncrypted="nkeys: encrypted input is not valid",Z.CannotSign="nkeys: cannot sign, no private key available",Z.PublicKeyOnly="nkeys: no seed or private key available",Z.InvalidChecksum="nkeys: invalid checksum",Z.SerializationError="nkeys: serialization error",Z.ApiError="nkeys: api error",Z.ClearedPair="nkeys: pair is cleared"})(l8||(l8={}));(function(Z){Z[Z.Unknown=-1]="Unknown",Z[Z.Seed=144]="Seed",Z[Z.Private=120]="Private",Z[Z.Operator=112]="Operator",Z[Z.Server=104]="Server",Z[Z.Cluster=16]="Cluster",Z[Z.Account=0]="Account",Z[Z.User=160]="User",Z[Z.Curve=184]="Curve"})(Y4||(Y4={}));rC=[120,107,118,49];P75(A75);(function(Z){Z.v1="ed25519",Z.v2="ed25519-nkey"})(mJ||(mJ={}))});function p41(Z){try{Z?.clear?.()}catch{}}async function gv8({accountJwt:Z,accountSigningKey:X,expiresAt:G,permissions:Y,userId:Q,allowedConnectionTypes:$=["WEBSOCKET"]}){let J=xv8(Z),W=i41(J.sub),K=n41(new TextEncoder().encode(X)),N=Cv8();try{let F=await vv8(Q,N,W,{pub:{allow:Y.publish.allow},sub:{allow:Y.subscribe.allow},allowed_connection_types:$},{algorithm:mJ.v2,exp:Math.floor(G.getTime()/1000),signer:K});return new TextDecoder().decode(_v8(F,N))}finally{p41(N),p41(K),p41(W)}}var hv8=B(()=>{yv8()});function v75(Z){return/^wss?:\/\//i.test(Z.trim())?["WEBSOCKET"]:["STANDARD","WEBSOCKET"]}function uv8(){let Z=new C1;return Z.post("/links/session",async(X)=>{let Y=X.get("studioContext").auth?.user?.id;if(!Y)return X.json({error:"Unauthorized"},401);let Q=J1();if(!Q.natsTunnelPublicEnabled)return X.json(t41(),503);if(!Q.natsPublicUrl)return X.json(t41(),503);if(!Q.natsAccountJwt||!Q.natsAccountSigningKey){if(!Q.localMode)return X.json(t41(),503)}let $=dJ(Y),J;if(Q.natsAccountJwt&&Q.natsAccountSigningKey){let W=new Date(Date.now()+Q.natsTunnelSessionTtlSeconds*1000);J=await gv8({accountJwt:Q.natsAccountJwt,accountSigningKey:Q.natsAccountSigningKey,expiresAt:W,permissions:qv8($),userId:Y,allowedConnectionTypes:v75(Q.natsPublicUrl)})}return X.json(Mv8({publicUrl:Q.natsPublicUrl,userId:Y,ttlSeconds:Q.natsTunnelSessionTtlSeconds,credentials:J}))}),Z}var t41=()=>({error:"link session unavailable"});var cv8=B(()=>{s6();b8();kv8();hv8()});function _75(Z){return Z.filter((X)=>X.vendors?.alias).map((X)=>({name:X.name,title:X.title,description:X.description,logo:X.logo,category:X.category,vendor:{alias:X.vendors.alias,url:X.vendors.url}}))}async function y75(Z,X){let G=await fetch(`${Z}/rest/v1/apps?select=name,title,description,logo,category,vendors(alias,url)`,{headers:{apikey:X,Authorization:`Bearer ${X}`,Accept:"application/json"},signal:AbortSignal.timeout(x75)});if(!G.ok){let Y=await G.text().catch(()=>G.statusText);throw console.error(`[deco-apps] Supabase error (${G.status}): ${Y.slice(0,200)}`),Error(`External service error (${G.status})`)}return await G.json()}var x75=1e4,g75=async(Z,X)=>{if(!Z.get("studioContext").auth.user?.id)return Z.json({error:"Unauthorized"},401);return X()},lv8=()=>{let Z=new C1;return Z.use("*",g75),Z.get("/",async(X)=>{let G=J1(),Y=G.decoSupabaseUrl,Q=G.decoSupabaseServiceKey;if(!Y||!Q)return X.json({apps:[]});try{let $=await y75(Y,Q);return X.json({apps:_75($)})}catch($){return console.error("[deco-apps] GET error:",$),X.json({error:"Failed to fetch apps"},502)}}),Z};var dv8=B(()=>{s6();b8()});import{z as h1}from"zod";function gK(Z,X="invalid_request_error",G=null,Y=null){return{error:{message:Z,type:X,param:G,code:Y}}}function t75(Z){if(!Z)return null;let X=Z.indexOf(":");if(X===-1)return{credentialId:null,modelId:Z};let G=Z.substring(0,X),Y=Z.substring(X+1);if(!G||!Y)return null;return{credentialId:G,modelId:Y}}function o75(Z,X,G){try{return JSON.parse(Z)}catch{throw new nv8(`Invalid JSON in tool call arguments for function '${G}' (tool_call_id: ${X}): ${Z}`)}}function r75(Z){let X={};for(let G of Z)if(G.role==="assistant"&&G.tool_calls)for(let Y of G.tool_calls)X[Y.id]=Y.function.name;return Z.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((Q)=>{if(Q.type==="text")return{type:"text",text:Q.text};return{type:"image",image:Q.image_url.url}})};case"assistant":if(G.tool_calls&&G.tool_calls.length>0)return{role:"assistant",content:G.tool_calls.map((Q)=>({type:"tool-call",toolCallId:Q.id,toolName:Q.function.name,input:o75(Q.function.arguments,Q.id,Q.function.name)}))};return{role:"assistant",content:G.content??""};case"tool":let Y=X[G.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:G.tool_call_id,toolName:Y,output:{type:"text",value:G.content}}]}}})}function a75(Z){let X=Z.map((G)=>{let Y=G.function.parameters?MQ(G.function.parameters):MQ({type:"object",properties:{}});return[G.function.name,y8({description:G.function.description,inputSchema:Y})]});return Object.fromEntries(X)}function s75(Z){if(!Z)return;return{openai:{response_format:Z}}}function e75(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function mv8(Z,X,G,Y,Q,$){let J={model:Z,messages:X,tools:G,temperature:Y.temperature,maxTokens:Y.max_tokens,topP:Y.top_p,frequencyPenalty:Y.frequency_penalty,presencePenalty:Y.presence_penalty,stopSequences:Y.stop?Array.isArray(Y.stop)?Y.stop:[Y.stop]:void 0,abortSignal:$};return Q?{...J,providerOptions:Q}:J}function iv8(Z){if(Z==="tool-calls")return"tool_calls";if(Z==="length")return"length";return"stop"}var h75=256,u75,c75,l75,d75,m75,i75,n75,p75,nv8,pv8,tv8;var ov8=B(()=>{F4();s6();Jh();u75=h1.object({type:h1.literal("function"),function:h1.object({name:h1.string(),description:h1.string().optional(),parameters:h1.record(h1.string(),h1.unknown()).optional()})}),c75=h1.object({id:h1.string(),type:h1.literal("function"),function:h1.object({name:h1.string(),arguments:h1.string()})}),l75=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(c75).optional()}),h1.object({role:h1.literal("tool"),content:h1.string(),tool_call_id:h1.string()})]),d75=h1.object({type:h1.literal("text")}),m75=h1.object({type:h1.literal("json_object")}),i75=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()})}),n75=h1.union([d75,m75,i75]),p75=h1.object({model:h1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:h1.array(l75),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(u75).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:n75.optional(),user:h1.string().optional()});nv8=class nv8 extends Error{constructor(Z){super(Z);this.name="MessageConversionError"}};pv8=new C1;pv8.post("/:org/v1/chat/completions",async(Z)=>{let X=Z.get("studioContext"),G=Z.req.param("org");try{if(!X.auth.apiKey?.id)return Z.json(gK("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!X.organization)return Z.json(gK("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((X.organization.slug??X.organization.id)!==G)return Z.json(gK("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await Z.req.json(),Q=p75.safeParse(Y);if(!Q.success){let L=Q.error.issues[0]??{message:"Invalid request",path:[]};return Z.json(gK(`Invalid request: ${L.message}`,"invalid_request_error",L.path.length>0?L.path.join("."):null),400)}let $=Q.data,J=t75($.model);if(!J)return Z.json(gK("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 L=await X.storage.aiProviderKeys.list({organizationId:X.organization.id});if(L.length===0)return Z.json(gK("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=L[0].id}let N;try{N=await X.aiProviders.activate(W,X.organization.id)}catch{return Z.json(gK(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=N.aiSdk.languageModel(K),U=r75($.messages),H=$.tools?a75($.tools):void 0,w=s75($.response_format),O=e75(),D=Math.floor(Date.now()/1000);if($.stream)return QU(Z,async(L)=>{let E=mv8(F,U,H,$,w,Z.req.raw.signal);try{let z=d3(E),j=!1,A=0,P="",q=async()=>{if(P.length===0)return;let S=P;P="",await L.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:D,model:$.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 L.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:D,model:$.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),j=!0;if(S.type==="text-delta"){if(P+=S.text,P.length>=h75)await q()}else if(S.type==="tool-call"){await q();let M=A++;await L.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:D,model:$.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 L.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:D,model:$.model,choices:[{index:0,delta:{},finish_reason:iv8(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 L.writeSSE({data:"[DONE]"})}catch(z){let j=z;console.error("[openai-compat:stream] Error:",j.message),await L.writeSSE({data:JSON.stringify({error:{message:j.message,type:"server_error"}})})}});else{let L=mv8(F,U,H,$,w,Z.req.raw.signal),E=await uw(L),z={role:"assistant",content:E.text||null};if(E.toolCalls&&E.toolCalls.length>0)z.tool_calls=E.toolCalls.map((j)=>({id:j.toolCallId,type:"function",function:{name:j.toolName,arguments:JSON.stringify("input"in j?j.input:{})}})),z.content=null;return Z.json({id:O,object:"chat.completion",created:D,model:$.model,choices:[{index:0,message:z,finish_reason:iv8(E.finishReason)}],usage:{prompt_tokens:E.usage?.inputTokens??0,completion_tokens:E.usage?.outputTokens??0,total_tokens:E.usage?.totalTokens??0}})}}catch(Y){let Q=Y;if(Q.name==="AbortError")return Z.json(gK("Request aborted","invalid_request_error"),400);if(Q.name==="MessageConversionError")return Z.json(gK(Q.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Q.message,Q.stack),Z.json(gK(Q.message,"server_error"),500)}});tv8=pv8});var av8;var rv8=B(()=>{av8={name:"decocms",version:"4.158.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/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","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 src","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 --cwd=../.. build:studio"},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","@inkjs/ui":"^2.0.0","@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","@resvg/resvg-js":"^2.6.2","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6",satori:"^0.28.2"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@decocms/tunnel":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.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","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",vite:"^7.2.1",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});function GX5(){let Z=process.env.POSTHOG_KEY;if(!Z)return null;return{key:Z,host:process.env.POSTHOG_HOST??XX5}}var sv8,XX5="https://ph.studio.decocms.com",ev8;var Zx8=B(()=>{s6();if0();EO();rZ();b8();i11();rv8();sv8=new C1;sv8.get("/",(Z)=>{let X={version:av8.version,theme:uS1(),...wD().logo&&{logo:wD().logo},...t3()&&{internalUrl:L10()},...J1().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!J1().firecrawlApiKey,auth:DM8(),posthog:GX5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:!t3()&&J1().sandboxProviderKind==="agent-sandbox"}};return Z.header("Cache-Control","no-store"),Z.json({success:!0,config:X})});ev8=sv8});function Nh(Z){let X=(Z??"").trim().toLowerCase();return X=X.replace(/^https?:\/\//,""),X=X.replace(/^www\./,""),X=X.split(/[/?#]/)[0]??"",X.replace(/\/+$/,"")}function o41(Z){return(Nh(Z).split(".")[0]||Z).replace(/[-_]/g," ").split(" ").filter(Boolean).map((G)=>G.charAt(0).toUpperCase()+G.slice(1)).join(" ")}function r41(Z,X=64){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(Nh(Z))}&sz=${X}`}function Xx8(Z,X){let G=Z.trim();if(G.length<=X)return G;let Y=G.slice(0,X-1),Q=Y.lastIndexOf(" ");return`${(Q>X*0.6?Y.slice(0,Q):Y).trimEnd()}\u2026`}function Gx8(Z){let{brand:X,domain:G,score:Y,verdict:Q}=Z,$=typeof Y==="number"?`${X} commerce report \u2014 ${Math.round(Y)}/100 \xB7 decocms`:`${X} commerce report \xB7 decocms`,J=`See the full ${X} scorecard \u2014 SEO, performance, conversion & AEO signals scored by decocms.`,W=Q?.trim()?Xx8(`${Q.trim().replace(/\s+/g," ")} \u2014 ${J}`,200):Xx8(`How does ${G} really perform? ${J}`,200);return{title:$,description:W}}import{z as $1}from"zod";var sC,YX5,QX5,$X5,JX5,Yx8;var Qx8=B(()=>{sC=$1.enum(["good","bad","neutral"]),YX5=$1.preprocess((Z)=>{if(Array.isArray(Z))return{kind:"text",value:Z.find((G)=>G!==null&&typeof G!=="object")??""};return Z!==null&&typeof Z==="object"?Z:{kind:"text",value:Z}},$1.object({kind:$1.enum(["text","number","sparkline","badge","score"]).catch("text"),value:$1.coerce.string().optional(),tone:sC.optional(),muted:$1.boolean().optional(),delta:$1.coerce.string().optional(),deltaDir:$1.enum(["up","down","neutral"]).optional(),points:$1.array($1.coerce.number()).optional(),label:$1.coerce.string().optional()}).transform((Z)=>{if(Z.kind==="badge"&&Z.label==null)Z.label=Z.value??"";if(Z.kind==="score"){let X=Number(Z.value);if(Number.isNaN(X))return{...Z,kind:"text"}}return Z})),QX5=$1.preprocess((Z)=>{let X=Z;if(X&&typeof X==="object"&&!Array.isArray(X)&&Array.isArray(X.cells))X=X.cells;if(Array.isArray(X)&&X.length===1&&Array.isArray(X[0]))X=X[0];if(Array.isArray(X))return X;if(X&&typeof X==="object")return Object.values(X);return X},$1.array(YX5)),$X5={key:$1.coerce.string(),title:$1.coerce.string(),eyebrow:$1.coerce.string().optional(),headline:$1.coerce.string(),annotation:$1.coerce.string().optional(),methodology:$1.coerce.string().optional(),sources:$1.array($1.object({name:$1.coerce.string(),logoUrl:$1.coerce.string()})).optional()},JX5=$1.discriminatedUnion("template",[$1.object({template:$1.literal("cover"),score:$1.object({value:$1.coerce.number(),max:$1.coerce.number().optional(),grade:$1.coerce.string().optional(),label:$1.coerce.string().optional()}).optional(),brandImage:$1.coerce.string().optional(),screenshot:$1.coerce.string().optional(),mobileScreenshot:$1.coerce.string().optional()}),$1.object({template:$1.literal("cta"),ctaUrl:$1.coerce.string().optional(),ctaLabel:$1.coerce.string().optional(),bullets:$1.array($1.coerce.string()).optional()}),$1.object({template:$1.literal("series"),points:$1.array($1.coerce.number()).min(2),xLabels:$1.array($1.coerce.string()).min(1),unit:$1.coerce.string().optional(),callout:$1.object({index:$1.coerce.number(),value:$1.coerce.string(),tone:sC.optional()})}),$1.object({template:$1.literal("threshold"),value:$1.coerce.string().default(""),metricLabel:$1.coerce.string().optional(),ratio:$1.coerce.number(),thresholdRatio:$1.coerce.number().optional(),thresholdLabel:$1.coerce.string().default(""),tone:sC.optional()}),$1.object({template:$1.literal("stats"),stats:$1.array($1.object({value:$1.coerce.string(),label:$1.coerce.string(),tone:sC.optional()})).min(1)}),$1.object({template:$1.literal("bars"),items:$1.array($1.object({value:$1.coerce.string(),label:$1.coerce.string(),ratio:$1.coerce.number(),tone:sC.optional()})).min(1)}),$1.object({template:$1.literal("gauges"),gauges:$1.array($1.object({label:$1.coerce.string(),value:$1.coerce.string(),status:$1.enum(["good","warn","bad"]).catch("warn"),caption:$1.coerce.string().optional(),ratio:$1.coerce.number().optional()})).min(1)}),$1.object({template:$1.literal("checklist"),checks:$1.array($1.object({label:$1.coerce.string(),status:$1.enum(["pass","fail","warn"]).catch("fail"),value:$1.coerce.string().optional()})).min(1)}),$1.object({template:$1.literal("table"),columns:$1.array($1.object({label:$1.coerce.string(),align:$1.enum(["left","right"]).optional()})).min(1),rows:$1.array(QX5).min(1),highlightRow:$1.coerce.number().optional()}),$1.object({template:$1.literal("products"),products:$1.array($1.object({name:$1.coerce.string(),price:$1.coerce.string().optional(),image:$1.coerce.string().optional(),url:$1.coerce.string().optional()})).min(1)}),$1.object({template:$1.literal("list"),entries:$1.array($1.object({label:$1.coerce.string(),severity:$1.enum(["error","warning","notice"]).catch("notice")})).min(1),moreCount:$1.coerce.number().optional()}),$1.object({template:$1.literal("keywords"),volumeLabel:$1.coerce.string().optional(),keywords:$1.array($1.object({term:$1.coerce.string(),volume:$1.coerce.string(),position:$1.coerce.number().catch(0)})).min(1)}),$1.object({template:$1.literal("competitor"),metricLabel:$1.coerce.string().optional(),competitors:$1.array($1.object({name:$1.coerce.string(),value:$1.coerce.string(),tone:sC.optional(),isYou:$1.boolean().optional()})).min(1)}),$1.object({template:$1.literal("scorecard"),rivalLabel:$1.coerce.string().optional(),dimensions:$1.array($1.object({label:$1.coerce.string(),you:$1.coerce.string(),rival:$1.coerce.string().optional(),rivalName:$1.coerce.string().optional(),tone:sC.optional()})).min(1)})]),Yx8=$1.object({...$X5,template:JX5})});function Yj0(Z){let X=[],G=[...Z.sections].sort((Y,Q)=>Y.position-Q.position).map((Y)=>{let Q=Yx8.safeParse(Y.props);if(Q.success)return Q.data;let $=Q.error.issues[0];return X.push({section_type:Y.section_type,position:Y.position,reason:$?`${$.path.join(".")||"(root)"}: ${$.message}`:"contract violation"}),null}).filter((Y)=>Y!==null);return{deck:{meta:{...Z.meta,scores:Z.summary?.scores},slides:G},drops:X}}var a41=B(()=>{Qx8()});function s41(Z){return Buffer.from(Z,"base64")}var $x8;var Jx8=B(()=>{$x8=[{name:"Inter",data:s41("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"),weight:400,style:"normal"},{name:"Inter",data:s41("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"),weight:600,style:"normal"},{name:"Inter",data:s41("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"),weight:700,style:"normal"}]});import WX5 from"satori";import{Resvg as KX5}from"@resvg/resvg-js";async function FX5(Z){try{let X=await fetch(Z,{signal:AbortSignal.timeout(1500)});if(!X.ok)return null;let G=X.headers.get("content-type")||"image/png";if(!G.startsWith("image/"))return null;let Y=Buffer.from(await X.arrayBuffer()).toString("base64");return`data:${G};base64,${Y}`}catch{return null}}async function Nx8(Z){let X=Z.faviconUrl?await FX5(Z.faviconUrl):null,G=X?TX("div",{width:84,height:84,flexShrink:0,borderRadius:20,backgroundColor:Kx8,display:"flex",alignItems:"center",justifyContent:"center"},TX("img",{},null,{src:X,width:56,height:56})):TX("div",{width:84,height:84,flexShrink:0,borderRadius:20,backgroundColor:Qj0,color:Z51,fontSize:44,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center"},(Z.initial||Z.domain.charAt(0)||"?").toUpperCase()),Y=TX("div",{width:e41,height:Wx8,display:"flex",flexDirection:"column",justifyContent:"space-between",padding:"72px 80px",backgroundColor:Z51,color:Kx8,fontFamily:"Inter"},[TX("div",{display:"flex",alignItems:"center",gap:22},[G,TX("div",{display:"flex",flexDirection:"column"},[TX("div",{fontSize:24,color:Qj0,fontWeight:600,marginBottom:4},"Commerce report"),TX("div",{fontSize:46,fontWeight:600,letterSpacing:"-0.02em"},Z.domain)])]),TX("div",{display:"flex",alignItems:"flex-end",gap:28},[TX("div",{fontSize:220,fontWeight:700,color:Qj0,lineHeight:0.82,letterSpacing:"-0.05em"},String(Math.round(Z.score))),TX("div",{fontSize:60,fontWeight:400,color:"rgba(244,251,230,0.55)",paddingBottom:30},"/100"),TX("div",{fontSize:30,fontWeight:400,color:"rgba(244,251,230,0.82)",paddingBottom:40},"Commerce health score")]),TX("div",{display:"flex",alignItems:"center",gap:14},[TX("div",{width:44,height:44,borderRadius:11,backgroundColor:Qj0,display:"flex",alignItems:"center",justifyContent:"center"},TX("svg",{},TX("path",{},null,{d:NX5,fill:Z51}),{width:30,height:30,viewBox:"0 0 200 200"})),TX("div",{fontSize:26,fontWeight:700},"decocms")])]),Q=await WX5(Y,{width:e41,height:Wx8,fonts:$x8}),$=new KX5(Q,{fitTo:{mode:"width",value:e41}}).render().asPng();return Uint8Array.from($)}var e41=1200,Wx8=630,Z51="#07401a",Qj0="#d0ec1a",Kx8="#f4fbe6",NX5="M79.8641 145.438C97.4676 145.438 107.196 137.562 118.777 113.01C125.263 99.5758 130.358 86.1415 136.381 73.1705L143.793 75.4867C145.646 75.95 147.035 75.0235 146.109 73.1705L136.844 55.1037C136.381 53.714 134.528 53.714 133.601 54.1772L111.365 62.5157C109.512 62.979 109.512 64.832 111.365 65.2952L117.851 67.6115C112.292 79.656 105.806 98.186 100.247 109.767C94.2249 122.738 91.4454 131.54 80.7906 131.54C70.1359 131.54 68.7461 123.665 73.3786 112.084C78.4744 98.6493 86.8129 94.9433 96.0779 97.7228C98.8574 94.0168 100.71 88.4578 101.637 83.362C98.8574 82.4355 95.6146 82.4355 92.8351 82.4355C77.5479 82.4355 62.2606 90.3108 55.7751 106.988C48.8263 128.761 56.2383 145.438 79.8641 145.438Z",TX=(Z,X,G,Y={})=>({type:Z,props:{...Y,style:X,children:G}});var Fx8=B(()=>{Jx8()});import{join as Ux8}from"path";async function Hx8(Z){try{let X=await fetch(`${f$({})}/api/v2/public/diagnostics/${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"},signal:AbortSignal.timeout(UX5)});if(!X.ok)return null;let G=await X.json(),{deck:Y}=Yj0(G);if(!Y.slides.length)return null;let Q=Y.slides.find((W)=>W.template.template==="cover"),$=Q?.template,J=$&&$.template==="cover"?$:void 0;return{brand:Y.meta.brand?.trim()||o41(Z),score:Y.meta.scores?.cover??J?.score?.value,verdict:Q?.annotation?.trim()||Q?.headline?.trim()||void 0}}catch{return null}}function Z3(Z){return Z.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function HX5(Z,X){let G=Nh(Z),Y=X?.brand?.trim()||o41(G),Q=r41(G,128),J=`${(J1().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(G)}`,{title:W,description:K}=Gx8({brand:Y,domain:G,score:X?.score,verdict:X?.verdict}),N=`${J}/og.png`,F=`${Y} commerce report by decocms`;return[`<title>${Z3(W)}</title>`,`<meta name="description" content="${Z3(K)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${Z3(W)}" />`,`<meta property="og:description" content="${Z3(K)}" />`,`<meta property="og:url" content="${Z3(J)}" />`,`<meta property="og:image" content="${Z3(N)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${Z3(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${Z3(W)}" />`,`<meta name="twitter:description" content="${Z3(K)}" />`,`<meta name="twitter:image" content="${Z3(N)}" />`,`<meta name="twitter:image:alt" content="${Z3(F)}" />`,`<link rel="canonical" href="${Z3(J)}" />`,`<link rel="icon" href="${Z3(Q)}" sizes="any" />`].join(`
|
|
2774
|
+
`;return new TextEncoder().encode(Y)}var l41,oC,A75,Vv8,c41="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",T75,d8,l8,Y4,Sv8=24,rC,mJ;var yv8=B(()=>{(function(Z){Z.Operator="operator",Z.Account="account",Z.User="user",Z.Activation="activation",Z.AuthorizationResponse="authorization_response"})(l41||(l41={}));(function(Z){var X=function(h,i){this.hi=h|0,this.lo=i|0},G=function(h){var i,u=new Float64Array(16);if(h)for(i=0;i<h.length;i++)u[i]=h[i];return u},Y=function(){throw Error("no PRNG")},Q=new Uint8Array(16),$=new Uint8Array(32);$[0]=9;var J=G(),W=G([1]),K=G([56129,1]),N=G([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),F=G([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),U=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]),w=G([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function O(h,i){return h<<i|h>>>32-i}function D(h,i){var u=h[i+3]&255;return u=u<<8|h[i+2]&255,u=u<<8|h[i+1]&255,u<<8|h[i+0]&255}function L(h,i){var u=h[i]<<24|h[i+1]<<16|h[i+2]<<8|h[i+3],r=h[i+4]<<24|h[i+5]<<16|h[i+6]<<8|h[i+7];return new X(u,r)}function E(h,i,u){var r;for(r=0;r<4;r++)h[i+r]=u&255,u>>>=8}function z(h,i,u){h[i]=u.hi>>24&255,h[i+1]=u.hi>>16&255,h[i+2]=u.hi>>8&255,h[i+3]=u.hi&255,h[i+4]=u.lo>>24&255,h[i+5]=u.lo>>16&255,h[i+6]=u.lo>>8&255,h[i+7]=u.lo&255}function j(h,i,u,r,Q0){var N0,v0=0;for(N0=0;N0<Q0;N0++)v0|=h[i+N0]^u[r+N0];return(1&v0-1>>>8)-1}function A(h,i,u,r){return j(h,i,u,r,16)}function P(h,i,u,r){return j(h,i,u,r,32)}function q(h,i,u,r,Q0){var N0=new Uint32Array(16),v0=new Uint32Array(16),m0=new Uint32Array(16),R0=new Uint32Array(4),V0,T0,y0;for(V0=0;V0<4;V0++)v0[5*V0]=D(r,4*V0),v0[1+V0]=D(u,4*V0),v0[6+V0]=D(i,4*V0),v0[11+V0]=D(u,16+4*V0);for(V0=0;V0<16;V0++)m0[V0]=v0[V0];for(V0=0;V0<20;V0++){for(T0=0;T0<4;T0++){for(y0=0;y0<4;y0++)R0[y0]=v0[(5*T0+4*y0)%16];R0[1]^=O(R0[0]+R0[3]|0,7),R0[2]^=O(R0[1]+R0[0]|0,9),R0[3]^=O(R0[2]+R0[1]|0,13),R0[0]^=O(R0[3]+R0[2]|0,18);for(y0=0;y0<4;y0++)N0[4*T0+(T0+y0)%4]=R0[y0]}for(y0=0;y0<16;y0++)v0[y0]=N0[y0]}if(Q0){for(V0=0;V0<16;V0++)v0[V0]=v0[V0]+m0[V0]|0;for(V0=0;V0<4;V0++)v0[5*V0]=v0[5*V0]-D(r,4*V0)|0,v0[6+V0]=v0[6+V0]-D(i,4*V0)|0;for(V0=0;V0<4;V0++)E(h,4*V0,v0[5*V0]),E(h,16+4*V0,v0[6+V0])}else for(V0=0;V0<16;V0++)E(h,4*V0,v0[V0]+m0[V0]|0)}function S(h,i,u,r){return q(h,i,u,r,!1),0}function M(h,i,u,r){return q(h,i,u,r,!0),0}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function m(h,i,u,r,Q0,N0,v0){var m0=new Uint8Array(16),R0=new Uint8Array(64),V0,T0;if(!Q0)return 0;for(T0=0;T0<16;T0++)m0[T0]=0;for(T0=0;T0<8;T0++)m0[T0]=N0[T0];while(Q0>=64){S(R0,m0,v0,C);for(T0=0;T0<64;T0++)h[i+T0]=(u?u[r+T0]:0)^R0[T0];V0=1;for(T0=8;T0<16;T0++)V0=V0+(m0[T0]&255)|0,m0[T0]=V0&255,V0>>>=8;if(Q0-=64,i+=64,u)r+=64}if(Q0>0){S(R0,m0,v0,C);for(T0=0;T0<Q0;T0++)h[i+T0]=(u?u[r+T0]:0)^R0[T0]}return 0}function v(h,i,u,r,Q0){return m(h,i,null,0,u,r,Q0)}function x(h,i,u,r,Q0){var N0=new Uint8Array(32);return M(N0,r,Q0,C),v(h,i,u,r.subarray(16),N0)}function e(h,i,u,r,Q0,N0,v0){var m0=new Uint8Array(32);return M(m0,N0,v0,C),m(h,i,u,r,Q0,N0.subarray(16),m0)}function o(h,i){var u,r=0;for(u=0;u<17;u++)r=r+(h[u]+i[u]|0)|0,h[u]=r&255,r>>>=8}var w0=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function L0(h,i,u,r,Q0,N0){var v0,m0,R0,V0,T0=new Uint32Array(17),y0=new Uint32Array(17),r0=new Uint32Array(17),G1=new Uint32Array(17),F1=new Uint32Array(17);for(R0=0;R0<17;R0++)y0[R0]=r0[R0]=0;for(R0=0;R0<16;R0++)y0[R0]=N0[R0];y0[3]&=15,y0[4]&=252,y0[7]&=15,y0[8]&=252,y0[11]&=15,y0[12]&=252,y0[15]&=15;while(Q0>0){for(R0=0;R0<17;R0++)G1[R0]=0;for(R0=0;R0<16&&R0<Q0;++R0)G1[R0]=u[r+R0];G1[R0]=1,r+=R0,Q0-=R0,o(r0,G1);for(m0=0;m0<17;m0++){T0[m0]=0;for(R0=0;R0<17;R0++)T0[m0]=T0[m0]+r0[R0]*(R0<=m0?y0[m0-R0]:320*y0[m0+17-R0]|0)|0|0}for(m0=0;m0<17;m0++)r0[m0]=T0[m0];V0=0;for(R0=0;R0<16;R0++)V0=V0+r0[R0]|0,r0[R0]=V0&255,V0>>>=8;V0=V0+r0[16]|0,r0[16]=V0&3,V0=5*(V0>>>2)|0;for(R0=0;R0<16;R0++)V0=V0+r0[R0]|0,r0[R0]=V0&255,V0>>>=8;V0=V0+r0[16]|0,r0[16]=V0}for(R0=0;R0<17;R0++)F1[R0]=r0[R0];o(r0,w0),v0=-(r0[16]>>>7)|0;for(R0=0;R0<17;R0++)r0[R0]^=v0&(F1[R0]^r0[R0]);for(R0=0;R0<16;R0++)G1[R0]=N0[R0+16];G1[16]=0,o(r0,G1);for(R0=0;R0<16;R0++)h[i+R0]=r0[R0];return 0}function W0(h,i,u,r,Q0,N0){var v0=new Uint8Array(16);return L0(v0,0,u,r,Q0,N0),A(h,i,v0,0)}function $0(h,i,u,r,Q0){var N0;if(u<32)return-1;e(h,0,i,0,u,r,Q0),L0(h,16,h,32,u-32,h);for(N0=0;N0<16;N0++)h[N0]=0;return 0}function a(h,i,u,r,Q0){var N0,v0=new Uint8Array(32);if(u<32)return-1;if(x(v0,0,32,r,Q0),W0(i,16,i,32,u-32,v0)!==0)return-1;e(h,0,i,0,u,r,Q0);for(N0=0;N0<32;N0++)h[N0]=0;return 0}function E0(h,i){var u;for(u=0;u<16;u++)h[u]=i[u]|0}function J0(h){var i,u;for(u=0;u<16;u++)h[u]+=65536,i=Math.floor(h[u]/65536),h[(u+1)*(u<15?1:0)]+=i-1+37*(i-1)*(u===15?1:0),h[u]-=i*65536}function f0(h,i,u){var r,Q0=~(u-1);for(var N0=0;N0<16;N0++)r=Q0&(h[N0]^i[N0]),h[N0]^=r,i[N0]^=r}function i0(h,i){var u,r,Q0,N0=G(),v0=G();for(u=0;u<16;u++)v0[u]=i[u];J0(v0),J0(v0),J0(v0);for(r=0;r<2;r++){N0[0]=v0[0]-65517;for(u=1;u<15;u++)N0[u]=v0[u]-65535-(N0[u-1]>>16&1),N0[u-1]&=65535;N0[15]=v0[15]-32767-(N0[14]>>16&1),Q0=N0[15]>>16&1,N0[14]&=65535,f0(v0,N0,1-Q0)}for(u=0;u<16;u++)h[2*u]=v0[u]&255,h[2*u+1]=v0[u]>>8}function l0(h,i){var u=new Uint8Array(32),r=new Uint8Array(32);return i0(u,h),i0(r,i),P(u,0,r,0)}function s0(h){var i=new Uint8Array(32);return i0(i,h),i[0]&1}function F0(h,i){var u;for(u=0;u<16;u++)h[u]=i[2*u]+(i[2*u+1]<<8);h[15]&=32767}function S0(h,i,u){var r;for(r=0;r<16;r++)h[r]=i[r]+u[r]|0}function P0(h,i,u){var r;for(r=0;r<16;r++)h[r]=i[r]-u[r]|0}function K0(h,i,u){var r,Q0,N0=new Float64Array(31);for(r=0;r<31;r++)N0[r]=0;for(r=0;r<16;r++)for(Q0=0;Q0<16;Q0++)N0[r+Q0]+=i[r]*u[Q0];for(r=0;r<15;r++)N0[r]+=38*N0[r+16];for(r=0;r<16;r++)h[r]=N0[r];J0(h),J0(h)}function G0(h,i){K0(h,i,i)}function Y0(h,i){var u=G(),r;for(r=0;r<16;r++)u[r]=i[r];for(r=253;r>=0;r--)if(G0(u,u),r!==2&&r!==4)K0(u,u,i);for(r=0;r<16;r++)h[r]=u[r]}function C0(h,i){var u=G(),r;for(r=0;r<16;r++)u[r]=i[r];for(r=250;r>=0;r--)if(G0(u,u),r!==1)K0(u,u,i);for(r=0;r<16;r++)h[r]=u[r]}function n(h,i,u){var r=new Uint8Array(32),Q0=new Float64Array(80),N0,v0,m0=G(),R0=G(),V0=G(),T0=G(),y0=G(),r0=G();for(v0=0;v0<31;v0++)r[v0]=i[v0];r[31]=i[31]&127|64,r[0]&=248,F0(Q0,u);for(v0=0;v0<16;v0++)R0[v0]=Q0[v0],T0[v0]=m0[v0]=V0[v0]=0;m0[0]=T0[0]=1;for(v0=254;v0>=0;--v0)N0=r[v0>>>3]>>>(v0&7)&1,f0(m0,R0,N0),f0(V0,T0,N0),S0(y0,m0,V0),P0(m0,m0,V0),S0(V0,R0,T0),P0(R0,R0,T0),G0(T0,y0),G0(r0,m0),K0(m0,V0,m0),K0(V0,R0,y0),S0(y0,m0,V0),P0(m0,m0,V0),G0(R0,m0),P0(V0,T0,r0),K0(m0,V0,K),S0(m0,m0,T0),K0(V0,V0,m0),K0(m0,T0,r0),K0(T0,R0,Q0),G0(R0,y0),f0(m0,R0,N0),f0(V0,T0,N0);for(v0=0;v0<16;v0++)Q0[v0+16]=m0[v0],Q0[v0+32]=V0[v0],Q0[v0+48]=R0[v0],Q0[v0+64]=T0[v0];var G1=Q0.subarray(32),F1=Q0.subarray(16);return Y0(G1,G1),K0(F1,F1,G1),i0(h,F1),0}function X0(h,i){return n(h,i,$)}function t0(h,i){return Y(i,32),X0(h,i)}function q0(h,i,u){var r=new Uint8Array(32);return n(r,u,i),M(h,Q,r,C)}var M0=$0,g=a;function H0(h,i,u,r,Q0,N0){var v0=new Uint8Array(32);return q0(v0,Q0,N0),M0(h,i,u,r,v0)}function x0(h,i,u,r,Q0,N0){var v0=new Uint8Array(32);return q0(v0,Q0,N0),g(h,i,u,r,v0)}function Z1(){var h=0,i=0,u=0,r=0,Q0=65535,N0,v0,m0;for(m0=0;m0<arguments.length;m0++)N0=arguments[m0].lo,v0=arguments[m0].hi,h+=N0&Q0,i+=N0>>>16,u+=v0&Q0,r+=v0>>>16;return i+=h>>>16,u+=i>>>16,r+=u>>>16,new X(u&Q0|r<<16,h&Q0|i<<16)}function u0(h,i){return new X(h.hi>>>i,h.lo>>>i|h.hi<<32-i)}function T1(){var h=0,i=0,u;for(u=0;u<arguments.length;u++)h^=arguments[u].lo,i^=arguments[u].hi;return new X(i,h)}function e1(h,i){var u,r,Q0=32-i;if(i<32)u=h.hi>>>i|h.lo<<Q0,r=h.lo>>>i|h.hi<<Q0;else if(i<64)u=h.lo>>>i|h.hi<<Q0,r=h.hi>>>i|h.lo<<Q0;return new X(u,r)}function j4(h,i,u){var r=h.hi&i.hi^~h.hi&u.hi,Q0=h.lo&i.lo^~h.lo&u.lo;return new X(r,Q0)}function $5(h,i,u){var r=h.hi&i.hi^h.hi&u.hi^i.hi&u.hi,Q0=h.lo&i.lo^h.lo&u.lo^i.lo&u.lo;return new X(r,Q0)}function u9(h){return T1(e1(h,28),e1(h,34),e1(h,39))}function Z0(h){return T1(e1(h,14),e1(h,18),e1(h,41))}function N1(h){return T1(e1(h,1),e1(h,8),u0(h,7))}function s8(h){return T1(e1(h,19),e1(h,61),u0(h,6))}var e8=[new X(1116352408,3609767458),new X(1899447441,602891725),new X(3049323471,3964484399),new X(3921009573,2173295548),new X(961987163,4081628472),new X(1508970993,3053834265),new X(2453635748,2937671579),new X(2870763221,3664609560),new X(3624381080,2734883394),new X(310598401,1164996542),new X(607225278,1323610764),new X(1426881987,3590304994),new X(1925078388,4068182383),new X(2162078206,991336113),new X(2614888103,633803317),new X(3248222580,3479774868),new X(3835390401,2666613458),new X(4022224774,944711139),new X(264347078,2341262773),new X(604807628,2007800933),new X(770255983,1495990901),new X(1249150122,1856431235),new X(1555081692,3175218132),new X(1996064986,2198950837),new X(2554220882,3999719339),new X(2821834349,766784016),new X(2952996808,2566594879),new X(3210313671,3203337956),new X(3336571891,1034457026),new X(3584528711,2466948901),new X(113926993,3758326383),new X(338241895,168717936),new X(666307205,1188179964),new X(773529912,1546045734),new X(1294757372,1522805485),new X(1396182291,2643833823),new X(1695183700,2343527390),new X(1986661051,1014477480),new X(2177026350,1206759142),new X(2456956037,344077627),new X(2730485921,1290863460),new X(2820302411,3158454273),new X(3259730800,3505952657),new X(3345764771,106217008),new X(3516065817,3606008344),new X(3600352804,1432725776),new X(4094571909,1467031594),new X(275423344,851169720),new X(430227734,3100823752),new X(506948616,1363258195),new X(659060556,3750685593),new X(883997877,3785050280),new X(958139571,3318307427),new X(1322822218,3812723403),new X(1537002063,2003034995),new X(1747873779,3602036899),new X(1955562222,1575990012),new X(2024104815,1125592928),new X(2227730452,2716904306),new X(2361852424,442776044),new X(2428436474,593698344),new X(2756734187,3733110249),new X(3204031479,2999351573),new X(3329325298,3815920427),new X(3391569614,3928383900),new X(3515267271,566280711),new X(3940187606,3454069534),new X(4118630271,4000239992),new X(116418474,1914138554),new X(174292421,2731055270),new X(289380356,3203993006),new X(460393269,320620315),new X(685471733,587496836),new X(852142971,1086792851),new X(1017036298,365543100),new X(1126000580,2618297676),new X(1288033470,3409855158),new X(1501505948,4234509866),new X(1607167915,987167468),new X(1816402316,1246189591)];function TZ(h,i,u){var r=[],Q0=[],N0=[],v0=[],m0,R0,V0;for(R0=0;R0<8;R0++)r[R0]=N0[R0]=L(h,8*R0);var T0=0;while(u>=128){for(R0=0;R0<16;R0++)v0[R0]=L(i,8*R0+T0);for(R0=0;R0<80;R0++){for(V0=0;V0<8;V0++)Q0[V0]=N0[V0];m0=Z1(N0[7],Z0(N0[4]),j4(N0[4],N0[5],N0[6]),e8[R0],v0[R0%16]),Q0[7]=Z1(m0,u9(N0[0]),$5(N0[0],N0[1],N0[2])),Q0[3]=Z1(Q0[3],m0);for(V0=0;V0<8;V0++)N0[(V0+1)%8]=Q0[V0];if(R0%16===15)for(V0=0;V0<16;V0++)v0[V0]=Z1(v0[V0],v0[(V0+9)%16],N1(v0[(V0+1)%16]),s8(v0[(V0+14)%16]))}for(R0=0;R0<8;R0++)N0[R0]=Z1(N0[R0],r[R0]),r[R0]=N0[R0];T0+=128,u-=128}for(R0=0;R0<8;R0++)z(h,8*R0,r[R0]);return u}var aG=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 M6(h,i,u){var r=new Uint8Array(64),Q0=new Uint8Array(256),N0,v0=u;for(N0=0;N0<64;N0++)r[N0]=aG[N0];TZ(r,i,u),u%=128;for(N0=0;N0<256;N0++)Q0[N0]=0;for(N0=0;N0<u;N0++)Q0[N0]=i[v0-u+N0];Q0[u]=128,u=256-128*(u<112?1:0),Q0[u-9]=0,z(Q0,u-8,new X(v0/536870912|0,v0<<3)),TZ(r,Q0,u);for(N0=0;N0<64;N0++)h[N0]=r[N0];return 0}function f4(h,i){var u=G(),r=G(),Q0=G(),N0=G(),v0=G(),m0=G(),R0=G(),V0=G(),T0=G();P0(u,h[1],h[0]),P0(T0,i[1],i[0]),K0(u,u,T0),S0(r,h[0],h[1]),S0(T0,i[0],i[1]),K0(r,r,T0),K0(Q0,h[3],i[3]),K0(Q0,Q0,F),K0(N0,h[2],i[2]),S0(N0,N0,N0),P0(v0,r,u),P0(m0,N0,Q0),S0(R0,N0,Q0),S0(V0,r,u),K0(h[0],v0,m0),K0(h[1],V0,R0),K0(h[2],R0,m0),K0(h[3],v0,V0)}function X9(h,i,u){var r;for(r=0;r<4;r++)f0(h[r],i[r],u)}function R9(h,i){var u=G(),r=G(),Q0=G();Y0(Q0,i[2]),K0(u,i[0],Q0),K0(r,i[1],Q0),i0(h,r),h[31]^=s0(u)<<7}function JZ(h,i,u){var r,Q0;E0(h[0],J),E0(h[1],W),E0(h[2],W),E0(h[3],J);for(Q0=255;Q0>=0;--Q0)r=u[Q0/8|0]>>(Q0&7)&1,X9(h,i,r),f4(i,h),f4(h,h),X9(h,i,r)}function RZ(h,i){var u=[G(),G(),G(),G()];E0(u[0],U),E0(u[1],H),E0(u[2],W),K0(u[3],U,H),JZ(h,u,i)}function _1(h,i,u){var r=new Uint8Array(64),Q0=[G(),G(),G(),G()],N0;if(!u)Y(i,32);M6(r,i,32),r[0]&=248,r[31]&=127,r[31]|=64,RZ(Q0,r),R9(h,Q0);for(N0=0;N0<32;N0++)i[N0+32]=h[N0];return 0}var k6=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 S6(h,i){var u,r,Q0,N0;for(r=63;r>=32;--r){u=0;for(Q0=r-32,N0=r-12;Q0<N0;++Q0)i[Q0]+=u-16*i[r]*k6[Q0-(r-32)],u=Math.floor((i[Q0]+128)/256),i[Q0]-=u*256;i[Q0]+=u,i[r]=0}u=0;for(Q0=0;Q0<32;Q0++)i[Q0]+=u-(i[31]>>4)*k6[Q0],u=i[Q0]>>8,i[Q0]&=255;for(Q0=0;Q0<32;Q0++)i[Q0]-=u*k6[Q0];for(r=0;r<32;r++)i[r+1]+=i[r]>>8,h[r]=i[r]&255}function Q4(h){var i=new Float64Array(64),u;for(u=0;u<64;u++)i[u]=h[u];for(u=0;u<64;u++)h[u]=0;S6(h,i)}function _8(h,i,u,r){var Q0=new Uint8Array(64),N0=new Uint8Array(64),v0=new Uint8Array(64),m0,R0,V0=new Float64Array(64),T0=[G(),G(),G(),G()];M6(Q0,r,32),Q0[0]&=248,Q0[31]&=127,Q0[31]|=64;var y0=u+64;for(m0=0;m0<u;m0++)h[64+m0]=i[m0];for(m0=0;m0<32;m0++)h[32+m0]=Q0[32+m0];M6(v0,h.subarray(32),u+32),Q4(v0),RZ(T0,v0),R9(h,T0);for(m0=32;m0<64;m0++)h[m0]=r[m0];M6(N0,h,u+64),Q4(N0);for(m0=0;m0<64;m0++)V0[m0]=0;for(m0=0;m0<32;m0++)V0[m0]=v0[m0];for(m0=0;m0<32;m0++)for(R0=0;R0<32;R0++)V0[m0+R0]+=N0[m0]*Q0[R0];return S6(h.subarray(32),V0),y0}function H6(h,i){var u=G(),r=G(),Q0=G(),N0=G(),v0=G(),m0=G(),R0=G();if(E0(h[2],W),F0(h[1],i),G0(Q0,h[1]),K0(N0,Q0,N),P0(Q0,Q0,h[2]),S0(N0,h[2],N0),G0(v0,N0),G0(m0,v0),K0(R0,m0,v0),K0(u,R0,Q0),K0(u,u,N0),C0(u,u),K0(u,u,Q0),K0(u,u,N0),K0(u,u,N0),K0(h[0],u,N0),G0(r,h[0]),K0(r,r,N0),l0(r,Q0))K0(h[0],h[0],w);if(G0(r,h[0]),K0(r,r,N0),l0(r,Q0))return-1;if(s0(h[0])===i[31]>>7)P0(h[0],J,h[0]);return K0(h[3],h[0],h[1]),0}function RX(h,i,u,r){var Q0,N0=new Uint8Array(32),v0=new Uint8Array(64),m0=[G(),G(),G(),G()],R0=[G(),G(),G(),G()];if(u<64)return-1;if(H6(R0,r))return-1;for(Q0=0;Q0<u;Q0++)h[Q0]=i[Q0];for(Q0=0;Q0<32;Q0++)h[Q0+32]=r[Q0];if(M6(v0,h,u),Q4(v0),JZ(m0,R0,v0),RZ(R0,i.subarray(32)),f4(m0,R0),R9(N0,m0),u-=64,P(i,0,N0,0)){for(Q0=0;Q0<u;Q0++)h[Q0]=0;return-1}for(Q0=0;Q0<u;Q0++)h[Q0]=i[Q0+64];return u}var C8=32,i4=24,e4=32,r6=16,G9=32,V=32,l=32,c=32,R=32,t=i4,_0=e4,d0=r6,K1=64,H1=32,g1=64,v1=32,J6=64;Z.lowlevel={crypto_core_hsalsa20:M,crypto_stream_xor:e,crypto_stream:x,crypto_stream_salsa20_xor:m,crypto_stream_salsa20:v,crypto_onetimeauth:L0,crypto_onetimeauth_verify:W0,crypto_verify_16:A,crypto_verify_32:P,crypto_secretbox:$0,crypto_secretbox_open:a,crypto_scalarmult:n,crypto_scalarmult_base:X0,crypto_box_beforenm:q0,crypto_box_afternm:M0,crypto_box:H0,crypto_box_open:x0,crypto_box_keypair:t0,crypto_hash:M6,crypto_sign:_8,crypto_sign_keypair:_1,crypto_sign_open:RX,crypto_secretbox_KEYBYTES:C8,crypto_secretbox_NONCEBYTES:i4,crypto_secretbox_ZEROBYTES:e4,crypto_secretbox_BOXZEROBYTES:r6,crypto_scalarmult_BYTES:G9,crypto_scalarmult_SCALARBYTES:V,crypto_box_PUBLICKEYBYTES:l,crypto_box_SECRETKEYBYTES:c,crypto_box_BEFORENMBYTES:R,crypto_box_NONCEBYTES:t,crypto_box_ZEROBYTES:_0,crypto_box_BOXZEROBYTES:d0,crypto_sign_BYTES:K1,crypto_sign_PUBLICKEYBYTES:H1,crypto_sign_SECRETKEYBYTES:g1,crypto_sign_SEEDBYTES:v1,crypto_hash_BYTES:J6,gf:G,D:N,L:k6,pack25519:i0,unpack25519:F0,M:K0,A:S0,S:G0,Z:P0,pow2523:C0,add:f4,set25519:E0,modL:S6,scalarmult:JZ,scalarbase:RZ};function c1(h,i){if(h.length!==C8)throw Error("bad key size");if(i.length!==i4)throw Error("bad nonce size")}function A8(h,i){if(h.length!==l)throw Error("bad public key size");if(i.length!==c)throw Error("bad secret key size")}function Q8(){for(var h=0;h<arguments.length;h++)if(!(arguments[h]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function h8(h){for(var i=0;i<h.length;i++)h[i]=0}Z.randomBytes=function(h){var i=new Uint8Array(h);return Y(i,h),i},Z.secretbox=function(h,i,u){Q8(h,i,u),c1(u,i);var r=new Uint8Array(e4+h.length),Q0=new Uint8Array(r.length);for(var N0=0;N0<h.length;N0++)r[N0+e4]=h[N0];return $0(Q0,r,r.length,i,u),Q0.subarray(r6)},Z.secretbox.open=function(h,i,u){Q8(h,i,u),c1(u,i);var r=new Uint8Array(r6+h.length),Q0=new Uint8Array(r.length);for(var N0=0;N0<h.length;N0++)r[N0+r6]=h[N0];if(r.length<32)return null;if(a(Q0,r,r.length,i,u)!==0)return null;return Q0.subarray(e4)},Z.secretbox.keyLength=C8,Z.secretbox.nonceLength=i4,Z.secretbox.overheadLength=r6,Z.scalarMult=function(h,i){if(Q8(h,i),h.length!==V)throw Error("bad n size");if(i.length!==G9)throw Error("bad p size");var u=new Uint8Array(G9);return n(u,h,i),u},Z.scalarMult.base=function(h){if(Q8(h),h.length!==V)throw Error("bad n size");var i=new Uint8Array(G9);return X0(i,h),i},Z.scalarMult.scalarLength=V,Z.scalarMult.groupElementLength=G9,Z.box=function(h,i,u,r){var Q0=Z.box.before(u,r);return Z.secretbox(h,i,Q0)},Z.box.before=function(h,i){Q8(h,i),A8(h,i);var u=new Uint8Array(R);return q0(u,h,i),u},Z.box.after=Z.secretbox,Z.box.open=function(h,i,u,r){var Q0=Z.box.before(u,r);return Z.secretbox.open(h,i,Q0)},Z.box.open.after=Z.secretbox.open,Z.box.keyPair=function(){var h=new Uint8Array(l),i=new Uint8Array(c);return t0(h,i),{publicKey:h,secretKey:i}},Z.box.keyPair.fromSecretKey=function(h){if(Q8(h),h.length!==c)throw Error("bad secret key size");var i=new Uint8Array(l);return X0(i,h),{publicKey:i,secretKey:new Uint8Array(h)}},Z.box.publicKeyLength=l,Z.box.secretKeyLength=c,Z.box.sharedKeyLength=R,Z.box.nonceLength=t,Z.box.overheadLength=Z.secretbox.overheadLength,Z.sign=function(h,i){if(Q8(h,i),i.length!==g1)throw Error("bad secret key size");var u=new Uint8Array(K1+h.length);return _8(u,h,h.length,i),u},Z.sign.open=function(h,i){if(Q8(h,i),i.length!==H1)throw Error("bad public key size");var u=new Uint8Array(h.length),r=RX(u,h,h.length,i);if(r<0)return null;var Q0=new Uint8Array(r);for(var N0=0;N0<Q0.length;N0++)Q0[N0]=u[N0];return Q0},Z.sign.detached=function(h,i){var u=Z.sign(h,i),r=new Uint8Array(K1);for(var Q0=0;Q0<r.length;Q0++)r[Q0]=u[Q0];return r},Z.sign.detached.verify=function(h,i,u){if(Q8(h,i,u),i.length!==K1)throw Error("bad signature size");if(u.length!==H1)throw Error("bad public key size");var r=new Uint8Array(K1+h.length),Q0=new Uint8Array(K1+h.length),N0;for(N0=0;N0<K1;N0++)r[N0]=i[N0];for(N0=0;N0<h.length;N0++)r[N0+K1]=h[N0];return RX(Q0,r,r.length,u)>=0},Z.sign.keyPair=function(){var h=new Uint8Array(H1),i=new Uint8Array(g1);return _1(h,i),{publicKey:h,secretKey:i}},Z.sign.keyPair.fromSecretKey=function(h){if(Q8(h),h.length!==g1)throw Error("bad secret key size");var i=new Uint8Array(H1);for(var u=0;u<i.length;u++)i[u]=h[32+u];return{publicKey:i,secretKey:new Uint8Array(h)}},Z.sign.keyPair.fromSeed=function(h){if(Q8(h),h.length!==v1)throw Error("bad seed size");var i=new Uint8Array(H1),u=new Uint8Array(g1);for(var r=0;r<32;r++)u[r]=h[r];return _1(i,u,!0),{publicKey:i,secretKey:u}},Z.sign.publicKeyLength=H1,Z.sign.secretKeyLength=g1,Z.sign.seedLength=v1,Z.sign.signatureLength=K1,Z.hash=function(h){Q8(h);var i=new Uint8Array(J6);return M6(i,h,h.length),i},Z.hash.hashLength=J6,Z.verify=function(h,i){if(Q8(h,i),h.length===0||i.length===0)return!1;if(h.length!==i.length)return!1;return j(h,0,i,0,h.length)===0?!0:!1},Z.setPRNG=function(h){Y=h},function(){var h=typeof globalThis<"u"?globalThis.crypto||globalThis.msCrypto:null;if(h&&h.getRandomValues){var i=65536;Z.setPRNG(function(u,r){var Q0,N0=new Uint8Array(r);for(Q0=0;Q0<r;Q0+=i)h.getRandomValues(N0.subarray(Q0,Q0+Math.min(r-Q0,i)));for(Q0=0;Q0<r;Q0++)u[Q0]=N0[Q0];h8(N0)})}else if(h=c0("crypto"),h&&h.randomBytes)Z.setPRNG(function(u,r){var Q0,N0=h.randomBytes(r);for(Q0=0;Q0<r;Q0++)u[Q0]=N0[Q0];h8(N0)})}()})(typeof Kh<"u"&&d$7?d$7:globalThis.nacl=globalThis.nacl||{});oC=typeof Kh<"u"&&d$7?d$7:globalThis.nacl,A75={fromSeed:oC.sign.keyPair.fromSeed,sign:oC.sign.detached,verify:oC.sign.detached.verify,randomBytes:oC.randomBytes,scalarBaseMultiply:oC.scalarMult.base,seal:oC.box,open:oC.box.open};T75=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]);d8=class d8 extends Error{name;code;chainedError;constructor(Z,X){super(Z);this.name="NKeysError",this.code=Z,this.chainedError=X}};(function(Z){Z.InvalidPrefixByte="nkeys: invalid prefix byte",Z.InvalidKey="nkeys: invalid key",Z.InvalidPublicKey="nkeys: invalid public key",Z.InvalidSeedLen="nkeys: invalid seed length",Z.InvalidSeed="nkeys: invalid seed",Z.InvalidCurveSeed="nkeys: invalid curve seed",Z.InvalidCurveKey="nkeys: not a valid curve key",Z.InvalidCurveOperation="nkeys: curve key is not valid for sign/verify",Z.InvalidNKeyOperation="keys: only curve key can seal/open",Z.InvalidEncoding="nkeys: invalid encoded key",Z.InvalidRecipient="nkeys: not a valid recipient public curve key",Z.InvalidEncrypted="nkeys: encrypted input is not valid",Z.CannotSign="nkeys: cannot sign, no private key available",Z.PublicKeyOnly="nkeys: no seed or private key available",Z.InvalidChecksum="nkeys: invalid checksum",Z.SerializationError="nkeys: serialization error",Z.ApiError="nkeys: api error",Z.ClearedPair="nkeys: pair is cleared"})(l8||(l8={}));(function(Z){Z[Z.Unknown=-1]="Unknown",Z[Z.Seed=144]="Seed",Z[Z.Private=120]="Private",Z[Z.Operator=112]="Operator",Z[Z.Server=104]="Server",Z[Z.Cluster=16]="Cluster",Z[Z.Account=0]="Account",Z[Z.User=160]="User",Z[Z.Curve=184]="Curve"})(Y4||(Y4={}));rC=[120,107,118,49];P75(A75);(function(Z){Z.v1="ed25519",Z.v2="ed25519-nkey"})(mJ||(mJ={}))});function p41(Z){try{Z?.clear?.()}catch{}}async function gv8({accountJwt:Z,accountSigningKey:X,expiresAt:G,permissions:Y,userId:Q,allowedConnectionTypes:$=["WEBSOCKET"]}){let J=xv8(Z),W=i41(J.sub),K=n41(new TextEncoder().encode(X)),N=Cv8();try{let F=await vv8(Q,N,W,{pub:{allow:Y.publish.allow},sub:{allow:Y.subscribe.allow},allowed_connection_types:$},{algorithm:mJ.v2,exp:Math.floor(G.getTime()/1000),signer:K});return new TextDecoder().decode(_v8(F,N))}finally{p41(N),p41(K),p41(W)}}var hv8=B(()=>{yv8()});function v75(Z){return/^wss?:\/\//i.test(Z.trim())?["WEBSOCKET"]:["STANDARD","WEBSOCKET"]}function uv8(){let Z=new C1;return Z.post("/links/session",async(X)=>{let Y=X.get("studioContext").auth?.user?.id;if(!Y)return X.json({error:"Unauthorized"},401);let Q=J1();if(!Q.natsTunnelPublicEnabled)return X.json(t41(),503);if(!Q.natsPublicUrl)return X.json(t41(),503);if(!Q.natsAccountJwt||!Q.natsAccountSigningKey){if(!Q.localMode)return X.json(t41(),503)}let $=dJ(Y),J;if(Q.natsAccountJwt&&Q.natsAccountSigningKey){let W=new Date(Date.now()+Q.natsTunnelSessionTtlSeconds*1000);J=await gv8({accountJwt:Q.natsAccountJwt,accountSigningKey:Q.natsAccountSigningKey,expiresAt:W,permissions:qv8($),userId:Y,allowedConnectionTypes:v75(Q.natsPublicUrl)})}return X.json(Mv8({publicUrl:Q.natsPublicUrl,userId:Y,ttlSeconds:Q.natsTunnelSessionTtlSeconds,credentials:J}))}),Z}var t41=()=>({error:"link session unavailable"});var cv8=B(()=>{s6();b8();kv8();hv8()});function _75(Z){return Z.filter((X)=>X.vendors?.alias).map((X)=>({name:X.name,title:X.title,description:X.description,logo:X.logo,category:X.category,vendor:{alias:X.vendors.alias,url:X.vendors.url}}))}async function y75(Z,X){let G=await fetch(`${Z}/rest/v1/apps?select=name,title,description,logo,category,vendors(alias,url)`,{headers:{apikey:X,Authorization:`Bearer ${X}`,Accept:"application/json"},signal:AbortSignal.timeout(x75)});if(!G.ok){let Y=await G.text().catch(()=>G.statusText);throw console.error(`[deco-apps] Supabase error (${G.status}): ${Y.slice(0,200)}`),Error(`External service error (${G.status})`)}return await G.json()}var x75=1e4,g75=async(Z,X)=>{if(!Z.get("studioContext").auth.user?.id)return Z.json({error:"Unauthorized"},401);return X()},lv8=()=>{let Z=new C1;return Z.use("*",g75),Z.get("/",async(X)=>{let G=J1(),Y=G.decoSupabaseUrl,Q=G.decoSupabaseServiceKey;if(!Y||!Q)return X.json({apps:[]});try{let $=await y75(Y,Q);return X.json({apps:_75($)})}catch($){return console.error("[deco-apps] GET error:",$),X.json({error:"Failed to fetch apps"},502)}}),Z};var dv8=B(()=>{s6();b8()});import{z as h1}from"zod";function gK(Z,X="invalid_request_error",G=null,Y=null){return{error:{message:Z,type:X,param:G,code:Y}}}function t75(Z){if(!Z)return null;let X=Z.indexOf(":");if(X===-1)return{credentialId:null,modelId:Z};let G=Z.substring(0,X),Y=Z.substring(X+1);if(!G||!Y)return null;return{credentialId:G,modelId:Y}}function o75(Z,X,G){try{return JSON.parse(Z)}catch{throw new nv8(`Invalid JSON in tool call arguments for function '${G}' (tool_call_id: ${X}): ${Z}`)}}function r75(Z){let X={};for(let G of Z)if(G.role==="assistant"&&G.tool_calls)for(let Y of G.tool_calls)X[Y.id]=Y.function.name;return Z.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((Q)=>{if(Q.type==="text")return{type:"text",text:Q.text};return{type:"image",image:Q.image_url.url}})};case"assistant":if(G.tool_calls&&G.tool_calls.length>0)return{role:"assistant",content:G.tool_calls.map((Q)=>({type:"tool-call",toolCallId:Q.id,toolName:Q.function.name,input:o75(Q.function.arguments,Q.id,Q.function.name)}))};return{role:"assistant",content:G.content??""};case"tool":let Y=X[G.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:G.tool_call_id,toolName:Y,output:{type:"text",value:G.content}}]}}})}function a75(Z){let X=Z.map((G)=>{let Y=G.function.parameters?MQ(G.function.parameters):MQ({type:"object",properties:{}});return[G.function.name,y8({description:G.function.description,inputSchema:Y})]});return Object.fromEntries(X)}function s75(Z){if(!Z)return;return{openai:{response_format:Z}}}function e75(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function mv8(Z,X,G,Y,Q,$){let J={model:Z,messages:X,tools:G,temperature:Y.temperature,maxTokens:Y.max_tokens,topP:Y.top_p,frequencyPenalty:Y.frequency_penalty,presencePenalty:Y.presence_penalty,stopSequences:Y.stop?Array.isArray(Y.stop)?Y.stop:[Y.stop]:void 0,abortSignal:$};return Q?{...J,providerOptions:Q}:J}function iv8(Z){if(Z==="tool-calls")return"tool_calls";if(Z==="length")return"length";return"stop"}var h75=256,u75,c75,l75,d75,m75,i75,n75,p75,nv8,pv8,tv8;var ov8=B(()=>{F4();s6();Jh();u75=h1.object({type:h1.literal("function"),function:h1.object({name:h1.string(),description:h1.string().optional(),parameters:h1.record(h1.string(),h1.unknown()).optional()})}),c75=h1.object({id:h1.string(),type:h1.literal("function"),function:h1.object({name:h1.string(),arguments:h1.string()})}),l75=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(c75).optional()}),h1.object({role:h1.literal("tool"),content:h1.string(),tool_call_id:h1.string()})]),d75=h1.object({type:h1.literal("text")}),m75=h1.object({type:h1.literal("json_object")}),i75=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()})}),n75=h1.union([d75,m75,i75]),p75=h1.object({model:h1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:h1.array(l75),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(u75).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:n75.optional(),user:h1.string().optional()});nv8=class nv8 extends Error{constructor(Z){super(Z);this.name="MessageConversionError"}};pv8=new C1;pv8.post("/:org/v1/chat/completions",async(Z)=>{let X=Z.get("studioContext"),G=Z.req.param("org");try{if(!X.auth.apiKey?.id)return Z.json(gK("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!X.organization)return Z.json(gK("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((X.organization.slug??X.organization.id)!==G)return Z.json(gK("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await Z.req.json(),Q=p75.safeParse(Y);if(!Q.success){let L=Q.error.issues[0]??{message:"Invalid request",path:[]};return Z.json(gK(`Invalid request: ${L.message}`,"invalid_request_error",L.path.length>0?L.path.join("."):null),400)}let $=Q.data,J=t75($.model);if(!J)return Z.json(gK("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 L=await X.storage.aiProviderKeys.list({organizationId:X.organization.id});if(L.length===0)return Z.json(gK("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=L[0].id}let N;try{N=await X.aiProviders.activate(W,X.organization.id)}catch{return Z.json(gK(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=N.aiSdk.languageModel(K),U=r75($.messages),H=$.tools?a75($.tools):void 0,w=s75($.response_format),O=e75(),D=Math.floor(Date.now()/1000);if($.stream)return QU(Z,async(L)=>{let E=mv8(F,U,H,$,w,Z.req.raw.signal);try{let z=d3(E),j=!1,A=0,P="",q=async()=>{if(P.length===0)return;let S=P;P="",await L.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:D,model:$.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 L.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:D,model:$.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),j=!0;if(S.type==="text-delta"){if(P+=S.text,P.length>=h75)await q()}else if(S.type==="tool-call"){await q();let M=A++;await L.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:D,model:$.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 L.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:D,model:$.model,choices:[{index:0,delta:{},finish_reason:iv8(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 L.writeSSE({data:"[DONE]"})}catch(z){let j=z;console.error("[openai-compat:stream] Error:",j.message),await L.writeSSE({data:JSON.stringify({error:{message:j.message,type:"server_error"}})})}});else{let L=mv8(F,U,H,$,w,Z.req.raw.signal),E=await uw(L),z={role:"assistant",content:E.text||null};if(E.toolCalls&&E.toolCalls.length>0)z.tool_calls=E.toolCalls.map((j)=>({id:j.toolCallId,type:"function",function:{name:j.toolName,arguments:JSON.stringify("input"in j?j.input:{})}})),z.content=null;return Z.json({id:O,object:"chat.completion",created:D,model:$.model,choices:[{index:0,message:z,finish_reason:iv8(E.finishReason)}],usage:{prompt_tokens:E.usage?.inputTokens??0,completion_tokens:E.usage?.outputTokens??0,total_tokens:E.usage?.totalTokens??0}})}}catch(Y){let Q=Y;if(Q.name==="AbortError")return Z.json(gK("Request aborted","invalid_request_error"),400);if(Q.name==="MessageConversionError")return Z.json(gK(Q.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Q.message,Q.stack),Z.json(gK(Q.message,"server_error"),500)}});tv8=pv8});var av8;var rv8=B(()=>{av8={name:"decocms",version:"4.158.3",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/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","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 src","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 --cwd=../.. build:studio"},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","@inkjs/ui":"^2.0.0","@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","@resvg/resvg-js":"^2.6.2","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6",satori:"^0.28.2"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@decocms/tunnel":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.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","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",vite:"^7.2.1",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});function GX5(){let Z=process.env.POSTHOG_KEY;if(!Z)return null;return{key:Z,host:process.env.POSTHOG_HOST??XX5}}var sv8,XX5="https://ph.studio.decocms.com",ev8;var Zx8=B(()=>{s6();if0();EO();rZ();b8();i11();rv8();sv8=new C1;sv8.get("/",(Z)=>{let X={version:av8.version,theme:uS1(),...wD().logo&&{logo:wD().logo},...t3()&&{internalUrl:L10()},...J1().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!J1().firecrawlApiKey,auth:DM8(),posthog:GX5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:!t3()&&J1().sandboxProviderKind==="agent-sandbox"}};return Z.header("Cache-Control","no-store"),Z.json({success:!0,config:X})});ev8=sv8});function Nh(Z){let X=(Z??"").trim().toLowerCase();return X=X.replace(/^https?:\/\//,""),X=X.replace(/^www\./,""),X=X.split(/[/?#]/)[0]??"",X.replace(/\/+$/,"")}function o41(Z){return(Nh(Z).split(".")[0]||Z).replace(/[-_]/g," ").split(" ").filter(Boolean).map((G)=>G.charAt(0).toUpperCase()+G.slice(1)).join(" ")}function r41(Z,X=64){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(Nh(Z))}&sz=${X}`}function Xx8(Z,X){let G=Z.trim();if(G.length<=X)return G;let Y=G.slice(0,X-1),Q=Y.lastIndexOf(" ");return`${(Q>X*0.6?Y.slice(0,Q):Y).trimEnd()}\u2026`}function Gx8(Z){let{brand:X,domain:G,score:Y,verdict:Q}=Z,$=typeof Y==="number"?`${X} commerce report \u2014 ${Math.round(Y)}/100 \xB7 decocms`:`${X} commerce report \xB7 decocms`,J=`See the full ${X} scorecard \u2014 SEO, performance, conversion & AEO signals scored by decocms.`,W=Q?.trim()?Xx8(`${Q.trim().replace(/\s+/g," ")} \u2014 ${J}`,200):Xx8(`How does ${G} really perform? ${J}`,200);return{title:$,description:W}}import{z as $1}from"zod";var sC,YX5,QX5,$X5,JX5,Yx8;var Qx8=B(()=>{sC=$1.enum(["good","bad","neutral"]),YX5=$1.preprocess((Z)=>{if(Array.isArray(Z))return{kind:"text",value:Z.find((G)=>G!==null&&typeof G!=="object")??""};return Z!==null&&typeof Z==="object"?Z:{kind:"text",value:Z}},$1.object({kind:$1.enum(["text","number","sparkline","badge","score"]).catch("text"),value:$1.coerce.string().optional(),tone:sC.optional(),muted:$1.boolean().optional(),delta:$1.coerce.string().optional(),deltaDir:$1.enum(["up","down","neutral"]).optional(),points:$1.array($1.coerce.number()).optional(),label:$1.coerce.string().optional()}).transform((Z)=>{if(Z.kind==="badge"&&Z.label==null)Z.label=Z.value??"";if(Z.kind==="score"){let X=Number(Z.value);if(Number.isNaN(X))return{...Z,kind:"text"}}return Z})),QX5=$1.preprocess((Z)=>{let X=Z;if(X&&typeof X==="object"&&!Array.isArray(X)&&Array.isArray(X.cells))X=X.cells;if(Array.isArray(X)&&X.length===1&&Array.isArray(X[0]))X=X[0];if(Array.isArray(X))return X;if(X&&typeof X==="object")return Object.values(X);return X},$1.array(YX5)),$X5={key:$1.coerce.string(),title:$1.coerce.string(),eyebrow:$1.coerce.string().optional(),headline:$1.coerce.string(),annotation:$1.coerce.string().optional(),methodology:$1.coerce.string().optional(),sources:$1.array($1.object({name:$1.coerce.string(),logoUrl:$1.coerce.string()})).optional()},JX5=$1.discriminatedUnion("template",[$1.object({template:$1.literal("cover"),score:$1.object({value:$1.coerce.number(),max:$1.coerce.number().optional(),grade:$1.coerce.string().optional(),label:$1.coerce.string().optional()}).optional(),brandImage:$1.coerce.string().optional(),screenshot:$1.coerce.string().optional(),mobileScreenshot:$1.coerce.string().optional()}),$1.object({template:$1.literal("cta"),ctaUrl:$1.coerce.string().optional(),ctaLabel:$1.coerce.string().optional(),bullets:$1.array($1.coerce.string()).optional()}),$1.object({template:$1.literal("series"),points:$1.array($1.coerce.number()).min(2),xLabels:$1.array($1.coerce.string()).min(1),unit:$1.coerce.string().optional(),callout:$1.object({index:$1.coerce.number(),value:$1.coerce.string(),tone:sC.optional()})}),$1.object({template:$1.literal("threshold"),value:$1.coerce.string().default(""),metricLabel:$1.coerce.string().optional(),ratio:$1.coerce.number(),thresholdRatio:$1.coerce.number().optional(),thresholdLabel:$1.coerce.string().default(""),tone:sC.optional()}),$1.object({template:$1.literal("stats"),stats:$1.array($1.object({value:$1.coerce.string(),label:$1.coerce.string(),tone:sC.optional()})).min(1)}),$1.object({template:$1.literal("bars"),items:$1.array($1.object({value:$1.coerce.string(),label:$1.coerce.string(),ratio:$1.coerce.number(),tone:sC.optional()})).min(1)}),$1.object({template:$1.literal("gauges"),gauges:$1.array($1.object({label:$1.coerce.string(),value:$1.coerce.string(),status:$1.enum(["good","warn","bad"]).catch("warn"),caption:$1.coerce.string().optional(),ratio:$1.coerce.number().optional()})).min(1)}),$1.object({template:$1.literal("checklist"),checks:$1.array($1.object({label:$1.coerce.string(),status:$1.enum(["pass","fail","warn"]).catch("fail"),value:$1.coerce.string().optional()})).min(1)}),$1.object({template:$1.literal("table"),columns:$1.array($1.object({label:$1.coerce.string(),align:$1.enum(["left","right"]).optional()})).min(1),rows:$1.array(QX5).min(1),highlightRow:$1.coerce.number().optional()}),$1.object({template:$1.literal("products"),products:$1.array($1.object({name:$1.coerce.string(),price:$1.coerce.string().optional(),image:$1.coerce.string().optional(),url:$1.coerce.string().optional()})).min(1)}),$1.object({template:$1.literal("list"),entries:$1.array($1.object({label:$1.coerce.string(),severity:$1.enum(["error","warning","notice"]).catch("notice")})).min(1),moreCount:$1.coerce.number().optional()}),$1.object({template:$1.literal("keywords"),volumeLabel:$1.coerce.string().optional(),keywords:$1.array($1.object({term:$1.coerce.string(),volume:$1.coerce.string(),position:$1.coerce.number().catch(0)})).min(1)}),$1.object({template:$1.literal("competitor"),metricLabel:$1.coerce.string().optional(),competitors:$1.array($1.object({name:$1.coerce.string(),value:$1.coerce.string(),tone:sC.optional(),isYou:$1.boolean().optional()})).min(1)}),$1.object({template:$1.literal("scorecard"),rivalLabel:$1.coerce.string().optional(),dimensions:$1.array($1.object({label:$1.coerce.string(),you:$1.coerce.string(),rival:$1.coerce.string().optional(),rivalName:$1.coerce.string().optional(),tone:sC.optional()})).min(1)})]),Yx8=$1.object({...$X5,template:JX5})});function Yj0(Z){let X=[],G=[...Z.sections].sort((Y,Q)=>Y.position-Q.position).map((Y)=>{let Q=Yx8.safeParse(Y.props);if(Q.success)return Q.data;let $=Q.error.issues[0];return X.push({section_type:Y.section_type,position:Y.position,reason:$?`${$.path.join(".")||"(root)"}: ${$.message}`:"contract violation"}),null}).filter((Y)=>Y!==null);return{deck:{meta:{...Z.meta,scores:Z.summary?.scores},slides:G},drops:X}}var a41=B(()=>{Qx8()});function s41(Z){return Buffer.from(Z,"base64")}var $x8;var Jx8=B(()=>{$x8=[{name:"Inter",data:s41("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"),weight:400,style:"normal"},{name:"Inter",data:s41("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"),weight:600,style:"normal"},{name:"Inter",data:s41("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"),weight:700,style:"normal"}]});import WX5 from"satori";import{Resvg as KX5}from"@resvg/resvg-js";async function FX5(Z){try{let X=await fetch(Z,{signal:AbortSignal.timeout(1500)});if(!X.ok)return null;let G=X.headers.get("content-type")||"image/png";if(!G.startsWith("image/"))return null;let Y=Buffer.from(await X.arrayBuffer()).toString("base64");return`data:${G};base64,${Y}`}catch{return null}}async function Nx8(Z){let X=Z.faviconUrl?await FX5(Z.faviconUrl):null,G=X?TX("div",{width:84,height:84,flexShrink:0,borderRadius:20,backgroundColor:Kx8,display:"flex",alignItems:"center",justifyContent:"center"},TX("img",{},null,{src:X,width:56,height:56})):TX("div",{width:84,height:84,flexShrink:0,borderRadius:20,backgroundColor:Qj0,color:Z51,fontSize:44,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center"},(Z.initial||Z.domain.charAt(0)||"?").toUpperCase()),Y=TX("div",{width:e41,height:Wx8,display:"flex",flexDirection:"column",justifyContent:"space-between",padding:"72px 80px",backgroundColor:Z51,color:Kx8,fontFamily:"Inter"},[TX("div",{display:"flex",alignItems:"center",gap:22},[G,TX("div",{display:"flex",flexDirection:"column"},[TX("div",{fontSize:24,color:Qj0,fontWeight:600,marginBottom:4},"Commerce report"),TX("div",{fontSize:46,fontWeight:600,letterSpacing:"-0.02em"},Z.domain)])]),TX("div",{display:"flex",alignItems:"flex-end",gap:28},[TX("div",{fontSize:220,fontWeight:700,color:Qj0,lineHeight:0.82,letterSpacing:"-0.05em"},String(Math.round(Z.score))),TX("div",{fontSize:60,fontWeight:400,color:"rgba(244,251,230,0.55)",paddingBottom:30},"/100"),TX("div",{fontSize:30,fontWeight:400,color:"rgba(244,251,230,0.82)",paddingBottom:40},"Commerce health score")]),TX("div",{display:"flex",alignItems:"center",gap:14},[TX("div",{width:44,height:44,borderRadius:11,backgroundColor:Qj0,display:"flex",alignItems:"center",justifyContent:"center"},TX("svg",{},TX("path",{},null,{d:NX5,fill:Z51}),{width:30,height:30,viewBox:"0 0 200 200"})),TX("div",{fontSize:26,fontWeight:700},"decocms")])]),Q=await WX5(Y,{width:e41,height:Wx8,fonts:$x8}),$=new KX5(Q,{fitTo:{mode:"width",value:e41}}).render().asPng();return Uint8Array.from($)}var e41=1200,Wx8=630,Z51="#07401a",Qj0="#d0ec1a",Kx8="#f4fbe6",NX5="M79.8641 145.438C97.4676 145.438 107.196 137.562 118.777 113.01C125.263 99.5758 130.358 86.1415 136.381 73.1705L143.793 75.4867C145.646 75.95 147.035 75.0235 146.109 73.1705L136.844 55.1037C136.381 53.714 134.528 53.714 133.601 54.1772L111.365 62.5157C109.512 62.979 109.512 64.832 111.365 65.2952L117.851 67.6115C112.292 79.656 105.806 98.186 100.247 109.767C94.2249 122.738 91.4454 131.54 80.7906 131.54C70.1359 131.54 68.7461 123.665 73.3786 112.084C78.4744 98.6493 86.8129 94.9433 96.0779 97.7228C98.8574 94.0168 100.71 88.4578 101.637 83.362C98.8574 82.4355 95.6146 82.4355 92.8351 82.4355C77.5479 82.4355 62.2606 90.3108 55.7751 106.988C48.8263 128.761 56.2383 145.438 79.8641 145.438Z",TX=(Z,X,G,Y={})=>({type:Z,props:{...Y,style:X,children:G}});var Fx8=B(()=>{Jx8()});import{join as Ux8}from"path";async function Hx8(Z){try{let X=await fetch(`${f$({})}/api/v2/public/diagnostics/${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"},signal:AbortSignal.timeout(UX5)});if(!X.ok)return null;let G=await X.json(),{deck:Y}=Yj0(G);if(!Y.slides.length)return null;let Q=Y.slides.find((W)=>W.template.template==="cover"),$=Q?.template,J=$&&$.template==="cover"?$:void 0;return{brand:Y.meta.brand?.trim()||o41(Z),score:Y.meta.scores?.cover??J?.score?.value,verdict:Q?.annotation?.trim()||Q?.headline?.trim()||void 0}}catch{return null}}function Z3(Z){return Z.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function HX5(Z,X){let G=Nh(Z),Y=X?.brand?.trim()||o41(G),Q=r41(G,128),J=`${(J1().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(G)}`,{title:W,description:K}=Gx8({brand:Y,domain:G,score:X?.score,verdict:X?.verdict}),N=`${J}/og.png`,F=`${Y} commerce report by decocms`;return[`<title>${Z3(W)}</title>`,`<meta name="description" content="${Z3(K)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${Z3(W)}" />`,`<meta property="og:description" content="${Z3(K)}" />`,`<meta property="og:url" content="${Z3(J)}" />`,`<meta property="og:image" content="${Z3(N)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${Z3(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${Z3(W)}" />`,`<meta name="twitter:description" content="${Z3(K)}" />`,`<meta name="twitter:image" content="${Z3(N)}" />`,`<meta name="twitter:image:alt" content="${Z3(F)}" />`,`<link rel="canonical" href="${Z3(J)}" />`,`<link rel="icon" href="${Z3(Q)}" sizes="any" />`].join(`
|
|
2775
2775
|
`)}function wX5(Z,X){return Z.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>",` ${X}
|
|
2776
2776
|
</head>`)}async function BX5(Z,X){let G=`${Z}|${Math.round(X)}`,Y=io.get(G);if(Y)return Y;let Q=await Nx8({domain:Z,initial:Z.charAt(0),score:X,faviconUrl:r41(Z,128)});if(io.size>=OX5){let $=io.keys().next().value;if($!==void 0)io.delete($)}return io.set(G,Q),Q}function wx8(Z){let X=new C1;return X.get("/:domain/og.png",async(G)=>{let Y=Nh(G.req.param("domain")),Q=async()=>{let $=Z?Bun.file(Ux8(Z,"report-og-fallback.png")):null;if(!$||!await $.exists())return G.notFound();return G.body(new Uint8Array(await $.arrayBuffer()),200,{"Content-Type":"image/png","Cache-Control":"public, max-age=0, s-maxage=3600"})};try{let $=await Hx8(Y);if(!$||typeof $.score!=="number")return Q();let J=await BX5(Y,$.score);return G.body(J,200,{"Content-Type":"image/png","Cache-Control":"public, max-age=0, s-maxage=86400"})}catch{return Q()}}),X.get("/:domain",async(G)=>{let Y=G.req.param("domain"),Q=Z?Ux8(Z,"index.html"):null,$=Q?Bun.file(Q):null;if(!$||!await $.exists())return G.notFound();let J=await $.text();try{let W=await Hx8(Nh(Y)),K=HX5(Y,W);return G.html(wX5(J,K),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return G.html(J)}}),X}var UX5=2500,io,OX5=256;var Ox8=B(()=>{s6();a41();Fx8();GH();b8();io=new Map});function no(Z,X){return fetch(`${f$({})}${Z}`,X)}async function DX5(Z,X,G){let Y=new URLSearchParams;if(X)Y.set("pw",X);if(G)Y.set("lang",G);let Q=Y.toString()?`?${Y.toString()}`:"",$=await no(`/api/v2/public/diagnostics/${encodeURIComponent(Z)}${Q}`,{headers:{Accept:"application/json"}});if($.status===404)return{status:"not_found",deck:null,scanned_at:null,drops:[]};if(!$.ok)throw Error(`report read HTTP ${$.status}`);let J=await $.json(),{deck:W,drops:K}=Yj0(J);return{status:W.slides.length?"ready":"empty",deck:W,scanned_at:J.scanned_at,drops:K}}var LX5,eC,Bx8;var Dx8=B(()=>{s6();vQ();GH();a41();LX5=new Set(["complete","errored","terminated","unknown"]),eC=new C1;eC.use("*",async(Z,X)=>{let G=await Q6.api.getSession({headers:Z.req.raw.headers});if(!G?.user?.id)return Z.json({error:"Authentication required"},401,{"Cache-Control":"private, no-store",Vary:"Cookie"});Z.set("reportUser",{email:G.user.email}),await X(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie");return});eC.get("/site/:domain",async(Z)=>{let X=Z.req.param("domain").trim();if(!X)return Z.json({error:"domain is required"},400);let G=Z.req.query("key")?.trim()||void 0,Y=Z.req.query("lang")?.trim()||void 0;try{let Q=await DX5(X,G,Y);return Z.header("Cache-Control","private, no-store"),Z.json(Q)}catch{return Z.json({error:"report read failed"},502)}});eC.post("/run",async(Z)=>{let X;try{X=await Z.req.json()}catch{return Z.json({error:"invalid JSON"},400)}let G=typeof X.domain==="string"?X.domain.trim():"";if(!G)return Z.json({error:"domain is required"},400);let Y=Z.get("reportUser").email,Q=typeof X.distinctId==="string"&&X.distinctId.trim()&&X.distinctId.length<=200?X.distinctId.trim():void 0;try{let $=await no("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${WD({})}`},body:JSON.stringify({url:G,email:Y,distinct_id:Q})});if(!$.ok)return Z.json({error:`run HTTP ${$.status}`},502);let J=await $.json(),W=J.blocked?{state:"blocked"}:J.status==="fresh"?{state:"fresh"}:J.mode==="sync"?{state:"sync"}:{state:"running",id:J.id??null};return Z.json(W)}catch{return Z.json({error:"run failed"},502)}});eC.get("/status",async(Z)=>{let X=Z.req.query("id");if(!X)return Z.json({error:"id is required"},400);try{let G=await no(`/api/v2/diagnostics/status?id=${encodeURIComponent(X)}`,{headers:{Authorization:`Bearer ${WD({})}`}});if(!G.ok)return Z.json({error:`status HTTP ${G.status}`},502);let Q=(await G.json()).status??"unknown",$={done:LX5.has(Q),status:Q};return Z.json($)}catch{return Z.json({error:"status failed"},502)}});eC.get("/link-token/:id",async(Z)=>{let X=Z.req.param("id");try{let G=await no(`/api/v2/public/link-tokens/${encodeURIComponent(X)}`,{headers:{Accept:"application/json"}});if(G.status===404)return Z.json(null);if(!G.ok)return Z.json({error:`link token HTTP ${G.status}`},502);return Z.json(await G.json())}catch{return Z.json({error:"link token resolve failed"},502)}});eC.get("/suggest",async(Z)=>{let X=(Z.req.query("q")??"").trim().slice(0,64);if(X.length<2)return Z.json({suggestions:[]});try{let G=await no(`/api/v2/public/suggest?q=${encodeURIComponent(X)}`,{headers:{Accept:"application/json"}});if(!G.ok)return Z.json({suggestions:[]});let Y=await G.json();return Z.json({suggestions:Array.isArray(Y.suggestions)?Y.suggestions:[]})}catch{return Z.json({suggestions:[]})}});Bx8=eC});import{createHmac as EX5,timingSafeEqual as zX5}from"crypto";function Lx8(Z,X,G,Y=Date.now()){if(!X||!G)return!1;let Q,$=[];for(let N of X.split(",")){let F=N.indexOf("=");if(F<=0)continue;let U=N.slice(0,F).trim(),H=N.slice(F+1).trim();if(U==="t")Q=H;else if(U==="v1")$.push(H)}if(!Q||$.length===0)return!1;let J=Number(Q);if(!Number.isFinite(J)||Math.abs(Y/1000-J)>jX5)return!1;let W=EX5("sha256",G).update(`${Q}.${Z}`).digest("hex"),K=Buffer.from(W,"hex");return $.some((N)=>{let F=Buffer.from(N,"hex");return K.length===F.length&&zX5(K,F)})}function Ex8(Z){let X;try{X=JSON.parse(Z)}catch{return null}let G=J$(X),Y=J$(J$(G?.data)?.object);if(!G||typeof G.type!=="string"||!Y)return null;return{id:$$(G.id),type:G.type,created:typeof G.created==="number"?G.created:void 0,livemode:typeof G.livemode==="boolean"?G.livemode:void 0,data:{object:Y}}}function AX5(Z){switch(Z){case"active":case"trialing":return"active";case"past_due":return"past_due";default:return"canceled"}}function $$(Z){return typeof Z==="string"?Z:void 0}function J$(Z){return typeof Z==="object"&&Z!==null?Z:void 0}function $j0(Z){return typeof Z==="number"?new Date(Z*1000):null}function Y51(Z){return $$(Z)??$$(J$(Z)?.id)}function PX5(Z){return Y51(Z.subscription)??$$(J$(J$(Z.parent)?.subscription_details)?.subscription)}function TX5(Z){let X=$j0(Z.current_period_end);if(X)return X;let G=J$(Z.items)?.data;if(!Array.isArray(G))return null;let Y=0;for(let Q of G){let $=J$(Q)?.current_period_end;if(typeof $==="number"&&$>Y)Y=$}return Y>0?new Date(Y*1000):null}function X51(Z,X){let G=$j0(Z.created);return!!G&&!!X.lastStripeEventAt&&G<X.lastStripeEventAt}function G51(Z,X){let G=$j0(Z.created);if(!G)return;return X.lastStripeEventAt&&X.lastStripeEventAt>G?void 0:G}async function RX5(Z,X){let G=X.data.object;switch(X.type){case"checkout.session.completed":case"checkout.session.async_payment_succeeded":{let Y=$$(J$(G.metadata)?.orgId);if(!Y)return{handled:!1,reason:"no orgId"};if($$(J$(G.metadata)?.kind)==="topup"){if(G.mode!=="payment")return{handled:!1,reason:"topup with wrong mode"};if($$(G.payment_status)!=="paid")return{handled:!1,reason:"payment not confirmed"};let W=$$(G.id);if(!W)return console.error("stripe webhook: topup session without id",{eventId:X.id,organizationId:Y}),{handled:!1,reason:"topup session without id"};let K=Number(J$(G.metadata)?.creditCents);if(!Number.isInteger(K)||K<=0)return console.error("stripe webhook: paid topup with bad metadata \u2014 credit NOT applied",{eventId:X.id,organizationId:Y,creditCents:J$(G.metadata)?.creditCents}),{handled:!1,reason:"bad topup metadata"};return{handled:!0,organizationId:Y,topUp:{creditCents:K,referenceId:`stripe-topup:${W}`}}}if(G.mode!=="subscription")return{handled:!1,reason:"not a subscription checkout"};if($$(G.payment_status)!=="paid")return{handled:!1,reason:"payment not confirmed"};let Q=await Z.getBilling(Y);if(!Q)return{handled:!1,reason:"unknown org"};if(Q.legacy||Q.billingMode!=="self_serve")return console.error("stripe webhook: refused checkout bind",{organizationId:Y,eventId:X.id,legacy:Q.legacy,billingMode:Q.billingMode}),{handled:!1,reason:"org is not self-serve"};let $=Y51(G.subscription);if(Q.stripeSubscriptionId&&$&&Q.stripeSubscriptionId!==$)return console.error("stripe webhook: refused checkout rebind",{organizationId:Y,eventId:X.id}),{handled:!1,reason:"org already bound to another subscription",orphanSubscriptionId:$};if(X51(X,Q))return{handled:!1,reason:"stale event"};let J=`stripe-checkout:${$$(G.id)??crypto.randomUUID()}`;return await Z.updateStripeState(Y,{stripeCustomerId:Y51(G.customer),stripeSubscriptionId:$,status:"active",benefitsReferenceId:J,lastStripeEventAt:G51(X,Q)}),{handled:!0,organizationId:Y,benefitsReferenceId:J}}case"customer.subscription.updated":case"customer.subscription.deleted":{let Y=$$(G.id);if(!Y)return{handled:!1,reason:"no sub id"};let Q=await Z.getBillingByStripeSubscriptionId(Y);if(!Q)return{handled:!1,reason:"unknown subscription"};let $=X.type==="customer.subscription.deleted";if(!$&&X51(X,Q))return{handled:!1,reason:"stale event"};let J=$?"canceled":AX5(G.status),W=TX5(G),K=`stripe-sub:${Y}:${J}:${W?.getTime()??0}`;return await Z.updateStripeState(Q.organizationId,{status:J,currentPeriodEnd:W,...$&&{stripeSubscriptionId:null},benefitsReferenceId:K,lastStripeEventAt:G51(X,Q)}),{handled:!0,organizationId:Q.organizationId,benefitsReferenceId:K}}case"invoice.paid":{let Y=PX5(G);if(!Y)return{handled:!1,reason:"no sub id"};let Q=await Z.getBillingByStripeSubscriptionId(Y);if(!Q)return{handled:!1,reason:"unknown subscription"};if(X51(X,Q))return{handled:!1,reason:"stale event"};let $=`stripe-invoice:${$$(G.id)??crypto.randomUUID()}`;return await Z.updateStripeState(Q.organizationId,{status:"active",currentPeriodEnd:$j0(G.period_end),benefitsReferenceId:$,lastStripeEventAt:G51(X,Q)}),{handled:!0,organizationId:Q.organizationId,benefitsReferenceId:$}}default:return{handled:!1,reason:`unhandled event ${X.type}`}}}async function qX5(Z,X){let[G,Y]=await Promise.all([Z.getBilling(X),Z.listPaidSeatUserIds(X)]);if(!hb(G))return;if(await Z68({subscriptionId:G.stripeSubscriptionId,targetQuantity:Y.length}))console.error("stripe webhook: reconciled diverged seat quantity",{organizationId:X,targetQuantity:Y.length})}async function zx8(Z){let X=new TN(T6().db),G=await RX5(X,Z);if(G.handled&&G.topUp)await SM1({organizationId:G.organizationId,amountCents:G.topUp.creditCents,referenceId:G.topUp.referenceId});if(G.handled&&G.benefitsReferenceId)try{await SN(G.organizationId,G.benefitsReferenceId,"apply")}catch(Y){console.error("Failed to enqueue benefit sync (sweep covers):",Y)}if(G.handled&&IX5.has(Z.type))try{await qX5(X,G.organizationId)}catch(Y){console.error("Failed to reconcile seat quantity (next cycle):",Y)}if(!G.handled&&G.orphanSubscriptionId)try{await e88(G.orphanSubscriptionId),console.error("stripe webhook: canceled orphan subscription",{subscriptionId:G.orphanSubscriptionId,eventId:Z.id})}catch(Y){if(!(Y instanceof fY&&(Y.status===400||Y.status===404)))throw Y}return G}var jX5=300,IX5;var jx8=B(()=>{WY();kb();y_();g00();ub();IX5=new Set(["checkout.session.completed","checkout.session.async_payment_succeeded","invoice.paid"])});var MX5=1048576,Q51;var Ax8=B(()=>{s6();gC();b8();jx8();Q51=new C1;Q51.post("/webhook",AX({maxSize:MX5,onError:(Z)=>Z.json({error:"payload too large"},413)}),async(Z)=>{let X=J1().stripeWebhookSecret;if(!X)return Z.json({error:"stripe billing not configured"},503);let G=await Z.req.text();if(!Lx8(G,Z.req.header("stripe-signature"),X))return Z.json({error:"invalid signature"},400);let Q=Ex8(G);if(!Q)return Z.json({error:"invalid payload"},400);let $=await zx8(Q);return console.log("stripe webhook",{eventId:Q.id,type:Q.type,livemode:Q.livemode,...$}),Z.json({received:!0})})});function Px8(Z,X){if(X.startsWith("text/html")||X.startsWith("image/svg"))Z.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var Tx8,kX5,SX5,Rx8;var Ix8=B(()=>{s6();v$();Sy();lb();Tx8=new C1,kX5=["range","if-none-match","if-modified-since"],SX5=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];Tx8.get("/:org/files/*",async(Z)=>{let X=Z.get("studioContext"),G=X.organization?.id;if(!X.auth?.user?.id){if(dg(Z))return Z.redirect(`/login?next=${encodeURIComponent(Z.req.path)}`,302);throw new P8(401,{message:"Authentication required"})}if(!G)throw new P8(401,{message:"Organization context required"});let Y=Z.req.path.replace(/^.*\/files\//,"");if(!Y)throw new P8(400,{message:"Missing file key"});let Q=await xp(Y,X);if(!Q)throw new P8(503,{message:"Object storage not configured"});if(Q.startsWith("data:")&&b$()){let K=Q.match(/^data:([^;]+);base64,(.+)$/s);if(!K)throw new P8(500,{message:"Invalid data URL from storage"});let[,N,F]=K,U=Buffer.from(F,"base64"),H=new Headers({"Content-Type":N,"Cache-Control":"private, max-age=86400"});return Px8(H,N),new Response(U,{status:200,headers:H})}let $=new Headers;for(let K of kX5){let N=Z.req.header(K);if(N)$.set(K,N)}let J=await fetch(Q,{headers:$});if(J.status===403||J.status===404)throw new P8(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:`,Y),new P8(502,{message:"Upstream storage error"});let W=new Headers;for(let K of SX5){let N=J.headers.get(K);if(N)W.set(K,N)}return W.set("Cache-Control","private, max-age=86400"),Px8(W,W.get("content-type")??""),new Response(J.body,{status:J.status,headers:W})});Rx8=Tx8});var po=f((Zf)=>{var VX5=Zf&&Zf.__createBinding||(Object.create?function(Z,X,G,Y){if(Y===void 0)Y=G;var Q=Object.getOwnPropertyDescriptor(X,G);if(!Q||("get"in Q?!X.__esModule:Q.writable||Q.configurable))Q={enumerable:!0,get:function(){return X[G]}};Object.defineProperty(Z,Y,Q)}:function(Z,X,G,Y){if(Y===void 0)Y=G;Z[Y]=X[G]}),CX5=Zf&&Zf.__exportStar||function(Z,X){for(var G in Z)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(X,G))VX5(X,Z,G)};Object.defineProperty(Zf,"__esModule",{value:!0});CX5($Q(),Zf)});var kx8=f((qx8)=>{Object.defineProperty(qx8,"__esModule",{value:!0});qx8.version=void 0;qx8.version="3.4.0"});var Cx8=f((hK)=>{var fX5=hK&&hK.__importDefault||function(Z){return Z&&Z.__esModule?Z:{default:Z}};Object.defineProperty(hK,"__esModule",{value:!0});hK.NodeTransport=hK.VERSION=void 0;hK.nodeResolveHost=gX5;var n5=po(),bX5=c0("net"),$51=c0("tls"),vX5=c0("path"),Sx8=c0("fs"),xX5=fX5(c0("dns")),_X5=kx8();hK.VERSION=_X5.version;var yX5="nats.js";class Vx8{socket;version;lang;yields=[];signal=(0,n5.deferred)();closedNotification=(0,n5.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=yX5,this.version=hK.VERSION}async connect(Z,X){this.tlsName=Z.tlsName,this.options=X;let{tls:G}=this.options,{handshakeFirst:Y}=G||{};try{if(Y===!0)this.socket=await this.tlsFirst(Z);else this.socket=await this.dial(Z);if(this.done)this.socket?.destroy();let Q=await this.peekInfo();(0,n5.checkOptions)(Q,X);let{tls_required:$,tls_available:J}=Q,W=J===!0&&X.tls!==null;if(!Y&&($||W))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if($&&this.socket.encrypted!==!0)throw n5.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(Q){let $=Q;if(!$)$=new n5.errors.ConnectionError("error connecting - node provided an undefined error");let{code:J}=$,W=J==="ECONNREFUSED"?new n5.errors.ConnectionError("connection refused",{cause:$}):$;throw this.socket?.destroy(),W}}dial(Z){let X=(0,n5.deferred)(),G,Y=(0,bX5.createConnection)(Z.port,Z.hostname,()=>{X.resolve(Y),Y.removeAllListeners()});return Y.on("error",(Q)=>{G=Q}),Y.on("close",()=>{Y.removeAllListeners(),X.reject(G)}),Y.setNoDelay(!0),X}get isClosed(){return this.done}close(Z){return this._closed(Z,!1)}peekInfo(){let Z=(0,n5.deferred)(),X;return this.socket.on("data",(G)=>{this.yields.push(G);let Y=n5.DataBuffer.concat(...this.yields),Q=(0,n5.extractProtocolMessage)(Y);if(Q!=="")try{let $=n5.INFO.exec(Q);if(!$)throw Error("unexpected response from server");let J=JSON.parse($[1]);Z.resolve(J)}catch($){Z.reject($)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(G)=>{X=G}),this.socket.on("close",()=>{this.socket.removeAllListeners(),Z.reject(X)}),Z}loadFile(Z){if(!Z)return Promise.resolve();let X=(0,n5.deferred)();try{if(Z=(0,vX5.resolve)(Z),!(0,Sx8.existsSync)(Z))X.reject(Error(`${Z} doesn't exist`));(0,Sx8.readFile)(Z,(G,Y)=>{if(G)return X.reject(G);X.resolve(Y)})}catch(G){X.reject(G)}return X}async loadClientCerts(){let Z={},{certFile:X,cert:G,caFile:Y,ca:Q,keyFile:$,key:J}=this.options.tls;try{if(X){let W=await this.loadFile(X);if(W)Z.cert=W}else if(G)Z.cert=G;if($){let W=await this.loadFile($);if(W)Z.key=W}else if(J)Z.key=J;if(Y){let W=await this.loadFile(Y);if(W)Z.ca=[W]}else if(Q)Z.ca=Q;return Promise.resolve(Z)}catch(W){return Promise.reject(W)}}async tlsFirst(Z){let X,G={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)G.socket=this.socket;if(typeof this.options.tls==="object")try{let Q=await this.loadClientCerts()||{};G=(0,n5.extend)(G,this.options.tls,Q)}catch(Q){return Promise.reject(new n5.errors.ConnectionError(Q.message,{cause:Q}))}let Y=(0,n5.deferred)();try{let Q=(0,$51.connect)(Z.port,Z.hostname,G,()=>{Q.removeAllListeners(),Y.resolve(Q)});Q.on("error",($)=>{X=$}),Q.on("secureConnect",()=>{if(G.rejectUnauthorized===!1)return;if(!Q.authorized)throw Q.authorizationError}),Q.on("close",()=>{Y.reject(X),Q.removeAllListeners()}),Q.setNoDelay(!0)}catch(Q){Y.reject(new n5.errors.ConnectionError(Q.message,{cause:Q}))}return Y}async startTLS(){let Z,X={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};X=(0,n5.extend)(X,this.options.tls,Y)}catch(Y){return Promise.reject(new n5.errors.ConnectionError(Y.message,{cause:Y}))}let G=(0,n5.deferred)();try{let Y=(0,$51.connect)(X,()=>{Y.removeAllListeners(),G.resolve(Y)});Y.on("error",(Q)=>{Z=Q}),Y.on("secureConnect",()=>{if(X.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{G.reject(Z),Y.removeAllListeners()})}catch(Y){G.reject(new n5.errors.ConnectionError(Y.message,{cause:Y}))}return G}setupHandlers(){let Z;this.socket.on("data",(X)=>{return this.yields.push(X),this.signal.resolve()}),this.socket.on("error",(X)=>{Z=X}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed(Z,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let Z=this.yields;this.yields=[];for(let X=0;X<Z.length;X++){if(this.options.debug)console.info(`> ${(0,n5.render)(Z[X])}`);yield Z[X]}if(this.done)break;else if(this.yields.length===0)Z.length=0,this.yields=Z,this.signal=(0,n5.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 $51.TLSSocket}_send(Z){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,n5.render)(Z)}`);let X=(0,n5.deferred)();try{this.socket.write(Z,(G)=>{if(G){if(this.options.debug)console.error(`!!! ${(0,n5.render)(Z)}: ${G}`);return X.reject(G)}return X.resolve()})}catch(G){if(this.options.debug)console.error(`!!! ${(0,n5.render)(Z)}: ${G}`);X.reject(G)}return X}send(Z){this._send(Z).catch((G)=>{})}async _closed(Z,X=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=Z,!Z&&this.socket&&X)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}}hK.NodeTransport=Vx8;function gX5(Z){let X=(0,n5.deferred)();return xX5.default.lookup(Z,{all:!0},(G,Y)=>{if(G){X.reject(G);return}let Q=[];for(let $ of Y)Q.push($.address);if(Q.length===0)Q.push(Z);X.resolve(Q)}),X}});var _x8=f((xx8)=>{Object.defineProperty(xx8,"__esModule",{value:!0});xx8.connect=hX5;var fx8=Cx8(),bx8=po(),vx8=po();function hX5(Z={}){if((0,vx8.hasWsProtocol)(Z))return Promise.reject(vx8.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,bx8.setTransportFactory)({factory:()=>{return new fx8.NodeTransport},dnsResolveFn:fx8.nodeResolveHost}),bx8.NatsConnectionImpl.connect(Z)}});var yx8=f((JU)=>{var cX5=JU&&JU.__createBinding||(Object.create?function(Z,X,G,Y){if(Y===void 0)Y=G;var Q=Object.getOwnPropertyDescriptor(X,G);if(!Q||("get"in Q?!X.__esModule:Q.writable||Q.configurable))Q={enumerable:!0,get:function(){return X[G]}};Object.defineProperty(Z,Y,Q)}:function(Z,X,G,Y){if(Y===void 0)Y=G;Z[Y]=X[G]}),lX5=JU&&JU.__exportStar||function(Z,X){for(var G in Z)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(X,G))cX5(X,Z,G)};Object.defineProperty(JU,"__esModule",{value:!0});JU.connect=void 0;var dX5=_x8();Object.defineProperty(JU,"connect",{enumerable:!0,get:function(){return dX5.connect}});lX5(po(),JU)});function cx8(Z){let X=Z?.connectFn??pX5,G=null,Y=null,Q=!1,$=!1,J=!1,W=[];function K(){return G!==null&&!G.isClosed()&&!G.isDraining()&&!J}function N(){console.log(`[NatsProvider] fireReady: ${W.length} callbacks`);for(let H of W)try{H()}catch{}}function F(H){(async()=>{for await(let w of H.status())if(w.type==="disconnect")console.log("[NatsProvider] Disconnected"),J=!0;else if(w.type==="reconnect")console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),J=!1,Y=null,N()})().catch(()=>{})}async function U(H,w){let O=0;while(!$)try{G=await X({servers:H,timeout:nX5,reconnect:!0,maxReconnectAttempts:-1,...w?{authenticator:w}:{}}),console.log(`[NatsProvider] Connected to ${G.getServer()} after ${O} attempt(s)`),Y=null,J=!1,F(G),N();return}catch{O++;let D=eY(iX5,mX5,O-1,2,0.5);await d6(D)}}return{init(H,w){if(Q)return;Q=!0,$=!1;let O=w?.creds?gx8.credsAuthenticator(new TextEncoder().encode(w.creds)):void 0;U(H,O).catch(()=>{})},isConnected(){return K()},getConnection(){return K()?G:null},getJetStream(){if(!K())return null;if(!Y)Y=ux8.jetstream(G);return Y},onReady(H){if(W.push(H),K())try{H()}catch{}},async drain(){if($=!0,Q=!1,Y=null,J=!1,G){let H=G;G=null,await H.drain().catch(()=>{})}}}}function pX5(Z){return hx8.connect(Z)}var gx8,hx8,ux8,mX5=100,iX5=3000,nX5=3000;var lx8=B(()=>{c9();gx8=k(_h(),1),hx8=k(yx8(),1),ux8=k(OB(),1)});function J51(Z,X){return`${Z}.${X}`}class W51{cache;constructor(Z){this.cache=Sg({ttlMs:Z?.ttlMs??tX5,maxSize:Z?.maxSize??oX5})}async get(Z,X){return this.cache.get(J51(Z,X))??null}async set(Z,X,G){this.cache.set(J51(Z,X),G)}async invalidate(Z,X){this.cache.delete(J51(Z,X))}teardown(){this.cache.clear()}}var tX5=600000,oX5=5000;var dx8=()=>{};function Jj0(Z,X){return`${Z}:${X}`}function K51(Z){let X=Sg({ttlMs:Z?.ttlMs??rX5,maxSize:Z?.maxSize??aX5}),G=Z?.getConnection,Y=crypto.randomUUID(),Q=new TextEncoder,$=new TextDecoder,J=null;function W(K,N){let F=G?.();if(!F)return;try{F.publish(mx8,Q.encode(JSON.stringify({organizationId:K,keyId:N,originId:Y})))}catch(U){console.warn("[ProviderKeyCache] Publish failed (non-critical):",U)}}return{get(K,N){return X.get(Jj0(K,N))},set(K,N,F){X.set(Jj0(K,N),F)},invalidate(K,N){X.delete(Jj0(K,N)),W(K,N)},start(){if(J)return;let K=G?.();if(!K)return;J=K.subscribe(mx8),(async()=>{for await(let N of J)try{let F=JSON.parse($.decode(N.data));if(F.originId===Y)continue;X.delete(Jj0(F.organizationId,F.keyId))}catch{}})().catch(console.error)},teardown(){J?.unsubscribe(),J=null,X.clear()}}}var mx8="studio.ai-provider-keys.invalidate",rX5=30000,aX5=5000;var ix8=()=>{};class N51{options;subscriptions=[];onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();seenMessageIds=new Set;constructor(Z){this.options=Z}async start(Z){if(Z)this.onCancel=Z;if(this.subscriptions.length>0)return;if(!this.onCancel)return;let X=this.options.getConnection();if(!X)return;let G=new TextDecoder;this.subscriptions=nx8.map((Y)=>X.subscribe(Y));for(let Y of this.subscriptions)(async()=>{for await(let Q of Y)try{let $=JSON.parse(G.decode(Q.data));if($.originId===this.originId)continue;if($.messageId&&this.hasSeen($.messageId))continue;this.onCancel?.($.taskId)}catch{}})().catch(console.error)}broadcast(Z){if(/[.*>\s]/.test(Z)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.(Z);try{let X=this.options.getConnection();if(!X)return;let G=this.encoder.encode(JSON.stringify({taskId:Z,originId:this.originId,messageId:crypto.randomUUID()}));for(let Y of nx8)X.publish(Y,G)}catch(X){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",X)}}publishControlFrame(Z,X){}async stop(){for(let Z of this.subscriptions)Z.unsubscribe();this.subscriptions=[],this.seenMessageIds.clear(),this.onCancel=null}hasSeen(Z){if(this.seenMessageIds.has(Z))return!0;if(this.seenMessageIds.add(Z),this.seenMessageIds.size>1000){let X=this.seenMessageIds.values().next().value;if(X)this.seenMessageIds.delete(X)}return!1}}var nx8;var px8=B(()=>{nx8=["studio.decopilot.cancel","mesh.decopilot.cancel"]});var tx8=(Z)=>{let X;return()=>X??=Z()},F51,U51;var ox8=B(()=>{w9();F51=tx8(()=>D6.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),U51=tx8(()=>D6.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function QG5(){return{name:TF,subjects:[`${Ei0}.>`],storage:iJ.StorageType.File,max_age:ZG5,max_bytes:GG5,max_msgs_per_subject:YG5,discard:iJ.DiscardPolicy.Old,retention:iJ.RetentionPolicy.Limits,duplicate_window:XG5,num_replicas:1}}class sx8{chunks=0;encodeMs=0;maxMs=0;bytes=0;windowStart=performance.now();constructor(){setInterval(()=>this.flush(),1e4).unref?.()}record(Z,X){if(this.chunks++,this.encodeMs+=Z,Z>this.maxMs)this.maxMs=Z;this.bytes+=X}flush(){let Z=performance.now(),X=Z-this.windowStart;if(this.chunks>0&&X>0)console.warn(JSON.stringify({msg:"stream-encode-trace",windowMs:Math.round(X),chunks:this.chunks,encodeMs:Math.round(this.encodeMs),pctOfLoop:+(this.encodeMs/X*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=Z}}function rx8(Z){let X=ax8.headers();for(let[G,Y]of Object.entries(Z))X.set(G,Y);return X}function KG5(Z,X){let G=0;return{publish(Y,Q,$,J){Y.publish(Q,$,J?{headers:J}:void 0).catch((W)=>{if(G++,eX5().add(1,{"org.id":X??"unknown"}),G===1||G%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${Z} (${G} total):`,W)})},get errorCount(){return G}}}function NG5(Z){if(!(Z instanceof Error))return!1;if(Z.name==="TimeoutError")return!0;return/timeout|no responders|503/i.test(Z.message)}class H51{options;js=null;jsm=null;constructor(Z){this.options=Z}async init(){let Z=this.options.getConnection();if(!Z){console.log("[Decopilot] StreamBuffer.init skipped: NATS not connected yet");return}let X=QG5(),G=await ZQ(async()=>{let Y=this.options.getJetStreamManager?await this.options.getJetStreamManager():await iJ.jetstreamManager(Z);try{await Y.streams.info(TF),await Y.streams.update(TF,X)}catch(Q){if(Q instanceof Error&&Q.message.includes("stream not found"))await Y.streams.add(X);else if(Q instanceof Error&&/can ?not change.*storage|storage type/i.test(Q.message))await Y.streams.delete(TF),await Y.streams.add(X);else throw Q}return Y},{maxAttempts:5,minTimeout:250,maxTimeout:4000,jitter:0.5,isRetriable:NG5});this.js=this.options.getJetStream(),this.jsm=G,console.log(`[Decopilot] StreamBuffer.init ${this.js?"ready":"degraded (js=null)"}`)}pump(Z,X,G,Y){let Q=this.js;if(!Q)return console.warn(`[Decopilot] pump: JetStream client unavailable for thread ${X}; chunks NOT published to NATS`),Promise.resolve();let $=KG5(X,Y),J=!1,W=()=>{if(J)return;J=!0;let N=cZ8(X);Q.publish(N.subject,N.data).catch(()=>{})};G.addEventListener("abort",W,{once:!0});let K=(N)=>{let F=performance.now(),U=ji0(N,{runId:X}),H=performance.now()-F;if(F51().record(H),U51().add(1,{"org.id":Y??"unknown"}),WG5?.record(H,U.reduce((w,O)=>w+O.data.length,0)),U.length===0){console.warn(`[Decopilot] dropping oversized stream chunk for thread ${X}`);return}for(let w of U)$.publish(Q,w.subject,w.data,w.headers?rx8(w.headers):void 0)};return(async()=>{let N=Z.getReader(),F=0,U=0,H;try{while(!0){let{done:w,value:O}=await N.read();if(w)break;if(K(O),U++,++F>=64)F=0,await new Promise((D)=>setImmediate(D))}}catch(w){H=w,console.warn(`[Decopilot] stream pump error for thread ${X}:`,w?.message??w)}finally{if(N.releaseLock(),W(),JG5)console.warn(JSON.stringify({msg:"decopilot-stream-diag",event:"pump-done",taskId:X,publishedChunks:U,publishErrors:$.errorCount}))}if(H!==void 0)throw H})()}async publishRawChunk(Z,X,G){let Y=this.js;if(!Y)return!1;let Q=performance.now(),$=ji0(X,{runId:Z,dedup:G});if(F51().record(performance.now()-Q),U51().add(1),$.length===0)return console.warn(`[Decopilot] dropping oversized raw chunk for thread ${Z} (> MAX_CHUNKED_BYTES)`),!0;for(let J of $)await Y.publish(J.subject,J.data,{...J.headers?{headers:rx8(J.headers)}:{},...J.msgId?{msgID:J.msgId}:{}});return!0}async publishDone(Z,X,G){let Y=this.js;if(!Y)return!1;let Q=uZ8({runId:Z,fenceToken:X,finalSeq:G});return await Y.publish(Q.subject,Q.data,{msgID:Q.msgId}),!0}async createTailStream(Z,X,G){let Y=this.js;if(!Y)return console.warn(`[Decopilot] createTailStream: JetStream client unavailable for thread ${Z}; no live tail`),null;let Q=G?.deliverPolicy==="new"?iJ.DeliverPolicy.New:iJ.DeliverPolicy.All,$=G?.closeOnDone??!1,J=lw(Z),W;try{W=await(await Y.consumers.get(TF,{filter_subjects:J,deliver_policy:Q})).consume()}catch(D){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",D?.message??D),null}let F=F70({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(W70()).pipeThrough(K70()).getReader(),U=!1,H=()=>{if(U)return;U=!0;try{F.releaseLock()}catch{}},w=!1,O=()=>{if(w)return;w=!0,W.stop(),F.cancel().catch(()=>{}),H()};return X?.addEventListener("abort",O,{once:!0}),new ReadableStream({async pull(D){for(;;){let{done:L,value:E}=await F.read();if(L){O(),D.close();return}let z=E;if(z.kind==="done"){if($){O(),D.close();return}continue}D.enqueue(z.chunk);return}},cancel(){O()}})}purge(Z){if(!this.jsm)return;this.jsm.streams.purge(TF,{filter:lw(Z)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var iJ,ax8,sX5=(Z)=>{let X;return()=>X??=Z()},eX5,ZG5=86400000000000,XG5=120000000000,GG5=4294967296,YG5=500000,$G5,JG5,WG5;var ex8=B(()=>{c9();Pi0();U70();Ai0();w9();ox8();iJ=k(OB(),1),ax8=k(_h(),1),eX5=sX5(()=>D6.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"}));$G5=process.env.STREAM_ENCODE_TRACE==="1",JG5=process.env.DECOPILOT_STREAM_TRACE==="1";WG5=$G5?new sx8:null});import{z as $6}from"zod";var Z_8,X_8,uK,w51,G_8,Y_8,Q_8,$_8,FG5,J_8,W_8,K_8,N_8,F_8,UG5,U_8,IW7,HG5,wG5=(Z)=>{return Z.issues.map((X)=>{return`${X.path.length>0?X.path.join("."):"frame"}: ${X.message}`}).join("; ")},H_8=(Z)=>{return new TextEncoder().encode(JSON.stringify(Z))},w_8=(Z)=>{let X;try{X=JSON.parse(new TextDecoder().decode(Z))}catch($){throw TypeError("malformed JSON in tunnel frame",{cause:$})}if(X===null||typeof X!=="object"||Array.isArray(X))throw TypeError("frame must be an object");if(!("type"in X))throw TypeError("frame type missing");let G=X.type,Y=typeof G==="string"?HG5[G]:void 0;if(!Y)throw TypeError(`unknown frame type: ${String(G)}`);let Q=Y.safeParse(X);if(!Q.success)throw TypeError(`invalid tunnel frame: ${wG5(Q.error)}`);return Q.data};var O_8=B(()=>{Z_8=$6.string().regex(/^[A-Za-z0-9_-]*$/u),X_8=$6.array($6.tuple([$6.string(),$6.string()])),uK=$6.string().regex(/^[A-Za-z0-9_-]+$/u),w51=$6.string().min(1),G_8=$6.object({type:$6.literal("request.start"),protocol:$6.literal("tunnel.v1"),requestId:uK,method:$6.string().min(1),url:$6.string().min(1),headers:X_8,replySubject:w51,bodySubject:w51.optional(),abortSubject:w51,deadlineUnixMs:$6.number().int().nonnegative().optional()}),Y_8=$6.object({type:$6.literal("request.chunk"),requestId:uK,seq:$6.number().int().nonnegative(),data:Z_8}),Q_8=$6.object({type:$6.literal("request.end"),requestId:uK,seq:$6.number().int().nonnegative()}),$_8=$6.object({type:$6.literal("request.error"),requestId:uK,code:$6.string().min(1),message:$6.string()}),FG5=$6.union([Y_8,Q_8,$_8]),J_8=$6.object({type:$6.literal("response.ack"),requestId:uK}),W_8=$6.object({type:$6.literal("response.start"),requestId:uK,status:$6.number().int().min(100).max(599),statusText:$6.string().optional(),headers:X_8}),K_8=$6.object({type:$6.literal("response.chunk"),requestId:uK,seq:$6.number().int().nonnegative(),data:Z_8}),N_8=$6.object({type:$6.literal("response.end"),requestId:uK,seq:$6.number().int().nonnegative()}),F_8=$6.object({type:$6.literal("response.error"),requestId:uK,code:$6.string().min(1),message:$6.string()}),UG5=$6.union([J_8,W_8,K_8,N_8,F_8]),U_8=$6.object({type:$6.literal("abort"),requestId:uK,reason:$6.string().optional()}),IW7=$6.union([G_8,FG5,UG5,U_8]),HG5={"request.start":G_8,"request.chunk":Y_8,"request.end":Q_8,"request.error":$_8,"response.ack":J_8,"response.start":W_8,"response.chunk":K_8,"response.end":N_8,"response.error":F_8,abort:U_8}});var OG5=(Z)=>{return Z.replaceAll("+","-").replaceAll("/","_").replaceAll("=","")},BG5=(Z)=>{let X=Z.replaceAll("-","+").replaceAll("_","/"),G=(4-X.length%4)%4;return X+"=".repeat(G)},DG5=(Z)=>{let X=[];for(let G=0;G<Z.length;G+=32768)X.push(String.fromCharCode(...Z.subarray(G,G+32768)));return X.join("")},LG5=(Z)=>{let X=new Uint8Array(Z.length);for(let G=0;G<Z.length;G+=32768){let Y=Z.slice(G,G+32768);X.set(Uint8Array.from(Y,(Q)=>Q.charCodeAt(0)),G)}return X},B_8=(Z)=>{return OG5(btoa(DG5(Z)))},D_8=(Z)=>{return LG5(atob(BG5(Z)))},EG5;var L_8=B(()=>{EG5=class EG5{#Z=[];#X;#G=!1;#$=new Set;push(Z){if(this.#G)return;let X=this.#Q();if(X){X.resolve({value:Z,done:!1});return}this.#Z.push(Z)}close(){if(this.#G)return;this.#G=!0,this.#Y()}fail(Z){if(this.#G)return;this.#X=Z,this.#G=!0,this.#J(Z)}[Symbol.asyncIterator](){let Z=!1,X=new Set;return{next:()=>{if(Z)return Promise.resolve({value:void 0,done:!0});if(this.#Z.length>0)return Promise.resolve({value:this.#Z.shift(),done:!1});if(this.#X)return Promise.reject(this.#X);if(this.#G)return Promise.resolve({value:void 0,done:!0});return new Promise((G,Y)=>{let Q;Q={resolve:($)=>{X.delete(Q),G($)},reject:($)=>{X.delete(Q),Y($)}},X.add(Q),this.#$.add(Q)})},return:()=>{Z=!0;for(let G of X)this.#$.delete(G),G.resolve({value:void 0,done:!0});return X.clear(),Promise.resolve({value:void 0,done:!0})}}}#Q(){for(let Z of this.#$)return this.#$.delete(Z),Z;return}#Y(){for(let Z of this.#$)Z.resolve({value:void 0,done:!0});this.#$.clear()}#J(Z){for(let X of this.#$)X.reject(Z);this.#$.clear()}}});function*kG5(Z,X){for(let G=0;G<Z.length;G+=X)yield Z.subarray(G,G+X)}class _G5{maxSize;ttlMs;now;#Z=new Map;constructor(Z,X,G=Date.now){this.maxSize=Z;this.ttlMs=X;this.now=G}get(Z){let X=this.#Z.get(Z);if(!X)return;if(X.expiresAt<=this.now()){this.#Z.delete(Z);return}return X.value}has(Z){return this.get(Z)!==void 0}set(Z,X){let G=this.now();this.prune(G),this.#Z.delete(Z),this.#Z.set(Z,{value:X,expiresAt:G+this.ttlMs});while(this.#Z.size>this.maxSize){let Y=this.#Z.keys().next().value;if(Y===void 0)return;this.#Z.delete(Y)}}take(Z){let X=this.get(Z);return this.#Z.delete(Z),X}clear(){this.#Z.clear()}prune(Z){for(let[X,G]of this.#Z)if(G.expiresAt<=Z)this.#Z.delete(X)}}var zG5=30000,jG5=1000,AG5=65536,W$,PG5=(Z)=>{return"connection"in Z},TG5=(Z)=>{let X=PG5(Z)?Z:{connection:Z};return{connection:X.connection,timeoutMs:X.timeoutMs??0,firstFrameTimeoutMs:X.firstFrameTimeoutMs??zG5,idleTimeoutMs:X.idleTimeoutMs??0,republishIntervalMs:X.republishIntervalMs??jG5,maxChunkBytes:X.maxChunkBytes??AG5,diagnostics:X.diagnostics}},E_8=(Z)=>{return Array.from(Z.entries())},RG5=(Z)=>{return Z!==void 0&&!(Z instanceof Headers)&&typeof Z!=="function"&&typeof Z[Symbol.iterator]==="function"},IG5=(Z,X,G)=>{if(RG5(X?.headers))return Array.from(X?.headers,([Y,Q])=>[String(Y),String(Q)]);if(Z instanceof Request)return E_8(G.headers);return E_8(G.headers)},z_8=(Z)=>{let X=new Headers;for(let[G,Y]of Z)X.append(G,Y);return X},qG5=()=>{return crypto.randomUUID().replaceAll("-","")},MG5=(Z)=>{try{Z?.unsubscribe()}catch{}},SG5=(Z)=>{if(!Number.isSafeInteger(Z)||Z<1)throw TypeError("maxChunkBytes must be a positive safe integer")},VG5=(Z,X)=>{return Z==="HEAD"||X===204||X===205||X===304},rO=(Z,X,G)=>{Z.publish(X,H_8(G))},CG5=(Z)=>{return Z.type.startsWith("response.")},O51=(Z)=>{let X=Z.reason;if(X instanceof Error)return X.message;if(typeof X==="string")return X;return"aborted"},fG5=(Z)=>{if(Z==="idle")return new W$("tunnel_idle_timeout","no response frame within idleTimeoutMs");return new W$("tunnel_no_first_frame","no response frame arrived before firstFrameTimeoutMs")},j_8=async(Z,X,G,Y,Q="first_frame")=>{while(!0){let $,J;try{let W=await Promise.race([Z.next(),new Promise((N,F)=>{if(Y.aborted){F(Y.reason);return}let U=()=>F(Y.reason);J=()=>{Y.removeEventListener("abort",U)},Y.addEventListener("abort",U,{once:!0})}),...G>0?[new Promise((N,F)=>{$=setTimeout(()=>{F(fG5(Q))},G)})]:[]]);if(W.done)return{value:void 0,done:!0};let K=w_8(W.value.data);if(!CG5(K)||K.requestId!==X)continue;return{value:K,done:!1}}finally{if(J?.(),$)clearTimeout($)}}},bG5=async(Z)=>{let X=!1;while(!0){let G=await j_8(Z.iterator,Z.requestId,X?0:Z.firstFrameTimeoutMs,Z.signal);if(G.done)throw new W$("tunnel_response_closed","response subscription closed before response.start");if(!X)X=!0,Z.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 W$(G.value.code,G.value.message);throw new W$("tunnel_unexpected_response_frame",`expected response.start, got ${G.value.type}`)}},vG5=async(Z)=>{let X=Z.body.getReader(),G=0,Y=!1,Q=()=>{Y=!0,X.cancel(Z.signal.reason).catch(()=>{})};try{if(Z.signal.aborted){Q();return}Z.signal.addEventListener("abort",Q,{once:!0});while(!0){let{done:$,value:J}=await X.read();if(Y)return;if($){rO(Z.connection,Z.subject,{type:"request.end",requestId:Z.requestId,seq:G});return}for(let W of kG5(J,Z.maxChunkBytes)){if(Y)return;rO(Z.connection,Z.subject,{type:"request.chunk",requestId:Z.requestId,seq:G,data:B_8(W)}),G++}}}catch($){if(Y)return;rO(Z.connection,Z.subject,{type:"request.error",requestId:Z.requestId,code:"tunnel_request_body_error",message:$ instanceof Error?$.message:String($)})}finally{Z.signal.removeEventListener("abort",Q),X.releaseLock()}},xG5=(Z)=>{return new ReadableStream({async pull(X){while(!0)try{let G=await j_8(Z.iterator,Z.requestId,Z.idleTimeoutMs,Z.signal,"idle");if(G.done){X.error(new W$("tunnel_response_closed","response subscription closed before response.end")),Z.cleanup();return}let Y=G.value;if(Y.type==="response.ack"||Y.type==="response.start")continue;if(Y.type==="response.chunk"){X.enqueue(D_8(Y.data));return}if(Y.type==="response.end"){X.close(),Z.cleanup();return}X.error(new W$(Y.code,Y.message)),Z.cleanup();return}catch(G){X.error(G),Z.cleanup();return}},cancel(){rO(Z.connection,Z.abortSubject,{type:"abort",requestId:Z.requestId,reason:"response_body_cancelled"}),Z.cleanup()}},{highWaterMark:0})},aO=(Z)=>{let X=TG5(Z);return SG5(X.maxChunkBytes),async(G,Y)=>{let Q=Rv8(G),$=new Request(G,Y),J=qG5(),W=Iv8(Q.hostname,J),K=new AbortController,N=new AbortController,F=!1,U,H,w,O,D=!1,L=(A=new W$("tunnel_closed","tunnel request closed"))=>{if(F)return;if(F=!0,MG5(U),$.body&&!D)$.body.cancel(A).catch(()=>{});if(N.abort(A),K.abort(A),w)clearInterval(w);if(O)clearTimeout(O);$.signal.removeEventListener("abort",E)},E=()=>{let A=new W$("tunnel_aborted",O51($.signal));rO(X.connection,W.abort,{type:"abort",requestId:J,reason:O51($.signal)}),K.abort(A),L(A)};if($.signal.aborted)throw new W$("tunnel_aborted",O51($.signal));if(U=X.connection.subscribe(W.reply),H=U[Symbol.asyncIterator](),$.signal.addEventListener("abort",E,{once:!0}),X.timeoutMs>0)O=setTimeout(()=>{let A=new W$("tunnel_timeout",`tunnel request timed out after ${X.timeoutMs}ms`);rO(X.connection,W.abort,{type:"abort",requestId:J,reason:"tunnel_timeout"}),K.abort(A),L(A)},X.timeoutMs);let z={type:"request.start",protocol:"tunnel.v1",requestId:J,method:$.method,url:Q.pathWithSearch,headers:IG5(G,Y,$),replySubject:W.reply,abortSubject:W.abort,...$.body?{bodySubject:W.body}:{},...X.timeoutMs>0?{deadlineUnixMs:Date.now()+X.timeoutMs}:{}};rO(X.connection,W.request,z),w=X.republishIntervalMs>0?setInterval(()=>{if(!D)rO(X.connection,W.request,z)},X.republishIntervalMs):void 0;let j=()=>{if(D)return;D=!0,($.body?vG5({connection:X.connection,subject:W.body,requestId:J,body:$.body,maxChunkBytes:X.maxChunkBytes,signal:N.signal}):void 0)?.catch((P)=>{X.diagnostics?.({event:"request_body_error",requestId:J,subject:W.body,error:P instanceof Error?P.message:String(P)})})};try{let A=await bG5({iterator:H,requestId:J,firstFrameTimeoutMs:X.firstFrameTimeoutMs,signal:K.signal,onFirstResponseFrame:()=>{if(w)clearInterval(w);j()}});if(VG5($.method,A.status))return L(),new Response(null,{status:A.status,statusText:A.statusText,headers:z_8(A.headers)});return new Response(xG5({connection:X.connection,abortSubject:W.abort,iterator:H,requestId:J,idleTimeoutMs:X.idleTimeoutMs,signal:K.signal,cleanup:L}),{status:A.status,statusText:A.statusText,headers:z_8(A.headers)})}catch(A){throw L(A instanceof Error?A:Error(String(A))),A}}};var A_8=B(()=>{O_8();L_8();ez0();W$=class W$ extends Error{code;constructor(Z,X,G){super(`${Z}: ${X}`,G);this.code=Z;this.name="TunnelTransportError"}}});var Wj0=B(()=>{A_8()});function P_8(Z){let X=Z.createFetch??yG5,G=Z.timeoutMs??2000;return async(Y)=>{try{let Q=Z.getConnection();if(!Q)return B51;let $=dJ(Y),W=await X(Q,G)(`tunnel://${$}/api/links/status`,{method:"GET"});if(!W.ok)return B51;let K=await W.json();return{online:!0,hostname:K.hostname,capabilities:K.capabilities??[],cliVersion:K.cliVersion}}catch{return B51}}}var B51,yG5=(Z,X)=>aO({connection:Z,firstFrameTimeoutMs:X});var T_8=B(()=>{Wj0();lo();B51={online:!1,capabilities:[]}});async function*gG5(Z){if(!Z.body){yield{headers:{status:Z.status,headers:Object.fromEntries(Z.headers.entries())}};return}let X=Z.body.getReader(),G=!1;try{yield{headers:{status:Z.status,headers:Object.fromEntries(Z.headers.entries())}};while(!0){let{done:Y,value:Q}=await X.read();if(Y){G=!0;return}yield{data:Buffer.from(Q).toString("base64")}}}finally{try{if(!G)await X.cancel()}catch{}finally{X.releaseLock()}}}function R_8(Z){let X=Z.createFetch??((G)=>aO({connection:G,idleTimeoutMs:hG5}));return async function*(Y,Q,$){let J=Z.getConnection();if(!J)throw Error("link_unavailable: NATS unavailable");let W=dJ(Y),K=X(J),N={method:Q.method,headers:Q.headers,signal:$?.signal};if(Q.body!=null)N.body=Q.body;let F=await K(`tunnel://${W}${Q.path}`,N);yield*gG5(F)}}var hG5=45000;var I_8=B(()=>{Wj0();lo()});import{z as nJ}from"zod";function q_8(Z){return JSON.stringify(Z)}var ZK7;var M_8=B(()=>{ZK7=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("cancel"),runId:nJ.string()}),nJ.object({type:nJ.literal("cancel_req"),reqId:nJ.string()}),nJ.object({type:nJ.literal("keep_alive")}),nJ.object({type:nJ.literal("shutdown")})])});function k_8(Z){let X=Z.createFetch??((G)=>aO({connection:G,idleTimeoutMs:uG5}));return{async publish(G,Y,Q){let $=Z.getConnection();if(!$)throw Error("link_unavailable: NATS unavailable");let J=dJ(G),K=await X($)(`tunnel://${J}/api/links/work`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(Y),signal:Q?.signal});if(!K.ok){let N=await K.text().catch(()=>"");throw Error(`tunnel work publish failed (${K.status})${N?`: ${N}`:""}`)}await K.body?.cancel().catch(()=>{})}}}function S_8(Z){let X=Z.createFetch??aO;return{async publishControlFrame(G,Y,Q){let $=Z.getConnection();if(!$)throw Error("link_unavailable: NATS unavailable");let J=dJ(G),K=await X($)(`tunnel://${J}/api/links/control`,{method:"POST",headers:{"content-type":"application/json"},body:q_8(Y),signal:Q?.signal});if(!K.ok){let N=await K.text().catch(()=>"");throw Error(`tunnel control publish failed (${K.status})${N?`: ${N}`:""}`)}await K.body?.cancel().catch(()=>{})}}}var uG5=45000;var V_8=B(()=>{Wj0();M_8();lo()});function Kj0(Z,X,G,Y){if(!Y)return!1;return Z.emit(X,FW(G,Y.status,{title:Y.title??void 0,virtualMcpId:Y.virtual_mcp_id??void 0,createdBy:Y.created_by??void 0,triggerId:Y.trigger_id??null,branch:Y.branch??null,createdAt:Y.created_at,updatedAt:Y.updated_at})),!0}var C_8=B(()=>{v6()});class D51{storage;options;timer=null;constructor(Z,X={}){this.storage=Z;this.options=X}start(){if(this.timer)return;let Z=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},Z)}async runOnce(){let Z=this.options.staleAfterMs??3600000;try{let X=await this.storage.sweepAbandoned(Z);if(X>0)console.log(`[async-research-sweeper] marked ${X} stale jobs as abandoned`);return X}catch(X){return console.error("[async-research-sweeper] sweep failed",X),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}import{readdir as cG5,rm as Nj0}from"fs/promises";import{join as Fj0}from"path";async function Uj0(Z){let X=new Date;X.setUTCDate(X.getUTCDate()-lG5),X.setUTCHours(0,0,0,0);let G=0;try{let Y=await Xf(Z);for(let Q of Y)if(/^\d{4}$/.test(Q))G+=await f_8(Z,Q,X);else if(!Q.startsWith(".")){let $=Fj0(Z,Q),J=await Xf($);for(let K of J){if(!/^\d{4}$/.test(K))continue;G+=await f_8($,K,X)}if((await Xf($)).length===0)await Nj0($,{recursive:!0,force:!0})}}catch(Y){console.warn("monitoring retention cleanup failed:",Y)}return G}async function f_8(Z,X,G){let Y=0,Q=Fj0(Z,X),$=await Xf(Q);for(let W of $){if(!/^\d{2}$/.test(W))continue;let K=Fj0(Q,W),N=await Xf(K);for(let U of N){if(!/^\d{2}$/.test(U))continue;let H=new Date(`${X}-${W}-${U}T00:00:00Z`);if(isNaN(H.getTime()))continue;if(H<G){let w=Fj0(K,U);await Nj0(w,{recursive:!0,force:!0}),Y++}}if((await Xf(K)).length===0)await Nj0(K,{recursive:!0,force:!0})}if((await Xf(Q)).length===0)await Nj0(Q,{recursive:!0,force:!0});return Y}async function Xf(Z){try{return(await cG5(Z)).filter((G)=>!G.startsWith("."))}catch{return[]}}var lG5=30;var L51=()=>{};import{DBOS as E51,SchedulerMode as dG5}from"@dbos-inc/dbos-sdk";async function iG5(){let Z=[N$(),Gf(),dK()],X=0;for(let G of Z)try{X+=await Uj0(G)}catch(Y){console.error("[monitoring-retention] cleanup failed:",Y)}return console.log(`[monitoring-retention] deleted ${X} day-dir(s) across ${Z.length} signal dir(s)`),{deleted:X,dirs:Z.length}}async function nG5(Z,X){await E51.runStep(()=>iG5(),{name:"monitoringRetention"})}function v_8(){if(b_8)return;b_8=!0;let Z=E51.registerWorkflow(nG5,{name:"monitoringRetentionWorkflow"});E51.registerScheduled(Z,{name:"monitoringRetentionWorkflow",crontab:mG5,mode:dG5.ExactlyOncePerIntervalWhenActive})}var mG5="23 4 * * *",b_8=!1;var x_8=B(()=>{XQ();L51()});function __8(Z){return async(X,G)=>{let Y=await Z.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","=",X).executeTakeFirst();if(!Y)return console.warn(`[automationContextFactory] User ${G} not found in org ${X} \u2014 returning null`),null;let Q=await Rw.create();Q.auth.user={id:G,role:Y.role},Q.organization={id:Y.orgId,slug:Y.orgSlug,name:Y.orgName};let $=await Sl0(Z.db,X,Y.role);return Q.boundAuth=kl0({auth:Q.authInstance,headers:new Headers,role:Y.role,permissions:$,userId:G}),Q.access=new FL(G,void 0,Q.boundAuth,Y.role,"self"),l90(Q,{id:Y.orgId,slug:Y.orgSlug}),Q}}var y_8=B(()=>{UL();ei()});function pG5(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function oG5(){for(let Z of tG5)Z()}function g_8(Z){let X=[...z51.logs,Z];z51={...z51,logs:X.length>500?X.slice(-500):X},oG5()}function j51(){return rG5}var z51,tG5,rG5=!1;var A51=B(()=>{z51=pG5(),tG5=new Set});import{EventEmitter as aG5}from"events";var P51;var h_8=B(()=>{A51();P51=new aG5;P51.on("request",(Z)=>{g_8(Z)})});function u_8(){return async(Z,X)=>{let G=Date.now(),Y=Z.req.method,Q=Z.req.path;if(Q==="/api/auth/get-session"||Q.includes("favicon")){await X();return}let $="",J=!1;if(Q.startsWith("/mcp")&&Y==="POST"){J=!0;try{if(Z.req.header("Content-Type")?.includes("application/json")){let H=await Z.req.raw.clone().json();if(H.method==="tools/call"&&H.params?.name){let w=Fh(H.params.name),O=H.params.arguments||{},D=Object.keys(O).map((E)=>Fh(E)),L=D.length>0?D.slice(0,3).join(",")+(D.length>3?"\u2026":""):"";$=`${Z9.tool}${w}${Z9.dim}(${L})${Z9.reset}`}else if(H.method)$=`${Z9.dim}${Fh(H.method)}${Z9.reset}`}}catch{}}let W=Fh(Q);if(Q.startsWith("/mcp/conn_")){let F=Q.split("/")[2]??"";W=`/mcp/${Z9.mcp}${Fh(F.slice(0,12))}\u2026${Z9.reset}`}else if(Q==="/mcp")W=`${Z9.mcp}/mcp${Z9.reset}`;else if(Q==="/mcp/registry")W=`${Z9.mcp}/mcp/registry${Z9.reset}`;let K=eG5(Y),N=J?"\u25C0":"\u2190";if(!j51())console.log(`${Z9.dim}${N}${Z9.reset} ${K}${Y}${Z9.reset} ${W}${$?` ${$}`:""}`);try{await X()}finally{let F=Date.now()-G,U=Z.res.status,H=sG5(U),w=F<1000?`${F}ms`:`${(F/1000).toFixed(1)}s`,O=J?"\u25B6":"\u2192";if(!j51())console.log(`${Z9.dim}${O}${Z9.reset} ${K}${Y}${Z9.reset} ${W}${$?` ${$}`:""} ${H}${U}${Z9.reset} ${Z9.duration}${w}${Z9.reset}`);P51.emit("request",{method:Y,path:Fh(Q),status:U,duration:F,timestamp:new Date})}}}var Z9,sG5=(Z)=>{if(Z>=500)return Z9.serverError;if(Z>=400)return Z9.clientError;if(Z>=300)return Z9.redirect;return Z9.ok},eG5=(Z)=>{return Z9[Z]||Z9.reset},Fh=(Z)=>{return Z.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var c_8=B(()=>{A51();h_8();Z9={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 i_8}from"crypto";import{mkdir as ZY5,readdir as XY5,rm as l_8,stat as n_8}from"fs/promises";import{join as R51,relative as GY5}from"path";import{z as I8}from"zod";function t_8(Z){let X=Z.replace(/[^a-zA-Z0-9_-]/g,"_");return R51(YY5,X)}function o_8(Z){return Z.replace(/^\/+/,"").replace(/\.\./g,"")}function T51(Z,X){let G=t_8(Z),Y=o_8(X);return R51(G,Y)}function QY5(Z,X,G,Y){let Q=J1().encryptionKey||"dev-secret",$=`${Z}:${X}:${G}:${Y}`;return i_8("sha256",Q).update($).digest("hex")}function m_8(Z,X,G,Y,Q){let $=Math.floor(Date.now()/1000)+Y,J=QY5(X,G,$,Q),W=new URL(`/api/dev-assets/${X}/${o_8(G)}`,Z);return W.searchParams.set("expires",$.toString()),W.searchParams.set("signature",J),W.searchParams.set("method",Q),W.toString()}function r_8(Z,X,G){let Y=`${Z}:${X.getTime()}:${G}`;return`"${i_8("md5","etag").update(Y).digest("hex")}"`}async function a_8(Z,X,G,Y,Q){try{let $=await XY5(Z,{withFileTypes:!0});for(let J of $){let W=R51(Z,J.name),N=GY5(X,W).replace(/\\/g,"/");if(G&&!N.startsWith(G))continue;if(J.isDirectory())if(Y){let F=N+"/";if(!G||F.startsWith(G)){if(!(G?N.slice(G.length):N).includes("/"))Q.commonPrefixes.add(F)}}else await a_8(W,X,G,Y,Q);else if(J.isFile()){if(Y&&G){let F=N.slice(G.length);if(F.includes(Y)){let U=F.indexOf(Y),H=G+F.slice(0,U+1);Q.commonPrefixes.add(H);continue}}try{let F=await n_8(W);Q.objects.push({key:N,size:F.size,lastModified:F.mtime.toISOString(),etag:r_8(W,F.mtime,F.size)})}catch{}}}}catch{}}function s_8(Z,X){let Y=B0(Z).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:I8.object({prefix:I8.string().optional(),maxKeys:I8.number().optional().default(1000),continuationToken:I8.string().optional(),delimiter:I8.string().optional()}),outputSchema:I8.object({objects:I8.array(I8.object({key:I8.string(),size:I8.number(),lastModified:I8.string(),etag:I8.string()})),nextContinuationToken:I8.string().optional(),isTruncated:I8.boolean(),commonPrefixes:I8.array(I8.string()).optional()}),handler:async(Q)=>{let $=Q,J=$.prefix||"",W=$.maxKeys??1000,K=$.delimiter,N=$.continuationToken,F=t_8(Y);await ZY5(F,{recursive:!0});let U={objects:[],commonPrefixes:new Set};await a_8(F,F,J,K,U),U.objects.sort((L,E)=>L.key.localeCompare(E.key));let H=0;if(N){if(H=U.objects.findIndex((L)=>L.key>N),H===-1)H=U.objects.length}let w=U.objects.slice(H,H+W),O=H+W<U.objects.length,D=O?w[w.length-1]?.key:void 0;return{objects:w,isTruncated:O,nextContinuationToken:D,commonPrefixes:Array.from(U.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:I8.object({key:I8.string()}),outputSchema:I8.object({contentType:I8.string().optional(),contentLength:I8.number(),lastModified:I8.string(),etag:I8.string(),metadata:I8.record(I8.string(),I8.string()).optional()}),handler:async(Q)=>{let $=Q,J=T51(Y,$.key),W=await n_8(J);return{contentType:Q61($.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:r_8(J,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:I8.object({key:I8.string(),expiresIn:I8.number().optional()}),outputSchema:I8.object({url:I8.string(),expiresIn:I8.number()}),handler:async(Q)=>{let $=Q,J=$.expiresIn??d_8;return{url:m_8(X,Y,$.key,J,"GET"),expiresIn:J}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:I8.object({key:I8.string(),expiresIn:I8.number().optional(),contentType:I8.string().optional()}),outputSchema:I8.object({url:I8.string(),expiresIn:I8.number()}),handler:async(Q)=>{let $=Q,J=$.expiresIn??d_8;return{url:m_8(X,Y,$.key,J,"PUT"),expiresIn:J}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:I8.object({key:I8.string()}),outputSchema:I8.object({success:I8.boolean(),key:I8.string()}),handler:async(Q)=>{let $=Q,J=T51(Y,$.key);try{return await l_8(J),{success:!0,key:$.key}}catch{return{success:!1,key:$.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:I8.object({keys:I8.array(I8.string()).max(1000)}),outputSchema:I8.object({deleted:I8.array(I8.string()),errors:I8.array(I8.object({key:I8.string(),message:I8.string()}))}),handler:async(Q)=>{let $=Q,J=[],W=[];return await Promise.all($.keys.map(async(K)=>{let N=T51(Y,K);try{await l_8(N),J.push(K)}catch(F){W.push({key:K,message:F instanceof Error?F.message:"Unknown error"})}})),{deleted:J,errors:W}}}]}async function I51(Z,X,G){let Y=s_8(X,G),Q=new lN({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:L9});for(let J of Y){let W="shape"in J.inputSchema?J.inputSchema.shape:I8.object({}).shape,K=J.outputSchema&&"shape"in J.outputSchema?J.outputSchema.shape:I8.object({}).shape;Q.registerTool(J.name,{description:J.description??"",inputSchema:W,outputSchema:K,annotations:J.annotations,_meta:J._meta},async(N)=>{try{let F=await J.handler(N);return{content:[{type:"text",text:JSON.stringify(F)}],structuredContent:F}}catch(F){return{content:[{type:"text",text:`Error: ${F.message}`}],isError:!0}}})}let $=new pQ({enableJsonResponse:Z.headers.get("Accept")?.includes("application/json")??!1});return await Q.connect($),DK(Q,$,Z,"mcp:dev-assets")}async function e_8(Z,X,G,Y){let $=s_8(G,Y).find((J)=>J.name===Z);if(!$)return{content:[{type:"text",text:`Tool not found: ${Z}`}],isError:!0};try{let J=await $.handler(X);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 YY5="./data/assets",d_8=3600,p_8,Zy8;var Xy8=B(()=>{b8();hp();s6();gl();by();CG();Lz0();p_8=new C1;p_8.all("/",async(Z)=>{let X=Z.get("studioContext"),G=new URL(Z.req.url),Y=`${G.protocol}//${G.host}`;return I51(Z.req.raw,X,Y)});Zy8=p_8});var Gy8={};$4(Gy8,{mountDevRoutes:()=>$Y5});function $Y5(Z,X){Z.all("/mcp/:connectionId{.*_dev-assets$}",X,async(Y)=>{let Q=Y.get("studioContext"),$=new URL(Y.req.url),J=`${$.protocol}//${$.host}`;return I51(Y.req.raw,Q,J)}),Z.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",X,async(Y)=>{let Q=Y.get("studioContext"),$=new URL(Y.req.url),J=`${$.protocol}//${$.host}`,W=Y.req.param("toolName");if(!W)return Y.json({error:"Missing tool name"},400);let K=await Y.req.json(),N=await e_8(W,K,Q,J);if(N.isError)return Y.json(N.content,500);return Y.json(N.content)}),Z.use("/mcp/dev-assets",X),Z.route("/mcp/dev-assets",Zy8);let G=new C1;G.use("*",cJ({mountPath:"/api/dev-assets"})),G.route("/",Dz0({orgFromPath:!1})),Z.route("/api/dev-assets",G)}var Yy8=B(()=>{s6();r81();Lz0();Xy8()});import{sql as JY5}from"kysely";import{randomUUID as Qy8}from"crypto";import{z as WY5}from"zod";async function NY5(Z){let X=new Date().toISOString(),G=Qy8(),Y=p4.SELF(Z.organizationId),Q="registry.publish_request.created",$={requestId:Z.request.id,requestedId:Z.request.requested_id,title:Z.request.title,status:Z.request.status,createdAt:Z.request.created_at,requester:{name:Z.request.requester_name,email:Z.request.requester_email}};await Z.db.insertInto("events").values({id:G,organization_id:Z.organizationId,type:"registry.publish_request.created",source:Y,specversion:"1.0",subject:Z.request.id,time:X,datacontenttype:"application/json",dataschema:null,data:JSON.stringify($),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:X,updated_at:X}).execute();let J=await Z.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",Z.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((W)=>W.or([W("publisher","is",null),W("publisher","=",Y)])).execute();if(J.length>0)await Z.db.insertInto("event_deliveries").values(J.map((W)=>({id:Qy8(),event_id:G,subscription_id:W.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:X}))).execute();try{await JY5`SELECT
|
|
2777
2777
|
pg_notify('studio_events', ${G}),
|