decocms 2.180.0 → 2.180.1

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 (202) hide show
  1. package/dist/client/assets/{AlertCircle-B8eJ9Fod.js → AlertCircle-CbWLhYeZ.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-BsqjOo0a.js → ArrowLeft-B9NeadX7.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-Cfk9ftkI.js → ArrowUp-DrfphUZ7.js} +1 -1
  4. package/dist/client/assets/{Check-LF3O8VSl.js → Check-DcjDmu9V.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-CoxfMCD_.js → ChevronDown-DrbU8H5D.js} +1 -1
  6. package/dist/client/assets/{ChevronRight-CkZ762r8.js → ChevronRight-DDdv6Tbp.js} +1 -1
  7. package/dist/client/assets/{ChevronUp-CkQ5LXE4.js → ChevronUp-VuH0I39v.js} +1 -1
  8. package/dist/client/assets/{Container-C_jftBLa.js → Container-CGejuubt.js} +1 -1
  9. package/dist/client/assets/{Dataflow03-B_UyQRrQ.js → Dataflow03-pJrIM8ao.js} +1 -1
  10. package/dist/client/assets/{Download01-Dn7pc_mQ.js → Download01-CQYzJttq.js} +1 -1
  11. package/dist/client/assets/{FolderClosed-Csm3WP5B.js → FolderClosed-CVPLIN3O.js} +1 -1
  12. package/dist/client/assets/{Grid01-Bg8b-MfH.js → Grid01-B844I2C0.js} +1 -1
  13. package/dist/client/assets/{List-BpugyVN4.js → List-Tv7Uz5X9.js} +1 -1
  14. package/dist/client/assets/{Loading01-BkQZaZ86.js → Loading01-Bc-DhPB6.js} +1 -1
  15. package/dist/client/assets/{Play-Bpqump99.js → Play-DCXtg8WP.js} +1 -1
  16. package/dist/client/assets/{Plus-Dt2hP7ZJ.js → Plus-C4kspS_I.js} +1 -1
  17. package/dist/client/assets/{RefreshCcw01-BEbjARvC.js → RefreshCcw01-WHy1Jkso.js} +1 -1
  18. package/dist/client/assets/{SearchMd-BFV4EEyM.js → SearchMd-BR3WTGyz.js} +1 -1
  19. package/dist/client/assets/{Settings01--CB8mKBF.js → Settings01-B10O7d_o.js} +1 -1
  20. package/dist/client/assets/{Trash01-QTnEOFQZ.js → Trash01-BuPEx0_k.js} +1 -1
  21. package/dist/client/assets/{Type01-_F3mzKx6.js → Type01-DOkYrJiE.js} +1 -1
  22. package/dist/client/assets/{Upload01-CGSlQvAp.js → Upload01-C0WOeUrY.js} +1 -1
  23. package/dist/client/assets/{User01-aj-zclnv.js → User01-BUPQq0ED.js} +1 -1
  24. package/dist/client/assets/{VideoRecorder-D9PsxJCT.js → VideoRecorder-BxZ6ULCH.js} +1 -1
  25. package/dist/client/assets/{X-CcYgD4OX.js → X-DCpTFZeq.js} +1 -1
  26. package/dist/client/assets/{XCircle-D3Nvo83i.js → XCircle-DYElgwI6.js} +1 -1
  27. package/dist/client/assets/{XClose-BbXP9DKi.js → XClose-D1beSwQV.js} +1 -1
  28. package/dist/client/assets/{Zap-CL-zS1_o.js → Zap-UiK1PUg9.js} +1 -1
  29. package/dist/client/assets/{agent-connections-preview-yyYAc1Y_.js → agent-connections-preview-DgkBw1_l.js} +1 -1
  30. package/dist/client/assets/{agent-detail-CO6liKCV.js → agent-detail-Bd6DKOlD.js} +1 -1
  31. package/dist/client/assets/{agents-CnIjEcH1.js → agents-DWqpBnsH.js} +1 -1
  32. package/dist/client/assets/{ai-providers-logos-dK9NDdIF.js → ai-providers-logos-uG0Mew5d.js} +1 -1
  33. package/dist/client/assets/{alert-dialog-B7veNUkq.js → alert-dialog-CgAC3BOl.js} +1 -1
  34. package/dist/client/assets/{auth-catchall-BiyI3G0T.js → auth-catchall-CL8VE192.js} +1 -1
  35. package/dist/client/assets/{automation-detail-7rT6BloM.js → automation-detail-BhLrq0dM.js} +1 -1
  36. package/dist/client/assets/{automations-C4il4Gbe.js → automations-R_FawvUI.js} +1 -1
  37. package/dist/client/assets/{avatar-BM-8GWUG.js → avatar-DDDYpGJF.js} +1 -1
  38. package/dist/client/assets/{badge-Cumb6-S9.js → badge-Bjpq-dTo.js} +1 -1
  39. package/dist/client/assets/{binder-C7qDL2Qf.js → binder-NYNrYM3G.js} +1 -1
  40. package/dist/client/assets/{breadcrumb-7qt2G4oc.js → breadcrumb-CB7jsoFZ.js} +1 -1
  41. package/dist/client/assets/{card-MD3_cdl-.js → card-DpLO2iaY.js} +1 -1
  42. package/dist/client/assets/{checkbox-K8EP3pTL.js → checkbox-Cmst94pj.js} +1 -1
  43. package/dist/client/assets/{collapsible-xpsXy8wv.js → collapsible-CrFa4wr9.js} +1 -1
  44. package/dist/client/assets/{collection-detail-U2cng7ZV.js → collection-detail-DryS-0FT.js} +1 -1
  45. package/dist/client/assets/{collection-display-button-CneWEmV-.js → collection-display-button-D4lR44rH.js} +1 -1
  46. package/dist/client/assets/{collection-search-BjwxIPZo.js → collection-search-BWvT1mtI.js} +1 -1
  47. package/dist/client/assets/{collection-table-wrapper-DIx3NJ4P.js → collection-table-wrapper-DtUdWdus.js} +1 -1
  48. package/dist/client/assets/{collection-tabs-Dh0Q01AZ.js → collection-tabs-KsFYJUlb.js} +1 -1
  49. package/dist/client/assets/{command-NoPVlaEu.js → command-D37huG2X.js} +1 -1
  50. package/dist/client/assets/{connection-card-yKH89qjd.js → connection-card-yQSrUKDB.js} +1 -1
  51. package/dist/client/assets/{connection-detail-AHaqgIR7.js → connection-detail-B53-efUG.js} +1 -1
  52. package/dist/client/assets/{connections-l_vSiTwM.js → connections-Bx9lPnWk.js} +1 -1
  53. package/dist/client/assets/{constants-CxMCfkTL.js → constants-zYgM_0a9.js} +1 -1
  54. package/dist/client/assets/{context-CSEQjmqr.js → context-ClaY50kW.js} +1 -1
  55. package/dist/client/assets/{create-organization-dialog-DdxPGHeC.js → create-organization-dialog-Be59rwts.js} +1 -1
  56. package/dist/client/assets/{create-project-dialog-CcCDkiLS.js → create-project-dialog-BxooZZKw.js} +1 -1
  57. package/dist/client/assets/{danger-DDAzF_I4.js → danger-BqaBl_q3.js} +1 -1
  58. package/dist/client/assets/{danger-zone-BC1lNC6W.js → danger-zone-BfHnGFV8.js} +1 -1
  59. package/dist/client/assets/{dependencies-JXKC29RT.js → dependencies-c_Dnkt09.js} +1 -1
  60. package/dist/client/assets/{dialog-DrVTTNou.js → dialog-9dz0XD_x.js} +1 -1
  61. package/dist/client/assets/{drawer-D5CP8kBI.js → drawer-BUTpu_fr.js} +1 -1
  62. package/dist/client/assets/{dropdown-menu-C89gFzkt.js → dropdown-menu-Bu3FiY_L.js} +1 -1
  63. package/dist/client/assets/{dynamic-plugin-layout-BbaU9_8j.js → dynamic-plugin-layout-CmNTXSLI.js} +1 -1
  64. package/dist/client/assets/{editable-task-title-DsAH2SQ2.js → editable-task-title-o3X-MF0r.js} +1 -1
  65. package/dist/client/assets/{empty-state-DbZVzTBg.js → empty-state-BZHGNb7q.js} +1 -1
  66. package/dist/client/assets/{empty-state-BBvw3ZYd.js → empty-state-DZEt4GhJ.js} +1 -1
  67. package/dist/client/assets/{env-vars-editor-cvzwdQUu.js → env-vars-editor-B0qTLind.js} +1 -1
  68. package/dist/client/assets/{extract-connection-data-BffW3qeV.js → extract-connection-data-etKnB491.js} +1 -1
  69. package/dist/client/assets/{file-browser-mmi6aXC9.js → file-browser-CgCeL4Le.js} +2 -2
  70. package/dist/client/assets/{form-CWBeLdT6.js → form-BqkPOMyB.js} +1 -1
  71. package/dist/client/assets/{general-CcztoxCU.js → general-CftlpT6m.js} +1 -1
  72. package/dist/client/assets/{generate-id-Dg3pJRJj.js → generate-id-DvtLadCy.js} +1 -1
  73. package/dist/client/assets/{grid-view-B7Dp989W.js → grid-view-DHsEK-PQ.js} +1 -1
  74. package/dist/client/assets/{home-VPKMEjYo.js → home-PSYpS_Lj.js} +1 -1
  75. package/dist/client/assets/{index-BtPRAwS7.js → index-BQdJvUAH.js} +1 -1
  76. package/dist/client/assets/{index-sDOHRFRE.js → index-BWrGddwd.js} +1 -1
  77. package/dist/client/assets/{index-8Rhr5q5h.js → index-BazPw9_O.js} +1 -1
  78. package/dist/client/assets/{index-B02T0zBo.js → index-Brr7A335.js} +3 -3
  79. package/dist/client/assets/{index-BLDRNzDY.js → index-C4N6EaVB.js} +1 -1
  80. package/dist/client/assets/{index-B3k9P-lf.js → index-COnRU3v7.js} +1 -1
  81. package/dist/client/assets/{index-BLdXKd8l.js → index-DYfGsM_t.js} +1 -1
  82. package/dist/client/assets/{index-C8GCLBuY.js → index-DZgMGqvO.js} +1 -1
  83. package/dist/client/assets/{index-DawpyEvM.js → index-Db4SWmqo.js} +1 -1
  84. package/dist/client/assets/{index-Digd80e7.js → index-JPBlKO3L.js} +1 -1
  85. package/dist/client/assets/{index-DhZa9JXj.js → index-PAn33g2N.js} +1 -1
  86. package/dist/client/assets/{infiniteQueryObserver-CkKdAcwZ.js → infiniteQueryObserver-c6RXxZ0G.js} +1 -1
  87. package/dist/client/assets/{input-ForWep-5.js → input-BNjye-PL.js} +1 -1
  88. package/dist/client/assets/{integration-icon-BzBBJ1Fk.js → integration-icon-DNmpqadJ.js} +1 -1
  89. package/dist/client/assets/{label-W6RhX9gu.js → label-eGYyBJst.js} +1 -1
  90. package/dist/client/assets/{layout-C--X5eSs.js → layout-BlxQvRSL.js} +1 -1
  91. package/dist/client/assets/{layout-rVBMqKc2.js → layout-DekWEJhY.js} +1 -1
  92. package/dist/client/assets/{login-LyWPWfzK.js → login-DIFEZdtr.js} +1 -1
  93. package/dist/client/assets/{logo-upload-D9fV-5Wh.js → logo-upload-DiA99WAp.js} +1 -1
  94. package/dist/client/assets/{mcp-app-renderer-CEmMQe7U.js → mcp-app-renderer-CFNpTQ6E.js} +1 -1
  95. package/dist/client/assets/{mcp-server-card-BJN3Fvzu.js → mcp-server-card-CdsVz3jG.js} +1 -1
  96. package/dist/client/assets/{mcp-server-detail-zBT-Z-Xy.js → mcp-server-detail-DJvBbAjW.js} +2 -2
  97. package/dist/client/assets/{members-BDM7TZxS.js → members-Dyh2zG1d.js} +1 -1
  98. package/dist/client/assets/{monaco-editor-kDZdmDDL.js → monaco-editor-Bo90MSIY.js} +1 -1
  99. package/dist/client/assets/{monitoring-dashboard-edit-BuUSd4S7.js → monitoring-dashboard-edit-xhJPKPVH.js} +1 -1
  100. package/dist/client/assets/{monitoring-dashboard-view-DxXnUjzJ.js → monitoring-dashboard-view-dy0Flwse.js} +1 -1
  101. package/dist/client/assets/{monitoring-6tVMGVPB.js → monitoring-gqmKl2bi.js} +1 -1
  102. package/dist/client/assets/{monitoring-stats-row-BwublEtu.js → monitoring-stats-row-iYQx558q.js} +1 -1
  103. package/dist/client/assets/{oauth-callback-u8tTg7C5.js → oauth-callback-BqwcoIo6.js} +1 -1
  104. package/dist/client/assets/{oauth-callback-ai-provider-CIS3s0nz.js → oauth-callback-ai-provider-Dgpw8lcY.js} +1 -1
  105. package/dist/client/assets/{org-ai-providers-B_fAMKG8.js → org-ai-providers-D56R_fMG.js} +1 -1
  106. package/dist/client/assets/{page-CAbxUZTp.js → page-0Lz9H1On.js} +1 -1
  107. package/dist/client/assets/{page-CKYYB5UO.js → page-DOK5Sw55.js} +1 -1
  108. package/dist/client/assets/{plugin-empty-state-BJl5Ig-x.js → plugin-empty-state-CEDsozup.js} +1 -1
  109. package/dist/client/assets/{plugin-empty-state-CwdpqFxA.js → plugin-empty-state-DWQhD8Mf.js} +1 -1
  110. package/dist/client/assets/{plugin-header-CecjK7-6.js → plugin-header-CLZrxRuX.js} +1 -1
  111. package/dist/client/assets/{plugin-header-9p_F2K9N.js → plugin-header-DzGPACOB.js} +1 -1
  112. package/dist/client/assets/plugins-BTfTKK1m.js +1 -0
  113. package/dist/client/assets/{popover-B4lCL3Ry.js → popover-Z3f6ZQm7.js} +1 -1
  114. package/dist/client/assets/{project-app-view-hEe0cnSR.js → project-app-view-V-uewlX6.js} +1 -1
  115. package/dist/client/assets/{project-layout-CZOciC9q.js → project-layout-BBK9e0vM.js} +1 -1
  116. package/dist/client/assets/{project-plugins-BYtvCgGC.js → project-plugins-Cwp30i4R.js} +1 -1
  117. package/dist/client/assets/{projects-list-DLy1jTdn.js → projects-list-B8C93dIo.js} +1 -1
  118. package/dist/client/assets/{registry-layout-9bTlGXFv.js → registry-layout-C4_a8IdE.js} +1 -1
  119. package/dist/client/assets/{registry-utils-Du5_ORZW.js → registry-utils-y_fNkZkQ.js} +1 -1
  120. package/dist/client/assets/{reset-password-VTtBosDY.js → reset-password-BERKFVJp.js} +1 -1
  121. package/dist/client/assets/{resizable-CmQhfOL7.js → resizable-VdsKauhj.js} +1 -1
  122. package/dist/client/assets/{save-actions-gCP1b0um.js → save-actions-CMjDy0Ce.js} +1 -1
  123. package/dist/client/assets/{scroll-area-XDfeLpGT.js → scroll-area-Dys6p7CY.js} +1 -1
  124. package/dist/client/assets/{select-DPY6FKWr.js → select-B4xbO58q.js} +1 -1
  125. package/dist/client/assets/{select-virtual-mcp-CIMYOASs.js → select-virtual-mcp-Dkfvl35G.js} +1 -1
  126. package/dist/client/assets/{shell-layout-Cvv7MmQe.js → shell-layout-CzWpNDNz.js} +2 -2
  127. package/dist/client/assets/{sidebar-settings-oum_h4r1.js → sidebar-settings-94-vpDCw.js} +1 -1
  128. package/dist/client/assets/{skeleton-D7_wHYzP.js → skeleton-BfSOCc9S.js} +1 -1
  129. package/dist/client/assets/{spinner-qAHxlGf5.js → spinner-DnOPQqyk.js} +1 -1
  130. package/dist/client/assets/{store-invite-CZfZboyf.js → store-invite-PCKKyOl8.js} +1 -1
  131. package/dist/client/assets/{switch-B_37GSuW.js → switch-Dn2VbcGQ.js} +1 -1
  132. package/dist/client/assets/{table-DirES7KL.js → table-BxPcvQ9o.js} +1 -1
  133. package/dist/client/assets/{tabs-CKfZGJCt.js → tabs-D70zg5lJ.js} +1 -1
  134. package/dist/client/assets/{task-status-DeYQ5Diz.js → task-status-DcA6CFUk.js} +1 -1
  135. package/dist/client/assets/tasks-DFBzNwFL.js +1 -0
  136. package/dist/client/assets/{tasks-panel-Bbz3xeDf.js → tasks-panel-B9bc_p-z.js} +1 -1
  137. package/dist/client/assets/{textarea-BKGwVT1m.js → textarea-Ct5_AtGA.js} +1 -1
  138. package/dist/client/assets/{time-range-picker-y1wEVr1m.js → time-range-picker-C3sQPl1b.js} +1 -1
  139. package/dist/client/assets/{toggle-group-C7uP4yM0.js → toggle-group-BTFft7Fn.js} +1 -1
  140. package/dist/client/assets/{tools-list-BrPZj3wN.js → tools-list-C87HbBZ8.js} +1 -1
  141. package/dist/client/assets/{tooltip-CFp3ORxD.js → tooltip-CkRG11nt.js} +1 -1
  142. package/dist/client/assets/{topbar-portal-DS87obgh.js → topbar-portal-DbW6t3qj.js} +1 -1
  143. package/dist/client/assets/{types-Cq5MfqXb.js → types-Dx34u3xT.js} +1 -1
  144. package/dist/client/assets/{use-automations-COEE-nvw.js → use-automations-CmTGPtG8.js} +1 -1
  145. package/dist/client/assets/{use-collections-Glkd82JS.js → use-collections-BuridTiI.js} +1 -1
  146. package/dist/client/assets/{use-connection-DEVOZTNJ.js → use-connection-WnniEfph.js} +1 -1
  147. package/dist/client/assets/{use-copy-C9sTW2YW.js → use-copy-BeVulQm3.js} +1 -1
  148. package/dist/client/assets/{use-create-virtual-mcp-Br5CSA0l.js → use-create-virtual-mcp-BbDtSF4k.js} +1 -1
  149. package/dist/client/assets/{use-infinite-scroll-Cxu6oap_.js → use-infinite-scroll-BitXf5wc.js} +1 -1
  150. package/dist/client/assets/{use-install-from-registry-B67DeFNR.js → use-install-from-registry-BbsHXAvF.js} +1 -1
  151. package/dist/client/assets/{use-list-state-9uBW39Lr.js → use-list-state-BS-4PDWE.js} +1 -1
  152. package/dist/client/assets/{use-mcp-prompts-DFUn-Vc8.js → use-mcp-prompts-C6hR9huh.js} +1 -1
  153. package/dist/client/assets/{use-mcp-resources-CkUyAyuG.js → use-mcp-resources-DhirVQgi.js} +1 -1
  154. package/dist/client/assets/{use-mcp-tools-CMxPCHjd.js → use-mcp-tools-BjoRAfDL.js} +1 -1
  155. package/dist/client/assets/{use-members-CXGpt7MK.js → use-members-BdRmI9FL.js} +1 -1
  156. package/dist/client/assets/{use-project-C-n-ZTz8.js → use-project-Dy3tSas3.js} +1 -1
  157. package/dist/client/assets/{use-store-discovery-CaaH9ZyH.js → use-store-discovery-DtyNi-FP.js} +1 -1
  158. package/dist/client/assets/{use-view-mode-CyRa2Tg7.js → use-view-mode-U7lICyoa.js} +1 -1
  159. package/dist/client/assets/{use-virtual-mcp-B29yPvq9.js → use-virtual-mcp-RrB-tK1z.js} +1 -1
  160. package/dist/client/assets/useInfiniteQuery-CsD7JLjH.js +1 -0
  161. package/dist/client/assets/{useMutation-r3KZb1HO.js → useMutation-BZjo1ZXS.js} +1 -1
  162. package/dist/client/assets/useQuery-Ck1ZbbFp.js +1 -0
  163. package/dist/client/assets/useSuspenseInfiniteQuery-D1F_CbNV.js +1 -0
  164. package/dist/client/assets/{user-CSVNc19J.js → user-B-oJutpy.js} +1 -1
  165. package/dist/client/assets/{workflow-ZIi3x0hm.js → workflow-DxaY4-SA.js} +1 -1
  166. package/dist/client/index.html +1 -1
  167. package/dist/server/cli.js +1 -1
  168. package/dist/server/migrate.js +1 -1
  169. package/dist/server/node_modules/pg/LICENSE +21 -0
  170. package/dist/server/node_modules/pg/README.md +95 -0
  171. package/dist/server/node_modules/pg/esm/index.mjs +20 -0
  172. package/dist/server/node_modules/pg/lib/client.js +743 -0
  173. package/dist/server/node_modules/pg/lib/connection-parameters.js +171 -0
  174. package/dist/server/node_modules/pg/lib/connection.js +221 -0
  175. package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +122 -0
  176. package/dist/server/node_modules/pg/lib/crypto/sasl.js +212 -0
  177. package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +43 -0
  178. package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +89 -0
  179. package/dist/server/node_modules/pg/lib/crypto/utils.js +9 -0
  180. package/dist/server/node_modules/pg/lib/defaults.js +91 -0
  181. package/dist/server/node_modules/pg/lib/index.js +73 -0
  182. package/dist/server/node_modules/pg/lib/native/client.js +323 -0
  183. package/dist/server/node_modules/pg/lib/native/index.js +2 -0
  184. package/dist/server/node_modules/pg/lib/native/query.js +165 -0
  185. package/dist/server/node_modules/pg/lib/query.js +252 -0
  186. package/dist/server/node_modules/pg/lib/result.js +109 -0
  187. package/dist/server/node_modules/pg/lib/stream.js +83 -0
  188. package/dist/server/node_modules/pg/lib/type-overrides.js +35 -0
  189. package/dist/server/node_modules/pg/lib/utils.js +217 -0
  190. package/dist/server/node_modules/pg/package.json +76 -0
  191. package/dist/server/node_modules/pg-pool/LICENSE +21 -0
  192. package/dist/server/node_modules/pg-pool/README.md +357 -0
  193. package/dist/server/node_modules/pg-pool/esm/index.mjs +5 -0
  194. package/dist/server/node_modules/pg-pool/index.js +517 -0
  195. package/dist/server/node_modules/pg-pool/package.json +51 -0
  196. package/dist/server/server.js +1 -1
  197. package/package.json +1 -1
  198. package/dist/client/assets/plugins-FpJP518T.js +0 -1
  199. package/dist/client/assets/tasks-C-mIVJ1R.js +0 -1
  200. package/dist/client/assets/useInfiniteQuery-pONeFYZo.js +0 -1
  201. package/dist/client/assets/useQuery-D3gzovXd.js +0 -1
  202. package/dist/client/assets/useSuspenseInfiniteQuery-ButnbJ6Q.js +0 -1
@@ -1135,7 +1135,7 @@ Hint: Configure a valid Google account email in Monitor Configuration > Contexto
1135
1135
 
1136
1136
  `).trim(),U=V.length>0?`Not executed tools (${V.length}/${Y.tools.length}): ${V.join(", ")}`:"",q=[z,U].filter((O)=>O.length>0).join(`
1137
1137
 
1138
- `);return{toolResults:H,agentSummary:q.length>0?q:null,unexecutedTools:V}}finally{await X.close?.().catch(()=>{})}}async function cj1(Y,X){let G=i6(),J=Y.organization.id,W=await G.monitorConnections.findByItemId(J,X.id);if(W){if(await Y.storage.connections.findById(W.connection_id,J))return W.connection_id}let K=Vi4(X);if(!K)throw Error(`Registry item ${X.id} has no remote URL`);let Z=$i4(Y),Q=Fi4(X),H=await Y.storage.connections.create({organization_id:J,created_by:Z,title:`[MCP Tester] ${X.title}`,description:`Auto-created monitor connection for ${X.id}`,app_name:"private-registry-monitor",app_id:`${hF}:monitor`,connection_type:Q,connection_url:K,metadata:{monitorConnection:!0,registryItemId:X.id,pluginId:hF}});return await G.monitorConnections.upsert({organization_id:J,item_id:X.id,connection_id:H.id,auth_status:"none"}),H.id}async function Mi4(Y){let X=i6();switch(Y.action){case"unlisted":return await X.items.update(Y.organizationId,Y.item.id,{is_unlisted:!0}),"unlisted";case"remove_public":return await X.items.update(Y.organizationId,Y.item.id,{is_public:!1}),"removed_public";case"remove_private":case"remove_all":return await X.items.delete(Y.organizationId,Y.item.id),Y.action==="remove_all"?"removed_all":"removed_private";default:return"none"}}async function Ai4(Y){let X=Date.now();if(Y.signal.aborted)throw Error("Run cancelled");let G="passed",J=!1,W=!1,K=null,Z="none",Q=null,H=[],$=null,V=async()=>{await Y.onProgress?.({status:G,connectionOk:J,toolsListed:W,toolResults:[...H],agentSummary:Q,errorMessage:K,actionTaken:Z,durationMs:Date.now()-X})};try{let z=await cj1(Y.ctx,Y.item);$=await Y.ctx.createMCPProxy(z),J=!0;let q=(await Iu($.listTools?$.listTools():Promise.resolve({tools:[]}),Y.monitorConfig.perMcpTimeoutMs,`listTools ${Y.item.id}`)).tools??[];if(W=!0,Y.monitorConfig.monitorMode!=="health_check")H.push(...q.map((O)=>dj1(O.name))),await V();if(Y.monitorConfig.monitorMode==="full_agent"){let O=await wi4({ctx:Y.ctx,monitorConfig:Y.monitorConfig,item:Y.item,proxy:$,tools:q,signal:Y.signal,onProgress:async(N)=>{H.length=0,H.push(...D06({discoveredTools:q,executedResults:N})),G=N.some((M)=>!M.success)?"failed":"passed",await V()}});if(H.length=0,H.push(...D06({discoveredTools:q,executedResults:O.toolResults})),Q=O.agentSummary,O.toolResults.some((N)=>!N.success))G="failed";if(O.unexecutedTools.length>0){if(G="failed",!K)K=`Agent skipped ${O.unexecutedTools.length} tool(s): ${O.unexecutedTools.join(", ")}`}}else if(Y.monitorConfig.monitorMode!=="health_check"){for(let O=0;O<q.length;O++){let N=q[O];if(!N||Y.signal.aborted)throw Error("Run cancelled");let M=Date.now();try{let P={},R=await Iu($.callTool({name:N.name,arguments:P}),Y.monitorConfig.perToolTimeoutMs,`tool ${N.name}`),C=!R.isError,T=Date.now()-M;w06(H,{toolName:N.name,success:C,input:P,durationMs:T,outputPreview:R06(R.structuredContent??R.content),error:C?null:YY1(R.content?.find((E)=>E.type==="text")?.text?.slice(0,300)??"Tool returned error")}),await V()}catch(P){let R=Date.now()-M,C=P instanceof Error?P.message:String(P);w06(H,{toolName:N.name,success:!1,durationMs:R,error:YY1(C)}),await V()}}if(H.some((O)=>!O.success))G="failed"}else for(let O of q)H.push(dj1(O.name));if(Y.canApplyFailureAction&&G==="failed"&&Y.monitorConfig.onFailure!=="none")Z=await Mi4({organizationId:Y.organizationId,item:Y.item,action:Y.monitorConfig.onFailure})}catch(z){if(K=z instanceof Error?z.message:String(z),zi4(z))G="needs_auth",await i6().monitorConnections.updateAuthStatus(Y.organizationId,Y.item.id,"needs_auth");else G="error"}finally{await $?.close?.().catch(()=>{})}return{status:G,connectionOk:J,toolsListed:W,toolResults:H,agentSummary:Q,errorMessage:K,actionTaken:Z,durationMs:Date.now()-X}}async function Pi4(Y){let X=Date.now(),G=i6(),W=(await G.items.list(Y.organizationId,{includeUnlisted:!0})).items.filter((U)=>{if(Y.monitorConfig.testPublicOnly&&!U.is_public)return!1;if(Y.monitorConfig.testPrivateOnly&&U.is_public)return!1;return!0}),K=Y.monitorConfig.includePendingRequests?(await G.publishRequests.list(Y.organizationId,{status:"pending",limit:500})).items.map((U)=>Ei4(U)):[],Z=[...W.map((U)=>({item:U,source:"registry_item"})),...K.map((U)=>({item:U,source:"publish_request"}))];if(Z.length===0){await G.monitorRuns.update(Y.organizationId,Y.runId,{total_items:0,status:"completed",started_at:new Date().toISOString(),finished_at:new Date().toISOString()}),await t91({ctx:Y.ctx,type:"registry.monitor.completed",subject:Y.runId,data:{runId:Y.runId,total:0}});return}await G.monitorRuns.update(Y.organizationId,Y.runId,{total_items:Z.length,status:"running",started_at:new Date().toISOString()});let Q=0,H=0,$=0,V=0;for(let U=0;U<Z.length;U++){let q=Z[U],O=q?.item;if(!O||Y.signal.aborted){await G.monitorRuns.update(Y.organizationId,Y.runId,{status:"cancelled",current_item_id:null,finished_at:new Date().toISOString()});return}await G.monitorRuns.update(Y.organizationId,Y.runId,{current_item_id:O.id});let N=null,M=async(R)=>{if(!N){N=(await G.monitorResults.create({run_id:Y.runId,organization_id:Y.organizationId,item_id:O.id,item_title:O.title,status:R.status,error_message:R.errorMessage,connection_ok:R.connectionOk,tools_listed:R.toolsListed,tool_results:R.toolResults,agent_summary:R.agentSummary,duration_ms:R.durationMs,action_taken:R.actionTaken})).id;return}await G.monitorResults.update(Y.organizationId,N,{status:R.status,error_message:R.errorMessage,connection_ok:R.connectionOk,tools_listed:R.toolsListed,tool_results:R.toolResults,agent_summary:R.agentSummary,duration_ms:R.durationMs,action_taken:R.actionTaken})},P=await Ai4({ctx:Y.ctx,organizationId:Y.organizationId,item:O,monitorConfig:Y.monitorConfig,signal:Y.signal,canApplyFailureAction:q.source==="registry_item",onProgress:M});if(await M({status:P.status,connectionOk:P.connectionOk,toolsListed:P.toolsListed,toolResults:P.toolResults,agentSummary:P.agentSummary,errorMessage:P.errorMessage,actionTaken:P.actionTaken,durationMs:P.durationMs}),Q+=1,P.status==="passed")H+=1;else if(P.status==="failed"||P.status==="error")$+=1;else V+=1;if(await G.monitorRuns.update(Y.organizationId,Y.runId,{tested_items:Q,passed_items:H,failed_items:$,skipped_items:V}),P.status==="failed"||P.status==="error")await t91({ctx:Y.ctx,type:"registry.monitor.item_failed",subject:O.id,data:{runId:Y.runId,itemId:O.id,itemTitle:O.title,status:P.status,errorMessage:P.errorMessage,actionTaken:P.actionTaken}})}let z=Date.now()-X;await G.monitorRuns.update(Y.organizationId,Y.runId,{status:"completed",current_item_id:null,finished_at:new Date().toISOString()}),await t91({ctx:Y.ctx,type:"registry.monitor.completed",subject:Y.runId,data:{runId:Y.runId,total:Q,passed:H,failed:$,skipped:V,durationMs:z}})}function Ei4(Y){return{id:`${cN}${Y.id}`,title:Y.title,description:Y.description,_meta:Y._meta,server:Y.server,is_public:!1,is_unlisted:!0,created_at:Y.created_at,updated_at:Y.updated_at}}async function Ti4(Y,X){let G=T06(Y);await G.access.check();let J=i6(),W=await J.monitorRuns.create({organization_id:G.organization.id,status:"pending",config_snapshot:X,started_at:null}),K=new AbortController;return e91.set(W.id,K),Pi4({ctx:G,runId:W.id,organizationId:G.organization.id,monitorConfig:X,signal:K.signal}).catch(async(Z)=>{await J.monitorRuns.update(G.organization.id,W.id,{status:"failed",current_item_id:null,finished_at:new Date().toISOString()}).catch(()=>{}),await t91({ctx:G,type:"registry.monitor.failed",subject:W.id,data:{runId:W.id,error:Z instanceof Error?Z.message:String(Z)}}),Hi4(`Run ${W.id} failed with uncaught error:`,Z)}).finally(()=>{e91.delete(W.id)}),{run:{id:W.id}}}var e91,P06="[MONITOR-AGENT]",Zi4,Qi4="health_check: not called",j06;var XY1=A(()=>{YY();D7();xM();rK();m9();e91=new Map,Zi4=Cp0;j06={name:"REGISTRY_MONITOR_RUN_START",description:"Start an MCP registry monitor run with an isolated set of monitor connections.",inputSchema:H06,outputSchema:$06,handler:async(Y,X)=>{let J=o91(Y.config??{}),{run:W}=await Ti4(X,J),Z=await i6().monitorRuns.findById(T06(X).organization.id,W.id);if(!Z)throw Error(`Failed to load monitor run ${W.id}`);return{run:Z}}}});var S06;var _06=A(()=>{rK();m9();S06={name:"REGISTRY_MONITOR_RUN_LIST",description:"List MCP registry monitor runs",inputSchema:yj1,outputSchema:V06,handler:U4(yj1,async(Y,X)=>{return i6().monitorRuns.list(X.organization.id,Y)})}});var k06;var v06=A(()=>{rK();m9();k06={name:"REGISTRY_MONITOR_RUN_GET",description:"Get details for one MCP registry monitor run",inputSchema:hj1,outputSchema:z06,handler:U4(hj1,async(Y,X)=>{return{run:await i6().monitorRuns.findById(X.organization.id,Y.runId)}})}});var f06;var y06=A(()=>{rK();XY1();m9();f06={name:"REGISTRY_MONITOR_RUN_CANCEL",description:"Cancel a running MCP registry monitor run",inputSchema:fj1,outputSchema:F06,handler:U4(fj1,async(Y,X)=>{return E06(Y.runId),{run:await i6().monitorRuns.update(X.organization.id,Y.runId,{status:"cancelled",current_item_id:null,finished_at:new Date().toISOString()})}})}});var h06;var b06=A(()=>{rK();m9();h06={name:"REGISTRY_MONITOR_RESULT_LIST",description:"List results for a given MCP registry monitor run",inputSchema:bj1,outputSchema:U06,handler:U4(bj1,async(Y,X)=>{return i6().monitorResults.listByRun(X.organization.id,Y.runId,{status:Y.status,limit:Y.limit,offset:Y.offset})})}});var x06;var g06=A(()=>{rK();m9();xM();x06={name:"REGISTRY_MONITOR_CONNECTION_LIST",description:"List monitor connection mappings for private registry MCP monitor runs, including auth status",inputSchema:xj1,outputSchema:q06,handler:U4(xj1,async(Y,X)=>{let G=i6(),J=await G.monitorConnections.list(X.organization.id);return{items:await Promise.all(J.map(async(K)=>{let Z=await G.items.findById(X.organization.id,K.item_id);if(!Z&&K.item_id.startsWith(cN)){let $=K.item_id.slice(cN.length),V=await G.publishRequests.findById(X.organization.id,$);if(V)Z={id:K.item_id,title:V.title,description:V.description,_meta:V._meta,server:V.server,is_public:!1,is_unlisted:!0,created_at:V.created_at,updated_at:V.updated_at}}let Q=Z?.server.remotes?.find(($)=>$.url)?.url??null,H=K.item_id.startsWith(cN)?"request":"store";return{mapping:K,item:Z,remoteUrl:Q,source:H}}))}})}});function Ri4(Y){return{id:`${cN}${Y.id}`,title:Y.title,description:Y.description,_meta:Y._meta,server:Y.server,is_public:!1,is_unlisted:!0,created_at:Y.created_at,updated_at:Y.updated_at}}var u06;var m06=A(()=>{rK();XY1();m9();xM();u06={name:"REGISTRY_MONITOR_CONNECTION_SYNC",description:"Ensure every registry item has a dedicated monitor connection mapping for MCP monitors",inputSchema:gj1,outputSchema:O06,handler:U4(gj1,async(Y,X)=>{let G=i6(),J=(await G.items.list(X.organization.id,{includeUnlisted:!0})).items,K=(await G.publishRequests.list(X.organization.id,{status:"pending",limit:500})).items.map(Ri4),Z=[...J,...K],Q=await G.monitorConnections.list(X.organization.id),H=new Set(Q.map((V)=>V.item_id)),$=0;for(let V of Z){if(!V.server.remotes?.some((z)=>z.url))continue;if(await cj1(X,V),!H.has(V.id))$+=1}return{created:$,updated:Math.max(Z.length-$,0)}})}});var l06;var d06=A(()=>{rK();m9();l06={name:"REGISTRY_MONITOR_CONNECTION_UPDATE_AUTH",description:"Update the auth_status of a monitor connection mapping (by core connection ID)",inputSchema:uj1,outputSchema:N06,handler:U4(uj1,async({connectionId:Y,authStatus:X},G)=>{let J=i6(),W=G.organization.id,K=await J.monitorConnections.findByConnectionId(W,Y);if(!K)throw Error(`No monitor connection mapping found for connection ${Y}`);return await J.monitorConnections.updateAuthStatus(W,K.item_id,X),{success:!0}})}});function ju(Y){if(!Y||typeof Y!=="object")return null;let X=Y,G=X.id;if(typeof G==="string"&&G.length>0)return G;for(let J of["event","result","structuredContent","content"]){let W=X[J],K=ju(W);if(K)return K}if(Array.isArray(Y))for(let J of Y){let W=ju(J);if(W)return W}return null}var c06;var p06=A(()=>{YY();rK();m9();c06={name:"REGISTRY_MONITOR_SCHEDULE_SET",description:"Schedule recurring MCP monitor runs via EVENT_PUBLISH cron",inputSchema:mj1,outputSchema:L06,handler:U4(mj1,async(Y,X)=>{let G=oY.SELF(X.organization.id),J=await X.createMCPProxy(G);try{let W=await J.callTool({name:"EVENT_PUBLISH",arguments:{type:"registry.monitor.scheduled",subject:"private-registry",cron:Y.cronExpression,data:{config:Y.config??{}}}});if(W.isError)throw Error("Failed to create monitor schedule via EVENT_PUBLISH");let K=ju(W.structuredContent)??ju(W.content)??ju(W);if(!K)throw Error("Could not resolve schedule event id from EVENT_PUBLISH");return{scheduleEventId:K}}finally{await J.close?.().catch(()=>{})}})}});var n06;var i06=A(()=>{YY();rK();m9();n06={name:"REGISTRY_MONITOR_SCHEDULE_CANCEL",description:"Cancel a recurring MCP monitor schedule via EVENT_CANCEL",inputSchema:lj1,outputSchema:B06,handler:U4(lj1,async(Y,X)=>{let G=oY.SELF(X.organization.id),J=await X.createMCPProxy(G);try{if((await J.callTool({name:"EVENT_CANCEL",arguments:{eventId:Y.scheduleEventId}})).isError)throw Error("Failed to cancel monitor schedule via EVENT_CANCEL");return{success:!0}}finally{await J.close?.().catch(()=>{})}})}});function Ci4(Y,X){if(!X)return Y;let G={field:["is_public"],operator:"eq",value:!1};if(!Y)return G;return{operator:"and",conditions:[Y,G]}}function Ii4(Y){let X=new Map,G=new Map;for(let W of Y){let K=W._meta?.["mcp.mesh"];for(let Z of K?.tags??[])X.set(Z,(X.get(Z)??0)+1);for(let Z of K?.categories??[])G.set(Z,(G.get(Z)??0)+1)}let J=(W)=>Array.from(W.entries()).map(([K,Z])=>({value:K,count:Z})).sort((K,Z)=>K.value.localeCompare(Z.value));return{tags:J(X),categories:J(G)}}var a06,r06,o06,s06;var t06=A(()=>{o1();o5();m9();a06={name:"COLLECTION_REGISTRY_APP_LIST",description:"List registry items for Store discovery. Supports private-only mode from plugin settings.",inputSchema:$L,outputSchema:RI,handler:U4($L,async(Y,X)=>{let G=i6(),J=await zu(X,X.organization.id);return G.items.list(X.organization.id,{...Y,where:Ci4(Y.where,J.storePrivateOnly===!0)})})},r06={name:"COLLECTION_REGISTRY_APP_GET",description:"Get a registry item for Store details. Respects private-only mode from plugin settings.",inputSchema:wZ,outputSchema:zA,handler:U4(wZ,async(Y,X)=>{let G=i6(),J=await zu(X,X.organization.id),W=Y.id??Y.name;if(!W)return{item:null};let K=await G.items.findByIdOrName(X.organization.id,W);if(!K)return{item:null};if(J.storePrivateOnly&&K.is_public)return{item:null};return{item:K}})},o06={name:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get registry item versions for Store details. Respects private-only mode from plugin settings.",inputSchema:wZ,outputSchema:F.object({versions:F.array(x3)}),handler:U4(wZ,async(Y,X)=>{let G=i6(),J=await zu(X,X.organization.id),W=Y.id??Y.name;if(!W)return{versions:[]};let K=await G.items.findByIdOrName(X.organization.id,W);if(!K)return{versions:[]};if(J.storePrivateOnly&&K.is_public)return{versions:[]};return{versions:[K]}})},s06={name:"COLLECTION_REGISTRY_APP_FILTERS",description:"List Store filter facets for registry items. Respects private-only mode from plugin settings.",inputSchema:F.object({}),outputSchema:CI,handler:U4(F.object({}),async(Y,X)=>{let G=i6();if(!(await zu(X,X.organization.id)).storePrivateOnly)return G.items.getFilters(X.organization.id);let W=await G.items.list(X.organization.id,{limit:1e4,where:{field:["is_public"],operator:"eq",value:!1}});return Ii4(W.items)})}});var e06;var Y66=A(()=>{dr0();pr0();ir0();rr0();tr0();Yo0();Go0();Wo0();Qo0();Ho0();Fo0();zo0();qo0();No0();Bo0();wo0();Ao0();Eo0();XY1();_06();v06();y06();b06();g06();m06();d06();p06();i06();t06();e06=[a06,r06,o06,s06,Jo0,Zo0,Xo0,$o0,nr0,lr0,Ko0,ar0,er0,sr0,cr0,Vo0,Uo0,Oo0,Lo0,Do0,Mo0,Po0,j06,S06,k06,f06,h06,x06,u06,l06,c06,n06]});var X66;var G66=A(()=>{xM();Za0();fr0();mr0();Y66();rK();X66={id:hF,description:Rp0,tools:e06,migrations:Wa0,publicRoutes:(Y,X)=>{dI1(Y,X),uI1(Y,X)},createStorage:ur0,onEvents:{types:["registry.monitor.scheduled"],handler:async(Y,X)=>{let G=await X.createMCPProxy(X.connectionId);try{for(let J of Y){if(J.type!=="registry.monitor.scheduled")continue;let W=J.data&&typeof J.data==="object"?J.data:{},K=W.config&&typeof W.config==="object"?W.config:{},Z=o91(K);await G.callTool({name:"REGISTRY_MONITOR_RUN_START",arguments:{config:Z}})}}finally{await G.close()}}}}});var J66="MCP Workflows",W66="Create workflows using your MCP tools";var Z66;var Q66=A(()=>{QA();Z66={name:"001-workflows",async up(Y){await Y.schema.createTable("workflow_collection").addColumn("id","text",(X)=>X.primaryKey()).addColumn("organization_id","text",(X)=>X.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(X)=>X.notNull()).addColumn("description","text").addColumn("virtual_mcp_id","text",(X)=>X.notNull()).addColumn("steps","text",(X)=>X.notNull().defaultTo("[]")).addColumn("created_at","text",(X)=>X.notNull().defaultTo(J8`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(X)=>X.notNull().defaultTo(J8`CURRENT_TIMESTAMP`)).addColumn("created_by","text").addColumn("updated_by","text").execute(),await Y.schema.createIndex("idx_wf_collection_org").on("workflow_collection").column("organization_id").execute(),await Y.schema.createIndex("idx_wf_collection_created_at").on("workflow_collection").column("created_at").execute(),await Y.schema.createTable("workflow").addColumn("id","text",(X)=>X.primaryKey()).addColumn("workflow_collection_id","text").addColumn("organization_id","text",(X)=>X.notNull().references("organization.id").onDelete("cascade")).addColumn("steps","text",(X)=>X.notNull().defaultTo("[]")).addColumn("input","text").addColumn("virtual_mcp_id","text",(X)=>X.notNull()).addColumn("created_at_epoch_ms","bigint",(X)=>X.notNull()).addColumn("created_by","text").execute(),await Y.schema.createIndex("idx_workflow_created_at").on("workflow").column("created_at_epoch_ms").execute(),await Y.schema.createIndex("idx_workflow_collection_id").on("workflow").column("workflow_collection_id").execute(),await Y.schema.createTable("workflow_execution").addColumn("id","text",(X)=>X.primaryKey()).addColumn("workflow_id","text",(X)=>X.notNull().references("workflow.id").onDelete("cascade")).addColumn("organization_id","text",(X)=>X.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(X)=>X.notNull().defaultTo("enqueued")).addColumn("input","text").addColumn("output","text").addColumn("error","text").addColumn("created_at","bigint",(X)=>X.notNull()).addColumn("updated_at","bigint",(X)=>X.notNull()).addColumn("start_at_epoch_ms","bigint").addColumn("started_at_epoch_ms","bigint").addColumn("completed_at_epoch_ms","bigint").addColumn("timeout_ms","bigint").addColumn("deadline_at_epoch_ms","bigint").addColumn("created_by","text").execute(),await Y.schema.createIndex("idx_wf_execution_status").on("workflow_execution").column("status").execute(),await Y.schema.createIndex("idx_wf_execution_workflow_id").on("workflow_execution").column("workflow_id").execute(),await Y.schema.createIndex("idx_wf_execution_org").on("workflow_execution").column("organization_id").execute(),await Y.schema.createIndex("idx_wf_execution_created_at").on("workflow_execution").column("created_at").execute(),await Y.schema.createTable("workflow_execution_step_result").addColumn("execution_id","text",(X)=>X.notNull().references("workflow_execution.id").onDelete("cascade")).addColumn("step_id","text",(X)=>X.notNull()).addColumn("started_at_epoch_ms","bigint").addColumn("completed_at_epoch_ms","bigint").addColumn("output","text").addColumn("error","text").addColumn("raw_tool_output","text").execute(),await Y.schema.createIndex("idx_wf_step_result_pk").on("workflow_execution_step_result").columns(["execution_id","step_id"]).unique().execute(),await Y.schema.createIndex("idx_wf_step_result_execution").on("workflow_execution_step_result").column("execution_id").execute()},async down(Y){await Y.schema.dropIndex("idx_wf_step_result_execution").ifExists().execute(),await Y.schema.dropIndex("idx_wf_step_result_pk").ifExists().execute(),await Y.schema.dropIndex("idx_wf_execution_created_at").ifExists().execute(),await Y.schema.dropIndex("idx_wf_execution_org").ifExists().execute(),await Y.schema.dropIndex("idx_wf_execution_workflow_id").ifExists().execute(),await Y.schema.dropIndex("idx_wf_execution_status").ifExists().execute(),await Y.schema.dropIndex("idx_workflow_collection_id").ifExists().execute(),await Y.schema.dropIndex("idx_workflow_created_at").ifExists().execute(),await Y.schema.dropIndex("idx_wf_collection_created_at").ifExists().execute(),await Y.schema.dropIndex("idx_wf_collection_org").ifExists().execute(),await Y.schema.dropTable("workflow_execution_step_result").ifExists().execute(),await Y.schema.dropTable("workflow_execution").ifExists().execute(),await Y.schema.dropTable("workflow").ifExists().execute(),await Y.schema.dropTable("workflow_collection").ifExists().execute()}}});var K66;var H66=A(()=>{K66={name:"002-execution-list-index",async up(Y){await Y.schema.createIndex("idx_wf_execution_org_created_at").on("workflow_execution").columns(["organization_id","created_at desc"]).execute()},async down(Y){await Y.schema.dropIndex("idx_wf_execution_org_created_at").ifExists().execute()}}});var $66;var F66=A(()=>{Q66();H66();$66=[Z66,K66]});function TZ(Y){let X=Y;if(!X.organization)throw Error("Organization context required for workflow tools");return X}function TJ(Y){if(Y===null||Y===void 0)return null;if(typeof Y==="object")return Y;if(typeof Y!=="string")return Y;try{return JSON.parse(Y)}catch{return Y}}function V66(Y){pj1=Y}function RJ(){if(!pj1)throw Error('Plugin storage not initialized. Make sure the "workflows" plugin is enabled.');return pj1}var pj1=null;function z66(Y){return{...Y,steps:TJ(Y.steps)??[]}}class nj1{db;constructor(Y){this.db=Y}async list(Y,X={}){let{limit:G=50,offset:J=0}=X,W=await this.db.selectFrom("workflow_collection").selectAll().where("organization_id","=",Y).orderBy("created_at","desc").limit(G).offset(J).execute(),K=await this.db.selectFrom("workflow_collection").select((Z)=>Z.fn.countAll().as("count")).where("organization_id","=",Y).executeTakeFirstOrThrow();return{items:W,totalCount:Number(K.count)}}async getById(Y,X){let G=await this.db.selectFrom("workflow_collection").selectAll().where("id","=",Y).where("organization_id","=",X).executeTakeFirst();return G?z66(G):null}async create(Y){let X=await this.db.insertInto("workflow_collection").values(Y).returningAll().executeTakeFirstOrThrow();return z66(X)}async update(Y,X,G){return await this.db.updateTable("workflow_collection").set({...G,updated_at:new Date().toISOString()}).where("id","=",Y).where("organization_id","=",X).returningAll().executeTakeFirstOrThrow()}async delete(Y,X){return await this.db.deleteFrom("workflow_collection").where("id","=",Y).where("organization_id","=",X).returningAll().executeTakeFirstOrThrow()}}var U66=()=>{};function ji4(Y){return{...Y,steps:TJ(Y.steps)??[],input:TJ(Y.input)??null}}function MA(Y){return{...Y,output:TJ(Y.output),error:TJ(Y.error),raw_tool_output:TJ(Y.raw_tool_output)}}class ij1{db;constructor(Y){this.db=Y}async _createWorkflow(Y,X){let G=crypto.randomUUID(),J=Date.now();return await Y.insertInto("workflow").values({id:G,workflow_collection_id:X.workflowCollectionId??null,organization_id:X.organizationId,steps:JSON.stringify(X.steps),input:X.input?JSON.stringify(X.input):null,virtual_mcp_id:X.virtualMcpId,created_at_epoch_ms:J,created_by:X.createdBy??null}).execute(),{id:G}}async createWorkflow(Y){return this._createWorkflow(this.db,Y)}async getWorkflow(Y){let X=await this.db.selectFrom("workflow").selectAll().where("id","=",Y).executeTakeFirst();return X?ji4(X):null}async createExecution(Y){return this.db.transaction().execute(async(X)=>{let G=Date.now(),{id:J}=await this._createWorkflow(X,{organizationId:Y.organizationId,workflowCollectionId:Y.workflowCollectionId,virtualMcpId:Y.virtualMcpId,input:Y.input,steps:Y.steps,createdBy:Y.createdBy}),W=crypto.randomUUID(),K=Y.startAtEpochMs??G,Z=Y.timeoutMs?K+Y.timeoutMs:null;return await X.insertInto("workflow_execution").values({id:W,workflow_id:J,organization_id:Y.organizationId,status:"enqueued",input:Y.input?JSON.stringify(Y.input):null,created_at:G,updated_at:G,start_at_epoch_ms:K,timeout_ms:Y.timeoutMs??null,deadline_at_epoch_ms:Z,created_by:Y.createdBy??null}).execute(),{id:W}})}async getExecution(Y,X){return await this.db.selectFrom("workflow_execution").selectAll().where("id","=",Y).where("organization_id","=",X).executeTakeFirst()??null}async getExecutionFull(Y,X){let G=await this.db.selectFrom("workflow_execution").selectAll().where("id","=",Y).where("organization_id","=",X).executeTakeFirst();if(!G)return null;let J=await this.db.selectFrom("workflow_execution_step_result").selectAll().where("execution_id","=",Y).execute();return{execution:G,stepResults:J.map(MA)}}async getExecutionContext(Y){let[X,G]=await Promise.all([this.db.selectFrom("workflow_execution as we").innerJoin("workflow as w","we.workflow_id","w.id").select(["we.id","we.status","we.workflow_id","we.deadline_at_epoch_ms","w.steps","w.input","w.virtual_mcp_id"]).where("we.id","=",Y).executeTakeFirst(),this.db.selectFrom("workflow_execution_step_result").select(["step_id","completed_at_epoch_ms","output","error"]).where("execution_id","=",Y).execute()]);if(!X)return null;return{execution:{id:X.id,status:X.status,workflow_id:X.workflow_id,deadline_at_epoch_ms:X.deadline_at_epoch_ms},workflow:{steps:TJ(X.steps)??[],input:TJ(X.input)??null,virtual_mcp_id:X.virtual_mcp_id},stepResults:G.map((J)=>({step_id:J.step_id,completed_at_epoch_ms:J.completed_at_epoch_ms,output:TJ(J.output),error:TJ(J.error)}))}}async claimExecution(Y){let X=Date.now(),G=await this.db.updateTable("workflow_execution").set({status:"running",updated_at:X}).where("id","=",Y).where("status","=","enqueued").returningAll().executeTakeFirst();if(!G)return null;let J=await this.getWorkflow(G.workflow_id);if(!J)throw Error(`Workflow ${G.workflow_id} not found for execution ${Y}`);return{execution:G,workflow:J}}async updateExecution(Y,X,G){let W={updated_at:Date.now()};if(X.status!==void 0)W.status=X.status;if(X.output!==void 0)W.output=JSON.stringify(X.output);if(X.error!==void 0)W.error=JSON.stringify(X.error);if(X.completed_at_epoch_ms!==void 0)W.completed_at_epoch_ms=X.completed_at_epoch_ms;let K=this.db.updateTable("workflow_execution").set(W).where("id","=",Y);if(G?.onlyIfStatus)K=K.where("status","=",G.onlyIfStatus);return await K.returningAll().executeTakeFirst()??null}async cancelExecution(Y,X){let G=Date.now();return!!await this.db.updateTable("workflow_execution").set({status:"cancelled",updated_at:G}).where("id","=",Y).where("organization_id","=",X).where("status","in",["enqueued","running"]).returningAll().executeTakeFirst()}async resumeExecution(Y,X){return this.db.transaction().execute(async(G)=>{let J=Date.now();if(!await G.updateTable("workflow_execution").set({status:"enqueued",updated_at:J,completed_at_epoch_ms:null,error:null}).where("id","=",Y).where("organization_id","=",X).where((K)=>K.or([K("status","=","cancelled"),K("status","=","error")])).returningAll().executeTakeFirst())return!1;return await G.deleteFrom("workflow_execution_step_result").where("execution_id","=",Y).where((K)=>K.or([K("completed_at_epoch_ms","is",null),K("error","is not",null)])).execute(),!0})}async listExecutions(Y,X={}){let{limit:G=50,offset:J=0,status:W}=X,K=this.db.selectFrom("workflow_execution as we").innerJoin("workflow as w","we.workflow_id","w.id").leftJoin("workflow_collection as wc","w.workflow_collection_id","wc.id").select(["we.id","we.workflow_id","we.organization_id","we.status","we.input","we.output","we.error","we.created_at","we.updated_at","we.start_at_epoch_ms","we.started_at_epoch_ms","we.completed_at_epoch_ms","we.timeout_ms","we.deadline_at_epoch_ms","we.created_by","w.virtual_mcp_id"]).select((V)=>V.fn.coalesce("wc.title",V.val("Workflow Execution")).as("title")).where("we.organization_id","=",Y);if(W)K=K.where("we.status","=",W);let Z=await K.orderBy("we.created_at","desc").limit(G).offset(J).execute(),Q=this.db.selectFrom("workflow_execution").select((V)=>V.fn.countAll().as("count")).where("organization_id","=",Y);if(W)Q=Q.where("status","=",W);let H=await Q.executeTakeFirstOrThrow(),$=Number(H.count);return{items:Z,totalCount:$,hasMore:J+Z.length<$}}async createStepResult(Y){let X=await this.db.insertInto("workflow_execution_step_result").values({execution_id:Y.execution_id,step_id:Y.step_id,started_at_epoch_ms:Y.completed_at_epoch_ms?Date.now():null,completed_at_epoch_ms:Y.completed_at_epoch_ms??null,output:Y.output!==void 0?JSON.stringify(Y.output):null,error:Y.error!==void 0?JSON.stringify(Y.error):null}).onConflict((G)=>G.columns(["execution_id","step_id"]).doNothing()).returningAll().executeTakeFirst();return X?MA(X):null}async updateStepResult(Y,X,G){let J={};if(G.output!==void 0)J.output=JSON.stringify(G.output);if(G.error!==void 0)J.error=JSON.stringify(G.error);if(G.started_at_epoch_ms!==void 0)J.started_at_epoch_ms=G.started_at_epoch_ms;if(G.completed_at_epoch_ms!==void 0)J.completed_at_epoch_ms=G.completed_at_epoch_ms;if(Object.keys(J).length===0)return null;let W=await this.db.updateTable("workflow_execution_step_result").set(J).where("execution_id","=",Y).where("step_id","=",X).returningAll().executeTakeFirst();return W?MA(W):null}async checkpointAndTransform(Y,X,G,J){await this.db.updateTable("workflow_execution_step_result").set({raw_tool_output:JSON.stringify(G)}).where("execution_id","=",Y).where("step_id","=",X).execute();let W,K;try{let H=await J(G);W=H.output,K=H.error}catch(H){K=H instanceof Error?`Transform failed: ${H.message}`:`Transform failed: ${String(H)}`}let Z={completed_at_epoch_ms:Date.now()};if(W!==void 0)Z.output=JSON.stringify(W);if(K!==void 0)Z.error=JSON.stringify(K);let Q=await this.db.updateTable("workflow_execution_step_result").set(Z).where("execution_id","=",Y).where("step_id","=",X).returningAll().executeTakeFirst();return Q?MA(Q):null}async getStepResult(Y,X){let G=await this.db.selectFrom("workflow_execution_step_result").selectAll().where("execution_id","=",Y).where("step_id","=",X).executeTakeFirst();return G?MA(G):null}async getStepResults(Y){return(await this.db.selectFrom("workflow_execution_step_result").selectAll().where("execution_id","=",Y).execute()).map(MA)}async deleteStepResult(Y,X){await this.db.deleteFrom("workflow_execution_step_result").where("execution_id","=",Y).where("step_id","=",X).execute()}async getStepResultsByPrefix(Y,X){return(await this.db.selectFrom("workflow_execution_step_result").selectAll().where("execution_id","=",Y).where("step_id","like",`${X}%`).orderBy("step_id").execute()).map(MA)}async recoverStuckExecutions(){return this.db.updateTable("workflow_execution").set({status:"enqueued",updated_at:Date.now()}).where("status","=","running").returning(["id","organization_id"]).execute()}}var q66=()=>{};function O66(Y){let X=Y.db;return{collections:new nj1(X),executions:new ij1(X)}}var N66=A(()=>{U66();q66()});var L66,B66,D66,w66,M66;var A66=A(()=>{o1();AI();YY();L66={name:"COLLECTION_WORKFLOW_LIST",description:"List workflows with pagination. Does not include steps -- use GET for full details.",inputSchema:F.object({limit:F.number().optional().default(50),offset:F.number().optional().default(0)}),outputSchema:F.object({items:F.array(F.object({id:F.string(),title:F.string(),description:F.string().nullable(),virtual_mcp_id:F.string(),created_at:F.string(),updated_at:F.string()})),totalCount:F.number(),hasMore:F.boolean()}),handler:async(Y,X)=>{let G=TZ(X);await G.access.check();let J=Y,W=RJ(),{items:K,totalCount:Z}=await W.collections.list(G.organization.id,{limit:J.limit,offset:J.offset});return{items:K.map((Q)=>({id:Q.id,title:Q.title,description:Q.description,virtual_mcp_id:Q.virtual_mcp_id,created_at:Q.created_at,updated_at:Q.updated_at})),totalCount:Z,hasMore:(J.offset??0)+K.length<Z}}},B66={name:"COLLECTION_WORKFLOW_GET",description:"Get a single workflow by ID, including its steps.",inputSchema:F.object({id:F.string()}),outputSchema:F.object({item:F.object({id:F.string(),title:F.string(),description:F.string().nullable(),virtual_mcp_id:F.string(),steps:F.array(HA),created_at:F.string(),updated_at:F.string()}).nullable()}),handler:async(Y,X)=>{let G=TZ(X);await G.access.check();let{id:J}=Y,K=await RJ().collections.getById(J,G.organization.id);if(!K)return{item:null};return{item:{id:K.id,title:K.title,description:K.description,virtual_mcp_id:K.virtual_mcp_id,steps:K.steps,created_at:K.created_at,updated_at:K.updated_at}}}},D66={name:"COLLECTION_WORKFLOW_CREATE",description:`Create a workflow template. This is a reusable definition, not an execution.
1138
+ `);return{toolResults:H,agentSummary:q.length>0?q:null,unexecutedTools:V}}finally{await X.close?.().catch(()=>{})}}async function cj1(Y,X){let G=i6(),J=Y.organization.id,W=await G.monitorConnections.findByItemId(J,X.id);if(W){if(await Y.storage.connections.findById(W.connection_id,J))return W.connection_id}let K=Vi4(X);if(!K)throw Error(`Registry item ${X.id} has no remote URL`);let Z=$i4(Y),Q=Fi4(X),H=await Y.storage.connections.create({organization_id:J,created_by:Z,title:`[MCP Tester] ${X.title}`,description:`Auto-created monitor connection for ${X.id}`,app_name:"private-registry-monitor",app_id:`${hF}:monitor`,connection_type:Q,connection_url:K,metadata:{monitorConnection:!0,registryItemId:X.id,pluginId:hF}});return await G.monitorConnections.upsert({organization_id:J,item_id:X.id,connection_id:H.id,auth_status:"none"}),H.id}async function Mi4(Y){let X=i6();switch(Y.action){case"unlisted":return await X.items.update(Y.organizationId,Y.item.id,{is_unlisted:!0}),"unlisted";case"remove_public":return await X.items.update(Y.organizationId,Y.item.id,{is_public:!1}),"removed_public";case"remove_private":case"remove_all":return await X.items.delete(Y.organizationId,Y.item.id),Y.action==="remove_all"?"removed_all":"removed_private";default:return"none"}}async function Ai4(Y){let X=Date.now();if(Y.signal.aborted)throw Error("Run cancelled");let G="passed",J=!1,W=!1,K=null,Z="none",Q=null,H=[],$=null,V=async()=>{await Y.onProgress?.({status:G,connectionOk:J,toolsListed:W,toolResults:[...H],agentSummary:Q,errorMessage:K,actionTaken:Z,durationMs:Date.now()-X})};try{let z=await cj1(Y.ctx,Y.item);$=await Y.ctx.createMCPProxy(z),J=!0;let q=(await Iu($.listTools?$.listTools():Promise.resolve({tools:[]}),Y.monitorConfig.perMcpTimeoutMs,`listTools ${Y.item.id}`)).tools??[];if(W=!0,Y.monitorConfig.monitorMode!=="health_check")H.push(...q.map((O)=>dj1(O.name))),await V();if(Y.monitorConfig.monitorMode==="full_agent"){let O=await wi4({ctx:Y.ctx,monitorConfig:Y.monitorConfig,item:Y.item,proxy:$,tools:q,signal:Y.signal,onProgress:async(N)=>{H.length=0,H.push(...D06({discoveredTools:q,executedResults:N})),G=N.some((M)=>!M.success)?"failed":"passed",await V()}});if(H.length=0,H.push(...D06({discoveredTools:q,executedResults:O.toolResults})),Q=O.agentSummary,O.toolResults.some((N)=>!N.success))G="failed";if(O.unexecutedTools.length>0){if(G="failed",!K)K=`Agent skipped ${O.unexecutedTools.length} tool(s): ${O.unexecutedTools.join(", ")}`}}else if(Y.monitorConfig.monitorMode!=="health_check"){for(let O=0;O<q.length;O++){let N=q[O];if(!N||Y.signal.aborted)throw Error("Run cancelled");let M=Date.now();try{let P={},R=await Iu($.callTool({name:N.name,arguments:P}),Y.monitorConfig.perToolTimeoutMs,`tool ${N.name}`),C=!R.isError,T=Date.now()-M;w06(H,{toolName:N.name,success:C,input:P,durationMs:T,outputPreview:R06(R.structuredContent??R.content),error:C?null:YY1(R.content?.find((E)=>E.type==="text")?.text?.slice(0,300)??"Tool returned error")}),await V()}catch(P){let R=Date.now()-M,C=P instanceof Error?P.message:String(P);w06(H,{toolName:N.name,success:!1,durationMs:R,error:YY1(C)}),await V()}}if(H.some((O)=>!O.success))G="failed"}else for(let O of q)H.push(dj1(O.name));if(Y.canApplyFailureAction&&G==="failed"&&Y.monitorConfig.onFailure!=="none")Z=await Mi4({organizationId:Y.organizationId,item:Y.item,action:Y.monitorConfig.onFailure})}catch(z){if(K=z instanceof Error?z.message:String(z),zi4(z))G="needs_auth",await i6().monitorConnections.updateAuthStatus(Y.organizationId,Y.item.id,"needs_auth");else G="error"}finally{await $?.close?.().catch(()=>{})}return{status:G,connectionOk:J,toolsListed:W,toolResults:H,agentSummary:Q,errorMessage:K,actionTaken:Z,durationMs:Date.now()-X}}async function Pi4(Y){let X=Date.now(),G=i6(),W=(await G.items.list(Y.organizationId,{includeUnlisted:!0})).items.filter((U)=>{if(Y.monitorConfig.testPublicOnly&&!U.is_public)return!1;if(Y.monitorConfig.testPrivateOnly&&U.is_public)return!1;return!0}),K=Y.monitorConfig.includePendingRequests?(await G.publishRequests.list(Y.organizationId,{status:"pending",limit:500})).items.map((U)=>Ei4(U)):[],Z=[...W.map((U)=>({item:U,source:"registry_item"})),...K.map((U)=>({item:U,source:"publish_request"}))];if(Z.length===0){await G.monitorRuns.update(Y.organizationId,Y.runId,{total_items:0,status:"completed",started_at:new Date().toISOString(),finished_at:new Date().toISOString()}),await t91({ctx:Y.ctx,type:"registry.monitor.completed",subject:Y.runId,data:{runId:Y.runId,total:0}});return}await G.monitorRuns.update(Y.organizationId,Y.runId,{total_items:Z.length,status:"running",started_at:new Date().toISOString()});let Q=0,H=0,$=0,V=0;for(let U=0;U<Z.length;U++){let q=Z[U],O=q?.item;if(!O||Y.signal.aborted){await G.monitorRuns.update(Y.organizationId,Y.runId,{status:"cancelled",current_item_id:null,finished_at:new Date().toISOString()});return}await G.monitorRuns.update(Y.organizationId,Y.runId,{current_item_id:O.id});let N=null,M=async(R)=>{if(!N){N=(await G.monitorResults.create({run_id:Y.runId,organization_id:Y.organizationId,item_id:O.id,item_title:O.title,status:R.status,error_message:R.errorMessage,connection_ok:R.connectionOk,tools_listed:R.toolsListed,tool_results:R.toolResults,agent_summary:R.agentSummary,duration_ms:R.durationMs,action_taken:R.actionTaken})).id;return}await G.monitorResults.update(Y.organizationId,N,{status:R.status,error_message:R.errorMessage,connection_ok:R.connectionOk,tools_listed:R.toolsListed,tool_results:R.toolResults,agent_summary:R.agentSummary,duration_ms:R.durationMs,action_taken:R.actionTaken})},P=await Ai4({ctx:Y.ctx,organizationId:Y.organizationId,item:O,monitorConfig:Y.monitorConfig,signal:Y.signal,canApplyFailureAction:q.source==="registry_item",onProgress:M});if(await M({status:P.status,connectionOk:P.connectionOk,toolsListed:P.toolsListed,toolResults:P.toolResults,agentSummary:P.agentSummary,errorMessage:P.errorMessage,actionTaken:P.actionTaken,durationMs:P.durationMs}),Q+=1,P.status==="passed")H+=1;else if(P.status==="failed"||P.status==="error")$+=1;else V+=1;if(await G.monitorRuns.update(Y.organizationId,Y.runId,{tested_items:Q,passed_items:H,failed_items:$,skipped_items:V}),P.status==="failed"||P.status==="error")await t91({ctx:Y.ctx,type:"registry.monitor.item_failed",subject:O.id,data:{runId:Y.runId,itemId:O.id,itemTitle:O.title,status:P.status,errorMessage:P.errorMessage,actionTaken:P.actionTaken}})}let z=Date.now()-X;await G.monitorRuns.update(Y.organizationId,Y.runId,{status:"completed",current_item_id:null,finished_at:new Date().toISOString()}),await t91({ctx:Y.ctx,type:"registry.monitor.completed",subject:Y.runId,data:{runId:Y.runId,total:Q,passed:H,failed:$,skipped:V,durationMs:z}})}function Ei4(Y){return{id:`${cN}${Y.id}`,title:Y.title,description:Y.description,_meta:Y._meta,server:Y.server,is_public:!1,is_unlisted:!0,created_at:Y.created_at,updated_at:Y.updated_at}}async function Ti4(Y,X){let G=T06(Y);await G.access.check();let J=i6(),W=await J.monitorRuns.create({organization_id:G.organization.id,status:"pending",config_snapshot:X,started_at:null}),K=new AbortController;return e91.set(W.id,K),Pi4({ctx:G,runId:W.id,organizationId:G.organization.id,monitorConfig:X,signal:K.signal}).catch(async(Z)=>{await J.monitorRuns.update(G.organization.id,W.id,{status:"failed",current_item_id:null,finished_at:new Date().toISOString()}).catch(()=>{}),await t91({ctx:G,type:"registry.monitor.failed",subject:W.id,data:{runId:W.id,error:Z instanceof Error?Z.message:String(Z)}}),Hi4(`Run ${W.id} failed with uncaught error:`,Z)}).finally(()=>{e91.delete(W.id)}),{run:{id:W.id}}}var e91,P06="[MONITOR-AGENT]",Zi4,Qi4="health_check: not called",j06;var XY1=A(()=>{YY();D7();xM();rK();m9();e91=new Map,Zi4=Cp0;j06={name:"REGISTRY_MONITOR_RUN_START",description:"Start an MCP registry monitor run with an isolated set of monitor connections.",inputSchema:H06,outputSchema:$06,handler:async(Y,X)=>{let J=o91(Y.config??{}),{run:W}=await Ti4(X,J),Z=await i6().monitorRuns.findById(T06(X).organization.id,W.id);if(!Z)throw Error(`Failed to load monitor run ${W.id}`);return{run:Z}}}});var S06;var _06=A(()=>{rK();m9();S06={name:"REGISTRY_MONITOR_RUN_LIST",description:"List MCP registry monitor runs",inputSchema:yj1,outputSchema:V06,handler:U4(yj1,async(Y,X)=>{return i6().monitorRuns.list(X.organization.id,Y)})}});var k06;var v06=A(()=>{rK();m9();k06={name:"REGISTRY_MONITOR_RUN_GET",description:"Get details for one MCP registry monitor run",inputSchema:hj1,outputSchema:z06,handler:U4(hj1,async(Y,X)=>{return{run:await i6().monitorRuns.findById(X.organization.id,Y.runId)}})}});var f06;var y06=A(()=>{rK();XY1();m9();f06={name:"REGISTRY_MONITOR_RUN_CANCEL",description:"Cancel a running MCP registry monitor run",inputSchema:fj1,outputSchema:F06,handler:U4(fj1,async(Y,X)=>{return E06(Y.runId),{run:await i6().monitorRuns.update(X.organization.id,Y.runId,{status:"cancelled",current_item_id:null,finished_at:new Date().toISOString()})}})}});var h06;var b06=A(()=>{rK();m9();h06={name:"REGISTRY_MONITOR_RESULT_LIST",description:"List results for a given MCP registry monitor run",inputSchema:bj1,outputSchema:U06,handler:U4(bj1,async(Y,X)=>{return i6().monitorResults.listByRun(X.organization.id,Y.runId,{status:Y.status,limit:Y.limit,offset:Y.offset})})}});var x06;var g06=A(()=>{rK();m9();xM();x06={name:"REGISTRY_MONITOR_CONNECTION_LIST",description:"List monitor connection mappings for private registry MCP monitor runs, including auth status",inputSchema:xj1,outputSchema:q06,handler:U4(xj1,async(Y,X)=>{let G=i6(),J=await G.monitorConnections.list(X.organization.id);return{items:await Promise.all(J.map(async(K)=>{let Z=await G.items.findById(X.organization.id,K.item_id);if(!Z&&K.item_id.startsWith(cN)){let $=K.item_id.slice(cN.length),V=await G.publishRequests.findById(X.organization.id,$);if(V)Z={id:K.item_id,title:V.title,description:V.description,_meta:V._meta,server:V.server,is_public:!1,is_unlisted:!0,created_at:V.created_at,updated_at:V.updated_at}}let Q=Z?.server.remotes?.find(($)=>$.url)?.url??null,H=K.item_id.startsWith(cN)?"request":"store";return{mapping:K,item:Z,remoteUrl:Q,source:H}}))}})}});function Ri4(Y){return{id:`${cN}${Y.id}`,title:Y.title,description:Y.description,_meta:Y._meta,server:Y.server,is_public:!1,is_unlisted:!0,created_at:Y.created_at,updated_at:Y.updated_at}}var u06;var m06=A(()=>{rK();XY1();m9();xM();u06={name:"REGISTRY_MONITOR_CONNECTION_SYNC",description:"Ensure every registry item has a dedicated monitor connection mapping for MCP monitors",inputSchema:gj1,outputSchema:O06,handler:U4(gj1,async(Y,X)=>{let G=i6(),J=(await G.items.list(X.organization.id,{includeUnlisted:!0})).items,K=(await G.publishRequests.list(X.organization.id,{status:"pending",limit:500})).items.map(Ri4),Z=[...J,...K],Q=await G.monitorConnections.list(X.organization.id),H=new Set(Q.map((V)=>V.item_id)),$=0;for(let V of Z){if(!V.server.remotes?.some((z)=>z.url))continue;if(await cj1(X,V),!H.has(V.id))$+=1}return{created:$,updated:Math.max(Z.length-$,0)}})}});var l06;var d06=A(()=>{rK();m9();l06={name:"REGISTRY_MONITOR_CONNECTION_UPDATE_AUTH",description:"Update the auth_status of a monitor connection mapping (by core connection ID)",inputSchema:uj1,outputSchema:N06,handler:U4(uj1,async({connectionId:Y,authStatus:X},G)=>{let J=i6(),W=G.organization.id,K=await J.monitorConnections.findByConnectionId(W,Y);if(!K)throw Error(`No monitor connection mapping found for connection ${Y}`);return await J.monitorConnections.updateAuthStatus(W,K.item_id,X),{success:!0}})}});function ju(Y){if(!Y||typeof Y!=="object")return null;let X=Y,G=X.id;if(typeof G==="string"&&G.length>0)return G;for(let J of["event","result","structuredContent","content"]){let W=X[J],K=ju(W);if(K)return K}if(Array.isArray(Y))for(let J of Y){let W=ju(J);if(W)return W}return null}var c06;var p06=A(()=>{YY();rK();m9();c06={name:"REGISTRY_MONITOR_SCHEDULE_SET",description:"Schedule recurring MCP monitor runs via EVENT_PUBLISH cron",inputSchema:mj1,outputSchema:L06,handler:U4(mj1,async(Y,X)=>{let G=oY.SELF(X.organization.id),J=await X.createMCPProxy(G);try{let W=await J.callTool({name:"EVENT_PUBLISH",arguments:{type:"registry.monitor.scheduled",subject:"private-registry",cron:Y.cronExpression,data:{config:Y.config??{}}}});if(W.isError)throw Error("Failed to create monitor schedule via EVENT_PUBLISH");let K=ju(W.structuredContent)??ju(W.content)??ju(W);if(!K)throw Error("Could not resolve schedule event id from EVENT_PUBLISH");return{scheduleEventId:K}}finally{await J.close?.().catch(()=>{})}})}});var n06;var i06=A(()=>{YY();rK();m9();n06={name:"REGISTRY_MONITOR_SCHEDULE_CANCEL",description:"Cancel a recurring MCP monitor schedule via EVENT_CANCEL",inputSchema:lj1,outputSchema:B06,handler:U4(lj1,async(Y,X)=>{let G=oY.SELF(X.organization.id),J=await X.createMCPProxy(G);try{if((await J.callTool({name:"EVENT_CANCEL",arguments:{eventId:Y.scheduleEventId}})).isError)throw Error("Failed to cancel monitor schedule via EVENT_CANCEL");return{success:!0}}finally{await J.close?.().catch(()=>{})}})}});function Ci4(Y,X){if(!X)return Y;let G={field:["is_public"],operator:"eq",value:!1};if(!Y)return G;return{operator:"and",conditions:[Y,G]}}function Ii4(Y){let X=new Map,G=new Map;for(let W of Y){let K=W._meta?.["mcp.mesh"];for(let Z of K?.tags??[])X.set(Z,(X.get(Z)??0)+1);for(let Z of K?.categories??[])G.set(Z,(G.get(Z)??0)+1)}let J=(W)=>Array.from(W.entries()).map(([K,Z])=>({value:K,count:Z})).sort((K,Z)=>K.value.localeCompare(Z.value));return{tags:J(X),categories:J(G)}}var a06,r06,o06,s06;var t06=A(()=>{o1();o5();m9();a06={name:"COLLECTION_REGISTRY_APP_LIST",description:"List registry items for Store discovery. Supports private-only mode from plugin settings.",inputSchema:$L,outputSchema:RI,handler:U4($L,async(Y,X)=>{let G=i6(),J=await zu(X,X.organization.id);return G.items.list(X.organization.id,{...Y,where:Ci4(Y.where,J.storePrivateOnly===!0)})})},r06={name:"COLLECTION_REGISTRY_APP_GET",description:"Get a registry item for Store details. Respects private-only mode from plugin settings.",inputSchema:wZ,outputSchema:zA,handler:U4(wZ,async(Y,X)=>{let G=i6(),J=await zu(X,X.organization.id),W=Y.id??Y.name;if(!W)return{item:null};let K=await G.items.findByIdOrName(X.organization.id,W);if(!K)return{item:null};if(J.storePrivateOnly&&K.is_public)return{item:null};return{item:K}})},o06={name:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get registry item versions for Store details. Respects private-only mode from plugin settings.",inputSchema:wZ,outputSchema:F.object({versions:F.array(x3)}),handler:U4(wZ,async(Y,X)=>{let G=i6(),J=await zu(X,X.organization.id),W=Y.id??Y.name;if(!W)return{versions:[]};let K=await G.items.findByIdOrName(X.organization.id,W);if(!K)return{versions:[]};if(J.storePrivateOnly&&K.is_public)return{versions:[]};return{versions:[K]}})},s06={name:"COLLECTION_REGISTRY_APP_FILTERS",description:"List Store filter facets for registry items. Respects private-only mode from plugin settings.",inputSchema:F.object({}),outputSchema:CI,handler:U4(F.object({}),async(Y,X)=>{let G=i6();if(!(await zu(X,X.organization.id)).storePrivateOnly)return G.items.getFilters(X.organization.id);let W=await G.items.list(X.organization.id,{limit:1e4,where:{field:["is_public"],operator:"eq",value:!1}});return Ii4(W.items)})}});var e06;var Y66=A(()=>{dr0();pr0();ir0();rr0();tr0();Yo0();Go0();Wo0();Qo0();Ho0();Fo0();zo0();qo0();No0();Bo0();wo0();Ao0();Eo0();XY1();_06();v06();y06();b06();g06();m06();d06();p06();i06();t06();e06=[a06,r06,o06,s06,Jo0,Zo0,Xo0,$o0,nr0,lr0,Ko0,ar0,er0,sr0,cr0,Vo0,Uo0,Oo0,Lo0,Do0,Mo0,Po0,j06,S06,k06,f06,h06,x06,u06,l06,c06,n06]});var X66;var G66=A(()=>{xM();Za0();fr0();mr0();Y66();rK();X66={id:hF,description:Rp0,tools:e06,migrations:Wa0,publicRoutes:(Y,X)=>{dI1(Y,X),uI1(Y,X)},createStorage:ur0,onEvents:{types:["registry.monitor.scheduled"],handler:async(Y,X)=>{let G=await X.createMCPProxy(X.connectionId);try{for(let J of Y){if(J.type!=="registry.monitor.scheduled")continue;let W=J.data&&typeof J.data==="object"?J.data:{},K=W.config&&typeof W.config==="object"?W.config:{},Z=o91(K);await G.callTool({name:"REGISTRY_MONITOR_RUN_START",arguments:{config:Z}})}}finally{await G.close()}}}}});var J66="MCP Workflows",W66="Create workflows using your MCP tools";var Z66;var Q66=A(()=>{QA();Z66={name:"001-workflows",async up(Y){await Y.schema.createTable("workflow_collection").ifNotExists().addColumn("id","text",(X)=>X.primaryKey()).addColumn("organization_id","text",(X)=>X.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(X)=>X.notNull()).addColumn("description","text").addColumn("virtual_mcp_id","text",(X)=>X.notNull()).addColumn("steps","text",(X)=>X.notNull().defaultTo("[]")).addColumn("created_at","text",(X)=>X.notNull().defaultTo(J8`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(X)=>X.notNull().defaultTo(J8`CURRENT_TIMESTAMP`)).addColumn("created_by","text").addColumn("updated_by","text").execute(),await Y.schema.createIndex("idx_wf_collection_org").ifNotExists().on("workflow_collection").column("organization_id").execute(),await Y.schema.createIndex("idx_wf_collection_created_at").ifNotExists().on("workflow_collection").column("created_at").execute(),await Y.schema.createTable("workflow").ifNotExists().addColumn("id","text",(X)=>X.primaryKey()).addColumn("workflow_collection_id","text").addColumn("organization_id","text",(X)=>X.notNull().references("organization.id").onDelete("cascade")).addColumn("steps","text",(X)=>X.notNull().defaultTo("[]")).addColumn("input","text").addColumn("virtual_mcp_id","text",(X)=>X.notNull()).addColumn("created_at_epoch_ms","bigint",(X)=>X.notNull()).addColumn("created_by","text").execute(),await Y.schema.createIndex("idx_workflow_created_at").ifNotExists().on("workflow").column("created_at_epoch_ms").execute(),await Y.schema.createIndex("idx_workflow_collection_id").ifNotExists().on("workflow").column("workflow_collection_id").execute(),await Y.schema.createTable("workflow_execution").ifNotExists().addColumn("id","text",(X)=>X.primaryKey()).addColumn("workflow_id","text",(X)=>X.notNull().references("workflow.id").onDelete("cascade")).addColumn("organization_id","text",(X)=>X.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(X)=>X.notNull().defaultTo("enqueued")).addColumn("input","text").addColumn("output","text").addColumn("error","text").addColumn("created_at","bigint",(X)=>X.notNull()).addColumn("updated_at","bigint",(X)=>X.notNull()).addColumn("start_at_epoch_ms","bigint").addColumn("started_at_epoch_ms","bigint").addColumn("completed_at_epoch_ms","bigint").addColumn("timeout_ms","bigint").addColumn("deadline_at_epoch_ms","bigint").addColumn("created_by","text").execute(),await Y.schema.createIndex("idx_wf_execution_status").ifNotExists().on("workflow_execution").column("status").execute(),await Y.schema.createIndex("idx_wf_execution_workflow_id").ifNotExists().on("workflow_execution").column("workflow_id").execute(),await Y.schema.createIndex("idx_wf_execution_org").ifNotExists().on("workflow_execution").column("organization_id").execute(),await Y.schema.createIndex("idx_wf_execution_created_at").ifNotExists().on("workflow_execution").column("created_at").execute(),await Y.schema.createTable("workflow_execution_step_result").ifNotExists().addColumn("execution_id","text",(X)=>X.notNull().references("workflow_execution.id").onDelete("cascade")).addColumn("step_id","text",(X)=>X.notNull()).addColumn("started_at_epoch_ms","bigint").addColumn("completed_at_epoch_ms","bigint").addColumn("output","text").addColumn("error","text").addColumn("raw_tool_output","text").execute(),await Y.schema.createIndex("idx_wf_step_result_pk").ifNotExists().on("workflow_execution_step_result").columns(["execution_id","step_id"]).unique().execute(),await Y.schema.createIndex("idx_wf_step_result_execution").ifNotExists().on("workflow_execution_step_result").column("execution_id").execute()},async down(Y){await Y.schema.dropIndex("idx_wf_step_result_execution").ifExists().execute(),await Y.schema.dropIndex("idx_wf_step_result_pk").ifExists().execute(),await Y.schema.dropIndex("idx_wf_execution_created_at").ifExists().execute(),await Y.schema.dropIndex("idx_wf_execution_org").ifExists().execute(),await Y.schema.dropIndex("idx_wf_execution_workflow_id").ifExists().execute(),await Y.schema.dropIndex("idx_wf_execution_status").ifExists().execute(),await Y.schema.dropIndex("idx_workflow_collection_id").ifExists().execute(),await Y.schema.dropIndex("idx_workflow_created_at").ifExists().execute(),await Y.schema.dropIndex("idx_wf_collection_created_at").ifExists().execute(),await Y.schema.dropIndex("idx_wf_collection_org").ifExists().execute(),await Y.schema.dropTable("workflow_execution_step_result").ifExists().execute(),await Y.schema.dropTable("workflow_execution").ifExists().execute(),await Y.schema.dropTable("workflow").ifExists().execute(),await Y.schema.dropTable("workflow_collection").ifExists().execute()}}});var K66;var H66=A(()=>{K66={name:"002-execution-list-index",async up(Y){await Y.schema.createIndex("idx_wf_execution_org_created_at").ifNotExists().on("workflow_execution").columns(["organization_id","created_at desc"]).execute()},async down(Y){await Y.schema.dropIndex("idx_wf_execution_org_created_at").ifExists().execute()}}});var $66;var F66=A(()=>{Q66();H66();$66=[Z66,K66]});function TZ(Y){let X=Y;if(!X.organization)throw Error("Organization context required for workflow tools");return X}function TJ(Y){if(Y===null||Y===void 0)return null;if(typeof Y==="object")return Y;if(typeof Y!=="string")return Y;try{return JSON.parse(Y)}catch{return Y}}function V66(Y){pj1=Y}function RJ(){if(!pj1)throw Error('Plugin storage not initialized. Make sure the "workflows" plugin is enabled.');return pj1}var pj1=null;function z66(Y){return{...Y,steps:TJ(Y.steps)??[]}}class nj1{db;constructor(Y){this.db=Y}async list(Y,X={}){let{limit:G=50,offset:J=0}=X,W=await this.db.selectFrom("workflow_collection").selectAll().where("organization_id","=",Y).orderBy("created_at","desc").limit(G).offset(J).execute(),K=await this.db.selectFrom("workflow_collection").select((Z)=>Z.fn.countAll().as("count")).where("organization_id","=",Y).executeTakeFirstOrThrow();return{items:W,totalCount:Number(K.count)}}async getById(Y,X){let G=await this.db.selectFrom("workflow_collection").selectAll().where("id","=",Y).where("organization_id","=",X).executeTakeFirst();return G?z66(G):null}async create(Y){let X=await this.db.insertInto("workflow_collection").values(Y).returningAll().executeTakeFirstOrThrow();return z66(X)}async update(Y,X,G){return await this.db.updateTable("workflow_collection").set({...G,updated_at:new Date().toISOString()}).where("id","=",Y).where("organization_id","=",X).returningAll().executeTakeFirstOrThrow()}async delete(Y,X){return await this.db.deleteFrom("workflow_collection").where("id","=",Y).where("organization_id","=",X).returningAll().executeTakeFirstOrThrow()}}var U66=()=>{};function ji4(Y){return{...Y,steps:TJ(Y.steps)??[],input:TJ(Y.input)??null}}function MA(Y){return{...Y,output:TJ(Y.output),error:TJ(Y.error),raw_tool_output:TJ(Y.raw_tool_output)}}class ij1{db;constructor(Y){this.db=Y}async _createWorkflow(Y,X){let G=crypto.randomUUID(),J=Date.now();return await Y.insertInto("workflow").values({id:G,workflow_collection_id:X.workflowCollectionId??null,organization_id:X.organizationId,steps:JSON.stringify(X.steps),input:X.input?JSON.stringify(X.input):null,virtual_mcp_id:X.virtualMcpId,created_at_epoch_ms:J,created_by:X.createdBy??null}).execute(),{id:G}}async createWorkflow(Y){return this._createWorkflow(this.db,Y)}async getWorkflow(Y){let X=await this.db.selectFrom("workflow").selectAll().where("id","=",Y).executeTakeFirst();return X?ji4(X):null}async createExecution(Y){return this.db.transaction().execute(async(X)=>{let G=Date.now(),{id:J}=await this._createWorkflow(X,{organizationId:Y.organizationId,workflowCollectionId:Y.workflowCollectionId,virtualMcpId:Y.virtualMcpId,input:Y.input,steps:Y.steps,createdBy:Y.createdBy}),W=crypto.randomUUID(),K=Y.startAtEpochMs??G,Z=Y.timeoutMs?K+Y.timeoutMs:null;return await X.insertInto("workflow_execution").values({id:W,workflow_id:J,organization_id:Y.organizationId,status:"enqueued",input:Y.input?JSON.stringify(Y.input):null,created_at:G,updated_at:G,start_at_epoch_ms:K,timeout_ms:Y.timeoutMs??null,deadline_at_epoch_ms:Z,created_by:Y.createdBy??null}).execute(),{id:W}})}async getExecution(Y,X){return await this.db.selectFrom("workflow_execution").selectAll().where("id","=",Y).where("organization_id","=",X).executeTakeFirst()??null}async getExecutionFull(Y,X){let G=await this.db.selectFrom("workflow_execution").selectAll().where("id","=",Y).where("organization_id","=",X).executeTakeFirst();if(!G)return null;let J=await this.db.selectFrom("workflow_execution_step_result").selectAll().where("execution_id","=",Y).execute();return{execution:G,stepResults:J.map(MA)}}async getExecutionContext(Y){let[X,G]=await Promise.all([this.db.selectFrom("workflow_execution as we").innerJoin("workflow as w","we.workflow_id","w.id").select(["we.id","we.status","we.workflow_id","we.deadline_at_epoch_ms","w.steps","w.input","w.virtual_mcp_id"]).where("we.id","=",Y).executeTakeFirst(),this.db.selectFrom("workflow_execution_step_result").select(["step_id","completed_at_epoch_ms","output","error"]).where("execution_id","=",Y).execute()]);if(!X)return null;return{execution:{id:X.id,status:X.status,workflow_id:X.workflow_id,deadline_at_epoch_ms:X.deadline_at_epoch_ms},workflow:{steps:TJ(X.steps)??[],input:TJ(X.input)??null,virtual_mcp_id:X.virtual_mcp_id},stepResults:G.map((J)=>({step_id:J.step_id,completed_at_epoch_ms:J.completed_at_epoch_ms,output:TJ(J.output),error:TJ(J.error)}))}}async claimExecution(Y){let X=Date.now(),G=await this.db.updateTable("workflow_execution").set({status:"running",updated_at:X}).where("id","=",Y).where("status","=","enqueued").returningAll().executeTakeFirst();if(!G)return null;let J=await this.getWorkflow(G.workflow_id);if(!J)throw Error(`Workflow ${G.workflow_id} not found for execution ${Y}`);return{execution:G,workflow:J}}async updateExecution(Y,X,G){let W={updated_at:Date.now()};if(X.status!==void 0)W.status=X.status;if(X.output!==void 0)W.output=JSON.stringify(X.output);if(X.error!==void 0)W.error=JSON.stringify(X.error);if(X.completed_at_epoch_ms!==void 0)W.completed_at_epoch_ms=X.completed_at_epoch_ms;let K=this.db.updateTable("workflow_execution").set(W).where("id","=",Y);if(G?.onlyIfStatus)K=K.where("status","=",G.onlyIfStatus);return await K.returningAll().executeTakeFirst()??null}async cancelExecution(Y,X){let G=Date.now();return!!await this.db.updateTable("workflow_execution").set({status:"cancelled",updated_at:G}).where("id","=",Y).where("organization_id","=",X).where("status","in",["enqueued","running"]).returningAll().executeTakeFirst()}async resumeExecution(Y,X){return this.db.transaction().execute(async(G)=>{let J=Date.now();if(!await G.updateTable("workflow_execution").set({status:"enqueued",updated_at:J,completed_at_epoch_ms:null,error:null}).where("id","=",Y).where("organization_id","=",X).where((K)=>K.or([K("status","=","cancelled"),K("status","=","error")])).returningAll().executeTakeFirst())return!1;return await G.deleteFrom("workflow_execution_step_result").where("execution_id","=",Y).where((K)=>K.or([K("completed_at_epoch_ms","is",null),K("error","is not",null)])).execute(),!0})}async listExecutions(Y,X={}){let{limit:G=50,offset:J=0,status:W}=X,K=this.db.selectFrom("workflow_execution as we").innerJoin("workflow as w","we.workflow_id","w.id").leftJoin("workflow_collection as wc","w.workflow_collection_id","wc.id").select(["we.id","we.workflow_id","we.organization_id","we.status","we.input","we.output","we.error","we.created_at","we.updated_at","we.start_at_epoch_ms","we.started_at_epoch_ms","we.completed_at_epoch_ms","we.timeout_ms","we.deadline_at_epoch_ms","we.created_by","w.virtual_mcp_id"]).select((V)=>V.fn.coalesce("wc.title",V.val("Workflow Execution")).as("title")).where("we.organization_id","=",Y);if(W)K=K.where("we.status","=",W);let Z=await K.orderBy("we.created_at","desc").limit(G).offset(J).execute(),Q=this.db.selectFrom("workflow_execution").select((V)=>V.fn.countAll().as("count")).where("organization_id","=",Y);if(W)Q=Q.where("status","=",W);let H=await Q.executeTakeFirstOrThrow(),$=Number(H.count);return{items:Z,totalCount:$,hasMore:J+Z.length<$}}async createStepResult(Y){let X=await this.db.insertInto("workflow_execution_step_result").values({execution_id:Y.execution_id,step_id:Y.step_id,started_at_epoch_ms:Y.completed_at_epoch_ms?Date.now():null,completed_at_epoch_ms:Y.completed_at_epoch_ms??null,output:Y.output!==void 0?JSON.stringify(Y.output):null,error:Y.error!==void 0?JSON.stringify(Y.error):null}).onConflict((G)=>G.columns(["execution_id","step_id"]).doNothing()).returningAll().executeTakeFirst();return X?MA(X):null}async updateStepResult(Y,X,G){let J={};if(G.output!==void 0)J.output=JSON.stringify(G.output);if(G.error!==void 0)J.error=JSON.stringify(G.error);if(G.started_at_epoch_ms!==void 0)J.started_at_epoch_ms=G.started_at_epoch_ms;if(G.completed_at_epoch_ms!==void 0)J.completed_at_epoch_ms=G.completed_at_epoch_ms;if(Object.keys(J).length===0)return null;let W=await this.db.updateTable("workflow_execution_step_result").set(J).where("execution_id","=",Y).where("step_id","=",X).returningAll().executeTakeFirst();return W?MA(W):null}async checkpointAndTransform(Y,X,G,J){await this.db.updateTable("workflow_execution_step_result").set({raw_tool_output:JSON.stringify(G)}).where("execution_id","=",Y).where("step_id","=",X).execute();let W,K;try{let H=await J(G);W=H.output,K=H.error}catch(H){K=H instanceof Error?`Transform failed: ${H.message}`:`Transform failed: ${String(H)}`}let Z={completed_at_epoch_ms:Date.now()};if(W!==void 0)Z.output=JSON.stringify(W);if(K!==void 0)Z.error=JSON.stringify(K);let Q=await this.db.updateTable("workflow_execution_step_result").set(Z).where("execution_id","=",Y).where("step_id","=",X).returningAll().executeTakeFirst();return Q?MA(Q):null}async getStepResult(Y,X){let G=await this.db.selectFrom("workflow_execution_step_result").selectAll().where("execution_id","=",Y).where("step_id","=",X).executeTakeFirst();return G?MA(G):null}async getStepResults(Y){return(await this.db.selectFrom("workflow_execution_step_result").selectAll().where("execution_id","=",Y).execute()).map(MA)}async deleteStepResult(Y,X){await this.db.deleteFrom("workflow_execution_step_result").where("execution_id","=",Y).where("step_id","=",X).execute()}async getStepResultsByPrefix(Y,X){return(await this.db.selectFrom("workflow_execution_step_result").selectAll().where("execution_id","=",Y).where("step_id","like",`${X}%`).orderBy("step_id").execute()).map(MA)}async recoverStuckExecutions(){return this.db.updateTable("workflow_execution").set({status:"enqueued",updated_at:Date.now()}).where("status","=","running").returning(["id","organization_id"]).execute()}}var q66=()=>{};function O66(Y){let X=Y.db;return{collections:new nj1(X),executions:new ij1(X)}}var N66=A(()=>{U66();q66()});var L66,B66,D66,w66,M66;var A66=A(()=>{o1();AI();YY();L66={name:"COLLECTION_WORKFLOW_LIST",description:"List workflows with pagination. Does not include steps -- use GET for full details.",inputSchema:F.object({limit:F.number().optional().default(50),offset:F.number().optional().default(0)}),outputSchema:F.object({items:F.array(F.object({id:F.string(),title:F.string(),description:F.string().nullable(),virtual_mcp_id:F.string(),created_at:F.string(),updated_at:F.string()})),totalCount:F.number(),hasMore:F.boolean()}),handler:async(Y,X)=>{let G=TZ(X);await G.access.check();let J=Y,W=RJ(),{items:K,totalCount:Z}=await W.collections.list(G.organization.id,{limit:J.limit,offset:J.offset});return{items:K.map((Q)=>({id:Q.id,title:Q.title,description:Q.description,virtual_mcp_id:Q.virtual_mcp_id,created_at:Q.created_at,updated_at:Q.updated_at})),totalCount:Z,hasMore:(J.offset??0)+K.length<Z}}},B66={name:"COLLECTION_WORKFLOW_GET",description:"Get a single workflow by ID, including its steps.",inputSchema:F.object({id:F.string()}),outputSchema:F.object({item:F.object({id:F.string(),title:F.string(),description:F.string().nullable(),virtual_mcp_id:F.string(),steps:F.array(HA),created_at:F.string(),updated_at:F.string()}).nullable()}),handler:async(Y,X)=>{let G=TZ(X);await G.access.check();let{id:J}=Y,K=await RJ().collections.getById(J,G.organization.id);if(!K)return{item:null};return{item:{id:K.id,title:K.title,description:K.description,virtual_mcp_id:K.virtual_mcp_id,steps:K.steps,created_at:K.created_at,updated_at:K.updated_at}}}},D66={name:"COLLECTION_WORKFLOW_CREATE",description:`Create a workflow template. This is a reusable definition, not an execution.
1139
1139
 
1140
1140
  Key concepts:
1141
1141
  - Steps without references run immediately (in parallel).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decocms",
3
- "version": "2.180.0",
3
+ "version": "2.180.1",
4
4
  "description": "Deco CMS — Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- import{c as r,j as i}from"./index-B02T0zBo.js";import{P as m}from"./project-plugins-BYtvCgGC.js";import"./useQuery-D3gzovXd.js";import"./useMutation-r3KZb1HO.js";import"./constants-CxMCfkTL.js";import"./switch-B_37GSuW.js";import"./label-W6RhX9gu.js";import"./Container-C_jftBLa.js";import"./use-connection-DEVOZTNJ.js";import"./use-collections-Glkd82JS.js";import"./registry-utils-Du5_ORZW.js";import"./binder-C7qDL2Qf.js";import"./use-install-from-registry-B67DeFNR.js";import"./extract-connection-data-BffW3qeV.js";import"./generate-id-Dg3pJRJj.js";import"./Loading01-BkQZaZ86.js";import"./Plus-Dt2hP7ZJ.js";import"./select-DPY6FKWr.js";import"./index-BdQq_4o_.js";import"./index-DawpyEvM.js";import"./Check-LF3O8VSl.js";import"./ChevronDown-CoxfMCD_.js";import"./ChevronUp-CkQ5LXE4.js";function q(){const o=r.c(1);let t;return o[0]===Symbol.for("react.memo_cache_sentinel")?(t=i.jsx(m,{}),o[0]=t):t=o[0],t}export{q as default};
@@ -1 +0,0 @@
1
- import{c as n,j as r,E as d,r as f,u as x,e as j}from"./index-B02T0zBo.js";import{T as h}from"./tasks-panel-Bbz3xeDf.js";import{P as p}from"./index-Digd80e7.js";import{B as g,a as b,b as T,c as k}from"./breadcrumb-7qt2G4oc.js";import{i as B}from"./Loading01-BkQZaZ86.js";import{u as S}from"./context-CSEQjmqr.js";import"./task-status-DeYQ5Diz.js";import"./popover-B4lCL3Ry.js";import"./skeleton-D7_wHYzP.js";import"./spinner-qAHxlGf5.js";import"./tooltip-CFp3ORxD.js";import"./index-DawpyEvM.js";import"./constants-CxMCfkTL.js";import"./use-mcp-prompts-DFUn-Vc8.js";import"./useQuery-D3gzovXd.js";import"./dialog-DrVTTNou.js";import"./X-CcYgD4OX.js";import"./form-CWBeLdT6.js";import"./label-W6RhX9gu.js";import"./input-ForWep-5.js";import"./index-B3k9P-lf.js";import"./usage-BW6ztpN6.js";import"./integration-icon-BzBBJ1Fk.js";import"./Container-C_jftBLa.js";import"./AlertCircle-B8eJ9Fod.js";import"./ArrowUp-Cfk9ftkI.js";import"./ArrowLeft-BsqjOo0a.js";import"./XCircle-D3Nvo83i.js";import"./Type01-_F3mzKx6.js";import"./Check-LF3O8VSl.js";import"./ChevronDown-CoxfMCD_.js";import"./ChevronRight-CkZ762r8.js";import"./ChevronUp-CkQ5LXE4.js";import"./RefreshCcw01-BEbjARvC.js";import"./Play-Bpqump99.js";import"./Dataflow03-B_UyQRrQ.js";import"./Download01-Dn7pc_mQ.js";import"./List-BpugyVN4.js";import"./VideoRecorder-D9PsxJCT.js";import"./FolderClosed-Csm3WP5B.js";import"./Grid01-Bg8b-MfH.js";import"./Plus-Dt2hP7ZJ.js";import"./SearchMd-BFV4EEyM.js";import"./Settings01--CB8mKBF.js";import"./Trash01-QTnEOFQZ.js";import"./Upload01-CGSlQvAp.js";import"./User01-aj-zclnv.js";import"./XClose-BbXP9DKi.js";import"./Zap-CL-zS1_o.js";import"./select-DPY6FKWr.js";import"./index-BdQq_4o_.js";import"./org-ai-providers-B_fAMKG8.js";import"./useMutation-r3KZb1HO.js";import"./card-MD3_cdl-.js";import"./toggle-group-C7uP4yM0.js";import"./avatar-BM-8GWUG.js";import"./ai-providers-logos-dK9NDdIF.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./tabs-CKfZGJCt.js";import"./checkbox-K8EP3pTL.js";import"./drawer-D5CP8kBI.js";import"./select-virtual-mcp-CIMYOASs.js";import"./use-virtual-mcp-B29yPvq9.js";import"./use-collections-Glkd82JS.js";import"./use-create-virtual-mcp-Br5CSA0l.js";import"./use-mcp-resources-CkUyAyuG.js";import"./collapsible-xpsXy8wv.js";import"./index-C8GCLBuY.js";import"./use-copy-C9sTW2YW.js";import"./marked.esm-BaswSlok.js";import"./content-blocks-o63cs2vh.js";import"./mcp-app-renderer-CEmMQe7U.js";import"./types-Cq5MfqXb.js";import"./useSuspenseInfiniteQuery-ButnbJ6Q.js";import"./infiniteQueryObserver-CkKdAcwZ.js";import"./collection-search-BjwxIPZo.js";import"./user-CSVNc19J.js";import"./format-time-CMKyl-GC.js";import"./empty-state-DbZVzTBg.js";import"./dropdown-menu-C89gFzkt.js";import"./decopilot-events-Brt4gAR6.js";import"./index-BLDRNzDY.js";function v(){const t=n.c(8),{org:o,project:s}=x(),a=j(),{switchToTask:c}=S();let i;t[0]!==a||t[1]!==o.slug||t[2]!==s.slug||t[3]!==c?(i=async u=>{await c(u),a({to:"/$org/$project",params:{org:o.slug,project:s.slug}})},t[0]=a,t[1]=o.slug,t[2]=s.slug,t[3]=c,t[4]=i):i=t[4];const l=i;let m;t[5]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx(p.Header,{children:r.jsx(p.Header.Left,{children:r.jsx(g,{children:r.jsx(b,{children:r.jsx(T,{children:r.jsx(k,{children:"Tasks"})})})})})}),t[5]=m):m=t[5];let e;return t[6]!==l?(e=r.jsxs(p,{children:[m,r.jsx(p.Content,{children:r.jsx("div",{className:"h-full flex flex-col overflow-hidden",children:r.jsx(h,{onTaskSelect:l})})})]}),t[6]=l,t[7]=e):e=t[7],e}function tr(){const t=n.c(1);let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=r.jsx(d,{children:r.jsx(f.Suspense,{fallback:r.jsx("div",{className:"flex h-full items-center justify-center",children:r.jsx(B,{size:32,className:"animate-spin text-muted-foreground"})}),children:r.jsx(v,{})})}),t[0]=o):o=t[0],o}export{tr as default};
@@ -1 +0,0 @@
1
- import{I as u}from"./infiniteQueryObserver-CkKdAcwZ.js";import{T as i}from"./index-B02T0zBo.js";function t(e,r){return i(e,u,r)}export{t as u};
@@ -1 +0,0 @@
1
- import{T as u,aB as s}from"./index-B02T0zBo.js";function o(e,r){return u(e,s,r)}export{o as u};
@@ -1 +0,0 @@
1
- import{I as s}from"./infiniteQueryObserver-CkKdAcwZ.js";import{T as u,U as n}from"./index-B02T0zBo.js";function a(r,e){return u({...r,enabled:!0,suspense:!0,throwOnError:n},s,e)}export{a as u};