decocms 4.297.2 → 4.297.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-DqlysY9D.js → AlertCircle-LhFE9xQR.js} +1 -1
- package/dist/client/assets/{AreaChart-DaoA8wf2.js → AreaChart-CDzn-TYj.js} +1 -1
- package/dist/client/assets/{ArrowLeft-D-xFHxrU.js → ArrowLeft-1SkOxowd.js} +1 -1
- package/dist/client/assets/{ArrowUp-DOcOg-R4.js → ArrowUp-mi1aLCt7.js} +1 -1
- package/dist/client/assets/{Check-BdpWih-z.js → Check-DMtjULUa.js} +1 -1
- package/dist/client/assets/{CheckCircle-D-ElPm6-.js → CheckCircle-BTi_jJpc.js} +1 -1
- package/dist/client/assets/{ChevronDown-CF_b86TC.js → ChevronDown-O7L-0qrm.js} +1 -1
- package/dist/client/assets/{ChevronRight-CM1WrwDB.js → ChevronRight-Df3yO7Ae.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-CzDVbt9Z.js → ChevronSelectorVertical-Clkwrafu.js} +1 -1
- package/dist/client/assets/{ChevronUp-tZmbye_h.js → ChevronUp-C7TCksOp.js} +1 -1
- package/dist/client/assets/{Copy01-C9QKIs5I.js → Copy01-CsEvo5Ho.js} +1 -1
- package/dist/client/assets/{CreditCard01-DJMwxS6S.js → CreditCard01-DCwlcLJq.js} +1 -1
- package/dist/client/assets/{DotsVertical-BLm3YPV_.js → DotsVertical-BJRiKDjW.js} +1 -1
- package/dist/client/assets/{Download01-BCknclFl.js → Download01-t8Z90StN.js} +1 -1
- package/dist/client/assets/{Eye-Dkk-ur4H.js → Eye-CuAcJXKT.js} +1 -1
- package/dist/client/assets/{FilterLines-LhJn6kAg.js → FilterLines-BUX573gl.js} +1 -1
- package/dist/client/assets/{Globe01-Dn3pYSfO.js → Globe01-S7jPrLKZ.js} +1 -1
- package/dist/client/assets/{Globe04-CtW9z8J0.js → Globe04-OOi5BAuh.js} +1 -1
- package/dist/client/assets/{HardDrive-B6lRuqqu.js → HardDrive-n_C9ewAa.js} +1 -1
- package/dist/client/assets/{Key01-CJTlI9qi.js → Key01-EhBFtqJr.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DeoDfLh6.js → LinkExternal01-BbB1ArOZ.js} +1 -1
- package/dist/client/assets/{LockUnlocked01-D_FPask7.js → LockUnlocked01-CgPzbYAg.js} +1 -1
- package/dist/client/assets/{LogOut01-BOkzCOF7.js → LogOut01-tMbh4-uo.js} +1 -1
- package/dist/client/assets/{Monitor01-m4kRqTeC.js → Monitor01-Bs0Uj-yO.js} +1 -1
- package/dist/client/assets/{Palette-7E9_jzW3.js → Palette-C2vSZZP8.js} +1 -1
- package/dist/client/assets/{Play-CFhv9_Ur.js → Play-4gHlkpZB.js} +1 -1
- package/dist/client/assets/{Plus-MWfmElf9.js → Plus-DAIJ02g1.js} +1 -1
- package/dist/client/assets/{SearchLg-JQyD36UX.js → SearchLg-C3cagFqA.js} +1 -1
- package/dist/client/assets/{SearchMd-Cg_1Eg0R.js → SearchMd-DIqq_Zmb.js} +1 -1
- package/dist/client/assets/{Settings02-Cm-8J7dI.js → Settings02-DNFkPtfU.js} +1 -1
- package/dist/client/assets/{Share07-BxbP3A7W.js → Share07-1i5Pd9Vh.js} +1 -1
- package/dist/client/assets/{Shield01-DEcHh4bM.js → Shield01-BCwA16W2.js} +1 -1
- package/dist/client/assets/{Stars01-FlunB0nF.js → Stars01-B84LgDqA.js} +1 -1
- package/dist/client/assets/{Stars02-DKGi3U9n.js → Stars02-BTsd-JTJ.js} +1 -1
- package/dist/client/assets/{Sun-DVI2vn70.js → Sun-DnwsP6Rd.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-Cv1miqTc.js → SwitchHorizontal01-HX9_Vqo3.js} +1 -1
- package/dist/client/assets/{Tool01-Cy_C96cx.js → Tool01-Ch0CG3Pr.js} +1 -1
- package/dist/client/assets/{Tool02-B4sop45l.js → Tool02-TwWyrrjO.js} +1 -1
- package/dist/client/assets/{Trash01-BGjtF5S6.js → Trash01-Cv2vqFOJ.js} +1 -1
- package/dist/client/assets/{TrendUp01-CTPzw9hw.js → TrendUp01-DqgGXRqY.js} +1 -1
- package/dist/client/assets/{Upload01-BNo0YNDs.js → Upload01-CJGZTexz.js} +1 -1
- package/dist/client/assets/{User01-TrRBCjo4.js → User01-lSY2NGc1.js} +1 -1
- package/dist/client/assets/{UserSquare-M1amAYGP.js → UserSquare-DB1-9U4r.js} +1 -1
- package/dist/client/assets/{Users01-BZJyaYYg.js → Users01-DRBq6IWF.js} +1 -1
- package/dist/client/assets/{Users03-0qTkF97c.js → Users03-C53JQDk3.js} +1 -1
- package/dist/client/assets/{XCircle-DrsjYPKa.js → XCircle-GERfCeD_.js} +1 -1
- package/dist/client/assets/{XClose-n_eDy1Rp.js → XClose-BSsIiy1_.js} +1 -1
- package/dist/client/assets/{YAxis-CS6ueMeB.js → YAxis-m9RJOCPf.js} +1 -1
- package/dist/client/assets/{Zap-B0RHL5Cs.js → Zap-SDQg2zoj.js} +1 -1
- package/dist/client/assets/{ZapSquare-Cp7jHWfO.js → ZapSquare-BTpoAD3O.js} +1 -1
- package/dist/client/assets/{access-gate--lko-cSb.js → access-gate-B-0pbpiC.js} +1 -1
- package/dist/client/assets/{agent-icon-Bfip_hC1.js → agent-icon-CHQt9E5w.js} +1 -1
- package/dist/client/assets/{agents-list-3l5EVJ_m.js → agents-list-V0D9m5Mu.js} +1 -1
- package/dist/client/assets/{ai-providers-BIwPJFrz.js → ai-providers-8TWLmQdX.js} +1 -1
- package/dist/client/assets/{alert-Da70jUMx.js → alert-asPOSZof.js} +1 -1
- package/dist/client/assets/{alert-dialog-BfCyvNgc.js → alert-dialog-BEzDotkF.js} +1 -1
- package/dist/client/assets/{api-keys-LLaRQhnh.js → api-keys-CREQdh1f.js} +1 -1
- package/dist/client/assets/{app-editor-CG9eYz--.js → app-editor-CxOcZ6by.js} +1 -1
- package/dist/client/assets/{auth-CazBn0l9.js → auth-CoMeuUpc.js} +1 -1
- package/dist/client/assets/{auth-catchall-mNdyebNv.js → auth-catchall-CMH0Eiwl.js} +1 -1
- package/dist/client/assets/{auth-entry-CniT23kW.js → auth-entry-DxXLn_d7.js} +1 -1
- package/dist/client/assets/{auth-split-layout-CpS7SPnj.js → auth-split-layout-Be2x0-LR.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-DakE1rOG.js → authenticate-and-persist-oauth-B4ZRBQKX.js} +1 -1
- package/dist/client/assets/{automation-list-row-B1rrfgUs.js → automation-list-row-DBHxbJw0.js} +1 -1
- package/dist/client/assets/{automation-runs-BQoCu04G.js → automation-runs-DcDzqcd2.js} +1 -1
- package/dist/client/assets/{automations-BFJ1Riv-.js → automations-C5OWqmDr.js} +1 -1
- package/dist/client/assets/{avatar-Buny80cx.js → avatar-CtiYv0l6.js} +1 -1
- package/dist/client/assets/{badge-DkauhRmD.js → badge-DhH-HOgM.js} +1 -1
- package/dist/client/assets/{block-document-B_iUfTpf.js → block-document-CJVzK9Aw.js} +1 -1
- package/dist/client/assets/{breadcrumb-D49ofJcI.js → breadcrumb-D3k6ZcCz.js} +1 -1
- package/dist/client/assets/{buckets-CNW0-OG4.js → buckets-TEmVqrKg.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-CuKm9z_g.js → bulk-category-panel-DpgalMH8.js} +1 -1
- package/dist/client/assets/{capability-load-error-Bhn_Ou-6.js → capability-load-error-DsCxuRmO.js} +1 -1
- package/dist/client/assets/{cards-CveaVGdE.js → cards-C8vg3uVr.js} +1 -1
- package/dist/client/assets/{category-editor-sK3ff-rg.js → category-editor-BAer4ssz.js} +1 -1
- package/dist/client/assets/{chart-C3Y1aBgw.js → chart-C0I6g7qy.js} +1 -1
- package/dist/client/assets/{chat-context-D6S8hdgn.js → chat-context-CXEpow1A.js} +1 -1
- package/dist/client/assets/{checkbox-E5FcY4s7.js → checkbox-DMLrzW8E.js} +1 -1
- package/dist/client/assets/{choose-editor-CyKZiofZ.js → choose-editor-BP1uxACk.js} +1 -1
- package/dist/client/assets/{cli-auth-success-BGmnEzuo.js → cli-auth-success-DimXbgrz.js} +1 -1
- package/dist/client/assets/{collection-detail-fP2gEOer.js → collection-detail-DNk_dVKY.js} +1 -1
- package/dist/client/assets/{collection-display-button-BiZryzVI.js → collection-display-button-DTuUvi1G.js} +1 -1
- package/dist/client/assets/{collection-search-DsShrLNS.js → collection-search-BqzesLIX.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Qrbv6sLp.js → collection-table-wrapper-C3PAqbDs.js} +1 -1
- package/dist/client/assets/{collection-tabs-VFYnIerQ.js → collection-tabs-ZA5d7M79.js} +1 -1
- package/dist/client/assets/{command-Cwf8GVLU.js → command-CZueixnW.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-DARyfP5e.js → commerce-onboarding-Ds_XgJoc.js} +1 -1
- package/dist/client/assets/{config-Dl95-2yP.js → config-BSh1tznV.js} +1 -1
- package/dist/client/assets/{connect-BsoT3WEp.js → connect-CrTZ6AhP.js} +1 -1
- package/dist/client/assets/{connection-B5ESg6xV.js → connection-MOaH4QPZ.js} +1 -1
- package/dist/client/assets/{connection-card-BUJsYcjd.js → connection-card-BiVztOei.js} +1 -1
- package/dist/client/assets/{connection-detail-Cy4Z16n8.js → connection-detail-DRPtuYF6.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-BH43vAxz.js → connection-form-helpers-BVFJF_NG.js} +1 -1
- package/dist/client/assets/{connections-C1Af2HGu.js → connections-C2CJvFWW.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-CJ3xP4R6.js → decopilot-sse-pool-D0tftD-Y.js} +1 -1
- package/dist/client/assets/{dialog-CZuBi0KE.js → dialog-v2z6kpC2.js} +1 -1
- package/dist/client/assets/{domain-settings-DPgT1IjD.js → domain-settings-BaHx-5Jg.js} +1 -1
- package/dist/client/assets/{drawer-1cO71VdA.js → drawer-hqwsniup.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BvBkFFm_.js → dropdown-menu-DyigH4Dg.js} +1 -1
- package/dist/client/assets/{empty-state-CJ__nrq0.js → empty-state-Za2cQnjt.js} +1 -1
- package/dist/client/assets/{extract-connection-data-CkH2DEsS.js → extract-connection-data-BcmPkxCy.js} +1 -1
- package/dist/client/assets/{file-explorer-BmOBwz8W.js → file-explorer-BcJhHg8x.js} +1 -1
- package/dist/client/assets/{file-type-icon-8Q6rBquj.js → file-type-icon-D-m02v--.js} +1 -1
- package/dist/client/assets/{form-VtTrGq6p.js → form-BxaBewpf.js} +1 -1
- package/dist/client/assets/{general-BPryfQX2.js → general-DRQhrhRi.js} +1 -1
- package/dist/client/assets/{github-repo-picker-Cr8PsfGt.js → github-repo-picker-zsISMaNc.js} +1 -1
- package/dist/client/assets/{hooks-CJQVk-4N.js → hooks-Cb7hsVyX.js} +1 -1
- package/dist/client/assets/{index-DNjLwikn.js → index--IjQntwP.js} +1 -1
- package/dist/client/assets/{index-4aS5DveI.js → index-BNVWGzdl.js} +1 -1
- package/dist/client/assets/{index-4BoJxxI0.js → index-BQ6NM318.js} +3 -3
- package/dist/client/assets/{index-CHMMfxB0.js → index-BfNRlibn.js} +6 -6
- package/dist/client/assets/{index-DIoHDadP.js → index-Bx9kzuMk.js} +1 -1
- package/dist/client/assets/{index-BxGuwQE7.js → index-C8W8Z1dl.js} +1 -1
- package/dist/client/assets/{index-Bz0LFzIe.js → index-CjAHXqgR.js} +1 -1
- package/dist/client/assets/{index-BmcHX9Rr.js → index-Dv7T9VEz.js} +1 -1
- package/dist/client/assets/{index-Oswigup3.js → index-_mX3bbb3.js} +1 -1
- package/dist/client/assets/{index-redirect-DkMN_dYr.js → index-redirect-CM1DdJg6.js} +1 -1
- package/dist/client/assets/{infra-billing-BWqlOyfV.js → infra-billing-p1LotDjU.js} +1 -1
- package/dist/client/assets/{input-1xTpCq1t.js → input-mDifFkWj.js} +1 -1
- package/dist/client/assets/{integration-icon-DXTMt2jz.js → integration-icon-1U3fszAT.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-BLJ6ZYAR.js → invite-member-dialog-DJjVCj6s.js} +1 -1
- package/dist/client/assets/{label-Cp-fX4N0.js → label-D5FU0o2k.js} +1 -1
- package/dist/client/assets/{layout-DbJ4aqdj.js → layout-Bl8gRBht.js} +1 -1
- package/dist/client/assets/{login-feyUAeLW.js → login-D2yUOHRH.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CTRjib0I.js → mcp-oauth-BYmGRM5Y.js} +1 -1
- package/dist/client/assets/{members-Cxpx4zD5.js → members-DSkwmmSX.js} +1 -1
- package/dist/client/assets/{monaco-editor-C3PeD1JG.js → monaco-editor-AJvN6Ugx.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-d8E7TupZ.js → monitoring-stats-row-D6ifRhD_.js} +1 -1
- package/dist/client/assets/{multi-select-BM7hpwKX.js → multi-select-YxoqWueH.js} +1 -1
- package/dist/client/assets/{oauth-callback-BIL2LHWS.js → oauth-callback-BRX3yyBd.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CNeRWM9v.js → oauth-callback-ai-provider-DPM9Hqda.js} +1 -1
- package/dist/client/assets/{onboarding-CxOSB7Ji.js → onboarding-DJfYT7Pv.js} +1 -1
- package/dist/client/assets/{org-layout-Zl8TComI.js → org-layout-BO-w2p8g.js} +1 -1
- package/dist/client/assets/{organization-choice-Dz2mxeOf.js → organization-choice-DIl2DM9f.js} +1 -1
- package/dist/client/assets/{orgs-DtBdDrDG.js → orgs-C8RiiMfl.js} +1 -1
- package/dist/client/assets/{page-seo-form-DqsQGIwH.js → page-seo-form-D8KcUeZK.js} +1 -1
- package/dist/client/assets/{popover-BYGwp0b3.js → popover-5OOu8utM.js} +1 -1
- package/dist/client/assets/{post-calendar-DiNEfOJe.js → post-calendar-B4lXIZt2.js} +1 -1
- package/dist/client/assets/{post-editor-DfWtgHGg.js → post-editor-NpCoNzGT.js} +1 -1
- package/dist/client/assets/{primitives-B8GTVb4H.js → primitives-riCBKJIb.js} +1 -1
- package/dist/client/assets/{profile-hOcm5Sdp.js → profile-BnuwWpe1.js} +1 -1
- package/dist/client/assets/{project-app-view-D2TDKIdk.js → project-app-view-CsXT0wHv.js} +1 -1
- package/dist/client/assets/{prompts-Gu3HSbxu.js → prompts-DJr5LOVk.js} +1 -1
- package/dist/client/assets/record-editor-B8uz53XT.js +1 -0
- package/dist/client/assets/{redirect-editor-CiU27L65.js → redirect-editor-DzMlSEUH.js} +1 -1
- package/dist/client/assets/registry-6bUR5QMm.js +2 -0
- package/dist/client/assets/{registry-layout-2c4QONcr.js → registry-layout-Cr4tFAjN.js} +1 -1
- package/dist/client/assets/{reports-sum9eID-.js → reports-yvmGgYJy.js} +1 -1
- package/dist/client/assets/{require-capability-BZV31Qjs.js → require-capability-BYrDJqy6.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Ck072ww2.js → required-auth-layout-CJL719IZ.js} +1 -1
- package/dist/client/assets/{reset-password-rsJfjNPh.js → reset-password-DaXu-_Tu.js} +1 -1
- package/dist/client/assets/{review-settings-B9vp5f1y.js → review-settings-BKuIgih9.js} +1 -1
- package/dist/client/assets/{roles-CcVv_L-I.js → roles-DYlID3yh.js} +1 -1
- package/dist/client/assets/{scroll-area-zBFcne_K.js → scroll-area-CTsSpU13.js} +1 -1
- package/dist/client/assets/{search-input-_Cc33a0i.js → search-input-j2evFuj9.js} +1 -1
- package/dist/client/assets/{secrets-FDFI38Y9.js → secrets-jqOh7GWl.js} +1 -1
- package/dist/client/assets/{sections-editor-BlYMxwhB.js → sections-editor-Dhrx0Ohf.js} +1 -1
- package/dist/client/assets/{select-BMI2M7Tc.js → select-BEihW_zO.js} +1 -1
- package/dist/client/assets/{select-model-MN7eeqU4.js → select-model-lPcdOApA.js} +1 -1
- package/dist/client/assets/{self-tool-result-Bbcqvm8w.js → self-tool-result-CaQ8c08a.js} +1 -1
- package/dist/client/assets/{seo-editor-KIgUA5nt.js → seo-editor-C7a-c-8f.js} +1 -1
- package/dist/client/assets/{settings-layout-B-9VWE4Z.js → settings-layout-CSDGb_v7.js} +1 -1
- package/dist/client/assets/{shell-controls-CJrSQONK.js → shell-controls-CmXSqW3W.js} +1 -1
- package/dist/client/assets/{shell-layout-BhqN0GHC.js → shell-layout-CONwEThn.js} +1 -1
- package/dist/client/assets/{spinner-Bm9j2Mh-.js → spinner-CtClRXFh.js} +1 -1
- package/dist/client/assets/{sso-CiXU3Kdv.js → sso-BOaTi3lZ.js} +1 -1
- package/dist/client/assets/{store-C2tIoDZ5.js → store-BMww7VE5.js} +1 -1
- package/dist/client/assets/store-registry-BLyJkIqJ.js +2 -0
- package/dist/client/assets/{super-agent-icon-DUz634uk.js → super-agent-icon-B2LxugWv.js} +1 -1
- package/dist/client/assets/{switch-BlqgpixO.js → switch-6vh1604g.js} +1 -1
- package/dist/client/assets/{synced-repos-Cyq_5vLS.js → synced-repos-C3M5_qq1.js} +1 -1
- package/dist/client/assets/{table-Ce4dZ2Zu.js → table-BAT194_l.js} +1 -1
- package/dist/client/assets/{tabs-Bv6C4Ulu.js → tabs-BCNp6yyv.js} +1 -1
- package/dist/client/assets/{task-board-DnLjvFD5.js → task-board-CNmn0EiQ.js} +1 -1
- package/dist/client/assets/{tasks-Cg9axVWf.js → tasks-WjRzUDiD.js} +1 -1
- package/dist/client/assets/{textarea-BmPMSU-8.js → textarea-BjQkmUOS.js} +1 -1
- package/dist/client/assets/{toggle-group-Dp-s_iZF.js → toggle-group-CjPD6FQR.js} +1 -1
- package/dist/client/assets/{toolbar-BRprrkU9.js → toolbar-BI-aVMZj.js} +1 -1
- package/dist/client/assets/{track-BAUx9bwy.js → track-k65fPuxA.js} +1 -1
- package/dist/client/assets/{types-DFpV7TMk.js → types-Cfuntlqg.js} +1 -1
- package/dist/client/assets/{use-ai-providers-2Lt7m3Mt.js → use-ai-providers-orwSAsb1.js} +1 -1
- package/dist/client/assets/{use-api-keys-BWiaFF9R.js → use-api-keys-BY_K7Vsr.js} +1 -1
- package/dist/client/assets/{use-automations-Co75VUbL.js → use-automations-D-X5Oder.js} +1 -1
- package/dist/client/assets/{use-autosave-BWSeqBbD.js → use-autosave-BB-8LZT_.js} +1 -1
- package/dist/client/assets/{use-connection-mmm3c3KI.js → use-connection-QMpwWdFm.js} +1 -1
- package/dist/client/assets/{use-copy-CSlOCp2-.js → use-copy-C3kh6vKz.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Be0gQ44x.js → use-create-virtual-mcp-DPIFiOBR.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-CQDZL87B.js → use-debounced-autosave-C6DX6lZV.js} +1 -1
- package/dist/client/assets/{use-debounced-value-XCA_5RcC.js → use-debounced-value-VdJIzfwv.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BP556BIR.js → use-decopilot-events-C4PzKcK5.js} +1 -1
- package/dist/client/assets/{use-delete-connection-Q0L0ab7v.js → use-delete-connection-D-B42tTI.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-aDH9oxDK.js → use-deployment-admin-CMJvquor.js} +1 -1
- package/dist/client/assets/{use-destination-route-yNJQkFkA.js → use-destination-route-BTxrTlOh.js} +1 -1
- package/dist/client/assets/{use-file-configs-C7A-NIt6.js → use-file-configs-4SNJhFMn.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-lSt7scNo.js → use-infinite-scroll-NtvSsK0W.js} +1 -1
- package/dist/client/assets/{use-join-requests-DeUDq-5y.js → use-join-requests-DTzbdaL8.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-DVbuIIZD.js → use-mcp-auth-status-D4SUse0S.js} +1 -1
- package/dist/client/assets/{use-mcp-client-CxzLs-xO.js → use-mcp-client-CmTe3awJ.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CC6TpAaw.js → use-mcp-tools-BLHOsA5v.js} +1 -1
- package/dist/client/assets/{use-members-O-E4vM8s.js → use-members-mrUirWWl.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-D_-xV2Qv.js → use-navigate-to-agent-CnGdbUFP.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-StTjMKI3.js → use-org-auth-client-D_V-W78V.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-D_QufB9-.js → use-org-repo-syncs-CZt4ORan.js} +1 -1
- package/dist/client/assets/{use-org-sso-TLwbQom7.js → use-org-sso-CD1Cd4kH.js} +1 -1
- package/dist/client/assets/{use-organization-roles-D1lE9UXq.js → use-organization-roles-CjN9HFfI.js} +1 -1
- package/dist/client/assets/{use-organization-settings-IId99-Gg.js → use-organization-settings-D3ZeIxwh.js} +1 -1
- package/dist/client/assets/{use-panel-navigate-e2ecrVkz.js → use-panel-navigate-Bhe8TUyM.js} +1 -1
- package/dist/client/assets/{use-registry-connections-C6na3zjs.js → use-registry-connections-6_9Z54Cd.js} +1 -1
- package/dist/client/assets/{use-secrets-thBka8dQ.js → use-secrets-BE1I6ioz.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-BD8Ez3ch.js → use-section-preview-base-BgYaN_Dj.js} +1 -1
- package/dist/client/assets/{use-status-sounds-CcIlz3sQ.js → use-status-sounds-Bl5TP6FK.js} +1 -1
- package/dist/client/assets/{use-tags-DNLQQNMn.js → use-tags-DHcuWVw5.js} +1 -1
- package/dist/client/assets/{use-view-mode-CQFyd9yU.js → use-view-mode-CyWvHZyd.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-BTkr2EWT.js → use-virtual-mcp-ShgnQDUB.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BoZjT3OY.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-LUAxG0fM.js +1 -0
- package/dist/client/assets/{users-Cwx-mrDm.js → users-CQGdIIu6.js} +1 -1
- package/dist/client/assets/{variant-calendar-DzLbh5ky.js → variant-calendar-kB4LAoON.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-D-vPT9bH.js → view-mode-toggle-BC8DjLg8.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/record-editor-BTO4DfYr.js +0 -1
- package/dist/client/assets/registry-CdoemGB1.js +0 -2
- package/dist/client/assets/store-registry-JEASR7AW.js +0 -2
- package/dist/client/assets/useInfiniteQuery-DC0uzRLo.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DS9OrQKe.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as K,b as X,r as Z,j as o,n as rt,a8 as ut,ab as ht,B as tt,a9 as xt}from"./index-4BoJxxI0.js";import{r as gt,a6 as at,aF as bt}from"./agent-icon-Bfip_hC1.js";import{i as vt}from"./ChevronRight-CM1WrwDB.js";import{L as yt}from"./label-Cp-fX4N0.js";import{S as lt}from"./scroll-area-zBFcne_K.js";import{S as jt}from"./switch-BlqgpixO.js";import{V as Tt}from"./view-mode-toggle-D-vPT9bH.js";import{bP as ct,bQ as mt,bR as Nt,bS as _t,bT as kt,bU as U,bV as wt}from"./index-CHMMfxB0.js";import"./AlertCircle-DqlysY9D.js";import"./UserSquare-M1amAYGP.js";import"./Tool01-Cy_C96cx.js";import"./ArrowUp-DOcOg-R4.js";import"./ArrowLeft-D-xFHxrU.js";import"./Tool02-B4sop45l.js";import"./XCircle-DrsjYPKa.js";import"./TrendUp01-CTPzw9hw.js";import"./ZapSquare-Cp7jHWfO.js";import"./Users03-0qTkF97c.js";import"./CheckCircle-D-ElPm6-.js";import"./Check-BdpWih-z.js";import"./ChevronDown-CF_b86TC.js";import"./ChevronSelectorVertical-CzDVbt9Z.js";import"./ChevronUp-tZmbye_h.js";import"./DotsVertical-BLm3YPV_.js";import"./Stars02-DKGi3U9n.js";import"./Copy01-C9QKIs5I.js";import"./CreditCard01-DJMwxS6S.js";import"./Download01-BCknclFl.js";import"./Settings02-Cm-8J7dI.js";import"./Eye-Dkk-ur4H.js";import"./FilterLines-LhJn6kAg.js";import"./Share07-BxbP3A7W.js";import"./Globe01-Dn3pYSfO.js";import"./Globe04-CtW9z8J0.js";import"./SwitchHorizontal01-Cv1miqTc.js";import"./HardDrive-B6lRuqqu.js";import"./Key01-CJTlI9qi.js";import"./LinkExternal01-DeoDfLh6.js";import"./LockUnlocked01-D_FPask7.js";import"./LogOut01-BOkzCOF7.js";import"./Monitor01-m4kRqTeC.js";import"./Sun-DVI2vn70.js";import"./Palette-7E9_jzW3.js";import"./Play-CFhv9_Ur.js";import"./Plus-MWfmElf9.js";import"./SearchLg-JQyD36UX.js";import"./SearchMd-Cg_1Eg0R.js";import"./Shield01-DEcHh4bM.js";import"./Stars01-FlunB0nF.js";import"./Trash01-BGjtF5S6.js";import"./Upload01-BNo0YNDs.js";import"./User01-TrRBCjo4.js";import"./Users01-BZJyaYYg.js";import"./XClose-n_eDy1Rp.js";import"./Zap-B0RHL5Cs.js";import"./select-BMI2M7Tc.js";import"./chat-context-D6S8hdgn.js";import"./use-panel-navigate-e2ecrVkz.js";import"./dialog-CZuBi0KE.js";import"./use-destination-route-yNJQkFkA.js";import"./constants-dLUUoWH7.js";import"./session-runtime-C-KTDVeQ.js";import"./slugify-CEUa2lfQ.js";import"./hooks-CJQVk-4N.js";import"./use-mcp-client-CxzLs-xO.js";import"./auth-CazBn0l9.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-CJ3xP4R6.js";import"./task-board-DnLjvFD5.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-virtual-mcp-BTkr2EWT.js";import"./use-ai-providers-2Lt7m3Mt.js";import"./use-decopilot-events-BP556BIR.js";import"./use-organization-settings-IId99-Gg.js";import"./automation-runs-BQoCu04G.js";import"./useInfiniteQuery-DC0uzRLo.js";import"./use-infinite-scroll-lSt7scNo.js";import"./use-connection-mmm3c3KI.js";import"./table-Ce4dZ2Zu.js";import"./empty-state-CJ__nrq0.js";import"./use-members-O-E4vM8s.js";import"./use-org-auth-client-StTjMKI3.js";import"./use-automations-Co75VUbL.js";import"./useSuspenseInfiniteQuery-DS9OrQKe.js";import"./avatar-Buny80cx.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-CSlOCp2-.js";import"./monaco-editor-C3PeD1JG.js";import"./spinner-Bm9j2Mh-.js";import"./types-DFpV7TMk.js";import"./shell-layout-BhqN0GHC.js";import"./required-auth-layout-Ck072ww2.js";import"./use-org-sso-TLwbQom7.js";import"./integration-icon-DXTMt2jz.js";import"./use-navigate-to-agent-D_-xV2Qv.js";import"./chart-C3Y1aBgw.js";import"./index-BxGuwQE7.js";import"./form-VtTrGq6p.js";import"./input-1xTpCq1t.js";import"./file-type-icon-8Q6rBquj.js";import"./drawer-1cO71VdA.js";import"./collection-search-DsShrLNS.js";import"./tabs-Bv6C4Ulu.js";import"./toggle-group-Dp-s_iZF.js";import"./super-agent-icon-DUz634uk.js";import"./self-tool-result-Bbcqvm8w.js";import"./alert-dialog-BfCyvNgc.js";import"./extract-connection-data-CkH2DEsS.js";import"./metadata-dUsYcpuu.js";import"./provision-repo-scoped-github-connection-CMPWtdMv.js";import"./use-debounced-value-XCA_5RcC.js";import"./authenticate-and-persist-oauth-DakE1rOG.js";import"./mcp-oauth-CTRjib0I.js";import"./track-BAUx9bwy.js";import"./popover-BYGwp0b3.js";import"./toolbar-BRprrkU9.js";import"./github-repo-picker-Cr8PsfGt.js";import"./use-mcp-tools-CC6TpAaw.js";import"./agent-capabilities-B52k7xCe.js";import"./connection-card-BUJsYcjd.js";import"./use-registry-connections-C6na3zjs.js";import"./retry-CErkP7V6.js";import"./connection-slug-CITJ0kGN.js";import"./textarea-BmPMSU-8.js";import"./connection-form-helpers-BH43vAxz.js";import"./collection-tabs-VFYnIerQ.js";import"./badge-DkauhRmD.js";import"./select-model-MN7eeqU4.js";import"./checkbox-E5FcY4s7.js";import"./ai-providers-logos-DD3qZ33J.js";import"./cards-CveaVGdE.js";import"./dropdown-menu-BvBkFFm_.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-CcIlz3sQ.js";import"./use-file-configs-C7A-NIt6.js";import"./pt-BR-CLy76QW2.js";import"./use-debounced-autosave-CQDZL87B.js";import"./search-input-_Cc33a0i.js";import"./use-mcp-auth-status-DVbuIIZD.js";import"./use-secrets-thBka8dQ.js";import"./AreaChart-DaoA8wf2.js";import"./config-Dl95-2yP.js";import"./breadcrumb-D49ofJcI.js";import"./command-Cwf8GVLU.js";import"./index-DNjLwikn.js";import"./get-initials-D-f_fDFw.js";import"./use-tags-DNLQQNMn.js";import"./automation-list-row-B1rrfgUs.js";import"./site-error--i37Vnuw.js";import"./use-org-repo-syncs-D_QufB9-.js";const Et=new Set(["website/matchers/date.ts","$live/matchers/MatchDate.ts"]),St=new Set(["website/matchers/multi.ts","$live/matchers/MatchMulti.ts"]),Ct=new Date(-864e13),Mt=new Date(864e13),At=/\/flags\/multivariate(?:\/[^/]+)?\.ts$/,$t=/\/flags\/multivariate\.ts$/;function Rt(e){let t=e;t.startsWith("pages-")&&(t=t.slice(6).replace(/-\d+$/,""));try{t=decodeURIComponent(t)}catch{}return t}function Lt(e){if(!e||typeof e!="object")return null;const{start:t,end:r}=e,n=typeof t=="string",s=typeof r=="string";if(!n&&!s)return null;const i=n?new Date(t):Ct,a=s?new Date(r):Mt;return Number.isNaN(i.getTime())||Number.isNaN(a.getTime())||n&&s&&a.getTime()<=i.getTime()?null:{start:i,end:a,openStart:!n,openEnd:!s}}function pt(e,t){if(!e||typeof e!="object")return;const r=e.__resolveType;if(typeof r=="string"){if(Et.has(r)){const n=Lt(e);n&&t.push(n);return}if(St.has(r)){const n=e.matchers;if(Array.isArray(n))for(const s of n)pt(s,t)}}}function Dt(e){if(!e||typeof e!="object")return!1;const t=e.__resolveType;if(typeof t!="string"||!At.test(t))return!1;const r=e.variants;return Array.isArray(r)}function Pt(e){if(typeof e=="string"){const c=e.trim();if(c.length===0)return null;try{const m=new URL(c).pathname.split("/").filter(Boolean),p=m[m.length-1];if(p)return decodeURIComponent(p)}catch{}return c.length>80?`${c.slice(0,77)}…`:c}if(!e||typeof e!="object")return null;const t=e,r=t.config,s=t.desktop?.media,i=[t.title,t.name,t.label,t.alt,r?.title,r?.name,r?.typeAlert?.message,s?.alt,Array.isArray(t.matcher)?t.matcher[0]:void 0];for(const c of i)if(typeof c=="string"&&c.trim().length>0)return c.trim();const a=t.__resolveType;if(typeof a=="string"){const l=(a.split("/").pop()??a).replace(/\.(tsx?|jsx?)$/i,"");if(l.length>0)return l}return null}function Ot(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];typeof n=="number"?t.length>0?t[t.length-1]+=`[${n}]`:t.push(`[${n}]`):t.push(n)}return t.join(" · ")}function J(e,t,r,n,s){if(Dt(e)){const i=e.variants,a=e.__resolveType,c=$t.test(a)?"":Ot(n);i.forEach((l,m)=>{if(!l||typeof l!="object")return;const p=l,h=[];if(pt(p.rule,h),h.length===0)return;const g=Pt(p.value)??(c||r);for(const u of h)s.push({blockKey:t,blockLabel:r,innerPath:c,variantIndex:m,start:u.start,end:u.end,openStart:u.openStart,openEnd:u.openEnd,label:g,flagResolveType:a})});for(let l=0;l<i.length;l++){const m=i[l];m&&typeof m=="object"&&J(m.value,t,r,[...n,"variants",l,"value"],s)}return}if(Array.isArray(e)){for(let i=0;i<e.length;i++)J(e[i],t,r,[...n,i],s);return}if(e&&typeof e=="object")for(const[i,a]of Object.entries(e))i!=="__resolveType"&&J(a,t,r,[...n,i],s)}function Vt(e){if(!e)return[];const t=[];for(const[r,n]of Object.entries(e))J(n,r,Rt(r),[],t);return t.sort((r,n)=>r.start.getTime()-n.start.getTime())}function It(e){const t=[...new Set(e)].sort(),r=new Map;return t.forEach((n,s)=>{const i=s*137.508%360;r.set(n,{bg:`oklch(0.62 0.14 ${i})`,text:"white",border:`oklch(0.50 0.14 ${i})`})}),r}const Ht={bg:"oklch(0.62 0.14 0)",text:"white",border:"oklch(0.50 0.14 0)"};function dt(e,t){return e.get(t)??Ht}const nt=new Intl.DateTimeFormat("en",{dateStyle:"medium",timeStyle:"short"});function Bt(e,t){const r=e.openStart?t("sandbox.variantCalendar.always"):nt.format(e.start),n=e.openEnd?t("sandbox.variantCalendar.ongoing"):nt.format(e.end);return`${r} → ${n}`}function Ft(e){const t=K.c(18),{variant:r}=e,n=X();let s;t[0]!==r.blockLabel?(s=o.jsx("div",{className:"font-semibold",children:r.blockLabel}),t[0]=r.blockLabel,t[1]=s):s=t[1];let i;t[2]!==r.innerPath?(i=r.innerPath&&o.jsx("div",{className:"text-muted-foreground",children:r.innerPath}),t[2]=r.innerPath,t[3]=i):i=t[3];let a;t[4]!==r.blockLabel||t[5]!==r.innerPath||t[6]!==r.label?(a=r.label!==r.blockLabel&&r.label!==r.innerPath&&o.jsx("div",{className:"text-muted-foreground",children:r.label}),t[4]=r.blockLabel,t[5]=r.innerPath,t[6]=r.label,t[7]=a):a=t[7];let c;t[8]!==n||t[9]!==r?(c=Bt(r,n),t[8]=n,t[9]=r,t[10]=c):c=t[10];let l;t[11]!==c?(l=o.jsx("div",{className:"mt-1",children:c}),t[11]=c,t[12]=l):l=t[12];let m;return t[13]!==s||t[14]!==i||t[15]!==a||t[16]!==l?(m=o.jsx(xt,{children:o.jsxs("div",{className:"text-xs",children:[s,i,a,l]})}),t[13]=s,t[14]=i,t[15]=a,t[16]=l,t[17]=m):m=t[17],m}const ot=16;function zt(e,t){const r=e?"transparent":"#000 0",n=t?"transparent":"#000 100%";if(!(!e&&!t))return`linear-gradient(to right, ${r}, #000 ${ot}px, #000 calc(100% - ${ot}px), ${n})`}function ft(e){const t=K.c(26),{variant:r,color:n,style:s,children:i,fadeStart:a,fadeEnd:c}=e,l=a===void 0?!1:a,m=c===void 0?!1:c;let p;t[0]!==m||t[1]!==l?(p=zt(l,m),t[0]=m,t[1]=l,t[2]=p):p=t[2];const h=p;let f;t[3]!==l?(f=l&&{borderTopLeftRadius:0,borderBottomLeftRadius:0},t[3]=l,t[4]=f):f=t[4];let g;t[5]!==m?(g=m&&{borderTopRightRadius:0,borderBottomRightRadius:0},t[5]=m,t[6]=g):g=t[6];let u;t[7]!==h?(u=h&&{maskImage:h,WebkitMaskImage:h},t[7]=h,t[8]=u):u=t[8];let x;t[9]!==n.bg||t[10]!==n.text||t[11]!==s||t[12]!==f||t[13]!==g||t[14]!==u?(x={background:n.bg,color:n.text,borderRadius:4,...f,...g,...u,...s},t[9]=n.bg,t[10]=n.text,t[11]=s,t[12]=f,t[13]=g,t[14]=u,t[15]=x):x=t[15];let b;t[16]!==i?(b=o.jsx("span",{className:"truncate",children:i}),t[16]=i,t[17]=b):b=t[17];let E;t[18]!==x||t[19]!==b?(E=o.jsx(ut,{asChild:!0,children:o.jsx("div",{className:"absolute flex items-center px-2 text-[11px] font-medium truncate cursor-default",style:x,children:b})}),t[18]=x,t[19]=b,t[20]=E):E=t[20];let T;t[21]!==r?(T=o.jsx(Ft,{variant:r}),t[21]=r,t[22]=T):T=t[22];let d;return t[23]!==T||t[24]!==E?(d=o.jsxs(ht,{children:[E,T]}),t[23]=T,t[24]=E,t[25]=d):d=t[25],d}function Qn(e){const t=K.c(72),{decofile:r}=e,n=X(),[s,i]=Z.useState("calendar"),[a,c]=Z.useState(Kt),[l,m]=Z.useState(!1);let p,h,f;if(t[0]!==r||t[1]!==l){const V=Vt(r);p=V.filter(Ut).length,f=l?V:V.filter(Gt),h=It(f.map(Wt)),t[0]=r,t[1]=l,t[2]=p,t[3]=h,t[4]=f}else p=t[2],h=t[3],f=t[4];const g=h;let u;t[5]===Symbol.for("react.memo_cache_sentinel")?(u=()=>c(mt(new Date)),t[5]=u):u=t[5];const x=u;let b;t[6]!==s?(b=()=>c(V=>s==="calendar"?U(V,-1):U(V,-3)),t[6]=s,t[7]=b):b=t[7];const E=b;let T;t[8]!==s?(T=()=>c(V=>s==="calendar"?U(V,1):U(V,3)),t[8]=s,t[9]=T):T=t[9];const d=T;let v;t[10]!==n?(v=n("sandbox.variantCalendar.today"),t[10]=n,t[11]=v):v=t[11];let y;t[12]!==v?(y=o.jsx(tt,{variant:"outline",size:"sm",onClick:x,children:v}),t[12]=v,t[13]=y):y=t[13];let N;t[14]!==n?(N=n("sandbox.variantCalendar.previous"),t[14]=n,t[15]=N):N=t[15];let A;t[16]===Symbol.for("react.memo_cache_sentinel")?(A=o.jsx(gt,{size:16}),t[16]=A):A=t[16];let _;t[17]!==E||t[18]!==N?(_=o.jsx(tt,{variant:"ghost",size:"icon",className:"size-8",onClick:E,"aria-label":N,children:A}),t[17]=E,t[18]=N,t[19]=_):_=t[19];let k;t[20]!==n?(k=n("sandbox.variantCalendar.next"),t[20]=n,t[21]=k):k=t[21];let C;t[22]===Symbol.for("react.memo_cache_sentinel")?(C=o.jsx(vt,{size:16}),t[22]=C):C=t[22];let $;t[23]!==d||t[24]!==k?($=o.jsx(tt,{variant:"ghost",size:"icon",className:"size-8",onClick:d,"aria-label":k,children:C}),t[23]=d,t[24]=k,t[25]=$):$=t[25];const R=ct[a.getMonth()];let M;t[26]!==a?(M=a.getFullYear(),t[26]=a,t[27]=M):M=t[27];let w;t[28]!==R||t[29]!==M?(w=o.jsxs("h2",{className:"ml-2 text-base font-semibold",children:[R," ",M]}),t[28]=R,t[29]=M,t[30]=w):w=t[30];let j;t[31]!==$||t[32]!==w||t[33]!==y||t[34]!==_?(j=o.jsxs("div",{className:"flex items-center gap-2",children:[y,_,$,w]}),t[31]=$,t[32]=w,t[33]=y,t[34]=_,t[35]=j):j=t[35];let L;t[36]!==p||t[37]!==l||t[38]!==n?(L=p>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(jt,{id:"show-ongoing",checked:l,onCheckedChange:m}),o.jsx(yt,{htmlFor:"show-ongoing",className:"text-xs text-muted-foreground cursor-pointer",children:n("sandbox.variantCalendar.showOngoing",{count:p})})]}),t[36]=p,t[37]=l,t[38]=n,t[39]=L):L=t[39];let B;t[40]===Symbol.for("react.memo_cache_sentinel")?(B=o.jsx(at,{}),t[40]=B):B=t[40];let I;t[41]!==n?(I=n("sandbox.variantCalendar.calendarMode"),t[41]=n,t[42]=I):I=t[42];let S;t[43]!==I?(S={value:"calendar",icon:B,label:I},t[43]=I,t[44]=S):S=t[44];let F;t[45]===Symbol.for("react.memo_cache_sentinel")?(F=o.jsx(bt,{}),t[45]=F):F=t[45];let D;t[46]!==n?(D=n("sandbox.variantCalendar.timelineMode"),t[46]=n,t[47]=D):D=t[47];let P;t[48]!==D?(P={value:"timeline",icon:F,label:D},t[48]=D,t[49]=P):P=t[49];let O;t[50]!==S||t[51]!==P?(O=[S,P],t[50]=S,t[51]=P,t[52]=O):O=t[52];let H;t[53]!==O||t[54]!==s?(H=o.jsx(Tt,{value:s,onValueChange:i,options:O}),t[53]=O,t[54]=s,t[55]=H):H=t[55];let z;t[56]!==L||t[57]!==H?(z=o.jsxs("div",{className:"flex items-center gap-4",children:[L,H]}),t[56]=L,t[57]=H,t[58]=z):z=t[58];let W;t[59]!==j||t[60]!==z?(W=o.jsxs("div",{className:"flex items-center justify-between px-4 h-12 border-b shrink-0",children:[j,z]}),t[59]=j,t[60]=z,t[61]=W):W=t[61];let G;t[62]!==g||t[63]!==a||t[64]!==p||t[65]!==l||t[66]!==f||t[67]!==s?(G=f.length===0?o.jsx(Yt,{hiddenOngoing:l?0:p}):s==="calendar"?o.jsx(qt,{monthStart:a,variants:f,colorMap:g}):o.jsx(te,{monthStart:a,variants:f,colorMap:g}),t[62]=g,t[63]=a,t[64]=p,t[65]=l,t[66]=f,t[67]=s,t[68]=G):G=t[68];let Q;return t[69]!==W||t[70]!==G?(Q=o.jsxs("div",{className:"flex h-full w-full flex-col",children:[W,G]}),t[69]=W,t[70]=G,t[71]=Q):Q=t[71],Q}function Wt(e){return e.blockKey}function Gt(e){return!e.openEnd}function Ut(e){return e.openEnd}function Kt(){return mt(new Date)}function Yt(e){const t=K.c(4),{hiddenOngoing:r}=e,n=r===void 0?0:r,s=X();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(at,{size:24,className:"text-muted-foreground/60"}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==s?(a=o.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[i,n>0?o.jsxs(o.Fragment,{children:[o.jsx("div",{children:s("sandbox.variantCalendar.noDatedVariants")}),o.jsx("div",{className:"text-xs text-muted-foreground/80",children:s("sandbox.variantCalendar.hiddenOngoingVariants",{count:n})})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{children:s("sandbox.variantCalendar.noScheduledVariants")}),o.jsx("div",{className:"text-xs text-muted-foreground/80",children:s("sandbox.variantCalendar.dateMatcherInfo")})]})]}),t[1]=n,t[2]=s,t[3]=a):a=t[3],a}const et=20,it=2,st=28,Qt=6;function qt(e){const t=K.c(17),{monthStart:r,variants:n,colorMap:s}=e;let i,a,c,l,m;if(t[0]!==s||t[1]!==r||t[2]!==n){const f=Nt(r),g=_t(new Date);i=lt,m="flex-1 min-h-0",a="min-w-[840px]",t[8]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx("div",{className:"grid grid-cols-7 border-b text-xs text-muted-foreground sticky top-0 bg-background z-10",children:wt.map(Xt)}),t[8]=c):c=t[8],l=f.map((u,x)=>{const b=kt(u,n),E=b.reduce(Jt,0),T=st+E*(et+it)+8;return o.jsxs("div",{className:"grid grid-cols-7 relative border-b",style:{height:T},children:[u.map((d,v)=>{const y=d.getMonth()===r.getMonth(),N=d.getTime()===g.getTime();return o.jsx("div",{className:rt("border-r last:border-r-0 px-2 pt-1.5 text-xs",y?"bg-background":"bg-muted/30 text-muted-foreground"),children:o.jsx("span",{className:rt("inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1",N&&"bg-primary text-primary-foreground font-semibold"),children:d.getDate()})},v)}),b.map((d,v)=>{const y=dt(s,d.variant.blockKey),N=st+d.lane*(et+it),A=d.leftUnits/7*100,_=d.widthUnits/7*100,k=d.variant.openStart&&x===0,C=d.variant.openEnd&&x===f.length-1;return o.jsxs(ft,{variant:d.variant,color:y,fadeStart:k,fadeEnd:C,style:{top:N,left:`calc(${A}% + 2px)`,width:`calc(${_}% - 4px)`,minWidth:Qt,height:et},children:[d.variant.blockLabel,d.variant.label!==d.variant.blockLabel&&o.jsxs("span",{className:"opacity-70",children:[" · ",d.variant.label]})]},`${x}-${v}`)})]},x)}),t[0]=s,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=c,t[6]=l,t[7]=m}else i=t[3],a=t[4],c=t[5],l=t[6],m=t[7];let p;t[9]!==a||t[10]!==c||t[11]!==l?(p=o.jsxs("div",{className:a,children:[c,l]}),t[9]=a,t[10]=c,t[11]=l,t[12]=p):p=t[12];let h;return t[13]!==i||t[14]!==m||t[15]!==p?(h=o.jsx(i,{className:m,children:p}),t[13]=i,t[14]=m,t[15]=p,t[16]=h):h=t[16],h}function Jt(e,t){return Math.max(e,t.lane+1)}function Xt(e){return o.jsx("div",{className:"px-2 py-2 text-center uppercase tracking-wide",children:e},e)}const q=4,Zt=32,Y=240;function te(e){const t=K.c(23),{monthStart:r,variants:n,colorMap:s}=e,i=r,a=U(r,q),c=new Date,l=new Map;for(const w of n){const j=l.get(w.blockKey)??[];j.push(w),l.set(w.blockKey,j)}const m=Array.from(l.entries()).sort(ne),p=a.getTime()-i.getTime(),h=w=>(Math.max(i.getTime(),Math.min(a.getTime(),w.getTime()))-i.getTime())/p*100;let f;t[0]!==i?(f=(w,j)=>U(i,j),t[0]=i,t[1]=f):f=t[1];const g=Array.from({length:q},f),u=c.getTime()>=i.getTime()&&c.getTime()<=a.getTime()?h(c):null,x=X(),b=lt,E="flex-1 min-h-0",T="min-w-[900px] relative";let d;t[2]===Symbol.for("react.memo_cache_sentinel")?(d={width:Y},t[2]=d):d=t[2];let v;t[3]!==x?(v=x("sandbox.variantCalendar.variantBlock"),t[3]=x,t[4]=v):v=t[4];let y;t[5]!==v?(y=o.jsx("div",{className:"shrink-0 px-3 py-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r",style:d,children:v}),t[5]=v,t[6]=y):y=t[6];let N;t[7]===Symbol.for("react.memo_cache_sentinel")?(N={gridTemplateColumns:`repeat(${q}, minmax(0, 1fr))`},t[7]=N):N=t[7];const A=g.map(re);let _;t[8]!==A?(_=o.jsx("div",{className:"flex-1 grid",style:N,children:A}),t[8]=A,t[9]=_):_=t[9];let k;t[10]!==y||t[11]!==_?(k=o.jsxs("div",{className:"flex border-b sticky top-0 bg-background z-10",children:[y,_]}),t[10]=y,t[11]=_,t[12]=k):k=t[12];let C;t[13]!==x||t[14]!==u?(C=u!==null&&o.jsx("div",{className:"pointer-events-none absolute top-0 bottom-0 w-px bg-primary/70 z-[5]",style:{left:`calc(${Y}px + (100% - ${Y}px) * ${u} / 100)`},children:o.jsx("span",{className:"absolute -top-0.5 -translate-x-1/2 rounded-sm bg-primary px-1.5 py-px text-[10px] font-medium text-primary-foreground",children:x("sandbox.variantCalendar.todayLabel")})}),t[13]=x,t[14]=u,t[15]=C):C=t[15];const $=m.map(w=>{const[j,L]=w,B=dt(s,j),I=L[0]?.blockLabel??j;return o.jsxs("div",{children:[o.jsx("div",{className:"flex items-center bg-muted/40 border-b text-xs font-semibold uppercase tracking-wide text-muted-foreground",style:{height:28},children:o.jsx("div",{className:"px-3 truncate",style:{width:Y},children:I})}),L.map((S,F)=>o.jsxs("div",{className:"flex border-b items-center",style:{height:Zt},children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 text-sm border-r shrink-0",style:{width:Y},children:[o.jsx("span",{className:"inline-block h-2 w-2 rounded-full shrink-0",style:{background:B.bg}}),o.jsx("span",{className:"truncate text-foreground/80",children:S.label})]}),o.jsxs("div",{className:"relative flex-1 h-full",children:[o.jsx("div",{className:"absolute inset-0 grid",style:{gridTemplateColumns:`repeat(${q}, minmax(0, 1fr))`},children:g.map(ee)}),(()=>{const D=Math.max(S.start.getTime(),i.getTime()),P=Math.min(S.end.getTime(),a.getTime());if(P<=D)return null;const O=h(new Date(D)),H=h(new Date(P))-O;return o.jsx(ft,{variant:S,color:B,fadeStart:S.openStart,fadeEnd:S.openEnd,style:{top:"50%",transform:"translateY(-50%)",left:`${O}%`,width:`calc(${H}% - 2px)`,height:22},children:S.label})})()]})]},F))]},j)});let R;t[16]!==k||t[17]!==C||t[18]!==$?(R=o.jsxs("div",{className:T,children:[k,C,$]}),t[16]=k,t[17]=C,t[18]=$,t[19]=R):R=t[19];let M;return t[20]!==b||t[21]!==R?(M=o.jsx(b,{className:E,children:R}),t[20]=b,t[21]=R,t[22]=M):M=t[22],M}function ee(e,t){return o.jsx("div",{className:"border-r last:border-r-0 border-border/40"},t)}function re(e,t){return o.jsxs("div",{className:"px-2 py-2 text-xs uppercase tracking-wide text-muted-foreground border-r last:border-r-0",children:[ct[e.getMonth()]?.slice(0,3)," ",e.getFullYear()]},t)}function ne(e,t){return e[0].localeCompare(t[0])}export{Qn as VariantCalendar};
|
|
1
|
+
import{c as K,b as X,r as Z,j as o,n as rt,a8 as ut,ab as ht,B as tt,a9 as xt}from"./index-BQ6NM318.js";import{r as gt,a6 as at,aF as bt}from"./agent-icon-CHQt9E5w.js";import{i as vt}from"./ChevronRight-Df3yO7Ae.js";import{L as yt}from"./label-D5FU0o2k.js";import{S as lt}from"./scroll-area-CTsSpU13.js";import{S as jt}from"./switch-6vh1604g.js";import{V as Tt}from"./view-mode-toggle-BC8DjLg8.js";import{bP as ct,bQ as mt,bR as Nt,bS as _t,bT as kt,bU as U,bV as wt}from"./index-BfNRlibn.js";import"./AlertCircle-LhFE9xQR.js";import"./UserSquare-DB1-9U4r.js";import"./Tool01-Ch0CG3Pr.js";import"./ArrowUp-mi1aLCt7.js";import"./ArrowLeft-1SkOxowd.js";import"./Tool02-TwWyrrjO.js";import"./XCircle-GERfCeD_.js";import"./TrendUp01-DqgGXRqY.js";import"./ZapSquare-BTpoAD3O.js";import"./Users03-C53JQDk3.js";import"./CheckCircle-BTi_jJpc.js";import"./Check-DMtjULUa.js";import"./ChevronDown-O7L-0qrm.js";import"./ChevronSelectorVertical-Clkwrafu.js";import"./ChevronUp-C7TCksOp.js";import"./DotsVertical-BJRiKDjW.js";import"./Stars02-BTsd-JTJ.js";import"./Copy01-CsEvo5Ho.js";import"./CreditCard01-DCwlcLJq.js";import"./Download01-t8Z90StN.js";import"./Settings02-DNFkPtfU.js";import"./Eye-CuAcJXKT.js";import"./FilterLines-BUX573gl.js";import"./Share07-1i5Pd9Vh.js";import"./Globe01-S7jPrLKZ.js";import"./Globe04-OOi5BAuh.js";import"./SwitchHorizontal01-HX9_Vqo3.js";import"./HardDrive-n_C9ewAa.js";import"./Key01-EhBFtqJr.js";import"./LinkExternal01-BbB1ArOZ.js";import"./LockUnlocked01-CgPzbYAg.js";import"./LogOut01-tMbh4-uo.js";import"./Monitor01-Bs0Uj-yO.js";import"./Sun-DnwsP6Rd.js";import"./Palette-C2vSZZP8.js";import"./Play-4gHlkpZB.js";import"./Plus-DAIJ02g1.js";import"./SearchLg-C3cagFqA.js";import"./SearchMd-DIqq_Zmb.js";import"./Shield01-BCwA16W2.js";import"./Stars01-B84LgDqA.js";import"./Trash01-Cv2vqFOJ.js";import"./Upload01-CJGZTexz.js";import"./User01-lSY2NGc1.js";import"./Users01-DRBq6IWF.js";import"./XClose-BSsIiy1_.js";import"./Zap-SDQg2zoj.js";import"./select-BEihW_zO.js";import"./chat-context-CXEpow1A.js";import"./use-panel-navigate-Bhe8TUyM.js";import"./dialog-v2z6kpC2.js";import"./use-destination-route-BTxrTlOh.js";import"./constants-dLUUoWH7.js";import"./session-runtime-C-KTDVeQ.js";import"./slugify-CEUa2lfQ.js";import"./hooks-Cb7hsVyX.js";import"./use-mcp-client-CmTe3awJ.js";import"./auth-CoMeuUpc.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-D0tftD-Y.js";import"./task-board-CNmn0EiQ.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-virtual-mcp-ShgnQDUB.js";import"./use-ai-providers-orwSAsb1.js";import"./use-decopilot-events-C4PzKcK5.js";import"./use-organization-settings-D3ZeIxwh.js";import"./automation-runs-DcDzqcd2.js";import"./useInfiniteQuery-BoZjT3OY.js";import"./use-infinite-scroll-NtvSsK0W.js";import"./use-connection-QMpwWdFm.js";import"./table-BAT194_l.js";import"./empty-state-Za2cQnjt.js";import"./use-members-mrUirWWl.js";import"./use-org-auth-client-D_V-W78V.js";import"./use-automations-D-X5Oder.js";import"./useSuspenseInfiniteQuery-LUAxG0fM.js";import"./avatar-CtiYv0l6.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-C3kh6vKz.js";import"./monaco-editor-AJvN6Ugx.js";import"./spinner-CtClRXFh.js";import"./types-Cfuntlqg.js";import"./shell-layout-CONwEThn.js";import"./required-auth-layout-CJL719IZ.js";import"./use-org-sso-CD1Cd4kH.js";import"./integration-icon-1U3fszAT.js";import"./use-navigate-to-agent-CnGdbUFP.js";import"./chart-C0I6g7qy.js";import"./index-C8W8Z1dl.js";import"./form-BxaBewpf.js";import"./input-mDifFkWj.js";import"./file-type-icon-D-m02v--.js";import"./drawer-hqwsniup.js";import"./collection-search-BqzesLIX.js";import"./tabs-BCNp6yyv.js";import"./toggle-group-CjPD6FQR.js";import"./super-agent-icon-B2LxugWv.js";import"./self-tool-result-CaQ8c08a.js";import"./alert-dialog-BEzDotkF.js";import"./extract-connection-data-BcmPkxCy.js";import"./metadata-dUsYcpuu.js";import"./provision-repo-scoped-github-connection-CMPWtdMv.js";import"./use-debounced-value-VdJIzfwv.js";import"./authenticate-and-persist-oauth-B4ZRBQKX.js";import"./mcp-oauth-BYmGRM5Y.js";import"./track-k65fPuxA.js";import"./popover-5OOu8utM.js";import"./toolbar-BI-aVMZj.js";import"./github-repo-picker-zsISMaNc.js";import"./use-mcp-tools-BLHOsA5v.js";import"./agent-capabilities-B52k7xCe.js";import"./connection-card-BiVztOei.js";import"./use-registry-connections-6_9Z54Cd.js";import"./retry-CErkP7V6.js";import"./connection-slug-CITJ0kGN.js";import"./textarea-BjQkmUOS.js";import"./connection-form-helpers-BVFJF_NG.js";import"./collection-tabs-ZA5d7M79.js";import"./badge-DhH-HOgM.js";import"./select-model-lPcdOApA.js";import"./checkbox-DMLrzW8E.js";import"./ai-providers-logos-DD3qZ33J.js";import"./cards-C8vg3uVr.js";import"./dropdown-menu-DyigH4Dg.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-Bl5TP6FK.js";import"./use-file-configs-4SNJhFMn.js";import"./pt-BR-CLy76QW2.js";import"./use-debounced-autosave-C6DX6lZV.js";import"./search-input-j2evFuj9.js";import"./use-mcp-auth-status-D4SUse0S.js";import"./use-secrets-BE1I6ioz.js";import"./AreaChart-CDzn-TYj.js";import"./config-BSh1tznV.js";import"./breadcrumb-D3k6ZcCz.js";import"./command-CZueixnW.js";import"./index--IjQntwP.js";import"./get-initials-D-f_fDFw.js";import"./use-tags-DHcuWVw5.js";import"./automation-list-row-DBHxbJw0.js";import"./site-error--i37Vnuw.js";import"./use-org-repo-syncs-CZt4ORan.js";const Et=new Set(["website/matchers/date.ts","$live/matchers/MatchDate.ts"]),St=new Set(["website/matchers/multi.ts","$live/matchers/MatchMulti.ts"]),Ct=new Date(-864e13),Mt=new Date(864e13),At=/\/flags\/multivariate(?:\/[^/]+)?\.ts$/,$t=/\/flags\/multivariate\.ts$/;function Rt(e){let t=e;t.startsWith("pages-")&&(t=t.slice(6).replace(/-\d+$/,""));try{t=decodeURIComponent(t)}catch{}return t}function Lt(e){if(!e||typeof e!="object")return null;const{start:t,end:r}=e,n=typeof t=="string",s=typeof r=="string";if(!n&&!s)return null;const i=n?new Date(t):Ct,a=s?new Date(r):Mt;return Number.isNaN(i.getTime())||Number.isNaN(a.getTime())||n&&s&&a.getTime()<=i.getTime()?null:{start:i,end:a,openStart:!n,openEnd:!s}}function pt(e,t){if(!e||typeof e!="object")return;const r=e.__resolveType;if(typeof r=="string"){if(Et.has(r)){const n=Lt(e);n&&t.push(n);return}if(St.has(r)){const n=e.matchers;if(Array.isArray(n))for(const s of n)pt(s,t)}}}function Dt(e){if(!e||typeof e!="object")return!1;const t=e.__resolveType;if(typeof t!="string"||!At.test(t))return!1;const r=e.variants;return Array.isArray(r)}function Pt(e){if(typeof e=="string"){const c=e.trim();if(c.length===0)return null;try{const m=new URL(c).pathname.split("/").filter(Boolean),p=m[m.length-1];if(p)return decodeURIComponent(p)}catch{}return c.length>80?`${c.slice(0,77)}…`:c}if(!e||typeof e!="object")return null;const t=e,r=t.config,s=t.desktop?.media,i=[t.title,t.name,t.label,t.alt,r?.title,r?.name,r?.typeAlert?.message,s?.alt,Array.isArray(t.matcher)?t.matcher[0]:void 0];for(const c of i)if(typeof c=="string"&&c.trim().length>0)return c.trim();const a=t.__resolveType;if(typeof a=="string"){const l=(a.split("/").pop()??a).replace(/\.(tsx?|jsx?)$/i,"");if(l.length>0)return l}return null}function Ot(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];typeof n=="number"?t.length>0?t[t.length-1]+=`[${n}]`:t.push(`[${n}]`):t.push(n)}return t.join(" · ")}function J(e,t,r,n,s){if(Dt(e)){const i=e.variants,a=e.__resolveType,c=$t.test(a)?"":Ot(n);i.forEach((l,m)=>{if(!l||typeof l!="object")return;const p=l,h=[];if(pt(p.rule,h),h.length===0)return;const g=Pt(p.value)??(c||r);for(const u of h)s.push({blockKey:t,blockLabel:r,innerPath:c,variantIndex:m,start:u.start,end:u.end,openStart:u.openStart,openEnd:u.openEnd,label:g,flagResolveType:a})});for(let l=0;l<i.length;l++){const m=i[l];m&&typeof m=="object"&&J(m.value,t,r,[...n,"variants",l,"value"],s)}return}if(Array.isArray(e)){for(let i=0;i<e.length;i++)J(e[i],t,r,[...n,i],s);return}if(e&&typeof e=="object")for(const[i,a]of Object.entries(e))i!=="__resolveType"&&J(a,t,r,[...n,i],s)}function Vt(e){if(!e)return[];const t=[];for(const[r,n]of Object.entries(e))J(n,r,Rt(r),[],t);return t.sort((r,n)=>r.start.getTime()-n.start.getTime())}function It(e){const t=[...new Set(e)].sort(),r=new Map;return t.forEach((n,s)=>{const i=s*137.508%360;r.set(n,{bg:`oklch(0.62 0.14 ${i})`,text:"white",border:`oklch(0.50 0.14 ${i})`})}),r}const Ht={bg:"oklch(0.62 0.14 0)",text:"white",border:"oklch(0.50 0.14 0)"};function dt(e,t){return e.get(t)??Ht}const nt=new Intl.DateTimeFormat("en",{dateStyle:"medium",timeStyle:"short"});function Bt(e,t){const r=e.openStart?t("sandbox.variantCalendar.always"):nt.format(e.start),n=e.openEnd?t("sandbox.variantCalendar.ongoing"):nt.format(e.end);return`${r} → ${n}`}function Ft(e){const t=K.c(18),{variant:r}=e,n=X();let s;t[0]!==r.blockLabel?(s=o.jsx("div",{className:"font-semibold",children:r.blockLabel}),t[0]=r.blockLabel,t[1]=s):s=t[1];let i;t[2]!==r.innerPath?(i=r.innerPath&&o.jsx("div",{className:"text-muted-foreground",children:r.innerPath}),t[2]=r.innerPath,t[3]=i):i=t[3];let a;t[4]!==r.blockLabel||t[5]!==r.innerPath||t[6]!==r.label?(a=r.label!==r.blockLabel&&r.label!==r.innerPath&&o.jsx("div",{className:"text-muted-foreground",children:r.label}),t[4]=r.blockLabel,t[5]=r.innerPath,t[6]=r.label,t[7]=a):a=t[7];let c;t[8]!==n||t[9]!==r?(c=Bt(r,n),t[8]=n,t[9]=r,t[10]=c):c=t[10];let l;t[11]!==c?(l=o.jsx("div",{className:"mt-1",children:c}),t[11]=c,t[12]=l):l=t[12];let m;return t[13]!==s||t[14]!==i||t[15]!==a||t[16]!==l?(m=o.jsx(xt,{children:o.jsxs("div",{className:"text-xs",children:[s,i,a,l]})}),t[13]=s,t[14]=i,t[15]=a,t[16]=l,t[17]=m):m=t[17],m}const ot=16;function zt(e,t){const r=e?"transparent":"#000 0",n=t?"transparent":"#000 100%";if(!(!e&&!t))return`linear-gradient(to right, ${r}, #000 ${ot}px, #000 calc(100% - ${ot}px), ${n})`}function ft(e){const t=K.c(26),{variant:r,color:n,style:s,children:i,fadeStart:a,fadeEnd:c}=e,l=a===void 0?!1:a,m=c===void 0?!1:c;let p;t[0]!==m||t[1]!==l?(p=zt(l,m),t[0]=m,t[1]=l,t[2]=p):p=t[2];const h=p;let f;t[3]!==l?(f=l&&{borderTopLeftRadius:0,borderBottomLeftRadius:0},t[3]=l,t[4]=f):f=t[4];let g;t[5]!==m?(g=m&&{borderTopRightRadius:0,borderBottomRightRadius:0},t[5]=m,t[6]=g):g=t[6];let u;t[7]!==h?(u=h&&{maskImage:h,WebkitMaskImage:h},t[7]=h,t[8]=u):u=t[8];let x;t[9]!==n.bg||t[10]!==n.text||t[11]!==s||t[12]!==f||t[13]!==g||t[14]!==u?(x={background:n.bg,color:n.text,borderRadius:4,...f,...g,...u,...s},t[9]=n.bg,t[10]=n.text,t[11]=s,t[12]=f,t[13]=g,t[14]=u,t[15]=x):x=t[15];let b;t[16]!==i?(b=o.jsx("span",{className:"truncate",children:i}),t[16]=i,t[17]=b):b=t[17];let E;t[18]!==x||t[19]!==b?(E=o.jsx(ut,{asChild:!0,children:o.jsx("div",{className:"absolute flex items-center px-2 text-[11px] font-medium truncate cursor-default",style:x,children:b})}),t[18]=x,t[19]=b,t[20]=E):E=t[20];let T;t[21]!==r?(T=o.jsx(Ft,{variant:r}),t[21]=r,t[22]=T):T=t[22];let d;return t[23]!==T||t[24]!==E?(d=o.jsxs(ht,{children:[E,T]}),t[23]=T,t[24]=E,t[25]=d):d=t[25],d}function Qn(e){const t=K.c(72),{decofile:r}=e,n=X(),[s,i]=Z.useState("calendar"),[a,c]=Z.useState(Kt),[l,m]=Z.useState(!1);let p,h,f;if(t[0]!==r||t[1]!==l){const V=Vt(r);p=V.filter(Ut).length,f=l?V:V.filter(Gt),h=It(f.map(Wt)),t[0]=r,t[1]=l,t[2]=p,t[3]=h,t[4]=f}else p=t[2],h=t[3],f=t[4];const g=h;let u;t[5]===Symbol.for("react.memo_cache_sentinel")?(u=()=>c(mt(new Date)),t[5]=u):u=t[5];const x=u;let b;t[6]!==s?(b=()=>c(V=>s==="calendar"?U(V,-1):U(V,-3)),t[6]=s,t[7]=b):b=t[7];const E=b;let T;t[8]!==s?(T=()=>c(V=>s==="calendar"?U(V,1):U(V,3)),t[8]=s,t[9]=T):T=t[9];const d=T;let v;t[10]!==n?(v=n("sandbox.variantCalendar.today"),t[10]=n,t[11]=v):v=t[11];let y;t[12]!==v?(y=o.jsx(tt,{variant:"outline",size:"sm",onClick:x,children:v}),t[12]=v,t[13]=y):y=t[13];let N;t[14]!==n?(N=n("sandbox.variantCalendar.previous"),t[14]=n,t[15]=N):N=t[15];let A;t[16]===Symbol.for("react.memo_cache_sentinel")?(A=o.jsx(gt,{size:16}),t[16]=A):A=t[16];let _;t[17]!==E||t[18]!==N?(_=o.jsx(tt,{variant:"ghost",size:"icon",className:"size-8",onClick:E,"aria-label":N,children:A}),t[17]=E,t[18]=N,t[19]=_):_=t[19];let k;t[20]!==n?(k=n("sandbox.variantCalendar.next"),t[20]=n,t[21]=k):k=t[21];let C;t[22]===Symbol.for("react.memo_cache_sentinel")?(C=o.jsx(vt,{size:16}),t[22]=C):C=t[22];let $;t[23]!==d||t[24]!==k?($=o.jsx(tt,{variant:"ghost",size:"icon",className:"size-8",onClick:d,"aria-label":k,children:C}),t[23]=d,t[24]=k,t[25]=$):$=t[25];const R=ct[a.getMonth()];let M;t[26]!==a?(M=a.getFullYear(),t[26]=a,t[27]=M):M=t[27];let w;t[28]!==R||t[29]!==M?(w=o.jsxs("h2",{className:"ml-2 text-base font-semibold",children:[R," ",M]}),t[28]=R,t[29]=M,t[30]=w):w=t[30];let j;t[31]!==$||t[32]!==w||t[33]!==y||t[34]!==_?(j=o.jsxs("div",{className:"flex items-center gap-2",children:[y,_,$,w]}),t[31]=$,t[32]=w,t[33]=y,t[34]=_,t[35]=j):j=t[35];let L;t[36]!==p||t[37]!==l||t[38]!==n?(L=p>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(jt,{id:"show-ongoing",checked:l,onCheckedChange:m}),o.jsx(yt,{htmlFor:"show-ongoing",className:"text-xs text-muted-foreground cursor-pointer",children:n("sandbox.variantCalendar.showOngoing",{count:p})})]}),t[36]=p,t[37]=l,t[38]=n,t[39]=L):L=t[39];let B;t[40]===Symbol.for("react.memo_cache_sentinel")?(B=o.jsx(at,{}),t[40]=B):B=t[40];let I;t[41]!==n?(I=n("sandbox.variantCalendar.calendarMode"),t[41]=n,t[42]=I):I=t[42];let S;t[43]!==I?(S={value:"calendar",icon:B,label:I},t[43]=I,t[44]=S):S=t[44];let F;t[45]===Symbol.for("react.memo_cache_sentinel")?(F=o.jsx(bt,{}),t[45]=F):F=t[45];let D;t[46]!==n?(D=n("sandbox.variantCalendar.timelineMode"),t[46]=n,t[47]=D):D=t[47];let P;t[48]!==D?(P={value:"timeline",icon:F,label:D},t[48]=D,t[49]=P):P=t[49];let O;t[50]!==S||t[51]!==P?(O=[S,P],t[50]=S,t[51]=P,t[52]=O):O=t[52];let H;t[53]!==O||t[54]!==s?(H=o.jsx(Tt,{value:s,onValueChange:i,options:O}),t[53]=O,t[54]=s,t[55]=H):H=t[55];let z;t[56]!==L||t[57]!==H?(z=o.jsxs("div",{className:"flex items-center gap-4",children:[L,H]}),t[56]=L,t[57]=H,t[58]=z):z=t[58];let W;t[59]!==j||t[60]!==z?(W=o.jsxs("div",{className:"flex items-center justify-between px-4 h-12 border-b shrink-0",children:[j,z]}),t[59]=j,t[60]=z,t[61]=W):W=t[61];let G;t[62]!==g||t[63]!==a||t[64]!==p||t[65]!==l||t[66]!==f||t[67]!==s?(G=f.length===0?o.jsx(Yt,{hiddenOngoing:l?0:p}):s==="calendar"?o.jsx(qt,{monthStart:a,variants:f,colorMap:g}):o.jsx(te,{monthStart:a,variants:f,colorMap:g}),t[62]=g,t[63]=a,t[64]=p,t[65]=l,t[66]=f,t[67]=s,t[68]=G):G=t[68];let Q;return t[69]!==W||t[70]!==G?(Q=o.jsxs("div",{className:"flex h-full w-full flex-col",children:[W,G]}),t[69]=W,t[70]=G,t[71]=Q):Q=t[71],Q}function Wt(e){return e.blockKey}function Gt(e){return!e.openEnd}function Ut(e){return e.openEnd}function Kt(){return mt(new Date)}function Yt(e){const t=K.c(4),{hiddenOngoing:r}=e,n=r===void 0?0:r,s=X();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(at,{size:24,className:"text-muted-foreground/60"}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==s?(a=o.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[i,n>0?o.jsxs(o.Fragment,{children:[o.jsx("div",{children:s("sandbox.variantCalendar.noDatedVariants")}),o.jsx("div",{className:"text-xs text-muted-foreground/80",children:s("sandbox.variantCalendar.hiddenOngoingVariants",{count:n})})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{children:s("sandbox.variantCalendar.noScheduledVariants")}),o.jsx("div",{className:"text-xs text-muted-foreground/80",children:s("sandbox.variantCalendar.dateMatcherInfo")})]})]}),t[1]=n,t[2]=s,t[3]=a):a=t[3],a}const et=20,it=2,st=28,Qt=6;function qt(e){const t=K.c(17),{monthStart:r,variants:n,colorMap:s}=e;let i,a,c,l,m;if(t[0]!==s||t[1]!==r||t[2]!==n){const f=Nt(r),g=_t(new Date);i=lt,m="flex-1 min-h-0",a="min-w-[840px]",t[8]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx("div",{className:"grid grid-cols-7 border-b text-xs text-muted-foreground sticky top-0 bg-background z-10",children:wt.map(Xt)}),t[8]=c):c=t[8],l=f.map((u,x)=>{const b=kt(u,n),E=b.reduce(Jt,0),T=st+E*(et+it)+8;return o.jsxs("div",{className:"grid grid-cols-7 relative border-b",style:{height:T},children:[u.map((d,v)=>{const y=d.getMonth()===r.getMonth(),N=d.getTime()===g.getTime();return o.jsx("div",{className:rt("border-r last:border-r-0 px-2 pt-1.5 text-xs",y?"bg-background":"bg-muted/30 text-muted-foreground"),children:o.jsx("span",{className:rt("inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1",N&&"bg-primary text-primary-foreground font-semibold"),children:d.getDate()})},v)}),b.map((d,v)=>{const y=dt(s,d.variant.blockKey),N=st+d.lane*(et+it),A=d.leftUnits/7*100,_=d.widthUnits/7*100,k=d.variant.openStart&&x===0,C=d.variant.openEnd&&x===f.length-1;return o.jsxs(ft,{variant:d.variant,color:y,fadeStart:k,fadeEnd:C,style:{top:N,left:`calc(${A}% + 2px)`,width:`calc(${_}% - 4px)`,minWidth:Qt,height:et},children:[d.variant.blockLabel,d.variant.label!==d.variant.blockLabel&&o.jsxs("span",{className:"opacity-70",children:[" · ",d.variant.label]})]},`${x}-${v}`)})]},x)}),t[0]=s,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=c,t[6]=l,t[7]=m}else i=t[3],a=t[4],c=t[5],l=t[6],m=t[7];let p;t[9]!==a||t[10]!==c||t[11]!==l?(p=o.jsxs("div",{className:a,children:[c,l]}),t[9]=a,t[10]=c,t[11]=l,t[12]=p):p=t[12];let h;return t[13]!==i||t[14]!==m||t[15]!==p?(h=o.jsx(i,{className:m,children:p}),t[13]=i,t[14]=m,t[15]=p,t[16]=h):h=t[16],h}function Jt(e,t){return Math.max(e,t.lane+1)}function Xt(e){return o.jsx("div",{className:"px-2 py-2 text-center uppercase tracking-wide",children:e},e)}const q=4,Zt=32,Y=240;function te(e){const t=K.c(23),{monthStart:r,variants:n,colorMap:s}=e,i=r,a=U(r,q),c=new Date,l=new Map;for(const w of n){const j=l.get(w.blockKey)??[];j.push(w),l.set(w.blockKey,j)}const m=Array.from(l.entries()).sort(ne),p=a.getTime()-i.getTime(),h=w=>(Math.max(i.getTime(),Math.min(a.getTime(),w.getTime()))-i.getTime())/p*100;let f;t[0]!==i?(f=(w,j)=>U(i,j),t[0]=i,t[1]=f):f=t[1];const g=Array.from({length:q},f),u=c.getTime()>=i.getTime()&&c.getTime()<=a.getTime()?h(c):null,x=X(),b=lt,E="flex-1 min-h-0",T="min-w-[900px] relative";let d;t[2]===Symbol.for("react.memo_cache_sentinel")?(d={width:Y},t[2]=d):d=t[2];let v;t[3]!==x?(v=x("sandbox.variantCalendar.variantBlock"),t[3]=x,t[4]=v):v=t[4];let y;t[5]!==v?(y=o.jsx("div",{className:"shrink-0 px-3 py-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r",style:d,children:v}),t[5]=v,t[6]=y):y=t[6];let N;t[7]===Symbol.for("react.memo_cache_sentinel")?(N={gridTemplateColumns:`repeat(${q}, minmax(0, 1fr))`},t[7]=N):N=t[7];const A=g.map(re);let _;t[8]!==A?(_=o.jsx("div",{className:"flex-1 grid",style:N,children:A}),t[8]=A,t[9]=_):_=t[9];let k;t[10]!==y||t[11]!==_?(k=o.jsxs("div",{className:"flex border-b sticky top-0 bg-background z-10",children:[y,_]}),t[10]=y,t[11]=_,t[12]=k):k=t[12];let C;t[13]!==x||t[14]!==u?(C=u!==null&&o.jsx("div",{className:"pointer-events-none absolute top-0 bottom-0 w-px bg-primary/70 z-[5]",style:{left:`calc(${Y}px + (100% - ${Y}px) * ${u} / 100)`},children:o.jsx("span",{className:"absolute -top-0.5 -translate-x-1/2 rounded-sm bg-primary px-1.5 py-px text-[10px] font-medium text-primary-foreground",children:x("sandbox.variantCalendar.todayLabel")})}),t[13]=x,t[14]=u,t[15]=C):C=t[15];const $=m.map(w=>{const[j,L]=w,B=dt(s,j),I=L[0]?.blockLabel??j;return o.jsxs("div",{children:[o.jsx("div",{className:"flex items-center bg-muted/40 border-b text-xs font-semibold uppercase tracking-wide text-muted-foreground",style:{height:28},children:o.jsx("div",{className:"px-3 truncate",style:{width:Y},children:I})}),L.map((S,F)=>o.jsxs("div",{className:"flex border-b items-center",style:{height:Zt},children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 text-sm border-r shrink-0",style:{width:Y},children:[o.jsx("span",{className:"inline-block h-2 w-2 rounded-full shrink-0",style:{background:B.bg}}),o.jsx("span",{className:"truncate text-foreground/80",children:S.label})]}),o.jsxs("div",{className:"relative flex-1 h-full",children:[o.jsx("div",{className:"absolute inset-0 grid",style:{gridTemplateColumns:`repeat(${q}, minmax(0, 1fr))`},children:g.map(ee)}),(()=>{const D=Math.max(S.start.getTime(),i.getTime()),P=Math.min(S.end.getTime(),a.getTime());if(P<=D)return null;const O=h(new Date(D)),H=h(new Date(P))-O;return o.jsx(ft,{variant:S,color:B,fadeStart:S.openStart,fadeEnd:S.openEnd,style:{top:"50%",transform:"translateY(-50%)",left:`${O}%`,width:`calc(${H}% - 2px)`,height:22},children:S.label})})()]})]},F))]},j)});let R;t[16]!==k||t[17]!==C||t[18]!==$?(R=o.jsxs("div",{className:T,children:[k,C,$]}),t[16]=k,t[17]=C,t[18]=$,t[19]=R):R=t[19];let M;return t[20]!==b||t[21]!==R?(M=o.jsx(b,{className:E,children:R}),t[20]=b,t[21]=R,t[22]=M):M=t[22],M}function ee(e,t){return o.jsx("div",{className:"border-r last:border-r-0 border-border/40"},t)}function re(e,t){return o.jsxs("div",{className:"px-2 py-2 text-xs uppercase tracking-wide text-muted-foreground border-r last:border-r-0",children:[ct[e.getMonth()]?.slice(0,3)," ",e.getFullYear()]},t)}function ne(e,t){return e[0].localeCompare(t[0])}export{Qn as VariantCalendar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as $,r as C,n as f,j as i,ab as k,a8 as I,a9 as P}from"./index-
|
|
1
|
+
import{c as $,r as C,n as f,j as i,ab as k,a8 as I,a9 as P}from"./index-BQ6NM318.js";const M={sm:{button:"size-7",buttonWithLabel:"h-7",icon:"size-4"},md:{button:"size-9",buttonWithLabel:"h-9",icon:"size-5"},lg:{button:"size-12",buttonWithLabel:"h-12",icon:"size-6"}};function A(E){const t=$.c(27),{value:s,onValueChange:y,options:o,size:L,fullWidth:R,className:z}=E,_=L===void 0?"sm":L,m=R===void 0?!1:R;let h;t[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[0]=h):h=t[0];const T=C.useRef(h);let x;t[1]===Symbol.for("react.memo_cache_sentinel")?(x={left:0,width:0,opacity:0},t[1]=x):x=t[1];const[d,S]=C.useState(x);let g,p;t[2]!==o||t[3]!==s?(g=()=>{const e=o.findIndex(j=>j.value===s),b=T.current[e];b&&S({left:b.offsetLeft,width:b.offsetWidth,opacity:1})},p=[s,o],t[2]=o,t[3]=s,t[4]=g,t[5]=p):(g=t[4],p=t[5]),C.useEffect(g,p);const n=M[_];let l;t[6]!==z?(l=f("relative flex gap-0 bg-muted rounded-lg",z),t[6]=z,t[7]=l):l=t[7];let a;t[8]!==n||t[9]!==m||t[10]!==y||t[11]!==o||t[12]!==s?(a=o.map((e,b)=>{const j=i.jsxs("button",{ref:V=>{T.current[b]=V},type:"button",onClick:()=>y(e.value),"aria-label":e.label,className:f("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",m?"flex-1 h-12 px-4":e.label?f(n.buttonWithLabel,"px-3"):n.button),children:[i.jsx("span",{className:f("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",n.icon,s===e.value?"text-foreground":"text-muted-foreground"),children:e.icon}),e.label&&i.jsx("span",{className:f("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===e.value?"text-foreground":"text-muted-foreground"),children:e.label})]},e.value);return e.tooltip?i.jsxs(k,{children:[i.jsx(I,{asChild:!0,children:j}),i.jsx(P,{side:"bottom",children:e.tooltip})]},e.value):j}),t[8]=n,t[9]=m,t[10]=y,t[11]=o,t[12]=s,t[13]=a):a=t[13];const w=m?"h-12":n.button;let r;t[14]!==w?(r=f("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",w),t[14]=w,t[15]=r):r=t[15];const W=`${d.left}px`,N=`${d.width}px`;let c;t[16]!==d.opacity||t[17]!==W||t[18]!==N?(c={left:W,width:N,opacity:d.opacity},t[16]=d.opacity,t[17]=W,t[18]=N,t[19]=c):c=t[19];let u;t[20]!==r||t[21]!==c?(u=i.jsx("div",{className:r,style:c}),t[20]=r,t[21]=c,t[22]=u):u=t[22];let v;return t[23]!==u||t[24]!==l||t[25]!==a?(v=i.jsxs("div",{className:l,children:[a,u]}),t[23]=u,t[24]=l,t[25]=a,t[26]=v):v=t[26],v}export{A as V};
|
package/dist/client/index.html
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<meta name="twitter:description" content="Hire specialized agents, give them access to your tools, and let them deliver real projects — with planning, verification, and observability built in." />
|
|
51
51
|
<meta name="twitter:image" content="/og-image.png" />
|
|
52
52
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
53
|
-
<script type="module" crossorigin src="/assets/index-
|
|
53
|
+
<script type="module" crossorigin src="/assets/index-BQ6NM318.js"></script>
|
|
54
54
|
<link rel="stylesheet" crossorigin href="/assets/index-DJSuP9VA.css">
|
|
55
55
|
</head>
|
|
56
56
|
<body>
|
package/dist/server/cli.js
CHANGED
|
@@ -1473,7 +1473,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var lp1=L(()=>{nf()});f
|
|
|
1473
1473
|
`.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${J}/${K}, keeping in old table`);continue}}await Ey`
|
|
1474
1474
|
DELETE FROM kysely_migration WHERE name = ${Q}
|
|
1475
1475
|
`.execute($)}}async function xa1($){await Ts8($),await Rs8($);let Z=new _a1({db:$,provider:{getMigrations:()=>Promise.resolve(mp0)}}),{error:Q,results:X}=await Z.migrateToLatest(),Y=0;if(X?.forEach((G)=>{if(G.status==="Success")Y++;else if(G.status==="Error")console.error(`Failed to execute migration "${G.migrationName}"`)}),Q)throw console.error("Failed to migrate"),console.error(Q),Q;return Y}async function Is8($){let{keepOpen:Z=!1,database:Q,skipBetterAuth:X=!1}=$??{},Y="skipped";if(!X&&!Q)Y=await cl0();let G=Q??F8(),J=async()=>{if(!Z&&!Q)await $O(G).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await xa1(G.db);return await J(),{betterAuth:Y,kysely:K}}catch(K){throw await J(),K}}async function qs8(){let $=F8(),Z=new _a1({db:$.db,provider:{getMigrations:()=>Promise.resolve(mp0)}}),{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 ba1=L(()=>{Ca1();ll0();QQ()});async function L70($){let Z={...process.env},Q=F80($,Z);console.log(dw1(Q.settings.encryptionKey));let X=Q.settings.betterAuthSecret||(Q.settings.localMode?jt1(Q.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (AZ0(),PZ0)),{outputs:G,services:J}=await Y({home:Q.settings.dataDir,externalDatabaseUrl:Q.externalDatabaseUrl,externalNatsUrl:Q.externalNatsUrl});if(!Q.skipMigrations){let{migrateBetterAuth:W}=await Promise.resolve().then(() => (ll0(),Pt1));await W(G.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (QQ(),yn1)),{migrateToLatest:F}=await Promise.resolve().then(() => (ba1(),fa1)),N=H(G.databaseUrl);await F({keepOpen:!0,database:N,skipBetterAuth:!0})}let K={...Q.settings,betterAuthSecret:X,databaseUrl:G.databaseUrl,natsUrls:G.natsUrls,...G.s3?{s3Endpoint:G.s3.endpoint,s3Bucket:G.s3.bucket,s3AccessKeyId:G.s3.accessKeyId,s3SecretAccessKey:G.s3.secretAccessKey,s3ForcePathStyle:G.s3.forcePathStyle}:{}};return mp1(K),{settings:K,services:J.map((W)=>({name:W.name==="PostgreSQL"?"Postgres":W.name,port:W.port})),managedServiceNames:J.filter((W)=>W.owner==="managed").map((W)=>W.name)}}var dp0=L(()=>{nf();zt1();R$()});var ua1={};Z0(ua1,{updateService:()=>lE,subscribeCliState:()=>np0,setTuiConsoleIntercepted:()=>D70,setServerUrl:()=>Ep,setMigrationsDone:()=>wp,setDevMode:()=>Vs8,resetCliStateForTests:()=>Ms8,isTuiConsoleIntercepted:()=>w70,getCliState:()=>pp0,addLogEntry:()=>KO});function ya1(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function ga1(){return{services:ya1(),migrationsStatus:"pending",serverUrl:null,logs:[]}}function Ms8(){mX=ga1()}function Dp(){for(let $ of ip0)$()}function pp0(){return mX}function np0($){return ip0.add($),()=>ip0.delete($)}function lE($){mX={...mX,services:mX.services.map((Z)=>Z.name===$.name?$:Z)},Dp()}function wp(){mX={...mX,migrationsStatus:"done"},Dp()}function Ep($){mX={...mX,serverUrl:$},Dp()}function KO($){let Z=[...mX.logs,$];mX={...mX,logs:Z.length>500?Z.slice(-500):Z},Dp()}function Vs8(){mX={...mX,services:[...ya1(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},Dp()}function D70($){ha1=$}function w70(){return ha1}var mX,ip0,ha1=!1;var mE=L(()=>{mX=ga1();ip0=new Set});import{createServer as ca1}from"net";function ks8($){return new Promise((Z)=>{let Q=ca1();Q.once("error",()=>Z(!1)),Q.listen($,"0.0.0.0",()=>{Q.close(()=>Z(!0))})})}async function jp($){if(await ks8($))return $;let Z=await new Promise((Q,X)=>{let Y=ca1();Y.once("error",X),Y.listen(0,"0.0.0.0",()=>{let G=Y.address(),J=typeof G==="object"&&G?G.port:0;Y.close(()=>Q(J))})});return console.warn(`Port ${$} is in use, using port ${Z} instead.`),Z}var tp0=()=>{};var rp0={};Z0(rp0,{startDevServer:()=>Cs8,pipeToLogStore:()=>op0});import{join as Ss8}from"path";function op0($){let Z=$.getReader(),Q=new TextDecoder,X="";function Y(){let G=X.split(`
|
|
1476
|
-
`);X=G.pop()??"";for(let J of G){let K=Bun.stripANSI(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;KO({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{try{for(;;){let{done:G,value:J}=await Z.read();if(G)break;X+=Q.decode(J,{stream:!0}),Y()}}catch{}if(X.trim()){let G=Bun.stripANSI(X).replace(/^\[\d+\]\s*/,"").trim();if(G)KO({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Cs8($){let{baseUrl:Z,noTui:Q}=$,X=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=X?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=X?await jp(Number(Y)+1):await jp(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await L70({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let D of W)lE({name:D.name,status:"ready",port:D.port});wp();let F=Ss8(import.meta.dir,"..","..","..","..",".."),N=Q===!0,U=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:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}},stdio:["inherit",N?"inherit":"pipe",N?"inherit":"pipe"]});if(!N)op0(U.stdout),op0(U.stderr);Ep(G),lE({name:"Vite",status:"ready",port:Number(Y)}),lE({name:"API",status:"ready",port:Number(K.port)});let O=async(D)=>{if(U.kill(D),await U.exited,H.length>0){let{stopServices:w}=await Promise.resolve().then(() => (AZ0(),PZ0));await w(K.dataDir)}};return process.on("SIGINT",()=>O("SIGINT")),process.on("SIGTERM",()=>O("SIGTERM")),{port:Number(Y),process:U}}var ap0=L(()=>{dp0();mE();tp0()});var E70;var sp0=L(()=>{E70={name:"decocms",version:"4.297.2",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","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 vs8,Text as la1}from"ink";import{jsx as xs8,jsxs as ma1}from"react/jsx-runtime";function da1({version:$}){return ma1(vs8,{flexDirection:"column",marginTop:1,children:[iZ0.map((Z,Q)=>xs8(la1,{color:pZ0[Q],children:Z},Q)),ma1(la1,{dimColor:!0,children:[" v",$]})]})}var ia1=L(()=>{Yp()});import{Box as dE,Text as WO}from"ink";import{Spinner as fs8}from"@inkjs/ui";import{jsx as XG,jsxs as jy}from"react/jsx-runtime";function pa1({status:$}){if($==="pending")return XG(fs8,{label:""});return XG(WO,{color:"green",children:"\u2713"})}function bs8($){return`${$.name}: ${$.port||"...."}`}function na1({services:$,migrationsStatus:Z,home:Q,serverUrl:X}){return jy(dE,{flexDirection:"column",paddingBottom:1,children:[XG(da1,{version:E70.version}),XG(dE,{marginBottom:1,children:XG(WO,{dimColor:!0,children:"\u2500".repeat(80)})}),XG(dE,{children:jy(WO,{dimColor:!0,children:["Home: ",Q]})}),jy(dE,{gap:2,children:[$.map((Y)=>jy(dE,{gap:1,children:[XG(WO,{children:bs8(Y)}),XG(pa1,{status:Y.status})]},Y.name)),jy(dE,{gap:1,children:[XG(WO,{children:"Migrations"}),XG(pa1,{status:Z})]})]}),XG(dE,{children:X?jy(WO,{children:["Open in browser: ",XG(WO,{color:"cyan",children:X})]}):XG(WO,{dimColor:!0,children:"Starting..."})})]})}var ta1=L(()=>{sp0();ia1()});import{Box as ys8,Text as zp}from"ink";import{jsx as ep0,jsxs as $n0}from"react/jsx-runtime";function gs8($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function oa1({logs:$}){return ep0(ys8,{flexDirection:"column",children:$.map((Z,Q)=>{if(Z.rawLine)return ep0(zp,{dimColor:!0,children:Z.rawLine},Q);let X=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return $n0(zp,{children:[$n0(zp,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),ep0(zp,{color:gs8(Z.status),children:Z.status}),$n0(zp,{dimColor:!0,children:[" ",X.padStart(8)]})]},Q)})})}var ra1=()=>{};var Zn0={};Z0(Zn0,{App:()=>cs8});import{Box as hs8}from"ink";import{useSyncExternalStore as us8}from"react";import{jsx as aa1,jsxs as ls8}from"react/jsx-runtime";function cs8({home:$}){let Z=us8(np0,pp0);return ls8(hs8,{flexDirection:"column",children:[aa1(na1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),aa1(oa1,{logs:Z.logs})]})}var Qn0=L(()=>{ta1();ra1();mE()});var d3="thread-gate",UN="decopilot-hosted-harness",BN="decopilot-hosted-harness-sandboxed",wJ="automations",HO="background-tools",iE="task-board-github-reads",pE="jira-push";var sa1="9";function ea1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:sa1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var $s1=()=>{};import ms8 from"pg";async function Qs1($,Z){let{databaseUrl:Q,lockTimeoutMs:X=ds8}=$,Y=$.log??((W)=>console.log(W)),G=new ms8.Client({connectionString:Q});await G.connect();let J=Date.now(),K=!1;try{while(!K){if(K=(await G.query("SELECT pg_try_advisory_lock($1) AS locked",[Zs1.toString()])).rows[0]?.locked===!0,K)break;if(Date.now()-J>=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 H$(is8)}let W=Date.now()-J;if(W>1000)Y(`[dbos] waited ${W}ms for the migration lock; another process migrated first`);return await Z()}finally{if(K)try{await G.query("SELECT pg_advisory_unlock($1)",[Zs1.toString()])}catch{}await G.end().catch(()=>{})}}var Zs1=8314027461559302n,ds8=600000,is8=500;var Xs1=L(()=>{J4()});function ps8(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Xn0($,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 Ys1(){let $=ps8();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Xn0($,"--cpu-prof-dir")??process.cwd(),name:Xn0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Xn0($,"--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 Gs1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=gE();if(!Q)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);X={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:Q.rss,heapUsed:Q.heapUsed,heapTotal:Q.heapTotal,external:Q.external,arrayBuffers:Q.arrayBuffers,...X}))};return Z().catch(()=>{}),j70=setInterval(()=>void Z().catch(()=>{}),$),j70.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(j70)clearInterval(j70)}}var j70;var Js1=()=>{};import*as ns8 from"bun:jsc";function Ks1(){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{ts8()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let Q,X=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-X;X=G+Z;let K=[];try{K=os8()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let F of K){let N=F.frames.find((O)=>O.sourceURL&&!/Unknown Executable/.test(O.category??""))??F.frames[0];if(!N)continue;let U=(N.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${N.name??"?"} @ ${U}:${N.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((F,N)=>N[1]-F[1]).slice(0,8).map(([F,N])=>({frame:F,count:N}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}Q=setTimeout(Y,Z),Q.unref?.()};return Q=setTimeout(Y,Z),Q.unref?.(),()=>{if(Q)clearTimeout(Q)}}var ts8,os8;var Ws1=L(()=>{({startSamplingProfiler:ts8,samplingProfilerStackTraces:os8}=ns8)});function Hs1(){Ys1();let $=[Gs1(),kn1(),Ks1()];return()=>{for(let Z of $)Z()}}var Fs1=L(()=>{_l0();Js1();Ws1()});var nE=v((Ns1)=>{Object.defineProperty(Ns1,"__esModule",{value:!0});Ns1.RepublishHeaders=Ns1.DirectMsgHeaders=Ns1.JsHeaders=Ns1.AdvisoryKind=void 0;Ns1.isOrderedPushConsumerOptions=rs8;Ns1.isPullConsumer=as8;Ns1.isPushConsumer=ss8;Ns1.isBoundPushConsumerOptions=es8;function rs8($){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 as8($){return $.isPullConsumer()}function ss8($){return $.isPushConsumer()}function es8($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}Ns1.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"};Ns1.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"};Ns1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};Ns1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var YG=v((Bs1)=>{Object.defineProperty(Bs1,"__esModule",{value:!0});Bs1.TD=Bs1.TE=Bs1.Empty=void 0;Bs1.encode=We8;Bs1.decode=He8;Bs1.Empty=new Uint8Array(0);Bs1.TE=new TextEncoder;Bs1.TD=new TextDecoder;function Ke8(...$){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 We8(...$){let Z=[];for(let Q=0;Q<$.length;Q++)Z.push(Bs1.TE.encode($[Q]));if(Z.length===0)return Bs1.Empty;if(Z.length===1)return Z[0];return Ke8(...Z)}function He8($){if(!$||$.length===0)return"";return Bs1.TD.decode($)}});var GG=v((Ds1)=>{Object.defineProperty(Ds1,"__esModule",{value:!0});Ds1.errors=Ds1.PermissionViolationError=Ds1.NoRespondersError=Ds1.TimeoutError=Ds1.RequestError=Ds1.ProtocolError=Ds1.ConnectionError=Ds1.DrainingConnectionError=Ds1.ClosedConnectionError=Ds1.AuthorizationError=Ds1.UserAuthenticationExpiredError=Ds1.InvalidOperationError=Ds1.InvalidArgumentError=Ds1.InvalidSubjectError=void 0;class Gn0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}Ds1.InvalidSubjectError=Gn0;class z70 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 z70(`${$} ${Z}`,Q)}}Ds1.InvalidArgumentError=z70;class Jn0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}Ds1.InvalidOperationError=Jn0;class P70 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new P70($);return null}}Ds1.UserAuthenticationExpiredError=P70;class A70 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 A70($);return null}}Ds1.AuthorizationError=A70;class Kn0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}Ds1.ClosedConnectionError=Kn0;class Wn0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}Ds1.DrainingConnectionError=Wn0;class Hn0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}Ds1.ConnectionError=Hn0;class Fn0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}Ds1.ProtocolError=Fn0;class Nn0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof T70}}Ds1.RequestError=Nn0;class Un0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}Ds1.TimeoutError=Un0;class T70 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}Ds1.NoRespondersError=T70;class R70 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,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(Q=G[1].toLowerCase(),X=G[2],Q==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new R70($,Q,X,Y)}}Ds1.PermissionViolationError=R70;Ds1.errors={AuthorizationError:A70,ClosedConnectionError:Kn0,ConnectionError:Hn0,DrainingConnectionError:Wn0,InvalidArgumentError:z70,InvalidOperationError:Jn0,InvalidSubjectError:Gn0,NoRespondersError:T70,PermissionViolationError:R70,ProtocolError:Fn0,RequestError:Nn0,TimeoutError:Un0,UserAuthenticationExpiredError:P70}});var i3=v((Ps1)=>{Object.defineProperty(Ps1,"__esModule",{value:!0});Ps1.SimpleMutex=Ps1.Perf=void 0;Ps1.extend=qe8;Ps1.render=Me8;Ps1.timeout=Ve8;Ps1.delay=ke8;Ps1.deadline=Se8;Ps1.deferred=On0;Ps1.debugDeferred=Ce8;Ps1.shuffle=_e8;Ps1.collect=ve8;Ps1.jitter=zs1;Ps1.backoff=xe8;Ps1.nanos=fe8;Ps1.millis=be8;Ps1.randomToken=he8;var Ie8=YG(),Bn0=GG();function qe8($,...Z){for(let Q=0;Q<Z.length;Q++){let X=Z[Q];Object.keys(X).forEach(function(Y){$[Y]=X[Y]})}return $}function Me8($){return Ie8.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Ve8($,Z=!0){let Q=Z?new Bn0.TimeoutError:null,X,Y,G=new Promise((J,K)=>{X={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(Q===null)K(new Bn0.TimeoutError);else K(Q)},$)});return Object.assign(G,X)}function ke8($=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 Se8($,Z=1000){let Q=On0(),X=setTimeout(()=>{Q.reject(new Bn0.TimeoutError)},Z);try{return await Promise.race([$,Q])}finally{clearTimeout(X)}}function On0(){let $={},Z=new Promise((Q,X)=>{$={resolve:Q,reject:X}});return Object.assign(Z,$)}function Ce8(){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 _e8($){for(let Z=$.length-1;Z>0;Z--){let Q=Math.floor(Math.random()*(Z+1));[$[Z],$[Q]]=[$[Q],$[Z]]}return $}async function ve8($){let Z=[];for await(let Q of $)Z.push(Q);return Z}class Es1{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})}),$}}Ps1.Perf=Es1;class js1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=On0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}Ps1.SimpleMutex=js1;function zs1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function xe8($=[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 zs1(Q>Z?$[Z]:$[Q])}}}function fe8($){return $*1e6}function be8($){return Math.floor($/1e6)}var ye8="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",ON=new Uint8Array(62);for(let $=0;$<62;$++)ON[$]=ye8.charCodeAt($);var ge8=218340105584896;function he8(){let $=Math.floor(Math.random()*ge8),Z=$%62,Q=ON[Z];$=($-Z)/62,Z=$%62;let X=ON[Z];$=($-Z)/62,Z=$%62;let Y=ON[Z];$=($-Z)/62,Z=$%62;let G=ON[Z];$=($-Z)/62,Z=$%62;let J=ON[Z];$=($-Z)/62,Z=$%62;let K=ON[Z];$=($-Z)/62,Z=$%62;let W=ON[Z];$=($-Z)/62;let H=ON[$];return String.fromCharCode(Q,X,Y,G,J,K,W,H)}});var ks1=v((Ms1)=>{Object.defineProperty(Ms1,"__esModule",{value:!0});Ms1.nuid=Ms1.NuidImpl=void 0;var Z04="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",FO=62,q70=12,Is1=10,Ts1=33,Q04=333,Rs1=q70+Is1,Dn0=new Uint8Array(FO);for(let $=0;$<FO;$++)Dn0[$]=Z04.charCodeAt($);var I70=4294967296,qs1=BigInt(FO)**BigInt(Is1),Pp=Number(qs1/(1n<<32n)),Ln0=Number(qs1%(1n<<32n));function X04($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Y04($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else X04($)}class wn0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(Rs1),this.cbuf=new Uint8Array(q70),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(Pp+1)),this.seqLo=Math.floor(Math.random()*I70);while($++<8&&this.seqHi===Pp&&this.seqLo>=Ln0);if(this.seqHi===Pp&&this.seqLo>=Ln0)this.seqLo=0;this.inc=Math.random()*(Q04-Ts1)+Ts1|0}setPre(){Y04(this.cbuf);for(let $=0;$<q70;$++)this.buf[$]=Dn0[this.cbuf[$]%FO]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let Q=Rs1-1;Q>=q70;Q--){let X=Math.floor($/FO),G=($-X*FO)*I70+Z,J=Math.floor(G/FO),K=G-J*FO;this.buf[Q]=Dn0[K],$=X,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=I70)this.seqLo-=I70,this.seqHi+=1;if(this.seqHi>Pp||this.seqHi===Pp&&this.seqLo>=Ln0)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()}}Ms1.NuidImpl=wn0;Ms1.nuid=new wn0});var vs1=v((Cs1)=>{Object.defineProperty(Cs1,"__esModule",{value:!0});Cs1.nuid=Cs1.Nuid=void 0;var Ss1=ks1();Cs1.Nuid=Ss1.NuidImpl;Cs1.nuid=Ss1.nuid});var V70=v((M70)=>{Object.defineProperty(M70,"__esModule",{value:!0});M70.nuid=M70.Nuid=void 0;var xs1=vs1();Object.defineProperty(M70,"Nuid",{enumerable:!0,get:function(){return xs1.Nuid}});Object.defineProperty(M70,"nuid",{enumerable:!0,get:function(){return xs1.nuid}})});var NO=v((fs1)=>{Object.defineProperty(fs1,"__esModule",{value:!0});fs1.DEFAULT_HOST=fs1.DEFAULT_PORT=fs1.Match=void 0;fs1.syncIterator=F04;fs1.createInbox=N04;var W04=V70(),H04=GG();fs1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function F04($){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 N04($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw H04.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${W04.nuid.next()}`}fs1.DEFAULT_PORT=4222;fs1.DEFAULT_HOST="127.0.0.1"});var Ap=v((hs1)=>{Object.defineProperty(hs1,"__esModule",{value:!0});hs1.DataBuffer=void 0;var ys1=YG();class gs1{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 ys1.TE.encode($)}static toAscii($){return ys1.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}}hs1.DataBuffer=gs1});var tE=v((ls1)=>{Object.defineProperty(ls1,"__esModule",{value:!0});ls1.LF=ls1.CR=ls1.CRLF=ls1.CR_LF_LEN=ls1.CR_LF=void 0;ls1.setTransportFactory=j04;ls1.defaultPort=z04;ls1.getUrlParseFn=P04;ls1.newTransport=A04;ls1.getResolveFn=T04;ls1.protoLen=cs1;ls1.extractProtocolMessage=R04;var D04=YG(),w04=NO(),E04=Ap(),JG;function j04($){JG=$}function z04(){return JG!==void 0&&JG.defaultPort!==void 0?JG.defaultPort:w04.DEFAULT_PORT}function P04(){return JG!==void 0&&JG.urlParseFn?JG.urlParseFn:void 0}function A04(){if(!JG||typeof JG.factory!=="function")throw Error("transport fn is not set");return JG.factory()}function T04(){return JG!==void 0&&JG.dnsResolveFn?JG.dnsResolveFn:void 0}ls1.CR_LF=`\r
|
|
1476
|
+
`);X=G.pop()??"";for(let J of G){let K=Bun.stripANSI(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;KO({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{try{for(;;){let{done:G,value:J}=await Z.read();if(G)break;X+=Q.decode(J,{stream:!0}),Y()}}catch{}if(X.trim()){let G=Bun.stripANSI(X).replace(/^\[\d+\]\s*/,"").trim();if(G)KO({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Cs8($){let{baseUrl:Z,noTui:Q}=$,X=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=X?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=X?await jp(Number(Y)+1):await jp(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await L70({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let D of W)lE({name:D.name,status:"ready",port:D.port});wp();let F=Ss8(import.meta.dir,"..","..","..","..",".."),N=Q===!0,U=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:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}},stdio:["inherit",N?"inherit":"pipe",N?"inherit":"pipe"]});if(!N)op0(U.stdout),op0(U.stderr);Ep(G),lE({name:"Vite",status:"ready",port:Number(Y)}),lE({name:"API",status:"ready",port:Number(K.port)});let O=async(D)=>{if(U.kill(D),await U.exited,H.length>0){let{stopServices:w}=await Promise.resolve().then(() => (AZ0(),PZ0));await w(K.dataDir)}};return process.on("SIGINT",()=>O("SIGINT")),process.on("SIGTERM",()=>O("SIGTERM")),{port:Number(Y),process:U}}var ap0=L(()=>{dp0();mE();tp0()});var E70;var sp0=L(()=>{E70={name:"decocms",version:"4.297.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 vs8,Text as la1}from"ink";import{jsx as xs8,jsxs as ma1}from"react/jsx-runtime";function da1({version:$}){return ma1(vs8,{flexDirection:"column",marginTop:1,children:[iZ0.map((Z,Q)=>xs8(la1,{color:pZ0[Q],children:Z},Q)),ma1(la1,{dimColor:!0,children:[" v",$]})]})}var ia1=L(()=>{Yp()});import{Box as dE,Text as WO}from"ink";import{Spinner as fs8}from"@inkjs/ui";import{jsx as XG,jsxs as jy}from"react/jsx-runtime";function pa1({status:$}){if($==="pending")return XG(fs8,{label:""});return XG(WO,{color:"green",children:"\u2713"})}function bs8($){return`${$.name}: ${$.port||"...."}`}function na1({services:$,migrationsStatus:Z,home:Q,serverUrl:X}){return jy(dE,{flexDirection:"column",paddingBottom:1,children:[XG(da1,{version:E70.version}),XG(dE,{marginBottom:1,children:XG(WO,{dimColor:!0,children:"\u2500".repeat(80)})}),XG(dE,{children:jy(WO,{dimColor:!0,children:["Home: ",Q]})}),jy(dE,{gap:2,children:[$.map((Y)=>jy(dE,{gap:1,children:[XG(WO,{children:bs8(Y)}),XG(pa1,{status:Y.status})]},Y.name)),jy(dE,{gap:1,children:[XG(WO,{children:"Migrations"}),XG(pa1,{status:Z})]})]}),XG(dE,{children:X?jy(WO,{children:["Open in browser: ",XG(WO,{color:"cyan",children:X})]}):XG(WO,{dimColor:!0,children:"Starting..."})})]})}var ta1=L(()=>{sp0();ia1()});import{Box as ys8,Text as zp}from"ink";import{jsx as ep0,jsxs as $n0}from"react/jsx-runtime";function gs8($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function oa1({logs:$}){return ep0(ys8,{flexDirection:"column",children:$.map((Z,Q)=>{if(Z.rawLine)return ep0(zp,{dimColor:!0,children:Z.rawLine},Q);let X=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return $n0(zp,{children:[$n0(zp,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),ep0(zp,{color:gs8(Z.status),children:Z.status}),$n0(zp,{dimColor:!0,children:[" ",X.padStart(8)]})]},Q)})})}var ra1=()=>{};var Zn0={};Z0(Zn0,{App:()=>cs8});import{Box as hs8}from"ink";import{useSyncExternalStore as us8}from"react";import{jsx as aa1,jsxs as ls8}from"react/jsx-runtime";function cs8({home:$}){let Z=us8(np0,pp0);return ls8(hs8,{flexDirection:"column",children:[aa1(na1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),aa1(oa1,{logs:Z.logs})]})}var Qn0=L(()=>{ta1();ra1();mE()});var d3="thread-gate",UN="decopilot-hosted-harness",BN="decopilot-hosted-harness-sandboxed",wJ="automations",HO="background-tools",iE="task-board-github-reads",pE="jira-push";var sa1="9";function ea1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:sa1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var $s1=()=>{};import ms8 from"pg";async function Qs1($,Z){let{databaseUrl:Q,lockTimeoutMs:X=ds8}=$,Y=$.log??((W)=>console.log(W)),G=new ms8.Client({connectionString:Q});await G.connect();let J=Date.now(),K=!1;try{while(!K){if(K=(await G.query("SELECT pg_try_advisory_lock($1) AS locked",[Zs1.toString()])).rows[0]?.locked===!0,K)break;if(Date.now()-J>=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 H$(is8)}let W=Date.now()-J;if(W>1000)Y(`[dbos] waited ${W}ms for the migration lock; another process migrated first`);return await Z()}finally{if(K)try{await G.query("SELECT pg_advisory_unlock($1)",[Zs1.toString()])}catch{}await G.end().catch(()=>{})}}var Zs1=8314027461559302n,ds8=600000,is8=500;var Xs1=L(()=>{J4()});function ps8(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Xn0($,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 Ys1(){let $=ps8();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Xn0($,"--cpu-prof-dir")??process.cwd(),name:Xn0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Xn0($,"--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 Gs1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=gE();if(!Q)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);X={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:Q.rss,heapUsed:Q.heapUsed,heapTotal:Q.heapTotal,external:Q.external,arrayBuffers:Q.arrayBuffers,...X}))};return Z().catch(()=>{}),j70=setInterval(()=>void Z().catch(()=>{}),$),j70.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(j70)clearInterval(j70)}}var j70;var Js1=()=>{};import*as ns8 from"bun:jsc";function Ks1(){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{ts8()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let Q,X=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-X;X=G+Z;let K=[];try{K=os8()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let F of K){let N=F.frames.find((O)=>O.sourceURL&&!/Unknown Executable/.test(O.category??""))??F.frames[0];if(!N)continue;let U=(N.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${N.name??"?"} @ ${U}:${N.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((F,N)=>N[1]-F[1]).slice(0,8).map(([F,N])=>({frame:F,count:N}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}Q=setTimeout(Y,Z),Q.unref?.()};return Q=setTimeout(Y,Z),Q.unref?.(),()=>{if(Q)clearTimeout(Q)}}var ts8,os8;var Ws1=L(()=>{({startSamplingProfiler:ts8,samplingProfilerStackTraces:os8}=ns8)});function Hs1(){Ys1();let $=[Gs1(),kn1(),Ks1()];return()=>{for(let Z of $)Z()}}var Fs1=L(()=>{_l0();Js1();Ws1()});var nE=v((Ns1)=>{Object.defineProperty(Ns1,"__esModule",{value:!0});Ns1.RepublishHeaders=Ns1.DirectMsgHeaders=Ns1.JsHeaders=Ns1.AdvisoryKind=void 0;Ns1.isOrderedPushConsumerOptions=rs8;Ns1.isPullConsumer=as8;Ns1.isPushConsumer=ss8;Ns1.isBoundPushConsumerOptions=es8;function rs8($){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 as8($){return $.isPullConsumer()}function ss8($){return $.isPushConsumer()}function es8($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}Ns1.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"};Ns1.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"};Ns1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};Ns1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var YG=v((Bs1)=>{Object.defineProperty(Bs1,"__esModule",{value:!0});Bs1.TD=Bs1.TE=Bs1.Empty=void 0;Bs1.encode=We8;Bs1.decode=He8;Bs1.Empty=new Uint8Array(0);Bs1.TE=new TextEncoder;Bs1.TD=new TextDecoder;function Ke8(...$){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 We8(...$){let Z=[];for(let Q=0;Q<$.length;Q++)Z.push(Bs1.TE.encode($[Q]));if(Z.length===0)return Bs1.Empty;if(Z.length===1)return Z[0];return Ke8(...Z)}function He8($){if(!$||$.length===0)return"";return Bs1.TD.decode($)}});var GG=v((Ds1)=>{Object.defineProperty(Ds1,"__esModule",{value:!0});Ds1.errors=Ds1.PermissionViolationError=Ds1.NoRespondersError=Ds1.TimeoutError=Ds1.RequestError=Ds1.ProtocolError=Ds1.ConnectionError=Ds1.DrainingConnectionError=Ds1.ClosedConnectionError=Ds1.AuthorizationError=Ds1.UserAuthenticationExpiredError=Ds1.InvalidOperationError=Ds1.InvalidArgumentError=Ds1.InvalidSubjectError=void 0;class Gn0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}Ds1.InvalidSubjectError=Gn0;class z70 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 z70(`${$} ${Z}`,Q)}}Ds1.InvalidArgumentError=z70;class Jn0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}Ds1.InvalidOperationError=Jn0;class P70 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new P70($);return null}}Ds1.UserAuthenticationExpiredError=P70;class A70 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 A70($);return null}}Ds1.AuthorizationError=A70;class Kn0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}Ds1.ClosedConnectionError=Kn0;class Wn0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}Ds1.DrainingConnectionError=Wn0;class Hn0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}Ds1.ConnectionError=Hn0;class Fn0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}Ds1.ProtocolError=Fn0;class Nn0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof T70}}Ds1.RequestError=Nn0;class Un0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}Ds1.TimeoutError=Un0;class T70 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}Ds1.NoRespondersError=T70;class R70 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,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(Q=G[1].toLowerCase(),X=G[2],Q==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new R70($,Q,X,Y)}}Ds1.PermissionViolationError=R70;Ds1.errors={AuthorizationError:A70,ClosedConnectionError:Kn0,ConnectionError:Hn0,DrainingConnectionError:Wn0,InvalidArgumentError:z70,InvalidOperationError:Jn0,InvalidSubjectError:Gn0,NoRespondersError:T70,PermissionViolationError:R70,ProtocolError:Fn0,RequestError:Nn0,TimeoutError:Un0,UserAuthenticationExpiredError:P70}});var i3=v((Ps1)=>{Object.defineProperty(Ps1,"__esModule",{value:!0});Ps1.SimpleMutex=Ps1.Perf=void 0;Ps1.extend=qe8;Ps1.render=Me8;Ps1.timeout=Ve8;Ps1.delay=ke8;Ps1.deadline=Se8;Ps1.deferred=On0;Ps1.debugDeferred=Ce8;Ps1.shuffle=_e8;Ps1.collect=ve8;Ps1.jitter=zs1;Ps1.backoff=xe8;Ps1.nanos=fe8;Ps1.millis=be8;Ps1.randomToken=he8;var Ie8=YG(),Bn0=GG();function qe8($,...Z){for(let Q=0;Q<Z.length;Q++){let X=Z[Q];Object.keys(X).forEach(function(Y){$[Y]=X[Y]})}return $}function Me8($){return Ie8.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Ve8($,Z=!0){let Q=Z?new Bn0.TimeoutError:null,X,Y,G=new Promise((J,K)=>{X={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(Q===null)K(new Bn0.TimeoutError);else K(Q)},$)});return Object.assign(G,X)}function ke8($=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 Se8($,Z=1000){let Q=On0(),X=setTimeout(()=>{Q.reject(new Bn0.TimeoutError)},Z);try{return await Promise.race([$,Q])}finally{clearTimeout(X)}}function On0(){let $={},Z=new Promise((Q,X)=>{$={resolve:Q,reject:X}});return Object.assign(Z,$)}function Ce8(){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 _e8($){for(let Z=$.length-1;Z>0;Z--){let Q=Math.floor(Math.random()*(Z+1));[$[Z],$[Q]]=[$[Q],$[Z]]}return $}async function ve8($){let Z=[];for await(let Q of $)Z.push(Q);return Z}class Es1{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})}),$}}Ps1.Perf=Es1;class js1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=On0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}Ps1.SimpleMutex=js1;function zs1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function xe8($=[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 zs1(Q>Z?$[Z]:$[Q])}}}function fe8($){return $*1e6}function be8($){return Math.floor($/1e6)}var ye8="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",ON=new Uint8Array(62);for(let $=0;$<62;$++)ON[$]=ye8.charCodeAt($);var ge8=218340105584896;function he8(){let $=Math.floor(Math.random()*ge8),Z=$%62,Q=ON[Z];$=($-Z)/62,Z=$%62;let X=ON[Z];$=($-Z)/62,Z=$%62;let Y=ON[Z];$=($-Z)/62,Z=$%62;let G=ON[Z];$=($-Z)/62,Z=$%62;let J=ON[Z];$=($-Z)/62,Z=$%62;let K=ON[Z];$=($-Z)/62,Z=$%62;let W=ON[Z];$=($-Z)/62;let H=ON[$];return String.fromCharCode(Q,X,Y,G,J,K,W,H)}});var ks1=v((Ms1)=>{Object.defineProperty(Ms1,"__esModule",{value:!0});Ms1.nuid=Ms1.NuidImpl=void 0;var Z04="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",FO=62,q70=12,Is1=10,Ts1=33,Q04=333,Rs1=q70+Is1,Dn0=new Uint8Array(FO);for(let $=0;$<FO;$++)Dn0[$]=Z04.charCodeAt($);var I70=4294967296,qs1=BigInt(FO)**BigInt(Is1),Pp=Number(qs1/(1n<<32n)),Ln0=Number(qs1%(1n<<32n));function X04($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Y04($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else X04($)}class wn0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(Rs1),this.cbuf=new Uint8Array(q70),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(Pp+1)),this.seqLo=Math.floor(Math.random()*I70);while($++<8&&this.seqHi===Pp&&this.seqLo>=Ln0);if(this.seqHi===Pp&&this.seqLo>=Ln0)this.seqLo=0;this.inc=Math.random()*(Q04-Ts1)+Ts1|0}setPre(){Y04(this.cbuf);for(let $=0;$<q70;$++)this.buf[$]=Dn0[this.cbuf[$]%FO]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let Q=Rs1-1;Q>=q70;Q--){let X=Math.floor($/FO),G=($-X*FO)*I70+Z,J=Math.floor(G/FO),K=G-J*FO;this.buf[Q]=Dn0[K],$=X,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=I70)this.seqLo-=I70,this.seqHi+=1;if(this.seqHi>Pp||this.seqHi===Pp&&this.seqLo>=Ln0)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()}}Ms1.NuidImpl=wn0;Ms1.nuid=new wn0});var vs1=v((Cs1)=>{Object.defineProperty(Cs1,"__esModule",{value:!0});Cs1.nuid=Cs1.Nuid=void 0;var Ss1=ks1();Cs1.Nuid=Ss1.NuidImpl;Cs1.nuid=Ss1.nuid});var V70=v((M70)=>{Object.defineProperty(M70,"__esModule",{value:!0});M70.nuid=M70.Nuid=void 0;var xs1=vs1();Object.defineProperty(M70,"Nuid",{enumerable:!0,get:function(){return xs1.Nuid}});Object.defineProperty(M70,"nuid",{enumerable:!0,get:function(){return xs1.nuid}})});var NO=v((fs1)=>{Object.defineProperty(fs1,"__esModule",{value:!0});fs1.DEFAULT_HOST=fs1.DEFAULT_PORT=fs1.Match=void 0;fs1.syncIterator=F04;fs1.createInbox=N04;var W04=V70(),H04=GG();fs1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function F04($){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 N04($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw H04.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${W04.nuid.next()}`}fs1.DEFAULT_PORT=4222;fs1.DEFAULT_HOST="127.0.0.1"});var Ap=v((hs1)=>{Object.defineProperty(hs1,"__esModule",{value:!0});hs1.DataBuffer=void 0;var ys1=YG();class gs1{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 ys1.TE.encode($)}static toAscii($){return ys1.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}}hs1.DataBuffer=gs1});var tE=v((ls1)=>{Object.defineProperty(ls1,"__esModule",{value:!0});ls1.LF=ls1.CR=ls1.CRLF=ls1.CR_LF_LEN=ls1.CR_LF=void 0;ls1.setTransportFactory=j04;ls1.defaultPort=z04;ls1.getUrlParseFn=P04;ls1.newTransport=A04;ls1.getResolveFn=T04;ls1.protoLen=cs1;ls1.extractProtocolMessage=R04;var D04=YG(),w04=NO(),E04=Ap(),JG;function j04($){JG=$}function z04(){return JG!==void 0&&JG.defaultPort!==void 0?JG.defaultPort:w04.DEFAULT_PORT}function P04(){return JG!==void 0&&JG.urlParseFn?JG.urlParseFn:void 0}function A04(){if(!JG||typeof JG.factory!=="function")throw Error("transport fn is not set");return JG.factory()}function T04(){return JG!==void 0&&JG.dnsResolveFn?JG.dnsResolveFn:void 0}ls1.CR_LF=`\r
|
|
1477
1477
|
`;ls1.CR_LF_LEN=ls1.CR_LF.length;ls1.CRLF=E04.DataBuffer.fromAscii(ls1.CR_LF);ls1.CR=new Uint8Array(ls1.CRLF)[0];ls1.LF=new Uint8Array(ls1.CRLF)[1];function cs1($){for(let Z=0;Z<$.length;Z++){let Q=Z+1;if($.byteLength>Q&&$[Z]===ls1.CR&&$[Q]===ls1.LF)return Q+1}return 0}function R04($){let Z=cs1($);if(Z>0){let X=new Uint8Array($).slice(0,Z);return D04.TD.decode(X)}return""}});var An0=v((rs1)=>{Object.defineProperty(rs1,"__esModule",{value:!0});rs1.ipV4=ns1;rs1.isIP=f04;rs1.parseIP=ts1;var Tp=4,oE=16,k70=48,ps1=57,ds1=65,v04=70,is1=97,x04=102,Pn0=16777215;function ns1($,Z,Q,X){let Y=new Uint8Array(oE);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((J,K)=>{Y[K]=J}),Y[12]=$,Y[13]=Z,Y[14]=Q,Y[15]=X,Y}function f04($){return ts1($)!==void 0}function ts1($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return os1($);case":":return b04($)}return}function os1($){let Z=new Uint8Array(Tp);for(let Q=0;Q<Tp;Q++){if($.length===0)return;if(Q>0){if($[0]!==".")return;$=$.substring(1)}let{n:X,c:Y,ok:G}=y04($);if(!G||X>255)return;$=$.substring(Y),Z[Q]=X}return ns1(Z[0],Z[1],Z[2],Z[3])}function b04($){let Z=new Uint8Array(oE),Q=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(Q=0,$=$.substring(2),$.length===0)return Z}let X=0;while(X<oE){let{n:Y,c:G,ok:J}=g04($);if(!J||Y>65535)return;if(G<$.length&&$[G]==="."){if(Q<0&&X!=oE-Tp)return;if(X+Tp>oE)return;let K=os1($);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+=Tp;break}if(Z[X]=Y>>8,Z[X+1]=Y,X+=2,$=$.substring(G),$.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<oE){if(Q<0)return;let Y=oE-X;for(let G=X-1;G>=Q;G--)Z[G+Y]=Z[G];for(let G=Q+Y-1;G>=Q;G--)Z[G]=0}else if(Q>=0)return;return Z}function y04($){let Z=0,Q=0;for(Z=0;Z<$.length&&k70<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=ps1;Z++)if(Q=Q*10+($.charCodeAt(Z)-k70),Q>=Pn0)return{n:Pn0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:Q,c:Z,ok:!0}}function g04($){let Z=0,Q=0;for(Q=0;Q<$.length;Q++){if(k70<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=ps1)Z*=16,Z+=$.charCodeAt(Q)-k70;else if(is1<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=x04)Z*=16,Z+=$.charCodeAt(Q)-is1+10;else if(ds1<=$.charCodeAt(Q)&&$.charCodeAt(Q)<=v04)Z*=16,Z+=$.charCodeAt(Q)-ds1+10;else break;if(Z>=Pn0)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 Vn0=v((ss1)=>{Object.defineProperty(ss1,"__esModule",{value:!0});ss1.Servers=ss1.ServerImpl=void 0;ss1.isIPV4OrHostname=as1;ss1.hostPort=Mn0;var Tn0=tE(),Rn0=i3(),In0=An0(),l04=NO(),m04=GG();function as1($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function qn0($){return!as1($)}function d04($){let Q=$.toUpperCase().indexOf("::FFFF:");if(Q!==-1&&$.indexOf(".")!==-1){let X=$.substring(Q+7);return X=X.replace("[",""),X.replace("]","")}return $}function Mn0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=d04($),qn0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=qn0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),Q=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):l04.DEFAULT_PORT,Y=new URL(`${Q===80?"https":"http"}://${$}`);Y.port=`${Q}`;let G=Y.hostname;if(G.charAt(0)==="[")G=G.substring(1,G.length-1);return{listen:Y.host,hostname:G,port:Q}}class zy{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let Q=Mn0($);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,In0.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",G=new URL(`${Y}://${qn0(X)?"["+X+"]":X}`);G.port=`${this.port}`;let J=new zy(G.host,!1);J.tlsName=this.hostname,Z.push(J)}}if($.randomize)(0,Rn0.shuffle)(Z);return this.resolves=Z,Z}}ss1.ServerImpl=zy;class S70{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw m04.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,Tn0.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:G}=Mn0(Y),J=Q.get(G);if(J)J.gossiped=!1,X.push(J);else X.push(new zy(Y))}if(this.randomize)(0,Rn0.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,In0.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,Tn0.getUrlParseFn)();$=Q?Q($):$;let X=new zy($,Z);if((0,In0.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 S70.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return S70.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,Tn0.getUrlParseFn)(),G=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new zy(K,!0);G.set(K,W)});let J=[];if(this.servers.forEach((K,W)=>{let H=K.listen;if(K.gossiped&&this.currentServer.listen!==H&&G.get(H)===void 0)J.push(W);G.delete(H)}),J.reverse(),J.forEach((K)=>{let W=this.servers.splice(K,1);X=X.concat(W[0].listen)}),G.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,Rn0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:Q,deleted:X}}}ss1.Servers=S70});var C70=v((Qe1)=>{Object.defineProperty(Qe1,"__esModule",{value:!0});Qe1.QueuedIteratorImpl=void 0;var kn0=i3(),$e1=GG();class Ze1{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,kn0.deferred)(),this.yields=[],this.iterClosed=(0,kn0.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 $e1.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new $e1.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,kn0.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}}Qe1.QueuedIteratorImpl=Ze1});var Sn0=v((Je1)=>{Object.defineProperty(Je1,"__esModule",{value:!0});Je1.MuxSubscription=void 0;var t04=NO(),Ye1=GG();class Ge1{baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,t04.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 Ye1.NoRespondersError(X.requestSubject):null;X.resolver($,Z)}}}}close(){let $=new Ye1.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}Je1.MuxSubscription=Ge1});var Cn0=v((He1)=>{Object.defineProperty(He1,"__esModule",{value:!0});He1.Heartbeat=void 0;var o04=i3();class We1{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,o04.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})}}He1.Heartbeat=We1});var xn0=v((Oe1)=>{Object.defineProperty(Oe1,"__esModule",{value:!0});Oe1.DenoBuffer=Oe1.MAX_SIZE=Oe1.AssertionError=void 0;Oe1.assert=Ue1;Oe1.concat=Be1;Oe1.append=a04;Oe1.readAll=s04;Oe1.writeAll=e04;var r04=YG();class _n0 extends Error{constructor($){super($);this.name="AssertionError"}}Oe1.AssertionError=_n0;function Ue1($,Z="Assertion failed."){if(!$)throw new _n0(Z)}var Ne1=32768;Oe1.MAX_SIZE=4294967294;function _70($,Z,Q=0){let X=Z.byteLength-Q;if($.byteLength>X)$=$.subarray(0,X);return Z.set($,Q),$.byteLength}function Be1($,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 a04($,Z){return Be1($,Uint8Array.of(Z))}class vn0{_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($){Ue1($<=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=_70(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(r04.TE.encode($))}write($){let Z=this._grow($.byteLength);return _70($,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)_70(this._buf.subarray(this._off),this._buf);else if(X+$>Oe1.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*X+$,Oe1.MAX_SIZE));_70(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,Oe1.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(Ne1);while(!0){let X=this.capacity-this.length<Ne1,Y=X?Q:new Uint8Array(this._buf.buffer,this.length),G=$.read(Y);if(G===null)return Z;if(X)this.write(Y.subarray(0,G));else this._reslice(this.length+G);Z+=G}}}Oe1.DenoBuffer=vn0;function s04($){let Z=new vn0;return Z.readFrom($),Z.bytes()}function e04($,Z){let Q=0;while(Q<Z.length)Q+=$.write(Z.subarray(Q))}});var yn0=v((je1)=>{Object.defineProperty(je1,"__esModule",{value:!0});je1.cc=je1.State=je1.Parser=je1.Kind=void 0;je1.describe=J14;var fn0=xn0(),bn0=YG();je1.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function J14($){let Z,Q="";switch($.kind){case je1.Kind.MSG:Z="MSG";break;case je1.Kind.OK:Z="OK";break;case je1.Kind.ERR:Z="ERR",Q=bn0.TD.decode($.data);break;case je1.Kind.PING:Z="PING";break;case je1.Kind.PONG:Z="PONG";break;case je1.Kind.INFO:Z="INFO",Q=bn0.TD.decode($.data)}return`${Z}: ${Q}`}function De1(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var we1=48,K14=57,Py=67108864;class Ee1{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=je1.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 je1.State.OP_START:switch(Q){case je1.cc.M:case je1.cc.m:this.state=je1.State.OP_M,this.hdr=-1,this.ma=De1();break;case je1.cc.H:case je1.cc.h:this.state=je1.State.OP_H,this.hdr=0,this.ma=De1();break;case je1.cc.P:case je1.cc.p:this.state=je1.State.OP_P;break;case je1.cc.PLUS:this.state=je1.State.OP_PLUS;break;case je1.cc.MINUS:this.state=je1.State.OP_MINUS;break;case je1.cc.I:case je1.cc.i:this.state=je1.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_H:switch(Q){case je1.cc.M:case je1.cc.m:this.state=je1.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_M:switch(Q){case je1.cc.S:case je1.cc.s:this.state=je1.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_MS:switch(Q){case je1.cc.G:case je1.cc.g:this.state=je1.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_MSG:switch(Q){case je1.cc.SPACE:case je1.cc.TAB:this.state=je1.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_MSG_SPC:switch(Q){case je1.cc.SPACE:case je1.cc.TAB:continue;default:this.state=je1.State.MSG_ARG,this.as=Z}break;case je1.State.MSG_ARG:switch(Q){case je1.cc.CR:this.drop=1;break;case je1.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=je1.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(Q)}break;case je1.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let X=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:je1.Kind.MSG,msg:this.ma,data:X}),this.argBuf=void 0,this.msgBuf=void 0,this.state=je1.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:je1.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=je1.State.MSG_END;break;case je1.State.MSG_END:switch(Q){case je1.cc.NL:this.drop=0,this.as=Z+1,this.state=je1.State.OP_START;break;default:continue}break;case je1.State.OP_PLUS:switch(Q){case je1.cc.O:case je1.cc.o:this.state=je1.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_PLUS_O:switch(Q){case je1.cc.K:case je1.cc.k:this.state=je1.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_PLUS_OK:switch(Q){case je1.cc.NL:this.dispatcher.push({kind:je1.Kind.OK}),this.drop=0,this.state=je1.State.OP_START;break}break;case je1.State.OP_MINUS:switch(Q){case je1.cc.E:case je1.cc.e:this.state=je1.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_MINUS_E:switch(Q){case je1.cc.R:case je1.cc.r:this.state=je1.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_MINUS_ER:switch(Q){case je1.cc.R:case je1.cc.r:this.state=je1.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_MINUS_ERR:switch(Q){case je1.cc.SPACE:case je1.cc.TAB:this.state=je1.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_MINUS_ERR_SPC:switch(Q){case je1.cc.SPACE:case je1.cc.TAB:continue;default:this.state=je1.State.MINUS_ERR_ARG,this.as=Z}break;case je1.State.MINUS_ERR_ARG:switch(Q){case je1.cc.CR:this.drop=1;break;case je1.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:je1.Kind.ERR,data:X}),this.drop=0,this.as=Z+1,this.state=je1.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(Q))}break;case je1.State.OP_P:switch(Q){case je1.cc.I:case je1.cc.i:this.state=je1.State.OP_PI;break;case je1.cc.O:case je1.cc.o:this.state=je1.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_PO:switch(Q){case je1.cc.N:case je1.cc.n:this.state=je1.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_PON:switch(Q){case je1.cc.G:case je1.cc.g:this.state=je1.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_PONG:switch(Q){case je1.cc.NL:this.dispatcher.push({kind:je1.Kind.PONG}),this.drop=0,this.state=je1.State.OP_START;break}break;case je1.State.OP_PI:switch(Q){case je1.cc.N:case je1.cc.n:this.state=je1.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_PIN:switch(Q){case je1.cc.G:case je1.cc.g:this.state=je1.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_PING:switch(Q){case je1.cc.NL:this.dispatcher.push({kind:je1.Kind.PING}),this.drop=0,this.state=je1.State.OP_START;break}break;case je1.State.OP_I:switch(Q){case je1.cc.N:case je1.cc.n:this.state=je1.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_IN:switch(Q){case je1.cc.F:case je1.cc.f:this.state=je1.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_INF:switch(Q){case je1.cc.O:case je1.cc.o:this.state=je1.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_INFO:switch(Q){case je1.cc.SPACE:case je1.cc.TAB:this.state=je1.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case je1.State.OP_INFO_SPC:switch(Q){case je1.cc.SPACE:case je1.cc.TAB:continue;default:this.state=je1.State.INFO_ARG,this.as=Z}break;case je1.State.INFO_ARG:switch(Q){case je1.cc.CR:this.drop=1;break;case je1.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:je1.Kind.INFO,data:X}),this.drop=0,this.as=Z+1,this.state=je1.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(Q)}break;default:throw this.fail($.subarray(Z))}}if((this.state===je1.State.MSG_ARG||this.state===je1.State.MINUS_ERR_ARG||this.state===je1.State.INFO_ARG)&&!this.argBuf)this.argBuf=new fn0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===je1.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new fn0.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 fn0.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 je1.cc.SPACE:case je1.cc.TAB:case je1.cc.CR:case je1.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],Py);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],Py);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}: ${bn0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],Q=-1;for(let X=0;X<$.length;X++)switch($[X]){case je1.cc.SPACE:case je1.cc.TAB:case je1.cc.CR:case je1.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],Py),this.ma.size=this.protoParseInt(Z[3],Py);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],Py),this.ma.size=this.protoParseInt(Z[4],Py);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]<we1||$[X]>K14)return-1;Q=Q*10+($[X]-we1)}return Z!==void 0&&Q>Z?-1:Q}}je1.Parser=Ee1;je1.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};je1.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 f70=v((Pe1)=>{Object.defineProperty(Pe1,"__esModule",{value:!0});Pe1.MsgHdrsImpl=void 0;Pe1.canonicalMIMEHeaderKey=hn0;Pe1.headers=F14;var ze1=YG(),p3=NO(),x70=GG();function hn0($){let F=!0,N=Array($.length);for(let U=0;U<$.length;U++){let B=$.charCodeAt(U);if(B===58||B<33||B>126)throw x70.InvalidArgumentError.format("header",`'${$[U]}' 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;N[U]=B,F=B==45}return String.fromCharCode(...N)}function F14($=0,Z=""){if($===0&&Z!=="")throw x70.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw x70.InvalidArgumentError.format("description","is required");return new Ay($,Z)}var gn0="NATS/1.0";class Ay{_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(),G=[...X].sort();for(let J=0;J<Y.length;J++)if(Y[J]!==G[J])return!1}return!0}return!1}static decode($){let Z=new Ay,X=ze1.TD.decode($).split(`\r
|
|
1478
1478
|
`),Y=X[0];if(Y!==gn0){let G=Y.replace(gn0,"").trim();if(G.length>0){if(Z._code=parseInt(G,10),isNaN(Z._code))Z._code=0;let J=Z._code.toString();G=G.replace(J,""),Z._description=G.trim()}}if(X.length>=1)X.slice(1).map((G)=>{if(G){let J=G.indexOf(":");if(J>-1){let K=G.slice(0,J),W=G.slice(J+1).trim();Z.append(K,W)}}});return Z}toString(){if(this.headers.size===0&&this._code===0)return"";let $=gn0;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
|
|
1479
1479
|
${Z}: ${Q[X]}`;return`${$}\r
|
|
@@ -2829,7 +2829,7 @@ ${G}`.trim().slice(0,g_$)}function nn4($){let Z=$.fields.priority?.name?.toLower
|
|
|
2829
2829
|
|
|
2830
2830
|
${O}`});if(!D)continue;try{await $.storage.jiraIntegrations.createCommentLink({commentId:D.id,organizationId:K,jiraCommentId:B.id})}catch(w){if(w.code==="23505"){await $.storage.taskBoard.deleteComment(D.id,K,lH);continue}throw w}}}class h_${ctx;organizationId;ids=new Map;constructor($,Z){this.ctx=$;this.organizationId=Z}async seed($){if($.length===0)return;let Z=await this.ctx.storage.sprints.upsertManyFromJira(this.organizationId,$.map(b_$));for(let[Q,X]of Z)this.ids.set(Q,X)}async localIdFor($){if(!$)return null;let Z=this.ids.get($.id);if(Z)return Z;let Q=await this.ctx.storage.sprints.upsertFromJira(this.organizationId,b_$($));return this.ids.set($.id,Q),Q}}function b_$($){return{jiraSprintId:$.id,name:$.name,state:$.state,startsAt:$.startsAt,endsAt:$.endsAt}}function tn4($,Z){if($.size===0)return[];return Z.filter((Q)=>!$.has(Q.jiraIssueId))}async function on4($,Z,Q,X){let Y=Z.organizationId,G=await Q.searchIssueIds(`(${X}) AND issuetype IN standardIssueTypes()`);if(G.size===0)return console.warn(`[jira] scope for org ${Y} came back empty \u2014 skipping reconciliation rather than archiving the whole board`),0;let J=tn4(G,await $.storage.jiraIntegrations.listLinkedIssuesOnBoard(Y));if(J.length===0)return 0;for(let K of J){let W=await $.storage.taskBoard.getById(K.itemId,Y);if(!W||W.status==="archived")continue;let H=await $.storage.taskBoard.update(K.itemId,Y,{status:"archived"},lH);await $.storage.taskBoard.recordActivity({taskBoardItemId:K.itemId,action:"status_changed",actorId:null,data:{from:W.status,to:"archived"}}),u$(Y,H),console.log(`[jira] ${K.jiraIssueKey} is no longer in board ${Z.boardId}'s scope \u2014 archived its card`)}return J.length}async function rn4($,Z){let{organizationId:Q,boardId:X}=Z;if(!X)throw Error("No Jira board selected");let Y=cC$(Z.statusMapping);if(Y.size===0)throw Error("No status mapping configured");let G=Z.lastSyncedAt===null||Z.rescanPending,J=new Z3(Z.siteUrl,Z.email,Z.apiToken),{accountId:K}=await J.myself(),W=new B71(J),H=new Date,F=await J.getBoardScopeJql(X),N=mn4(Z,F,H),U=new h_$($,Q);await U.seed(await J.listBoardSprints(X));let B={created:0,updated:0,unchanged:0,skipped:0,archived:0,unmappedStatuses:[]},O=new Set,D,w,E=0,j=0;while(E<O71&&j<y_$){j++;let P=await J.searchIssues({jql:N,nextPageToken:w});if(w=P.nextPageToken??void 0,P.issues.length===0){if(!w)break;continue}let I=await $.storage.jiraIntegrations.getLinksByIssueIds(Q,P.issues.map((q)=>q.id));await W.resolve(P.issues.flatMap((q)=>[...ra(q.fields.description),...(q.fields.comment?.comments??[]).flatMap((M)=>ra(M.body))]));for(let q of P.issues){if(E>=O71)break;E++;let M=new Date(q.fields.updated);if(Number.isNaN(M.getTime()))throw Error(`Unparseable updated on ${q.key}`);let S=Y.get(q.fields.status.name);if(!S||!v_$(q)){if(!S&&v_$(q))O.add(q.fields.status.name);B.skipped++,D=M;continue}let m=I.get(q.id);if(m&&dn4(m.jiraUpdatedAt,M,G)){B.unchanged++,D=M;continue}let f=q.fields.status.name,b={title:q.fields.summary,description:await pn4(Z.siteUrl,q,W),priority:nn4(q),sprintId:await U.localIdFor(B_$(q.sprints))};if(m){let l=m.jiraStatus!==f,y=await $.storage.taskBoard.getById(m.itemId,Q),p=await $.storage.taskBoard.update(m.itemId,Q,{...b,...l?{status:S}:{}},lH);if(await $.storage.jiraIntegrations.touchLink(m.itemId,{jiraStatus:f}),y&&l&&y.status!==S)await $.storage.taskBoard.recordActivity({taskBoardItemId:m.itemId,action:"status_changed",actorId:null,data:{from:y.status,to:S}});if(l&&!G)p=await x_$($,Z,p);await f_$($,Z,J,q,m.itemId,K,W),await $.storage.jiraIntegrations.touchLink(m.itemId,{jiraUpdatedAt:M}),u$(Q,p),B.updated++}else{let l=await $.storage.taskBoard.create({organizationId:Q,...b,status:S,by:lH});try{await $.storage.jiraIntegrations.createLink({itemId:l.id,organizationId:Q,jiraIssueId:q.id,jiraIssueKey:q.key,jiraUpdatedAt:new Date(0),jiraStatus:f})}catch(y){if(y.code==="23505"){await $.storage.taskBoard.delete(l.id,Q,lH),B.unchanged++,D=M;continue}throw y}if(!G)l=await x_$($,Z,l);await f_$($,Z,J,q,l.id,K,W),await $.storage.jiraIntegrations.touchLink(l.id,{jiraUpdatedAt:M}),u$(Q,l),B.created++}D=M}if(!w)break}B.unmappedStatuses=[...O].sort();let z=in4(E,j);if(!z)B.archived=await on4($,Z,J,F);let A=G&&z;if(D===void 0&&E===0)return{counts:B,watermark:H,rescanPending:A};return{counts:B,watermark:D,rescanPending:A}}var lH="jira",O71=500,cn4=5,y_$=25,g_$=1e4,ln4;var GT0=L(()=>{uA0();h6();jU();M5();YT0();Y71();ln4={highest:"urgent",high:"high",medium:"medium",low:"low",lowest:"low"}});var u_$={};Z0(u_$,{setJiraSyncRuntime:()=>E71,registerJiraSyncWorkflow:()=>z71,maybeEnqueueJiraStatusPush:()=>Ut4,enqueueJiraCommentPush:()=>j71});import{DBOS as qX,SchedulerMode as an4}from"@dbos-inc/dbos-sdk";function E71($){JT0=$}function sa(){if(!JT0)throw Error("[jira] sync runtime not initialized \u2014 setJiraSyncRuntime() must run before the workflow fires");return JT0}function zU(){let{db:$,encryptionKey:Z}=sa();return new Vv($,new HG(Z))}function en4(){return new IX(sa().db)}async function $t4($){try{let{db:Z}=sa(),Q=await zU().getById($);if(!Q)return{id:$,error:"integration no longer exists"};if(!Q.enabled)return{id:$};let X=await mK(Z,Q.organizationId);if(!X)return{id:$,error:"organization no longer exists"};let Y=await Qc(X,Q);return"error"in Y?{id:$,error:Y.error}:{id:$}}catch(Z){return{id:$,error:Z instanceof Error?Z.message:String(Z)}}}async function Zt4($,Z){let Q=await qX.runStep(()=>zU().listEnabledIds(),{name:"loadJiraIntegrations"});for(let X of Q){let Y=await qX.runStep(()=>$t4(X),{name:`syncJira:${X}`});if(Y.error)console.warn(`[jira] sync ${Y.id} failed: ${Y.error}`)}}async function Xt4($){let Z=zU();if(!(await Z.getByOrg($.organizationId))?.enabled)return null;let X=await Z.getLinkByItemId($.taskBoardItemId,$.organizationId);if(!X)return null;if(await Z.hasCommentLink($.commentId))return null;return{jiraIssueId:X.jiraIssueId}}async function Yt4($){return(await sa().db.selectFrom("organization").select("slug").where("id","=",$).executeTakeFirst())?.slug??null}async function Gt4($,Z,Q){let X=await zU().getByOrg($);if(!X?.enabled)return null;let G=(await mK(sa().db,$))?.orgFs;if(!G)return null;let J=new Z3(X.siteUrl,X.email,X.apiToken);return C_$(Q,{read:(K)=>G.read(K.volume,K.path).catch((W)=>{if(W instanceof EJ)return null;throw W}),listAttachments:()=>J.listAttachments(Z),upload:(K)=>J.addAttachment(Z,K),mediaIdFor:(K)=>J.resolveMediaId(K)})}async function Jt4($,Z,Q){let X=zU(),Y=await X.getByOrg($.organizationId);if(!Y?.enabled)return null;let G=await X.getLinkByItemId($.taskBoardItemId,$.organizationId);if(!G)return null;if(await X.hasCommentLink($.commentId))return null;return(await new Z3(Y.siteUrl,Y.email,Y.apiToken).addComment(G.jiraIssueId,Z,{header:`${$.authorLabel} \xB7 via Studio:`,media:new Map(Q)})).id}async function Kt4($,Z){try{await zU().createCommentLink({commentId:$.commentId,organizationId:$.organizationId,jiraCommentId:Z})}catch(Q){if(Q.code!=="23505")throw Q}}async function Wt4($){let Z=$.body.slice(0,Qt4),Q=await qX.runStep(()=>Xt4($),{name:"resolveCommentTarget",retriesAllowed:!0,maxAttempts:3});if(!Q)return;let X=[],Y=eC$(Z);if(Y.length>0){let J=await qX.runStep(()=>Yt4($.organizationId),{name:"readOrgSlug",retriesAllowed:!0,maxAttempts:3});for(let K of S_$(Y,J??""))try{let W=await qX.runStep(()=>Gt4($.organizationId,Q.jiraIssueId,K),{name:`attachCommentImage:${K.name}`,retriesAllowed:!0,maxAttempts:3});if(W)X.push([K.target,W])}catch(W){if(!gC$(W))throw W;console.warn(`[jira] could not attach ${K.ref.path}:`,W)}}let G=await qX.runStep(()=>Jt4($,Z,X),{name:"postCommentToJira",retriesAllowed:!1});if(!G)return;await qX.runStep(()=>Kt4($,G),{name:"recordCommentLink",retriesAllowed:!0,maxAttempts:4})}async function Ht4($){let Z=zU(),Q=await Z.getByOrg($.organizationId);if(!Q?.enabled)return null;let X=await Z.getLinkByItemId($.itemId,$.organizationId);if(!X)return null;let Y=await en4().getById($.itemId,$.organizationId);if(!Y)return null;if(pZ1(Q.statusMapping,Y.status,X.jiraStatus))return null;let J=await new Z3(Q.siteUrl,Q.email,Q.apiToken).listTransitions(X.jiraIssueId),K=mC$({mapping:Q.statusMapping,lane:Y.status,currentJiraStatus:X.jiraStatus,availableTransitions:J.map((H)=>H.to.name)});if(K.kind!=="transition"){if(K.kind==="unreachable")console.warn(`[jira] ${X.jiraIssueKey} is ${Y.status} on the board, but its workflow offers no transition to ${K.targets.join(" / ")} \u2014 `+"the card will not move on the Jira board");return null}let W=J.find((H)=>H.to.name===K.targetName);if(!W)return null;return{jiraIssueId:X.jiraIssueId,transitionId:W.id,targetName:K.targetName}}async function Ft4($,Z){let Q=zU(),X=await Q.getByOrg($.organizationId);if(!X?.enabled)return;let Y=await Q.getLinkByItemId($.itemId,$.organizationId);if(!Y||Y.jiraStatus===Z.targetName)return;let G=new Z3(X.siteUrl,X.email,X.apiToken);if(await G.getStatusName(Z.jiraIssueId)===Z.targetName){await Q.touchLink($.itemId,{jiraStatus:Z.targetName});return}await G.transitionIssue(Z.jiraIssueId,Z.transitionId),await Q.touchLink($.itemId,{jiraStatus:Z.targetName})}async function Nt4($){let Z=await qX.runStep(()=>Ht4($),{name:"resolveStatusTransition",retriesAllowed:!0,maxAttempts:3});if(!Z)return;await qX.runStep(()=>Ft4($,Z),{name:"executeStatusTransition",retriesAllowed:!0,maxAttempts:3})}function Ut4($,Z){if(Z.updatedBy===lH)return;if(!w71||!JT0)return;let Q=w71;(async()=>{if(!await zU().getLinkByItemId(Z.id,$))return;await qX.startWorkflow(Q,{queueName:pE,workflowID:`jira-status:${Z.id}:${Z.status}:${Date.parse(Z.updatedAt)}`,enqueueOptions:{queuePartitionKey:$}})({organizationId:$,itemId:Z.id})})().catch((X)=>{console.warn(`[jira] status push enqueue failed for ${Z.id}:`,X instanceof Error?X.message:X)})}async function j71($,Z){try{if(!D71)return;if(!await $.storage.jiraIntegrations.getLinkByItemId(Z.taskBoardItemId,Z.organizationId))return;await qX.startWorkflow(D71,{queueName:pE,workflowID:`jira-cmt-push:${Z.commentId}`,enqueueOptions:{queuePartitionKey:Z.organizationId}})(Z)}catch(Q){console.warn(`[jira] comment push enqueue failed for ${Z.commentId}:`,Q instanceof Error?Q.message:Q)}}function z71(){if(L71)return;L71=qX.registerWorkflow(Zt4,{name:"jiraSyncWorkflow"}),qX.registerScheduled(L71,{name:"jiraSyncWorkflow",crontab:sn4,mode:an4.ExactlyOncePerIntervalWhenActive}),D71=qX.registerWorkflow(Wt4,{name:"jiraCommentPushWorkflow"}),w71=qX.registerWorkflow(Nt4,{name:"jiraStatusPushWorkflow"})}var sn4="2-59/10 * * * *",JT0=null,Qt4=30000,L71=null,D71=null,w71=null;var KT0=L(()=>{hC$();EO();eu();rA0();hH();Kj();YT0();__$();Z71();GT0()});function WT0($,Z,Q,X){LG({event:$,organizationId:Z,properties:{task_id:Q.id,reports_task:FY(Q),...X}})}function u$($,Z){c5.emit($,{id:crypto.randomUUID(),type:TL$,source:"task-board",subject:Z.id,data:Z,time:new Date().toISOString()}),Promise.resolve().then(() => (KT0(),u_$)).then((Q)=>Q.maybeEnqueueJiraStatusPush($,Z)).catch((Q)=>{console.warn("[jira] status push hook unavailable:",Q)})}function c_$($,Z){c5.emit($,{id:crypto.randomUUID(),type:RL$,source:"task-board",subject:Z,data:{id:Z},time:new Date().toISOString()})}function Bt4($,Z){return $?[$]:Z}async function Cv($,Z,Q){let X=$.metadata?.runMetadata?.taskBoardItemId,Y=!X&&Q?await $.storage.taskBoard.linkedTaskIds(Q,Z):[];return Bt4(X,Y)}async function l_$($,Z,Q){let X=$.organization?.id;if(!X)return;try{for(let Y of await Cv($,X,Q)){let G=await $.storage.taskBoard.getById(Y,X);if(!G||EU[Z]<=EU[G.status])continue;let J=await $.storage.taskBoard.update(Y,X,{status:Z},$.auth?.user?.id??G.updatedBy);if(await $.storage.taskBoard.recordActivity({taskBoardItemId:Y,action:"status_changed",actorId:null,data:{from:G.status,to:Z}}).catch((K)=>console.error("[task-board] activity log write failed",K)),u$(X,J),Z==="in_progress")WT0("task_run_started",X,J,{from:G.status})}}catch(Y){console.error("[task-board] run transition failed",Y)}}async function HT0($,Z){let Q=$.organization?.id;if(!Q)return;try{for(let X of await Cv($,Q,Z)){let Y=await $.storage.taskBoard.openReviewCycleIfInProgress(X,Q);if(!Y)continue;u$(Q,Y),WT0("task_run_completed",Q,Y,{from:"in_progress",via:"pr_open"})}}catch(X){console.error("[task-board] review-cycle open failed",X)}}async function FT0($,Z,Q,X){let Y=$.organization?.id;if(!Y)return;try{let G=tA0(Z);if(!G)return;let J=await Cv($,Y,X);for(let K of J)await $.storage.taskBoard.linkPr({taskBoardItemId:K,organizationId:Y,url:G.url,prNumber:G.number,repoOwner:G.owner,repoName:G.repo,connectionId:Q??null})}catch(G){console.error("[task-board] PR capture failed",G)}}async function Xc($,Z,Q,X){try{let Y=await $.advanceLinkedTasksToReviewOnThreadFinish(Z,Q);for(let G of Y)u$(Q,G),WT0("task_run_completed",Q,G,{from:"in_progress",via:"thread_finish"});for(let G of Y)await $.clearRunRetry(G.id,Q).catch(()=>{})}catch(Y){console.error("[task-board] thread-finish transition failed",Y)}await P71($,Z,Q),await A71($,X,Z,Q)}function m_$($){return EU[$.status]>=EU.in_review||Boolean($.reviewCycleStartedAt)}async function P71($,Z,Q){try{let X=await $.failedRunInfo(Z,Q);if(!X)return;let Y=CC$(X);for(let G of await $.linkedTaskIds(Z,Q)){let J=await $.getById(G,Q);if(!J)continue;if(m_$(J))await $.relabelDeliveredFailure(Z,Q,Dt4).catch(()=>{});if(J.status!=="in_progress")continue;if(J.reviewCycleStartedAt)continue;if(J.threads.some((H)=>H.hasMessages&&H.status==="in_progress"))continue;let K=J.retryAttempts;if(K<Y){let H=N7(Lt4,Ot4,K,2,0.5);if(!await $.scheduleRunRetry(G,Q,K+1,new Date(Date.now()+H)))continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"in_progress",retry:K+1,of:Y,reason:X.errorText??X.kind}}).catch(()=>{});continue}let W=await $.returnToTodoAfterFailure(G,Q,J.updatedBy);if(!W)continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"todo",reason:X.errorText??X.kind,retriesSpent:K}}).catch(()=>{}),u$(Q,W),WT0("task_run_failed",Q,J,{reason:X.kind??"error",retries_spent:K})}}catch(X){console.error("[task-board] failed-run reaction failed",X)}}async function A71($,Z,Q,X){try{for(let Y of await $.linkedTaskIds(Q,X)){let G=await $.getById(Y,X);if(!G)continue;if(m_$(G))continue;if(G.threads.some((K)=>K.hasMessages&&(K.status===null||!na.has(K.status))))continue;if((await $.listPrs(Y,X)).length>0)continue;await VL$(Z,X,Y)}}catch(Y){console.error("[task-board] quota refund pass failed",Y)}}async function T71($,Z){if(Z.status!=="in_progress"||!IY(Z))return;try{let Q=await $.storage.taskBoard.update(Z.id,Z.organizationId,{status:"in_review"},Z.updatedBy);await $.storage.taskBoard.recordActivity({taskBoardItemId:Z.id,action:"status_changed",actorId:null,data:{from:Z.status,to:"in_review"}}).catch(()=>{}),u$(Z.organizationId,Q)}catch(Q){console.error(`[task-board] parking ${Z.id} for review failed`,Q)}}async function mH($,Z,Q){let X=Z.organizationId;if(Z.assigneeId!==G8)return!1;try{await T71($,Z);let Y=await $.storage.taskBoard.unassignSuperAgent(Z.id,X,Z.updatedBy);if(!Y)return!1;return await M6($,{taskBoardItemId:Z.id,action:"assignee_changed",actorId:null,data:{from:Z.assigneeId,to:null,reason:Q}}),console.warn(`[task-board] ${Z.id} handed to a human: ${Q}`),u$(X,Y),!0}catch(Y){return console.error(`[task-board] handing ${Z.id} to a human failed`,Y),!1}}async function d_$($,Z,Q){if(!(Q instanceof DX))return!1;if(Q.reason!=="runs_exhausted")return!1;return await mH($,Z,"per-task run limit reached \u2014 the Super Agent can no longer re-dispatch "+"itself on this task. Re-run it manually to continue."),!0}async function i_$($,Z){let Q=$.organization?.id;if(!Q)return;try{let X=await $.storage.taskBoard.reopenLinkedTasksOnThreadRun(Z,Q);for(let Y of X)u$(Q,Y)}catch(X){console.error("[task-board] thread-run reopen failed",X)}}function p_$($){return $.includes("create_pull_request")||$.includes("createPullRequest")}function n_$($){if(wt4.test($))return!0;return Et4.test($)&&jt4.test($)}var Ot4=30000,Lt4=120000,Dt4="Run ended after it had already delivered \u2014 the task moved on without it",wt4,Et4,jt4;var M5=L(()=>{uJ();f4();hH();su();_C$();J4();ia();h6();IQ();uH();wt4=/\bgh\s+pr\s+create\b/,Et4=/api\.github\.com\/repos\/[^\s"']+\/pulls\b/,jt4=/(?:-X|--request)\s+POST/});function zt4($){if($.status==="completed")return"advance";if($.status==="failed"&&$.messageStorageVersion===2&&($.harnessId==="decopilot"||$.harnessId==="claude-code"))return"nudge";return"none"}function Pt4($){return["This task is still In Progress on the board and your last run ended without finishing it.","","Look at what you already did (`git log`, `git status`, and the messages above), then either:","- finish the remaining work (and open the PR, if it needed code changes),","- or, if it's actually done, say so in one line \u2014 the board moves the card for you,",$==="decopilot"?"- or, if you're blocked on something only a human knows, call the `user_ask` tool.":"- or, if you're blocked on something only a human knows, say what you need and stop.","","Don't start over and don't redo work you already committed or pushed. You are on the same branch as before \u2014 push to it and update your existing pull request rather than opening a second one."].join(`
|
|
2831
2831
|
`)}async function At4($,Z,Q){await lA0($,Z,Q,{messageId:`stall-nudge-${Z.id}-${Q.id}`,prompt:Pt4(Q.harness_id),workflowID:`stall-nudge:${Z.id}:${Q.id}`})}async function Tt4($,Z){let Q=await $.storage.threads.get(Z);if(!Q)return{action:"none",thread:null};return{action:zt4({status:Q.status,messageStorageVersion:Q.message_storage_version,harnessId:Q.harness_id}),thread:Q}}function Rt4($,Z=Date.now()){if($.status!=="in_progress")return!1;if($.run_started_at)return!1;return ma($,Z)}async function It4($,Z){let Q=[];for(let X of Z.threads){if(X.status!=="in_progress")continue;let Y=await $.storage.threads.get(X.threadId);if(!Y||!Rt4(Y))continue;if(await $.storage.threads.markRunFailed(X.threadId,R71,"abandoned"))Q.push(X.threadId),console.warn(`[task-board] failed never-started thread ${X.threadId} on ${Z.id}`)}return Q}async function t_$($,Z){let Q=$.organization?.id;if(!Q)return;for(let X of Z){if(X.status==="in_progress")try{if((await It4($,X)).length>0)continue}catch(J){console.error(`[task-board] reaping threads for ${X.id} failed`,J)}let Y;try{Y=X.repo!=null&&(await $.storage.taskBoard.listPrs(X.id,Q)).length>0}catch(J){console.error(`[task-board] listPrs for ${X.id} failed`,J);continue}if(!mZ1(X,Y))continue;let G=X.threads.find((J)=>J.hasMessages);if(!G)continue;try{let{action:J,thread:K}=await Tt4($,G.threadId);if(J==="none"||!K)continue;if(J==="advance")await Xc($.storage.taskBoard,G.threadId,Q,$.storage.organizationBilling);else await At4($,X,K)}catch(J){console.error(`[task-board] stall recovery failed for ${X.id}`,J)}}}var R71="Run never started \u2014 no pod picked it up before the idle window elapsed";var I71=L(()=>{xZ1();hH();M5()});import{z as Q3}from"zod";var qt4,_v;var q71=L(()=>{uA0();k0();JY();oJ();I71();qt4=Q3.object({key:Q3.string(),title:Q3.string(),position:Q3.number(),role:Q3.string().nullable()}),_v=c({name:"TASK_BOARD_ITEM_LIST",description:"List all task board items for the organization, plus the `owner/name` repos this organization has imported (the valid values for a task's `repo` field).",annotations:{title:"List Task Board Items",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Q3.object({}),outputSchema:Q3.object({items:Q3.array(hu),repos:Q3.array(Q3.string()),sprints:Q3.array(oV$),columns:Q3.array(qt4)}),handler:async($,Z)=>{s(Z),await Z.access.check();let Q=Z.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let[X,{items:Y},G,J]=await Promise.all([Z.storage.taskBoard.list(Q),Z.storage.connections.list(Q,{slug:"mcp-github"}),Z.storage.sprints.listByOrg(Q),ou(Z,Q).then((W)=>W.columns())]),K=MO$(Y);return t_$(Z,X),{items:X,repos:K,sprints:G,columns:J}}})});import{z as _G}from"zod";function kt4($){return Vt4.some((Z)=>$[Z]!==void 0)}function St4($,Z){let Q=[];for(let{field:G,action:J}of Mt4){if(Z[G]===$[G])continue;Q.push({action:J,data:{from:$[G],to:Z[G]}})}if(Z.description!==$.description)Q.push({action:"description_changed"});let X=new Set($.tags.map((G)=>G.id));if(Z.tags.length!==$.tags.length||Z.tags.some((G)=>!X.has(G.id)))Q.push({action:"tags_changed",data:{from:$.tags,to:Z.tags}});return Q}function Ct4($,Z){if($!==G8)return!1;if(!Z)return!1;return Z.assigneeId!==G8?!0:Z.status==="todo"}function vt4($,Z,Q){let X=$!==void 0&&_t4.has($),Y=Z!==void 0&&IY(Z);return Q&&X&&Y}function M71($,Z){return $!==void 0&&iZ1($)&&!Z}var Mt4,Vt4,_t4,vv;var NT0=L(()=>{k0();wZ();oJ();uH();i91();jU();IQ();PD();M5();su();uJ();Mt4=[{field:"status",action:"status_changed"},{field:"assigneeId",action:"assignee_changed"},{field:"priority",action:"priority_changed"},{field:"type",action:"type_changed"},{field:"dueDate",action:"due_date_changed"},{field:"title",action:"title_changed"}],Vt4=["title","description","status","priority","type","assigneeId","repo","dueDate","sortOrder","tagIds"];_t4=new Set(["approved","merged","post_deploy_validation","done","archived"]);vv=c({name:"TASK_BOARD_ITEM_UPDATE",description:"Update a task board item's fields (title, description, status, priority, assignee), and/or link a chat thread to it.",annotations:{title:"Update Task Board Item",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:_G.object({id:_G.string(),title:_G.string().min(1).max(GA0).optional(),description:_G.string().max(YA0).nullable().optional(),status:hK.optional(),priority:Ev.optional(),type:Ca.optional(),assigneeId:_G.string().nullable().optional(),repo:_G.string().max(JA0).nullable().optional(),dueDate:_G.string().datetime().nullable().optional(),sortOrder:_G.number().optional(),tagIds:_G.array(_G.string()).max(1000).optional(),linkThreadId:_G.string().optional(),prUrl:_G.string().nullable().optional().describe("GitHub pull request URL to link to this task, e.g. https://github.com/owner/repo/pull/123. Pass it after opening a PR for an existing card; linking one is what starts its review.")}),outputSchema:_G.object({item:hu}),handler:async($,Z)=>{s(Z),await Z.access.check();let Q=Z.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let X=$.prUrl?kD($.prUrl):null;if($.prUrl&&!X)throw Error(`Not a GitHub pull request URL: ${$.prUrl} (expected https://github.com/<owner>/<repo>/pull/<number>)`);if($.assigneeId)await KA0(Z,Q,$.assigneeId);if($.linkThreadId){if(!await Z.storage.taskBoard.getById($.id,Q))throw Error(`Task board item not found: ${$.id}`);if(!await Z.storage.threads.get($.linkThreadId))throw Error(`Thread not found: ${$.linkThreadId}`);await Z.storage.taskBoard.linkThread($.id,$.linkThreadId,Q)}let Y=kt4($),G=Y?await Z.storage.taskBoard.getById($.id,Q):null;if(Y&&!G)throw Error(`Task board item not found: ${$.id}`);if($.status!==void 0&&iZ1($.status)){let F=await Z.storage.organizationSettings.get(Q);if(M71($.status,LX(F?.flags,"delivery_lanes_enabled")))throw Error("Delivery lanes are not enabled for this organization \u2014 enable "+"them in Settings before moving a task to Approved, Merged, or Post-deploy Validation.")}let J=UU.getStore()!==void 0;if(vt4($.status,G??void 0,J))throw Error("This task is under review \u2014 a run can't move it to Done or Archived. "+"Leave it for the reviewer; only a person, or TASK_BOARD_REVIEW_DECISION on a reviewer's own run, closes out a task under review.");let K=$.assigneeId!==void 0&&$.assigneeId!==(G?.assigneeId??null),W=Ct4($.assigneeId,G);if(G&&FY(G)){if($.title!==void 0||$.description!==void 0||$.priority!==void 0)throw Error("This task was generated from your report and can't be edited \u2014 create your own task instead.");if(W)await $u(Z,G,iL())}if($.tagIds!==void 0){let F=await Z.storage.tags.listOrgTags(Q),N=new Set(F.map((U)=>U.id));for(let U of $.tagIds)if(!N.has(U))throw Error(`Tag not found: ${U}`);await Z.storage.taskBoard.setItemTags($.id,$.tagIds,a0(Z))}let H;if(Y)H=await Z.storage.taskBoard.update($.id,Q,{title:$.title,description:$.description,status:W?"todo":$.status,priority:$.priority,type:$.type,assigneeId:$.assigneeId,assignedBy:K?$.assigneeId?a0(Z):null:void 0,repo:$.repo,dueDate:$.dueDate,sortOrder:$.sortOrder},a0(Z));else{let F=await Z.storage.taskBoard.getById($.id,Q);if(!F)throw Error(`Task board item not found: ${$.id}`);H=F}if(X)await Z.storage.taskBoard.linkPr({taskBoardItemId:H.id,organizationId:Q,url:X.url,prNumber:X.number,repoOwner:X.owner,repoName:X.repo,connectionId:null});if(G){let F=a0(Z),N=St4(G,H);if(N.length>0)await vC$(Z,N.map((U)=>({taskBoardItemId:H.id,actorId:F,...U,alsoSubscribe:U.action==="assignee_changed"&&H.assigneeId!==G8?[H.assigneeId]:void 0})))}if(G&&H.description!==G.description)await Z.storage.notifications.notifyMentions({taskBoardItemId:H.id,organizationId:Q,actorId:a0(Z),body:H.description??"",previousBody:G.description});if(Y||$.linkThreadId||X)u$(Q,H);if(W)await vD(Z,H,{userInitiated:!0});return{item:H}}})});import{z as UT0}from"zod";var xv;var V71=L(()=>{k0();M5();xv=c({name:"TASK_BOARD_ITEM_DELETE",description:"Delete a task board item. A reports-pushed task also dismisses its finding, so the next diagnostic import won't re-create the card.",annotations:{title:"Delete Task Board Item",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:UT0.object({id:UT0.string()}),outputSchema:UT0.object({success:UT0.boolean()}),handler:async($,Z)=>{s(Z),await Z.access.check();let Q=Z.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");if(!await Z.storage.taskBoard.delete($.id,Q,a0(Z)??"system"))throw Error(`Task board item not found: ${$.id}`);return c_$(Q,$.id),{success:!0}}})});function fv($){if($.length===0)return!1;let Z=new Map;for(let Q of $){let X=`${Q.repoOwner}/${Q.repoName}`.toLowerCase(),Y=Z.get(X);if(Y)Y.push(Q);else Z.set(X,[Q])}return[...Z.values()].every(xt4)}function xt4($){return $.some((Z)=>Z.merged===!0)&&$.every((Z)=>Z.merged===!0||Z.state==="closed")}async function ft4($,Z,Q,X){let Y=await $.storage.taskBoard.getById(Q,Z);if(!Y||Y.status!=="done")return!1;let G=await $.storage.taskBoard.listPrs(Q,Z),J=await Promise.all(G.map(async(W)=>({...W,...await X($,Z,W)})));if(!fv(J))return!1;let K=await $.storage.taskBoard.update(Q,Z,{status:"archived"},Y.updatedBy);return await M6($,{taskBoardItemId:Q,action:"status_changed",actorId:null,data:{from:"done",to:"archived",reason:"merged_pr_auto_archive"}}),u$(Z,K),!0}async function o_$($,Z,Q,X=OT0){let Y=0;for(let G of Q)try{if(await ft4($,Z,G,X))Y+=1}catch(J){console.error(`[task-board-archive] ${G} failed`,J)}return{archived:Y}}function BT0($){let Z=new Map;for(let{id:Q,organizationId:X}of $){let Y=Z.get(X);if(Y)Y.push(Q);else Z.set(X,[Q])}return[...Z].map(([Q,X])=>({organizationId:Q,itemIds:X}))}var Yc=L(()=>{IQ();vG();M5()});function bt4($){let Z=new Map($.map((G)=>[G.id,G])),Q=new Map;for(let G of gu($)){let J=r_$(G.owner,G.repo);Q.set(J,[...Q.get(J)??[],G])}if(Q.size!==1)return null;let X=[...Q.values()][0],Y=X.find((G)=>{let J=Z.get(G.connectionId);return J?jz(J):!1})??X[0];return{connectionId:Y.connectionId,owner:Y.owner,name:Y.repo,installationId:Y.installationId,url:`https://github.com/${Y.owner}/${Y.repo}`}}async function LT0($,Z){if(!TZ0())return console.warn(`[task-board] claude-code skipped for org ${Z}: `+"hosted sandbox unavailable \u2014 running Decopilot"),null;try{let{items:Q}=await $.storage.connections.list(Z,{slug:"mcp-github"}),X=bt4(Q);if(X)return{repo:X};let Y=new Map;for(let J of gu(Q)){let K=r_$(J.owner,J.repo);if(!Y.has(K))Y.set(K,{connectionId:J.connectionId,repo:`${J.owner}/${J.repo}`})}let G=Y;if(G.size===0)return console.warn(`[task-board] claude-code skipped for org ${Z}: `+"no importable repos \u2014 running Decopilot"),null;return console.warn(`[task-board] claude-code for org ${Z}: ${G.size} importable repos \u2014 the run picks one with TASK_ADD_REPO`),{choices:[...G.values()]}}catch(Q){return console.warn("[task-board] repo lookup for claude-code failed",Q),null}}function a_$($,Z,Q){let X=["You've been assigned this task. Complete it and finish with a pull request if it makes sense (like a coding task) or is explicitly requested.","","You are running AUTONOMOUSLY \u2014 no human is watching, so drive this to "+"completion yourself. Make reasonable decisions and move on; do not stop to ask for confirmation.","",`Title: ${$.title}`];if($.description)X.push("","Description:",$.description);if(X.push("",Z?`The repository ${Z.owner}/${Z.name} is already cloned at your working directory, on its own branch. \`git\` and \`gh\` are authenticated. ${Tr}`:["Your working directory is EMPTY: this organization has several repositories, so nothing has been cloned yet. FIRST call `mcp__studio__TASK_ADD_REPO` with the connectionId of the repository this task is about. It clones that repository into your working directory and waits for the checkout, so once it returns the repository is there on its own branch and `git` and `gh` are authenticated. Do not read files, run `git`, or run `gh` before it returns; there is nothing there yet.","","Repositories in this organization:",...(Q?.repoChoices??[]).map((Y)=>`- ${Y.repo} (connectionId: ${Y.connectionId})`),Q?.repoChoices?.length?"Start with the one the task is about. If it turns out to need a change in "+"another of them too, call `mcp__studio__TASK_ADD_REPO` again \u2014 repositories "+"accumulate, so a second call adds a checkout beside the first rather than replacing it. Each lands in its own directory and keeps its own git remote, so open one pull request per repository you changed.":"Call `mcp__studio__TASK_ADD_REPO` with no arguments to list them."].join(`
|
|
2832
|
-
`),""),Q?.resolveConflict&&Q.pr)X.push(`Pull request #${Q.pr.number} (${Q.pr.url}) is approved but has a MERGE CONFLICT with its base branch.`,`Check that branch out (\`gh pr checkout ${Q.pr.number}\`), merge or rebase the base branch into it, resolve the conflicts, and push to update the SAME pull request \u2014 do NOT open a new one. Resolve by preserving BOTH sides' intent; never blindly discard either side, and change only what the conflict requires.`,"");else if(Q?.feedback)X.push(Q.pr?`A reviewer requested changes on pull request #${Q.pr.number} (${Q.pr.url}):`:"A reviewer requested changes on your previous work:",Q.feedback,Q.pr?`Check that branch out (\`gh pr checkout ${Q.pr.number}\`) before editing, address the feedback, then push to update the SAME pull request \u2014 do NOT open a new one.`:"Address this feedback.","
|
|
2832
|
+
`),""),Q?.resolveConflict&&Q.pr)X.push(`Pull request #${Q.pr.number} (${Q.pr.url}) is approved but has a MERGE CONFLICT with its base branch.`,`Check that branch out (\`gh pr checkout ${Q.pr.number}\`), merge or rebase the base branch into it, resolve the conflicts, and push to update the SAME pull request \u2014 do NOT open a new one. Resolve by preserving BOTH sides' intent; never blindly discard either side, and change only what the conflict requires.`,"");else if(Q?.feedback)X.push(Q.pr?`A reviewer requested changes on pull request #${Q.pr.number} (${Q.pr.url}):`:"A reviewer requested changes on your previous work:",Q.feedback,Q.pr?`Check that branch out (\`gh pr checkout ${Q.pr.number}\`) before editing, address the feedback, then push to update the SAME pull request \u2014 do NOT open a new one.`:"Address this feedback.","");else if(Q?.pr)X.push(`This task already has an open pull request #${Q.pr.number} (${Q.pr.url}), and you are already on its branch.`,"Continue that work: commit and push to update the SAME pull request \u2014 do NOT open a new one. If it already does everything the task asks, say so and stop rather than changing it.","");return X.push("How to finish:","- Make the change, commit it, push the branch, and open a pull request"+(Q?.pr?" \u2014 or push to the existing one, per the instruction above.":"."),"- Change only what the task needs. Don't refactor around it.","- The change must be REACHABLE from the surface the task names: edit the component that route actually renders, not one that merely looks like the right place. A change nothing imports is dead code, and it is the most common reason a task comes back rejected.","- Before handing over, VERIFY the task's outcome LOCALLY, in the sandbox: exercise the affected code path (the dev server hot-reloads, so hit the route it renders) and confirm the behaviour actually happens. A green test suite is not the bar. Do NOT wait for, or verify against, the PR's deploy preview \u2014 a reviewer checks that after you hand over.","- As soon as `gh pr create` prints the URL, call `mcp__studio__TASK_BOARD_ITEM_PR_LINK` with that url. Do this even if you also mention the PR in a comment \u2014 the reviewers are dispatched from the linked PR, not from your message.",'- If the task turns out to need no code change, do NOT open a PR: explain why in a comment on the task (`mcp__studio__TASK_BOARD_COMMENT_CREATE`) and move it to "done". There is nothing for a reviewer to review, so leaving it for one would strand it.',`- Anything a reviewer should know (a decision you made, something you found and deliberately left alone, a question) goes on the task as a comment: \`mcp__studio__TASK_BOARD_COMMENT_CREATE\` with taskBoardItemId "${$.id}". Read what's already there first with \`mcp__studio__TASK_BOARD_COMMENT_LIST\` \u2014 a comment may be addressed to you.`,"",`(task id: ${$.id})`),X.join(`
|
|
2833
2833
|
`)}var r_$=($,Z)=>`${$}/${Z}`.toLowerCase();var k71=L(()=>{ZA0();JY();h6();R$()});import{createHmac as yt4,randomBytes as gt4,timingSafeEqual as ht4}from"crypto";function ut4(){if(DT0)return DT0;let $;try{let Z=y0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return DT0=$?Buffer.from($):gt4(32),DT0}function S71($,Z,Q){return`rtok_${yt4("sha256",ut4()).update(`${$}:${Z}:${Q.toISOString()}`).digest("base64url")}`}function s_$($,Z,Q,X){let Y=Buffer.from($),G=Buffer.from(S71(Z,Q,X));return Y.length===G.length&&ht4(Y,G)}var DT0=null;var C71=L(()=>{R$()});import{createHash as ct4}from"crypto";function wT0($,Z){if($.status===null||e_$.has($.status))return!1;return!ma({updated_at:$.lastActiveAt,last_progress_at:null},Z)}function lt4($,Z){return $.threads.some((Q)=>!zH.some((X)=>Az(Q.title,X))&&wT0(Q,Z))}function it4($,Z){return Z-$>=dt4}async function ET0($,Z,Q){let X=await $.storage.organizationSettings.get(Z.organizationId),Y=tN(X?.flags);if(Y.length===0)return;if(lt4(Z,Date.now()))return;let G=LX(X?.flags,"cheap_reviewer_model")?"reviewer":"default",J=await at4($,Z),K=new Date(J);await Promise.all(Y.map(async(W)=>{if(ot4(Z,W,J)){await mH($,Z,`${nN[W]} failed ${_71} times on `+"this review \u2014 it will not be retried");return}if(Q?.previewMatchesHead===!1){if(it4(J,Date.now()))await mH($,Z,"the pull request's deploy preview is not showing its latest commit (its checks never went green), so the Reviewer cannot verify this change against what the PR actually does");return}if(rt4(Z,W,J))return;let H=pt4(Z,W,J);await $o4($,Z,W,K,H,G).catch((F)=>console.error(`[task-board] ${W} reviewer enqueue failed`,F))}))}function pt4($,Z,Q,X=Date.now()){return $.threads.filter((Y)=>Az(Y.title,Z)&&v71(Y,X)&&new Date(Y.createdAt).getTime()>=Q).length}function nt4($,Z){if(!$||!Z||!("choices"in Z))return null;return Z.choices.find((Q)=>Q.repo===$)?.connectionId??null}function tt4($,Z,Q){let X=$.threads.filter((Y)=>Az(Y.title,Z)&&Y.status==="completed"&&new Date(Y.createdAt).getTime()<Q).map((Y)=>new Date(Y.lastActiveAt).getTime()).filter((Y)=>Number.isFinite(Y));return X.length===0?0:Math.max(...X)}function v71($,Z){if($.status==="failed")return!0;return $.status!==null&&!e_$.has($.status)&&!wT0($,Z)}function $v$($,Z,Q,X=Date.now()){return $.threads.filter((Y)=>{if(!Az(Y.title,Z))return!1;return wT0(Y,X)||new Date(Y.createdAt).getTime()>=Q})}function ot4($,Z,Q,X=Date.now()){let Y=$v$($,Z,Q,X);return Y.length>0&&Y.every((G)=>v71(G,X))&&Y.length>=_71}function rt4($,Z,Q,X=Date.now()){let Y=$v$($,Z,Q,X);if(Y.length===0)return!1;if(Y.some((J)=>wT0(J,X)))return!0;let G=Y.filter((J)=>v71(J,X));if(G.length>=_71)return!0;return G.length!==Y.length}async function at4($,Z){if(Z.reviewCycleStartedAt)return new Date(Z.reviewCycleStartedAt).getTime();let Q=await $.storage.taskBoard.listActivity(Z.id,Z.organizationId);return oN(Q,null)}function st4($,Z,Q,X){return`review:${$}:${Z}:${Q.toISOString()}:${X}`}function et4($){return`thrd_${ct4("sha256").update($).digest("hex").slice(0,32)}`}async function $o4($,Z,Q,X,Y,G){let J=Z.organizationId,K=S71(Z.id,Q,X),W=await LT0($,J),H=W&&"repo"in W?W.repo:null,F=W!==null,N=tt4(Z,Q,X.getTime()),U=nt4(Z.repo,W),B=F?"mcp__studio__TASK_BOARD_ITEM_PRS_GET":"TASK_BOARD_ITEM_PRS_GET",O=F?"mcp__studio__TASK_BOARD_REVIEW_DECISION":"TASK_BOARD_REVIEW_DECISION",D=F?"mcp__studio__TASK_BOARD_COMMENT_CREATE":"TASK_BOARD_COMMENT_CREATE",w=F?"mcp__studio__TASK_BOARD_COMMENT_LIST":"TASK_BOARD_COMMENT_LIST",E=[mt4[Q],"","You are running AUTONOMOUSLY \u2014 no human is watching this run. Making the "+'approve / request-changes call IS your job; you are the decision-maker, not an assistant asking a human to decide. NEVER use `user_ask` to ask whether to approve, or to confirm an obvious call ("Approve the PR?"). Reserve `user_ask` for a genuine, unresolvable blocker only a human can clear (e.g. a missing credential, or a requirement so ambiguous you '+"truly cannot judge the outcome) \u2014 that should be rare. When in doubt "+"between asking and deciding, DECIDE.","","Do NOT merge the pull request \u2014 the board does that itself once your "+"approval is in. Pushing fixes to the PR's own branch is expected of you; opening a second pull request, force-pushing, or touching any other ref is not."].join(`
|
|
2834
2834
|
`),j=[...F?[]:[E,""],`Task title: ${Z.title}`,Z.description?`
|
|
2835
2835
|
Task description:
|