decocms 4.192.9 → 4.193.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-B2pUx7EY.js → AlertCircle-DrZNPHkj.js} +1 -1
- package/dist/client/assets/{AreaChart-DSMGsc3g.js → AreaChart-Wy33h8xR.js} +1 -1
- package/dist/client/assets/{ArrowUp-Ci1x2uvK.js → ArrowUp-DXuIYFfU.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-BiadSgtF.js → ArrowUpRight-BclnRjVl.js} +1 -1
- package/dist/client/assets/{Check-B7AoHR1M.js → Check-CBxH5quM.js} +1 -1
- package/dist/client/assets/{CheckCircle-DlXa8m40.js → CheckCircle-KEgeQo4q.js} +1 -1
- package/dist/client/assets/{ChevronDown-Chh79sVr.js → ChevronDown-RlWr67Hd.js} +1 -1
- package/dist/client/assets/{ChevronRight-D2FUzu90.js → ChevronRight-Bi7d4MPG.js} +1 -1
- package/dist/client/assets/{ChevronUp-CehXc7zG.js → ChevronUp-HJBbiaMz.js} +1 -1
- package/dist/client/assets/{Copy01-BKs1V8NV.js → Copy01-CK4yjovT.js} +1 -1
- package/dist/client/assets/{CpuChip01-B3zThQdg.js → CpuChip01-DwrRsb6s.js} +1 -1
- package/dist/client/assets/{CreditCard01-DcJU0uYQ.js → CreditCard01-Ci4Nf8Aw.js} +1 -1
- package/dist/client/assets/{DotsVertical-Ctyb1Gge.js → DotsVertical-D0jDnDf2.js} +1 -1
- package/dist/client/assets/{Eye-BRbE6wLC.js → Eye-D6y_Vlqz.js} +1 -1
- package/dist/client/assets/{FilterLines-B6O7EXmj.js → FilterLines-_k3_XGqO.js} +1 -1
- package/dist/client/assets/{HardDrive-DH4gwouk.js → HardDrive-CaLD_Urn.js} +1 -1
- package/dist/client/assets/{Key01-BrK_M4OK.js → Key01-CjP9qsJm.js} +1 -1
- package/dist/client/assets/{LayoutLeft-BnoFEqB7.js → LayoutLeft-Dp4P355M.js} +1 -1
- package/dist/client/assets/{LinkExternal01-BV4O82Xg.js → LinkExternal01-BQy00wdD.js} +1 -1
- package/dist/client/assets/{LogOut01-B8Z2QGgP.js → LogOut01-DXUSeYxo.js} +1 -1
- package/dist/client/assets/{Monitor01-DEDKvDHC.js → Monitor01-DHDjHhEW.js} +1 -1
- package/dist/client/assets/{Palette-Bxt_0kUj.js → Palette-Cf48ojU_.js} +1 -1
- package/dist/client/assets/{Play-5spRCiYN.js → Play-ClVMWWZl.js} +1 -1
- package/dist/client/assets/{Plus-DI-iO2Zg.js → Plus-CDOwzhN7.js} +1 -1
- package/dist/client/assets/{SearchLg-fSYSPpc9.js → SearchLg-rp5I_PW9.js} +1 -1
- package/dist/client/assets/{SearchMd-DXsCNucj.js → SearchMd-DLR38DAG.js} +1 -1
- package/dist/client/assets/{Settings02-Y1pktV_h.js → Settings02-C8k8rFVF.js} +1 -1
- package/dist/client/assets/{Shield01-DEvbykxZ.js → Shield01-BoPLWBbL.js} +1 -1
- package/dist/client/assets/{Star01-C2ukIPux.js → Star01-BRZqdp5F.js} +1 -1
- package/dist/client/assets/{Stars01-DxpWymyx.js → Stars01-BhXUOVkl.js} +1 -1
- package/dist/client/assets/{Stars02-hoxzAo_Q.js → Stars02-DK10Sin6.js} +1 -1
- package/dist/client/assets/{Sun-C9UoEW-G.js → Sun-BXYrnCzV.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-DxKDoCvK.js → SwitchHorizontal01-CZY2eIIM.js} +1 -1
- package/dist/client/assets/{Tool01-gVodoiiy.js → Tool01-fvOvRiv1.js} +1 -1
- package/dist/client/assets/{Tool02-C3sOgzdM.js → Tool02-CDcfwRMR.js} +1 -1
- package/dist/client/assets/{Trash01-PbrQPH-s.js → Trash01-D1DMFWQG.js} +1 -1
- package/dist/client/assets/{TrendUp01-Cmjg41mQ.js → TrendUp01-DWU8pCZt.js} +1 -1
- package/dist/client/assets/{Upload01-BomnYdT1.js → Upload01-DjJgmEez.js} +1 -1
- package/dist/client/assets/{User01-Dlh1X6IA.js → User01-DjVe1zOD.js} +1 -1
- package/dist/client/assets/{Users01-rl8qcRGU.js → Users01-z6Zalaoa.js} +1 -1
- package/dist/client/assets/{Users03-DpaHLivM.js → Users03-C2sKvnaB.js} +1 -1
- package/dist/client/assets/{X-CrfsA3Hp.js → X-BYxzVtky.js} +1 -1
- package/dist/client/assets/{XCircle-TgaS3zEr.js → XCircle-CnvqmNm9.js} +1 -1
- package/dist/client/assets/{XClose-Cc_4RRme.js → XClose-SD7II3Ht.js} +1 -1
- package/dist/client/assets/{Zap-BnwcYKdB.js → Zap-Cm1rOwhz.js} +1 -1
- package/dist/client/assets/{ZapSquare-BN45i8IJ.js → ZapSquare-B0jStFNv.js} +1 -1
- package/dist/client/assets/{access-gate-Ch0p2LlZ.js → access-gate-CpuQTlUa.js} +1 -1
- package/dist/client/assets/{agent-icon-KbYaYlff.js → agent-icon-WWXOpLbG.js} +1 -1
- package/dist/client/assets/{agents-list-BISei6P_.js → agents-list-Chzw2udi.js} +1 -1
- package/dist/client/assets/{ai-providers-yW3goQr0.js → ai-providers-DRjW3vhK.js} +1 -1
- package/dist/client/assets/{alert-Gtnz1dpY.js → alert-B6gK0TbT.js} +1 -1
- package/dist/client/assets/{alert-dialog-qvJBpvYl.js → alert-dialog-BceKsZc5.js} +1 -1
- package/dist/client/assets/{app-editor-CqjQ_Dl2.js → app-editor-DVaNGAXm.js} +1 -1
- package/dist/client/assets/{auth-C_4_RpGE.js → auth-BSdGH2aU.js} +1 -1
- package/dist/client/assets/{auth-catchall-axfW6vYk.js → auth-catchall-BKruB7K5.js} +1 -1
- package/dist/client/assets/{auth-entry-DCvD3xlc.js → auth-entry-C9Liswie.js} +1 -1
- package/dist/client/assets/{auth-split-layout-B1Zi4_V0.js → auth-split-layout-BlTQhPc1.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-eQsdqRoc.js → authenticate-and-persist-oauth-CRovsG9G.js} +1 -1
- package/dist/client/assets/{automation-list-row-CBD_-mMi.js → automation-list-row-Cs7W83oT.js} +1 -1
- package/dist/client/assets/{automation-runs-CK5cEP0p.js → automation-runs-Bs-wpcm0.js} +1 -1
- package/dist/client/assets/{automations-FSHVhetO.js → automations-Dt9Ui2Cz.js} +1 -1
- package/dist/client/assets/{avatar-Dcgnhqa-.js → avatar-BPKWXbtA.js} +1 -1
- package/dist/client/assets/{badge-B_unHJ7D.js → badge-iQKK-WSy.js} +1 -1
- package/dist/client/assets/{billing-CD1QTNX_.js → billing-CQI0awQ7.js} +1 -1
- package/dist/client/assets/{block-document-BK66jTuT.js → block-document-2sB5dkwe.js} +1 -1
- package/dist/client/assets/{brand-context-BnA7cpiq.js → brand-context-DIhgZEGe.js} +1 -1
- package/dist/client/assets/{buckets-BnEqRxvF.js → buckets-D3NO6qEb.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-BIJJeLoB.js → bulk-category-panel-DxTXjSDC.js} +1 -1
- package/dist/client/assets/{capability-load-error-BrBDFUZu.js → capability-load-error-Df0Fozsv.js} +1 -1
- package/dist/client/assets/{card-CNH93Lek.js → card-DawEUVln.js} +1 -1
- package/dist/client/assets/{category-editor-CHQwiNWp.js → category-editor-DgtbpKi_.js} +1 -1
- package/dist/client/assets/{chat-context-DtrCTzop.js → chat-context-ocOJELC_.js} +1 -1
- package/dist/client/assets/{checkbox-DqQnlR1e.js → checkbox-B8G0GXWJ.js} +1 -1
- package/dist/client/assets/{cli-auth-success-DgiK0XkU.js → cli-auth-success-B0GVZtuM.js} +1 -1
- package/dist/client/assets/{collection-detail-C0DlmBdk.js → collection-detail-CeTd1V9_.js} +1 -1
- package/dist/client/assets/{collection-display-button-DZtUU9tb.js → collection-display-button-C90muUYx.js} +1 -1
- package/dist/client/assets/{collection-search-CH8umJv0.js → collection-search-7N74rPr8.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-CAG0nqDH.js → collection-table-wrapper-D4juuOCv.js} +1 -1
- package/dist/client/assets/{collection-tabs-DhCgGwjI.js → collection-tabs-wh64bVf3.js} +1 -1
- package/dist/client/assets/{command-CEppTjmt.js → command-DCe7XO7w.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-DG58mbup.js → commerce-onboarding-J8_852q7.js} +1 -1
- package/dist/client/assets/{connect-D59fgDO5.js → connect-Cc5M_vF2.js} +1 -1
- package/dist/client/assets/{connection-CDNEi9Dn.js → connection-Bn-jrl8v.js} +1 -1
- package/dist/client/assets/{connection-card-DAT8TUNW.js → connection-card-RMzzfj2h.js} +1 -1
- package/dist/client/assets/{connection-detail-DZSivlpB.js → connection-detail-rjhFQpzC.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-CydLoS1N.js → connection-form-helpers-DaqimWtA.js} +1 -1
- package/dist/client/assets/{connections-D_nMDTJL.js → connections-DpDWhZmS.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-FJTIvy4U.js → decopilot-sse-pool-d3Ljv44J.js} +1 -1
- package/dist/client/assets/{dialog-DwsFeThM.js → dialog-CzM8MzQ-.js} +1 -1
- package/dist/client/assets/{domain-settings-hwqjs_-l.js → domain-settings-Cb56Wqhx.js} +1 -1
- package/dist/client/assets/{drawer-C9n_aelf.js → drawer-C7ZZmQFG.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CWzptThb.js → dropdown-menu-vZbKEPI_.js} +1 -1
- package/dist/client/assets/{empty-state-BWRux-cH.js → empty-state-5i8gVFrU.js} +1 -1
- package/dist/client/assets/{extract-connection-data-DSZxG7Ou.js → extract-connection-data-85SW-BMY.js} +1 -1
- package/dist/client/assets/{file-explorer-DUzO9Uaw.js → file-explorer-DRWskh1L.js} +1 -1
- package/dist/client/assets/{form-1gVKPTzo.js → form-85JNq7en.js} +1 -1
- package/dist/client/assets/{general-CZL98ul6.js → general-CG1tY_ET.js} +1 -1
- package/dist/client/assets/{github-repo-picker-CFGNz7ky.js → github-repo-picker-D2wPKNO4.js} +1 -1
- package/dist/client/assets/{hooks-BPYOldkV.js → hooks-CksvYwOa.js} +1 -1
- package/dist/client/assets/{index-DU9iJYnP.js → index-5gMuuCum.js} +1 -1
- package/dist/client/assets/{index-CxBFw_N0.js → index-BBBoBsxH.js} +4 -4
- package/dist/client/assets/{index-D7KObn1f.js → index-BzdILOqw.js} +1 -1
- package/dist/client/assets/{index-CvKP8ebO.js → index-CGaytdcH.js} +51 -51
- package/dist/client/assets/{index-ZQGrEkkG.js → index-CN-zQWKU.js} +1 -1
- package/dist/client/assets/{index-BuD1jJdW.js → index-COgMZcik.js} +1 -1
- package/dist/client/assets/{index-CfK1yLdj.js → index-DADgbB0j.js} +1 -1
- package/dist/client/assets/{index-BWDBtJtJ.js → index-DGCl3RV_.js} +1 -1
- package/dist/client/assets/{index-tMD_eObG.js → index-DvYCe3aM.js} +1 -1
- package/dist/client/assets/{index-CFTzkWfT.js → index-DxLGzd1u.js} +1 -1
- package/dist/client/assets/index-Mm9apjjK.css +1 -0
- package/dist/client/assets/{index-redirect-cEWsXhv9.js → index-redirect-BIAjDrJu.js} +1 -1
- package/dist/client/assets/{index-CvDRQGzX.js → index-yJhfEXd6.js} +1 -1
- package/dist/client/assets/{input-lPKiFPgB.js → input-CnsTKHH9.js} +1 -1
- package/dist/client/assets/{integration-icon-Boaae6mE.js → integration-icon-D9kB9i87.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-kuqm9b8G.js → invite-member-dialog-Z7WTlqF3.js} +1 -1
- package/dist/client/assets/{label-6pa_F189.js → label-B78RH0f4.js} +1 -1
- package/dist/client/assets/{layout-B9aIlmK2.js → layout-CvI7qCqY.js} +1 -1
- package/dist/client/assets/{login-CNwLJ1VH.js → login-C-m0yC2F.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CabdVP-1.js → mcp-oauth-k1XdNRfr.js} +1 -1
- package/dist/client/assets/{members-DgsEY1Cg.js → members-DB1eG6AA.js} +1 -1
- package/dist/client/assets/{monaco-editor-fw8YQTdp.js → monaco-editor-CMjK8MHQ.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-_DPU0cdI.js → monitoring-stats-row-DibNXNdD.js} +1 -1
- package/dist/client/assets/{multi-select-7Xn9sev3.js → multi-select-fmk8Whla.js} +1 -1
- package/dist/client/assets/{oauth-callback-DVSRJLo2.js → oauth-callback-CVNtexyF.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-D5BdvsIc.js → oauth-callback-ai-provider-CUlZKlui.js} +1 -1
- package/dist/client/assets/{onboarding-CKSbB-hk.js → onboarding-DK-gu2PZ.js} +1 -1
- package/dist/client/assets/{org-layout-MaerLOtS.js → org-layout-BMK5ziKP.js} +1 -1
- package/dist/client/assets/{organization-choice-fNzc67Xc.js → organization-choice-DcK7SEKC.js} +1 -1
- package/dist/client/assets/{orgs-CFuwCTcz.js → orgs-1lyCpDyP.js} +1 -1
- package/dist/client/assets/{page-seo-form-COjEOuhr.js → page-seo-form-D9S7QQKZ.js} +1 -1
- package/dist/client/assets/{popover-CVsLMFZy.js → popover-B0K2YzRR.js} +1 -1
- package/dist/client/assets/{post-editor-Bh35buMz.js → post-editor-WTkzZO9I.js} +1 -1
- package/dist/client/assets/{primitives-BMhaFj4J.js → primitives-DebJHUnP.js} +1 -1
- package/dist/client/assets/profile-CqsbNN0i.js +1 -0
- package/dist/client/assets/{project-app-view-2ueCnZ90.js → project-app-view-DiVjMX8O.js} +1 -1
- package/dist/client/assets/record-editor-0LkY6de7.js +1 -0
- package/dist/client/assets/{redirect-editor-BcaVimqy.js → redirect-editor-BjTMDf93.js} +1 -1
- package/dist/client/assets/registry-B90FN8oj.js +2 -0
- package/dist/client/assets/{registry-layout-dmwVFTCy.js → registry-layout-DoBKbV7U.js} +1 -1
- package/dist/client/assets/{reports-CYcmjHDV.js → reports-DPg94ziT.js} +1 -1
- package/dist/client/assets/{require-capability-c7-aEMGE.js → require-capability-nV2FDW3E.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Dt2S7EGa.js → required-auth-layout-Caf4U7q5.js} +1 -1
- package/dist/client/assets/{reset-password-B30UZnbu.js → reset-password-D1ksHH_o.js} +1 -1
- package/dist/client/assets/{roles-SdnfS5pV.js → roles-CzdMmNbI.js} +1 -1
- package/dist/client/assets/{search-input-BcQLgiuF.js → search-input-NLqcdFV0.js} +1 -1
- package/dist/client/assets/{secrets-_v9AfXD7.js → secrets-B8nIO1TN.js} +1 -1
- package/dist/client/assets/{sections-editor-GwfzD5_J.js → sections-editor-BPdMBl7C.js} +1 -1
- package/dist/client/assets/{select-DoZmXa8q.js → select-VyU6kY3G.js} +1 -1
- package/dist/client/assets/{select-model-IZAxkCpG.js → select-model-qD1IxEtQ.js} +1 -1
- package/dist/client/assets/{self-tool-result-BXUdgdq8.js → self-tool-result-Bzo6jPRQ.js} +1 -1
- package/dist/client/assets/{seo-editor-Bo2jSvqL.js → seo-editor-QkBUb-rU.js} +1 -1
- package/dist/client/assets/{settings-layout-CLLqnivx.js → settings-layout-D8vojhC3.js} +1 -1
- package/dist/client/assets/{settings-section-DoRktbYA.js → settings-section-nAnilqV6.js} +1 -1
- package/dist/client/assets/{shell-controls-Dz80u2yr.js → shell-controls-B1720Evi.js} +1 -1
- package/dist/client/assets/{shell-layout-BxeNlaZJ.js → shell-layout-BzOg9yAh.js} +1 -1
- package/dist/client/assets/{sidebar-_Q_SgpLs.js → sidebar-CNw2fcZR.js} +1 -1
- package/dist/client/assets/{skeleton-CtyKAZ6L.js → skeleton-BxjLGNH2.js} +1 -1
- package/dist/client/assets/{spinner-BM6Oxcyu.js → spinner-UT0Uf5jO.js} +1 -1
- package/dist/client/assets/{sso-BxBtyGJ_.js → sso-BEpyfxsi.js} +1 -1
- package/dist/client/assets/{store-C4P1g_Uq.js → store-0rsRp8tT.js} +1 -1
- package/dist/client/assets/store-registry-B02JewV7.js +2 -0
- package/dist/client/assets/{studio-tools-CCpDdI2T.js → studio-tools-CfncwUg9.js} +1 -1
- package/dist/client/assets/{switch-cs8EcZG9.js → switch-BQIlQETA.js} +1 -1
- package/dist/client/assets/{tab-id-Dcbv7b46.js → tab-id-dWVANqLn.js} +1 -1
- package/dist/client/assets/{table-BZia-fcP.js → table-CBSQUU85.js} +1 -1
- package/dist/client/assets/{tabs-C_skR8TH.js → tabs-CmRPkuCJ.js} +1 -1
- package/dist/client/assets/{textarea-C7OhZleB.js → textarea-BT5MRKN-.js} +1 -1
- package/dist/client/assets/{toggle-group-DOMbFnHM.js → toggle-group-BaN-z-Ox.js} +1 -1
- package/dist/client/assets/{toolbar-4oIgKl0J.js → toolbar-Bsc5h9xf.js} +1 -1
- package/dist/client/assets/{tooltip-BWzHQe8r.js → tooltip-C7kLwCMs.js} +1 -1
- package/dist/client/assets/{use-ai-providers-B7sutyAb.js → use-ai-providers-DMd6eGR7.js} +1 -1
- package/dist/client/assets/{use-automations-DOdI0xKT.js → use-automations-vkjC5jtE.js} +1 -1
- package/dist/client/assets/{use-autosave-D8T_dPP2.js → use-autosave-DaELZWO-.js} +1 -1
- package/dist/client/assets/{use-capability-czQg5-_c.js → use-capability-D3K6xQjN.js} +1 -1
- package/dist/client/assets/{use-clock-tick-CzoXLk5x.js → use-clock-tick-BFmRKdsY.js} +1 -1
- package/dist/client/assets/{use-connection-CxSw4paN.js → use-connection-D8I5u8lh.js} +1 -1
- package/dist/client/assets/{use-copy-Dv6Jfgtr.js → use-copy-DF_7VKpF.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CMwFwBmZ.js → use-create-virtual-mcp-D4I6JoEL.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-9p9S1UKB.js → use-debounced-autosave-CpsYtKWP.js} +1 -1
- package/dist/client/assets/{use-debounced-value-BVgbXkmF.js → use-debounced-value-Ctx89MRT.js} +1 -1
- package/dist/client/assets/{use-deco-credits-CPXVL0mo.js → use-deco-credits-UrwpoyLk.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BrclSVbM.js → use-decopilot-events-BKWcPTnP.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BRcZHY5m.js → use-delete-connection-BXmlWyMV.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-DOE4SGkN.js → use-deployment-admin-GSUUfolX.js} +1 -1
- package/dist/client/assets/{use-file-configs-C1AyH-lC.js → use-file-configs-xBBEedu_.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-BibQWfwH.js → use-infinite-scroll-C3O3IV4p.js} +1 -1
- package/dist/client/assets/{use-join-requests-Cn_sBgxP.js → use-join-requests-C2dZ9miu.js} +1 -1
- package/dist/client/assets/{use-mcp-client-CqqGrLWN.js → use-mcp-client-ByGOfbj3.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DOcWDyMM.js → use-mcp-tools-Dz5fAkpa.js} +1 -1
- package/dist/client/assets/{use-members-C7dzHFLo.js → use-members-C9SS4244.js} +1 -1
- package/dist/client/assets/{use-mobile-C6B_iEIe.js → use-mobile-C16kkGQc.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-az_1kP9O.js → use-navigate-to-agent-pOYtlMfx.js} +1 -1
- package/dist/client/assets/{use-open-billing-url-C2FVJNxi.js → use-open-billing-url-DCS_RWQe.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-CK7ER67d.js → use-org-auth-client-w1WqOpqW.js} +1 -1
- package/dist/client/assets/{use-org-sso-C51XKLLD.js → use-org-sso-BS2-mlxl.js} +1 -1
- package/dist/client/assets/{use-organization-roles-Cejia3UX.js → use-organization-roles-DLFF1HX5.js} +1 -1
- package/dist/client/assets/{use-organization-settings-L2Nlwy1q.js → use-organization-settings-B-mydKFn.js} +1 -1
- package/dist/client/assets/{use-registry-connections-D1cMqfQC.js → use-registry-connections-DOk2yoWE.js} +1 -1
- package/dist/client/assets/{use-secrets-DteRsEPQ.js → use-secrets-mOo9S1hW.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-DA3A1wU8.js → use-section-preview-base-CiDMVo42.js} +1 -1
- package/dist/client/assets/{use-status-sounds-wHW16LGS.js → use-status-sounds-CcfHQr8l.js} +1 -1
- package/dist/client/assets/{use-tags-RV8o3tt9.js → use-tags-6roThZte.js} +1 -1
- package/dist/client/assets/{use-view-mode-DDmhmd4A.js → use-view-mode-ByefmkIW.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-EarHKoMA.js → use-virtual-mcp-DygR9uXr.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-zQIjpXfj.js +1 -0
- package/dist/client/assets/{useRouterState-DG4vBlLT.js → useRouterState-orm7Cs5O.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Cn4CCrrL.js +1 -0
- package/dist/client/assets/{users-Dox3gXLm.js → users-CNKCYJi4.js} +1 -1
- package/dist/client/assets/{variant-calendar-DmR1ifCb.js → variant-calendar-C4hwVZ8h.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-Dqze6Whj.js → view-mode-toggle-CWYxNBHu.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +2 -2
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/index-CkfEv7OJ.css +0 -1
- package/dist/client/assets/profile-B2zo1E0O.js +0 -1
- package/dist/client/assets/record-editor-DWdUn5He.js +0 -1
- package/dist/client/assets/registry-XH2E947S.js +0 -2
- package/dist/client/assets/store-registry-CXbG7LuD.js +0 -2
- package/dist/client/assets/useInfiniteQuery-DGRVGikp.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DlVdMNbT.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -1310,7 +1310,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var Nc1=O(()=>{Tx()});f
|
|
|
1310
1310
|
`.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${J}/${K}, keeping in old table`);continue}}await af`
|
|
1311
1311
|
DELETE FROM kysely_migration WHERE name = ${X}
|
|
1312
1312
|
`.execute($)}}async function Ii1($){await ku6($),await Vu6($);let Z=new Ti1({db:$,provider:{getMigrations:()=>Promise.resolve(ql0)}}),{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 Su6($){let{keepOpen:Z=!1,database:X,skipBetterAuth:Q=!1}=$??{},Y="skipped";if(!Q&&!X)Y=await Zh0();let G=X??H6(),J=async()=>{if(!Z&&!X)await Nw(G).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await Ii1(G.db);return await J(),{betterAuth:Y,kysely:K}}catch(K){throw await J(),K}}async function Cu6(){let $=H6(),Z=new Ti1({db:$.db,provider:{getMigrations:()=>Promise.resolve(ql0)}}),{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 Mi1=O(()=>{Ai1();Xh0();n7()});async function h50($){let Z={...process.env},X=v00($,Z);console.log(mU1(X.settings.encryptionKey));let Q=X.settings.betterAuthSecret||(X.settings.localMode?cl1(X.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (r$0(),o$0)),{outputs:G,services:J}=await Y({home:X.settings.dataDir,externalDatabaseUrl:X.externalDatabaseUrl,externalNatsUrl:X.externalNatsUrl});if(!X.skipMigrations){let{migrateBetterAuth:W}=await Promise.resolve().then(() => (Xh0(),dl1));await W(G.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (n7(),Gl1)),{migrateToLatest:N}=await Promise.resolve().then(() => (Mi1(),qi1)),U=H(G.databaseUrl);await N({keepOpen:!0,database:U,skipBetterAuth:!0})}let K={...X.settings,betterAuthSecret:Q,databaseUrl:G.databaseUrl,natsUrls:G.natsUrls,...G.s3?{s3Endpoint:G.s3.endpoint,s3Bucket:G.s3.bucket,s3AccessKeyId:G.s3.accessKeyId,s3SecretAccessKey:G.s3.secretAccessKey,s3ForcePathStyle:G.s3.forcePathStyle}:{},...G.natsTunnel?{natsPublicUrl:G.natsTunnel.publicUrl,natsAccountJwt:G.natsTunnel.accountJwt,natsAccountSigningKey:G.natsTunnel.accountSigningKey,natsOperatorJwt:G.natsTunnel.operatorJwt,natsTunnelPublicEnabled:!0,natsCredsPath:G.natsTunnel.credsPath}:{}};return Uc1(K),{settings:K,services:J.map((W)=>({name:W.name==="PostgreSQL"?"Postgres":W.name,port:W.port})),managedServiceNames:J.filter((W)=>W.owner==="managed").map((W)=>W.name)}}var Ml0=O(()=>{Tx();ll1();b8()});var Si1={};w0(Si1,{updateService:()=>dD,subscribeCliState:()=>Sl0,setTuiConsoleIntercepted:()=>u50,setServerUrl:()=>Am,setMigrationsDone:()=>Pm,setDevMode:()=>xu6,resetCliStateForTests:()=>_u6,isTuiConsoleIntercepted:()=>c50,getCliState:()=>Vl0,addLogEntry:()=>Ow});function ki1(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function _u6(){VQ=ki1()}function vu6(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function jm(){for(let $ of kl0)$()}function Vl0(){return VQ}function Sl0($){return kl0.add($),()=>kl0.delete($)}function dD($){VQ={...VQ,services:VQ.services.map((Z)=>Z.name===$.name?$:Z)},jm()}function Pm(){VQ={...VQ,migrationsStatus:"done"},jm()}function Am($){VQ={...VQ,serverUrl:$},jm()}function Ow($){let Z=[...VQ.logs,$];VQ={...VQ,logs:Z.length>500?Z.slice(-500):Z},jm()}function xu6(){VQ={...VQ,services:[...vu6(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},jm()}function u50($){Vi1=$}function c50(){return Vi1}var VQ,kl0,Vi1=!1;var mD=O(()=>{VQ=ki1();kl0=new Set});import{createServer as Ci1}from"net";function fu6($){return new Promise((Z)=>{let X=Ci1();X.once("error",()=>Z(!1)),X.listen($,"0.0.0.0",()=>{X.close(()=>Z(!0))})})}async function Tm($){if(await fu6($))return $;let Z=await new Promise((X,Q)=>{let Y=Ci1();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 Cl0=()=>{};function Rm($){return $.replace(/\x1b\[[0-9;]*m/g,"")}var _l0={};w0(_l0,{startDevServer:()=>yu6});import{join as bu6}from"path";function _i1($){let Z=$.getReader(),X=new TextDecoder,Q="";function Y(){let G=Q.split(`
|
|
1313
|
-
`);Q=G.pop()??"";for(let J of G){let K=Rm(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;Ow({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=Rm(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)Ow({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function yu6($){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 Tm(Number(Y)+1):await Tm(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await h50({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)dD({name:L.name,status:"ready",port:L.port});Pm();let N=bu6(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.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...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)_i1(F.stdout),_i1(F.stderr);Am(G),dD({name:"Vite",status:"ready",port:Number(Y)}),dD({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(() => (r$0(),o$0));await D(K.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Y),process:F}}var vl0=O(()=>{Ml0();mD();Cl0()});var l50;var xl0=O(()=>{l50={name:"decocms",version:"4.192.9",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 hu6,Text as vi1}from"ink";import{jsx as uu6,jsxs as xi1}from"react/jsx-runtime";function fi1({version:$}){return xi1(hu6,{flexDirection:"column",marginTop:1,children:[D50.map((Z,X)=>uu6(vi1,{color:E50[X],children:Z},X)),xi1(vi1,{dimColor:!0,children:[" v",$]})]})}var bi1=O(()=>{Hm()});import{Box as iD,Text as Lw}from"ink";import{Spinner as cu6}from"@inkjs/ui";import{jsx as yY,jsxs as sf}from"react/jsx-runtime";function yi1({status:$}){if($==="pending")return yY(cu6,{label:""});return yY(Lw,{color:"green",children:"\u2713"})}function lu6($){return`${$.name}: ${$.port||"...."}`}function gi1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return sf(iD,{flexDirection:"column",paddingBottom:1,children:[yY(fi1,{version:l50.version}),yY(iD,{marginBottom:1,children:yY(Lw,{dimColor:!0,children:"\u2500".repeat(80)})}),yY(iD,{children:sf(Lw,{dimColor:!0,children:["Home: ",X]})}),sf(iD,{gap:2,children:[$.map((Y)=>sf(iD,{gap:1,children:[yY(Lw,{children:lu6(Y)}),yY(yi1,{status:Y.status})]},Y.name)),sf(iD,{gap:1,children:[yY(Lw,{children:"Migrations"}),yY(yi1,{status:Z})]})]}),yY(iD,{children:Q?sf(Lw,{children:["Open in browser: ",yY(Lw,{color:"cyan",children:Q})]}):yY(Lw,{dimColor:!0,children:"Starting..."})})]})}var hi1=O(()=>{xl0();bi1()});import{Box as du6,Text as Im}from"ink";import{jsx as fl0,jsxs as bl0}from"react/jsx-runtime";function mu6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function ui1({logs:$}){return fl0(du6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return fl0(Im,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return bl0(Im,{children:[bl0(Im,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),fl0(Im,{color:mu6(Z.status),children:Z.status}),bl0(Im,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var ci1=()=>{};var yl0={};w0(yl0,{App:()=>pu6});import{Box as iu6}from"ink";import{useSyncExternalStore as nu6}from"react";import{jsx as li1,jsxs as tu6}from"react/jsx-runtime";function pu6({home:$}){let Z=nu6(Sl0,Vl0);return tu6(iu6,{flexDirection:"column",children:[li1(gi1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),li1(ui1,{logs:Z.logs})]})}var gl0=O(()=>{hi1();ci1();mD()});var KJ="thread-gate",kN="decopilot-hosted-harness",mG="automations",Dw="background-tools";var di1="7";function mi1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:di1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var ii1=()=>{};function ou6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function hl0($,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 ni1(){let $=ou6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:hl0($,"--cpu-prof-dir")??process.cwd(),name:hl0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(hl0($,"--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 pi1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=hD();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(()=>{}),d50=setInterval(()=>void Z().catch(()=>{}),$),d50.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(d50)clearInterval(d50)}}var d50;var ti1=()=>{};import*as ru6 from"bun:jsc";function oi1(){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{au6()}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=su6()?.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 au6,su6;var ri1=O(()=>{({startSamplingProfiler:au6,samplingProfilerStackTraces:su6}=ru6)});function ai1(){ni1();let $=[pi1(),ac1(),oi1()];return()=>{for(let Z of $)Z()}}var si1=O(()=>{ig0();ti1();ri1()});var nD=_((ei1)=>{Object.defineProperty(ei1,"__esModule",{value:!0});ei1.RepublishHeaders=ei1.DirectMsgHeaders=ei1.JsHeaders=ei1.AdvisoryKind=void 0;ei1.isOrderedPushConsumerOptions=eu6;ei1.isPullConsumer=$c6;ei1.isPushConsumer=Zc6;ei1.isBoundPushConsumerOptions=Xc6;function eu6($){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 $c6($){return $.isPullConsumer()}function Zc6($){return $.isPushConsumer()}function Xc6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}ei1.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"};ei1.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"};ei1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};ei1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var gY=_((Zn1)=>{Object.defineProperty(Zn1,"__esModule",{value:!0});Zn1.TD=Zn1.TE=Zn1.Empty=void 0;Zn1.encode=Uc6;Zn1.decode=Fc6;Zn1.Empty=new Uint8Array(0);Zn1.TE=new TextEncoder;Zn1.TD=new TextDecoder;function Nc6(...$){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 Uc6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(Zn1.TE.encode($[X]));if(Z.length===0)return Zn1.Empty;if(Z.length===1)return Z[0];return Nc6(...Z)}function Fc6($){if(!$||$.length===0)return"";return Zn1.TD.decode($)}});var hY=_((Yn1)=>{Object.defineProperty(Yn1,"__esModule",{value:!0});Yn1.errors=Yn1.PermissionViolationError=Yn1.NoRespondersError=Yn1.TimeoutError=Yn1.RequestError=Yn1.ProtocolError=Yn1.ConnectionError=Yn1.DrainingConnectionError=Yn1.ClosedConnectionError=Yn1.AuthorizationError=Yn1.UserAuthenticationExpiredError=Yn1.InvalidOperationError=Yn1.InvalidArgumentError=Yn1.InvalidSubjectError=void 0;class cl0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}Yn1.InvalidSubjectError=cl0;class m50 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 m50(`${$} ${Z}`,X)}}Yn1.InvalidArgumentError=m50;class ll0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}Yn1.InvalidOperationError=ll0;class i50 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new i50($);return null}}Yn1.UserAuthenticationExpiredError=i50;class n50 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 n50($);return null}}Yn1.AuthorizationError=n50;class dl0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}Yn1.ClosedConnectionError=dl0;class ml0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}Yn1.DrainingConnectionError=ml0;class il0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}Yn1.ConnectionError=il0;class nl0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}Yn1.ProtocolError=nl0;class pl0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof p50}}Yn1.RequestError=pl0;class tl0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}Yn1.TimeoutError=tl0;class p50 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}Yn1.NoRespondersError=p50;class t50 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 t50($,X,Q,Y)}}Yn1.PermissionViolationError=t50;Yn1.errors={AuthorizationError:n50,ClosedConnectionError:dl0,ConnectionError:il0,DrainingConnectionError:ml0,InvalidArgumentError:m50,InvalidOperationError:ll0,InvalidSubjectError:cl0,NoRespondersError:p50,PermissionViolationError:t50,ProtocolError:nl0,RequestError:pl0,TimeoutError:tl0,UserAuthenticationExpiredError:i50}});var WJ=_((Hn1)=>{Object.defineProperty(Hn1,"__esModule",{value:!0});Hn1.SimpleMutex=Hn1.Perf=void 0;Hn1.extend=Vc6;Hn1.render=Sc6;Hn1.timeout=Cc6;Hn1.delay=_c6;Hn1.deadline=vc6;Hn1.deferred=rl0;Hn1.debugDeferred=xc6;Hn1.shuffle=fc6;Hn1.collect=bc6;Hn1.jitter=Wn1;Hn1.backoff=yc6;Hn1.nanos=gc6;Hn1.millis=hc6;Hn1.randomToken=lc6;var kc6=gY(),ol0=hY();function Vc6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function Sc6($){return kc6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Cc6($,Z=!0){let X=Z?new ol0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new ol0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function _c6($=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 vc6($,Z=1000){let X=rl0(),Q=setTimeout(()=>{X.reject(new ol0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function rl0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function xc6(){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 fc6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function bc6($){let Z=[];for await(let X of $)Z.push(X);return Z}class Jn1{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})}),$}}Hn1.Perf=Jn1;class Kn1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=rl0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}Hn1.SimpleMutex=Kn1;function Wn1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function yc6($=[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 Wn1(X>Z?$[Z]:$[X])}}}function gc6($){return $*1e6}function hc6($){return Math.floor($/1e6)}var uc6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",VN=new Uint8Array(62);for(let $=0;$<62;$++)VN[$]=uc6.charCodeAt($);var cc6=218340105584896;function lc6(){let $=Math.floor(Math.random()*cc6),Z=$%62,X=VN[Z];$=($-Z)/62,Z=$%62;let Q=VN[Z];$=($-Z)/62,Z=$%62;let Y=VN[Z];$=($-Z)/62,Z=$%62;let G=VN[Z];$=($-Z)/62,Z=$%62;let J=VN[Z];$=($-Z)/62,Z=$%62;let K=VN[Z];$=($-Z)/62,Z=$%62;let W=VN[Z];$=($-Z)/62;let H=VN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var Dn1=_((On1)=>{Object.defineProperty(On1,"__esModule",{value:!0});On1.nuid=On1.NuidImpl=void 0;var Yl6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Ew=62,r50=12,wn1=10,Un1=33,Gl6=333,Fn1=r50+wn1,sl0=new Uint8Array(Ew);for(let $=0;$<Ew;$++)sl0[$]=Yl6.charCodeAt($);var o50=4294967296,Bn1=BigInt(Ew)**BigInt(wn1),qm=Number(Bn1/(1n<<32n)),al0=Number(Bn1%(1n<<32n));function Jl6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Kl6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Jl6($)}class el0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(Fn1),this.cbuf=new Uint8Array(r50),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(qm+1)),this.seqLo=Math.floor(Math.random()*o50);while($++<8&&this.seqHi===qm&&this.seqLo>=al0);if(this.seqHi===qm&&this.seqLo>=al0)this.seqLo=0;this.inc=Math.random()*(Gl6-Un1)+Un1|0}setPre(){Kl6(this.cbuf);for(let $=0;$<r50;$++)this.buf[$]=sl0[this.cbuf[$]%Ew]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=Fn1-1;X>=r50;X--){let Q=Math.floor($/Ew),G=($-Q*Ew)*o50+Z,J=Math.floor(G/Ew),K=G-J*Ew;this.buf[X]=sl0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=o50)this.seqLo-=o50,this.seqHi+=1;if(this.seqHi>qm||this.seqHi===qm&&this.seqLo>=al0)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()}}On1.NuidImpl=el0;On1.nuid=new el0});var Pn1=_((zn1)=>{Object.defineProperty(zn1,"__esModule",{value:!0});zn1.nuid=zn1.Nuid=void 0;var En1=Dn1();zn1.Nuid=En1.NuidImpl;zn1.nuid=En1.nuid});var s50=_((a50)=>{Object.defineProperty(a50,"__esModule",{value:!0});a50.nuid=a50.Nuid=void 0;var An1=Pn1();Object.defineProperty(a50,"Nuid",{enumerable:!0,get:function(){return An1.Nuid}});Object.defineProperty(a50,"nuid",{enumerable:!0,get:function(){return An1.nuid}})});var zw=_((Tn1)=>{Object.defineProperty(Tn1,"__esModule",{value:!0});Tn1.DEFAULT_HOST=Tn1.DEFAULT_PORT=Tn1.Match=void 0;Tn1.syncIterator=wl6;Tn1.createInbox=Bl6;var Ul6=s50(),Fl6=hY();Tn1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function wl6($){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 Bl6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Fl6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Ul6.nuid.next()}`}Tn1.DEFAULT_PORT=4222;Tn1.DEFAULT_HOST="127.0.0.1"});var Mm=_((Mn1)=>{Object.defineProperty(Mn1,"__esModule",{value:!0});Mn1.DataBuffer=void 0;var In1=gY();class qn1{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 In1.TE.encode($)}static toAscii($){return In1.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}}Mn1.DataBuffer=qn1});var pD=_((Sn1)=>{Object.defineProperty(Sn1,"__esModule",{value:!0});Sn1.LF=Sn1.CR=Sn1.CRLF=Sn1.CR_LF_LEN=Sn1.CR_LF=void 0;Sn1.setTransportFactory=Al6;Sn1.defaultPort=Tl6;Sn1.getUrlParseFn=Rl6;Sn1.newTransport=Il6;Sn1.getResolveFn=ql6;Sn1.protoLen=Vn1;Sn1.extractProtocolMessage=Ml6;var zl6=gY(),jl6=zw(),Pl6=Mm(),uY;function Al6($){uY=$}function Tl6(){return uY!==void 0&&uY.defaultPort!==void 0?uY.defaultPort:jl6.DEFAULT_PORT}function Rl6(){return uY!==void 0&&uY.urlParseFn?uY.urlParseFn:void 0}function Il6(){if(!uY||typeof uY.factory!=="function")throw Error("transport fn is not set");return uY.factory()}function ql6(){return uY!==void 0&&uY.dnsResolveFn?uY.dnsResolveFn:void 0}Sn1.CR_LF=`\r
|
|
1313
|
+
`);Q=G.pop()??"";for(let J of G){let K=Rm(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;Ow({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=Rm(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)Ow({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function yu6($){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 Tm(Number(Y)+1):await Tm(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await h50({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)dD({name:L.name,status:"ready",port:L.port});Pm();let N=bu6(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.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...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)_i1(F.stdout),_i1(F.stderr);Am(G),dD({name:"Vite",status:"ready",port:Number(Y)}),dD({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(() => (r$0(),o$0));await D(K.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Y),process:F}}var vl0=O(()=>{Ml0();mD();Cl0()});var l50;var xl0=O(()=>{l50={name:"decocms",version:"4.193.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 hu6,Text as vi1}from"ink";import{jsx as uu6,jsxs as xi1}from"react/jsx-runtime";function fi1({version:$}){return xi1(hu6,{flexDirection:"column",marginTop:1,children:[D50.map((Z,X)=>uu6(vi1,{color:E50[X],children:Z},X)),xi1(vi1,{dimColor:!0,children:[" v",$]})]})}var bi1=O(()=>{Hm()});import{Box as iD,Text as Lw}from"ink";import{Spinner as cu6}from"@inkjs/ui";import{jsx as yY,jsxs as sf}from"react/jsx-runtime";function yi1({status:$}){if($==="pending")return yY(cu6,{label:""});return yY(Lw,{color:"green",children:"\u2713"})}function lu6($){return`${$.name}: ${$.port||"...."}`}function gi1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return sf(iD,{flexDirection:"column",paddingBottom:1,children:[yY(fi1,{version:l50.version}),yY(iD,{marginBottom:1,children:yY(Lw,{dimColor:!0,children:"\u2500".repeat(80)})}),yY(iD,{children:sf(Lw,{dimColor:!0,children:["Home: ",X]})}),sf(iD,{gap:2,children:[$.map((Y)=>sf(iD,{gap:1,children:[yY(Lw,{children:lu6(Y)}),yY(yi1,{status:Y.status})]},Y.name)),sf(iD,{gap:1,children:[yY(Lw,{children:"Migrations"}),yY(yi1,{status:Z})]})]}),yY(iD,{children:Q?sf(Lw,{children:["Open in browser: ",yY(Lw,{color:"cyan",children:Q})]}):yY(Lw,{dimColor:!0,children:"Starting..."})})]})}var hi1=O(()=>{xl0();bi1()});import{Box as du6,Text as Im}from"ink";import{jsx as fl0,jsxs as bl0}from"react/jsx-runtime";function mu6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function ui1({logs:$}){return fl0(du6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return fl0(Im,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return bl0(Im,{children:[bl0(Im,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),fl0(Im,{color:mu6(Z.status),children:Z.status}),bl0(Im,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var ci1=()=>{};var yl0={};w0(yl0,{App:()=>pu6});import{Box as iu6}from"ink";import{useSyncExternalStore as nu6}from"react";import{jsx as li1,jsxs as tu6}from"react/jsx-runtime";function pu6({home:$}){let Z=nu6(Sl0,Vl0);return tu6(iu6,{flexDirection:"column",children:[li1(gi1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),li1(ui1,{logs:Z.logs})]})}var gl0=O(()=>{hi1();ci1();mD()});var KJ="thread-gate",kN="decopilot-hosted-harness",mG="automations",Dw="background-tools";var di1="7";function mi1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:di1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var ii1=()=>{};function ou6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function hl0($,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 ni1(){let $=ou6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:hl0($,"--cpu-prof-dir")??process.cwd(),name:hl0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(hl0($,"--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 pi1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=hD();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(()=>{}),d50=setInterval(()=>void Z().catch(()=>{}),$),d50.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(d50)clearInterval(d50)}}var d50;var ti1=()=>{};import*as ru6 from"bun:jsc";function oi1(){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{au6()}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=su6()?.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 au6,su6;var ri1=O(()=>{({startSamplingProfiler:au6,samplingProfilerStackTraces:su6}=ru6)});function ai1(){ni1();let $=[pi1(),ac1(),oi1()];return()=>{for(let Z of $)Z()}}var si1=O(()=>{ig0();ti1();ri1()});var nD=_((ei1)=>{Object.defineProperty(ei1,"__esModule",{value:!0});ei1.RepublishHeaders=ei1.DirectMsgHeaders=ei1.JsHeaders=ei1.AdvisoryKind=void 0;ei1.isOrderedPushConsumerOptions=eu6;ei1.isPullConsumer=$c6;ei1.isPushConsumer=Zc6;ei1.isBoundPushConsumerOptions=Xc6;function eu6($){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 $c6($){return $.isPullConsumer()}function Zc6($){return $.isPushConsumer()}function Xc6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}ei1.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"};ei1.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"};ei1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};ei1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var gY=_((Zn1)=>{Object.defineProperty(Zn1,"__esModule",{value:!0});Zn1.TD=Zn1.TE=Zn1.Empty=void 0;Zn1.encode=Uc6;Zn1.decode=Fc6;Zn1.Empty=new Uint8Array(0);Zn1.TE=new TextEncoder;Zn1.TD=new TextDecoder;function Nc6(...$){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 Uc6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(Zn1.TE.encode($[X]));if(Z.length===0)return Zn1.Empty;if(Z.length===1)return Z[0];return Nc6(...Z)}function Fc6($){if(!$||$.length===0)return"";return Zn1.TD.decode($)}});var hY=_((Yn1)=>{Object.defineProperty(Yn1,"__esModule",{value:!0});Yn1.errors=Yn1.PermissionViolationError=Yn1.NoRespondersError=Yn1.TimeoutError=Yn1.RequestError=Yn1.ProtocolError=Yn1.ConnectionError=Yn1.DrainingConnectionError=Yn1.ClosedConnectionError=Yn1.AuthorizationError=Yn1.UserAuthenticationExpiredError=Yn1.InvalidOperationError=Yn1.InvalidArgumentError=Yn1.InvalidSubjectError=void 0;class cl0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}Yn1.InvalidSubjectError=cl0;class m50 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 m50(`${$} ${Z}`,X)}}Yn1.InvalidArgumentError=m50;class ll0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}Yn1.InvalidOperationError=ll0;class i50 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new i50($);return null}}Yn1.UserAuthenticationExpiredError=i50;class n50 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 n50($);return null}}Yn1.AuthorizationError=n50;class dl0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}Yn1.ClosedConnectionError=dl0;class ml0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}Yn1.DrainingConnectionError=ml0;class il0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}Yn1.ConnectionError=il0;class nl0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}Yn1.ProtocolError=nl0;class pl0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof p50}}Yn1.RequestError=pl0;class tl0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}Yn1.TimeoutError=tl0;class p50 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}Yn1.NoRespondersError=p50;class t50 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 t50($,X,Q,Y)}}Yn1.PermissionViolationError=t50;Yn1.errors={AuthorizationError:n50,ClosedConnectionError:dl0,ConnectionError:il0,DrainingConnectionError:ml0,InvalidArgumentError:m50,InvalidOperationError:ll0,InvalidSubjectError:cl0,NoRespondersError:p50,PermissionViolationError:t50,ProtocolError:nl0,RequestError:pl0,TimeoutError:tl0,UserAuthenticationExpiredError:i50}});var WJ=_((Hn1)=>{Object.defineProperty(Hn1,"__esModule",{value:!0});Hn1.SimpleMutex=Hn1.Perf=void 0;Hn1.extend=Vc6;Hn1.render=Sc6;Hn1.timeout=Cc6;Hn1.delay=_c6;Hn1.deadline=vc6;Hn1.deferred=rl0;Hn1.debugDeferred=xc6;Hn1.shuffle=fc6;Hn1.collect=bc6;Hn1.jitter=Wn1;Hn1.backoff=yc6;Hn1.nanos=gc6;Hn1.millis=hc6;Hn1.randomToken=lc6;var kc6=gY(),ol0=hY();function Vc6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function Sc6($){return kc6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Cc6($,Z=!0){let X=Z?new ol0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new ol0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function _c6($=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 vc6($,Z=1000){let X=rl0(),Q=setTimeout(()=>{X.reject(new ol0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function rl0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function xc6(){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 fc6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function bc6($){let Z=[];for await(let X of $)Z.push(X);return Z}class Jn1{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})}),$}}Hn1.Perf=Jn1;class Kn1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=rl0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}Hn1.SimpleMutex=Kn1;function Wn1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function yc6($=[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 Wn1(X>Z?$[Z]:$[X])}}}function gc6($){return $*1e6}function hc6($){return Math.floor($/1e6)}var uc6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",VN=new Uint8Array(62);for(let $=0;$<62;$++)VN[$]=uc6.charCodeAt($);var cc6=218340105584896;function lc6(){let $=Math.floor(Math.random()*cc6),Z=$%62,X=VN[Z];$=($-Z)/62,Z=$%62;let Q=VN[Z];$=($-Z)/62,Z=$%62;let Y=VN[Z];$=($-Z)/62,Z=$%62;let G=VN[Z];$=($-Z)/62,Z=$%62;let J=VN[Z];$=($-Z)/62,Z=$%62;let K=VN[Z];$=($-Z)/62,Z=$%62;let W=VN[Z];$=($-Z)/62;let H=VN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var Dn1=_((On1)=>{Object.defineProperty(On1,"__esModule",{value:!0});On1.nuid=On1.NuidImpl=void 0;var Yl6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Ew=62,r50=12,wn1=10,Un1=33,Gl6=333,Fn1=r50+wn1,sl0=new Uint8Array(Ew);for(let $=0;$<Ew;$++)sl0[$]=Yl6.charCodeAt($);var o50=4294967296,Bn1=BigInt(Ew)**BigInt(wn1),qm=Number(Bn1/(1n<<32n)),al0=Number(Bn1%(1n<<32n));function Jl6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Kl6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Jl6($)}class el0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(Fn1),this.cbuf=new Uint8Array(r50),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(qm+1)),this.seqLo=Math.floor(Math.random()*o50);while($++<8&&this.seqHi===qm&&this.seqLo>=al0);if(this.seqHi===qm&&this.seqLo>=al0)this.seqLo=0;this.inc=Math.random()*(Gl6-Un1)+Un1|0}setPre(){Kl6(this.cbuf);for(let $=0;$<r50;$++)this.buf[$]=sl0[this.cbuf[$]%Ew]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=Fn1-1;X>=r50;X--){let Q=Math.floor($/Ew),G=($-Q*Ew)*o50+Z,J=Math.floor(G/Ew),K=G-J*Ew;this.buf[X]=sl0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=o50)this.seqLo-=o50,this.seqHi+=1;if(this.seqHi>qm||this.seqHi===qm&&this.seqLo>=al0)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()}}On1.NuidImpl=el0;On1.nuid=new el0});var Pn1=_((zn1)=>{Object.defineProperty(zn1,"__esModule",{value:!0});zn1.nuid=zn1.Nuid=void 0;var En1=Dn1();zn1.Nuid=En1.NuidImpl;zn1.nuid=En1.nuid});var s50=_((a50)=>{Object.defineProperty(a50,"__esModule",{value:!0});a50.nuid=a50.Nuid=void 0;var An1=Pn1();Object.defineProperty(a50,"Nuid",{enumerable:!0,get:function(){return An1.Nuid}});Object.defineProperty(a50,"nuid",{enumerable:!0,get:function(){return An1.nuid}})});var zw=_((Tn1)=>{Object.defineProperty(Tn1,"__esModule",{value:!0});Tn1.DEFAULT_HOST=Tn1.DEFAULT_PORT=Tn1.Match=void 0;Tn1.syncIterator=wl6;Tn1.createInbox=Bl6;var Ul6=s50(),Fl6=hY();Tn1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function wl6($){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 Bl6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Fl6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Ul6.nuid.next()}`}Tn1.DEFAULT_PORT=4222;Tn1.DEFAULT_HOST="127.0.0.1"});var Mm=_((Mn1)=>{Object.defineProperty(Mn1,"__esModule",{value:!0});Mn1.DataBuffer=void 0;var In1=gY();class qn1{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 In1.TE.encode($)}static toAscii($){return In1.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}}Mn1.DataBuffer=qn1});var pD=_((Sn1)=>{Object.defineProperty(Sn1,"__esModule",{value:!0});Sn1.LF=Sn1.CR=Sn1.CRLF=Sn1.CR_LF_LEN=Sn1.CR_LF=void 0;Sn1.setTransportFactory=Al6;Sn1.defaultPort=Tl6;Sn1.getUrlParseFn=Rl6;Sn1.newTransport=Il6;Sn1.getResolveFn=ql6;Sn1.protoLen=Vn1;Sn1.extractProtocolMessage=Ml6;var zl6=gY(),jl6=zw(),Pl6=Mm(),uY;function Al6($){uY=$}function Tl6(){return uY!==void 0&&uY.defaultPort!==void 0?uY.defaultPort:jl6.DEFAULT_PORT}function Rl6(){return uY!==void 0&&uY.urlParseFn?uY.urlParseFn:void 0}function Il6(){if(!uY||typeof uY.factory!=="function")throw Error("transport fn is not set");return uY.factory()}function ql6(){return uY!==void 0&&uY.dnsResolveFn?uY.dnsResolveFn:void 0}Sn1.CR_LF=`\r
|
|
1314
1314
|
`;Sn1.CR_LF_LEN=Sn1.CR_LF.length;Sn1.CRLF=Pl6.DataBuffer.fromAscii(Sn1.CR_LF);Sn1.CR=new Uint8Array(Sn1.CRLF)[0];Sn1.LF=new Uint8Array(Sn1.CRLF)[1];function Vn1($){for(let Z=0;Z<$.length;Z++){let X=Z+1;if($.byteLength>X&&$[Z]===Sn1.CR&&$[X]===Sn1.LF)return X+1}return 0}function Ml6($){let Z=Vn1($);if(Z>0){let Q=new Uint8Array($).slice(0,Z);return zl6.TD.decode(Q)}return""}});var Yd0=_((gn1)=>{Object.defineProperty(gn1,"__esModule",{value:!0});gn1.ipV4=fn1;gn1.isIP=gl6;gn1.parseIP=bn1;var km=4,tD=16,e50=48,xn1=57,_n1=65,bl6=70,vn1=97,yl6=102,Qd0=16777215;function fn1($,Z,X,Q){let Y=new Uint8Array(tD);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 gl6($){return bn1($)!==void 0}function bn1($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return yn1($);case":":return hl6($)}return}function yn1($){let Z=new Uint8Array(km);for(let X=0;X<km;X++){if($.length===0)return;if(X>0){if($[0]!==".")return;$=$.substring(1)}let{n:Q,c:Y,ok:G}=ul6($);if(!G||Q>255)return;$=$.substring(Y),Z[X]=Q}return fn1(Z[0],Z[1],Z[2],Z[3])}function hl6($){let Z=new Uint8Array(tD),X=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(X=0,$=$.substring(2),$.length===0)return Z}let Q=0;while(Q<tD){let{n:Y,c:G,ok:J}=cl6($);if(!J||Y>65535)return;if(G<$.length&&$[G]==="."){if(X<0&&Q!=tD-km)return;if(Q+km>tD)return;let K=yn1($);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+=km;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<tD){if(X<0)return;let Y=tD-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 ul6($){let Z=0,X=0;for(Z=0;Z<$.length&&e50<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=xn1;Z++)if(X=X*10+($.charCodeAt(Z)-e50),X>=Qd0)return{n:Qd0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:X,c:Z,ok:!0}}function cl6($){let Z=0,X=0;for(X=0;X<$.length;X++){if(e50<=$.charCodeAt(X)&&$.charCodeAt(X)<=xn1)Z*=16,Z+=$.charCodeAt(X)-e50;else if(vn1<=$.charCodeAt(X)&&$.charCodeAt(X)<=yl6)Z*=16,Z+=$.charCodeAt(X)-vn1+10;else if(_n1<=$.charCodeAt(X)&&$.charCodeAt(X)<=bl6)Z*=16,Z+=$.charCodeAt(X)-_n1+10;else break;if(Z>=Qd0)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 Nd0=_((un1)=>{Object.defineProperty(un1,"__esModule",{value:!0});un1.Servers=un1.ServerImpl=void 0;un1.isIPV4OrHostname=hn1;un1.hostPort=Hd0;var Gd0=pD(),Jd0=WJ(),Kd0=Yd0(),il6=zw(),nl6=hY();function hn1($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function Wd0($){return!hn1($)}function pl6($){let X=$.toUpperCase().indexOf("::FFFF:");if(X!==-1&&$.indexOf(".")!==-1){let Q=$.substring(X+7);return Q=Q.replace("[",""),Q.replace("]","")}return $}function Hd0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=pl6($),Wd0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=Wd0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),X=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):il6.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 ef{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let X=Hd0($);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,Kd0.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}://${Wd0(Q)?"["+Q+"]":Q}`);G.port=`${this.port}`;let J=new ef(G.host,!1);J.tlsName=this.hostname,Z.push(J)}}if($.randomize)(0,Jd0.shuffle)(Z);return this.resolves=Z,Z}}un1.ServerImpl=ef;class $90{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw nl6.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,Gd0.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}=Hd0(Y),J=X.get(G);if(J)J.gossiped=!1,Q.push(J);else Q.push(new ef(Y))}if(this.randomize)(0,Jd0.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,Kd0.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,Gd0.getUrlParseFn)();$=X?X($):$;let Q=new ef($,Z);if((0,Kd0.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 $90.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return $90.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,Gd0.getUrlParseFn)(),G=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new ef(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,Jd0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:X,deleted:Q}}}un1.Servers=$90});var Z90=_((mn1)=>{Object.defineProperty(mn1,"__esModule",{value:!0});mn1.QueuedIteratorImpl=void 0;var Ud0=WJ(),ln1=hY();class dn1{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,Ud0.deferred)(),this.yields=[],this.iterClosed=(0,Ud0.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 ln1.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new ln1.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,Ud0.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}}mn1.QueuedIteratorImpl=dn1});var Fd0=_((tn1)=>{Object.defineProperty(tn1,"__esModule",{value:!0});tn1.MuxSubscription=void 0;var al6=zw(),nn1=hY();class pn1{baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,al6.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 nn1.NoRespondersError(Q.requestSubject):null;Q.resolver($,Z)}}}}close(){let $=new nn1.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}tn1.MuxSubscription=pn1});var wd0=_((an1)=>{Object.defineProperty(an1,"__esModule",{value:!0});an1.Heartbeat=void 0;var sl6=WJ();class rn1{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,sl6.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})}}an1.Heartbeat=rn1});var Ld0=_((Xp1)=>{Object.defineProperty(Xp1,"__esModule",{value:!0});Xp1.DenoBuffer=Xp1.MAX_SIZE=Xp1.AssertionError=void 0;Xp1.assert=$p1;Xp1.concat=Zp1;Xp1.append=$d6;Xp1.readAll=Zd6;Xp1.writeAll=Xd6;var el6=gY();class Bd0 extends Error{constructor($){super($);this.name="AssertionError"}}Xp1.AssertionError=Bd0;function $p1($,Z="Assertion failed."){if(!$)throw new Bd0(Z)}var en1=32768;Xp1.MAX_SIZE=4294967294;function X90($,Z,X=0){let Q=Z.byteLength-X;if($.byteLength>Q)$=$.subarray(0,Q);return Z.set($,X),$.byteLength}function Zp1($,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 $d6($,Z){return Zp1($,Uint8Array.of(Z))}class Od0{_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($){$p1($<=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=X90(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(el6.TE.encode($))}write($){let Z=this._grow($.byteLength);return X90($,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)X90(this._buf.subarray(this._off),this._buf);else if(Q+$>Xp1.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*Q+$,Xp1.MAX_SIZE));X90(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,Xp1.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(en1);while(!0){let Q=this.capacity-this.length<en1,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}}}Xp1.DenoBuffer=Od0;function Zd6($){let Z=new Od0;return Z.readFrom($),Z.bytes()}function Xd6($,Z){let X=0;while(X<Z.length)X+=$.write(Z.subarray(X))}});var zd0=_((Kp1)=>{Object.defineProperty(Kp1,"__esModule",{value:!0});Kp1.cc=Kp1.State=Kp1.Parser=Kp1.Kind=void 0;Kp1.describe=Hd6;var Dd0=Ld0(),Ed0=gY();Kp1.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function Hd6($){let Z,X="";switch($.kind){case Kp1.Kind.MSG:Z="MSG";break;case Kp1.Kind.OK:Z="OK";break;case Kp1.Kind.ERR:Z="ERR",X=Ed0.TD.decode($.data);break;case Kp1.Kind.PING:Z="PING";break;case Kp1.Kind.PONG:Z="PONG";break;case Kp1.Kind.INFO:Z="INFO",X=Ed0.TD.decode($.data)}return`${Z}: ${X}`}function Yp1(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var Gp1=48,Nd6=57,$b=67108864;class Jp1{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=Kp1.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 Kp1.State.OP_START:switch(X){case Kp1.cc.M:case Kp1.cc.m:this.state=Kp1.State.OP_M,this.hdr=-1,this.ma=Yp1();break;case Kp1.cc.H:case Kp1.cc.h:this.state=Kp1.State.OP_H,this.hdr=0,this.ma=Yp1();break;case Kp1.cc.P:case Kp1.cc.p:this.state=Kp1.State.OP_P;break;case Kp1.cc.PLUS:this.state=Kp1.State.OP_PLUS;break;case Kp1.cc.MINUS:this.state=Kp1.State.OP_MINUS;break;case Kp1.cc.I:case Kp1.cc.i:this.state=Kp1.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_H:switch(X){case Kp1.cc.M:case Kp1.cc.m:this.state=Kp1.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_M:switch(X){case Kp1.cc.S:case Kp1.cc.s:this.state=Kp1.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_MS:switch(X){case Kp1.cc.G:case Kp1.cc.g:this.state=Kp1.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_MSG:switch(X){case Kp1.cc.SPACE:case Kp1.cc.TAB:this.state=Kp1.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_MSG_SPC:switch(X){case Kp1.cc.SPACE:case Kp1.cc.TAB:continue;default:this.state=Kp1.State.MSG_ARG,this.as=Z}break;case Kp1.State.MSG_ARG:switch(X){case Kp1.cc.CR:this.drop=1;break;case Kp1.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=Kp1.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;case Kp1.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let Q=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:Kp1.Kind.MSG,msg:this.ma,data:Q}),this.argBuf=void 0,this.msgBuf=void 0,this.state=Kp1.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:Kp1.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=Kp1.State.MSG_END;break;case Kp1.State.MSG_END:switch(X){case Kp1.cc.NL:this.drop=0,this.as=Z+1,this.state=Kp1.State.OP_START;break;default:continue}break;case Kp1.State.OP_PLUS:switch(X){case Kp1.cc.O:case Kp1.cc.o:this.state=Kp1.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_PLUS_O:switch(X){case Kp1.cc.K:case Kp1.cc.k:this.state=Kp1.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_PLUS_OK:switch(X){case Kp1.cc.NL:this.dispatcher.push({kind:Kp1.Kind.OK}),this.drop=0,this.state=Kp1.State.OP_START;break}break;case Kp1.State.OP_MINUS:switch(X){case Kp1.cc.E:case Kp1.cc.e:this.state=Kp1.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_MINUS_E:switch(X){case Kp1.cc.R:case Kp1.cc.r:this.state=Kp1.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_MINUS_ER:switch(X){case Kp1.cc.R:case Kp1.cc.r:this.state=Kp1.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_MINUS_ERR:switch(X){case Kp1.cc.SPACE:case Kp1.cc.TAB:this.state=Kp1.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_MINUS_ERR_SPC:switch(X){case Kp1.cc.SPACE:case Kp1.cc.TAB:continue;default:this.state=Kp1.State.MINUS_ERR_ARG,this.as=Z}break;case Kp1.State.MINUS_ERR_ARG:switch(X){case Kp1.cc.CR:this.drop=1;break;case Kp1.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:Kp1.Kind.ERR,data:Q}),this.drop=0,this.as=Z+1,this.state=Kp1.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(X))}break;case Kp1.State.OP_P:switch(X){case Kp1.cc.I:case Kp1.cc.i:this.state=Kp1.State.OP_PI;break;case Kp1.cc.O:case Kp1.cc.o:this.state=Kp1.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_PO:switch(X){case Kp1.cc.N:case Kp1.cc.n:this.state=Kp1.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_PON:switch(X){case Kp1.cc.G:case Kp1.cc.g:this.state=Kp1.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_PONG:switch(X){case Kp1.cc.NL:this.dispatcher.push({kind:Kp1.Kind.PONG}),this.drop=0,this.state=Kp1.State.OP_START;break}break;case Kp1.State.OP_PI:switch(X){case Kp1.cc.N:case Kp1.cc.n:this.state=Kp1.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_PIN:switch(X){case Kp1.cc.G:case Kp1.cc.g:this.state=Kp1.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_PING:switch(X){case Kp1.cc.NL:this.dispatcher.push({kind:Kp1.Kind.PING}),this.drop=0,this.state=Kp1.State.OP_START;break}break;case Kp1.State.OP_I:switch(X){case Kp1.cc.N:case Kp1.cc.n:this.state=Kp1.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_IN:switch(X){case Kp1.cc.F:case Kp1.cc.f:this.state=Kp1.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_INF:switch(X){case Kp1.cc.O:case Kp1.cc.o:this.state=Kp1.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_INFO:switch(X){case Kp1.cc.SPACE:case Kp1.cc.TAB:this.state=Kp1.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case Kp1.State.OP_INFO_SPC:switch(X){case Kp1.cc.SPACE:case Kp1.cc.TAB:continue;default:this.state=Kp1.State.INFO_ARG,this.as=Z}break;case Kp1.State.INFO_ARG:switch(X){case Kp1.cc.CR:this.drop=1;break;case Kp1.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:Kp1.Kind.INFO,data:Q}),this.drop=0,this.as=Z+1,this.state=Kp1.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;default:throw this.fail($.subarray(Z))}}if((this.state===Kp1.State.MSG_ARG||this.state===Kp1.State.MINUS_ERR_ARG||this.state===Kp1.State.INFO_ARG)&&!this.argBuf)this.argBuf=new Dd0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===Kp1.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new Dd0.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 Dd0.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 Kp1.cc.SPACE:case Kp1.cc.TAB:case Kp1.cc.CR:case Kp1.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],$b);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],$b);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}: ${Ed0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case Kp1.cc.SPACE:case Kp1.cc.TAB:case Kp1.cc.CR:case Kp1.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],$b),this.ma.size=this.protoParseInt(Z[3],$b);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],$b),this.ma.size=this.protoParseInt(Z[4],$b);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]<Gp1||$[Q]>Nd6)return-1;X=X*10+($[Q]-Gp1)}return Z!==void 0&&X>Z?-1:X}}Kp1.Parser=Jp1;Kp1.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};Kp1.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 G90=_((Hp1)=>{Object.defineProperty(Hp1,"__esModule",{value:!0});Hp1.MsgHdrsImpl=void 0;Hp1.canonicalMIMEHeaderKey=Pd0;Hp1.headers=wd6;var Wp1=gY(),HJ=zw(),Y90=hY();function Pd0($){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 Y90.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 wd6($=0,Z=""){if($===0&&Z!=="")throw Y90.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw Y90.InvalidArgumentError.format("description","is required");return new Zb($,Z)}var jd0="NATS/1.0";class Zb{_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 Zb,Q=Wp1.TD.decode($).split(`\r
|
|
1315
1315
|
`),Y=Q[0];if(Y!==jd0){let G=Y.replace(jd0,"").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 $=jd0;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
|
|
1316
1316
|
${Z}: ${X[Q]}`;return`${$}\r
|
|
@@ -2813,7 +2813,7 @@ Use this to continue with the user's request \u2014 do NOT call subtask again fo
|
|
|
2813
2813
|
Task description:
|
|
2814
2814
|
${Z.description}
|
|
2815
2815
|
`:"","How to work:",`- Call \`${W}\` with the task id below to find the pull request under review.`,J?`- The repository ${J.owner}/${J.name} is already cloned at your working directory and \`git\` and \`gh\` are authenticated \u2014 check the PR's branch out there to inspect / exercise the change.`:K?"- Your working directory is EMPTY. Call `mcp__studio__TASK_ADD_REPO` with the connectionId of the PR's repository FIRST; it clones the repository and waits for the checkout, and `git` and `gh` are authenticated once it returns.":"- Load the PR's repository to inspect / exercise the change.",`- End the run by calling \`${H}\` 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.",`- \`${H}\` is how the verdict is recorded. A review that ends without it is thrown away and the task stays stuck In Review, so call it even when your notes are short.`,"",`(task id: ${Z.id})`,`(reviewToken: ${Q})`].join(`
|
|
2816
|
-
`);await va($,Z,{runClass:"reviewer",title:`${Wt[X]}: ${Z.title}`,prompt:U,temperature:0.3,...K?{harnessId:"claude-code",agent:{instructions:N,disallowedTools:Nm4[X]}}:{},...J?{repo:J}:{}}),await rZ($,{taskBoardItemId:Z.id,action:"review_requested",actorId:null,data:{reviewer:X}});let F=await $.storage.taskBoard.getById(Z.id,Y);if(F)h$(Y,F)}var Kv8,Nm4,Um4,Fm4=2;var _Z1=O(()=>{YX();PH();oZ();VZ1();CZ1();Kv8=new Set(["completed","failed","expired"]),Nm4={qa:["Edit","NotebookEdit"],code_review:["Write","Edit","NotebookEdit"]},Um4={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 Dm4($){return $.filter((X)=>X.action==="merge_conflict_resolution").length>=Wv8}async function oP0($,Z,X,Q){if(X.status!=="in_review")return!1;if(X.assigneeId!==Y$)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=cJ.filter((N)=>G[cB[N]]===!0),K=await $.storage.taskBoard.listActivity(X.id,Z);if(!Sg(K,J,{verifiedOnly:!0}))return!1;if(Dm4(K))return console.warn(`[task-board] conflict auto-resolve cap (${Wv8}) 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;await rZ($,{taskBoardItemId:X.id,action:"merge_conflict_resolution",actorId:null,data:{prNumber:W.number}}),h$(Z,H);try{await iU($,H,{pr:{number:W.number,url:W.url},resolveConflict:!0})}catch(N){throw await $.storage.taskBoard.update(H.id,Z,{status:"in_review"},"system").then((U)=>h$(Z,U)).catch((U)=>console.error("[task-board] conflict-resolution status revert failed",U)),N}return!0}var Wv8=3;var vZ1=O(()=>{YX();PH();oZ();rO()});import{z as rP0}from"zod";function Em4($){let Z=$ instanceof Error?$.message:String($);return/too many requests|rate limit|\b429\b/i.test(Z)}function Nv8($){Hv8.invalidate($)}async function gZ1($,Z,X,Q,Y){try{let G=await Hv8.fetch({type:"tools/call",connectionId:Z,scope:{kind:"org"},params:{name:X,arguments:Q},fetchLive:()=>z9(async()=>{let J=await $.callTool({name:X,arguments:Q},void 0,{timeout:aP0});if(J&&typeof J==="object"&&J.isError)throw Error(J.content?.[0]?.text??`${X} returned isError`);return J},{maxAttempts:3,minTimeout:300,maxTimeout:3000,jitter:1,isRetriable:(J)=>!Em4(J)})});return sP0(G)}catch(G){let J=G instanceof qY?G.cause:G;return console.error(`[task-board] ${X} failed for ${Y}:`,J),null}}async function wu($,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=YQ(K);return W?.owner===Q.owner&&W?.repo===Q.name});if(J)return J}return G.find((J)=>YQ(J)===null)??G[0]??null}function sP0($){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 bZ1($){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")||Z.endsWith(".vercel.app")||Z.endsWith(".preview.vtex.app")}function zm4($){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"&&bZ1(X.target_url));if(Z.length===0)return null;return Z.find((X)=>X.state==="success")?.target_url??Z[0].target_url}function jm4($){let Z=Array.isArray($)?$:Array.isArray($?.comments)?$.comments:Array.isArray($?.items)?$.items:[],X=(Y)=>{let G=Y;return Date.parse(G?.updated_at)||Date.parse(G?.created_at)},Q=Z.map((Y,G)=>({c:Y,index:G})).sort((Y,G)=>{let J=X(Y.c),K=X(G.c);if(Number.isNaN(J)||Number.isNaN(K))return Y.index-G.index;return K-J}).map(({c:Y})=>Y);for(let Y of Q){let G=Y&&typeof Y.body==="string"?Y.body:"";if(!G)continue;let J=G.match(/href=['"]([^'"]+)['"][^>]*>\s*Branch Preview/i);if(J?.[1]&&bZ1(J[1]))return J[1];let K=(G.match(/https?:\/\/[^\s"'<>)\]]+/g)??[]).find((W)=>bZ1(W));if(K)return K}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 wv8($){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"&&Fv8.has(J))X=!0}if(X)return"failing";if(Q)return"pending";return"passing"}function Bv8($,Z){if($==="failing"||Z==="failing")return"failing";if($==="pending"||Z==="pending")return"pending";if($==="passing"||Z==="passing")return"passing";return null}function Pm4($){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 Am4($){return $.status==="completed"&&$.conclusion!=null&&Fv8.has($.conclusion)}async function Tm4($,Z,X,Q){let G=(await gZ1($,Z,"GET_CHECK_RUN",{owner:X.repoOwner,repo:X.repoName,checkRunId:Q},`${yZ1(X)} check-run ${Q}`))?.output,J=typeof G?.summary==="string"?G.summary:null,K=typeof G?.text==="string"?G.text:null;return J??K??null}async function Ov8($,Z,X){let Q=await wu($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await S5(Q,$,!0),G=async(J)=>sP0(await Y.callTool({name:"pull_request_read",arguments:{method:J,owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:aP0}));try{let J=null;try{J=Uv8(await G("get_status"))}catch{}try{J=Bv8(J,wv8(await G("get_check_runs")))}catch{}return J}finally{await Y.close().catch(()=>{})}}function Lv8($){if(!$)return null;if($.state!=="open")return!1;return typeof $.mergeable==="boolean"?!$.mergeable:null}async function Dv8($,Z,X){let Q=await wu($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await S5(Q,$,!0);try{return Lv8(sP0(await Y.callTool({name:"pull_request_read",arguments:{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:aP0})))}catch{return null}finally{await Y.close().catch(()=>{})}}async function Rm4($,Z,X){let Q=(N)=>gZ1($,Z,"pull_request_read",{method:N,owner:X.repoOwner,repo:X.repoName,pullNumber:X.number},`${yZ1(X)} (${N})`),[Y,G,J]=await Promise.all([Q("get_status"),Q("get_check_runs"),Q("get_comments")]),K=Bv8(Uv8(Y),wv8(G)),W=zm4(Y)??jm4(J),H=await Promise.all(Pm4(G).map(async(N)=>({name:N.name,status:N.status,conclusion:N.conclusion,detailsUrl:N.detailsUrl,summary:Am4(N)&&N.id!=null?await Tm4($,Z,X,N.id):null})));return{checksStatus:K,checks:H,previewUrl:W}}async function uZ1($,Z,X){let Q=await wu($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return fZ1;let Y=await S5(Q,$,!0);try{let[G,J]=await Promise.all([gZ1(Y,Q.id,"pull_request_read",{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number},`${yZ1(X)} (get)`),Rm4(Y,Q.id,X)]);if(!G)return fZ1;let K=G.state,W=K==="open";return{title:typeof G.title==="string"?G.title:null,body:typeof G.body==="string"?G.body:null,state:K==="closed"?"closed":W?"open":null,draft:typeof G.draft==="boolean"?G.draft:null,merged:typeof G.merged==="boolean"?G.merged:null,mergeable:W&&typeof G.mergeable==="boolean"?G.mergeable:null,checksStatus:W?J.checksStatus:null,checks:W?J.checks:[],previewUrl:W?J.previewUrl:null}}catch{return fZ1}finally{await Y.close().catch(()=>{})}}async function Ev8($,Z,X){let Q=await wu($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await S5(Q,$,!0);try{let G=sP0(await Y.callTool({name:"pull_request_read",arguments:{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:aP0}));if(!G||G.state!=="open")return null;let J=G.head?.ref;return typeof J==="string"&&J.length>0?J:null}catch{return null}finally{await Y.close().catch(()=>{})}}var aP0=8000,xZ1,Hv8,yZ1=($)=>`${$.repoOwner}/${$.repoName}#${$.number}`,fZ1,Fv8,hZ1=($)=>{let Z=$.find((X)=>X.state!=="closed"&&X.merged!==!0);return Z!=null&&Z.checksStatus!=="pending"&&Z.checksStatus!=="failing"},cZ1;var Bu=O(()=>{t0();PU();sW();YX();H$();$t();OH();PH();oZ();_Z1();vZ1();xZ1={revalidateAfterMs:55000,maxStaleMs:1800000,maxValueBytes:524288},Hv8=new wY0({"tools/call":xZ1,"resources/read":xZ1,"prompts/get":xZ1});fZ1={title:null,body:null,state:null,draft:null,merged:null,mergeable:null,checksStatus:null,checks:[],previewUrl:null};Fv8=new Set(["failure","cancelled","timed_out","action_required","startup_failure","stale"]);cZ1=o({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:rP0.object({taskBoardItemId:rP0.string()}),outputSchema:rP0.object({prs:rP0.array(Uk8)}),handler:async({taskBoardItemId:$},Z)=>{N0(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),Y=await Z.storage.taskBoard.listPrs($,X),G=await Promise.all(Y.map(async(W)=>{let H=await uZ1(Z,X,W);return{url:W.url,number:W.number,repoOwner:W.repoOwner,repoName:W.repoName,createdAt:W.createdAt,...H}})),J=G.find((W)=>W.state==="open"&&!W.merged);if(Q&&Q.status==="in_review"&&Q.assigneeId===Y$&&hZ1(G))await tP0(Z,Q).catch((W)=>{console.error("[task-board] reviewer auto-handoff failed",W)});let K=J?Lv8({state:J.state,mergeable:J.mergeable}):null;if(Q&&Q.status==="in_review"&&Q.assigneeId===Y$&&J&&K===!0)await oP0(Z,X,Q,{pr:{number:J.number,url:J.url},conflict:!0}).catch((W)=>{console.error("[task-board] conflict auto-resolve failed",W)});if(G.some((W)=>W.merged))try{if(Q&&Q.status!=="done"){let W=await Z.storage.taskBoard.update($,X,{status:"done"},Q.updatedBy);await rZ(Z,{taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:Q.status,to:"done"}}),h$(X,W)}}catch(W){console.error("[task-board] merge\u2192done reconcile failed",W)}return{prs:G}}})});async function Ou($,Z){if(Z.assigneeId!==Y$)return;await iU($,Z).catch((X)=>{if(X instanceof W3)throw X;console.error("[task-board] Super Agent enqueue failed",X)})}function Im4($,Z){return["You've been assigned this task. Complete it.","","You are running AUTONOMOUSLY \u2014 no human is watching this run, so drive it "+"to completion on your own. Use `user_ask` ONLY for a genuine, unresolvable blocker a human must clear (a missing credential/secret, or "+"a decision so ambiguous you truly cannot proceed) \u2014 that should be rare. "+"Do not ask for confirmation of a reasonable choice; make it and move on.","",`Title: ${$.title}`,$.description?`
|
|
2816
|
+
`);await va($,Z,{runClass:"reviewer",title:`${Wt[X]}: ${Z.title}`,prompt:U,temperature:0.3,...K?{harnessId:"claude-code",agent:{instructions:N,disallowedTools:Nm4[X]}}:{},...J?{repo:J}:{}}),await rZ($,{taskBoardItemId:Z.id,action:"review_requested",actorId:null,data:{reviewer:X}});let F=await $.storage.taskBoard.getById(Z.id,Y);if(F)h$(Y,F)}var Kv8,Nm4,Um4,Fm4=2;var _Z1=O(()=>{YX();PH();oZ();VZ1();CZ1();Kv8=new Set(["completed","failed","expired"]),Nm4={qa:["Edit","NotebookEdit"],code_review:["Write","Edit","NotebookEdit"]},Um4={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 Dm4($){return $.filter((X)=>X.action==="merge_conflict_resolution").length>=Wv8}async function oP0($,Z,X,Q){if(X.status!=="in_review")return!1;if(X.assigneeId!==Y$)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=cJ.filter((N)=>G[cB[N]]===!0),K=await $.storage.taskBoard.listActivity(X.id,Z);if(!Sg(K,J,{verifiedOnly:!0}))return!1;if(Dm4(K))return console.warn(`[task-board] conflict auto-resolve cap (${Wv8}) 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;await rZ($,{taskBoardItemId:X.id,action:"merge_conflict_resolution",actorId:null,data:{prNumber:W.number}}),h$(Z,H);try{await iU($,H,{pr:{number:W.number,url:W.url},resolveConflict:!0})}catch(N){throw await $.storage.taskBoard.update(H.id,Z,{status:"in_review"},"system").then((U)=>h$(Z,U)).catch((U)=>console.error("[task-board] conflict-resolution status revert failed",U)),N}return!0}var Wv8=3;var vZ1=O(()=>{YX();PH();oZ();rO()});import{z as rP0}from"zod";function Em4($){let Z=$ instanceof Error?$.message:String($);return/too many requests|rate limit|\b429\b/i.test(Z)}function Nv8($){Hv8.invalidate($)}async function gZ1($,Z,X,Q,Y,G){try{let J=await Hv8.fetch({type:"tools/call",connectionId:Z,scope:{kind:"org"},params:{name:X,arguments:Q},fetchLive:()=>z9(async()=>{let K=await $.callTool({name:X,arguments:Q},void 0,{timeout:aP0});if(K&&typeof K==="object"&&K.isError)throw Error(K.content?.[0]?.text??`${X} returned isError`);return K},{maxAttempts:3,minTimeout:300,maxTimeout:3000,jitter:1,isRetriable:(K)=>!Em4(K)}),onRevalidation:(K)=>G.push(K)});return sP0(J)}catch(J){let K=J instanceof qY?J.cause:J;return console.error(`[task-board] ${X} failed for ${Y}:`,K),null}}async function wu($,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=YQ(K);return W?.owner===Q.owner&&W?.repo===Q.name});if(J)return J}return G.find((J)=>YQ(J)===null)??G[0]??null}function sP0($){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 bZ1($){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")||Z.endsWith(".vercel.app")||Z.endsWith(".preview.vtex.app")}function zm4($){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"&&bZ1(X.target_url));if(Z.length===0)return null;return Z.find((X)=>X.state==="success")?.target_url??Z[0].target_url}function jm4($){let Z=Array.isArray($)?$:Array.isArray($?.comments)?$.comments:Array.isArray($?.items)?$.items:[],X=(Y)=>{let G=Y;return Date.parse(G?.updated_at)||Date.parse(G?.created_at)},Q=Z.map((Y,G)=>({c:Y,index:G})).sort((Y,G)=>{let J=X(Y.c),K=X(G.c);if(Number.isNaN(J)||Number.isNaN(K))return Y.index-G.index;return K-J}).map(({c:Y})=>Y);for(let Y of Q){let G=Y&&typeof Y.body==="string"?Y.body:"";if(!G)continue;let J=G.match(/href=['"]([^'"]+)['"][^>]*>\s*Branch Preview/i);if(J?.[1]&&bZ1(J[1]))return J[1];let K=(G.match(/https?:\/\/[^\s"'<>)\]]+/g)??[]).find((W)=>bZ1(W));if(K)return K}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 wv8($){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"&&Fv8.has(J))X=!0}if(X)return"failing";if(Q)return"pending";return"passing"}function Bv8($,Z){if($==="failing"||Z==="failing")return"failing";if($==="pending"||Z==="pending")return"pending";if($==="passing"||Z==="passing")return"passing";return null}function Pm4($){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 Am4($){return $.status==="completed"&&$.conclusion!=null&&Fv8.has($.conclusion)}async function Tm4($,Z,X,Q,Y){let J=(await gZ1($,Z,"GET_CHECK_RUN",{owner:X.repoOwner,repo:X.repoName,checkRunId:Q},`${yZ1(X)} check-run ${Q}`,Y))?.output,K=typeof J?.summary==="string"?J.summary:null,W=typeof J?.text==="string"?J.text:null;return K??W??null}async function Ov8($,Z,X){let Q=await wu($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await S5(Q,$,!0),G=async(J)=>sP0(await Y.callTool({name:"pull_request_read",arguments:{method:J,owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:aP0}));try{let J=null;try{J=Uv8(await G("get_status"))}catch{}try{J=Bv8(J,wv8(await G("get_check_runs")))}catch{}return J}finally{await Y.close().catch(()=>{})}}function Lv8($){if(!$)return null;if($.state!=="open")return!1;return typeof $.mergeable==="boolean"?!$.mergeable:null}async function Dv8($,Z,X){let Q=await wu($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await S5(Q,$,!0);try{return Lv8(sP0(await Y.callTool({name:"pull_request_read",arguments:{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:aP0})))}catch{return null}finally{await Y.close().catch(()=>{})}}async function Rm4($,Z,X,Q){let Y=(U)=>gZ1($,Z,"pull_request_read",{method:U,owner:X.repoOwner,repo:X.repoName,pullNumber:X.number},`${yZ1(X)} (${U})`,Q),[G,J,K]=await Promise.all([Y("get_status"),Y("get_check_runs"),Y("get_comments")]),W=Bv8(Uv8(G),wv8(J)),H=zm4(G)??jm4(K),N=await Promise.all(Pm4(J).map(async(U)=>({name:U.name,status:U.status,conclusion:U.conclusion,detailsUrl:U.detailsUrl,summary:Am4(U)&&U.id!=null?await Tm4($,Z,X,U.id,Q):null})));return{checksStatus:W,checks:N,previewUrl:H}}async function uZ1($,Z,X){let Q=await wu($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return fZ1;let Y=await S5(Q,$,!0),G=[];try{let[J,K]=await Promise.all([gZ1(Y,Q.id,"pull_request_read",{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number},`${yZ1(X)} (get)`,G),Rm4(Y,Q.id,X,G)]);if(!J)return fZ1;let W=J.state,H=W==="open";return{title:typeof J.title==="string"?J.title:null,body:typeof J.body==="string"?J.body:null,state:W==="closed"?"closed":H?"open":null,draft:typeof J.draft==="boolean"?J.draft:null,merged:typeof J.merged==="boolean"?J.merged:null,mergeable:H&&typeof J.mergeable==="boolean"?J.mergeable:null,checksStatus:H?K.checksStatus:null,checks:H?K.checks:[],previewUrl:H?K.previewUrl:null}}catch{return fZ1}finally{Promise.allSettled(G).then(()=>Y.close().catch(()=>{}))}}async function Ev8($,Z,X){let Q=await wu($,Z,X.connectionId,{owner:X.repoOwner,name:X.repoName});if(!Q)return null;let Y=await S5(Q,$,!0);try{let G=sP0(await Y.callTool({name:"pull_request_read",arguments:{method:"get",owner:X.repoOwner,repo:X.repoName,pullNumber:X.number}},void 0,{timeout:aP0}));if(!G||G.state!=="open")return null;let J=G.head?.ref;return typeof J==="string"&&J.length>0?J:null}catch{return null}finally{await Y.close().catch(()=>{})}}var aP0=8000,xZ1,Hv8,yZ1=($)=>`${$.repoOwner}/${$.repoName}#${$.number}`,fZ1,Fv8,hZ1=($)=>{let Z=$.find((X)=>X.state!=="closed"&&X.merged!==!0);return Z!=null&&Z.checksStatus!=="pending"&&Z.checksStatus!=="failing"},cZ1;var Bu=O(()=>{t0();PU();sW();YX();H$();$t();OH();PH();oZ();_Z1();vZ1();xZ1={revalidateAfterMs:55000,maxStaleMs:1800000,maxValueBytes:524288},Hv8=new wY0({"tools/call":xZ1,"resources/read":xZ1,"prompts/get":xZ1});fZ1={title:null,body:null,state:null,draft:null,merged:null,mergeable:null,checksStatus:null,checks:[],previewUrl:null};Fv8=new Set(["failure","cancelled","timed_out","action_required","startup_failure","stale"]);cZ1=o({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:rP0.object({taskBoardItemId:rP0.string()}),outputSchema:rP0.object({prs:rP0.array(Uk8)}),handler:async({taskBoardItemId:$},Z)=>{N0(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),Y=await Z.storage.taskBoard.listPrs($,X),G=await Promise.all(Y.map(async(W)=>{let H=await uZ1(Z,X,W);return{url:W.url,number:W.number,repoOwner:W.repoOwner,repoName:W.repoName,createdAt:W.createdAt,...H}})),J=G.find((W)=>W.state==="open"&&!W.merged);if(Q&&Q.status==="in_review"&&Q.assigneeId===Y$&&hZ1(G))await tP0(Z,Q).catch((W)=>{console.error("[task-board] reviewer auto-handoff failed",W)});let K=J?Lv8({state:J.state,mergeable:J.mergeable}):null;if(Q&&Q.status==="in_review"&&Q.assigneeId===Y$&&J&&K===!0)await oP0(Z,X,Q,{pr:{number:J.number,url:J.url},conflict:!0}).catch((W)=>{console.error("[task-board] conflict auto-resolve failed",W)});if(G.some((W)=>W.merged))try{if(Q&&Q.status!=="done"){let W=await Z.storage.taskBoard.update($,X,{status:"done"},Q.updatedBy);await rZ(Z,{taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:Q.status,to:"done"}}),h$(X,W)}}catch(W){console.error("[task-board] merge\u2192done reconcile failed",W)}return{prs:G}}})});async function Ou($,Z){if(Z.assigneeId!==Y$)return;await iU($,Z).catch((X)=>{if(X instanceof W3)throw X;console.error("[task-board] Super Agent enqueue failed",X)})}function Im4($,Z){return["You've been assigned this task. Complete it.","","You are running AUTONOMOUSLY \u2014 no human is watching this run, so drive it "+"to completion on your own. Use `user_ask` ONLY for a genuine, unresolvable blocker a human must clear (a missing credential/secret, or "+"a decision so ambiguous you truly cannot proceed) \u2014 that should be rare. "+"Do not ask for confirmation of a reasonable choice; make it and move on.","",`Title: ${$.title}`,$.description?`
|
|
2817
2817
|
Description:
|
|
2818
2818
|
${$.description}
|
|
2819
2819
|
`:"",Z?.resolveConflict&&Z.pr?[`Your pull request #${Z.pr.number} (${Z.pr.url}) is approved but can't be merged \u2014 it has a MERGE CONFLICT with its base branch.`,`Load the repo, CHECK OUT that PR's branch (e.g. \`gh pr checkout ${Z.pr.number}\`), then merge (or rebase) the base branch into it and resolve the conflicts, and push to update the SAME pull request \u2014 do NOT open a new one or start a new branch. Resolve conflicts by preserving BOTH sides' intent; never blindly discard either side. Change only what resolving the conflict requires.`,""].join(`
|