decocms 2.281.4-alpha.1 → 2.282.0

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 (177) hide show
  1. package/dist/client/assets/{AlertCircle-7JjFgLc7.js → AlertCircle-BFBGzWbU.js} +1 -1
  2. package/dist/client/assets/{ArrowNarrowLeft-Dede_Ne2.js → ArrowNarrowLeft-Dxp25apt.js} +1 -1
  3. package/dist/client/assets/{CheckCircle-CTW72EON.js → CheckCircle-B3ma3JwC.js} +1 -1
  4. package/dist/client/assets/{ChevronDown-kxc5hHzL.js → ChevronDown-D9BYLhkI.js} +1 -1
  5. package/dist/client/assets/{ChevronRight-DDbSh6n1.js → ChevronRight-1PBbNJm4.js} +1 -1
  6. package/dist/client/assets/{ChevronUp-Dp8gBsiQ.js → ChevronUp-Cfr7nwaY.js} +1 -1
  7. package/dist/client/assets/{Container-DbPEBCPd.js → Container-DGdMzimP.js} +1 -1
  8. package/dist/client/assets/{LinkExternal01-DGpodMuQ.js → LinkExternal01-D1eXv7CP.js} +1 -1
  9. package/dist/client/assets/{Lock01-DWeyLAgC.js → Lock01-Cd-pjSnV.js} +1 -1
  10. package/dist/client/assets/{Palette-9DjyOnf4.js → Palette-CpczgKVU.js} +1 -1
  11. package/dist/client/assets/{Play-CGVWyYId.js → Play-B7_Vv1Kl.js} +1 -1
  12. package/dist/client/assets/{Plus-BZ8TfrO6.js → Plus-DCerBxVp.js} +1 -1
  13. package/dist/client/assets/{SearchMd-DiHiiShh.js → SearchMd-BBYvMMEY.js} +1 -1
  14. package/dist/client/assets/{Settings02-BrMLRmyq.js → Settings02-CTxpmjIL.js} +1 -1
  15. package/dist/client/assets/{Star01-DOZUyUGI.js → Star01-DtLRJZfG.js} +1 -1
  16. package/dist/client/assets/{Sun-D9NMWxb1.js → Sun-CjaKdP_w.js} +1 -1
  17. package/dist/client/assets/{Tool01-CPwXEQb5.js → Tool01-BZX3PrpA.js} +1 -1
  18. package/dist/client/assets/{Trash01-JJPVWHIh.js → Trash01-BpPWbnOV.js} +1 -1
  19. package/dist/client/assets/{Upload01-CAASdeK2.js → Upload01-AtFwS7_4.js} +1 -1
  20. package/dist/client/assets/{User01-DzewYYcp.js → User01-CbhU6vag.js} +1 -1
  21. package/dist/client/assets/{Users03-1bfUrVZT.js → Users03-C-T3UrlF.js} +1 -1
  22. package/dist/client/assets/{X-CyqBZIBt.js → X-BNbilc9H.js} +1 -1
  23. package/dist/client/assets/{XCircle-C0Pb9VbS.js → XCircle-DYNSiiUr.js} +1 -1
  24. package/dist/client/assets/{Zap-WS6KKy8N.js → Zap-B7kVcQ1u.js} +1 -1
  25. package/dist/client/assets/{ZapSquare-DBz9qdVm.js → ZapSquare-CdonE3dW.js} +1 -1
  26. package/dist/client/assets/{accordion-iHKIJir4.js → accordion-FpUQMiXV.js} +1 -1
  27. package/dist/client/assets/agent-icon-CxiN-PMV.js +1 -0
  28. package/dist/client/assets/{agents-list-EtMSypXC.js → agents-list-C7OZID3w.js} +1 -1
  29. package/dist/client/assets/ai-providers-BTFQDMp3.js +1 -0
  30. package/dist/client/assets/{alert-dialog-CvUq9c2l.js → alert-dialog-C9VS4Tm4.js} +1 -1
  31. package/dist/client/assets/{auth-catchall-C2AFIXKV.js → auth-catchall-Bns0gw3s.js} +1 -1
  32. package/dist/client/assets/{automation-list-row-srgvCKZh.js → automation-list-row-BcStn6T3.js} +1 -1
  33. package/dist/client/assets/{automations-Dp2hsJvG.js → automations-CgsrNnd6.js} +1 -1
  34. package/dist/client/assets/{avatar-BAGLgwIy.js → avatar-BtIUeZzk.js} +1 -1
  35. package/dist/client/assets/{badge-Csg5fgRc.js → badge-CiNJMavT.js} +1 -1
  36. package/dist/client/assets/{brand-context-D7GISA6v.js → brand-context-B9-s9Xpu.js} +1 -1
  37. package/dist/client/assets/{card-bx_QeXw_.js → card-BLvmImYq.js} +1 -1
  38. package/dist/client/assets/{chat-context-OvrSchhz.js → chat-context-Bx9m79lL.js} +1 -1
  39. package/dist/client/assets/{checkbox-C7KSBfZr.js → checkbox-CRVR_ot1.js} +1 -1
  40. package/dist/client/assets/{collection-detail-BcTctJfQ.js → collection-detail-D4nuXZXV.js} +1 -1
  41. package/dist/client/assets/{collection-display-button-B4SGVjCw.js → collection-display-button-BuSwjRsM.js} +1 -1
  42. package/dist/client/assets/{collection-search-DOj_zhXC.js → collection-search-DoAFbLqs.js} +1 -1
  43. package/dist/client/assets/{collection-table-wrapper-C7ZPBElG.js → collection-table-wrapper-DRpY-ndk.js} +1 -1
  44. package/dist/client/assets/{collection-tabs-DrO0tDqW.js → collection-tabs-0TZKhC7x.js} +1 -1
  45. package/dist/client/assets/{collections-DRefuj7X.js → collections-DAiJZOiv.js} +1 -1
  46. package/dist/client/assets/{command-CGYZopFY.js → command-BD_eOk-8.js} +1 -1
  47. package/dist/client/assets/{connection-card-x5-U4xYO.js → connection-card-C4AfupKS.js} +1 -1
  48. package/dist/client/assets/{connection-detail-DNT7n-qD.js → connection-detail-BOwwMlXo.js} +1 -1
  49. package/dist/client/assets/{connection-form-helpers-Cieg3At7.js → connection-form-helpers-QCTlKFgF.js} +1 -1
  50. package/dist/client/assets/{connections-CcMp0k3e.js → connections-BjoOQtn5.js} +1 -1
  51. package/dist/client/assets/{constants-DfNucTio.js → constants-CA_0oD0v.js} +4 -4
  52. package/dist/client/assets/{constants-BTGWOBGG.js → constants-DNupv1Il.js} +1 -1
  53. package/dist/client/assets/{dialog-CDZoEVTf.js → dialog-Do5tt2AM.js} +1 -1
  54. package/dist/client/assets/{drawer-BtA5XqsS.js → drawer-CBGNhyg_.js} +1 -1
  55. package/dist/client/assets/{dropdown-menu-DU8JG2pk.js → dropdown-menu-YCgfVPDE.js} +1 -1
  56. package/dist/client/assets/{dynamic-plugin-layout-DI-gMMKE.js → dynamic-plugin-layout-DyQRK4xn.js} +1 -1
  57. package/dist/client/assets/{empty-state-B2WkME-3.js → empty-state-CQYaNwoK.js} +1 -1
  58. package/dist/client/assets/{empty-state-BxCE5vnH.js → empty-state-v8eFhsr-.js} +1 -1
  59. package/dist/client/assets/{extract-connection-data-DBjTfzuX.js → extract-connection-data-BUe7uD61.js} +1 -1
  60. package/dist/client/assets/{features-BTMuaR90.js → features-DCMNUsWH.js} +1 -1
  61. package/dist/client/assets/{form-nehB0yqt.js → form-CxxwnlP0.js} +1 -1
  62. package/dist/client/assets/{general-aaZSKs7j.js → general-oBb9oBV3.js} +1 -1
  63. package/dist/client/assets/{index-FCEJcMKv.js → index-2HrmMP-L.js} +31 -31
  64. package/dist/client/assets/{index-BFKRaI9q.js → index-3qazylEt.js} +1 -1
  65. package/dist/client/assets/{index-DkLXfxeF.js → index-B66cimzy.js} +2 -2
  66. package/dist/client/assets/{index-DvGOE4TR.js → index-B_SuozHK.js} +1 -1
  67. package/dist/client/assets/{index-A1TjNoro.js → index-BzPv7Dhu.js} +1 -1
  68. package/dist/client/assets/{index-0Nuumosr.js → index-CSgeCYxL.js} +1 -1
  69. package/dist/client/assets/{index-BD-lTLoS.js → index-CT3_Tk81.js} +1 -1
  70. package/dist/client/assets/{index-C7LpArfe.js → index-DBUcZB2f.js} +1 -1
  71. package/dist/client/assets/{index-nsskrYaZ.js → index-DCHDqkUk.js} +1 -1
  72. package/dist/client/assets/index-DHRo5LVc.css +1 -0
  73. package/dist/client/assets/{index-CFqkoEQr.js → index-DRqrJul_.js} +1 -1
  74. package/dist/client/assets/{infiniteQueryObserver-VUPo5ONC.js → infiniteQueryObserver-BMqyJ-TR.js} +1 -1
  75. package/dist/client/assets/{input-Dxp3-aWz.js → input-n-tkcD47.js} +1 -1
  76. package/dist/client/assets/integration-icon-DMDIiedF.js +1 -0
  77. package/dist/client/assets/{label-BVoDYtUr.js → label-BtcNLrPM.js} +1 -1
  78. package/dist/client/assets/{layout-C9Y7P28P.js → layout-Db9ocR8l.js} +1 -1
  79. package/dist/client/assets/{lean-canvas-recruit-modal-N8EVMVv5.js → lean-canvas-recruit-modal-D_J2ca55.js} +2 -2
  80. package/dist/client/assets/{login-kx3MQEcu.js → login-44n9MoF6.js} +1 -1
  81. package/dist/client/assets/{members-BucBnRu5.js → members-DVv4q0sB.js} +1 -1
  82. package/dist/client/assets/{monaco-editor-WwGGEq4E.js → monaco-editor-BArWst-4.js} +1 -1
  83. package/dist/client/assets/{monitoring-stats-row-D5uhoKE2.js → monitoring-stats-row-DwT9f7ma.js} +1 -1
  84. package/dist/client/assets/{oauth-callback-BB1bfQ0C.js → oauth-callback-ZWFD-c9z.js} +1 -1
  85. package/dist/client/assets/{oauth-callback-ai-provider-Cx11JY4J.js → oauth-callback-ai-provider-DvgS7JVs.js} +1 -1
  86. package/dist/client/assets/{onboarding-CRDp-7ts.js → onboarding-Bx7D7eeN.js} +1 -1
  87. package/dist/client/assets/{org-layout-DWgxefUR.js → org-layout-C1WQZ86m.js} +1 -1
  88. package/dist/client/assets/{org-plugin-layout-B0IS-vI9.js → org-plugin-layout-aVinWGGP.js} +1 -1
  89. package/dist/client/assets/{plugin-empty-state-C9Il8L-B.js → plugin-empty-state-7geUhVaf.js} +1 -1
  90. package/dist/client/assets/{plugin-header-DF-027xA.js → plugin-header-C1Y6Yac2.js} +1 -1
  91. package/dist/client/assets/{plugin-layout-CQviDmLQ.js → plugin-layout-ClqwcLfX.js} +1 -1
  92. package/dist/client/assets/{popover-_s_tQK3Z.js → popover-XBsYrCQB.js} +1 -1
  93. package/dist/client/assets/{profile-BAAvq5PA.js → profile-DLXMWz7I.js} +1 -1
  94. package/dist/client/assets/{project-app-view-CWfRTdtF.js → project-app-view-BWaWLQ1-.js} +1 -1
  95. package/dist/client/assets/registry-fqaSl7FI.js +2 -0
  96. package/dist/client/assets/{registry-layout-DQKjQh-i.js → registry-layout-BOqFx2Hr.js} +1 -1
  97. package/dist/client/assets/{required-auth-layout-CXhuopzx.js → required-auth-layout-Q3YyHmAw.js} +1 -1
  98. package/dist/client/assets/{reset-password-DZzWPbSN.js → reset-password-Ben4hB-3.js} +1 -1
  99. package/dist/client/assets/{scroll-area-hAa33XcH.js → scroll-area-BdtE1vuO.js} +1 -1
  100. package/dist/client/assets/{search-input-C61ZvpPR.js → search-input-CmCwxjTX.js} +1 -1
  101. package/dist/client/assets/{select-DRB8tE_p.js → select-MIqG5BTZ.js} +1 -1
  102. package/dist/client/assets/{select-model-CP81c55I.js → select-model-Bg7ZIMS5.js} +1 -1
  103. package/dist/client/assets/settings-layout-DO-ULKWI.js +1 -0
  104. package/dist/client/assets/{shell-layout-DAhaxub0.js → shell-layout-xKLRos3t.js} +1 -1
  105. package/dist/client/assets/{skeleton-3sAmljB_.js → skeleton-BZTVNwC4.js} +1 -1
  106. package/dist/client/assets/{sso-BmmBRsro.js → sso-BT50WbJk.js} +1 -1
  107. package/dist/client/assets/{store-Dq5sv0Ed.js → store-CHDNsIdi.js} +1 -1
  108. package/dist/client/assets/store-registry-kH6JKRAv.js +2 -0
  109. package/dist/client/assets/{switch-DL640Ue6.js → switch-BI6s_uRk.js} +1 -1
  110. package/dist/client/assets/{table-Dbi2W1JY.js → table-WyfrKpOs.js} +1 -1
  111. package/dist/client/assets/{tabs-BByMWKiD.js → tabs-BK1mEgGf.js} +1 -1
  112. package/dist/client/assets/{task-status-CmmBYEnr.js → task-status-GcEPbgk8.js} +1 -1
  113. package/dist/client/assets/{textarea-DHlYLEvo.js → textarea-DVawcto0.js} +1 -1
  114. package/dist/client/assets/{toggle-group-CZBEspMS.js → toggle-group-wuBBOmnu.js} +1 -1
  115. package/dist/client/assets/{tools-list-DuX1kehi.js → tools-list-BgoIxxcE.js} +1 -1
  116. package/dist/client/assets/{types-DvTqSron.js → types-B9bcGYd-.js} +1 -1
  117. package/dist/client/assets/{use-ai-providers-ClS89y7X.js → use-ai-providers-CvVWYaQ8.js} +1 -1
  118. package/dist/client/assets/{use-collections-Dv9KwC2D.js → use-collections-daCmI1gf.js} +1 -1
  119. package/dist/client/assets/{use-connection-BmcG6E0P.js → use-connection-DX24Nzyd.js} +1 -1
  120. package/dist/client/assets/{use-copy-BkRNxEwn.js → use-copy-DnDrxF7p.js} +1 -1
  121. package/dist/client/assets/{use-create-virtual-mcp-CH8VJize.js → use-create-virtual-mcp-BXWOJHzA.js} +1 -1
  122. package/dist/client/assets/{use-decopilot-events-BwyevFSM.js → use-decopilot-events-CqJFbk0C.js} +1 -1
  123. package/dist/client/assets/{use-delete-connection-DfVzQzgY.js → use-delete-connection-BypWLqop.js} +1 -1
  124. package/dist/client/assets/{use-infinite-scroll-C0yn-Y6f.js → use-infinite-scroll-B2G1dNh-.js} +1 -1
  125. package/dist/client/assets/{use-list-state-D4yuEOh_.js → use-list-state-CUoBuePJ.js} +1 -1
  126. package/dist/client/assets/{use-mcp-tools-B1TR0GK5.js → use-mcp-tools-B7YQiceT.js} +1 -1
  127. package/dist/client/assets/{use-members-BSe-l5RV.js → use-members-CT_s4J5I.js} +1 -1
  128. package/dist/client/assets/{use-mobile-D7gj1mMa.js → use-mobile-CZZS48R8.js} +1 -1
  129. package/dist/client/assets/{use-navigate-to-agent-BOFYFzjJ.js → use-navigate-to-agent-DDSqcJhW.js} +1 -1
  130. package/dist/client/assets/{use-org-sso-BIx4Rk_Y.js → use-org-sso-CtXg6XR8.js} +1 -1
  131. package/dist/client/assets/{use-organization-settings-CcY3Vn-c.js → use-organization-settings-G7C4gwdM.js} +1 -1
  132. package/dist/client/assets/{use-registry-connections-G41Zams2.js → use-registry-connections-CpcHatqk.js} +1 -1
  133. package/dist/client/assets/{use-status-sounds-Cq0X5c0g.js → use-status-sounds-Bo8AWgrW.js} +1 -1
  134. package/dist/client/assets/{use-tasks-DqpLygvk.js → use-tasks-DBgVSqQb.js} +1 -1
  135. package/dist/client/assets/{use-view-mode-hEZSGIRN.js → use-view-mode-BtECwb27.js} +1 -1
  136. package/dist/client/assets/{use-virtual-mcp-B0nMlTA1.js → use-virtual-mcp-C6vsxMj0.js} +1 -1
  137. package/dist/client/assets/useInfiniteQuery-wZmQwXID.js +1 -0
  138. package/dist/client/assets/{user-B-lqJM9i.js → user-5NHpahbI.js} +1 -1
  139. package/dist/client/assets/{view-mode-toggle-DSiIUGAP.js → view-mode-toggle-DqCLjYVJ.js} +1 -1
  140. package/dist/client/assets/{workflow-C2B3R0BC.js → workflow-BXvm2wWf.js} +1 -1
  141. package/dist/client/assets/workflow-detail-C3H1TNiF.js +1 -0
  142. package/dist/client/index.html +2 -2
  143. package/dist/server/cli.js +54 -54
  144. package/dist/server/node_modules/onetime/index.d.ts +64 -0
  145. package/dist/server/node_modules/onetime/index.js +44 -0
  146. package/dist/server/node_modules/onetime/package.json +43 -0
  147. package/dist/server/node_modules/onetime/readme.md +94 -0
  148. package/dist/server/node_modules/postgres-array/index.d.ts +4 -0
  149. package/dist/server/node_modules/postgres-array/index.js +97 -0
  150. package/dist/server/node_modules/postgres-array/license +21 -0
  151. package/dist/server/node_modules/postgres-array/package.json +35 -0
  152. package/dist/server/node_modules/postgres-array/readme.md +43 -0
  153. package/dist/server/node_modules/postgres-bytea/index.js +33 -0
  154. package/dist/server/node_modules/postgres-bytea/license +21 -0
  155. package/dist/server/node_modules/postgres-bytea/package.json +34 -0
  156. package/dist/server/node_modules/postgres-bytea/readme.md +34 -0
  157. package/dist/server/server.js +1 -1
  158. package/package.json +1 -1
  159. package/dist/client/assets/agent-icon-OPgA0_xh.js +0 -1
  160. package/dist/client/assets/ai-providers-BkPyz71b.js +0 -1
  161. package/dist/client/assets/index-C_Ncklfg.css +0 -1
  162. package/dist/client/assets/integration-icon-DUduEF01.js +0 -1
  163. package/dist/client/assets/registry-BO9_rH5u.js +0 -2
  164. package/dist/client/assets/settings-layout-UJNERdUa.js +0 -1
  165. package/dist/client/assets/store-registry-BfCS4xd0.js +0 -2
  166. package/dist/client/assets/useInfiniteQuery-D-Fu49PN.js +0 -1
  167. package/dist/client/assets/workflow-detail-EmQ0YEuI.js +0 -1
  168. package/dist/server/node_modules/indent-string/index.d.ts +0 -38
  169. package/dist/server/node_modules/indent-string/index.js +0 -38
  170. package/dist/server/node_modules/indent-string/package.json +0 -40
  171. package/dist/server/node_modules/indent-string/readme.md +0 -73
  172. package/dist/server/node_modules/widest-line/index.d.ts +0 -12
  173. package/dist/server/node_modules/widest-line/index.js +0 -11
  174. package/dist/server/node_modules/widest-line/license +0 -9
  175. package/dist/server/node_modules/widest-line/package.json +0 -60
  176. package/dist/server/node_modules/widest-line/readme.md +0 -26
  177. /package/dist/server/node_modules/{indent-string → onetime}/license +0 -0
@@ -1581,7 +1581,7 @@ FORMAT `+G}function Km1(Y){let G=Y.length;for(let X=G;X>0;X--)if(Y[X-1]!==";"){G
1581
1581
  `)}function M79(Y,G){if(Y.stack&&G){let X=Y.stack.indexOf(`
1582
1582
  `),J=Y.stack.substring(0,X),W=Y.stack.substring(X+1);Y.stack=`${J}
1583
1583
  ${G}
1584
- ${W}`}return Y}});var _Q1=I((QP)=>{var C79=QP&&QP.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),S79=QP&&QP.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))C79(G,Y,X)};Object.defineProperty(QP,"__esModule",{value:!0});S79(Dw4(),QP)});var ww4=I((Lw4)=>{Object.defineProperty(Lw4,"__esModule",{value:!0});Lw4.isProgressRow=j79;Lw4.isRow=I79;Lw4.isException=f79;function j79(Y){return Y!==null&&typeof Y==="object"&&"progress"in Y&&Object.keys(Y).length===1}function I79(Y){return Y!==null&&typeof Y==="object"&&"row"in Y&&Object.keys(Y).length===1}function f79(Y){return Y!==null&&typeof Y==="object"&&"exception"in Y&&Object.keys(Y).length===1}});var hw4=I((kw4)=>{Object.defineProperty(kw4,"__esModule",{value:!0});kw4.SimpleColumnTypes=kw4.ColumnTypeParseError=void 0;kw4.parseColumnType=Jn;kw4.parseDecimalType=Ew4;kw4.parseEnumType=Mw4;kw4.parseMapType=Pw4;kw4.parseTupleType=Tw4;kw4.parseArrayType=Rw4;kw4.parseDateTimeType=Cw4;kw4.parseDateTime64Type=Sw4;kw4.parseFixedStringType=jw4;kw4.asNullableType=Iw4;kw4.getElementsTypes=Lm1;class FY extends Error{args;constructor(Y,G){super(Y);this.args=G??{},Object.setPrototypeOf(this,FY.prototype)}}kw4.ColumnTypeParseError=FY;kw4.SimpleColumnTypes=["Bool","UInt8","Int8","UInt16","Int16","UInt32","Int32","UInt64","Int64","UInt128","Int128","UInt256","Int256","Float32","Float64","String","UUID","Date","Date32","IPv4","IPv6"];function Jn(Y){let G=Y,X=!1;if(G.startsWith(Aw4))G=G.slice(Aw4.length,-1);if(G.startsWith(bQ1))G=G.slice(bQ1.length,-1),X=!0;let J;if(kw4.SimpleColumnTypes.includes(G))J={type:"Simple",columnType:G,sourceType:Y};else if(G.startsWith(kQ1))J=Ew4({sourceType:Y,columnType:G});else if(G.startsWith(C_))J=Sw4({sourceType:Y,columnType:G});else if(G.startsWith(Dm1))J=Cw4({sourceType:Y,columnType:G});else if(G.startsWith(yQ1))J=jw4({sourceType:Y,columnType:G});else if(G.startsWith(qm1)||G.startsWith(zm1))J=Mw4({sourceType:Y,columnType:G});else if(G.startsWith(Xn))J=Rw4({sourceType:Y,columnType:G});else if(G.startsWith(hQ1))J=Pw4({sourceType:Y,columnType:G});else if(G.startsWith(vQ1))J=Tw4({sourceType:Y,columnType:G});else throw new FY("Unsupported column type",{columnType:G});if(X)return Iw4(J,Y);else return J}function Ew4({columnType:Y,sourceType:G}){if(!Y.startsWith(kQ1)||Y.length<kQ1.length+5)throw new FY("Invalid Decimal type",{sourceType:G,columnType:Y});let X=Y.slice(kQ1.length,-1).split(", ");if(X.length!==2)throw new FY("Expected Decimal type to have both precision and scale",{sourceType:G,columnType:Y,split:X});let J=32,W=parseInt(X[0],10);if(Number.isNaN(W)||W<1||W>76)throw new FY("Invalid Decimal precision",{columnType:Y,sourceType:G,precision:W});let Z=parseInt(X[1],10);if(Number.isNaN(Z)||Z<0||Z>W)throw new FY("Invalid Decimal scale",{columnType:Y,sourceType:G,precision:W,scale:Z});if(W>38)J=256;else if(W>18)J=128;else if(W>9)J=64;return{type:"Decimal",params:{precision:W,scale:Z,intSize:J},sourceType:G}}function Mw4({columnType:Y,sourceType:G}){let X;if(Y.startsWith(qm1))Y=Y.slice(qm1.length,-1),X=8;else if(Y.startsWith(zm1))Y=Y.slice(zm1.length,-1),X=16;else throw new FY("Expected Enum to be either Enum8 or Enum16",{columnType:Y,sourceType:G});if(Y.length<6)throw new FY("Invalid Enum type values",{columnType:Y,sourceType:G});let J=[],W=[],Z=!0,Q=!1,$=1;for(let V=1;V<Y.length;V++)if(Z){if(Q)Q=!1;else if(Y.charCodeAt(V)===_w4)Q=!0;else if(Y.charCodeAt(V)===fw4){let U=Y.slice($,V);if(J.includes(U))throw new FY("Duplicate Enum name",{columnType:Y,sourceType:G,name:U,names:J,indices:W});J.push(U),V+=4,$=V,Z=!1}}else if(Y.charCodeAt(V)<x79||Y.charCodeAt(V)>g79)K($,V),V+=2,$=V+1,Z=!0,Q=!1;if(K($,Y.length),J.length!==W.length)throw new FY("Expected Enum to have the same number of names and indices",{columnType:Y,sourceType:G,names:J,indices:W});let H={};for(let V=0;V<J.length;V++)H[W[V]]=J[V];return{type:"Enum",values:H,intSize:X,sourceType:G};function K(V,U){let O=parseInt(Y.slice(V,U),10);if(Number.isNaN(O)||O<0)throw new FY("Expected Enum index to be a valid number",{columnType:Y,sourceType:G,names:J,indices:W,index:O,start:V,end:U});if(W.includes(O))throw new FY("Duplicate Enum index",{columnType:Y,sourceType:G,index:O,names:J,indices:W});W.push(O)}}function Pw4({columnType:Y,sourceType:G}){if(!Y.startsWith(hQ1)||Y.length<hQ1.length+11)throw new FY("Invalid Map type",{columnType:Y,sourceType:G});Y=Y.slice(hQ1.length,-1);let[X,J]=Lm1({columnType:Y,sourceType:G},2),W=Jn(X);if(W.type==="DateTime64"||W.type==="Nullable"||W.type==="Array"||W.type==="Map"||W.type==="Decimal"||W.type==="Tuple")throw new FY("Invalid Map key type",{key:W,sourceType:G});let Z=Jn(J);return{type:"Map",key:W,value:Z,sourceType:G}}function Tw4({columnType:Y,sourceType:G}){if(!Y.startsWith(vQ1)||Y.length<vQ1.length+5)throw new FY("Invalid Tuple type",{columnType:Y,sourceType:G});return Y=Y.slice(vQ1.length,-1),{type:"Tuple",elements:Lm1({columnType:Y,sourceType:G},1).map((J)=>Jn(J)),sourceType:G}}function Rw4({columnType:Y,sourceType:G}){if(!Y.startsWith(Xn)||Y.length<Xn.length+5)throw new FY("Invalid Array type",{columnType:Y,sourceType:G});let X=0;while(Y.length>0)if(Y.startsWith(Xn))Y=Y.slice(Xn.length,-1),X++;else break;if(X===0||X>10)throw new FY("Expected Array to have between 1 and 10 dimensions",{columnType:Y});let J=Jn(Y);if(J.type==="Array")throw new FY("Unexpected Array as value type",{columnType:Y,sourceType:G});return{type:"Array",value:J,dimensions:X,sourceType:G}}function Cw4({columnType:Y,sourceType:G}){if(Y.startsWith(Nm1)&&Y.length>Nm1.length+4)return{type:"DateTime",timezone:Y.slice(Nm1.length+1,-2),sourceType:G};else if(Y.startsWith(Dm1)&&Y.length===Dm1.length)return{type:"DateTime",timezone:null,sourceType:G};else throw new FY("Invalid DateTime type",{columnType:Y,sourceType:G})}function Sw4({columnType:Y,sourceType:G}){if(!Y.startsWith(C_)||Y.length<C_.length+2)throw new FY("Invalid DateTime64 type",{columnType:Y,sourceType:G});let X=parseInt(Y[C_.length],10);if(Number.isNaN(X)||X<0||X>9)throw new FY("Invalid DateTime64 precision",{columnType:Y,sourceType:G,precision:X});let J=null;if(Y.length>C_.length+2)J=Y.slice(C_.length+4,-2);return{type:"DateTime64",timezone:J,precision:X,sourceType:G}}function jw4({columnType:Y,sourceType:G}){if(!Y.startsWith(yQ1)||Y.length<yQ1.length+2)throw new FY("Invalid FixedString type",{columnType:Y,sourceType:G});let X=parseInt(Y.slice(yQ1.length,-1),10);if(Number.isNaN(X)||X<1)throw new FY("Invalid FixedString size in bytes",{columnType:Y,sourceType:G,sizeBytes:X});return{type:"FixedString",sizeBytes:X,sourceType:G}}function Iw4(Y,G){if(Y.type==="Array"||Y.type==="Map"||Y.type==="Tuple"||Y.type==="Nullable")throw new FY(`${Y.type} cannot be Nullable`,{sourceType:G});if(Y.sourceType.startsWith(bQ1))Y.sourceType=Y.sourceType.slice(bQ1.length,-1);return{type:"Nullable",sourceType:G,value:Y}}function Lm1({columnType:Y,sourceType:G},X){let J=[],W=0,Z=!1,Q=!1,$=0;for(let H=0;H<Y.length;H++)if(Q)Q=!1;else if(Y.charCodeAt(H)===_w4)Q=!0;else if(Y.charCodeAt(H)===fw4)Z=!Z;else if(!Z){if(Y.charCodeAt(H)===v79)W++;else if(Y.charCodeAt(H)===y79)W--;else if(Y.charCodeAt(H)===b79){if(W===0)J.push(Y.slice($,H)),H+=2,$=H}}if(!W&&$<Y.length-1)J.push(Y.slice($));if(J.length<X)throw new FY("Expected more elements in the type",{sourceType:G,columnType:Y,elements:J,minElements:X});return J}var bQ1="Nullable(",Aw4="LowCardinality(",kQ1="Decimal(",Xn="Array(",hQ1="Map(",qm1="Enum8(",zm1="Enum16(",vQ1="Tuple(",Dm1="DateTime",Nm1="DateTime(",C_="DateTime64(",yQ1="FixedString(",fw4=39,v79=40,y79=41,b79=44,x79=48,g79=57,_w4=92});var yw4=I((CL)=>{var t79=CL&&CL.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),vw4=CL&&CL.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))t79(G,Y,X)};Object.defineProperty(CL,"__esModule",{value:!0});vw4(hw4(),CL);vw4(Jm1(),CL)});var gw4=I((bw4)=>{Object.defineProperty(bw4,"__esModule",{value:!0});bw4.EXCEPTION_TAG_HEADER_NAME=void 0;bw4.withCompressionHeaders=e79;bw4.withHttpSettings=YJ9;bw4.isSuccessfulResponse=GJ9;bw4.isJWTAuth=XJ9;bw4.isCredentialsAuth=JJ9;function e79({headers:Y,enable_request_compression:G,enable_response_compression:X}){return{...Y,...X?{"Accept-Encoding":"gzip"}:{},...G?{"Content-Encoding":"gzip"}:{}}}function YJ9(Y,G){return{...G?{enable_http_compression:1}:{},...Y}}function GJ9(Y){return Boolean(Y&&200<=Y&&Y<300)}function XJ9(Y){return Y!==null&&typeof Y==="object"&&"access_token"in Y}function JJ9(Y){return Y!==null&&typeof Y==="object"&&"username"in Y&&"password"in Y}bw4.EXCEPTION_TAG_HEADER_NAME="x-clickhouse-exception-tag"});var mw4=I((uw4)=>{Object.defineProperty(uw4,"__esModule",{value:!0});uw4.sleep=KJ9;async function KJ9(Y){await new Promise((G)=>setTimeout(()=>{G(void 0)},Y))}});var cw4=I((lw4)=>{Object.defineProperty(lw4,"__esModule",{value:!0});lw4.CARET_RETURN=void 0;lw4.extractErrorAtTheEndOfChunk=BJ9;var VJ9=_Q1(),UJ9="__exception__",OJ9=10;lw4.CARET_RETURN=13;function BJ9(Y,G){try{let X=1+UJ9.length+2+G.length+2,J=Y.length-X;if(J<1)return Error("there was an error in the stream, but the last chunk is malformed");do--J;while(Y[J]!==OJ9);let W=new TextDecoder("utf-8"),Z=parseInt(W.decode(Y.subarray(J,-X)));if(isNaN(Z)||Z<=0)return Error("there was an error in the stream; failed to parse the message length");let Q=W.decode(Y.subarray(J-Z+1,J));return(0,VJ9.parseError)(Q)}catch(X){return X}}});var iw4=I((nw4)=>{Object.defineProperty(nw4,"__esModule",{value:!0});nw4.transformUrl=qJ9;nw4.toSearchParams=zJ9;var pw4=IQ1();function qJ9({url:Y,pathname:G,searchParams:X}){let J=new URL(Y);if(G)if(J.pathname==="/")J.pathname=G;else J.pathname+=G;if(X)J.search=X?.toString();return J}function zJ9({database:Y,query:G,query_params:X,clickhouse_settings:J,session_id:W,query_id:Z,role:Q}){let $=[["query_id",Z]];if(X!==void 0)for(let[H,K]of Object.entries(X)){let V=(0,pw4.formatQueryParams)({value:K});$.push([`param_${H}`,V])}if(J!==void 0){for(let[H,K]of Object.entries(J))if(K!==void 0)$.push([H,(0,pw4.formatQuerySettings)(K)])}if(Y!==void 0&&Y!=="default")$.push(["database",Y]);if(G)$.push(["query",G]);if(W)$.push(["session_id",W]);if(Q){if(typeof Q==="string")$.push(["role",Q]);else if(Array.isArray(Q))for(let H of Q)$.push(["role",H])}return new URLSearchParams($)}});var rw4=I((EU)=>{var wJ9=EU&&EU.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),xQ1=EU&&EU.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))wJ9(G,Y,X)};Object.defineProperty(EU,"__esModule",{value:!0});xQ1(gw4(),EU);xQ1(mw4(),EU);xQ1(cw4(),EU);xQ1(iw4(),EU)});var OQ=I((p6)=>{Object.defineProperty(p6,"__esModule",{value:!0});p6.enhanceStackTrace=p6.getCurrentStackTrace=p6.DefaultLogger=p6.LogWriter=p6.CARET_RETURN=p6.extractErrorAtTheEndOfChunk=p6.isJWTAuth=p6.isCredentialsAuth=p6.withHttpSettings=p6.withCompressionHeaders=p6.transformUrl=p6.toSearchParams=p6.sleep=p6.isSuccessfulResponse=p6.EXCEPTION_TAG_HEADER_NAME=p6.numberConfigURLValue=p6.getConnectionParams=p6.enumConfigURLValue=p6.booleanConfigURLValue=p6.validateStreamFormat=p6.isNotStreamableJSONFamily=p6.isStreamableJSONFamily=p6.isSupportedRawFormat=p6.encodeJSON=p6.formatQueryParams=p6.formatQuerySettings=p6.defaultJSONHandling=p6.parseColumnType=p6.SimpleColumnTypes=p6.SettingsMap=p6.isException=p6.isRow=p6.isProgressRow=p6.ClickHouseLogLevel=p6.parseError=p6.ClickHouseError=p6.TupleParam=p6.RecordsJSONFormats=p6.SingleDocumentJSONFormats=p6.StreamableJSONFormats=p6.StreamableFormats=p6.SupportedRawFormats=p6.SupportedJSONFormats=p6.ClickHouseClient=void 0;var AJ9=Xw4();Object.defineProperty(p6,"ClickHouseClient",{enumerable:!0,get:function(){return AJ9.ClickHouseClient}});var ZP=IQ1();Object.defineProperty(p6,"SupportedJSONFormats",{enumerable:!0,get:function(){return ZP.SupportedJSONFormats}});Object.defineProperty(p6,"SupportedRawFormats",{enumerable:!0,get:function(){return ZP.SupportedRawFormats}});Object.defineProperty(p6,"StreamableFormats",{enumerable:!0,get:function(){return ZP.StreamableFormats}});Object.defineProperty(p6,"StreamableJSONFormats",{enumerable:!0,get:function(){return ZP.StreamableJSONFormats}});Object.defineProperty(p6,"SingleDocumentJSONFormats",{enumerable:!0,get:function(){return ZP.SingleDocumentJSONFormats}});Object.defineProperty(p6,"RecordsJSONFormats",{enumerable:!0,get:function(){return ZP.RecordsJSONFormats}});Object.defineProperty(p6,"TupleParam",{enumerable:!0,get:function(){return ZP.TupleParam}});var aw4=_Q1();Object.defineProperty(p6,"ClickHouseError",{enumerable:!0,get:function(){return aw4.ClickHouseError}});Object.defineProperty(p6,"parseError",{enumerable:!0,get:function(){return aw4.parseError}});var EJ9=RQ1();Object.defineProperty(p6,"ClickHouseLogLevel",{enumerable:!0,get:function(){return EJ9.ClickHouseLogLevel}});var Am1=ww4();Object.defineProperty(p6,"isProgressRow",{enumerable:!0,get:function(){return Am1.isProgressRow}});Object.defineProperty(p6,"isRow",{enumerable:!0,get:function(){return Am1.isRow}});Object.defineProperty(p6,"isException",{enumerable:!0,get:function(){return Am1.isException}});var MJ9=Bm1();Object.defineProperty(p6,"SettingsMap",{enumerable:!0,get:function(){return MJ9.SettingsMap}});var Em1=yw4();Object.defineProperty(p6,"SimpleColumnTypes",{enumerable:!0,get:function(){return Em1.SimpleColumnTypes}});Object.defineProperty(p6,"parseColumnType",{enumerable:!0,get:function(){return Em1.parseColumnType}});Object.defineProperty(p6,"defaultJSONHandling",{enumerable:!0,get:function(){return Em1.defaultJSONHandling}});var $P=IQ1();Object.defineProperty(p6,"formatQuerySettings",{enumerable:!0,get:function(){return $P.formatQuerySettings}});Object.defineProperty(p6,"formatQueryParams",{enumerable:!0,get:function(){return $P.formatQueryParams}});Object.defineProperty(p6,"encodeJSON",{enumerable:!0,get:function(){return $P.encodeJSON}});Object.defineProperty(p6,"isSupportedRawFormat",{enumerable:!0,get:function(){return $P.isSupportedRawFormat}});Object.defineProperty(p6,"isStreamableJSONFamily",{enumerable:!0,get:function(){return $P.isStreamableJSONFamily}});Object.defineProperty(p6,"isNotStreamableJSONFamily",{enumerable:!0,get:function(){return $P.isNotStreamableJSONFamily}});Object.defineProperty(p6,"validateStreamFormat",{enumerable:!0,get:function(){return $P.validateStreamFormat}});var gQ1=$m1();Object.defineProperty(p6,"booleanConfigURLValue",{enumerable:!0,get:function(){return gQ1.booleanConfigURLValue}});Object.defineProperty(p6,"enumConfigURLValue",{enumerable:!0,get:function(){return gQ1.enumConfigURLValue}});Object.defineProperty(p6,"getConnectionParams",{enumerable:!0,get:function(){return gQ1.getConnectionParams}});Object.defineProperty(p6,"numberConfigURLValue",{enumerable:!0,get:function(){return gQ1.numberConfigURLValue}});var oK=rw4();Object.defineProperty(p6,"EXCEPTION_TAG_HEADER_NAME",{enumerable:!0,get:function(){return oK.EXCEPTION_TAG_HEADER_NAME}});Object.defineProperty(p6,"isSuccessfulResponse",{enumerable:!0,get:function(){return oK.isSuccessfulResponse}});Object.defineProperty(p6,"sleep",{enumerable:!0,get:function(){return oK.sleep}});Object.defineProperty(p6,"toSearchParams",{enumerable:!0,get:function(){return oK.toSearchParams}});Object.defineProperty(p6,"transformUrl",{enumerable:!0,get:function(){return oK.transformUrl}});Object.defineProperty(p6,"withCompressionHeaders",{enumerable:!0,get:function(){return oK.withCompressionHeaders}});Object.defineProperty(p6,"withHttpSettings",{enumerable:!0,get:function(){return oK.withHttpSettings}});Object.defineProperty(p6,"isCredentialsAuth",{enumerable:!0,get:function(){return oK.isCredentialsAuth}});Object.defineProperty(p6,"isJWTAuth",{enumerable:!0,get:function(){return oK.isJWTAuth}});Object.defineProperty(p6,"extractErrorAtTheEndOfChunk",{enumerable:!0,get:function(){return oK.extractErrorAtTheEndOfChunk}});Object.defineProperty(p6,"CARET_RETURN",{enumerable:!0,get:function(){return oK.CARET_RETURN}});var ow4=RQ1();Object.defineProperty(p6,"LogWriter",{enumerable:!0,get:function(){return ow4.LogWriter}});Object.defineProperty(p6,"DefaultLogger",{enumerable:!0,get:function(){return ow4.DefaultLogger}});var sw4=_Q1();Object.defineProperty(p6,"getCurrentStackTrace",{enumerable:!0,get:function(){return sw4.getCurrentStackTrace}});Object.defineProperty(p6,"enhanceStackTrace",{enumerable:!0,get:function(){return sw4.enhanceStackTrace}})});var Mm1=I((HP)=>{var TJ9=HP&&HP.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(HP,"__esModule",{value:!0});HP.isStream=jJ9;HP.getAsText=IJ9;HP.mapStream=fJ9;var RJ9=TJ9(g1("stream")),CJ9=g1("buffer"),{MAX_STRING_LENGTH:SJ9}=CJ9.constants;function jJ9(Y){return typeof Y==="object"&&Y!==null&&"pipe"in Y&&typeof Y.pipe==="function"&&"on"in Y&&typeof Y.on==="function"}async function IJ9(Y){try{let G="",X=new TextDecoder;for await(let J of Y)G+=X.decode(J,{stream:!0});return G+=X.decode(),G}catch(G){if(G instanceof RangeError&&G.message.includes("Invalid string length"))throw Error(`The response length exceeds the maximum allowed size of V8 String: ${SJ9} characters.`);throw G}}function fJ9(Y){return new RJ9.default.Transform({objectMode:!0,transform(G,X,J){J(null,Y(G))}})}});var ew4=I((S_)=>{var _J9=S_&&S_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(S_,"__esModule",{value:!0});S_.NodeValuesEncoder=void 0;var uQ1=OQ(),kJ9=_J9(g1("stream")),mQ1=Mm1();class tw4{json;constructor(Y){this.json=Y}encodeValues(Y,G){if((0,mQ1.isStream)(Y)){if(!Y.readableObjectMode)return Y;return kJ9.default.pipeline(Y,(0,mQ1.mapStream)((X)=>(0,uQ1.encodeJSON)(X,G,this.json.stringify)),hJ9)}if(Array.isArray(Y))return Y.map((X)=>(0,uQ1.encodeJSON)(X,G,this.json.stringify)).join("");if(typeof Y==="object")return(0,uQ1.encodeJSON)(Y,G,this.json.stringify);throw Error(`Cannot encode values of type ${typeof Y} with ${G} format`)}validateInsertValues(Y,G){if(!Array.isArray(Y)&&!(0,mQ1.isStream)(Y)&&typeof Y!=="object")throw Error(`Insert expected "values" to be an array, a stream of values or a JSON object, got: ${typeof Y}`);if((0,mQ1.isStream)(Y)){if((0,uQ1.isSupportedRawFormat)(G)){if(Y.readableObjectMode)throw Error(`Insert for ${G} expected Readable Stream with disabled object mode.`)}else if(!Y.readableObjectMode)throw Error(`Insert for ${G} expected Readable Stream with enabled object mode.`)}}}S_.NodeValuesEncoder=tw4;function hJ9(Y){if(Y)console.error(Y)}});var GA4=I((YA4)=>{Object.defineProperty(YA4,"__esModule",{value:!0});YA4.getProcessVersion=vJ9;function vJ9(){return process.version}});var JA4=I((XA4)=>{Object.defineProperty(XA4,"__esModule",{value:!0});XA4.default="1.18.3"});var QA4=I((YH)=>{var xJ9=YH&&YH.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),gJ9=YH&&YH.__setModuleDefault||(Object.create?function(Y,G){Object.defineProperty(Y,"default",{enumerable:!0,value:G})}:function(Y,G){Y.default=G}),uJ9=YH&&YH.__importStar||function(){var Y=function(G){return Y=Object.getOwnPropertyNames||function(X){var J=[];for(var W in X)if(Object.prototype.hasOwnProperty.call(X,W))J[J.length]=W;return J},Y(G)};return function(G){if(G&&G.__esModule)return G;var X={};if(G!=null){for(var J=Y(G),W=0;W<J.length;W++)if(J[W]!=="default")xJ9(X,G,J[W])}return gJ9(X,G),X}}(),mJ9=YH&&YH.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(YH,"__esModule",{value:!0});YH.Runtime=void 0;var lJ9=uJ9(g1("os")),dJ9=mJ9(JA4());class WA4{static package=dJ9.default;static node=process.version;static os=lJ9.platform()}YH.Runtime=WA4});var $A4=I((ZA4)=>{Object.defineProperty(ZA4,"__esModule",{value:!0});ZA4.getUserAgent=cJ9;var Pm1=QA4();function cJ9(Y){let G=`clickhouse-js/${Pm1.Runtime.package} (lv:nodejs/${Pm1.Runtime.node}; os:${Pm1.Runtime.os})`;return Y?`${Y} ${G}`:G}});var Wn=I((MU)=>{var nJ9=MU&&MU.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),lQ1=MU&&MU.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))nJ9(G,Y,X)};Object.defineProperty(MU,"__esModule",{value:!0});lQ1(Mm1(),MU);lQ1(ew4(),MU);lQ1(GA4(),MU);lQ1($A4(),MU)});var Tm1=I((HA4)=>{Object.defineProperty(HA4,"__esModule",{value:!0});HA4.drainStream=iJ9;HA4.drainStreamInternal=rJ9;var SL=OQ();async function iJ9(Y){return new Promise((G,X)=>{if(Y.errored){X(Y.errored);return}if(Y.readableEnded){G();return}if(Y.closed){G();return}function J(){}function W(){$(),G()}function Z(H){$(),X(H)}function Q(){$(),G()}function $(){Y.removeListener("data",J),Y.removeListener("end",W),Y.removeListener("error",Z),Y.removeListener("close",Q)}Y.on("data",J),Y.on("end",W),Y.on("error",Z),Y.on("close",Q)})}async function rJ9(Y,G){return new Promise((X,J)=>{let W=Date.now(),Z=0,Q=0;if(Y.log_level<=SL.ClickHouseLogLevel.TRACE)Y.log_writer.trace({message:`${Y.op}: starting stream drain`,args:{query_id:Y.query_id,stream_state:{readable:G.readable,readableEnded:G.readableEnded,readableLength:G.readableLength}}});if(G.errored){if(Y.log_level<=SL.ClickHouseLogLevel.TRACE)Y.log_writer.trace({message:`${Y.op}: stream already errored before drain`,args:{query_id:Y.query_id,chunk_number:Q,total_bytes_received:Z}});J(G.errored);return}if(G.readableEnded){if(Y.log_level<=SL.ClickHouseLogLevel.TRACE)Y.log_writer.trace({message:`${Y.op}: stream already ended before drain`,args:{query_id:Y.query_id,chunk_number:Q,total_bytes_received:Z}});X();return}if(G.closed){if(Y.log_level<=SL.ClickHouseLogLevel.TRACE)Y.log_writer.trace({message:`${Y.op}: stream already closed before drain`,args:{query_id:Y.query_id,chunk_number:Q,total_bytes_received:Z}});X();return}function $(O){if(Y.log_level<=SL.ClickHouseLogLevel.TRACE){Q++;let B=Buffer.byteLength(O);Z+=B,Y.log_writer.trace({message:`${Y.op}: received data chunk during drain`,args:{query_id:Y.query_id,chunk_number:Q,chunk_size:B,total_bytes_received:Z}})}}function H(){if(U(),Y.log_level<=SL.ClickHouseLogLevel.TRACE){let O=Date.now()-W;Y.log_writer.trace({message:`${Y.op}: stream drain completed (end event)`,args:{query_id:Y.query_id,duration_ms:O,total_bytes_received:Z,total_chunks:Q}})}X()}function K(O){if(U(),Y.log_level<=SL.ClickHouseLogLevel.TRACE){let B=Date.now()-W;Y.log_writer.trace({message:`${Y.op}: stream drain failed (error event)`,args:{query_id:Y.query_id,duration_ms:B,total_bytes_received:Z,total_chunks:Q,error:O.message}})}J(O)}function V(){if(U(),Y.log_level<=SL.ClickHouseLogLevel.TRACE){let O=Date.now()-W;Y.log_writer.trace({message:`${Y.op}: stream closed during drain (close event)`,args:{query_id:Y.query_id,duration_ms:O,total_bytes_received:Z,total_chunks:Q}})}X()}function U(){G.removeListener("data",$),G.removeListener("end",H),G.removeListener("error",K),G.removeListener("close",V)}G.on("data",$),G.on("end",H),G.on("error",K),G.on("close",V)})}});var FA4=I((j_)=>{var KA4=j_&&j_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(j_,"__esModule",{value:!0});j_.decompressResponse=YW9;j_.isDecompressionError=GW9;var sJ9=OQ(),tJ9=KA4(g1("stream")),eJ9=KA4(g1("zlib"));function YW9(Y,G,X){let J=Y.headers["content-encoding"];if(J==="gzip")return{response:tJ9.default.pipeline(Y,eJ9.default.createGunzip(),function(Z){if(Z){if(X<=sJ9.ClickHouseLogLevel.ERROR)G.error({message:"An error occurred while decompressing the response",err:Z})}})};else if(J!==void 0)return{error:Error(`Unexpected encoding: ${J}`)};return{response:Y}}function GW9(Y){return Y.error!==void 0}});var NA4=I((I_)=>{var OA4=I_&&I_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(I_,"__esModule",{value:!0});I_.SocketPool=void 0;var Rm1=OA4(g1("stream")),XW9=OA4(g1("zlib")),O5=OQ(),VA4=Wn(),UA4=FA4();class BA4{connectionId;params;createClientRequest;agent;jsonHandling;knownSockets=new WeakMap;requestCounter=0;getNewRequestId(){return this.requestCounter+=1,`${this.connectionId}:${this.requestCounter}`}socketCounter=0;getNewSocketId(){return this.socketCounter+=1,`${this.connectionId}:${this.socketCounter}`}constructor(Y,G,X,J){this.connectionId=Y,this.params=G,this.createClientRequest=X,this.agent=J,this.jsonHandling=G.json??{parse:JSON.parse,stringify:JSON.stringify}}async request(Y,G){await(0,O5.sleep)(0);let{log_writer:X,query_id:J,log_level:W}=Y,Z=this.params.capture_enhanced_stack_trace?(0,O5.getCurrentStackTrace)():void 0,Q=this.params.request_timeout;if(this.params.eagerly_destroy_stale_sockets&&this.params.keep_alive.enabled&&this.params.keep_alive.idle_socket_ttl>0){if(this.agent.freeSockets)for(let V of Object.keys(this.agent.freeSockets)){let U=this.agent.freeSockets[V];if(U)for(let O of[...U]){let B=this.knownSockets.get(O);if(B){let N=B.freed_at_timestamp_ms;if(N){let q=Date.now()-N;if(q>=this.params.keep_alive.idle_socket_ttl){if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: socket TTL expired based on timestamp, destroying socket`,args:{operation:G,connection_id:this.connectionId,query_id:J,socket_id:B.id,socket_age_ms:q,idle_socket_ttl_ms:this.params.keep_alive.idle_socket_ttl}});clearTimeout(B.idle_timeout_handle),this.knownSockets.delete(O),O.destroy()}}}}}}let $=Date.now(),H=this.createClientRequest(Y),K=this.getNewRequestId();return new Promise((V,U)=>{let O=(T)=>{if(C(),T instanceof Error){if(W<=O5.ClickHouseLogLevel.TRACE){if(T.code==="ECONNRESET")X.trace({message:`${G}: connection reset by peer`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K},module:"HTTP Adapter"})}if(W<=O5.ClickHouseLogLevel.WARN){if(this.params.keep_alive.enabled){if(T.code==="ECONNRESET"){let f=H.socket;if(f){let k=this.knownSockets.get(f);if(k){let _=k.server_keep_alive_timeout_ms;if(_!==void 0){if(this.params.keep_alive.idle_socket_ttl>_)X.warn({message:`${G}: idle socket TTL is greater than server keep-alive timeout, try setting idle socket TTL to a value lower than the server keep-alive timeout to prevent unexpected connection resets, see https://c.house/js_keep_alive_econnreset for more details.`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:k.id,server_keep_alive_timeout_ms:_,idle_socket_ttl:this.params.keep_alive.idle_socket_ttl},module:"HTTP Adapter"})}}}}}}let j=(0,O5.enhanceStackTrace)(T,Z);U(j)}else U(T)},B,N=async(T)=>{if(this.params.log_level<=O5.ClickHouseLogLevel.DEBUG){let _=Date.now()-$;this.params.log_writer.debug({module:"HTTP Adapter",message:`${G}: got a response from ClickHouse`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,request_method:Y.method,request_path:Y.url.pathname,response_status:T.statusCode,response_time_ms:_}})}if(this.params.keep_alive.enabled){let _=T.headers["keep-alive"];if(_){let[,y]=/timeout=(\d+)/i.exec(String(_))??[];if(y){let g=this.knownSockets.get(T.socket);if(g){let n=Number(y)*1000;if(g.server_keep_alive_timeout_ms=n,W<=O5.ClickHouseLogLevel.TRACE)this.params.log_writer.trace({module:"HTTP Adapter",message:`${G}: updated server sent socket keep-alive timeout`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:g.id,server_keep_alive_timeout_ms:n}})}}}}let j=Y.try_decompress_response_stream??!0,f=Y.ignore_error_response??!1,k=!(0,O5.isSuccessfulResponse)(T.statusCode);if(j||k&&!f){let _=(0,UA4.decompressResponse)(T,X,W);if((0,UA4.isDecompressionError)(_)){let y=(0,O5.enhanceStackTrace)(_.error,Z);return U(y)}B=_.response}else B=T;if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: response stream created`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,stream_state:{readable:B.readable,readableEnded:B.readableEnded,readableLength:B.readableLength},is_failed_response:k,will_decompress:j}});if(k&&!f)try{let _=await(0,VA4.getAsText)(B),y=(0,O5.enhanceStackTrace)((0,O5.parseError)(_),Z);U(y)}catch(_){let y=(0,O5.enhanceStackTrace)(_,Z);U(y)}else return V({stream:B,summary:Y.parse_summary?this.parseSummary(G,T):void 0,response_headers:{...T.headers},http_status_code:T.statusCode??void 0})};function q(){C(),H.once("error",function(){});let T=(0,O5.enhanceStackTrace)(Error("The user aborted a request."),Z);U(T)}function D(){C()}function L(){if(H.writableEnded)return;let T=(0,VA4.isStream)(Y.body)?Y.body:Rm1.default.Readable.from([Y.body]),j=(f)=>{if(f){C();let k=(0,O5.enhanceStackTrace)(f,Z);U(k)}};if(Y.enable_request_compression)Rm1.default.pipeline(T,XW9.default.createGzip(),H,j);else Rm1.default.pipeline(T,H,j)}let M=(T)=>{try{if(this.params.keep_alive.enabled&&this.params.keep_alive.idle_socket_ttl>0){let j=this.knownSockets.get(T);if(j===void 0){let f=this.getNewSocketId();if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: using a fresh socket, setting up a new 'free' listener`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f}});let k={id:f,idle_timeout_handle:void 0,usage_count:1};this.knownSockets.set(T,k),T.on("free",()=>{if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: socket was released`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f}});let y=Date.now();k.freed_at_timestamp_ms=y;let g=setTimeout(()=>{let n=Date.now()-y;if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: removing idle socket`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f,idle_socket_ttl_ms:this.params.keep_alive.idle_socket_ttl,freed_after_ms:n}});this.knownSockets.delete(T),T.destroy()},this.params.keep_alive.idle_socket_ttl).unref();k.idle_timeout_handle=g});let _=(y)=>()=>{let g=this.knownSockets.get(T);if(g?.idle_timeout_handle)clearTimeout(g.idle_timeout_handle);if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: received '${y}' event, 'free' listener removed`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f,event:y}});if(W<=O5.ClickHouseLogLevel.WARN){if(B&&!B.readableEnded)X.warn({message:`${G}: socket was closed or ended before the response was fully read. This can potentially result in an uncaught ECONNRESET error! Consider fully consuming, draining, or destroying the response stream.`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f,event:y}})}};T.once("end",_("end")),T.once("close",_("close"))}else{let f=j.freed_at_timestamp_ms;if(f){let k=Date.now()-f;if(k-this.params.keep_alive.idle_socket_ttl>1000){if(W<=O5.ClickHouseLogLevel.WARN)X.warn({message:`${G}: reusing socket with TTL expired based on timestamp; this may indicate a starved Node.js process or delayed event loop; set keep_alive.eagerly_destroy_stale_sockets=true to mitigate`,args:{operation:G,connection_id:this.connectionId,query_id:J,socket_id:j.id,socket_age_ms:k,idle_socket_ttl_ms:this.params.keep_alive.idle_socket_ttl}})}}if(clearTimeout(j.idle_timeout_handle),j.idle_timeout_handle=void 0,W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: reusing socket`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:j.id,usage_count:j.usage_count}});j.usage_count++}}}catch(j){if(W<=O5.ClickHouseLogLevel.ERROR)X.error({message:`${G}: an error occurred while housekeeping the idle sockets`,err:j,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K}})}if(L(),W<=O5.ClickHouseLogLevel.TRACE){let j=this.knownSockets.get(T);if(j)X.trace({message:`${G}: setting up request timeout`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:j.id,timeout_ms:Q}});else X.trace({message:`${G}: setting up request timeout on a socket`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,timeout_ms:Q}})}T.setTimeout(this.params.request_timeout,R)},R=()=>{if(C(),W<=O5.ClickHouseLogLevel.TRACE){let j=H.socket,f=j?this.knownSockets.get(j):void 0,k=H.socket?{connecting:H.socket.connecting,pending:H.socket.pending,destroyed:H.socket.destroyed,readyState:H.socket.readyState}:void 0,_=B?{readable:B.readable,readableEnded:B.readableEnded,readableLength:B.readableLength}:void 0;X.trace({message:`${G}: timeout occurred`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f?.id,timeout_ms:Q,socket_state:k,response_stream_state:_,has_response_stream:B!==void 0}})}let T=(0,O5.enhanceStackTrace)(Error("Timeout error."),Z);try{H.destroy()}catch(j){if(W<=O5.ClickHouseLogLevel.ERROR)X.error({message:`${G}: An error occurred while destroying the request`,err:j,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K}})}U(T)};function C(){if(H.socket)H.socket.setTimeout(0),H.socket.removeListener("timeout",R);if(H.removeListener("socket",M),H.removeListener("response",N),H.removeListener("error",O),H.removeListener("close",D),Y.abort_signal)H.removeListener("abort",q)}if(H.on("socket",M),H.on("response",N),H.on("error",O),H.on("close",D),Y.abort_signal)Y.abort_signal.addEventListener("abort",q,{once:!0});if(!Y.body)try{return H.end()}catch(T){if(W<=O5.ClickHouseLogLevel.ERROR)X.error({message:`${G}: an error occurred while ending the request without body`,err:T,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K}})}})}parseSummary(Y,G){let X=G.headers["x-clickhouse-summary"];if(typeof X==="string")try{return this.jsonHandling.parse(X)}catch(J){if(this.params.log_level<=O5.ClickHouseLogLevel.ERROR)this.params.log_writer.error({message:`${Y}: failed to parse X-ClickHouse-Summary header.`,args:{operation:Y,connection_id:this.connectionId,"X-ClickHouse-Summary":X},err:J})}}}I_.SocketPool=BA4});var Qn=I((f_)=>{var JW9=f_&&f_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(f_,"__esModule",{value:!0});f_.NodeBaseConnection=void 0;var z7=OQ(),qA4=JW9(g1("crypto")),WW9=Wn(),Cm1=Tm1(),QW9=NA4();class DA4{params;agent;defaultAuthHeader;defaultHeaders;connectionId=qA4.default.randomUUID();socketPool;constructor(Y,G){if(this.params=Y,this.agent=G,this.socketPool=new QW9.SocketPool(this.connectionId,this.params,this.createClientRequest.bind(this),this.agent),Y.auth.type==="Credentials")this.defaultAuthHeader=`Basic ${Buffer.from(`${Y.auth.username}:${Y.auth.password}`).toString("base64")}`;else if(Y.auth.type==="JWT")this.defaultAuthHeader=`Bearer ${Y.auth.access_token}`;else throw Error(`Unknown auth type: ${Y.auth.type}`);this.defaultHeaders={Connection:this.params.keep_alive.enabled?"keep-alive":"close","User-Agent":(0,WW9.getUserAgent)(this.params.application_id)}}async ping(Y){let{log_writer:G,log_level:X}=this.params,J=this.getQueryId(Y.query_id),{controller:W,controllerCleanup:Z}=this.getAbortController(Y);try{let Q;if(Y.select){let $=(0,z7.toSearchParams)({database:void 0,query:zA4,query_id:J});Q=await this.request({query:zA4,method:"GET",url:(0,z7.transformUrl)({url:this.params.url,searchParams:$}),abort_signal:W.signal,headers:this.buildRequestHeaders(),query_id:J,log_writer:G,log_level:X},"Ping")}else Q=await this.request({query:"ping",method:"GET",url:(0,z7.transformUrl)({url:this.params.url,pathname:"/ping"}),abort_signal:W.signal,headers:this.buildRequestHeaders(),query_id:J,log_writer:G,log_level:X},"Ping");return await(0,Cm1.drainStreamInternal)({op:"Ping",log_writer:G,query_id:J,log_level:X},Q.stream),{success:!0}}catch(Q){if(W.abort("Ping failed"),X<=z7.ClickHouseLogLevel.WARN)G.warn({message:this.httpRequestErrorMessage("Ping"),err:Q,args:{connection_id:this.connectionId,query_id:J}});return{success:!1,error:Q}}finally{Z()}}async query(Y){let{log_writer:G,log_level:X}=this.params,J=this.getQueryId(Y.query_id),W=(0,z7.withHttpSettings)(Y.clickhouse_settings,this.params.compression.decompress_response),Z=(0,z7.toSearchParams)({database:this.params.database,query_params:Y.query_params,session_id:Y.session_id,clickhouse_settings:W,query_id:J,role:Y.role}),{controller:Q,controllerCleanup:$}=this.getAbortController(Y),H=W.enable_http_compression===1;try{let{response_headers:K,stream:V,http_status_code:U}=await this.request({method:"POST",url:(0,z7.transformUrl)({url:this.params.url,searchParams:Z}),body:Y.query,abort_signal:Q.signal,enable_response_compression:H,headers:this.buildRequestHeaders(Y),query:Y.query,query_id:J,log_writer:G,log_level:X},"Query");return{stream:V,response_headers:K,query_id:J,http_status_code:U}}catch(K){throw Q.abort("Query HTTP request failed"),this.logRequestError({op:"Query",query_id:J,query_params:Y,search_params:Z,err:K,extra_args:{decompress_response:H,clickhouse_settings:W}}),K}finally{$()}}async insert(Y){let{log_writer:G,log_level:X}=this.params,J=this.getQueryId(Y.query_id),W=(0,z7.toSearchParams)({database:this.params.database,clickhouse_settings:Y.clickhouse_settings,query_params:Y.query_params,query:Y.query,session_id:Y.session_id,role:Y.role,query_id:J}),{controller:Z,controllerCleanup:Q}=this.getAbortController(Y);try{let{stream:$,summary:H,response_headers:K,http_status_code:V}=await this.request({method:"POST",url:(0,z7.transformUrl)({url:this.params.url,searchParams:W}),body:Y.values,abort_signal:Z.signal,enable_request_compression:this.params.compression.compress_request,parse_summary:!0,headers:this.buildRequestHeaders(Y),query:Y.query,query_id:J,log_writer:G,log_level:X},"Insert");return await(0,Cm1.drainStreamInternal)({op:"Insert",log_writer:G,query_id:J,log_level:X},$),{query_id:J,summary:H,response_headers:K,http_status_code:V}}catch($){throw Z.abort("Insert HTTP request failed"),this.logRequestError({op:"Insert",query_id:J,query_params:Y,search_params:W,err:$,extra_args:{clickhouse_settings:Y.clickhouse_settings??{}}}),$}finally{Q()}}async exec(Y){let G=this.getQueryId(Y.query_id);return this.runExec({...Y,query_id:G,op:"Exec"})}async command(Y){let{log_writer:G,log_level:X}=this.params,J=this.getQueryId(Y.query_id),W=Date.now();if(X<=z7.ClickHouseLogLevel.TRACE)G.trace({message:"Command: operation started",args:{operation:"Command",connection_id:this.connectionId,query_id:J}});let{stream:Z,summary:Q,response_headers:$}=await this.runExec({...Y,query_id:J,op:"Command"}),H=Date.now()-W;if(X<=z7.ClickHouseLogLevel.TRACE)G.trace({message:"Command: runExec completed, starting stream drain",args:{operation:"Command",connection_id:this.connectionId,query_id:J,runExec_duration_ms:H,stream_state:{readable:Z.readable,readableEnded:Z.readableEnded,readableLength:Z.readableLength}}});let K=Date.now();if(await(0,Cm1.drainStreamInternal)({op:"Command",log_writer:G,query_id:J,log_level:X},Z),X<=z7.ClickHouseLogLevel.TRACE){let V=Date.now()-K,U=Date.now()-W;G.trace({message:"Command: operation completed",args:{operation:"Command",connection_id:this.connectionId,query_id:J,drain_duration_ms:V,total_duration_ms:U}})}return{query_id:J,summary:Q,response_headers:$}}async close(){if(this.agent!==void 0&&this.agent.destroy!==void 0)this.agent.destroy()}defaultHeadersWithOverride(Y){return{...this.params.http_headers??{},...Y?.http_headers??{},...this.defaultHeaders}}buildRequestHeaders(Y){let G=this.defaultHeadersWithOverride(Y);if((0,z7.isJWTAuth)(Y?.auth))return{...G,Authorization:`Bearer ${Y.auth.access_token}`};if(this.params.set_basic_auth_header)if((0,z7.isCredentialsAuth)(Y?.auth))return{...G,Authorization:`Basic ${Buffer.from(`${Y.auth.username}:${Y.auth.password}`).toString("base64")}`};else return{...G,Authorization:this.defaultAuthHeader};return{...G}}getQueryId(Y){return Y||qA4.default.randomUUID()}getAbortController(Y){let G=new AbortController;function X(){G.abort()}return Y.abort_signal?.addEventListener("abort",X),{controller:G,controllerCleanup:()=>{Y.abort_signal?.removeEventListener("abort",X)}}}logRequestError({op:Y,err:G,query_id:X,query_params:J,extra_args:W}){if(this.params.log_level<=z7.ClickHouseLogLevel.ERROR)this.params.log_writer.error({message:this.httpRequestErrorMessage(Y),err:G,args:{operation:Y,connection_id:this.connectionId,query_id:X,with_abort_signal:J.abort_signal!==void 0,session_id:J.session_id,...W}})}httpRequestErrorMessage(Y){return`${Y}: HTTP request error.`}async runExec(Y){let{log_writer:G,log_level:X}=this.params,J=Y.query_id,W=Y.values!==void 0,Z=(0,z7.withHttpSettings)(Y.clickhouse_settings,this.params.compression.decompress_response),Q={query:W?Y.query:void 0,database:this.params.database,query_params:Y.query_params,session_id:Y.session_id,role:Y.role,clickhouse_settings:Z,query_id:J},$=(0,z7.toSearchParams)(Q),{controller:H,controllerCleanup:K}=this.getAbortController(Y),V=Y.op==="Exec"?Y.decompress_response_stream??this.params.compression.decompress_response:!1,U=Y.ignore_error_response??!1;try{let{stream:O,summary:B,response_headers:N,http_status_code:q}=await this.request({method:"POST",url:(0,z7.transformUrl)({url:this.params.url,searchParams:$}),body:W?Y.values:Y.query,abort_signal:H.signal,parse_summary:!0,enable_request_compression:this.params.compression.compress_request,enable_response_compression:this.params.compression.decompress_response,try_decompress_response_stream:V,ignore_error_response:U,headers:this.buildRequestHeaders(Y),query:Y.query,query_id:J,log_writer:G,log_level:X},Y.op);return{stream:O,query_id:J,summary:B,response_headers:N,http_status_code:q}}catch(O){throw H.abort(`${Y.op} HTTP request failed`),this.logRequestError({op:Y.op,query_id:J,query_params:Y,search_params:$,err:O,extra_args:{clickhouse_settings:Y.clickhouse_settings??{}}}),O}finally{K()}}async request(Y,G){return this.socketPool.request(Y,G)}}f_.NodeBaseConnection=DA4;var zA4="SELECT 'ping'"});var Sm1=I((__)=>{var ZW9=__&&__.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(__,"__esModule",{value:!0});__.NodeHttpConnection=void 0;var $W9=OQ(),LA4=ZW9(g1("http")),HW9=Qn();class wA4 extends HW9.NodeBaseConnection{constructor(Y){let G=new LA4.default.Agent({keepAlive:Y.keep_alive.enabled,maxSockets:Y.max_open_connections});super(Y,G)}createClientRequest(Y){let G=(0,$W9.withCompressionHeaders)({headers:Y.headers,enable_request_compression:Y.enable_request_compression,enable_response_compression:Y.enable_response_compression});return LA4.default.request(Y.url,{method:Y.method,agent:this.agent,timeout:this.params.request_timeout,signal:Y.abort_signal,headers:G})}}__.NodeHttpConnection=wA4});var jm1=I((k_)=>{var KW9=k_&&k_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(k_,"__esModule",{value:!0});k_.NodeHttpsConnection=void 0;var AA4=OQ(),EA4=KW9(g1("https")),FW9=Qn();class MA4 extends FW9.NodeBaseConnection{constructor(Y){let G=new EA4.default.Agent({keepAlive:Y.keep_alive.enabled,maxSockets:Y.max_open_connections,ca:Y.tls?.ca_cert,key:Y.tls?.type==="Mutual"?Y.tls.key:void 0,cert:Y.tls?.type==="Mutual"?Y.tls.cert:void 0});super(Y,G)}buildRequestHeaders(Y){if(this.params.tls!==void 0){if(this.params.auth.type==="JWT")throw Error("JWT auth is not supported with HTTPS connection using custom certificates");let G;if((0,AA4.isCredentialsAuth)(Y?.auth))G={...this.defaultHeadersWithOverride(Y),"X-ClickHouse-User":Y.auth.username,"X-ClickHouse-Key":Y.auth.password};else G={...this.defaultHeadersWithOverride(Y),"X-ClickHouse-User":this.params.auth.username,"X-ClickHouse-Key":this.params.auth.password};let X=this.params.tls.type;switch(X){case"Basic":return G;case"Mutual":return{...G,"X-ClickHouse-SSL-Certificate-Auth":"on"};default:throw Error(`Unknown TLS type: ${X}`)}}return super.buildRequestHeaders(Y)}createClientRequest(Y){let G=(0,AA4.withCompressionHeaders)({headers:Y.headers,enable_request_compression:Y.enable_request_compression,enable_response_compression:Y.enable_response_compression});return EA4.default.request(Y.url,{method:Y.method,agent:this.agent,timeout:this.params.request_timeout,signal:Y.abort_signal,headers:G})}}k_.NodeHttpsConnection=MA4});var RA4=I((h_)=>{var PA4=h_&&h_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(h_,"__esModule",{value:!0});h_.NodeCustomAgentConnection=void 0;var VW9=PA4(g1("http")),UW9=PA4(g1("https")),OW9=Qn(),BW9=OQ();class TA4 extends OW9.NodeBaseConnection{httpRequestFn;constructor(Y){if(!Y.http_agent)throw Error("http_agent is required to create NodeCustomAgentConnection");super(Y,Y.http_agent);if(Y.url.protocol.startsWith("https"))this.httpRequestFn=UW9.default.request;else this.httpRequestFn=VW9.default.request}createClientRequest(Y){let G=(0,BW9.withCompressionHeaders)({headers:Y.headers,enable_request_compression:Y.enable_request_compression,enable_response_compression:Y.enable_response_compression});return this.httpRequestFn(Y.url,{method:Y.method,agent:this.agent,timeout:this.params.request_timeout,signal:Y.abort_signal,headers:G})}}h_.NodeCustomAgentConnection=TA4});var IA4=I((SA4)=>{Object.defineProperty(SA4,"__esModule",{value:!0});SA4.NodeConnectionFactory=void 0;var NW9=RA4(),qW9=Sm1(),zW9=jm1();class CA4{static create({connection_params:Y,tls:G,keep_alive:X,http_agent:J,set_basic_auth_header:W,capture_enhanced_stack_trace:Z,eagerly_destroy_stale_sockets:Q=!1}){if(J!==void 0)return new NW9.NodeCustomAgentConnection({...Y,set_basic_auth_header:W,capture_enhanced_stack_trace:Z,keep_alive:X,http_agent:J,eagerly_destroy_stale_sockets:Q});switch(Y.url.protocol){case"http:":return new qW9.NodeHttpConnection({...Y,set_basic_auth_header:W,capture_enhanced_stack_trace:Z,keep_alive:X,eagerly_destroy_stale_sockets:Q});case"https:":return new zW9.NodeHttpsConnection({...Y,set_basic_auth_header:W,capture_enhanced_stack_trace:Z,keep_alive:X,tls:G,eagerly_destroy_stale_sockets:Q});default:throw Error("Only HTTP and HTTPS protocols are supported")}}}SA4.NodeConnectionFactory=CA4});var fA4=I((PU)=>{var DW9=PU&&PU.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),dQ1=PU&&PU.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))DW9(G,Y,X)};Object.defineProperty(PU,"__esModule",{value:!0});dQ1(Qn(),PU);dQ1(Sm1(),PU);dQ1(jm1(),PU);dQ1(IA4(),PU)});var km1=I((TU)=>{var LW9=TU&&TU.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),wW9=TU&&TU.__setModuleDefault||(Object.create?function(Y,G){Object.defineProperty(Y,"default",{enumerable:!0,value:G})}:function(Y,G){Y.default=G}),AW9=TU&&TU.__importStar||function(){var Y=function(G){return Y=Object.getOwnPropertyNames||function(X){var J=[];for(var W in X)if(Object.prototype.hasOwnProperty.call(X,W))J[J.length]=W;return J},Y(G)};return function(G){if(G&&G.__esModule)return G;var X={};if(G!=null){for(var J=Y(G),W=0;W<J.length;W++)if(J[W]!=="default")LW9(X,G,J[W])}return wW9(X,G),X}}();Object.defineProperty(TU,"__esModule",{value:!0});TU.ResultSet=void 0;var cQ1=OQ(),Im1=OQ(),EW9=g1("buffer"),_A4=AW9(g1("stream")),kA4=Wn(),MW9=10;class _m1{_stream;format;query_id;response_headers={};exceptionTag=void 0;log_error;jsonHandling;constructor(Y,G,X,J,W,Z){if(this._stream=Y,this.format=G,this.query_id=X,this.jsonHandling={...cQ1.defaultJSONHandling,...Z},this.log_error=J??((Q)=>console.error(Q)),W!==void 0)this.response_headers=Object.freeze(W),this.exceptionTag=W[cQ1.EXCEPTION_TAG_HEADER_NAME]}async text(){if(this._stream.readableEnded)throw Error(fm1);return(await(0,kA4.getAsText)(this._stream)).toString()}async json(){if(this._stream.readableEnded)throw Error(fm1);if((0,Im1.isStreamableJSONFamily)(this.format)){let Y=[],G=this.stream();for await(let X of G)for(let J of X)Y.push(J.json());return Y}if((0,Im1.isNotStreamableJSONFamily)(this.format)){let Y=await(0,kA4.getAsText)(this._stream);return this.jsonHandling.parse(Y)}throw Error(`Cannot decode ${this.format} as JSON`)}stream(){if(this._stream.readableEnded)throw Error(fm1);(0,Im1.validateStreamFormat)(this.format);let Y=[],G=this.log_error,X=this.exceptionTag,J=this.jsonHandling,W=new _A4.Transform({transform(Q,$,H){let K=[],V=0,U;while(!0){let O=Q.indexOf(MW9,V);if(O===-1){if(Y.push(Q.subarray(V)),K.length>0)this.push(K);break}else{if(X!==void 0&&O>=1&&Q[O-1]===cQ1.CARET_RETURN)return H((0,cQ1.extractErrorAtTheEndOfChunk)(Q,X));if(Y.length>0)Y.push(Q.subarray(V,O)),U=EW9.Buffer.concat(Y),Y.length=0;else U=Q.subarray(V,O);let B=U.toString();K.push({text:B,json(){return J.parse(B)}}),V=O+1}}H()},autoDestroy:!0,objectMode:!0});return _A4.default.pipeline(this._stream,W,function($){if($&&$.name!=="AbortError"&&$.message!==hA4)G($)})}close(){this._stream.destroy(Error(hA4))}[Symbol.dispose](){this.close()}static instance({stream:Y,format:G,query_id:X,log_error:J,response_headers:W,jsonHandling:Z}){return new _m1(Y,G,X,J,W,Z)}}TU.ResultSet=_m1;var fm1="Stream has been already consumed",hA4="ResultSet has been closed"});var bA4=I((vA4)=>{Object.defineProperty(vA4,"__esModule",{value:!0});vA4.NodeConfigImpl=void 0;var PW9=OQ(),TW9=fA4(),RW9=km1(),CW9=Wn();vA4.NodeConfigImpl={handle_specific_url_params:(Y,G)=>{let X={...Y},J=new Set,W=new Set,Z=[...G.searchParams.keys()];if(Z.length>0)Z.forEach((Q)=>{let $=G.searchParams.get(Q);switch(Q){case"keep_alive_idle_socket_ttl":if(X.keep_alive===void 0)X.keep_alive={};X.keep_alive.idle_socket_ttl=(0,PW9.numberConfigURLValue)({key:Q,value:$,min:0}),W.add(Q);break;default:J.add(Q)}});return{config:X,unknown_params:J,handled_params:W}},make_connection:(Y,G)=>{let X=void 0;if(Y.tls!==void 0)if("cert"in Y.tls&&"key"in Y.tls)X={type:"Mutual",...Y.tls};else X={type:"Basic",...Y.tls};let J={enabled:Y?.keep_alive?.enabled??!0,idle_socket_ttl:Y?.keep_alive?.idle_socket_ttl??2500};return TW9.NodeConnectionFactory.create({connection_params:G,set_basic_auth_header:Y.set_basic_auth_header??!0,capture_enhanced_stack_trace:Y.capture_enhanced_stack_trace??!1,eagerly_destroy_stale_sockets:Y.keep_alive?.eagerly_destroy_stale_sockets??!1,http_agent:Y.http_agent,keep_alive:J,tls:X})},values_encoder:(Y)=>new CW9.NodeValuesEncoder(Y),make_result_set:(Y,G,X,J,W,Z)=>RW9.ResultSet.instance({stream:Y,format:G,query_id:X,log_error:J,response_headers:W,jsonHandling:Z})}});var hm1=I((uA4)=>{Object.defineProperty(uA4,"__esModule",{value:!0});uA4.NodeClickHouseClient=void 0;uA4.createClient=jW9;var xA4=OQ(),SW9=bA4();class gA4 extends xA4.ClickHouseClient{query(Y){return super.query(Y)}}uA4.NodeClickHouseClient=gA4;function jW9(Y){return new xA4.ClickHouseClient({impl:SW9.NodeConfigImpl,...Y||{}})}});var lA4=I((zG)=>{Object.defineProperty(zG,"__esModule",{value:!0});zG.TupleParam=zG.isException=zG.isRow=zG.isProgressRow=zG.SimpleColumnTypes=zG.parseColumnType=zG.RecordsJSONFormats=zG.SingleDocumentJSONFormats=zG.StreamableJSONFormats=zG.StreamableFormats=zG.SupportedRawFormats=zG.SupportedJSONFormats=zG.SettingsMap=zG.ClickHouseLogLevel=zG.parseError=zG.ClickHouseError=zG.drainStream=zG.ResultSet=zG.createClient=zG.ClickHouseClient=void 0;var fW9=hm1();Object.defineProperty(zG,"ClickHouseClient",{enumerable:!0,get:function(){return fW9.NodeClickHouseClient}});var _W9=hm1();Object.defineProperty(zG,"createClient",{enumerable:!0,get:function(){return _W9.createClient}});var kW9=km1();Object.defineProperty(zG,"ResultSet",{enumerable:!0,get:function(){return kW9.ResultSet}});var hW9=Tm1();Object.defineProperty(zG,"drainStream",{enumerable:!0,get:function(){return hW9.drainStream}});var YW=OQ();Object.defineProperty(zG,"ClickHouseError",{enumerable:!0,get:function(){return YW.ClickHouseError}});Object.defineProperty(zG,"parseError",{enumerable:!0,get:function(){return YW.parseError}});Object.defineProperty(zG,"ClickHouseLogLevel",{enumerable:!0,get:function(){return YW.ClickHouseLogLevel}});Object.defineProperty(zG,"SettingsMap",{enumerable:!0,get:function(){return YW.SettingsMap}});Object.defineProperty(zG,"SupportedJSONFormats",{enumerable:!0,get:function(){return YW.SupportedJSONFormats}});Object.defineProperty(zG,"SupportedRawFormats",{enumerable:!0,get:function(){return YW.SupportedRawFormats}});Object.defineProperty(zG,"StreamableFormats",{enumerable:!0,get:function(){return YW.StreamableFormats}});Object.defineProperty(zG,"StreamableJSONFormats",{enumerable:!0,get:function(){return YW.StreamableJSONFormats}});Object.defineProperty(zG,"SingleDocumentJSONFormats",{enumerable:!0,get:function(){return YW.SingleDocumentJSONFormats}});Object.defineProperty(zG,"RecordsJSONFormats",{enumerable:!0,get:function(){return YW.RecordsJSONFormats}});Object.defineProperty(zG,"parseColumnType",{enumerable:!0,get:function(){return YW.parseColumnType}});Object.defineProperty(zG,"SimpleColumnTypes",{enumerable:!0,get:function(){return YW.SimpleColumnTypes}});Object.defineProperty(zG,"isProgressRow",{enumerable:!0,get:function(){return YW.isProgressRow}});Object.defineProperty(zG,"isRow",{enumerable:!0,get:function(){return YW.isRow}});Object.defineProperty(zG,"isException",{enumerable:!0,get:function(){return YW.isException}});Object.defineProperty(zG,"TupleParam",{enumerable:!0,get:function(){return YW.TupleParam}})});import{resolve as yW9}from"path";class dA4{connectionPromise;constructor(){this.connectionPromise=Promise.resolve().then(() => G1(mL4(),1)).then(async({DuckDBInstance:Y})=>{return(await Y.create()).connect()})}async query(Y){let G=await this.connectionPromise;try{let X=await G.runAndReadAll(Y);if(X.currentRowCount===0)return[];return X.getRowObjectsJS()}catch(X){if(X instanceof Error&&X.message.includes("No files found that match the pattern"))return[];throw X}}async destroy(){(await this.connectionPromise).disconnectSync()}}class Zn{client;initPromise;maxMemoryUsage;maxExecutionTime;constructor(Y,G){this.maxMemoryUsage=G?.maxMemoryUsage??"200000000",this.maxExecutionTime=G?.maxExecutionTime??30,this.initPromise=Promise.resolve().then(() => G1(lA4(),1)).then(({createClient:X})=>{this.client=X({url:Y})})}async query(Y,G){return await this.initPromise,await(await this.client.query({query:Y,query_params:G,format:"JSONEachRow",clickhouse_settings:{max_memory_usage:this.maxMemoryUsage,max_execution_time:this.maxExecutionTime,max_bytes_before_external_group_by:String(Math.floor(Number(this.maxMemoryUsage)/2)),max_bytes_before_external_sort:String(Math.floor(Number(this.maxMemoryUsage)/2))}})).json()}async destroy(){await this.initPromise,await this.client.close()}}async function vm1(Y){if(Y.clickhouseUrl)return{engine:new Zn(Y.clickhouseUrl),source:Y.tableName??bW9};let G=Y.basePath??FO(),X=yW9(G);if(/[';]/.test(X))throw Error(`Invalid monitoring data path: ${X}`);let J=`read_ndjson('${X}/**/*.ndjson', auto_detect=true)`;return{engine:new dA4,source:J}}var bW9="monitoring_logs";var cA4=E(()=>{tZ()});class ym1{db;constructor(Y){this.db=Y}async get(Y){let G=await this.db.selectFrom("organization_settings").selectAll().where("organizationId","=",Y).executeTakeFirst();if(!G)return null;return{organizationId:G.organizationId,sidebar_items:G.sidebar_items?typeof G.sidebar_items==="string"?JSON.parse(G.sidebar_items):G.sidebar_items:null,enabled_plugins:G.enabled_plugins?typeof G.enabled_plugins==="string"?JSON.parse(G.enabled_plugins):G.enabled_plugins:null,registry_config:G.registry_config?typeof G.registry_config==="string"?JSON.parse(G.registry_config):G.registry_config:null,simple_mode:G.simple_mode?typeof G.simple_mode==="string"?JSON.parse(G.simple_mode):G.simple_mode:null,createdAt:G.createdAt,updatedAt:G.updatedAt}}async upsert(Y,G){let X=new Date().toISOString(),J=G?.sidebar_items?JSON.stringify(G.sidebar_items):null,W=G?.enabled_plugins?JSON.stringify(G.enabled_plugins):null,Z=G?.registry_config?JSON.stringify(G.registry_config):null,Q=G?.simple_mode?JSON.stringify(G.simple_mode):null;await this.db.insertInto("organization_settings").values({organizationId:Y,sidebar_items:J,enabled_plugins:W,registry_config:Z,simple_mode:Q,createdAt:X,updatedAt:X}).onConflict((H)=>H.column("organizationId").doUpdateSet({sidebar_items:J?J:void 0,enabled_plugins:W?W:void 0,registry_config:Z?Z:void 0,simple_mode:Q?Q:void 0,updatedAt:X})).execute();let $=await this.get(Y);if(!$)return{organizationId:Y,sidebar_items:G?.sidebar_items??null,enabled_plugins:G?.enabled_plugins??null,registry_config:G?.registry_config??null,simple_mode:G?.simple_mode??null,createdAt:X,updatedAt:X};return $}}class bm1{db;constructor(Y){this.db=Y}parseRow(Y){return{id:Y.id,virtualMcpId:Y.virtual_mcp_id,pluginId:Y.plugin_id,connectionId:Y.connection_id,settings:Y.settings?typeof Y.settings==="string"?JSON.parse(Y.settings):Y.settings:null,createdAt:Y.created_at,updatedAt:Y.updated_at}}async list(Y){return(await this.db.selectFrom("virtual_mcp_plugin_configs").selectAll().where("virtual_mcp_id","=",Y).execute()).map((X)=>this.parseRow(X))}async get(Y,G){let X=await this.db.selectFrom("virtual_mcp_plugin_configs").selectAll().where("virtual_mcp_id","=",Y).where("plugin_id","=",G).executeTakeFirst();return X?this.parseRow(X):null}async upsert(Y,G,X){let J=new Date().toISOString(),W=KY("vpc"),Z={updated_at:J};if(X.connectionId!==void 0)Z.connection_id=X.connectionId;if(X.settings!==void 0)Z.settings=X.settings?JSON.stringify(X.settings):null;await this.db.insertInto("virtual_mcp_plugin_configs").values({id:W,virtual_mcp_id:Y,plugin_id:G,connection_id:X.connectionId??null,settings:X.settings?JSON.stringify(X.settings):null,created_at:J,updated_at:J}).onConflict(($)=>$.columns(["virtual_mcp_id","plugin_id"]).doUpdateSet(Z)).execute();let Q=await this.get(Y,G);if(!Q)throw Error("Failed to upsert virtual MCP plugin config");return Q}async delete(Y,G){return((await this.db.deleteFrom("virtual_mcp_plugin_configs").where("virtual_mcp_id","=",Y).where("plugin_id","=",G).executeTakeFirst()).numDeletedRows??0n)>0n}async getBoundConnectionsForVirtualMcps(Y){if(Y.length===0)return new Map;let G=await this.db.selectFrom("virtual_mcp_plugin_configs").innerJoin("connections","connections.id","virtual_mcp_plugin_configs.connection_id").select(["virtual_mcp_plugin_configs.virtual_mcp_id","connections.id as connection_id","connections.title","connections.icon"]).where("virtual_mcp_plugin_configs.virtual_mcp_id","in",Y).where("virtual_mcp_plugin_configs.connection_id","is not",null).execute(),X=new Map;for(let J of G){let W=J.virtual_mcp_id;if(!X.has(W))X.set(W,[]);X.get(W).push({id:J.connection_id,title:J.title,icon:J.icon})}return X}}var pA4=E(()=>{g$()});function v_(Y){return typeof Y==="string"?Y:Y.toISOString()}function KP(Y){return{id:Y.id,organization_id:Y.organization_id,name:Y.name,active:!!Y.active,created_by:Y.created_by,agent:Y.agent,messages:Y.messages,models:Y.models,temperature:Y.temperature,virtual_mcp_id:Y.virtual_mcp_id??null,created_at:v_(Y.created_at),updated_at:v_(Y.updated_at)}}function FP(Y){return{id:Y.id,automation_id:Y.automation_id,type:Y.type,cron_expression:Y.cron_expression,connection_id:Y.connection_id,event_type:Y.event_type,params:Y.params,last_run_at:Y.last_run_at?v_(Y.last_run_at):null,next_run_at:Y.next_run_at?v_(Y.next_run_at):null,created_at:v_(Y.created_at)}}class nA4{db;constructor(Y){this.db=Y}async create(Y){let G=new Date().toISOString(),J={id:crypto.randomUUID(),organization_id:Y.organization_id,name:Y.name,active:Y.active??!0,created_by:Y.created_by,agent:Y.agent,messages:Y.messages,models:Y.models,temperature:Y.temperature??0.5,virtual_mcp_id:Y.virtual_mcp_id??null,created_at:G,updated_at:G},W=await this.db.insertInto("automations").values(J).returningAll().executeTakeFirstOrThrow();return KP(W)}async findById(Y,G){let X=await this.db.selectFrom("automations").selectAll().where("id","=",Y).where("organization_id","=",G).executeTakeFirst();return X?KP(X):null}async list(Y){return(await this.db.selectFrom("automations").selectAll().where("organization_id","=",Y).orderBy("created_at","desc").execute()).map(KP)}async listWithTriggerCounts(Y,G){let X=this.db.selectFrom("automations as a").leftJoin("automation_triggers as t","t.automation_id","a.id").select(["a.id","a.organization_id","a.name","a.active","a.created_by","a.agent","a.messages","a.models","a.temperature","a.virtual_mcp_id","a.created_at","a.updated_at"]).select((W)=>W.fn.count("t.id").as("trigger_count")).select((W)=>W.fn.min("t.next_run_at").as("nearest_next_run_at")).where("a.organization_id","=",Y);if(G!==void 0)X=G?X.where("a.virtual_mcp_id","=",G):X.where("a.virtual_mcp_id","is",null);return(await X.groupBy(["a.id","a.organization_id","a.name","a.active","a.created_by","a.agent","a.messages","a.models","a.temperature","a.virtual_mcp_id","a.created_at","a.updated_at"]).orderBy("a.created_at","desc").execute()).map((W)=>({...KP(W),trigger_count:Number(W.trigger_count),nearest_next_run_at:W.nearest_next_run_at?v_(W.nearest_next_run_at):null}))}async update(Y,G,X){let W={updated_at:new Date().toISOString()};if(X.name!==void 0)W.name=X.name;if(X.active!==void 0)W.active=X.active;if(X.agent!==void 0)W.agent=X.agent;if(X.messages!==void 0)W.messages=X.messages;if(X.models!==void 0)W.models=X.models;if(X.temperature!==void 0)W.temperature=X.temperature;await this.db.updateTable("automations").set(W).where("id","=",Y).where("organization_id","=",G).execute();let Z=await this.findById(Y,G);if(!Z)throw Error("Automation not found after update");return Z}async delete(Y,G){return{success:((await this.db.deleteFrom("automations").where("id","=",Y).where("organization_id","=",G).executeTakeFirst()).numDeletedRows??0n)>0n}}async addTrigger(Y){let G=new Date().toISOString(),J={id:crypto.randomUUID(),automation_id:Y.automation_id,type:Y.type,cron_expression:Y.cron_expression??null,connection_id:Y.connection_id??null,event_type:Y.event_type??null,params:Y.params??null,last_run_at:null,next_run_at:Y.next_run_at??null,created_at:G},W=await this.db.insertInto("automation_triggers").values(J).returningAll().executeTakeFirstOrThrow();return FP(W)}async removeTrigger(Y,G){return{success:((await this.db.deleteFrom("automation_triggers").where("id","=",Y).where("automation_id","=",G).executeTakeFirst()).numDeletedRows??0n)>0n}}async listTriggers(Y){return(await this.db.selectFrom("automation_triggers").selectAll().where("automation_id","=",Y).orderBy("created_at","asc").execute()).map(FP)}async findTriggerById(Y){let G=await this.db.selectFrom("automation_triggers").selectAll().where("id","=",Y).executeTakeFirst();return G?FP(G):null}async findActiveEventTriggers(Y,G,X){return(await this.db.selectFrom("automation_triggers as t").innerJoin("automations as a","a.id","t.automation_id").select(["t.id","t.automation_id","t.type","t.cron_expression","t.connection_id","t.event_type","t.params","t.last_run_at","t.created_at","a.id as a_id","a.organization_id as a_organization_id","a.name as a_name","a.active as a_active","a.created_by as a_created_by","a.agent as a_agent","a.messages as a_messages","a.models as a_models","a.temperature as a_temperature","a.created_at as a_created_at","a.updated_at as a_updated_at"]).where("t.type","=","event").where("t.connection_id","=",Y).where("t.event_type","=",G).where("a.organization_id","=",X).where("a.active","=",!0).execute()).map((W)=>({...FP(W),automation:KP({id:W.a_id,organization_id:W.a_organization_id,name:W.a_name,active:W.a_active,created_by:W.a_created_by,agent:W.a_agent,messages:W.a_messages,models:W.a_models,temperature:W.a_temperature,created_at:W.a_created_at,updated_at:W.a_updated_at})}))}async findAllActiveCronTriggers(){return(await this.db.selectFrom("automation_triggers as t").innerJoin("automations as a","a.id","t.automation_id").select(["t.id","t.automation_id","t.type","t.cron_expression","t.connection_id","t.event_type","t.params","t.last_run_at","t.created_at","a.id as a_id","a.organization_id as a_organization_id","a.name as a_name","a.active as a_active","a.created_by as a_created_by","a.agent as a_agent","a.messages as a_messages","a.models as a_models","a.temperature as a_temperature","a.created_at as a_created_at","a.updated_at as a_updated_at"]).where("t.type","=","cron").where("a.active","=",!0).execute()).map((G)=>({...FP(G),automation:KP({id:G.a_id,organization_id:G.a_organization_id,name:G.a_name,active:G.a_active,created_by:G.a_created_by,agent:G.a_agent,messages:G.a_messages,models:G.a_models,temperature:G.a_temperature,created_at:G.a_created_at,updated_at:G.a_updated_at})}))}async findDueCronTriggers(Y,G){return await this.db.transaction().execute(async(X)=>{return(await X.selectFrom("automation_triggers as t").innerJoin("automations as a","a.id","t.automation_id").select(["t.id","t.automation_id","t.type","t.cron_expression","t.connection_id","t.event_type","t.params","t.last_run_at","t.next_run_at","t.created_at","a.id as a_id","a.organization_id as a_organization_id","a.name as a_name","a.active as a_active","a.created_by as a_created_by","a.agent as a_agent","a.messages as a_messages","a.models as a_models","a.temperature as a_temperature","a.created_at as a_created_at","a.updated_at as a_updated_at"]).where("t.type","=","cron").where("a.active","=",!0).where("t.next_run_at","<=",Y.toISOString()).forUpdate().skipLocked().limit(G).execute()).map((W)=>({...FP(W),automation:KP({id:W.a_id,organization_id:W.a_organization_id,name:W.a_name,active:W.a_active,created_by:W.a_created_by,agent:W.a_agent,messages:W.a_messages,models:W.a_models,temperature:W.a_temperature,created_at:W.a_created_at,updated_at:W.a_updated_at})}))})}async updateNextRunAt(Y,G){await this.db.updateTable("automation_triggers").set({next_run_at:G}).where("id","=",Y).execute()}async findAllCronTriggersForRecompute(){return(await this.db.selectFrom("automation_triggers as t").innerJoin("automations as a","a.id","t.automation_id").selectAll("t").where("t.type","=","cron").where("a.active","=",!0).execute()).map(FP)}async countInProgressRuns(Y){let G=await this.db.selectFrom("threads as t").innerJoin("automation_triggers as tr","tr.id","t.trigger_id").select((X)=>X.fn.count("t.id").as("count")).where("tr.automation_id","=",Y).where("t.status","=","in_progress").executeTakeFirst();return Number(G?.count??0)}async tryAcquireRunSlot(Y,G,X){return await this.db.transaction().execute(async(J)=>{let W=await J.selectFrom("automations").selectAll().where("id","=",Y).forUpdate().executeTakeFirst();if(!W||!W.active)return console.warn(`[tryAcquireRunSlot] Automation ${Y} not found or inactive (active=${W?.active})`),null;let Z=await J.selectFrom("threads as t").innerJoin("automation_triggers as tr","tr.id","t.trigger_id").select((K)=>K.fn.count("t.id").as("count")).where("tr.automation_id","=",Y).where("t.status","=","in_progress").executeTakeFirst(),Q=Number(Z?.count??0);if(Q>=X)return console.warn(`[tryAcquireRunSlot] Automation ${Y} at concurrency limit (${Q}/${X})`),null;let $=KY("thrd"),H=new Date().toISOString();return await J.insertInto("threads").values({id:$,organization_id:W.organization_id,title:`Automation: ${W.name}`,description:null,status:"in_progress",trigger_id:G,virtual_mcp_id:W.virtual_mcp_id??"",hidden:!1,created_at:H,updated_at:H,created_by:W.created_by,updated_by:null}).execute(),$})}async markRunFailed(Y){await this.db.updateTable("threads").set({status:"failed",updated_at:new Date().toISOString()}).where("id","=",Y).where("status","=","in_progress").execute()}async updateTriggerLastRunAt(Y,G){await this.db.updateTable("automation_triggers").set({last_run_at:G}).where("id","=",Y).execute()}async deactivateAutomation(Y){await this.db.updateTable("automations").set({active:!1,updated_at:new Date().toISOString()}).where("id","=",Y).where("active","=",!0).execute()}async failZombieAutomationRuns(Y){let G=new Date(Date.now()-Y),X=await this.db.updateTable("threads").set({status:"failed",updated_at:new Date().toISOString()}).where("status","=","in_progress").where("run_config","is",null).where("trigger_id","is not",null).where("created_at","<=",G.toISOString()).executeTakeFirst();return Number(X.numUpdatedRows??0n)}}function pQ1(Y){return new nA4(Y)}var xm1=E(()=>{g$()});async function iA4(Y){let X=new TextEncoder().encode(Y),J=await crypto.subtle.digest("SHA-256",X);return Array.from(new Uint8Array(J)).map((Z)=>Z.toString(16).padStart(2,"0")).join("")}function xW9(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),Array.from(Y).map((G)=>G.toString(16).padStart(2,"0")).join("")}class $n{db;constructor(Y){this.db=Y}async generateTokenPair(){let Y=xW9(),G=await iA4(Y);return{plaintext:Y,hash:G}}async persistTokenHash(Y,G,X){let J=crypto.randomUUID();await this.db.insertInto("trigger_callback_tokens").values({id:J,organization_id:Y,connection_id:G,token_hash:X,created_at:new Date().toISOString()}).onConflict((W)=>W.columns(["connection_id","organization_id"]).doUpdateSet({id:J,token_hash:X})).execute()}async createOrRotateToken(Y,G){let{plaintext:X,hash:J}=await this.generateTokenPair();return await this.persistTokenHash(Y,G,J),X}async validateToken(Y){let G=await iA4(Y),X=await this.db.selectFrom("trigger_callback_tokens").select(["organization_id","connection_id"]).where("token_hash","=",G).executeTakeFirst();if(!X)return null;return{organizationId:X.organization_id,connectionId:X.connection_id}}async deleteByConnection(Y,G){await this.db.deleteFrom("trigger_callback_tokens").where("connection_id","=",Y).where("organization_id","=",G).execute()}}function nQ1(Y){if(!Y)return null;try{return JSON.parse(Y)}catch{return null}}function gW9(Y){if(!Y)return null;if(!Array.isArray(Y)&&typeof Y==="object"){let G=Y;if(Object.keys(G).some((J)=>iQ1.has(J))){let J={};for(let W of iQ1)if(typeof G[W]==="string")J[W]=G[W];return J}let X={};for(let[J,W]of Object.entries(G))if(typeof W==="string"&&iQ1.has(J.toLowerCase()))X[J.toLowerCase()]=W;return Object.keys(X).length>0?X:null}if(Array.isArray(Y)){let G={};for(let X of Y){let J=X,W=J.label?.toLowerCase?.(),Z=J.value;if(W&&Z&&iQ1.has(W))G[W]=Z}return Object.keys(G).length>0?G:null}return null}function mW9(Y){if(!Y)return null;if(!Array.isArray(Y)&&typeof Y==="object"){let G=Y;if(typeof G.heading==="string"||typeof G.body==="string"||typeof G.code==="string")return{heading:typeof G.heading==="string"?G.heading:void 0,body:typeof G.body==="string"?G.body:void 0,code:typeof G.code==="string"?G.code:void 0};return null}if(Array.isArray(Y)){let G={},X=[];for(let J of Y){let W=J,Z=W.name??W.family??void 0,Q=W.role?.toLowerCase?.()??"";if(!Z)continue;let $=uW9[Q];if($&&!G[$])G[$]=Z;else X.push(Z)}if(!G.body&&X[0])G.body=X[0];return Object.keys(G).length>0?G:null}return null}function gm1(Y){return{id:Y.id,organizationId:Y.organization_id,name:Y.name,domain:Y.domain,overview:Y.overview,logo:Y.logo,favicon:Y.favicon,ogImage:Y.og_image,fonts:mW9(nQ1(Y.fonts)),colors:gW9(nQ1(Y.colors)),images:nQ1(Y.images),metadata:nQ1(Y.metadata),archivedAt:Y.archived_at,isDefault:Y.is_default,createdAt:Y.created_at,updatedAt:Y.updated_at}}class Hn{db;constructor(Y){this.db=Y}async get(Y,G){let X=await this.db.selectFrom("brand_context").selectAll().where("id","=",Y).where("organization_id","=",G).executeTakeFirst();if(!X)return null;return gm1(X)}async list(Y,G){let X=this.db.selectFrom("brand_context").selectAll().where("organization_id","=",Y);if(!G?.includeArchived)X=X.where("archived_at","is",null);return(await X.orderBy("created_at","asc").execute()).map(gm1)}async create(Y,G){let X=crypto.randomUUID(),J=new Date().toISOString();return await this.db.insertInto("brand_context").values({id:X,organization_id:Y,name:G.name,domain:G.domain,overview:G.overview,logo:G.logo,favicon:G.favicon,og_image:G.ogImage,fonts:G.fonts?JSON.stringify(G.fonts):null,colors:G.colors?JSON.stringify(G.colors):null,images:G.images?JSON.stringify(G.images):null,metadata:G.metadata?JSON.stringify(G.metadata):null,archived_at:null,is_default:!1,created_at:J,updated_at:J}).execute(),await this.get(X,Y)}async update(Y,G,X){let W={updated_at:new Date().toISOString()};if(X.name!==void 0)W.name=X.name;if(X.domain!==void 0)W.domain=X.domain;if(X.overview!==void 0)W.overview=X.overview;if(X.logo!==void 0)W.logo=X.logo;if(X.favicon!==void 0)W.favicon=X.favicon;if(X.ogImage!==void 0)W.og_image=X.ogImage;if(X.fonts!==void 0)W.fonts=X.fonts?JSON.stringify(X.fonts):null;if(X.colors!==void 0)W.colors=X.colors?JSON.stringify(X.colors):null;if(X.images!==void 0)W.images=X.images?JSON.stringify(X.images):null;if(X.metadata!==void 0)W.metadata=X.metadata?JSON.stringify(X.metadata):null;if(X.archivedAt!==void 0)W.archived_at=X.archivedAt??null;if(X.isDefault!==void 0)W.is_default=X.isDefault;await this.db.updateTable("brand_context").set(W).where("id","=",Y).where("organization_id","=",G).execute();let Z=await this.get(Y,G);if(!Z)throw Error("Brand context not found");return Z}async getDefault(Y){let G=await this.db.selectFrom("brand_context").selectAll().where("organization_id","=",Y).where("is_default","=",!0).where("archived_at","is",null).executeTakeFirst();if(!G)return null;return gm1(G)}async setDefault(Y,G){await this.db.transaction().execute(async(J)=>{await J.updateTable("brand_context").set({is_default:!1}).where("organization_id","=",G).where("is_default","=",!0).execute(),await J.updateTable("brand_context").set({is_default:!0,updated_at:new Date().toISOString()}).where("id","=",Y).where("organization_id","=",G).execute()});let X=await this.get(Y,G);if(!X)throw Error("Brand context not found");return X}async delete(Y,G){await this.db.deleteFrom("brand_context").where("id","=",Y).where("organization_id","=",G).execute()}}var iQ1,uW9;var um1=E(()=>{iQ1=new Set(["primary","secondary","accent","background","foreground"]);uW9={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"}});class mm1{db;vault;constructor(Y,G){this.db=Y;this.vault=G}async getByOrgId(Y){let G=await this.db.selectFrom("org_sso_config").selectAll().where("organization_id","=",Y).executeTakeFirst();if(!G)return null;return this.toRuntime(G)}async getByDomain(Y){let G=await this.db.selectFrom("org_sso_config").selectAll().where("domain","=",Y.toLowerCase()).executeTakeFirst();if(!G)return null;return this.toRuntime(G)}async upsert(Y,G){let X=new Date().toISOString(),J=crypto.randomUUID(),W=await this.vault.encrypt(G.clientSecret),Z=JSON.stringify(G.scopes??["openid","email","profile"]),Q=G.enforced===void 0?void 0:G.enforced?1:0;await this.db.insertInto("org_sso_config").values({id:J,organization_id:Y,issuer:G.issuer,client_id:G.clientId,client_secret:W,discovery_endpoint:G.discoveryEndpoint??null,scopes:Z,domain:G.domain.toLowerCase(),enforced:Q??0,created_at:X,updated_at:X}).onConflict((H)=>H.column("organization_id").doUpdateSet({issuer:G.issuer,client_id:G.clientId,client_secret:W,discovery_endpoint:G.discoveryEndpoint??null,scopes:Z,domain:G.domain.toLowerCase(),...Q!==void 0?{enforced:Q}:{},updated_at:X})).execute();let $=await this.getByOrgId(Y);if(!$)throw Error("Failed to upsert org SSO config");return $}async setEnforced(Y,G){await this.db.updateTable("org_sso_config").set({enforced:G?1:0,updated_at:new Date().toISOString()}).where("organization_id","=",Y).execute()}async delete(Y){await this.db.deleteFrom("org_sso_config").where("organization_id","=",Y).execute()}toPublic(Y){let{clientSecret:G,...X}=Y;return X}async toRuntime(Y){let G=await this.vault.decrypt(Y.client_secret),X=typeof Y.scopes==="string"?JSON.parse(Y.scopes):Y.scopes;return{id:Y.id,organizationId:Y.organization_id,issuer:Y.issuer,clientId:Y.client_id,clientSecret:G,discoveryEndpoint:Y.discovery_endpoint,scopes:X,domain:Y.domain,enforced:Y.enforced===1,createdAt:Y.created_at,updatedAt:Y.updated_at}}}class lm1{db;constructor(Y){this.db=Y}async get(Y,G){let X=await this.db.selectFrom("org_sso_sessions").selectAll().where("user_id","=",Y).where("organization_id","=",G).executeTakeFirst();if(!X)return null;return{id:X.id,userId:X.user_id,organizationId:X.organization_id,authenticatedAt:X.authenticated_at,expiresAt:X.expires_at,createdAt:X.created_at}}async isValid(Y,G){let X=await this.get(Y,G);if(!X)return!1;return new Date(X.expiresAt)>new Date}async upsert(Y,G){let X=new Date,J=new Date(X.getTime()+86400000),W=crypto.randomUUID();await this.db.insertInto("org_sso_sessions").values({id:W,user_id:Y,organization_id:G,authenticated_at:X.toISOString(),expires_at:J.toISOString(),created_at:X.toISOString()}).onConflict((Q)=>Q.columns(["user_id","organization_id"]).doUpdateSet({authenticated_at:X.toISOString(),expires_at:J.toISOString()})).execute();let Z=await this.get(Y,G);if(!Z)throw Error("Failed to upsert SSO session");return Z}async deleteExpired(){await this.db.deleteFrom("org_sso_sessions").where("expires_at","<",new Date().toISOString()).execute()}}function rQ1(Y){return Buffer.from(String(Y),"utf8").toString("base64")}function aQ1(Y){if(!Y)return null;try{let G=Buffer.from(Y,"base64").toString("utf8"),X=Number.parseInt(G,10);return Number.isNaN(X)||X<0?null:X}catch{return null}}function z3(Y){if(!Y?.length)return[];return Array.from(new Set(Y.map((G)=>G.trim()).filter((G)=>G.length>0).map((G)=>G.toLowerCase())))}function VP(Y){if(!Y)return[];return z3(Y.split(","))}function oQ1(Y,G){if(!Y)return G;try{return JSON.parse(Y)}catch{return G}}function rA4(Y){return Y?.["mcp.mesh"]??{}}function sQ1(Y){return Y.length?Y.join(","):null}function pW9(Y){if(Y.length===0)return null;let G=Y[0];if(Y.length===1&&lW9.has(G))return i1.ref(G);if(Y.length===1&&G==="name")return i1`${i1.ref("server_json")}::jsonb->>'name'`;let X=cW9[G];if(X&&Y.length>=2){let J=Y.slice(1),W=i1`${i1.ref(X)}::jsonb`;for(let Z=0;Z<J.length;Z++){let Q=J[Z];W=Z===J.length-1?i1`${W}->>${i1.lit(Q)}`:i1`${W}->${i1.lit(Q)}`}return W}return null}function nW9(Y,G){if(!dW9.has(Y))return G;if(Array.isArray(G))return G.map((X)=>X===!0?1:X===!1?0:X);if(G===!0)return 1;if(G===!1)return 0;return G}function dm1(Y){if(Array.isArray(Y.conditions)&&Y.conditions.length){let $=Y.conditions.map((H)=>dm1(H));switch(Y.operator){case"and":return i1`(${i1.join($,i1` AND `)})`;case"or":return i1`(${i1.join($,i1` OR `)})`;case"not":return i1`NOT (${i1.join($,i1` OR `)})`;default:return i1`true`}}let{field:G,operator:X,value:J}=Y;if(!G||!X)return i1`true`;let W=pW9(G);if(!W)return i1`true`;let Z=G.length===1?G[0]:"",Q=nW9(Z,J);switch(X){case"eq":return Q===null?i1`${W} IS NULL`:i1`${W} = ${i1.val(Q)}`;case"gt":return i1`${W} > ${i1.val(Q)}`;case"gte":return i1`${W} >= ${i1.val(Q)}`;case"lt":return i1`${W} < ${i1.val(Q)}`;case"lte":return i1`${W} <= ${i1.val(Q)}`;case"in":if(!Array.isArray(Q)||Q.length===0)return i1`false`;return i1`${W} IN (${i1.join(Q.map(($)=>i1.val($)))})`;case"like":return i1`${W} ILIKE ${i1.val(Q)}`;case"contains":{let $=String(Q).replace(/[%_\\]/g,"\\$&");return i1`${W} ILIKE ${i1.val(`%${$}%`)}`}default:return i1`true`}}function tQ1(Y,G){let X=G.map((J)=>{let W=J.replace(/[%_\\]/g,"\\$&");return i1`(',' || ${i1.ref(Y)} || ',') LIKE ${i1.val(`%,${W},%`)}`});return i1`(${i1.join(X,i1` AND `)})`}function aA4(){return i1`(
1584
+ ${W}`}return Y}});var _Q1=I((QP)=>{var C79=QP&&QP.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),S79=QP&&QP.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))C79(G,Y,X)};Object.defineProperty(QP,"__esModule",{value:!0});S79(Dw4(),QP)});var ww4=I((Lw4)=>{Object.defineProperty(Lw4,"__esModule",{value:!0});Lw4.isProgressRow=j79;Lw4.isRow=I79;Lw4.isException=f79;function j79(Y){return Y!==null&&typeof Y==="object"&&"progress"in Y&&Object.keys(Y).length===1}function I79(Y){return Y!==null&&typeof Y==="object"&&"row"in Y&&Object.keys(Y).length===1}function f79(Y){return Y!==null&&typeof Y==="object"&&"exception"in Y&&Object.keys(Y).length===1}});var hw4=I((kw4)=>{Object.defineProperty(kw4,"__esModule",{value:!0});kw4.SimpleColumnTypes=kw4.ColumnTypeParseError=void 0;kw4.parseColumnType=Jn;kw4.parseDecimalType=Ew4;kw4.parseEnumType=Mw4;kw4.parseMapType=Pw4;kw4.parseTupleType=Tw4;kw4.parseArrayType=Rw4;kw4.parseDateTimeType=Cw4;kw4.parseDateTime64Type=Sw4;kw4.parseFixedStringType=jw4;kw4.asNullableType=Iw4;kw4.getElementsTypes=Lm1;class FY extends Error{args;constructor(Y,G){super(Y);this.args=G??{},Object.setPrototypeOf(this,FY.prototype)}}kw4.ColumnTypeParseError=FY;kw4.SimpleColumnTypes=["Bool","UInt8","Int8","UInt16","Int16","UInt32","Int32","UInt64","Int64","UInt128","Int128","UInt256","Int256","Float32","Float64","String","UUID","Date","Date32","IPv4","IPv6"];function Jn(Y){let G=Y,X=!1;if(G.startsWith(Aw4))G=G.slice(Aw4.length,-1);if(G.startsWith(bQ1))G=G.slice(bQ1.length,-1),X=!0;let J;if(kw4.SimpleColumnTypes.includes(G))J={type:"Simple",columnType:G,sourceType:Y};else if(G.startsWith(kQ1))J=Ew4({sourceType:Y,columnType:G});else if(G.startsWith(C_))J=Sw4({sourceType:Y,columnType:G});else if(G.startsWith(Dm1))J=Cw4({sourceType:Y,columnType:G});else if(G.startsWith(yQ1))J=jw4({sourceType:Y,columnType:G});else if(G.startsWith(qm1)||G.startsWith(zm1))J=Mw4({sourceType:Y,columnType:G});else if(G.startsWith(Xn))J=Rw4({sourceType:Y,columnType:G});else if(G.startsWith(hQ1))J=Pw4({sourceType:Y,columnType:G});else if(G.startsWith(vQ1))J=Tw4({sourceType:Y,columnType:G});else throw new FY("Unsupported column type",{columnType:G});if(X)return Iw4(J,Y);else return J}function Ew4({columnType:Y,sourceType:G}){if(!Y.startsWith(kQ1)||Y.length<kQ1.length+5)throw new FY("Invalid Decimal type",{sourceType:G,columnType:Y});let X=Y.slice(kQ1.length,-1).split(", ");if(X.length!==2)throw new FY("Expected Decimal type to have both precision and scale",{sourceType:G,columnType:Y,split:X});let J=32,W=parseInt(X[0],10);if(Number.isNaN(W)||W<1||W>76)throw new FY("Invalid Decimal precision",{columnType:Y,sourceType:G,precision:W});let Z=parseInt(X[1],10);if(Number.isNaN(Z)||Z<0||Z>W)throw new FY("Invalid Decimal scale",{columnType:Y,sourceType:G,precision:W,scale:Z});if(W>38)J=256;else if(W>18)J=128;else if(W>9)J=64;return{type:"Decimal",params:{precision:W,scale:Z,intSize:J},sourceType:G}}function Mw4({columnType:Y,sourceType:G}){let X;if(Y.startsWith(qm1))Y=Y.slice(qm1.length,-1),X=8;else if(Y.startsWith(zm1))Y=Y.slice(zm1.length,-1),X=16;else throw new FY("Expected Enum to be either Enum8 or Enum16",{columnType:Y,sourceType:G});if(Y.length<6)throw new FY("Invalid Enum type values",{columnType:Y,sourceType:G});let J=[],W=[],Z=!0,Q=!1,$=1;for(let V=1;V<Y.length;V++)if(Z){if(Q)Q=!1;else if(Y.charCodeAt(V)===_w4)Q=!0;else if(Y.charCodeAt(V)===fw4){let U=Y.slice($,V);if(J.includes(U))throw new FY("Duplicate Enum name",{columnType:Y,sourceType:G,name:U,names:J,indices:W});J.push(U),V+=4,$=V,Z=!1}}else if(Y.charCodeAt(V)<x79||Y.charCodeAt(V)>g79)K($,V),V+=2,$=V+1,Z=!0,Q=!1;if(K($,Y.length),J.length!==W.length)throw new FY("Expected Enum to have the same number of names and indices",{columnType:Y,sourceType:G,names:J,indices:W});let H={};for(let V=0;V<J.length;V++)H[W[V]]=J[V];return{type:"Enum",values:H,intSize:X,sourceType:G};function K(V,U){let O=parseInt(Y.slice(V,U),10);if(Number.isNaN(O)||O<0)throw new FY("Expected Enum index to be a valid number",{columnType:Y,sourceType:G,names:J,indices:W,index:O,start:V,end:U});if(W.includes(O))throw new FY("Duplicate Enum index",{columnType:Y,sourceType:G,index:O,names:J,indices:W});W.push(O)}}function Pw4({columnType:Y,sourceType:G}){if(!Y.startsWith(hQ1)||Y.length<hQ1.length+11)throw new FY("Invalid Map type",{columnType:Y,sourceType:G});Y=Y.slice(hQ1.length,-1);let[X,J]=Lm1({columnType:Y,sourceType:G},2),W=Jn(X);if(W.type==="DateTime64"||W.type==="Nullable"||W.type==="Array"||W.type==="Map"||W.type==="Decimal"||W.type==="Tuple")throw new FY("Invalid Map key type",{key:W,sourceType:G});let Z=Jn(J);return{type:"Map",key:W,value:Z,sourceType:G}}function Tw4({columnType:Y,sourceType:G}){if(!Y.startsWith(vQ1)||Y.length<vQ1.length+5)throw new FY("Invalid Tuple type",{columnType:Y,sourceType:G});return Y=Y.slice(vQ1.length,-1),{type:"Tuple",elements:Lm1({columnType:Y,sourceType:G},1).map((J)=>Jn(J)),sourceType:G}}function Rw4({columnType:Y,sourceType:G}){if(!Y.startsWith(Xn)||Y.length<Xn.length+5)throw new FY("Invalid Array type",{columnType:Y,sourceType:G});let X=0;while(Y.length>0)if(Y.startsWith(Xn))Y=Y.slice(Xn.length,-1),X++;else break;if(X===0||X>10)throw new FY("Expected Array to have between 1 and 10 dimensions",{columnType:Y});let J=Jn(Y);if(J.type==="Array")throw new FY("Unexpected Array as value type",{columnType:Y,sourceType:G});return{type:"Array",value:J,dimensions:X,sourceType:G}}function Cw4({columnType:Y,sourceType:G}){if(Y.startsWith(Nm1)&&Y.length>Nm1.length+4)return{type:"DateTime",timezone:Y.slice(Nm1.length+1,-2),sourceType:G};else if(Y.startsWith(Dm1)&&Y.length===Dm1.length)return{type:"DateTime",timezone:null,sourceType:G};else throw new FY("Invalid DateTime type",{columnType:Y,sourceType:G})}function Sw4({columnType:Y,sourceType:G}){if(!Y.startsWith(C_)||Y.length<C_.length+2)throw new FY("Invalid DateTime64 type",{columnType:Y,sourceType:G});let X=parseInt(Y[C_.length],10);if(Number.isNaN(X)||X<0||X>9)throw new FY("Invalid DateTime64 precision",{columnType:Y,sourceType:G,precision:X});let J=null;if(Y.length>C_.length+2)J=Y.slice(C_.length+4,-2);return{type:"DateTime64",timezone:J,precision:X,sourceType:G}}function jw4({columnType:Y,sourceType:G}){if(!Y.startsWith(yQ1)||Y.length<yQ1.length+2)throw new FY("Invalid FixedString type",{columnType:Y,sourceType:G});let X=parseInt(Y.slice(yQ1.length,-1),10);if(Number.isNaN(X)||X<1)throw new FY("Invalid FixedString size in bytes",{columnType:Y,sourceType:G,sizeBytes:X});return{type:"FixedString",sizeBytes:X,sourceType:G}}function Iw4(Y,G){if(Y.type==="Array"||Y.type==="Map"||Y.type==="Tuple"||Y.type==="Nullable")throw new FY(`${Y.type} cannot be Nullable`,{sourceType:G});if(Y.sourceType.startsWith(bQ1))Y.sourceType=Y.sourceType.slice(bQ1.length,-1);return{type:"Nullable",sourceType:G,value:Y}}function Lm1({columnType:Y,sourceType:G},X){let J=[],W=0,Z=!1,Q=!1,$=0;for(let H=0;H<Y.length;H++)if(Q)Q=!1;else if(Y.charCodeAt(H)===_w4)Q=!0;else if(Y.charCodeAt(H)===fw4)Z=!Z;else if(!Z){if(Y.charCodeAt(H)===v79)W++;else if(Y.charCodeAt(H)===y79)W--;else if(Y.charCodeAt(H)===b79){if(W===0)J.push(Y.slice($,H)),H+=2,$=H}}if(!W&&$<Y.length-1)J.push(Y.slice($));if(J.length<X)throw new FY("Expected more elements in the type",{sourceType:G,columnType:Y,elements:J,minElements:X});return J}var bQ1="Nullable(",Aw4="LowCardinality(",kQ1="Decimal(",Xn="Array(",hQ1="Map(",qm1="Enum8(",zm1="Enum16(",vQ1="Tuple(",Dm1="DateTime",Nm1="DateTime(",C_="DateTime64(",yQ1="FixedString(",fw4=39,v79=40,y79=41,b79=44,x79=48,g79=57,_w4=92});var yw4=I((CL)=>{var t79=CL&&CL.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),vw4=CL&&CL.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))t79(G,Y,X)};Object.defineProperty(CL,"__esModule",{value:!0});vw4(hw4(),CL);vw4(Jm1(),CL)});var gw4=I((bw4)=>{Object.defineProperty(bw4,"__esModule",{value:!0});bw4.EXCEPTION_TAG_HEADER_NAME=void 0;bw4.withCompressionHeaders=e79;bw4.withHttpSettings=YJ9;bw4.isSuccessfulResponse=GJ9;bw4.isJWTAuth=XJ9;bw4.isCredentialsAuth=JJ9;function e79({headers:Y,enable_request_compression:G,enable_response_compression:X}){return{...Y,...X?{"Accept-Encoding":"gzip"}:{},...G?{"Content-Encoding":"gzip"}:{}}}function YJ9(Y,G){return{...G?{enable_http_compression:1}:{},...Y}}function GJ9(Y){return Boolean(Y&&200<=Y&&Y<300)}function XJ9(Y){return Y!==null&&typeof Y==="object"&&"access_token"in Y}function JJ9(Y){return Y!==null&&typeof Y==="object"&&"username"in Y&&"password"in Y}bw4.EXCEPTION_TAG_HEADER_NAME="x-clickhouse-exception-tag"});var mw4=I((uw4)=>{Object.defineProperty(uw4,"__esModule",{value:!0});uw4.sleep=KJ9;async function KJ9(Y){await new Promise((G)=>setTimeout(()=>{G(void 0)},Y))}});var cw4=I((lw4)=>{Object.defineProperty(lw4,"__esModule",{value:!0});lw4.CARET_RETURN=void 0;lw4.extractErrorAtTheEndOfChunk=BJ9;var VJ9=_Q1(),UJ9="__exception__",OJ9=10;lw4.CARET_RETURN=13;function BJ9(Y,G){try{let X=1+UJ9.length+2+G.length+2,J=Y.length-X;if(J<1)return Error("there was an error in the stream, but the last chunk is malformed");do--J;while(Y[J]!==OJ9);let W=new TextDecoder("utf-8"),Z=parseInt(W.decode(Y.subarray(J,-X)));if(isNaN(Z)||Z<=0)return Error("there was an error in the stream; failed to parse the message length");let Q=W.decode(Y.subarray(J-Z+1,J));return(0,VJ9.parseError)(Q)}catch(X){return X}}});var iw4=I((nw4)=>{Object.defineProperty(nw4,"__esModule",{value:!0});nw4.transformUrl=qJ9;nw4.toSearchParams=zJ9;var pw4=IQ1();function qJ9({url:Y,pathname:G,searchParams:X}){let J=new URL(Y);if(G)if(J.pathname==="/")J.pathname=G;else J.pathname+=G;if(X)J.search=X?.toString();return J}function zJ9({database:Y,query:G,query_params:X,clickhouse_settings:J,session_id:W,query_id:Z,role:Q}){let $=[["query_id",Z]];if(X!==void 0)for(let[H,K]of Object.entries(X)){let V=(0,pw4.formatQueryParams)({value:K});$.push([`param_${H}`,V])}if(J!==void 0){for(let[H,K]of Object.entries(J))if(K!==void 0)$.push([H,(0,pw4.formatQuerySettings)(K)])}if(Y!==void 0&&Y!=="default")$.push(["database",Y]);if(G)$.push(["query",G]);if(W)$.push(["session_id",W]);if(Q){if(typeof Q==="string")$.push(["role",Q]);else if(Array.isArray(Q))for(let H of Q)$.push(["role",H])}return new URLSearchParams($)}});var rw4=I((EU)=>{var wJ9=EU&&EU.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),xQ1=EU&&EU.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))wJ9(G,Y,X)};Object.defineProperty(EU,"__esModule",{value:!0});xQ1(gw4(),EU);xQ1(mw4(),EU);xQ1(cw4(),EU);xQ1(iw4(),EU)});var OQ=I((p6)=>{Object.defineProperty(p6,"__esModule",{value:!0});p6.enhanceStackTrace=p6.getCurrentStackTrace=p6.DefaultLogger=p6.LogWriter=p6.CARET_RETURN=p6.extractErrorAtTheEndOfChunk=p6.isJWTAuth=p6.isCredentialsAuth=p6.withHttpSettings=p6.withCompressionHeaders=p6.transformUrl=p6.toSearchParams=p6.sleep=p6.isSuccessfulResponse=p6.EXCEPTION_TAG_HEADER_NAME=p6.numberConfigURLValue=p6.getConnectionParams=p6.enumConfigURLValue=p6.booleanConfigURLValue=p6.validateStreamFormat=p6.isNotStreamableJSONFamily=p6.isStreamableJSONFamily=p6.isSupportedRawFormat=p6.encodeJSON=p6.formatQueryParams=p6.formatQuerySettings=p6.defaultJSONHandling=p6.parseColumnType=p6.SimpleColumnTypes=p6.SettingsMap=p6.isException=p6.isRow=p6.isProgressRow=p6.ClickHouseLogLevel=p6.parseError=p6.ClickHouseError=p6.TupleParam=p6.RecordsJSONFormats=p6.SingleDocumentJSONFormats=p6.StreamableJSONFormats=p6.StreamableFormats=p6.SupportedRawFormats=p6.SupportedJSONFormats=p6.ClickHouseClient=void 0;var AJ9=Xw4();Object.defineProperty(p6,"ClickHouseClient",{enumerable:!0,get:function(){return AJ9.ClickHouseClient}});var ZP=IQ1();Object.defineProperty(p6,"SupportedJSONFormats",{enumerable:!0,get:function(){return ZP.SupportedJSONFormats}});Object.defineProperty(p6,"SupportedRawFormats",{enumerable:!0,get:function(){return ZP.SupportedRawFormats}});Object.defineProperty(p6,"StreamableFormats",{enumerable:!0,get:function(){return ZP.StreamableFormats}});Object.defineProperty(p6,"StreamableJSONFormats",{enumerable:!0,get:function(){return ZP.StreamableJSONFormats}});Object.defineProperty(p6,"SingleDocumentJSONFormats",{enumerable:!0,get:function(){return ZP.SingleDocumentJSONFormats}});Object.defineProperty(p6,"RecordsJSONFormats",{enumerable:!0,get:function(){return ZP.RecordsJSONFormats}});Object.defineProperty(p6,"TupleParam",{enumerable:!0,get:function(){return ZP.TupleParam}});var aw4=_Q1();Object.defineProperty(p6,"ClickHouseError",{enumerable:!0,get:function(){return aw4.ClickHouseError}});Object.defineProperty(p6,"parseError",{enumerable:!0,get:function(){return aw4.parseError}});var EJ9=RQ1();Object.defineProperty(p6,"ClickHouseLogLevel",{enumerable:!0,get:function(){return EJ9.ClickHouseLogLevel}});var Am1=ww4();Object.defineProperty(p6,"isProgressRow",{enumerable:!0,get:function(){return Am1.isProgressRow}});Object.defineProperty(p6,"isRow",{enumerable:!0,get:function(){return Am1.isRow}});Object.defineProperty(p6,"isException",{enumerable:!0,get:function(){return Am1.isException}});var MJ9=Bm1();Object.defineProperty(p6,"SettingsMap",{enumerable:!0,get:function(){return MJ9.SettingsMap}});var Em1=yw4();Object.defineProperty(p6,"SimpleColumnTypes",{enumerable:!0,get:function(){return Em1.SimpleColumnTypes}});Object.defineProperty(p6,"parseColumnType",{enumerable:!0,get:function(){return Em1.parseColumnType}});Object.defineProperty(p6,"defaultJSONHandling",{enumerable:!0,get:function(){return Em1.defaultJSONHandling}});var $P=IQ1();Object.defineProperty(p6,"formatQuerySettings",{enumerable:!0,get:function(){return $P.formatQuerySettings}});Object.defineProperty(p6,"formatQueryParams",{enumerable:!0,get:function(){return $P.formatQueryParams}});Object.defineProperty(p6,"encodeJSON",{enumerable:!0,get:function(){return $P.encodeJSON}});Object.defineProperty(p6,"isSupportedRawFormat",{enumerable:!0,get:function(){return $P.isSupportedRawFormat}});Object.defineProperty(p6,"isStreamableJSONFamily",{enumerable:!0,get:function(){return $P.isStreamableJSONFamily}});Object.defineProperty(p6,"isNotStreamableJSONFamily",{enumerable:!0,get:function(){return $P.isNotStreamableJSONFamily}});Object.defineProperty(p6,"validateStreamFormat",{enumerable:!0,get:function(){return $P.validateStreamFormat}});var gQ1=$m1();Object.defineProperty(p6,"booleanConfigURLValue",{enumerable:!0,get:function(){return gQ1.booleanConfigURLValue}});Object.defineProperty(p6,"enumConfigURLValue",{enumerable:!0,get:function(){return gQ1.enumConfigURLValue}});Object.defineProperty(p6,"getConnectionParams",{enumerable:!0,get:function(){return gQ1.getConnectionParams}});Object.defineProperty(p6,"numberConfigURLValue",{enumerable:!0,get:function(){return gQ1.numberConfigURLValue}});var oK=rw4();Object.defineProperty(p6,"EXCEPTION_TAG_HEADER_NAME",{enumerable:!0,get:function(){return oK.EXCEPTION_TAG_HEADER_NAME}});Object.defineProperty(p6,"isSuccessfulResponse",{enumerable:!0,get:function(){return oK.isSuccessfulResponse}});Object.defineProperty(p6,"sleep",{enumerable:!0,get:function(){return oK.sleep}});Object.defineProperty(p6,"toSearchParams",{enumerable:!0,get:function(){return oK.toSearchParams}});Object.defineProperty(p6,"transformUrl",{enumerable:!0,get:function(){return oK.transformUrl}});Object.defineProperty(p6,"withCompressionHeaders",{enumerable:!0,get:function(){return oK.withCompressionHeaders}});Object.defineProperty(p6,"withHttpSettings",{enumerable:!0,get:function(){return oK.withHttpSettings}});Object.defineProperty(p6,"isCredentialsAuth",{enumerable:!0,get:function(){return oK.isCredentialsAuth}});Object.defineProperty(p6,"isJWTAuth",{enumerable:!0,get:function(){return oK.isJWTAuth}});Object.defineProperty(p6,"extractErrorAtTheEndOfChunk",{enumerable:!0,get:function(){return oK.extractErrorAtTheEndOfChunk}});Object.defineProperty(p6,"CARET_RETURN",{enumerable:!0,get:function(){return oK.CARET_RETURN}});var ow4=RQ1();Object.defineProperty(p6,"LogWriter",{enumerable:!0,get:function(){return ow4.LogWriter}});Object.defineProperty(p6,"DefaultLogger",{enumerable:!0,get:function(){return ow4.DefaultLogger}});var sw4=_Q1();Object.defineProperty(p6,"getCurrentStackTrace",{enumerable:!0,get:function(){return sw4.getCurrentStackTrace}});Object.defineProperty(p6,"enhanceStackTrace",{enumerable:!0,get:function(){return sw4.enhanceStackTrace}})});var Mm1=I((HP)=>{var TJ9=HP&&HP.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(HP,"__esModule",{value:!0});HP.isStream=jJ9;HP.getAsText=IJ9;HP.mapStream=fJ9;var RJ9=TJ9(g1("stream")),CJ9=g1("buffer"),{MAX_STRING_LENGTH:SJ9}=CJ9.constants;function jJ9(Y){return typeof Y==="object"&&Y!==null&&"pipe"in Y&&typeof Y.pipe==="function"&&"on"in Y&&typeof Y.on==="function"}async function IJ9(Y){try{let G="",X=new TextDecoder;for await(let J of Y)G+=X.decode(J,{stream:!0});return G+=X.decode(),G}catch(G){if(G instanceof RangeError&&G.message.includes("Invalid string length"))throw Error(`The response length exceeds the maximum allowed size of V8 String: ${SJ9} characters.`);throw G}}function fJ9(Y){return new RJ9.default.Transform({objectMode:!0,transform(G,X,J){J(null,Y(G))}})}});var ew4=I((S_)=>{var _J9=S_&&S_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(S_,"__esModule",{value:!0});S_.NodeValuesEncoder=void 0;var uQ1=OQ(),kJ9=_J9(g1("stream")),mQ1=Mm1();class tw4{json;constructor(Y){this.json=Y}encodeValues(Y,G){if((0,mQ1.isStream)(Y)){if(!Y.readableObjectMode)return Y;return kJ9.default.pipeline(Y,(0,mQ1.mapStream)((X)=>(0,uQ1.encodeJSON)(X,G,this.json.stringify)),hJ9)}if(Array.isArray(Y))return Y.map((X)=>(0,uQ1.encodeJSON)(X,G,this.json.stringify)).join("");if(typeof Y==="object")return(0,uQ1.encodeJSON)(Y,G,this.json.stringify);throw Error(`Cannot encode values of type ${typeof Y} with ${G} format`)}validateInsertValues(Y,G){if(!Array.isArray(Y)&&!(0,mQ1.isStream)(Y)&&typeof Y!=="object")throw Error(`Insert expected "values" to be an array, a stream of values or a JSON object, got: ${typeof Y}`);if((0,mQ1.isStream)(Y)){if((0,uQ1.isSupportedRawFormat)(G)){if(Y.readableObjectMode)throw Error(`Insert for ${G} expected Readable Stream with disabled object mode.`)}else if(!Y.readableObjectMode)throw Error(`Insert for ${G} expected Readable Stream with enabled object mode.`)}}}S_.NodeValuesEncoder=tw4;function hJ9(Y){if(Y)console.error(Y)}});var GA4=I((YA4)=>{Object.defineProperty(YA4,"__esModule",{value:!0});YA4.getProcessVersion=vJ9;function vJ9(){return process.version}});var JA4=I((XA4)=>{Object.defineProperty(XA4,"__esModule",{value:!0});XA4.default="1.18.3"});var QA4=I((YH)=>{var xJ9=YH&&YH.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),gJ9=YH&&YH.__setModuleDefault||(Object.create?function(Y,G){Object.defineProperty(Y,"default",{enumerable:!0,value:G})}:function(Y,G){Y.default=G}),uJ9=YH&&YH.__importStar||function(){var Y=function(G){return Y=Object.getOwnPropertyNames||function(X){var J=[];for(var W in X)if(Object.prototype.hasOwnProperty.call(X,W))J[J.length]=W;return J},Y(G)};return function(G){if(G&&G.__esModule)return G;var X={};if(G!=null){for(var J=Y(G),W=0;W<J.length;W++)if(J[W]!=="default")xJ9(X,G,J[W])}return gJ9(X,G),X}}(),mJ9=YH&&YH.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(YH,"__esModule",{value:!0});YH.Runtime=void 0;var lJ9=uJ9(g1("os")),dJ9=mJ9(JA4());class WA4{static package=dJ9.default;static node=process.version;static os=lJ9.platform()}YH.Runtime=WA4});var $A4=I((ZA4)=>{Object.defineProperty(ZA4,"__esModule",{value:!0});ZA4.getUserAgent=cJ9;var Pm1=QA4();function cJ9(Y){let G=`clickhouse-js/${Pm1.Runtime.package} (lv:nodejs/${Pm1.Runtime.node}; os:${Pm1.Runtime.os})`;return Y?`${Y} ${G}`:G}});var Wn=I((MU)=>{var nJ9=MU&&MU.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),lQ1=MU&&MU.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))nJ9(G,Y,X)};Object.defineProperty(MU,"__esModule",{value:!0});lQ1(Mm1(),MU);lQ1(ew4(),MU);lQ1(GA4(),MU);lQ1($A4(),MU)});var Tm1=I((HA4)=>{Object.defineProperty(HA4,"__esModule",{value:!0});HA4.drainStream=iJ9;HA4.drainStreamInternal=rJ9;var SL=OQ();async function iJ9(Y){return new Promise((G,X)=>{if(Y.errored){X(Y.errored);return}if(Y.readableEnded){G();return}if(Y.closed){G();return}function J(){}function W(){$(),G()}function Z(H){$(),X(H)}function Q(){$(),G()}function $(){Y.removeListener("data",J),Y.removeListener("end",W),Y.removeListener("error",Z),Y.removeListener("close",Q)}Y.on("data",J),Y.on("end",W),Y.on("error",Z),Y.on("close",Q)})}async function rJ9(Y,G){return new Promise((X,J)=>{let W=Date.now(),Z=0,Q=0;if(Y.log_level<=SL.ClickHouseLogLevel.TRACE)Y.log_writer.trace({message:`${Y.op}: starting stream drain`,args:{query_id:Y.query_id,stream_state:{readable:G.readable,readableEnded:G.readableEnded,readableLength:G.readableLength}}});if(G.errored){if(Y.log_level<=SL.ClickHouseLogLevel.TRACE)Y.log_writer.trace({message:`${Y.op}: stream already errored before drain`,args:{query_id:Y.query_id,chunk_number:Q,total_bytes_received:Z}});J(G.errored);return}if(G.readableEnded){if(Y.log_level<=SL.ClickHouseLogLevel.TRACE)Y.log_writer.trace({message:`${Y.op}: stream already ended before drain`,args:{query_id:Y.query_id,chunk_number:Q,total_bytes_received:Z}});X();return}if(G.closed){if(Y.log_level<=SL.ClickHouseLogLevel.TRACE)Y.log_writer.trace({message:`${Y.op}: stream already closed before drain`,args:{query_id:Y.query_id,chunk_number:Q,total_bytes_received:Z}});X();return}function $(O){if(Y.log_level<=SL.ClickHouseLogLevel.TRACE){Q++;let B=Buffer.byteLength(O);Z+=B,Y.log_writer.trace({message:`${Y.op}: received data chunk during drain`,args:{query_id:Y.query_id,chunk_number:Q,chunk_size:B,total_bytes_received:Z}})}}function H(){if(U(),Y.log_level<=SL.ClickHouseLogLevel.TRACE){let O=Date.now()-W;Y.log_writer.trace({message:`${Y.op}: stream drain completed (end event)`,args:{query_id:Y.query_id,duration_ms:O,total_bytes_received:Z,total_chunks:Q}})}X()}function K(O){if(U(),Y.log_level<=SL.ClickHouseLogLevel.TRACE){let B=Date.now()-W;Y.log_writer.trace({message:`${Y.op}: stream drain failed (error event)`,args:{query_id:Y.query_id,duration_ms:B,total_bytes_received:Z,total_chunks:Q,error:O.message}})}J(O)}function V(){if(U(),Y.log_level<=SL.ClickHouseLogLevel.TRACE){let O=Date.now()-W;Y.log_writer.trace({message:`${Y.op}: stream closed during drain (close event)`,args:{query_id:Y.query_id,duration_ms:O,total_bytes_received:Z,total_chunks:Q}})}X()}function U(){G.removeListener("data",$),G.removeListener("end",H),G.removeListener("error",K),G.removeListener("close",V)}G.on("data",$),G.on("end",H),G.on("error",K),G.on("close",V)})}});var FA4=I((j_)=>{var KA4=j_&&j_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(j_,"__esModule",{value:!0});j_.decompressResponse=YW9;j_.isDecompressionError=GW9;var sJ9=OQ(),tJ9=KA4(g1("stream")),eJ9=KA4(g1("zlib"));function YW9(Y,G,X){let J=Y.headers["content-encoding"];if(J==="gzip")return{response:tJ9.default.pipeline(Y,eJ9.default.createGunzip(),function(Z){if(Z){if(X<=sJ9.ClickHouseLogLevel.ERROR)G.error({message:"An error occurred while decompressing the response",err:Z})}})};else if(J!==void 0)return{error:Error(`Unexpected encoding: ${J}`)};return{response:Y}}function GW9(Y){return Y.error!==void 0}});var NA4=I((I_)=>{var OA4=I_&&I_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(I_,"__esModule",{value:!0});I_.SocketPool=void 0;var Rm1=OA4(g1("stream")),XW9=OA4(g1("zlib")),O5=OQ(),VA4=Wn(),UA4=FA4();class BA4{connectionId;params;createClientRequest;agent;jsonHandling;knownSockets=new WeakMap;requestCounter=0;getNewRequestId(){return this.requestCounter+=1,`${this.connectionId}:${this.requestCounter}`}socketCounter=0;getNewSocketId(){return this.socketCounter+=1,`${this.connectionId}:${this.socketCounter}`}constructor(Y,G,X,J){this.connectionId=Y,this.params=G,this.createClientRequest=X,this.agent=J,this.jsonHandling=G.json??{parse:JSON.parse,stringify:JSON.stringify}}async request(Y,G){await(0,O5.sleep)(0);let{log_writer:X,query_id:J,log_level:W}=Y,Z=this.params.capture_enhanced_stack_trace?(0,O5.getCurrentStackTrace)():void 0,Q=this.params.request_timeout;if(this.params.eagerly_destroy_stale_sockets&&this.params.keep_alive.enabled&&this.params.keep_alive.idle_socket_ttl>0){if(this.agent.freeSockets)for(let V of Object.keys(this.agent.freeSockets)){let U=this.agent.freeSockets[V];if(U)for(let O of[...U]){let B=this.knownSockets.get(O);if(B){let N=B.freed_at_timestamp_ms;if(N){let q=Date.now()-N;if(q>=this.params.keep_alive.idle_socket_ttl){if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: socket TTL expired based on timestamp, destroying socket`,args:{operation:G,connection_id:this.connectionId,query_id:J,socket_id:B.id,socket_age_ms:q,idle_socket_ttl_ms:this.params.keep_alive.idle_socket_ttl}});clearTimeout(B.idle_timeout_handle),this.knownSockets.delete(O),O.destroy()}}}}}}let $=Date.now(),H=this.createClientRequest(Y),K=this.getNewRequestId();return new Promise((V,U)=>{let O=(T)=>{if(C(),T instanceof Error){if(W<=O5.ClickHouseLogLevel.TRACE){if(T.code==="ECONNRESET")X.trace({message:`${G}: connection reset by peer`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K},module:"HTTP Adapter"})}if(W<=O5.ClickHouseLogLevel.WARN){if(this.params.keep_alive.enabled){if(T.code==="ECONNRESET"){let f=H.socket;if(f){let k=this.knownSockets.get(f);if(k){let _=k.server_keep_alive_timeout_ms;if(_!==void 0){if(this.params.keep_alive.idle_socket_ttl>_)X.warn({message:`${G}: idle socket TTL is greater than server keep-alive timeout, try setting idle socket TTL to a value lower than the server keep-alive timeout to prevent unexpected connection resets, see https://c.house/js_keep_alive_econnreset for more details.`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:k.id,server_keep_alive_timeout_ms:_,idle_socket_ttl:this.params.keep_alive.idle_socket_ttl},module:"HTTP Adapter"})}}}}}}let j=(0,O5.enhanceStackTrace)(T,Z);U(j)}else U(T)},B,N=async(T)=>{if(this.params.log_level<=O5.ClickHouseLogLevel.DEBUG){let _=Date.now()-$;this.params.log_writer.debug({module:"HTTP Adapter",message:`${G}: got a response from ClickHouse`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,request_method:Y.method,request_path:Y.url.pathname,response_status:T.statusCode,response_time_ms:_}})}if(this.params.keep_alive.enabled){let _=T.headers["keep-alive"];if(_){let[,y]=/timeout=(\d+)/i.exec(String(_))??[];if(y){let g=this.knownSockets.get(T.socket);if(g){let n=Number(y)*1000;if(g.server_keep_alive_timeout_ms=n,W<=O5.ClickHouseLogLevel.TRACE)this.params.log_writer.trace({module:"HTTP Adapter",message:`${G}: updated server sent socket keep-alive timeout`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:g.id,server_keep_alive_timeout_ms:n}})}}}}let j=Y.try_decompress_response_stream??!0,f=Y.ignore_error_response??!1,k=!(0,O5.isSuccessfulResponse)(T.statusCode);if(j||k&&!f){let _=(0,UA4.decompressResponse)(T,X,W);if((0,UA4.isDecompressionError)(_)){let y=(0,O5.enhanceStackTrace)(_.error,Z);return U(y)}B=_.response}else B=T;if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: response stream created`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,stream_state:{readable:B.readable,readableEnded:B.readableEnded,readableLength:B.readableLength},is_failed_response:k,will_decompress:j}});if(k&&!f)try{let _=await(0,VA4.getAsText)(B),y=(0,O5.enhanceStackTrace)((0,O5.parseError)(_),Z);U(y)}catch(_){let y=(0,O5.enhanceStackTrace)(_,Z);U(y)}else return V({stream:B,summary:Y.parse_summary?this.parseSummary(G,T):void 0,response_headers:{...T.headers},http_status_code:T.statusCode??void 0})};function q(){C(),H.once("error",function(){});let T=(0,O5.enhanceStackTrace)(Error("The user aborted a request."),Z);U(T)}function D(){C()}function L(){if(H.writableEnded)return;let T=(0,VA4.isStream)(Y.body)?Y.body:Rm1.default.Readable.from([Y.body]),j=(f)=>{if(f){C();let k=(0,O5.enhanceStackTrace)(f,Z);U(k)}};if(Y.enable_request_compression)Rm1.default.pipeline(T,XW9.default.createGzip(),H,j);else Rm1.default.pipeline(T,H,j)}let M=(T)=>{try{if(this.params.keep_alive.enabled&&this.params.keep_alive.idle_socket_ttl>0){let j=this.knownSockets.get(T);if(j===void 0){let f=this.getNewSocketId();if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: using a fresh socket, setting up a new 'free' listener`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f}});let k={id:f,idle_timeout_handle:void 0,usage_count:1};this.knownSockets.set(T,k),T.on("free",()=>{if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: socket was released`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f}});let y=Date.now();k.freed_at_timestamp_ms=y;let g=setTimeout(()=>{let n=Date.now()-y;if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: removing idle socket`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f,idle_socket_ttl_ms:this.params.keep_alive.idle_socket_ttl,freed_after_ms:n}});this.knownSockets.delete(T),T.destroy()},this.params.keep_alive.idle_socket_ttl).unref();k.idle_timeout_handle=g});let _=(y)=>()=>{let g=this.knownSockets.get(T);if(g?.idle_timeout_handle)clearTimeout(g.idle_timeout_handle);if(W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: received '${y}' event, 'free' listener removed`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f,event:y}});if(W<=O5.ClickHouseLogLevel.WARN){if(B&&!B.readableEnded)X.warn({message:`${G}: socket was closed or ended before the response was fully read. This can potentially result in an uncaught ECONNRESET error! Consider fully consuming, draining, or destroying the response stream.`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f,event:y}})}};T.once("end",_("end")),T.once("close",_("close"))}else{let f=j.freed_at_timestamp_ms;if(f){let k=Date.now()-f;if(k-this.params.keep_alive.idle_socket_ttl>1000){if(W<=O5.ClickHouseLogLevel.WARN)X.warn({message:`${G}: reusing socket with TTL expired based on timestamp; this may indicate a starved Node.js process or delayed event loop; set keep_alive.eagerly_destroy_stale_sockets=true to mitigate`,args:{operation:G,connection_id:this.connectionId,query_id:J,socket_id:j.id,socket_age_ms:k,idle_socket_ttl_ms:this.params.keep_alive.idle_socket_ttl}})}}if(clearTimeout(j.idle_timeout_handle),j.idle_timeout_handle=void 0,W<=O5.ClickHouseLogLevel.TRACE)X.trace({message:`${G}: reusing socket`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:j.id,usage_count:j.usage_count}});j.usage_count++}}}catch(j){if(W<=O5.ClickHouseLogLevel.ERROR)X.error({message:`${G}: an error occurred while housekeeping the idle sockets`,err:j,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K}})}if(L(),W<=O5.ClickHouseLogLevel.TRACE){let j=this.knownSockets.get(T);if(j)X.trace({message:`${G}: setting up request timeout`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:j.id,timeout_ms:Q}});else X.trace({message:`${G}: setting up request timeout on a socket`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,timeout_ms:Q}})}T.setTimeout(this.params.request_timeout,R)},R=()=>{if(C(),W<=O5.ClickHouseLogLevel.TRACE){let j=H.socket,f=j?this.knownSockets.get(j):void 0,k=H.socket?{connecting:H.socket.connecting,pending:H.socket.pending,destroyed:H.socket.destroyed,readyState:H.socket.readyState}:void 0,_=B?{readable:B.readable,readableEnded:B.readableEnded,readableLength:B.readableLength}:void 0;X.trace({message:`${G}: timeout occurred`,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K,socket_id:f?.id,timeout_ms:Q,socket_state:k,response_stream_state:_,has_response_stream:B!==void 0}})}let T=(0,O5.enhanceStackTrace)(Error("Timeout error."),Z);try{H.destroy()}catch(j){if(W<=O5.ClickHouseLogLevel.ERROR)X.error({message:`${G}: An error occurred while destroying the request`,err:j,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K}})}U(T)};function C(){if(H.socket)H.socket.setTimeout(0),H.socket.removeListener("timeout",R);if(H.removeListener("socket",M),H.removeListener("response",N),H.removeListener("error",O),H.removeListener("close",D),Y.abort_signal)H.removeListener("abort",q)}if(H.on("socket",M),H.on("response",N),H.on("error",O),H.on("close",D),Y.abort_signal)Y.abort_signal.addEventListener("abort",q,{once:!0});if(!Y.body)try{return H.end()}catch(T){if(W<=O5.ClickHouseLogLevel.ERROR)X.error({message:`${G}: an error occurred while ending the request without body`,err:T,args:{operation:G,connection_id:this.connectionId,query_id:J,request_id:K}})}})}parseSummary(Y,G){let X=G.headers["x-clickhouse-summary"];if(typeof X==="string")try{return this.jsonHandling.parse(X)}catch(J){if(this.params.log_level<=O5.ClickHouseLogLevel.ERROR)this.params.log_writer.error({message:`${Y}: failed to parse X-ClickHouse-Summary header.`,args:{operation:Y,connection_id:this.connectionId,"X-ClickHouse-Summary":X},err:J})}}}I_.SocketPool=BA4});var Qn=I((f_)=>{var JW9=f_&&f_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(f_,"__esModule",{value:!0});f_.NodeBaseConnection=void 0;var z7=OQ(),qA4=JW9(g1("crypto")),WW9=Wn(),Cm1=Tm1(),QW9=NA4();class DA4{params;agent;defaultAuthHeader;defaultHeaders;connectionId=qA4.default.randomUUID();socketPool;constructor(Y,G){if(this.params=Y,this.agent=G,this.socketPool=new QW9.SocketPool(this.connectionId,this.params,this.createClientRequest.bind(this),this.agent),Y.auth.type==="Credentials")this.defaultAuthHeader=`Basic ${Buffer.from(`${Y.auth.username}:${Y.auth.password}`).toString("base64")}`;else if(Y.auth.type==="JWT")this.defaultAuthHeader=`Bearer ${Y.auth.access_token}`;else throw Error(`Unknown auth type: ${Y.auth.type}`);this.defaultHeaders={Connection:this.params.keep_alive.enabled?"keep-alive":"close","User-Agent":(0,WW9.getUserAgent)(this.params.application_id)}}async ping(Y){let{log_writer:G,log_level:X}=this.params,J=this.getQueryId(Y.query_id),{controller:W,controllerCleanup:Z}=this.getAbortController(Y);try{let Q;if(Y.select){let $=(0,z7.toSearchParams)({database:void 0,query:zA4,query_id:J});Q=await this.request({query:zA4,method:"GET",url:(0,z7.transformUrl)({url:this.params.url,searchParams:$}),abort_signal:W.signal,headers:this.buildRequestHeaders(),query_id:J,log_writer:G,log_level:X},"Ping")}else Q=await this.request({query:"ping",method:"GET",url:(0,z7.transformUrl)({url:this.params.url,pathname:"/ping"}),abort_signal:W.signal,headers:this.buildRequestHeaders(),query_id:J,log_writer:G,log_level:X},"Ping");return await(0,Cm1.drainStreamInternal)({op:"Ping",log_writer:G,query_id:J,log_level:X},Q.stream),{success:!0}}catch(Q){if(W.abort("Ping failed"),X<=z7.ClickHouseLogLevel.WARN)G.warn({message:this.httpRequestErrorMessage("Ping"),err:Q,args:{connection_id:this.connectionId,query_id:J}});return{success:!1,error:Q}}finally{Z()}}async query(Y){let{log_writer:G,log_level:X}=this.params,J=this.getQueryId(Y.query_id),W=(0,z7.withHttpSettings)(Y.clickhouse_settings,this.params.compression.decompress_response),Z=(0,z7.toSearchParams)({database:this.params.database,query_params:Y.query_params,session_id:Y.session_id,clickhouse_settings:W,query_id:J,role:Y.role}),{controller:Q,controllerCleanup:$}=this.getAbortController(Y),H=W.enable_http_compression===1;try{let{response_headers:K,stream:V,http_status_code:U}=await this.request({method:"POST",url:(0,z7.transformUrl)({url:this.params.url,searchParams:Z}),body:Y.query,abort_signal:Q.signal,enable_response_compression:H,headers:this.buildRequestHeaders(Y),query:Y.query,query_id:J,log_writer:G,log_level:X},"Query");return{stream:V,response_headers:K,query_id:J,http_status_code:U}}catch(K){throw Q.abort("Query HTTP request failed"),this.logRequestError({op:"Query",query_id:J,query_params:Y,search_params:Z,err:K,extra_args:{decompress_response:H,clickhouse_settings:W}}),K}finally{$()}}async insert(Y){let{log_writer:G,log_level:X}=this.params,J=this.getQueryId(Y.query_id),W=(0,z7.toSearchParams)({database:this.params.database,clickhouse_settings:Y.clickhouse_settings,query_params:Y.query_params,query:Y.query,session_id:Y.session_id,role:Y.role,query_id:J}),{controller:Z,controllerCleanup:Q}=this.getAbortController(Y);try{let{stream:$,summary:H,response_headers:K,http_status_code:V}=await this.request({method:"POST",url:(0,z7.transformUrl)({url:this.params.url,searchParams:W}),body:Y.values,abort_signal:Z.signal,enable_request_compression:this.params.compression.compress_request,parse_summary:!0,headers:this.buildRequestHeaders(Y),query:Y.query,query_id:J,log_writer:G,log_level:X},"Insert");return await(0,Cm1.drainStreamInternal)({op:"Insert",log_writer:G,query_id:J,log_level:X},$),{query_id:J,summary:H,response_headers:K,http_status_code:V}}catch($){throw Z.abort("Insert HTTP request failed"),this.logRequestError({op:"Insert",query_id:J,query_params:Y,search_params:W,err:$,extra_args:{clickhouse_settings:Y.clickhouse_settings??{}}}),$}finally{Q()}}async exec(Y){let G=this.getQueryId(Y.query_id);return this.runExec({...Y,query_id:G,op:"Exec"})}async command(Y){let{log_writer:G,log_level:X}=this.params,J=this.getQueryId(Y.query_id),W=Date.now();if(X<=z7.ClickHouseLogLevel.TRACE)G.trace({message:"Command: operation started",args:{operation:"Command",connection_id:this.connectionId,query_id:J}});let{stream:Z,summary:Q,response_headers:$}=await this.runExec({...Y,query_id:J,op:"Command"}),H=Date.now()-W;if(X<=z7.ClickHouseLogLevel.TRACE)G.trace({message:"Command: runExec completed, starting stream drain",args:{operation:"Command",connection_id:this.connectionId,query_id:J,runExec_duration_ms:H,stream_state:{readable:Z.readable,readableEnded:Z.readableEnded,readableLength:Z.readableLength}}});let K=Date.now();if(await(0,Cm1.drainStreamInternal)({op:"Command",log_writer:G,query_id:J,log_level:X},Z),X<=z7.ClickHouseLogLevel.TRACE){let V=Date.now()-K,U=Date.now()-W;G.trace({message:"Command: operation completed",args:{operation:"Command",connection_id:this.connectionId,query_id:J,drain_duration_ms:V,total_duration_ms:U}})}return{query_id:J,summary:Q,response_headers:$}}async close(){if(this.agent!==void 0&&this.agent.destroy!==void 0)this.agent.destroy()}defaultHeadersWithOverride(Y){return{...this.params.http_headers??{},...Y?.http_headers??{},...this.defaultHeaders}}buildRequestHeaders(Y){let G=this.defaultHeadersWithOverride(Y);if((0,z7.isJWTAuth)(Y?.auth))return{...G,Authorization:`Bearer ${Y.auth.access_token}`};if(this.params.set_basic_auth_header)if((0,z7.isCredentialsAuth)(Y?.auth))return{...G,Authorization:`Basic ${Buffer.from(`${Y.auth.username}:${Y.auth.password}`).toString("base64")}`};else return{...G,Authorization:this.defaultAuthHeader};return{...G}}getQueryId(Y){return Y||qA4.default.randomUUID()}getAbortController(Y){let G=new AbortController;function X(){G.abort()}return Y.abort_signal?.addEventListener("abort",X),{controller:G,controllerCleanup:()=>{Y.abort_signal?.removeEventListener("abort",X)}}}logRequestError({op:Y,err:G,query_id:X,query_params:J,extra_args:W}){if(this.params.log_level<=z7.ClickHouseLogLevel.ERROR)this.params.log_writer.error({message:this.httpRequestErrorMessage(Y),err:G,args:{operation:Y,connection_id:this.connectionId,query_id:X,with_abort_signal:J.abort_signal!==void 0,session_id:J.session_id,...W}})}httpRequestErrorMessage(Y){return`${Y}: HTTP request error.`}async runExec(Y){let{log_writer:G,log_level:X}=this.params,J=Y.query_id,W=Y.values!==void 0,Z=(0,z7.withHttpSettings)(Y.clickhouse_settings,this.params.compression.decompress_response),Q={query:W?Y.query:void 0,database:this.params.database,query_params:Y.query_params,session_id:Y.session_id,role:Y.role,clickhouse_settings:Z,query_id:J},$=(0,z7.toSearchParams)(Q),{controller:H,controllerCleanup:K}=this.getAbortController(Y),V=Y.op==="Exec"?Y.decompress_response_stream??this.params.compression.decompress_response:!1,U=Y.ignore_error_response??!1;try{let{stream:O,summary:B,response_headers:N,http_status_code:q}=await this.request({method:"POST",url:(0,z7.transformUrl)({url:this.params.url,searchParams:$}),body:W?Y.values:Y.query,abort_signal:H.signal,parse_summary:!0,enable_request_compression:this.params.compression.compress_request,enable_response_compression:this.params.compression.decompress_response,try_decompress_response_stream:V,ignore_error_response:U,headers:this.buildRequestHeaders(Y),query:Y.query,query_id:J,log_writer:G,log_level:X},Y.op);return{stream:O,query_id:J,summary:B,response_headers:N,http_status_code:q}}catch(O){throw H.abort(`${Y.op} HTTP request failed`),this.logRequestError({op:Y.op,query_id:J,query_params:Y,search_params:$,err:O,extra_args:{clickhouse_settings:Y.clickhouse_settings??{}}}),O}finally{K()}}async request(Y,G){return this.socketPool.request(Y,G)}}f_.NodeBaseConnection=DA4;var zA4="SELECT 'ping'"});var Sm1=I((__)=>{var ZW9=__&&__.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(__,"__esModule",{value:!0});__.NodeHttpConnection=void 0;var $W9=OQ(),LA4=ZW9(g1("http")),HW9=Qn();class wA4 extends HW9.NodeBaseConnection{constructor(Y){let G=new LA4.default.Agent({keepAlive:Y.keep_alive.enabled,maxSockets:Y.max_open_connections});super(Y,G)}createClientRequest(Y){let G=(0,$W9.withCompressionHeaders)({headers:Y.headers,enable_request_compression:Y.enable_request_compression,enable_response_compression:Y.enable_response_compression});return LA4.default.request(Y.url,{method:Y.method,agent:this.agent,timeout:this.params.request_timeout,signal:Y.abort_signal,headers:G})}}__.NodeHttpConnection=wA4});var jm1=I((k_)=>{var KW9=k_&&k_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(k_,"__esModule",{value:!0});k_.NodeHttpsConnection=void 0;var AA4=OQ(),EA4=KW9(g1("https")),FW9=Qn();class MA4 extends FW9.NodeBaseConnection{constructor(Y){let G=new EA4.default.Agent({keepAlive:Y.keep_alive.enabled,maxSockets:Y.max_open_connections,ca:Y.tls?.ca_cert,key:Y.tls?.type==="Mutual"?Y.tls.key:void 0,cert:Y.tls?.type==="Mutual"?Y.tls.cert:void 0});super(Y,G)}buildRequestHeaders(Y){if(this.params.tls!==void 0){if(this.params.auth.type==="JWT")throw Error("JWT auth is not supported with HTTPS connection using custom certificates");let G;if((0,AA4.isCredentialsAuth)(Y?.auth))G={...this.defaultHeadersWithOverride(Y),"X-ClickHouse-User":Y.auth.username,"X-ClickHouse-Key":Y.auth.password};else G={...this.defaultHeadersWithOverride(Y),"X-ClickHouse-User":this.params.auth.username,"X-ClickHouse-Key":this.params.auth.password};let X=this.params.tls.type;switch(X){case"Basic":return G;case"Mutual":return{...G,"X-ClickHouse-SSL-Certificate-Auth":"on"};default:throw Error(`Unknown TLS type: ${X}`)}}return super.buildRequestHeaders(Y)}createClientRequest(Y){let G=(0,AA4.withCompressionHeaders)({headers:Y.headers,enable_request_compression:Y.enable_request_compression,enable_response_compression:Y.enable_response_compression});return EA4.default.request(Y.url,{method:Y.method,agent:this.agent,timeout:this.params.request_timeout,signal:Y.abort_signal,headers:G})}}k_.NodeHttpsConnection=MA4});var RA4=I((h_)=>{var PA4=h_&&h_.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(h_,"__esModule",{value:!0});h_.NodeCustomAgentConnection=void 0;var VW9=PA4(g1("http")),UW9=PA4(g1("https")),OW9=Qn(),BW9=OQ();class TA4 extends OW9.NodeBaseConnection{httpRequestFn;constructor(Y){if(!Y.http_agent)throw Error("http_agent is required to create NodeCustomAgentConnection");super(Y,Y.http_agent);if(Y.url.protocol.startsWith("https"))this.httpRequestFn=UW9.default.request;else this.httpRequestFn=VW9.default.request}createClientRequest(Y){let G=(0,BW9.withCompressionHeaders)({headers:Y.headers,enable_request_compression:Y.enable_request_compression,enable_response_compression:Y.enable_response_compression});return this.httpRequestFn(Y.url,{method:Y.method,agent:this.agent,timeout:this.params.request_timeout,signal:Y.abort_signal,headers:G})}}h_.NodeCustomAgentConnection=TA4});var IA4=I((SA4)=>{Object.defineProperty(SA4,"__esModule",{value:!0});SA4.NodeConnectionFactory=void 0;var NW9=RA4(),qW9=Sm1(),zW9=jm1();class CA4{static create({connection_params:Y,tls:G,keep_alive:X,http_agent:J,set_basic_auth_header:W,capture_enhanced_stack_trace:Z,eagerly_destroy_stale_sockets:Q=!1}){if(J!==void 0)return new NW9.NodeCustomAgentConnection({...Y,set_basic_auth_header:W,capture_enhanced_stack_trace:Z,keep_alive:X,http_agent:J,eagerly_destroy_stale_sockets:Q});switch(Y.url.protocol){case"http:":return new qW9.NodeHttpConnection({...Y,set_basic_auth_header:W,capture_enhanced_stack_trace:Z,keep_alive:X,eagerly_destroy_stale_sockets:Q});case"https:":return new zW9.NodeHttpsConnection({...Y,set_basic_auth_header:W,capture_enhanced_stack_trace:Z,keep_alive:X,tls:G,eagerly_destroy_stale_sockets:Q});default:throw Error("Only HTTP and HTTPS protocols are supported")}}}SA4.NodeConnectionFactory=CA4});var fA4=I((PU)=>{var DW9=PU&&PU.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),dQ1=PU&&PU.__exportStar||function(Y,G){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(G,X))DW9(G,Y,X)};Object.defineProperty(PU,"__esModule",{value:!0});dQ1(Qn(),PU);dQ1(Sm1(),PU);dQ1(jm1(),PU);dQ1(IA4(),PU)});var km1=I((TU)=>{var LW9=TU&&TU.__createBinding||(Object.create?function(Y,G,X,J){if(J===void 0)J=X;var W=Object.getOwnPropertyDescriptor(G,X);if(!W||("get"in W?!G.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return G[X]}};Object.defineProperty(Y,J,W)}:function(Y,G,X,J){if(J===void 0)J=X;Y[J]=G[X]}),wW9=TU&&TU.__setModuleDefault||(Object.create?function(Y,G){Object.defineProperty(Y,"default",{enumerable:!0,value:G})}:function(Y,G){Y.default=G}),AW9=TU&&TU.__importStar||function(){var Y=function(G){return Y=Object.getOwnPropertyNames||function(X){var J=[];for(var W in X)if(Object.prototype.hasOwnProperty.call(X,W))J[J.length]=W;return J},Y(G)};return function(G){if(G&&G.__esModule)return G;var X={};if(G!=null){for(var J=Y(G),W=0;W<J.length;W++)if(J[W]!=="default")LW9(X,G,J[W])}return wW9(X,G),X}}();Object.defineProperty(TU,"__esModule",{value:!0});TU.ResultSet=void 0;var cQ1=OQ(),Im1=OQ(),EW9=g1("buffer"),_A4=AW9(g1("stream")),kA4=Wn(),MW9=10;class _m1{_stream;format;query_id;response_headers={};exceptionTag=void 0;log_error;jsonHandling;constructor(Y,G,X,J,W,Z){if(this._stream=Y,this.format=G,this.query_id=X,this.jsonHandling={...cQ1.defaultJSONHandling,...Z},this.log_error=J??((Q)=>console.error(Q)),W!==void 0)this.response_headers=Object.freeze(W),this.exceptionTag=W[cQ1.EXCEPTION_TAG_HEADER_NAME]}async text(){if(this._stream.readableEnded)throw Error(fm1);return(await(0,kA4.getAsText)(this._stream)).toString()}async json(){if(this._stream.readableEnded)throw Error(fm1);if((0,Im1.isStreamableJSONFamily)(this.format)){let Y=[],G=this.stream();for await(let X of G)for(let J of X)Y.push(J.json());return Y}if((0,Im1.isNotStreamableJSONFamily)(this.format)){let Y=await(0,kA4.getAsText)(this._stream);return this.jsonHandling.parse(Y)}throw Error(`Cannot decode ${this.format} as JSON`)}stream(){if(this._stream.readableEnded)throw Error(fm1);(0,Im1.validateStreamFormat)(this.format);let Y=[],G=this.log_error,X=this.exceptionTag,J=this.jsonHandling,W=new _A4.Transform({transform(Q,$,H){let K=[],V=0,U;while(!0){let O=Q.indexOf(MW9,V);if(O===-1){if(Y.push(Q.subarray(V)),K.length>0)this.push(K);break}else{if(X!==void 0&&O>=1&&Q[O-1]===cQ1.CARET_RETURN)return H((0,cQ1.extractErrorAtTheEndOfChunk)(Q,X));if(Y.length>0)Y.push(Q.subarray(V,O)),U=EW9.Buffer.concat(Y),Y.length=0;else U=Q.subarray(V,O);let B=U.toString();K.push({text:B,json(){return J.parse(B)}}),V=O+1}}H()},autoDestroy:!0,objectMode:!0});return _A4.default.pipeline(this._stream,W,function($){if($&&$.name!=="AbortError"&&$.message!==hA4)G($)})}close(){this._stream.destroy(Error(hA4))}[Symbol.dispose](){this.close()}static instance({stream:Y,format:G,query_id:X,log_error:J,response_headers:W,jsonHandling:Z}){return new _m1(Y,G,X,J,W,Z)}}TU.ResultSet=_m1;var fm1="Stream has been already consumed",hA4="ResultSet has been closed"});var bA4=I((vA4)=>{Object.defineProperty(vA4,"__esModule",{value:!0});vA4.NodeConfigImpl=void 0;var PW9=OQ(),TW9=fA4(),RW9=km1(),CW9=Wn();vA4.NodeConfigImpl={handle_specific_url_params:(Y,G)=>{let X={...Y},J=new Set,W=new Set,Z=[...G.searchParams.keys()];if(Z.length>0)Z.forEach((Q)=>{let $=G.searchParams.get(Q);switch(Q){case"keep_alive_idle_socket_ttl":if(X.keep_alive===void 0)X.keep_alive={};X.keep_alive.idle_socket_ttl=(0,PW9.numberConfigURLValue)({key:Q,value:$,min:0}),W.add(Q);break;default:J.add(Q)}});return{config:X,unknown_params:J,handled_params:W}},make_connection:(Y,G)=>{let X=void 0;if(Y.tls!==void 0)if("cert"in Y.tls&&"key"in Y.tls)X={type:"Mutual",...Y.tls};else X={type:"Basic",...Y.tls};let J={enabled:Y?.keep_alive?.enabled??!0,idle_socket_ttl:Y?.keep_alive?.idle_socket_ttl??2500};return TW9.NodeConnectionFactory.create({connection_params:G,set_basic_auth_header:Y.set_basic_auth_header??!0,capture_enhanced_stack_trace:Y.capture_enhanced_stack_trace??!1,eagerly_destroy_stale_sockets:Y.keep_alive?.eagerly_destroy_stale_sockets??!1,http_agent:Y.http_agent,keep_alive:J,tls:X})},values_encoder:(Y)=>new CW9.NodeValuesEncoder(Y),make_result_set:(Y,G,X,J,W,Z)=>RW9.ResultSet.instance({stream:Y,format:G,query_id:X,log_error:J,response_headers:W,jsonHandling:Z})}});var hm1=I((uA4)=>{Object.defineProperty(uA4,"__esModule",{value:!0});uA4.NodeClickHouseClient=void 0;uA4.createClient=jW9;var xA4=OQ(),SW9=bA4();class gA4 extends xA4.ClickHouseClient{query(Y){return super.query(Y)}}uA4.NodeClickHouseClient=gA4;function jW9(Y){return new xA4.ClickHouseClient({impl:SW9.NodeConfigImpl,...Y||{}})}});var lA4=I((zG)=>{Object.defineProperty(zG,"__esModule",{value:!0});zG.TupleParam=zG.isException=zG.isRow=zG.isProgressRow=zG.SimpleColumnTypes=zG.parseColumnType=zG.RecordsJSONFormats=zG.SingleDocumentJSONFormats=zG.StreamableJSONFormats=zG.StreamableFormats=zG.SupportedRawFormats=zG.SupportedJSONFormats=zG.SettingsMap=zG.ClickHouseLogLevel=zG.parseError=zG.ClickHouseError=zG.drainStream=zG.ResultSet=zG.createClient=zG.ClickHouseClient=void 0;var fW9=hm1();Object.defineProperty(zG,"ClickHouseClient",{enumerable:!0,get:function(){return fW9.NodeClickHouseClient}});var _W9=hm1();Object.defineProperty(zG,"createClient",{enumerable:!0,get:function(){return _W9.createClient}});var kW9=km1();Object.defineProperty(zG,"ResultSet",{enumerable:!0,get:function(){return kW9.ResultSet}});var hW9=Tm1();Object.defineProperty(zG,"drainStream",{enumerable:!0,get:function(){return hW9.drainStream}});var YW=OQ();Object.defineProperty(zG,"ClickHouseError",{enumerable:!0,get:function(){return YW.ClickHouseError}});Object.defineProperty(zG,"parseError",{enumerable:!0,get:function(){return YW.parseError}});Object.defineProperty(zG,"ClickHouseLogLevel",{enumerable:!0,get:function(){return YW.ClickHouseLogLevel}});Object.defineProperty(zG,"SettingsMap",{enumerable:!0,get:function(){return YW.SettingsMap}});Object.defineProperty(zG,"SupportedJSONFormats",{enumerable:!0,get:function(){return YW.SupportedJSONFormats}});Object.defineProperty(zG,"SupportedRawFormats",{enumerable:!0,get:function(){return YW.SupportedRawFormats}});Object.defineProperty(zG,"StreamableFormats",{enumerable:!0,get:function(){return YW.StreamableFormats}});Object.defineProperty(zG,"StreamableJSONFormats",{enumerable:!0,get:function(){return YW.StreamableJSONFormats}});Object.defineProperty(zG,"SingleDocumentJSONFormats",{enumerable:!0,get:function(){return YW.SingleDocumentJSONFormats}});Object.defineProperty(zG,"RecordsJSONFormats",{enumerable:!0,get:function(){return YW.RecordsJSONFormats}});Object.defineProperty(zG,"parseColumnType",{enumerable:!0,get:function(){return YW.parseColumnType}});Object.defineProperty(zG,"SimpleColumnTypes",{enumerable:!0,get:function(){return YW.SimpleColumnTypes}});Object.defineProperty(zG,"isProgressRow",{enumerable:!0,get:function(){return YW.isProgressRow}});Object.defineProperty(zG,"isRow",{enumerable:!0,get:function(){return YW.isRow}});Object.defineProperty(zG,"isException",{enumerable:!0,get:function(){return YW.isException}});Object.defineProperty(zG,"TupleParam",{enumerable:!0,get:function(){return YW.TupleParam}})});import{resolve as yW9}from"path";class dA4{connectionPromise;constructor(){this.connectionPromise=Promise.resolve().then(() => G1(mL4(),1)).then(async({DuckDBInstance:Y})=>{let{cpus:G}=await import("os"),X=String(Math.max(1,G().length));return(await Y.create("",{threads:X})).connect()})}async query(Y){let G=await this.connectionPromise;try{let X=await G.runAndReadAll(Y);if(X.currentRowCount===0)return[];return X.getRowObjectsJS()}catch(X){if(X instanceof Error&&X.message.includes("No files found that match the pattern"))return[];throw X}}async destroy(){(await this.connectionPromise).disconnectSync()}}class Zn{client;initPromise;maxMemoryUsage;maxExecutionTime;constructor(Y,G){this.maxMemoryUsage=G?.maxMemoryUsage??"200000000",this.maxExecutionTime=G?.maxExecutionTime??30,this.initPromise=Promise.resolve().then(() => G1(lA4(),1)).then(({createClient:X})=>{this.client=X({url:Y})})}async query(Y,G){return await this.initPromise,await(await this.client.query({query:Y,query_params:G,format:"JSONEachRow",clickhouse_settings:{max_memory_usage:this.maxMemoryUsage,max_execution_time:this.maxExecutionTime,max_bytes_before_external_group_by:String(Math.floor(Number(this.maxMemoryUsage)/2)),max_bytes_before_external_sort:String(Math.floor(Number(this.maxMemoryUsage)/2))}})).json()}async destroy(){await this.initPromise,await this.client.close()}}async function vm1(Y){if(Y.clickhouseUrl)return{engine:new Zn(Y.clickhouseUrl),source:Y.tableName??bW9};let G=Y.basePath??FO(),X=yW9(G);if(/[';]/.test(X))throw Error(`Invalid monitoring data path: ${X}`);let J=`read_ndjson('${X}/**/*.ndjson', auto_detect=true)`;return{engine:new dA4,source:J}}var bW9="monitoring_logs";var cA4=E(()=>{tZ()});class ym1{db;constructor(Y){this.db=Y}async get(Y){let G=await this.db.selectFrom("organization_settings").selectAll().where("organizationId","=",Y).executeTakeFirst();if(!G)return null;return{organizationId:G.organizationId,sidebar_items:G.sidebar_items?typeof G.sidebar_items==="string"?JSON.parse(G.sidebar_items):G.sidebar_items:null,enabled_plugins:G.enabled_plugins?typeof G.enabled_plugins==="string"?JSON.parse(G.enabled_plugins):G.enabled_plugins:null,registry_config:G.registry_config?typeof G.registry_config==="string"?JSON.parse(G.registry_config):G.registry_config:null,simple_mode:G.simple_mode?typeof G.simple_mode==="string"?JSON.parse(G.simple_mode):G.simple_mode:null,createdAt:G.createdAt,updatedAt:G.updatedAt}}async upsert(Y,G){let X=new Date().toISOString(),J=G?.sidebar_items?JSON.stringify(G.sidebar_items):null,W=G?.enabled_plugins?JSON.stringify(G.enabled_plugins):null,Z=G?.registry_config?JSON.stringify(G.registry_config):null,Q=G?.simple_mode?JSON.stringify(G.simple_mode):null;await this.db.insertInto("organization_settings").values({organizationId:Y,sidebar_items:J,enabled_plugins:W,registry_config:Z,simple_mode:Q,createdAt:X,updatedAt:X}).onConflict((H)=>H.column("organizationId").doUpdateSet({sidebar_items:J?J:void 0,enabled_plugins:W?W:void 0,registry_config:Z?Z:void 0,simple_mode:Q?Q:void 0,updatedAt:X})).execute();let $=await this.get(Y);if(!$)return{organizationId:Y,sidebar_items:G?.sidebar_items??null,enabled_plugins:G?.enabled_plugins??null,registry_config:G?.registry_config??null,simple_mode:G?.simple_mode??null,createdAt:X,updatedAt:X};return $}}class bm1{db;constructor(Y){this.db=Y}parseRow(Y){return{id:Y.id,virtualMcpId:Y.virtual_mcp_id,pluginId:Y.plugin_id,connectionId:Y.connection_id,settings:Y.settings?typeof Y.settings==="string"?JSON.parse(Y.settings):Y.settings:null,createdAt:Y.created_at,updatedAt:Y.updated_at}}async list(Y){return(await this.db.selectFrom("virtual_mcp_plugin_configs").selectAll().where("virtual_mcp_id","=",Y).execute()).map((X)=>this.parseRow(X))}async get(Y,G){let X=await this.db.selectFrom("virtual_mcp_plugin_configs").selectAll().where("virtual_mcp_id","=",Y).where("plugin_id","=",G).executeTakeFirst();return X?this.parseRow(X):null}async upsert(Y,G,X){let J=new Date().toISOString(),W=KY("vpc"),Z={updated_at:J};if(X.connectionId!==void 0)Z.connection_id=X.connectionId;if(X.settings!==void 0)Z.settings=X.settings?JSON.stringify(X.settings):null;await this.db.insertInto("virtual_mcp_plugin_configs").values({id:W,virtual_mcp_id:Y,plugin_id:G,connection_id:X.connectionId??null,settings:X.settings?JSON.stringify(X.settings):null,created_at:J,updated_at:J}).onConflict(($)=>$.columns(["virtual_mcp_id","plugin_id"]).doUpdateSet(Z)).execute();let Q=await this.get(Y,G);if(!Q)throw Error("Failed to upsert virtual MCP plugin config");return Q}async delete(Y,G){return((await this.db.deleteFrom("virtual_mcp_plugin_configs").where("virtual_mcp_id","=",Y).where("plugin_id","=",G).executeTakeFirst()).numDeletedRows??0n)>0n}async getBoundConnectionsForVirtualMcps(Y){if(Y.length===0)return new Map;let G=await this.db.selectFrom("virtual_mcp_plugin_configs").innerJoin("connections","connections.id","virtual_mcp_plugin_configs.connection_id").select(["virtual_mcp_plugin_configs.virtual_mcp_id","connections.id as connection_id","connections.title","connections.icon"]).where("virtual_mcp_plugin_configs.virtual_mcp_id","in",Y).where("virtual_mcp_plugin_configs.connection_id","is not",null).execute(),X=new Map;for(let J of G){let W=J.virtual_mcp_id;if(!X.has(W))X.set(W,[]);X.get(W).push({id:J.connection_id,title:J.title,icon:J.icon})}return X}}var pA4=E(()=>{g$()});function v_(Y){return typeof Y==="string"?Y:Y.toISOString()}function KP(Y){return{id:Y.id,organization_id:Y.organization_id,name:Y.name,active:!!Y.active,created_by:Y.created_by,agent:Y.agent,messages:Y.messages,models:Y.models,temperature:Y.temperature,virtual_mcp_id:Y.virtual_mcp_id??null,created_at:v_(Y.created_at),updated_at:v_(Y.updated_at)}}function FP(Y){return{id:Y.id,automation_id:Y.automation_id,type:Y.type,cron_expression:Y.cron_expression,connection_id:Y.connection_id,event_type:Y.event_type,params:Y.params,last_run_at:Y.last_run_at?v_(Y.last_run_at):null,next_run_at:Y.next_run_at?v_(Y.next_run_at):null,created_at:v_(Y.created_at)}}class nA4{db;constructor(Y){this.db=Y}async create(Y){let G=new Date().toISOString(),J={id:crypto.randomUUID(),organization_id:Y.organization_id,name:Y.name,active:Y.active??!0,created_by:Y.created_by,agent:Y.agent,messages:Y.messages,models:Y.models,temperature:Y.temperature??0.5,virtual_mcp_id:Y.virtual_mcp_id??null,created_at:G,updated_at:G},W=await this.db.insertInto("automations").values(J).returningAll().executeTakeFirstOrThrow();return KP(W)}async findById(Y,G){let X=await this.db.selectFrom("automations").selectAll().where("id","=",Y).where("organization_id","=",G).executeTakeFirst();return X?KP(X):null}async list(Y){return(await this.db.selectFrom("automations").selectAll().where("organization_id","=",Y).orderBy("created_at","desc").execute()).map(KP)}async listWithTriggerCounts(Y,G){let X=this.db.selectFrom("automations as a").leftJoin("automation_triggers as t","t.automation_id","a.id").select(["a.id","a.organization_id","a.name","a.active","a.created_by","a.agent","a.messages","a.models","a.temperature","a.virtual_mcp_id","a.created_at","a.updated_at"]).select((W)=>W.fn.count("t.id").as("trigger_count")).select((W)=>W.fn.min("t.next_run_at").as("nearest_next_run_at")).where("a.organization_id","=",Y);if(G!==void 0)X=G?X.where("a.virtual_mcp_id","=",G):X.where("a.virtual_mcp_id","is",null);return(await X.groupBy(["a.id","a.organization_id","a.name","a.active","a.created_by","a.agent","a.messages","a.models","a.temperature","a.virtual_mcp_id","a.created_at","a.updated_at"]).orderBy("a.created_at","desc").execute()).map((W)=>({...KP(W),trigger_count:Number(W.trigger_count),nearest_next_run_at:W.nearest_next_run_at?v_(W.nearest_next_run_at):null}))}async update(Y,G,X){let W={updated_at:new Date().toISOString()};if(X.name!==void 0)W.name=X.name;if(X.active!==void 0)W.active=X.active;if(X.agent!==void 0)W.agent=X.agent;if(X.messages!==void 0)W.messages=X.messages;if(X.models!==void 0)W.models=X.models;if(X.temperature!==void 0)W.temperature=X.temperature;await this.db.updateTable("automations").set(W).where("id","=",Y).where("organization_id","=",G).execute();let Z=await this.findById(Y,G);if(!Z)throw Error("Automation not found after update");return Z}async delete(Y,G){return{success:((await this.db.deleteFrom("automations").where("id","=",Y).where("organization_id","=",G).executeTakeFirst()).numDeletedRows??0n)>0n}}async addTrigger(Y){let G=new Date().toISOString(),J={id:crypto.randomUUID(),automation_id:Y.automation_id,type:Y.type,cron_expression:Y.cron_expression??null,connection_id:Y.connection_id??null,event_type:Y.event_type??null,params:Y.params??null,last_run_at:null,next_run_at:Y.next_run_at??null,created_at:G},W=await this.db.insertInto("automation_triggers").values(J).returningAll().executeTakeFirstOrThrow();return FP(W)}async removeTrigger(Y,G){return{success:((await this.db.deleteFrom("automation_triggers").where("id","=",Y).where("automation_id","=",G).executeTakeFirst()).numDeletedRows??0n)>0n}}async listTriggers(Y){return(await this.db.selectFrom("automation_triggers").selectAll().where("automation_id","=",Y).orderBy("created_at","asc").execute()).map(FP)}async findTriggerById(Y){let G=await this.db.selectFrom("automation_triggers").selectAll().where("id","=",Y).executeTakeFirst();return G?FP(G):null}async findActiveEventTriggers(Y,G,X){return(await this.db.selectFrom("automation_triggers as t").innerJoin("automations as a","a.id","t.automation_id").select(["t.id","t.automation_id","t.type","t.cron_expression","t.connection_id","t.event_type","t.params","t.last_run_at","t.created_at","a.id as a_id","a.organization_id as a_organization_id","a.name as a_name","a.active as a_active","a.created_by as a_created_by","a.agent as a_agent","a.messages as a_messages","a.models as a_models","a.temperature as a_temperature","a.created_at as a_created_at","a.updated_at as a_updated_at"]).where("t.type","=","event").where("t.connection_id","=",Y).where("t.event_type","=",G).where("a.organization_id","=",X).where("a.active","=",!0).execute()).map((W)=>({...FP(W),automation:KP({id:W.a_id,organization_id:W.a_organization_id,name:W.a_name,active:W.a_active,created_by:W.a_created_by,agent:W.a_agent,messages:W.a_messages,models:W.a_models,temperature:W.a_temperature,created_at:W.a_created_at,updated_at:W.a_updated_at})}))}async findAllActiveCronTriggers(){return(await this.db.selectFrom("automation_triggers as t").innerJoin("automations as a","a.id","t.automation_id").select(["t.id","t.automation_id","t.type","t.cron_expression","t.connection_id","t.event_type","t.params","t.last_run_at","t.created_at","a.id as a_id","a.organization_id as a_organization_id","a.name as a_name","a.active as a_active","a.created_by as a_created_by","a.agent as a_agent","a.messages as a_messages","a.models as a_models","a.temperature as a_temperature","a.created_at as a_created_at","a.updated_at as a_updated_at"]).where("t.type","=","cron").where("a.active","=",!0).execute()).map((G)=>({...FP(G),automation:KP({id:G.a_id,organization_id:G.a_organization_id,name:G.a_name,active:G.a_active,created_by:G.a_created_by,agent:G.a_agent,messages:G.a_messages,models:G.a_models,temperature:G.a_temperature,created_at:G.a_created_at,updated_at:G.a_updated_at})}))}async findDueCronTriggers(Y,G){return await this.db.transaction().execute(async(X)=>{return(await X.selectFrom("automation_triggers as t").innerJoin("automations as a","a.id","t.automation_id").select(["t.id","t.automation_id","t.type","t.cron_expression","t.connection_id","t.event_type","t.params","t.last_run_at","t.next_run_at","t.created_at","a.id as a_id","a.organization_id as a_organization_id","a.name as a_name","a.active as a_active","a.created_by as a_created_by","a.agent as a_agent","a.messages as a_messages","a.models as a_models","a.temperature as a_temperature","a.created_at as a_created_at","a.updated_at as a_updated_at"]).where("t.type","=","cron").where("a.active","=",!0).where("t.next_run_at","<=",Y.toISOString()).forUpdate().skipLocked().limit(G).execute()).map((W)=>({...FP(W),automation:KP({id:W.a_id,organization_id:W.a_organization_id,name:W.a_name,active:W.a_active,created_by:W.a_created_by,agent:W.a_agent,messages:W.a_messages,models:W.a_models,temperature:W.a_temperature,created_at:W.a_created_at,updated_at:W.a_updated_at})}))})}async updateNextRunAt(Y,G){await this.db.updateTable("automation_triggers").set({next_run_at:G}).where("id","=",Y).execute()}async findAllCronTriggersForRecompute(){return(await this.db.selectFrom("automation_triggers as t").innerJoin("automations as a","a.id","t.automation_id").selectAll("t").where("t.type","=","cron").where("a.active","=",!0).execute()).map(FP)}async countInProgressRuns(Y){let G=await this.db.selectFrom("threads as t").innerJoin("automation_triggers as tr","tr.id","t.trigger_id").select((X)=>X.fn.count("t.id").as("count")).where("tr.automation_id","=",Y).where("t.status","=","in_progress").executeTakeFirst();return Number(G?.count??0)}async tryAcquireRunSlot(Y,G,X){return await this.db.transaction().execute(async(J)=>{let W=await J.selectFrom("automations").selectAll().where("id","=",Y).forUpdate().executeTakeFirst();if(!W||!W.active)return console.warn(`[tryAcquireRunSlot] Automation ${Y} not found or inactive (active=${W?.active})`),null;let Z=await J.selectFrom("threads as t").innerJoin("automation_triggers as tr","tr.id","t.trigger_id").select((K)=>K.fn.count("t.id").as("count")).where("tr.automation_id","=",Y).where("t.status","=","in_progress").executeTakeFirst(),Q=Number(Z?.count??0);if(Q>=X)return console.warn(`[tryAcquireRunSlot] Automation ${Y} at concurrency limit (${Q}/${X})`),null;let $=KY("thrd"),H=new Date().toISOString();return await J.insertInto("threads").values({id:$,organization_id:W.organization_id,title:`Automation: ${W.name}`,description:null,status:"in_progress",trigger_id:G,virtual_mcp_id:W.virtual_mcp_id??"",hidden:!1,created_at:H,updated_at:H,created_by:W.created_by,updated_by:null}).execute(),$})}async markRunFailed(Y){await this.db.updateTable("threads").set({status:"failed",updated_at:new Date().toISOString()}).where("id","=",Y).where("status","=","in_progress").execute()}async updateTriggerLastRunAt(Y,G){await this.db.updateTable("automation_triggers").set({last_run_at:G}).where("id","=",Y).execute()}async deactivateAutomation(Y){await this.db.updateTable("automations").set({active:!1,updated_at:new Date().toISOString()}).where("id","=",Y).where("active","=",!0).execute()}async failZombieAutomationRuns(Y){let G=new Date(Date.now()-Y),X=await this.db.updateTable("threads").set({status:"failed",updated_at:new Date().toISOString()}).where("status","=","in_progress").where("run_config","is",null).where("trigger_id","is not",null).where("created_at","<=",G.toISOString()).executeTakeFirst();return Number(X.numUpdatedRows??0n)}}function pQ1(Y){return new nA4(Y)}var xm1=E(()=>{g$()});async function iA4(Y){let X=new TextEncoder().encode(Y),J=await crypto.subtle.digest("SHA-256",X);return Array.from(new Uint8Array(J)).map((Z)=>Z.toString(16).padStart(2,"0")).join("")}function xW9(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),Array.from(Y).map((G)=>G.toString(16).padStart(2,"0")).join("")}class $n{db;constructor(Y){this.db=Y}async generateTokenPair(){let Y=xW9(),G=await iA4(Y);return{plaintext:Y,hash:G}}async persistTokenHash(Y,G,X){let J=crypto.randomUUID();await this.db.insertInto("trigger_callback_tokens").values({id:J,organization_id:Y,connection_id:G,token_hash:X,created_at:new Date().toISOString()}).onConflict((W)=>W.columns(["connection_id","organization_id"]).doUpdateSet({id:J,token_hash:X})).execute()}async createOrRotateToken(Y,G){let{plaintext:X,hash:J}=await this.generateTokenPair();return await this.persistTokenHash(Y,G,J),X}async validateToken(Y){let G=await iA4(Y),X=await this.db.selectFrom("trigger_callback_tokens").select(["organization_id","connection_id"]).where("token_hash","=",G).executeTakeFirst();if(!X)return null;return{organizationId:X.organization_id,connectionId:X.connection_id}}async deleteByConnection(Y,G){await this.db.deleteFrom("trigger_callback_tokens").where("connection_id","=",Y).where("organization_id","=",G).execute()}}function nQ1(Y){if(!Y)return null;try{return JSON.parse(Y)}catch{return null}}function gW9(Y){if(!Y)return null;if(!Array.isArray(Y)&&typeof Y==="object"){let G=Y;if(Object.keys(G).some((J)=>iQ1.has(J))){let J={};for(let W of iQ1)if(typeof G[W]==="string")J[W]=G[W];return J}let X={};for(let[J,W]of Object.entries(G))if(typeof W==="string"&&iQ1.has(J.toLowerCase()))X[J.toLowerCase()]=W;return Object.keys(X).length>0?X:null}if(Array.isArray(Y)){let G={};for(let X of Y){let J=X,W=J.label?.toLowerCase?.(),Z=J.value;if(W&&Z&&iQ1.has(W))G[W]=Z}return Object.keys(G).length>0?G:null}return null}function mW9(Y){if(!Y)return null;if(!Array.isArray(Y)&&typeof Y==="object"){let G=Y;if(typeof G.heading==="string"||typeof G.body==="string"||typeof G.code==="string")return{heading:typeof G.heading==="string"?G.heading:void 0,body:typeof G.body==="string"?G.body:void 0,code:typeof G.code==="string"?G.code:void 0};return null}if(Array.isArray(Y)){let G={},X=[];for(let J of Y){let W=J,Z=W.name??W.family??void 0,Q=W.role?.toLowerCase?.()??"";if(!Z)continue;let $=uW9[Q];if($&&!G[$])G[$]=Z;else X.push(Z)}if(!G.body&&X[0])G.body=X[0];return Object.keys(G).length>0?G:null}return null}function gm1(Y){return{id:Y.id,organizationId:Y.organization_id,name:Y.name,domain:Y.domain,overview:Y.overview,logo:Y.logo,favicon:Y.favicon,ogImage:Y.og_image,fonts:mW9(nQ1(Y.fonts)),colors:gW9(nQ1(Y.colors)),images:nQ1(Y.images),metadata:nQ1(Y.metadata),archivedAt:Y.archived_at,isDefault:Y.is_default,createdAt:Y.created_at,updatedAt:Y.updated_at}}class Hn{db;constructor(Y){this.db=Y}async get(Y,G){let X=await this.db.selectFrom("brand_context").selectAll().where("id","=",Y).where("organization_id","=",G).executeTakeFirst();if(!X)return null;return gm1(X)}async list(Y,G){let X=this.db.selectFrom("brand_context").selectAll().where("organization_id","=",Y);if(!G?.includeArchived)X=X.where("archived_at","is",null);return(await X.orderBy("created_at","asc").execute()).map(gm1)}async create(Y,G){let X=crypto.randomUUID(),J=new Date().toISOString();return await this.db.insertInto("brand_context").values({id:X,organization_id:Y,name:G.name,domain:G.domain,overview:G.overview,logo:G.logo,favicon:G.favicon,og_image:G.ogImage,fonts:G.fonts?JSON.stringify(G.fonts):null,colors:G.colors?JSON.stringify(G.colors):null,images:G.images?JSON.stringify(G.images):null,metadata:G.metadata?JSON.stringify(G.metadata):null,archived_at:null,is_default:!1,created_at:J,updated_at:J}).execute(),await this.get(X,Y)}async update(Y,G,X){let W={updated_at:new Date().toISOString()};if(X.name!==void 0)W.name=X.name;if(X.domain!==void 0)W.domain=X.domain;if(X.overview!==void 0)W.overview=X.overview;if(X.logo!==void 0)W.logo=X.logo;if(X.favicon!==void 0)W.favicon=X.favicon;if(X.ogImage!==void 0)W.og_image=X.ogImage;if(X.fonts!==void 0)W.fonts=X.fonts?JSON.stringify(X.fonts):null;if(X.colors!==void 0)W.colors=X.colors?JSON.stringify(X.colors):null;if(X.images!==void 0)W.images=X.images?JSON.stringify(X.images):null;if(X.metadata!==void 0)W.metadata=X.metadata?JSON.stringify(X.metadata):null;if(X.archivedAt!==void 0)W.archived_at=X.archivedAt??null;if(X.isDefault!==void 0)W.is_default=X.isDefault;await this.db.updateTable("brand_context").set(W).where("id","=",Y).where("organization_id","=",G).execute();let Z=await this.get(Y,G);if(!Z)throw Error("Brand context not found");return Z}async getDefault(Y){let G=await this.db.selectFrom("brand_context").selectAll().where("organization_id","=",Y).where("is_default","=",!0).where("archived_at","is",null).executeTakeFirst();if(!G)return null;return gm1(G)}async setDefault(Y,G){await this.db.transaction().execute(async(J)=>{await J.updateTable("brand_context").set({is_default:!1}).where("organization_id","=",G).where("is_default","=",!0).execute(),await J.updateTable("brand_context").set({is_default:!0,updated_at:new Date().toISOString()}).where("id","=",Y).where("organization_id","=",G).execute()});let X=await this.get(Y,G);if(!X)throw Error("Brand context not found");return X}async delete(Y,G){await this.db.deleteFrom("brand_context").where("id","=",Y).where("organization_id","=",G).execute()}}var iQ1,uW9;var um1=E(()=>{iQ1=new Set(["primary","secondary","accent","background","foreground"]);uW9={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"}});class mm1{db;vault;constructor(Y,G){this.db=Y;this.vault=G}async getByOrgId(Y){let G=await this.db.selectFrom("org_sso_config").selectAll().where("organization_id","=",Y).executeTakeFirst();if(!G)return null;return this.toRuntime(G)}async getByDomain(Y){let G=await this.db.selectFrom("org_sso_config").selectAll().where("domain","=",Y.toLowerCase()).executeTakeFirst();if(!G)return null;return this.toRuntime(G)}async upsert(Y,G){let X=new Date().toISOString(),J=crypto.randomUUID(),W=await this.vault.encrypt(G.clientSecret),Z=JSON.stringify(G.scopes??["openid","email","profile"]),Q=G.enforced===void 0?void 0:G.enforced?1:0;await this.db.insertInto("org_sso_config").values({id:J,organization_id:Y,issuer:G.issuer,client_id:G.clientId,client_secret:W,discovery_endpoint:G.discoveryEndpoint??null,scopes:Z,domain:G.domain.toLowerCase(),enforced:Q??0,created_at:X,updated_at:X}).onConflict((H)=>H.column("organization_id").doUpdateSet({issuer:G.issuer,client_id:G.clientId,client_secret:W,discovery_endpoint:G.discoveryEndpoint??null,scopes:Z,domain:G.domain.toLowerCase(),...Q!==void 0?{enforced:Q}:{},updated_at:X})).execute();let $=await this.getByOrgId(Y);if(!$)throw Error("Failed to upsert org SSO config");return $}async setEnforced(Y,G){await this.db.updateTable("org_sso_config").set({enforced:G?1:0,updated_at:new Date().toISOString()}).where("organization_id","=",Y).execute()}async delete(Y){await this.db.deleteFrom("org_sso_config").where("organization_id","=",Y).execute()}toPublic(Y){let{clientSecret:G,...X}=Y;return X}async toRuntime(Y){let G=await this.vault.decrypt(Y.client_secret),X=typeof Y.scopes==="string"?JSON.parse(Y.scopes):Y.scopes;return{id:Y.id,organizationId:Y.organization_id,issuer:Y.issuer,clientId:Y.client_id,clientSecret:G,discoveryEndpoint:Y.discovery_endpoint,scopes:X,domain:Y.domain,enforced:Y.enforced===1,createdAt:Y.created_at,updatedAt:Y.updated_at}}}class lm1{db;constructor(Y){this.db=Y}async get(Y,G){let X=await this.db.selectFrom("org_sso_sessions").selectAll().where("user_id","=",Y).where("organization_id","=",G).executeTakeFirst();if(!X)return null;return{id:X.id,userId:X.user_id,organizationId:X.organization_id,authenticatedAt:X.authenticated_at,expiresAt:X.expires_at,createdAt:X.created_at}}async isValid(Y,G){let X=await this.get(Y,G);if(!X)return!1;return new Date(X.expiresAt)>new Date}async upsert(Y,G){let X=new Date,J=new Date(X.getTime()+86400000),W=crypto.randomUUID();await this.db.insertInto("org_sso_sessions").values({id:W,user_id:Y,organization_id:G,authenticated_at:X.toISOString(),expires_at:J.toISOString(),created_at:X.toISOString()}).onConflict((Q)=>Q.columns(["user_id","organization_id"]).doUpdateSet({authenticated_at:X.toISOString(),expires_at:J.toISOString()})).execute();let Z=await this.get(Y,G);if(!Z)throw Error("Failed to upsert SSO session");return Z}async deleteExpired(){await this.db.deleteFrom("org_sso_sessions").where("expires_at","<",new Date().toISOString()).execute()}}function rQ1(Y){return Buffer.from(String(Y),"utf8").toString("base64")}function aQ1(Y){if(!Y)return null;try{let G=Buffer.from(Y,"base64").toString("utf8"),X=Number.parseInt(G,10);return Number.isNaN(X)||X<0?null:X}catch{return null}}function z3(Y){if(!Y?.length)return[];return Array.from(new Set(Y.map((G)=>G.trim()).filter((G)=>G.length>0).map((G)=>G.toLowerCase())))}function VP(Y){if(!Y)return[];return z3(Y.split(","))}function oQ1(Y,G){if(!Y)return G;try{return JSON.parse(Y)}catch{return G}}function rA4(Y){return Y?.["mcp.mesh"]??{}}function sQ1(Y){return Y.length?Y.join(","):null}function pW9(Y){if(Y.length===0)return null;let G=Y[0];if(Y.length===1&&lW9.has(G))return i1.ref(G);if(Y.length===1&&G==="name")return i1`${i1.ref("server_json")}::jsonb->>'name'`;let X=cW9[G];if(X&&Y.length>=2){let J=Y.slice(1),W=i1`${i1.ref(X)}::jsonb`;for(let Z=0;Z<J.length;Z++){let Q=J[Z];W=Z===J.length-1?i1`${W}->>${i1.lit(Q)}`:i1`${W}->${i1.lit(Q)}`}return W}return null}function nW9(Y,G){if(!dW9.has(Y))return G;if(Array.isArray(G))return G.map((X)=>X===!0?1:X===!1?0:X);if(G===!0)return 1;if(G===!1)return 0;return G}function dm1(Y){if(Array.isArray(Y.conditions)&&Y.conditions.length){let $=Y.conditions.map((H)=>dm1(H));switch(Y.operator){case"and":return i1`(${i1.join($,i1` AND `)})`;case"or":return i1`(${i1.join($,i1` OR `)})`;case"not":return i1`NOT (${i1.join($,i1` OR `)})`;default:return i1`true`}}let{field:G,operator:X,value:J}=Y;if(!G||!X)return i1`true`;let W=pW9(G);if(!W)return i1`true`;let Z=G.length===1?G[0]:"",Q=nW9(Z,J);switch(X){case"eq":return Q===null?i1`${W} IS NULL`:i1`${W} = ${i1.val(Q)}`;case"gt":return i1`${W} > ${i1.val(Q)}`;case"gte":return i1`${W} >= ${i1.val(Q)}`;case"lt":return i1`${W} < ${i1.val(Q)}`;case"lte":return i1`${W} <= ${i1.val(Q)}`;case"in":if(!Array.isArray(Q)||Q.length===0)return i1`false`;return i1`${W} IN (${i1.join(Q.map(($)=>i1.val($)))})`;case"like":return i1`${W} ILIKE ${i1.val(Q)}`;case"contains":{let $=String(Q).replace(/[%_\\]/g,"\\$&");return i1`${W} ILIKE ${i1.val(`%${$}%`)}`}default:return i1`true`}}function tQ1(Y,G){let X=G.map((J)=>{let W=J.replace(/[%_\\]/g,"\\$&");return i1`(',' || ${i1.ref(Y)} || ',') LIKE ${i1.val(`%,${W},%`)}`});return i1`(${i1.join(X,i1` AND `)})`}function aA4(){return i1`(
1585
1585
  CASE WHEN ${i1.ref("meta_json")}::jsonb->'mcp.mesh'->>'official' = 'true' THEN 2 ELSE 0 END +
1586
1586
  CASE WHEN ${i1.ref("meta_json")}::jsonb->'mcp.mesh'->>'verified' = 'true' THEN 1 ELSE 0 END
1587
1587
  ) desc`}class y_{db;constructor(Y){this.db=Y}async create(Y){let G=new Date().toISOString(),X=Y._meta??{},J=rA4(X),W=z3(J.tags),Z=z3(J.categories),Q={id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:JSON.stringify(X),tags:sQ1(W),categories:sQ1(Z),is_public:Y.is_public?1:0,is_unlisted:Y.is_unlisted?1:0,created_at:G,updated_at:G,created_by:Y.created_by??null};await this.db.insertInto("private_registry_item").values(Q).execute();let $=await this.findById(Y.organization_id,Y.id);if(!$)throw Error(`Failed to create registry item "${Y.id}"`);return $}async findById(Y,G){let X=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("id","=",G).executeTakeFirst();return X?this.deserialize(X):null}async findByIdOrName(Y,G){let X=await this.findById(Y,G);if(X)return X;let J=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("title","=",G).executeTakeFirst();return J?this.deserialize(J):null}async update(Y,G,X){let J=await this.findById(Y,G);if(!J)throw Error(`Registry item not found: ${G}`);let W=X._meta??J._meta??{},Z=rA4(W),Q=z3(Z.tags),$=z3(Z.categories),H={updated_at:new Date().toISOString()};if(X.title!==void 0)H.title=X.title;if(X.description!==void 0)H.description=X.description;if(X.server!==void 0)H.server_json=JSON.stringify(X.server);if(X._meta!==void 0)H.meta_json=JSON.stringify(X._meta);if(X._meta!==void 0)H.tags=sQ1(Q),H.categories=sQ1($);if(X.is_public!==void 0)H.is_public=X.is_public?1:0;if(X.is_unlisted!==void 0)H.is_unlisted=X.is_unlisted?1:0;await this.db.updateTable("private_registry_item").set(H).where("organization_id","=",Y).where("id","=",G).execute();let K=await this.findById(Y,G);if(!K)throw Error(`Registry item not found after update: ${G}`);return K}async delete(Y,G){let X=await this.findById(Y,G);if(!X)return null;return await this.db.deleteFrom("private_registry_item").where("organization_id","=",Y).where("id","=",G).execute(),X}async list(Y,G={}){let X=this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y);if(!G.includeUnlisted)X=X.where("is_unlisted","=",0);let J=z3(G.tags);if(J.length>0)X=X.where(tQ1("tags",J));let W=z3(G.categories);if(W.length>0)X=X.where(tQ1("categories",W));if(G.where)X=X.where(dm1(G.where));let $=(await this.db.selectFrom(X.as("filtered")).select(i1`count(*)::int`.as("count")).executeTakeFirst())?.count??0;X=X.orderBy(aA4()).orderBy("created_at","desc");let K=aQ1(G.cursor)??G.offset??0,V=G.limit??24;X=X.limit(V).offset(K);let O=(await X.execute()).map((q)=>this.deserialize(q)),B=K+V<$,N=B?rQ1(K+V):void 0;return{items:O,totalCount:$,hasMore:B,nextCursor:N}}async listPublic(Y,G={}){let X=this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("is_public","=",1).where("is_unlisted","=",0),J=z3(G.tags);if(J.length>0)X=X.where(tQ1("tags",J));let W=z3(G.categories);if(W.length>0)X=X.where(tQ1("categories",W));if(G.where)X=X.where(dm1(G.where));let $=(await this.db.selectFrom(X.as("filtered")).select(i1`count(*)::int`.as("count")).executeTakeFirst())?.count??0;X=X.orderBy(aA4()).orderBy("created_at","desc");let K=aQ1(G.cursor)??G.offset??0,V=G.limit??24;X=X.limit(V).offset(K);let O=(await X.execute()).map((q)=>this.deserialize(q)),B=K+V<$,N=B?rQ1(K+V):void 0;return{items:O,totalCount:$,hasMore:B,nextCursor:N}}async getFilters(Y,G){let X=this.db.selectFrom("private_registry_item").select(["tags","categories"]).where("organization_id","=",Y);if(G?.publicOnly)X=X.where("is_public","=",1);if(!G?.includeUnlisted)X=X.where("is_unlisted","=",0);let J=await X.execute(),W=new Map,Z=new Map;for(let $ of J){for(let H of VP($.tags))W.set(H,(W.get(H)??0)+1);for(let H of VP($.categories))Z.set(H,(Z.get(H)??0)+1)}let Q=($)=>Array.from($.entries()).map(([H,K])=>({value:H,count:K})).sort((H,K)=>H.value.localeCompare(K.value));return{tags:Q(W),categories:Q(Z)}}async search(Y,G={},X){let J=this.db.selectFrom("private_registry_item").select(["id","title","description","meta_json","server_json","tags","categories","is_public","is_unlisted"]).where("organization_id","=",Y).orderBy("created_at","desc");if(X?.publicOnly)J=J.where("is_public","=",1);if(!X?.includeUnlisted)J=J.where("is_unlisted","=",0);let W=await J.execute(),Z=G.query?.trim().toLowerCase(),Q=z3(G.tags),$=z3(G.categories),H=W.filter((D)=>{if(Z){let L=oQ1(D.server_json,{}),R=oQ1(D.meta_json,{})?.["mcp.mesh"]?.short_description??"";if(![D.id,D.title,D.description??"",L.name??"",L.description??"",R].join(" ").toLowerCase().includes(Z))return!1}if(Q.length>0){let L=z3(VP(D.tags));if(!Q.every((M)=>L.includes(M)))return!1}if($.length>0){let L=z3(VP(D.categories));if(!$.every((M)=>L.includes(M)))return!1}return!0}),V=aQ1(G.cursor)??0,U=G.limit??20,O=H.slice(V,V+U),B=V+U<H.length,N=B?rQ1(V+U):void 0;return{items:O.map((D)=>({id:D.id,title:D.title,tags:VP(D.tags),categories:VP(D.categories),is_public:D.is_public===1,is_unlisted:D.is_unlisted===1})),totalCount:H.length,hasMore:B,nextCursor:N}}deserialize(Y){let G=oQ1(Y.server_json,{}),X=oQ1(Y.meta_json,{});return{id:Y.id,name:typeof G.name==="string"?G.name:void 0,title:Y.title,description:Y.description,_meta:X,server:G,is_public:Y.is_public===1,is_unlisted:Y.is_unlisted===1,created_at:Y.created_at,updated_at:Y.updated_at,...Y.created_by?{created_by:Y.created_by}:{}}}}var lW9,dW9,cW9;var cm1=E(()=>{tG();lW9=new Set(["id","title","description","is_public","is_unlisted","created_at","updated_at","created_by"]),dW9=new Set(["is_public","is_unlisted"]),cW9={_meta:"meta_json",server:"server_json"}});import{randomUUID as iW9}from"crypto";function oA4(Y,G){if(!Y)return G;try{return JSON.parse(Y)}catch{return G}}class b_{db;constructor(Y){this.db=Y}async createOrUpdate(Y){let G=new Date().toISOString(),X=await this.findPendingByRequestedId(Y.organization_id,Y.requested_id);if(X){let Q={title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,updated_at:G};await this.db.updateTable("private_registry_publish_request").set(Q).where("organization_id","=",Y.organization_id).where("id","=",X.id).execute();let $=await this.findById(Y.organization_id,X.id);if(!$)throw Error("Failed to update publish request");return $}let J=iW9(),W={id:J,organization_id:Y.organization_id,requested_id:Y.requested_id,status:"pending",title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,reviewer_notes:null,created_at:G,updated_at:G};await this.db.insertInto("private_registry_publish_request").values(W).execute();let Z=await this.findById(Y.organization_id,J);if(!Z)throw Error("Failed to create publish request");return Z}async findPendingByRequestedId(Y,G){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("requested_id","=",G).where("status","=","pending").executeTakeFirst();return X?this.deserialize(X):null}async findById(Y,G){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("id","=",G).executeTakeFirst();return X?this.deserialize(X):null}async list(Y,G={}){let X=this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_publish_request").select((K)=>K.fn.countAll().as("count")).where("organization_id","=",Y);if(G.status)X=X.where("status","=",G.status),J=J.where("status","=",G.status);let W=await J.executeTakeFirst(),Z=Number(W?.count??0),Q=G.sortBy??"created_at",$=G.sortDirection??"desc";if(Q==="title")X=X.orderBy("title",$);else X=X.orderBy("created_at",$);return{items:(await X.limit(G.limit??24).offset(G.offset??0).execute()).map((K)=>this.deserialize(K)),totalCount:Z}}async updateStatus(Y,G,X,J){let W={status:X,updated_at:new Date().toISOString(),reviewer_notes:J??null};await this.db.updateTable("private_registry_publish_request").set(W).where("organization_id","=",Y).where("id","=",G).execute();let Z=await this.findById(Y,G);if(!Z)throw Error(`Publish request not found: ${G}`);return Z}async countPending(Y){let G=await this.db.selectFrom("private_registry_publish_request").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).where("status","=","pending").executeTakeFirst();return Number(G?.count??0)}async delete(Y,G){let X=await this.findById(Y,G);if(!X)return null;return await this.db.deleteFrom("private_registry_publish_request").where("organization_id","=",Y).where("id","=",G).execute(),X}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,requested_id:Y.requested_id??null,status:Y.status,title:Y.title,description:Y.description,_meta:oA4(Y.meta_json,{}),server:oA4(Y.server_json,{name:""}),requester_name:Y.requester_name,requester_email:Y.requester_email,reviewer_notes:Y.reviewer_notes,created_at:Y.created_at,updated_at:Y.updated_at}}}var pm1=()=>{};import{randomUUID as rW9}from"crypto";async function sA4(Y){let X=new TextEncoder().encode(Y),J=await crypto.subtle.digest("SHA-256",X);return Array.from(new Uint8Array(J)).map((Z)=>Z.toString(16).padStart(2,"0")).join("")}function aW9(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),`prk_${Array.from(Y).map((X)=>X.toString(16).padStart(2,"0")).join("")}`}class x_{db;constructor(Y){this.db=Y}async generate(Y,G){let X=rW9(),J=aW9(),W=await sA4(J),Z=J.slice(0,12),Q=new Date().toISOString();return await this.db.insertInto("private_registry_publish_api_key").values({id:X,organization_id:Y,name:G,key_hash:W,prefix:Z,created_at:Q}).execute(),{entity:{id:X,organization_id:Y,name:G,prefix:Z,created_at:Q},key:J}}async list(Y){return await this.db.selectFrom("private_registry_publish_api_key").select(["id","organization_id","name","prefix","created_at"]).where("organization_id","=",Y).orderBy("created_at","desc").execute()}async revoke(Y,G){return(await this.db.deleteFrom("private_registry_publish_api_key").where("organization_id","=",Y).where("id","=",G).execute()).length>0}async validate(Y,G){let X=await sA4(G),J=await this.db.selectFrom("private_registry_publish_api_key").select(["id"]).where("organization_id","=",Y).where("key_hash","=",X).executeTakeFirst();return Boolean(J)}async hasKeys(Y){let G=await this.db.selectFrom("private_registry_publish_api_key").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).executeTakeFirst();return Number(G?.count??0)>0}}var nm1=()=>{};import{randomUUID as tA4}from"crypto";function eA4(Y,G){if(!Y)return G;try{return JSON.parse(Y)}catch{return G}}class eQ1{db;constructor(Y){this.db=Y}async create(Y){let G=tA4(),X=new Date().toISOString(),J={id:G,organization_id:Y.organization_id,status:Y.status??"pending",config_snapshot:Y.config_snapshot?JSON.stringify(Y.config_snapshot):null,total_items:Y.total_items??0,tested_items:0,passed_items:0,failed_items:0,skipped_items:0,current_item_id:null,started_at:Y.started_at??null,finished_at:null,created_at:X};await this.db.insertInto("private_registry_monitor_run").values(J).execute();let W=await this.findById(Y.organization_id,G);if(!W)throw Error(`Failed to create monitor run ${G}`);return W}async findById(Y,G){let X=await this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y).where("id","=",G).executeTakeFirst();return X?this.deserializeRun(X):null}async list(Y,G={}){let X=this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_monitor_run").select(($)=>$.fn.countAll().as("count")).where("organization_id","=",Y);if(G.status)X=X.where("status","=",G.status),J=J.where("status","=",G.status);let W=await J.executeTakeFirst(),Z=Number(W?.count??0);return{items:(await X.orderBy("created_at","desc").limit(G.limit??24).offset(G.offset??0).execute()).map(($)=>this.deserializeRun($)),totalCount:Z}}async update(Y,G,X){let J={};if(X.total_items!==void 0)J.total_items=X.total_items;if(X.status!==void 0)J.status=X.status;if(X.tested_items!==void 0)J.tested_items=X.tested_items;if(X.passed_items!==void 0)J.passed_items=X.passed_items;if(X.failed_items!==void 0)J.failed_items=X.failed_items;if(X.skipped_items!==void 0)J.skipped_items=X.skipped_items;if(X.current_item_id!==void 0)J.current_item_id=X.current_item_id;if(X.started_at!==void 0)J.started_at=X.started_at;if(X.finished_at!==void 0)J.finished_at=X.finished_at;await this.db.updateTable("private_registry_monitor_run").set(J).where("organization_id","=",Y).where("id","=",G).execute();let W=await this.findById(Y,G);if(!W)throw Error(`Monitor run not found: ${G}`);return W}deserializeRun(Y){return{id:Y.id,organization_id:Y.organization_id,status:Y.status,config_snapshot:eA4(Y.config_snapshot,null),total_items:Number(Y.total_items??0),tested_items:Number(Y.tested_items??0),passed_items:Number(Y.passed_items??0),failed_items:Number(Y.failed_items??0),skipped_items:Number(Y.skipped_items??0),current_item_id:Y.current_item_id,started_at:Y.started_at,finished_at:Y.finished_at,created_at:Y.created_at}}}class Y31{db;constructor(Y){this.db=Y}async create(Y){let G=tA4(),X=new Date().toISOString(),J={id:G,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message??null,connection_ok:Y.connection_ok?1:0,tools_listed:Y.tools_listed?1:0,tool_results:Y.tool_results?JSON.stringify(Y.tool_results):null,agent_summary:Y.agent_summary??null,duration_ms:Y.duration_ms??0,action_taken:Y.action_taken??"none",tested_at:X};await this.db.insertInto("private_registry_monitor_result").values(J).execute();let W=await this.findById(Y.organization_id,G);if(!W)throw Error("Failed to create test result");return W}async findById(Y,G){let X=await this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("id","=",G).executeTakeFirst();return X?this.deserialize(X):null}async listByRun(Y,G,X={}){let J=this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("run_id","=",G),W=this.db.selectFrom("private_registry_monitor_result").select((H)=>H.fn.countAll().as("count")).where("organization_id","=",Y).where("run_id","=",G);if(X.status)J=J.where("status","=",X.status),W=W.where("status","=",X.status);let Z=await W.executeTakeFirst(),Q=Number(Z?.count??0);return{items:(await J.orderBy("tested_at","desc").limit(X.limit??50).offset(X.offset??0).execute()).map((H)=>this.deserialize(H)),totalCount:Q}}async update(Y,G,X){let J={};if(X.status!==void 0)J.status=X.status;if(X.error_message!==void 0)J.error_message=X.error_message;if(X.connection_ok!==void 0)J.connection_ok=X.connection_ok?1:0;if(X.tools_listed!==void 0)J.tools_listed=X.tools_listed?1:0;if(X.tool_results!==void 0)J.tool_results=JSON.stringify(X.tool_results);if(X.agent_summary!==void 0)J.agent_summary=X.agent_summary;if(X.duration_ms!==void 0)J.duration_ms=X.duration_ms;if(X.action_taken!==void 0)J.action_taken=X.action_taken;await this.db.updateTable("private_registry_monitor_result").set(J).where("organization_id","=",Y).where("id","=",G).execute();let W=await this.findById(Y,G);if(!W)throw Error(`Monitor result not found: ${G}`);return W}deserialize(Y){return{id:Y.id,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message,connection_ok:Y.connection_ok===1,tools_listed:Y.tools_listed===1,tool_results:eA4(Y.tool_results,[]),agent_summary:Y.agent_summary,duration_ms:Number(Y.duration_ms??0),action_taken:Y.action_taken,tested_at:Y.tested_at}}}var YE4=()=>{};import{randomUUID as oW9}from"crypto";class G31{db;constructor(Y){this.db=Y}async findByItemId(Y,G){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("item_id","=",G).executeTakeFirst();return X?this.deserialize(X):null}async list(Y){return(await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).orderBy("updated_at","desc").execute()).map((X)=>this.deserialize(X))}async findByConnectionId(Y,G){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("connection_id","=",G).executeTakeFirst();return X?this.deserialize(X):null}async upsert(Y){let G=await this.findByItemId(Y.organization_id,Y.item_id),X=new Date().toISOString();if(!G){let W={id:oW9(),organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status??"none",created_at:X,updated_at:X};await this.db.insertInto("private_registry_monitor_connection").values(W).execute()}else{let W={connection_id:Y.connection_id,auth_status:Y.auth_status??G.auth_status,updated_at:X};await this.db.updateTable("private_registry_monitor_connection").set(W).where("organization_id","=",Y.organization_id).where("item_id","=",Y.item_id).execute()}let J=await this.findByItemId(Y.organization_id,Y.item_id);if(!J)throw Error("Failed to save monitor connection");return J}async updateAuthStatus(Y,G,X){return await this.db.updateTable("private_registry_monitor_connection").set({auth_status:X,updated_at:new Date().toISOString()}).where("organization_id","=",Y).where("item_id","=",G).execute(),this.findByItemId(Y,G)}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status,created_at:Y.created_at,updated_at:Y.updated_at}}}var GE4=()=>{};var XE4=E(()=>{cm1();pm1();nm1();YE4();GE4()});class im1{db;constructor(Y){this.db=Y}async listOrgTags(Y){return(await this.db.selectFrom("organization_tags").selectAll().where("organization_id","=",Y).orderBy("name","asc").execute()).map((X)=>this.tagFromDbRow(X))}async getTag(Y){let G=await this.db.selectFrom("organization_tags").selectAll().where("id","=",Y).executeTakeFirst();return G?this.tagFromDbRow(G):null}async getTagByName(Y,G){let X=await this.db.selectFrom("organization_tags").selectAll().where("organization_id","=",Y).where("name","=",G).executeTakeFirst();return X?this.tagFromDbRow(X):null}async createTag(Y,G){let X=KY("tag"),J=new Date().toISOString();await this.db.insertInto("organization_tags").values({id:X,organization_id:Y,name:G,created_at:J}).onConflict((Z)=>Z.columns(["organization_id","name"]).doNothing()).execute();let W=await this.getTagByName(Y,G);if(!W)throw Error(`Failed to create or retrieve tag: ${G}`);return W}async deleteTag(Y){await this.db.deleteFrom("organization_tags").where("id","=",Y).execute()}async getMemberTags(Y){return(await this.db.selectFrom("member_tags").innerJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["organization_tags.id","organization_tags.organization_id","organization_tags.name","organization_tags.created_at"]).where("member_tags.member_id","=",Y).orderBy("organization_tags.name","asc").execute()).map((X)=>this.tagFromDbRow(X))}async setMemberTags(Y,G){await this.db.transaction().execute(async(X)=>{if(await X.deleteFrom("member_tags").where("member_id","=",Y).execute(),G.length>0){let J=new Date().toISOString();await X.insertInto("member_tags").values(G.map((W)=>({id:KY("mtag"),member_id:Y,tag_id:W,created_at:J}))).execute()}})}async addMemberTag(Y,G){let X=new Date().toISOString();await this.db.insertInto("member_tags").values({id:KY("mtag"),member_id:Y,tag_id:G,created_at:X}).onConflict((J)=>J.columns(["member_id","tag_id"]).doNothing()).execute()}async removeMemberTag(Y,G){await this.db.deleteFrom("member_tags").where("member_id","=",Y).where("tag_id","=",G).execute()}async verifyMemberOrg(Y,G){return await this.db.selectFrom("member").select("id").where("id","=",Y).where("organizationId","=",G).executeTakeFirst()!==void 0}async getUserTagsInOrg(Y,G){return(await this.db.selectFrom("member").innerJoin("member_tags","member_tags.member_id","member.id").innerJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["organization_tags.id","organization_tags.organization_id","organization_tags.name","organization_tags.created_at"]).where("member.userId","=",Y).where("member.organizationId","=",G).orderBy("organization_tags.name","asc").execute()).map((J)=>this.tagFromDbRow(J))}async getMembersWithTags(Y){let G=await this.db.selectFrom("member").leftJoin("member_tags","member_tags.member_id","member.id").leftJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["member.id as memberId","organization_tags.name as tagName"]).where("member.organizationId","=",Y).execute(),X=new Map;for(let J of G){if(!X.has(J.memberId))X.set(J.memberId,[]);if(J.tagName)X.get(J.memberId).push(J.tagName)}return X}tagFromDbRow(Y){return{id:Y.id,organizationId:Y.organization_id,name:Y.name,createdAt:Y.created_at}}}var JE4=E(()=>{g$()});class rm1{db;constructor(Y){this.db=Y}async findById(Y,G){let X=await this.db.selectFrom("user").select(["user.id","user.name","user.email","user.image","user.createdAt","user.updatedAt"]).where("user.id","=",Y).where((J)=>J.exists(J.selectFrom("member as m1").innerJoin("member as m2","m1.organizationId","m2.organizationId").select("m1.id").where("m1.userId","=",Y).where("m2.userId","=",G))).executeTakeFirst();if(!X)return null;return{id:X.id,name:X.name,email:X.email,role:"",createdAt:X.createdAt,updatedAt:X.updatedAt,image:X.image??void 0}}}var WE4="mcp.mesh",jL=300000,am1=3,om1=30000,QE4=1000;var ZE4,sm1,UP;var X31=E(()=>{ZE4=class ZE4 extends Error{constructor(Y){super(Y);this.name="UnauthorizedError"}};sm1=class sm1 extends Error{constructor(Y){super(Y);this.name="ForbiddenError"}};UP=class UP{userId;toolName;boundAuth;role;connectionId;getToolMeta;_granted=!1;constructor(Y,G,X,J,W,Z="self",Q){this.userId=G;this.toolName=X;this.boundAuth=J;this.role=W;this.connectionId=Z;this.getToolMeta=Q}[Symbol.dispose](){this._granted=!1}setToolName(Y){this.toolName=Y}grant(){return this._granted=!0,{[Symbol.dispose]:()=>{this._granted=!1}}}async check(...Y){if(this._granted)return;if(this.toolName?.startsWith("MESH_PUBLIC_")){this.grant();return}if(!this.userId&&!this.boundAuth){if(this.getToolMeta&&await this.isToolPublic()){this.grant();return}throw new ZE4("Authentication required. Please provide a valid OAuth token or API key.")}let G=Y.length>0?Y:this.toolName?[this.toolName]:[];if(G.length===0)throw new sm1("No resources specified for access check");for(let X of G)if(await this.checkResource(X)){this.grant();return}throw new sm1(`Access denied to: ${G.join(", ")}`)}async checkResource(Y){if(!this.userId&&!this.boundAuth)return!1;if(this.role==="admin"||this.role==="owner")return!0;if(!this.boundAuth)return!1;let G={};if(this.connectionId)G[this.connectionId]=[Y];return this.boundAuth.hasPermission(G)}async isToolPublic(){if(this.toolName?.startsWith("MESH_PUBLIC_"))return!0;if(!this.getToolMeta)return!1;try{let Y=await this.getToolMeta();if(!Y)return!1;let X=Y[WE4]?.public_tool;return X===!0||X==="true"}catch{return!1}}granted(){return this._granted}}});function $E4(Y){let G=OP.get(Y);if(!G||G.state==="CLOSED")return;if(G.state==="HALF_OPEN"){if(G.halfOpenInFlight)throw new tm1(Y,0);G.halfOpenInFlight=!0;return}let X=Date.now()-G.lastFailureTime;if(X>=om1){G.state="HALF_OPEN",G.halfOpenInFlight=!0;return}throw new tm1(Y,om1-X)}function HE4(Y){OP.delete(Y)}function KE4(Y){let G=OP.get(Y);if(!G){sW9(),OP.set(Y,{state:1>=am1?"OPEN":"CLOSED",consecutiveFailures:1,lastFailureTime:Date.now(),halfOpenInFlight:!1});return}if(G.consecutiveFailures++,G.lastFailureTime=Date.now(),G.halfOpenInFlight=!1,G.consecutiveFailures>=am1)G.state="OPEN"}function sW9(){if(OP.size<QE4)return;let Y=null,G=1/0;for(let[X,J]of OP)if(J.lastFailureTime<G)G=J.lastFailureTime,Y=X;if(Y)OP.delete(Y)}var OP,tm1;var FE4=E(()=>{OP=new Map;tm1=class tm1 extends Error{constructor(Y,G){super(`Connection ${Y} circuit breaker is open \u2014 downstream server unreachable. `+`Retry in ${Math.ceil(G/1000)}s.`);this.name="CircuitOpenError"}}});function g_(Y,G,X,J){let W=new aG({name:`lazy-${Y.id}`,version:"1.0.0"},{capabilities:{}}),Z=null;function Q(){if($E4(Y.id),!Z)Z=D3(Y,G,X).then((V)=>{return HE4(Y.id),V}).catch((V)=>{throw Z=null,KE4(Y.id),V});return Z}let $=(V,U)=>V!==void 0||U!==void 0,H=(V,U,O,B)=>{return async(N,q)=>{if(Y.connection_type==="VIRTUAL"||!J||$(N,q)){let L=await Q();return U(L,N,q)}let D=await JL(V,Y.id,async()=>{let L=await Q(),M=await U(L);return O(M)},J,(L)=>G.pendingRevalidations.push(L));return B(D??[])}};W.listTools=H("tools",(V,U,O)=>V.listTools(U,O),(V)=>V.tools,(V)=>({tools:V})),W.listResources=H("resources",(V,U,O)=>V.listResources(U,O),(V)=>V.resources,(V)=>({resources:V})),W.listPrompts=H("prompts",(V,U,O)=>V.listPrompts(U,O),(V)=>V.prompts,(V)=>({prompts:V})),W.callTool=async(V,U,O)=>{return(await Q()).callTool(V,U,O)},W.getPrompt=async(V,U)=>{return(await Q()).getPrompt(V,U)},W.readResource=async(V,U)=>{return(await Q()).readResource(V,U)},W.listResourceTemplates=async(V,U)=>{return(await Q()).listResourceTemplates(V,U)};let K=W.close.bind(W);return W.close=async()=>{if(Z){let V=await Z.catch(()=>null);if(V)await V.close().catch(()=>{})}await K()},W}var J31=E(()=>{QV();FE4();em1();t$()});function Kn(Y){return{client:{callTool:Y.callTool.bind(Y),listTools:Y.listTools.bind(Y)}}}async function VE4(Y,G,{superUser:X}){if(!X&&!G.organization?.id)throw Error("Organization context is required");let J=typeof Y==="string"?await G.storage.connections.findById(Y,G.organization?.id):Y;if(!J)throw Error("Connection not found");if(G.organization&&J.organization_id!==G.organization.id)throw Error("Connection does not belong to the active organization");if(!G.organization){let K=await G.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",J.organization_id).executeTakeFirst();G.organization=K?{id:K.id,slug:K.slug,name:K.name}:{id:J.organization_id}}if(J.status!=="active")throw Error(`Connection inactive: ${J.status}`);let W=g_(J,G,X,N7()??void 0),Z=cO(W,{name:"mcp-cms-proxy-client",version:"1.0.0"},{capabilities:{tools:{},resources:{},prompts:{}},toolCallTimeoutMs:jL}),{client:Q,server:$}=Ju();await Z.connect($);let H=new aG({name:"mcp-cms-proxy-client",version:"1.0.0"});return await H.connect(Q),H}async function UE4(Y,G){return VE4(Y,G,{superUser:!1})}async function Yl1(Y,G){return VE4(Y,G,{superUser:!0})}var W31=E(()=>{J31();t$();L5();QV()});var Gl1,u_;var Fn=E(()=>{Gl1=["owner","admin","user"],u_=["owner","admin"]});function qE4(){return`<platform>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decocms",
3
- "version": "2.281.4-alpha.1",
3
+ "version": "2.282.0",
4
4
  "description": "Deco CMS — Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "repository": {