decocms 4.204.4 → 4.204.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/client/assets/{AlertCircle-CLwDjqan.js → AlertCircle-eWqfwqSk.js} +1 -1
  2. package/dist/client/assets/{AreaChart-DL1DHWOa.js → AreaChart-DbxPjI7V.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-CvneGBv5.js → ArrowLeft-C4ehrtxf.js} +1 -1
  4. package/dist/client/assets/{ArrowUp-CygGZN4g.js → ArrowUp-CMnSehpv.js} +1 -1
  5. package/dist/client/assets/{ArrowUpRight-aNfoB9Lq.js → ArrowUpRight-BLLXX4u8.js} +1 -1
  6. package/dist/client/assets/{Check-a8I3jhpc.js → Check-BxlNYdyu.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-DSWXFzTf.js → CheckCircle-cTQ5bq1x.js} +1 -1
  8. package/dist/client/assets/{ChevronDown-DrE7NTS8.js → ChevronDown-Bl-gbb5D.js} +1 -1
  9. package/dist/client/assets/{ChevronRight-PXz4dR4y.js → ChevronRight-SVoMdBIr.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-LU8BpIIp.js → ChevronUp-ibUc2L0E.js} +1 -1
  11. package/dist/client/assets/{Copy01-_RKvAUqM.js → Copy01-DnKPK-tE.js} +1 -1
  12. package/dist/client/assets/{CpuChip01-BidOhmLj.js → CpuChip01-DIh6RyIT.js} +1 -1
  13. package/dist/client/assets/{CreditCard01-DQQdJmDs.js → CreditCard01-BKpsuUPO.js} +1 -1
  14. package/dist/client/assets/{DotsVertical-BWWGlbH8.js → DotsVertical-Cyzm9R-X.js} +1 -1
  15. package/dist/client/assets/{Eye-Ch5cbju-.js → Eye-Ho9X48lD.js} +1 -1
  16. package/dist/client/assets/{FilterLines-BH8sGtI7.js → FilterLines-folN2b8B.js} +1 -1
  17. package/dist/client/assets/{Globe01-NhBmyJp-.js → Globe01-CXVmwzl9.js} +1 -1
  18. package/dist/client/assets/{Globe04-f-Y8y_7d.js → Globe04-BTeCuOvT.js} +1 -1
  19. package/dist/client/assets/{HardDrive-CEfXuo0n.js → HardDrive-DpOrGlIE.js} +1 -1
  20. package/dist/client/assets/{Key01-BLFxDVy3.js → Key01-0cL5_CU1.js} +1 -1
  21. package/dist/client/assets/{LayoutLeft-DDfNTLyI.js → LayoutLeft-CmTzi6AP.js} +1 -1
  22. package/dist/client/assets/{LinkExternal01-C4LdTrSB.js → LinkExternal01-DPREIW4g.js} +1 -1
  23. package/dist/client/assets/{LogOut01-BSpBwGxo.js → LogOut01-CgQIS4Bg.js} +1 -1
  24. package/dist/client/assets/{Monitor01-BLikPYTb.js → Monitor01-C5ipg7Jj.js} +1 -1
  25. package/dist/client/assets/{Palette-BA2usggI.js → Palette-DYt2NwzQ.js} +1 -1
  26. package/dist/client/assets/{Play-CYN07-F3.js → Play-Kg5Vs-D9.js} +1 -1
  27. package/dist/client/assets/{Plus-BpKmJFc7.js → Plus-DU-HYvFc.js} +1 -1
  28. package/dist/client/assets/{SearchLg-ChlyGAeB.js → SearchLg-Cx6bc77Z.js} +1 -1
  29. package/dist/client/assets/{SearchMd-KCUx1Zur.js → SearchMd-1D5oC9pM.js} +1 -1
  30. package/dist/client/assets/{Settings02-CPNG5px2.js → Settings02-tG_VFNPX.js} +1 -1
  31. package/dist/client/assets/{Share07-DnE1YwfV.js → Share07-DfnpcKX0.js} +1 -1
  32. package/dist/client/assets/{Shield01-YSJ36m7l.js → Shield01-HgXwoxpt.js} +1 -1
  33. package/dist/client/assets/{Star01-DfUY03yt.js → Star01-B7awJcoe.js} +1 -1
  34. package/dist/client/assets/{Stars01-CWY2mFPR.js → Stars01-fbYgNxrc.js} +1 -1
  35. package/dist/client/assets/{Stars02-B5V0wK0e.js → Stars02-6wQzM7__.js} +1 -1
  36. package/dist/client/assets/{Sun-Ciz3Vrfn.js → Sun-60-McC9m.js} +1 -1
  37. package/dist/client/assets/{SwitchHorizontal01-7f3yJMFU.js → SwitchHorizontal01-BiMRxuc1.js} +1 -1
  38. package/dist/client/assets/{Tool01-BUU5_Hhl.js → Tool01-2Fnfs3Sg.js} +1 -1
  39. package/dist/client/assets/{Tool02-D2aMUoNE.js → Tool02-CzwB6nu-.js} +1 -1
  40. package/dist/client/assets/{Trash01-CD-jecKa.js → Trash01-7WAs2HMG.js} +1 -1
  41. package/dist/client/assets/{TrendUp01-BKn5sb-z.js → TrendUp01-BweYKA9m.js} +1 -1
  42. package/dist/client/assets/{Upload01-Ho5HGV6C.js → Upload01-C519RPqU.js} +1 -1
  43. package/dist/client/assets/{User01-Bot-Ub5E.js → User01-BtEyOyQR.js} +1 -1
  44. package/dist/client/assets/{Users01-CXKW2NQh.js → Users01-DahFJ7T8.js} +1 -1
  45. package/dist/client/assets/{Users03-Pu6UP4H3.js → Users03-DEi8t-_U.js} +1 -1
  46. package/dist/client/assets/{X-B-aSMCE_.js → X-BlINW2QK.js} +1 -1
  47. package/dist/client/assets/{XCircle-ByG9_Y11.js → XCircle-FgU8VviO.js} +1 -1
  48. package/dist/client/assets/{XClose-DLCDgHcS.js → XClose-CHDIM91F.js} +1 -1
  49. package/dist/client/assets/{Zap-9m4eQWnY.js → Zap-Dz9M1aKj.js} +1 -1
  50. package/dist/client/assets/{ZapSquare-CCBBQA1G.js → ZapSquare-Dx83aoUw.js} +1 -1
  51. package/dist/client/assets/{access-gate-BniZ04gL.js → access-gate-DUeHMCJL.js} +1 -1
  52. package/dist/client/assets/{agent-icon-C9oJnQtc.js → agent-icon-BqrlijgG.js} +1 -1
  53. package/dist/client/assets/{agents-list-ay-1kup7.js → agents-list-Dks1TH83.js} +1 -1
  54. package/dist/client/assets/{ai-providers-CRx6Xw78.js → ai-providers-CrYI_ZWx.js} +1 -1
  55. package/dist/client/assets/{alert-Fw9486qZ.js → alert-ClFHrFgQ.js} +1 -1
  56. package/dist/client/assets/{alert-dialog-59_EATuc.js → alert-dialog-JGMCx73v.js} +1 -1
  57. package/dist/client/assets/{app-editor-C4mWLPtw.js → app-editor-Dw3nodLY.js} +1 -1
  58. package/dist/client/assets/{auth-DZaa7ASa.js → auth-H2TVFV6u.js} +1 -1
  59. package/dist/client/assets/{auth-catchall-nzUl3NZl.js → auth-catchall-BrK83AJ6.js} +1 -1
  60. package/dist/client/assets/{auth-entry-D_DwrvLr.js → auth-entry-Dv7Nfcwx.js} +1 -1
  61. package/dist/client/assets/{auth-split-layout-BRy5YrtW.js → auth-split-layout-DsfKdm8n.js} +1 -1
  62. package/dist/client/assets/{authenticate-and-persist-oauth-CoGT21uB.js → authenticate-and-persist-oauth-C73iBGq2.js} +1 -1
  63. package/dist/client/assets/{automation-list-row-p0JuJn0Q.js → automation-list-row-CPAOObj5.js} +1 -1
  64. package/dist/client/assets/{automation-runs-CnjzIHu6.js → automation-runs-CJ1z2l5D.js} +1 -1
  65. package/dist/client/assets/{automations-9f879GwN.js → automations-DcsaA-lY.js} +1 -1
  66. package/dist/client/assets/{avatar-CdTDJuTi.js → avatar-psifjWd8.js} +1 -1
  67. package/dist/client/assets/{badge-DC5e8SSR.js → badge-CM_sNMle.js} +1 -1
  68. package/dist/client/assets/{billing-DrecbvCL.js → billing-BSEdyOaG.js} +1 -1
  69. package/dist/client/assets/{block-document-B5vENTuT.js → block-document-BV7exDpK.js} +1 -1
  70. package/dist/client/assets/{brand-context-Bka9Sxe7.js → brand-context-DUHkau0A.js} +1 -1
  71. package/dist/client/assets/{buckets-C7QHChi_.js → buckets-BTCPzQ3t.js} +1 -1
  72. package/dist/client/assets/{bulk-category-panel-CNOVe4J9.js → bulk-category-panel-GfUWKGsh.js} +1 -1
  73. package/dist/client/assets/{capability-load-error-BRsPZBUV.js → capability-load-error-BTUKh35C.js} +1 -1
  74. package/dist/client/assets/{card-YK7eCYsc.js → card-kNesOblm.js} +1 -1
  75. package/dist/client/assets/{cards-Curj4Plk.js → cards-DOUtV4yv.js} +1 -1
  76. package/dist/client/assets/{category-editor-DCZwHGsL.js → category-editor-CHIrOuxz.js} +1 -1
  77. package/dist/client/assets/{chat-context-CiB9Qaho.js → chat-context-krvM9P8r.js} +1 -1
  78. package/dist/client/assets/{checkbox-1H2tuP9L.js → checkbox-DnHhTMb2.js} +1 -1
  79. package/dist/client/assets/{cli-auth-success-CDqOS7Ka.js → cli-auth-success-CSLgUW7A.js} +1 -1
  80. package/dist/client/assets/{collection-detail-CA0VxXJv.js → collection-detail-C1F41t0k.js} +1 -1
  81. package/dist/client/assets/{collection-display-button-C8L-zdPI.js → collection-display-button-lt-aVeXI.js} +1 -1
  82. package/dist/client/assets/{collection-search-B_hasUTn.js → collection-search-o7R-SAlX.js} +1 -1
  83. package/dist/client/assets/{collection-table-wrapper-5LQFdYcS.js → collection-table-wrapper-DccHk5q4.js} +1 -1
  84. package/dist/client/assets/{collection-tabs-DTazMpFc.js → collection-tabs-oj4yRxGz.js} +1 -1
  85. package/dist/client/assets/{command-nB-niG7s.js → command-DiC1jOiB.js} +1 -1
  86. package/dist/client/assets/{commerce-onboarding-BRCS0Gx1.js → commerce-onboarding-Dz39HUNF.js} +1 -1
  87. package/dist/client/assets/{connect-CHWTbKxl.js → connect-SCerYvnH.js} +1 -1
  88. package/dist/client/assets/{connection-DGEDo3-_.js → connection-BmdBghHx.js} +1 -1
  89. package/dist/client/assets/{connection-card-BoM2MR0J.js → connection-card-DU4NYo9c.js} +1 -1
  90. package/dist/client/assets/{connection-detail-DU1FDraO.js → connection-detail-Ckxj7gV-.js} +1 -1
  91. package/dist/client/assets/{connection-form-helpers-Ck8HGUQ-.js → connection-form-helpers-fQUg-ek4.js} +1 -1
  92. package/dist/client/assets/{connections-2nqtsCYF.js → connections-CC1rsgPk.js} +1 -1
  93. package/dist/client/assets/{decopilot-sse-pool-Dhbu5Ppo.js → decopilot-sse-pool-CdjLMU5s.js} +1 -1
  94. package/dist/client/assets/{dialog-CmZP4D5A.js → dialog-LXxfMOJp.js} +1 -1
  95. package/dist/client/assets/{domain-settings-CkQwSwgb.js → domain-settings-V0hYTXrn.js} +1 -1
  96. package/dist/client/assets/{drawer-0QD5doQJ.js → drawer-CxBcQJHj.js} +1 -1
  97. package/dist/client/assets/{dropdown-menu-BFBMtWK4.js → dropdown-menu-3wNamp2t.js} +1 -1
  98. package/dist/client/assets/{empty-state-DeySldQh.js → empty-state-BmTI25xb.js} +1 -1
  99. package/dist/client/assets/{extract-connection-data-BH3aK-Yx.js → extract-connection-data-D--9jTL4.js} +1 -1
  100. package/dist/client/assets/{file-explorer-svjsWJ3n.js → file-explorer-B8zjZCWP.js} +1 -1
  101. package/dist/client/assets/{file-type-icon-BqWRhkyj.js → file-type-icon-BWnT_spu.js} +1 -1
  102. package/dist/client/assets/{form-LqSl_sFi.js → form-DJ-96uuU.js} +1 -1
  103. package/dist/client/assets/{general-0IBbIuG_.js → general-Yxd9p7rp.js} +1 -1
  104. package/dist/client/assets/{github-repo-picker-C_-6yY0V.js → github-repo-picker-D4THRjhe.js} +1 -1
  105. package/dist/client/assets/{hooks-DhuDE_A9.js → hooks-ZpN0kjJd.js} +1 -1
  106. package/dist/client/assets/{index-DieauBr0.js → index-BeNGkSka.js} +1 -1
  107. package/dist/client/assets/{index-D6-zWqVL.js → index-CCjUfElm.js} +5 -5
  108. package/dist/client/assets/{index-bbuj-c-w.js → index-CHI-j6d0.js} +1 -1
  109. package/dist/client/assets/{index-C3avzDHx.js → index-CK-kdjWE.js} +1 -1
  110. package/dist/client/assets/{index-C1ZmYSCY.js → index-CdBJcGEW.js} +1 -1
  111. package/dist/client/assets/{index-BQPIvu6q.js → index-CkAanTOI.js} +3 -3
  112. package/dist/client/assets/{index-B2Qjuv0n.js → index-CwdrR0b0.js} +1 -1
  113. package/dist/client/assets/{index-N_QjuXD3.js → index-Dnl5KNOU.js} +1 -1
  114. package/dist/client/assets/{index-BN-FiVVX.js → index-T7rSObhh.js} +1 -1
  115. package/dist/client/assets/{index-CS9h5JU_.js → index-UVmHnScN.js} +1 -1
  116. package/dist/client/assets/{index-redirect-Hu073skW.js → index-redirect-CgfTsu31.js} +1 -1
  117. package/dist/client/assets/{input-C8yDY9lk.js → input-Knho6nC6.js} +1 -1
  118. package/dist/client/assets/{integration-icon-BaUl6CFm.js → integration-icon-CWz_OYuW.js} +1 -1
  119. package/dist/client/assets/{invite-member-dialog-BHRXwwy2.js → invite-member-dialog-C-qL0eNL.js} +1 -1
  120. package/dist/client/assets/{label-BAD4kEqD.js → label-Ct9YQMW0.js} +1 -1
  121. package/dist/client/assets/{layout-VkOhGATu.js → layout-BGoQHfF1.js} +1 -1
  122. package/dist/client/assets/{login-e7TXXwGj.js → login-BKQxuIA6.js} +1 -1
  123. package/dist/client/assets/{mcp-oauth-Md2kqf4A.js → mcp-oauth-Dre3B5tB.js} +1 -1
  124. package/dist/client/assets/{members-D8-QKmAG.js → members-C7lgqd3f.js} +1 -1
  125. package/dist/client/assets/{monaco-editor-CdtHHm4l.js → monaco-editor-Con3Mdpi.js} +1 -1
  126. package/dist/client/assets/{monitoring-stats-row-CXqulsbe.js → monitoring-stats-row-CZN4ayFF.js} +1 -1
  127. package/dist/client/assets/{multi-select-CT1Pawgo.js → multi-select-NSzK9XYB.js} +1 -1
  128. package/dist/client/assets/{oauth-callback-DwVRaXoq.js → oauth-callback-D_YdXVSz.js} +1 -1
  129. package/dist/client/assets/{oauth-callback-ai-provider-CkkI30_k.js → oauth-callback-ai-provider-DHc_b0tD.js} +1 -1
  130. package/dist/client/assets/{onboarding-BxHSEgjH.js → onboarding-DD8QhgWU.js} +1 -1
  131. package/dist/client/assets/{org-layout-t8cC_7e6.js → org-layout-DlXNrupp.js} +1 -1
  132. package/dist/client/assets/{organization-choice-B-86_RUX.js → organization-choice-BN9hkWyd.js} +1 -1
  133. package/dist/client/assets/{orgs-BHLTSjUN.js → orgs-CRiNLoOU.js} +1 -1
  134. package/dist/client/assets/{page-seo-form-_5HtAUd5.js → page-seo-form-D4TPw4KE.js} +1 -1
  135. package/dist/client/assets/{popover-JMTSwrJH.js → popover-DUFDlOLM.js} +1 -1
  136. package/dist/client/assets/{post-editor-CuH1gCXp.js → post-editor-DPbUFljg.js} +1 -1
  137. package/dist/client/assets/{primitives-86FnE_kD.js → primitives-DyjBak3l.js} +1 -1
  138. package/dist/client/assets/{profile-Bz4Nc6gQ.js → profile-DdocLxcE.js} +1 -1
  139. package/dist/client/assets/{project-app-view-CFOP98ww.js → project-app-view-CCtPPjzA.js} +1 -1
  140. package/dist/client/assets/record-editor-DYyb0Utb.js +1 -0
  141. package/dist/client/assets/{redirect-editor-Cy1iHGXd.js → redirect-editor-CWEpzn95.js} +1 -1
  142. package/dist/client/assets/registry-BkEdLOdr.js +2 -0
  143. package/dist/client/assets/{registry-layout-DlYJvo7X.js → registry-layout-Bab-n4vf.js} +1 -1
  144. package/dist/client/assets/{reports-B6o4Vnwx.js → reports-CHLr1E7G.js} +1 -1
  145. package/dist/client/assets/{require-capability-BKUCP1Uf.js → require-capability-BsWNOsPS.js} +1 -1
  146. package/dist/client/assets/{required-auth-layout-b-4Q_rMH.js → required-auth-layout-DaunRt4v.js} +1 -1
  147. package/dist/client/assets/{reset-password-C0PyqPpN.js → reset-password-L1il3BP0.js} +1 -1
  148. package/dist/client/assets/{roles-DjKW__k2.js → roles-1sqYhouG.js} +1 -1
  149. package/dist/client/assets/{search-input-DiueVnil.js → search-input-BoXew_-F.js} +1 -1
  150. package/dist/client/assets/{secrets-zrYeWOr6.js → secrets-D8yD7wL8.js} +1 -1
  151. package/dist/client/assets/{sections-editor-DbaQApU1.js → sections-editor-DvTWsIyw.js} +1 -1
  152. package/dist/client/assets/{select-Yc2ul-2A.js → select-4FUAFbRi.js} +1 -1
  153. package/dist/client/assets/{select-model-D3qKg6xE.js → select-model-ByzNpOxs.js} +1 -1
  154. package/dist/client/assets/{self-tool-result-CEYFXzHy.js → self-tool-result-Dv0O_B1Y.js} +1 -1
  155. package/dist/client/assets/{seo-editor-CX1h8UNh.js → seo-editor-D4hYM5HA.js} +1 -1
  156. package/dist/client/assets/{settings-layout-C3ROKTyb.js → settings-layout-Bhznsncx.js} +1 -1
  157. package/dist/client/assets/{settings-section-BIhuJDxL.js → settings-section--ky5ERjY.js} +1 -1
  158. package/dist/client/assets/{shell-controls-UE3WsRFX.js → shell-controls-DpUUTQkW.js} +1 -1
  159. package/dist/client/assets/{shell-layout-DqheaqYW.js → shell-layout-7tWbugO4.js} +1 -1
  160. package/dist/client/assets/{sidebar-CO8U9rir.js → sidebar-BWGUWJ80.js} +1 -1
  161. package/dist/client/assets/{skeleton-C7IHwMSc.js → skeleton-C9qwQDE-.js} +1 -1
  162. package/dist/client/assets/{spinner-D5XQhy9H.js → spinner-B4F1U5XF.js} +1 -1
  163. package/dist/client/assets/{sso-DJ-QXWeN.js → sso-CXd-di1n.js} +1 -1
  164. package/dist/client/assets/{store-CC7E7Tu1.js → store-Bw91J78R.js} +1 -1
  165. package/dist/client/assets/store-registry-DJpGDOnk.js +2 -0
  166. package/dist/client/assets/{studio-tools-DpPixITO.js → studio-tools-aIwwGsW6.js} +1 -1
  167. package/dist/client/assets/{switch-D03IqfLg.js → switch-C-MWWpZy.js} +1 -1
  168. package/dist/client/assets/{synced-repos-7yCajfw3.js → synced-repos-DRu5lhrU.js} +1 -1
  169. package/dist/client/assets/{tab-id-CzlWIgfc.js → tab-id-BV6JPyUs.js} +1 -1
  170. package/dist/client/assets/{table-DU6DW-ob.js → table-BTrk2-0n.js} +1 -1
  171. package/dist/client/assets/{tabs-lj0NLKjL.js → tabs-CUef0A7n.js} +1 -1
  172. package/dist/client/assets/{textarea-CsEJQt5A.js → textarea-BvS1yIDk.js} +1 -1
  173. package/dist/client/assets/{toggle-group-_2nA86E0.js → toggle-group-BYAWg6ie.js} +1 -1
  174. package/dist/client/assets/{toolbar-DorqTYW-.js → toolbar-DQxnMuj2.js} +1 -1
  175. package/dist/client/assets/{tooltip-DcqDtyP6.js → tooltip-taPKjPYY.js} +1 -1
  176. package/dist/client/assets/{use-ai-providers-BTjtIfCk.js → use-ai-providers-CMrLIeXL.js} +1 -1
  177. package/dist/client/assets/{use-automations-BespRxZz.js → use-automations-CEKE2bbb.js} +1 -1
  178. package/dist/client/assets/{use-autosave-CCBrhY7L.js → use-autosave-Ba6xwRx4.js} +1 -1
  179. package/dist/client/assets/{use-capability-CYH3Rnml.js → use-capability-D9uadLyL.js} +1 -1
  180. package/dist/client/assets/{use-clock-tick-Dcc1Xp3v.js → use-clock-tick-Bk8eoLE3.js} +1 -1
  181. package/dist/client/assets/{use-connection-j0IokOMv.js → use-connection-Ckvj-8eO.js} +1 -1
  182. package/dist/client/assets/{use-copy-Bf6mQ6EL.js → use-copy-CFwk4HSN.js} +1 -1
  183. package/dist/client/assets/{use-create-virtual-mcp-CMtNS8Qn.js → use-create-virtual-mcp-C3__NXCz.js} +1 -1
  184. package/dist/client/assets/{use-debounced-autosave-C24Z4hIr.js → use-debounced-autosave-BDWLDjfj.js} +1 -1
  185. package/dist/client/assets/{use-debounced-value-7MtqhQ8X.js → use-debounced-value-BJ87L9wM.js} +1 -1
  186. package/dist/client/assets/{use-deco-credits-JWuF2Fnk.js → use-deco-credits-B8YDnwMo.js} +1 -1
  187. package/dist/client/assets/{use-decopilot-events-CnG4aN93.js → use-decopilot-events-DZ5K-2Gd.js} +1 -1
  188. package/dist/client/assets/{use-delete-connection-DS26_klF.js → use-delete-connection-C21XUfEm.js} +1 -1
  189. package/dist/client/assets/{use-deployment-admin-D9-wjsZp.js → use-deployment-admin-CpXEkmrA.js} +1 -1
  190. package/dist/client/assets/{use-file-configs-BsG4apW7.js → use-file-configs-Cohgbawc.js} +1 -1
  191. package/dist/client/assets/{use-infinite-scroll-D2KyTMuD.js → use-infinite-scroll-Cv4MF3yr.js} +1 -1
  192. package/dist/client/assets/{use-join-requests-CrJELDWU.js → use-join-requests-BJgctLVk.js} +1 -1
  193. package/dist/client/assets/{use-mcp-client-CPbiX7Qx.js → use-mcp-client-CeYsJLKq.js} +1 -1
  194. package/dist/client/assets/{use-mcp-tools-BCeEDZUO.js → use-mcp-tools-Do3jr0qj.js} +1 -1
  195. package/dist/client/assets/{use-members-ByJa4MvM.js → use-members-3372wiu0.js} +1 -1
  196. package/dist/client/assets/{use-mobile-ycOZ4Bz3.js → use-mobile-BE6qfH--.js} +1 -1
  197. package/dist/client/assets/{use-navigate-to-agent-Dz1drSFj.js → use-navigate-to-agent-B-1Xa991.js} +1 -1
  198. package/dist/client/assets/{use-open-billing-url-B56B8YIR.js → use-open-billing-url-B1Yvyeo0.js} +1 -1
  199. package/dist/client/assets/{use-org-auth-client-BKc-pFfo.js → use-org-auth-client-KbT2rAgu.js} +1 -1
  200. package/dist/client/assets/{use-org-sso-DInw9RU4.js → use-org-sso-C7qn3ZJg.js} +1 -1
  201. package/dist/client/assets/{use-organization-roles-C4XeHwDU.js → use-organization-roles-DtV5dGeU.js} +1 -1
  202. package/dist/client/assets/{use-organization-settings-DoJTIXWt.js → use-organization-settings-DLQ46sjp.js} +1 -1
  203. package/dist/client/assets/{use-registry-connections-DfRFajKW.js → use-registry-connections-CjKSSkVu.js} +1 -1
  204. package/dist/client/assets/{use-secrets-acO6N_F9.js → use-secrets-6fcs177_.js} +1 -1
  205. package/dist/client/assets/{use-section-preview-base-oh4Tp88F.js → use-section-preview-base-Bb5vStt_.js} +1 -1
  206. package/dist/client/assets/{use-status-sounds-Bcbt2BUg.js → use-status-sounds-CjE5C129.js} +1 -1
  207. package/dist/client/assets/{use-tags-CK70gWGX.js → use-tags-CSjt-0nb.js} +1 -1
  208. package/dist/client/assets/{use-view-mode-nhad2RYu.js → use-view-mode-CATwAYVt.js} +1 -1
  209. package/dist/client/assets/{use-virtual-mcp-CuLL2EBD.js → use-virtual-mcp-BXK3dl5o.js} +1 -1
  210. package/dist/client/assets/useInfiniteQuery-8r7Q1353.js +1 -0
  211. package/dist/client/assets/{useRouterState-xzVmjr29.js → useRouterState-CUNf2eaL.js} +1 -1
  212. package/dist/client/assets/useSuspenseInfiniteQuery-GUKXgUbc.js +1 -0
  213. package/dist/client/assets/{users-B-xry0Fr.js → users-d9Y3QVId.js} +1 -1
  214. package/dist/client/assets/{variant-calendar-Co-wXTgf.js → variant-calendar-C3Hy7SZn.js} +1 -1
  215. package/dist/client/assets/{view-mode-toggle-BVFjiThk.js → view-mode-toggle-BQpbOUHD.js} +1 -1
  216. package/dist/client/index.html +1 -1
  217. package/dist/server/cli.js +2 -2
  218. package/dist/server/server.js +2 -2
  219. package/package.json +1 -1
  220. package/dist/client/assets/record-editor-DKkCHCEd.js +0 -1
  221. package/dist/client/assets/registry-CeGFGeHO.js +0 -2
  222. package/dist/client/assets/store-registry-BFwJqVlc.js +0 -2
  223. package/dist/client/assets/useInfiniteQuery-UTREKqeS.js +0 -1
  224. package/dist/client/assets/useSuspenseInfiniteQuery-B5DxsqNK.js +0 -1
@@ -1332,7 +1332,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var cc1=O(()=>{Vx()});f
1332
1332
  `.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${J}/${K}, keeping in old table`);continue}}await Qb`
1333
1333
  DELETE FROM kysely_migration WHERE name = ${X}
1334
1334
  `.execute($)}}async function Gn1($){await gc6($),await hc6($);let Z=new Qn1({db:$,provider:{getMigrations:()=>Promise.resolve(pl0)}}),{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 uc6($){let{keepOpen:Z=!1,database:X,skipBetterAuth:Q=!1}=$??{},Y="skipped";if(!Q&&!X)Y=await Eh0();let G=X??N6(),J=async()=>{if(!Z&&!X)await Ow(G).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await Gn1(G.db);return await J(),{betterAuth:Y,kysely:K}}catch(K){throw await J(),K}}async function cc6(){let $=N6(),Z=new Qn1({db:$.db,provider:{getMigrations:()=>Promise.resolve(pl0)}}),{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 Kn1=O(()=>{Xn1();zh0();o7()});async function r50($){let Z={...process.env},X=d00($,Z);console.log(PF1(X.settings.encryptionKey));let Q=X.settings.betterAuthSecret||(X.settings.localMode?Ed1(X.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (J50(),G50)),{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(() => (zh0(),jd1));await W(G.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (o7(),bl1)),{migrateToLatest:N}=await Promise.resolve().then(() => (Kn1(),Jn1)),U=H(G.databaseUrl);await N({keepOpen:!0,database:U,skipBetterAuth:!0})}let K={...X.settings,betterAuthSecret:Q,databaseUrl:G.databaseUrl,natsUrls:G.natsUrls,...G.s3?{s3Endpoint:G.s3.endpoint,s3Bucket:G.s3.bucket,s3AccessKeyId:G.s3.accessKeyId,s3SecretAccessKey:G.s3.secretAccessKey,s3ForcePathStyle:G.s3.forcePathStyle}:{},...G.natsTunnel?{natsPublicUrl:G.natsTunnel.publicUrl,natsAccountJwt:G.natsTunnel.accountJwt,natsAccountSigningKey:G.natsTunnel.accountSigningKey,natsOperatorJwt:G.natsTunnel.operatorJwt,natsTunnelPublicEnabled:!0,natsCredsPath:G.natsTunnel.credsPath}:{}};return lc1(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 tl0=O(()=>{Vx();zd1();b8()});var Nn1={};B0(Nn1,{updateService:()=>oD,subscribeCliState:()=>al0,setTuiConsoleIntercepted:()=>a50,setServerUrl:()=>Vm,setMigrationsDone:()=>km,setDevMode:()=>mc6,resetCliStateForTests:()=>lc6,isTuiConsoleIntercepted:()=>s50,getCliState:()=>rl0,addLogEntry:()=>jw});function Wn1(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function lc6(){_Q=Wn1()}function dc6(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function Mm(){for(let $ of ol0)$()}function rl0(){return _Q}function al0($){return ol0.add($),()=>ol0.delete($)}function oD($){_Q={..._Q,services:_Q.services.map((Z)=>Z.name===$.name?$:Z)},Mm()}function km(){_Q={..._Q,migrationsStatus:"done"},Mm()}function Vm($){_Q={..._Q,serverUrl:$},Mm()}function jw($){let Z=[..._Q.logs,$];_Q={..._Q,logs:Z.length>500?Z.slice(-500):Z},Mm()}function mc6(){_Q={..._Q,services:[...dc6(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},Mm()}function a50($){Hn1=$}function s50(){return Hn1}var _Q,ol0,Hn1=!1;var rD=O(()=>{_Q=Wn1();ol0=new Set});import{createServer as Un1}from"net";function ic6($){return new Promise((Z)=>{let X=Un1();X.once("error",()=>Z(!1)),X.listen($,"0.0.0.0",()=>{X.close(()=>Z(!0))})})}async function Sm($){if(await ic6($))return $;let Z=await new Promise((X,Q)=>{let Y=Un1();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 sl0=()=>{};function Cm($){return $.replace(/\x1b\[[0-9;]*m/g,"")}var el0={};B0(el0,{startDevServer:()=>pc6});import{join as nc6}from"path";function Fn1($){let Z=$.getReader(),X=new TextDecoder,Q="";function Y(){let G=Q.split(`
1335
- `);Q=G.pop()??"";for(let J of G){let K=Cm(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;jw({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=Cm(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)jw({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function pc6($){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 Sm(Number(Y)+1):await Sm(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await r50({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)oD({name:L.name,status:"ready",port:L.port});km();let N=nc6(import.meta.dir,"..","..","..","..",".."),U=X===!0,F=Bun.spawn(["bun","run","dev:servers"],{cwd:N,env:{...process.env,PORT:String(K.port),VITE_PORT:String(Y),DATABASE_URL:K.databaseUrl,NATS_URL:K.natsUrls.join(","),NODE_ENV:K.nodeEnv,BASE_URL:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsPublicUrl&&K.natsAccountJwt&&K.natsAccountSigningKey?{NATS_PUBLIC_URL:K.natsPublicUrl,NATS_ACCOUNT_JWT:K.natsAccountJwt,NATS_ACCOUNT_SIGNING_KEY:K.natsAccountSigningKey,NATS_OPERATOR_JWT:K.natsOperatorJwt??"",NATS_TUNNEL_PUBLIC_ENABLED:"true",...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}}:{}},stdio:["inherit",U?"inherit":"pipe",U?"inherit":"pipe"]});if(!U)Fn1(F.stdout),Fn1(F.stderr);Vm(G),oD({name:"Vite",status:"ready",port:Number(Y)}),oD({name:"API",status:"ready",port:Number(K.port)});let B=async(L)=>{if(F.kill(L),await F.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (J50(),G50));await D(K.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Y),process:F}}var $d0=O(()=>{tl0();rD();sl0()});var e50;var Zd0=O(()=>{e50={name:"decocms",version:"4.204.4",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@inkjs/ui":"^2.0.0","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as oc6,Text as wn1}from"ink";import{jsx as rc6,jsxs as Bn1}from"react/jsx-runtime";function On1({version:$}){return Bn1(oc6,{flexDirection:"column",marginTop:1,children:[M50.map((Z,X)=>rc6(wn1,{color:k50[X],children:Z},X)),Bn1(wn1,{dimColor:!0,children:[" v",$]})]})}var Ln1=O(()=>{Lm()});import{Box as aD,Text as Pw}from"ink";import{Spinner as ac6}from"@inkjs/ui";import{jsx as cY,jsxs as Yb}from"react/jsx-runtime";function Dn1({status:$}){if($==="pending")return cY(ac6,{label:""});return cY(Pw,{color:"green",children:"\u2713"})}function sc6($){return`${$.name}: ${$.port||"...."}`}function En1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return Yb(aD,{flexDirection:"column",paddingBottom:1,children:[cY(On1,{version:e50.version}),cY(aD,{marginBottom:1,children:cY(Pw,{dimColor:!0,children:"\u2500".repeat(80)})}),cY(aD,{children:Yb(Pw,{dimColor:!0,children:["Home: ",X]})}),Yb(aD,{gap:2,children:[$.map((Y)=>Yb(aD,{gap:1,children:[cY(Pw,{children:sc6(Y)}),cY(Dn1,{status:Y.status})]},Y.name)),Yb(aD,{gap:1,children:[cY(Pw,{children:"Migrations"}),cY(Dn1,{status:Z})]})]}),cY(aD,{children:Q?Yb(Pw,{children:["Open in browser: ",cY(Pw,{color:"cyan",children:Q})]}):cY(Pw,{dimColor:!0,children:"Starting..."})})]})}var zn1=O(()=>{Zd0();Ln1()});import{Box as ec6,Text as _m}from"ink";import{jsx as Xd0,jsxs as Qd0}from"react/jsx-runtime";function $l6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function jn1({logs:$}){return Xd0(ec6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return Xd0(_m,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return Qd0(_m,{children:[Qd0(_m,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),Xd0(_m,{color:$l6(Z.status),children:Z.status}),Qd0(_m,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var Pn1=()=>{};var Yd0={};B0(Yd0,{App:()=>Ql6});import{Box as Zl6}from"ink";import{useSyncExternalStore as Xl6}from"react";import{jsx as An1,jsxs as Yl6}from"react/jsx-runtime";function Ql6({home:$}){let Z=Xl6(al0,rl0);return Yl6(Zl6,{flexDirection:"column",children:[An1(En1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),An1(jn1,{logs:Z.logs})]})}var Gd0=O(()=>{zn1();Pn1();rD()});var OJ="thread-gate",xN="decopilot-hosted-harness",pG="automations",Aw="background-tools";var Tn1="7";function Rn1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Tn1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var In1=()=>{};function Gl6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Jd0($,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 qn1(){let $=Gl6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Jd0($,"--cpu-prof-dir")??process.cwd(),name:Jd0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Jd0($,"--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 Mn1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=iD();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(()=>{}),$90=setInterval(()=>void Z().catch(()=>{}),$),$90.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($90)clearInterval($90)}}var $90;var kn1=()=>{};import*as Jl6 from"bun:jsc";function Vn1(){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{Kl6()}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=Wl6()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let N of K){let U=N.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??N.frames[0];if(!U)continue;let F=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),w=`${U.name??"?"} @ ${F}:${U.line??"?"}`;W.set(w,(W.get(w)??0)+1)}let H=[...W.entries()].sort((N,U)=>U[1]-N[1]).slice(0,8).map(([N,U])=>({frame:N,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var Kl6,Wl6;var Sn1=O(()=>{({startSamplingProfiler:Kl6,samplingProfilerStackTraces:Wl6}=Jl6)});function Cn1(){qn1();let $=[Mn1(),kl1(),Vn1()];return()=>{for(let Z of $)Z()}}var _n1=O(()=>{Wh0();kn1();Sn1()});var sD=_((vn1)=>{Object.defineProperty(vn1,"__esModule",{value:!0});vn1.RepublishHeaders=vn1.DirectMsgHeaders=vn1.JsHeaders=vn1.AdvisoryKind=void 0;vn1.isOrderedPushConsumerOptions=Hl6;vn1.isPullConsumer=Nl6;vn1.isPushConsumer=Ul6;vn1.isBoundPushConsumerOptions=Fl6;function Hl6($){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 Nl6($){return $.isPullConsumer()}function Ul6($){return $.isPushConsumer()}function Fl6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}vn1.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"};vn1.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"};vn1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};vn1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var lY=_((fn1)=>{Object.defineProperty(fn1,"__esModule",{value:!0});fn1.TD=fn1.TE=fn1.Empty=void 0;fn1.encode=Pl6;fn1.decode=Al6;fn1.Empty=new Uint8Array(0);fn1.TE=new TextEncoder;fn1.TD=new TextDecoder;function jl6(...$){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 Pl6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(fn1.TE.encode($[X]));if(Z.length===0)return fn1.Empty;if(Z.length===1)return Z[0];return jl6(...Z)}function Al6($){if(!$||$.length===0)return"";return fn1.TD.decode($)}});var dY=_((gn1)=>{Object.defineProperty(gn1,"__esModule",{value:!0});gn1.errors=gn1.PermissionViolationError=gn1.NoRespondersError=gn1.TimeoutError=gn1.RequestError=gn1.ProtocolError=gn1.ConnectionError=gn1.DrainingConnectionError=gn1.ClosedConnectionError=gn1.AuthorizationError=gn1.UserAuthenticationExpiredError=gn1.InvalidOperationError=gn1.InvalidArgumentError=gn1.InvalidSubjectError=void 0;class Wd0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}gn1.InvalidSubjectError=Wd0;class Z90 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 Z90(`${$} ${Z}`,X)}}gn1.InvalidArgumentError=Z90;class Hd0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}gn1.InvalidOperationError=Hd0;class X90 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new X90($);return null}}gn1.UserAuthenticationExpiredError=X90;class Q90 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 Q90($);return null}}gn1.AuthorizationError=Q90;class Nd0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}gn1.ClosedConnectionError=Nd0;class Ud0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}gn1.DrainingConnectionError=Ud0;class Fd0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}gn1.ConnectionError=Fd0;class wd0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}gn1.ProtocolError=wd0;class Bd0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof Y90}}gn1.RequestError=Bd0;class Od0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}gn1.TimeoutError=Od0;class Y90 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}gn1.NoRespondersError=Y90;class G90 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 G90($,X,Q,Y)}}gn1.PermissionViolationError=G90;gn1.errors={AuthorizationError:Q90,ClosedConnectionError:Nd0,ConnectionError:Fd0,DrainingConnectionError:Ud0,InvalidArgumentError:Z90,InvalidOperationError:Hd0,InvalidSubjectError:Wd0,NoRespondersError:Y90,PermissionViolationError:G90,ProtocolError:wd0,RequestError:Bd0,TimeoutError:Od0,UserAuthenticationExpiredError:X90}});var LJ=_((dn1)=>{Object.defineProperty(dn1,"__esModule",{value:!0});dn1.SimpleMutex=dn1.Perf=void 0;dn1.extend=hl6;dn1.render=ul6;dn1.timeout=cl6;dn1.delay=ll6;dn1.deadline=dl6;dn1.deferred=Dd0;dn1.debugDeferred=ml6;dn1.shuffle=il6;dn1.collect=nl6;dn1.jitter=ln1;dn1.backoff=pl6;dn1.nanos=tl6;dn1.millis=ol6;dn1.randomToken=sl6;var gl6=lY(),Ld0=dY();function hl6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function ul6($){return gl6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function cl6($,Z=!0){let X=Z?new Ld0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new Ld0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function ll6($=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 dl6($,Z=1000){let X=Dd0(),Q=setTimeout(()=>{X.reject(new Ld0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function Dd0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function ml6(){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 il6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function nl6($){let Z=[];for await(let X of $)Z.push(X);return Z}class un1{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})}),$}}dn1.Perf=un1;class cn1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=Dd0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}dn1.SimpleMutex=cn1;function ln1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function pl6($=[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 ln1(X>Z?$[Z]:$[X])}}}function tl6($){return $*1e6}function ol6($){return Math.floor($/1e6)}var rl6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",fN=new Uint8Array(62);for(let $=0;$<62;$++)fN[$]=rl6.charCodeAt($);var al6=218340105584896;function sl6(){let $=Math.floor(Math.random()*al6),Z=$%62,X=fN[Z];$=($-Z)/62,Z=$%62;let Q=fN[Z];$=($-Z)/62,Z=$%62;let Y=fN[Z];$=($-Z)/62,Z=$%62;let G=fN[Z];$=($-Z)/62,Z=$%62;let J=fN[Z];$=($-Z)/62,Z=$%62;let K=fN[Z];$=($-Z)/62,Z=$%62;let W=fN[Z];$=($-Z)/62;let H=fN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var an1=_((on1)=>{Object.defineProperty(on1,"__esModule",{value:!0});on1.nuid=on1.NuidImpl=void 0;var Bd6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Tw=62,K90=12,pn1=10,in1=33,Od6=333,nn1=K90+pn1,zd0=new Uint8Array(Tw);for(let $=0;$<Tw;$++)zd0[$]=Bd6.charCodeAt($);var J90=4294967296,tn1=BigInt(Tw)**BigInt(pn1),vm=Number(tn1/(1n<<32n)),Ed0=Number(tn1%(1n<<32n));function Ld6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Dd6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Ld6($)}class jd0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(nn1),this.cbuf=new Uint8Array(K90),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(vm+1)),this.seqLo=Math.floor(Math.random()*J90);while($++<8&&this.seqHi===vm&&this.seqLo>=Ed0);if(this.seqHi===vm&&this.seqLo>=Ed0)this.seqLo=0;this.inc=Math.random()*(Od6-in1)+in1|0}setPre(){Dd6(this.cbuf);for(let $=0;$<K90;$++)this.buf[$]=zd0[this.cbuf[$]%Tw]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=nn1-1;X>=K90;X--){let Q=Math.floor($/Tw),G=($-Q*Tw)*J90+Z,J=Math.floor(G/Tw),K=G-J*Tw;this.buf[X]=zd0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=J90)this.seqLo-=J90,this.seqHi+=1;if(this.seqHi>vm||this.seqHi===vm&&this.seqLo>=Ed0)this.setPre(),this.initSeqAndInc();this.fillSeq();let $=this.buf;return String.fromCharCode($[0],$[1],$[2],$[3],$[4],$[5],$[6],$[7],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15],$[16],$[17],$[18],$[19],$[20],$[21])}reset(){this.init()}}on1.NuidImpl=jd0;on1.nuid=new jd0});var Zp1=_((en1)=>{Object.defineProperty(en1,"__esModule",{value:!0});en1.nuid=en1.Nuid=void 0;var sn1=an1();en1.Nuid=sn1.NuidImpl;en1.nuid=sn1.nuid});var H90=_((W90)=>{Object.defineProperty(W90,"__esModule",{value:!0});W90.nuid=W90.Nuid=void 0;var Xp1=Zp1();Object.defineProperty(W90,"Nuid",{enumerable:!0,get:function(){return Xp1.Nuid}});Object.defineProperty(W90,"nuid",{enumerable:!0,get:function(){return Xp1.nuid}})});var Rw=_((Qp1)=>{Object.defineProperty(Qp1,"__esModule",{value:!0});Qp1.DEFAULT_HOST=Qp1.DEFAULT_PORT=Qp1.Match=void 0;Qp1.syncIterator=Td6;Qp1.createInbox=Rd6;var Pd6=H90(),Ad6=dY();Qp1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function Td6($){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 Rd6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Ad6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Pd6.nuid.next()}`}Qp1.DEFAULT_PORT=4222;Qp1.DEFAULT_HOST="127.0.0.1"});var xm=_((Kp1)=>{Object.defineProperty(Kp1,"__esModule",{value:!0});Kp1.DataBuffer=void 0;var Gp1=lY();class Jp1{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 Gp1.TE.encode($)}static toAscii($){return Gp1.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}}Kp1.DataBuffer=Jp1});var eD=_((Np1)=>{Object.defineProperty(Np1,"__esModule",{value:!0});Np1.LF=Np1.CR=Np1.CRLF=Np1.CR_LF_LEN=Np1.CR_LF=void 0;Np1.setTransportFactory=_d6;Np1.defaultPort=vd6;Np1.getUrlParseFn=xd6;Np1.newTransport=fd6;Np1.getResolveFn=bd6;Np1.protoLen=Hp1;Np1.extractProtocolMessage=yd6;var Vd6=lY(),Sd6=Rw(),Cd6=xm(),mY;function _d6($){mY=$}function vd6(){return mY!==void 0&&mY.defaultPort!==void 0?mY.defaultPort:Sd6.DEFAULT_PORT}function xd6(){return mY!==void 0&&mY.urlParseFn?mY.urlParseFn:void 0}function fd6(){if(!mY||typeof mY.factory!=="function")throw Error("transport fn is not set");return mY.factory()}function bd6(){return mY!==void 0&&mY.dnsResolveFn?mY.dnsResolveFn:void 0}Np1.CR_LF=`\r
1335
+ `);Q=G.pop()??"";for(let J of G){let K=Cm(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;jw({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=Cm(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)jw({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function pc6($){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 Sm(Number(Y)+1):await Sm(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await r50({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let L of W)oD({name:L.name,status:"ready",port:L.port});km();let N=nc6(import.meta.dir,"..","..","..","..",".."),U=X===!0,F=Bun.spawn(["bun","run","dev:servers"],{cwd:N,env:{...process.env,PORT:String(K.port),VITE_PORT:String(Y),DATABASE_URL:K.databaseUrl,NATS_URL:K.natsUrls.join(","),NODE_ENV:K.nodeEnv,BASE_URL:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsPublicUrl&&K.natsAccountJwt&&K.natsAccountSigningKey?{NATS_PUBLIC_URL:K.natsPublicUrl,NATS_ACCOUNT_JWT:K.natsAccountJwt,NATS_ACCOUNT_SIGNING_KEY:K.natsAccountSigningKey,NATS_OPERATOR_JWT:K.natsOperatorJwt??"",NATS_TUNNEL_PUBLIC_ENABLED:"true",...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}}:{}},stdio:["inherit",U?"inherit":"pipe",U?"inherit":"pipe"]});if(!U)Fn1(F.stdout),Fn1(F.stderr);Vm(G),oD({name:"Vite",status:"ready",port:Number(Y)}),oD({name:"API",status:"ready",port:Number(K.port)});let B=async(L)=>{if(F.kill(L),await F.exited,H.length>0){let{stopServices:D}=await Promise.resolve().then(() => (J50(),G50));await D(K.dataDir)}};return process.on("SIGINT",()=>B("SIGINT")),process.on("SIGTERM",()=>B("SIGTERM")),{port:Number(Y),process:F}}var $d0=O(()=>{tl0();rD();sl0()});var e50;var Zd0=O(()=>{e50={name:"decocms",version:"4.204.5",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@inkjs/ui":"^2.0.0","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as oc6,Text as wn1}from"ink";import{jsx as rc6,jsxs as Bn1}from"react/jsx-runtime";function On1({version:$}){return Bn1(oc6,{flexDirection:"column",marginTop:1,children:[M50.map((Z,X)=>rc6(wn1,{color:k50[X],children:Z},X)),Bn1(wn1,{dimColor:!0,children:[" v",$]})]})}var Ln1=O(()=>{Lm()});import{Box as aD,Text as Pw}from"ink";import{Spinner as ac6}from"@inkjs/ui";import{jsx as cY,jsxs as Yb}from"react/jsx-runtime";function Dn1({status:$}){if($==="pending")return cY(ac6,{label:""});return cY(Pw,{color:"green",children:"\u2713"})}function sc6($){return`${$.name}: ${$.port||"...."}`}function En1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return Yb(aD,{flexDirection:"column",paddingBottom:1,children:[cY(On1,{version:e50.version}),cY(aD,{marginBottom:1,children:cY(Pw,{dimColor:!0,children:"\u2500".repeat(80)})}),cY(aD,{children:Yb(Pw,{dimColor:!0,children:["Home: ",X]})}),Yb(aD,{gap:2,children:[$.map((Y)=>Yb(aD,{gap:1,children:[cY(Pw,{children:sc6(Y)}),cY(Dn1,{status:Y.status})]},Y.name)),Yb(aD,{gap:1,children:[cY(Pw,{children:"Migrations"}),cY(Dn1,{status:Z})]})]}),cY(aD,{children:Q?Yb(Pw,{children:["Open in browser: ",cY(Pw,{color:"cyan",children:Q})]}):cY(Pw,{dimColor:!0,children:"Starting..."})})]})}var zn1=O(()=>{Zd0();Ln1()});import{Box as ec6,Text as _m}from"ink";import{jsx as Xd0,jsxs as Qd0}from"react/jsx-runtime";function $l6($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function jn1({logs:$}){return Xd0(ec6,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return Xd0(_m,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return Qd0(_m,{children:[Qd0(_m,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),Xd0(_m,{color:$l6(Z.status),children:Z.status}),Qd0(_m,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var Pn1=()=>{};var Yd0={};B0(Yd0,{App:()=>Ql6});import{Box as Zl6}from"ink";import{useSyncExternalStore as Xl6}from"react";import{jsx as An1,jsxs as Yl6}from"react/jsx-runtime";function Ql6({home:$}){let Z=Xl6(al0,rl0);return Yl6(Zl6,{flexDirection:"column",children:[An1(En1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),An1(jn1,{logs:Z.logs})]})}var Gd0=O(()=>{zn1();Pn1();rD()});var OJ="thread-gate",xN="decopilot-hosted-harness",pG="automations",Aw="background-tools";var Tn1="7";function Rn1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:Tn1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var In1=()=>{};function Gl6(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Jd0($,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 qn1(){let $=Gl6();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Jd0($,"--cpu-prof-dir")??process.cwd(),name:Jd0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Jd0($,"--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 Mn1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=iD();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(()=>{}),$90=setInterval(()=>void Z().catch(()=>{}),$),$90.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($90)clearInterval($90)}}var $90;var kn1=()=>{};import*as Jl6 from"bun:jsc";function Vn1(){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{Kl6()}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=Wl6()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let N of K){let U=N.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??N.frames[0];if(!U)continue;let F=(U.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),w=`${U.name??"?"} @ ${F}:${U.line??"?"}`;W.set(w,(W.get(w)??0)+1)}let H=[...W.entries()].sort((N,U)=>U[1]-N[1]).slice(0,8).map(([N,U])=>({frame:N,count:U}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var Kl6,Wl6;var Sn1=O(()=>{({startSamplingProfiler:Kl6,samplingProfilerStackTraces:Wl6}=Jl6)});function Cn1(){qn1();let $=[Mn1(),kl1(),Vn1()];return()=>{for(let Z of $)Z()}}var _n1=O(()=>{Wh0();kn1();Sn1()});var sD=_((vn1)=>{Object.defineProperty(vn1,"__esModule",{value:!0});vn1.RepublishHeaders=vn1.DirectMsgHeaders=vn1.JsHeaders=vn1.AdvisoryKind=void 0;vn1.isOrderedPushConsumerOptions=Hl6;vn1.isPullConsumer=Nl6;vn1.isPushConsumer=Ul6;vn1.isBoundPushConsumerOptions=Fl6;function Hl6($){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 Nl6($){return $.isPullConsumer()}function Ul6($){return $.isPushConsumer()}function Fl6($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}vn1.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"};vn1.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"};vn1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};vn1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var lY=_((fn1)=>{Object.defineProperty(fn1,"__esModule",{value:!0});fn1.TD=fn1.TE=fn1.Empty=void 0;fn1.encode=Pl6;fn1.decode=Al6;fn1.Empty=new Uint8Array(0);fn1.TE=new TextEncoder;fn1.TD=new TextDecoder;function jl6(...$){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 Pl6(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(fn1.TE.encode($[X]));if(Z.length===0)return fn1.Empty;if(Z.length===1)return Z[0];return jl6(...Z)}function Al6($){if(!$||$.length===0)return"";return fn1.TD.decode($)}});var dY=_((gn1)=>{Object.defineProperty(gn1,"__esModule",{value:!0});gn1.errors=gn1.PermissionViolationError=gn1.NoRespondersError=gn1.TimeoutError=gn1.RequestError=gn1.ProtocolError=gn1.ConnectionError=gn1.DrainingConnectionError=gn1.ClosedConnectionError=gn1.AuthorizationError=gn1.UserAuthenticationExpiredError=gn1.InvalidOperationError=gn1.InvalidArgumentError=gn1.InvalidSubjectError=void 0;class Wd0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}gn1.InvalidSubjectError=Wd0;class Z90 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 Z90(`${$} ${Z}`,X)}}gn1.InvalidArgumentError=Z90;class Hd0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}gn1.InvalidOperationError=Hd0;class X90 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new X90($);return null}}gn1.UserAuthenticationExpiredError=X90;class Q90 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 Q90($);return null}}gn1.AuthorizationError=Q90;class Nd0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}gn1.ClosedConnectionError=Nd0;class Ud0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}gn1.DrainingConnectionError=Ud0;class Fd0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}gn1.ConnectionError=Fd0;class wd0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}gn1.ProtocolError=wd0;class Bd0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof Y90}}gn1.RequestError=Bd0;class Od0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}gn1.TimeoutError=Od0;class Y90 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}gn1.NoRespondersError=Y90;class G90 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 G90($,X,Q,Y)}}gn1.PermissionViolationError=G90;gn1.errors={AuthorizationError:Q90,ClosedConnectionError:Nd0,ConnectionError:Fd0,DrainingConnectionError:Ud0,InvalidArgumentError:Z90,InvalidOperationError:Hd0,InvalidSubjectError:Wd0,NoRespondersError:Y90,PermissionViolationError:G90,ProtocolError:wd0,RequestError:Bd0,TimeoutError:Od0,UserAuthenticationExpiredError:X90}});var LJ=_((dn1)=>{Object.defineProperty(dn1,"__esModule",{value:!0});dn1.SimpleMutex=dn1.Perf=void 0;dn1.extend=hl6;dn1.render=ul6;dn1.timeout=cl6;dn1.delay=ll6;dn1.deadline=dl6;dn1.deferred=Dd0;dn1.debugDeferred=ml6;dn1.shuffle=il6;dn1.collect=nl6;dn1.jitter=ln1;dn1.backoff=pl6;dn1.nanos=tl6;dn1.millis=ol6;dn1.randomToken=sl6;var gl6=lY(),Ld0=dY();function hl6($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function ul6($){return gl6.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function cl6($,Z=!0){let X=Z?new Ld0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new Ld0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function ll6($=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 dl6($,Z=1000){let X=Dd0(),Q=setTimeout(()=>{X.reject(new Ld0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function Dd0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function ml6(){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 il6($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function nl6($){let Z=[];for await(let X of $)Z.push(X);return Z}class un1{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})}),$}}dn1.Perf=un1;class cn1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=Dd0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}dn1.SimpleMutex=cn1;function ln1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function pl6($=[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 ln1(X>Z?$[Z]:$[X])}}}function tl6($){return $*1e6}function ol6($){return Math.floor($/1e6)}var rl6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",fN=new Uint8Array(62);for(let $=0;$<62;$++)fN[$]=rl6.charCodeAt($);var al6=218340105584896;function sl6(){let $=Math.floor(Math.random()*al6),Z=$%62,X=fN[Z];$=($-Z)/62,Z=$%62;let Q=fN[Z];$=($-Z)/62,Z=$%62;let Y=fN[Z];$=($-Z)/62,Z=$%62;let G=fN[Z];$=($-Z)/62,Z=$%62;let J=fN[Z];$=($-Z)/62,Z=$%62;let K=fN[Z];$=($-Z)/62,Z=$%62;let W=fN[Z];$=($-Z)/62;let H=fN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var an1=_((on1)=>{Object.defineProperty(on1,"__esModule",{value:!0});on1.nuid=on1.NuidImpl=void 0;var Bd6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Tw=62,K90=12,pn1=10,in1=33,Od6=333,nn1=K90+pn1,zd0=new Uint8Array(Tw);for(let $=0;$<Tw;$++)zd0[$]=Bd6.charCodeAt($);var J90=4294967296,tn1=BigInt(Tw)**BigInt(pn1),vm=Number(tn1/(1n<<32n)),Ed0=Number(tn1%(1n<<32n));function Ld6($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Dd6($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Ld6($)}class jd0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(nn1),this.cbuf=new Uint8Array(K90),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(vm+1)),this.seqLo=Math.floor(Math.random()*J90);while($++<8&&this.seqHi===vm&&this.seqLo>=Ed0);if(this.seqHi===vm&&this.seqLo>=Ed0)this.seqLo=0;this.inc=Math.random()*(Od6-in1)+in1|0}setPre(){Dd6(this.cbuf);for(let $=0;$<K90;$++)this.buf[$]=zd0[this.cbuf[$]%Tw]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=nn1-1;X>=K90;X--){let Q=Math.floor($/Tw),G=($-Q*Tw)*J90+Z,J=Math.floor(G/Tw),K=G-J*Tw;this.buf[X]=zd0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=J90)this.seqLo-=J90,this.seqHi+=1;if(this.seqHi>vm||this.seqHi===vm&&this.seqLo>=Ed0)this.setPre(),this.initSeqAndInc();this.fillSeq();let $=this.buf;return String.fromCharCode($[0],$[1],$[2],$[3],$[4],$[5],$[6],$[7],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15],$[16],$[17],$[18],$[19],$[20],$[21])}reset(){this.init()}}on1.NuidImpl=jd0;on1.nuid=new jd0});var Zp1=_((en1)=>{Object.defineProperty(en1,"__esModule",{value:!0});en1.nuid=en1.Nuid=void 0;var sn1=an1();en1.Nuid=sn1.NuidImpl;en1.nuid=sn1.nuid});var H90=_((W90)=>{Object.defineProperty(W90,"__esModule",{value:!0});W90.nuid=W90.Nuid=void 0;var Xp1=Zp1();Object.defineProperty(W90,"Nuid",{enumerable:!0,get:function(){return Xp1.Nuid}});Object.defineProperty(W90,"nuid",{enumerable:!0,get:function(){return Xp1.nuid}})});var Rw=_((Qp1)=>{Object.defineProperty(Qp1,"__esModule",{value:!0});Qp1.DEFAULT_HOST=Qp1.DEFAULT_PORT=Qp1.Match=void 0;Qp1.syncIterator=Td6;Qp1.createInbox=Rd6;var Pd6=H90(),Ad6=dY();Qp1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function Td6($){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 Rd6($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw Ad6.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${Pd6.nuid.next()}`}Qp1.DEFAULT_PORT=4222;Qp1.DEFAULT_HOST="127.0.0.1"});var xm=_((Kp1)=>{Object.defineProperty(Kp1,"__esModule",{value:!0});Kp1.DataBuffer=void 0;var Gp1=lY();class Jp1{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 Gp1.TE.encode($)}static toAscii($){return Gp1.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}}Kp1.DataBuffer=Jp1});var eD=_((Np1)=>{Object.defineProperty(Np1,"__esModule",{value:!0});Np1.LF=Np1.CR=Np1.CRLF=Np1.CR_LF_LEN=Np1.CR_LF=void 0;Np1.setTransportFactory=_d6;Np1.defaultPort=vd6;Np1.getUrlParseFn=xd6;Np1.newTransport=fd6;Np1.getResolveFn=bd6;Np1.protoLen=Hp1;Np1.extractProtocolMessage=yd6;var Vd6=lY(),Sd6=Rw(),Cd6=xm(),mY;function _d6($){mY=$}function vd6(){return mY!==void 0&&mY.defaultPort!==void 0?mY.defaultPort:Sd6.DEFAULT_PORT}function xd6(){return mY!==void 0&&mY.urlParseFn?mY.urlParseFn:void 0}function fd6(){if(!mY||typeof mY.factory!=="function")throw Error("transport fn is not set");return mY.factory()}function bd6(){return mY!==void 0&&mY.dnsResolveFn?mY.dnsResolveFn:void 0}Np1.CR_LF=`\r
1336
1336
  `;Np1.CR_LF_LEN=Np1.CR_LF.length;Np1.CRLF=Cd6.DataBuffer.fromAscii(Np1.CR_LF);Np1.CR=new Uint8Array(Np1.CRLF)[0];Np1.LF=new Uint8Array(Np1.CRLF)[1];function Hp1($){for(let Z=0;Z<$.length;Z++){let X=Z+1;if($.byteLength>X&&$[Z]===Np1.CR&&$[X]===Np1.LF)return X+1}return 0}function yd6($){let Z=Hp1($);if(Z>0){let Q=new Uint8Array($).slice(0,Z);return Vd6.TD.decode(Q)}return""}});var Id0=_((Ep1)=>{Object.defineProperty(Ep1,"__esModule",{value:!0});Ep1.ipV4=Op1;Ep1.isIP=td6;Ep1.parseIP=Lp1;var fm=4,$E=16,N90=48,Bp1=57,Fp1=65,nd6=70,wp1=97,pd6=102,Rd0=16777215;function Op1($,Z,X,Q){let Y=new Uint8Array($E);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 td6($){return Lp1($)!==void 0}function Lp1($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return Dp1($);case":":return od6($)}return}function Dp1($){let Z=new Uint8Array(fm);for(let X=0;X<fm;X++){if($.length===0)return;if(X>0){if($[0]!==".")return;$=$.substring(1)}let{n:Q,c:Y,ok:G}=rd6($);if(!G||Q>255)return;$=$.substring(Y),Z[X]=Q}return Op1(Z[0],Z[1],Z[2],Z[3])}function od6($){let Z=new Uint8Array($E),X=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(X=0,$=$.substring(2),$.length===0)return Z}let Q=0;while(Q<$E){let{n:Y,c:G,ok:J}=ad6($);if(!J||Y>65535)return;if(G<$.length&&$[G]==="."){if(X<0&&Q!=$E-fm)return;if(Q+fm>$E)return;let K=Dp1($);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+=fm;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<$E){if(X<0)return;let Y=$E-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 rd6($){let Z=0,X=0;for(Z=0;Z<$.length&&N90<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=Bp1;Z++)if(X=X*10+($.charCodeAt(Z)-N90),X>=Rd0)return{n:Rd0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:X,c:Z,ok:!0}}function ad6($){let Z=0,X=0;for(X=0;X<$.length;X++){if(N90<=$.charCodeAt(X)&&$.charCodeAt(X)<=Bp1)Z*=16,Z+=$.charCodeAt(X)-N90;else if(wp1<=$.charCodeAt(X)&&$.charCodeAt(X)<=pd6)Z*=16,Z+=$.charCodeAt(X)-wp1+10;else if(Fp1<=$.charCodeAt(X)&&$.charCodeAt(X)<=nd6)Z*=16,Z+=$.charCodeAt(X)-Fp1+10;else break;if(Z>=Rd0)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 Cd0=_((jp1)=>{Object.defineProperty(jp1,"__esModule",{value:!0});jp1.Servers=jp1.ServerImpl=void 0;jp1.isIPV4OrHostname=zp1;jp1.hostPort=Sd0;var qd0=eD(),Md0=LJ(),kd0=Id0(),Zm6=Rw(),Xm6=dY();function zp1($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function Vd0($){return!zp1($)}function Qm6($){let X=$.toUpperCase().indexOf("::FFFF:");if(X!==-1&&$.indexOf(".")!==-1){let Q=$.substring(X+7);return Q=Q.replace("[",""),Q.replace("]","")}return $}function Sd0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=Qm6($),Vd0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=Vd0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),X=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):Zm6.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 Gb{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let X=Sd0($);this.listen=X.listen,this.hostname=X.hostname,this.port=X.port,this.didConnect=!1,this.reconnects=0,this.lastConnect=0,this.gossiped=Z}toString(){return this.listen}async resolve($){if(!$.fn||$.resolve===!1)return[this];let Z=[];if((0,kd0.isIP)(this.hostname))return[this];else{let X=await $.fn(this.hostname);if($.debug)console.log(`resolve ${this.hostname} = ${X.join(",")}`);for(let Q of X){let Y=this.port===80?"https":"http",G=new URL(`${Y}://${Vd0(Q)?"["+Q+"]":Q}`);G.port=`${this.port}`;let J=new Gb(G.host,!1);J.tlsName=this.hostname,Z.push(J)}}if($.randomize)(0,Md0.shuffle)(Z);return this.resolves=Z,Z}}jp1.ServerImpl=Gb;class U90{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw Xm6.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,qd0.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}=Sd0(Y),J=X.get(G);if(J)J.gossiped=!1,Q.push(J);else Q.push(new Gb(Y))}if(this.randomize)(0,Md0.shuffle)(Q);if(this.servers=Q,this.currentServer===void 0||!Q.includes(this.currentServer))this.currentServer=Q[0],this.firstSelect=!0}clear(){this.servers.length=0}updateTLSName(){let $=this.getCurrentServer();if(!(0,kd0.isIP)($.hostname))this.tlsName=$.hostname,this.servers.forEach((Z)=>{if(Z.gossiped)Z.tlsName=this.tlsName})}getCurrentServer(){return this.currentServer}addServer($,Z=!1){let X=(0,qd0.getUrlParseFn)();$=X?X($):$;let Q=new Gb($,Z);if((0,kd0.isIP)(Q.hostname))Q.tlsName=this.tlsName;this.servers.push(Q)}selectServer(){if(this.firstSelect)return this.firstSelect=!1,this.currentServer;let $=this.servers.shift();if($)this.servers.push($),this.currentServer=$;return $}removeCurrentServer(){this.removeServer(this.currentServer)}removeServer($){if($){let Z=this.servers.indexOf($);this.servers.splice(Z,1)}}snapshot(){return U90.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return U90.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,qd0.getUrlParseFn)(),G=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new Gb(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,Md0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:X,deleted:Q}}}jp1.Servers=U90});var F90=_((Rp1)=>{Object.defineProperty(Rp1,"__esModule",{value:!0});Rp1.QueuedIteratorImpl=void 0;var _d0=LJ(),Ap1=dY();class Tp1{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,_d0.deferred)(),this.yields=[],this.iterClosed=(0,_d0.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 Ap1.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new Ap1.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,_d0.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}}Rp1.QueuedIteratorImpl=Tp1});var vd0=_((kp1)=>{Object.defineProperty(kp1,"__esModule",{value:!0});kp1.MuxSubscription=void 0;var Km6=Rw(),qp1=dY();class Mp1{baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,Km6.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 qp1.NoRespondersError(Q.requestSubject):null;Q.resolver($,Z)}}}}close(){let $=new qp1.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}kp1.MuxSubscription=Mp1});var xd0=_((Cp1)=>{Object.defineProperty(Cp1,"__esModule",{value:!0});Cp1.Heartbeat=void 0;var Wm6=LJ();class Sp1{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,Wm6.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})}}Cp1.Heartbeat=Sp1});var yd0=_((bp1)=>{Object.defineProperty(bp1,"__esModule",{value:!0});bp1.DenoBuffer=bp1.MAX_SIZE=bp1.AssertionError=void 0;bp1.assert=xp1;bp1.concat=fp1;bp1.append=Nm6;bp1.readAll=Um6;bp1.writeAll=Fm6;var Hm6=lY();class fd0 extends Error{constructor($){super($);this.name="AssertionError"}}bp1.AssertionError=fd0;function xp1($,Z="Assertion failed."){if(!$)throw new fd0(Z)}var vp1=32768;bp1.MAX_SIZE=4294967294;function w90($,Z,X=0){let Q=Z.byteLength-X;if($.byteLength>Q)$=$.subarray(0,Q);return Z.set($,X),$.byteLength}function fp1($,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 Nm6($,Z){return fp1($,Uint8Array.of(Z))}class bd0{_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($){xp1($<=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=w90(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(Hm6.TE.encode($))}write($){let Z=this._grow($.byteLength);return w90($,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)w90(this._buf.subarray(this._off),this._buf);else if(Q+$>bp1.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*Q+$,bp1.MAX_SIZE));w90(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,bp1.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(vp1);while(!0){let Q=this.capacity-this.length<vp1,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}}}bp1.DenoBuffer=bd0;function Um6($){let Z=new bd0;return Z.readFrom($),Z.bytes()}function Fm6($,Z){let X=0;while(X<Z.length)X+=$.write(Z.subarray(X))}});var ud0=_((cp1)=>{Object.defineProperty(cp1,"__esModule",{value:!0});cp1.cc=cp1.State=cp1.Parser=cp1.Kind=void 0;cp1.describe=zm6;var gd0=yd0(),hd0=lY();cp1.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function zm6($){let Z,X="";switch($.kind){case cp1.Kind.MSG:Z="MSG";break;case cp1.Kind.OK:Z="OK";break;case cp1.Kind.ERR:Z="ERR",X=hd0.TD.decode($.data);break;case cp1.Kind.PING:Z="PING";break;case cp1.Kind.PONG:Z="PONG";break;case cp1.Kind.INFO:Z="INFO",X=hd0.TD.decode($.data)}return`${Z}: ${X}`}function gp1(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var hp1=48,jm6=57,Jb=67108864;class up1{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=cp1.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 cp1.State.OP_START:switch(X){case cp1.cc.M:case cp1.cc.m:this.state=cp1.State.OP_M,this.hdr=-1,this.ma=gp1();break;case cp1.cc.H:case cp1.cc.h:this.state=cp1.State.OP_H,this.hdr=0,this.ma=gp1();break;case cp1.cc.P:case cp1.cc.p:this.state=cp1.State.OP_P;break;case cp1.cc.PLUS:this.state=cp1.State.OP_PLUS;break;case cp1.cc.MINUS:this.state=cp1.State.OP_MINUS;break;case cp1.cc.I:case cp1.cc.i:this.state=cp1.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_H:switch(X){case cp1.cc.M:case cp1.cc.m:this.state=cp1.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_M:switch(X){case cp1.cc.S:case cp1.cc.s:this.state=cp1.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_MS:switch(X){case cp1.cc.G:case cp1.cc.g:this.state=cp1.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_MSG:switch(X){case cp1.cc.SPACE:case cp1.cc.TAB:this.state=cp1.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_MSG_SPC:switch(X){case cp1.cc.SPACE:case cp1.cc.TAB:continue;default:this.state=cp1.State.MSG_ARG,this.as=Z}break;case cp1.State.MSG_ARG:switch(X){case cp1.cc.CR:this.drop=1;break;case cp1.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=cp1.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;case cp1.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let Q=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:cp1.Kind.MSG,msg:this.ma,data:Q}),this.argBuf=void 0,this.msgBuf=void 0,this.state=cp1.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:cp1.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=cp1.State.MSG_END;break;case cp1.State.MSG_END:switch(X){case cp1.cc.NL:this.drop=0,this.as=Z+1,this.state=cp1.State.OP_START;break;default:continue}break;case cp1.State.OP_PLUS:switch(X){case cp1.cc.O:case cp1.cc.o:this.state=cp1.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_PLUS_O:switch(X){case cp1.cc.K:case cp1.cc.k:this.state=cp1.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_PLUS_OK:switch(X){case cp1.cc.NL:this.dispatcher.push({kind:cp1.Kind.OK}),this.drop=0,this.state=cp1.State.OP_START;break}break;case cp1.State.OP_MINUS:switch(X){case cp1.cc.E:case cp1.cc.e:this.state=cp1.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_MINUS_E:switch(X){case cp1.cc.R:case cp1.cc.r:this.state=cp1.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_MINUS_ER:switch(X){case cp1.cc.R:case cp1.cc.r:this.state=cp1.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_MINUS_ERR:switch(X){case cp1.cc.SPACE:case cp1.cc.TAB:this.state=cp1.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_MINUS_ERR_SPC:switch(X){case cp1.cc.SPACE:case cp1.cc.TAB:continue;default:this.state=cp1.State.MINUS_ERR_ARG,this.as=Z}break;case cp1.State.MINUS_ERR_ARG:switch(X){case cp1.cc.CR:this.drop=1;break;case cp1.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:cp1.Kind.ERR,data:Q}),this.drop=0,this.as=Z+1,this.state=cp1.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(X))}break;case cp1.State.OP_P:switch(X){case cp1.cc.I:case cp1.cc.i:this.state=cp1.State.OP_PI;break;case cp1.cc.O:case cp1.cc.o:this.state=cp1.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_PO:switch(X){case cp1.cc.N:case cp1.cc.n:this.state=cp1.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_PON:switch(X){case cp1.cc.G:case cp1.cc.g:this.state=cp1.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_PONG:switch(X){case cp1.cc.NL:this.dispatcher.push({kind:cp1.Kind.PONG}),this.drop=0,this.state=cp1.State.OP_START;break}break;case cp1.State.OP_PI:switch(X){case cp1.cc.N:case cp1.cc.n:this.state=cp1.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_PIN:switch(X){case cp1.cc.G:case cp1.cc.g:this.state=cp1.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_PING:switch(X){case cp1.cc.NL:this.dispatcher.push({kind:cp1.Kind.PING}),this.drop=0,this.state=cp1.State.OP_START;break}break;case cp1.State.OP_I:switch(X){case cp1.cc.N:case cp1.cc.n:this.state=cp1.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_IN:switch(X){case cp1.cc.F:case cp1.cc.f:this.state=cp1.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_INF:switch(X){case cp1.cc.O:case cp1.cc.o:this.state=cp1.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_INFO:switch(X){case cp1.cc.SPACE:case cp1.cc.TAB:this.state=cp1.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case cp1.State.OP_INFO_SPC:switch(X){case cp1.cc.SPACE:case cp1.cc.TAB:continue;default:this.state=cp1.State.INFO_ARG,this.as=Z}break;case cp1.State.INFO_ARG:switch(X){case cp1.cc.CR:this.drop=1;break;case cp1.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:cp1.Kind.INFO,data:Q}),this.drop=0,this.as=Z+1,this.state=cp1.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;default:throw this.fail($.subarray(Z))}}if((this.state===cp1.State.MSG_ARG||this.state===cp1.State.MINUS_ERR_ARG||this.state===cp1.State.INFO_ARG)&&!this.argBuf)this.argBuf=new gd0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===cp1.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new gd0.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 gd0.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 cp1.cc.SPACE:case cp1.cc.TAB:case cp1.cc.CR:case cp1.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],Jb);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],Jb);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}: ${hd0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case cp1.cc.SPACE:case cp1.cc.TAB:case cp1.cc.CR:case cp1.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],Jb),this.ma.size=this.protoParseInt(Z[3],Jb);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],Jb),this.ma.size=this.protoParseInt(Z[4],Jb);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]<hp1||$[Q]>jm6)return-1;X=X*10+($[Q]-hp1)}return Z!==void 0&&X>Z?-1:X}}cp1.Parser=up1;cp1.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};cp1.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 L90=_((dp1)=>{Object.defineProperty(dp1,"__esModule",{value:!0});dp1.MsgHdrsImpl=void 0;dp1.canonicalMIMEHeaderKey=ld0;dp1.headers=Tm6;var lp1=lY(),DJ=Rw(),O90=dY();function ld0($){let N=!0,U=Array($.length);for(let F=0;F<$.length;F++){let w=$.charCodeAt(F);if(w===58||w<33||w>126)throw O90.InvalidArgumentError.format("header",`'${$[F]}' is not a valid character in a header name`);if(N&&97<=w&&w<=122)w-=32;else if(!N&&65<=w&&w<=90)w+=32;U[F]=w,N=w==45}return String.fromCharCode(...U)}function Tm6($=0,Z=""){if($===0&&Z!=="")throw O90.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw O90.InvalidArgumentError.format("description","is required");return new Kb($,Z)}var cd0="NATS/1.0";class Kb{_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 Kb,Q=lp1.TD.decode($).split(`\r
1337
1337
  `),Y=Q[0];if(Y!==cd0){let G=Y.replace(cd0,"").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 $=cd0;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
1338
1338
  ${Z}: ${X[Q]}`;return`${$}\r
@@ -2742,7 +2742,7 @@ ${"text"in A?A.text:""}`.trim()}});else j=[{type:"text",text:L},...E];return[...
2742
2742
  from task_board_items
2743
2743
  where organization_id = ${$.organizationId}
2744
2744
  and status = ${Q}
2745
- )`,created_by:$.by,created_at:X,updated_by:$.by,updated_at:X}).returningAll().executeTakeFirstOrThrow();return this.itemFromDbRow(Y)}async update($,Z,X,Q){let Y=await this.db.updateTable("task_board_items").set({...X.title!==void 0?{title:X.title}:{},...X.description!==void 0?{description:X.description}:{},...X.status!==void 0?{status:X.status}:{},...X.priority!==void 0?{priority:X.priority}:{},...X.assigneeId!==void 0?{assignee_id:X.assigneeId}:{},...X.assignedBy!==void 0?{assigned_by:X.assignedBy}:{},...X.dueDate!==void 0?{due_date:X.dueDate}:{},...X.sortOrder!==void 0?{sort_order:X.sortOrder}:{},updated_by:Q,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).returningAll().executeTakeFirstOrThrow(),G=this.itemFromDbRow(Y);return await this.attachRefs([G],Z),G}async delete($,Z,X){return this.inTransaction(async(Q)=>{let Y=await Q.selectFrom("task_board_items").select(["created_by"]).where("id","=",$).where("organization_id","=",Z).executeTakeFirst();if(!Y)return!1;if(oQ({createdBy:Y.created_by}))return await Q.updateTable("task_board_items").set({dismissed_at:new Date().toISOString(),updated_by:X}).where("id","=",$).where("organization_id","=",Z).where("dismissed_at","is",null).execute(),!0;return await Q.deleteFrom("task_board_item_threads").where("task_board_item_id","=",$).where("organization_id","=",Z).execute(),await Q.deleteFrom("task_board_item_prs").where("task_board_item_id","=",$).where("organization_id","=",Z).execute(),await Q.deleteFrom("task_board_items").where("id","=",$).where("organization_id","=",Z).execute(),!0})}async dismissedFindingKeys($,Z){if(Z.length===0)return new Set;let X=await this.db.selectFrom("task_board_items").select(["external_key"]).where("organization_id","=",$).where("external_key","in",Z).where("dismissed_at","is not",null).execute();return new Set(X.flatMap((Q)=>Q.external_key??[]))}async listDismissedFindings($){return(await this.db.selectFrom("task_board_items").select(["external_key","updated_by","dismissed_at"]).where("organization_id","=",$).where("dismissed_at","is not",null).orderBy("dismissed_at","desc").execute()).flatMap((X)=>X.external_key&&X.dismissed_at?[{externalKey:X.external_key,dismissedBy:X.updated_by,dismissedAt:X.dismissed_at instanceof Date?X.dismissed_at.toISOString():X.dismissed_at}]:[])}async restoreDismissedFindings($,Z){if(Z&&Z.length===0)return 0;let X=this.db.updateTable("task_board_items").set({dismissed_at:null}).where("organization_id","=",$).where("dismissed_at","is not",null);if(Z)X=X.where("external_key","in",Z);let Q=await X.executeTakeFirst();return Number(Q.numUpdatedRows??0n)}async setItemTags($,Z,X){await this.inTransaction(async(Q)=>{if(await Q.deleteFrom("task_board_item_tags").where("task_board_item_id","=",$).$if(Z.length>0,(Y)=>Y.where("id","not in",Z)).execute(),Z.length>0)await Q.insertInto("task_board_item_tags").values(Z.map((Y)=>({task_board_item_id:$,id:Y,created_by:X,created_at:new Date().toISOString()}))).onConflict((Y)=>Y.doNothing()).execute()})}async addItemTags($,Z,X){if(Z.length===0)return;await this.db.insertInto("task_board_item_tags").values(Z.map((Q)=>({task_board_item_id:$,id:Q,created_by:X,created_at:new Date().toISOString()}))).onConflict((Q)=>Q.doNothing()).execute()}async linkThread($,Z,X){await this.db.insertInto("task_board_item_threads").values({task_board_item_id:$,thread_id:Z,organization_id:X}).onConflict((Q)=>Q.columns(["task_board_item_id","thread_id"]).doNothing()).execute()}async listItemsPendingReview($,Z,X){let Q=this.db.selectFrom("task_board_items").select(["id","organization_id as organizationId","updated_at"]).where("status","=","in_review").where("assignee_id","=",$$).where("dismissed_at","is",null);if(X)Q=Q.where((G)=>G.or([G("last_swept_at","is",null),G("last_swept_at","<",X)]));if(Z){let G=new Date(Z.updatedAt);Q=Q.where((J)=>J.or([J("updated_at",">",G),J.and([J("updated_at","=",G),J("id",">",Z.id)])]))}return(await Q.orderBy("updated_at","asc").orderBy("id","asc").limit($).execute()).map((G)=>({id:G.id,organizationId:G.organizationId,updatedAt:G.updated_at instanceof Date?G.updated_at.toISOString():String(G.updated_at)}))}async markSwept($,Z){await this.db.updateTable("task_board_items").set({last_swept_at:new Date}).where("id","=",$).where("organization_id","=",Z).execute()}async failedRunInfo($,Z){let X=await this.db.selectFrom("threads as t").leftJoin((Q)=>Q.selectFrom("thread_message_parts as p").select(["p.thread_id","p.payload"]).where("p.kind","=","error").orderBy("p.created_at","desc").limit(1).as("err"),(Q)=>Q.onRef("err.thread_id","=","t.id")).select(["t.status","t.failure_kind as kind","err.payload as payload"]).where("t.id","=",$).where("t.organization_id","=",Z).executeTakeFirst();if(!X||X.status!=="failed")return null;return{kind:X.kind??null,errorText:vM8(X.payload)}}async scheduleRunRetry($,Z,X,Q){return(await this.db.updateTable("task_board_items").set({retry_at:Q,retry_attempts:X}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").returning("id").execute()).length>0}async returnToTodoAfterFailure($,Z,X){if((await this.db.updateTable("task_board_items").set({status:"todo",retry_at:null,retry_attempts:0,updated_by:X,updated_at:new Date}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").returning("id").execute()).length===0)return null;return await this.getById($,Z)}async failNeverStartedLinkedThreads($,Z,X){let Q=await this.db.selectFrom("threads as t").innerJoin("task_board_item_threads as l","l.thread_id","t.id").select(["t.id as threadId","l.task_board_item_id as itemId","l.organization_id as organizationId"]).where("t.status","=","in_progress").where("t.run_started_at","is",null).where((K)=>K.and([K("t.updated_at","<",Z),K.or([K("t.last_progress_at","is",null),K("t.last_progress_at","<",Z)])])).limit($).execute();if(Q.length===0)return[];let Y=Q.map((K)=>K.threadId),G=await this.db.updateTable("threads").set({status:"failed",failure_reason:X,failure_kind:"abandoned",run_owner_pod:null,run_config:null,run_started_at:null,updated_at:new Date().toISOString()}).where("id","in",Y).where("status","=","in_progress").returning("id").execute(),J=new Set(G.map((K)=>K.id));return Q.filter((K)=>J.has(K.threadId))}async listItemsStuckAfterFailure($,Z){let X=await this.db.selectFrom("task_board_items as i").innerJoin("task_board_item_threads as l","l.task_board_item_id","i.id").innerJoin("threads as t","t.id","l.thread_id").select(["i.id as id","i.organization_id as organizationId","t.id as threadId"]).where("i.status","=","in_progress").where("i.assignee_id","=",$$).where("i.dismissed_at","is",null).where("i.retry_at","is",null).where("t.status","=","failed").where("t.updated_at","<",Z).where((Y)=>Y.not(Y.exists(Y.selectFrom("task_board_item_threads as l2").innerJoin("threads as t2","t2.id","l2.thread_id").select("t2.id").whereRef("l2.task_board_item_id","=","i.id").where("t2.status","in",["in_progress","requires_action"])))).orderBy("t.updated_at","desc").limit($).execute(),Q=new Set;return X.filter((Y)=>!Q.has(Y.id)&&Q.add(Y.id))}async listItemsDueForRetry($,Z){return await this.db.selectFrom("task_board_items").select(["id","organization_id as organizationId","retry_attempts as attempts"]).where("retry_at","is not",null).where("retry_at","<=",Z).where("status","=","in_progress").orderBy("retry_at","asc").limit($).execute()}async claimDueRetry($,Z,X){return(await this.db.updateTable("task_board_items").set({retry_at:null}).where("id","=",$).where("organization_id","=",Z).where("retry_at","is not",null).where("retry_at","<=",X).returning("id").execute()).length>0}async clearRunRetry($,Z){await this.db.updateTable("task_board_items").set({retry_at:null,retry_attempts:0}).where("id","=",$).where("organization_id","=",Z).execute()}async clearSweepBudget($,Z){await this.db.updateTable("task_board_items").set({last_swept_at:null}).where("id","=",$).where("organization_id","=",Z).execute()}async linkedTaskIds($,Z){return(await this.db.selectFrom("task_board_item_threads").select("task_board_item_id as taskId").where("thread_id","=",$).where("organization_id","=",Z).execute()).map((Q)=>Q.taskId)}async linkPr($){await this.db.insertInto("task_board_item_prs").values({task_board_item_id:$.taskBoardItemId,organization_id:$.organizationId,url:$.url,pr_number:$.prNumber,repo_owner:$.repoOwner,repo_name:$.repoName,connection_id:$.connectionId??null}).onConflict((Z)=>Z.columns(["task_board_item_id","url"]).doNothing()).execute()}async listPrs($,Z){return(await this.db.selectFrom("task_board_item_prs").select(["url","pr_number as prNumber","repo_owner as repoOwner","repo_name as repoName","connection_id as connectionId","created_at as createdAt"]).where("task_board_item_id","=",$).where("organization_id","=",Z).orderBy("created_at","desc").execute()).map((Q)=>({url:Q.url,number:Q.prNumber,repoOwner:Q.repoOwner,repoName:Q.repoName,connectionId:Q.connectionId??null,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}async advanceLinkedTasksToReviewOnThreadFinish($,Z){let X=[];for(let Q of await this.linkedTaskIds($,Z)){let Y=await this.getById(Q,Z);if(!Y||!L$1(Y))continue;let G=await this.advanceToReviewIfInProgress(Q,Z,Y.updatedBy);if(!G)continue;X.push(G),await this.recordActivity({taskBoardItemId:Q,action:"status_changed",actorId:null,data:{from:Y.status,to:"in_review"}}).catch((J)=>console.error("[task-board] in_review activity write failed",J))}return X}async advanceToReviewIfInProgress($,Z,X){let Q=await this.db.updateTable("task_board_items").set({status:"in_review",updated_by:X,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").returningAll().executeTakeFirst();if(!Q)return null;let Y=this.itemFromDbRow(Q);return await this.attachRefs([Y],Z),Y}async reopenLinkedTasksOnThreadRun($,Z){let X=[];for(let Q of await this.linkedTaskIds($,Z)){let Y=await this.getById(Q,Z);if(!Y||Y.status!=="in_review")continue;X.push(await this.update(Q,Z,{status:"in_progress"},Y.updatedBy))}return X}claimConflictResolution($,Z,X){return this.claimInReviewSuperAgentSlot($,Z,X)}claimReviewChangesBounce($,Z,X){return this.claimInReviewSuperAgentSlot($,Z,X)}async claimInReviewSuperAgentSlot($,Z,X){let Q=await this.db.updateTable("task_board_items").set({status:"in_progress",updated_by:X,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_review").where("assignee_id","=",$$).returningAll().executeTakeFirst();if(!Q)return null;let Y=this.itemFromDbRow(Q);return await this.attachRefs([Y],Z),Y}async attachRefs($,Z){if($.length===0)return;await this.inTransaction(async(X)=>{await this.attachThreads(X,$,Z),await this.attachTags(X,$)})}async attachThreads($,Z,X){let Q=Z.map((J)=>J.id),Y=await $.selectFrom("task_board_item_threads as link").innerJoin("threads as t","t.id","link.thread_id").leftJoinLateral((J)=>J.selectFrom("thread_message_parts as p").select("p.payload as payload").whereRef("p.thread_id","=","link.thread_id").where("p.role","=","assistant").where("p.kind","=","text").orderBy("p.created_at","desc").limit(1).as("lastmsg"),(J)=>J.onTrue()).select((J)=>["link.task_board_item_id as taskId","link.thread_id as threadId","link.created_at as createdAt","t.status as status","t.title as title","t.virtual_mcp_id as virtualMcpId","t.metadata as metadata","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,title:J.title??null,lastMessage:vM8(J.lastMessagePayload),hasPreview:Wu4(J.metadata),hasMessages:!!J.hasMessages,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:Z4("act"),task_board_item_id:$.taskBoardItemId,action:$.action,actor_id:$.actorId,data:$.data?JSON.stringify($.data):null,occurred_at:new Date().toISOString()}).execute()}async claimReviewer($,Z,X){let Q=`rtok_${crypto.randomUUID()}`,Y=await this.db.insertInto("task_board_review_claims").values({task_board_item_id:$,reviewer:Z,cycle_at:X,token:Q}).onConflict((J)=>J.columns(["task_board_item_id","reviewer","cycle_at"]).doNothing()).returning("token").executeTakeFirst();if(Y)return{claimed:!0,token:Y.token};return{claimed:!1,token:(await this.db.selectFrom("task_board_review_claims").select("token").where("task_board_item_id","=",$).where("reviewer","=",Z).where("cycle_at","=",X).executeTakeFirst())?.token??Q}}async releaseReviewerClaim($,Z,X){await this.db.deleteFrom("task_board_review_claims").where("task_board_item_id","=",$).where("reviewer","=",Z).where("cycle_at","=",X).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();await this.db.insertInto("task_board_activity").values($.map((X)=>({id:Z4("act"),task_board_item_id:X.taskBoardItemId,action:X.action,actor_id:X.actorId,data:X.data?JSON.stringify(X.data):null,occurred_at:Z}))).execute()}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 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)=>O$1(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:Z4("cmt"),task_board_item_id:$.taskBoardItemId,parent_id:X,author_id:$.authorId,body:$.body}).returningAll().executeTakeFirstOrThrow();return O$1(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?O$1(X):null}async deleteComment($,Z,X){let Q=await this.commentInOrg($,Z);if(!Q)return!1;if(Q.authorId!==X&&Q.authorId!==$$)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,dueDate:$.due_date instanceof Date?$.due_date.toISOString():$.due_date,sortOrder:$.sort_order,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 Fr;var g_=O(()=>{DU();aX();tZ();Fr=new Set(["completed","failed","expired"])});function xM8($){let Z=$[1],X=$[2],Q=Number($[3]);return{owner:Z,repo:X,number:Q,url:`https://github.com/${Z}/${X}/pull/${Q}`}}function Oj0($){let Z=$.length>200000?$.slice(0,200000):$,X=Hu4.exec(Z);if(X&&Number(X[3])>0)return xM8(X);let Q=Nu4.exec(Z);if(Q&&Number(Q[3])>0)return xM8(Q);return null}function fM8($){if($==null)return null;if(typeof $==="string")return Oj0($);let Z;try{Z=JSON.stringify($)}catch{return null}return Z?Oj0(Z):null}var Hu4,Nu4;var D$1=O(()=>{Hu4=/https?:\/\/github\.com\/([^/\s"']+)\/([^/\s"']+)\/pull\/(\d+)/,Nu4=/https?:\/\/api\.github\.com\/repos\/([^/\s"']+)\/([^/\s"']+)\/pulls\/(\d+)/});function yM8($){if(bM8.has($.kind??""))return 0;return wu4($)?3:1}function wu4($){let Z=$.kind??"";if(bM8.has(Z))return!1;if(Uu4.has(Z))return!0;let X=$.errorText??"";if(!X)return!1;return Fu4.some((Q)=>Q.test(X))}var Uu4,bM8,Fu4;var gM8=O(()=>{Uu4=new Set(["stall","liveness","projection","abandoned"]),bM8=new Set(["cancelled","superseded"]),Fu4=[/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 cM8{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>=uM8)return console.warn(`[SSEHub] Total connection limit reached (${uM8})`),null;let Z=this.listeners.get($.organizationId);if(!Z)Z=new Map,this.listeners.set($.organizationId,Z);if(Z.size>=hM8)return console.warn(`[SSEHub] Per-org connection limit reached for ${$.organizationId} (${hM8})`),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&&!Bu4(Z.type,Q.typePatterns))continue;try{Q.push(Z)}catch{this.remove($,Q.id)}}}}function Bu4($,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 hM8=50,uM8=500,w9;var Lj0=O(()=>{D5();w9=new cM8;E6.createObservableGauge("sse_hub.connections",{description:"Active SSE listeners held by this pod",unit:"{connections}"}).addCallback(($)=>$.observe(w9.count))});function E$1($,Z,X,Q){dJ({event:$,organizationId:Z,properties:{task_id:X.id,reports_task:oQ(X),...Q}})}function W$($,Z){w9.emit($,{id:crypto.randomUUID(),type:hH8,source:"task-board",subject:Z.id,data:Z,time:new Date().toISOString()})}function lM8($,Z){w9.emit($,{id:crypto.randomUUID(),type:uH8,source:"task-board",subject:Z,data:{id:Z},time:new Date().toISOString()})}function Ou4($,Z){return $?[$]:Z}async function Ej0($,Z,X){let Q=$.metadata?.runMetadata?.taskBoardItemId,Y=!Q&&X?await $.storage.taskBoard.linkedTaskIds(X,Z):[];return Ou4(Q,Y)}async function Mh($,Z,X){let Q=$.organization?.id;if(!Q)return;try{for(let Y of await Ej0($,Q,X)){let G=await $.storage.taskBoard.getById(Y,Q);if(!G||Dj0[Z]<=Dj0[G.status])continue;let J=await $.storage.taskBoard.update(Y,Q,{status:Z},$.auth?.user?.id??G.updatedBy);if(await $.storage.taskBoard.recordActivity({taskBoardItemId:Y,action:"status_changed",actorId:null,data:{from:G.status,to:Z}}).catch((K)=>console.error("[task-board] activity log write failed",K)),W$(Q,J),Z==="in_progress"||Z==="in_review")E$1(Z==="in_progress"?"task_run_started":"task_run_completed",Q,J,{from:G.status,via:"pr_open"})}}catch(Y){console.error("[task-board] run transition failed",Y)}}async function zj0($,Z,X,Q){let Y=$.organization?.id;if(!Y)return;try{let G=fM8(Z);if(!G)return;let J=await Ej0($,Y,Q);for(let K of J)await $.storage.taskBoard.linkPr({taskBoardItemId:K,organizationId:Y,url:G.url,prNumber:G.number,repoOwner:G.owner,repoName:G.repo,connectionId:X??null})}catch(G){console.error("[task-board] PR capture failed",G)}}async function kh($,Z,X,Q){try{let Y=await $.advanceLinkedTasksToReviewOnThreadFinish(Z,X);for(let G of Y)W$(X,G),E$1("task_run_completed",X,G,{from:"in_progress",via:"thread_finish"});for(let G of Y)await $.clearRunRetry(G.id,X).catch(()=>{})}catch(Y){console.error("[task-board] thread-finish transition failed",Y)}await z$1($,Z,X),await Eu4($,Q,Z,X)}async function z$1($,Z,X){try{let Q=await $.failedRunInfo(Z,X);if(!Q)return;let Y=yM8(Q);for(let G of await $.linkedTaskIds(Z,X)){let J=await $.getById(G,X);if(!J||J.status!=="in_progress")continue;if(J.threads.some((H)=>H.hasMessages&&H.status==="in_progress"))continue;let K=J.retryAttempts;if(K<Y){let H=xX(Du4,Lu4,K,2,0.5);if(!await $.scheduleRunRetry(G,X,K+1,new Date(Date.now()+H)))continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"in_progress",retry:K+1,of:Y,reason:Q.errorText??Q.kind}}).catch(()=>{});continue}let W=await $.returnToTodoAfterFailure(G,X,J.updatedBy);if(!W)continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"todo",reason:Q.errorText??Q.kind,retriesSpent:K}}).catch(()=>{}),W$(X,W),E$1("task_run_failed",X,J,{reason:Q.kind??"error",retries_spent:K})}}catch(Q){console.error("[task-board] failed-run reaction failed",Q)}}async function Eu4($,Z,X,Q){try{for(let Y of await $.linkedTaskIds(X,Q)){let G=await $.getById(Y,Q);if(!G)continue;if(Dj0[G.status]>=Dj0.in_review)continue;if(G.threads.some((K)=>K.hasMessages&&(K.status===null||!Fr.has(K.status))))continue;if((await $.listPrs(Y,Q)).length>0)continue;await iH8(Z,Q,Y)}}catch(Y){console.error("[task-board] quota refund pass failed",Y)}}async function dM8($,Z){let X=$.organization?.id;if(!X)return;try{let Q=await $.storage.taskBoard.reopenLinkedTasksOnThreadRun(Z,X);for(let Y of Q)W$(X,Y)}catch(Q){console.error("[task-board] thread-run reopen failed",Q)}}function mM8($){return $.includes("create_pull_request")||$.includes("createPullRequest")}function iM8($){if(zu4.test($))return!0;return ju4.test($)&&Pu4.test($)}var Dj0,Lu4=30000,Du4=120000,zu4,ju4,Pu4;var zZ=O(()=>{DU();n4();g_();D$1();gM8();F$();Lj0();tZ();Dj0={triage:0,todo:1,in_progress:2,in_review:3,done:4};zu4=/\bgh\s+pr\s+create\b/,ju4=/api\.github\.com\/repos\/[^\s"']+\/pulls\b/,Pu4=/(?:-X|--request)\s+POST/});function jj0($,Z){return{resolveArgs:(X)=>_M8(X,$),onToolCalled:(X)=>{if(!X.isError&&mM8(X.toolName))Mh($,"in_review",Z);let Q=$.organization?.id,Y=$.auth?.user?.id;if(!Q||!Y)return;n1.capture({distinctId:Y,event:"tool_called",groups:{organization:Q},properties:{organization_id:Q,tool_source:"mcp",tool_name:X.toolName,tool_safe_name:X.toolSafeName,read_only:X.annotations?.readOnlyHint??null,destructive:X.annotations?.destructiveHint??null,idempotent:X.annotations?.idempotentHint??null,open_world:X.annotations?.openWorldHint??null,latency_ms:Math.round(X.latencyMs),is_error:X.isError}})},onPrOpened:(X)=>{zj0($,X.result,X.connectionId,Z)}}}var j$1=O(()=>{n4();qh();zZ()});function nM8($){if($ instanceof Error)return $.message;if(typeof $==="string")return $;if(typeof $==="object"&&$!==null){let Z=$.message;if(typeof Z==="string")return Z;try{return JSON.stringify($)}catch{return String($)}}return String($)}function pM8($){let Z,X,Q=new Promise((K)=>{X=K}),Y=(K)=>{if(Z===void 0)Z=K;X(Z)},J=($.streamText??WO)({model:$.model,system:$.systemMessages,messages:$.messages,tools:$.tools,providerOptions:pI8,prepareStep:$.prepareStep,temperature:$.temperature,maxOutputTokens:$.maxOutputTokens,stopWhen:$.stopWhen,abortSignal:$.abortSignal,onStepFinish:$.onStepFinish,onError:async(K)=>{let W=K.error??K,H=nM8(W);$.onError?.(H,W),Y(H)},onAbort:async()=>{Y(Z??"Run aborted before completion.")}});return Promise.resolve(J.finishReason).then(()=>{if(Z===void 0)X(void 0)}).catch((K)=>{let W=nM8(K);$.onError?.(W,K),Y(W)}),{result:J,error:Q}}var tM8=O(()=>{h4();m41()});import{SpanStatusCode as P$1,trace as Au4}from"@opentelemetry/api";async function Vh($){let Z=$.tracer??Au4.getTracer("decopilot"),X=$.stepLimit??($.kind==="agent"?UI8:hU),Q=$.planMode??!1,Y=$.toolApprovalLevel??"auto",G=Z.startSpan("decopilot.agent_loop",{attributes:{"decopilot.agent.id":$.virtualMcp.id,"decopilot.agent.kind":$.kind,"decopilot.organization.id":$.organization.id,"decopilot.model.id":$.models.thinking.id}}),J=await Hq8({ctx:$.ctx,organization:$.organization,virtualMcp:$.virtualMcp,kind:$.kind,planMode:Q,isDecopilot:$.isDecopilot,agentInstructions:$.systemAgentInstructions,currentThreadId:$.currentThreadId,user:$.user,userContext:$.userContext,codingWorkspace:$.codingWorkspace,passthroughClient:$.passthroughClient,connectionsData:$.connectionsData}),K=$.additionalSystemMessages&&$.additionalSystemMessages.length>0?[...J,...$.additionalSystemMessages]:J,{resolveArgs:W,onToolCalled:H,onPrOpened:N}=jj0($.ctx,$.currentThreadId),{tools:U}=await EM8({kind:$.kind,ctx:$.ctx,mcpClient:$.mcpClient,writer:$.writer,planMode:Q,toolApprovalLevel:Y,subtaskParams:$.subtaskParams,resolveArgs:W,onToolCalled:H,onPrOpened:N,fullBuiltInParams:$.subagentBuiltInParams,toolOutputMap:$.toolOutputMap}),F=$.extraTools?{...U,...$.extraTools}:U,w=$.__streamText?void 0:mz0($.provider,$.models.thinking),B=(D)=>{for(let E of D.toolCalls??[]){let z=E.input?.command;if(E.toolName==="bash"&&z&&iM8(z)){Mh($.ctx,"in_review",$.currentThreadId);let j=(D.toolResults??[]).find((A)=>A.toolCallId===E.toolCallId);zj0($.ctx,j?.output,null,$.currentThreadId);break}}return $.onStepFinish?.(D)},L=pM8({model:w,systemMessages:K,messages:$.messages,tools:F,prepareStep:$.prepareStep,temperature:$.temperature,maxOutputTokens:dI8($.models.thinking.limits,jX(K)+jX($.messages)+jX(lI8(F,$.activeToolNames))),stopWhen:GO(X),abortSignal:$.abortSignal,onStepFinish:B,streamText:$.__streamText,onError:(D,E)=>{if(console.error(`[runAgentLoop:${$.kind}:${$.virtualMcp.id}] Error`,D),G.setStatus({code:P$1.ERROR,message:D}),E instanceof Error)G.recordException(E)}});return Promise.resolve(L.result.finishReason).then(()=>{G.setStatus({code:P$1.OK})}).catch((D)=>{let E=D instanceof Error?D.message:typeof D==="string"?D:`${D}`;G.setStatus({code:P$1.ERROR,message:E})}).finally(()=>G.end()),{result:L.result,error:L.error,span:G,assembledSystemMessages:K}}var Pj0=O(()=>{h4();M41();cU();V_();Nq8();zM8();j$1();zZ();tM8()});function Aj0($){let Z=Number.isFinite($)?Math.max(1,$):1,X=0,Q=0,Y=[];return{async acquire(G=0){if(X<Z)X++;else await new Promise((K)=>{let W={priority:G,seq:Q++,wake:K},H=Y.length;while(H>0&&Y[H-1].priority>G)H--;Y.splice(H,0,W)});let J=!1;return()=>{if(J)return;J=!0;let K=Y.shift();if(K)K.wake();else X--}},get active(){return X},get pending(){return Y.length}}}var Tu4,oM8=()=>Tu4.acquire();var A$1=O(()=>{b8();Tu4=Aj0(Z1().decopilotMaxConcurrentSubagents)});import{z as T$1}from"zod";function I$1($){return/socket connection was closed|econnreset|epipe|etimedout|fetch failed|terminated|network error|premature close|\b(429|500|502|503|504)\b|overloaded|rate.?limit|timed? ?out/i.test($)}function Iu4($,Z,X=!1){if(!$.repo)return X?Z:void 0;return{repo:{owner:$.repo.owner,name:$.repo.name,connectedGithub:Boolean($.repo.connectionId)},branch:Z?.branch,cwd:Z?.cwd,workspaceKind:"github"}}function R$1($){if($==="{}")return"";return $.length>aM8?$.slice(0,aM8)+"\u2026":$}function qu4($,Z){let X="";try{X=typeof Z==="string"?Z:JSON.stringify(Z??{})}catch{X=""}let Q=R$1(X);return Q?`${$} ${Q}`:$}function H$1($,Z,X){let{provider:Q,organization:Y,models:G,needsApproval:J,self:K,onChildUsage:W,vmTools:H,codingWorkspace:N,parentBuiltInParams:U,currentThreadId:F}=Z;return l8({description:Ru4,inputSchema:K0(W$1),needsApproval:J,execute:async function*({prompt:w,agent_id:B},{abortSignal:L,toolCallId:D}){let E=performance.now(),z=!!K&&(!B||B===K.id),j=z?K.id:B,A=K?" Omit agent_id to clone yourself (a fresh subagent with your tools + instructions).":"";if(!j){yield{text:"",error:`agent_id is required here.${A}`,finishReason:"error"};return}if(!z&&K){let f=(await X.storage.virtualMcps.findById(K.id,Y.id))?.metadata?.subAgents;if(Array.isArray(f)&&!f.includes(j)){let y=f.length>0?" Or pass an id from <available-agents> or <available-connections>.":"";yield{text:"",error:`Target '${j}' is not in this agent's delegation allowlist (allow=${JSON.stringify(f)}).${A}${y}`,finishReason:"error"};return}}let P;try{P=await rz0(X,Y.id,j,{superUser:z})}catch(m){yield{text:"",error:`${m.message} (agent_id="${j}").${A}`,finishReason:"error"};return}let{mcpClient:q,targetRef:k}=P,M=k.id,C=await oM8();L?.addEventListener("abort",()=>C(),{once:!0});try{let m=Iu4(k,N,z),f=U?(()=>{let{toolOutputMap:H0,...k0}=U;return{...k0,passthroughClient:q,agentId:k.id,vmContext:z?k0.vmContext:null,backgroundDispatcher:null,onChildUsage:void 0,pendingImages:[]}})():void 0,y="",o=null,b=0,a=200,F0=()=>{if(!o)return;let H0=R$1(o.args),k0=y&&!y.endsWith(`
2745
+ )`,created_by:$.by,created_at:X,updated_by:$.by,updated_at:X}).returningAll().executeTakeFirstOrThrow();return this.itemFromDbRow(Y)}async update($,Z,X,Q){let Y=await this.db.updateTable("task_board_items").set({...X.title!==void 0?{title:X.title}:{},...X.description!==void 0?{description:X.description}:{},...X.status!==void 0?{status:X.status}:{},...X.priority!==void 0?{priority:X.priority}:{},...X.assigneeId!==void 0?{assignee_id:X.assigneeId}:{},...X.assignedBy!==void 0?{assigned_by:X.assignedBy}:{},...X.dueDate!==void 0?{due_date:X.dueDate}:{},...X.sortOrder!==void 0?{sort_order:X.sortOrder}:{},updated_by:Q,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).returningAll().executeTakeFirstOrThrow(),G=this.itemFromDbRow(Y);return await this.attachRefs([G],Z),G}async delete($,Z,X){return this.inTransaction(async(Q)=>{let Y=await Q.selectFrom("task_board_items").select(["created_by"]).where("id","=",$).where("organization_id","=",Z).executeTakeFirst();if(!Y)return!1;if(oQ({createdBy:Y.created_by}))return await Q.updateTable("task_board_items").set({dismissed_at:new Date().toISOString(),updated_by:X}).where("id","=",$).where("organization_id","=",Z).where("dismissed_at","is",null).execute(),!0;return await Q.deleteFrom("task_board_item_threads").where("task_board_item_id","=",$).where("organization_id","=",Z).execute(),await Q.deleteFrom("task_board_item_prs").where("task_board_item_id","=",$).where("organization_id","=",Z).execute(),await Q.deleteFrom("task_board_items").where("id","=",$).where("organization_id","=",Z).execute(),!0})}async dismissedFindingKeys($,Z){if(Z.length===0)return new Set;let X=await this.db.selectFrom("task_board_items").select(["external_key"]).where("organization_id","=",$).where("external_key","in",Z).where("dismissed_at","is not",null).execute();return new Set(X.flatMap((Q)=>Q.external_key??[]))}async listDismissedFindings($){return(await this.db.selectFrom("task_board_items").select(["external_key","updated_by","dismissed_at"]).where("organization_id","=",$).where("dismissed_at","is not",null).orderBy("dismissed_at","desc").execute()).flatMap((X)=>X.external_key&&X.dismissed_at?[{externalKey:X.external_key,dismissedBy:X.updated_by,dismissedAt:X.dismissed_at instanceof Date?X.dismissed_at.toISOString():X.dismissed_at}]:[])}async restoreDismissedFindings($,Z){if(Z&&Z.length===0)return 0;let X=this.db.updateTable("task_board_items").set({dismissed_at:null}).where("organization_id","=",$).where("dismissed_at","is not",null);if(Z)X=X.where("external_key","in",Z);let Q=await X.executeTakeFirst();return Number(Q.numUpdatedRows??0n)}async setItemTags($,Z,X){await this.inTransaction(async(Q)=>{if(await Q.deleteFrom("task_board_item_tags").where("task_board_item_id","=",$).$if(Z.length>0,(Y)=>Y.where("id","not in",Z)).execute(),Z.length>0)await Q.insertInto("task_board_item_tags").values(Z.map((Y)=>({task_board_item_id:$,id:Y,created_by:X,created_at:new Date().toISOString()}))).onConflict((Y)=>Y.doNothing()).execute()})}async addItemTags($,Z,X){if(Z.length===0)return;await this.db.insertInto("task_board_item_tags").values(Z.map((Q)=>({task_board_item_id:$,id:Q,created_by:X,created_at:new Date().toISOString()}))).onConflict((Q)=>Q.doNothing()).execute()}async linkThread($,Z,X){await this.db.insertInto("task_board_item_threads").values({task_board_item_id:$,thread_id:Z,organization_id:X}).onConflict((Q)=>Q.columns(["task_board_item_id","thread_id"]).doNothing()).execute()}async listItemsPendingReview($,Z,X){let Q=this.db.selectFrom("task_board_items").select(["id","organization_id as organizationId","updated_at"]).where("status","=","in_review").where("assignee_id","=",$$).where("dismissed_at","is",null);if(X)Q=Q.where((G)=>G.or([G("last_swept_at","is",null),G("last_swept_at","<",X)]));if(Z){let G=new Date(Z.updatedAt);Q=Q.where((J)=>J.or([J("updated_at",">",G),J.and([J("updated_at","=",G),J("id",">",Z.id)])]))}return(await Q.orderBy("updated_at","asc").orderBy("id","asc").limit($).execute()).map((G)=>({id:G.id,organizationId:G.organizationId,updatedAt:G.updated_at instanceof Date?G.updated_at.toISOString():String(G.updated_at)}))}async markSwept($,Z){await this.db.updateTable("task_board_items").set({last_swept_at:new Date}).where("id","=",$).where("organization_id","=",Z).execute()}async failedRunInfo($,Z){let X=await this.db.selectFrom("threads as t").leftJoinLateral((Q)=>Q.selectFrom("thread_message_parts as p").select("p.payload").whereRef("p.thread_id","=","t.id").where("p.kind","=","error").orderBy("p.created_at","desc").limit(1).as("err"),(Q)=>Q.onTrue()).select(["t.status","t.failure_kind as kind","err.payload as payload"]).where("t.id","=",$).where("t.organization_id","=",Z).executeTakeFirst();if(!X||X.status!=="failed")return null;return{kind:X.kind??null,errorText:vM8(X.payload)}}async scheduleRunRetry($,Z,X,Q){return(await this.db.updateTable("task_board_items").set({retry_at:Q,retry_attempts:X}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").returning("id").execute()).length>0}async returnToTodoAfterFailure($,Z,X){if((await this.db.updateTable("task_board_items").set({status:"todo",retry_at:null,retry_attempts:0,updated_by:X,updated_at:new Date}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").returning("id").execute()).length===0)return null;return await this.getById($,Z)}async failNeverStartedLinkedThreads($,Z,X){let Q=await this.db.selectFrom("threads as t").innerJoin("task_board_item_threads as l","l.thread_id","t.id").select(["t.id as threadId","l.task_board_item_id as itemId","l.organization_id as organizationId"]).where("t.status","=","in_progress").where("t.run_started_at","is",null).where((K)=>K.and([K("t.updated_at","<",Z),K.or([K("t.last_progress_at","is",null),K("t.last_progress_at","<",Z)])])).limit($).execute();if(Q.length===0)return[];let Y=Q.map((K)=>K.threadId),G=await this.db.updateTable("threads").set({status:"failed",failure_reason:X,failure_kind:"abandoned",run_owner_pod:null,run_config:null,run_started_at:null,updated_at:new Date().toISOString()}).where("id","in",Y).where("status","=","in_progress").returning("id").execute(),J=new Set(G.map((K)=>K.id));return Q.filter((K)=>J.has(K.threadId))}async listItemsStuckAfterFailure($,Z){let X=await this.db.selectFrom("task_board_items as i").innerJoin("task_board_item_threads as l","l.task_board_item_id","i.id").innerJoin("threads as t","t.id","l.thread_id").select(["i.id as id","i.organization_id as organizationId","t.id as threadId"]).where("i.status","=","in_progress").where("i.assignee_id","=",$$).where("i.dismissed_at","is",null).where("i.retry_at","is",null).where("t.status","=","failed").where("t.updated_at","<",Z).where((Y)=>Y.not(Y.exists(Y.selectFrom("task_board_item_threads as l2").innerJoin("threads as t2","t2.id","l2.thread_id").select("t2.id").whereRef("l2.task_board_item_id","=","i.id").where("t2.status","in",["in_progress","requires_action"])))).orderBy("t.updated_at","desc").limit($).execute(),Q=new Set;return X.filter((Y)=>!Q.has(Y.id)&&Q.add(Y.id))}async listItemsDueForRetry($,Z){return await this.db.selectFrom("task_board_items").select(["id","organization_id as organizationId","retry_attempts as attempts"]).where("retry_at","is not",null).where("retry_at","<=",Z).where("status","=","in_progress").orderBy("retry_at","asc").limit($).execute()}async claimDueRetry($,Z,X){return(await this.db.updateTable("task_board_items").set({retry_at:null}).where("id","=",$).where("organization_id","=",Z).where("retry_at","is not",null).where("retry_at","<=",X).returning("id").execute()).length>0}async clearRunRetry($,Z){await this.db.updateTable("task_board_items").set({retry_at:null,retry_attempts:0}).where("id","=",$).where("organization_id","=",Z).execute()}async clearSweepBudget($,Z){await this.db.updateTable("task_board_items").set({last_swept_at:null}).where("id","=",$).where("organization_id","=",Z).execute()}async linkedTaskIds($,Z){return(await this.db.selectFrom("task_board_item_threads").select("task_board_item_id as taskId").where("thread_id","=",$).where("organization_id","=",Z).execute()).map((Q)=>Q.taskId)}async linkPr($){await this.db.insertInto("task_board_item_prs").values({task_board_item_id:$.taskBoardItemId,organization_id:$.organizationId,url:$.url,pr_number:$.prNumber,repo_owner:$.repoOwner,repo_name:$.repoName,connection_id:$.connectionId??null}).onConflict((Z)=>Z.columns(["task_board_item_id","url"]).doNothing()).execute()}async listPrs($,Z){return(await this.db.selectFrom("task_board_item_prs").select(["url","pr_number as prNumber","repo_owner as repoOwner","repo_name as repoName","connection_id as connectionId","created_at as createdAt"]).where("task_board_item_id","=",$).where("organization_id","=",Z).orderBy("created_at","desc").execute()).map((Q)=>({url:Q.url,number:Q.prNumber,repoOwner:Q.repoOwner,repoName:Q.repoName,connectionId:Q.connectionId??null,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}async advanceLinkedTasksToReviewOnThreadFinish($,Z){let X=[];for(let Q of await this.linkedTaskIds($,Z)){let Y=await this.getById(Q,Z);if(!Y||!L$1(Y))continue;let G=await this.advanceToReviewIfInProgress(Q,Z,Y.updatedBy);if(!G)continue;X.push(G),await this.recordActivity({taskBoardItemId:Q,action:"status_changed",actorId:null,data:{from:Y.status,to:"in_review"}}).catch((J)=>console.error("[task-board] in_review activity write failed",J))}return X}async advanceToReviewIfInProgress($,Z,X){let Q=await this.db.updateTable("task_board_items").set({status:"in_review",updated_by:X,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_progress").returningAll().executeTakeFirst();if(!Q)return null;let Y=this.itemFromDbRow(Q);return await this.attachRefs([Y],Z),Y}async reopenLinkedTasksOnThreadRun($,Z){let X=[];for(let Q of await this.linkedTaskIds($,Z)){let Y=await this.getById(Q,Z);if(!Y||Y.status!=="in_review")continue;X.push(await this.update(Q,Z,{status:"in_progress"},Y.updatedBy))}return X}claimConflictResolution($,Z,X){return this.claimInReviewSuperAgentSlot($,Z,X)}claimReviewChangesBounce($,Z,X){return this.claimInReviewSuperAgentSlot($,Z,X)}async claimInReviewSuperAgentSlot($,Z,X){let Q=await this.db.updateTable("task_board_items").set({status:"in_progress",updated_by:X,updated_at:new Date().toISOString()}).where("id","=",$).where("organization_id","=",Z).where("status","=","in_review").where("assignee_id","=",$$).returningAll().executeTakeFirst();if(!Q)return null;let Y=this.itemFromDbRow(Q);return await this.attachRefs([Y],Z),Y}async attachRefs($,Z){if($.length===0)return;await this.inTransaction(async(X)=>{await this.attachThreads(X,$,Z),await this.attachTags(X,$)})}async attachThreads($,Z,X){let Q=Z.map((J)=>J.id),Y=await $.selectFrom("task_board_item_threads as link").innerJoin("threads as t","t.id","link.thread_id").leftJoinLateral((J)=>J.selectFrom("thread_message_parts as p").select("p.payload as payload").whereRef("p.thread_id","=","link.thread_id").where("p.role","=","assistant").where("p.kind","=","text").orderBy("p.created_at","desc").limit(1).as("lastmsg"),(J)=>J.onTrue()).select((J)=>["link.task_board_item_id as taskId","link.thread_id as threadId","link.created_at as createdAt","t.status as status","t.title as title","t.virtual_mcp_id as virtualMcpId","t.metadata as metadata","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,title:J.title??null,lastMessage:vM8(J.lastMessagePayload),hasPreview:Wu4(J.metadata),hasMessages:!!J.hasMessages,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:Z4("act"),task_board_item_id:$.taskBoardItemId,action:$.action,actor_id:$.actorId,data:$.data?JSON.stringify($.data):null,occurred_at:new Date().toISOString()}).execute()}async claimReviewer($,Z,X){let Q=`rtok_${crypto.randomUUID()}`,Y=await this.db.insertInto("task_board_review_claims").values({task_board_item_id:$,reviewer:Z,cycle_at:X,token:Q}).onConflict((J)=>J.columns(["task_board_item_id","reviewer","cycle_at"]).doNothing()).returning("token").executeTakeFirst();if(Y)return{claimed:!0,token:Y.token};return{claimed:!1,token:(await this.db.selectFrom("task_board_review_claims").select("token").where("task_board_item_id","=",$).where("reviewer","=",Z).where("cycle_at","=",X).executeTakeFirst())?.token??Q}}async releaseReviewerClaim($,Z,X){await this.db.deleteFrom("task_board_review_claims").where("task_board_item_id","=",$).where("reviewer","=",Z).where("cycle_at","=",X).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();await this.db.insertInto("task_board_activity").values($.map((X)=>({id:Z4("act"),task_board_item_id:X.taskBoardItemId,action:X.action,actor_id:X.actorId,data:X.data?JSON.stringify(X.data):null,occurred_at:Z}))).execute()}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 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)=>O$1(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:Z4("cmt"),task_board_item_id:$.taskBoardItemId,parent_id:X,author_id:$.authorId,body:$.body}).returningAll().executeTakeFirstOrThrow();return O$1(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?O$1(X):null}async deleteComment($,Z,X){let Q=await this.commentInOrg($,Z);if(!Q)return!1;if(Q.authorId!==X&&Q.authorId!==$$)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,dueDate:$.due_date instanceof Date?$.due_date.toISOString():$.due_date,sortOrder:$.sort_order,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 Fr;var g_=O(()=>{DU();aX();tZ();Fr=new Set(["completed","failed","expired"])});function xM8($){let Z=$[1],X=$[2],Q=Number($[3]);return{owner:Z,repo:X,number:Q,url:`https://github.com/${Z}/${X}/pull/${Q}`}}function Oj0($){let Z=$.length>200000?$.slice(0,200000):$,X=Hu4.exec(Z);if(X&&Number(X[3])>0)return xM8(X);let Q=Nu4.exec(Z);if(Q&&Number(Q[3])>0)return xM8(Q);return null}function fM8($){if($==null)return null;if(typeof $==="string")return Oj0($);let Z;try{Z=JSON.stringify($)}catch{return null}return Z?Oj0(Z):null}var Hu4,Nu4;var D$1=O(()=>{Hu4=/https?:\/\/github\.com\/([^/\s"']+)\/([^/\s"']+)\/pull\/(\d+)/,Nu4=/https?:\/\/api\.github\.com\/repos\/([^/\s"']+)\/([^/\s"']+)\/pulls\/(\d+)/});function yM8($){if(bM8.has($.kind??""))return 0;return wu4($)?3:1}function wu4($){let Z=$.kind??"";if(bM8.has(Z))return!1;if(Uu4.has(Z))return!0;let X=$.errorText??"";if(!X)return!1;return Fu4.some((Q)=>Q.test(X))}var Uu4,bM8,Fu4;var gM8=O(()=>{Uu4=new Set(["stall","liveness","projection","abandoned"]),bM8=new Set(["cancelled","superseded"]),Fu4=[/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 cM8{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>=uM8)return console.warn(`[SSEHub] Total connection limit reached (${uM8})`),null;let Z=this.listeners.get($.organizationId);if(!Z)Z=new Map,this.listeners.set($.organizationId,Z);if(Z.size>=hM8)return console.warn(`[SSEHub] Per-org connection limit reached for ${$.organizationId} (${hM8})`),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&&!Bu4(Z.type,Q.typePatterns))continue;try{Q.push(Z)}catch{this.remove($,Q.id)}}}}function Bu4($,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 hM8=50,uM8=500,w9;var Lj0=O(()=>{D5();w9=new cM8;E6.createObservableGauge("sse_hub.connections",{description:"Active SSE listeners held by this pod",unit:"{connections}"}).addCallback(($)=>$.observe(w9.count))});function E$1($,Z,X,Q){dJ({event:$,organizationId:Z,properties:{task_id:X.id,reports_task:oQ(X),...Q}})}function W$($,Z){w9.emit($,{id:crypto.randomUUID(),type:hH8,source:"task-board",subject:Z.id,data:Z,time:new Date().toISOString()})}function lM8($,Z){w9.emit($,{id:crypto.randomUUID(),type:uH8,source:"task-board",subject:Z,data:{id:Z},time:new Date().toISOString()})}function Ou4($,Z){return $?[$]:Z}async function Ej0($,Z,X){let Q=$.metadata?.runMetadata?.taskBoardItemId,Y=!Q&&X?await $.storage.taskBoard.linkedTaskIds(X,Z):[];return Ou4(Q,Y)}async function Mh($,Z,X){let Q=$.organization?.id;if(!Q)return;try{for(let Y of await Ej0($,Q,X)){let G=await $.storage.taskBoard.getById(Y,Q);if(!G||Dj0[Z]<=Dj0[G.status])continue;let J=await $.storage.taskBoard.update(Y,Q,{status:Z},$.auth?.user?.id??G.updatedBy);if(await $.storage.taskBoard.recordActivity({taskBoardItemId:Y,action:"status_changed",actorId:null,data:{from:G.status,to:Z}}).catch((K)=>console.error("[task-board] activity log write failed",K)),W$(Q,J),Z==="in_progress"||Z==="in_review")E$1(Z==="in_progress"?"task_run_started":"task_run_completed",Q,J,{from:G.status,via:"pr_open"})}}catch(Y){console.error("[task-board] run transition failed",Y)}}async function zj0($,Z,X,Q){let Y=$.organization?.id;if(!Y)return;try{let G=fM8(Z);if(!G)return;let J=await Ej0($,Y,Q);for(let K of J)await $.storage.taskBoard.linkPr({taskBoardItemId:K,organizationId:Y,url:G.url,prNumber:G.number,repoOwner:G.owner,repoName:G.repo,connectionId:X??null})}catch(G){console.error("[task-board] PR capture failed",G)}}async function kh($,Z,X,Q){try{let Y=await $.advanceLinkedTasksToReviewOnThreadFinish(Z,X);for(let G of Y)W$(X,G),E$1("task_run_completed",X,G,{from:"in_progress",via:"thread_finish"});for(let G of Y)await $.clearRunRetry(G.id,X).catch(()=>{})}catch(Y){console.error("[task-board] thread-finish transition failed",Y)}await z$1($,Z,X),await Eu4($,Q,Z,X)}async function z$1($,Z,X){try{let Q=await $.failedRunInfo(Z,X);if(!Q)return;let Y=yM8(Q);for(let G of await $.linkedTaskIds(Z,X)){let J=await $.getById(G,X);if(!J||J.status!=="in_progress")continue;if(J.threads.some((H)=>H.hasMessages&&H.status==="in_progress"))continue;let K=J.retryAttempts;if(K<Y){let H=xX(Du4,Lu4,K,2,0.5);if(!await $.scheduleRunRetry(G,X,K+1,new Date(Date.now()+H)))continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"in_progress",retry:K+1,of:Y,reason:Q.errorText??Q.kind}}).catch(()=>{});continue}let W=await $.returnToTodoAfterFailure(G,X,J.updatedBy);if(!W)continue;await $.recordActivity({taskBoardItemId:G,action:"status_changed",actorId:null,data:{from:"in_progress",to:"todo",reason:Q.errorText??Q.kind,retriesSpent:K}}).catch(()=>{}),W$(X,W),E$1("task_run_failed",X,J,{reason:Q.kind??"error",retries_spent:K})}}catch(Q){console.error("[task-board] failed-run reaction failed",Q)}}async function Eu4($,Z,X,Q){try{for(let Y of await $.linkedTaskIds(X,Q)){let G=await $.getById(Y,Q);if(!G)continue;if(Dj0[G.status]>=Dj0.in_review)continue;if(G.threads.some((K)=>K.hasMessages&&(K.status===null||!Fr.has(K.status))))continue;if((await $.listPrs(Y,Q)).length>0)continue;await iH8(Z,Q,Y)}}catch(Y){console.error("[task-board] quota refund pass failed",Y)}}async function dM8($,Z){let X=$.organization?.id;if(!X)return;try{let Q=await $.storage.taskBoard.reopenLinkedTasksOnThreadRun(Z,X);for(let Y of Q)W$(X,Y)}catch(Q){console.error("[task-board] thread-run reopen failed",Q)}}function mM8($){return $.includes("create_pull_request")||$.includes("createPullRequest")}function iM8($){if(zu4.test($))return!0;return ju4.test($)&&Pu4.test($)}var Dj0,Lu4=30000,Du4=120000,zu4,ju4,Pu4;var zZ=O(()=>{DU();n4();g_();D$1();gM8();F$();Lj0();tZ();Dj0={triage:0,todo:1,in_progress:2,in_review:3,done:4};zu4=/\bgh\s+pr\s+create\b/,ju4=/api\.github\.com\/repos\/[^\s"']+\/pulls\b/,Pu4=/(?:-X|--request)\s+POST/});function jj0($,Z){return{resolveArgs:(X)=>_M8(X,$),onToolCalled:(X)=>{if(!X.isError&&mM8(X.toolName))Mh($,"in_review",Z);let Q=$.organization?.id,Y=$.auth?.user?.id;if(!Q||!Y)return;n1.capture({distinctId:Y,event:"tool_called",groups:{organization:Q},properties:{organization_id:Q,tool_source:"mcp",tool_name:X.toolName,tool_safe_name:X.toolSafeName,read_only:X.annotations?.readOnlyHint??null,destructive:X.annotations?.destructiveHint??null,idempotent:X.annotations?.idempotentHint??null,open_world:X.annotations?.openWorldHint??null,latency_ms:Math.round(X.latencyMs),is_error:X.isError}})},onPrOpened:(X)=>{zj0($,X.result,X.connectionId,Z)}}}var j$1=O(()=>{n4();qh();zZ()});function nM8($){if($ instanceof Error)return $.message;if(typeof $==="string")return $;if(typeof $==="object"&&$!==null){let Z=$.message;if(typeof Z==="string")return Z;try{return JSON.stringify($)}catch{return String($)}}return String($)}function pM8($){let Z,X,Q=new Promise((K)=>{X=K}),Y=(K)=>{if(Z===void 0)Z=K;X(Z)},J=($.streamText??WO)({model:$.model,system:$.systemMessages,messages:$.messages,tools:$.tools,providerOptions:pI8,prepareStep:$.prepareStep,temperature:$.temperature,maxOutputTokens:$.maxOutputTokens,stopWhen:$.stopWhen,abortSignal:$.abortSignal,onStepFinish:$.onStepFinish,onError:async(K)=>{let W=K.error??K,H=nM8(W);$.onError?.(H,W),Y(H)},onAbort:async()=>{Y(Z??"Run aborted before completion.")}});return Promise.resolve(J.finishReason).then(()=>{if(Z===void 0)X(void 0)}).catch((K)=>{let W=nM8(K);$.onError?.(W,K),Y(W)}),{result:J,error:Q}}var tM8=O(()=>{h4();m41()});import{SpanStatusCode as P$1,trace as Au4}from"@opentelemetry/api";async function Vh($){let Z=$.tracer??Au4.getTracer("decopilot"),X=$.stepLimit??($.kind==="agent"?UI8:hU),Q=$.planMode??!1,Y=$.toolApprovalLevel??"auto",G=Z.startSpan("decopilot.agent_loop",{attributes:{"decopilot.agent.id":$.virtualMcp.id,"decopilot.agent.kind":$.kind,"decopilot.organization.id":$.organization.id,"decopilot.model.id":$.models.thinking.id}}),J=await Hq8({ctx:$.ctx,organization:$.organization,virtualMcp:$.virtualMcp,kind:$.kind,planMode:Q,isDecopilot:$.isDecopilot,agentInstructions:$.systemAgentInstructions,currentThreadId:$.currentThreadId,user:$.user,userContext:$.userContext,codingWorkspace:$.codingWorkspace,passthroughClient:$.passthroughClient,connectionsData:$.connectionsData}),K=$.additionalSystemMessages&&$.additionalSystemMessages.length>0?[...J,...$.additionalSystemMessages]:J,{resolveArgs:W,onToolCalled:H,onPrOpened:N}=jj0($.ctx,$.currentThreadId),{tools:U}=await EM8({kind:$.kind,ctx:$.ctx,mcpClient:$.mcpClient,writer:$.writer,planMode:Q,toolApprovalLevel:Y,subtaskParams:$.subtaskParams,resolveArgs:W,onToolCalled:H,onPrOpened:N,fullBuiltInParams:$.subagentBuiltInParams,toolOutputMap:$.toolOutputMap}),F=$.extraTools?{...U,...$.extraTools}:U,w=$.__streamText?void 0:mz0($.provider,$.models.thinking),B=(D)=>{for(let E of D.toolCalls??[]){let z=E.input?.command;if(E.toolName==="bash"&&z&&iM8(z)){Mh($.ctx,"in_review",$.currentThreadId);let j=(D.toolResults??[]).find((A)=>A.toolCallId===E.toolCallId);zj0($.ctx,j?.output,null,$.currentThreadId);break}}return $.onStepFinish?.(D)},L=pM8({model:w,systemMessages:K,messages:$.messages,tools:F,prepareStep:$.prepareStep,temperature:$.temperature,maxOutputTokens:dI8($.models.thinking.limits,jX(K)+jX($.messages)+jX(lI8(F,$.activeToolNames))),stopWhen:GO(X),abortSignal:$.abortSignal,onStepFinish:B,streamText:$.__streamText,onError:(D,E)=>{if(console.error(`[runAgentLoop:${$.kind}:${$.virtualMcp.id}] Error`,D),G.setStatus({code:P$1.ERROR,message:D}),E instanceof Error)G.recordException(E)}});return Promise.resolve(L.result.finishReason).then(()=>{G.setStatus({code:P$1.OK})}).catch((D)=>{let E=D instanceof Error?D.message:typeof D==="string"?D:`${D}`;G.setStatus({code:P$1.ERROR,message:E})}).finally(()=>G.end()),{result:L.result,error:L.error,span:G,assembledSystemMessages:K}}var Pj0=O(()=>{h4();M41();cU();V_();Nq8();zM8();j$1();zZ();tM8()});function Aj0($){let Z=Number.isFinite($)?Math.max(1,$):1,X=0,Q=0,Y=[];return{async acquire(G=0){if(X<Z)X++;else await new Promise((K)=>{let W={priority:G,seq:Q++,wake:K},H=Y.length;while(H>0&&Y[H-1].priority>G)H--;Y.splice(H,0,W)});let J=!1;return()=>{if(J)return;J=!0;let K=Y.shift();if(K)K.wake();else X--}},get active(){return X},get pending(){return Y.length}}}var Tu4,oM8=()=>Tu4.acquire();var A$1=O(()=>{b8();Tu4=Aj0(Z1().decopilotMaxConcurrentSubagents)});import{z as T$1}from"zod";function I$1($){return/socket connection was closed|econnreset|epipe|etimedout|fetch failed|terminated|network error|premature close|\b(429|500|502|503|504)\b|overloaded|rate.?limit|timed? ?out/i.test($)}function Iu4($,Z,X=!1){if(!$.repo)return X?Z:void 0;return{repo:{owner:$.repo.owner,name:$.repo.name,connectedGithub:Boolean($.repo.connectionId)},branch:Z?.branch,cwd:Z?.cwd,workspaceKind:"github"}}function R$1($){if($==="{}")return"";return $.length>aM8?$.slice(0,aM8)+"\u2026":$}function qu4($,Z){let X="";try{X=typeof Z==="string"?Z:JSON.stringify(Z??{})}catch{X=""}let Q=R$1(X);return Q?`${$} ${Q}`:$}function H$1($,Z,X){let{provider:Q,organization:Y,models:G,needsApproval:J,self:K,onChildUsage:W,vmTools:H,codingWorkspace:N,parentBuiltInParams:U,currentThreadId:F}=Z;return l8({description:Ru4,inputSchema:K0(W$1),needsApproval:J,execute:async function*({prompt:w,agent_id:B},{abortSignal:L,toolCallId:D}){let E=performance.now(),z=!!K&&(!B||B===K.id),j=z?K.id:B,A=K?" Omit agent_id to clone yourself (a fresh subagent with your tools + instructions).":"";if(!j){yield{text:"",error:`agent_id is required here.${A}`,finishReason:"error"};return}if(!z&&K){let f=(await X.storage.virtualMcps.findById(K.id,Y.id))?.metadata?.subAgents;if(Array.isArray(f)&&!f.includes(j)){let y=f.length>0?" Or pass an id from <available-agents> or <available-connections>.":"";yield{text:"",error:`Target '${j}' is not in this agent's delegation allowlist (allow=${JSON.stringify(f)}).${A}${y}`,finishReason:"error"};return}}let P;try{P=await rz0(X,Y.id,j,{superUser:z})}catch(m){yield{text:"",error:`${m.message} (agent_id="${j}").${A}`,finishReason:"error"};return}let{mcpClient:q,targetRef:k}=P,M=k.id,C=await oM8();L?.addEventListener("abort",()=>C(),{once:!0});try{let m=Iu4(k,N,z),f=U?(()=>{let{toolOutputMap:H0,...k0}=U;return{...k0,passthroughClient:q,agentId:k.id,vmContext:z?k0.vmContext:null,backgroundDispatcher:null,onChildUsage:void 0,pendingImages:[]}})():void 0,y="",o=null,b=0,a=200,F0=()=>{if(!o)return;let H0=R$1(o.args),k0=y&&!y.endsWith(`
2746
2746
  `)?`
2747
2747
  `:"";y+=`${k0}\u21B3 ${H0?`${o.name} ${H0}`:o.name}
2748
2748
  `,o=null},E0=()=>{if(!o)return y;let H0=R$1(o.args),k0=y&&!y.endsWith(`