decocms 4.169.0 → 4.170.0
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-BHQjUcef.js → AlertCircle-BYHJV2GV.js} +1 -1
- package/dist/client/assets/{AreaChart-l3T-nMKm.js → AreaChart-B2o7rUw7.js} +1 -1
- package/dist/client/assets/{ArrowUp-Dj-cFAwv.js → ArrowUp-MX4iWYYn.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-Y5hPCdzr.js → ArrowUpRight-6YZER-oU.js} +1 -1
- package/dist/client/assets/{Check-CSyoUAf4.js → Check-BrkGfLcR.js} +1 -1
- package/dist/client/assets/{CheckCircle-janeTcXa.js → CheckCircle-CmGYC05_.js} +1 -1
- package/dist/client/assets/{ChevronDown-CzvzcnHE.js → ChevronDown-Cg5y4i7a.js} +1 -1
- package/dist/client/assets/{ChevronRight-DBis8PDW.js → ChevronRight-CW6xxWnj.js} +1 -1
- package/dist/client/assets/{ChevronUp-B-NKfo1g.js → ChevronUp-vrjxPJAs.js} +1 -1
- package/dist/client/assets/{Copy01-8C9VbGWL.js → Copy01-DqRJDTwu.js} +1 -1
- package/dist/client/assets/{CpuChip01-A8bcIFzB.js → CpuChip01-DcaVUCTy.js} +1 -1
- package/dist/client/assets/{DotsVertical-BdE4_w9h.js → DotsVertical-IlNcwotl.js} +1 -1
- package/dist/client/assets/{Eye-EvVbP4rR.js → Eye-B41L3FgW.js} +1 -1
- package/dist/client/assets/{FilterLines-Gaw0UmED.js → FilterLines-B-l52E0g.js} +1 -1
- package/dist/client/assets/{HardDrive-C_qMCg5y.js → HardDrive-D0B85GBW.js} +1 -1
- package/dist/client/assets/{Key01-Bfcda0jJ.js → Key01-BjIPfxyL.js} +1 -1
- package/dist/client/assets/{LayoutLeft-BdRKWF_p.js → LayoutLeft-B26SsbEL.js} +1 -1
- package/dist/client/assets/{LinkExternal01-CobVwvk5.js → LinkExternal01-bJAvaskC.js} +1 -1
- package/dist/client/assets/{LogOut01-doI_2tq1.js → LogOut01-CiAF6cDS.js} +1 -1
- package/dist/client/assets/{Monitor01-BFfrIAEb.js → Monitor01-DmmsVkRP.js} +1 -1
- package/dist/client/assets/{Palette-Aamq_16P.js → Palette-B3DXvWwR.js} +1 -1
- package/dist/client/assets/{Play-DfCnwo1c.js → Play-D0fVsuc1.js} +1 -1
- package/dist/client/assets/{Plus-CPpb1y_T.js → Plus-BwGN2zdU.js} +1 -1
- package/dist/client/assets/{SearchLg-CWWzlUvD.js → SearchLg-0IPX1BNy.js} +1 -1
- package/dist/client/assets/{SearchMd-BCWVjSri.js → SearchMd-Dp7qjY7b.js} +1 -1
- package/dist/client/assets/{Settings02-pC2SAFuD.js → Settings02-DMOaaPkn.js} +1 -1
- package/dist/client/assets/{Shield01-CFZIhAYB.js → Shield01-B_5yQoix.js} +1 -1
- package/dist/client/assets/{Star01-WnnjHkp9.js → Star01-CyxV6aKl.js} +1 -1
- package/dist/client/assets/{Stars01-BGA48AlN.js → Stars01-D7q-Avrg.js} +1 -1
- package/dist/client/assets/{Stars02-B7Z_FmwK.js → Stars02-DAWWYHpt.js} +1 -1
- package/dist/client/assets/{Sun-BX81qTgU.js → Sun-CDsqoxsx.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-D2aK9o1v.js → SwitchHorizontal01-Cb-eA4pA.js} +1 -1
- package/dist/client/assets/{Tool01-B4WsGGMZ.js → Tool01-CphPk7Yz.js} +1 -1
- package/dist/client/assets/{Tool02-BngdhbjZ.js → Tool02-BvDCQRR4.js} +1 -1
- package/dist/client/assets/{Trash01-K_-17n2i.js → Trash01-Sloq9J0V.js} +1 -1
- package/dist/client/assets/{TrendUp01-_rLV-_oy.js → TrendUp01-CkquVjI6.js} +1 -1
- package/dist/client/assets/{Upload01-C595E5Fz.js → Upload01-CVz4XujD.js} +1 -1
- package/dist/client/assets/{User01-Chdj0dm8.js → User01-HIWW9kOr.js} +1 -1
- package/dist/client/assets/{Users01-CCeCEY4G.js → Users01-BNK7FXHA.js} +1 -1
- package/dist/client/assets/{Users03-DJ9QTo8l.js → Users03-BSfDHL0v.js} +1 -1
- package/dist/client/assets/{X-DiL2Rl_p.js → X-CGYRx_28.js} +1 -1
- package/dist/client/assets/{XCircle-CDV12pjf.js → XCircle-Edej3Zll.js} +1 -1
- package/dist/client/assets/{XClose-norW3ist.js → XClose-CcN7CLAF.js} +1 -1
- package/dist/client/assets/{Zap-UFgvYSLH.js → Zap-DaHTr7kO.js} +1 -1
- package/dist/client/assets/{ZapSquare-IFLfTQf2.js → ZapSquare-6rsOc9GS.js} +1 -1
- package/dist/client/assets/{access-gate-DGUL_UcD.js → access-gate-BdPe32Mu.js} +1 -1
- package/dist/client/assets/{add-section-modal-DTq5sMKM.js → add-section-modal-BPYtFKJB.js} +1 -1
- package/dist/client/assets/{agent-icon-zT-2RUx7.js → agent-icon-D2F-Kjip.js} +1 -1
- package/dist/client/assets/{agents-list-DBDEVL02.js → agents-list-DyiHSXML.js} +1 -1
- package/dist/client/assets/{ai-providers-BRzUDSVT.js → ai-providers-ZHKXZnkd.js} +1 -1
- package/dist/client/assets/{alert-BB3xGluS.js → alert-DV53gjz1.js} +1 -1
- package/dist/client/assets/{alert-dialog-Cene-7ya.js → alert-dialog-3hOgioGE.js} +1 -1
- package/dist/client/assets/{app-editor-CZFvukFx.js → app-editor-CPKcS-gL.js} +1 -1
- package/dist/client/assets/{auth-CU2bavW6.js → auth-BMGpgYgd.js} +1 -1
- package/dist/client/assets/{auth-catchall-BK249rmi.js → auth-catchall-iyDIAUK2.js} +1 -1
- package/dist/client/assets/{auth-entry-BN-iHbys.js → auth-entry-D0sVnwRC.js} +1 -1
- package/dist/client/assets/{auth-split-layout-BP1XC8RF.js → auth-split-layout-DiNJs6ER.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-WxZneatC.js → authenticate-and-persist-oauth-BJ9Id0Zn.js} +1 -1
- package/dist/client/assets/{automation-list-row-DG0u7EnC.js → automation-list-row-D7gAsd0J.js} +1 -1
- package/dist/client/assets/{automation-runs-BZvstwOZ.js → automation-runs-C5_HzWR2.js} +1 -1
- package/dist/client/assets/{automations-BYxmkEsd.js → automations-r1D1_utQ.js} +1 -1
- package/dist/client/assets/{avatar-WftJ6-cv.js → avatar-kwzEFZkt.js} +1 -1
- package/dist/client/assets/{badge-CngbfVN3.js → badge-CIHen4Uf.js} +1 -1
- package/dist/client/assets/{block-document-D3zId0t2.js → block-document-Iy9IFn2B.js} +1 -1
- package/dist/client/assets/{brand-context-DR22dUFM.js → brand-context-DvJMzn25.js} +1 -1
- package/dist/client/assets/{buckets-CChnFANR.js → buckets-dMAhC4YN.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-DlGXsJrs.js → bulk-category-panel-C6CMph6x.js} +1 -1
- package/dist/client/assets/{calendar-CsGWZ_S6.js → calendar-C8abdXhM.js} +1 -1
- package/dist/client/assets/{capability-load-error-BcUvQo1M.js → capability-load-error-CXTQv9Dg.js} +1 -1
- package/dist/client/assets/{card-ClYuWJUa.js → card-Clkyds1x.js} +1 -1
- package/dist/client/assets/{category-editor-C2M1K5r7.js → category-editor-BiwlW5Va.js} +1 -1
- package/dist/client/assets/{chat-context-CF6DlBKA.js → chat-context-DCplmn6Y.js} +1 -1
- package/dist/client/assets/{checkbox-Bh4CEti1.js → checkbox-Bd4_D2hH.js} +1 -1
- package/dist/client/assets/{cli-auth-success-J_4myM4V.js → cli-auth-success-CpW90dwY.js} +1 -1
- package/dist/client/assets/{collection-detail-C_uKdK0e.js → collection-detail-CSOyQlyn.js} +1 -1
- package/dist/client/assets/{collection-display-button-h_MqjIGa.js → collection-display-button-D1CIwG-J.js} +1 -1
- package/dist/client/assets/{collection-search-BPsHlues.js → collection-search-Buv13VcZ.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-EuJPoGLv.js → collection-table-wrapper-DnCovBwD.js} +1 -1
- package/dist/client/assets/{collection-tabs-B4btCcQK.js → collection-tabs-BmB25Ehl.js} +1 -1
- package/dist/client/assets/{command-CEwrg9I3.js → command-C0WA2sON.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-Bcs4XvA5.js → commerce-onboarding-Debt58Ft.js} +1 -1
- package/dist/client/assets/{companions-core-CgvTY-LL.js → companions-core-VU8gGOg5.js} +1 -1
- package/dist/client/assets/{connect-BoicHjh_.js → connect-CyCXKZ6s.js} +1 -1
- package/dist/client/assets/{connection-CvvO_ps_.js → connection-DCMeHLjd.js} +1 -1
- package/dist/client/assets/{connection-card-B95sNnDR.js → connection-card-D0JrNfZ1.js} +1 -1
- package/dist/client/assets/{connection-detail-BmjJdTKV.js → connection-detail-v3Dsw5Ur.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-CkZhYHbj.js → connection-form-helpers-CQNVYqGO.js} +1 -1
- package/dist/client/assets/{connections-MUVwsnZL.js → connections-CPtuIhpH.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-waZ_rU9X.js → decopilot-sse-pool-B0paEDc_.js} +1 -1
- package/dist/client/assets/{dialog-DuRT12ix.js → dialog-D6uO7ot8.js} +1 -1
- package/dist/client/assets/{domain-settings-B3Na6PzM.js → domain-settings-Bq-MJcwj.js} +1 -1
- package/dist/client/assets/{drawer-sfBh0-Fv.js → drawer-UjrfpvUn.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CsjV1r80.js → dropdown-menu-D7vqvkYm.js} +1 -1
- package/dist/client/assets/{empty-state-D6MRkxtc.js → empty-state-Bdp-mpQ8.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DOJCD4gJ.js → extract-connection-data-Dtp6Ehpu.js} +1 -1
- package/dist/client/assets/{file-explorer-BVtEaAXh.js → file-explorer--CbgS_cp.js} +1 -1
- package/dist/client/assets/{form-CY4eVoPQ.js → form-BCICVvG7.js} +1 -1
- package/dist/client/assets/general-DkuUkEkT.js +1 -0
- package/dist/client/assets/{github-repo-picker-BiXEMaAr.js → github-repo-picker-gNYKe9zc.js} +1 -1
- package/dist/client/assets/{hooks-dHIdKcw0.js → hooks-5-RXv9Wf.js} +1 -1
- package/dist/client/assets/{index-_J6TZRhY.js → index-BGZ0M4S4.js} +3 -3
- package/dist/client/assets/{index-CgAQSnkZ.js → index-BivGvjP-.js} +4 -4
- package/dist/client/assets/{index-C9dQEl37.js → index-BuqpOFji.js} +1 -1
- package/dist/client/assets/{index-CU5TPed0.js → index-BwXjHv9U.js} +1 -1
- package/dist/client/assets/{index-DtUPhr8V.js → index-CJD2bFa_.js} +1 -1
- package/dist/client/assets/{index-BgtTeA9z.js → index-CTFbcP__.js} +1 -1
- package/dist/client/assets/{index-Dajxa_Es.js → index-CiEaoay8.js} +1 -1
- package/dist/client/assets/{index-CSXauqf7.js → index-CxtffGc9.js} +1 -1
- package/dist/client/assets/{index-to_1Kzx7.js → index-DObkDSge.js} +1 -1
- package/dist/client/assets/{index-mqZ-uRip.js → index-DSLoXAfJ.js} +1 -1
- package/dist/client/assets/{index-BE9BOpQs.js → index-hGQ2mnT0.js} +5 -5
- package/dist/client/assets/{index-redirect-Y4ChBzWT.js → index-redirect-DW5GkRS6.js} +1 -1
- package/dist/client/assets/{input-CHE0hHBC.js → input-Coobsayw.js} +1 -1
- package/dist/client/assets/{integration-icon-D2mH-Jkd.js → integration-icon-B9vXzEZt.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-CqzNxjME.js → invite-member-dialog-D5E_9szJ.js} +1 -1
- package/dist/client/assets/{label-DwVnbuko.js → label-C1IeHNJc.js} +1 -1
- package/dist/client/assets/{layout-Caoz8ush.js → layout-DJCFmK0p.js} +1 -1
- package/dist/client/assets/{login-BKYs4uy1.js → login-By2RJx9C.js} +1 -1
- package/dist/client/assets/{mcp-oauth-DQ2pY9Pk.js → mcp-oauth-DZPtnDd0.js} +1 -1
- package/dist/client/assets/{members-Dct86MXi.js → members-CuQhbsjc.js} +1 -1
- package/dist/client/assets/{monaco-editor-Dj-IdsHa.js → monaco-editor-B1BrsITQ.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-Cre2etB8.js → monitoring-stats-row-_kR6LNnQ.js} +1 -1
- package/dist/client/assets/{multi-select-CFkntjz3.js → multi-select-CleE7UeZ.js} +1 -1
- package/dist/client/assets/{oauth-callback-HRS7qtkR.js → oauth-callback-DLExYXvG.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-DrFdY2c1.js → oauth-callback-ai-provider-BjdcLJcU.js} +1 -1
- package/dist/client/assets/{onboarding-Cr1K0J8J.js → onboarding-CvB28dLt.js} +1 -1
- package/dist/client/assets/{org-layout-DaSkvfvO.js → org-layout-CEUB8-A5.js} +1 -1
- package/dist/client/assets/{organization-choice-Dyq7bKZl.js → organization-choice-BGHsi8Kr.js} +1 -1
- package/dist/client/assets/{orgs-BxC49mPC.js → orgs-Ueou16eM.js} +1 -1
- package/dist/client/assets/{page-seo-form-ldbyqodA.js → page-seo-form-epWky0S8.js} +1 -1
- package/dist/client/assets/{popover-EJdSdU2R.js → popover-CU70IQGF.js} +1 -1
- package/dist/client/assets/{post-editor-DvrgHaCl.js → post-editor-DJYtPLa2.js} +1 -1
- package/dist/client/assets/{primitives-DZBu37jf.js → primitives-Dhuengoa.js} +1 -1
- package/dist/client/assets/{profile-4lm5h4pF.js → profile-yg4NoqWi.js} +1 -1
- package/dist/client/assets/project-app-view-OybgjTzS.js +1 -0
- package/dist/client/assets/record-editor-JSE7RbaE.js +1 -0
- package/dist/client/assets/{redirect-editor-Cw3SjuOc.js → redirect-editor-g8dnLt05.js} +1 -1
- package/dist/client/assets/registry-COARHJda.js +2 -0
- package/dist/client/assets/{registry-layout-CTZB8f0R.js → registry-layout-Bdr1is_y.js} +1 -1
- package/dist/client/assets/{reports-BXEV0yfu.js → reports-DWudyTdM.js} +1 -1
- package/dist/client/assets/{require-capability-DrkYr70Z.js → require-capability-CYsr8Uv8.js} +1 -1
- package/dist/client/assets/{required-auth-layout-B6vtrKAD.js → required-auth-layout-CA9F_SWp.js} +1 -1
- package/dist/client/assets/{reset-password-p-3CwomQ.js → reset-password-USPUEodQ.js} +1 -1
- package/dist/client/assets/{roles-CmuBIJp8.js → roles-CzUd7OcT.js} +1 -1
- package/dist/client/assets/{search-input-DHP5_Hg7.js → search-input-CvJ-Awnm.js} +1 -1
- package/dist/client/assets/{secrets-DC_R2-bM.js → secrets-DttlllK_.js} +1 -1
- package/dist/client/assets/{sections-editor-FZrSIhzS.js → sections-editor-BCxdzyB0.js} +1 -1
- package/dist/client/assets/{select-DX4-JeQs.js → select-BCfageZp.js} +1 -1
- package/dist/client/assets/{select-model-BWniT-zS.js → select-model-yBXR_-Sd.js} +1 -1
- package/dist/client/assets/{self-tool-result-CQ5bxpQJ.js → self-tool-result-lMLrjaeq.js} +1 -1
- package/dist/client/assets/{seo-editor-CTb7kcqp.js → seo-editor-CVJP8ORM.js} +1 -1
- package/dist/client/assets/{settings-layout-Bd8sXbF-.js → settings-layout-C5_yXtQG.js} +1 -1
- package/dist/client/assets/{settings-section-3OqkMxsU.js → settings-section-BC78F1iW.js} +1 -1
- package/dist/client/assets/{shell-controls-DX6d19p1.js → shell-controls-9iXLhKxR.js} +1 -1
- package/dist/client/assets/{shell-layout-C54fW9fN.js → shell-layout-BHK1M3T7.js} +1 -1
- package/dist/client/assets/{sidebar-CSmYAwNE.js → sidebar-DA3ricbL.js} +1 -1
- package/dist/client/assets/{skeleton-CF1G_JNJ.js → skeleton-DnyWBGsC.js} +1 -1
- package/dist/client/assets/{spinner-BCrFtw47.js → spinner-DRNGdBCM.js} +1 -1
- package/dist/client/assets/{sso-BUmcP8uB.js → sso-DzG4EOv-.js} +1 -1
- package/dist/client/assets/{store-BlSIrn0n.js → store-CdUO14qi.js} +1 -1
- package/dist/client/assets/store-registry-BS-Jupw1.js +2 -0
- package/dist/client/assets/{studio-tools-Dt_Nz2ZR.js → studio-tools-Bd4Up0-C.js} +1 -1
- package/dist/client/assets/{switch-Dq88gwUX.js → switch-CVlsoYND.js} +1 -1
- package/dist/client/assets/{tab-id-C3dMkfSN.js → tab-id-FdiVjuVJ.js} +1 -1
- package/dist/client/assets/{table-DtnFgt1P.js → table-DPrNwMu9.js} +1 -1
- package/dist/client/assets/{tabs-CvLevm39.js → tabs-2pJ4rMxv.js} +1 -1
- package/dist/client/assets/{textarea-P9iZqCQw.js → textarea-vv5cwGAn.js} +1 -1
- package/dist/client/assets/{toggle-group-Cp18zHbL.js → toggle-group-C0PNw2Kq.js} +1 -1
- package/dist/client/assets/{toolbar-CTFRzgG_.js → toolbar-Df46087V.js} +1 -1
- package/dist/client/assets/{tooltip-CPzDr35B.js → tooltip-Bl7r7v8C.js} +1 -1
- package/dist/client/assets/{use-ai-providers-BVqvTgTt.js → use-ai-providers-DmVCAkKp.js} +1 -1
- package/dist/client/assets/{use-automations-yaXDjUyj.js → use-automations-kgDgnzQ9.js} +1 -1
- package/dist/client/assets/{use-autosave-CWn6eQzu.js → use-autosave-DBgcFl9j.js} +1 -1
- package/dist/client/assets/{use-capability-Bx3Aous3.js → use-capability-BJSHiGxC.js} +1 -1
- package/dist/client/assets/{use-clock-tick-3BC52fl2.js → use-clock-tick-BpuHAF3-.js} +1 -1
- package/dist/client/assets/{use-connection-waGAP3_8.js → use-connection-sd54qNBS.js} +1 -1
- package/dist/client/assets/{use-copy-DdYavl9J.js → use-copy-D4vDlaDj.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Do3eak_a.js → use-create-virtual-mcp-31bpvssy.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-Cz0m2SIt.js → use-debounced-autosave-B3IoPDZI.js} +1 -1
- package/dist/client/assets/{use-debounced-value-CawzPtuY.js → use-debounced-value-B3GuqXcd.js} +1 -1
- package/dist/client/assets/{use-deco-credits-BZW42SVE.js → use-deco-credits-BSYu3Fl5.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-uIvxhgZU.js → use-decopilot-events-CHuMH_qH.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DKkCdJK4.js → use-delete-connection-XnLrrBCG.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-1Q_zx2o6.js → use-deployment-admin-XVaF6uCz.js} +1 -1
- package/dist/client/assets/{use-file-configs-5np55VXP.js → use-file-configs-DtjZNr9r.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-DxyVjvA-.js → use-infinite-scroll-drSHjOZB.js} +1 -1
- package/dist/client/assets/{use-join-requests-BrWdODmX.js → use-join-requests-Af3zO_gf.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-BJEHQ79H.js → use-mcp-auth-status-CehPYeOs.js} +1 -1
- package/dist/client/assets/{use-mcp-client-B4o54gkr.js → use-mcp-client-3Ty5G5W_.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BpXABiGW.js → use-mcp-tools-BTCVUfnA.js} +1 -1
- package/dist/client/assets/{use-members-BluEn-Xz.js → use-members-C8Y7Dr-g.js} +1 -1
- package/dist/client/assets/{use-mobile-DdpcC-kW.js → use-mobile-CLp-jqyF.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CriTJ4nX.js → use-navigate-to-agent-DmmNua7o.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-7VI-2ivW.js → use-org-auth-client-kpwHtnik.js} +1 -1
- package/dist/client/assets/{use-org-sso-gASlJc1Y.js → use-org-sso-D02n6Tcy.js} +1 -1
- package/dist/client/assets/{use-organization-roles-CsNvvbTO.js → use-organization-roles-CEVrE1Dx.js} +1 -1
- package/dist/client/assets/{use-organization-settings-8VLD97hQ.js → use-organization-settings-CcPvgBkt.js} +1 -1
- package/dist/client/assets/{use-registry-connections-KqDKYhMW.js → use-registry-connections-O8wLie-b.js} +1 -1
- package/dist/client/assets/{use-secrets-ByliR705.js → use-secrets-DR9GckcM.js} +1 -1
- package/dist/client/assets/{use-status-sounds-BXJXMeiE.js → use-status-sounds-CXFDHEre.js} +1 -1
- package/dist/client/assets/{use-tags-syMz2bE_.js → use-tags-Bhs8rJHt.js} +1 -1
- package/dist/client/assets/{use-view-mode-CBc8_c7H.js → use-view-mode-Di1mTpL-.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CLnDaYb3.js → use-virtual-mcp-h_TKmrCY.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-CVgYg0La.js +1 -0
- package/dist/client/assets/{useQueries-nGThkn2V.js → useQueries-BT7vIZIc.js} +1 -1
- package/dist/client/assets/{useRouterState-B2iSGy4D.js → useRouterState-D8lv76o4.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CAmy4fGh.js +1 -0
- package/dist/client/assets/{users-pEdk07gE.js → users-fK7yHX41.js} +1 -1
- package/dist/client/assets/{variant-calendar-D-TKtVJ9.js → variant-calendar-BgTzjadG.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-BFoTStlx.js → view-mode-toggle-Pyei0Set.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/general-uJAjf1TQ.js +0 -1
- package/dist/client/assets/project-app-view-CgZmXp9l.js +0 -1
- package/dist/client/assets/record-editor-7dsCFH8x.js +0 -1
- package/dist/client/assets/registry-CzjAuK1P.js +0 -2
- package/dist/client/assets/store-registry-a9DCucZk.js +0 -2
- package/dist/client/assets/useInfiniteQuery-CgqG_-vz.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BdXBswCG.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -1256,7 +1256,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var Rh1=O(()=>{ex()});f
|
|
|
1256
1256
|
`.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${J}/${K}, keeping in old table`);continue}}await qf`
|
|
1257
1257
|
DELETE FROM kysely_migration WHERE name = ${X}
|
|
1258
1258
|
`.execute($)}}async function qd1($){await Ky6($),await Wy6($);let Z=new Id1({db:$,provider:{getMigrations:()=>Promise.resolve(Rc0)}}),{error:X,results:Q}=await Z.migrateToLatest(),Y=0;if(Q?.forEach((G)=>{if(G.status==="Success")Y++;else if(G.status==="Error")console.error(`Failed to execute migration "${G.migrationName}"`)}),X)throw console.error("Failed to migrate"),console.error(X),X;return Y}async function Hy6($){let{keepOpen:Z=!1,database:X,skipBetterAuth:Q=!1}=$??{},Y="skipped";if(!Q&&!X)Y=await Ug0();let G=X??D6(),J=async()=>{if(!Z&&!X)await yF(G).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await qd1(G.db);return await J(),{betterAuth:Y,kysely:K}}catch(K){throw await J(),K}}async function Ny6(){let $=D6(),Z=new Id1({db:$.db,provider:{getMigrations:()=>Promise.resolve(Rc0)}}),{error:X,results:Q}=await Z.migrateDown();if(Q?.forEach((Y)=>{if(Y.status==="Success")console.log(`\u2705 Migration "${Y.migrationName}" rolled back successfully`);else if(Y.status==="Error")console.error(`\u274C Failed to rollback migration "${Y.migrationName}"`)}),X)throw console.error("Failed to rollback migration"),console.error(X),X}var kd1=O(()=>{Td1();Fg0();d7()});async function W50($){let Z={...process.env},X=Y00($,Z);console.log(GN1(X.settings.encryptionKey));let{ensureServices:Q}=await Promise.resolve().then(() => (P$0(),j$0)),{outputs:Y,services:G}=await Q({home:X.settings.dataDir,externalDatabaseUrl:X.externalDatabaseUrl,externalNatsUrl:X.externalNatsUrl});if(!X.skipMigrations){let{migrateBetterAuth:K}=await Promise.resolve().then(() => (Fg0(),Xc1));await K(Y.databaseUrl);let{createDatabase:W}=await Promise.resolve().then(() => (d7(),ju1)),{migrateToLatest:H}=await Promise.resolve().then(() => (kd1(),Md1)),N=W(Y.databaseUrl);await H({keepOpen:!0,database:N,skipBetterAuth:!0})}let J={...X.settings,databaseUrl:Y.databaseUrl,natsUrls:Y.natsUrls,...Y.s3?{s3Endpoint:Y.s3.endpoint,s3Bucket:Y.s3.bucket,s3AccessKeyId:Y.s3.accessKeyId,s3SecretAccessKey:Y.s3.secretAccessKey,s3ForcePathStyle:Y.s3.forcePathStyle}:{},...Y.natsTunnel?{natsPublicUrl:Y.natsTunnel.publicUrl,natsAccountJwt:Y.natsTunnel.accountJwt,natsAccountSigningKey:Y.natsTunnel.accountSigningKey,natsOperatorJwt:Y.natsTunnel.operatorJwt,natsTunnelPublicEnabled:!0,natsCredsPath:Y.natsTunnel.credsPath}:{}};return qh1(J),{settings:J,services:G.map((K)=>({name:K.name==="PostgreSQL"?"Postgres":K.name,port:K.port})),managedServiceNames:G.filter((K)=>K.owner==="managed").map((K)=>K.name)}}var qc0=O(()=>{ex();c8()});var Cd1={};z0(Cd1,{updateService:()=>OD,subscribeCliState:()=>Sc0,setTuiConsoleIntercepted:()=>H50,setServerUrl:()=>od,setMigrationsDone:()=>td,setDevMode:()=>wy6,resetCliStateForTests:()=>Uy6,isTuiConsoleIntercepted:()=>N50,getCliState:()=>kc0,addLogEntry:()=>lF});function Sd1(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function Uy6(){TQ=Sd1()}function Fy6(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function pd(){for(let $ of Mc0)$()}function kc0(){return TQ}function Sc0($){return Mc0.add($),()=>Mc0.delete($)}function OD($){TQ={...TQ,services:TQ.services.map((Z)=>Z.name===$.name?$:Z)},pd()}function td(){TQ={...TQ,migrationsStatus:"done"},pd()}function od($){TQ={...TQ,serverUrl:$},pd()}function lF($){let Z=[...TQ.logs,$];TQ={...TQ,logs:Z.length>500?Z.slice(-500):Z},pd()}function wy6(){TQ={...TQ,services:[...Fy6(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},pd()}function H50($){Vd1=$}function N50(){return Vd1}var TQ,Mc0,Vd1=!1;var LD=O(()=>{TQ=Sd1();Mc0=new Set});import{createServer as _d1}from"net";function By6($){return new Promise((Z)=>{let X=_d1();X.once("error",()=>Z(!1)),X.listen($,"0.0.0.0",()=>{X.close(()=>Z(!0))})})}async function rd($){if(await By6($))return $;let Z=await new Promise((X,Q)=>{let Y=_d1();Y.once("error",Q),Y.listen(0,"0.0.0.0",()=>{let G=Y.address(),J=typeof G==="object"&&G?G.port:0;Y.close(()=>X(J))})});return console.warn(`Port ${$} is in use, using port ${Z} instead.`),Z}var Vc0=()=>{};function ad($){return $.replace(/\x1b\[[0-9;]*m/g,"")}var Cc0={};z0(Cc0,{startDevServer:()=>Ly6});import{join as Oy6}from"path";function xd1($){let Z=$.getReader(),X=new TextDecoder,Q="";function Y(){let G=Q.split(`
|
|
1259
|
-
`);Q=G.pop()??"";for(let J of G){let K=ad(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;lF({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{for(;;){let{done:G,value:J}=await Z.read();if(G)break;Q+=X.decode(J,{stream:!0}),Y()}if(Q.trim()){let G=ad(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)lF({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Ly6($){let{baseUrl:Z,noTui:X}=$,Q=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=Q?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=Q?await rd(Number(Y)+1):await rd(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await W50({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)OD({name:L.name,status:"ready",port:L.port});td();let N=Oy6(import.meta.dir,"..","..","..","..",".."),U=X===!0,F=Bun.spawn(["bun","run","dev:servers"],{cwd:N,env:{...process.env,PORT:String(K.port),VITE_PORT:String(Y),DATABASE_URL:K.databaseUrl,NATS_URL:K.natsUrls.join(","),NODE_ENV:K.nodeEnv,BASE_URL:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsPublicUrl&&K.natsAccountJwt&&K.natsAccountSigningKey?{NATS_PUBLIC_URL:K.natsPublicUrl,NATS_ACCOUNT_JWT:K.natsAccountJwt,NATS_ACCOUNT_SIGNING_KEY:K.natsAccountSigningKey,NATS_OPERATOR_JWT:K.natsOperatorJwt??"",NATS_TUNNEL_PUBLIC_ENABLED:"true",...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}}:{}},stdio:["inherit",U?"inherit":"pipe",U?"inherit":"pipe"]});if(!U)xd1(F.stdout),xd1(F.stderr);od(G),OD({name:"Vite",status:"ready",port:Number(Y)}),OD({name:"API",status:"ready",port:Number(K.port)});let B=async(L)=>{if(F.kill(L),await F.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (P$0(),j$0));await D(K.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Y),process:F}}var _c0=O(()=>{qc0();LD();Vc0()});var U50;var xc0=O(()=>{U50={name:"decocms",version:"4.169.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/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",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},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","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"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",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"}}});import{Box as Ey6,Text as vd1}from"ink";import{jsx as zy6,jsxs as fd1}from"react/jsx-runtime";function bd1({version:$}){return fd1(Ey6,{flexDirection:"column",marginTop:1,children:[l$0.map((Z,X)=>zy6(vd1,{color:d$0[X],children:Z},X)),fd1(vd1,{dimColor:!0,children:[" v",$]})]})}var yd1=O(()=>{bd()});import{Box as DD,Text as dF}from"ink";import{Spinner as jy6}from"@inkjs/ui";import{jsx as SY,jsxs as Mf}from"react/jsx-runtime";function gd1({status:$}){if($==="pending")return SY(jy6,{label:""});return SY(dF,{color:"green",children:"\u2713"})}function Py6($){return`${$.name}: ${$.port||"...."}`}function hd1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return Mf(DD,{flexDirection:"column",paddingBottom:1,children:[SY(bd1,{version:U50.version}),SY(DD,{marginBottom:1,children:SY(dF,{dimColor:!0,children:"\u2500".repeat(80)})}),SY(DD,{children:Mf(dF,{dimColor:!0,children:["Home: ",X]})}),Mf(DD,{gap:2,children:[$.map((Y)=>Mf(DD,{gap:1,children:[SY(dF,{children:Py6(Y)}),SY(gd1,{status:Y.status})]},Y.name)),Mf(DD,{gap:1,children:[SY(dF,{children:"Migrations"}),SY(gd1,{status:Z})]})]}),SY(DD,{children:Q?Mf(dF,{children:["Open in browser: ",SY(dF,{color:"cyan",children:Q})]}):SY(dF,{dimColor:!0,children:"Starting..."})})]})}var ud1=O(()=>{xc0();yd1()});import{Box as Ay6,Text as sd}from"ink";import{jsx as vc0,jsxs as fc0}from"react/jsx-runtime";function Ty6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function cd1({logs:$}){return vc0(Ay6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return vc0(sd,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return fc0(sd,{children:[fc0(sd,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),vc0(sd,{color:Ty6(Z.status),children:Z.status}),fc0(sd,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var ld1=()=>{};var bc0={};z0(bc0,{App:()=>qy6});import{Box as Iy6}from"ink";import{useSyncExternalStore as Ry6}from"react";import{jsx as dd1,jsxs as My6}from"react/jsx-runtime";function qy6({home:$}){let Z=Ry6(Sc0,kc0);return My6(Iy6,{flexDirection:"column",children:[dd1(hd1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),dd1(cd1,{logs:Z.logs})]})}var yc0=O(()=>{ud1();ld1();LD()});var e3="thread-gate",GN="decopilot-hosted-harness",hG="automations",mF="background-tools";var md1="7";function id1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:md1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var nd1=()=>{};function ky6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function gc0($,Z){for(let X=0;X<$.length;X++){let Q=$[X];if(Q===void 0)continue;if(Q===Z)return $[X+1];if(Q.startsWith(`${Z}=`))return Q.slice(Z.length+1)}return}function pd1(){let $=ky6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:gc0($,"--cpu-prof-dir")??process.cwd(),name:gc0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(gc0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}function td1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=UD();if(!X)return;let Q={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);Q={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:X.rss,heapUsed:X.heapUsed,heapTotal:X.heapTotal,external:X.external,arrayBuffers:X.arrayBuffers,...Q}))};return Z().catch(()=>{}),F50=setInterval(()=>void Z().catch(()=>{}),$),F50.unref?.(),process.on("SIGUSR2",()=>{try{let X=Bun.generateHeapSnapshot("v8"),Q=typeof X==="string"?X:JSON.stringify(X),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,Q),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(X){console.error("[heap-watch] snapshot failed:",X)}}),()=>{if(F50)clearInterval(F50)}}var F50;var od1=()=>{};import*as Sy6 from"bun:jsc";function rd1(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{Vy6()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let X,Q=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-Q;Q=G+Z;let K=[];try{K=Cy6()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let N of K){let U=N.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??N.frames[0];if(!U)continue;let F=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),w=`${U.name??"?"} @ ${F}:${U.line??"?"}`;W.set(w,(W.get(w)??0)+1)}let H=[...W.entries()].sort((N,U)=>U[1]-N[1]).slice(0,8).map(([N,U])=>({frame:N,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var Vy6,Cy6;var ad1=O(()=>{({startSamplingProfiler:Vy6,samplingProfilerStackTraces:Cy6}=Sy6)});function sd1(){pd1();let $=[td1(),Fu1(),rd1()];return()=>{for(let Z of $)Z()}}var ed1=O(()=>{Zg0();od1();ad1()});var ED=_(($m1)=>{Object.defineProperty($m1,"__esModule",{value:!0});$m1.RepublishHeaders=$m1.DirectMsgHeaders=$m1.JsHeaders=$m1.AdvisoryKind=void 0;$m1.isOrderedPushConsumerOptions=_y6;$m1.isPullConsumer=xy6;$m1.isPushConsumer=vy6;$m1.isBoundPushConsumerOptions=fy6;function _y6($){if($&&typeof $==="object")return"name_prefix"in $||"deliver_subject_prefix"in $||"filter_subjects"in $||"filter_subject"in $||"deliver_policy"in $||"opt_start_seq"in $||"opt_start_time"in $||"replay_policy"in $||"inactive_threshold"in $||"headers_only"in $||"deliver_prefix"in $;return!1}function xy6($){return $.isPullConsumer()}function vy6($){return $.isPushConsumer()}function fy6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}$m1.AdvisoryKind={API:"api_audit",StreamAction:"stream_action",ConsumerAction:"consumer_action",SnapshotCreate:"snapshot_create",SnapshotComplete:"snapshot_complete",RestoreCreate:"restore_create",RestoreComplete:"restore_complete",MaxDeliver:"max_deliver",Terminated:"terminated",Ack:"consumer_ack",StreamLeaderElected:"stream_leader_elected",StreamQuorumLost:"stream_quorum_lost",ConsumerLeaderElected:"consumer_leader_elected",ConsumerQuorumLost:"consumer_quorum_lost"};$m1.JsHeaders={StreamSourceHdr:"Nats-Stream-Source",LastConsumerSeqHdr:"Nats-Last-Consumer",LastStreamSeqHdr:"Nats-Last-Stream",ConsumerStalledHdr:"Nats-Consumer-Stalled",MessageSizeHdr:"Nats-Msg-Size",RollupHdr:"Nats-Rollup",RollupValueSubject:"sub",RollupValueAll:"all",PendingMessagesHdr:"Nats-Pending-Messages",PendingBytesHdr:"Nats-Pending-Bytes",RequiredApiLevel:"Nats-Required-Api-Level"};$m1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};$m1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var VY=_((Xm1)=>{Object.defineProperty(Xm1,"__esModule",{value:!0});Xm1.TD=Xm1.TE=Xm1.Empty=void 0;Xm1.encode=my6;Xm1.decode=iy6;Xm1.Empty=new Uint8Array(0);Xm1.TE=new TextEncoder;Xm1.TD=new TextDecoder;function dy6(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}function my6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(Xm1.TE.encode($[X]));if(Z.length===0)return Xm1.Empty;if(Z.length===1)return Z[0];return dy6(...Z)}function iy6($){if(!$||$.length===0)return"";return Xm1.TD.decode($)}});var CY=_((Gm1)=>{Object.defineProperty(Gm1,"__esModule",{value:!0});Gm1.errors=Gm1.PermissionViolationError=Gm1.NoRespondersError=Gm1.TimeoutError=Gm1.RequestError=Gm1.ProtocolError=Gm1.ConnectionError=Gm1.DrainingConnectionError=Gm1.ClosedConnectionError=Gm1.AuthorizationError=Gm1.UserAuthenticationExpiredError=Gm1.InvalidOperationError=Gm1.InvalidArgumentError=Gm1.InvalidSubjectError=void 0;class uc0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}Gm1.InvalidSubjectError=uc0;class w50 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,X){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((Q)=>`'${Q}'`),$=$.join(",");else $=`'${$}'`;return new w50(`${$} ${Z}`,X)}}Gm1.InvalidArgumentError=w50;class cc0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}Gm1.InvalidOperationError=cc0;class B50 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new B50($);return null}}Gm1.UserAuthenticationExpiredError=B50;class O50 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],X=$.toLowerCase();for(let Q=0;Q<Z.length;Q++)if(X.indexOf(Z[Q])!==-1)return new O50($);return null}}Gm1.AuthorizationError=O50;class lc0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}Gm1.ClosedConnectionError=lc0;class dc0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}Gm1.DrainingConnectionError=dc0;class mc0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}Gm1.ConnectionError=mc0;class ic0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}Gm1.ProtocolError=ic0;class nc0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof L50}}Gm1.RequestError=nc0;class pc0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}Gm1.TimeoutError=pc0;class L50 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}Gm1.NoRespondersError=L50;class D50 extends Error{operation;subject;queue;constructor($,Z,X,Q,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=X,this.queue=Q}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let X="publish",Q="",Y=void 0,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(X=G[1].toLowerCase(),Q=G[2],X==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new D50($,X,Q,Y)}}Gm1.PermissionViolationError=D50;Gm1.errors={AuthorizationError:O50,ClosedConnectionError:lc0,ConnectionError:mc0,DrainingConnectionError:dc0,InvalidArgumentError:w50,InvalidOperationError:cc0,InvalidSubjectError:uc0,NoRespondersError:L50,PermissionViolationError:D50,ProtocolError:ic0,RequestError:nc0,TimeoutError:pc0,UserAuthenticationExpiredError:B50}});var $J=_((Nm1)=>{Object.defineProperty(Nm1,"__esModule",{value:!0});Nm1.SimpleMutex=Nm1.Perf=void 0;Nm1.extend=Wg6;Nm1.render=Hg6;Nm1.timeout=Ng6;Nm1.delay=Ug6;Nm1.deadline=Fg6;Nm1.deferred=oc0;Nm1.debugDeferred=wg6;Nm1.shuffle=Bg6;Nm1.collect=Og6;Nm1.jitter=Hm1;Nm1.backoff=Lg6;Nm1.nanos=Dg6;Nm1.millis=Eg6;Nm1.randomToken=Pg6;var Kg6=VY(),tc0=CY();function Wg6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function Hg6($){return Kg6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Ng6($,Z=!0){let X=Z?new tc0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new tc0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function Ug6($=0){let Z,X=new Promise((Q)=>{let Y=setTimeout(()=>{Q()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),Q()}}});return Object.assign(X,Z)}async function Fg6($,Z=1000){let X=oc0(),Q=setTimeout(()=>{X.reject(new tc0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function oc0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function wg6(){let $={},Z=new Promise((X,Q)=>{$={resolve:(Y)=>{console.trace("resolve",Y),X(Y)},reject:(Y)=>{console.trace("reject"),Q(Y)}}});return Object.assign(Z,$)}function Bg6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function Og6($){let Z=[];for await(let X of $)Z.push(X);return Z}class Km1{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,X){let Q=this.timers.get(Z);if(Q===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(X);if(Y===void 0)throw Error(`${X} is not defined`);this.measures.set($,Y-Q)}getEntries(){let $=[];return this.measures.forEach((Z,X)=>{$.push({name:X,duration:Z})}),$}}Nm1.Perf=Km1;class Wm1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=oc0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}Nm1.SimpleMutex=Wm1;function Hm1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function Lg6($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(X){return Hm1(X>Z?$[Z]:$[X])}}}function Dg6($){return $*1e6}function Eg6($){return Math.floor($/1e6)}var zg6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",JN=new Uint8Array(62);for(let $=0;$<62;$++)JN[$]=zg6.charCodeAt($);var jg6=218340105584896;function Pg6(){let $=Math.floor(Math.random()*jg6),Z=$%62,X=JN[Z];$=($-Z)/62,Z=$%62;let Q=JN[Z];$=($-Z)/62,Z=$%62;let Y=JN[Z];$=($-Z)/62,Z=$%62;let G=JN[Z];$=($-Z)/62,Z=$%62;let J=JN[Z];$=($-Z)/62,Z=$%62;let K=JN[Z];$=($-Z)/62,Z=$%62;let W=JN[Z];$=($-Z)/62;let H=JN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var Em1=_((Lm1)=>{Object.defineProperty(Lm1,"__esModule",{value:!0});Lm1.nuid=Lm1.NuidImpl=void 0;var yg6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",iF=62,z50=12,Bm1=10,Fm1=33,gg6=333,wm1=z50+Bm1,ac0=new Uint8Array(iF);for(let $=0;$<iF;$++)ac0[$]=yg6.charCodeAt($);var E50=4294967296,Om1=BigInt(iF)**BigInt(Bm1),ed=Number(Om1/(1n<<32n)),rc0=Number(Om1%(1n<<32n));function hg6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function ug6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else hg6($)}class sc0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(wm1),this.cbuf=new Uint8Array(z50),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(ed+1)),this.seqLo=Math.floor(Math.random()*E50);while($++<8&&this.seqHi===ed&&this.seqLo>=rc0);if(this.seqHi===ed&&this.seqLo>=rc0)this.seqLo=0;this.inc=Math.random()*(gg6-Fm1)+Fm1|0}setPre(){ug6(this.cbuf);for(let $=0;$<z50;$++)this.buf[$]=ac0[this.cbuf[$]%iF]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=wm1-1;X>=z50;X--){let Q=Math.floor($/iF),G=($-Q*iF)*E50+Z,J=Math.floor(G/iF),K=G-J*iF;this.buf[X]=ac0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=E50)this.seqLo-=E50,this.seqHi+=1;if(this.seqHi>ed||this.seqHi===ed&&this.seqLo>=rc0)this.setPre(),this.initSeqAndInc();this.fillSeq();let $=this.buf;return String.fromCharCode($[0],$[1],$[2],$[3],$[4],$[5],$[6],$[7],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15],$[16],$[17],$[18],$[19],$[20],$[21])}reset(){this.init()}}Lm1.NuidImpl=sc0;Lm1.nuid=new sc0});var Am1=_((jm1)=>{Object.defineProperty(jm1,"__esModule",{value:!0});jm1.nuid=jm1.Nuid=void 0;var zm1=Em1();jm1.Nuid=zm1.NuidImpl;jm1.nuid=zm1.nuid});var P50=_((j50)=>{Object.defineProperty(j50,"__esModule",{value:!0});j50.nuid=j50.Nuid=void 0;var Tm1=Am1();Object.defineProperty(j50,"Nuid",{enumerable:!0,get:function(){return Tm1.Nuid}});Object.defineProperty(j50,"nuid",{enumerable:!0,get:function(){return Tm1.nuid}})});var nF=_((Im1)=>{Object.defineProperty(Im1,"__esModule",{value:!0});Im1.DEFAULT_HOST=Im1.DEFAULT_PORT=Im1.Match=void 0;Im1.syncIterator=ng6;Im1.createInbox=pg6;var mg6=P50(),ig6=CY();Im1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function ng6($){let Z=$[Symbol.asyncIterator]();return{async next(){let X=await Z.next();if(X.done)return Promise.resolve(null);return Promise.resolve(X.value)}}}function pg6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw ig6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${mg6.nuid.next()}`}Im1.DEFAULT_PORT=4222;Im1.DEFAULT_HOST="127.0.0.1"});var $m=_((km1)=>{Object.defineProperty(km1,"__esModule",{value:!0});km1.DataBuffer=void 0;var qm1=VY();class Mm1{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}static fromAscii($){if(!$)$="";return qm1.TE.encode($)}static toAscii($){return qm1.TD.decode($)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let $=new Uint8Array(this.byteLength),Z=0;for(let X=0;X<this.buffers.length;X++)$.set(this.buffers[X],Z),Z+=this.buffers[X].length;this.buffers.length=0,this.buffers.push($)}}shift(){if(this.buffers.length){let $=this.buffers.shift();if($)return this.byteLength-=$.length,$}return new Uint8Array(0)}drain($){if(this.buffers.length){this.pack();let Z=this.buffers.pop();if(Z){let X=this.byteLength;if($===void 0||$>X)$=X;let Q=Z.subarray(0,$);if(X>$)this.buffers.push(Z.subarray($));return this.byteLength=X-$,Q}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let X=0;X<Z.length;X++)if(Z[X]&&Z[X].length)this.buffers.push(Z[X]),this.byteLength+=Z[X].length}peek(){if(this.buffers.length)return this.pack(),this.buffers[0];return new Uint8Array(0)}size(){return this.byteLength}length(){return this.buffers.length}}km1.DataBuffer=Mm1});var zD=_((Cm1)=>{Object.defineProperty(Cm1,"__esModule",{value:!0});Cm1.LF=Cm1.CR=Cm1.CRLF=Cm1.CR_LF_LEN=Cm1.CR_LF=void 0;Cm1.setTransportFactory=Zh6;Cm1.defaultPort=Xh6;Cm1.getUrlParseFn=Qh6;Cm1.newTransport=Yh6;Cm1.getResolveFn=Gh6;Cm1.protoLen=Vm1;Cm1.extractProtocolMessage=Jh6;var sg6=VY(),eg6=nF(),$h6=$m(),_Y;function Zh6($){_Y=$}function Xh6(){return _Y!==void 0&&_Y.defaultPort!==void 0?_Y.defaultPort:eg6.DEFAULT_PORT}function Qh6(){return _Y!==void 0&&_Y.urlParseFn?_Y.urlParseFn:void 0}function Yh6(){if(!_Y||typeof _Y.factory!=="function")throw Error("transport fn is not set");return _Y.factory()}function Gh6(){return _Y!==void 0&&_Y.dnsResolveFn?_Y.dnsResolveFn:void 0}Cm1.CR_LF=`\r
|
|
1259
|
+
`);Q=G.pop()??"";for(let J of G){let K=ad(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;lF({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{for(;;){let{done:G,value:J}=await Z.read();if(G)break;Q+=X.decode(J,{stream:!0}),Y()}if(Q.trim()){let G=ad(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)lF({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Ly6($){let{baseUrl:Z,noTui:X}=$,Q=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=Q?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=Q?await rd(Number(Y)+1):await rd(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await W50({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)OD({name:L.name,status:"ready",port:L.port});td();let N=Oy6(import.meta.dir,"..","..","..","..",".."),U=X===!0,F=Bun.spawn(["bun","run","dev:servers"],{cwd:N,env:{...process.env,PORT:String(K.port),VITE_PORT:String(Y),DATABASE_URL:K.databaseUrl,NATS_URL:K.natsUrls.join(","),NODE_ENV:K.nodeEnv,BASE_URL:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsPublicUrl&&K.natsAccountJwt&&K.natsAccountSigningKey?{NATS_PUBLIC_URL:K.natsPublicUrl,NATS_ACCOUNT_JWT:K.natsAccountJwt,NATS_ACCOUNT_SIGNING_KEY:K.natsAccountSigningKey,NATS_OPERATOR_JWT:K.natsOperatorJwt??"",NATS_TUNNEL_PUBLIC_ENABLED:"true",...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}}:{}},stdio:["inherit",U?"inherit":"pipe",U?"inherit":"pipe"]});if(!U)xd1(F.stdout),xd1(F.stderr);od(G),OD({name:"Vite",status:"ready",port:Number(Y)}),OD({name:"API",status:"ready",port:Number(K.port)});let B=async(L)=>{if(F.kill(L),await F.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (P$0(),j$0));await D(K.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Y),process:F}}var _c0=O(()=>{qc0();LD();Vc0()});var U50;var xc0=O(()=>{U50={name:"decocms",version:"4.170.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/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",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},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","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"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",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"}}});import{Box as Ey6,Text as vd1}from"ink";import{jsx as zy6,jsxs as fd1}from"react/jsx-runtime";function bd1({version:$}){return fd1(Ey6,{flexDirection:"column",marginTop:1,children:[l$0.map((Z,X)=>zy6(vd1,{color:d$0[X],children:Z},X)),fd1(vd1,{dimColor:!0,children:[" v",$]})]})}var yd1=O(()=>{bd()});import{Box as DD,Text as dF}from"ink";import{Spinner as jy6}from"@inkjs/ui";import{jsx as SY,jsxs as Mf}from"react/jsx-runtime";function gd1({status:$}){if($==="pending")return SY(jy6,{label:""});return SY(dF,{color:"green",children:"\u2713"})}function Py6($){return`${$.name}: ${$.port||"...."}`}function hd1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return Mf(DD,{flexDirection:"column",paddingBottom:1,children:[SY(bd1,{version:U50.version}),SY(DD,{marginBottom:1,children:SY(dF,{dimColor:!0,children:"\u2500".repeat(80)})}),SY(DD,{children:Mf(dF,{dimColor:!0,children:["Home: ",X]})}),Mf(DD,{gap:2,children:[$.map((Y)=>Mf(DD,{gap:1,children:[SY(dF,{children:Py6(Y)}),SY(gd1,{status:Y.status})]},Y.name)),Mf(DD,{gap:1,children:[SY(dF,{children:"Migrations"}),SY(gd1,{status:Z})]})]}),SY(DD,{children:Q?Mf(dF,{children:["Open in browser: ",SY(dF,{color:"cyan",children:Q})]}):SY(dF,{dimColor:!0,children:"Starting..."})})]})}var ud1=O(()=>{xc0();yd1()});import{Box as Ay6,Text as sd}from"ink";import{jsx as vc0,jsxs as fc0}from"react/jsx-runtime";function Ty6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function cd1({logs:$}){return vc0(Ay6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return vc0(sd,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return fc0(sd,{children:[fc0(sd,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),vc0(sd,{color:Ty6(Z.status),children:Z.status}),fc0(sd,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var ld1=()=>{};var bc0={};z0(bc0,{App:()=>qy6});import{Box as Iy6}from"ink";import{useSyncExternalStore as Ry6}from"react";import{jsx as dd1,jsxs as My6}from"react/jsx-runtime";function qy6({home:$}){let Z=Ry6(Sc0,kc0);return My6(Iy6,{flexDirection:"column",children:[dd1(hd1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),dd1(cd1,{logs:Z.logs})]})}var yc0=O(()=>{ud1();ld1();LD()});var e3="thread-gate",GN="decopilot-hosted-harness",hG="automations",mF="background-tools";var md1="7";function id1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:md1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var nd1=()=>{};function ky6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function gc0($,Z){for(let X=0;X<$.length;X++){let Q=$[X];if(Q===void 0)continue;if(Q===Z)return $[X+1];if(Q.startsWith(`${Z}=`))return Q.slice(Z.length+1)}return}function pd1(){let $=ky6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:gc0($,"--cpu-prof-dir")??process.cwd(),name:gc0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(gc0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}function td1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=UD();if(!X)return;let Q={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);Q={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:X.rss,heapUsed:X.heapUsed,heapTotal:X.heapTotal,external:X.external,arrayBuffers:X.arrayBuffers,...Q}))};return Z().catch(()=>{}),F50=setInterval(()=>void Z().catch(()=>{}),$),F50.unref?.(),process.on("SIGUSR2",()=>{try{let X=Bun.generateHeapSnapshot("v8"),Q=typeof X==="string"?X:JSON.stringify(X),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,Q),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(X){console.error("[heap-watch] snapshot failed:",X)}}),()=>{if(F50)clearInterval(F50)}}var F50;var od1=()=>{};import*as Sy6 from"bun:jsc";function rd1(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{Vy6()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let X,Q=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-Q;Q=G+Z;let K=[];try{K=Cy6()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let N of K){let U=N.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??N.frames[0];if(!U)continue;let F=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),w=`${U.name??"?"} @ ${F}:${U.line??"?"}`;W.set(w,(W.get(w)??0)+1)}let H=[...W.entries()].sort((N,U)=>U[1]-N[1]).slice(0,8).map(([N,U])=>({frame:N,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var Vy6,Cy6;var ad1=O(()=>{({startSamplingProfiler:Vy6,samplingProfilerStackTraces:Cy6}=Sy6)});function sd1(){pd1();let $=[td1(),Fu1(),rd1()];return()=>{for(let Z of $)Z()}}var ed1=O(()=>{Zg0();od1();ad1()});var ED=_(($m1)=>{Object.defineProperty($m1,"__esModule",{value:!0});$m1.RepublishHeaders=$m1.DirectMsgHeaders=$m1.JsHeaders=$m1.AdvisoryKind=void 0;$m1.isOrderedPushConsumerOptions=_y6;$m1.isPullConsumer=xy6;$m1.isPushConsumer=vy6;$m1.isBoundPushConsumerOptions=fy6;function _y6($){if($&&typeof $==="object")return"name_prefix"in $||"deliver_subject_prefix"in $||"filter_subjects"in $||"filter_subject"in $||"deliver_policy"in $||"opt_start_seq"in $||"opt_start_time"in $||"replay_policy"in $||"inactive_threshold"in $||"headers_only"in $||"deliver_prefix"in $;return!1}function xy6($){return $.isPullConsumer()}function vy6($){return $.isPushConsumer()}function fy6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}$m1.AdvisoryKind={API:"api_audit",StreamAction:"stream_action",ConsumerAction:"consumer_action",SnapshotCreate:"snapshot_create",SnapshotComplete:"snapshot_complete",RestoreCreate:"restore_create",RestoreComplete:"restore_complete",MaxDeliver:"max_deliver",Terminated:"terminated",Ack:"consumer_ack",StreamLeaderElected:"stream_leader_elected",StreamQuorumLost:"stream_quorum_lost",ConsumerLeaderElected:"consumer_leader_elected",ConsumerQuorumLost:"consumer_quorum_lost"};$m1.JsHeaders={StreamSourceHdr:"Nats-Stream-Source",LastConsumerSeqHdr:"Nats-Last-Consumer",LastStreamSeqHdr:"Nats-Last-Stream",ConsumerStalledHdr:"Nats-Consumer-Stalled",MessageSizeHdr:"Nats-Msg-Size",RollupHdr:"Nats-Rollup",RollupValueSubject:"sub",RollupValueAll:"all",PendingMessagesHdr:"Nats-Pending-Messages",PendingBytesHdr:"Nats-Pending-Bytes",RequiredApiLevel:"Nats-Required-Api-Level"};$m1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};$m1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var VY=_((Xm1)=>{Object.defineProperty(Xm1,"__esModule",{value:!0});Xm1.TD=Xm1.TE=Xm1.Empty=void 0;Xm1.encode=my6;Xm1.decode=iy6;Xm1.Empty=new Uint8Array(0);Xm1.TE=new TextEncoder;Xm1.TD=new TextDecoder;function dy6(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}function my6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(Xm1.TE.encode($[X]));if(Z.length===0)return Xm1.Empty;if(Z.length===1)return Z[0];return dy6(...Z)}function iy6($){if(!$||$.length===0)return"";return Xm1.TD.decode($)}});var CY=_((Gm1)=>{Object.defineProperty(Gm1,"__esModule",{value:!0});Gm1.errors=Gm1.PermissionViolationError=Gm1.NoRespondersError=Gm1.TimeoutError=Gm1.RequestError=Gm1.ProtocolError=Gm1.ConnectionError=Gm1.DrainingConnectionError=Gm1.ClosedConnectionError=Gm1.AuthorizationError=Gm1.UserAuthenticationExpiredError=Gm1.InvalidOperationError=Gm1.InvalidArgumentError=Gm1.InvalidSubjectError=void 0;class uc0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}Gm1.InvalidSubjectError=uc0;class w50 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,X){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((Q)=>`'${Q}'`),$=$.join(",");else $=`'${$}'`;return new w50(`${$} ${Z}`,X)}}Gm1.InvalidArgumentError=w50;class cc0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}Gm1.InvalidOperationError=cc0;class B50 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new B50($);return null}}Gm1.UserAuthenticationExpiredError=B50;class O50 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],X=$.toLowerCase();for(let Q=0;Q<Z.length;Q++)if(X.indexOf(Z[Q])!==-1)return new O50($);return null}}Gm1.AuthorizationError=O50;class lc0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}Gm1.ClosedConnectionError=lc0;class dc0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}Gm1.DrainingConnectionError=dc0;class mc0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}Gm1.ConnectionError=mc0;class ic0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}Gm1.ProtocolError=ic0;class nc0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof L50}}Gm1.RequestError=nc0;class pc0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}Gm1.TimeoutError=pc0;class L50 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}Gm1.NoRespondersError=L50;class D50 extends Error{operation;subject;queue;constructor($,Z,X,Q,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=X,this.queue=Q}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let X="publish",Q="",Y=void 0,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(X=G[1].toLowerCase(),Q=G[2],X==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new D50($,X,Q,Y)}}Gm1.PermissionViolationError=D50;Gm1.errors={AuthorizationError:O50,ClosedConnectionError:lc0,ConnectionError:mc0,DrainingConnectionError:dc0,InvalidArgumentError:w50,InvalidOperationError:cc0,InvalidSubjectError:uc0,NoRespondersError:L50,PermissionViolationError:D50,ProtocolError:ic0,RequestError:nc0,TimeoutError:pc0,UserAuthenticationExpiredError:B50}});var $J=_((Nm1)=>{Object.defineProperty(Nm1,"__esModule",{value:!0});Nm1.SimpleMutex=Nm1.Perf=void 0;Nm1.extend=Wg6;Nm1.render=Hg6;Nm1.timeout=Ng6;Nm1.delay=Ug6;Nm1.deadline=Fg6;Nm1.deferred=oc0;Nm1.debugDeferred=wg6;Nm1.shuffle=Bg6;Nm1.collect=Og6;Nm1.jitter=Hm1;Nm1.backoff=Lg6;Nm1.nanos=Dg6;Nm1.millis=Eg6;Nm1.randomToken=Pg6;var Kg6=VY(),tc0=CY();function Wg6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function Hg6($){return Kg6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Ng6($,Z=!0){let X=Z?new tc0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new tc0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function Ug6($=0){let Z,X=new Promise((Q)=>{let Y=setTimeout(()=>{Q()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),Q()}}});return Object.assign(X,Z)}async function Fg6($,Z=1000){let X=oc0(),Q=setTimeout(()=>{X.reject(new tc0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function oc0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function wg6(){let $={},Z=new Promise((X,Q)=>{$={resolve:(Y)=>{console.trace("resolve",Y),X(Y)},reject:(Y)=>{console.trace("reject"),Q(Y)}}});return Object.assign(Z,$)}function Bg6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function Og6($){let Z=[];for await(let X of $)Z.push(X);return Z}class Km1{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,X){let Q=this.timers.get(Z);if(Q===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(X);if(Y===void 0)throw Error(`${X} is not defined`);this.measures.set($,Y-Q)}getEntries(){let $=[];return this.measures.forEach((Z,X)=>{$.push({name:X,duration:Z})}),$}}Nm1.Perf=Km1;class Wm1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=oc0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}Nm1.SimpleMutex=Wm1;function Hm1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function Lg6($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(X){return Hm1(X>Z?$[Z]:$[X])}}}function Dg6($){return $*1e6}function Eg6($){return Math.floor($/1e6)}var zg6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",JN=new Uint8Array(62);for(let $=0;$<62;$++)JN[$]=zg6.charCodeAt($);var jg6=218340105584896;function Pg6(){let $=Math.floor(Math.random()*jg6),Z=$%62,X=JN[Z];$=($-Z)/62,Z=$%62;let Q=JN[Z];$=($-Z)/62,Z=$%62;let Y=JN[Z];$=($-Z)/62,Z=$%62;let G=JN[Z];$=($-Z)/62,Z=$%62;let J=JN[Z];$=($-Z)/62,Z=$%62;let K=JN[Z];$=($-Z)/62,Z=$%62;let W=JN[Z];$=($-Z)/62;let H=JN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var Em1=_((Lm1)=>{Object.defineProperty(Lm1,"__esModule",{value:!0});Lm1.nuid=Lm1.NuidImpl=void 0;var yg6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",iF=62,z50=12,Bm1=10,Fm1=33,gg6=333,wm1=z50+Bm1,ac0=new Uint8Array(iF);for(let $=0;$<iF;$++)ac0[$]=yg6.charCodeAt($);var E50=4294967296,Om1=BigInt(iF)**BigInt(Bm1),ed=Number(Om1/(1n<<32n)),rc0=Number(Om1%(1n<<32n));function hg6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function ug6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else hg6($)}class sc0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(wm1),this.cbuf=new Uint8Array(z50),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(ed+1)),this.seqLo=Math.floor(Math.random()*E50);while($++<8&&this.seqHi===ed&&this.seqLo>=rc0);if(this.seqHi===ed&&this.seqLo>=rc0)this.seqLo=0;this.inc=Math.random()*(gg6-Fm1)+Fm1|0}setPre(){ug6(this.cbuf);for(let $=0;$<z50;$++)this.buf[$]=ac0[this.cbuf[$]%iF]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=wm1-1;X>=z50;X--){let Q=Math.floor($/iF),G=($-Q*iF)*E50+Z,J=Math.floor(G/iF),K=G-J*iF;this.buf[X]=ac0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=E50)this.seqLo-=E50,this.seqHi+=1;if(this.seqHi>ed||this.seqHi===ed&&this.seqLo>=rc0)this.setPre(),this.initSeqAndInc();this.fillSeq();let $=this.buf;return String.fromCharCode($[0],$[1],$[2],$[3],$[4],$[5],$[6],$[7],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15],$[16],$[17],$[18],$[19],$[20],$[21])}reset(){this.init()}}Lm1.NuidImpl=sc0;Lm1.nuid=new sc0});var Am1=_((jm1)=>{Object.defineProperty(jm1,"__esModule",{value:!0});jm1.nuid=jm1.Nuid=void 0;var zm1=Em1();jm1.Nuid=zm1.NuidImpl;jm1.nuid=zm1.nuid});var P50=_((j50)=>{Object.defineProperty(j50,"__esModule",{value:!0});j50.nuid=j50.Nuid=void 0;var Tm1=Am1();Object.defineProperty(j50,"Nuid",{enumerable:!0,get:function(){return Tm1.Nuid}});Object.defineProperty(j50,"nuid",{enumerable:!0,get:function(){return Tm1.nuid}})});var nF=_((Im1)=>{Object.defineProperty(Im1,"__esModule",{value:!0});Im1.DEFAULT_HOST=Im1.DEFAULT_PORT=Im1.Match=void 0;Im1.syncIterator=ng6;Im1.createInbox=pg6;var mg6=P50(),ig6=CY();Im1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function ng6($){let Z=$[Symbol.asyncIterator]();return{async next(){let X=await Z.next();if(X.done)return Promise.resolve(null);return Promise.resolve(X.value)}}}function pg6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw ig6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${mg6.nuid.next()}`}Im1.DEFAULT_PORT=4222;Im1.DEFAULT_HOST="127.0.0.1"});var $m=_((km1)=>{Object.defineProperty(km1,"__esModule",{value:!0});km1.DataBuffer=void 0;var qm1=VY();class Mm1{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}static fromAscii($){if(!$)$="";return qm1.TE.encode($)}static toAscii($){return qm1.TD.decode($)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let $=new Uint8Array(this.byteLength),Z=0;for(let X=0;X<this.buffers.length;X++)$.set(this.buffers[X],Z),Z+=this.buffers[X].length;this.buffers.length=0,this.buffers.push($)}}shift(){if(this.buffers.length){let $=this.buffers.shift();if($)return this.byteLength-=$.length,$}return new Uint8Array(0)}drain($){if(this.buffers.length){this.pack();let Z=this.buffers.pop();if(Z){let X=this.byteLength;if($===void 0||$>X)$=X;let Q=Z.subarray(0,$);if(X>$)this.buffers.push(Z.subarray($));return this.byteLength=X-$,Q}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let X=0;X<Z.length;X++)if(Z[X]&&Z[X].length)this.buffers.push(Z[X]),this.byteLength+=Z[X].length}peek(){if(this.buffers.length)return this.pack(),this.buffers[0];return new Uint8Array(0)}size(){return this.byteLength}length(){return this.buffers.length}}km1.DataBuffer=Mm1});var zD=_((Cm1)=>{Object.defineProperty(Cm1,"__esModule",{value:!0});Cm1.LF=Cm1.CR=Cm1.CRLF=Cm1.CR_LF_LEN=Cm1.CR_LF=void 0;Cm1.setTransportFactory=Zh6;Cm1.defaultPort=Xh6;Cm1.getUrlParseFn=Qh6;Cm1.newTransport=Yh6;Cm1.getResolveFn=Gh6;Cm1.protoLen=Vm1;Cm1.extractProtocolMessage=Jh6;var sg6=VY(),eg6=nF(),$h6=$m(),_Y;function Zh6($){_Y=$}function Xh6(){return _Y!==void 0&&_Y.defaultPort!==void 0?_Y.defaultPort:eg6.DEFAULT_PORT}function Qh6(){return _Y!==void 0&&_Y.urlParseFn?_Y.urlParseFn:void 0}function Yh6(){if(!_Y||typeof _Y.factory!=="function")throw Error("transport fn is not set");return _Y.factory()}function Gh6(){return _Y!==void 0&&_Y.dnsResolveFn?_Y.dnsResolveFn:void 0}Cm1.CR_LF=`\r
|
|
1260
1260
|
`;Cm1.CR_LF_LEN=Cm1.CR_LF.length;Cm1.CRLF=$h6.DataBuffer.fromAscii(Cm1.CR_LF);Cm1.CR=new Uint8Array(Cm1.CRLF)[0];Cm1.LF=new Uint8Array(Cm1.CRLF)[1];function Vm1($){for(let Z=0;Z<$.length;Z++){let X=Z+1;if($.byteLength>X&&$[Z]===Cm1.CR&&$[X]===Cm1.LF)return X+1}return 0}function Jh6($){let Z=Vm1($);if(Z>0){let Q=new Uint8Array($).slice(0,Z);return sg6.TD.decode(Q)}return""}});var Ql0=_((hm1)=>{Object.defineProperty(hm1,"__esModule",{value:!0});hm1.ipV4=bm1;hm1.isIP=Dh6;hm1.parseIP=ym1;var Zm=4,jD=16,A50=48,fm1=57,xm1=65,Oh6=70,vm1=97,Lh6=102,Xl0=16777215;function bm1($,Z,X,Q){let Y=new Uint8Array(jD);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((J,K)=>{Y[K]=J}),Y[12]=$,Y[13]=Z,Y[14]=X,Y[15]=Q,Y}function Dh6($){return ym1($)!==void 0}function ym1($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return gm1($);case":":return Eh6($)}return}function gm1($){let Z=new Uint8Array(Zm);for(let X=0;X<Zm;X++){if($.length===0)return;if(X>0){if($[0]!==".")return;$=$.substring(1)}let{n:Q,c:Y,ok:G}=zh6($);if(!G||Q>255)return;$=$.substring(Y),Z[X]=Q}return bm1(Z[0],Z[1],Z[2],Z[3])}function Eh6($){let Z=new Uint8Array(jD),X=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(X=0,$=$.substring(2),$.length===0)return Z}let Q=0;while(Q<jD){let{n:Y,c:G,ok:J}=jh6($);if(!J||Y>65535)return;if(G<$.length&&$[G]==="."){if(X<0&&Q!=jD-Zm)return;if(Q+Zm>jD)return;let K=gm1($);if(K===void 0)return;Z[Q]=K[12],Z[Q+1]=K[13],Z[Q+2]=K[14],Z[Q+3]=K[15],$="",Q+=Zm;break}if(Z[Q]=Y>>8,Z[Q+1]=Y,Q+=2,$=$.substring(G),$.length===0)break;if($[0]!==":"||$.length==1)return;if($=$.substring(1),$[0]===":"){if(X>=0)return;if(X=Q,$=$.substring(1),$.length===0)break}}if($.length!==0)return;if(Q<jD){if(X<0)return;let Y=jD-Q;for(let G=Q-1;G>=X;G--)Z[G+Y]=Z[G];for(let G=X+Y-1;G>=X;G--)Z[G]=0}else if(X>=0)return;return Z}function zh6($){let Z=0,X=0;for(Z=0;Z<$.length&&A50<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=fm1;Z++)if(X=X*10+($.charCodeAt(Z)-A50),X>=Xl0)return{n:Xl0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:X,c:Z,ok:!0}}function jh6($){let Z=0,X=0;for(X=0;X<$.length;X++){if(A50<=$.charCodeAt(X)&&$.charCodeAt(X)<=fm1)Z*=16,Z+=$.charCodeAt(X)-A50;else if(vm1<=$.charCodeAt(X)&&$.charCodeAt(X)<=Lh6)Z*=16,Z+=$.charCodeAt(X)-vm1+10;else if(xm1<=$.charCodeAt(X)&&$.charCodeAt(X)<=Oh6)Z*=16,Z+=$.charCodeAt(X)-xm1+10;else break;if(Z>=Xl0)return{n:0,c:X,ok:!1}}if(X===0)return{n:0,c:X,ok:!1};return{n:Z,c:X,ok:!0}}});var Hl0=_((cm1)=>{Object.defineProperty(cm1,"__esModule",{value:!0});cm1.Servers=cm1.ServerImpl=void 0;cm1.isIPV4OrHostname=um1;cm1.hostPort=Wl0;var Yl0=zD(),Gl0=$J(),Jl0=Ql0(),Ih6=nF(),Rh6=CY();function um1($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function Kl0($){return!um1($)}function qh6($){let X=$.toUpperCase().indexOf("::FFFF:");if(X!==-1&&$.indexOf(".")!==-1){let Q=$.substring(X+7);return Q=Q.replace("[",""),Q.replace("]","")}return $}function Wl0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=qh6($),Kl0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=Kl0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),X=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):Ih6.DEFAULT_PORT,Y=new URL(`${X===80?"https":"http"}://${$}`);Y.port=`${X}`;let G=Y.hostname;if(G.charAt(0)==="[")G=G.substring(1,G.length-1);return{listen:Y.host,hostname:G,port:X}}class kf{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let X=Wl0($);this.listen=X.listen,this.hostname=X.hostname,this.port=X.port,this.didConnect=!1,this.reconnects=0,this.lastConnect=0,this.gossiped=Z}toString(){return this.listen}async resolve($){if(!$.fn||$.resolve===!1)return[this];let Z=[];if((0,Jl0.isIP)(this.hostname))return[this];else{let X=await $.fn(this.hostname);if($.debug)console.log(`resolve ${this.hostname} = ${X.join(",")}`);for(let Q of X){let Y=this.port===80?"https":"http",G=new URL(`${Y}://${Kl0(Q)?"["+Q+"]":Q}`);G.port=`${this.port}`;let J=new kf(G.host,!1);J.tlsName=this.hostname,Z.push(J)}}if($.randomize)(0,Gl0.shuffle)(Z);return this.resolves=Z,Z}}cm1.ServerImpl=kf;class T50{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw Rh6.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,Yl0.getUrlParseFn)(),X=new Map;for(let Y of this.servers)X.set(Y.listen,Y);let Q=[];for(let Y of $){Y=Z?Z(Y):Y;let{listen:G}=Wl0(Y),J=X.get(G);if(J)J.gossiped=!1,Q.push(J);else Q.push(new kf(Y))}if(this.randomize)(0,Gl0.shuffle)(Q);if(this.servers=Q,this.currentServer===void 0||!Q.includes(this.currentServer))this.currentServer=Q[0],this.firstSelect=!0}clear(){this.servers.length=0}updateTLSName(){let $=this.getCurrentServer();if(!(0,Jl0.isIP)($.hostname))this.tlsName=$.hostname,this.servers.forEach((Z)=>{if(Z.gossiped)Z.tlsName=this.tlsName})}getCurrentServer(){return this.currentServer}addServer($,Z=!1){let X=(0,Yl0.getUrlParseFn)();$=X?X($):$;let Q=new kf($,Z);if((0,Jl0.isIP)(Q.hostname))Q.tlsName=this.tlsName;this.servers.push(Q)}selectServer(){if(this.firstSelect)return this.firstSelect=!1,this.currentServer;let $=this.servers.shift();if($)this.servers.push($),this.currentServer=$;return $}removeCurrentServer(){this.removeServer(this.currentServer)}removeServer($){if($){let Z=this.servers.indexOf($);this.servers.splice(Z,1)}}snapshot(){return T50.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return T50.freezeAll([$,...this.servers.slice(0,Z),...this.servers.slice(Z+1)])}static freezeAll($){return $.map((Z)=>Object.freeze({hostname:Z.hostname,port:Z.port,listen:Z.listen,src:Z.src,tlsName:Z.tlsName,reconnects:Z.reconnects,lastConnect:Z.lastConnect,gossiped:Z.gossiped,didConnect:Z.didConnect}))}find($){return this.servers.find((Z)=>Z.listen===$.listen)}setCurrent($){this.currentServer=$}length(){return this.servers.length}next(){return this.servers.length?this.servers[0]:void 0}getServers(){return this.servers}update($,Z){let X=[],Q=[],Y=(0,Yl0.getUrlParseFn)(),G=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new kf(K,!0);G.set(K,W)});let J=[];if(this.servers.forEach((K,W)=>{let H=K.listen;if(K.gossiped&&this.currentServer.listen!==H&&G.get(H)===void 0)J.push(W);G.delete(H)}),J.reverse(),J.forEach((K)=>{let W=this.servers.splice(K,1);Q=Q.concat(W[0].listen)}),G.forEach((K,W)=>{this.servers.push(K),X.push(W)}),this.randomize&&X.length>0){let K=this.currentServer,W=this.servers.filter((H)=>H!==K);(0,Gl0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:X,deleted:Q}}}cm1.Servers=T50});var I50=_((im1)=>{Object.defineProperty(im1,"__esModule",{value:!0});im1.QueuedIteratorImpl=void 0;var Nl0=$J(),dm1=CY();class mm1{inflight;processed;received;noIterator;iterClosed;done;signal;yields;filtered;pendingFiltered;ctx;_data;err;time;profile;yielding;didBreak;constructor(){this.inflight=0,this.filtered=0,this.pendingFiltered=0,this.processed=0,this.received=0,this.noIterator=!1,this.done=!1,this.signal=(0,Nl0.deferred)(),this.yields=[],this.iterClosed=(0,Nl0.deferred)(),this.time=0,this.yielding=!1,this.didBreak=!1,this.profile=!1}[Symbol.asyncIterator](){return this.iterate()}push($){if(this.done)return;if(this.didBreak){if(typeof $==="function"){let Z=$;try{Z()}catch(X){}}return}if(typeof $==="function")this.pendingFiltered++;this.yields.push($),this.signal.resolve()}async*iterate(){if(this.noIterator)throw new dm1.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new dm1.InvalidOperationError("iterator is already yielding");this.yielding=!0;try{while(!0){if(this.yields.length===0)await this.signal;if(this.err)throw this.err;let $=this.yields;this.inflight=$.length,this.yields=[];for(let Z=0;Z<$.length;Z++){if(typeof $[Z]==="function"){this.pendingFiltered--;let Q=$[Z];try{Q()}catch(Y){throw Y}if(this.err)throw this.err;continue}this.processed++,this.inflight--;let X=this.profile?Date.now():0;yield $[Z],this.time=this.profile?Date.now()-X:0}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,Nl0.deferred)()}}finally{this.didBreak=!0,this.stop()}}stop($){if(this.done)return;this.err=$,this.done=!0,this.signal.resolve(),this.iterClosed.resolve($)}getProcessed(){return this.noIterator?this.received:this.processed}getPending(){return this.yields.length+this.inflight-this.pendingFiltered}getReceived(){return this.received-this.filtered}}im1.QueuedIteratorImpl=mm1});var Ul0=_((om1)=>{Object.defineProperty(om1,"__esModule",{value:!0});om1.MuxSubscription=void 0;var Vh6=nF(),pm1=CY();class tm1{baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,Vh6.createInbox)($)}.`,this.baseInbox}add($){if(!isNaN($.received))$.received=0;this.reqs.set($.token,$)}get($){return this.reqs.get($)}cancel($){this.reqs.delete($.token)}getToken($){let Z=$.subject||"";if(Z.indexOf(this.baseInbox)===0)return Z.substring(this.baseInbox.length);return null}all(){return Array.from(this.reqs.values())}handleError($,Z){if($)return this.all().forEach((X)=>{X.resolver(Z,{})}),!0;if(Z.operation==="publish"){let X=this.all().find((Q)=>{return Q.requestSubject===Z.subject});if(X)return X.resolver(Z,{}),!0}return!1}dispatcher(){return($,Z)=>{let X=this.getToken(Z);if(X){let Q=this.get(X);if(Q){if($===null)$=Z?.data?.length===0&&Z.headers?.code===503?new pm1.NoRespondersError(Q.requestSubject):null;Q.resolver($,Z)}}}}close(){let $=new pm1.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}om1.MuxSubscription=tm1});var Fl0=_((sm1)=>{Object.defineProperty(sm1,"__esModule",{value:!0});sm1.Heartbeat=void 0;var Ch6=$J();class am1{ph;interval;maxOut;timer;pendings;constructor($,Z,X){this.ph=$,this.interval=Z,this.maxOut=X,this.pendings=[]}start(){this.cancel(),this._schedule()}cancel($){if(this.timer)clearTimeout(this.timer),this.timer=void 0;if(this._reset(),$)this.ph.disconnect()}_schedule(){this.timer=setTimeout(()=>{if(this.ph.dispatchStatus({type:"ping",pendingPings:this.pendings.length+1}),this.pendings.length===this.maxOut){this.cancel(!0);return}let $=(0,Ch6.deferred)();this.ph.flush($).then(()=>{this._reset()}).catch(()=>{this.cancel()}),this.pendings.push($),this._schedule()},this.interval)}_reset(){this.pendings=this.pendings.filter(($)=>{return $.resolve(),!1})}}sm1.Heartbeat=am1});var Ol0=_((Qi1)=>{Object.defineProperty(Qi1,"__esModule",{value:!0});Qi1.DenoBuffer=Qi1.MAX_SIZE=Qi1.AssertionError=void 0;Qi1.assert=Zi1;Qi1.concat=Xi1;Qi1.append=xh6;Qi1.readAll=vh6;Qi1.writeAll=fh6;var _h6=VY();class wl0 extends Error{constructor($){super($);this.name="AssertionError"}}Qi1.AssertionError=wl0;function Zi1($,Z="Assertion failed."){if(!$)throw new wl0(Z)}var $i1=32768;Qi1.MAX_SIZE=4294967294;function R50($,Z,X=0){let Q=Z.byteLength-X;if($.byteLength>Q)$=$.subarray(0,Q);return Z.set($,X),$.byteLength}function Xi1($,Z){if($===void 0&&Z===void 0)return new Uint8Array(0);if($===void 0)return Z;if(Z===void 0)return $;let X=new Uint8Array($.length+Z.length);return X.set($,0),X.set(Z,$.length),X}function xh6($,Z){return Xi1($,Uint8Array.of(Z))}class Bl0{_buf;_off;constructor($){if(this._off=0,$==null){this._buf=new Uint8Array(0);return}this._buf=new Uint8Array($)}bytes($={copy:!0}){if($.copy===!1)return this._buf.subarray(this._off);return this._buf.slice(this._off)}empty(){return this._buf.byteLength<=this._off}get length(){return this._buf.byteLength-this._off}get capacity(){return this._buf.buffer.byteLength}truncate($){if($===0){this.reset();return}if($<0||$>this.length)throw Error("bytes.Buffer: truncation out of range");this._reslice(this._off+$)}reset(){this._reslice(0),this._off=0}_tryGrowByReslice($){let Z=this._buf.byteLength;if($<=this.capacity-Z)return this._reslice(Z+$),Z;return-1}_reslice($){Zi1($<=this._buf.buffer.byteLength),this._buf=new Uint8Array(this._buf.buffer,0,$)}readByte(){let $=new Uint8Array(1);if(this.read($))return $[0];return null}read($){if(this.empty()){if(this.reset(),$.byteLength===0)return 0;return null}let Z=R50(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(_h6.TE.encode($))}write($){let Z=this._grow($.byteLength);return R50($,this._buf,Z)}_grow($){let Z=this.length;if(Z===0&&this._off!==0)this.reset();let X=this._tryGrowByReslice($);if(X>=0)return X;let Q=this.capacity;if($<=Math.floor(Q/2)-Z)R50(this._buf.subarray(this._off),this._buf);else if(Q+$>Qi1.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*Q+$,Qi1.MAX_SIZE));R50(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,Qi1.MAX_SIZE)),Z}grow($){if($<0)throw Error("Buffer._grow: negative count");let Z=this._grow($);this._reslice(Z)}readFrom($){let Z=0,X=new Uint8Array($i1);while(!0){let Q=this.capacity-this.length<$i1,Y=Q?X:new Uint8Array(this._buf.buffer,this.length),G=$.read(Y);if(G===null)return Z;if(Q)this.write(Y.subarray(0,G));else this._reslice(this.length+G);Z+=G}}}Qi1.DenoBuffer=Bl0;function vh6($){let Z=new Bl0;return Z.readFrom($),Z.bytes()}function fh6($,Z){let X=0;while(X<Z.length)X+=$.write(Z.subarray(X))}});var El0=_((Wi1)=>{Object.defineProperty(Wi1,"__esModule",{value:!0});Wi1.cc=Wi1.State=Wi1.Parser=Wi1.Kind=void 0;Wi1.describe=lh6;var Ll0=Ol0(),Dl0=VY();Wi1.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function lh6($){let Z,X="";switch($.kind){case Wi1.Kind.MSG:Z="MSG";break;case Wi1.Kind.OK:Z="OK";break;case Wi1.Kind.ERR:Z="ERR",X=Dl0.TD.decode($.data);break;case Wi1.Kind.PING:Z="PING";break;case Wi1.Kind.PONG:Z="PONG";break;case Wi1.Kind.INFO:Z="INFO",X=Dl0.TD.decode($.data)}return`${Z}: ${X}`}function Gi1(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var Ji1=48,dh6=57,Sf=67108864;class Ki1{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=Wi1.State.OP_START,this.as=0,this.drop=0,this.hdr=0}parse($){let Z;for(Z=0;Z<$.length;Z++){let X=$[Z];switch(this.state){case Wi1.State.OP_START:switch(X){case Wi1.cc.M:case Wi1.cc.m:this.state=Wi1.State.OP_M,this.hdr=-1,this.ma=Gi1();break;case Wi1.cc.H:case Wi1.cc.h:this.state=Wi1.State.OP_H,this.hdr=0,this.ma=Gi1();break;case Wi1.cc.P:case Wi1.cc.p:this.state=Wi1.State.OP_P;break;case Wi1.cc.PLUS:this.state=Wi1.State.OP_PLUS;break;case Wi1.cc.MINUS:this.state=Wi1.State.OP_MINUS;break;case Wi1.cc.I:case Wi1.cc.i:this.state=Wi1.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_H:switch(X){case Wi1.cc.M:case Wi1.cc.m:this.state=Wi1.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_M:switch(X){case Wi1.cc.S:case Wi1.cc.s:this.state=Wi1.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_MS:switch(X){case Wi1.cc.G:case Wi1.cc.g:this.state=Wi1.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_MSG:switch(X){case Wi1.cc.SPACE:case Wi1.cc.TAB:this.state=Wi1.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_MSG_SPC:switch(X){case Wi1.cc.SPACE:case Wi1.cc.TAB:continue;default:this.state=Wi1.State.MSG_ARG,this.as=Z}break;case Wi1.State.MSG_ARG:switch(X){case Wi1.cc.CR:this.drop=1;break;case Wi1.cc.NL:{let Q=this.argBuf?this.argBuf.bytes():$.subarray(this.as,Z-this.drop);this.processMsgArgs(Q),this.drop=0,this.as=Z+1,this.state=Wi1.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;case Wi1.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let Q=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:Wi1.Kind.MSG,msg:this.ma,data:Q}),this.argBuf=void 0,this.msgBuf=void 0,this.state=Wi1.State.MSG_END}else{let Q=this.ma.size-this.msgBuf.length,Y=$.length-Z;if(Y<Q)Q=Y;if(Q>0)this.msgBuf.write($.subarray(Z,Z+Q)),Z=Z+Q-1;else this.msgBuf.writeByte(X)}else if(Z-this.as>=this.ma.size)this.dispatcher.push({kind:Wi1.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=Wi1.State.MSG_END;break;case Wi1.State.MSG_END:switch(X){case Wi1.cc.NL:this.drop=0,this.as=Z+1,this.state=Wi1.State.OP_START;break;default:continue}break;case Wi1.State.OP_PLUS:switch(X){case Wi1.cc.O:case Wi1.cc.o:this.state=Wi1.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_PLUS_O:switch(X){case Wi1.cc.K:case Wi1.cc.k:this.state=Wi1.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_PLUS_OK:switch(X){case Wi1.cc.NL:this.dispatcher.push({kind:Wi1.Kind.OK}),this.drop=0,this.state=Wi1.State.OP_START;break}break;case Wi1.State.OP_MINUS:switch(X){case Wi1.cc.E:case Wi1.cc.e:this.state=Wi1.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_MINUS_E:switch(X){case Wi1.cc.R:case Wi1.cc.r:this.state=Wi1.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_MINUS_ER:switch(X){case Wi1.cc.R:case Wi1.cc.r:this.state=Wi1.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_MINUS_ERR:switch(X){case Wi1.cc.SPACE:case Wi1.cc.TAB:this.state=Wi1.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_MINUS_ERR_SPC:switch(X){case Wi1.cc.SPACE:case Wi1.cc.TAB:continue;default:this.state=Wi1.State.MINUS_ERR_ARG,this.as=Z}break;case Wi1.State.MINUS_ERR_ARG:switch(X){case Wi1.cc.CR:this.drop=1;break;case Wi1.cc.NL:{let Q;if(this.argBuf)Q=this.argBuf.bytes(),this.argBuf=void 0;else Q=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:Wi1.Kind.ERR,data:Q}),this.drop=0,this.as=Z+1,this.state=Wi1.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(X))}break;case Wi1.State.OP_P:switch(X){case Wi1.cc.I:case Wi1.cc.i:this.state=Wi1.State.OP_PI;break;case Wi1.cc.O:case Wi1.cc.o:this.state=Wi1.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_PO:switch(X){case Wi1.cc.N:case Wi1.cc.n:this.state=Wi1.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_PON:switch(X){case Wi1.cc.G:case Wi1.cc.g:this.state=Wi1.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_PONG:switch(X){case Wi1.cc.NL:this.dispatcher.push({kind:Wi1.Kind.PONG}),this.drop=0,this.state=Wi1.State.OP_START;break}break;case Wi1.State.OP_PI:switch(X){case Wi1.cc.N:case Wi1.cc.n:this.state=Wi1.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_PIN:switch(X){case Wi1.cc.G:case Wi1.cc.g:this.state=Wi1.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_PING:switch(X){case Wi1.cc.NL:this.dispatcher.push({kind:Wi1.Kind.PING}),this.drop=0,this.state=Wi1.State.OP_START;break}break;case Wi1.State.OP_I:switch(X){case Wi1.cc.N:case Wi1.cc.n:this.state=Wi1.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_IN:switch(X){case Wi1.cc.F:case Wi1.cc.f:this.state=Wi1.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_INF:switch(X){case Wi1.cc.O:case Wi1.cc.o:this.state=Wi1.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_INFO:switch(X){case Wi1.cc.SPACE:case Wi1.cc.TAB:this.state=Wi1.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case Wi1.State.OP_INFO_SPC:switch(X){case Wi1.cc.SPACE:case Wi1.cc.TAB:continue;default:this.state=Wi1.State.INFO_ARG,this.as=Z}break;case Wi1.State.INFO_ARG:switch(X){case Wi1.cc.CR:this.drop=1;break;case Wi1.cc.NL:{let Q;if(this.argBuf)Q=this.argBuf.bytes(),this.argBuf=void 0;else Q=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:Wi1.Kind.INFO,data:Q}),this.drop=0,this.as=Z+1,this.state=Wi1.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;default:throw this.fail($.subarray(Z))}}if((this.state===Wi1.State.MSG_ARG||this.state===Wi1.State.MINUS_ERR_ARG||this.state===Wi1.State.INFO_ARG)&&!this.argBuf)this.argBuf=new Ll0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===Wi1.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new Ll0.DenoBuffer($.subarray(this.as))}}cloneMsgArg(){let $=this.ma.subject.length,Z=this.ma.reply?this.ma.reply.length:0,X=new Uint8Array($+Z);if(X.set(this.ma.subject),this.ma.reply)X.set(this.ma.reply,$);if(this.argBuf=new Ll0.DenoBuffer(X),this.ma.subject=X.subarray(0,$),this.ma.reply)this.ma.reply=X.subarray($)}processMsgArgs($){if(this.hdr>=0)return this.processHeaderMsgArgs($);let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case Wi1.cc.SPACE:case Wi1.cc.TAB:case Wi1.cc.CR:case Wi1.cc.NL:if(X>=0)Z.push($.subarray(X,Q)),X=-1;break;default:if(X<0)X=Q}if(X>=0)Z.push($.subarray(X));switch(Z.length){case 3:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=void 0,this.ma.size=this.protoParseInt(Z[2],Sf);break;case 4:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=Z[2],this.ma.size=this.protoParseInt(Z[3],Sf);break;default:throw this.fail($,"processMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail($,"processMsgArgs Bad or Missing Sid Error");if(this.ma.size<0)throw this.fail($,"processMsgArgs Bad or Missing Size Error")}fail($,Z=""){if(!Z)Z=`parse error [${this.state}]`;else Z=`${Z} [${this.state}]`;return Error(`${Z}: ${Dl0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case Wi1.cc.SPACE:case Wi1.cc.TAB:case Wi1.cc.CR:case Wi1.cc.NL:if(X>=0)Z.push($.subarray(X,Q)),X=-1;break;default:if(X<0)X=Q}if(X>=0)Z.push($.subarray(X));switch(Z.length){case 4:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=void 0,this.ma.hdr=this.protoParseInt(Z[2],Sf),this.ma.size=this.protoParseInt(Z[3],Sf);break;case 5:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=Z[2],this.ma.hdr=this.protoParseInt(Z[3],Sf),this.ma.size=this.protoParseInt(Z[4],Sf);break;default:throw this.fail($,"processHeaderMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail($,"processHeaderMsgArgs Bad or Missing Sid Error");if(this.ma.hdr<0||this.ma.hdr>this.ma.size)throw this.fail($,"processHeaderMsgArgs Bad or Missing Header Size Error");if(this.ma.size<0)throw this.fail($,"processHeaderMsgArgs Bad or Missing Size Error")}protoParseInt($,Z){if($.length===0||$.length>15)return-1;let X=0;for(let Q=0;Q<$.length;Q++){if($[Q]<Ji1||$[Q]>dh6)return-1;X=X*10+($[Q]-Ji1)}return Z!==void 0&&X>Z?-1:X}}Wi1.Parser=Ki1;Wi1.State={OP_START:0,OP_PLUS:1,OP_PLUS_O:2,OP_PLUS_OK:3,OP_MINUS:4,OP_MINUS_E:5,OP_MINUS_ER:6,OP_MINUS_ERR:7,OP_MINUS_ERR_SPC:8,MINUS_ERR_ARG:9,OP_M:10,OP_MS:11,OP_MSG:12,OP_MSG_SPC:13,MSG_ARG:14,MSG_PAYLOAD:15,MSG_END:16,OP_H:17,OP_P:18,OP_PI:19,OP_PIN:20,OP_PING:21,OP_PO:22,OP_PON:23,OP_PONG:24,OP_I:25,OP_IN:26,OP_INF:27,OP_INFO:28,OP_INFO_SPC:29,INFO_ARG:30};Wi1.cc={CR:13,E:69,e:101,F:70,f:102,G:71,g:103,H:72,h:104,I:73,i:105,K:75,k:107,M:77,m:109,MINUS:45,N:78,n:110,NL:10,O:79,o:111,P:80,p:112,PLUS:43,R:82,r:114,S:83,s:115,SPACE:32,TAB:9}});var k50=_((Ni1)=>{Object.defineProperty(Ni1,"__esModule",{value:!0});Ni1.MsgHdrsImpl=void 0;Ni1.canonicalMIMEHeaderKey=jl0;Ni1.headers=nh6;var Hi1=VY(),ZJ=nF(),M50=CY();function jl0($){let N=!0,U=Array($.length);for(let F=0;F<$.length;F++){let w=$.charCodeAt(F);if(w===58||w<33||w>126)throw M50.InvalidArgumentError.format("header",`'${$[F]}' is not a valid character in a header name`);if(N&&97<=w&&w<=122)w-=32;else if(!N&&65<=w&&w<=90)w+=32;U[F]=w,N=w==45}return String.fromCharCode(...U)}function nh6($=0,Z=""){if($===0&&Z!=="")throw M50.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw M50.InvalidArgumentError.format("description","is required");return new Vf($,Z)}var zl0="NATS/1.0";class Vf{_code;headers;_description;constructor($=0,Z=""){this._code=$,this._description=Z,this.headers=new Map}[Symbol.iterator](){return this.headers.entries()}size(){return this.headers.size}equals($){if($&&this.headers.size===$.headers.size&&this._code===$._code){for(let[Z,X]of this.headers){let Q=$.values(Z);if(X.length!==Q.length)return!1;let Y=[...X].sort(),G=[...Q].sort();for(let J=0;J<Y.length;J++)if(Y[J]!==G[J])return!1}return!0}return!1}static decode($){let Z=new Vf,Q=Hi1.TD.decode($).split(`\r
|
|
1261
1261
|
`),Y=Q[0];if(Y!==zl0){let G=Y.replace(zl0,"").trim();if(G.length>0){if(Z._code=parseInt(G,10),isNaN(Z._code))Z._code=0;let J=Z._code.toString();G=G.replace(J,""),Z._description=G.trim()}}if(Q.length>=1)Q.slice(1).map((G)=>{if(G){let J=G.indexOf(":");if(J>-1){let K=G.slice(0,J),W=G.slice(J+1).trim();Z.append(K,W)}}});return Z}toString(){if(this.headers.size===0&&this._code===0)return"";let $=zl0;if(this._code>0&&this._description!=="")$+=` ${this._code} ${this._description}`;for(let[Z,X]of this.headers)for(let Q=0;Q<X.length;Q++)$=`${$}\r
|
|
1262
1262
|
${Z}: ${X[Q]}`;return`${$}\r
|
|
@@ -2756,7 +2756,7 @@ ${$.description}
|
|
|
2756
2756
|
Task description:
|
|
2757
2757
|
${Z.description}
|
|
2758
2758
|
`:"","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 "${X}", 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: ${Z.id})`,`(reviewToken: ${Q})`].join(`
|
|
2759
|
-
`);await er($,Z,{title:`${fp[X]}: ${Z.title}`,prompt:G,temperature:0.3}),await A3($,{taskBoardItemId:Z.id,action:"review_requested",actorId:null,data:{reviewer:X}});let J=await $.storage.taskBoard.getById(Z.id,Y);if(J)F9(Y,J)}var zu4,ju4;var z91=O(()=>{xJ();TO();KQ();N91();zu4=new Set(["completed","failed","expired"]),ju4={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."}});function Iu4($){return $.filter((X)=>X.action==="merge_conflict_resolution").length>=hV8}async function WP0($,Z,X,Q){if(X.status!=="in_review")return!1;if(X.assigneeId!==Y9)return!1;if(Q.conflict!==!0)return!1;let G=(await $.storage.organizationSettings.get(Z))?.flags??{};if(G.auto_merge!==!0)return!1;let J=wB.filter((N)=>G[BB[N]]===!0),K=await $.storage.taskBoard.listActivity(X.id,Z);if(!Gg(K,J,{verifiedOnly:!0}))return!1;if(Iu4(K))return console.warn(`[task-board] conflict auto-resolve cap (${hV8}) reached on task ${X.id} \u2014 leaving the PR for a human`),!1;let W=Q.pr,H=await $.storage.taskBoard.claimConflictResolution(X.id,Z,X.updatedBy);if(!H)return!1;return await A3($,{taskBoardItemId:X.id,action:"merge_conflict_resolution",actorId:null,data:{prNumber:W.number}}),F9(Z,H),await $a($,H,{pr:{number:W.number,url:W.url},resolveConflict:!0}),!0}var hV8=3;var j91=O(()=>{xJ();TO();KQ();dh()});import{z as HP0}from"zod";async function Xa($,Z,X,Q){if(X){let J=await $.storage.connections.findById(X,Z);if(J&&J.status==="active")return J}let{items:Y}=await $.storage.connections.list(Z,{slug:"mcp-github"}),G=Y.filter((J)=>J.status==="active");if(Q){let J=G.find((K)=>{let W=eX(K);return W?.owner===Q.owner&&W?.repo===Q.name});if(J)return J}return G.find((J)=>eX(J)===null)??G[0]??null}function Qa($){if(!$||typeof $!=="object")return null;let Z=$;if(Z.isError)return null;if(Z.structuredContent&&typeof Z.structuredContent==="object"&&Object.keys(Z.structuredContent).length>0)return Z.structuredContent;let X=Z.content?.find((Q)=>Q.type==="text")?.text;if(!X)return null;try{return JSON.parse(X)}catch{return null}}function A91($){let Z;try{Z=new URL($).hostname.toLowerCase()}catch{return!1}return Z==="deco.site"||Z.endsWith(".decocdn.com")||Z.endsWith(".deco-cx.workers.dev")||Z.endsWith(".deco.site")}function Ru4($){if(!$||!Array.isArray($.statuses))return null;let Z=$.statuses.map((X)=>X&&typeof X==="object"?X:null).filter((X)=>!!X&&typeof X.target_url==="string"&&A91(X.target_url));if(Z.length===0)return null;return Z.find((X)=>X.state==="success")?.target_url??Z[0].target_url}function qu4($){let Z=Array.isArray($)?$:Array.isArray($?.comments)?$.comments:Array.isArray($?.items)?$.items:[];for(let X of Z){let Q=X&&typeof X.body==="string"?X.body:"";if(!Q)continue;let Y=Q.match(/href=['"]([^'"]+)['"][^>]*>\s*Branch Preview/i);if(Y?.[1]&&A91(Y[1]))return Y[1];let G=(Q.match(/https?:\/\/[^\s"'<>)\]]+/g)??[]).find((J)=>A91(J));if(G)return G}return null}function uV8($){if(!$)return null;if((typeof $.total_count==="number"?$.total_count:null)===0)return null;switch($.state){case"success":return"passing";case"failure":case"error":return"failing";case"pending":return"pending";default:return null}}function lV8($){let Z=Array.isArray($)?$:Array.isArray($?.check_runs)?$.check_runs:[];if(Z.length===0)return null;let X=!1,Q=!1;for(let Y of Z){if(!Y||typeof Y!=="object")continue;let{status:G,conclusion:J}=Y;if(G!=="completed")Q=!0;else if(typeof J==="string"&&cV8.has(J))X=!0}if(X)return"failing";if(Q)return"pending";return"passing"}function dV8($,Z){if($==="failing"||Z==="failing")return"failing";if($==="pending"||Z==="pending")return"pending";if($==="passing"||Z==="passing")return"passing";return null}function Mu4($){let Z=Array.isArray($)?$:Array.isArray($?.check_runs)?$.check_runs:[],X=[];for(let Q of Z){if(!Q||typeof Q!=="object")continue;let Y=Q;X.push({id:typeof Y.id==="number"?Y.id:null,name:typeof Y.name==="string"?Y.name:"",status:typeof Y.status==="string"?Y.status:"completed",conclusion:typeof Y.conclusion==="string"?Y.conclusion:null,detailsUrl:typeof Y.html_url==="string"?Y.html_url:typeof Y.details_url==="string"?Y.details_url:null})}return X}function ku4($){return $.status==="completed"&&$.conclusion!=null&&cV8.has($.conclusion)}async function Su4($,Z,X){try{let Y=Qa(await $.callTool({name:"GET_CHECK_RUN",arguments:{owner:Z.repoOwner,repo:Z.repoName,checkRunId:X}},void 0,{timeout:Za}))?.output,G=typeof Y?.summary==="string"?Y.summary:null,J=typeof Y?.text==="string"?Y.text:null;return G??J??null}catch{return null}}async function mV8($,Z,X){let Q=await Xa($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await b5(Q,$,!0),G=async(J)=>Qa(await Y.callTool({name:"pull_request_read",arguments:{method:J,owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:Za}));try{let J=null;try{J=uV8(await G("get_status"))}catch{}try{J=dV8(J,lV8(await G("get_check_runs")))}catch{}return J}finally{await Y.close().catch(()=>{})}}function iV8($){if(!$)return null;if($.state!=="open")return!1;return typeof $.mergeable==="boolean"?!$.mergeable:null}async function nV8($,Z,X){let Q=await Xa($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await b5(Q,$,!0);try{return iV8(Qa(await Y.callTool({name:"pull_request_read",arguments:{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:Za})))}catch{return null}finally{await Y.close().catch(()=>{})}}async function Vu4($,Z){let X=async(H)=>{try{return Qa(await $.callTool({name:"pull_request_read",arguments:{method:H,owner:Z.repoOwner,repo:Z.repoName,pullNumber:Z.number}},void 0,{timeout:Za}))}catch{return null}},[Q,Y,G]=await Promise.all([X("get_status"),X("get_check_runs"),X("get_comments")]),J=dV8(uV8(Q),lV8(Y)),K=Ru4(Q)??qu4(G),W=await Promise.all(Mu4(Y).map(async(H)=>({name:H.name,status:H.status,conclusion:H.conclusion,detailsUrl:H.detailsUrl,summary:ku4(H)&&H.id!=null?await Su4($,Z,H.id):null})));return{checksStatus:J,checks:W,previewUrl:K}}async function Cu4($,Z,X){let Q=await Xa($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return P91;let Y=await b5(Q,$,!0);try{let[G,J]=await Promise.all([Y.callTool({name:"pull_request_read",arguments:{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:Za}),Vu4(Y,X)]),K=Qa(G);if(!K)return P91;let W=K.state,H=W==="open";return{title:typeof K.title==="string"?K.title:null,body:typeof K.body==="string"?K.body:null,state:W==="closed"?"closed":H?"open":null,draft:typeof K.draft==="boolean"?K.draft:null,merged:typeof K.merged==="boolean"?K.merged:null,mergeable:H&&typeof K.mergeable==="boolean"?K.mergeable:null,checksStatus:H?J.checksStatus:null,checks:H?J.checks:[],previewUrl:H?J.previewUrl:null}}catch{return P91}finally{await Y.close().catch(()=>{})}}var Za=8000,P91,cV8,T91;var NP0=O(()=>{s0();eN();rN();xJ();bW();KQ();z91();j91();G51();P91={title:null,body:null,state:null,draft:null,merged:null,mergeable:null,checksStatus:null,checks:[],previewUrl:null};cV8=new Set(["failure","cancelled","timed_out","action_required","startup_failure","stale"]);T91=a({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:HP0.object({taskBoardItemId:HP0.string()}),outputSchema:HP0.object({prs:HP0.array(vB8)}),handler:async({taskBoardItemId:$},Z)=>{E0(Z),await Z.access.check();let X=Z.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let Q=await Z.storage.taskBoard.getById($,X);for(let H of Q?.threads??[]){let N=H.lastMessage?zj0(H.lastMessage):null;if(!N)continue;try{await Z.storage.taskBoard.linkPr({taskBoardItemId:$,organizationId:X,url:N.url,prNumber:N.number,repoOwner:N.owner,repoName:N.repo,connectionId:null})}catch(U){console.error("[task-board] PR recovery from thread text failed",U)}}let Y=await Z.storage.taskBoard.listPrs($,X),G=await Promise.all(Y.map(async(H)=>{let N=await Cu4(Z,X,H);return{url:H.url,number:H.number,repoOwner:H.repoOwner,repoName:H.repoName,createdAt:H.createdAt,...N}})),J=G.find((H)=>H.state==="open"&&!H.merged),K=J!=null&&J.checksStatus!=="pending"&&J.checksStatus!=="failing";if(Q&&Q.status==="in_review"&&Q.assigneeId===Y9&&K)await E91(Z,Q).catch((H)=>{console.error("[task-board] reviewer auto-handoff failed",H)});let W=J?iV8({state:J.state,mergeable:J.mergeable}):null;if(Q&&Q.status==="in_review"&&Q.assigneeId===Y9&&J&&W===!0)await WP0(Z,X,Q,{pr:{number:J.number,url:J.url},conflict:!0}).catch((H)=>{console.error("[task-board] conflict auto-resolve failed",H)});if(G.some((H)=>H.merged))try{if(Q&&Q.status!=="done"){let H=await Z.storage.taskBoard.update($,X,{status:"done"},Q.updatedBy);F9(X,H)}}catch(H){console.error("[task-board] merge\u2192done reconcile failed",H)}return{prs:G}}})});async function UP0($,Z,X){let Y=(await $.storage.taskBoard.listPrs(X,Z))[0];if(!Y)return!1;let G=await mV8($,Z,Y);if(G==="failing"||G==="pending")return console.warn(`[task-board] merge blocked \u2014 checks ${G} on PR #${Y.number}`),!1;let J=await Xa($,Z,Y.connectionId,{owner:Y.repoOwner,name:Y.repoName});if(!J)return!1;let K=await b5(J,$,!0);try{return!(await K.callTool({name:"merge_pull_request",arguments:{owner:Y.repoOwner,repo:Y.repoName,pullNumber:Y.number}},void 0,{timeout:_u4}))?.isError}catch(W){return console.error("[task-board] merge PR failed",W),!1}finally{await K.close().catch(()=>{})}}var _u4=15000;var I91=O(()=>{eN();NP0()});import{z as RO}from"zod";async function xu4($,Z,X){let Y=(await $.storage.organizationSettings.get(Z))?.flags??{},G=wB.filter((K)=>Y[BB[K]]===!0),J=await $.storage.taskBoard.listActivity(X,Z);return Gg(J,G,{verifiedOnly:!0})}var R91;var pV8=O(()=>{s0();xJ();bW();TO();KQ();dh();I91();NP0();j91();R91=a({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:RO.object({taskBoardItemId:RO.string(),reviewer:RO.enum(["qa","code_review"]).describe("Which reviewer you are: `qa` (QA Agent) or `code_review` (Code Reviewer)."),reviewToken:RO.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:RO.enum(["approve","request_changes"]),notes:RO.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:RO.object({status:GU,merged:RO.boolean().describe("True when this approval completed the review and merged the PR.")}),handler:async({taskBoardItemId:$,reviewer:Z,reviewToken:X,decision:Q,notes:Y},G)=>{E0(G),await G.access.check();let J=G.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let K=await G.storage.taskBoard.getById($,J);if(!K)throw Error(`Task board item not found: ${$}`);let H=(X?await G.storage.taskBoard.resolveReviewClaimByToken($,X):null)?.reviewer===Z;if(Q==="request_changes"){let L=await G.storage.taskBoard.update($,J,{status:"in_progress"},K.updatedBy);await A3(G,{taskBoardItemId:$,action:"review_changes_requested",actorId:null,data:{reviewer:Z,notes:Y,verified:H}}),F9(J,L);let E=(await G.storage.taskBoard.listPrs($,J))[0];return await $a(G,L,{feedback:`${fp[Z]}: ${Y}`,pr:E?{number:E.number,url:E.url}:void 0}),{status:L.status,merged:!1}}if(await A3(G,{taskBoardItemId:$,action:"review_approved",actorId:null,data:{reviewer:Z,notes:Y,verified:H}}),!await xu4(G,J,$)){let L=await G.storage.taskBoard.getById($,J)??K;return F9(J,L),{status:L.status,merged:!1}}let F=(await G.storage.organizationSettings.get(J))?.flags?.auto_merge===!0;if(F?await UP0(G,J,$):!1){let L=await G.storage.taskBoard.update($,J,{status:"done"},K.updatedBy);return await A3(G,{taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:K.status,to:"done"}}),F9(J,L),{status:L.status,merged:!0}}let B=await G.storage.taskBoard.getById($,J)??K;if(F){let D=(await G.storage.taskBoard.listPrs($,J))[0];if(D?await WP0(G,J,B,{pr:{number:D.number,url:D.url},conflict:await nV8(G,J,D)}).catch((z)=>{return console.error("[task-board] conflict auto-resolve failed",z),!1}):!1)return{status:(await G.storage.taskBoard.getById($,J)??B).status,merged:!1}}return F9(J,B),{status:B.status,merged:!1}}})});import{z as FP0}from"zod";function vu4($,Z,X){if($!=="in_review")return!1;return X.length===0||Gg(Z,X)}var q91;var tV8=O(()=>{s0();xJ();bW();TO();KQ();I91();q91=a({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:FP0.object({taskBoardItemId:FP0.string()}),outputSchema:FP0.object({status:GU,merged:FP0.boolean().describe("True when the PR was merged.")}),handler:async({taskBoardItemId:$},Z)=>{E0(Z),await Z.access.check();let X=Z.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let Q=await Z.storage.taskBoard.getById($,X);if(!Q)throw Error(`Task board item not found: ${$}`);let G=(await Z.storage.organizationSettings.get(X))?.flags??{},J=wB.filter((N)=>G[BB[N]]===!0),K=await Z.storage.taskBoard.listActivity($,X);if(!vu4(Q.status,K,J))throw Error("Task is not ready to ship: it must be In Review with every enabled reviewer approved");if(!await UP0(Z,X,$))return{status:Q.status,merged:!1};let H=await Z.storage.taskBoard.update($,X,{status:"done"},Q.updatedBy);if(Q.status!=="done")await A3(Z,{taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:Q.status,to:"done"}});return F9(X,H),{status:H.status,merged:!0}}})});var oV8=O(()=>{xV8();bV8();yV8();gV8();NP0();pV8();tV8();TO()});import{z as jU}from"zod";var M91;var rV8=O(()=>{s0();M91=a({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:jU.object({}),outputSchema:jU.object({tags:jU.array(jU.object({id:jU.string(),organizationId:jU.string(),name:jU.string(),color:jU.string().nullable(),createdAt:jU.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z);return{tags:(await Z.storage.tags.listOrgTags(X.id)).map((Y)=>({...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():String(Y.createdAt)}))}}})});import{z as sW}from"zod";var k91;var aV8=O(()=>{s0();k91=a({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:sW.object({name:sW.string().min(1).max(50).describe("Tag name"),color:sW.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional().describe('Hex color the tag renders its dot with, e.g. "#3b82f6"')}),outputSchema:sW.object({tag:sW.object({id:sW.string(),organizationId:sW.string(),name:sW.string(),color:sW.string().nullable(),createdAt:sW.string().describe("ISO 8601 timestamp")})}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z),Q=await Z.storage.tags.createTag(X.id,$.name,$.color);return{tag:{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}}}})});import{z as wP0}from"zod";var S91;var sV8=O(()=>{s0();S91=a({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:wP0.object({tagId:wP0.string().describe("Tag ID to delete")}),outputSchema:wP0.object({success:wP0.boolean()}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z),Q=await Z.storage.tags.getTag($.tagId);if(!Q)throw Error("Tag not found");if(Q.organizationId!==X.id)throw Error("Tag does not belong to this organization");return await Z.storage.tags.deleteTag($.tagId),{success:!0}}})});import{z as eW}from"zod";var V91;var eV8=O(()=>{s0();V91=a({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:eW.object({memberId:eW.string().describe("Member ID")}),outputSchema:eW.object({tags:eW.array(eW.object({id:eW.string(),organizationId:eW.string(),name:eW.string(),color:eW.string().nullable(),createdAt:eW.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z);if(!await Z.storage.tags.verifyMemberOrg($.memberId,X.id))throw Error(`Member not found in this organization: ${$.memberId}`);return{tags:(await Z.storage.tags.getMemberTags($.memberId)).map((G)=>({...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}))}}})});import{z as T3}from"zod";var C91;var $C8=O(()=>{s0();C91=a({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:T3.object({memberId:T3.string().describe("Member ID"),tagIds:T3.array(T3.string()).describe("Array of tag IDs to assign")}),outputSchema:T3.object({success:T3.boolean(),tags:T3.array(T3.object({id:T3.string(),organizationId:T3.string(),name:T3.string(),createdAt:T3.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z);if(!await Z.storage.tags.verifyMemberOrg($.memberId,X.id))throw Error(`Member not found in this organization: ${$.memberId}`);for(let G of $.tagIds){let J=await Z.storage.tags.getTag(G);if(!J)throw Error(`Tag not found: ${G}`);if(J.organizationId!==X.id)throw Error(`Tag does not belong to this organization: ${G}`)}return await Z.storage.tags.setMemberTags($.memberId,$.tagIds),{success:!0,tags:(await Z.storage.tags.getMemberTags($.memberId)).map((G)=>({...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}))}}})});var ZC8=O(()=>{rV8();aV8();sV8();eV8();$C8()});import{z as XC8}from"zod";function hu4($,Z){let X=$?.[Z];if(!X)return;return Object.entries(X).sort(([,Y],[,G])=>{let J=Math.max(0,...Object.values(Y).map((W)=>W.createdAt??0));return Math.max(0,...Object.values(G).map((W)=>W.createdAt??0))-J})[0]?.[0]}var yu4,gu4,_91;var QC8=O(()=>{S$();s0();A_();lX();yu4=XC8.object({data:ck8.describe("Data for the new thread (id is auto-generated if not provided)")}),gu4=XC8.object({item:aW.describe("The created thread entity")});_91=a({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:yu4,outputSchema:gu4,handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=_1(Z);if(!Q)throw Error("User ID required to create thread");let{data:Y}=$,G=Y.id??J4("thrd"),J=await Z.storage.virtualMcps.findById(Y.virtual_mcp_id,X.id);if(!J||J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let K=J.metadata,W=K?.githubRepo,H=null;if(W)H=Y.branch??hu4(K?.sandboxMap,Q)??Gj0(Yj0(Z.auth.user));let N=await Z.storage.threads.create({id:G,organization_id:X.id,title:Y.title,description:Y.description,virtual_mcp_id:Y.virtual_mcp_id,branch:H,created_by:Q});if(N.isNew)i1.capture({distinctId:Q,event:"chat_started",groups:{organization:X.id},properties:{organization_id:X.id,thread_id:G,has_title:!!$.data.title,created_via:"tool"}});return{item:P3(N)}}})});import{z as x91}from"zod";var uu4,cu4,v91;var YC8=O(()=>{S$();s0();A_();uu4=x91.object({id:x91.string().describe("ID of the thread to update"),data:lk8.describe("Partial thread data to update")}),cu4=x91.object({item:aW.describe("The updated thread entity")}),v91=a({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:uu4,outputSchema:cu4,handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=_1(Z);if(!Q)throw Error("User ID required to update thread");let{id:Y,data:G}=$,J=await Z.storage.threads.get(Y);if(!J)throw Error("Thread not found in organization");if(G.virtual_mcp_id!==void 0){let H=await Z.storage.virtualMcps.findById(G.virtual_mcp_id,X.id);if(!H||H.organization_id!==X.id)throw Error(`Virtual MCP not found: ${G.virtual_mcp_id}`)}if(G.branch===null&&J.virtual_mcp_id){if((await Z.storage.virtualMcps.findById(J.virtual_mcp_id,X.id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let K={title:G.title,description:G.description,hidden:G.hidden,updated_by:Q};if(G.status)K.status=G.status;if(G.metadata!==void 0)K.metadata=G.metadata;if(G.branch!==void 0)K.branch=G.branch;if(G.virtual_mcp_id!==void 0)K.virtual_mcp_id=G.virtual_mcp_id;let W=await Z.storage.threads.update(Y,K);if(G.hidden!==void 0&&G.hidden!==J.hidden)i1.capture({distinctId:Q,event:G.hidden?"chat_archived":"chat_unarchived",groups:{organization:X.id},properties:{organization_id:X.id,thread_id:Y}});return{item:P3(W)}}})});var f91;var GC8=O(()=>{B3();A_();S$();s0();f91=a({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:Ro,outputSchema:qo(aW),handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=await Z.storage.threads.get($.id);if(!Q)throw Error(`Thread not found: ${$.id}`);await Z.storage.threads.delete($.id);let Y=_1(Z);if(Y)i1.capture({distinctId:Y,event:"chat_deleted",groups:{organization:X.id},properties:{organization_id:X.id,thread_id:$.id}});return{item:P3(Q)}}})});var JC8=O(()=>{QC8();I51();R51();YC8();GC8();q51()});function du4($){return{type:"doc",content:[{type:"paragraph",content:[{type:"text",text:$}]}]}}function mu4($){return $.map((Z)=>{let X=Z.metadata;if(X?.tiptapDoc)return Z;let Q=Z.parts.find((Y)=>Y.type==="text"&&typeof Y.text==="string");if(!Q?.text||typeof Q.text!=="string")return Z;return{...Z,metadata:{...X,tiptapDoc:du4(Q.text)}}})}function BP0($){let Z;if(typeof $==="string")try{let X=JSON.parse($);if(Array.isArray(X)&&X.length>0&&X[0]?.role&&Array.isArray(X[0]?.parts))Z=X;else Z=[{role:"user",parts:[{type:"text",text:$}]}]}catch{Z=[{role:"user",parts:[{type:"text",text:$}]}]}else Z=$;return mu4(Z)}import{z as n$}from"zod";var b91;var KC8=O(()=>{S$();s0();L3();b91=a({name:"AUTOMATION_CREATE",description:"Create an automation that runs an agent thread on trigger fire. Requires virtual_mcp_id + messages.",annotations:{title:"Create Automation",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:n$.object({name:n$.string().min(1).max(255),virtual_mcp_id:n$.string(),messages:n$.union([n$.string(),n$.array(n$.looseObject({id:n$.string().optional(),role:n$.enum(["user","assistant","system"]),parts:n$.array(n$.record(n$.string(),n$.unknown())),metadata:n$.unknown().optional()}))]),models:n$.object({tier:gB,modelId:n$.string().optional(),credentialId:n$.string().optional()}).loose().default({tier:"smart"}),tools:n$.array(n$.string()).nullable().optional(),maxAgentSteps:n$.number().int().min(1).max(100).nullable().optional(),temperature:n$.number().default(0.5),active:n$.boolean().default(!0)}),outputSchema:n$.object({id:n$.string(),name:n$.string(),active:n$.boolean(),created_at:n$.string()}),handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=_1(Z);if(!Q)throw Error("Unable to determine user identity");let Y=BP0($.messages),G=await Z.storage.automations.create({organization_id:X.id,created_by:Q,name:$.name,messages:JSON.stringify(Y),models:JSON.stringify($.models),tools:$.tools===void 0||$.tools===null?null:JSON.stringify($.tools),max_agent_steps:$.maxAgentSteps??null,temperature:$.temperature,active:$.active,virtual_mcp_id:$.virtual_mcp_id});return i1.capture({distinctId:Q,event:"automation_created",groups:{organization:X.id},properties:{organization_id:X.id,automation_id:G.id,virtual_mcp_id:$.virtual_mcp_id,active:G.active,tier:$.models.tier}}),{id:G.id,name:G.name,active:G.active,created_at:G.created_at}}})});import{z as b$}from"zod";var y91;var WC8=O(()=>{s0();y91=a({name:"AUTOMATION_GET",description:"Get an automation's full configuration and triggers by ID.",annotations:{title:"Get Automation",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:b$.object({id:b$.string()}),outputSchema:b$.object({automation:b$.object({id:b$.string(),name:b$.string(),active:b$.boolean(),created_by:b$.string(),created_at:b$.string(),updated_at:b$.string(),virtual_mcp_id:b$.string(),messages:b$.unknown(),models:b$.unknown(),tools:b$.array(b$.string()).nullable(),maxAgentSteps:b$.number().nullable(),temperature:b$.number(),triggers:b$.array(b$.object({id:b$.string(),type:b$.enum(["cron","event","webhook"]),cron_expression:b$.string().nullable(),connection_id:b$.string().nullable(),event_type:b$.string().nullable(),params:b$.unknown().nullable(),last_run_at:b$.string().nullable(),api_key_id:b$.string().nullable(),created_at:b$.string()}))}).nullable()}),handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=await Z.storage.automations.findById($.id,X.id);if(!Q)return{automation:null};let Y=await Z.storage.automations.listTriggers(Q.id);return{automation:{id:Q.id,name:Q.name,active:Q.active,created_by:Q.created_by,created_at:Q.created_at,updated_at:Q.updated_at,virtual_mcp_id:Q.virtual_mcp_id,messages:JSON.parse(Q.messages),models:JSON.parse(Q.models),tools:Q.tools?JSON.parse(Q.tools):null,maxAgentSteps:Q.max_agent_steps,temperature:Q.temperature,triggers:Y.map((G)=>({id:G.id,type:G.type,cron_expression:G.cron_expression,connection_id:G.connection_id,event_type:G.event_type,params:G.params?JSON.parse(G.params):null,last_run_at:G.last_run_at,api_key_id:G.api_key_id,created_at:G.created_at}))}}}})});import{z as HG}from"zod";var g91;var HC8=O(()=>{s0();g91=a({name:"AUTOMATION_LIST",description:"List automations with their status, triggers, and configuration.",annotations:{title:"List Automations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:HG.object({virtual_mcp_id:HG.string().optional().nullable()}),outputSchema:HG.object({automations:HG.array(HG.object({id:HG.string(),name:HG.string(),active:HG.boolean(),created_by:HG.string(),created_at:HG.string(),trigger_count:HG.number(),nearest_next_run_at:HG.string().nullable(),virtual_mcp_id:HG.string()}))}),handler:async($,Z)=>{E0(Z);let X=H0(Z);return await Z.access.check(),{automations:(await Z.storage.automations.listWithTriggerCounts(X.id,$.virtual_mcp_id)).map((G)=>({id:G.id,name:G.name,active:G.active,created_by:G.created_by,created_at:G.created_at,trigger_count:G.trigger_count,nearest_next_run_at:G.nearest_next_run_at,virtual_mcp_id:G.virtual_mcp_id}))}}})});function iu4($){if(!$)return null;try{let Z=JSON.parse($);if(Array.isArray(Z)&&Z.every((X)=>typeof X==="string"))return Z.length>0?Z:null}catch{}return null}function NC8($){return`${$}:context`}function UC8($,Z,X,Q,Y){return{messages:JSON.parse($.messages).map((W,H)=>({...W,id:`${X}:${H}`})),models:{credentialId:Q.credentialId,thinking:Q.thinking,...Q.image?{image:Q.image}:{},...Q.webSearch?{webSearch:Q.webSearch}:{},...Q.deepResearch?{deepResearch:Q.deepResearch}:{}},agent:{id:$.virtual_mcp_id},toolAllowlist:iu4($.tools),maxAgentSteps:$.max_agent_steps??void 0,temperature:$.temperature??0.5,toolApprovalLevel:"auto",mode:"default",organizationId:$.organization_id,userId:$.created_by,harnessId:"decopilot",sandboxProviderKind:"agent-sandbox",triggerId:Z??void 0,...Y?{runMetadata:Y}:{},taskId:X}}function jX($,Z,X,Q,Y,G,J,K){return jX.fromTZ(jX.tp($,Z,X,Q,Y,G,J),K)}function h91($,Z=new Date){let X=Z.toLocaleString("en-US",{timeZone:$,timeZoneName:"shortOffset"}).split(" ").slice(-1)[0],Q=Z.toLocaleString("en-US").replace(/[\u202f]/," ");return Date.parse(`${Q} GMT`)-Date.parse(`${Q} ${X}`)}function nu4($,Z){let X=new Date(Date.parse($));if(isNaN(X))throw Error("minitz: Invalid ISO8601 passed to parser.");let Q=$.substring(9);return $.includes("Z")||Q.includes("-")||Q.includes("+")?jX.tp(X.getUTCFullYear(),X.getUTCMonth()+1,X.getUTCDate(),X.getUTCHours(),X.getUTCMinutes(),X.getUTCSeconds(),"Etc/UTC"):jX.tp(X.getFullYear(),X.getMonth()+1,X.getDate(),X.getHours(),X.getMinutes(),X.getSeconds(),Z)}function pu4($){if($===void 0&&($={}),delete $.name,$.legacyMode=$.legacyMode===void 0?!0:$.legacyMode,$.paused=$.paused===void 0?!1:$.paused,$.maxRuns=$.maxRuns===void 0?1/0:$.maxRuns,$.catch=$.catch===void 0?!1:$.catch,$.interval=$.interval===void 0?0:parseInt($.interval.toString(),10),$.utcOffset=$.utcOffset===void 0?void 0:parseInt($.utcOffset.toString(),10),$.unref=$.unref===void 0?!1:$.unref,$.startAt&&($.startAt=new I3($.startAt,$.timezone)),$.stopAt&&($.stopAt=new I3($.stopAt,$.timezone)),$.interval!==null){if(isNaN($.interval))throw Error("CronOptions: Supplied value for interval is not a number");if($.interval<0)throw Error("CronOptions: Supplied value for interval can not be negative")}if($.utcOffset!==void 0){if(isNaN($.utcOffset))throw Error("CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.");if($.utcOffset<-870||$.utcOffset>870)throw Error("CronOptions: utcOffset out of bounds.");if($.utcOffset!==void 0&&$.timezone)throw Error("CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.")}if($.unref!==!0&&$.unref!==!1)throw Error("CronOptions: Unref should be either true, false or undefined(false).");return $}function Ya($){return Object.prototype.toString.call($)==="[object Function]"||typeof $=="function"||$ instanceof Function}function tu4($){return Ya($)}function ou4($){typeof Deno<"u"&&typeof Deno.unrefTimer<"u"?Deno.unrefTimer($):$&&typeof $.unref<"u"&&$.unref()}var u91=32,Ga,OC8,FC8=class{pattern;timezone;second;minute;hour;day;month;dayOfWeek;lastDayOfMonth;starDOM;starDOW;constructor($,Z){this.pattern=$,this.timezone=Z,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.lastDayOfMonth=!1,this.starDOM=!1,this.starDOW=!1,this.parse()}parse(){if(!(typeof this.pattern=="string"||this.pattern instanceof String))throw TypeError("CronPattern: Pattern has to be of type string.");this.pattern.indexOf("@")>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let $=this.pattern.replace(/\s+/g," ").split(" ");if($.length<5||$.length>6)throw TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exactly five or six space separated parts are required.");if($.length===5&&$.unshift("0"),$[3].indexOf("L")>=0&&($[3]=$[3].replace("L",""),this.lastDayOfMonth=!0),$[3]=="*"&&(this.starDOM=!0),$[4].length>=3&&($[4]=this.replaceAlphaMonths($[4])),$[5].length>=3&&($[5]=this.replaceAlphaDays($[5])),$[5]=="*"&&(this.starDOW=!0),this.pattern.indexOf("?")>=0){let Z=new I3(new Date,this.timezone).getDate(!0);$[0]=$[0].replace("?",Z.getSeconds().toString()),$[1]=$[1].replace("?",Z.getMinutes().toString()),$[2]=$[2].replace("?",Z.getHours().toString()),this.starDOM||($[3]=$[3].replace("?",Z.getDate().toString())),$[4]=$[4].replace("?",(Z.getMonth()+1).toString()),this.starDOW||($[5]=$[5].replace("?",Z.getDay().toString()))}this.throwAtIllegalCharacters($),this.partToArray("second",$[0],0,1),this.partToArray("minute",$[1],0,1),this.partToArray("hour",$[2],0,1),this.partToArray("day",$[3],-1,1),this.partToArray("month",$[4],-1,1),this.partToArray("dayOfWeek",$[5],0,Ga),this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray($,Z,X,Q){let Y=this[$],G=$==="day"&&this.lastDayOfMonth;if(Z===""&&!G)throw TypeError("CronPattern: configuration entry "+$+" ("+Z+") is empty, check for trailing spaces.");if(Z==="*")return Y.fill(Q);let J=Z.split(",");if(J.length>1)for(let K=0;K<J.length;K++)this.partToArray($,J[K],X,Q);else Z.indexOf("-")!==-1&&Z.indexOf("/")!==-1?this.handleRangeWithStepping(Z,$,X,Q):Z.indexOf("-")!==-1?this.handleRange(Z,$,X,Q):Z.indexOf("/")!==-1?this.handleStepping(Z,$,X,Q):Z!==""&&this.handleNumber(Z,$,X,Q)}throwAtIllegalCharacters($){for(let Z=0;Z<$.length;Z++)if((Z===5?/[^/*0-9,\-#L]+/:/[^/*0-9,-]+/).test($[Z]))throw TypeError("CronPattern: configuration entry "+Z+" ("+$[Z]+") contains illegal characters.")}handleNumber($,Z,X,Q){let Y=this.extractNth($,Z),G=parseInt(Y[0],10)+X;if(isNaN(G))throw TypeError("CronPattern: "+Z+" is not a number: '"+$+"'");this.setPart(Z,G,Y[1]||Q)}setPart($,Z,X){if(!Object.prototype.hasOwnProperty.call(this,$))throw TypeError("CronPattern: Invalid part specified: "+$);if($==="dayOfWeek"){if(Z===7&&(Z=0),Z<0||Z>6)throw RangeError("CronPattern: Invalid value for dayOfWeek: "+Z);this.setNthWeekdayOfMonth(Z,X);return}if($==="second"||$==="minute"){if(Z<0||Z>=60)throw RangeError("CronPattern: Invalid value for "+$+": "+Z)}else if($==="hour"){if(Z<0||Z>=24)throw RangeError("CronPattern: Invalid value for "+$+": "+Z)}else if($==="day"){if(Z<0||Z>=31)throw RangeError("CronPattern: Invalid value for "+$+": "+Z)}else if($==="month"&&(Z<0||Z>=12))throw RangeError("CronPattern: Invalid value for "+$+": "+Z);this[$][Z]=X}handleRangeWithStepping($,Z,X,Q){let Y=this.extractNth($,Z),G=Y[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(G===null)throw TypeError("CronPattern: Syntax error, illegal range with stepping: '"+$+"'");let[,J,K,W]=G,H=parseInt(J,10)+X,N=parseInt(K,10)+X,U=parseInt(W,10);if(isNaN(H))throw TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(N))throw TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(isNaN(U))throw TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(U===0)throw TypeError("CronPattern: Syntax error, illegal stepping: 0");if(U>this[Z].length)throw TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[Z].length+")");if(H>N)throw TypeError("CronPattern: From value is larger than to value: '"+$+"'");for(let F=H;F<=N;F+=U)this.setPart(Z,F,Y[1]||Q)}extractNth($,Z){let X=$,Q;if(X.includes("#")){if(Z!=="dayOfWeek")throw Error("CronPattern: nth (#) only allowed in day-of-week field");Q=X.split("#")[1],X=X.split("#")[0]}return[X,Q]}handleRange($,Z,X,Q){let Y=this.extractNth($,Z),G=Y[0].split("-");if(G.length!==2)throw TypeError("CronPattern: Syntax error, illegal range: '"+$+"'");let J=parseInt(G[0],10)+X,K=parseInt(G[1],10)+X;if(isNaN(J))throw TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(K))throw TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(J>K)throw TypeError("CronPattern: From value is larger than to value: '"+$+"'");for(let W=J;W<=K;W++)this.setPart(Z,W,Y[1]||Q)}handleStepping($,Z,X,Q){let Y=this.extractNth($,Z),G=Y[0].split("/");if(G.length!==2)throw TypeError("CronPattern: Syntax error, illegal stepping: '"+$+"'");G[0]===""&&(G[0]="*");let J=0;G[0]!=="*"&&(J=parseInt(G[0],10)+X);let K=parseInt(G[1],10);if(isNaN(K))throw TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(K===0)throw TypeError("CronPattern: Syntax error, illegal stepping: 0");if(K>this[Z].length)throw TypeError("CronPattern: Syntax error, max steps for part is ("+this[Z].length+")");for(let W=J;W<this[Z].length;W+=K)this.setPart(Z,W,Y[1]||Q)}replaceAlphaDays($){return $.replace(/-sun/gi,"-7").replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")}replaceAlphaMonths($){return $.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")}handleNicknames($){let Z=$.trim().toLowerCase();return Z==="@yearly"||Z==="@annually"?"0 0 1 1 *":Z==="@monthly"?"0 0 1 * *":Z==="@weekly"?"0 0 * * 0":Z==="@daily"?"0 0 * * *":Z==="@hourly"?"0 * * * *":$}setNthWeekdayOfMonth($,Z){if(typeof Z!="number"&&Z==="L")this.dayOfWeek[$]=this.dayOfWeek[$]|u91;else if(Z===Ga)this.dayOfWeek[$]=Ga;else if(Z<6&&Z>0)this.dayOfWeek[$]=this.dayOfWeek[$]|OC8[Z-1];else throw TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${Z}, Type: ${typeof Z}`)}},wC8,PU,I3=class ${tz;ms;second;minute;hour;day;month;year;constructor(Z,X){if(this.tz=X,Z&&Z instanceof Date)if(!isNaN(Z))this.fromDate(Z);else throw TypeError("CronDate: Invalid date passed to CronDate constructor");else if(Z===void 0)this.fromDate(new Date);else if(Z&&typeof Z=="string")this.fromString(Z);else if(Z instanceof $)this.fromCronDate(Z);else throw TypeError("CronDate: Invalid type ("+typeof Z+") passed to CronDate constructor")}isNthWeekdayOfMonth(Z,X,Q,Y){let G=new Date(Date.UTC(Z,X,Q)).getUTCDay(),J=0;for(let K=1;K<=Q;K++)new Date(Date.UTC(Z,X,K)).getUTCDay()===G&&J++;if(Y&Ga&&OC8[J-1]&Y)return!0;if(Y&u91){let K=new Date(Date.UTC(Z,X+1,0)).getUTCDate();for(let W=Q+1;W<=K;W++)if(new Date(Date.UTC(Z,X,W)).getUTCDay()===G)return!1;return!0}return!1}fromDate(Z){if(this.tz!==void 0)if(typeof this.tz=="number")this.ms=Z.getUTCMilliseconds(),this.second=Z.getUTCSeconds(),this.minute=Z.getUTCMinutes()+this.tz,this.hour=Z.getUTCHours(),this.day=Z.getUTCDate(),this.month=Z.getUTCMonth(),this.year=Z.getUTCFullYear(),this.apply();else{let X=jX.toTZ(Z,this.tz);this.ms=Z.getMilliseconds(),this.second=X.s,this.minute=X.i,this.hour=X.h,this.day=X.d,this.month=X.m-1,this.year=X.y}else this.ms=Z.getMilliseconds(),this.second=Z.getSeconds(),this.minute=Z.getMinutes(),this.hour=Z.getHours(),this.day=Z.getDate(),this.month=Z.getMonth(),this.year=Z.getFullYear()}fromCronDate(Z){this.tz=Z.tz,this.year=Z.year,this.month=Z.month,this.day=Z.day,this.hour=Z.hour,this.minute=Z.minute,this.second=Z.second,this.ms=Z.ms}apply(){if(this.month>11||this.day>wC8[this.month]||this.hour>59||this.minute>59||this.second>59||this.hour<0||this.minute<0||this.second<0){let Z=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=Z.getUTCMilliseconds(),this.second=Z.getUTCSeconds(),this.minute=Z.getUTCMinutes(),this.hour=Z.getUTCHours(),this.day=Z.getUTCDate(),this.month=Z.getUTCMonth(),this.year=Z.getUTCFullYear(),!0}else return!1}fromString(Z){if(typeof this.tz=="number"){let X=jX.fromTZISO(Z);this.ms=X.getUTCMilliseconds(),this.second=X.getUTCSeconds(),this.minute=X.getUTCMinutes(),this.hour=X.getUTCHours(),this.day=X.getUTCDate(),this.month=X.getUTCMonth(),this.year=X.getUTCFullYear(),this.apply()}else return this.fromDate(jX.fromTZISO(Z,this.tz))}findNext(Z,X,Q,Y){let G=this[X],J;Q.lastDayOfMonth&&(this.month!==1?J=wC8[this.month]:J=new Date(Date.UTC(this.year,this.month+1,0,0,0,0,0)).getUTCDate());let K=!Q.starDOW&&X=="day"?new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay():void 0;for(let W=this[X]+Y;W<Q[X].length;W++){let H=Q[X][W];if(X==="day"&&Q.lastDayOfMonth&&W-Y==J&&(H=1),X==="day"&&!Q.starDOW){let N=Q.dayOfWeek[(K+(W-Y-1))%7];if(N&&N&Ga)N=this.isNthWeekdayOfMonth(this.year,this.month,W-Y,N)?1:0;else if(N)throw Error(`CronDate: Invalid value for dayOfWeek encountered. ${N}`);Z.legacyMode&&!Q.starDOM?H=H||N:H=H&&N}if(H)return this[X]=W-Y,G!==this[X]?2:1}return 3}recurse(Z,X,Q){let Y=this.findNext(X,PU[Q][0],Z,PU[Q][2]);if(Y>1){let G=Q+1;for(;G<PU.length;)this[PU[G][0]]=-PU[G][2],G++;if(Y===3)return this[PU[Q][1]]++,this[PU[Q][0]]=-PU[Q][2],this.apply(),this.recurse(Z,X,0);if(this.apply())return this.recurse(Z,X,Q-1)}return Q+=1,Q>=PU.length?this:this.year>=3000?null:this.recurse(Z,X,Q)}increment(Z,X,Q){return this.second+=X.interval!==void 0&&X.interval>1&&Q?X.interval:1,this.ms=0,this.apply(),this.recurse(Z,X,0)}getDate(Z){return Z||this.tz===void 0?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):typeof this.tz=="number"?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):jX.fromTZ(jX.tp(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}},BC8=30000,OP0,LP0=class{name;options;_states;fn;constructor($,Z,X){let Q,Y;if(Ya(Z))Y=Z;else if(typeof Z=="object")Q=Z;else if(Z!==void 0)throw Error("Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).");if(Ya(X))Y=X;else if(typeof X=="object")Q=X;else if(X!==void 0)throw Error("Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).");if(this.name=Q?.name,this.options=pu4(Q),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:Q?Q.maxRuns:void 0,paused:Q?Q.paused:!1,pattern:new FC8("* * * * *")},$&&($ instanceof Date||typeof $=="string"&&$.indexOf(":")>0)?this._states.once=new I3($,this.options.timezone||this.options.utcOffset):this._states.pattern=new FC8($,this.options.timezone),this.name){if(OP0.find((G)=>G.name===this.name))throw Error("Cron: Tried to initialize new named job '"+this.name+"', but name already taken.");OP0.push(this)}return Y!==void 0&&tu4(Y)&&(this.fn=Y,this.schedule()),this}nextRun($){let Z=this._next($);return Z?Z.getDate(!1):null}nextRuns($,Z){this._states.maxRuns!==void 0&&$>this._states.maxRuns&&($=this._states.maxRuns);let X=[],Q=Z||this._states.currentRun||void 0;for(;$--&&(Q=this.nextRun(Q));)X.push(Q);return X}getPattern(){return this._states.pattern?this._states.pattern.pattern:void 0}isRunning(){let $=this.nextRun(this._states.currentRun),Z=!this._states.paused,X=this.fn!==void 0,Q=!this._states.kill;return Z&&X&&Q&&$!==null}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext($){let Z=this._next($);return Z?$ instanceof I3||$ instanceof Date?Z.getTime()-$.getTime():Z.getTime()-new I3($).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let $=OP0.indexOf(this);$>=0&&OP0.splice($,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule($){if($&&this.fn)throw Error("Cron: It is not allowed to schedule two functions using the same Croner instance.");$&&(this.fn=$);let Z=this.msToNext(),X=this.nextRun(this._states.currentRun);return Z==null||isNaN(Z)||X===null?this:(Z>BC8&&(Z=BC8),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(X),Z),this._states.currentTimeout&&this.options.unref&&ou4(this._states.currentTimeout),this)}async _trigger($){if(this._states.blocking=!0,this._states.currentRun=new I3(void 0,this.options.timezone||this.options.utcOffset),this.options.catch)try{this.fn!==void 0&&await this.fn(this,this.options.context)}catch(Z){Ya(this.options.catch)&&this.options.catch(Z,this)}else this.fn!==void 0&&await this.fn(this,this.options.context);this._states.previousRun=new I3($,this.options.timezone||this.options.utcOffset),this._states.blocking=!1}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger($){let Z=new Date,X=!this._states.paused&&Z.getTime()>=$.getTime(),Q=this._states.blocking&&this.options.protect;X&&!Q?(this._states.maxRuns!==void 0&&this._states.maxRuns--,this._trigger()):X&&Q&&Ya(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next($){let Z=!!($||this._states.currentRun),X=!1;!$&&this.options.startAt&&this.options.interval&&([$,Z]=this._calculatePreviousRun($,Z),X=!$),$=new I3($,this.options.timezone||this.options.utcOffset),this.options.startAt&&$&&$.getTime()<this.options.startAt.getTime()&&($=this.options.startAt);let Q=this._states.once||new I3($,this.options.timezone||this.options.utcOffset);return!X&&Q!==this._states.once&&(Q=Q.increment(this._states.pattern,this.options,Z)),this._states.once&&this._states.once.getTime()<=$.getTime()||Q===null||this._states.maxRuns!==void 0&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&Q.getTime()>=this.options.stopAt.getTime()?null:Q}_calculatePreviousRun($,Z){let X=new I3(void 0,this.options.timezone||this.options.utcOffset),Q=$;if(this.options.startAt.getTime()<=X.getTime()){Q=this.options.startAt;let Y=Q.getTime()+this.options.interval*1000;for(;Y<=X.getTime();)Q=new I3(Q,this.options.timezone||this.options.utcOffset).increment(this._states.pattern,this.options,!0),Y=Q.getTime()+this.options.interval*1000;Z=!0}return Q===null&&(Q=void 0),[Q,Z]}};var c91=O(()=>{jX.fromTZISO=($,Z,X)=>jX.fromTZ(nu4($,Z),X);jX.fromTZ=function($,Z){let X=new Date(Date.UTC($.y,$.m-1,$.d,$.h,$.i,$.s)),Q=h91($.tz,X),Y=new Date(X.getTime()-Q),G=h91($.tz,Y);if(G-Q===0)return Y;{let J=new Date(X.getTime()-G),K=h91($.tz,J);if(K-G===0)return J;if(!Z&&K-G>0)return J;if(Z)throw Error("Invalid date passed to fromTZ()");return Y}};jX.toTZ=function($,Z){let X=$.toLocaleString("en-US",{timeZone:Z}).replace(/[\u202f]/," "),Q=new Date(X);return{y:Q.getFullYear(),m:Q.getMonth()+1,d:Q.getDate(),h:Q.getHours(),i:Q.getMinutes(),s:Q.getSeconds(),tz:Z}};jX.tp=($,Z,X,Q,Y,G,J)=>({y:$,m:Z,d:X,h:Q,i:Y,s:G,tz:J});jX.minitz=jX;Ga=31|u91,OC8=[1,2,4,8,16],wC8=[31,28,31,30,31,30,31,31,30,31,30,31],PU=[["month","year",0],["day","month",-1],["hour","day",0],["minute","hour",0],["second","minute",0]];OP0=[]});function DP0($,Z){try{return new LP0($,{timezone:"UTC"}).nextRun(Z)??null}catch{return null}}var l91=O(()=>{c91()});import{DBOS as P7,SchedulerMode as ru4}from"@dbos-inc/dbos-sdk";async function p91($){try{let{rows:Z}=await $.query(`SELECT q.name FROM dbos.queues q
|
|
2759
|
+
`);await er($,Z,{title:`${fp[X]}: ${Z.title}`,prompt:G,temperature:0.3}),await A3($,{taskBoardItemId:Z.id,action:"review_requested",actorId:null,data:{reviewer:X}});let J=await $.storage.taskBoard.getById(Z.id,Y);if(J)F9(Y,J)}var zu4,ju4;var z91=O(()=>{xJ();TO();KQ();N91();zu4=new Set(["completed","failed","expired"]),ju4={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."}});function Iu4($){return $.filter((X)=>X.action==="merge_conflict_resolution").length>=hV8}async function WP0($,Z,X,Q){if(X.status!=="in_review")return!1;if(X.assigneeId!==Y9)return!1;if(Q.conflict!==!0)return!1;let G=(await $.storage.organizationSettings.get(Z))?.flags??{};if(G.auto_merge!==!0)return!1;let J=wB.filter((N)=>G[BB[N]]===!0),K=await $.storage.taskBoard.listActivity(X.id,Z);if(!Gg(K,J,{verifiedOnly:!0}))return!1;if(Iu4(K))return console.warn(`[task-board] conflict auto-resolve cap (${hV8}) reached on task ${X.id} \u2014 leaving the PR for a human`),!1;let W=Q.pr,H=await $.storage.taskBoard.claimConflictResolution(X.id,Z,X.updatedBy);if(!H)return!1;return await A3($,{taskBoardItemId:X.id,action:"merge_conflict_resolution",actorId:null,data:{prNumber:W.number}}),F9(Z,H),await $a($,H,{pr:{number:W.number,url:W.url},resolveConflict:!0}),!0}var hV8=3;var j91=O(()=>{xJ();TO();KQ();dh()});import{z as HP0}from"zod";async function Xa($,Z,X,Q){if(X){let J=await $.storage.connections.findById(X,Z);if(J&&J.status==="active")return J}let{items:Y}=await $.storage.connections.list(Z,{slug:"mcp-github"}),G=Y.filter((J)=>J.status==="active");if(Q){let J=G.find((K)=>{let W=eX(K);return W?.owner===Q.owner&&W?.repo===Q.name});if(J)return J}return G.find((J)=>eX(J)===null)??G[0]??null}function Qa($){if(!$||typeof $!=="object")return null;let Z=$;if(Z.isError)return null;if(Z.structuredContent&&typeof Z.structuredContent==="object"&&Object.keys(Z.structuredContent).length>0)return Z.structuredContent;let X=Z.content?.find((Q)=>Q.type==="text")?.text;if(!X)return null;try{return JSON.parse(X)}catch{return null}}function A91($){let Z;try{Z=new URL($).hostname.toLowerCase()}catch{return!1}return Z==="deco.site"||Z.endsWith(".decocdn.com")||Z.endsWith(".deco-cx.workers.dev")||Z.endsWith(".deco.site")}function Ru4($){if(!$||!Array.isArray($.statuses))return null;let Z=$.statuses.map((X)=>X&&typeof X==="object"?X:null).filter((X)=>!!X&&typeof X.target_url==="string"&&A91(X.target_url));if(Z.length===0)return null;return Z.find((X)=>X.state==="success")?.target_url??Z[0].target_url}function qu4($){let Z=Array.isArray($)?$:Array.isArray($?.comments)?$.comments:Array.isArray($?.items)?$.items:[];for(let X of Z){let Q=X&&typeof X.body==="string"?X.body:"";if(!Q)continue;let Y=Q.match(/href=['"]([^'"]+)['"][^>]*>\s*Branch Preview/i);if(Y?.[1]&&A91(Y[1]))return Y[1];let G=(Q.match(/https?:\/\/[^\s"'<>)\]]+/g)??[]).find((J)=>A91(J));if(G)return G}return null}function uV8($){if(!$)return null;if((typeof $.total_count==="number"?$.total_count:null)===0)return null;switch($.state){case"success":return"passing";case"failure":case"error":return"failing";case"pending":return"pending";default:return null}}function lV8($){let Z=Array.isArray($)?$:Array.isArray($?.check_runs)?$.check_runs:[];if(Z.length===0)return null;let X=!1,Q=!1;for(let Y of Z){if(!Y||typeof Y!=="object")continue;let{status:G,conclusion:J}=Y;if(G!=="completed")Q=!0;else if(typeof J==="string"&&cV8.has(J))X=!0}if(X)return"failing";if(Q)return"pending";return"passing"}function dV8($,Z){if($==="failing"||Z==="failing")return"failing";if($==="pending"||Z==="pending")return"pending";if($==="passing"||Z==="passing")return"passing";return null}function Mu4($){let Z=Array.isArray($)?$:Array.isArray($?.check_runs)?$.check_runs:[],X=[];for(let Q of Z){if(!Q||typeof Q!=="object")continue;let Y=Q;X.push({id:typeof Y.id==="number"?Y.id:null,name:typeof Y.name==="string"?Y.name:"",status:typeof Y.status==="string"?Y.status:"completed",conclusion:typeof Y.conclusion==="string"?Y.conclusion:null,detailsUrl:typeof Y.html_url==="string"?Y.html_url:typeof Y.details_url==="string"?Y.details_url:null})}return X}function ku4($){return $.status==="completed"&&$.conclusion!=null&&cV8.has($.conclusion)}async function Su4($,Z,X){try{let Y=Qa(await $.callTool({name:"GET_CHECK_RUN",arguments:{owner:Z.repoOwner,repo:Z.repoName,checkRunId:X}},void 0,{timeout:Za}))?.output,G=typeof Y?.summary==="string"?Y.summary:null,J=typeof Y?.text==="string"?Y.text:null;return G??J??null}catch{return null}}async function mV8($,Z,X){let Q=await Xa($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await b5(Q,$,!0),G=async(J)=>Qa(await Y.callTool({name:"pull_request_read",arguments:{method:J,owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:Za}));try{let J=null;try{J=uV8(await G("get_status"))}catch{}try{J=dV8(J,lV8(await G("get_check_runs")))}catch{}return J}finally{await Y.close().catch(()=>{})}}function iV8($){if(!$)return null;if($.state!=="open")return!1;return typeof $.mergeable==="boolean"?!$.mergeable:null}async function nV8($,Z,X){let Q=await Xa($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await b5(Q,$,!0);try{return iV8(Qa(await Y.callTool({name:"pull_request_read",arguments:{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:Za})))}catch{return null}finally{await Y.close().catch(()=>{})}}async function Vu4($,Z){let X=async(H)=>{try{return Qa(await $.callTool({name:"pull_request_read",arguments:{method:H,owner:Z.repoOwner,repo:Z.repoName,pullNumber:Z.number}},void 0,{timeout:Za}))}catch{return null}},[Q,Y,G]=await Promise.all([X("get_status"),X("get_check_runs"),X("get_comments")]),J=dV8(uV8(Q),lV8(Y)),K=Ru4(Q)??qu4(G),W=await Promise.all(Mu4(Y).map(async(H)=>({name:H.name,status:H.status,conclusion:H.conclusion,detailsUrl:H.detailsUrl,summary:ku4(H)&&H.id!=null?await Su4($,Z,H.id):null})));return{checksStatus:J,checks:W,previewUrl:K}}async function Cu4($,Z,X){let Q=await Xa($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return P91;let Y=await b5(Q,$,!0);try{let[G,J]=await Promise.all([Y.callTool({name:"pull_request_read",arguments:{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:Za}),Vu4(Y,X)]),K=Qa(G);if(!K)return P91;let W=K.state,H=W==="open";return{title:typeof K.title==="string"?K.title:null,body:typeof K.body==="string"?K.body:null,state:W==="closed"?"closed":H?"open":null,draft:typeof K.draft==="boolean"?K.draft:null,merged:typeof K.merged==="boolean"?K.merged:null,mergeable:H&&typeof K.mergeable==="boolean"?K.mergeable:null,checksStatus:H?J.checksStatus:null,checks:H?J.checks:[],previewUrl:H?J.previewUrl:null}}catch{return P91}finally{await Y.close().catch(()=>{})}}var Za=8000,P91,cV8,T91;var NP0=O(()=>{s0();eN();rN();xJ();bW();KQ();z91();j91();G51();P91={title:null,body:null,state:null,draft:null,merged:null,mergeable:null,checksStatus:null,checks:[],previewUrl:null};cV8=new Set(["failure","cancelled","timed_out","action_required","startup_failure","stale"]);T91=a({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:HP0.object({taskBoardItemId:HP0.string()}),outputSchema:HP0.object({prs:HP0.array(vB8)}),handler:async({taskBoardItemId:$},Z)=>{E0(Z),await Z.access.check();let X=Z.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let Q=await Z.storage.taskBoard.getById($,X);for(let H of Q?.threads??[]){let N=H.lastMessage?zj0(H.lastMessage):null;if(!N)continue;try{await Z.storage.taskBoard.linkPr({taskBoardItemId:$,organizationId:X,url:N.url,prNumber:N.number,repoOwner:N.owner,repoName:N.repo,connectionId:null})}catch(U){console.error("[task-board] PR recovery from thread text failed",U)}}let Y=await Z.storage.taskBoard.listPrs($,X),G=await Promise.all(Y.map(async(H)=>{let N=await Cu4(Z,X,H);return{url:H.url,number:H.number,repoOwner:H.repoOwner,repoName:H.repoName,createdAt:H.createdAt,...N}})),J=G.find((H)=>H.state==="open"&&!H.merged),K=J!=null&&J.checksStatus!=="pending"&&J.checksStatus!=="failing";if(Q&&Q.status==="in_review"&&Q.assigneeId===Y9&&K)await E91(Z,Q).catch((H)=>{console.error("[task-board] reviewer auto-handoff failed",H)});let W=J?iV8({state:J.state,mergeable:J.mergeable}):null;if(Q&&Q.status==="in_review"&&Q.assigneeId===Y9&&J&&W===!0)await WP0(Z,X,Q,{pr:{number:J.number,url:J.url},conflict:!0}).catch((H)=>{console.error("[task-board] conflict auto-resolve failed",H)});if(G.some((H)=>H.merged))try{if(Q&&Q.status!=="done"){let H=await Z.storage.taskBoard.update($,X,{status:"done"},Q.updatedBy);F9(X,H)}}catch(H){console.error("[task-board] merge\u2192done reconcile failed",H)}return{prs:G}}})});async function UP0($,Z,X){let Y=(await $.storage.taskBoard.listPrs(X,Z))[0];if(!Y)return!1;let G=await mV8($,Z,Y);if(G==="failing"||G==="pending")return console.warn(`[task-board] merge blocked \u2014 checks ${G} on PR #${Y.number}`),!1;let J=await Xa($,Z,Y.connectionId,{owner:Y.repoOwner,name:Y.repoName});if(!J)return!1;let K=await b5(J,$,!0);try{return!(await K.callTool({name:"merge_pull_request",arguments:{owner:Y.repoOwner,repo:Y.repoName,pullNumber:Y.number}},void 0,{timeout:_u4}))?.isError}catch(W){return console.error("[task-board] merge PR failed",W),!1}finally{await K.close().catch(()=>{})}}var _u4=15000;var I91=O(()=>{eN();NP0()});import{z as RO}from"zod";async function xu4($,Z,X){let Y=(await $.storage.organizationSettings.get(Z))?.flags??{},G=wB.filter((K)=>Y[BB[K]]===!0),J=await $.storage.taskBoard.listActivity(X,Z);return Gg(J,G,{verifiedOnly:!0})}var R91;var pV8=O(()=>{s0();xJ();bW();TO();KQ();dh();I91();NP0();j91();R91=a({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:RO.object({taskBoardItemId:RO.string(),reviewer:RO.enum(["qa","code_review"]).describe("Which reviewer you are: `qa` (QA Agent) or `code_review` (Code Reviewer)."),reviewToken:RO.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:RO.enum(["approve","request_changes"]),notes:RO.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:RO.object({status:GU,merged:RO.boolean().describe("True when this approval completed the review and merged the PR.")}),handler:async({taskBoardItemId:$,reviewer:Z,reviewToken:X,decision:Q,notes:Y},G)=>{E0(G),await G.access.check();let J=G.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let K=await G.storage.taskBoard.getById($,J);if(!K)throw Error(`Task board item not found: ${$}`);let H=(X?await G.storage.taskBoard.resolveReviewClaimByToken($,X):null)?.reviewer===Z;if(Q==="request_changes"){let L=await G.storage.taskBoard.update($,J,{status:"in_progress"},K.updatedBy);await A3(G,{taskBoardItemId:$,action:"review_changes_requested",actorId:null,data:{reviewer:Z,notes:Y,verified:H}}),F9(J,L);let E=(await G.storage.taskBoard.listPrs($,J))[0];return await $a(G,L,{feedback:`${fp[Z]}: ${Y}`,pr:E?{number:E.number,url:E.url}:void 0}).catch((z)=>{console.error("[task-board] request_changes re-enqueue failed",z)}),{status:L.status,merged:!1}}if(await A3(G,{taskBoardItemId:$,action:"review_approved",actorId:null,data:{reviewer:Z,notes:Y,verified:H}}),!await xu4(G,J,$)){let L=await G.storage.taskBoard.getById($,J)??K;return F9(J,L),{status:L.status,merged:!1}}let F=(await G.storage.organizationSettings.get(J))?.flags?.auto_merge===!0;if(F?await UP0(G,J,$):!1){let L=await G.storage.taskBoard.update($,J,{status:"done"},K.updatedBy);return await A3(G,{taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:K.status,to:"done"}}),F9(J,L),{status:L.status,merged:!0}}let B=await G.storage.taskBoard.getById($,J)??K;if(F){let D=(await G.storage.taskBoard.listPrs($,J))[0];if(D?await WP0(G,J,B,{pr:{number:D.number,url:D.url},conflict:await nV8(G,J,D)}).catch((z)=>{return console.error("[task-board] conflict auto-resolve failed",z),!1}):!1)return{status:(await G.storage.taskBoard.getById($,J)??B).status,merged:!1}}return F9(J,B),{status:B.status,merged:!1}}})});import{z as FP0}from"zod";function vu4($,Z,X){if($!=="in_review")return!1;return X.length===0||Gg(Z,X)}var q91;var tV8=O(()=>{s0();xJ();bW();TO();KQ();I91();q91=a({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:FP0.object({taskBoardItemId:FP0.string()}),outputSchema:FP0.object({status:GU,merged:FP0.boolean().describe("True when the PR was merged.")}),handler:async({taskBoardItemId:$},Z)=>{E0(Z),await Z.access.check();let X=Z.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let Q=await Z.storage.taskBoard.getById($,X);if(!Q)throw Error(`Task board item not found: ${$}`);let G=(await Z.storage.organizationSettings.get(X))?.flags??{},J=wB.filter((N)=>G[BB[N]]===!0),K=await Z.storage.taskBoard.listActivity($,X);if(!vu4(Q.status,K,J))throw Error("Task is not ready to ship: it must be In Review with every enabled reviewer approved");if(!await UP0(Z,X,$))return{status:Q.status,merged:!1};let H=await Z.storage.taskBoard.update($,X,{status:"done"},Q.updatedBy);if(Q.status!=="done")await A3(Z,{taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:Q.status,to:"done"}});return F9(X,H),{status:H.status,merged:!0}}})});var oV8=O(()=>{xV8();bV8();yV8();gV8();NP0();pV8();tV8();TO()});import{z as jU}from"zod";var M91;var rV8=O(()=>{s0();M91=a({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:jU.object({}),outputSchema:jU.object({tags:jU.array(jU.object({id:jU.string(),organizationId:jU.string(),name:jU.string(),color:jU.string().nullable(),createdAt:jU.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z);return{tags:(await Z.storage.tags.listOrgTags(X.id)).map((Y)=>({...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():String(Y.createdAt)}))}}})});import{z as sW}from"zod";var k91;var aV8=O(()=>{s0();k91=a({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:sW.object({name:sW.string().min(1).max(50).describe("Tag name"),color:sW.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional().describe('Hex color the tag renders its dot with, e.g. "#3b82f6"')}),outputSchema:sW.object({tag:sW.object({id:sW.string(),organizationId:sW.string(),name:sW.string(),color:sW.string().nullable(),createdAt:sW.string().describe("ISO 8601 timestamp")})}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z),Q=await Z.storage.tags.createTag(X.id,$.name,$.color);return{tag:{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}}}})});import{z as wP0}from"zod";var S91;var sV8=O(()=>{s0();S91=a({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:wP0.object({tagId:wP0.string().describe("Tag ID to delete")}),outputSchema:wP0.object({success:wP0.boolean()}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z),Q=await Z.storage.tags.getTag($.tagId);if(!Q)throw Error("Tag not found");if(Q.organizationId!==X.id)throw Error("Tag does not belong to this organization");return await Z.storage.tags.deleteTag($.tagId),{success:!0}}})});import{z as eW}from"zod";var V91;var eV8=O(()=>{s0();V91=a({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:eW.object({memberId:eW.string().describe("Member ID")}),outputSchema:eW.object({tags:eW.array(eW.object({id:eW.string(),organizationId:eW.string(),name:eW.string(),color:eW.string().nullable(),createdAt:eW.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z);if(!await Z.storage.tags.verifyMemberOrg($.memberId,X.id))throw Error(`Member not found in this organization: ${$.memberId}`);return{tags:(await Z.storage.tags.getMemberTags($.memberId)).map((G)=>({...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}))}}})});import{z as T3}from"zod";var C91;var $C8=O(()=>{s0();C91=a({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:T3.object({memberId:T3.string().describe("Member ID"),tagIds:T3.array(T3.string()).describe("Array of tag IDs to assign")}),outputSchema:T3.object({success:T3.boolean(),tags:T3.array(T3.object({id:T3.string(),organizationId:T3.string(),name:T3.string(),createdAt:T3.string().describe("ISO 8601 timestamp")}))}),handler:async($,Z)=>{E0(Z),await Z.access.check();let X=H0(Z);if(!await Z.storage.tags.verifyMemberOrg($.memberId,X.id))throw Error(`Member not found in this organization: ${$.memberId}`);for(let G of $.tagIds){let J=await Z.storage.tags.getTag(G);if(!J)throw Error(`Tag not found: ${G}`);if(J.organizationId!==X.id)throw Error(`Tag does not belong to this organization: ${G}`)}return await Z.storage.tags.setMemberTags($.memberId,$.tagIds),{success:!0,tags:(await Z.storage.tags.getMemberTags($.memberId)).map((G)=>({...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}))}}})});var ZC8=O(()=>{rV8();aV8();sV8();eV8();$C8()});import{z as XC8}from"zod";function hu4($,Z){let X=$?.[Z];if(!X)return;return Object.entries(X).sort(([,Y],[,G])=>{let J=Math.max(0,...Object.values(Y).map((W)=>W.createdAt??0));return Math.max(0,...Object.values(G).map((W)=>W.createdAt??0))-J})[0]?.[0]}var yu4,gu4,_91;var QC8=O(()=>{S$();s0();A_();lX();yu4=XC8.object({data:ck8.describe("Data for the new thread (id is auto-generated if not provided)")}),gu4=XC8.object({item:aW.describe("The created thread entity")});_91=a({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:yu4,outputSchema:gu4,handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=_1(Z);if(!Q)throw Error("User ID required to create thread");let{data:Y}=$,G=Y.id??J4("thrd"),J=await Z.storage.virtualMcps.findById(Y.virtual_mcp_id,X.id);if(!J||J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let K=J.metadata,W=K?.githubRepo,H=null;if(W)H=Y.branch??hu4(K?.sandboxMap,Q)??Gj0(Yj0(Z.auth.user));let N=await Z.storage.threads.create({id:G,organization_id:X.id,title:Y.title,description:Y.description,virtual_mcp_id:Y.virtual_mcp_id,branch:H,created_by:Q});if(N.isNew)i1.capture({distinctId:Q,event:"chat_started",groups:{organization:X.id},properties:{organization_id:X.id,thread_id:G,has_title:!!$.data.title,created_via:"tool"}});return{item:P3(N)}}})});import{z as x91}from"zod";var uu4,cu4,v91;var YC8=O(()=>{S$();s0();A_();uu4=x91.object({id:x91.string().describe("ID of the thread to update"),data:lk8.describe("Partial thread data to update")}),cu4=x91.object({item:aW.describe("The updated thread entity")}),v91=a({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:uu4,outputSchema:cu4,handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=_1(Z);if(!Q)throw Error("User ID required to update thread");let{id:Y,data:G}=$,J=await Z.storage.threads.get(Y);if(!J)throw Error("Thread not found in organization");if(G.virtual_mcp_id!==void 0){let H=await Z.storage.virtualMcps.findById(G.virtual_mcp_id,X.id);if(!H||H.organization_id!==X.id)throw Error(`Virtual MCP not found: ${G.virtual_mcp_id}`)}if(G.branch===null&&J.virtual_mcp_id){if((await Z.storage.virtualMcps.findById(J.virtual_mcp_id,X.id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let K={title:G.title,description:G.description,hidden:G.hidden,updated_by:Q};if(G.status)K.status=G.status;if(G.metadata!==void 0)K.metadata=G.metadata;if(G.branch!==void 0)K.branch=G.branch;if(G.virtual_mcp_id!==void 0)K.virtual_mcp_id=G.virtual_mcp_id;let W=await Z.storage.threads.update(Y,K);if(G.hidden!==void 0&&G.hidden!==J.hidden)i1.capture({distinctId:Q,event:G.hidden?"chat_archived":"chat_unarchived",groups:{organization:X.id},properties:{organization_id:X.id,thread_id:Y}});return{item:P3(W)}}})});var f91;var GC8=O(()=>{B3();A_();S$();s0();f91=a({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:Ro,outputSchema:qo(aW),handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=await Z.storage.threads.get($.id);if(!Q)throw Error(`Thread not found: ${$.id}`);await Z.storage.threads.delete($.id);let Y=_1(Z);if(Y)i1.capture({distinctId:Y,event:"chat_deleted",groups:{organization:X.id},properties:{organization_id:X.id,thread_id:$.id}});return{item:P3(Q)}}})});var JC8=O(()=>{QC8();I51();R51();YC8();GC8();q51()});function du4($){return{type:"doc",content:[{type:"paragraph",content:[{type:"text",text:$}]}]}}function mu4($){return $.map((Z)=>{let X=Z.metadata;if(X?.tiptapDoc)return Z;let Q=Z.parts.find((Y)=>Y.type==="text"&&typeof Y.text==="string");if(!Q?.text||typeof Q.text!=="string")return Z;return{...Z,metadata:{...X,tiptapDoc:du4(Q.text)}}})}function BP0($){let Z;if(typeof $==="string")try{let X=JSON.parse($);if(Array.isArray(X)&&X.length>0&&X[0]?.role&&Array.isArray(X[0]?.parts))Z=X;else Z=[{role:"user",parts:[{type:"text",text:$}]}]}catch{Z=[{role:"user",parts:[{type:"text",text:$}]}]}else Z=$;return mu4(Z)}import{z as n$}from"zod";var b91;var KC8=O(()=>{S$();s0();L3();b91=a({name:"AUTOMATION_CREATE",description:"Create an automation that runs an agent thread on trigger fire. Requires virtual_mcp_id + messages.",annotations:{title:"Create Automation",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:n$.object({name:n$.string().min(1).max(255),virtual_mcp_id:n$.string(),messages:n$.union([n$.string(),n$.array(n$.looseObject({id:n$.string().optional(),role:n$.enum(["user","assistant","system"]),parts:n$.array(n$.record(n$.string(),n$.unknown())),metadata:n$.unknown().optional()}))]),models:n$.object({tier:gB,modelId:n$.string().optional(),credentialId:n$.string().optional()}).loose().default({tier:"smart"}),tools:n$.array(n$.string()).nullable().optional(),maxAgentSteps:n$.number().int().min(1).max(100).nullable().optional(),temperature:n$.number().default(0.5),active:n$.boolean().default(!0)}),outputSchema:n$.object({id:n$.string(),name:n$.string(),active:n$.boolean(),created_at:n$.string()}),handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=_1(Z);if(!Q)throw Error("Unable to determine user identity");let Y=BP0($.messages),G=await Z.storage.automations.create({organization_id:X.id,created_by:Q,name:$.name,messages:JSON.stringify(Y),models:JSON.stringify($.models),tools:$.tools===void 0||$.tools===null?null:JSON.stringify($.tools),max_agent_steps:$.maxAgentSteps??null,temperature:$.temperature,active:$.active,virtual_mcp_id:$.virtual_mcp_id});return i1.capture({distinctId:Q,event:"automation_created",groups:{organization:X.id},properties:{organization_id:X.id,automation_id:G.id,virtual_mcp_id:$.virtual_mcp_id,active:G.active,tier:$.models.tier}}),{id:G.id,name:G.name,active:G.active,created_at:G.created_at}}})});import{z as b$}from"zod";var y91;var WC8=O(()=>{s0();y91=a({name:"AUTOMATION_GET",description:"Get an automation's full configuration and triggers by ID.",annotations:{title:"Get Automation",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:b$.object({id:b$.string()}),outputSchema:b$.object({automation:b$.object({id:b$.string(),name:b$.string(),active:b$.boolean(),created_by:b$.string(),created_at:b$.string(),updated_at:b$.string(),virtual_mcp_id:b$.string(),messages:b$.unknown(),models:b$.unknown(),tools:b$.array(b$.string()).nullable(),maxAgentSteps:b$.number().nullable(),temperature:b$.number(),triggers:b$.array(b$.object({id:b$.string(),type:b$.enum(["cron","event","webhook"]),cron_expression:b$.string().nullable(),connection_id:b$.string().nullable(),event_type:b$.string().nullable(),params:b$.unknown().nullable(),last_run_at:b$.string().nullable(),api_key_id:b$.string().nullable(),created_at:b$.string()}))}).nullable()}),handler:async($,Z)=>{E0(Z);let X=H0(Z);await Z.access.check();let Q=await Z.storage.automations.findById($.id,X.id);if(!Q)return{automation:null};let Y=await Z.storage.automations.listTriggers(Q.id);return{automation:{id:Q.id,name:Q.name,active:Q.active,created_by:Q.created_by,created_at:Q.created_at,updated_at:Q.updated_at,virtual_mcp_id:Q.virtual_mcp_id,messages:JSON.parse(Q.messages),models:JSON.parse(Q.models),tools:Q.tools?JSON.parse(Q.tools):null,maxAgentSteps:Q.max_agent_steps,temperature:Q.temperature,triggers:Y.map((G)=>({id:G.id,type:G.type,cron_expression:G.cron_expression,connection_id:G.connection_id,event_type:G.event_type,params:G.params?JSON.parse(G.params):null,last_run_at:G.last_run_at,api_key_id:G.api_key_id,created_at:G.created_at}))}}}})});import{z as HG}from"zod";var g91;var HC8=O(()=>{s0();g91=a({name:"AUTOMATION_LIST",description:"List automations with their status, triggers, and configuration.",annotations:{title:"List Automations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:HG.object({virtual_mcp_id:HG.string().optional().nullable()}),outputSchema:HG.object({automations:HG.array(HG.object({id:HG.string(),name:HG.string(),active:HG.boolean(),created_by:HG.string(),created_at:HG.string(),trigger_count:HG.number(),nearest_next_run_at:HG.string().nullable(),virtual_mcp_id:HG.string()}))}),handler:async($,Z)=>{E0(Z);let X=H0(Z);return await Z.access.check(),{automations:(await Z.storage.automations.listWithTriggerCounts(X.id,$.virtual_mcp_id)).map((G)=>({id:G.id,name:G.name,active:G.active,created_by:G.created_by,created_at:G.created_at,trigger_count:G.trigger_count,nearest_next_run_at:G.nearest_next_run_at,virtual_mcp_id:G.virtual_mcp_id}))}}})});function iu4($){if(!$)return null;try{let Z=JSON.parse($);if(Array.isArray(Z)&&Z.every((X)=>typeof X==="string"))return Z.length>0?Z:null}catch{}return null}function NC8($){return`${$}:context`}function UC8($,Z,X,Q,Y){return{messages:JSON.parse($.messages).map((W,H)=>({...W,id:`${X}:${H}`})),models:{credentialId:Q.credentialId,thinking:Q.thinking,...Q.image?{image:Q.image}:{},...Q.webSearch?{webSearch:Q.webSearch}:{},...Q.deepResearch?{deepResearch:Q.deepResearch}:{}},agent:{id:$.virtual_mcp_id},toolAllowlist:iu4($.tools),maxAgentSteps:$.max_agent_steps??void 0,temperature:$.temperature??0.5,toolApprovalLevel:"auto",mode:"default",organizationId:$.organization_id,userId:$.created_by,harnessId:"decopilot",sandboxProviderKind:"agent-sandbox",triggerId:Z??void 0,...Y?{runMetadata:Y}:{},taskId:X}}function jX($,Z,X,Q,Y,G,J,K){return jX.fromTZ(jX.tp($,Z,X,Q,Y,G,J),K)}function h91($,Z=new Date){let X=Z.toLocaleString("en-US",{timeZone:$,timeZoneName:"shortOffset"}).split(" ").slice(-1)[0],Q=Z.toLocaleString("en-US").replace(/[\u202f]/," ");return Date.parse(`${Q} GMT`)-Date.parse(`${Q} ${X}`)}function nu4($,Z){let X=new Date(Date.parse($));if(isNaN(X))throw Error("minitz: Invalid ISO8601 passed to parser.");let Q=$.substring(9);return $.includes("Z")||Q.includes("-")||Q.includes("+")?jX.tp(X.getUTCFullYear(),X.getUTCMonth()+1,X.getUTCDate(),X.getUTCHours(),X.getUTCMinutes(),X.getUTCSeconds(),"Etc/UTC"):jX.tp(X.getFullYear(),X.getMonth()+1,X.getDate(),X.getHours(),X.getMinutes(),X.getSeconds(),Z)}function pu4($){if($===void 0&&($={}),delete $.name,$.legacyMode=$.legacyMode===void 0?!0:$.legacyMode,$.paused=$.paused===void 0?!1:$.paused,$.maxRuns=$.maxRuns===void 0?1/0:$.maxRuns,$.catch=$.catch===void 0?!1:$.catch,$.interval=$.interval===void 0?0:parseInt($.interval.toString(),10),$.utcOffset=$.utcOffset===void 0?void 0:parseInt($.utcOffset.toString(),10),$.unref=$.unref===void 0?!1:$.unref,$.startAt&&($.startAt=new I3($.startAt,$.timezone)),$.stopAt&&($.stopAt=new I3($.stopAt,$.timezone)),$.interval!==null){if(isNaN($.interval))throw Error("CronOptions: Supplied value for interval is not a number");if($.interval<0)throw Error("CronOptions: Supplied value for interval can not be negative")}if($.utcOffset!==void 0){if(isNaN($.utcOffset))throw Error("CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.");if($.utcOffset<-870||$.utcOffset>870)throw Error("CronOptions: utcOffset out of bounds.");if($.utcOffset!==void 0&&$.timezone)throw Error("CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.")}if($.unref!==!0&&$.unref!==!1)throw Error("CronOptions: Unref should be either true, false or undefined(false).");return $}function Ya($){return Object.prototype.toString.call($)==="[object Function]"||typeof $=="function"||$ instanceof Function}function tu4($){return Ya($)}function ou4($){typeof Deno<"u"&&typeof Deno.unrefTimer<"u"?Deno.unrefTimer($):$&&typeof $.unref<"u"&&$.unref()}var u91=32,Ga,OC8,FC8=class{pattern;timezone;second;minute;hour;day;month;dayOfWeek;lastDayOfMonth;starDOM;starDOW;constructor($,Z){this.pattern=$,this.timezone=Z,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.lastDayOfMonth=!1,this.starDOM=!1,this.starDOW=!1,this.parse()}parse(){if(!(typeof this.pattern=="string"||this.pattern instanceof String))throw TypeError("CronPattern: Pattern has to be of type string.");this.pattern.indexOf("@")>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let $=this.pattern.replace(/\s+/g," ").split(" ");if($.length<5||$.length>6)throw TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exactly five or six space separated parts are required.");if($.length===5&&$.unshift("0"),$[3].indexOf("L")>=0&&($[3]=$[3].replace("L",""),this.lastDayOfMonth=!0),$[3]=="*"&&(this.starDOM=!0),$[4].length>=3&&($[4]=this.replaceAlphaMonths($[4])),$[5].length>=3&&($[5]=this.replaceAlphaDays($[5])),$[5]=="*"&&(this.starDOW=!0),this.pattern.indexOf("?")>=0){let Z=new I3(new Date,this.timezone).getDate(!0);$[0]=$[0].replace("?",Z.getSeconds().toString()),$[1]=$[1].replace("?",Z.getMinutes().toString()),$[2]=$[2].replace("?",Z.getHours().toString()),this.starDOM||($[3]=$[3].replace("?",Z.getDate().toString())),$[4]=$[4].replace("?",(Z.getMonth()+1).toString()),this.starDOW||($[5]=$[5].replace("?",Z.getDay().toString()))}this.throwAtIllegalCharacters($),this.partToArray("second",$[0],0,1),this.partToArray("minute",$[1],0,1),this.partToArray("hour",$[2],0,1),this.partToArray("day",$[3],-1,1),this.partToArray("month",$[4],-1,1),this.partToArray("dayOfWeek",$[5],0,Ga),this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray($,Z,X,Q){let Y=this[$],G=$==="day"&&this.lastDayOfMonth;if(Z===""&&!G)throw TypeError("CronPattern: configuration entry "+$+" ("+Z+") is empty, check for trailing spaces.");if(Z==="*")return Y.fill(Q);let J=Z.split(",");if(J.length>1)for(let K=0;K<J.length;K++)this.partToArray($,J[K],X,Q);else Z.indexOf("-")!==-1&&Z.indexOf("/")!==-1?this.handleRangeWithStepping(Z,$,X,Q):Z.indexOf("-")!==-1?this.handleRange(Z,$,X,Q):Z.indexOf("/")!==-1?this.handleStepping(Z,$,X,Q):Z!==""&&this.handleNumber(Z,$,X,Q)}throwAtIllegalCharacters($){for(let Z=0;Z<$.length;Z++)if((Z===5?/[^/*0-9,\-#L]+/:/[^/*0-9,-]+/).test($[Z]))throw TypeError("CronPattern: configuration entry "+Z+" ("+$[Z]+") contains illegal characters.")}handleNumber($,Z,X,Q){let Y=this.extractNth($,Z),G=parseInt(Y[0],10)+X;if(isNaN(G))throw TypeError("CronPattern: "+Z+" is not a number: '"+$+"'");this.setPart(Z,G,Y[1]||Q)}setPart($,Z,X){if(!Object.prototype.hasOwnProperty.call(this,$))throw TypeError("CronPattern: Invalid part specified: "+$);if($==="dayOfWeek"){if(Z===7&&(Z=0),Z<0||Z>6)throw RangeError("CronPattern: Invalid value for dayOfWeek: "+Z);this.setNthWeekdayOfMonth(Z,X);return}if($==="second"||$==="minute"){if(Z<0||Z>=60)throw RangeError("CronPattern: Invalid value for "+$+": "+Z)}else if($==="hour"){if(Z<0||Z>=24)throw RangeError("CronPattern: Invalid value for "+$+": "+Z)}else if($==="day"){if(Z<0||Z>=31)throw RangeError("CronPattern: Invalid value for "+$+": "+Z)}else if($==="month"&&(Z<0||Z>=12))throw RangeError("CronPattern: Invalid value for "+$+": "+Z);this[$][Z]=X}handleRangeWithStepping($,Z,X,Q){let Y=this.extractNth($,Z),G=Y[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(G===null)throw TypeError("CronPattern: Syntax error, illegal range with stepping: '"+$+"'");let[,J,K,W]=G,H=parseInt(J,10)+X,N=parseInt(K,10)+X,U=parseInt(W,10);if(isNaN(H))throw TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(N))throw TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(isNaN(U))throw TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(U===0)throw TypeError("CronPattern: Syntax error, illegal stepping: 0");if(U>this[Z].length)throw TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[Z].length+")");if(H>N)throw TypeError("CronPattern: From value is larger than to value: '"+$+"'");for(let F=H;F<=N;F+=U)this.setPart(Z,F,Y[1]||Q)}extractNth($,Z){let X=$,Q;if(X.includes("#")){if(Z!=="dayOfWeek")throw Error("CronPattern: nth (#) only allowed in day-of-week field");Q=X.split("#")[1],X=X.split("#")[0]}return[X,Q]}handleRange($,Z,X,Q){let Y=this.extractNth($,Z),G=Y[0].split("-");if(G.length!==2)throw TypeError("CronPattern: Syntax error, illegal range: '"+$+"'");let J=parseInt(G[0],10)+X,K=parseInt(G[1],10)+X;if(isNaN(J))throw TypeError("CronPattern: Syntax error, illegal lower range (NaN)");if(isNaN(K))throw TypeError("CronPattern: Syntax error, illegal upper range (NaN)");if(J>K)throw TypeError("CronPattern: From value is larger than to value: '"+$+"'");for(let W=J;W<=K;W++)this.setPart(Z,W,Y[1]||Q)}handleStepping($,Z,X,Q){let Y=this.extractNth($,Z),G=Y[0].split("/");if(G.length!==2)throw TypeError("CronPattern: Syntax error, illegal stepping: '"+$+"'");G[0]===""&&(G[0]="*");let J=0;G[0]!=="*"&&(J=parseInt(G[0],10)+X);let K=parseInt(G[1],10);if(isNaN(K))throw TypeError("CronPattern: Syntax error, illegal stepping: (NaN)");if(K===0)throw TypeError("CronPattern: Syntax error, illegal stepping: 0");if(K>this[Z].length)throw TypeError("CronPattern: Syntax error, max steps for part is ("+this[Z].length+")");for(let W=J;W<this[Z].length;W+=K)this.setPart(Z,W,Y[1]||Q)}replaceAlphaDays($){return $.replace(/-sun/gi,"-7").replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")}replaceAlphaMonths($){return $.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")}handleNicknames($){let Z=$.trim().toLowerCase();return Z==="@yearly"||Z==="@annually"?"0 0 1 1 *":Z==="@monthly"?"0 0 1 * *":Z==="@weekly"?"0 0 * * 0":Z==="@daily"?"0 0 * * *":Z==="@hourly"?"0 * * * *":$}setNthWeekdayOfMonth($,Z){if(typeof Z!="number"&&Z==="L")this.dayOfWeek[$]=this.dayOfWeek[$]|u91;else if(Z===Ga)this.dayOfWeek[$]=Ga;else if(Z<6&&Z>0)this.dayOfWeek[$]=this.dayOfWeek[$]|OC8[Z-1];else throw TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${Z}, Type: ${typeof Z}`)}},wC8,PU,I3=class ${tz;ms;second;minute;hour;day;month;year;constructor(Z,X){if(this.tz=X,Z&&Z instanceof Date)if(!isNaN(Z))this.fromDate(Z);else throw TypeError("CronDate: Invalid date passed to CronDate constructor");else if(Z===void 0)this.fromDate(new Date);else if(Z&&typeof Z=="string")this.fromString(Z);else if(Z instanceof $)this.fromCronDate(Z);else throw TypeError("CronDate: Invalid type ("+typeof Z+") passed to CronDate constructor")}isNthWeekdayOfMonth(Z,X,Q,Y){let G=new Date(Date.UTC(Z,X,Q)).getUTCDay(),J=0;for(let K=1;K<=Q;K++)new Date(Date.UTC(Z,X,K)).getUTCDay()===G&&J++;if(Y&Ga&&OC8[J-1]&Y)return!0;if(Y&u91){let K=new Date(Date.UTC(Z,X+1,0)).getUTCDate();for(let W=Q+1;W<=K;W++)if(new Date(Date.UTC(Z,X,W)).getUTCDay()===G)return!1;return!0}return!1}fromDate(Z){if(this.tz!==void 0)if(typeof this.tz=="number")this.ms=Z.getUTCMilliseconds(),this.second=Z.getUTCSeconds(),this.minute=Z.getUTCMinutes()+this.tz,this.hour=Z.getUTCHours(),this.day=Z.getUTCDate(),this.month=Z.getUTCMonth(),this.year=Z.getUTCFullYear(),this.apply();else{let X=jX.toTZ(Z,this.tz);this.ms=Z.getMilliseconds(),this.second=X.s,this.minute=X.i,this.hour=X.h,this.day=X.d,this.month=X.m-1,this.year=X.y}else this.ms=Z.getMilliseconds(),this.second=Z.getSeconds(),this.minute=Z.getMinutes(),this.hour=Z.getHours(),this.day=Z.getDate(),this.month=Z.getMonth(),this.year=Z.getFullYear()}fromCronDate(Z){this.tz=Z.tz,this.year=Z.year,this.month=Z.month,this.day=Z.day,this.hour=Z.hour,this.minute=Z.minute,this.second=Z.second,this.ms=Z.ms}apply(){if(this.month>11||this.day>wC8[this.month]||this.hour>59||this.minute>59||this.second>59||this.hour<0||this.minute<0||this.second<0){let Z=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=Z.getUTCMilliseconds(),this.second=Z.getUTCSeconds(),this.minute=Z.getUTCMinutes(),this.hour=Z.getUTCHours(),this.day=Z.getUTCDate(),this.month=Z.getUTCMonth(),this.year=Z.getUTCFullYear(),!0}else return!1}fromString(Z){if(typeof this.tz=="number"){let X=jX.fromTZISO(Z);this.ms=X.getUTCMilliseconds(),this.second=X.getUTCSeconds(),this.minute=X.getUTCMinutes(),this.hour=X.getUTCHours(),this.day=X.getUTCDate(),this.month=X.getUTCMonth(),this.year=X.getUTCFullYear(),this.apply()}else return this.fromDate(jX.fromTZISO(Z,this.tz))}findNext(Z,X,Q,Y){let G=this[X],J;Q.lastDayOfMonth&&(this.month!==1?J=wC8[this.month]:J=new Date(Date.UTC(this.year,this.month+1,0,0,0,0,0)).getUTCDate());let K=!Q.starDOW&&X=="day"?new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay():void 0;for(let W=this[X]+Y;W<Q[X].length;W++){let H=Q[X][W];if(X==="day"&&Q.lastDayOfMonth&&W-Y==J&&(H=1),X==="day"&&!Q.starDOW){let N=Q.dayOfWeek[(K+(W-Y-1))%7];if(N&&N&Ga)N=this.isNthWeekdayOfMonth(this.year,this.month,W-Y,N)?1:0;else if(N)throw Error(`CronDate: Invalid value for dayOfWeek encountered. ${N}`);Z.legacyMode&&!Q.starDOM?H=H||N:H=H&&N}if(H)return this[X]=W-Y,G!==this[X]?2:1}return 3}recurse(Z,X,Q){let Y=this.findNext(X,PU[Q][0],Z,PU[Q][2]);if(Y>1){let G=Q+1;for(;G<PU.length;)this[PU[G][0]]=-PU[G][2],G++;if(Y===3)return this[PU[Q][1]]++,this[PU[Q][0]]=-PU[Q][2],this.apply(),this.recurse(Z,X,0);if(this.apply())return this.recurse(Z,X,Q-1)}return Q+=1,Q>=PU.length?this:this.year>=3000?null:this.recurse(Z,X,Q)}increment(Z,X,Q){return this.second+=X.interval!==void 0&&X.interval>1&&Q?X.interval:1,this.ms=0,this.apply(),this.recurse(Z,X,0)}getDate(Z){return Z||this.tz===void 0?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):typeof this.tz=="number"?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):jX.fromTZ(jX.tp(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}},BC8=30000,OP0,LP0=class{name;options;_states;fn;constructor($,Z,X){let Q,Y;if(Ya(Z))Y=Z;else if(typeof Z=="object")Q=Z;else if(Z!==void 0)throw Error("Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).");if(Ya(X))Y=X;else if(typeof X=="object")Q=X;else if(X!==void 0)throw Error("Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).");if(this.name=Q?.name,this.options=pu4(Q),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:Q?Q.maxRuns:void 0,paused:Q?Q.paused:!1,pattern:new FC8("* * * * *")},$&&($ instanceof Date||typeof $=="string"&&$.indexOf(":")>0)?this._states.once=new I3($,this.options.timezone||this.options.utcOffset):this._states.pattern=new FC8($,this.options.timezone),this.name){if(OP0.find((G)=>G.name===this.name))throw Error("Cron: Tried to initialize new named job '"+this.name+"', but name already taken.");OP0.push(this)}return Y!==void 0&&tu4(Y)&&(this.fn=Y,this.schedule()),this}nextRun($){let Z=this._next($);return Z?Z.getDate(!1):null}nextRuns($,Z){this._states.maxRuns!==void 0&&$>this._states.maxRuns&&($=this._states.maxRuns);let X=[],Q=Z||this._states.currentRun||void 0;for(;$--&&(Q=this.nextRun(Q));)X.push(Q);return X}getPattern(){return this._states.pattern?this._states.pattern.pattern:void 0}isRunning(){let $=this.nextRun(this._states.currentRun),Z=!this._states.paused,X=this.fn!==void 0,Q=!this._states.kill;return Z&&X&&Q&&$!==null}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext($){let Z=this._next($);return Z?$ instanceof I3||$ instanceof Date?Z.getTime()-$.getTime():Z.getTime()-new I3($).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let $=OP0.indexOf(this);$>=0&&OP0.splice($,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule($){if($&&this.fn)throw Error("Cron: It is not allowed to schedule two functions using the same Croner instance.");$&&(this.fn=$);let Z=this.msToNext(),X=this.nextRun(this._states.currentRun);return Z==null||isNaN(Z)||X===null?this:(Z>BC8&&(Z=BC8),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(X),Z),this._states.currentTimeout&&this.options.unref&&ou4(this._states.currentTimeout),this)}async _trigger($){if(this._states.blocking=!0,this._states.currentRun=new I3(void 0,this.options.timezone||this.options.utcOffset),this.options.catch)try{this.fn!==void 0&&await this.fn(this,this.options.context)}catch(Z){Ya(this.options.catch)&&this.options.catch(Z,this)}else this.fn!==void 0&&await this.fn(this,this.options.context);this._states.previousRun=new I3($,this.options.timezone||this.options.utcOffset),this._states.blocking=!1}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger($){let Z=new Date,X=!this._states.paused&&Z.getTime()>=$.getTime(),Q=this._states.blocking&&this.options.protect;X&&!Q?(this._states.maxRuns!==void 0&&this._states.maxRuns--,this._trigger()):X&&Q&&Ya(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next($){let Z=!!($||this._states.currentRun),X=!1;!$&&this.options.startAt&&this.options.interval&&([$,Z]=this._calculatePreviousRun($,Z),X=!$),$=new I3($,this.options.timezone||this.options.utcOffset),this.options.startAt&&$&&$.getTime()<this.options.startAt.getTime()&&($=this.options.startAt);let Q=this._states.once||new I3($,this.options.timezone||this.options.utcOffset);return!X&&Q!==this._states.once&&(Q=Q.increment(this._states.pattern,this.options,Z)),this._states.once&&this._states.once.getTime()<=$.getTime()||Q===null||this._states.maxRuns!==void 0&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&Q.getTime()>=this.options.stopAt.getTime()?null:Q}_calculatePreviousRun($,Z){let X=new I3(void 0,this.options.timezone||this.options.utcOffset),Q=$;if(this.options.startAt.getTime()<=X.getTime()){Q=this.options.startAt;let Y=Q.getTime()+this.options.interval*1000;for(;Y<=X.getTime();)Q=new I3(Q,this.options.timezone||this.options.utcOffset).increment(this._states.pattern,this.options,!0),Y=Q.getTime()+this.options.interval*1000;Z=!0}return Q===null&&(Q=void 0),[Q,Z]}};var c91=O(()=>{jX.fromTZISO=($,Z,X)=>jX.fromTZ(nu4($,Z),X);jX.fromTZ=function($,Z){let X=new Date(Date.UTC($.y,$.m-1,$.d,$.h,$.i,$.s)),Q=h91($.tz,X),Y=new Date(X.getTime()-Q),G=h91($.tz,Y);if(G-Q===0)return Y;{let J=new Date(X.getTime()-G),K=h91($.tz,J);if(K-G===0)return J;if(!Z&&K-G>0)return J;if(Z)throw Error("Invalid date passed to fromTZ()");return Y}};jX.toTZ=function($,Z){let X=$.toLocaleString("en-US",{timeZone:Z}).replace(/[\u202f]/," "),Q=new Date(X);return{y:Q.getFullYear(),m:Q.getMonth()+1,d:Q.getDate(),h:Q.getHours(),i:Q.getMinutes(),s:Q.getSeconds(),tz:Z}};jX.tp=($,Z,X,Q,Y,G,J)=>({y:$,m:Z,d:X,h:Q,i:Y,s:G,tz:J});jX.minitz=jX;Ga=31|u91,OC8=[1,2,4,8,16],wC8=[31,28,31,30,31,30,31,31,30,31,30,31],PU=[["month","year",0],["day","month",-1],["hour","day",0],["minute","hour",0],["second","minute",0]];OP0=[]});function DP0($,Z){try{return new LP0($,{timezone:"UTC"}).nextRun(Z)??null}catch{return null}}var l91=O(()=>{c91()});import{DBOS as P7,SchedulerMode as ru4}from"@dbos-inc/dbos-sdk";async function p91($){try{let{rows:Z}=await $.query(`SELECT q.name FROM dbos.queues q
|
|
2760
2760
|
WHERE q.name LIKE $1
|
|
2761
2761
|
AND NOT EXISTS (
|
|
2762
2762
|
SELECT 1 FROM dbos.workflow_status w
|