decocms 4.344.3 → 4.344.5
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-C3hNX-U3.js → AlertCircle-DrWWnROs.js} +1 -1
- package/dist/client/assets/{AreaChart-V5K73xTf.js → AreaChart-CTBaNX1Z.js} +1 -1
- package/dist/client/assets/{ArrowLeft-xkekPehv.js → ArrowLeft-Cn7aL6Lm.js} +1 -1
- package/dist/client/assets/{ArrowUp-CYfoVlFX.js → ArrowUp-CXlKbSij.js} +1 -1
- package/dist/client/assets/{Check-BcH3mbli.js → Check-D8DIU_T_.js} +1 -1
- package/dist/client/assets/{CheckCircle-efnyoYbr.js → CheckCircle-ChADhmts.js} +1 -1
- package/dist/client/assets/{ChevronRight-zWIGH7_7.js → ChevronRight-B2oENX6A.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-Q_MhqA-g.js → ChevronSelectorVertical-l1BHLyNe.js} +1 -1
- package/dist/client/assets/{ChevronUp-CcnNOmjW.js → ChevronUp-CP1V91D3.js} +1 -1
- package/dist/client/assets/{Copy01-B-07BGuw.js → Copy01-XYPLrVXW.js} +1 -1
- package/dist/client/assets/{CreditCard01-DZdhUpRr.js → CreditCard01-D9CgKnJ4.js} +1 -1
- package/dist/client/assets/{DotsVertical-Cha1vnex.js → DotsVertical-oyMFewvf.js} +1 -1
- package/dist/client/assets/{Download01-BH00OOK2.js → Download01-DiBOJSKM.js} +1 -1
- package/dist/client/assets/{ErrorBarContext-DGy0g17o.js → ErrorBarContext-TyUz3YDH.js} +1 -1
- package/dist/client/assets/{Eye-s_5OI3rP.js → Eye-DLnjsAms.js} +1 -1
- package/dist/client/assets/{GitBranch01-DPsdhEPj.js → GitBranch01-8CKZcGYk.js} +1 -1
- package/dist/client/assets/{Globe01-BOLRhWz3.js → Globe01-BAwUTH1g.js} +1 -1
- package/dist/client/assets/{HardDrive-Jz5aKVF-.js → HardDrive-DgCFUVRW.js} +1 -1
- package/dist/client/assets/{Image01-Dde0njV5.js → Image01-CqV0rBPr.js} +1 -1
- package/dist/client/assets/{Key01-CL0l8cke.js → Key01-CPhct4oT.js} +1 -1
- package/dist/client/assets/{Link01-c7H6evzR.js → Link01-CNVern4L.js} +1 -1
- package/dist/client/assets/{LinkExternal01-mF6LE9cE.js → LinkExternal01-BRyZHiJP.js} +1 -1
- package/dist/client/assets/{Monitor01-CxZPUqxw.js → Monitor01-ckpMgqhy.js} +1 -1
- package/dist/client/assets/{Package-D1Oz_AXu.js → Package-Aqx-Hoxc.js} +1 -1
- package/dist/client/assets/{Palette-BZi2CQIb.js → Palette-skN7LYit.js} +1 -1
- package/dist/client/assets/{Play-DL08uuDR.js → Play-DId82q4e.js} +1 -1
- package/dist/client/assets/{Plus-UnZHTGwg.js → Plus-BYS2ZANW.js} +1 -1
- package/dist/client/assets/{SearchMd-BoghbLrR.js → SearchMd-CGlvQbHp.js} +1 -1
- package/dist/client/assets/{Sector-CwzoDHdp.js → Sector-BwNhjZif.js} +1 -1
- package/dist/client/assets/{Settings02-CRvAtfO0.js → Settings02-CXOpPyzx.js} +1 -1
- package/dist/client/assets/{Share07-CTpIecy0.js → Share07-BoApwHiq.js} +1 -1
- package/dist/client/assets/{Shield01-DPL17IT0.js → Shield01-Dn1HEiq9.js} +1 -1
- package/dist/client/assets/{Stars01-DveEX2vy.js → Stars01-D_bUI1T_.js} +1 -1
- package/dist/client/assets/{Sun-cPKIj7uq.js → Sun-2nur99oh.js} +1 -1
- package/dist/client/assets/{Tool01-DXqO9hP4.js → Tool01-CRyfGzSL.js} +1 -1
- package/dist/client/assets/{Tool02-B4NLpHjP.js → Tool02-B1do7j-w.js} +1 -1
- package/dist/client/assets/{Trash01-CRSthTGO.js → Trash01-BIsSNdzZ.js} +1 -1
- package/dist/client/assets/{TrendUp01-Dug8rn5Y.js → TrendUp01-qdFr6XnN.js} +1 -1
- package/dist/client/assets/{Upload01-D_Fv189I.js → Upload01-DNOhKjLA.js} +1 -1
- package/dist/client/assets/{User01-CDa2pgjQ.js → User01-CL0ZP2nS.js} +1 -1
- package/dist/client/assets/{UserSquare-CWhx4AsN.js → UserSquare-8MjEjcG1.js} +1 -1
- package/dist/client/assets/{Users01-DZlH1wbC.js → Users01-Cj7HkfRL.js} +1 -1
- package/dist/client/assets/{Users03-CoUu6iB3.js → Users03-Bq9rD8D2.js} +1 -1
- package/dist/client/assets/{XCircle-TCv3gxEk.js → XCircle-DUts9xkb.js} +1 -1
- package/dist/client/assets/{XClose-DqZ5Ef7p.js → XClose-P7vWRpLO.js} +1 -1
- package/dist/client/assets/{Zap-HRAvXFnr.js → Zap-klYT34Gt.js} +1 -1
- package/dist/client/assets/{ZoomOut-DC7lYRrH.js → ZoomOut-D6lBYqPy.js} +1 -1
- package/dist/client/assets/{access-gate-LG7Db20W.js → access-gate-DTc1YcR3.js} +1 -1
- package/dist/client/assets/{agent-icon-B0j2UorE.js → agent-icon-6ubvL0q5.js} +1 -1
- package/dist/client/assets/{agents-list-DJgBBD1W.js → agents-list-BraUv1nU.js} +1 -1
- package/dist/client/assets/{ai-providers-D9b6lp9s.js → ai-providers-BeU237Yt.js} +1 -1
- package/dist/client/assets/{alert-Yw6picdx.js → alert-DUhbk-dV.js} +1 -1
- package/dist/client/assets/{alert-dialog-B6LS36Sm.js → alert-dialog-CoSb3lDH.js} +1 -1
- package/dist/client/assets/{analytics-tab-D-B27giR.js → analytics-tab-BCn6madz.js} +1 -1
- package/dist/client/assets/api-keys-DSTWxz0W.js +1 -0
- package/dist/client/assets/{api-keys-D7tL_p1k.js → api-keys-tk7fmSxV.js} +1 -1
- package/dist/client/assets/app-editor-CANYFAQh.js +1 -0
- package/dist/client/assets/{auth-DBYGTgFE.js → auth-D1IAvxub.js} +1 -1
- package/dist/client/assets/{auth-catchall-DU8qDYnm.js → auth-catchall-D5VJsVn2.js} +1 -1
- package/dist/client/assets/{auth-entry-6o1YBMQ6.js → auth-entry-183k6oux.js} +1 -1
- package/dist/client/assets/{auth-split-layout-Csg-iIgy.js → auth-split-layout-ClMyuuxO.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-AGm_2YIv.js → authenticate-and-persist-oauth-DACchUal.js} +1 -1
- package/dist/client/assets/{automation-list-row-yl7Jr9Us.js → automation-list-row-D7a1GV0D.js} +1 -1
- package/dist/client/assets/{automation-runs-DBYd6ygh.js → automation-runs-HHZYbLlu.js} +1 -1
- package/dist/client/assets/{automations-Dlvl2Sbn.js → automations-Ce8m0iG4.js} +1 -1
- package/dist/client/assets/{autosend-9lrcbCup.js → autosend-CnlvobQg.js} +1 -1
- package/dist/client/assets/{avatar-BusY4imm.js → avatar-CL7jjXll.js} +1 -1
- package/dist/client/assets/{badge-COtyjjy2.js → badge-BpH4IHE3.js} +1 -1
- package/dist/client/assets/{block-document-pw3BZW3I.js → block-document-ClyZIBi3.js} +1 -1
- package/dist/client/assets/{breadcrumb-aEyQOqqG.js → breadcrumb-wfpcN1K4.js} +1 -1
- package/dist/client/assets/{buckets-CrIxq0vO.js → buckets-aa1F6h7k.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-D7gbHLhl.js → bulk-category-panel-CRvuJUtt.js} +1 -1
- package/dist/client/assets/{capability-load-error-BeQsW5u1.js → capability-load-error-CpVR0kQH.js} +1 -1
- package/dist/client/assets/{cards-CAtXduAN.js → cards-Dp1s3AWN.js} +1 -1
- package/dist/client/assets/{category-editor-CQj0g1PN.js → category-editor-RuUm_OwH.js} +1 -1
- package/dist/client/assets/{cdn-tab-VWG7A8ek.js → cdn-tab-BYvhBCjV.js} +1 -1
- package/dist/client/assets/{chart-BSIlcmgf.js → chart-DJpY-8mq.js} +1 -1
- package/dist/client/assets/{chat-context-DU7jeH6U.js → chat-context-DtOuPeMQ.js} +1 -1
- package/dist/client/assets/{checkbox-D1r9ixw9.js → checkbox-DP7jXBGj.js} +1 -1
- package/dist/client/assets/{choose-editor-BEZHaCP7.js → choose-editor-jJuxILs4.js} +1 -1
- package/dist/client/assets/{cli-auth-success-ChhNt2lr.js → cli-auth-success-Cq26ZKOx.js} +1 -1
- package/dist/client/assets/{client-icons-CqD2Q5XK.js → client-icons-wcTzTrmh.js} +1 -1
- package/dist/client/assets/{collection-detail-Bc1N9_b4.js → collection-detail-Dg26HmRC.js} +1 -1
- package/dist/client/assets/{collection-display-button-Bc0_77tr.js → collection-display-button-r-IfdXGD.js} +1 -1
- package/dist/client/assets/{collection-search-CkYj4zLQ.js → collection-search-B8w3_70X.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-DRVe2c2R.js → collection-table-wrapper-DQCA7p-q.js} +1 -1
- package/dist/client/assets/{collection-tabs-N31SqJ5M.js → collection-tabs-Do8WX4D-.js} +1 -1
- package/dist/client/assets/{command-M5Hy4Bca.js → command-xMnArd3K.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-g6xIZGng.js → commerce-onboarding-CJ40RulQ.js} +1 -1
- package/dist/client/assets/{connect-Cf-9oNPe.js → connect-ESlyE9nV.js} +1 -1
- package/dist/client/assets/{connect-layout-Z933g_CV.js → connect-layout-D2SRtGZG.js} +1 -1
- package/dist/client/assets/{connection-Cimig8VQ.js → connection-CruPNXk6.js} +1 -1
- package/dist/client/assets/{connection-card-kDFhfbya.js → connection-card-BB3_eMYB.js} +1 -1
- package/dist/client/assets/{connection-detail-D3l8WE-Y.js → connection-detail-ab2x4IQw.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-Bb00vWyO.js → connection-form-helpers-CObgPta8.js} +1 -1
- package/dist/client/assets/{connections-BS7ow6ak.js → connections-C4ELefLk.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-DF7Gz0pf.js → create-organization-dialog-DPiaqLCX.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-C6z-rtNE.js → decopilot-sse-pool-Cizd8raN.js} +1 -1
- package/dist/client/assets/{dialog-CIbVvLCQ.js → dialog-HYYnycfG.js} +1 -1
- package/dist/client/assets/{domain-settings-Bmfy9jDz.js → domain-settings-D0dngPGK.js} +1 -1
- package/dist/client/assets/{drawer-CJFC-0Fv.js → drawer-DHYF7iD7.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BHHO3QAR.js → dropdown-menu-y0VrVV3n.js} +1 -1
- package/dist/client/assets/{e2e-tab-DNyiIyOa.js → e2e-tab-X6jkg22l.js} +1 -1
- package/dist/client/assets/{editor-D6mstx7z.js → editor-BVyrouVt.js} +1 -1
- package/dist/client/assets/{empty-state-BOUJ1IRI.js → empty-state-D_GvOkH9.js} +1 -1
- package/dist/client/assets/{empty-state-CFTbSuP9.js → empty-state-Dpwx7rib.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BAwcjEs9.js → extract-connection-data-896La1Q_.js} +1 -1
- package/dist/client/assets/{file-explorer-Bh9n4VYl.js → file-explorer-BbbDHn5X.js} +1 -1
- package/dist/client/assets/{file-type-icon-VaomZQ4k.js → file-type-icon-DmvO9QQi.js} +1 -1
- package/dist/client/assets/{folder-icon-BPPBLsSQ.js → folder-icon-O-3hPH_9.js} +1 -1
- package/dist/client/assets/{form-BLZF8D8t.js → form-xapbDWVC.js} +1 -1
- package/dist/client/assets/{general-1KXfjgkN.js → general-CbnWVUvo.js} +1 -1
- package/dist/client/assets/{github-icon-BMwS5NHP.js → github-icon-BvZHuLEL.js} +1 -1
- package/dist/client/assets/{hooks-Dx8_BRAv.js → hooks-BQVnaYs7.js} +1 -1
- package/dist/client/assets/{hosting-tab-HpfZRgGl.js → hosting-tab-DiB-uhPV.js} +1 -1
- package/dist/client/assets/{index-Dd37LnAd.js → index-BZ8IElXR.js} +1 -1
- package/dist/client/assets/{index-CiTAcnLT.js → index-Bw94Qzja.js} +1 -1
- package/dist/client/assets/{index-scWMkxhM.js → index-DKUw-n4-.js} +1 -1
- package/dist/client/assets/{index-BnQgQVCt.js → index-DdNZsCTv.js} +1 -1
- package/dist/client/assets/{index-DSjfYpae.js → index-DdUAdn6A.js} +55 -55
- package/dist/client/assets/{index-BozOu9tc.js → index-Dl1irZga.js} +1 -1
- package/dist/client/assets/{index-B_lUDZ9B.js → index-HDnk2vF2.js} +25 -25
- package/dist/client/assets/{index-CVcEeQb5.js → index-HcwahPNB.js} +1 -1
- package/dist/client/assets/{index-816NyhfX.js → index-VCCuD-Yr.js} +1 -1
- package/dist/client/assets/{index-redirect-CxyJoKV4.js → index-redirect-BPqYgxDe.js} +1 -1
- package/dist/client/assets/{index-CIa7ef_A.js → index-ti24QvzD.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-CwY974C7.js → infiniteQueryObserver-APY7pGqy.js} +1 -1
- package/dist/client/assets/{infra-billing-_yVOOYJd.js → infra-billing-30yZtKhi.js} +1 -1
- package/dist/client/assets/{input-COX_MHDV.js → input-mZV4SFEM.js} +1 -1
- package/dist/client/assets/{integration-icon-DCPy_52o.js → integration-icon-iklfhdwd.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-BHafD7C7.js → invite-member-dialog-BSH7JAq4.js} +1 -1
- package/dist/client/assets/{label-BWr2mmGs.js → label-PcGHdPIb.js} +1 -1
- package/dist/client/assets/{layout-C7V0gFy0.js → layout-C8_uVXtO.js} +1 -1
- package/dist/client/assets/{login-D1Nz670h.js → login-CK8SxIRG.js} +1 -1
- package/dist/client/assets/{markdown-BYbXDv7N.js → markdown-CDqA17zK.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-C-wnTv6N.js → mcp-app-renderer-B4o0x5ib.js} +1 -1
- package/dist/client/assets/{mcp-oauth-D4bG2HDW.js → mcp-oauth-DjZd4mwV.js} +1 -1
- package/dist/client/assets/{members-wTEykKnV.js → members-DhANQ8li.js} +1 -1
- package/dist/client/assets/{monaco-editor-YC0wWRXT.js → monaco-editor-CdLHw0gg.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-BvTSmQaL.js → monitoring-stats-row-Mi52AIDe.js} +1 -1
- package/dist/client/assets/{multi-select-BmB9r4YL.js → multi-select-B8J9N4sv.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CoABKbtI.js → oauth-callback-ai-provider-CYlcR93M.js} +1 -1
- package/dist/client/assets/{oauth-callback-D2Gp_wZF.js → oauth-callback-jHqT-NJP.js} +1 -1
- package/dist/client/assets/{onboarding-CftT1nG0.js → onboarding-zgFHoeIf.js} +1 -1
- package/dist/client/assets/{org-layout-B1FHoYea.js → org-layout-CwtXSP9r.js} +1 -1
- package/dist/client/assets/{organization-choice-CBe05Pnl.js → organization-choice-DgFYhGap.js} +1 -1
- package/dist/client/assets/{orgs-CtakA9D0.js → orgs-Bb-m4byn.js} +1 -1
- package/dist/client/assets/{page-seo-form-ZY8ZbyqT.js → page-seo-form-DunRg9bf.js} +1 -1
- package/dist/client/assets/{popover-BGEouS4O.js → popover-DVS4GS0d.js} +1 -1
- package/dist/client/assets/{post-calendar-C4PHtaZV.js → post-calendar-DlXeITWQ.js} +1 -1
- package/dist/client/assets/{post-editor-D6FwVD0B.js → post-editor-C8QwvWbS.js} +1 -1
- package/dist/client/assets/{primitives-BFeFdEFz.js → primitives-CUrwHKNa.js} +1 -1
- package/dist/client/assets/{profile-GTCpmwYq.js → profile-B2eibQGX.js} +1 -1
- package/dist/client/assets/{project-app-view-BQZfjkf1.js → project-app-view-DbfNcO21.js} +1 -1
- package/dist/client/assets/{project-icon-mS3w82ZB.js → project-icon-CusRXVXO.js} +1 -1
- package/dist/client/assets/{prompts-uofkMfaL.js → prompts-DvosAWQe.js} +1 -1
- package/dist/client/assets/record-editor-BQq1rr0M.js +1 -0
- package/dist/client/assets/redirect-editor-Cf6bEqkt.js +1 -0
- package/dist/client/assets/registry-BQ0ubBEq.js +2 -0
- package/dist/client/assets/{registry-layout-YOADDKZS.js → registry-layout-Dqa1siR4.js} +1 -1
- package/dist/client/assets/{reports-DYmaGRqW.js → reports-DVn2777X.js} +1 -1
- package/dist/client/assets/repositories-CcfJQ1Fp.js +1 -0
- package/dist/client/assets/{repository-import-picker-DKCHkj_0.js → repository-import-picker-C1xWS40e.js} +1 -1
- package/dist/client/assets/repository-picker-HowcO5LE.js +1 -0
- package/dist/client/assets/{require-capability-D7WPxMT8.js → require-capability-BeLzoCX9.js} +1 -1
- package/dist/client/assets/{required-auth-layout-BzHLhAY7.js → required-auth-layout-BZrNTkq2.js} +1 -1
- package/dist/client/assets/{reset-password-Db8RpI71.js → reset-password-D3m2PpG7.js} +1 -1
- package/dist/client/assets/{review-settings-CcgZS4Qu.js → review-settings-DAAoivV-.js} +1 -1
- package/dist/client/assets/{roles-D5JKlKQL.js → roles-B11m8PIk.js} +1 -1
- package/dist/client/assets/{schema-7gcATtGd.js → schema-CdFAnwbz.js} +1 -1
- package/dist/client/assets/{scroll-area-BV67BPd_.js → scroll-area-D_HCEZ49.js} +1 -1
- package/dist/client/assets/{search-input-D-ESO_3b.js → search-input-D8-aWM-W.js} +1 -1
- package/dist/client/assets/{secrets-DslGN31D.js → secrets-C-c0mZuj.js} +1 -1
- package/dist/client/assets/{sections-editor-Cl6Tz3LM.js → sections-editor-DpwZEakw.js} +1 -1
- package/dist/client/assets/{select-DrcEVnZ2.js → select-BOW9Evxj.js} +1 -1
- package/dist/client/assets/{select-model-BxS8auXw.js → select-model-ypGtZzGV.js} +1 -1
- package/dist/client/assets/{self-tool-result-BJzf7f_D.js → self-tool-result-uwZJjwhw.js} +1 -1
- package/dist/client/assets/{seo-editor-BE4i-LT0.js → seo-editor-GDjDMIP-.js} +1 -1
- package/dist/client/assets/settings-layout-DGVBxPEx.js +1 -0
- package/dist/client/assets/{settings-sidebar-C6TvhfID.js → settings-sidebar-DiPC4e8J.js} +1 -1
- package/dist/client/assets/{shell-controls-BxmxydXV.js → shell-controls-DqPcKIGX.js} +1 -1
- package/dist/client/assets/{shell-layout-Bx5eb743.js → shell-layout-DKwKMkqv.js} +1 -1
- package/dist/client/assets/{skill-preview-DttG8VYN.js → skill-preview-BPW7v4eo.js} +1 -1
- package/dist/client/assets/{skills-DHAWKG4x.js → skills-CJau5TPM.js} +1 -1
- package/dist/client/assets/{sso-Bx-8EZnD.js → sso-BL-uqT3Q.js} +1 -1
- package/dist/client/assets/{store-C6L68gEz.js → store-CwVj2IWA.js} +1 -1
- package/dist/client/assets/store-registry-aivQKCpI.js +2 -0
- package/dist/client/assets/{switch-6gOY7p_B.js → switch-BCGBl5RC.js} +1 -1
- package/dist/client/assets/{synced-repos-5BNmNf6C.js → synced-repos-Cmznzfe2.js} +1 -1
- package/dist/client/assets/{table-CiqNoZ31.js → table-BfVx4zjE.js} +1 -1
- package/dist/client/assets/{tabs-Bkqs8f-5.js → tabs-WeUjibgy.js} +1 -1
- package/dist/client/assets/{task-board-DZmRPJBt.js → task-board-D8dd-n4R.js} +1 -1
- package/dist/client/assets/{task-route-DFWTcvum.js → task-route-BzyXBJZH.js} +1 -1
- package/dist/client/assets/{tasks-CzRXtD5l.js → tasks-Un3Varxw.js} +1 -1
- package/dist/client/assets/{textarea-BPKnRKFj.js → textarea-BmDJcNqf.js} +1 -1
- package/dist/client/assets/{thread-intent-CFtt_nS5.js → thread-intent-BNFvpOLG.js} +1 -1
- package/dist/client/assets/{thread-route-Cqs0O0Ez.js → thread-route-vpkH0UVj.js} +1 -1
- package/dist/client/assets/{toggle-group-dwqfI-na.js → toggle-group-DgUCXndY.js} +1 -1
- package/dist/client/assets/{toolbar-ClAV86ux.js → toolbar-BBfJu96r.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-_od4zlTM.js → toolbar-icon-button-DSD6_fJU.js} +1 -1
- package/dist/client/assets/{track-DR1-LwVK.js → track-B0MnCjjt.js} +1 -1
- package/dist/client/assets/{types-CXQqC75q.js → types-Ba_pErcT.js} +1 -1
- package/dist/client/assets/{use-ai-providers-dsyrDnO9.js → use-ai-providers-DpiW6a0S.js} +1 -1
- package/dist/client/assets/{use-automations-GJZG9mot.js → use-automations-CmQNWcKY.js} +1 -1
- package/dist/client/assets/{use-autosave-edA5EL24.js → use-autosave-DTQU2xUP.js} +1 -1
- package/dist/client/assets/{use-connection-BRJSF7XV.js → use-connection-CmdertoU.js} +1 -1
- package/dist/client/assets/{use-copy-BYPpXCK2.js → use-copy-CIvEgp8N.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CK3FIQpt.js → use-create-virtual-mcp-BN4T6ob-.js} +1 -1
- package/dist/client/assets/{use-date-fns-locale-xY0hnak0.js → use-date-fns-locale-DIil4gwB.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-BZz1Sh5T.js → use-debounced-autosave-DmqbFCsz.js} +1 -1
- package/dist/client/assets/{use-debounced-value-BBOX-Vjy.js → use-debounced-value-yvg5KML1.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-CrymWsPY.js → use-decopilot-events-gITVvO5u.js} +1 -1
- package/dist/client/assets/{use-delete-connection-BwDOMJxj.js → use-delete-connection-3YLLMi6U.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-BHuzOYuO.js → use-deployment-admin-B1DnxCAn.js} +1 -1
- package/dist/client/assets/{use-destination-route-OdrYRKi6.js → use-destination-route-Bnpb2DzH.js} +1 -1
- package/dist/client/assets/{use-file-configs-B8jXjEAi.js → use-file-configs-DOUuI6gz.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-DQ_XrNCL.js → use-infinite-scroll-hZYSIweU.js} +1 -1
- package/dist/client/assets/{use-join-requests-35XhVVHr.js → use-join-requests-Bo0tHWMc.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-nQqJOE5j.js → use-mcp-auth-status-AaHFhmgV.js} +1 -1
- package/dist/client/assets/{use-mcp-client-xRPKqtBd.js → use-mcp-client-P-m2jCCi.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-BH2161nI.js → use-mcp-prompts-CyF5y2dv.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DhWg8eQ9.js → use-mcp-tools-Dsj0Joj9.js} +1 -1
- package/dist/client/assets/{use-members-CTCpXWvz.js → use-members-Dik-7VCk.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-DEnupm5-.js → use-navigate-to-agent-J6egJf0p.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-tX4pyhvY.js → use-org-auth-client-Dgx6s6kl.js} +1 -1
- package/dist/client/assets/{use-org-notice-BrqrQNrZ.js → use-org-notice-Bej0klHs.js} +1 -1
- package/dist/client/assets/{use-org-sso-ax_WPM-e.js → use-org-sso-D8DMqst1.js} +1 -1
- package/dist/client/assets/{use-organization-roles-le6n88uk.js → use-organization-roles-NmMW4HfA.js} +1 -1
- package/dist/client/assets/{use-organization-settings-DeqTyhDT.js → use-organization-settings-DH4SUzua.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-DufE4TQe.js → use-panel-navigate-o9Tf21pa.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CnQcaAch.js → use-registry-connections-BbJYOea4.js} +1 -1
- package/dist/client/assets/{use-secrets-BKeXLH1Q.js → use-secrets-BciIWYfn.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-C_rHbM66.js → use-section-preview-base-BSBmZVXv.js} +1 -1
- package/dist/client/assets/{use-status-sounds-Cw977hrS.js → use-status-sounds-CmGFQSVX.js} +1 -1
- package/dist/client/assets/{use-tags-C-FksPQ4.js → use-tags-B55o0fUQ.js} +1 -1
- package/dist/client/assets/{use-view-mode-BzXvEzDG.js → use-view-mode-BapNQttP.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-8rv5G58S.js → use-virtual-mcp-DM-gd2Qi.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-CgeY0hlT.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-BnR-4uo0.js +1 -0
- package/dist/client/assets/{users-Hybgdqlv.js → users-Bk1I06w6.js} +1 -1
- package/dist/client/assets/{variant-calendar-CVemYhc_.js → variant-calendar-BO8vvQD7.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-ZMf_pu5n.js → view-mode-toggle-vEppcdOY.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +2 -2
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/api-keys-BpX-le77.js +0 -1
- package/dist/client/assets/app-editor-Dr01DzC2.js +0 -1
- package/dist/client/assets/record-editor-DZ_Ht_rf.js +0 -1
- package/dist/client/assets/redirect-editor-DLSqpC6c.js +0 -1
- package/dist/client/assets/registry-R33rTMC7.js +0 -2
- package/dist/client/assets/repositories-BgsdtnFm.js +0 -1
- package/dist/client/assets/repository-picker-hMZKUmSe.js +0 -1
- package/dist/client/assets/settings-layout-CUALOfuk.js +0 -1
- package/dist/client/assets/store-registry-DGHd6xRw.js +0 -2
- package/dist/client/assets/useInfiniteQuery-D-5t1K3F.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CzeWzIJb.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -1939,7 +1939,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var qr1=D(()=>{Fy()});f
|
|
|
1939
1939
|
`.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${G}/${K}, keeping in old table`);continue}}await bg`
|
|
1940
1940
|
DELETE FROM kysely_migration WHERE name = ${Q}
|
|
1941
1941
|
`.execute($)}}async function h1$($){await W64($),await H64($);let Z=new y1$({db:$,provider:{getMigrations:()=>Promise.resolve(Mo0)}}),{error:Q,results:X}=await Z.migrateToLatest(),Y=0;if(X?.forEach((J)=>{if(J.status==="Success")Y++;else if(J.status==="Error")console.error(`Failed to execute migration "${J.migrationName}"`)}),Q)throw console.error("Failed to migrate"),console.error(Q),Q;return Y}async function F64($){let{keepOpen:Z=!1,database:Q,skipBetterAuth:X=!1}=$??{},Y="skipped";if(!X&&!Q)Y=await Xi0();let J=Q??u$(),G=async()=>{if(!Z&&!Q)await uO(J).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await h1$(J.db);return await G(),{betterAuth:Y,kysely:K}}catch(K){throw await G(),K}}async function U64(){let $=u$(),Z=new y1$({db:$.db,provider:{getMigrations:()=>Promise.resolve(Mo0)}}),{error:Q,results:X}=await Z.migrateDown();if(X?.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}"`)}),Q)throw console.error("Failed to rollback migration"),console.error(Q),Q}var c1$=D(()=>{b1$();Yi0();wQ()});async function BX0($){let Z={...process.env},Q=X60($,Z);console.log(VP1(Q.settings.encryptionKey));let X=Q.settings.betterAuthSecret||(Q.settings.localMode?Ys1(Q.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (DQ0(),OQ0)),{outputs:J,services:G}=await Y({home:Q.settings.dataDir,externalDatabaseUrl:Q.externalDatabaseUrl,externalNatsUrl:Q.externalNatsUrl});if(!Q.skipMigrations){let{migrateBetterAuth:W}=await Promise.resolve().then(() => (Yi0(),Gs1));await W(J.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (wQ(),Aa1)),{migrateToLatest:F}=await Promise.resolve().then(() => (c1$(),u1$)),U=H(J.databaseUrl);await F({keepOpen:!0,database:U,skipBetterAuth:!0})}let K={...Q.settings,betterAuthSecret:X,databaseUrl:J.databaseUrl,natsUrls:J.natsUrls,...J.s3?{s3Endpoint:J.s3.endpoint,s3Bucket:J.s3.bucket,s3AccessKeyId:J.s3.accessKeyId,s3SecretAccessKey:J.s3.secretAccessKey,s3ForcePathStyle:J.s3.forcePathStyle}:{}};return Mr1(K),{settings:K,services:G.map((W)=>({name:W.name==="PostgreSQL"?"Postgres":W.name,port:W.port})),managedServiceNames:G.filter((W)=>W.owner==="managed").map((W)=>W.name)}}var Vo0=D(()=>{Fy();Js1();A$()});var i1$={};e(i1$,{updateService:()=>bE,subscribeCliState:()=>Co0,setTuiConsoleIntercepted:()=>OX0,setServerUrl:()=>hn,setMigrationsDone:()=>gn,setDevMode:()=>B64,resetCliStateForTests:()=>N64,isTuiConsoleIntercepted:()=>DX0,getCliState:()=>So0,addLogEntry:()=>nO});function l1$(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function m1$(){return{services:l1$(),migrationsStatus:"pending",serverUrl:null,logs:[]}}function N64(){KY=m1$()}function yn(){for(let $ of ko0)$()}function So0(){return KY}function Co0($){return ko0.add($),()=>ko0.delete($)}function bE($){KY={...KY,services:KY.services.map((Z)=>Z.name===$.name?$:Z)},yn()}function gn(){KY={...KY,migrationsStatus:"done"},yn()}function hn($){KY={...KY,serverUrl:$},yn()}function nO($){let Z=[...KY.logs,$];KY={...KY,logs:Z.length>500?Z.slice(-500):Z},yn()}function B64(){KY={...KY,services:[...l1$(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},yn()}function OX0($){d1$=$}function DX0(){return d1$}var KY,ko0,d1$=!1;var yE=D(()=>{KY=m1$();ko0=new Set});import{createServer as p1$}from"net";function O64($){return new Promise((Z)=>{let Q=p1$();Q.once("error",()=>Z(!1)),Q.listen($,"0.0.0.0",()=>{Q.close(()=>Z(!0))})})}async function un($){if(await O64($))return $;let Z=await new Promise((Q,X)=>{let Y=p1$();Y.once("error",X),Y.listen(0,"0.0.0.0",()=>{let J=Y.address(),G=typeof J==="object"&&J?J.port:0;Y.close(()=>Q(G))})});return console.warn(`Port ${$} is in use, using port ${Z} instead.`),Z}var _o0=()=>{};var xo0={};e(xo0,{startDevServer:()=>L64,pipeToLogStore:()=>vo0});import{join as D64}from"path";function vo0($){let Z=$.getReader(),Q=new TextDecoder,X="";function Y(){let J=X.split(`
|
|
1942
|
-
`);X=J.pop()??"";for(let G of J){let K=Bun.stripANSI(G).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;nO({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{try{for(;;){let{done:J,value:G}=await Z.read();if(J)break;X+=Q.decode(G,{stream:!0}),Y()}}catch{}if(X.trim()){let J=Bun.stripANSI(X).replace(/^\[\d+\]\s*/,"").trim();if(J)nO({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:J})}})()}async function L64($){let{baseUrl:Z,noTui:Q}=$,X=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=X?process.env.PORT:$.vitePort,J=Z||`http://localhost:${Y}`,G=X?await un(Number(Y)+1):await un(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await BX0({port:String(G),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)bE({name:L.name,status:"ready",port:L.port});gn();let F=D64(import.meta.dir,"..","..","..","..",".."),U=Q===!0,N=Bun.spawn(["bun","run","dev:servers"],{cwd:F,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:J,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.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}},stdio:["inherit",U?"inherit":"pipe",U?"inherit":"pipe"]});if(!U)vo0(N.stdout),vo0(N.stderr);hn(J),bE({name:"Vite",status:"ready",port:Number(Y)}),bE({name:"API",status:"ready",port:Number(K.port)});let O=async(L)=>{if(N.kill(L),await N.exited,H.length>0){let{stopServices:w}=await Promise.resolve().then(() => (DQ0(),OQ0));await w(K.dataDir)}};return process.on("SIGINT",()=>O("SIGINT")),process.on("SIGTERM",()=>O("SIGTERM")),{port:Number(Y),process:N}}var fo0=D(()=>{Vo0();yE();_o0()});var LX0;var bo0=D(()=>{LX0={name:"decocms",version:"4.344.3",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.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","@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 j64,Text as n1$}from"ink";import{jsx as E64,jsxs as t1$}from"react/jsx-runtime";function o1$({version:$}){return t1$(j64,{flexDirection:"column",marginTop:1,children:[gQ0.map((Z,Q)=>E64(n1$,{color:hQ0[Q],children:Z},Q)),t1$(n1$,{dimColor:!0,children:[" v",$]})]})}var r1$=D(()=>{Rn()});import{Box as gE,Text as tO}from"ink";import{Spinner as z64}from"@inkjs/ui";import{jsx as TJ,jsxs as yg}from"react/jsx-runtime";function a1$({status:$}){if($==="pending")return TJ(z64,{label:""});return TJ(tO,{color:"green",children:"\u2713"})}function P64($){return`${$.name}: ${$.port||"...."}`}function s1$({services:$,migrationsStatus:Z,home:Q,serverUrl:X}){return yg(gE,{flexDirection:"column",paddingBottom:1,children:[TJ(o1$,{version:LX0.version}),TJ(gE,{marginBottom:1,children:TJ(tO,{dimColor:!0,children:"\u2500".repeat(80)})}),TJ(gE,{children:yg(tO,{dimColor:!0,children:["Home: ",Q]})}),yg(gE,{gap:2,children:[$.map((Y)=>yg(gE,{gap:1,children:[TJ(tO,{children:P64(Y)}),TJ(a1$,{status:Y.status})]},Y.name)),yg(gE,{gap:1,children:[TJ(tO,{children:"Migrations"}),TJ(a1$,{status:Z})]})]}),TJ(gE,{children:X?yg(tO,{children:["Open in browser: ",TJ(tO,{color:"cyan",children:X})]}):TJ(tO,{dimColor:!0,children:"Starting..."})})]})}var e1$=D(()=>{bo0();r1$()});import{Box as A64,Text as cn}from"ink";import{jsx as yo0,jsxs as go0}from"react/jsx-runtime";function T64($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function $$$({logs:$}){return yo0(A64,{flexDirection:"column",children:$.map((Z,Q)=>{if(Z.rawLine)return yo0(cn,{dimColor:!0,children:Z.rawLine},Q);let X=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return go0(cn,{children:[go0(cn,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),yo0(cn,{color:T64(Z.status),children:Z.status}),go0(cn,{dimColor:!0,children:[" ",X.padStart(8)]})]},Q)})})}var Z$$=()=>{};var ho0={};e(ho0,{App:()=>q64});import{Box as R64}from"ink";import{useSyncExternalStore as I64}from"react";import{jsx as Q$$,jsxs as M64}from"react/jsx-runtime";function q64({home:$}){let Z=I64(Co0,So0);return M64(R64,{flexDirection:"column",children:[Q$$(s1$,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),Q$$($$$,{logs:Z.logs})]})}var uo0=D(()=>{e1$();Z$$();yE()});var OK="thread-gate",nU="decopilot-hosted-harness",tU="decopilot-hosted-harness-sandboxed",lG="automations",oO="background-tools",hE="task-board-github-reads";var X$$="11";function Y$$($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:X$$,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var J$$=()=>{};import V64 from"pg";async function K$$($,Z){let{databaseUrl:Q,lockTimeoutMs:X=k64}=$,Y=$.log??((W)=>console.log(W)),J=new V64.Client({connectionString:Q});await J.connect();let G=Date.now(),K=!1;try{while(!K){if(K=(await J.query("SELECT pg_try_advisory_lock($1) AS locked",[G$$.toString()])).rows[0]?.locked===!0,K)break;if(Date.now()-G>=X)throw Error(`Timed out after ${X}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await B$(S64)}let W=Date.now()-G;if(W>1000)Y(`[dbos] waited ${W}ms for the migration lock; another process migrated first`);return await Z()}finally{if(K)try{await J.query("SELECT pg_advisory_unlock($1)",[G$$.toString()])}catch{}await J.end().catch(()=>{})}}var G$$=8314027461559302n,k64=600000,S64=500;var W$$=D(()=>{C8()});function C64(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function co0($,Z){for(let Q=0;Q<$.length;Q++){let X=$[Q];if(X===void 0)continue;if(X===Z)return $[Q+1];if(X.startsWith(`${Z}=`))return X.slice(Z.length+1)}return}function H$$(){let $=C64();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:co0($,"--cpu-prof-dir")??process.cwd(),name:co0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(co0($,"--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 F$$(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=_E();if(!Q)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),J=Y(),G=Object.entries(J.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);X={objectCount:J.objectCount,heapSize:J.heapSize,top:Object.fromEntries(G)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:Q.rss,heapUsed:Q.heapUsed,heapTotal:Q.heapTotal,external:Q.external,arrayBuffers:Q.arrayBuffers,...X}))};return Z().catch(()=>{}),wX0=setInterval(()=>void Z().catch(()=>{}),$),wX0.unref?.(),process.on("SIGUSR2",()=>{try{let Q=Bun.generateHeapSnapshot("v8"),X=typeof Q==="string"?Q:JSON.stringify(Q),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,X),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(Q){console.error("[heap-watch] snapshot failed:",Q)}}),()=>{if(wX0)clearInterval(wX0)}}var wX0;var U$$=()=>{};import*as _64 from"bun:jsc";function N$$(){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{v64()}catch(J){return console.error("[stall-watchdog] failed to start sampling profiler:",J),()=>{}}let Q,X=performance.now()+Z,Y=()=>{let J=performance.now(),G=J-X;X=J+Z;let K=[];try{K=x64()?.traces??[]}catch{}if(G>$&&K.length>0){let W=new Map;for(let F of K){let U=F.frames.find((O)=>O.sourceURL&&!/Unknown Executable/.test(O.category??""))??F.frames[0];if(!U)continue;let N=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${U.name??"?"} @ ${N}:${U.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((F,U)=>U[1]-F[1]).slice(0,8).map(([F,U])=>({frame:F,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(G),samplesInWindow:K.length,top:H}))}Q=setTimeout(Y,Z),Q.unref?.()};return Q=setTimeout(Y,Z),Q.unref?.(),()=>{if(Q)clearTimeout(Q)}}var v64,x64;var B$$=D(()=>{({startSamplingProfiler:v64,samplingProfilerStackTraces:x64}=_64)});function O$$(){H$$();let $=[F$$(),Oa1(),N$$()];return()=>{for(let Z of $)Z()}}var D$$=D(()=>{td0();U$$();B$$()});var uE=v((L$$)=>{Object.defineProperty(L$$,"__esModule",{value:!0});L$$.RepublishHeaders=L$$.DirectMsgHeaders=L$$.JsHeaders=L$$.AdvisoryKind=void 0;L$$.isOrderedPushConsumerOptions=f64;L$$.isPullConsumer=b64;L$$.isPushConsumer=y64;L$$.isBoundPushConsumerOptions=g64;function f64($){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 b64($){return $.isPullConsumer()}function y64($){return $.isPushConsumer()}function g64($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}L$$.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"};L$$.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"};L$$.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};L$$.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var RJ=v((j$$)=>{Object.defineProperty(j$$,"__esModule",{value:!0});j$$.TD=j$$.TE=j$$.Empty=void 0;j$$.encode=n64;j$$.decode=t64;j$$.Empty=new Uint8Array(0);j$$.TE=new TextEncoder;j$$.TD=new TextDecoder;function p64(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let Q=new Uint8Array(Z),X=0;for(let Y=0;Y<$.length;Y++)Q.set($[Y],X),X+=$[Y].length;return Q}function n64(...$){let Z=[];for(let Q=0;Q<$.length;Q++)Z.push(j$$.TE.encode($[Q]));if(Z.length===0)return j$$.Empty;if(Z.length===1)return Z[0];return p64(...Z)}function t64($){if(!$||$.length===0)return"";return j$$.TD.decode($)}});var IJ=v((P$$)=>{Object.defineProperty(P$$,"__esModule",{value:!0});P$$.errors=P$$.PermissionViolationError=P$$.NoRespondersError=P$$.TimeoutError=P$$.RequestError=P$$.ProtocolError=P$$.ConnectionError=P$$.DrainingConnectionError=P$$.ClosedConnectionError=P$$.AuthorizationError=P$$.UserAuthenticationExpiredError=P$$.InvalidOperationError=P$$.InvalidArgumentError=P$$.InvalidSubjectError=void 0;class mo0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}P$$.InvalidSubjectError=mo0;class jX0 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,Q){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((X)=>`'${X}'`),$=$.join(",");else $=`'${$}'`;return new jX0(`${$} ${Z}`,Q)}}P$$.InvalidArgumentError=jX0;class do0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}P$$.InvalidOperationError=do0;class EX0 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new EX0($);return null}}P$$.UserAuthenticationExpiredError=EX0;class zX0 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],Q=$.toLowerCase();for(let X=0;X<Z.length;X++)if(Q.indexOf(Z[X])!==-1)return new zX0($);return null}}P$$.AuthorizationError=zX0;class io0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}P$$.ClosedConnectionError=io0;class po0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}P$$.DrainingConnectionError=po0;class no0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}P$$.ConnectionError=no0;class to0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}P$$.ProtocolError=to0;class oo0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof PX0}}P$$.RequestError=oo0;class ro0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}P$$.TimeoutError=ro0;class PX0 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}P$$.NoRespondersError=PX0;class AX0 extends Error{operation;subject;queue;constructor($,Z,Q,X,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=Q,this.queue=X}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let Q="publish",X="",Y=void 0,J=$.match(/(Publish|Subscription) to "(\S+)"/);if(J){if(Q=J[1].toLowerCase(),X=J[2],Q==="subscription"){let G=$.match(/using queue "(\S+)"/);if(G)Y=G[1]}}return new AX0($,Q,X,Y)}}P$$.PermissionViolationError=AX0;P$$.errors={AuthorizationError:zX0,ClosedConnectionError:io0,ConnectionError:no0,DrainingConnectionError:po0,InvalidArgumentError:jX0,InvalidOperationError:do0,InvalidSubjectError:mo0,NoRespondersError:PX0,PermissionViolationError:AX0,ProtocolError:to0,RequestError:oo0,TimeoutError:ro0,UserAuthenticationExpiredError:EX0}});var DK=v((q$$)=>{Object.defineProperty(q$$,"__esModule",{value:!0});q$$.SimpleMutex=q$$.Perf=void 0;q$$.extend=U54;q$$.render=N54;q$$.timeout=B54;q$$.delay=O54;q$$.deadline=D54;q$$.deferred=so0;q$$.debugDeferred=L54;q$$.shuffle=w54;q$$.collect=j54;q$$.jitter=I$$;q$$.backoff=E54;q$$.nanos=z54;q$$.millis=P54;q$$.randomToken=R54;var F54=RJ(),ao0=IJ();function U54($,...Z){for(let Q=0;Q<Z.length;Q++){let X=Z[Q];Object.keys(X).forEach(function(Y){$[Y]=X[Y]})}return $}function N54($){return F54.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function B54($,Z=!0){let Q=Z?new ao0.TimeoutError:null,X,Y,J=new Promise((G,K)=>{X={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(Q===null)K(new ao0.TimeoutError);else K(Q)},$)});return Object.assign(J,X)}function O54($=0){let Z,Q=new Promise((X)=>{let Y=setTimeout(()=>{X()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),X()}}});return Object.assign(Q,Z)}async function D54($,Z=1000){let Q=so0(),X=setTimeout(()=>{Q.reject(new ao0.TimeoutError)},Z);try{return await Promise.race([$,Q])}finally{clearTimeout(X)}}function so0(){let $={},Z=new Promise((Q,X)=>{$={resolve:Q,reject:X}});return Object.assign(Z,$)}function L54(){let $={},Z=new Promise((Q,X)=>{$={resolve:(Y)=>{console.trace("resolve",Y),Q(Y)},reject:(Y)=>{console.trace("reject"),X(Y)}}});return Object.assign(Z,$)}function w54($){for(let Z=$.length-1;Z>0;Z--){let Q=Math.floor(Math.random()*(Z+1));[$[Z],$[Q]]=[$[Q],$[Z]]}return $}async function j54($){let Z=[];for await(let Q of $)Z.push(Q);return Z}class T$${timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,Q){let X=this.timers.get(Z);if(X===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(Q);if(Y===void 0)throw Error(`${Q} is not defined`);this.measures.set($,Y-X)}getEntries(){let $=[];return this.measures.forEach((Z,Q)=>{$.push({name:Q,duration:Z})}),$}}q$$.Perf=T$$;class R$${max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=so0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}q$$.SimpleMutex=R$$;function I$$($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function E54($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(Q){return I$$(Q>Z?$[Z]:$[Q])}}}function z54($){return $*1e6}function P54($){return Math.floor($/1e6)}var A54="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",oU=new Uint8Array(62);for(let $=0;$<62;$++)oU[$]=A54.charCodeAt($);var T54=218340105584896;function R54(){let $=Math.floor(Math.random()*T54),Z=$%62,Q=oU[Z];$=($-Z)/62,Z=$%62;let X=oU[Z];$=($-Z)/62,Z=$%62;let Y=oU[Z];$=($-Z)/62,Z=$%62;let J=oU[Z];$=($-Z)/62,Z=$%62;let G=oU[Z];$=($-Z)/62,Z=$%62;let K=oU[Z];$=($-Z)/62,Z=$%62;let W=oU[Z];$=($-Z)/62;let H=oU[$];return String.fromCharCode(Q,X,Y,J,G,K,W,H)}});var x$$=v((_$$)=>{Object.defineProperty(_$$,"__esModule",{value:!0});_$$.nuid=_$$.NuidImpl=void 0;var u54="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",rO=62,RX0=12,S$$=10,V$$=33,c54=333,k$$=RX0+S$$,$r0=new Uint8Array(rO);for(let $=0;$<rO;$++)$r0[$]=u54.charCodeAt($);var TX0=4294967296,C$$=BigInt(rO)**BigInt(S$$),ln=Number(C$$/(1n<<32n)),eo0=Number(C$$%(1n<<32n));function l54($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function m54($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else l54($)}class Zr0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(k$$),this.cbuf=new Uint8Array(RX0),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(ln+1)),this.seqLo=Math.floor(Math.random()*TX0);while($++<8&&this.seqHi===ln&&this.seqLo>=eo0);if(this.seqHi===ln&&this.seqLo>=eo0)this.seqLo=0;this.inc=Math.random()*(c54-V$$)+V$$|0}setPre(){m54(this.cbuf);for(let $=0;$<RX0;$++)this.buf[$]=$r0[this.cbuf[$]%rO]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let Q=k$$-1;Q>=RX0;Q--){let X=Math.floor($/rO),J=($-X*rO)*TX0+Z,G=Math.floor(J/rO),K=J-G*rO;this.buf[Q]=$r0[K],$=X,Z=G}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=TX0)this.seqLo-=TX0,this.seqHi+=1;if(this.seqHi>ln||this.seqHi===ln&&this.seqLo>=eo0)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()}}_$$.NuidImpl=Zr0;_$$.nuid=new Zr0});var g$$=v((b$$)=>{Object.defineProperty(b$$,"__esModule",{value:!0});b$$.nuid=b$$.Nuid=void 0;var f$$=x$$();b$$.Nuid=f$$.NuidImpl;b$$.nuid=f$$.nuid});var qX0=v((IX0)=>{Object.defineProperty(IX0,"__esModule",{value:!0});IX0.nuid=IX0.Nuid=void 0;var h$$=g$$();Object.defineProperty(IX0,"Nuid",{enumerable:!0,get:function(){return h$$.Nuid}});Object.defineProperty(IX0,"nuid",{enumerable:!0,get:function(){return h$$.nuid}})});var aO=v((u$$)=>{Object.defineProperty(u$$,"__esModule",{value:!0});u$$.DEFAULT_HOST=u$$.DEFAULT_PORT=u$$.Match=void 0;u$$.syncIterator=o54;u$$.createInbox=r54;var n54=qX0(),t54=IJ();u$$.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function o54($){let Z=$[Symbol.asyncIterator]();return{async next(){let Q=await Z.next();if(Q.done)return Promise.resolve(null);return Promise.resolve(Q.value)}}}function r54($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw t54.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${n54.nuid.next()}`}u$$.DEFAULT_PORT=4222;u$$.DEFAULT_HOST="127.0.0.1"});var mn=v((d$$)=>{Object.defineProperty(d$$,"__esModule",{value:!0});d$$.DataBuffer=void 0;var l$$=RJ();class m$${buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let Q=new Uint8Array(Z),X=0;for(let Y=0;Y<$.length;Y++)Q.set($[Y],X),X+=$[Y].length;return Q}static fromAscii($){if(!$)$="";return l$$.TE.encode($)}static toAscii($){return l$$.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 Q=0;Q<this.buffers.length;Q++)$.set(this.buffers[Q],Z),Z+=this.buffers[Q].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 Q=this.byteLength;if($===void 0||$>Q)$=Q;let X=Z.subarray(0,$);if(Q>$)this.buffers.push(Z.subarray($));return this.byteLength=Q-$,X}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let Q=0;Q<Z.length;Q++)if(Z[Q]&&Z[Q].length)this.buffers.push(Z[Q]),this.byteLength+=Z[Q].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}}d$$.DataBuffer=m$$});var cE=v((n$$)=>{Object.defineProperty(n$$,"__esModule",{value:!0});n$$.LF=n$$.CR=n$$.CRLF=n$$.CR_LF_LEN=n$$.CR_LF=void 0;n$$.setTransportFactory=Y94;n$$.defaultPort=J94;n$$.getUrlParseFn=G94;n$$.newTransport=K94;n$$.getResolveFn=W94;n$$.protoLen=p$$;n$$.extractProtocolMessage=H94;var Z94=RJ(),Q94=aO(),X94=mn(),qJ;function Y94($){qJ=$}function J94(){return qJ!==void 0&&qJ.defaultPort!==void 0?qJ.defaultPort:Q94.DEFAULT_PORT}function G94(){return qJ!==void 0&&qJ.urlParseFn?qJ.urlParseFn:void 0}function K94(){if(!qJ||typeof qJ.factory!=="function")throw Error("transport fn is not set");return qJ.factory()}function W94(){return qJ!==void 0&&qJ.dnsResolveFn?qJ.dnsResolveFn:void 0}n$$.CR_LF=`\r
|
|
1942
|
+
`);X=J.pop()??"";for(let G of J){let K=Bun.stripANSI(G).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;nO({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{try{for(;;){let{done:J,value:G}=await Z.read();if(J)break;X+=Q.decode(G,{stream:!0}),Y()}}catch{}if(X.trim()){let J=Bun.stripANSI(X).replace(/^\[\d+\]\s*/,"").trim();if(J)nO({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:J})}})()}async function L64($){let{baseUrl:Z,noTui:Q}=$,X=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=X?process.env.PORT:$.vitePort,J=Z||`http://localhost:${Y}`,G=X?await un(Number(Y)+1):await un(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await BX0({port:String(G),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)bE({name:L.name,status:"ready",port:L.port});gn();let F=D64(import.meta.dir,"..","..","..","..",".."),U=Q===!0,N=Bun.spawn(["bun","run","dev:servers"],{cwd:F,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:J,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.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}},stdio:["inherit",U?"inherit":"pipe",U?"inherit":"pipe"]});if(!U)vo0(N.stdout),vo0(N.stderr);hn(J),bE({name:"Vite",status:"ready",port:Number(Y)}),bE({name:"API",status:"ready",port:Number(K.port)});let O=async(L)=>{if(N.kill(L),await N.exited,H.length>0){let{stopServices:w}=await Promise.resolve().then(() => (DQ0(),OQ0));await w(K.dataDir)}};return process.on("SIGINT",()=>O("SIGINT")),process.on("SIGTERM",()=>O("SIGTERM")),{port:Number(Y),process:N}}var fo0=D(()=>{Vo0();yE();_o0()});var LX0;var bo0=D(()=>{LX0={name:"decocms",version:"4.344.5",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","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.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","@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 j64,Text as n1$}from"ink";import{jsx as E64,jsxs as t1$}from"react/jsx-runtime";function o1$({version:$}){return t1$(j64,{flexDirection:"column",marginTop:1,children:[gQ0.map((Z,Q)=>E64(n1$,{color:hQ0[Q],children:Z},Q)),t1$(n1$,{dimColor:!0,children:[" v",$]})]})}var r1$=D(()=>{Rn()});import{Box as gE,Text as tO}from"ink";import{Spinner as z64}from"@inkjs/ui";import{jsx as TJ,jsxs as yg}from"react/jsx-runtime";function a1$({status:$}){if($==="pending")return TJ(z64,{label:""});return TJ(tO,{color:"green",children:"\u2713"})}function P64($){return`${$.name}: ${$.port||"...."}`}function s1$({services:$,migrationsStatus:Z,home:Q,serverUrl:X}){return yg(gE,{flexDirection:"column",paddingBottom:1,children:[TJ(o1$,{version:LX0.version}),TJ(gE,{marginBottom:1,children:TJ(tO,{dimColor:!0,children:"\u2500".repeat(80)})}),TJ(gE,{children:yg(tO,{dimColor:!0,children:["Home: ",Q]})}),yg(gE,{gap:2,children:[$.map((Y)=>yg(gE,{gap:1,children:[TJ(tO,{children:P64(Y)}),TJ(a1$,{status:Y.status})]},Y.name)),yg(gE,{gap:1,children:[TJ(tO,{children:"Migrations"}),TJ(a1$,{status:Z})]})]}),TJ(gE,{children:X?yg(tO,{children:["Open in browser: ",TJ(tO,{color:"cyan",children:X})]}):TJ(tO,{dimColor:!0,children:"Starting..."})})]})}var e1$=D(()=>{bo0();r1$()});import{Box as A64,Text as cn}from"ink";import{jsx as yo0,jsxs as go0}from"react/jsx-runtime";function T64($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function $$$({logs:$}){return yo0(A64,{flexDirection:"column",children:$.map((Z,Q)=>{if(Z.rawLine)return yo0(cn,{dimColor:!0,children:Z.rawLine},Q);let X=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return go0(cn,{children:[go0(cn,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),yo0(cn,{color:T64(Z.status),children:Z.status}),go0(cn,{dimColor:!0,children:[" ",X.padStart(8)]})]},Q)})})}var Z$$=()=>{};var ho0={};e(ho0,{App:()=>q64});import{Box as R64}from"ink";import{useSyncExternalStore as I64}from"react";import{jsx as Q$$,jsxs as M64}from"react/jsx-runtime";function q64({home:$}){let Z=I64(Co0,So0);return M64(R64,{flexDirection:"column",children:[Q$$(s1$,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),Q$$($$$,{logs:Z.logs})]})}var uo0=D(()=>{e1$();Z$$();yE()});var OK="thread-gate",nU="decopilot-hosted-harness",tU="decopilot-hosted-harness-sandboxed",lG="automations",oO="background-tools",hE="task-board-github-reads";var X$$="11";function Y$$($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:X$$,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var J$$=()=>{};import V64 from"pg";async function K$$($,Z){let{databaseUrl:Q,lockTimeoutMs:X=k64}=$,Y=$.log??((W)=>console.log(W)),J=new V64.Client({connectionString:Q});await J.connect();let G=Date.now(),K=!1;try{while(!K){if(K=(await J.query("SELECT pg_try_advisory_lock($1) AS locked",[G$$.toString()])).rows[0]?.locked===!0,K)break;if(Date.now()-G>=X)throw Error(`Timed out after ${X}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await B$(S64)}let W=Date.now()-G;if(W>1000)Y(`[dbos] waited ${W}ms for the migration lock; another process migrated first`);return await Z()}finally{if(K)try{await J.query("SELECT pg_advisory_unlock($1)",[G$$.toString()])}catch{}await J.end().catch(()=>{})}}var G$$=8314027461559302n,k64=600000,S64=500;var W$$=D(()=>{C8()});function C64(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function co0($,Z){for(let Q=0;Q<$.length;Q++){let X=$[Q];if(X===void 0)continue;if(X===Z)return $[Q+1];if(X.startsWith(`${Z}=`))return X.slice(Z.length+1)}return}function H$$(){let $=C64();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:co0($,"--cpu-prof-dir")??process.cwd(),name:co0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(co0($,"--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 F$$(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=_E();if(!Q)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),J=Y(),G=Object.entries(J.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);X={objectCount:J.objectCount,heapSize:J.heapSize,top:Object.fromEntries(G)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:Q.rss,heapUsed:Q.heapUsed,heapTotal:Q.heapTotal,external:Q.external,arrayBuffers:Q.arrayBuffers,...X}))};return Z().catch(()=>{}),wX0=setInterval(()=>void Z().catch(()=>{}),$),wX0.unref?.(),process.on("SIGUSR2",()=>{try{let Q=Bun.generateHeapSnapshot("v8"),X=typeof Q==="string"?Q:JSON.stringify(Q),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,X),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(Q){console.error("[heap-watch] snapshot failed:",Q)}}),()=>{if(wX0)clearInterval(wX0)}}var wX0;var U$$=()=>{};import*as _64 from"bun:jsc";function N$$(){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{v64()}catch(J){return console.error("[stall-watchdog] failed to start sampling profiler:",J),()=>{}}let Q,X=performance.now()+Z,Y=()=>{let J=performance.now(),G=J-X;X=J+Z;let K=[];try{K=x64()?.traces??[]}catch{}if(G>$&&K.length>0){let W=new Map;for(let F of K){let U=F.frames.find((O)=>O.sourceURL&&!/Unknown Executable/.test(O.category??""))??F.frames[0];if(!U)continue;let N=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${U.name??"?"} @ ${N}:${U.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((F,U)=>U[1]-F[1]).slice(0,8).map(([F,U])=>({frame:F,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(G),samplesInWindow:K.length,top:H}))}Q=setTimeout(Y,Z),Q.unref?.()};return Q=setTimeout(Y,Z),Q.unref?.(),()=>{if(Q)clearTimeout(Q)}}var v64,x64;var B$$=D(()=>{({startSamplingProfiler:v64,samplingProfilerStackTraces:x64}=_64)});function O$$(){H$$();let $=[F$$(),Oa1(),N$$()];return()=>{for(let Z of $)Z()}}var D$$=D(()=>{td0();U$$();B$$()});var uE=v((L$$)=>{Object.defineProperty(L$$,"__esModule",{value:!0});L$$.RepublishHeaders=L$$.DirectMsgHeaders=L$$.JsHeaders=L$$.AdvisoryKind=void 0;L$$.isOrderedPushConsumerOptions=f64;L$$.isPullConsumer=b64;L$$.isPushConsumer=y64;L$$.isBoundPushConsumerOptions=g64;function f64($){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 b64($){return $.isPullConsumer()}function y64($){return $.isPushConsumer()}function g64($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}L$$.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"};L$$.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"};L$$.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};L$$.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var RJ=v((j$$)=>{Object.defineProperty(j$$,"__esModule",{value:!0});j$$.TD=j$$.TE=j$$.Empty=void 0;j$$.encode=n64;j$$.decode=t64;j$$.Empty=new Uint8Array(0);j$$.TE=new TextEncoder;j$$.TD=new TextDecoder;function p64(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let Q=new Uint8Array(Z),X=0;for(let Y=0;Y<$.length;Y++)Q.set($[Y],X),X+=$[Y].length;return Q}function n64(...$){let Z=[];for(let Q=0;Q<$.length;Q++)Z.push(j$$.TE.encode($[Q]));if(Z.length===0)return j$$.Empty;if(Z.length===1)return Z[0];return p64(...Z)}function t64($){if(!$||$.length===0)return"";return j$$.TD.decode($)}});var IJ=v((P$$)=>{Object.defineProperty(P$$,"__esModule",{value:!0});P$$.errors=P$$.PermissionViolationError=P$$.NoRespondersError=P$$.TimeoutError=P$$.RequestError=P$$.ProtocolError=P$$.ConnectionError=P$$.DrainingConnectionError=P$$.ClosedConnectionError=P$$.AuthorizationError=P$$.UserAuthenticationExpiredError=P$$.InvalidOperationError=P$$.InvalidArgumentError=P$$.InvalidSubjectError=void 0;class mo0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}P$$.InvalidSubjectError=mo0;class jX0 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,Q){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((X)=>`'${X}'`),$=$.join(",");else $=`'${$}'`;return new jX0(`${$} ${Z}`,Q)}}P$$.InvalidArgumentError=jX0;class do0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}P$$.InvalidOperationError=do0;class EX0 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new EX0($);return null}}P$$.UserAuthenticationExpiredError=EX0;class zX0 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],Q=$.toLowerCase();for(let X=0;X<Z.length;X++)if(Q.indexOf(Z[X])!==-1)return new zX0($);return null}}P$$.AuthorizationError=zX0;class io0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}P$$.ClosedConnectionError=io0;class po0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}P$$.DrainingConnectionError=po0;class no0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}P$$.ConnectionError=no0;class to0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}P$$.ProtocolError=to0;class oo0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof PX0}}P$$.RequestError=oo0;class ro0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}P$$.TimeoutError=ro0;class PX0 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}P$$.NoRespondersError=PX0;class AX0 extends Error{operation;subject;queue;constructor($,Z,Q,X,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=Q,this.queue=X}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let Q="publish",X="",Y=void 0,J=$.match(/(Publish|Subscription) to "(\S+)"/);if(J){if(Q=J[1].toLowerCase(),X=J[2],Q==="subscription"){let G=$.match(/using queue "(\S+)"/);if(G)Y=G[1]}}return new AX0($,Q,X,Y)}}P$$.PermissionViolationError=AX0;P$$.errors={AuthorizationError:zX0,ClosedConnectionError:io0,ConnectionError:no0,DrainingConnectionError:po0,InvalidArgumentError:jX0,InvalidOperationError:do0,InvalidSubjectError:mo0,NoRespondersError:PX0,PermissionViolationError:AX0,ProtocolError:to0,RequestError:oo0,TimeoutError:ro0,UserAuthenticationExpiredError:EX0}});var DK=v((q$$)=>{Object.defineProperty(q$$,"__esModule",{value:!0});q$$.SimpleMutex=q$$.Perf=void 0;q$$.extend=U54;q$$.render=N54;q$$.timeout=B54;q$$.delay=O54;q$$.deadline=D54;q$$.deferred=so0;q$$.debugDeferred=L54;q$$.shuffle=w54;q$$.collect=j54;q$$.jitter=I$$;q$$.backoff=E54;q$$.nanos=z54;q$$.millis=P54;q$$.randomToken=R54;var F54=RJ(),ao0=IJ();function U54($,...Z){for(let Q=0;Q<Z.length;Q++){let X=Z[Q];Object.keys(X).forEach(function(Y){$[Y]=X[Y]})}return $}function N54($){return F54.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function B54($,Z=!0){let Q=Z?new ao0.TimeoutError:null,X,Y,J=new Promise((G,K)=>{X={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(Q===null)K(new ao0.TimeoutError);else K(Q)},$)});return Object.assign(J,X)}function O54($=0){let Z,Q=new Promise((X)=>{let Y=setTimeout(()=>{X()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),X()}}});return Object.assign(Q,Z)}async function D54($,Z=1000){let Q=so0(),X=setTimeout(()=>{Q.reject(new ao0.TimeoutError)},Z);try{return await Promise.race([$,Q])}finally{clearTimeout(X)}}function so0(){let $={},Z=new Promise((Q,X)=>{$={resolve:Q,reject:X}});return Object.assign(Z,$)}function L54(){let $={},Z=new Promise((Q,X)=>{$={resolve:(Y)=>{console.trace("resolve",Y),Q(Y)},reject:(Y)=>{console.trace("reject"),X(Y)}}});return Object.assign(Z,$)}function w54($){for(let Z=$.length-1;Z>0;Z--){let Q=Math.floor(Math.random()*(Z+1));[$[Z],$[Q]]=[$[Q],$[Z]]}return $}async function j54($){let Z=[];for await(let Q of $)Z.push(Q);return Z}class T$${timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,Q){let X=this.timers.get(Z);if(X===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(Q);if(Y===void 0)throw Error(`${Q} is not defined`);this.measures.set($,Y-X)}getEntries(){let $=[];return this.measures.forEach((Z,Q)=>{$.push({name:Q,duration:Z})}),$}}q$$.Perf=T$$;class R$${max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=so0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}q$$.SimpleMutex=R$$;function I$$($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function E54($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(Q){return I$$(Q>Z?$[Z]:$[Q])}}}function z54($){return $*1e6}function P54($){return Math.floor($/1e6)}var A54="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",oU=new Uint8Array(62);for(let $=0;$<62;$++)oU[$]=A54.charCodeAt($);var T54=218340105584896;function R54(){let $=Math.floor(Math.random()*T54),Z=$%62,Q=oU[Z];$=($-Z)/62,Z=$%62;let X=oU[Z];$=($-Z)/62,Z=$%62;let Y=oU[Z];$=($-Z)/62,Z=$%62;let J=oU[Z];$=($-Z)/62,Z=$%62;let G=oU[Z];$=($-Z)/62,Z=$%62;let K=oU[Z];$=($-Z)/62,Z=$%62;let W=oU[Z];$=($-Z)/62;let H=oU[$];return String.fromCharCode(Q,X,Y,J,G,K,W,H)}});var x$$=v((_$$)=>{Object.defineProperty(_$$,"__esModule",{value:!0});_$$.nuid=_$$.NuidImpl=void 0;var u54="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",rO=62,RX0=12,S$$=10,V$$=33,c54=333,k$$=RX0+S$$,$r0=new Uint8Array(rO);for(let $=0;$<rO;$++)$r0[$]=u54.charCodeAt($);var TX0=4294967296,C$$=BigInt(rO)**BigInt(S$$),ln=Number(C$$/(1n<<32n)),eo0=Number(C$$%(1n<<32n));function l54($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function m54($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else l54($)}class Zr0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(k$$),this.cbuf=new Uint8Array(RX0),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(ln+1)),this.seqLo=Math.floor(Math.random()*TX0);while($++<8&&this.seqHi===ln&&this.seqLo>=eo0);if(this.seqHi===ln&&this.seqLo>=eo0)this.seqLo=0;this.inc=Math.random()*(c54-V$$)+V$$|0}setPre(){m54(this.cbuf);for(let $=0;$<RX0;$++)this.buf[$]=$r0[this.cbuf[$]%rO]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let Q=k$$-1;Q>=RX0;Q--){let X=Math.floor($/rO),J=($-X*rO)*TX0+Z,G=Math.floor(J/rO),K=J-G*rO;this.buf[Q]=$r0[K],$=X,Z=G}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=TX0)this.seqLo-=TX0,this.seqHi+=1;if(this.seqHi>ln||this.seqHi===ln&&this.seqLo>=eo0)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()}}_$$.NuidImpl=Zr0;_$$.nuid=new Zr0});var g$$=v((b$$)=>{Object.defineProperty(b$$,"__esModule",{value:!0});b$$.nuid=b$$.Nuid=void 0;var f$$=x$$();b$$.Nuid=f$$.NuidImpl;b$$.nuid=f$$.nuid});var qX0=v((IX0)=>{Object.defineProperty(IX0,"__esModule",{value:!0});IX0.nuid=IX0.Nuid=void 0;var h$$=g$$();Object.defineProperty(IX0,"Nuid",{enumerable:!0,get:function(){return h$$.Nuid}});Object.defineProperty(IX0,"nuid",{enumerable:!0,get:function(){return h$$.nuid}})});var aO=v((u$$)=>{Object.defineProperty(u$$,"__esModule",{value:!0});u$$.DEFAULT_HOST=u$$.DEFAULT_PORT=u$$.Match=void 0;u$$.syncIterator=o54;u$$.createInbox=r54;var n54=qX0(),t54=IJ();u$$.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function o54($){let Z=$[Symbol.asyncIterator]();return{async next(){let Q=await Z.next();if(Q.done)return Promise.resolve(null);return Promise.resolve(Q.value)}}}function r54($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw t54.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${n54.nuid.next()}`}u$$.DEFAULT_PORT=4222;u$$.DEFAULT_HOST="127.0.0.1"});var mn=v((d$$)=>{Object.defineProperty(d$$,"__esModule",{value:!0});d$$.DataBuffer=void 0;var l$$=RJ();class m$${buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let Q=new Uint8Array(Z),X=0;for(let Y=0;Y<$.length;Y++)Q.set($[Y],X),X+=$[Y].length;return Q}static fromAscii($){if(!$)$="";return l$$.TE.encode($)}static toAscii($){return l$$.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 Q=0;Q<this.buffers.length;Q++)$.set(this.buffers[Q],Z),Z+=this.buffers[Q].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 Q=this.byteLength;if($===void 0||$>Q)$=Q;let X=Z.subarray(0,$);if(Q>$)this.buffers.push(Z.subarray($));return this.byteLength=Q-$,X}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let Q=0;Q<Z.length;Q++)if(Z[Q]&&Z[Q].length)this.buffers.push(Z[Q]),this.byteLength+=Z[Q].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}}d$$.DataBuffer=m$$});var cE=v((n$$)=>{Object.defineProperty(n$$,"__esModule",{value:!0});n$$.LF=n$$.CR=n$$.CRLF=n$$.CR_LF_LEN=n$$.CR_LF=void 0;n$$.setTransportFactory=Y94;n$$.defaultPort=J94;n$$.getUrlParseFn=G94;n$$.newTransport=K94;n$$.getResolveFn=W94;n$$.protoLen=p$$;n$$.extractProtocolMessage=H94;var Z94=RJ(),Q94=aO(),X94=mn(),qJ;function Y94($){qJ=$}function J94(){return qJ!==void 0&&qJ.defaultPort!==void 0?qJ.defaultPort:Q94.DEFAULT_PORT}function G94(){return qJ!==void 0&&qJ.urlParseFn?qJ.urlParseFn:void 0}function K94(){if(!qJ||typeof qJ.factory!=="function")throw Error("transport fn is not set");return qJ.factory()}function W94(){return qJ!==void 0&&qJ.dnsResolveFn?qJ.dnsResolveFn:void 0}n$$.CR_LF=`\r
|
|
1943
1943
|
`;n$$.CR_LF_LEN=n$$.CR_LF.length;n$$.CRLF=X94.DataBuffer.fromAscii(n$$.CR_LF);n$$.CR=new Uint8Array(n$$.CRLF)[0];n$$.LF=new Uint8Array(n$$.CRLF)[1];function p$$($){for(let Z=0;Z<$.length;Z++){let Q=Z+1;if($.byteLength>Q&&$[Z]===n$$.CR&&$[Q]===n$$.LF)return Q+1}return 0}function H94($){let Z=p$$($);if(Z>0){let X=new Uint8Array($).slice(0,Z);return Z94.TD.decode(X)}return""}});var Gr0=v((Z8$)=>{Object.defineProperty(Z8$,"__esModule",{value:!0});Z8$.ipV4=s$$;Z8$.isIP=z94;Z8$.parseIP=e$$;var dn=4,lE=16,MX0=48,a$$=57,o$$=65,j94=70,r$$=97,E94=102,Jr0=16777215;function s$$($,Z,Q,X){let Y=new Uint8Array(lE);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((G,K)=>{Y[K]=G}),Y[12]=$,Y[13]=Z,Y[14]=Q,Y[15]=X,Y}function z94($){return e$$($)!==void 0}function e$$($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return $8$($);case":":return P94($)}return}function $8$($){let Z=new Uint8Array(dn);for(let Q=0;Q<dn;Q++){if($.length===0)return;if(Q>0){if($[0]!==".")return;$=$.substring(1)}let{n:X,c:Y,ok:J}=A94($);if(!J||X>255)return;$=$.substring(Y),Z[Q]=X}return s$$(Z[0],Z[1],Z[2],Z[3])}function P94($){let Z=new Uint8Array(lE),Q=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(Q=0,$=$.substring(2),$.length===0)return Z}let X=0;while(X<lE){let{n:Y,c:J,ok:G}=T94($);if(!G||Y>65535)return;if(J<$.length&&$[J]==="."){if(Q<0&&X!=lE-dn)return;if(X+dn>lE)return;let K=$8$($);if(K===void 0)return;Z[X]=K[12],Z[X+1]=K[13],Z[X+2]=K[14],Z[X+3]=K[15],$="",X+=dn;break}if(Z[X]=Y>>8,Z[X+1]=Y,X+=2,$=$.substring(J),$.length===0)break;if($[0]!==":"||$.length==1)return;if($=$.substring(1),$[0]===":"){if(Q>=0)return;if(Q=X,$=$.substring(1),$.length===0)break}}if($.length!==0)return;if(X<lE){if(Q<0)return;let Y=lE-X;for(let J=X-1;J>=Q;J--)Z[J+Y]=Z[J];for(let J=Q+Y-1;J>=Q;J--)Z[J]=0}else if(Q>=0)return;return Z}function A94($){let Z=0,Q=0;for(Z=0;Z<$.length&&MX0<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=a$$;Z++)if(Q=Q*10+($.charCodeAt(Z)-MX0),Q>=Jr0)return{n:Jr0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:Q,c:Z,ok:!0}}function T94($){let Z=0,Q=0;for(Q=0;Q<$.length;Q++){if(MX0<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=a$$)Z*=16,Z+=$.charCodeAt(Q)-MX0;else if(r$$<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=E94)Z*=16,Z+=$.charCodeAt(Q)-r$$+10;else if(o$$<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=j94)Z*=16,Z+=$.charCodeAt(Q)-o$$+10;else break;if(Z>=Jr0)return{n:0,c:Q,ok:!1}}if(Q===0)return{n:0,c:Q,ok:!1};return{n:Z,c:Q,ok:!0}}});var Nr0=v((X8$)=>{Object.defineProperty(X8$,"__esModule",{value:!0});X8$.Servers=X8$.ServerImpl=void 0;X8$.isIPV4OrHostname=Q8$;X8$.hostPort=Ur0;var Kr0=cE(),Wr0=DK(),Hr0=Gr0(),M94=aO(),V94=IJ();function Q8$($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function Fr0($){return!Q8$($)}function k94($){let Q=$.toUpperCase().indexOf("::FFFF:");if(Q!==-1&&$.indexOf(".")!==-1){let X=$.substring(Q+7);return X=X.replace("[",""),X.replace("]","")}return $}function Ur0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=k94($),Fr0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=Fr0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),Q=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):M94.DEFAULT_PORT,Y=new URL(`${Q===80?"https":"http"}://${$}`);Y.port=`${Q}`;let J=Y.hostname;if(J.charAt(0)==="[")J=J.substring(1,J.length-1);return{listen:Y.host,hostname:J,port:Q}}class gg{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let Q=Ur0($);this.listen=Q.listen,this.hostname=Q.hostname,this.port=Q.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,Hr0.isIP)(this.hostname))return[this];else{let Q=await $.fn(this.hostname);if($.debug)console.log(`resolve ${this.hostname} = ${Q.join(",")}`);for(let X of Q){let Y=this.port===80?"https":"http",J=new URL(`${Y}://${Fr0(X)?"["+X+"]":X}`);J.port=`${this.port}`;let G=new gg(J.host,!1);G.tlsName=this.hostname,Z.push(G)}}if($.randomize)(0,Wr0.shuffle)(Z);return this.resolves=Z,Z}}X8$.ServerImpl=gg;class VX0{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw V94.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,Kr0.getUrlParseFn)(),Q=new Map;for(let Y of this.servers)Q.set(Y.listen,Y);let X=[];for(let Y of $){Y=Z?Z(Y):Y;let{listen:J}=Ur0(Y),G=Q.get(J);if(G)G.gossiped=!1,X.push(G);else X.push(new gg(Y))}if(this.randomize)(0,Wr0.shuffle)(X);if(this.servers=X,this.currentServer===void 0||!X.includes(this.currentServer))this.currentServer=X[0],this.firstSelect=!0}clear(){this.servers.length=0}updateTLSName(){let $=this.getCurrentServer();if(!(0,Hr0.isIP)($.hostname))this.tlsName=$.hostname,this.servers.forEach((Z)=>{if(Z.gossiped)Z.tlsName=this.tlsName})}getCurrentServer(){return this.currentServer}addServer($,Z=!1){let Q=(0,Kr0.getUrlParseFn)();$=Q?Q($):$;let X=new gg($,Z);if((0,Hr0.isIP)(X.hostname))X.tlsName=this.tlsName;this.servers.push(X)}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 VX0.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return VX0.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 Q=[],X=[],Y=(0,Kr0.getUrlParseFn)(),J=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new gg(K,!0);J.set(K,W)});let G=[];if(this.servers.forEach((K,W)=>{let H=K.listen;if(K.gossiped&&this.currentServer.listen!==H&&J.get(H)===void 0)G.push(W);J.delete(H)}),G.reverse(),G.forEach((K)=>{let W=this.servers.splice(K,1);X=X.concat(W[0].listen)}),J.forEach((K,W)=>{this.servers.push(K),Q.push(W)}),this.randomize&&Q.length>0){let K=this.currentServer,W=this.servers.filter((H)=>H!==K);(0,Wr0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:Q,deleted:X}}}X8$.Servers=VX0});var kX0=v((K8$)=>{Object.defineProperty(K8$,"__esModule",{value:!0});K8$.QueuedIteratorImpl=void 0;var Br0=DK(),J8$=IJ();class G8${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,Br0.deferred)(),this.yields=[],this.iterClosed=(0,Br0.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(Q){}}return}if(typeof $==="function")this.pendingFiltered++;this.yields.push($),this.signal.resolve()}async*iterate(){if(this.noIterator)throw new J8$.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new J8$.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 X=$[Z];try{X()}catch(Y){throw Y}if(this.err)throw this.err;continue}this.processed++,this.inflight--;let Q=this.profile?Date.now():0;yield $[Z],this.time=this.profile?Date.now()-Q:0}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,Br0.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}}K8$.QueuedIteratorImpl=G8$});var Or0=v((U8$)=>{Object.defineProperty(U8$,"__esModule",{value:!0});U8$.MuxSubscription=void 0;var v94=aO(),H8$=IJ();class F8${baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,v94.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((Q)=>{Q.resolver(Z,{})}),!0;if(Z.operation==="publish"){let Q=this.all().find((X)=>{return X.requestSubject===Z.subject});if(Q)return Q.resolver(Z,{}),!0}return!1}dispatcher(){return($,Z)=>{let Q=this.getToken(Z);if(Q){let X=this.get(Q);if(X){if($===null)$=Z?.data?.length===0&&Z.headers?.code===503?new H8$.NoRespondersError(X.requestSubject):null;X.resolver($,Z)}}}}close(){let $=new H8$.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}U8$.MuxSubscription=F8$});var Dr0=v((O8$)=>{Object.defineProperty(O8$,"__esModule",{value:!0});O8$.Heartbeat=void 0;var x94=DK();class B8${ph;interval;maxOut;timer;pendings;constructor($,Z,Q){this.ph=$,this.interval=Z,this.maxOut=Q,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,x94.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})}}O8$.Heartbeat=B8$});var jr0=v((E8$)=>{Object.defineProperty(E8$,"__esModule",{value:!0});E8$.DenoBuffer=E8$.MAX_SIZE=E8$.AssertionError=void 0;E8$.assert=w8$;E8$.concat=j8$;E8$.append=b94;E8$.readAll=y94;E8$.writeAll=g94;var f94=RJ();class Lr0 extends Error{constructor($){super($);this.name="AssertionError"}}E8$.AssertionError=Lr0;function w8$($,Z="Assertion failed."){if(!$)throw new Lr0(Z)}var L8$=32768;E8$.MAX_SIZE=4294967294;function SX0($,Z,Q=0){let X=Z.byteLength-Q;if($.byteLength>X)$=$.subarray(0,X);return Z.set($,Q),$.byteLength}function j8$($,Z){if($===void 0&&Z===void 0)return new Uint8Array(0);if($===void 0)return Z;if(Z===void 0)return $;let Q=new Uint8Array($.length+Z.length);return Q.set($,0),Q.set(Z,$.length),Q}function b94($,Z){return j8$($,Uint8Array.of(Z))}class wr0{_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($){w8$($<=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=SX0(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(f94.TE.encode($))}write($){let Z=this._grow($.byteLength);return SX0($,this._buf,Z)}_grow($){let Z=this.length;if(Z===0&&this._off!==0)this.reset();let Q=this._tryGrowByReslice($);if(Q>=0)return Q;let X=this.capacity;if($<=Math.floor(X/2)-Z)SX0(this._buf.subarray(this._off),this._buf);else if(X+$>E8$.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*X+$,E8$.MAX_SIZE));SX0(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,E8$.MAX_SIZE)),Z}grow($){if($<0)throw Error("Buffer._grow: negative count");let Z=this._grow($);this._reslice(Z)}readFrom($){let Z=0,Q=new Uint8Array(L8$);while(!0){let X=this.capacity-this.length<L8$,Y=X?Q:new Uint8Array(this._buf.buffer,this.length),J=$.read(Y);if(J===null)return Z;if(X)this.write(Y.subarray(0,J));else this._reslice(this.length+J);Z+=J}}}E8$.DenoBuffer=wr0;function y94($){let Z=new wr0;return Z.readFrom($),Z.bytes()}function g94($,Z){let Q=0;while(Q<Z.length)Q+=$.write(Z.subarray(Q))}});var Pr0=v((R8$)=>{Object.defineProperty(R8$,"__esModule",{value:!0});R8$.cc=R8$.State=R8$.Parser=R8$.Kind=void 0;R8$.describe=i94;var Er0=jr0(),zr0=RJ();R8$.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function i94($){let Z,Q="";switch($.kind){case R8$.Kind.MSG:Z="MSG";break;case R8$.Kind.OK:Z="OK";break;case R8$.Kind.ERR:Z="ERR",Q=zr0.TD.decode($.data);break;case R8$.Kind.PING:Z="PING";break;case R8$.Kind.PONG:Z="PONG";break;case R8$.Kind.INFO:Z="INFO",Q=zr0.TD.decode($.data)}return`${Z}: ${Q}`}function P8$(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var A8$=48,p94=57,hg=67108864;class T8${dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=R8$.State.OP_START,this.as=0,this.drop=0,this.hdr=0}parse($){let Z;for(Z=0;Z<$.length;Z++){let Q=$[Z];switch(this.state){case R8$.State.OP_START:switch(Q){case R8$.cc.M:case R8$.cc.m:this.state=R8$.State.OP_M,this.hdr=-1,this.ma=P8$();break;case R8$.cc.H:case R8$.cc.h:this.state=R8$.State.OP_H,this.hdr=0,this.ma=P8$();break;case R8$.cc.P:case R8$.cc.p:this.state=R8$.State.OP_P;break;case R8$.cc.PLUS:this.state=R8$.State.OP_PLUS;break;case R8$.cc.MINUS:this.state=R8$.State.OP_MINUS;break;case R8$.cc.I:case R8$.cc.i:this.state=R8$.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_H:switch(Q){case R8$.cc.M:case R8$.cc.m:this.state=R8$.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_M:switch(Q){case R8$.cc.S:case R8$.cc.s:this.state=R8$.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_MS:switch(Q){case R8$.cc.G:case R8$.cc.g:this.state=R8$.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_MSG:switch(Q){case R8$.cc.SPACE:case R8$.cc.TAB:this.state=R8$.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_MSG_SPC:switch(Q){case R8$.cc.SPACE:case R8$.cc.TAB:continue;default:this.state=R8$.State.MSG_ARG,this.as=Z}break;case R8$.State.MSG_ARG:switch(Q){case R8$.cc.CR:this.drop=1;break;case R8$.cc.NL:{let X=this.argBuf?this.argBuf.bytes():$.subarray(this.as,Z-this.drop);this.processMsgArgs(X),this.drop=0,this.as=Z+1,this.state=R8$.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(Q)}break;case R8$.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let X=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:R8$.Kind.MSG,msg:this.ma,data:X}),this.argBuf=void 0,this.msgBuf=void 0,this.state=R8$.State.MSG_END}else{let X=this.ma.size-this.msgBuf.length,Y=$.length-Z;if(Y<X)X=Y;if(X>0)this.msgBuf.write($.subarray(Z,Z+X)),Z=Z+X-1;else this.msgBuf.writeByte(Q)}else if(Z-this.as>=this.ma.size)this.dispatcher.push({kind:R8$.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=R8$.State.MSG_END;break;case R8$.State.MSG_END:switch(Q){case R8$.cc.NL:this.drop=0,this.as=Z+1,this.state=R8$.State.OP_START;break;default:continue}break;case R8$.State.OP_PLUS:switch(Q){case R8$.cc.O:case R8$.cc.o:this.state=R8$.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_PLUS_O:switch(Q){case R8$.cc.K:case R8$.cc.k:this.state=R8$.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_PLUS_OK:switch(Q){case R8$.cc.NL:this.dispatcher.push({kind:R8$.Kind.OK}),this.drop=0,this.state=R8$.State.OP_START;break}break;case R8$.State.OP_MINUS:switch(Q){case R8$.cc.E:case R8$.cc.e:this.state=R8$.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_MINUS_E:switch(Q){case R8$.cc.R:case R8$.cc.r:this.state=R8$.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_MINUS_ER:switch(Q){case R8$.cc.R:case R8$.cc.r:this.state=R8$.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_MINUS_ERR:switch(Q){case R8$.cc.SPACE:case R8$.cc.TAB:this.state=R8$.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_MINUS_ERR_SPC:switch(Q){case R8$.cc.SPACE:case R8$.cc.TAB:continue;default:this.state=R8$.State.MINUS_ERR_ARG,this.as=Z}break;case R8$.State.MINUS_ERR_ARG:switch(Q){case R8$.cc.CR:this.drop=1;break;case R8$.cc.NL:{let X;if(this.argBuf)X=this.argBuf.bytes(),this.argBuf=void 0;else X=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:R8$.Kind.ERR,data:X}),this.drop=0,this.as=Z+1,this.state=R8$.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(Q))}break;case R8$.State.OP_P:switch(Q){case R8$.cc.I:case R8$.cc.i:this.state=R8$.State.OP_PI;break;case R8$.cc.O:case R8$.cc.o:this.state=R8$.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_PO:switch(Q){case R8$.cc.N:case R8$.cc.n:this.state=R8$.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_PON:switch(Q){case R8$.cc.G:case R8$.cc.g:this.state=R8$.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_PONG:switch(Q){case R8$.cc.NL:this.dispatcher.push({kind:R8$.Kind.PONG}),this.drop=0,this.state=R8$.State.OP_START;break}break;case R8$.State.OP_PI:switch(Q){case R8$.cc.N:case R8$.cc.n:this.state=R8$.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_PIN:switch(Q){case R8$.cc.G:case R8$.cc.g:this.state=R8$.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_PING:switch(Q){case R8$.cc.NL:this.dispatcher.push({kind:R8$.Kind.PING}),this.drop=0,this.state=R8$.State.OP_START;break}break;case R8$.State.OP_I:switch(Q){case R8$.cc.N:case R8$.cc.n:this.state=R8$.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_IN:switch(Q){case R8$.cc.F:case R8$.cc.f:this.state=R8$.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_INF:switch(Q){case R8$.cc.O:case R8$.cc.o:this.state=R8$.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_INFO:switch(Q){case R8$.cc.SPACE:case R8$.cc.TAB:this.state=R8$.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case R8$.State.OP_INFO_SPC:switch(Q){case R8$.cc.SPACE:case R8$.cc.TAB:continue;default:this.state=R8$.State.INFO_ARG,this.as=Z}break;case R8$.State.INFO_ARG:switch(Q){case R8$.cc.CR:this.drop=1;break;case R8$.cc.NL:{let X;if(this.argBuf)X=this.argBuf.bytes(),this.argBuf=void 0;else X=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:R8$.Kind.INFO,data:X}),this.drop=0,this.as=Z+1,this.state=R8$.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(Q)}break;default:throw this.fail($.subarray(Z))}}if((this.state===R8$.State.MSG_ARG||this.state===R8$.State.MINUS_ERR_ARG||this.state===R8$.State.INFO_ARG)&&!this.argBuf)this.argBuf=new Er0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===R8$.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new Er0.DenoBuffer($.subarray(this.as))}}cloneMsgArg(){let $=this.ma.subject.length,Z=this.ma.reply?this.ma.reply.length:0,Q=new Uint8Array($+Z);if(Q.set(this.ma.subject),this.ma.reply)Q.set(this.ma.reply,$);if(this.argBuf=new Er0.DenoBuffer(Q),this.ma.subject=Q.subarray(0,$),this.ma.reply)this.ma.reply=Q.subarray($)}processMsgArgs($){if(this.hdr>=0)return this.processHeaderMsgArgs($);let Z=[],Q=-1;for(let X=0;X<$.length;X++)switch($[X]){case R8$.cc.SPACE:case R8$.cc.TAB:case R8$.cc.CR:case R8$.cc.NL:if(Q>=0)Z.push($.subarray(Q,X)),Q=-1;break;default:if(Q<0)Q=X}if(Q>=0)Z.push($.subarray(Q));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],hg);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],hg);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}: ${zr0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],Q=-1;for(let X=0;X<$.length;X++)switch($[X]){case R8$.cc.SPACE:case R8$.cc.TAB:case R8$.cc.CR:case R8$.cc.NL:if(Q>=0)Z.push($.subarray(Q,X)),Q=-1;break;default:if(Q<0)Q=X}if(Q>=0)Z.push($.subarray(Q));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],hg),this.ma.size=this.protoParseInt(Z[3],hg);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],hg),this.ma.size=this.protoParseInt(Z[4],hg);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 Q=0;for(let X=0;X<$.length;X++){if($[X]<A8$||$[X]>p94)return-1;Q=Q*10+($[X]-A8$)}return Z!==void 0&&Q>Z?-1:Q}}R8$.Parser=T8$;R8$.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};R8$.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 vX0=v((q8$)=>{Object.defineProperty(q8$,"__esModule",{value:!0});q8$.MsgHdrsImpl=void 0;q8$.canonicalMIMEHeaderKey=Tr0;q8$.headers=o94;var I8$=RJ(),LK=aO(),_X0=IJ();function Tr0($){let F=!0,U=Array($.length);for(let N=0;N<$.length;N++){let B=$.charCodeAt(N);if(B===58||B<33||B>126)throw _X0.InvalidArgumentError.format("header",`'${$[N]}' is not a valid character in a header name`);if(F&&97<=B&&B<=122)B-=32;else if(!F&&65<=B&&B<=90)B+=32;U[N]=B,F=B==45}return String.fromCharCode(...U)}function o94($=0,Z=""){if($===0&&Z!=="")throw _X0.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw _X0.InvalidArgumentError.format("description","is required");return new ug($,Z)}var Ar0="NATS/1.0";class ug{_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,Q]of this.headers){let X=$.values(Z);if(Q.length!==X.length)return!1;let Y=[...Q].sort(),J=[...X].sort();for(let G=0;G<Y.length;G++)if(Y[G]!==J[G])return!1}return!0}return!1}static decode($){let Z=new ug,X=I8$.TD.decode($).split(`\r
|
|
1944
1944
|
`),Y=X[0];if(Y!==Ar0){let J=Y.replace(Ar0,"").trim();if(J.length>0){if(Z._code=parseInt(J,10),isNaN(Z._code))Z._code=0;let G=Z._code.toString();J=J.replace(G,""),Z._description=J.trim()}}if(X.length>=1)X.slice(1).map((J)=>{if(J){let G=J.indexOf(":");if(G>-1){let K=J.slice(0,G),W=J.slice(G+1).trim();Z.append(K,W)}}});return Z}toString(){if(this.headers.size===0&&this._code===0)return"";let $=Ar0;if(this._code>0&&this._description!=="")$+=` ${this._code} ${this._description}`;for(let[Z,Q]of this.headers)for(let X=0;X<Q.length;X++)$=`${$}\r
|
|
1945
1945
|
${Z}: ${Q[X]}`;return`${$}\r
|
|
@@ -4708,7 +4708,7 @@ ${Z}`}:X)}}var kX8=D(()=>{P9()});async function Bu6($,Z,Q){if(!$)return!1;let X=
|
|
|
4708
4708
|
AND date >= {since:Date} AND date <= {until:Date}
|
|
4709
4709
|
GROUP BY ${X}
|
|
4710
4710
|
ORDER BY pageviews DESC
|
|
4711
|
-
LIMIT 50`,{slug:$,since:Z,until:Q})).map((J)=>({key:J.key,pageviews:Number(J.pageviews),visitors:Number(J.visitors)}))}async function aJ8($){let{since:Z,until:Q}=sJ8(90),X=await eJ8($,Z,Q);return[...new Set(X.map(vk0))]}async function yS0($){let Z=$.get("studioContext");if(!Yz(Z))return $.json({error:"Unauthorized"},401);let Q=t(Z),X=$.req.param("site");if(!X)return $.json({error:"site is required"},400);let Y=X.toLowerCase();if(!await Z.storage.orgSites.isOwnedBy(Y,Q.id))return $.json({error:"Site not found in organization"},404);return{slug:Y}}var Sl6,Cl6,oJ8,i3="site_id IN (SELECT id FROM default.dim_sites WHERE name = {slug:String})",hl6,ll6="https://deco.lilstts.com/plausible",ml6=12000,dl6,$G8=()=>{let $=new Y1;return $.get("/:site/cdn/data",async(Z)=>{let Q=await yS0(Z);if(Q instanceof Response)return Q;if(!Bb())return Z.json({available:!1,error:"Monitor is not configured"});let X=Z.req.query("view")??"summary";if(!Sl6.has(X))return Z.json({error:`unknown or unavailable view: ${X}`},400);let Y=Z.req.query("range")??"7d",J=QL1(Y,Z.req.query("since"),Z.req.query("until"));if(!J)return Z.json({error:`unknown range: ${Y}`},400);let{slug:G}=Q,{since:K,until:W}=J,H=rJ8(Z.req.query("filters"));try{let F;switch(X){case"summary":F=await vl6(G,K,W,H);break;case"timeline":F=await xl6(G,K,W,J.granularity,H);break;case"cache-status":F=await fl6(G,K,W,H);break;case"status-codes":F=await bl6(G,K,W,H);break;case"top-paths":F=await yl6(G,K,W,Z.req.query("groupByPath")==="1",H);break;case"top-countries":F=await gl6(G,K,W,H);break}return Z.json({available:!0,view:X,range:Y,data:F})}catch(F){return console.error(`[monitor] cdn ${X} query failed for site="${G}":`,F),Z.json({error:"Failed to query monitor warehouse"},502)}}),$.get("/:site/audience/data",async(Z)=>{let Q=await yS0(Z);if(Q instanceof Response)return Q;if(!Bb())return Z.json({available:!1,error:"Monitor is not configured"});let X=Z.req.query("view")??"summary";if(!hl6.has(X))return Z.json({error:`unknown or unavailable view: ${X}`},400);let Y=Z.req.query("range")??"7d",J=QL1(Y,Z.req.query("since"),Z.req.query("until"));if(!J)return Z.json({error:`unknown range: ${Y}`},400);let{slug:G}=Q,{since:K,until:W}=J;try{let H;switch(X){case"summary":H=await ul6(G,K,W);break;case"timeline":H=await cl6(G,K,W);break;case"top-sources":H=await XL1(G,K,W,"utm_source");break;case"top-countries":H=await XL1(G,K,W,"country");break;case"devices":H=await XL1(G,K,W,"device_type");break}return Z.json({available:!0,view:X,range:Y,data:H})}catch(H){return console.error(`[monitor] audience ${X} query failed for site="${G}":`,H),Z.json({error:"Failed to query monitor warehouse"},502)}}),$.get("/:site/hosts",async(Z)=>{let Q=await yS0(Z);if(Q instanceof Response)return Q;let{slug:X}=Q;if(!Bb())return Z.json({available:!1,hosts:[]});try{let Y=await aJ8(X);return Z.json({available:!0,hosts:Y})}catch(Y){return console.error(`[monitor] hosts failed for site="${X}":`,Y),Z.json({available:!0,hosts:[]})}}),$.get("/:site/onedollar",async(Z)=>{let Q=await yS0(Z);if(Q instanceof Response)return Q;let{slug:X}=Q,Y=k0().oneDollarStatsApiKey;if(!Y)return Z.json({available:!1,error:"OneDollarStats not configured"});let J=Z.req.query("report")??"kpis",G=dl6[J];if(!G)return Z.json({error:`unknown report: ${J}`},400);let K=Z.req.query("range")??"7d",W=QL1(K,Z.req.query("since"),Z.req.query("until"));if(!W)return Z.json({error:`unknown range: ${K}`},400);let H=await aJ8(X),F=Z.req.query("host"),U=F&&H.includes(F)?F:H[0];if(!U)return Z.json({available:!0,report:J,range:K,results:[]});let{since:N,until:B}=W,O=J==="timeseries"?W.granularity==="hourly"?"time:hour":"time:day":G.dimension,L={page:"event:page",source:"visit:referrer",referrer:"visit:referrer",country:"visit:country",browser:"visit:browser",os:"visit:os",device:"visit:device",utm_campaign:"visit:utm_campaign",utm_source:"visit:utm_source",utm_medium:"visit:utm_medium",utm_content:"visit:utm_content",utm_term:"visit:utm_term"},w={equals:"is",not_equals:"is_not",contains:"contains",not_contains:"contains_not"},j=rJ8(Z.req.query("filters")).map((z)=>{let P=L[z.field],A=w[z.op];return P&&A?[A,P,[z.value]]:null}).filter(Boolean),E=async(z)=>{let P=await fetch(ll6,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":Y,Accept:"application/json"},body:JSON.stringify({site_id:U,metrics:G.metrics,date_range:z,...O?{dimensions:[O]}:{},...G.order?{order_by:[[G.order,"desc"]]}:{},...j.length?{filters:j}:{},pagination:{limit:100,offset:0}}),signal:AbortSignal.timeout(ml6)});if(!P.ok)throw Error(`OneDollarStats ${P.status}`);return(await P.json().catch(()=>null))?.results??[]};try{let z=await E([N,B]),P;if(J==="kpis"||J==="timeseries"&&Z.req.query("compare")==="1"){let I=Date.parse(`${N}T00:00:00Z`),V=86400000,q=gS0(new Date(I-86400000)),C=gS0(new Date(I-W.days*86400000));P=await E([C,q]).catch(()=>{return})}return Z.json({available:!0,report:J,range:K,host:U,metrics:G.metrics,results:z,...P?{previous:P}:{}})}catch(z){return console.error(`[monitor] onedollar ${J} failed for host="${U}":`,z),Z.json({error:"Failed to reach OneDollarStats"},502)}}),$};var ZG8=D(()=>{i$();A$();hB1();uB1();Sl6=new Set(["summary","timeline","cache-status","status-codes","top-paths","top-countries"]),Cl6={today:{days:1,granularity:"hourly"},yesterday:{days:1,granularity:"hourly",endOffsetDays:1},"7d":{days:7,granularity:"daily"},"14d":{days:14,granularity:"daily"},"30d":{days:30,granularity:"daily"},"90d":{days:90,granularity:"daily"},"180d":{days:180,granularity:"daily"},"1y":{days:365,granularity:"daily"}};oJ8=/^\d{4}-\d{2}-\d{2}$/;hl6=new Set(["summary","timeline","top-sources","top-countries","devices"]);dl6={kpis:{metrics:["visitors","visits","pageviews","bounce_rate","visit_duration"]},timeseries:{metrics:["pageviews","visits","visitors","bounce_rate","visit_duration"]},pages:{metrics:["pageviews","visitors"],dimension:"event:page",order:"pageviews"},sources:{metrics:["visitors"],dimension:"visit:referrer",order:"visitors"},countries:{metrics:["visitors"],dimension:"visit:country",order:"visitors"},browsers:{metrics:["visitors"],dimension:"visit:browser",order:"visitors"},os:{metrics:["visitors"],dimension:"visit:os",order:"visitors"},devices:{metrics:["visitors"],dimension:"visit:device",order:"visitors"},events:{metrics:["visitors","events"],dimension:"event:name",order:"events"},utm_campaign:{metrics:["visitors","events"],dimension:"visit:utm_campaign",order:"events"},utm_source:{metrics:["visitors","events"],dimension:"visit:utm_source",order:"events"},utm_medium:{metrics:["visitors","events"],dimension:"visit:utm_medium",order:"events"},utm_content:{metrics:["visitors","events"],dimension:"visit:utm_content",order:"events"},utm_term:{metrics:["visitors","events"],dimension:"visit:utm_term",order:"events"}}});import{timingSafeEqual as il6}from"crypto";function fd($){let Q=$?.match(/^Bearer\s+(.+)$/i)?.[1]?.trim();return Q?Q:null}function YL1($,Z){let Q=Buffer.from($),X=Buffer.from(Z);return Q.length===X.length&&il6(Q,X)}function bd($){let Z=process.env.VAULT_SERVICE_TOKEN;return!!Z&&YL1($,Z)}function QG8($){if(!$)return null;return $ instanceof Date?$.toISOString():$}function pl6($){if(!$)return[];if(Array.isArray($))return $.filter((Z)=>typeof Z==="string");if(typeof $!=="string")return[];try{let Z=JSON.parse($);return Array.isArray(Z)?Z.filter((Q)=>typeof Q==="string"):[]}catch{return[]}}async function XG8($,Z,Q){let X=fd($.req.header("authorization"));if(!X)return{ok:!1,response:$.json({error:"Unauthorized"},401)};let Y=$.get("studioContext"),J=Y.organization?.id;if(!J)return{ok:!1,response:$.json({error:"Organization context required"},403)};if(bd(X))return{ok:!0,ctx:Y,organizationId:J};let G=await Y.storage.connectionCredentialVault.authenticateWorkloadToken(X);if(!G||G.organizationId!==J)return{ok:!1,response:$.json({error:"Unauthorized"},401)};let K=await Y.storage.connections.findById(G.subjectConnectionId,J);if(!K||K.status!=="active")return{ok:!1,response:$.json({error:"Unauthorized"},401)};if(!await Y.storage.connectionCredentialVault.hasGrant({organizationId:J,subjectConnectionId:G.subjectConnectionId,targetConnectionId:Z,scope:Q}))return{ok:!1,response:$.json({error:"Forbidden"},403)};return{ok:!0,ctx:Y,organizationId:J}}var YG8=()=>{let $=new Y1;return $.post("/vault/connections/batch",async(Z)=>{let Q=fd(Z.req.header("authorization"));if(!Q||!bd(Q))return Z.json({error:"Unauthorized"},401);let X=Z.get("studioContext"),Y=X.organization?.id;if(!Y)return Z.json({error:"Organization context required"},403);let J=await Z.req.json().catch(()=>null),G=Array.isArray(J?.connectionIds)?[...new Set(J.connectionIds)].filter((B)=>typeof B==="string"&&B.length>0):[];if(G.length===0||G.length>20)return Z.json({error:"connectionIds must be a non-empty string array (max 20)"},400);let{items:K}=await X.storage.connections.list(Y,{includeVirtual:!0,where:{field:["id"],operator:"in",value:G},limit:G.length}),W=new Map(K.map((B)=>[B.id,B])),H=new Set((await X.db.selectFrom("downstream_tokens").select("connectionId").where("connectionId","in",G).execute()).map((B)=>B.connectionId)),F=new Map((await X.db.selectFrom("connections").select(["id","configuration_state","connection_token"]).where("id","in",G).where("organization_id","=",Y).execute()).map((B)=>[B.id,B])),U=new C5(X.db,X.vault),N={};return await Promise.all(G.map(async(B)=>{try{let O=W.get(B);if(!O||O.status!=="active"){N[B]={error:"Connection not found"};return}if(F.get(B)?.configuration_state&&!O.configuration_state){N[B]={error:"MCP configuration could not be decrypted"};return}let L={type:"mcp_configuration",state:O.configuration_state??{},scopes:O.configuration_scopes??[]},w=null;if(H.has(B)){let j=await mJ({connectionId:B,connectionUrl:O.connection_url,tokenStorage:U});if(j.state==="valid"||j.state==="refreshed"){let E=await U.get(B);w={type:"oauth_access_token",tokenType:"Bearer",accessToken:j.accessToken,expiresAt:QG8(E?.expiresAt??null),scope:E?.scope??null}}}else if(O.connection_token)w={type:"static_token",tokenType:"Bearer",accessToken:O.connection_token,expiresAt:null,scope:null};else if(F.get(B)?.connection_token){N[B]={error:"Connection token could not be decrypted"};return}N[B]={configuration:L,accessToken:w}}catch(O){N[B]={error:O instanceof Error?O.message:String(O)}}})),Z.header("Cache-Control","no-store"),Z.header("Pragma","no-cache"),Z.json(N)}),$.post("/vault/connections/:connectionId/access-token",async(Z)=>{let Q=Z.req.param("connectionId"),X=await XG8(Z,Q,DG0);if(!X.ok)return X.response;let{ctx:Y,organizationId:J}=X,G=await Y.storage.connections.findById(Q,J);if(!G||G.status!=="active")return Z.json({error:"Connection not found"},404);let K=new C5(Y.db,Y.vault),W=await mJ({connectionId:Q,connectionUrl:G.connection_url,tokenStorage:K});if(W.state==="missing"){if(G.connection_token)return Z.header("Cache-Control","no-store"),Z.header("Pragma","no-cache"),Z.json({type:"static_token",tokenType:"Bearer",accessToken:G.connection_token,expiresAt:null,scope:null});if((await Y.db.selectFrom("connections").select("connection_token").where("id","=",Q).where("organization_id","=",J).executeTakeFirst())?.connection_token)return Z.json({error:"Connection token could not be decrypted"},424);return Z.json({error:"Downstream token not found"},409)}if(W.state==="expired_without_refresh"||W.state==="refresh_failed")return Z.json({error:"Downstream token refresh failed"},424);let H=await K.get(Q);return Z.header("Cache-Control","no-store"),Z.header("Pragma","no-cache"),Z.json({type:"oauth_access_token",tokenType:"Bearer",accessToken:W.accessToken,expiresAt:QG8(H?.expiresAt??null),scope:H?.scope??null})}),$.post("/vault/connections/:connectionId/configuration",async(Z)=>{let Q=Z.req.param("connectionId"),X=await XG8(Z,Q,LG0);if(!X.ok)return X.response;let{ctx:Y,organizationId:J}=X,G=await Y.db.selectFrom("connections").select(["status","configuration_state","configuration_scopes"]).where("id","=",Q).where("organization_id","=",J).executeTakeFirst();if(!G||G.status!=="active")return Z.json({error:"Connection not found"},404);let K={};if(G.configuration_state)try{let W=await Y.vault.decrypt(G.configuration_state),H=JSON.parse(W);if(typeof H!=="object"||H===null||Array.isArray(H))throw Error("MCP configuration state is not an object");K=H}catch{return Z.json({error:"MCP configuration could not be decrypted"},424)}return Z.header("Cache-Control","no-store"),Z.header("Pragma","no-cache"),Z.json({type:"mcp_configuration",state:K,scopes:pl6(G.configuration_scopes)})}),$};var O80=D(()=>{i$();K3();wG0();tK()});import{createHmac as nl6}from"crypto";import{mkdir as tl6,writeFile as ol6}from"fs/promises";import{dirname as rl6,join as KG8}from"path";function sl6($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return KG8(al6,Z)}function JG8($,Z){let Q=sl6($),X=gG(Z);return KG8(Q,X)}function GG8($,Z,Q,X,Y){let J=k0().encryptionKey||"dev-secret",G=`${$}:${Z}:${Q}:${X}`,K=nl6("sha256",J).update(G).digest("hex");return YL1(Y,K)}function JL1($){let Z=$.split(".").pop()?.toLowerCase()||"";return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",pdf:"application/pdf",json:"application/json",xml:"application/xml",txt:"text/plain",html:"text/html",htm:"text/html",css:"text/css",csv:"text/csv",md:"text/markdown",js:"application/javascript",mjs:"application/javascript",ts:"application/typescript",mp4:"video/mp4",webm:"video/webm",avi:"video/x-msvideo",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf"}[Z]||"application/octet-stream"}var al6="./data/assets",hS0=($)=>{let Z=new Y1,Q=$.orgFromPath?"/*":"/:orgId/*";return Z.get(Q,async(X)=>{let Y=$.orgFromPath?X.get("studioContext")?.organization?.id:X.req.param("orgId");if(!Y)return X.json({error:"Missing organization context"},500);let J=$.orgFromPath?`/api/${X.req.param("org")??""}/dev-assets/`:`/api/dev-assets/${Y}/`,G=X.req.path.replace(J,"");if(!G)return X.json({error:"Missing key"},400);let K=X.req.query("expires"),W=X.req.query("signature"),H=X.req.query("method");if(!K||!W||H!=="GET")return X.json({error:"Invalid or missing signature parameters"},400);let F=parseInt(K,10);if(!Number.isFinite(F))return X.json({error:"Invalid expires parameter"},400);let U=Math.floor(Date.now()/1000);if(F<U)return X.json({error:"URL has expired"},403);if(!GG8(Y,G,F,"GET",W))return X.json({error:"Invalid signature"},403);let N=JG8(Y,G);try{let B=Bun.file(N);if(!await B.exists())return X.json({error:"File not found"},404);let L=JL1(G);return new Response(B.stream(),{headers:{"Content-Type":L,"Content-Length":B.size.toString(),"Cache-Control":"private, max-age=3600"}})}catch(B){return console.error("Error serving file:",B),X.json({error:"Failed to read file"},500)}}),Z.put(Q,async(X)=>{let Y=$.orgFromPath?X.get("studioContext")?.organization?.id:X.req.param("orgId");if(!Y)return X.json({error:"Missing organization context"},500);let J=$.orgFromPath?`/api/${X.req.param("org")??""}/dev-assets/`:`/api/dev-assets/${Y}/`,G=X.req.path.replace(J,"");if(!G)return X.json({error:"Missing key"},400);let K=X.req.query("expires"),W=X.req.query("signature"),H=X.req.query("method");if(!K||!W||H!=="PUT")return X.json({error:"Invalid or missing signature parameters"},400);let F=parseInt(K,10);if(!Number.isFinite(F))return X.json({error:"Invalid expires parameter"},400);let U=Math.floor(Date.now()/1000);if(F<U)return X.json({error:"URL has expired"},403);if(!GG8(Y,G,F,"PUT",W))return X.json({error:"Invalid signature"},403);let N=JG8(Y,G),B=rl6(N);try{await tl6(B,{recursive:!0});let O=await X.req.arrayBuffer();return await ol6(N,Buffer.from(O)),X.json({success:!0,key:G})}catch(O){return console.error("Error saving file:",O),X.json({error:"Failed to save file"},500)}}),Z};var uS0=D(()=>{i$();A$();HK();O80()});function GL1($){let Z=new URL(el6);return Z.searchParams.set("client_id",$.clientId),Z.searchParams.set("redirect_uri",$.redirectUri),Z.searchParams.set("state",$.state),Z.toString()}function $m6($,Z=200){let Q=$!==null&&typeof $==="object"?$:{};if(typeof Q.error==="string"){let X=typeof Q.error_description==="string"?` (${Q.error_description})`:"";throw new I1({provider:"github",status:400,message:`GitHub OAuth code exchange failed: ${Q.error}${X}`})}if(typeof Q.access_token!=="string"||Q.access_token.length===0)throw new I1({provider:"github",status:Z,message:"GitHub OAuth code exchange returned no access token"});return{accessToken:Q.access_token,refreshToken:typeof Q.refresh_token==="string"&&Q.refresh_token.length>0?Q.refresh_token:null,expiresIn:typeof Q.expires_in==="number"&&Number.isFinite(Q.expires_in)?Q.expires_in:null,scope:typeof Q.scope==="string"&&Q.scope.length>0?Q.scope:null,tokenEndpoint:WG8}}async function HG8($){let Z;try{Z=await fetch(WG8,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({client_id:$.clientId,client_secret:$.clientSecret,code:$.code,redirect_uri:$.redirectUri}),signal:AbortSignal.timeout(n51)})}catch(Y){throw new I1({provider:"github",status:0,message:`GitHub OAuth code exchange failed: ${Y instanceof Error?Y.message:String(Y)}`,cause:Y})}let Q=await Z.text();if(!Z.ok)throw new I1({provider:"github",status:Z.status,message:`GitHub OAuth code exchange failed: ${Z.status} ${Q.slice(0,300)}`});let X;try{X=JSON.parse(Q)}catch(Y){throw new I1({provider:"github",status:Z.status,message:`GitHub OAuth code exchange returned invalid JSON: ${Q.slice(0,300)}`,cause:Y})}return $m6(X,Z.status)}var el6="https://github.com/login/oauth/authorize",WG8="https://github.com/login/oauth/access_token";var FG8=D(()=>{Q7();Mc()});function UG8($){let Z=new URL(`https://${$.host}/oauth/authorize`);return Z.searchParams.set("client_id",$.clientId),Z.searchParams.set("redirect_uri",$.redirectUri),Z.searchParams.set("response_type","code"),Z.searchParams.set("state",$.state),Z.searchParams.set("scope",($.scopes??Zm6).join(" ")),Z.toString()}function Qm6($){return`https://${$}/oauth/token`}async function NG8($){let Z=Qm6($.host),Q=new URLSearchParams({grant_type:"authorization_code",client_id:$.clientId,client_secret:$.clientSecret,code:$.code,redirect_uri:$.redirectUri}),X;try{X=await fetch(Z,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"},body:Q,signal:AbortSignal.timeout(Xm6)})}catch(J){throw new I1({provider:"gitlab",status:0,message:`GitLab token exchange failed: ${Ym6(J)}`,cause:J})}let Y=await X.json().catch(()=>null);if(!X.ok||!Y||typeof Y.error==="string"){let J=Y&&typeof Y.error_description==="string"?Y.error_description:Y&&typeof Y.error==="string"?Y.error:X.statusText;throw new I1({provider:"gitlab",status:X.status,message:`GitLab token exchange failed (${X.status}): ${J}`})}if(typeof Y.access_token!=="string"||!Y.access_token)throw new I1({provider:"gitlab",status:X.status,message:"GitLab token exchange returned no access_token"});return{accessToken:Y.access_token,refreshToken:typeof Y.refresh_token==="string"&&Y.refresh_token?Y.refresh_token:null,expiresIn:typeof Y.expires_in==="number"&&Number.isFinite(Y.expires_in)?Y.expires_in:null,scope:typeof Y.scope==="string"?Y.scope:null,tokenEndpoint:Z}}function Ym6($){return $ instanceof Error?$.message:String($)}var Zm6,Xm6=15000;var BG8=D(()=>{Q7();Zm6=["api","read_user"]});function cS0($){if(!$)return"/";if(!$.startsWith("/")||$.startsWith("//")||$.includes("\\"))return"/";return $}function D80($){return`${M5()}/api/_git/${$}/callback`}function p3($,Z){let Q=new URL($,M5());if(Z)Q.searchParams.set("git_error",Z);return Q.toString()}async function KL1($,Z){let Q=$.organization?.id,X=$.auth.user?.id;if(!Q||!X)throw Error("Session with an organization is required");return $.storage.gitProviderOAuthStates.create({organizationId:Q,userId:X,...Z})}async function WL1($,Z,Q){if(!Q)return{ok:!1,error:"missing_state",returnTo:"/"};let X=await $.storage.gitProviderOAuthStates.consume(Q);if(!X||X.provider!==Z)return{ok:!1,error:"invalid_state",returnTo:"/"};let Y=cS0(X.returnTo);if($.auth.user?.id!==X.userId)return{ok:!1,error:"session_mismatch",returnTo:Y};return{ok:!0,state:X,returnTo:Y}}var OG8=()=>{let $=new Y1;return $.get("/git-providers/github/connect",async(Z)=>{let Q=Z.get("studioContext");if(!Q.auth.user)return Z.json({error:"Unauthorized"},401);let X=yL();if(!X)return Z.json({error:"GitHub App is not configured"},503);let Y=await KL1(Q,{provider:"github",host:"github.com",returnTo:cS0(Z.req.query("returnTo"))});return Z.redirect(GL1({clientId:X.clientId,redirectUri:D80("github"),state:Y}))}),$.get("/git-providers/github/install",async(Z)=>{let Q=Z.get("studioContext");if(!Q.auth.user)return Z.json({error:"Unauthorized"},401);let X=yL();if(!X)return Z.json({error:"GitHub App is not configured"},503);let Y=await KL1(Q,{provider:"github",host:"github.com",returnTo:cS0(Z.req.query("returnTo"))}),J=new URL(`https://github.com/apps/${encodeURIComponent(X.slug)}/installations/new`);return J.searchParams.set("state",Y),Z.redirect(J.toString())}),$.get("/git-providers/gitlab/connect",async(Z)=>{let Q=Z.get("studioContext");if(!Q.auth.user)return Z.json({error:"Unauthorized"},401);let X=iW0(),Y=(Z.req.query("host")??X?.host??"gitlab.com").trim().toLowerCase();if(!X||X.host!==Y)return Z.json({error:`No GitLab OAuth application is configured for ${Y}. Connect with an access token instead.`},503);let J=await KL1(Q,{provider:"gitlab",host:Y,returnTo:cS0(Z.req.query("returnTo"))});return Z.redirect(UG8({host:Y,clientId:X.clientId,redirectUri:D80("gitlab"),state:J}))}),$},L80;var HL1=D(()=>{i$();GB();V5();bW0();FG8();kP();BG8();L80=new Y1;L80.get("/github/callback",async($)=>{let Z=await mQ.create($.req.raw),Q=await WL1(Z,"github",$.req.query("state"));if(!Q.ok)return $.redirect(p3(Q.returnTo,Q.error));let{returnTo:X,state:Y}=Q,J=yL(),G=Vc(),K=$.req.query("code");if(!J||!G)return $.redirect(p3(X,"not_configured"));if(!K)return $.redirect(p3(X,$.req.query("error")??"denied"));try{let W=await HG8({clientId:J.clientId,clientSecret:J.clientSecret,code:K,redirectUri:D80("github")}),H=await G.listUserInstallations(W.accessToken);for(let F of H)await Z.storage.gitProviderAccounts.upsert({organizationId:Y.organizationId,type:"github",host:"github.com",authKind:"github_app",externalAccountId:String(F.installationId),login:F.login,avatarUrl:F.avatarUrl,installationId:F.installationId,createdBy:Y.userId});return $.redirect(p3(X,H.length===0?"no_installations":void 0))}catch(W){return console.error("[git-providers] github callback failed",{message:W instanceof Error?W.message:String(W)}),$.redirect(p3(X,"exchange_failed"))}});L80.get("/github/setup",async($)=>{let Z=await mQ.create($.req.raw),Q=await WL1(Z,"github",$.req.query("state"));if(!Q.ok)return $.redirect(p3(Q.returnTo,Q.error));let{returnTo:X,state:Y}=Q,J=yL();if(!J)return $.redirect(p3(X,"not_configured"));let G=await Z.storage.gitProviderOAuthStates.create(Y);return $.redirect(GL1({clientId:J.clientId,redirectUri:D80("github"),state:G}))});L80.get("/gitlab/callback",async($)=>{let Z=await mQ.create($.req.raw),Q=await WL1(Z,"gitlab",$.req.query("state"));if(!Q.ok)return $.redirect(p3(Q.returnTo,Q.error));let{returnTo:X,state:Y}=Q,{host:J}=Y,G=iW0(),K=$.req.query("code");if(!G||G.host!==J)return $.redirect(p3(X,"not_configured"));if(!K)return $.redirect(p3(X,$.req.query("error")??"denied"));try{let W=await NG8({host:J,clientId:G.clientId,clientSecret:G.clientSecret,code:K,redirectUri:D80("gitlab")}),H=await hW0(J,W.accessToken),F=await Z.storage.gitProviderAccounts.upsert({organizationId:Y.organizationId,type:"gitlab",host:J,authKind:"oauth",externalAccountId:H.externalAccountId,login:H.login,avatarUrl:H.avatarUrl,createdBy:Y.userId});return await Z.storage.gitProviderAccountCredentials.upsert({connectionId:F.id,accessToken:W.accessToken,refreshToken:W.refreshToken,scope:W.scope,expiresAt:W.expiresIn!==null?new Date(Date.now()+W.expiresIn*1000):null,clientId:G.clientId,clientSecret:G.clientSecret,tokenEndpoint:W.tokenEndpoint}),$.redirect(p3(X))}catch(W){return console.error("[git-providers] gitlab callback failed",{host:J,message:W instanceof Error?W.message:String(W)}),$.redirect(p3(X,"exchange_failed"))}})});var j80=v((Fm6)=>{Fm6.HttpAuthLocation=void 0;(function($){$.HEADER="header",$.QUERY="query"})(Fm6.HttpAuthLocation||(Fm6.HttpAuthLocation={}));Fm6.HttpApiKeyAuthLocation=void 0;(function($){$.HEADER="header",$.QUERY="query"})(Fm6.HttpApiKeyAuthLocation||(Fm6.HttpApiKeyAuthLocation={}));Fm6.EndpointURLScheme=void 0;(function($){$.HTTP="http",$.HTTPS="https"})(Fm6.EndpointURLScheme||(Fm6.EndpointURLScheme={}));Fm6.AlgorithmId=void 0;(function($){$.MD5="md5",$.CRC32="crc32",$.CRC32C="crc32c",$.SHA1="sha1",$.SHA256="sha256"})(Fm6.AlgorithmId||(Fm6.AlgorithmId={}));var Jm6=($)=>{let Z=[];if($.sha256!==void 0)Z.push({algorithmId:()=>Fm6.AlgorithmId.SHA256,checksumConstructor:()=>$.sha256});if($.md5!=null)Z.push({algorithmId:()=>Fm6.AlgorithmId.MD5,checksumConstructor:()=>$.md5});return{addChecksumAlgorithm(Q){Z.push(Q)},checksumAlgorithms(){return Z}}},Gm6=($)=>{let Z={};return $.checksumAlgorithms().forEach((Q)=>{Z[Q.algorithmId()]=Q.checksumConstructor()}),Z},Km6=($)=>{return Jm6($)},Wm6=($)=>{return Gm6($)};Fm6.FieldPosition=void 0;(function($){$[$.HEADER=0]="HEADER",$[$.TRAILER=1]="TRAILER"})(Fm6.FieldPosition||(Fm6.FieldPosition={}));var Hm6="__smithy_context";Fm6.IniSectionType=void 0;(function($){$.PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services"})(Fm6.IniSectionType||(Fm6.IniSectionType={}));Fm6.RequestHandlerProtocol=void 0;(function($){$.HTTP_0_9="http/0.9",$.HTTP_1_0="http/1.0",$.TDS_8_0="tds/8.0"})(Fm6.RequestHandlerProtocol||(Fm6.RequestHandlerProtocol={}));Fm6.SMITHY_CONTEXT_KEY=Hm6;Fm6.getDefaultClientConfiguration=Km6;Fm6.resolveDefaultRuntimeConfig=Wm6});var _L1=v((md6)=>{var EL1=K0("crypto"),LL1=K0("fs"),Om6=R80(),Dm6=I80(),JU=K0("stream"),PG8=($)=>typeof ArrayBuffer==="function"&&$ instanceof ArrayBuffer||Object.prototype.toString.call($)==="[object ArrayBuffer]",hd=($,Z=0,Q=$.byteLength-Z)=>{if(!PG8($))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof $} (${$})`);return Buffer.from($,Z,Q)},iS0=($,Z)=>{if(typeof $!=="string")throw TypeError(`The "input" argument must be of type string. Received type ${typeof $} (${$})`);return Z?Buffer.from($,Z):Buffer.from($)},Lm6=/^[A-Za-z0-9+/]*={0,2}$/,AG8=($)=>{if($.length*3%4!==0)throw TypeError("Incorrect padding on base64 string.");if(!Lm6.exec($))throw TypeError("Invalid base64 string.");let Z=iS0($,"base64");return new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength)},pS0=($)=>{let Z=iS0($,"utf8");return new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength/Uint8Array.BYTES_PER_ELEMENT)},RL1=($)=>{let Z;if(typeof $==="string")Z=pS0($);else Z=$;if(typeof Z!=="object"||typeof Z.byteOffset!=="number"||typeof Z.byteLength!=="number")throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return hd(Z.buffer,Z.byteOffset,Z.byteLength).toString("base64")};function wm6($,Z,Q,X){return class Y extends Uint8Array{static fromString(J,G="utf-8"){if(typeof J==="string"){if(G==="base64")return Y.mutate(X(J));return Y.mutate(Z(J))}throw Error(`Unsupported conversion from ${typeof J} to Uint8ArrayBlobAdapter.`)}static mutate(J){return Object.setPrototypeOf(J,Y.prototype),J}transformToString(J="utf-8"){if(J==="base64")return Q(this);return $(this)}}}var TG8=($)=>{if(typeof $==="string")return $;if(typeof $!=="object"||typeof $.byteOffset!=="number"||typeof $.byteLength!=="number")throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return hd($.buffer,$.byteOffset,$.byteLength).toString("utf8")},QX=Array.from({length:256},($,Z)=>Z.toString(16).padStart(2,"0"));function jm6($){if(typeof crypto<"u"&&typeof crypto.randomUUID==="function")return()=>crypto.randomUUID();return()=>{let Z=new Uint8Array(16);return $(Z),Z[6]=Z[6]&15|64,Z[8]=Z[8]&63|128,QX[Z[0]]+QX[Z[1]]+QX[Z[2]]+QX[Z[3]]+"-"+QX[Z[4]]+QX[Z[5]]+"-"+QX[Z[6]]+QX[Z[7]]+"-"+QX[Z[8]]+QX[Z[9]]+"-"+QX[Z[10]]+QX[Z[11]]+QX[Z[12]]+QX[Z[13]]+QX[Z[14]]+QX[Z[15]]}}var Em6=($,Z,Q=(X)=>X)=>$,zm6=($)=>{switch($){case"true":return!0;case"false":return!1;default:throw Error(`Unable to parse boolean value "${$}"`)}},Pm6=($)=>{if($===null||$===void 0)return;if(typeof $==="number"){if($===0||$===1)T80.warn(mS0(`Expected boolean, got ${typeof $}: ${$}`));if($===0)return!1;if($===1)return!0}if(typeof $==="string"){let Z=$.toLowerCase();if(Z==="false"||Z==="true")T80.warn(mS0(`Expected boolean, got ${typeof $}: ${$}`));if(Z==="false")return!1;if(Z==="true")return!0}if(typeof $==="boolean")return $;throw TypeError(`Expected boolean, got ${typeof $}: ${$}`)},P80=($)=>{if($===null||$===void 0)return;if(typeof $==="string"){let Z=parseFloat($);if(!Number.isNaN(Z)){if(String(Z)!==String($))T80.warn(mS0(`Expected number but observed string: ${$}`));return Z}}if(typeof $==="number")return $;throw TypeError(`Expected number, got ${typeof $}: ${$}`)},Am6=Math.ceil(340282346638528860000000000000000000000),lS0=($)=>{let Z=P80($);if(Z!==void 0&&!Number.isNaN(Z)&&Z!==1/0&&Z!==-1/0){if(Math.abs(Z)>Am6)throw TypeError(`Expected 32-bit float, got ${$}`)}return Z},A80=($)=>{if($===null||$===void 0)return;if(Number.isInteger($)&&!Number.isNaN($))return $;throw TypeError(`Expected integer, got ${typeof $}: ${$}`)},Tm6=A80,zL1=($)=>IL1($,32),PL1=($)=>IL1($,16),AL1=($)=>IL1($,8),IL1=($,Z)=>{let Q=A80($);if(Q!==void 0&&Rm6(Q,Z)!==Q)throw TypeError(`Expected ${Z}-bit integer, got ${$}`);return Q},Rm6=($,Z)=>{switch(Z){case 32:return Int32Array.of($)[0];case 16:return Int16Array.of($)[0];case 8:return Int8Array.of($)[0]}},Im6=($,Z)=>{if($===null||$===void 0){if(Z)throw TypeError(`Expected a non-null value for ${Z}`);throw TypeError("Expected a non-null value")}return $},RG8=($)=>{if($===null||$===void 0)return;if(typeof $==="object"&&!Array.isArray($))return $;let Z=Array.isArray($)?"array":typeof $;throw TypeError(`Expected object, got ${Z}: ${$}`)},qm6=($)=>{if($===null||$===void 0)return;if(typeof $==="string")return $;if(["boolean","number","bigint"].includes(typeof $))return T80.warn(mS0(`Expected string, got ${typeof $}: ${$}`)),String($);throw TypeError(`Expected string, got ${typeof $}: ${$}`)},Mm6=($)=>{if($===null||$===void 0)return;let Z=RG8($),Q=[];for(let X in Z)if(Z[X]!=null)Q.push(X);if(Q.length===0)throw TypeError("Unions must have exactly one non-null member. None were found.");if(Q.length>1)throw TypeError(`Unions must have exactly one non-null member. Keys ${Q} were not null.`);return Z},qL1=($)=>{if(typeof $=="string")return P80(ld($));return P80($)},Vm6=qL1,IG8=($)=>{if(typeof $=="string")return lS0(ld($));return lS0($)},km6=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,ld=($)=>{let Z=$.match(km6);if(Z===null||Z[0].length!==$.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat($)},ML1=($)=>{if(typeof $=="string")return qG8($);return P80($)},Sm6=ML1,Cm6=ML1,_m6=($)=>{if(typeof $=="string")return qG8($);return lS0($)},qG8=($)=>{switch($){case"NaN":return NaN;case"Infinity":return 1/0;case"-Infinity":return-1/0;default:throw Error(`Unable to parse float value: ${$}`)}},MG8=($)=>{if(typeof $==="string")return A80(ld($));return A80($)},vm6=MG8,xm6=($)=>{if(typeof $==="string")return zL1(ld($));return zL1($)},ud=($)=>{if(typeof $==="string")return PL1(ld($));return PL1($)},VG8=($)=>{if(typeof $==="string")return AL1(ld($));return AL1($)},mS0=($)=>{return String(TypeError($).stack||$).split(`
|
|
4711
|
+
LIMIT 50`,{slug:$,since:Z,until:Q})).map((J)=>({key:J.key,pageviews:Number(J.pageviews),visitors:Number(J.visitors)}))}async function aJ8($){let{since:Z,until:Q}=sJ8(90),X=await eJ8($,Z,Q);return[...new Set(X.map(vk0))]}async function yS0($){let Z=$.get("studioContext");if(!Yz(Z))return $.json({error:"Unauthorized"},401);let Q=t(Z),X=$.req.param("site");if(!X)return $.json({error:"site is required"},400);let Y=X.toLowerCase();if(!await Z.storage.orgSites.isOwnedBy(Y,Q.id))return $.json({error:"Site not found in organization"},404);return{slug:Y}}var Sl6,Cl6,oJ8,i3="site_id IN (SELECT id FROM default.dim_sites WHERE name = {slug:String})",hl6,ll6="https://deco.lilstts.com/plausible",ml6=12000,dl6,$G8=()=>{let $=new Y1;return $.get("/:site/cdn/data",async(Z)=>{let Q=await yS0(Z);if(Q instanceof Response)return Q;if(!Bb())return Z.json({available:!1,error:"Monitor is not configured"});let X=Z.req.query("view")??"summary";if(!Sl6.has(X))return Z.json({error:`unknown or unavailable view: ${X}`},400);let Y=Z.req.query("range")??"7d",J=QL1(Y,Z.req.query("since"),Z.req.query("until"));if(!J)return Z.json({error:`unknown range: ${Y}`},400);let{slug:G}=Q,{since:K,until:W}=J,H=rJ8(Z.req.query("filters"));try{let F;switch(X){case"summary":F=await vl6(G,K,W,H);break;case"timeline":F=await xl6(G,K,W,J.granularity,H);break;case"cache-status":F=await fl6(G,K,W,H);break;case"status-codes":F=await bl6(G,K,W,H);break;case"top-paths":F=await yl6(G,K,W,Z.req.query("groupByPath")==="1",H);break;case"top-countries":F=await gl6(G,K,W,H);break}return Z.json({available:!0,view:X,range:Y,data:F})}catch(F){return console.error(`[monitor] cdn ${X} query failed for site="${G}":`,F),Z.json({error:"Failed to query monitor warehouse"},502)}}),$.get("/:site/audience/data",async(Z)=>{let Q=await yS0(Z);if(Q instanceof Response)return Q;if(!Bb())return Z.json({available:!1,error:"Monitor is not configured"});let X=Z.req.query("view")??"summary";if(!hl6.has(X))return Z.json({error:`unknown or unavailable view: ${X}`},400);let Y=Z.req.query("range")??"7d",J=QL1(Y,Z.req.query("since"),Z.req.query("until"));if(!J)return Z.json({error:`unknown range: ${Y}`},400);let{slug:G}=Q,{since:K,until:W}=J;try{let H;switch(X){case"summary":H=await ul6(G,K,W);break;case"timeline":H=await cl6(G,K,W);break;case"top-sources":H=await XL1(G,K,W,"utm_source");break;case"top-countries":H=await XL1(G,K,W,"country");break;case"devices":H=await XL1(G,K,W,"device_type");break}return Z.json({available:!0,view:X,range:Y,data:H})}catch(H){return console.error(`[monitor] audience ${X} query failed for site="${G}":`,H),Z.json({error:"Failed to query monitor warehouse"},502)}}),$.get("/:site/hosts",async(Z)=>{let Q=await yS0(Z);if(Q instanceof Response)return Q;let{slug:X}=Q;if(!Bb())return Z.json({available:!1,hosts:[]});try{let Y=await aJ8(X);return Z.json({available:!0,hosts:Y})}catch(Y){return console.error(`[monitor] hosts failed for site="${X}":`,Y),Z.json({available:!0,hosts:[]})}}),$.get("/:site/onedollar",async(Z)=>{let Q=await yS0(Z);if(Q instanceof Response)return Q;let{slug:X}=Q,Y=k0().oneDollarStatsApiKey;if(!Y)return Z.json({available:!1,error:"OneDollarStats not configured"});let J=Z.req.query("report")??"kpis",G=dl6[J];if(!G)return Z.json({error:`unknown report: ${J}`},400);let K=Z.req.query("range")??"7d",W=QL1(K,Z.req.query("since"),Z.req.query("until"));if(!W)return Z.json({error:`unknown range: ${K}`},400);let H=await aJ8(X),F=Z.req.query("host"),U=F&&H.includes(F)?F:H[0];if(!U)return Z.json({available:!0,report:J,range:K,results:[]});let{since:N,until:B}=W,O=J==="timeseries"?W.granularity==="hourly"?"time:hour":"time:day":G.dimension,L={page:"event:page",source:"visit:referrer",referrer:"visit:referrer",country:"visit:country",browser:"visit:browser",os:"visit:os",device:"visit:device",utm_campaign:"visit:utm_campaign",utm_source:"visit:utm_source",utm_medium:"visit:utm_medium",utm_content:"visit:utm_content",utm_term:"visit:utm_term"},w={equals:"is",not_equals:"is_not",contains:"contains",not_contains:"contains_not"},j=rJ8(Z.req.query("filters")).map((z)=>{let P=L[z.field],A=w[z.op];return P&&A?[A,P,[z.value]]:null}).filter(Boolean),E=async(z)=>{let P=await fetch(ll6,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":Y,Accept:"application/json"},body:JSON.stringify({site_id:U,metrics:G.metrics,date_range:z,...O?{dimensions:[O]}:{},...G.order?{order_by:[[G.order,"desc"]]}:{},...j.length?{filters:j}:{},pagination:{limit:100,offset:0}}),signal:AbortSignal.timeout(ml6)});if(!P.ok)throw Error(`OneDollarStats ${P.status}`);return(await P.json().catch(()=>null))?.results??[]};try{let z=await E([N,B]),P;if(J==="kpis"||J==="timeseries"&&Z.req.query("compare")==="1"){let I=Date.parse(`${N}T00:00:00Z`),V=86400000,q=gS0(new Date(I-86400000)),C=gS0(new Date(I-W.days*86400000));P=await E([C,q]).catch(()=>{return})}return Z.json({available:!0,report:J,range:K,host:U,metrics:G.metrics,results:z,...P?{previous:P}:{}})}catch(z){return console.error(`[monitor] onedollar ${J} failed for host="${U}":`,z),Z.json({error:"Failed to reach OneDollarStats"},502)}}),$};var ZG8=D(()=>{i$();A$();hB1();uB1();Sl6=new Set(["summary","timeline","cache-status","status-codes","top-paths","top-countries"]),Cl6={today:{days:1,granularity:"hourly"},yesterday:{days:1,granularity:"hourly",endOffsetDays:1},"7d":{days:7,granularity:"daily"},"14d":{days:14,granularity:"daily"},"30d":{days:30,granularity:"daily"},"90d":{days:90,granularity:"daily"},"180d":{days:180,granularity:"daily"},"1y":{days:365,granularity:"daily"}};oJ8=/^\d{4}-\d{2}-\d{2}$/;hl6=new Set(["summary","timeline","top-sources","top-countries","devices"]);dl6={kpis:{metrics:["visitors","visits","pageviews","bounce_rate","visit_duration"]},timeseries:{metrics:["pageviews","visits","visitors","bounce_rate","visit_duration"]},pages:{metrics:["pageviews","visitors"],dimension:"event:page",order:"pageviews"},sources:{metrics:["visitors"],dimension:"visit:referrer",order:"visitors"},countries:{metrics:["visitors"],dimension:"visit:country",order:"visitors"},browsers:{metrics:["visitors"],dimension:"visit:browser",order:"visitors"},os:{metrics:["visitors"],dimension:"visit:os",order:"visitors"},devices:{metrics:["visitors"],dimension:"visit:device",order:"visitors"},events:{metrics:["visitors","events"],dimension:"event:name",order:"events"},utm_campaign:{metrics:["visitors","events"],dimension:"visit:utm_campaign",order:"events"},utm_source:{metrics:["visitors","events"],dimension:"visit:utm_source",order:"events"},utm_medium:{metrics:["visitors","events"],dimension:"visit:utm_medium",order:"events"},utm_content:{metrics:["visitors","events"],dimension:"visit:utm_content",order:"events"},utm_term:{metrics:["visitors","events"],dimension:"visit:utm_term",order:"events"}}});import{timingSafeEqual as il6}from"crypto";function fd($){let Q=$?.match(/^Bearer\s+(.+)$/i)?.[1]?.trim();return Q?Q:null}function YL1($,Z){let Q=Buffer.from($),X=Buffer.from(Z);return Q.length===X.length&&il6(Q,X)}function bd($){let Z=process.env.VAULT_SERVICE_TOKEN;return!!Z&&YL1($,Z)}function QG8($){if(!$)return null;return $ instanceof Date?$.toISOString():$}function pl6($){if(!$)return[];if(Array.isArray($))return $.filter((Z)=>typeof Z==="string");if(typeof $!=="string")return[];try{let Z=JSON.parse($);return Array.isArray(Z)?Z.filter((Q)=>typeof Q==="string"):[]}catch{return[]}}async function XG8($,Z,Q){let X=fd($.req.header("authorization"));if(!X)return{ok:!1,response:$.json({error:"Unauthorized"},401)};let Y=$.get("studioContext"),J=Y.organization?.id;if(!J)return{ok:!1,response:$.json({error:"Organization context required"},403)};if(bd(X))return{ok:!0,ctx:Y,organizationId:J};let G=await Y.storage.connectionCredentialVault.authenticateWorkloadToken(X);if(!G||G.organizationId!==J)return{ok:!1,response:$.json({error:"Unauthorized"},401)};let K=await Y.storage.connections.findById(G.subjectConnectionId,J);if(!K||K.status!=="active")return{ok:!1,response:$.json({error:"Unauthorized"},401)};if(!await Y.storage.connectionCredentialVault.hasGrant({organizationId:J,subjectConnectionId:G.subjectConnectionId,targetConnectionId:Z,scope:Q}))return{ok:!1,response:$.json({error:"Forbidden"},403)};return{ok:!0,ctx:Y,organizationId:J}}var YG8=()=>{let $=new Y1;return $.post("/vault/connections/batch",async(Z)=>{let Q=fd(Z.req.header("authorization"));if(!Q||!bd(Q))return Z.json({error:"Unauthorized"},401);let X=Z.get("studioContext"),Y=X.organization?.id;if(!Y)return Z.json({error:"Organization context required"},403);let J=await Z.req.json().catch(()=>null),G=Array.isArray(J?.connectionIds)?[...new Set(J.connectionIds)].filter((B)=>typeof B==="string"&&B.length>0):[];if(G.length===0||G.length>20)return Z.json({error:"connectionIds must be a non-empty string array (max 20)"},400);let{items:K}=await X.storage.connections.list(Y,{includeVirtual:!0,where:{field:["id"],operator:"in",value:G},limit:G.length}),W=new Map(K.map((B)=>[B.id,B])),H=new Set((await X.db.selectFrom("downstream_tokens").select("connectionId").where("connectionId","in",G).execute()).map((B)=>B.connectionId)),F=new Map((await X.db.selectFrom("connections").select(["id","configuration_state","connection_token"]).where("id","in",G).where("organization_id","=",Y).execute()).map((B)=>[B.id,B])),U=new C5(X.db,X.vault),N={};return await Promise.all(G.map(async(B)=>{try{let O=W.get(B);if(!O||O.status!=="active"){N[B]={error:"Connection not found"};return}if(F.get(B)?.configuration_state&&!O.configuration_state){N[B]={error:"MCP configuration could not be decrypted"};return}let L={type:"mcp_configuration",state:O.configuration_state??{},scopes:O.configuration_scopes??[]},w=null;if(H.has(B)){let j=await mJ({connectionId:B,connectionUrl:O.connection_url,tokenStorage:U});if(j.state==="valid"||j.state==="refreshed"){let E=await U.get(B);w={type:"oauth_access_token",tokenType:"Bearer",accessToken:j.accessToken,expiresAt:QG8(E?.expiresAt??null),scope:E?.scope??null}}}else if(O.connection_token)w={type:"static_token",tokenType:"Bearer",accessToken:O.connection_token,expiresAt:null,scope:null};else if(F.get(B)?.connection_token){N[B]={error:"Connection token could not be decrypted"};return}N[B]={configuration:L,accessToken:w}}catch(O){N[B]={error:O instanceof Error?O.message:String(O)}}})),Z.header("Cache-Control","no-store"),Z.header("Pragma","no-cache"),Z.json(N)}),$.post("/vault/connections/:connectionId/access-token",async(Z)=>{let Q=Z.req.param("connectionId"),X=await XG8(Z,Q,DG0);if(!X.ok)return X.response;let{ctx:Y,organizationId:J}=X,G=await Y.storage.connections.findById(Q,J);if(!G||G.status!=="active")return Z.json({error:"Connection not found"},404);let K=new C5(Y.db,Y.vault),W=await mJ({connectionId:Q,connectionUrl:G.connection_url,tokenStorage:K});if(W.state==="missing"){if(G.connection_token)return Z.header("Cache-Control","no-store"),Z.header("Pragma","no-cache"),Z.json({type:"static_token",tokenType:"Bearer",accessToken:G.connection_token,expiresAt:null,scope:null});if((await Y.db.selectFrom("connections").select("connection_token").where("id","=",Q).where("organization_id","=",J).executeTakeFirst())?.connection_token)return Z.json({error:"Connection token could not be decrypted"},424);return Z.json({error:"Downstream token not found"},409)}if(W.state==="expired_without_refresh"||W.state==="refresh_failed")return Z.json({error:"Downstream token refresh failed"},424);let H=await K.get(Q);return Z.header("Cache-Control","no-store"),Z.header("Pragma","no-cache"),Z.json({type:"oauth_access_token",tokenType:"Bearer",accessToken:W.accessToken,expiresAt:QG8(H?.expiresAt??null),scope:H?.scope??null})}),$.post("/vault/connections/:connectionId/configuration",async(Z)=>{let Q=Z.req.param("connectionId"),X=await XG8(Z,Q,LG0);if(!X.ok)return X.response;let{ctx:Y,organizationId:J}=X,G=await Y.db.selectFrom("connections").select(["status","configuration_state","configuration_scopes"]).where("id","=",Q).where("organization_id","=",J).executeTakeFirst();if(!G||G.status!=="active")return Z.json({error:"Connection not found"},404);let K={};if(G.configuration_state)try{let W=await Y.vault.decrypt(G.configuration_state),H=JSON.parse(W);if(typeof H!=="object"||H===null||Array.isArray(H))throw Error("MCP configuration state is not an object");K=H}catch{return Z.json({error:"MCP configuration could not be decrypted"},424)}return Z.header("Cache-Control","no-store"),Z.header("Pragma","no-cache"),Z.json({type:"mcp_configuration",state:K,scopes:pl6(G.configuration_scopes)})}),$};var O80=D(()=>{i$();K3();wG0();tK()});import{createHmac as nl6}from"crypto";import{mkdir as tl6,writeFile as ol6}from"fs/promises";import{dirname as rl6,join as KG8}from"path";function sl6($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return KG8(al6,Z)}function JG8($,Z){let Q=sl6($),X=gG(Z);return KG8(Q,X)}function GG8($,Z,Q,X,Y){let J=k0().encryptionKey||"dev-secret",G=`${$}:${Z}:${Q}:${X}`,K=nl6("sha256",J).update(G).digest("hex");return YL1(Y,K)}function JL1($){let Z=$.split(".").pop()?.toLowerCase()||"";return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",pdf:"application/pdf",json:"application/json",xml:"application/xml",txt:"text/plain",html:"text/html",htm:"text/html",css:"text/css",csv:"text/csv",md:"text/markdown",js:"application/javascript",mjs:"application/javascript",ts:"application/typescript",mp4:"video/mp4",webm:"video/webm",avi:"video/x-msvideo",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf"}[Z]||"application/octet-stream"}var al6="./data/assets",hS0=($)=>{let Z=new Y1,Q=$.orgFromPath?"/*":"/:orgId/*";return Z.get(Q,async(X)=>{let Y=$.orgFromPath?X.get("studioContext")?.organization?.id:X.req.param("orgId");if(!Y)return X.json({error:"Missing organization context"},500);let J=$.orgFromPath?`/api/${X.req.param("org")??""}/dev-assets/`:`/api/dev-assets/${Y}/`,G=X.req.path.replace(J,"");if(!G)return X.json({error:"Missing key"},400);let K=X.req.query("expires"),W=X.req.query("signature"),H=X.req.query("method");if(!K||!W||H!=="GET")return X.json({error:"Invalid or missing signature parameters"},400);let F=parseInt(K,10);if(!Number.isFinite(F))return X.json({error:"Invalid expires parameter"},400);let U=Math.floor(Date.now()/1000);if(F<U)return X.json({error:"URL has expired"},403);if(!GG8(Y,G,F,"GET",W))return X.json({error:"Invalid signature"},403);let N=JG8(Y,G);try{let B=Bun.file(N);if(!await B.exists())return X.json({error:"File not found"},404);let L=JL1(G);return new Response(B.stream(),{headers:{"Content-Type":L,"Content-Length":B.size.toString(),"Cache-Control":"private, max-age=3600"}})}catch(B){return console.error("Error serving file:",B),X.json({error:"Failed to read file"},500)}}),Z.put(Q,async(X)=>{let Y=$.orgFromPath?X.get("studioContext")?.organization?.id:X.req.param("orgId");if(!Y)return X.json({error:"Missing organization context"},500);let J=$.orgFromPath?`/api/${X.req.param("org")??""}/dev-assets/`:`/api/dev-assets/${Y}/`,G=X.req.path.replace(J,"");if(!G)return X.json({error:"Missing key"},400);let K=X.req.query("expires"),W=X.req.query("signature"),H=X.req.query("method");if(!K||!W||H!=="PUT")return X.json({error:"Invalid or missing signature parameters"},400);let F=parseInt(K,10);if(!Number.isFinite(F))return X.json({error:"Invalid expires parameter"},400);let U=Math.floor(Date.now()/1000);if(F<U)return X.json({error:"URL has expired"},403);if(!GG8(Y,G,F,"PUT",W))return X.json({error:"Invalid signature"},403);let N=JG8(Y,G),B=rl6(N);try{await tl6(B,{recursive:!0});let O=await X.req.arrayBuffer();return await ol6(N,Buffer.from(O)),X.json({success:!0,key:G})}catch(O){return console.error("Error saving file:",O),X.json({error:"Failed to save file"},500)}}),Z};var uS0=D(()=>{i$();A$();HK();O80()});function GL1($){let Z=new URL(el6);if(Z.searchParams.set("client_id",$.clientId),Z.searchParams.set("redirect_uri",$.redirectUri),Z.searchParams.set("state",$.state),$.selectAccount)Z.searchParams.set("prompt","select_account");return Z.toString()}function $m6($,Z=200){let Q=$!==null&&typeof $==="object"?$:{};if(typeof Q.error==="string"){let X=typeof Q.error_description==="string"?` (${Q.error_description})`:"";throw new I1({provider:"github",status:400,message:`GitHub OAuth code exchange failed: ${Q.error}${X}`})}if(typeof Q.access_token!=="string"||Q.access_token.length===0)throw new I1({provider:"github",status:Z,message:"GitHub OAuth code exchange returned no access token"});return{accessToken:Q.access_token,refreshToken:typeof Q.refresh_token==="string"&&Q.refresh_token.length>0?Q.refresh_token:null,expiresIn:typeof Q.expires_in==="number"&&Number.isFinite(Q.expires_in)?Q.expires_in:null,scope:typeof Q.scope==="string"&&Q.scope.length>0?Q.scope:null,tokenEndpoint:WG8}}async function HG8($){let Z;try{Z=await fetch(WG8,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({client_id:$.clientId,client_secret:$.clientSecret,code:$.code,redirect_uri:$.redirectUri}),signal:AbortSignal.timeout(n51)})}catch(Y){throw new I1({provider:"github",status:0,message:`GitHub OAuth code exchange failed: ${Y instanceof Error?Y.message:String(Y)}`,cause:Y})}let Q=await Z.text();if(!Z.ok)throw new I1({provider:"github",status:Z.status,message:`GitHub OAuth code exchange failed: ${Z.status} ${Q.slice(0,300)}`});let X;try{X=JSON.parse(Q)}catch(Y){throw new I1({provider:"github",status:Z.status,message:`GitHub OAuth code exchange returned invalid JSON: ${Q.slice(0,300)}`,cause:Y})}return $m6(X,Z.status)}var el6="https://github.com/login/oauth/authorize",WG8="https://github.com/login/oauth/access_token";var FG8=D(()=>{Q7();Mc()});function UG8($){let Z=new URL(`https://${$.host}/oauth/authorize`);return Z.searchParams.set("client_id",$.clientId),Z.searchParams.set("redirect_uri",$.redirectUri),Z.searchParams.set("response_type","code"),Z.searchParams.set("state",$.state),Z.searchParams.set("scope",($.scopes??Zm6).join(" ")),Z.toString()}function Qm6($){return`https://${$}/oauth/token`}async function NG8($){let Z=Qm6($.host),Q=new URLSearchParams({grant_type:"authorization_code",client_id:$.clientId,client_secret:$.clientSecret,code:$.code,redirect_uri:$.redirectUri}),X;try{X=await fetch(Z,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"},body:Q,signal:AbortSignal.timeout(Xm6)})}catch(J){throw new I1({provider:"gitlab",status:0,message:`GitLab token exchange failed: ${Ym6(J)}`,cause:J})}let Y=await X.json().catch(()=>null);if(!X.ok||!Y||typeof Y.error==="string"){let J=Y&&typeof Y.error_description==="string"?Y.error_description:Y&&typeof Y.error==="string"?Y.error:X.statusText;throw new I1({provider:"gitlab",status:X.status,message:`GitLab token exchange failed (${X.status}): ${J}`})}if(typeof Y.access_token!=="string"||!Y.access_token)throw new I1({provider:"gitlab",status:X.status,message:"GitLab token exchange returned no access_token"});return{accessToken:Y.access_token,refreshToken:typeof Y.refresh_token==="string"&&Y.refresh_token?Y.refresh_token:null,expiresIn:typeof Y.expires_in==="number"&&Number.isFinite(Y.expires_in)?Y.expires_in:null,scope:typeof Y.scope==="string"?Y.scope:null,tokenEndpoint:Z}}function Ym6($){return $ instanceof Error?$.message:String($)}var Zm6,Xm6=15000;var BG8=D(()=>{Q7();Zm6=["api","read_user"]});function cS0($){if(!$)return"/";if(!$.startsWith("/")||$.startsWith("//")||$.includes("\\"))return"/";return $}function D80($){return`${M5()}/api/_git/${$}/callback`}function p3($,Z){let Q=new URL($,M5());if(Z)Q.searchParams.set("git_error",Z);return Q.toString()}async function KL1($,Z){let Q=$.organization?.id,X=$.auth.user?.id;if(!Q||!X)throw Error("Session with an organization is required");return $.storage.gitProviderOAuthStates.create({organizationId:Q,userId:X,...Z})}async function WL1($,Z,Q){if(!Q)return{ok:!1,error:"missing_state",returnTo:"/"};let X=await $.storage.gitProviderOAuthStates.consume(Q);if(!X||X.provider!==Z)return{ok:!1,error:"invalid_state",returnTo:"/"};let Y=cS0(X.returnTo);if($.auth.user?.id!==X.userId)return{ok:!1,error:"session_mismatch",returnTo:Y};return{ok:!0,state:X,returnTo:Y}}var OG8=()=>{let $=new Y1;return $.get("/git-providers/github/connect",async(Z)=>{let Q=Z.get("studioContext");if(!Q.auth.user)return Z.json({error:"Unauthorized"},401);let X=yL();if(!X)return Z.json({error:"GitHub App is not configured"},503);let Y=await KL1(Q,{provider:"github",host:"github.com",returnTo:cS0(Z.req.query("returnTo"))});return Z.redirect(GL1({clientId:X.clientId,redirectUri:D80("github"),state:Y,selectAccount:!0}))}),$.get("/git-providers/github/install",async(Z)=>{let Q=Z.get("studioContext");if(!Q.auth.user)return Z.json({error:"Unauthorized"},401);let X=yL();if(!X)return Z.json({error:"GitHub App is not configured"},503);let Y=await KL1(Q,{provider:"github",host:"github.com",returnTo:cS0(Z.req.query("returnTo"))}),J=new URL(`https://github.com/apps/${encodeURIComponent(X.slug)}/installations/new`);return J.searchParams.set("state",Y),Z.redirect(J.toString())}),$.get("/git-providers/gitlab/connect",async(Z)=>{let Q=Z.get("studioContext");if(!Q.auth.user)return Z.json({error:"Unauthorized"},401);let X=iW0(),Y=(Z.req.query("host")??X?.host??"gitlab.com").trim().toLowerCase();if(!X||X.host!==Y)return Z.json({error:`No GitLab OAuth application is configured for ${Y}. Connect with an access token instead.`},503);let J=await KL1(Q,{provider:"gitlab",host:Y,returnTo:cS0(Z.req.query("returnTo"))});return Z.redirect(UG8({host:Y,clientId:X.clientId,redirectUri:D80("gitlab"),state:J}))}),$},L80;var HL1=D(()=>{i$();GB();V5();bW0();FG8();kP();BG8();L80=new Y1;L80.get("/github/callback",async($)=>{let Z=await mQ.create($.req.raw),Q=await WL1(Z,"github",$.req.query("state"));if(!Q.ok)return $.redirect(p3(Q.returnTo,Q.error));let{returnTo:X,state:Y}=Q,J=yL(),G=Vc(),K=$.req.query("code");if(!J||!G)return $.redirect(p3(X,"not_configured"));if(!K)return $.redirect(p3(X,$.req.query("error")??"denied"));try{let W=await HG8({clientId:J.clientId,clientSecret:J.clientSecret,code:K,redirectUri:D80("github")}),H=await G.listUserInstallations(W.accessToken);for(let F of H)await Z.storage.gitProviderAccounts.upsert({organizationId:Y.organizationId,type:"github",host:"github.com",authKind:"github_app",externalAccountId:String(F.installationId),login:F.login,avatarUrl:F.avatarUrl,installationId:F.installationId,createdBy:Y.userId});return $.redirect(p3(X,H.length===0?"no_installations":void 0))}catch(W){return console.error("[git-providers] github callback failed",{message:W instanceof Error?W.message:String(W)}),$.redirect(p3(X,"exchange_failed"))}});L80.get("/github/setup",async($)=>{let Z=await mQ.create($.req.raw),Q=await WL1(Z,"github",$.req.query("state"));if(!Q.ok)return $.redirect(p3(Q.returnTo,Q.error));let{returnTo:X,state:Y}=Q,J=yL();if(!J)return $.redirect(p3(X,"not_configured"));let G=await Z.storage.gitProviderOAuthStates.create(Y);return $.redirect(GL1({clientId:J.clientId,redirectUri:D80("github"),state:G}))});L80.get("/gitlab/callback",async($)=>{let Z=await mQ.create($.req.raw),Q=await WL1(Z,"gitlab",$.req.query("state"));if(!Q.ok)return $.redirect(p3(Q.returnTo,Q.error));let{returnTo:X,state:Y}=Q,{host:J}=Y,G=iW0(),K=$.req.query("code");if(!G||G.host!==J)return $.redirect(p3(X,"not_configured"));if(!K)return $.redirect(p3(X,$.req.query("error")??"denied"));try{let W=await NG8({host:J,clientId:G.clientId,clientSecret:G.clientSecret,code:K,redirectUri:D80("gitlab")}),H=await hW0(J,W.accessToken),F=await Z.storage.gitProviderAccounts.upsert({organizationId:Y.organizationId,type:"gitlab",host:J,authKind:"oauth",externalAccountId:H.externalAccountId,login:H.login,avatarUrl:H.avatarUrl,createdBy:Y.userId});return await Z.storage.gitProviderAccountCredentials.upsert({connectionId:F.id,accessToken:W.accessToken,refreshToken:W.refreshToken,scope:W.scope,expiresAt:W.expiresIn!==null?new Date(Date.now()+W.expiresIn*1000):null,clientId:G.clientId,clientSecret:G.clientSecret,tokenEndpoint:W.tokenEndpoint}),$.redirect(p3(X))}catch(W){return console.error("[git-providers] gitlab callback failed",{host:J,message:W instanceof Error?W.message:String(W)}),$.redirect(p3(X,"exchange_failed"))}})});var j80=v((Fm6)=>{Fm6.HttpAuthLocation=void 0;(function($){$.HEADER="header",$.QUERY="query"})(Fm6.HttpAuthLocation||(Fm6.HttpAuthLocation={}));Fm6.HttpApiKeyAuthLocation=void 0;(function($){$.HEADER="header",$.QUERY="query"})(Fm6.HttpApiKeyAuthLocation||(Fm6.HttpApiKeyAuthLocation={}));Fm6.EndpointURLScheme=void 0;(function($){$.HTTP="http",$.HTTPS="https"})(Fm6.EndpointURLScheme||(Fm6.EndpointURLScheme={}));Fm6.AlgorithmId=void 0;(function($){$.MD5="md5",$.CRC32="crc32",$.CRC32C="crc32c",$.SHA1="sha1",$.SHA256="sha256"})(Fm6.AlgorithmId||(Fm6.AlgorithmId={}));var Jm6=($)=>{let Z=[];if($.sha256!==void 0)Z.push({algorithmId:()=>Fm6.AlgorithmId.SHA256,checksumConstructor:()=>$.sha256});if($.md5!=null)Z.push({algorithmId:()=>Fm6.AlgorithmId.MD5,checksumConstructor:()=>$.md5});return{addChecksumAlgorithm(Q){Z.push(Q)},checksumAlgorithms(){return Z}}},Gm6=($)=>{let Z={};return $.checksumAlgorithms().forEach((Q)=>{Z[Q.algorithmId()]=Q.checksumConstructor()}),Z},Km6=($)=>{return Jm6($)},Wm6=($)=>{return Gm6($)};Fm6.FieldPosition=void 0;(function($){$[$.HEADER=0]="HEADER",$[$.TRAILER=1]="TRAILER"})(Fm6.FieldPosition||(Fm6.FieldPosition={}));var Hm6="__smithy_context";Fm6.IniSectionType=void 0;(function($){$.PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services"})(Fm6.IniSectionType||(Fm6.IniSectionType={}));Fm6.RequestHandlerProtocol=void 0;(function($){$.HTTP_0_9="http/0.9",$.HTTP_1_0="http/1.0",$.TDS_8_0="tds/8.0"})(Fm6.RequestHandlerProtocol||(Fm6.RequestHandlerProtocol={}));Fm6.SMITHY_CONTEXT_KEY=Hm6;Fm6.getDefaultClientConfiguration=Km6;Fm6.resolveDefaultRuntimeConfig=Wm6});var _L1=v((md6)=>{var EL1=K0("crypto"),LL1=K0("fs"),Om6=R80(),Dm6=I80(),JU=K0("stream"),PG8=($)=>typeof ArrayBuffer==="function"&&$ instanceof ArrayBuffer||Object.prototype.toString.call($)==="[object ArrayBuffer]",hd=($,Z=0,Q=$.byteLength-Z)=>{if(!PG8($))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof $} (${$})`);return Buffer.from($,Z,Q)},iS0=($,Z)=>{if(typeof $!=="string")throw TypeError(`The "input" argument must be of type string. Received type ${typeof $} (${$})`);return Z?Buffer.from($,Z):Buffer.from($)},Lm6=/^[A-Za-z0-9+/]*={0,2}$/,AG8=($)=>{if($.length*3%4!==0)throw TypeError("Incorrect padding on base64 string.");if(!Lm6.exec($))throw TypeError("Invalid base64 string.");let Z=iS0($,"base64");return new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength)},pS0=($)=>{let Z=iS0($,"utf8");return new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength/Uint8Array.BYTES_PER_ELEMENT)},RL1=($)=>{let Z;if(typeof $==="string")Z=pS0($);else Z=$;if(typeof Z!=="object"||typeof Z.byteOffset!=="number"||typeof Z.byteLength!=="number")throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return hd(Z.buffer,Z.byteOffset,Z.byteLength).toString("base64")};function wm6($,Z,Q,X){return class Y extends Uint8Array{static fromString(J,G="utf-8"){if(typeof J==="string"){if(G==="base64")return Y.mutate(X(J));return Y.mutate(Z(J))}throw Error(`Unsupported conversion from ${typeof J} to Uint8ArrayBlobAdapter.`)}static mutate(J){return Object.setPrototypeOf(J,Y.prototype),J}transformToString(J="utf-8"){if(J==="base64")return Q(this);return $(this)}}}var TG8=($)=>{if(typeof $==="string")return $;if(typeof $!=="object"||typeof $.byteOffset!=="number"||typeof $.byteLength!=="number")throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return hd($.buffer,$.byteOffset,$.byteLength).toString("utf8")},QX=Array.from({length:256},($,Z)=>Z.toString(16).padStart(2,"0"));function jm6($){if(typeof crypto<"u"&&typeof crypto.randomUUID==="function")return()=>crypto.randomUUID();return()=>{let Z=new Uint8Array(16);return $(Z),Z[6]=Z[6]&15|64,Z[8]=Z[8]&63|128,QX[Z[0]]+QX[Z[1]]+QX[Z[2]]+QX[Z[3]]+"-"+QX[Z[4]]+QX[Z[5]]+"-"+QX[Z[6]]+QX[Z[7]]+"-"+QX[Z[8]]+QX[Z[9]]+"-"+QX[Z[10]]+QX[Z[11]]+QX[Z[12]]+QX[Z[13]]+QX[Z[14]]+QX[Z[15]]}}var Em6=($,Z,Q=(X)=>X)=>$,zm6=($)=>{switch($){case"true":return!0;case"false":return!1;default:throw Error(`Unable to parse boolean value "${$}"`)}},Pm6=($)=>{if($===null||$===void 0)return;if(typeof $==="number"){if($===0||$===1)T80.warn(mS0(`Expected boolean, got ${typeof $}: ${$}`));if($===0)return!1;if($===1)return!0}if(typeof $==="string"){let Z=$.toLowerCase();if(Z==="false"||Z==="true")T80.warn(mS0(`Expected boolean, got ${typeof $}: ${$}`));if(Z==="false")return!1;if(Z==="true")return!0}if(typeof $==="boolean")return $;throw TypeError(`Expected boolean, got ${typeof $}: ${$}`)},P80=($)=>{if($===null||$===void 0)return;if(typeof $==="string"){let Z=parseFloat($);if(!Number.isNaN(Z)){if(String(Z)!==String($))T80.warn(mS0(`Expected number but observed string: ${$}`));return Z}}if(typeof $==="number")return $;throw TypeError(`Expected number, got ${typeof $}: ${$}`)},Am6=Math.ceil(340282346638528860000000000000000000000),lS0=($)=>{let Z=P80($);if(Z!==void 0&&!Number.isNaN(Z)&&Z!==1/0&&Z!==-1/0){if(Math.abs(Z)>Am6)throw TypeError(`Expected 32-bit float, got ${$}`)}return Z},A80=($)=>{if($===null||$===void 0)return;if(Number.isInteger($)&&!Number.isNaN($))return $;throw TypeError(`Expected integer, got ${typeof $}: ${$}`)},Tm6=A80,zL1=($)=>IL1($,32),PL1=($)=>IL1($,16),AL1=($)=>IL1($,8),IL1=($,Z)=>{let Q=A80($);if(Q!==void 0&&Rm6(Q,Z)!==Q)throw TypeError(`Expected ${Z}-bit integer, got ${$}`);return Q},Rm6=($,Z)=>{switch(Z){case 32:return Int32Array.of($)[0];case 16:return Int16Array.of($)[0];case 8:return Int8Array.of($)[0]}},Im6=($,Z)=>{if($===null||$===void 0){if(Z)throw TypeError(`Expected a non-null value for ${Z}`);throw TypeError("Expected a non-null value")}return $},RG8=($)=>{if($===null||$===void 0)return;if(typeof $==="object"&&!Array.isArray($))return $;let Z=Array.isArray($)?"array":typeof $;throw TypeError(`Expected object, got ${Z}: ${$}`)},qm6=($)=>{if($===null||$===void 0)return;if(typeof $==="string")return $;if(["boolean","number","bigint"].includes(typeof $))return T80.warn(mS0(`Expected string, got ${typeof $}: ${$}`)),String($);throw TypeError(`Expected string, got ${typeof $}: ${$}`)},Mm6=($)=>{if($===null||$===void 0)return;let Z=RG8($),Q=[];for(let X in Z)if(Z[X]!=null)Q.push(X);if(Q.length===0)throw TypeError("Unions must have exactly one non-null member. None were found.");if(Q.length>1)throw TypeError(`Unions must have exactly one non-null member. Keys ${Q} were not null.`);return Z},qL1=($)=>{if(typeof $=="string")return P80(ld($));return P80($)},Vm6=qL1,IG8=($)=>{if(typeof $=="string")return lS0(ld($));return lS0($)},km6=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,ld=($)=>{let Z=$.match(km6);if(Z===null||Z[0].length!==$.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat($)},ML1=($)=>{if(typeof $=="string")return qG8($);return P80($)},Sm6=ML1,Cm6=ML1,_m6=($)=>{if(typeof $=="string")return qG8($);return lS0($)},qG8=($)=>{switch($){case"NaN":return NaN;case"Infinity":return 1/0;case"-Infinity":return-1/0;default:throw Error(`Unable to parse float value: ${$}`)}},MG8=($)=>{if(typeof $==="string")return A80(ld($));return A80($)},vm6=MG8,xm6=($)=>{if(typeof $==="string")return zL1(ld($));return zL1($)},ud=($)=>{if(typeof $==="string")return PL1(ld($));return PL1($)},VG8=($)=>{if(typeof $==="string")return AL1(ld($));return AL1($)},mS0=($)=>{return String(TypeError($).stack||$).split(`
|
|
4712
4712
|
`).slice(0,5).filter((Z)=>!Z.includes("stackTraceWarning")).join(`
|
|
4713
4713
|
`)},T80={warn:console.warn},fm6=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],VL1=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function bm6($){let Z=$.getUTCFullYear(),Q=$.getUTCMonth(),X=$.getUTCDay(),Y=$.getUTCDate(),J=$.getUTCHours(),G=$.getUTCMinutes(),K=$.getUTCSeconds(),W=Y<10?`0${Y}`:`${Y}`,H=J<10?`0${J}`:`${J}`,F=G<10?`0${G}`:`${G}`,U=K<10?`0${K}`:`${K}`;return`${fm6[X]}, ${W} ${VL1[Q]} ${Z} ${H}:${F}:${U} GMT`}var ym6=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),gm6=($)=>{if($===null||$===void 0)return;if(typeof $!=="string")throw TypeError("RFC-3339 date-times must be expressed as strings");let Z=ym6.exec($);if(!Z)throw TypeError("Invalid RFC-3339 date-time value");let[Q,X,Y,J,G,K,W,H]=Z,F=ud(cd(X)),U=GU(Y,"month",1,12),N=GU(J,"day",1,31);return E80(F,U,N,{hours:G,minutes:K,seconds:W,fractionalMilliseconds:H})},hm6=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),um6=($)=>{if($===null||$===void 0)return;if(typeof $!=="string")throw TypeError("RFC-3339 date-times must be expressed as strings");let Z=hm6.exec($);if(!Z)throw TypeError("Invalid RFC-3339 date-time value");let[Q,X,Y,J,G,K,W,H,F]=Z,U=ud(cd(X)),N=GU(Y,"month",1,12),B=GU(J,"day",1,31),O=E80(U,N,B,{hours:G,minutes:K,seconds:W,fractionalMilliseconds:H});if(F.toUpperCase()!="Z")O.setTime(O.getTime()-em6(F));return O},cm6=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),lm6=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),mm6=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),dm6=($)=>{if($===null||$===void 0)return;if(typeof $!=="string")throw TypeError("RFC-7231 date-times must be expressed as strings");let Z=cm6.exec($);if(Z){let[Q,X,Y,J,G,K,W,H]=Z;return E80(ud(cd(J)),wL1(Y),GU(X,"day",1,31),{hours:G,minutes:K,seconds:W,fractionalMilliseconds:H})}if(Z=lm6.exec($),Z){let[Q,X,Y,J,G,K,W,H]=Z;return tm6(E80(pm6(J),wL1(Y),GU(X,"day",1,31),{hours:G,minutes:K,seconds:W,fractionalMilliseconds:H}))}if(Z=mm6.exec($),Z){let[Q,X,Y,J,G,K,W,H]=Z;return E80(ud(cd(H)),wL1(X),GU(Y.trimLeft(),"day",1,31),{hours:J,minutes:G,seconds:K,fractionalMilliseconds:W})}throw TypeError("Invalid RFC-7231 date-time value")},im6=($)=>{if($===null||$===void 0)return;let Z;if(typeof $==="number")Z=$;else if(typeof $==="string")Z=qL1($);else if(typeof $==="object"&&$.tag===1)Z=$.value;else throw TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(Z)||Z===1/0||Z===-1/0)throw TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(Z*1000))},E80=($,Z,Q,X)=>{let Y=Z-1;return rm6($,Y,Q),new Date(Date.UTC($,Y,Q,GU(X.hours,"hour",0,23),GU(X.minutes,"minute",0,59),GU(X.seconds,"seconds",0,60),sm6(X.fractionalMilliseconds)))},pm6=($)=>{let Z=new Date().getUTCFullYear(),Q=Math.floor(Z/100)*100+ud(cd($));if(Q<Z)return Q+100;return Q},nm6=1576800000000,tm6=($)=>{if($.getTime()-new Date().getTime()>nm6)return new Date(Date.UTC($.getUTCFullYear()-100,$.getUTCMonth(),$.getUTCDate(),$.getUTCHours(),$.getUTCMinutes(),$.getUTCSeconds(),$.getUTCMilliseconds()));return $},wL1=($)=>{let Z=VL1.indexOf($);if(Z<0)throw TypeError(`Invalid month: ${$}`);return Z+1},om6=[31,28,31,30,31,30,31,31,30,31,30,31],rm6=($,Z,Q)=>{let X=om6[Z];if(Z===1&&am6($))X=29;if(Q>X)throw TypeError(`Invalid day for ${VL1[Z]} in ${$}: ${Q}`)},am6=($)=>{return $%4===0&&($%100!==0||$%400===0)},GU=($,Z,Q,X)=>{let Y=VG8(cd($));if(Y<Q||Y>X)throw TypeError(`${Z} must be between ${Q} and ${X}, inclusive`);return Y},sm6=($)=>{if($===null||$===void 0)return 0;return IG8("0."+$)*1000},em6=($)=>{let Z=$[0],Q=1;if(Z=="+")Q=1;else if(Z=="-")Q=-1;else throw TypeError(`Offset direction, ${Z}, must be "+" or "-"`);let X=Number($.substring(1,3)),Y=Number($.substring(4,6));return Q*(X*60+Y)*60*1000},cd=($)=>{let Z=0;while(Z<$.length-1&&$.charAt(Z)==="0")Z++;if(Z===0)return $;return $.slice(Z)},Rb=function(Z){return Object.assign(new String(Z),{deserializeJSON(){return JSON.parse(String(Z))},toString(){return String(Z)},toJSON(){return String(Z)}})};Rb.from=($)=>{if($&&typeof $==="object"&&($ instanceof Rb||("deserializeJSON"in $)))return $;else if(typeof $==="string"||Object.getPrototypeOf($)===String.prototype)return Rb(String($));return Rb(JSON.stringify($))};Rb.fromObject=Rb.from;function $d6($){if($.includes(",")||$.includes('"'))$=`"${$.replace(/"/g,"\\\"")}"`;return $}var kL1="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",SL1="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",CL1="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",kG8="(\\d?\\d)",SG8="(\\d{4})",Zd6=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),Qd6=new RegExp(`^${kL1}, ${kG8} ${SL1} ${SG8} ${CL1} GMT$`),Xd6=new RegExp(`^${kL1}, ${kG8}-${SL1}-(\\d\\d) ${CL1} GMT$`),Yd6=new RegExp(`^${kL1} ${SL1} ( [1-9]|\\d\\d) ${CL1} ${SG8}$`),Jd6=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Gd6=($)=>{if($==null)return;let Z=NaN;if(typeof $==="number")Z=$;else if(typeof $==="string"){if(!/^-?\d*\.?\d+$/.test($))throw TypeError("parseEpochTimestamp - numeric string invalid.");Z=Number.parseFloat($)}else if(typeof $==="object"&&$.tag===1)Z=$.value;if(isNaN(Z)||Math.abs(Z)===1/0)throw TypeError("Epoch timestamps must be valid finite numbers.");return new Date(Math.round(Z*1000))},Kd6=($)=>{if($==null)return;if(typeof $!=="string")throw TypeError("RFC3339 timestamps must be strings");let Z=Zd6.exec($);if(!Z)throw TypeError(`Invalid RFC3339 timestamp format ${$}`);let[,Q,X,Y,J,G,K,,W,H]=Z;bB(X,1,12),bB(Y,1,31),bB(J,0,23),bB(G,0,59),bB(K,0,60);let F=new Date(Date.UTC(Number(Q),Number(X)-1,Number(Y),Number(J),Number(G),Number(K),Number(W)?Math.round(parseFloat(`0.${W}`)*1000):0));if(F.setUTCFullYear(Number(Q)),H.toUpperCase()!="Z"){let[,U,N,B]=/([+-])(\d\d):(\d\d)/.exec(H)||[void 0,"+",0,0],O=U==="-"?1:-1;F.setTime(F.getTime()+O*(Number(N)*60*60*1000+Number(B)*60*1000))}return F},Wd6=($)=>{if($==null)return;if(typeof $!=="string")throw TypeError("RFC7231 timestamps must be strings.");let Z,Q,X,Y,J,G,K,W;if(W=Qd6.exec($))[,Z,Q,X,Y,J,G,K]=W;else if(W=Xd6.exec($))[,Z,Q,X,Y,J,G,K]=W,X=(Number(X)+1900).toString();else if(W=Yd6.exec($))[,Q,Z,Y,J,G,K,X]=W;if(X&&G){let H=Date.UTC(Number(X),Jd6.indexOf(Q),Number(Z),Number(Y),Number(J),Number(G),K?Math.round(parseFloat(`0.${K}`)*1000):0);bB(Z,1,31),bB(Y,0,23),bB(J,0,59),bB(G,0,60);let F=new Date(H);return F.setUTCFullYear(Number(X)),F}throw TypeError(`Invalid RFC7231 date-time value ${$}.`)};function bB($,Z,Q){let X=Number($);if(X<Z||X>Q)throw Error(`Value ${X} out of range [${Z}, ${Q}]`)}function Hd6($,Z,Q){if(Q<=0||!Number.isInteger(Q))throw Error("Invalid number of delimiters ("+Q+") for splitEvery.");let X=$.split(Z);if(Q===1)return X;let Y=[],J="";for(let G=0;G<X.length;G++){if(J==="")J=X[G];else J+=Z+X[G];if((G+1)%Q===0)Y.push(J),J=""}if(J!=="")Y.push(J);return Y}var Fd6=($)=>{let Z=$.length,Q=[],X=!1,Y=void 0,J=0;for(let G=0;G<Z;++G){let K=$[G];switch(K){case'"':if(Y!=="\\")X=!X;break;case",":if(!X)Q.push($.slice(J,G)),J=G+1;break}Y=K}return Q.push($.slice(J)),Q.map((G)=>{G=G.trim();let K=G.length;if(K<2)return G;if(G[0]==='"'&&G[K-1]==='"')G=G.slice(1,K-1);return G.replace(/\\"/g,'"')})},DG8=/^-?\d*(\.\d+)?$/;class nS0{string;type;constructor($,Z){if(this.string=$,this.type=Z,!DG8.test($))throw Error('@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".')}toString(){return this.string}static[Symbol.hasInstance]($){if(!$||typeof $!=="object")return!1;let Z=$;return nS0.prototype.isPrototypeOf($)||Z.type==="bigDecimal"&&DG8.test(Z.string)}}function Ud6($){return new nS0(String($),"bigDecimal")}var CG8={},TL1={};for(let $=0;$<256;$++){let Z=$.toString(16).toLowerCase();if(Z.length===1)Z=`0${Z}`;CG8[$]=Z,TL1[Z]=$}function Nd6($){if($.length%2!==0)throw Error("Hex encoded strings must have an even number length");let Z=new Uint8Array($.length/2);for(let Q=0;Q<$.length;Q+=2){let X=$.slice(Q,Q+2).toLowerCase();if(X in TL1)Z[Q/2]=TL1[X];else throw Error(`Cannot decode unrecognized sequence ${X} as hexadecimal`)}return Z}function _G8($){let Z="";for(let Q=0;Q<$.byteLength;Q++)Z+=CG8[$[Q]];return Z}var Bd6=($)=>{if(!$)return 0;if(typeof $==="string")return Buffer.byteLength($);else if(typeof $.byteLength==="number")return $.byteLength;else if(typeof $.size==="number")return $.size;else if(typeof $.start==="number"&&typeof $.end==="number")return $.end+1-$.start;else if($ instanceof LL1.ReadStream){if($.path!=null)return LL1.lstatSync($.path).size;else if(typeof $.fd==="number")return LL1.fstatSync($.fd).size}throw Error(`Body Length computation failed for ${$}`)},vG8=($)=>{if(typeof $==="string")return pS0($);if(ArrayBuffer.isView($))return new Uint8Array($.buffer,$.byteOffset,$.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array($)},xG8=($,Z)=>(Q,X)=>async(Y)=>{let{response:J}=await Q(Y);try{let G=await Z(J,$);return{response:J,output:G}}catch(G){if(Object.defineProperty(G,"$response",{value:J,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in G)){try{G.message+=`
|
|
4714
4714
|
Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`}catch(W){if(!X.logger||X.logger?.constructor?.name==="NoOpLogger")console.warn("Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.");else X.logger?.warn?.("Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.")}if(typeof G.$responseBodyText<"u"){if(G.$response)G.$response.body=G.$responseBodyText}try{if(Om6.HttpResponse.isInstance(J)){let{headers:W={}}=J,H=Object.entries(W);G.$metadata={httpStatusCode:J.statusCode,requestId:jL1(/^x-[\w-]+-request-?id$/,H),extendedRequestId:jL1(/^x-[\w-]+-id-2$/,H),cfId:jL1(/^x-[\w-]+-cf-id$/,H)}}}catch(W){}}throw G}},jL1=($,Z)=>{return(Z.find(([Q])=>{return Q.match($)})||[void 0,void 0])[1]},fG8=($,Z)=>(Q,X)=>async(Y)=>{let J=$,G=X.endpointV2?async()=>Dm6.toEndpointV1(X.endpointV2):J.endpoint;if(!G)throw Error("No valid endpoint provider available.");let K=await Z(Y.input,{...$,endpoint:G});return Q({...Y,request:K})},bG8={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},yG8={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function Od6($,Z,Q){return{applyToStack:(X)=>{X.add(xG8($,Q),bG8),X.add(fG8($,Z),yG8)}}}class gG8{algorithmIdentifier;secret;hash;constructor($,Z){this.algorithmIdentifier=$,this.secret=Z,this.reset()}update($,Z){this.hash.update(vG8(LG8($,Z)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?EL1.createHmac(this.algorithmIdentifier,LG8(this.secret)):EL1.createHash(this.algorithmIdentifier)}}function LG8($,Z){if(Buffer.isBuffer($))return $;if(typeof $==="string")return iS0($,Z);if(ArrayBuffer.isView($))return hd($.buffer,$.byteOffset,$.byteLength);return hd($)}var hG8=class extends JU.Duplex{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;pendingCallback=null;constructor({expectedChecksum:Z,checksum:Q,source:X,checksumSourceLocation:Y,base64Encoder:J}){super();if(typeof X.pipe==="function")this.source=X;else throw Error(`@smithy/util-stream: unsupported source type ${X?.constructor?.name??X} in ChecksumStream.`);this.base64Encoder=J??RL1,this.expectedChecksum=Z,this.checksum=Q,this.checksumSourceLocation=Y,this.source.pipe(this)}_read(Z){if(this.pendingCallback){let Q=this.pendingCallback;this.pendingCallback=null,Q()}}_write(Z,Q,X){try{if(this.checksum.update(Z),!this.push(Z)){this.pendingCallback=X;return}}catch(Y){return X(Y)}return X()}async _final(Z){try{let Q=await this.checksum.digest(),X=this.base64Encoder(Q);if(this.expectedChecksum!==X)return Z(Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${X}" in response header "${this.checksumSourceLocation}".`))}catch(Q){return Z(Q)}return this.push(null),Z()}},yB=($)=>typeof ReadableStream==="function"&&($?.constructor?.name===ReadableStream.name||$ instanceof ReadableStream),uG8=($)=>{return typeof Blob==="function"&&($?.constructor?.name===Blob.name||$ instanceof Blob)},Dd6=($)=>new TextEncoder().encode($),cG8="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wG8=Object.entries(cG8).reduce(($,[Z,Q])=>{return $[Q]=Number(Z),$},{}),Ld6=cG8.split(""),yd=6,z80=8,wd6=63;function lG8($){let Z;if(typeof $==="string")Z=Dd6($);else Z=$;let Q=typeof Z==="object"&&typeof Z.length==="number",X=typeof Z==="object"&&typeof Z.byteOffset==="number"&&typeof Z.byteLength==="number";if(!Q&&!X)throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");let Y="";for(let J=0;J<Z.length;J+=3){let G=0,K=0;for(let H=J,F=Math.min(J+3,Z.length);H<F;H++)G|=Z[H]<<(F-H-1)*z80,K+=z80;let W=Math.ceil(K/yd);G<<=W*yd-K;for(let H=1;H<=W;H++){let F=(W-H)*yd;Y+=Ld6[(G&wd6<<F)>>F]}Y+="==".slice(0,4-W)}return Y}var jd6=typeof ReadableStream==="function"?ReadableStream:function(){};class mG8 extends jd6{}var Ed6=({expectedChecksum:$,checksum:Z,source:Q,checksumSourceLocation:X,base64Encoder:Y})=>{if(!yB(Q))throw Error(`@smithy/util-stream: unsupported source type ${Q?.constructor?.name??Q} in ChecksumStream.`);let J=Y??lG8;if(typeof TransformStream!=="function")throw Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.");let G=new TransformStream({start(){},async transform(W,H){Z.update(W),H.enqueue(W)},async flush(W){let H=await Z.digest(),F=J(H);if($!==F){let U=Error(`Checksum mismatch: expected "${$}" but received "${F}" in response header "${X}".`);W.error(U)}else W.terminate()}});Q.pipeThrough(G);let K=G.readable;return Object.setPrototypeOf(K,mG8.prototype),K};function zd6($){if(typeof ReadableStream==="function"&&yB($.source))return Ed6($);return new hG8($)}class dS0{allocByteArray;byteLength=0;byteArrays=[];constructor($){this.allocByteArray=$}push($){this.byteArrays.push($),this.byteLength+=$.byteLength}flush(){if(this.byteArrays.length===1){let Q=this.byteArrays[0];return this.reset(),Q}let $=this.allocByteArray(this.byteLength),Z=0;for(let Q=0;Q<this.byteArrays.length;++Q){let X=this.byteArrays[Q];$.set(X,Z),Z+=X.byteLength}return this.reset(),$}reset(){this.byteArrays=[],this.byteLength=0}}function Pd6($,Z,Q){let X=$.getReader(),Y=!1,J=0,G=["",new dS0((H)=>new Uint8Array(H))],K=-1,W=async(H)=>{let{value:F,done:U}=await X.read(),N=F;if(U){if(K!==-1){let B=gd(G,K);if(Ej(B)>0)H.enqueue(B)}H.close()}else{let B=iG8(N,!1);if(K!==B){if(K>=0)H.enqueue(gd(G,K));K=B}if(K===-1){H.enqueue(N);return}let O=Ej(N);J+=O;let L=Ej(G[K]);if(O>=Z&&L===0)H.enqueue(N);else{let w=dG8(G,K,N);if(!Y&&J>Z*2)Y=!0,Q?.warn(`@smithy/util-stream - stream chunk size ${O} is below threshold of ${Z}, automatically buffering.`);if(w>=Z)H.enqueue(gd(G,K));else await W(H)}}};return new ReadableStream({pull:W})}function dG8($,Z,Q){switch(Z){case 0:return $[0]+=Q,Ej($[0]);case 1:case 2:return $[Z].push(Q),Ej($[Z])}}function gd($,Z){switch(Z){case 0:let Q=$[0];return $[0]="",Q;case 1:case 2:return $[Z].flush()}throw Error(`@smithy/util-stream - invalid index ${Z} given to flush()`)}function Ej($){return $?.byteLength??$?.length??0}function iG8($,Z=!0){if(Z&&typeof Buffer<"u"&&$ instanceof Buffer)return 2;if($ instanceof Uint8Array)return 1;if(typeof $==="string")return 0;return-1}function Ad6($,Z,Q){if(yB($))return Pd6($,Z,Q);let X=new JU.Readable({read(){}}),Y=!1,J=0,G=["",new dS0((W)=>new Uint8Array(W)),new dS0((W)=>Buffer.from(new Uint8Array(W)))],K=-1;return $.on("data",(W)=>{let H=iG8(W,!0);if(K!==H){if(K>=0)X.push(gd(G,K));K=H}if(K===-1){X.push(W);return}let F=Ej(W);J+=F;let U=Ej(G[K]);if(F>=Z&&U===0)X.push(W);else{let N=dG8(G,K,W);if(!Y&&J>Z*2)Y=!0,Q?.warn(`@smithy/util-stream - stream chunk size ${F} is below threshold of ${Z}, automatically buffering.`);if(N>=Z)X.push(gd(G,K))}}),$.on("end",()=>{if(K!==-1){let W=gd(G,K);if(Ej(W)>0)X.push(W)}X.push(null)}),X}var Td6=($,Z)=>{let{base64Encoder:Q,bodyLengthChecker:X,checksumAlgorithmFn:Y,checksumLocationName:J,streamHasher:G}=Z,K=Q!==void 0&&X!==void 0&&Y!==void 0&&J!==void 0&&G!==void 0,W=K?G(Y,$):void 0,H=$.getReader();return new ReadableStream({async pull(F){let{value:U,done:N}=await H.read();if(N){if(F.enqueue(`0\r
|