decocms 4.252.7 → 4.252.9
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-DZsaQFP0.js → AlertCircle-7OwZNq2s.js} +1 -1
- package/dist/client/assets/{AreaChart-Bij1L6CK.js → AreaChart-C8fPufP3.js} +1 -1
- package/dist/client/assets/{ArrowLeft-Dki1TeJa.js → ArrowLeft-CtTXVeaV.js} +1 -1
- package/dist/client/assets/{ArrowUp-C8oBiEtw.js → ArrowUp-BKuW2-Qn.js} +1 -1
- package/dist/client/assets/{Check-DkIifbiA.js → Check-1U4AsBzt.js} +1 -1
- package/dist/client/assets/{CheckCircle-BOH1ljhz.js → CheckCircle-CaXkzhVV.js} +1 -1
- package/dist/client/assets/{ChevronDown-0amSAjsV.js → ChevronDown-awd1hbqB.js} +1 -1
- package/dist/client/assets/{ChevronRight-MavwbD4w.js → ChevronRight-CejQJj_B.js} +1 -1
- package/dist/client/assets/{ChevronSelectorVertical-CRk0cZeJ.js → ChevronSelectorVertical-BPStdQnR.js} +1 -1
- package/dist/client/assets/{ChevronUp-C9anA-E6.js → ChevronUp-DJ6bnjQz.js} +1 -1
- package/dist/client/assets/{Copy01-Bf7136IA.js → Copy01-CGIJU6Sf.js} +1 -1
- package/dist/client/assets/{CreditCard01-IWGtGm1W.js → CreditCard01-D77UktuG.js} +1 -1
- package/dist/client/assets/{DotsVertical-CR0lYNk-.js → DotsVertical-Cd6UUbP3.js} +1 -1
- package/dist/client/assets/{Download01-Dg6NesfY.js → Download01-BjW1WYkU.js} +1 -1
- package/dist/client/assets/{Eye-chpz-iD6.js → Eye-CP2KHMXH.js} +1 -1
- package/dist/client/assets/{FilterLines-CBlP9vLc.js → FilterLines-DpSzONjx.js} +1 -1
- package/dist/client/assets/{Globe01-BlG2bFbG.js → Globe01-BXcK0gjA.js} +1 -1
- package/dist/client/assets/{Globe04-B94HGGMZ.js → Globe04-DwwhbybX.js} +1 -1
- package/dist/client/assets/{HardDrive-CiwN6Fy1.js → HardDrive-B7Yztj32.js} +1 -1
- package/dist/client/assets/{Key01-DqU-ZZ-c.js → Key01-DSPIRN2B.js} +1 -1
- package/dist/client/assets/{LinkExternal01-7e4b6esH.js → LinkExternal01-D5r1FdJR.js} +1 -1
- package/dist/client/assets/{LockUnlocked01-BSziY5OG.js → LockUnlocked01-CgJ20h6e.js} +1 -1
- package/dist/client/assets/{LogOut01-kmh1YiOW.js → LogOut01-BXL-NCT4.js} +1 -1
- package/dist/client/assets/{Monitor01-CyppPVOw.js → Monitor01-DvtTDlt-.js} +1 -1
- package/dist/client/assets/{Palette-rCAi-zrG.js → Palette-nf7yn4Zn.js} +1 -1
- package/dist/client/assets/{Play-CVRgbrLg.js → Play-rhggPBQE.js} +1 -1
- package/dist/client/assets/{Plus-BcWyxvSW.js → Plus-vc141-kL.js} +1 -1
- package/dist/client/assets/{SearchLg-CpkLQ15a.js → SearchLg-C_OmePkZ.js} +1 -1
- package/dist/client/assets/{SearchMd-DvwVdzYo.js → SearchMd-DJpYMeL9.js} +1 -1
- package/dist/client/assets/{Settings02-CC4b_9Kj.js → Settings02-CU-ZtTBy.js} +1 -1
- package/dist/client/assets/{Share07-Bi2eK41m.js → Share07-CQqq1as0.js} +1 -1
- package/dist/client/assets/{Shield01-3xvIqBi2.js → Shield01-6sgxAH59.js} +1 -1
- package/dist/client/assets/{Stars01-BWP_9TC1.js → Stars01-BhT12LYM.js} +1 -1
- package/dist/client/assets/{Stars02-Cm3C173h.js → Stars02-C1qyOrWZ.js} +1 -1
- package/dist/client/assets/{Sun-CTakNFOt.js → Sun-BW5lp3Hx.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-BeMFka3N.js → SwitchHorizontal01-40qbA9jA.js} +1 -1
- package/dist/client/assets/{Tool01-DsCX5o1L.js → Tool01-zsQFp1p0.js} +1 -1
- package/dist/client/assets/{Tool02-DMGRYdRe.js → Tool02-D5OlIHZK.js} +1 -1
- package/dist/client/assets/{Trash01-lrkOD3LI.js → Trash01-Bx2j3_Q5.js} +1 -1
- package/dist/client/assets/{TrendUp01-BVn6HyCF.js → TrendUp01-C7G3ZvCU.js} +1 -1
- package/dist/client/assets/{Upload01-CndB6L-1.js → Upload01-Cm0UWImX.js} +1 -1
- package/dist/client/assets/{User01-BnBSlK-N.js → User01-BTF8qIwW.js} +1 -1
- package/dist/client/assets/{UserSquare-zRdDnlzE.js → UserSquare-C1t-arrB.js} +1 -1
- package/dist/client/assets/{Users01-BDacA4yM.js → Users01-_5M7uFgj.js} +1 -1
- package/dist/client/assets/{Users03-Bk7jdYrd.js → Users03-ZZpcICqW.js} +1 -1
- package/dist/client/assets/{XCircle-CzWZHxMA.js → XCircle-zifXfxcq.js} +1 -1
- package/dist/client/assets/{XClose-CBr7jhSX.js → XClose-3bbQ5otF.js} +1 -1
- package/dist/client/assets/{YAxis-DSFmgSMK.js → YAxis-jaLosgIJ.js} +1 -1
- package/dist/client/assets/{Zap-DN9d602n.js → Zap-C1vBusQ8.js} +1 -1
- package/dist/client/assets/{ZapSquare-DdnGMpSr.js → ZapSquare-s_0tD0Z4.js} +1 -1
- package/dist/client/assets/{access-gate-DSfyS-1Q.js → access-gate-bFdsdtdK.js} +1 -1
- package/dist/client/assets/{agent-icon-B1RZW5py.js → agent-icon-DJ3YCThp.js} +1 -1
- package/dist/client/assets/{agents-list-B2E2xju6.js → agents-list-DSnaS2Rz.js} +1 -1
- package/dist/client/assets/{ai-providers-oM9hLJOA.js → ai-providers-DfB9J6dM.js} +1 -1
- package/dist/client/assets/{alert-CV5SIB4Y.js → alert-BXo_7-3l.js} +1 -1
- package/dist/client/assets/{alert-dialog-CYOEoGHB.js → alert-dialog-D8mBVYDB.js} +1 -1
- package/dist/client/assets/{api-keys-B10VWDvH.js → api-keys-Cp1kHqsP.js} +1 -1
- package/dist/client/assets/{app-editor-BkUM-UA6.js → app-editor-CtGpB5Eu.js} +1 -1
- package/dist/client/assets/{auth-CPSixqc5.js → auth-D82QJtmi.js} +1 -1
- package/dist/client/assets/{auth-catchall-CScBKe5s.js → auth-catchall-B-4tcRHJ.js} +1 -1
- package/dist/client/assets/{auth-entry-ClamuEKN.js → auth-entry-Dm6ATzOr.js} +1 -1
- package/dist/client/assets/{auth-split-layout-CMAeyVtB.js → auth-split-layout-BhvKw8ht.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-tneNkKmS.js → authenticate-and-persist-oauth-CcU7XSLA.js} +1 -1
- package/dist/client/assets/{automation-list-row-mIutZcoc.js → automation-list-row-BzVuYHJQ.js} +1 -1
- package/dist/client/assets/{automation-runs-D0K9p7O-.js → automation-runs-cdFAjGNq.js} +1 -1
- package/dist/client/assets/{automations-DWuswrlY.js → automations-DH6DiWS2.js} +1 -1
- package/dist/client/assets/{avatar-ClV2R_mb.js → avatar-DmJz7_g3.js} +1 -1
- package/dist/client/assets/{badge-cv9UGLmS.js → badge-D-RF-dyz.js} +1 -1
- package/dist/client/assets/{block-document-Cq_hH0nw.js → block-document-B14GoeKl.js} +1 -1
- package/dist/client/assets/{buckets-DvcdebMW.js → buckets-BlLITmMr.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-CVlNNWrV.js → bulk-category-panel-D4vMGZhp.js} +1 -1
- package/dist/client/assets/{capability-load-error-9GhAvmsJ.js → capability-load-error-DrycwQih.js} +1 -1
- package/dist/client/assets/{cards-C7pYARPH.js → cards-Bdaqq7mQ.js} +1 -1
- package/dist/client/assets/{category-editor-DcPfB_hV.js → category-editor-BnR1lvN1.js} +1 -1
- package/dist/client/assets/{chart-DHgYC4B5.js → chart-CJFeVdvT.js} +1 -1
- package/dist/client/assets/{chat-context-DXgk36Kq.js → chat-context-CEpW8Bvh.js} +1 -1
- package/dist/client/assets/{checkbox-B9Fl0mQa.js → checkbox-OJGGnCJb.js} +1 -1
- package/dist/client/assets/{choose-editor-Grof5S5p.js → choose-editor-CFgrmbVL.js} +1 -1
- package/dist/client/assets/{cli-auth-success-B0hDTE9k.js → cli-auth-success-DWv29z4k.js} +1 -1
- package/dist/client/assets/{collection-detail-CShNEjjb.js → collection-detail-JUlKMbcQ.js} +1 -1
- package/dist/client/assets/{collection-display-button-DghxFKGL.js → collection-display-button-DvNod3ER.js} +1 -1
- package/dist/client/assets/{collection-search-C8FmBUby.js → collection-search-Bu4xyf_k.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-CZAyqF3S.js → collection-table-wrapper-3uqQw1qn.js} +1 -1
- package/dist/client/assets/{collection-tabs-5rKmzhSy.js → collection-tabs-PoKwkVtA.js} +1 -1
- package/dist/client/assets/{command-DBJ46wCN.js → command-ClCvV_z5.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-DNJrL2l0.js → commerce-onboarding-CRuzzmKx.js} +1 -1
- package/dist/client/assets/{connect-Dz1h3Wub.js → connect-DGMbDvy8.js} +1 -1
- package/dist/client/assets/{connection-CPNeVVl_.js → connection-1qMQrv52.js} +1 -1
- package/dist/client/assets/{connection-card-Ce3u1KIu.js → connection-card-CnjeBXPp.js} +1 -1
- package/dist/client/assets/{connection-detail-Dct2Z3Et.js → connection-detail-BN9_NHib.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-CYJyaLQN.js → connection-form-helpers-dvYBQXY1.js} +1 -1
- package/dist/client/assets/{connections-DzrV_fRy.js → connections-BqReOftF.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-DqNjHkOv.js → decopilot-sse-pool-Bq9EWZqZ.js} +1 -1
- package/dist/client/assets/{dialog-BJqj7y-e.js → dialog-CzOMInPz.js} +1 -1
- package/dist/client/assets/{domain-settings-C0Ue1i-T.js → domain-settings-T5BHnBXg.js} +1 -1
- package/dist/client/assets/{drawer-C066bWMW.js → drawer-BfX7xsDd.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CGjT0h5K.js → dropdown-menu-bWfTSy8B.js} +1 -1
- package/dist/client/assets/{empty-state-ChZmE6vA.js → empty-state-c4xkc6ux.js} +1 -1
- package/dist/client/assets/{extract-connection-data-D6pFj4iN.js → extract-connection-data-v_2SygLa.js} +1 -1
- package/dist/client/assets/{file-explorer-BQVK-AaN.js → file-explorer-ByEmojt8.js} +1 -1
- package/dist/client/assets/{file-type-icon-CeMMkuT6.js → file-type-icon-BhwO0F8x.js} +1 -1
- package/dist/client/assets/{form-ezR2Bgah.js → form-CXcPBJB6.js} +1 -1
- package/dist/client/assets/{general-DTao5a0B.js → general-8aUG7wgZ.js} +1 -1
- package/dist/client/assets/{github-repo-picker-B_8OFv2m.js → github-repo-picker-CK8UebE9.js} +1 -1
- package/dist/client/assets/{hooks-7NK0F0cE.js → hooks-Bao8KqER.js} +1 -1
- package/dist/client/assets/{index-BDCehBoK.js → index-0XR0R_aa.js} +1 -1
- package/dist/client/assets/{index-NEfLNGb_.js → index-0gGByJC0.js} +1 -1
- package/dist/client/assets/{index-Bmhu6LOF.js → index-68nO1rrn.js} +1 -1
- package/dist/client/assets/{index-Dt5L7Kba.js → index-BJAfdZ6u.js} +5 -5
- package/dist/client/assets/{index-I582kTlj.js → index-CQtXgGuu.js} +1 -1
- package/dist/client/assets/{index-mNSVuYa1.js → index-CmhA0BPE.js} +1 -1
- package/dist/client/assets/{index-CWEOxNZq.js → index-DD7NBoXX.js} +1 -1
- package/dist/client/assets/{index-Dj4DiKL1.js → index-Dtknt5cw.js} +3 -3
- package/dist/client/assets/{index-CEWXZtQh.js → index-quEWfym2.js} +1 -1
- package/dist/client/assets/{index-redirect-Bu7s6qY_.js → index-redirect-C9qY7aHD.js} +1 -1
- package/dist/client/assets/{index-BQbxjsmm.js → index-t08lh8KG.js} +1 -1
- package/dist/client/assets/{infra-billing-P2VqSjxb.js → infra-billing-C0TF28mG.js} +1 -1
- package/dist/client/assets/{input-WqIRcdd5.js → input-B9M1NGZX.js} +1 -1
- package/dist/client/assets/{integration-icon-CYx8LMu3.js → integration-icon-BB2cokfG.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-BZLMwCLw.js → invite-member-dialog-BdUTI1Rv.js} +1 -1
- package/dist/client/assets/{label-C1zwNBve.js → label-DRzzXkrF.js} +1 -1
- package/dist/client/assets/{layout-DoccO4xy.js → layout-CHLYPUju.js} +1 -1
- package/dist/client/assets/{login-CgMCJRz9.js → login-jlOUYLe4.js} +1 -1
- package/dist/client/assets/{mcp-oauth-gW3GWlhB.js → mcp-oauth-BRarMf_C.js} +1 -1
- package/dist/client/assets/{members-DvoXSP6d.js → members-CegNxaPW.js} +1 -1
- package/dist/client/assets/{monaco-editor-B5VjDROn.js → monaco-editor-Skx97bvU.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-BUXcCPEU.js → monitoring-stats-row-eHrD2D28.js} +1 -1
- package/dist/client/assets/{multi-select-BAxR1mT4.js → multi-select-CXccwNAB.js} +1 -1
- package/dist/client/assets/{oauth-callback-DtZIWk6c.js → oauth-callback-CU2mxcGN.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Cr2NAY8J.js → oauth-callback-ai-provider-C_Uh7Yuu.js} +1 -1
- package/dist/client/assets/{onboarding-CMwA-5NC.js → onboarding-DCmv5324.js} +1 -1
- package/dist/client/assets/{org-layout-Dlyr90j7.js → org-layout-Cfye15i4.js} +1 -1
- package/dist/client/assets/{organization-choice-CKclIvQH.js → organization-choice-BPGl_ROZ.js} +1 -1
- package/dist/client/assets/{orgs-Cwg3IKVu.js → orgs-DRXc3se5.js} +1 -1
- package/dist/client/assets/{page-seo-form-C0wrGZ4b.js → page-seo-form-P0a76S9g.js} +1 -1
- package/dist/client/assets/{popover-BS7Ijllp.js → popover-CckyFsCU.js} +1 -1
- package/dist/client/assets/{post-editor-COgI89pK.js → post-editor-DAA1IUBZ.js} +1 -1
- package/dist/client/assets/{primitives-RMIXhUht.js → primitives-DmxGy0Nl.js} +1 -1
- package/dist/client/assets/{profile-CQHIXRo4.js → profile-CuZHZYaz.js} +1 -1
- package/dist/client/assets/{project-app-view-CgEbOrxT.js → project-app-view-BFU5-7rc.js} +1 -1
- package/dist/client/assets/record-editor-TnF-tzg6.js +1 -0
- package/dist/client/assets/{redirect-editor-BZ81HMvN.js → redirect-editor-D4Q6udtL.js} +1 -1
- package/dist/client/assets/{registry-layout-BU7pE6If.js → registry-layout-WLsRahxF.js} +1 -1
- package/dist/client/assets/registry-wG3Ca7ml.js +2 -0
- package/dist/client/assets/{reports-D8s2NwO8.js → reports-gitv3WiI.js} +1 -1
- package/dist/client/assets/{require-capability-Csx6UR3V.js → require-capability-CUrSZrNS.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Dg1XkSB2.js → required-auth-layout-Dot-LgJd.js} +1 -1
- package/dist/client/assets/{reset-password-BYh8sP04.js → reset-password-DK6blsK_.js} +1 -1
- package/dist/client/assets/{roles-MJaZCCUs.js → roles-DMJP8MP3.js} +1 -1
- package/dist/client/assets/{search-input-3VFdhX2g.js → search-input-DvGzAHp_.js} +1 -1
- package/dist/client/assets/{secrets-jpJYm1hv.js → secrets-CnsbQEzx.js} +1 -1
- package/dist/client/assets/{sections-editor-Ci-kiSEO.js → sections-editor-BEA6TzLX.js} +1 -1
- package/dist/client/assets/{select-CQbypN2U.js → select-BKTcbzM1.js} +1 -1
- package/dist/client/assets/{select-model-COyEyVqj.js → select-model-CmGFw1y-.js} +1 -1
- package/dist/client/assets/{self-tool-result-CrYKnQc4.js → self-tool-result-DZ4xNtTM.js} +1 -1
- package/dist/client/assets/{seo-editor-Bv7MPAJC.js → seo-editor-C2i_NWwZ.js} +1 -1
- package/dist/client/assets/{settings-layout-DH2-C2_D.js → settings-layout-C7lMxUyi.js} +1 -1
- package/dist/client/assets/{shell-controls-BqdOCCJg.js → shell-controls-BdWxf29T.js} +1 -1
- package/dist/client/assets/{shell-layout-BEsFrxoz.js → shell-layout-D5xoDcFZ.js} +1 -1
- package/dist/client/assets/{spinner-B4nE5frW.js → spinner-BnvGTbLZ.js} +1 -1
- package/dist/client/assets/{sso-DyNp6c5-.js → sso-CB-swB6z.js} +1 -1
- package/dist/client/assets/{store-C3wwrfFg.js → store-YqVBAoDh.js} +1 -1
- package/dist/client/assets/store-registry-BLQN9Sob.js +2 -0
- package/dist/client/assets/{switch-DRfGGRto.js → switch-ytDi1lo2.js} +1 -1
- package/dist/client/assets/{synced-repos-BR1-aKmZ.js → synced-repos-wGmE7oC7.js} +1 -1
- package/dist/client/assets/{tab-id-Cop5yrKB.js → tab-id-UL2sd0Kv.js} +1 -1
- package/dist/client/assets/{table-nyIA6VkN.js → table-ByDSmT-c.js} +1 -1
- package/dist/client/assets/{tabs-sFgcxWPr.js → tabs-CXj6A2tk.js} +1 -1
- package/dist/client/assets/{task-key-1e5QcdQ0.js → task-key-D34GseZN.js} +1 -1
- package/dist/client/assets/{tasks-dbu_C5Ni.js → tasks-VNyNCHqt.js} +1 -1
- package/dist/client/assets/{textarea-fio1fsB-.js → textarea-C70aLaWF.js} +1 -1
- package/dist/client/assets/{toggle-group-Cr1m6Gp4.js → toggle-group-Cn13aFno.js} +1 -1
- package/dist/client/assets/{toolbar-DNvH542e.js → toolbar-DEy8y4R2.js} +1 -1
- package/dist/client/assets/{track-DsBqmGmP.js → track-Ds1We2pc.js} +1 -1
- package/dist/client/assets/{types-BZmkV3q5.js → types-0DCH8AY6.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CiI6ZWkB.js → use-ai-providers-DJRoI3EI.js} +1 -1
- package/dist/client/assets/{use-api-keys-Cpo1MYM1.js → use-api-keys-DC3wAarQ.js} +1 -1
- package/dist/client/assets/{use-automations-CWAeTnIs.js → use-automations-CojHFpVj.js} +1 -1
- package/dist/client/assets/{use-autosave-CdaDGr0q.js → use-autosave-D0SAq8Ql.js} +1 -1
- package/dist/client/assets/{use-clock-tick-FrtuQikY.js → use-clock-tick-CI3bzVL_.js} +1 -1
- package/dist/client/assets/{use-commerce-diagnostic-DODwuMLX.js → use-commerce-diagnostic-CDQ8pKWY.js} +1 -1
- package/dist/client/assets/{use-connection-Cl7B1D7N.js → use-connection-BNEBghhk.js} +1 -1
- package/dist/client/assets/{use-copy-YdDsFuXw.js → use-copy-4Hasspfg.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BqxzzRg2.js → use-create-virtual-mcp-KsXig1Ry.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DnThKKar.js → use-debounced-autosave-qxUhbCaP.js} +1 -1
- package/dist/client/assets/{use-debounced-value-CpC8hNSQ.js → use-debounced-value-B2u7-Uh3.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-CT3DufS7.js → use-decopilot-events-CVxMimnB.js} +1 -1
- package/dist/client/assets/{use-delete-connection-CcsdQhUb.js → use-delete-connection-DbZbrHRa.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-BCzrIfS8.js → use-deployment-admin-eF5y2Mql.js} +1 -1
- package/dist/client/assets/{use-file-configs-DIIZBKDz.js → use-file-configs-CEl9ZW0r.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-C8dK5V5a.js → use-infinite-scroll-CEJq_caP.js} +1 -1
- package/dist/client/assets/{use-join-requests-DKeG-qZs.js → use-join-requests-Cou2XBJM.js} +1 -1
- package/dist/client/assets/{use-mcp-client-KykQjryc.js → use-mcp-client-D3x0nW_I.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-Bi5GFC1j.js → use-mcp-tools-CPteIAcW.js} +1 -1
- package/dist/client/assets/{use-members-Bq_njsAn.js → use-members-D35oesrt.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CGTOFk-y.js → use-navigate-to-agent-D-p-KFNB.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-DQmA2kdY.js → use-org-auth-client-r8KsGeRr.js} +1 -1
- package/dist/client/assets/{use-org-repo-syncs-qm0esouY.js → use-org-repo-syncs-CAU9Qp62.js} +1 -1
- package/dist/client/assets/{use-org-sso-Bn98t9aS.js → use-org-sso-DoVYAZQW.js} +1 -1
- package/dist/client/assets/{use-organization-roles-L64TVPJv.js → use-organization-roles-DFJsP4ZW.js} +1 -1
- package/dist/client/assets/{use-organization-settings-DILBdekz.js → use-organization-settings-Ca8Ovt2_.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CwlB0Yn2.js → use-registry-connections-JggwdA_q.js} +1 -1
- package/dist/client/assets/{use-secrets-4lO9QZFW.js → use-secrets-BZfEji37.js} +1 -1
- package/dist/client/assets/{use-section-preview-base-BDzihOuQ.js → use-section-preview-base-CBEcn2-A.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DGR_pA7Q.js → use-status-sounds-CzWoImj-.js} +1 -1
- package/dist/client/assets/{use-tags-CCL6Gkja.js → use-tags-npVrJF7I.js} +1 -1
- package/dist/client/assets/{use-view-mode-rtRrBype.js → use-view-mode-gVCA9OPL.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CdzcvapQ.js → use-virtual-mcp-CDpWJHKk.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-CFRYzvHt.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-dcSR7gCL.js +1 -0
- package/dist/client/assets/{users-kLKOnHiL.js → users-BocyTbb7.js} +1 -1
- package/dist/client/assets/{variant-calendar-DiFZ-BHH.js → variant-calendar-CSs-Htma.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-1XBV2Qf0.js → view-mode-toggle-DXcvp-77.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +3 -3
- package/dist/server/migrate.js +39 -39
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/record-editor-BpbZJ_l8.js +0 -1
- package/dist/client/assets/registry-DONWBYhy.js +0 -2
- package/dist/client/assets/store-registry-Ch10qOp2.js +0 -2
- package/dist/client/assets/useInfiniteQuery-hqfkn01u.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CoKXbJr2.js +0 -1
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-Dtknt5cw.js"></script>
|
|
54
54
|
<link rel="stylesheet" crossorigin href="/assets/index-DZ9B9lIh.css">
|
|
55
55
|
</head>
|
|
56
56
|
<body>
|
package/dist/server/cli.js
CHANGED
|
@@ -1362,7 +1362,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var vi1=L(()=>{zf()});f
|
|
|
1362
1362
|
from task_board_items
|
|
1363
1363
|
) as numbered
|
|
1364
1364
|
where t.id = numbered.id
|
|
1365
|
-
`.execute($),await $.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function Tt6($){await $.schema.dropIndex("task_board_items_org_key_seq_unique").on("task_board_items").execute(),await $.schema.alterTable("task_board_items").dropColumn("key_seq").execute()}var to1=()=>{};var li0={};U0(li0,{up:()=>Rt6,down:()=>It6});import{sql as oo1}from"kysely";async function Rt6($){await oo1`
|
|
1365
|
+
`.execute($),await $.schema.alterTable("task_board_items").alterColumn("key_seq",(Z)=>Z.setNotNull()).execute(),await $.schema.createIndex("task_board_items_org_key_seq_unique").on("task_board_items").columns(["organization_id","key_seq"]).unique().execute()}async function Tt6($){await $.schema.dropIndex("task_board_items_org_key_seq_unique").on("task_board_items").execute(),await $.schema.alterTable("task_board_items").dropColumn("key_seq").execute()}var to1=()=>{};var li0={};U0(li0,{up:()=>Rt6,down:()=>It6});import{sql as oo1}from"kysely";async function Rt6($){await oo1`
|
|
1366
1366
|
CREATE INDEX IF NOT EXISTS idx_threads_github_repo_connection_id
|
|
1367
1367
|
ON threads ((metadata -> 'githubRepo' ->> 'connectionId'))
|
|
1368
1368
|
WHERE metadata -> 'githubRepo' ->> 'connectionId' IS NOT NULL
|
|
@@ -1388,7 +1388,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var vi1=L(()=>{zf()});f
|
|
|
1388
1388
|
`.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${J}/${K}, keeping in old table`);continue}}await tb`
|
|
1389
1389
|
DELETE FROM kysely_migration WHERE name = ${X}
|
|
1390
1390
|
`.execute($)}}async function $r1($){await Mt6($),await Vt6($);let Z=new so1({db:$,provider:{getMigrations:()=>Promise.resolve(di0)}}),{error:X,results:Q}=await Z.migrateToLatest(),Y=0;if(Q?.forEach((G)=>{if(G.status==="Success")Y++;else if(G.status==="Error")console.error(`Failed to execute migration "${G.migrationName}"`)}),X)throw console.error("Failed to migrate"),console.error(X),X;return Y}async function kt6($){let{keepOpen:Z=!1,database:X,skipBetterAuth:Q=!1}=$??{},Y="skipped";if(!Q&&!X)Y=await Fl0();let G=X??K6(),J=async()=>{if(!Z&&!X)await cB(G).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await $r1(G.db);return await J(),{betterAuth:Y,kysely:K}}catch(K){throw await J(),K}}async function St6(){let $=K6(),Z=new so1({db:$.db,provider:{getMigrations:()=>Promise.resolve(di0)}}),{error:X,results:Q}=await Z.migrateDown();if(Q?.forEach((Y)=>{if(Y.status==="Success")console.log(`\u2705 Migration "${Y.migrationName}" rolled back successfully`);else if(Y.status==="Error")console.error(`\u274C Failed to rollback migration "${Y.migrationName}"`)}),X)throw console.error("Failed to rollback migration"),console.error(X),X}var Xr1=L(()=>{ao1();Nl0();YX()});async function fZ0($){let Z={...process.env},X=q80($,Z);console.log(Bw1(X.settings.encryptionKey));let Q=X.settings.betterAuthSecret||(X.settings.localMode?Hp1(X.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (d90(),l90)),{outputs:G,services:J}=await Y({home:X.settings.dataDir,externalDatabaseUrl:X.externalDatabaseUrl,externalNatsUrl:X.externalNatsUrl});if(!X.skipMigrations){let{migrateBetterAuth:W}=await Promise.resolve().then(() => (Nl0(),Np1));await W(G.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (YX(),Vn1)),{migrateToLatest:F}=await Promise.resolve().then(() => (Xr1(),Zr1)),N=H(G.databaseUrl);await F({keepOpen:!0,database:N,skipBetterAuth:!0})}let K={...X.settings,betterAuthSecret:Q,databaseUrl:G.databaseUrl,natsUrls:G.natsUrls,...G.s3?{s3Endpoint:G.s3.endpoint,s3Bucket:G.s3.bucket,s3AccessKeyId:G.s3.accessKeyId,s3SecretAccessKey:G.s3.secretAccessKey,s3ForcePathStyle:G.s3.forcePathStyle}:{},...G.natsTunnel?{natsPublicUrl:G.natsTunnel.publicUrl,natsAccountJwt:G.natsTunnel.accountJwt,natsAccountSigningKey:G.natsTunnel.accountSigningKey,natsOperatorJwt:G.natsTunnel.operatorJwt,natsTunnelPublicEnabled:!0,natsCredsPath:G.natsTunnel.credsPath}:{}};return xi1(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 mi0=L(()=>{zf();Fp1();_8()});var Gr1={};U0(Gr1,{updateService:()=>TE,subscribeCliState:()=>pi0,setTuiConsoleIntercepted:()=>bZ0,setServerUrl:()=>hi,setMigrationsDone:()=>gi,setDevMode:()=>vt6,resetCliStateForTests:()=>Ct6,isTuiConsoleIntercepted:()=>yZ0,getCliState:()=>ni0,addLogEntry:()=>nB});function Qr1(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function Ct6(){pQ=Qr1()}function _t6(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function yi(){for(let $ of ii0)$()}function ni0(){return pQ}function pi0($){return ii0.add($),()=>ii0.delete($)}function TE($){pQ={...pQ,services:pQ.services.map((Z)=>Z.name===$.name?$:Z)},yi()}function gi(){pQ={...pQ,migrationsStatus:"done"},yi()}function hi($){pQ={...pQ,serverUrl:$},yi()}function nB($){let Z=[...pQ.logs,$];pQ={...pQ,logs:Z.length>500?Z.slice(-500):Z},yi()}function vt6(){pQ={...pQ,services:[..._t6(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},yi()}function bZ0($){Yr1=$}function yZ0(){return Yr1}var pQ,ii0,Yr1=!1;var RE=L(()=>{pQ=Qr1();ii0=new Set});import{createServer as Jr1}from"net";function xt6($){return new Promise((Z)=>{let X=Jr1();X.once("error",()=>Z(!1)),X.listen($,"0.0.0.0",()=>{X.close(()=>Z(!0))})})}async function ui($){if(await xt6($))return $;let Z=await new Promise((X,Q)=>{let Y=Jr1();Y.once("error",Q),Y.listen(0,"0.0.0.0",()=>{let G=Y.address(),J=typeof G==="object"&&G?G.port:0;Y.close(()=>X(J))})});return console.warn(`Port ${$} is in use, using port ${Z} instead.`),Z}var ti0=()=>{};function ci($){return $.replace(/\x1b\[[0-9;]*m/g,"")}var oi0={};U0(oi0,{startDevServer:()=>bt6});import{join as ft6}from"path";function Kr1($){let Z=$.getReader(),X=new TextDecoder,Q="";function Y(){let G=Q.split(`
|
|
1391
|
-
`);Q=G.pop()??"";for(let J of G){let K=ci(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;nB({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{for(;;){let{done:G,value:J}=await Z.read();if(G)break;Q+=X.decode(J,{stream:!0}),Y()}if(Q.trim()){let G=ci(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)nB({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function bt6($){let{baseUrl:Z,noTui:X}=$,Q=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=Q?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=Q?await ui(Number(Y)+1):await ui(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await fZ0({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let w of W)TE({name:w.name,status:"ready",port:w.port});gi();let F=ft6(import.meta.dir,"..","..","..","..",".."),N=X===!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.natsPublicUrl&&K.natsAccountJwt&&K.natsAccountSigningKey?{NATS_PUBLIC_URL:K.natsPublicUrl,NATS_ACCOUNT_JWT:K.natsAccountJwt,NATS_ACCOUNT_SIGNING_KEY:K.natsAccountSigningKey,NATS_OPERATOR_JWT:K.natsOperatorJwt??"",NATS_TUNNEL_PUBLIC_ENABLED:"true",...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}}:{}},stdio:["inherit",N?"inherit":"pipe",N?"inherit":"pipe"]});if(!N)Kr1(U.stdout),Kr1(U.stderr);hi(G),TE({name:"Vite",status:"ready",port:Number(Y)}),TE({name:"API",status:"ready",port:Number(K.port)});let O=async(w)=>{if(U.kill(w),await U.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (d90(),l90));await D(K.dataDir)}};return process.on("SIGINT",()=>O("SIGINT")),process.on("SIGTERM",()=>O("SIGTERM")),{port:Number(Y),process:U}}var ri0=L(()=>{mi0();RE();ti0()});var gZ0;var ai0=L(()=>{gZ0={name:"decocms",version:"4.252.7",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","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as gt6,Text as Wr1}from"ink";import{jsx as ht6,jsxs as Hr1}from"react/jsx-runtime";function Fr1({version:$}){return Hr1(gt6,{flexDirection:"column",marginTop:1,children:[UZ0.map((Z,X)=>ht6(Wr1,{color:BZ0[X],children:Z},X)),Hr1(Wr1,{dimColor:!0,children:[" v",$]})]})}var Nr1=L(()=>{qi()});import{Box as IE,Text as pB}from"ink";import{Spinner as ut6}from"@inkjs/ui";import{jsx as eY,jsxs as ob}from"react/jsx-runtime";function Ur1({status:$}){if($==="pending")return eY(ut6,{label:""});return eY(pB,{color:"green",children:"\u2713"})}function ct6($){return`${$.name}: ${$.port||"...."}`}function Br1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return ob(IE,{flexDirection:"column",paddingBottom:1,children:[eY(Fr1,{version:gZ0.version}),eY(IE,{marginBottom:1,children:eY(pB,{dimColor:!0,children:"\u2500".repeat(80)})}),eY(IE,{children:ob(pB,{dimColor:!0,children:["Home: ",X]})}),ob(IE,{gap:2,children:[$.map((Y)=>ob(IE,{gap:1,children:[eY(pB,{children:ct6(Y)}),eY(Ur1,{status:Y.status})]},Y.name)),ob(IE,{gap:1,children:[eY(pB,{children:"Migrations"}),eY(Ur1,{status:Z})]})]}),eY(IE,{children:Q?ob(pB,{children:["Open in browser: ",eY(pB,{color:"cyan",children:Q})]}):eY(pB,{dimColor:!0,children:"Starting..."})})]})}var Or1=L(()=>{ai0();Nr1()});import{Box as lt6,Text as li}from"ink";import{jsx as si0,jsxs as ei0}from"react/jsx-runtime";function dt6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function Lr1({logs:$}){return si0(lt6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return si0(li,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return ei0(li,{children:[ei0(li,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),si0(li,{color:dt6(Z.status),children:Z.status}),ei0(li,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var wr1=()=>{};var $n0={};U0($n0,{App:()=>nt6});import{Box as mt6}from"ink";import{useSyncExternalStore as it6}from"react";import{jsx as Dr1,jsxs as pt6}from"react/jsx-runtime";function nt6({home:$}){let Z=it6(pi0,ni0);return pt6(mt6,{flexDirection:"column",children:[Dr1(Br1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),Dr1(Lr1,{logs:Z.logs})]})}var Zn0=L(()=>{Or1();wr1();RE()});var gJ="thread-gate",$N="decopilot-hosted-harness",ZN="decopilot-hosted-harness-sandboxed",U3="automations",tB="background-tools",qE="task-board-github-reads",ME="jira-push";var Er1="7";function jr1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Er1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var zr1=()=>{};function tt6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Xn0($,Z){for(let X=0;X<$.length;X++){let Q=$[X];if(Q===void 0)continue;if(Q===Z)return $[X+1];if(Q.startsWith(`${Z}=`))return Q.slice(Z.length+1)}return}function Pr1(){let $=tt6();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 Ar1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=jE();if(!X)return;let Q={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);Q={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:X.rss,heapUsed:X.heapUsed,heapTotal:X.heapTotal,external:X.external,arrayBuffers:X.arrayBuffers,...Q}))};return Z().catch(()=>{}),hZ0=setInterval(()=>void Z().catch(()=>{}),$),hZ0.unref?.(),process.on("SIGUSR2",()=>{try{let X=Bun.generateHeapSnapshot("v8"),Q=typeof X==="string"?X:JSON.stringify(X),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,Q),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(X){console.error("[heap-watch] snapshot failed:",X)}}),()=>{if(hZ0)clearInterval(hZ0)}}var hZ0;var Tr1=()=>{};import*as ot6 from"bun:jsc";function Rr1(){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{rt6()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let X,Q=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-Q;Q=G+Z;let K=[];try{K=at6()?.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}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var rt6,at6;var Ir1=L(()=>{({startSamplingProfiler:rt6,samplingProfilerStackTraces:at6}=ot6)});function qr1(){Pr1();let $=[Ar1(),zn1(),Rr1()];return()=>{for(let Z of $)Z()}}var Mr1=L(()=>{$l0();Tr1();Ir1()});var VE=v((Vr1)=>{Object.defineProperty(Vr1,"__esModule",{value:!0});Vr1.RepublishHeaders=Vr1.DirectMsgHeaders=Vr1.JsHeaders=Vr1.AdvisoryKind=void 0;Vr1.isOrderedPushConsumerOptions=st6;Vr1.isPullConsumer=et6;Vr1.isPushConsumer=$o6;Vr1.isBoundPushConsumerOptions=Zo6;function st6($){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 et6($){return $.isPullConsumer()}function $o6($){return $.isPushConsumer()}function Zo6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}Vr1.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"};Vr1.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"};Vr1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};Vr1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var $G=v((Sr1)=>{Object.defineProperty(Sr1,"__esModule",{value:!0});Sr1.TD=Sr1.TE=Sr1.Empty=void 0;Sr1.encode=Fo6;Sr1.decode=No6;Sr1.Empty=new Uint8Array(0);Sr1.TE=new TextEncoder;Sr1.TD=new TextDecoder;function Ho6(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}function Fo6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(Sr1.TE.encode($[X]));if(Z.length===0)return Sr1.Empty;if(Z.length===1)return Z[0];return Ho6(...Z)}function No6($){if(!$||$.length===0)return"";return Sr1.TD.decode($)}});var ZG=v((vr1)=>{Object.defineProperty(vr1,"__esModule",{value:!0});vr1.errors=vr1.PermissionViolationError=vr1.NoRespondersError=vr1.TimeoutError=vr1.RequestError=vr1.ProtocolError=vr1.ConnectionError=vr1.DrainingConnectionError=vr1.ClosedConnectionError=vr1.AuthorizationError=vr1.UserAuthenticationExpiredError=vr1.InvalidOperationError=vr1.InvalidArgumentError=vr1.InvalidSubjectError=void 0;class Yn0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}vr1.InvalidSubjectError=Yn0;class uZ0 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,X){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((Q)=>`'${Q}'`),$=$.join(",");else $=`'${$}'`;return new uZ0(`${$} ${Z}`,X)}}vr1.InvalidArgumentError=uZ0;class Gn0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}vr1.InvalidOperationError=Gn0;class cZ0 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new cZ0($);return null}}vr1.UserAuthenticationExpiredError=cZ0;class lZ0 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],X=$.toLowerCase();for(let Q=0;Q<Z.length;Q++)if(X.indexOf(Z[Q])!==-1)return new lZ0($);return null}}vr1.AuthorizationError=lZ0;class Jn0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}vr1.ClosedConnectionError=Jn0;class Kn0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}vr1.DrainingConnectionError=Kn0;class Wn0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}vr1.ConnectionError=Wn0;class Hn0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}vr1.ProtocolError=Hn0;class Fn0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof dZ0}}vr1.RequestError=Fn0;class Nn0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}vr1.TimeoutError=Nn0;class dZ0 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}vr1.NoRespondersError=dZ0;class mZ0 extends Error{operation;subject;queue;constructor($,Z,X,Q,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=X,this.queue=Q}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let X="publish",Q="",Y=void 0,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(X=G[1].toLowerCase(),Q=G[2],X==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new mZ0($,X,Q,Y)}}vr1.PermissionViolationError=mZ0;vr1.errors={AuthorizationError:lZ0,ClosedConnectionError:Jn0,ConnectionError:Wn0,DrainingConnectionError:Kn0,InvalidArgumentError:uZ0,InvalidOperationError:Gn0,InvalidSubjectError:Yn0,NoRespondersError:dZ0,PermissionViolationError:mZ0,ProtocolError:Hn0,RequestError:Fn0,TimeoutError:Nn0,UserAuthenticationExpiredError:cZ0}});var hJ=v((gr1)=>{Object.defineProperty(gr1,"__esModule",{value:!0});gr1.SimpleMutex=gr1.Perf=void 0;gr1.extend=Vo6;gr1.render=ko6;gr1.timeout=So6;gr1.delay=Co6;gr1.deadline=_o6;gr1.deferred=Bn0;gr1.debugDeferred=vo6;gr1.shuffle=xo6;gr1.collect=fo6;gr1.jitter=yr1;gr1.backoff=bo6;gr1.nanos=yo6;gr1.millis=go6;gr1.randomToken=co6;var Mo6=$G(),Un0=ZG();function Vo6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function ko6($){return Mo6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function So6($,Z=!0){let X=Z?new Un0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new Un0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function Co6($=0){let Z,X=new Promise((Q)=>{let Y=setTimeout(()=>{Q()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),Q()}}});return Object.assign(X,Z)}async function _o6($,Z=1000){let X=Bn0(),Q=setTimeout(()=>{X.reject(new Un0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function Bn0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function vo6(){let $={},Z=new Promise((X,Q)=>{$={resolve:(Y)=>{console.trace("resolve",Y),X(Y)},reject:(Y)=>{console.trace("reject"),Q(Y)}}});return Object.assign(Z,$)}function xo6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function fo6($){let Z=[];for await(let X of $)Z.push(X);return Z}class fr1{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,X){let Q=this.timers.get(Z);if(Q===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(X);if(Y===void 0)throw Error(`${X} is not defined`);this.measures.set($,Y-Q)}getEntries(){let $=[];return this.measures.forEach((Z,X)=>{$.push({name:X,duration:Z})}),$}}gr1.Perf=fr1;class br1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=Bn0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}gr1.SimpleMutex=br1;function yr1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function bo6($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(X){return yr1(X>Z?$[Z]:$[X])}}}function yo6($){return $*1e6}function go6($){return Math.floor($/1e6)}var ho6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",XN=new Uint8Array(62);for(let $=0;$<62;$++)XN[$]=ho6.charCodeAt($);var uo6=218340105584896;function co6(){let $=Math.floor(Math.random()*uo6),Z=$%62,X=XN[Z];$=($-Z)/62,Z=$%62;let Q=XN[Z];$=($-Z)/62,Z=$%62;let Y=XN[Z];$=($-Z)/62,Z=$%62;let G=XN[Z];$=($-Z)/62,Z=$%62;let J=XN[Z];$=($-Z)/62,Z=$%62;let K=XN[Z];$=($-Z)/62,Z=$%62;let W=XN[Z];$=($-Z)/62;let H=XN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var nr1=v((mr1)=>{Object.defineProperty(mr1,"__esModule",{value:!0});mr1.nuid=mr1.NuidImpl=void 0;var Qr6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",oB=62,nZ0=12,lr1=10,ur1=33,Yr6=333,cr1=nZ0+lr1,Ln0=new Uint8Array(oB);for(let $=0;$<oB;$++)Ln0[$]=Qr6.charCodeAt($);var iZ0=4294967296,dr1=BigInt(oB)**BigInt(lr1),di=Number(dr1/(1n<<32n)),On0=Number(dr1%(1n<<32n));function Gr6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Jr6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Gr6($)}class wn0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(cr1),this.cbuf=new Uint8Array(nZ0),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(di+1)),this.seqLo=Math.floor(Math.random()*iZ0);while($++<8&&this.seqHi===di&&this.seqLo>=On0);if(this.seqHi===di&&this.seqLo>=On0)this.seqLo=0;this.inc=Math.random()*(Yr6-ur1)+ur1|0}setPre(){Jr6(this.cbuf);for(let $=0;$<nZ0;$++)this.buf[$]=Ln0[this.cbuf[$]%oB]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=cr1-1;X>=nZ0;X--){let Q=Math.floor($/oB),G=($-Q*oB)*iZ0+Z,J=Math.floor(G/oB),K=G-J*oB;this.buf[X]=Ln0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=iZ0)this.seqLo-=iZ0,this.seqHi+=1;if(this.seqHi>di||this.seqHi===di&&this.seqLo>=On0)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()}}mr1.NuidImpl=wn0;mr1.nuid=new wn0});var rr1=v((tr1)=>{Object.defineProperty(tr1,"__esModule",{value:!0});tr1.nuid=tr1.Nuid=void 0;var pr1=nr1();tr1.Nuid=pr1.NuidImpl;tr1.nuid=pr1.nuid});var tZ0=v((pZ0)=>{Object.defineProperty(pZ0,"__esModule",{value:!0});pZ0.nuid=pZ0.Nuid=void 0;var ar1=rr1();Object.defineProperty(pZ0,"Nuid",{enumerable:!0,get:function(){return ar1.Nuid}});Object.defineProperty(pZ0,"nuid",{enumerable:!0,get:function(){return ar1.nuid}})});var rB=v((sr1)=>{Object.defineProperty(sr1,"__esModule",{value:!0});sr1.DEFAULT_HOST=sr1.DEFAULT_PORT=sr1.Match=void 0;sr1.syncIterator=Ur6;sr1.createInbox=Br6;var Fr6=tZ0(),Nr6=ZG();sr1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function Ur6($){let Z=$[Symbol.asyncIterator]();return{async next(){let X=await Z.next();if(X.done)return Promise.resolve(null);return Promise.resolve(X.value)}}}function Br6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Nr6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Fr6.nuid.next()}`}sr1.DEFAULT_PORT=4222;sr1.DEFAULT_HOST="127.0.0.1"});var mi=v((Xa1)=>{Object.defineProperty(Xa1,"__esModule",{value:!0});Xa1.DataBuffer=void 0;var $a1=$G();class Za1{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}static fromAscii($){if(!$)$="";return $a1.TE.encode($)}static toAscii($){return $a1.TD.decode($)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let $=new Uint8Array(this.byteLength),Z=0;for(let X=0;X<this.buffers.length;X++)$.set(this.buffers[X],Z),Z+=this.buffers[X].length;this.buffers.length=0,this.buffers.push($)}}shift(){if(this.buffers.length){let $=this.buffers.shift();if($)return this.byteLength-=$.length,$}return new Uint8Array(0)}drain($){if(this.buffers.length){this.pack();let Z=this.buffers.pop();if(Z){let X=this.byteLength;if($===void 0||$>X)$=X;let Q=Z.subarray(0,$);if(X>$)this.buffers.push(Z.subarray($));return this.byteLength=X-$,Q}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let X=0;X<Z.length;X++)if(Z[X]&&Z[X].length)this.buffers.push(Z[X]),this.byteLength+=Z[X].length}peek(){if(this.buffers.length)return this.pack(),this.buffers[0];return new Uint8Array(0)}size(){return this.byteLength}length(){return this.buffers.length}}Xa1.DataBuffer=Za1});var kE=v((Ga1)=>{Object.defineProperty(Ga1,"__esModule",{value:!0});Ga1.LF=Ga1.CR=Ga1.CRLF=Ga1.CR_LF_LEN=Ga1.CR_LF=void 0;Ga1.setTransportFactory=Pr6;Ga1.defaultPort=Ar6;Ga1.getUrlParseFn=Tr6;Ga1.newTransport=Rr6;Ga1.getResolveFn=Ir6;Ga1.protoLen=Ya1;Ga1.extractProtocolMessage=qr6;var Er6=$G(),jr6=rB(),zr6=mi(),XG;function Pr6($){XG=$}function Ar6(){return XG!==void 0&&XG.defaultPort!==void 0?XG.defaultPort:jr6.DEFAULT_PORT}function Tr6(){return XG!==void 0&&XG.urlParseFn?XG.urlParseFn:void 0}function Rr6(){if(!XG||typeof XG.factory!=="function")throw Error("transport fn is not set");return XG.factory()}function Ir6(){return XG!==void 0&&XG.dnsResolveFn?XG.dnsResolveFn:void 0}Ga1.CR_LF=`\r
|
|
1391
|
+
`);Q=G.pop()??"";for(let J of G){let K=ci(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;nB({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{for(;;){let{done:G,value:J}=await Z.read();if(G)break;Q+=X.decode(J,{stream:!0}),Y()}if(Q.trim()){let G=ci(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)nB({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function bt6($){let{baseUrl:Z,noTui:X}=$,Q=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=Q?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=Q?await ui(Number(Y)+1):await ui(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await fZ0({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let w of W)TE({name:w.name,status:"ready",port:w.port});gi();let F=ft6(import.meta.dir,"..","..","..","..",".."),N=X===!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.natsPublicUrl&&K.natsAccountJwt&&K.natsAccountSigningKey?{NATS_PUBLIC_URL:K.natsPublicUrl,NATS_ACCOUNT_JWT:K.natsAccountJwt,NATS_ACCOUNT_SIGNING_KEY:K.natsAccountSigningKey,NATS_OPERATOR_JWT:K.natsOperatorJwt??"",NATS_TUNNEL_PUBLIC_ENABLED:"true",...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}}:{}},stdio:["inherit",N?"inherit":"pipe",N?"inherit":"pipe"]});if(!N)Kr1(U.stdout),Kr1(U.stderr);hi(G),TE({name:"Vite",status:"ready",port:Number(Y)}),TE({name:"API",status:"ready",port:Number(K.port)});let O=async(w)=>{if(U.kill(w),await U.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (d90(),l90));await D(K.dataDir)}};return process.on("SIGINT",()=>O("SIGINT")),process.on("SIGTERM",()=>O("SIGTERM")),{port:Number(Y),process:U}}var ri0=L(()=>{mi0();RE();ti0()});var gZ0;var ai0=L(()=>{gZ0={name:"decocms",version:"4.252.9",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","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","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as gt6,Text as Wr1}from"ink";import{jsx as ht6,jsxs as Hr1}from"react/jsx-runtime";function Fr1({version:$}){return Hr1(gt6,{flexDirection:"column",marginTop:1,children:[UZ0.map((Z,X)=>ht6(Wr1,{color:BZ0[X],children:Z},X)),Hr1(Wr1,{dimColor:!0,children:[" v",$]})]})}var Nr1=L(()=>{qi()});import{Box as IE,Text as pB}from"ink";import{Spinner as ut6}from"@inkjs/ui";import{jsx as eY,jsxs as ob}from"react/jsx-runtime";function Ur1({status:$}){if($==="pending")return eY(ut6,{label:""});return eY(pB,{color:"green",children:"\u2713"})}function ct6($){return`${$.name}: ${$.port||"...."}`}function Br1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return ob(IE,{flexDirection:"column",paddingBottom:1,children:[eY(Fr1,{version:gZ0.version}),eY(IE,{marginBottom:1,children:eY(pB,{dimColor:!0,children:"\u2500".repeat(80)})}),eY(IE,{children:ob(pB,{dimColor:!0,children:["Home: ",X]})}),ob(IE,{gap:2,children:[$.map((Y)=>ob(IE,{gap:1,children:[eY(pB,{children:ct6(Y)}),eY(Ur1,{status:Y.status})]},Y.name)),ob(IE,{gap:1,children:[eY(pB,{children:"Migrations"}),eY(Ur1,{status:Z})]})]}),eY(IE,{children:Q?ob(pB,{children:["Open in browser: ",eY(pB,{color:"cyan",children:Q})]}):eY(pB,{dimColor:!0,children:"Starting..."})})]})}var Or1=L(()=>{ai0();Nr1()});import{Box as lt6,Text as li}from"ink";import{jsx as si0,jsxs as ei0}from"react/jsx-runtime";function dt6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function Lr1({logs:$}){return si0(lt6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return si0(li,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return ei0(li,{children:[ei0(li,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),si0(li,{color:dt6(Z.status),children:Z.status}),ei0(li,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var wr1=()=>{};var $n0={};U0($n0,{App:()=>nt6});import{Box as mt6}from"ink";import{useSyncExternalStore as it6}from"react";import{jsx as Dr1,jsxs as pt6}from"react/jsx-runtime";function nt6({home:$}){let Z=it6(pi0,ni0);return pt6(mt6,{flexDirection:"column",children:[Dr1(Br1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),Dr1(Lr1,{logs:Z.logs})]})}var Zn0=L(()=>{Or1();wr1();RE()});var gJ="thread-gate",$N="decopilot-hosted-harness",ZN="decopilot-hosted-harness-sandboxed",U3="automations",tB="background-tools",qE="task-board-github-reads",ME="jira-push";var Er1="7";function jr1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Er1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var zr1=()=>{};function tt6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Xn0($,Z){for(let X=0;X<$.length;X++){let Q=$[X];if(Q===void 0)continue;if(Q===Z)return $[X+1];if(Q.startsWith(`${Z}=`))return Q.slice(Z.length+1)}return}function Pr1(){let $=tt6();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 Ar1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=jE();if(!X)return;let Q={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);Q={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:X.rss,heapUsed:X.heapUsed,heapTotal:X.heapTotal,external:X.external,arrayBuffers:X.arrayBuffers,...Q}))};return Z().catch(()=>{}),hZ0=setInterval(()=>void Z().catch(()=>{}),$),hZ0.unref?.(),process.on("SIGUSR2",()=>{try{let X=Bun.generateHeapSnapshot("v8"),Q=typeof X==="string"?X:JSON.stringify(X),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,Q),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(X){console.error("[heap-watch] snapshot failed:",X)}}),()=>{if(hZ0)clearInterval(hZ0)}}var hZ0;var Tr1=()=>{};import*as ot6 from"bun:jsc";function Rr1(){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{rt6()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let X,Q=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-Q;Q=G+Z;let K=[];try{K=at6()?.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}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var rt6,at6;var Ir1=L(()=>{({startSamplingProfiler:rt6,samplingProfilerStackTraces:at6}=ot6)});function qr1(){Pr1();let $=[Ar1(),zn1(),Rr1()];return()=>{for(let Z of $)Z()}}var Mr1=L(()=>{$l0();Tr1();Ir1()});var VE=v((Vr1)=>{Object.defineProperty(Vr1,"__esModule",{value:!0});Vr1.RepublishHeaders=Vr1.DirectMsgHeaders=Vr1.JsHeaders=Vr1.AdvisoryKind=void 0;Vr1.isOrderedPushConsumerOptions=st6;Vr1.isPullConsumer=et6;Vr1.isPushConsumer=$o6;Vr1.isBoundPushConsumerOptions=Zo6;function st6($){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 et6($){return $.isPullConsumer()}function $o6($){return $.isPushConsumer()}function Zo6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}Vr1.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"};Vr1.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"};Vr1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};Vr1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var $G=v((Sr1)=>{Object.defineProperty(Sr1,"__esModule",{value:!0});Sr1.TD=Sr1.TE=Sr1.Empty=void 0;Sr1.encode=Fo6;Sr1.decode=No6;Sr1.Empty=new Uint8Array(0);Sr1.TE=new TextEncoder;Sr1.TD=new TextDecoder;function Ho6(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}function Fo6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(Sr1.TE.encode($[X]));if(Z.length===0)return Sr1.Empty;if(Z.length===1)return Z[0];return Ho6(...Z)}function No6($){if(!$||$.length===0)return"";return Sr1.TD.decode($)}});var ZG=v((vr1)=>{Object.defineProperty(vr1,"__esModule",{value:!0});vr1.errors=vr1.PermissionViolationError=vr1.NoRespondersError=vr1.TimeoutError=vr1.RequestError=vr1.ProtocolError=vr1.ConnectionError=vr1.DrainingConnectionError=vr1.ClosedConnectionError=vr1.AuthorizationError=vr1.UserAuthenticationExpiredError=vr1.InvalidOperationError=vr1.InvalidArgumentError=vr1.InvalidSubjectError=void 0;class Yn0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}vr1.InvalidSubjectError=Yn0;class uZ0 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,X){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((Q)=>`'${Q}'`),$=$.join(",");else $=`'${$}'`;return new uZ0(`${$} ${Z}`,X)}}vr1.InvalidArgumentError=uZ0;class Gn0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}vr1.InvalidOperationError=Gn0;class cZ0 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new cZ0($);return null}}vr1.UserAuthenticationExpiredError=cZ0;class lZ0 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],X=$.toLowerCase();for(let Q=0;Q<Z.length;Q++)if(X.indexOf(Z[Q])!==-1)return new lZ0($);return null}}vr1.AuthorizationError=lZ0;class Jn0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}vr1.ClosedConnectionError=Jn0;class Kn0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}vr1.DrainingConnectionError=Kn0;class Wn0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}vr1.ConnectionError=Wn0;class Hn0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}vr1.ProtocolError=Hn0;class Fn0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof dZ0}}vr1.RequestError=Fn0;class Nn0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}vr1.TimeoutError=Nn0;class dZ0 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}vr1.NoRespondersError=dZ0;class mZ0 extends Error{operation;subject;queue;constructor($,Z,X,Q,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=X,this.queue=Q}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let X="publish",Q="",Y=void 0,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(X=G[1].toLowerCase(),Q=G[2],X==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new mZ0($,X,Q,Y)}}vr1.PermissionViolationError=mZ0;vr1.errors={AuthorizationError:lZ0,ClosedConnectionError:Jn0,ConnectionError:Wn0,DrainingConnectionError:Kn0,InvalidArgumentError:uZ0,InvalidOperationError:Gn0,InvalidSubjectError:Yn0,NoRespondersError:dZ0,PermissionViolationError:mZ0,ProtocolError:Hn0,RequestError:Fn0,TimeoutError:Nn0,UserAuthenticationExpiredError:cZ0}});var hJ=v((gr1)=>{Object.defineProperty(gr1,"__esModule",{value:!0});gr1.SimpleMutex=gr1.Perf=void 0;gr1.extend=Vo6;gr1.render=ko6;gr1.timeout=So6;gr1.delay=Co6;gr1.deadline=_o6;gr1.deferred=Bn0;gr1.debugDeferred=vo6;gr1.shuffle=xo6;gr1.collect=fo6;gr1.jitter=yr1;gr1.backoff=bo6;gr1.nanos=yo6;gr1.millis=go6;gr1.randomToken=co6;var Mo6=$G(),Un0=ZG();function Vo6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function ko6($){return Mo6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function So6($,Z=!0){let X=Z?new Un0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new Un0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function Co6($=0){let Z,X=new Promise((Q)=>{let Y=setTimeout(()=>{Q()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),Q()}}});return Object.assign(X,Z)}async function _o6($,Z=1000){let X=Bn0(),Q=setTimeout(()=>{X.reject(new Un0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function Bn0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function vo6(){let $={},Z=new Promise((X,Q)=>{$={resolve:(Y)=>{console.trace("resolve",Y),X(Y)},reject:(Y)=>{console.trace("reject"),Q(Y)}}});return Object.assign(Z,$)}function xo6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function fo6($){let Z=[];for await(let X of $)Z.push(X);return Z}class fr1{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,X){let Q=this.timers.get(Z);if(Q===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(X);if(Y===void 0)throw Error(`${X} is not defined`);this.measures.set($,Y-Q)}getEntries(){let $=[];return this.measures.forEach((Z,X)=>{$.push({name:X,duration:Z})}),$}}gr1.Perf=fr1;class br1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=Bn0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}gr1.SimpleMutex=br1;function yr1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function bo6($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(X){return yr1(X>Z?$[Z]:$[X])}}}function yo6($){return $*1e6}function go6($){return Math.floor($/1e6)}var ho6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",XN=new Uint8Array(62);for(let $=0;$<62;$++)XN[$]=ho6.charCodeAt($);var uo6=218340105584896;function co6(){let $=Math.floor(Math.random()*uo6),Z=$%62,X=XN[Z];$=($-Z)/62,Z=$%62;let Q=XN[Z];$=($-Z)/62,Z=$%62;let Y=XN[Z];$=($-Z)/62,Z=$%62;let G=XN[Z];$=($-Z)/62,Z=$%62;let J=XN[Z];$=($-Z)/62,Z=$%62;let K=XN[Z];$=($-Z)/62,Z=$%62;let W=XN[Z];$=($-Z)/62;let H=XN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var nr1=v((mr1)=>{Object.defineProperty(mr1,"__esModule",{value:!0});mr1.nuid=mr1.NuidImpl=void 0;var Qr6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",oB=62,nZ0=12,lr1=10,ur1=33,Yr6=333,cr1=nZ0+lr1,Ln0=new Uint8Array(oB);for(let $=0;$<oB;$++)Ln0[$]=Qr6.charCodeAt($);var iZ0=4294967296,dr1=BigInt(oB)**BigInt(lr1),di=Number(dr1/(1n<<32n)),On0=Number(dr1%(1n<<32n));function Gr6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Jr6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Gr6($)}class wn0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(cr1),this.cbuf=new Uint8Array(nZ0),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(di+1)),this.seqLo=Math.floor(Math.random()*iZ0);while($++<8&&this.seqHi===di&&this.seqLo>=On0);if(this.seqHi===di&&this.seqLo>=On0)this.seqLo=0;this.inc=Math.random()*(Yr6-ur1)+ur1|0}setPre(){Jr6(this.cbuf);for(let $=0;$<nZ0;$++)this.buf[$]=Ln0[this.cbuf[$]%oB]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=cr1-1;X>=nZ0;X--){let Q=Math.floor($/oB),G=($-Q*oB)*iZ0+Z,J=Math.floor(G/oB),K=G-J*oB;this.buf[X]=Ln0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=iZ0)this.seqLo-=iZ0,this.seqHi+=1;if(this.seqHi>di||this.seqHi===di&&this.seqLo>=On0)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()}}mr1.NuidImpl=wn0;mr1.nuid=new wn0});var rr1=v((tr1)=>{Object.defineProperty(tr1,"__esModule",{value:!0});tr1.nuid=tr1.Nuid=void 0;var pr1=nr1();tr1.Nuid=pr1.NuidImpl;tr1.nuid=pr1.nuid});var tZ0=v((pZ0)=>{Object.defineProperty(pZ0,"__esModule",{value:!0});pZ0.nuid=pZ0.Nuid=void 0;var ar1=rr1();Object.defineProperty(pZ0,"Nuid",{enumerable:!0,get:function(){return ar1.Nuid}});Object.defineProperty(pZ0,"nuid",{enumerable:!0,get:function(){return ar1.nuid}})});var rB=v((sr1)=>{Object.defineProperty(sr1,"__esModule",{value:!0});sr1.DEFAULT_HOST=sr1.DEFAULT_PORT=sr1.Match=void 0;sr1.syncIterator=Ur6;sr1.createInbox=Br6;var Fr6=tZ0(),Nr6=ZG();sr1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function Ur6($){let Z=$[Symbol.asyncIterator]();return{async next(){let X=await Z.next();if(X.done)return Promise.resolve(null);return Promise.resolve(X.value)}}}function Br6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Nr6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Fr6.nuid.next()}`}sr1.DEFAULT_PORT=4222;sr1.DEFAULT_HOST="127.0.0.1"});var mi=v((Xa1)=>{Object.defineProperty(Xa1,"__esModule",{value:!0});Xa1.DataBuffer=void 0;var $a1=$G();class Za1{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}static fromAscii($){if(!$)$="";return $a1.TE.encode($)}static toAscii($){return $a1.TD.decode($)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let $=new Uint8Array(this.byteLength),Z=0;for(let X=0;X<this.buffers.length;X++)$.set(this.buffers[X],Z),Z+=this.buffers[X].length;this.buffers.length=0,this.buffers.push($)}}shift(){if(this.buffers.length){let $=this.buffers.shift();if($)return this.byteLength-=$.length,$}return new Uint8Array(0)}drain($){if(this.buffers.length){this.pack();let Z=this.buffers.pop();if(Z){let X=this.byteLength;if($===void 0||$>X)$=X;let Q=Z.subarray(0,$);if(X>$)this.buffers.push(Z.subarray($));return this.byteLength=X-$,Q}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let X=0;X<Z.length;X++)if(Z[X]&&Z[X].length)this.buffers.push(Z[X]),this.byteLength+=Z[X].length}peek(){if(this.buffers.length)return this.pack(),this.buffers[0];return new Uint8Array(0)}size(){return this.byteLength}length(){return this.buffers.length}}Xa1.DataBuffer=Za1});var kE=v((Ga1)=>{Object.defineProperty(Ga1,"__esModule",{value:!0});Ga1.LF=Ga1.CR=Ga1.CRLF=Ga1.CR_LF_LEN=Ga1.CR_LF=void 0;Ga1.setTransportFactory=Pr6;Ga1.defaultPort=Ar6;Ga1.getUrlParseFn=Tr6;Ga1.newTransport=Rr6;Ga1.getResolveFn=Ir6;Ga1.protoLen=Ya1;Ga1.extractProtocolMessage=qr6;var Er6=$G(),jr6=rB(),zr6=mi(),XG;function Pr6($){XG=$}function Ar6(){return XG!==void 0&&XG.defaultPort!==void 0?XG.defaultPort:jr6.DEFAULT_PORT}function Tr6(){return XG!==void 0&&XG.urlParseFn?XG.urlParseFn:void 0}function Rr6(){if(!XG||typeof XG.factory!=="function")throw Error("transport fn is not set");return XG.factory()}function Ir6(){return XG!==void 0&&XG.dnsResolveFn?XG.dnsResolveFn:void 0}Ga1.CR_LF=`\r
|
|
1392
1392
|
`;Ga1.CR_LF_LEN=Ga1.CR_LF.length;Ga1.CRLF=zr6.DataBuffer.fromAscii(Ga1.CR_LF);Ga1.CR=new Uint8Array(Ga1.CRLF)[0];Ga1.LF=new Uint8Array(Ga1.CRLF)[1];function Ya1($){for(let Z=0;Z<$.length;Z++){let X=Z+1;if($.byteLength>X&&$[Z]===Ga1.CR&&$[X]===Ga1.LF)return X+1}return 0}function qr6($){let Z=Ya1($);if(Z>0){let Q=new Uint8Array($).slice(0,Z);return Er6.TD.decode(Q)}return""}});var Pn0=v((Ba1)=>{Object.defineProperty(Ba1,"__esModule",{value:!0});Ba1.ipV4=Fa1;Ba1.isIP=yr6;Ba1.parseIP=Na1;var ii=4,SE=16,oZ0=48,Ha1=57,Ka1=65,fr6=70,Wa1=97,br6=102,zn0=16777215;function Fa1($,Z,X,Q){let Y=new Uint8Array(SE);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((J,K)=>{Y[K]=J}),Y[12]=$,Y[13]=Z,Y[14]=X,Y[15]=Q,Y}function yr6($){return Na1($)!==void 0}function Na1($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return Ua1($);case":":return gr6($)}return}function Ua1($){let Z=new Uint8Array(ii);for(let X=0;X<ii;X++){if($.length===0)return;if(X>0){if($[0]!==".")return;$=$.substring(1)}let{n:Q,c:Y,ok:G}=hr6($);if(!G||Q>255)return;$=$.substring(Y),Z[X]=Q}return Fa1(Z[0],Z[1],Z[2],Z[3])}function gr6($){let Z=new Uint8Array(SE),X=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(X=0,$=$.substring(2),$.length===0)return Z}let Q=0;while(Q<SE){let{n:Y,c:G,ok:J}=ur6($);if(!J||Y>65535)return;if(G<$.length&&$[G]==="."){if(X<0&&Q!=SE-ii)return;if(Q+ii>SE)return;let K=Ua1($);if(K===void 0)return;Z[Q]=K[12],Z[Q+1]=K[13],Z[Q+2]=K[14],Z[Q+3]=K[15],$="",Q+=ii;break}if(Z[Q]=Y>>8,Z[Q+1]=Y,Q+=2,$=$.substring(G),$.length===0)break;if($[0]!==":"||$.length==1)return;if($=$.substring(1),$[0]===":"){if(X>=0)return;if(X=Q,$=$.substring(1),$.length===0)break}}if($.length!==0)return;if(Q<SE){if(X<0)return;let Y=SE-Q;for(let G=Q-1;G>=X;G--)Z[G+Y]=Z[G];for(let G=X+Y-1;G>=X;G--)Z[G]=0}else if(X>=0)return;return Z}function hr6($){let Z=0,X=0;for(Z=0;Z<$.length&&oZ0<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=Ha1;Z++)if(X=X*10+($.charCodeAt(Z)-oZ0),X>=zn0)return{n:zn0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:X,c:Z,ok:!0}}function ur6($){let Z=0,X=0;for(X=0;X<$.length;X++){if(oZ0<=$.charCodeAt(X)&&$.charCodeAt(X)<=Ha1)Z*=16,Z+=$.charCodeAt(X)-oZ0;else if(Wa1<=$.charCodeAt(X)&&$.charCodeAt(X)<=br6)Z*=16,Z+=$.charCodeAt(X)-Wa1+10;else if(Ka1<=$.charCodeAt(X)&&$.charCodeAt(X)<=fr6)Z*=16,Z+=$.charCodeAt(X)-Ka1+10;else break;if(Z>=zn0)return{n:0,c:X,ok:!1}}if(X===0)return{n:0,c:X,ok:!1};return{n:Z,c:X,ok:!0}}});var Mn0=v((La1)=>{Object.defineProperty(La1,"__esModule",{value:!0});La1.Servers=La1.ServerImpl=void 0;La1.isIPV4OrHostname=Oa1;La1.hostPort=qn0;var An0=kE(),Tn0=hJ(),Rn0=Pn0(),mr6=rB(),ir6=ZG();function Oa1($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function In0($){return!Oa1($)}function nr6($){let X=$.toUpperCase().indexOf("::FFFF:");if(X!==-1&&$.indexOf(".")!==-1){let Q=$.substring(X+7);return Q=Q.replace("[",""),Q.replace("]","")}return $}function qn0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=nr6($),In0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=In0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),X=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):mr6.DEFAULT_PORT,Y=new URL(`${X===80?"https":"http"}://${$}`);Y.port=`${X}`;let G=Y.hostname;if(G.charAt(0)==="[")G=G.substring(1,G.length-1);return{listen:Y.host,hostname:G,port:X}}class rb{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let X=qn0($);this.listen=X.listen,this.hostname=X.hostname,this.port=X.port,this.didConnect=!1,this.reconnects=0,this.lastConnect=0,this.gossiped=Z}toString(){return this.listen}async resolve($){if(!$.fn||$.resolve===!1)return[this];let Z=[];if((0,Rn0.isIP)(this.hostname))return[this];else{let X=await $.fn(this.hostname);if($.debug)console.log(`resolve ${this.hostname} = ${X.join(",")}`);for(let Q of X){let Y=this.port===80?"https":"http",G=new URL(`${Y}://${In0(Q)?"["+Q+"]":Q}`);G.port=`${this.port}`;let J=new rb(G.host,!1);J.tlsName=this.hostname,Z.push(J)}}if($.randomize)(0,Tn0.shuffle)(Z);return this.resolves=Z,Z}}La1.ServerImpl=rb;class rZ0{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw ir6.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,An0.getUrlParseFn)(),X=new Map;for(let Y of this.servers)X.set(Y.listen,Y);let Q=[];for(let Y of $){Y=Z?Z(Y):Y;let{listen:G}=qn0(Y),J=X.get(G);if(J)J.gossiped=!1,Q.push(J);else Q.push(new rb(Y))}if(this.randomize)(0,Tn0.shuffle)(Q);if(this.servers=Q,this.currentServer===void 0||!Q.includes(this.currentServer))this.currentServer=Q[0],this.firstSelect=!0}clear(){this.servers.length=0}updateTLSName(){let $=this.getCurrentServer();if(!(0,Rn0.isIP)($.hostname))this.tlsName=$.hostname,this.servers.forEach((Z)=>{if(Z.gossiped)Z.tlsName=this.tlsName})}getCurrentServer(){return this.currentServer}addServer($,Z=!1){let X=(0,An0.getUrlParseFn)();$=X?X($):$;let Q=new rb($,Z);if((0,Rn0.isIP)(Q.hostname))Q.tlsName=this.tlsName;this.servers.push(Q)}selectServer(){if(this.firstSelect)return this.firstSelect=!1,this.currentServer;let $=this.servers.shift();if($)this.servers.push($),this.currentServer=$;return $}removeCurrentServer(){this.removeServer(this.currentServer)}removeServer($){if($){let Z=this.servers.indexOf($);this.servers.splice(Z,1)}}snapshot(){return rZ0.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return rZ0.freezeAll([$,...this.servers.slice(0,Z),...this.servers.slice(Z+1)])}static freezeAll($){return $.map((Z)=>Object.freeze({hostname:Z.hostname,port:Z.port,listen:Z.listen,src:Z.src,tlsName:Z.tlsName,reconnects:Z.reconnects,lastConnect:Z.lastConnect,gossiped:Z.gossiped,didConnect:Z.didConnect}))}find($){return this.servers.find((Z)=>Z.listen===$.listen)}setCurrent($){this.currentServer=$}length(){return this.servers.length}next(){return this.servers.length?this.servers[0]:void 0}getServers(){return this.servers}update($,Z){let X=[],Q=[],Y=(0,An0.getUrlParseFn)(),G=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new rb(K,!0);G.set(K,W)});let J=[];if(this.servers.forEach((K,W)=>{let H=K.listen;if(K.gossiped&&this.currentServer.listen!==H&&G.get(H)===void 0)J.push(W);G.delete(H)}),J.reverse(),J.forEach((K)=>{let W=this.servers.splice(K,1);Q=Q.concat(W[0].listen)}),G.forEach((K,W)=>{this.servers.push(K),X.push(W)}),this.randomize&&X.length>0){let K=this.currentServer,W=this.servers.filter((H)=>H!==K);(0,Tn0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:X,deleted:Q}}}La1.Servers=rZ0});var aZ0=v((ja1)=>{Object.defineProperty(ja1,"__esModule",{value:!0});ja1.QueuedIteratorImpl=void 0;var Vn0=hJ(),Da1=ZG();class Ea1{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,Vn0.deferred)(),this.yields=[],this.iterClosed=(0,Vn0.deferred)(),this.time=0,this.yielding=!1,this.didBreak=!1,this.profile=!1}[Symbol.asyncIterator](){return this.iterate()}push($){if(this.done)return;if(this.didBreak){if(typeof $==="function"){let Z=$;try{Z()}catch(X){}}return}if(typeof $==="function")this.pendingFiltered++;this.yields.push($),this.signal.resolve()}async*iterate(){if(this.noIterator)throw new Da1.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new Da1.InvalidOperationError("iterator is already yielding");this.yielding=!0;try{while(!0){if(this.yields.length===0)await this.signal;if(this.err)throw this.err;let $=this.yields;this.inflight=$.length,this.yields=[];for(let Z=0;Z<$.length;Z++){if(typeof $[Z]==="function"){this.pendingFiltered--;let Q=$[Z];try{Q()}catch(Y){throw Y}if(this.err)throw this.err;continue}this.processed++,this.inflight--;let X=this.profile?Date.now():0;yield $[Z],this.time=this.profile?Date.now()-X:0}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,Vn0.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}}ja1.QueuedIteratorImpl=Ea1});var kn0=v((Ta1)=>{Object.defineProperty(Ta1,"__esModule",{value:!0});Ta1.MuxSubscription=void 0;var rr6=rB(),Pa1=ZG();class Aa1{baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,rr6.createInbox)($)}.`,this.baseInbox}add($){if(!isNaN($.received))$.received=0;this.reqs.set($.token,$)}get($){return this.reqs.get($)}cancel($){this.reqs.delete($.token)}getToken($){let Z=$.subject||"";if(Z.indexOf(this.baseInbox)===0)return Z.substring(this.baseInbox.length);return null}all(){return Array.from(this.reqs.values())}handleError($,Z){if($)return this.all().forEach((X)=>{X.resolver(Z,{})}),!0;if(Z.operation==="publish"){let X=this.all().find((Q)=>{return Q.requestSubject===Z.subject});if(X)return X.resolver(Z,{}),!0}return!1}dispatcher(){return($,Z)=>{let X=this.getToken(Z);if(X){let Q=this.get(X);if(Q){if($===null)$=Z?.data?.length===0&&Z.headers?.code===503?new Pa1.NoRespondersError(Q.requestSubject):null;Q.resolver($,Z)}}}}close(){let $=new Pa1.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}Ta1.MuxSubscription=Aa1});var Sn0=v((qa1)=>{Object.defineProperty(qa1,"__esModule",{value:!0});qa1.Heartbeat=void 0;var ar6=hJ();class Ia1{ph;interval;maxOut;timer;pendings;constructor($,Z,X){this.ph=$,this.interval=Z,this.maxOut=X,this.pendings=[]}start(){this.cancel(),this._schedule()}cancel($){if(this.timer)clearTimeout(this.timer),this.timer=void 0;if(this._reset(),$)this.ph.disconnect()}_schedule(){this.timer=setTimeout(()=>{if(this.ph.dispatchStatus({type:"ping",pendingPings:this.pendings.length+1}),this.pendings.length===this.maxOut){this.cancel(!0);return}let $=(0,ar6.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})}}qa1.Heartbeat=Ia1});var vn0=v((Ca1)=>{Object.defineProperty(Ca1,"__esModule",{value:!0});Ca1.DenoBuffer=Ca1.MAX_SIZE=Ca1.AssertionError=void 0;Ca1.assert=ka1;Ca1.concat=Sa1;Ca1.append=er6;Ca1.readAll=$a6;Ca1.writeAll=Za6;var sr6=$G();class Cn0 extends Error{constructor($){super($);this.name="AssertionError"}}Ca1.AssertionError=Cn0;function ka1($,Z="Assertion failed."){if(!$)throw new Cn0(Z)}var Va1=32768;Ca1.MAX_SIZE=4294967294;function sZ0($,Z,X=0){let Q=Z.byteLength-X;if($.byteLength>Q)$=$.subarray(0,Q);return Z.set($,X),$.byteLength}function Sa1($,Z){if($===void 0&&Z===void 0)return new Uint8Array(0);if($===void 0)return Z;if(Z===void 0)return $;let X=new Uint8Array($.length+Z.length);return X.set($,0),X.set(Z,$.length),X}function er6($,Z){return Sa1($,Uint8Array.of(Z))}class _n0{_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($){ka1($<=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=sZ0(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(sr6.TE.encode($))}write($){let Z=this._grow($.byteLength);return sZ0($,this._buf,Z)}_grow($){let Z=this.length;if(Z===0&&this._off!==0)this.reset();let X=this._tryGrowByReslice($);if(X>=0)return X;let Q=this.capacity;if($<=Math.floor(Q/2)-Z)sZ0(this._buf.subarray(this._off),this._buf);else if(Q+$>Ca1.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*Q+$,Ca1.MAX_SIZE));sZ0(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,Ca1.MAX_SIZE)),Z}grow($){if($<0)throw Error("Buffer._grow: negative count");let Z=this._grow($);this._reslice(Z)}readFrom($){let Z=0,X=new Uint8Array(Va1);while(!0){let Q=this.capacity-this.length<Va1,Y=Q?X:new Uint8Array(this._buf.buffer,this.length),G=$.read(Y);if(G===null)return Z;if(Q)this.write(Y.subarray(0,G));else this._reslice(this.length+G);Z+=G}}}Ca1.DenoBuffer=_n0;function $a6($){let Z=new _n0;return Z.readFrom($),Z.bytes()}function Za6($,Z){let X=0;while(X<Z.length)X+=$.write(Z.subarray(X))}});var bn0=v((ba1)=>{Object.defineProperty(ba1,"__esModule",{value:!0});ba1.cc=ba1.State=ba1.Parser=ba1.Kind=void 0;ba1.describe=Wa6;var xn0=vn0(),fn0=$G();ba1.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function Wa6($){let Z,X="";switch($.kind){case ba1.Kind.MSG:Z="MSG";break;case ba1.Kind.OK:Z="OK";break;case ba1.Kind.ERR:Z="ERR",X=fn0.TD.decode($.data);break;case ba1.Kind.PING:Z="PING";break;case ba1.Kind.PONG:Z="PONG";break;case ba1.Kind.INFO:Z="INFO",X=fn0.TD.decode($.data)}return`${Z}: ${X}`}function va1(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var xa1=48,Ha6=57,ab=67108864;class fa1{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=ba1.State.OP_START,this.as=0,this.drop=0,this.hdr=0}parse($){let Z;for(Z=0;Z<$.length;Z++){let X=$[Z];switch(this.state){case ba1.State.OP_START:switch(X){case ba1.cc.M:case ba1.cc.m:this.state=ba1.State.OP_M,this.hdr=-1,this.ma=va1();break;case ba1.cc.H:case ba1.cc.h:this.state=ba1.State.OP_H,this.hdr=0,this.ma=va1();break;case ba1.cc.P:case ba1.cc.p:this.state=ba1.State.OP_P;break;case ba1.cc.PLUS:this.state=ba1.State.OP_PLUS;break;case ba1.cc.MINUS:this.state=ba1.State.OP_MINUS;break;case ba1.cc.I:case ba1.cc.i:this.state=ba1.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_H:switch(X){case ba1.cc.M:case ba1.cc.m:this.state=ba1.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_M:switch(X){case ba1.cc.S:case ba1.cc.s:this.state=ba1.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_MS:switch(X){case ba1.cc.G:case ba1.cc.g:this.state=ba1.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_MSG:switch(X){case ba1.cc.SPACE:case ba1.cc.TAB:this.state=ba1.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_MSG_SPC:switch(X){case ba1.cc.SPACE:case ba1.cc.TAB:continue;default:this.state=ba1.State.MSG_ARG,this.as=Z}break;case ba1.State.MSG_ARG:switch(X){case ba1.cc.CR:this.drop=1;break;case ba1.cc.NL:{let Q=this.argBuf?this.argBuf.bytes():$.subarray(this.as,Z-this.drop);this.processMsgArgs(Q),this.drop=0,this.as=Z+1,this.state=ba1.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;case ba1.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let Q=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:ba1.Kind.MSG,msg:this.ma,data:Q}),this.argBuf=void 0,this.msgBuf=void 0,this.state=ba1.State.MSG_END}else{let Q=this.ma.size-this.msgBuf.length,Y=$.length-Z;if(Y<Q)Q=Y;if(Q>0)this.msgBuf.write($.subarray(Z,Z+Q)),Z=Z+Q-1;else this.msgBuf.writeByte(X)}else if(Z-this.as>=this.ma.size)this.dispatcher.push({kind:ba1.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=ba1.State.MSG_END;break;case ba1.State.MSG_END:switch(X){case ba1.cc.NL:this.drop=0,this.as=Z+1,this.state=ba1.State.OP_START;break;default:continue}break;case ba1.State.OP_PLUS:switch(X){case ba1.cc.O:case ba1.cc.o:this.state=ba1.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_PLUS_O:switch(X){case ba1.cc.K:case ba1.cc.k:this.state=ba1.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_PLUS_OK:switch(X){case ba1.cc.NL:this.dispatcher.push({kind:ba1.Kind.OK}),this.drop=0,this.state=ba1.State.OP_START;break}break;case ba1.State.OP_MINUS:switch(X){case ba1.cc.E:case ba1.cc.e:this.state=ba1.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_MINUS_E:switch(X){case ba1.cc.R:case ba1.cc.r:this.state=ba1.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_MINUS_ER:switch(X){case ba1.cc.R:case ba1.cc.r:this.state=ba1.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_MINUS_ERR:switch(X){case ba1.cc.SPACE:case ba1.cc.TAB:this.state=ba1.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_MINUS_ERR_SPC:switch(X){case ba1.cc.SPACE:case ba1.cc.TAB:continue;default:this.state=ba1.State.MINUS_ERR_ARG,this.as=Z}break;case ba1.State.MINUS_ERR_ARG:switch(X){case ba1.cc.CR:this.drop=1;break;case ba1.cc.NL:{let Q;if(this.argBuf)Q=this.argBuf.bytes(),this.argBuf=void 0;else Q=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:ba1.Kind.ERR,data:Q}),this.drop=0,this.as=Z+1,this.state=ba1.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(X))}break;case ba1.State.OP_P:switch(X){case ba1.cc.I:case ba1.cc.i:this.state=ba1.State.OP_PI;break;case ba1.cc.O:case ba1.cc.o:this.state=ba1.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_PO:switch(X){case ba1.cc.N:case ba1.cc.n:this.state=ba1.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_PON:switch(X){case ba1.cc.G:case ba1.cc.g:this.state=ba1.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_PONG:switch(X){case ba1.cc.NL:this.dispatcher.push({kind:ba1.Kind.PONG}),this.drop=0,this.state=ba1.State.OP_START;break}break;case ba1.State.OP_PI:switch(X){case ba1.cc.N:case ba1.cc.n:this.state=ba1.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_PIN:switch(X){case ba1.cc.G:case ba1.cc.g:this.state=ba1.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_PING:switch(X){case ba1.cc.NL:this.dispatcher.push({kind:ba1.Kind.PING}),this.drop=0,this.state=ba1.State.OP_START;break}break;case ba1.State.OP_I:switch(X){case ba1.cc.N:case ba1.cc.n:this.state=ba1.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_IN:switch(X){case ba1.cc.F:case ba1.cc.f:this.state=ba1.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_INF:switch(X){case ba1.cc.O:case ba1.cc.o:this.state=ba1.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_INFO:switch(X){case ba1.cc.SPACE:case ba1.cc.TAB:this.state=ba1.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case ba1.State.OP_INFO_SPC:switch(X){case ba1.cc.SPACE:case ba1.cc.TAB:continue;default:this.state=ba1.State.INFO_ARG,this.as=Z}break;case ba1.State.INFO_ARG:switch(X){case ba1.cc.CR:this.drop=1;break;case ba1.cc.NL:{let Q;if(this.argBuf)Q=this.argBuf.bytes(),this.argBuf=void 0;else Q=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:ba1.Kind.INFO,data:Q}),this.drop=0,this.as=Z+1,this.state=ba1.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;default:throw this.fail($.subarray(Z))}}if((this.state===ba1.State.MSG_ARG||this.state===ba1.State.MINUS_ERR_ARG||this.state===ba1.State.INFO_ARG)&&!this.argBuf)this.argBuf=new xn0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===ba1.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new xn0.DenoBuffer($.subarray(this.as))}}cloneMsgArg(){let $=this.ma.subject.length,Z=this.ma.reply?this.ma.reply.length:0,X=new Uint8Array($+Z);if(X.set(this.ma.subject),this.ma.reply)X.set(this.ma.reply,$);if(this.argBuf=new xn0.DenoBuffer(X),this.ma.subject=X.subarray(0,$),this.ma.reply)this.ma.reply=X.subarray($)}processMsgArgs($){if(this.hdr>=0)return this.processHeaderMsgArgs($);let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case ba1.cc.SPACE:case ba1.cc.TAB:case ba1.cc.CR:case ba1.cc.NL:if(X>=0)Z.push($.subarray(X,Q)),X=-1;break;default:if(X<0)X=Q}if(X>=0)Z.push($.subarray(X));switch(Z.length){case 3:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=void 0,this.ma.size=this.protoParseInt(Z[2],ab);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],ab);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}: ${fn0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case ba1.cc.SPACE:case ba1.cc.TAB:case ba1.cc.CR:case ba1.cc.NL:if(X>=0)Z.push($.subarray(X,Q)),X=-1;break;default:if(X<0)X=Q}if(X>=0)Z.push($.subarray(X));switch(Z.length){case 4:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=void 0,this.ma.hdr=this.protoParseInt(Z[2],ab),this.ma.size=this.protoParseInt(Z[3],ab);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],ab),this.ma.size=this.protoParseInt(Z[4],ab);break;default:throw this.fail($,"processHeaderMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail($,"processHeaderMsgArgs Bad or Missing Sid Error");if(this.ma.hdr<0||this.ma.hdr>this.ma.size)throw this.fail($,"processHeaderMsgArgs Bad or Missing Header Size Error");if(this.ma.size<0)throw this.fail($,"processHeaderMsgArgs Bad or Missing Size Error")}protoParseInt($,Z){if($.length===0||$.length>15)return-1;let X=0;for(let Q=0;Q<$.length;Q++){if($[Q]<xa1||$[Q]>Ha6)return-1;X=X*10+($[Q]-xa1)}return Z!==void 0&&X>Z?-1:X}}ba1.Parser=fa1;ba1.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};ba1.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 Z70=v((ga1)=>{Object.defineProperty(ga1,"__esModule",{value:!0});ga1.MsgHdrsImpl=void 0;ga1.canonicalMIMEHeaderKey=gn0;ga1.headers=Ua6;var ya1=$G(),uJ=rB(),$70=ZG();function gn0($){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 $70.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 Ua6($=0,Z=""){if($===0&&Z!=="")throw $70.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw $70.InvalidArgumentError.format("description","is required");return new sb($,Z)}var yn0="NATS/1.0";class sb{_code;headers;_description;constructor($=0,Z=""){this._code=$,this._description=Z,this.headers=new Map}[Symbol.iterator](){return this.headers.entries()}size(){return this.headers.size}equals($){if($&&this.headers.size===$.headers.size&&this._code===$._code){for(let[Z,X]of this.headers){let Q=$.values(Z);if(X.length!==Q.length)return!1;let Y=[...X].sort(),G=[...Q].sort();for(let J=0;J<Y.length;J++)if(Y[J]!==G[J])return!1}return!0}return!1}static decode($){let Z=new sb,Q=ya1.TD.decode($).split(`\r
|
|
1393
1393
|
`),Y=Q[0];if(Y!==yn0){let G=Y.replace(yn0,"").trim();if(G.length>0){if(Z._code=parseInt(G,10),isNaN(Z._code))Z._code=0;let J=Z._code.toString();G=G.replace(J,""),Z._description=G.trim()}}if(Q.length>=1)Q.slice(1).map((G)=>{if(G){let J=G.indexOf(":");if(J>-1){let K=G.slice(0,J),W=G.slice(J+1).trim();Z.append(K,W)}}});return Z}toString(){if(this.headers.size===0&&this._code===0)return"";let $=yn0;if(this._code>0&&this._description!=="")$+=` ${this._code} ${this._description}`;for(let[Z,X]of this.headers)for(let Q=0;Q<X.length;Q++)$=`${$}\r
|
|
1394
1394
|
${Z}: ${X[Q]}`;return`${$}\r
|
|
@@ -2812,7 +2812,7 @@ ${"text"in A?A.text:""}`.trim()}});else z=[{type:"text",text:w},...E];return[...
|
|
|
2812
2812
|
case
|
|
2813
2813
|
when count(distinct up.metadata->'models'->'thinking'->>'provider') = 1
|
|
2814
2814
|
then max(up.metadata->'models'->'thinking'->>'provider')
|
|
2815
|
-
end`.as("provider")]).whereRef("up.thread_id","=","link.thread_id").where("up.kind","=","finish").as("cost"),(J)=>J.onTrue()).select((J)=>["cost.usd as costUsd","cost.provider as costProvider","link.task_board_item_id as taskId","link.thread_id as threadId","link.created_at as createdAt","t.status as status","t.failure_kind as failureKind","t.title as title","t.virtual_mcp_id as virtualMcpId","t.metadata as metadata","t.updated_at as updatedAt","t.last_progress_at as lastProgressAt","lastmsg.payload as lastMessagePayload",J.or([J.exists(J.selectFrom("thread_message_parts as mp").select("mp.id").whereRef("mp.thread_id","=","link.thread_id")),J.exists(J.selectFrom("thread_messages as tm").select("tm.id").whereRef("tm.thread_id","=","link.thread_id"))]).as("hasMessages")]).where("link.organization_id","=",X).where("link.task_board_item_id","in",Q).orderBy("link.created_at","desc").execute(),G=new Map;for(let J of Y){let K={threadId:J.threadId,virtualMcpId:J.virtualMcpId??null,status:J.status??null,failureKind:J.failureKind??null,title:J.title??null,lastMessage:vC8(J.lastMessagePayload),hasPreview:Pp4(J.metadata),hasMessages:!!J.hasMessages,lastActiveAt:Tp4(J.updatedAt,J.lastProgressAt),costUsd:Ap4(J.costUsd),costProvider:J.costProvider??null,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt},W=G.get(J.taskId);if(W)W.push(K);else G.set(J.taskId,[K])}for(let J of Z)J.threads=G.get(J.id)??[]}async attachTags($,Z){let X=Z.map((G)=>G.id),Q=await $.selectFrom("task_board_item_tags as link").innerJoin("organization_tags as tag","tag.id","link.id").select(["link.task_board_item_id as taskId","link.created_by as createdBy","link.created_at as createdAt","tag.id as id","tag.name as name","tag.color as color"]).where("link.task_board_item_id","in",X).orderBy("tag.name","asc").execute(),Y=new Map;for(let G of Q){let J={id:G.id,name:G.name,color:G.color??null,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt},K=Y.get(G.taskId);if(K)K.push(J);else Y.set(G.taskId,[J])}for(let G of Z)G.tags=Y.get(G.id)??[]}async recordActivity($){await this.db.insertInto("task_board_activity").values({id:Y4("act"),task_board_item_id:$.taskBoardItemId,action:$.action,actor_id:$.actorId,data:$.data?JSON.stringify($.data):null,occurred_at:new Date().toISOString()}).execute()}async resolveReviewClaimByToken($,Z){let X=await this.db.selectFrom("task_board_review_claims").select(["reviewer","cycle_at"]).where("task_board_item_id","=",$).where("token","=",Z).executeTakeFirst();return X?{reviewer:X.reviewer,cycleAt:X.cycle_at}:null}async recordActivities($){if($.length===0)return;let Z=new Date().toISOString(),X=[];for(let Q of $)if(!(jp4.has(Q.action)&&await this.touchRecentActivity(Q,Z)))X.push(Q);if(X.length===0)return;await this.db.insertInto("task_board_activity").values(X.map((Q)=>({id:Y4("act"),task_board_item_id:Q.taskBoardItemId,action:Q.action,actor_id:Q.actorId,data:Q.data?JSON.stringify(Q.data):null,occurred_at:Z}))).execute()}async touchRecentActivity($,Z){let X=new Date(Date.parse(Z)-zp4).toISOString();return((await this.db.updateTable("task_board_activity").set({occurred_at:new Date(Z)}).where("id","=",this.db.selectFrom("task_board_activity").select("id").where("task_board_item_id","=",$.taskBoardItemId).where("action","=",$.action).where((Y)=>$.actorId===null?Y("actor_id","is",null):Y("actor_id","=",$.actorId)).where("occurred_at",">=",new Date(X)).orderBy("occurred_at","desc").limit(1)).executeTakeFirst()).numUpdatedRows??0n)>0n}async listActivity($,Z){return(await this.db.selectFrom("task_board_activity as a").innerJoin("task_board_items as item","item.id","a.task_board_item_id").selectAll("a").where("item.organization_id","=",Z).where("a.task_board_item_id","=",$).orderBy("a.occurred_at","asc").execute()).map((Q)=>({id:Q.id,taskBoardItemId:Q.task_board_item_id,action:Q.action,actorId:Q.actor_id,data:typeof Q.data==="string"?JSON.parse(Q.data):Q.data??{},occurredAt:Q.occurred_at instanceof Date?Q.occurred_at.toISOString():Q.occurred_at}))}async hasHumanRejectedDone($,Z){let X=Uw`a.data->>'from'`,Q=Uw`a.data->>'reason'`,Y="a.actor_id";return await this.db.selectFrom("task_board_activity as a").innerJoin("task_board_items as item","item.id","a.task_board_item_id").select("a.id").where("item.organization_id","=",Z).where("a.task_board_item_id","=",$).where("a.action","=","status_changed").where("a.actor_id","is not",null).where(X,"=","done").where(Q,"is",null).limit(1).executeTakeFirst()!==void 0}async listComments($,Z){return(await this.db.selectFrom("task_board_comments as c").innerJoin("task_board_items as item","item.id","c.task_board_item_id").selectAll("c").where("item.organization_id","=",Z).where("c.task_board_item_id","=",$).orderBy("c.created_at","asc").execute()).map((Q)=>jZ1(Q))}async createComment($){if(!await this.db.selectFrom("task_board_items").select("id").where("id","=",$.taskBoardItemId).where("organization_id","=",$.organizationId).executeTakeFirst())return null;let X=null;if($.parentId){let Y=await this.db.selectFrom("task_board_comments").select(["id","parent_id"]).where("id","=",$.parentId).where("task_board_item_id","=",$.taskBoardItemId).executeTakeFirst();if(!Y)return null;X=Y.parent_id??Y.id}let Q=await this.db.insertInto("task_board_comments").values({id:Y4("cmt"),task_board_item_id:$.taskBoardItemId,parent_id:X,author_id:$.authorId,body:$.body}).returningAll().executeTakeFirstOrThrow();return jZ1(Q)}async updateComment($){let Z=await this.commentInOrg($.id,$.organizationId);if(!Z)return null;if($.body!==void 0&&Z.authorId!==$.callerId)return null;if($.resolved!==void 0&&Z.parentId!==null)return null;let X=await this.db.updateTable("task_board_comments").set({...$.body===void 0?{}:{body:$.body},...$.resolved===void 0?{}:{resolved:$.resolved},updated_at:new Date().toISOString()}).where("id","=",$.id).returningAll().executeTakeFirst();return X?jZ1(X):null}async deleteComment($,Z,X){let Q=await this.commentInOrg($,Z);if(!Q)return!1;if(Q.authorId!==X&&Q.authorId!==J4)return!1;return await this.db.deleteFrom("task_board_comments").where("id","=",$).execute(),!0}async commentInOrg($,Z){let X=await this.db.selectFrom("task_board_comments as c").innerJoin("task_board_items as item","item.id","c.task_board_item_id").select(["c.id","c.author_id","c.parent_id"]).where("c.id","=",$).where("item.organization_id","=",Z).executeTakeFirst();return X?{authorId:X.author_id,parentId:X.parent_id}:null}itemFromDbRow($){return{id:$.id,organizationId:$.organization_id,title:$.title,description:$.description,status:$.status,priority:$.priority,assigneeId:$.assignee_id,assignedBy:$.assigned_by,repo:$.repo,dueDate:$.due_date instanceof Date?$.due_date.toISOString():$.due_date,sortOrder:$.sort_order,keySeq:$.key_seq??null,retryAttempts:$.retry_attempts??0,threads:[],tags:[],createdBy:$.created_by,createdAt:$.created_at instanceof Date?$.created_at.toISOString():$.created_at,updatedBy:$.updated_by,updatedAt:$.updated_at instanceof Date?$.updated_at.toISOString():$.updated_at}}}var jp4,zp4=600000,qa;var bH=L(()=>{jK();WQ();h9();BA0();jp4=new Set(["description_changed","title_changed"]);qa=new Set(["completed","failed","expired"])});function xC8($){let Z=$[1],X=$[2],Q=Number($[3]);return{owner:Z,repo:X,number:Q,url:`https://github.com/${Z}/${X}/pull/${Q}`}}function PA0($){let Z=$.length>200000?$.slice(0,200000):$,X=Rp4.exec(Z);if(X&&Number(X[3])>0)return xC8(X);let Q=Ip4.exec(Z);if(Q&&Number(Q[3])>0)return xC8(Q);return null}function fC8($){if($==null)return null;if(typeof $==="string")return PA0($);let Z;try{Z=JSON.stringify($)}catch{return null}return Z?PA0(Z):null}var Rp4,Ip4;var PZ1=L(()=>{Rp4=/https?:\/\/github\.com\/([^/\s"']+)\/([^/\s"']+)\/pull\/(\d+)/,Ip4=/https?:\/\/api\.github\.com\/repos\/([^/\s"']+)\/([^/\s"']+)\/pulls\/(\d+)/});function yC8($){if(bC8.has($.kind??""))return 0;return Sp4($)?Vp4:kp4}function Sp4($){let Z=$.kind??"";if(bC8.has(Z))return!1;if(qp4.has(Z))return!0;let X=$.errorText??"";if(!X)return!1;if(X.includes(dP0))return!0;let Q=X.replace(/https?:\/\/\S+/gi," ");return Mp4.some((Y)=>Y.test(Q))}var qp4,bC8,Mp4,Vp4=3,kp4=1;var gC8=L(()=>{BA0();qp4=new Set(["stall","liveness","projection","abandoned"]),bC8=new Set(["cancelled",...Ra]),Mp4=[/sandbox did not become ready/i,/sandbox (?:provisioning|claim) failed/i,/mcp is unusable/i,/harness_crashed: unexpected eof/i,/too many clients already|timeout exceeded when trying to connect/i,/\b(?:429|503)\b|too many requests|service unavailable/i]});class cC8{listeners=new Map;totalCount=0;strategy=null;started=!1;async start($){if(this.started){if(!$)return;await this.stop()}this.strategy=$,await this.strategy.start((Z,X)=>this.localEmit(Z,X)),this.started=!0}async stop(){if(!this.started||!this.strategy)return;await this.strategy.stop(),this.started=!1}add($){if(this.totalCount>=uC8)return console.warn(`[SSEHub] Total connection limit reached (${uC8})`),null;let Z=this.listeners.get($.organizationId);if(!Z)Z=new Map,this.listeners.set($.organizationId,Z);if(Z.size>=hC8)return console.warn(`[SSEHub] Per-org connection limit reached for ${$.organizationId} (${hC8})`),null;return Z.set($.id,$),this.totalCount++,$.id}remove($,Z){let X=this.listeners.get($);if(!X)return;if(X.delete(Z)){if(this.totalCount--,X.size===0)this.listeners.delete($)}}emit($,Z){if(this.strategy)this.strategy.broadcast($,Z);else this.localEmit($,Z)}countForOrg($){return this.listeners.get($)?.size??0}get count(){return this.totalCount}localEmit($,Z){let X=this.listeners.get($);if(!X||X.size===0)return;for(let Q of X.values()){if(Q.typePatterns&&!Cp4(Z.type,Q.typePatterns))continue;try{Q.push(Z)}catch{this.remove($,Q.id)}}}}function Cp4($,Z){for(let X of Z){if(X===$)return!0;if(X.endsWith(".*")){let Q=X.slice(0,-1);if($.startsWith(Q))return!0}}return!1}var hC8=50,uC8=500,I9;var AA0=L(()=>{h$();I9=new cC8;R8.createObservableGauge("sse_hub.connections",{description:"Active SSE listeners held by this pod",unit:"{connections}"}).addCallback(($)=>$.observe(I9.count))});import{z as TA0}from"zod";async function p$($,Z){try{await $.storage.taskBoard.recordActivity(Z)}catch(X){console.error("[task-board] activity log write failed",X)}}async function lC8($,Z){if(Z.length===0)return;try{await $.storage.taskBoard.recordActivities(Z)}catch(X){console.error("[task-board] activity log write failed",X)}}var AZ1;var VQ=L(()=>{n0();vK();AZ1=m({name:"TASK_BOARD_ACTIVITY_LIST",description:"List a task board item's change history (timeline, oldest first).",annotations:{title:"List Task Activity",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:TA0.object({taskBoardItemId:TA0.string()}),outputSchema:TA0.object({activity:TA0.array(eq8)}),handler:async($,Z)=>{G0(Z),await Z.access.check();let X=Z.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");return{activity:await Z.storage.taskBoard.listActivity($.taskBoardItemId,X)}}})});async function yH($,Z){let X=await $.selectFrom("organization").select(["id","slug","name"]).where("id","=",Z).executeTakeFirst();if(!X)return null;let Q=await t3.create();return Q.organization={id:X.id,slug:X.slug,name:X.name},Bw(Q,{id:X.id,slug:X.slug}),Q}var Iu=L(()=>{jv()});function Ma($){return $ instanceof Date?$.toISOString():String($)}class zv{db;vault;constructor($,Z){this.db=$;this.vault=Z}async toEntity($){return{id:$.id,organizationId:$.organization_id,siteUrl:$.site_url,email:$.email,apiToken:await this.vault.decrypt($.api_token),boardId:$.board_id,boardName:$.board_name,statusMapping:typeof $.status_mapping==="string"?JSON.parse($.status_mapping):$.status_mapping,jqlFilter:$.jql_filter,autoDelegate:$.auto_delegate,webhookSecret:$.webhook_secret,enabled:$.enabled,lastSyncedAt:$.last_synced_at?Ma($.last_synced_at):null,lastSyncError:$.last_sync_error,createdBy:$.created_by,createdAt:Ma($.created_at),updatedAt:Ma($.updated_at)}}async getByOrg($){let Z=await this.db.selectFrom("org_jira_integrations").selectAll().where("organization_id","=",$).executeTakeFirst();return Z?this.toEntity(Z):null}async upsert($){let Z=await this.vault.encrypt($.apiToken),X=await this.db.insertInto("org_jira_integrations").values({organization_id:$.organizationId,site_url:$.siteUrl,email:$.email,api_token:Z,board_id:$.boardId,board_name:$.boardName,status_mapping:JSON.stringify($.statusMapping),jql_filter:$.jqlFilter,auto_delegate:$.autoDelegate,enabled:$.enabled,created_by:$.createdBy}).onConflict((Q)=>Q.column("organization_id").doUpdateSet({site_url:$.siteUrl,email:$.email,api_token:Z,board_id:$.boardId,board_name:$.boardName,status_mapping:JSON.stringify($.statusMapping),jql_filter:$.jqlFilter,auto_delegate:$.autoDelegate,enabled:$.enabled,updated_at:new Date})).returningAll().executeTakeFirstOrThrow();return this.toEntity(X)}async getByWebhookSecret($){let Z=await this.db.selectFrom("org_jira_integrations").selectAll().where("webhook_secret","=",$).executeTakeFirst();return Z?this.toEntity(Z):null}async delete($){return(await this.db.deleteFrom("org_jira_integrations").where("organization_id","=",$).executeTakeFirst()).numDeletedRows>0n}async listEnabledIds(){return(await this.db.selectFrom("org_jira_integrations").select("id").where("enabled","=",!0).orderBy("created_at","asc").execute()).map((Z)=>Z.id)}async getById($){let Z=await this.db.selectFrom("org_jira_integrations").selectAll().where("id","=",$).executeTakeFirst();return Z?this.toEntity(Z):null}async recordSyncResult($,Z){await this.db.updateTable("org_jira_integrations").set({last_sync_error:Z.error,...Z.watermark?{last_synced_at:Z.watermark}:{},updated_at:new Date}).where("id","=",$).execute()}async getLinksByIssueIds($,Z){if(Z.length===0)return new Map;let X=await this.db.selectFrom("task_board_item_jira_links").selectAll().where("organization_id","=",$).where("jira_issue_id","in",Z).execute();return new Map(X.map((Q)=>[Q.jira_issue_id,{itemId:Q.item_id,jiraIssueId:Q.jira_issue_id,jiraIssueKey:Q.jira_issue_key,jiraUpdatedAt:Ma(Q.jira_updated_at),jiraStatus:Q.jira_status}]))}async createLink($){await this.db.insertInto("task_board_item_jira_links").values({item_id:$.itemId,organization_id:$.organizationId,jira_issue_id:$.jiraIssueId,jira_issue_key:$.jiraIssueKey,jira_updated_at:$.jiraUpdatedAt,jira_status:$.jiraStatus}).execute()}async touchLink($,Z){await this.db.updateTable("task_board_item_jira_links").set({...Z.jiraUpdatedAt!==void 0?{jira_updated_at:Z.jiraUpdatedAt}:{},...Z.jiraStatus!==void 0?{jira_status:Z.jiraStatus}:{}}).where("item_id","=",$).execute()}async getLinkByItemId($,Z){let X=await this.db.selectFrom("task_board_item_jira_links").selectAll().where("item_id","=",$).where("organization_id","=",Z).executeTakeFirst();if(!X)return null;return{itemId:X.item_id,jiraIssueId:X.jira_issue_id,jiraIssueKey:X.jira_issue_key,jiraUpdatedAt:Ma(X.jira_updated_at),jiraStatus:X.jira_status}}async knownJiraCommentIds($,Z){if(Z.length===0)return new Set;let X=await this.db.selectFrom("task_board_comment_jira_links").select("jira_comment_id").where("organization_id","=",$).where("jira_comment_id","in",Z).execute();return new Set(X.map((Q)=>Q.jira_comment_id))}async hasCommentLink($){return await this.db.selectFrom("task_board_comment_jira_links").select("comment_id").where("comment_id","=",$).executeTakeFirst()!==void 0}async createCommentLink($){await this.db.insertInto("task_board_comment_jira_links").values({comment_id:$.commentId,organization_id:$.organizationId,jira_comment_id:$.jiraCommentId}).execute()}}function nC8($,Z=new Map){let X=[],Q=(G)=>hp4(G,Z,X),Y=pC8($).map((G)=>{if(G.type==="code")return`\`\`\`${G.lang}
|
|
2815
|
+
end`.as("provider")]).whereRef("up.thread_id","=","link.thread_id").where("up.kind","=","finish").as("cost"),(J)=>J.onTrue()).select((J)=>["cost.usd as costUsd","cost.provider as costProvider","link.task_board_item_id as taskId","link.thread_id as threadId","link.created_at as createdAt","t.status as status","t.failure_kind as failureKind","t.title as title","t.virtual_mcp_id as virtualMcpId","t.metadata as metadata","t.updated_at as updatedAt","t.last_progress_at as lastProgressAt","lastmsg.payload as lastMessagePayload",J.or([J.exists(J.selectFrom("thread_message_parts as mp").select("mp.id").whereRef("mp.thread_id","=","link.thread_id")),J.exists(J.selectFrom("thread_messages as tm").select("tm.id").whereRef("tm.thread_id","=","link.thread_id"))]).as("hasMessages")]).where("link.organization_id","=",X).where("link.task_board_item_id","in",Q).orderBy("link.created_at","desc").execute(),G=new Map;for(let J of Y){let K={threadId:J.threadId,virtualMcpId:J.virtualMcpId??null,status:J.status??null,failureKind:J.failureKind??null,title:J.title??null,lastMessage:vC8(J.lastMessagePayload),hasPreview:Pp4(J.metadata),hasMessages:!!J.hasMessages,lastActiveAt:Tp4(J.updatedAt,J.lastProgressAt),costUsd:Ap4(J.costUsd),costProvider:J.costProvider??null,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt},W=G.get(J.taskId);if(W)W.push(K);else G.set(J.taskId,[K])}for(let J of Z)J.threads=G.get(J.id)??[]}async attachTags($,Z){let X=Z.map((G)=>G.id),Q=await $.selectFrom("task_board_item_tags as link").innerJoin("organization_tags as tag","tag.id","link.id").select(["link.task_board_item_id as taskId","link.created_by as createdBy","link.created_at as createdAt","tag.id as id","tag.name as name","tag.color as color"]).where("link.task_board_item_id","in",X).orderBy("tag.name","asc").execute(),Y=new Map;for(let G of Q){let J={id:G.id,name:G.name,color:G.color??null,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt},K=Y.get(G.taskId);if(K)K.push(J);else Y.set(G.taskId,[J])}for(let G of Z)G.tags=Y.get(G.id)??[]}async recordActivity($){await this.db.insertInto("task_board_activity").values({id:Y4("act"),task_board_item_id:$.taskBoardItemId,action:$.action,actor_id:$.actorId,data:$.data?JSON.stringify($.data):null,occurred_at:new Date().toISOString()}).execute()}async resolveReviewClaimByToken($,Z){let X=await this.db.selectFrom("task_board_review_claims").select(["reviewer","cycle_at"]).where("task_board_item_id","=",$).where("token","=",Z).executeTakeFirst();return X?{reviewer:X.reviewer,cycleAt:X.cycle_at}:null}async recordActivities($){if($.length===0)return;let Z=new Date().toISOString(),X=[];for(let Q of $)if(!(jp4.has(Q.action)&&await this.touchRecentActivity(Q,Z)))X.push(Q);if(X.length===0)return;await this.db.insertInto("task_board_activity").values(X.map((Q)=>({id:Y4("act"),task_board_item_id:Q.taskBoardItemId,action:Q.action,actor_id:Q.actorId,data:Q.data?JSON.stringify(Q.data):null,occurred_at:Z}))).execute()}async touchRecentActivity($,Z){let X=new Date(Date.parse(Z)-zp4).toISOString();return((await this.db.updateTable("task_board_activity").set({occurred_at:new Date(Z)}).where("id","=",this.db.selectFrom("task_board_activity").select("id").where("task_board_item_id","=",$.taskBoardItemId).where("action","=",$.action).where((Y)=>$.actorId===null?Y("actor_id","is",null):Y("actor_id","=",$.actorId)).where("occurred_at",">=",new Date(X)).orderBy("occurred_at","desc").limit(1)).executeTakeFirst()).numUpdatedRows??0n)>0n}async listActivity($,Z){return(await this.db.selectFrom("task_board_activity as a").innerJoin("task_board_items as item","item.id","a.task_board_item_id").selectAll("a").where("item.organization_id","=",Z).where("a.task_board_item_id","=",$).orderBy("a.occurred_at","asc").execute()).map((Q)=>({id:Q.id,taskBoardItemId:Q.task_board_item_id,action:Q.action,actorId:Q.actor_id,data:typeof Q.data==="string"?JSON.parse(Q.data):Q.data??{},occurredAt:Q.occurred_at instanceof Date?Q.occurred_at.toISOString():Q.occurred_at}))}async hasHumanRejectedDone($,Z){let X=Uw`a.data->>'from'`,Q=Uw`a.data->>'reason'`,Y="a.actor_id";return await this.db.selectFrom("task_board_activity as a").innerJoin("task_board_items as item","item.id","a.task_board_item_id").select("a.id").where("item.organization_id","=",Z).where("a.task_board_item_id","=",$).where("a.action","=","status_changed").where("a.actor_id","is not",null).where(X,"=","done").where(Q,"is",null).limit(1).executeTakeFirst()!==void 0}async listComments($,Z){return(await this.db.selectFrom("task_board_comments as c").innerJoin("task_board_items as item","item.id","c.task_board_item_id").selectAll("c").where("item.organization_id","=",Z).where("c.task_board_item_id","=",$).orderBy("c.created_at","asc").execute()).map((Q)=>jZ1(Q))}async createComment($){if(!await this.db.selectFrom("task_board_items").select("id").where("id","=",$.taskBoardItemId).where("organization_id","=",$.organizationId).executeTakeFirst())return null;let X=null;if($.parentId){let Y=await this.db.selectFrom("task_board_comments").select(["id","parent_id"]).where("id","=",$.parentId).where("task_board_item_id","=",$.taskBoardItemId).executeTakeFirst();if(!Y)return null;X=Y.parent_id??Y.id}let Q=await this.db.insertInto("task_board_comments").values({id:Y4("cmt"),task_board_item_id:$.taskBoardItemId,parent_id:X,author_id:$.authorId,body:$.body}).returningAll().executeTakeFirstOrThrow();return jZ1(Q)}async updateComment($){let Z=await this.commentInOrg($.id,$.organizationId);if(!Z)return null;if($.body!==void 0&&Z.authorId!==$.callerId)return null;if($.resolved!==void 0&&Z.parentId!==null)return null;let X=await this.db.updateTable("task_board_comments").set({...$.body===void 0?{}:{body:$.body},...$.resolved===void 0?{}:{resolved:$.resolved},updated_at:new Date().toISOString()}).where("id","=",$.id).returningAll().executeTakeFirst();return X?jZ1(X):null}async deleteComment($,Z,X){let Q=await this.commentInOrg($,Z);if(!Q)return!1;if(Q.authorId!==X&&Q.authorId!==J4)return!1;return await this.db.deleteFrom("task_board_comments").where("id","=",$).execute(),!0}async commentInOrg($,Z){let X=await this.db.selectFrom("task_board_comments as c").innerJoin("task_board_items as item","item.id","c.task_board_item_id").select(["c.id","c.author_id","c.parent_id"]).where("c.id","=",$).where("item.organization_id","=",Z).executeTakeFirst();return X?{authorId:X.author_id,parentId:X.parent_id}:null}itemFromDbRow($){return{id:$.id,organizationId:$.organization_id,title:$.title,description:$.description,status:$.status,priority:$.priority,assigneeId:$.assignee_id,assignedBy:$.assigned_by,repo:$.repo,dueDate:$.due_date instanceof Date?$.due_date.toISOString():$.due_date,sortOrder:$.sort_order,keySeq:$.key_seq,retryAttempts:$.retry_attempts??0,threads:[],tags:[],createdBy:$.created_by,createdAt:$.created_at instanceof Date?$.created_at.toISOString():$.created_at,updatedBy:$.updated_by,updatedAt:$.updated_at instanceof Date?$.updated_at.toISOString():$.updated_at}}}var jp4,zp4=600000,qa;var bH=L(()=>{jK();WQ();h9();BA0();jp4=new Set(["description_changed","title_changed"]);qa=new Set(["completed","failed","expired"])});function xC8($){let Z=$[1],X=$[2],Q=Number($[3]);return{owner:Z,repo:X,number:Q,url:`https://github.com/${Z}/${X}/pull/${Q}`}}function PA0($){let Z=$.length>200000?$.slice(0,200000):$,X=Rp4.exec(Z);if(X&&Number(X[3])>0)return xC8(X);let Q=Ip4.exec(Z);if(Q&&Number(Q[3])>0)return xC8(Q);return null}function fC8($){if($==null)return null;if(typeof $==="string")return PA0($);let Z;try{Z=JSON.stringify($)}catch{return null}return Z?PA0(Z):null}var Rp4,Ip4;var PZ1=L(()=>{Rp4=/https?:\/\/github\.com\/([^/\s"']+)\/([^/\s"']+)\/pull\/(\d+)/,Ip4=/https?:\/\/api\.github\.com\/repos\/([^/\s"']+)\/([^/\s"']+)\/pulls\/(\d+)/});function yC8($){if(bC8.has($.kind??""))return 0;return Sp4($)?Vp4:kp4}function Sp4($){let Z=$.kind??"";if(bC8.has(Z))return!1;if(qp4.has(Z))return!0;let X=$.errorText??"";if(!X)return!1;if(X.includes(dP0))return!0;let Q=X.replace(/https?:\/\/\S+/gi," ");return Mp4.some((Y)=>Y.test(Q))}var qp4,bC8,Mp4,Vp4=3,kp4=1;var gC8=L(()=>{BA0();qp4=new Set(["stall","liveness","projection","abandoned"]),bC8=new Set(["cancelled",...Ra]),Mp4=[/sandbox did not become ready/i,/sandbox (?:provisioning|claim) failed/i,/mcp is unusable/i,/harness_crashed: unexpected eof/i,/too many clients already|timeout exceeded when trying to connect/i,/\b(?:429|503)\b|too many requests|service unavailable/i]});class cC8{listeners=new Map;totalCount=0;strategy=null;started=!1;async start($){if(this.started){if(!$)return;await this.stop()}this.strategy=$,await this.strategy.start((Z,X)=>this.localEmit(Z,X)),this.started=!0}async stop(){if(!this.started||!this.strategy)return;await this.strategy.stop(),this.started=!1}add($){if(this.totalCount>=uC8)return console.warn(`[SSEHub] Total connection limit reached (${uC8})`),null;let Z=this.listeners.get($.organizationId);if(!Z)Z=new Map,this.listeners.set($.organizationId,Z);if(Z.size>=hC8)return console.warn(`[SSEHub] Per-org connection limit reached for ${$.organizationId} (${hC8})`),null;return Z.set($.id,$),this.totalCount++,$.id}remove($,Z){let X=this.listeners.get($);if(!X)return;if(X.delete(Z)){if(this.totalCount--,X.size===0)this.listeners.delete($)}}emit($,Z){if(this.strategy)this.strategy.broadcast($,Z);else this.localEmit($,Z)}countForOrg($){return this.listeners.get($)?.size??0}get count(){return this.totalCount}localEmit($,Z){let X=this.listeners.get($);if(!X||X.size===0)return;for(let Q of X.values()){if(Q.typePatterns&&!Cp4(Z.type,Q.typePatterns))continue;try{Q.push(Z)}catch{this.remove($,Q.id)}}}}function Cp4($,Z){for(let X of Z){if(X===$)return!0;if(X.endsWith(".*")){let Q=X.slice(0,-1);if($.startsWith(Q))return!0}}return!1}var hC8=50,uC8=500,I9;var AA0=L(()=>{h$();I9=new cC8;R8.createObservableGauge("sse_hub.connections",{description:"Active SSE listeners held by this pod",unit:"{connections}"}).addCallback(($)=>$.observe(I9.count))});import{z as TA0}from"zod";async function p$($,Z){try{await $.storage.taskBoard.recordActivity(Z)}catch(X){console.error("[task-board] activity log write failed",X)}}async function lC8($,Z){if(Z.length===0)return;try{await $.storage.taskBoard.recordActivities(Z)}catch(X){console.error("[task-board] activity log write failed",X)}}var AZ1;var VQ=L(()=>{n0();vK();AZ1=m({name:"TASK_BOARD_ACTIVITY_LIST",description:"List a task board item's change history (timeline, oldest first).",annotations:{title:"List Task Activity",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:TA0.object({taskBoardItemId:TA0.string()}),outputSchema:TA0.object({activity:TA0.array(eq8)}),handler:async($,Z)=>{G0(Z),await Z.access.check();let X=Z.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");return{activity:await Z.storage.taskBoard.listActivity($.taskBoardItemId,X)}}})});async function yH($,Z){let X=await $.selectFrom("organization").select(["id","slug","name"]).where("id","=",Z).executeTakeFirst();if(!X)return null;let Q=await t3.create();return Q.organization={id:X.id,slug:X.slug,name:X.name},Bw(Q,{id:X.id,slug:X.slug}),Q}var Iu=L(()=>{jv()});function Ma($){return $ instanceof Date?$.toISOString():String($)}class zv{db;vault;constructor($,Z){this.db=$;this.vault=Z}async toEntity($){return{id:$.id,organizationId:$.organization_id,siteUrl:$.site_url,email:$.email,apiToken:await this.vault.decrypt($.api_token),boardId:$.board_id,boardName:$.board_name,statusMapping:typeof $.status_mapping==="string"?JSON.parse($.status_mapping):$.status_mapping,jqlFilter:$.jql_filter,autoDelegate:$.auto_delegate,webhookSecret:$.webhook_secret,enabled:$.enabled,lastSyncedAt:$.last_synced_at?Ma($.last_synced_at):null,lastSyncError:$.last_sync_error,createdBy:$.created_by,createdAt:Ma($.created_at),updatedAt:Ma($.updated_at)}}async getByOrg($){let Z=await this.db.selectFrom("org_jira_integrations").selectAll().where("organization_id","=",$).executeTakeFirst();return Z?this.toEntity(Z):null}async upsert($){let Z=await this.vault.encrypt($.apiToken),X=await this.db.insertInto("org_jira_integrations").values({organization_id:$.organizationId,site_url:$.siteUrl,email:$.email,api_token:Z,board_id:$.boardId,board_name:$.boardName,status_mapping:JSON.stringify($.statusMapping),jql_filter:$.jqlFilter,auto_delegate:$.autoDelegate,enabled:$.enabled,created_by:$.createdBy}).onConflict((Q)=>Q.column("organization_id").doUpdateSet({site_url:$.siteUrl,email:$.email,api_token:Z,board_id:$.boardId,board_name:$.boardName,status_mapping:JSON.stringify($.statusMapping),jql_filter:$.jqlFilter,auto_delegate:$.autoDelegate,enabled:$.enabled,updated_at:new Date})).returningAll().executeTakeFirstOrThrow();return this.toEntity(X)}async getByWebhookSecret($){let Z=await this.db.selectFrom("org_jira_integrations").selectAll().where("webhook_secret","=",$).executeTakeFirst();return Z?this.toEntity(Z):null}async delete($){return(await this.db.deleteFrom("org_jira_integrations").where("organization_id","=",$).executeTakeFirst()).numDeletedRows>0n}async listEnabledIds(){return(await this.db.selectFrom("org_jira_integrations").select("id").where("enabled","=",!0).orderBy("created_at","asc").execute()).map((Z)=>Z.id)}async getById($){let Z=await this.db.selectFrom("org_jira_integrations").selectAll().where("id","=",$).executeTakeFirst();return Z?this.toEntity(Z):null}async recordSyncResult($,Z){await this.db.updateTable("org_jira_integrations").set({last_sync_error:Z.error,...Z.watermark?{last_synced_at:Z.watermark}:{},updated_at:new Date}).where("id","=",$).execute()}async getLinksByIssueIds($,Z){if(Z.length===0)return new Map;let X=await this.db.selectFrom("task_board_item_jira_links").selectAll().where("organization_id","=",$).where("jira_issue_id","in",Z).execute();return new Map(X.map((Q)=>[Q.jira_issue_id,{itemId:Q.item_id,jiraIssueId:Q.jira_issue_id,jiraIssueKey:Q.jira_issue_key,jiraUpdatedAt:Ma(Q.jira_updated_at),jiraStatus:Q.jira_status}]))}async createLink($){await this.db.insertInto("task_board_item_jira_links").values({item_id:$.itemId,organization_id:$.organizationId,jira_issue_id:$.jiraIssueId,jira_issue_key:$.jiraIssueKey,jira_updated_at:$.jiraUpdatedAt,jira_status:$.jiraStatus}).execute()}async touchLink($,Z){await this.db.updateTable("task_board_item_jira_links").set({...Z.jiraUpdatedAt!==void 0?{jira_updated_at:Z.jiraUpdatedAt}:{},...Z.jiraStatus!==void 0?{jira_status:Z.jiraStatus}:{}}).where("item_id","=",$).execute()}async getLinkByItemId($,Z){let X=await this.db.selectFrom("task_board_item_jira_links").selectAll().where("item_id","=",$).where("organization_id","=",Z).executeTakeFirst();if(!X)return null;return{itemId:X.item_id,jiraIssueId:X.jira_issue_id,jiraIssueKey:X.jira_issue_key,jiraUpdatedAt:Ma(X.jira_updated_at),jiraStatus:X.jira_status}}async knownJiraCommentIds($,Z){if(Z.length===0)return new Set;let X=await this.db.selectFrom("task_board_comment_jira_links").select("jira_comment_id").where("organization_id","=",$).where("jira_comment_id","in",Z).execute();return new Set(X.map((Q)=>Q.jira_comment_id))}async hasCommentLink($){return await this.db.selectFrom("task_board_comment_jira_links").select("comment_id").where("comment_id","=",$).executeTakeFirst()!==void 0}async createCommentLink($){await this.db.insertInto("task_board_comment_jira_links").values({comment_id:$.commentId,organization_id:$.organizationId,jira_comment_id:$.jiraCommentId}).execute()}}function nC8($,Z=new Map){let X=[],Q=(G)=>hp4(G,Z,X),Y=pC8($).map((G)=>{if(G.type==="code")return`\`\`\`${G.lang}
|
|
2816
2816
|
${dC8(G.content)}
|
|
2817
2817
|
\`\`\``;if(G.type==="quote")return iC8(Q(dC8(G.content))).split(`
|
|
2818
2818
|
`).map((J)=>`> ${J}`).join(`
|