decocms 2.178.0 → 2.178.2

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 (340) hide show
  1. package/dist/client/assets/{AlertCircle-DOAxiEBN.js → AlertCircle-12chRuly.js} +1 -1
  2. package/dist/client/assets/{AlignLeft-CRMPlioa.js → AlignLeft-_LT9deOt.js} +1 -1
  3. package/dist/client/assets/{ArrowDown-xJyK-tRR.js → ArrowDown-7rbX3zqZ.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-B-tpcvF0.js → ArrowLeft-erI8s3G2.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-BO7WH9Uq.js → ArrowUp-DoIG5eQh.js} +1 -1
  6. package/dist/client/assets/{Building02-D30T2TCD.js → Building02-Dr7IyBdv.js} +1 -1
  7. package/dist/client/assets/{Check-BTP9VTUM.js → Check-DW8AVFkq.js} +1 -1
  8. package/dist/client/assets/{CheckCircle-DoZ7ERyW.js → CheckCircle-hBpanOsI.js} +1 -1
  9. package/dist/client/assets/{CheckSquare-Dbh9CJyx.js → CheckSquare-Cr3IzSXp.js} +1 -1
  10. package/dist/client/assets/{CheckVerified02-CyloHbYs.js → CheckVerified02-r17ymUCs.js} +1 -1
  11. package/dist/client/assets/{ChevronDown-CLapIRmf.js → ChevronDown-BIRGQoZ5.js} +1 -1
  12. package/dist/client/assets/{ChevronLeft-CMUbV0KP.js → ChevronLeft-D-e7F7Gj.js} +1 -1
  13. package/dist/client/assets/{ChevronRight-DWZgTrde.js → ChevronRight-DsjLlugM.js} +1 -1
  14. package/dist/client/assets/{ChevronUp-DGOtRvEF.js → ChevronUp-Bi3NMXzv.js} +1 -1
  15. package/dist/client/assets/{Clock-BYjyd9hX.js → Clock-D4xJnA3P.js} +1 -1
  16. package/dist/client/assets/{Code01-BkNgeom6.js → Code01-YGq5QwlZ.js} +1 -1
  17. package/dist/client/assets/{Container-D7IaxBn4.js → Container-DHyMOW_p.js} +1 -1
  18. package/dist/client/assets/{Copy01-BJ5f3Ft8.js → Copy01-DkcjIGiS.js} +1 -1
  19. package/dist/client/assets/{Dataflow03-DE7FXw07.js → Dataflow03-CD3eo8oO.js} +1 -1
  20. package/dist/client/assets/{DotsHorizontal-BFhhKBhk.js → DotsHorizontal-CjYGc80C.js} +1 -1
  21. package/dist/client/assets/{DotsVertical-CmyZ1eER.js → DotsVertical-2nyye7GD.js} +1 -1
  22. package/dist/client/assets/{Download01-C0zy7iAO.js → Download01-BvtNZalG.js} +1 -1
  23. package/dist/client/assets/{Edit01-BsJ32les.js → Edit01-CoeKfJ-u.js} +1 -1
  24. package/dist/client/assets/{Edit05-BD2d2k-5.js → Edit05-CbbEzOoe.js} +1 -1
  25. package/dist/client/assets/{Eye-B3PAdhmZ.js → Eye-hBqNQHpc.js} +1 -1
  26. package/dist/client/assets/{EyeOff-_G9JY6d-.js → EyeOff-CJoTkAtN.js} +1 -1
  27. package/dist/client/assets/{File02-CAND2NHE.js → File02-D19u2hUl.js} +1 -1
  28. package/dist/client/assets/{File06-Bvs2lp94.js → File06-Bp4ioOvR.js} +1 -1
  29. package/dist/client/assets/{FilterLines-D-lo1vJH.js → FilterLines-Dvk7BhWf.js} +1 -1
  30. package/dist/client/assets/{Globe01-jlGiKRJ-.js → Globe01-B8Ib7knn.js} +1 -1
  31. package/dist/client/assets/{Globe02-DpkPR1qQ.js → Globe02-wRhoc1N5.js} +1 -1
  32. package/dist/client/assets/{Grid01-Bootsry8.js → Grid01-C5e9ReQ4.js} +1 -1
  33. package/dist/client/assets/{Home02-Cn5GN0Zh.js → Home02-JZJR9jmQ.js} +1 -1
  34. package/dist/client/assets/{Image01-BGiNuXLR.js → Image01-DjoSkYp_.js} +1 -1
  35. package/dist/client/assets/{Inbox01-QN0h6e9y.js → Inbox01-ClVaT7W5.js} +1 -1
  36. package/dist/client/assets/{InfoCircle-BlKvj0NG.js → InfoCircle-DzyfpQes.js} +1 -1
  37. package/dist/client/assets/{Key01-p6odXPoE.js → Key01-qNySmY39.js} +1 -1
  38. package/dist/client/assets/{LayersTwo01-Dj6OMOTN.js → LayersTwo01-dfSlQT0y.js} +1 -1
  39. package/dist/client/assets/{LayoutLeft-Bl9wlb-l.js → LayoutLeft-B2KZfn2n.js} +1 -1
  40. package/dist/client/assets/{Link01-GDNtvq6w.js → Link01-Cz_ZRKoB.js} +1 -1
  41. package/dist/client/assets/{LinkExternal01-Cmp1Jq7T.js → LinkExternal01-CKvCiQnV.js} +1 -1
  42. package/dist/client/assets/{List-BFzJ8d3-.js → List-NLa0AhO4.js} +1 -1
  43. package/dist/client/assets/{Loading01-Bgt2pWQu.js → Loading01-Bb8FCosd.js} +1 -1
  44. package/dist/client/assets/{Lock01-CrtAKCVY.js → Lock01-CnZITIks.js} +1 -1
  45. package/dist/client/assets/{Play-C6mSLsW0.js → Play-Bw5lQw7j.js} +1 -1
  46. package/dist/client/assets/{Plus-Bah3bfIq.js → Plus-CajZ9VfC.js} +1 -1
  47. package/dist/client/assets/{RefreshCcw01-D6TQ-sWU.js → RefreshCcw01-B_NTitRE.js} +1 -1
  48. package/dist/client/assets/{Save01-DMdPXvfp.js → Save01-8oEsqMkJ.js} +1 -1
  49. package/dist/client/assets/{SearchMd-CbNARIB_.js → SearchMd-eZWeU0sP.js} +1 -1
  50. package/dist/client/assets/{Settings01-ncSo0UF1.js → Settings01-ClPVpLPy.js} +1 -1
  51. package/dist/client/assets/{Shield01-jjVa8gNb.js → Shield01-N4ace-oo.js} +1 -1
  52. package/dist/client/assets/{Terminal-BkHJq74m.js → Terminal-CGwuP-_5.js} +1 -1
  53. package/dist/client/assets/{Tool01-CCSFIqz9.js → Tool01-D1m8i7Ez.js} +1 -1
  54. package/dist/client/assets/{Trash01-DJLT0hlL.js → Trash01-B_4PTwjI.js} +1 -1
  55. package/dist/client/assets/{Upload01-CrylBwgE.js → Upload01-CLIOr3Tj.js} +1 -1
  56. package/dist/client/assets/{Users03-ClHTtWuU.js → Users03-Bv-hUQkl.js} +1 -1
  57. package/dist/client/assets/{X-Dr3IGE6q.js → X-LzehymHS.js} +1 -1
  58. package/dist/client/assets/{XClose-CM_PUH0D.js → XClose-CcNXqPQc.js} +1 -1
  59. package/dist/client/assets/{Zap-DNAzZ691.js → Zap-BFN1DqIC.js} +1 -1
  60. package/dist/client/assets/{agent-connections-preview-D9yVR2mI.js → agent-connections-preview-3pYXfstj.js} +1 -1
  61. package/dist/client/assets/{agent-detail-D9yhjqjE.js → agent-detail-DMK-u3yi.js} +1 -1
  62. package/dist/client/assets/{agents-UYgbyoc-.js → agents-Wfe5dNfh.js} +1 -1
  63. package/dist/client/assets/{ai-providers-logos-CKXeyPmY.js → ai-providers-logos-CCp39UCk.js} +1 -1
  64. package/dist/client/assets/{alert-dialog-CGRFjIvo.js → alert-dialog-B_ae3oRt.js} +1 -1
  65. package/dist/client/assets/{auth-catchall-DJtyBhDQ.js → auth-catchall-DAx9m28t.js} +1 -1
  66. package/dist/client/assets/{automation-detail-Da-KIL0v.js → automation-detail-DfFkGT_5.js} +1 -1
  67. package/dist/client/assets/{automations-BBeFyOp2.js → automations-A8NOzTSS.js} +1 -1
  68. package/dist/client/assets/{avatar-B6y4oqG6.js → avatar-B2yArl-q.js} +1 -1
  69. package/dist/client/assets/{badge-BWsagPlP.js → badge-DtRom7JO.js} +1 -1
  70. package/dist/client/assets/{binder-BfA1Jrrc.js → binder-D4cqx_Kx.js} +1 -1
  71. package/dist/client/assets/{breadcrumb-D8mb9kpq.js → breadcrumb-C2RG4nAQ.js} +1 -1
  72. package/dist/client/assets/{card-C0MItTW_.js → card-B8qDZGCZ.js} +1 -1
  73. package/dist/client/assets/{checkbox-DUU3Nuea.js → checkbox-B1rexahu.js} +1 -1
  74. package/dist/client/assets/{collapsible-CtLdTa6t.js → collapsible-BtjeaBAE.js} +1 -1
  75. package/dist/client/assets/{collection-detail-DPIki4up.js → collection-detail-BaBGI9i2.js} +1 -1
  76. package/dist/client/assets/{collection-display-button-DdFInvSR.js → collection-display-button-CpVZ4wHm.js} +1 -1
  77. package/dist/client/assets/{collection-search-CGfzh4mC.js → collection-search-BYV7N3mr.js} +1 -1
  78. package/dist/client/assets/{collection-table-wrapper-DLe2aR6i.js → collection-table-wrapper-CHFJQd21.js} +1 -1
  79. package/dist/client/assets/{collection-tabs-DAHXpc2n.js → collection-tabs-CJEa3dRy.js} +1 -1
  80. package/dist/client/assets/{command-C4HnUxgr.js → command-Drksh_DO.js} +1 -1
  81. package/dist/client/assets/{connection-card-DRd8H1I5.js → connection-card-Bak2l1_M.js} +1 -1
  82. package/dist/client/assets/{connection-detail-MKWBWpRr.js → connection-detail-BKy2ZsS6.js} +1 -1
  83. package/dist/client/assets/{connections-CIQDC3QM.js → connections-Dxf4eIOE.js} +1 -1
  84. package/dist/client/assets/{constants-C6R-Odkq.js → constants-D7qXOYRn.js} +1 -1
  85. package/dist/client/assets/{context-BFTRA5vP.js → context-DxQMlFKC.js} +1 -1
  86. package/dist/client/assets/{create-organization-dialog-Bez2nZe0.js → create-organization-dialog-CNWB-72r.js} +1 -1
  87. package/dist/client/assets/{create-project-dialog-MCGuKGij.js → create-project-dialog-BeIY4Oy9.js} +1 -1
  88. package/dist/client/assets/{danger-D1zng7LS.js → danger-YWbxrjNq.js} +1 -1
  89. package/dist/client/assets/{danger-zone-DbcRzYYG.js → danger-zone-DGg0ZzSy.js} +1 -1
  90. package/dist/client/assets/{dependencies-B8EkZe-H.js → dependencies-DtAVTWu-.js} +1 -1
  91. package/dist/client/assets/{dialog-Bw5T2ogY.js → dialog-ChXYvlDt.js} +1 -1
  92. package/dist/client/assets/{dropdown-menu-Dan8nMb8.js → dropdown-menu-BxlQMXgW.js} +1 -1
  93. package/dist/client/assets/{dynamic-plugin-layout-BDxV3RAS.js → dynamic-plugin-layout-JpZTv0Ay.js} +1 -1
  94. package/dist/client/assets/{editable-task-title-wfBXYVIh.js → editable-task-title-Cm-uIwFs.js} +1 -1
  95. package/dist/client/assets/{empty-state-CoA3_x_6.js → empty-state-qLM_bVsv.js} +1 -1
  96. package/dist/client/assets/{empty-state-C1iyyf7G.js → empty-state-xIvMMy-_.js} +1 -1
  97. package/dist/client/assets/{env-vars-editor-CxyeKMFS.js → env-vars-editor-Yss1wn0m.js} +1 -1
  98. package/dist/client/assets/{extract-connection-data-C8ZedtM3.js → extract-connection-data-48N591A_.js} +1 -1
  99. package/dist/client/assets/{file-browser-CShFs9BG.js → file-browser-BbqpPFZK.js} +2 -2
  100. package/dist/client/assets/{form-B1LLlQBa.js → form-CaFPTMVC.js} +1 -1
  101. package/dist/client/assets/{general-Dnfj_B7U.js → general-DI9irVIQ.js} +1 -1
  102. package/dist/client/assets/{generate-id-WpAuYSZF.js → generate-id-BiV6m8fS.js} +1 -1
  103. package/dist/client/assets/{grid-view-PzYdekcz.js → grid-view-DurgUMuo.js} +1 -1
  104. package/dist/client/assets/{home-CKa-gWjN.js → home-CspK560n.js} +1 -1
  105. package/dist/client/assets/{index-lUO5B2Do.js → index-ChUIqRBi.js} +1 -1
  106. package/dist/client/assets/{index-D-AXXJqO.js → index-CqWJIMlG.js} +1 -1
  107. package/dist/client/assets/{index-CgSAwZ8g.js → index-CqtWW-Tq.js} +1 -1
  108. package/dist/client/assets/{index-DtZLm-Fz.js → index-CqyqI90F.js} +1 -1
  109. package/dist/client/assets/{index-BaVHKLOw.js → index-De1iYnQy.js} +1 -1
  110. package/dist/client/assets/{index-De7oAufQ.js → index-NjMxPJgF.js} +3 -3
  111. package/dist/client/assets/{index-BkxamE0W.js → index-TV8hw8s3.js} +1 -1
  112. package/dist/client/assets/{index-CVayrapI.js → index-YL7q5tyF.js} +1 -1
  113. package/dist/client/assets/{index-BFJo8BQ3.js → index-YRudAQp7.js} +1 -1
  114. package/dist/client/assets/{index-J5pIXVfD.js → index-yiVP4brl.js} +1 -1
  115. package/dist/client/assets/{index-OdE2HBl6.js → index-zWpUeKAz.js} +1 -1
  116. package/dist/client/assets/{infiniteQueryObserver-C7xXp1jr.js → infiniteQueryObserver-JZ0YxCW-.js} +1 -1
  117. package/dist/client/assets/{input-_VKm0O_1.js → input-B89sozd8.js} +1 -1
  118. package/dist/client/assets/{integration-icon-BkY1vh6I.js → integration-icon-BPVDVJvP.js} +1 -1
  119. package/dist/client/assets/{label-BhDDQ3-n.js → label-DkiEYJcU.js} +1 -1
  120. package/dist/client/assets/{layout-BIFV7MZL.js → layout-Cqn-h1Jz.js} +1 -1
  121. package/dist/client/assets/{layout-CZKgiZuG.js → layout-DcmGLVHZ.js} +1 -1
  122. package/dist/client/assets/{login-uo65TNIo.js → login-qT_ItpIx.js} +1 -1
  123. package/dist/client/assets/{logo-upload-CXS8-AgL.js → logo-upload-CoGaedUC.js} +1 -1
  124. package/dist/client/assets/{mcp-app-renderer-BcsrfZJp.js → mcp-app-renderer-By1mQEU9.js} +1 -1
  125. package/dist/client/assets/{mcp-server-card-Bp6C5W6n.js → mcp-server-card-B3Nrrgyk.js} +1 -1
  126. package/dist/client/assets/{mcp-server-detail-Ctbkl5jL.js → mcp-server-detail-DMfy0V9h.js} +2 -2
  127. package/dist/client/assets/{members-DCfL7gNX.js → members-Q81LXZu1.js} +1 -1
  128. package/dist/client/assets/{monaco-editor-DPC7_J-G.js → monaco-editor-ZB27PMAe.js} +1 -1
  129. package/dist/client/assets/{monitoring-ByXLzXVV.js → monitoring-C31A03PZ.js} +1 -1
  130. package/dist/client/assets/{monitoring-dashboard-edit-YR1gT6FF.js → monitoring-dashboard-edit-Dfi8Jxeb.js} +1 -1
  131. package/dist/client/assets/{monitoring-dashboard-view-BbtnIBfa.js → monitoring-dashboard-view-CxjxBHLW.js} +1 -1
  132. package/dist/client/assets/{monitoring-stats-row-Df9ANyzv.js → monitoring-stats-row-CAn-8pVZ.js} +1 -1
  133. package/dist/client/assets/{oauth-callback-DAQSPrcu.js → oauth-callback-B8DRnSok.js} +1 -1
  134. package/dist/client/assets/{oauth-callback-ai-provider-BM5LYNPq.js → oauth-callback-ai-provider-CsTCxPAY.js} +1 -1
  135. package/dist/client/assets/{org-ai-providers-6KYO-veN.js → org-ai-providers-DaYyItUL.js} +1 -1
  136. package/dist/client/assets/{page-JhhtSWZh.js → page-BjLk0DX_.js} +1 -1
  137. package/dist/client/assets/{page-30eMAMiN.js → page-C2I5Nlmu.js} +1 -1
  138. package/dist/client/assets/{plugin-empty-state-Cl2I2geD.js → plugin-empty-state-K02oXRNN.js} +1 -1
  139. package/dist/client/assets/{plugin-empty-state-R2BzERoW.js → plugin-empty-state-l30u7dec.js} +1 -1
  140. package/dist/client/assets/{plugin-header-Bakz3z0e.js → plugin-header-B_wkRb4Y.js} +1 -1
  141. package/dist/client/assets/{plugin-header-aEsNVQjp.js → plugin-header-CE-BhILm.js} +1 -1
  142. package/dist/client/assets/plugins-6p4XZdw1.js +1 -0
  143. package/dist/client/assets/{popover-D_qGIJiq.js → popover-Br8QkMK3.js} +1 -1
  144. package/dist/client/assets/{project-app-view-BFgEphLV.js → project-app-view-CRe7LVZk.js} +1 -1
  145. package/dist/client/assets/{project-layout-C8oyOOGc.js → project-layout-Bg1hlIaM.js} +1 -1
  146. package/dist/client/assets/{project-plugins-BVt_WzcU.js → project-plugins-BHOZZsH7.js} +1 -1
  147. package/dist/client/assets/{projects-list-C02pKlJj.js → projects-list-i4ZvUqtI.js} +1 -1
  148. package/dist/client/assets/{registry-layout-C-yQnDXG.js → registry-layout-DQV7LhSo.js} +1 -1
  149. package/dist/client/assets/{registry-utils-Dqc_kCiP.js → registry-utils-cjX9P5J9.js} +1 -1
  150. package/dist/client/assets/{reset-password-Cqvt_aDI.js → reset-password-Cgcrl5ZG.js} +1 -1
  151. package/dist/client/assets/{resizable-CO0Uh73H.js → resizable-Nu1SqaJD.js} +1 -1
  152. package/dist/client/assets/{save-actions-ju1vjafj.js → save-actions-CVl6VtT2.js} +1 -1
  153. package/dist/client/assets/{scroll-area-DL2xzsPP.js → scroll-area-BTJQ86Ry.js} +1 -1
  154. package/dist/client/assets/{select-B4liIMVc.js → select-Dx3T3-4n.js} +1 -1
  155. package/dist/client/assets/{select-virtual-mcp-CuflMlTt.js → select-virtual-mcp-BS537pmy.js} +1 -1
  156. package/dist/client/assets/{sheet-Cjr3EcYH.js → sheet-C3HM0Uwr.js} +1 -1
  157. package/dist/client/assets/{shell-layout-DfTROeX_.js → shell-layout-Bco0BFOl.js} +2 -2
  158. package/dist/client/assets/{sidebar-settings-BljNzJVO.js → sidebar-settings-JhN4X_jg.js} +1 -1
  159. package/dist/client/assets/{skeleton-Bt7MRTvB.js → skeleton-Cjm8s7CT.js} +1 -1
  160. package/dist/client/assets/{spinner-Cse1gKnw.js → spinner-Dzx7B3Jl.js} +1 -1
  161. package/dist/client/assets/{store-invite-D8XeTZbu.js → store-invite-BPcFU0aw.js} +1 -1
  162. package/dist/client/assets/{switch-DHS6rwq-.js → switch-CA_oYDia.js} +1 -1
  163. package/dist/client/assets/{table-BPkNFl3F.js → table-C-1rP_rt.js} +1 -1
  164. package/dist/client/assets/{tabs-D9xzXdQn.js → tabs-BSOe8gLq.js} +1 -1
  165. package/dist/client/assets/{task-status-DPcRgg7n.js → task-status-DYx9R7EL.js} +24 -24
  166. package/dist/client/assets/tasks-D1X8oLa3.js +1 -0
  167. package/dist/client/assets/{tasks-panel-i3VUreUx.js → tasks-panel-BJ3TfA-_.js} +1 -1
  168. package/dist/client/assets/{textarea-C_pKpP9s.js → textarea-DIJzFUWn.js} +1 -1
  169. package/dist/client/assets/{time-range-picker-BuykPBni.js → time-range-picker-CGBh-D6p.js} +1 -1
  170. package/dist/client/assets/{toggle-group-VpRSF_Gl.js → toggle-group-DlZGDyPQ.js} +1 -1
  171. package/dist/client/assets/{tools-list-DDFWIxxm.js → tools-list-D-T64862.js} +1 -1
  172. package/dist/client/assets/{tooltip-C4rlkzSj.js → tooltip-BJMSu0c2.js} +1 -1
  173. package/dist/client/assets/{topbar-portal-CF1YRovU.js → topbar-portal-ChPXVsi1.js} +1 -1
  174. package/dist/client/assets/{types-DQbIwrMI.js → types-BHeMLyAV.js} +1 -1
  175. package/dist/client/assets/{use-automations-C1HgdvUZ.js → use-automations-Bmw3x7Dk.js} +1 -1
  176. package/dist/client/assets/{use-collections-CN-KZdhF.js → use-collections-C0cYiFfV.js} +1 -1
  177. package/dist/client/assets/{use-connection-C4RNTGYe.js → use-connection-CHFdKnsr.js} +1 -1
  178. package/dist/client/assets/{use-copy-Cyun7kVE.js → use-copy-xhdji_Bl.js} +1 -1
  179. package/dist/client/assets/{use-create-virtual-mcp-4JnIm_fY.js → use-create-virtual-mcp-B7odZ_c3.js} +1 -1
  180. package/dist/client/assets/{use-infinite-scroll-B1b4xMpn.js → use-infinite-scroll-CPhZNIw7.js} +1 -1
  181. package/dist/client/assets/{use-install-from-registry-CytyaLQX.js → use-install-from-registry-BzwuBLOx.js} +1 -1
  182. package/dist/client/assets/{use-list-state-CCkxYz8q.js → use-list-state-CbsN6RbJ.js} +1 -1
  183. package/dist/client/assets/{use-mcp-prompts-BGZnglwN.js → use-mcp-prompts-Bel4H4rh.js} +1 -1
  184. package/dist/client/assets/{use-mcp-resources-DSKOWSEO.js → use-mcp-resources-qGdymfRz.js} +1 -1
  185. package/dist/client/assets/{use-mcp-tools-C2aTDAuJ.js → use-mcp-tools-BCZI_Wqc.js} +1 -1
  186. package/dist/client/assets/{use-members-DjL_-1xN.js → use-members-B4ncWtMV.js} +1 -1
  187. package/dist/client/assets/{use-mobile-CMHMyYVi.js → use-mobile-DOUfTohp.js} +1 -1
  188. package/dist/client/assets/{use-project-DxPDjIre.js → use-project-b5C3lq5-.js} +1 -1
  189. package/dist/client/assets/{use-store-discovery-BBXrVOcG.js → use-store-discovery-B402mTHd.js} +1 -1
  190. package/dist/client/assets/{use-view-mode-CXln2RGt.js → use-view-mode-ss3eRodO.js} +1 -1
  191. package/dist/client/assets/{use-virtual-mcp-AdVimCkX.js → use-virtual-mcp-BP6aaUzw.js} +1 -1
  192. package/dist/client/assets/useInfiniteQuery-BXDrDvlH.js +1 -0
  193. package/dist/client/assets/{useMutation-BDzOMrvq.js → useMutation-68NxhXCf.js} +1 -1
  194. package/dist/client/assets/useQuery-BYBCFxgb.js +1 -0
  195. package/dist/client/assets/useSuspenseInfiniteQuery-X3jXt04i.js +1 -0
  196. package/dist/client/assets/{user-DSh4pFej.js → user-iDZRuimU.js} +1 -1
  197. package/dist/client/assets/{workflow-mIahQD3R.js → workflow-CrrTPehP.js} +1 -1
  198. package/dist/client/index.html +1 -1
  199. package/dist/server/cli.js +2 -2
  200. package/dist/server/migrate.js +1 -1
  201. package/dist/server/node_modules/pg-cloudflare/README.md +112 -0
  202. package/dist/server/node_modules/pg-cloudflare/dist/empty.d.ts +2 -0
  203. package/dist/server/node_modules/pg-cloudflare/dist/empty.js +6 -0
  204. package/dist/server/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
  205. package/dist/server/node_modules/pg-cloudflare/dist/index.d.ts +31 -0
  206. package/dist/server/node_modules/pg-cloudflare/dist/index.js +152 -0
  207. package/dist/server/node_modules/pg-cloudflare/dist/index.js.map +1 -0
  208. package/dist/server/node_modules/pg-cloudflare/esm/index.mjs +3 -0
  209. package/dist/server/node_modules/pg-cloudflare/package.json +39 -0
  210. package/dist/server/node_modules/pg-cloudflare/src/empty.ts +3 -0
  211. package/dist/server/node_modules/pg-cloudflare/src/index.ts +166 -0
  212. package/dist/server/node_modules/pg-cloudflare/src/types.d.ts +25 -0
  213. package/dist/server/node_modules/pg-connection-string/LICENSE +21 -0
  214. package/dist/server/node_modules/pg-connection-string/README.md +105 -0
  215. package/dist/server/node_modules/pg-connection-string/esm/index.mjs +8 -0
  216. package/dist/server/node_modules/pg-connection-string/index.d.ts +36 -0
  217. package/dist/server/node_modules/pg-connection-string/index.js +231 -0
  218. package/dist/server/node_modules/pg-connection-string/package.json +52 -0
  219. package/dist/server/node_modules/pg-int8/LICENSE +13 -0
  220. package/dist/server/node_modules/pg-int8/README.md +16 -0
  221. package/dist/server/node_modules/pg-int8/index.js +100 -0
  222. package/dist/server/node_modules/pg-int8/package.json +24 -0
  223. package/dist/server/node_modules/pg-pool/LICENSE +21 -0
  224. package/dist/server/node_modules/pg-pool/README.md +357 -0
  225. package/dist/server/node_modules/pg-pool/esm/index.mjs +5 -0
  226. package/dist/server/node_modules/pg-pool/index.js +517 -0
  227. package/dist/server/node_modules/pg-pool/package.json +51 -0
  228. package/dist/server/node_modules/pg-protocol/LICENSE +21 -0
  229. package/dist/server/node_modules/pg-protocol/README.md +3 -0
  230. package/dist/server/node_modules/pg-protocol/dist/b.d.ts +1 -0
  231. package/dist/server/node_modules/pg-protocol/dist/b.js +23 -0
  232. package/dist/server/node_modules/pg-protocol/dist/b.js.map +1 -0
  233. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.d.ts +15 -0
  234. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js +55 -0
  235. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
  236. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.d.ts +16 -0
  237. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js +81 -0
  238. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
  239. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.d.ts +1 -0
  240. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js +530 -0
  241. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js.map +1 -0
  242. package/dist/server/node_modules/pg-protocol/dist/index.d.ts +6 -0
  243. package/dist/server/node_modules/pg-protocol/dist/index.js +15 -0
  244. package/dist/server/node_modules/pg-protocol/dist/index.js.map +1 -0
  245. package/dist/server/node_modules/pg-protocol/dist/messages.d.ts +162 -0
  246. package/dist/server/node_modules/pg-protocol/dist/messages.js +160 -0
  247. package/dist/server/node_modules/pg-protocol/dist/messages.js.map +1 -0
  248. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts +1 -0
  249. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js +252 -0
  250. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +1 -0
  251. package/dist/server/node_modules/pg-protocol/dist/parser.d.ts +24 -0
  252. package/dist/server/node_modules/pg-protocol/dist/parser.js +324 -0
  253. package/dist/server/node_modules/pg-protocol/dist/parser.js.map +1 -0
  254. package/dist/server/node_modules/pg-protocol/dist/serializer.d.ts +42 -0
  255. package/dist/server/node_modules/pg-protocol/dist/serializer.js +189 -0
  256. package/dist/server/node_modules/pg-protocol/dist/serializer.js.map +1 -0
  257. package/dist/server/node_modules/pg-protocol/esm/index.js +11 -0
  258. package/dist/server/node_modules/pg-protocol/package.json +45 -0
  259. package/dist/server/node_modules/pg-protocol/src/b.ts +25 -0
  260. package/dist/server/node_modules/pg-protocol/src/buffer-reader.ts +58 -0
  261. package/dist/server/node_modules/pg-protocol/src/buffer-writer.ts +85 -0
  262. package/dist/server/node_modules/pg-protocol/src/inbound-parser.test.ts +575 -0
  263. package/dist/server/node_modules/pg-protocol/src/index.ts +11 -0
  264. package/dist/server/node_modules/pg-protocol/src/messages.ts +262 -0
  265. package/dist/server/node_modules/pg-protocol/src/outbound-serializer.test.ts +276 -0
  266. package/dist/server/node_modules/pg-protocol/src/parser.ts +413 -0
  267. package/dist/server/node_modules/pg-protocol/src/serializer.ts +274 -0
  268. package/dist/server/node_modules/pg-protocol/src/testing/buffer-list.ts +67 -0
  269. package/dist/server/node_modules/pg-protocol/src/testing/test-buffers.ts +166 -0
  270. package/dist/server/node_modules/pg-protocol/src/types/chunky.d.ts +1 -0
  271. package/dist/server/node_modules/pg-types/.travis.yml +7 -0
  272. package/dist/server/node_modules/pg-types/Makefile +14 -0
  273. package/dist/server/node_modules/pg-types/README.md +75 -0
  274. package/dist/server/node_modules/pg-types/index.d.ts +137 -0
  275. package/dist/server/node_modules/pg-types/index.js +47 -0
  276. package/dist/server/node_modules/pg-types/index.test-d.ts +21 -0
  277. package/dist/server/node_modules/pg-types/lib/arrayParser.js +11 -0
  278. package/dist/server/node_modules/pg-types/lib/binaryParsers.js +257 -0
  279. package/dist/server/node_modules/pg-types/lib/builtins.js +73 -0
  280. package/dist/server/node_modules/pg-types/lib/textParsers.js +215 -0
  281. package/dist/server/node_modules/pg-types/package.json +42 -0
  282. package/dist/server/node_modules/pg-types/test/index.js +24 -0
  283. package/dist/server/node_modules/pg-types/test/types.js +597 -0
  284. package/dist/server/node_modules/pgpass/README.md +74 -0
  285. package/dist/server/node_modules/pgpass/lib/helper.js +233 -0
  286. package/dist/server/node_modules/pgpass/lib/index.js +23 -0
  287. package/dist/server/node_modules/pgpass/package.json +41 -0
  288. package/dist/server/node_modules/postgres-array/index.d.ts +4 -0
  289. package/dist/server/node_modules/postgres-array/index.js +97 -0
  290. package/dist/server/node_modules/postgres-array/license +21 -0
  291. package/dist/server/node_modules/postgres-array/package.json +35 -0
  292. package/dist/server/node_modules/postgres-array/readme.md +43 -0
  293. package/dist/server/node_modules/postgres-bytea/index.js +33 -0
  294. package/dist/server/node_modules/postgres-bytea/license +21 -0
  295. package/dist/server/node_modules/postgres-bytea/package.json +34 -0
  296. package/dist/server/node_modules/postgres-bytea/readme.md +34 -0
  297. package/dist/server/node_modules/postgres-date/index.js +116 -0
  298. package/dist/server/node_modules/postgres-date/license +21 -0
  299. package/dist/server/node_modules/postgres-date/package.json +33 -0
  300. package/dist/server/node_modules/postgres-date/readme.md +49 -0
  301. package/dist/server/node_modules/postgres-interval/index.d.ts +20 -0
  302. package/dist/server/node_modules/postgres-interval/index.js +125 -0
  303. package/dist/server/node_modules/postgres-interval/license +21 -0
  304. package/dist/server/node_modules/postgres-interval/package.json +36 -0
  305. package/dist/server/node_modules/postgres-interval/readme.md +48 -0
  306. package/dist/server/node_modules/split2/LICENSE +13 -0
  307. package/dist/server/node_modules/split2/README.md +85 -0
  308. package/dist/server/node_modules/split2/bench.js +27 -0
  309. package/dist/server/node_modules/split2/index.js +141 -0
  310. package/dist/server/node_modules/split2/package.json +39 -0
  311. package/dist/server/node_modules/split2/test.js +409 -0
  312. package/dist/server/server.js +2 -2
  313. package/package.json +1 -1
  314. package/dist/client/assets/plugins-CJOgdAgY.js +0 -1
  315. package/dist/client/assets/tasks-CAcIEtSF.js +0 -1
  316. package/dist/client/assets/useInfiniteQuery-Dw4aF3nd.js +0 -1
  317. package/dist/client/assets/useQuery-CTePvczf.js +0 -1
  318. package/dist/client/assets/useSuspenseInfiniteQuery-All2JJwt.js +0 -1
  319. package/dist/server/node_modules/pg/README.md +0 -95
  320. package/dist/server/node_modules/pg/esm/index.mjs +0 -20
  321. package/dist/server/node_modules/pg/lib/client.js +0 -743
  322. package/dist/server/node_modules/pg/lib/connection-parameters.js +0 -171
  323. package/dist/server/node_modules/pg/lib/connection.js +0 -221
  324. package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +0 -122
  325. package/dist/server/node_modules/pg/lib/crypto/sasl.js +0 -212
  326. package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +0 -43
  327. package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +0 -89
  328. package/dist/server/node_modules/pg/lib/crypto/utils.js +0 -9
  329. package/dist/server/node_modules/pg/lib/defaults.js +0 -91
  330. package/dist/server/node_modules/pg/lib/index.js +0 -73
  331. package/dist/server/node_modules/pg/lib/native/client.js +0 -323
  332. package/dist/server/node_modules/pg/lib/native/index.js +0 -2
  333. package/dist/server/node_modules/pg/lib/native/query.js +0 -165
  334. package/dist/server/node_modules/pg/lib/query.js +0 -252
  335. package/dist/server/node_modules/pg/lib/result.js +0 -109
  336. package/dist/server/node_modules/pg/lib/stream.js +0 -83
  337. package/dist/server/node_modules/pg/lib/type-overrides.js +0 -35
  338. package/dist/server/node_modules/pg/lib/utils.js +0 -217
  339. package/dist/server/node_modules/pg/package.json +0 -76
  340. /package/dist/server/node_modules/{pg → pg-cloudflare}/LICENSE +0 -0
@@ -0,0 +1,166 @@
1
+ import { SocketOptions, Socket, TlsOptions } from 'cloudflare:sockets'
2
+ import { EventEmitter } from 'events'
3
+
4
+ /**
5
+ * Wrapper around the Cloudflare built-in socket that can be used by the `Connection`.
6
+ */
7
+ export class CloudflareSocket extends EventEmitter {
8
+ writable = false
9
+ destroyed = false
10
+
11
+ private _upgrading = false
12
+ private _upgraded = false
13
+ private _cfSocket: Socket | null = null
14
+ private _cfWriter: WritableStreamDefaultWriter | null = null
15
+ private _cfReader: ReadableStreamDefaultReader | null = null
16
+
17
+ constructor(readonly ssl: boolean) {
18
+ super()
19
+ }
20
+
21
+ setNoDelay() {
22
+ return this
23
+ }
24
+ setKeepAlive() {
25
+ return this
26
+ }
27
+ ref() {
28
+ return this
29
+ }
30
+ unref() {
31
+ return this
32
+ }
33
+
34
+ async connect(port: number, host: string, connectListener?: (...args: unknown[]) => void) {
35
+ try {
36
+ log('connecting')
37
+ if (connectListener) this.once('connect', connectListener)
38
+
39
+ const options: SocketOptions = this.ssl ? { secureTransport: 'starttls' } : {}
40
+ const mod = await import('cloudflare:sockets')
41
+ const connect = mod.connect
42
+ this._cfSocket = connect(`${host}:${port}`, options)
43
+ this._cfWriter = this._cfSocket.writable.getWriter()
44
+ this._addClosedHandler()
45
+
46
+ this._cfReader = this._cfSocket.readable.getReader()
47
+ if (this.ssl) {
48
+ this._listenOnce().catch((e) => this.emit('error', e))
49
+ } else {
50
+ this._listen().catch((e) => this.emit('error', e))
51
+ }
52
+
53
+ await this._cfWriter!.ready
54
+ log('socket ready')
55
+ this.writable = true
56
+ this.emit('connect')
57
+
58
+ return this
59
+ } catch (e) {
60
+ this.emit('error', e)
61
+ }
62
+ }
63
+
64
+ async _listen() {
65
+ // eslint-disable-next-line no-constant-condition
66
+ while (true) {
67
+ log('awaiting receive from CF socket')
68
+ const { done, value } = await this._cfReader!.read()
69
+ log('CF socket received:', done, value)
70
+ if (done) {
71
+ log('done')
72
+ break
73
+ }
74
+ this.emit('data', Buffer.from(value))
75
+ }
76
+ }
77
+
78
+ async _listenOnce() {
79
+ log('awaiting first receive from CF socket')
80
+ const { done, value } = await this._cfReader!.read()
81
+ log('First CF socket received:', done, value)
82
+ this.emit('data', Buffer.from(value))
83
+ }
84
+
85
+ write(
86
+ data: Uint8Array | string,
87
+ encoding: BufferEncoding = 'utf8',
88
+ callback: (...args: unknown[]) => void = () => {}
89
+ ) {
90
+ if (data.length === 0) return callback()
91
+ if (typeof data === 'string') data = Buffer.from(data, encoding)
92
+
93
+ log('sending data direct:', data)
94
+ this._cfWriter!.write(data).then(
95
+ () => {
96
+ log('data sent')
97
+ callback()
98
+ },
99
+ (err) => {
100
+ log('send error', err)
101
+ callback(err)
102
+ }
103
+ )
104
+ return true
105
+ }
106
+
107
+ end(data = Buffer.alloc(0), encoding: BufferEncoding = 'utf8', callback: (...args: unknown[]) => void = () => {}) {
108
+ log('ending CF socket')
109
+ this.write(data, encoding, (err) => {
110
+ this._cfSocket!.close()
111
+ if (callback) callback(err)
112
+ })
113
+ return this
114
+ }
115
+
116
+ destroy(reason: string) {
117
+ log('destroying CF socket', reason)
118
+ this.destroyed = true
119
+ return this.end()
120
+ }
121
+
122
+ startTls(options: TlsOptions) {
123
+ if (this._upgraded) {
124
+ // Don't try to upgrade again.
125
+ this.emit('error', 'Cannot call `startTls()` more than once on a socket')
126
+ return
127
+ }
128
+ this._cfWriter!.releaseLock()
129
+ this._cfReader!.releaseLock()
130
+ this._upgrading = true
131
+ this._cfSocket = this._cfSocket!.startTls(options)
132
+ this._cfWriter = this._cfSocket.writable.getWriter()
133
+ this._cfReader = this._cfSocket.readable.getReader()
134
+ this._addClosedHandler()
135
+ this._listen().catch((e) => this.emit('error', e))
136
+ }
137
+
138
+ _addClosedHandler() {
139
+ this._cfSocket!.closed.then(() => {
140
+ if (!this._upgrading) {
141
+ log('CF socket closed')
142
+ this._cfSocket = null
143
+ this.emit('close')
144
+ } else {
145
+ this._upgrading = false
146
+ this._upgraded = true
147
+ }
148
+ }).catch((e) => this.emit('error', e))
149
+ }
150
+ }
151
+
152
+ const debug = false
153
+
154
+ function dump(data: unknown) {
155
+ if (data instanceof Uint8Array || data instanceof ArrayBuffer) {
156
+ const hex = Buffer.from(data).toString('hex')
157
+ const str = new TextDecoder().decode(data)
158
+ return `\n>>> STR: "${str.replace(/\n/g, '\\n')}"\n>>> HEX: ${hex}\n`
159
+ } else {
160
+ return data
161
+ }
162
+ }
163
+
164
+ function log(...args: unknown[]) {
165
+ debug && console.log(...args.map(dump))
166
+ }
@@ -0,0 +1,25 @@
1
+ declare module 'cloudflare:sockets' {
2
+ export class Socket {
3
+ public readonly readable: any
4
+ public readonly writable: any
5
+ public readonly closed: Promise<void>
6
+ public close(): Promise<void>
7
+ public startTls(options: TlsOptions): Socket
8
+ }
9
+
10
+ export type TlsOptions = {
11
+ expectedServerHostname?: string
12
+ }
13
+
14
+ export type SocketAddress = {
15
+ hostname: string
16
+ port: number
17
+ }
18
+
19
+ export type SocketOptions = {
20
+ secureTransport?: 'off' | 'on' | 'starttls'
21
+ allowHalfOpen?: boolean
22
+ }
23
+
24
+ export function connect(address: string | SocketAddress, options?: SocketOptions): Socket
25
+ }
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Iced Development
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,105 @@
1
+ pg-connection-string
2
+ ====================
3
+
4
+ [![NPM](https://nodei.co/npm/pg-connection-string.png?compact=true)](https://nodei.co/npm/pg-connection-string/)
5
+
6
+ Functions for dealing with a PostgresSQL connection string
7
+
8
+ `parse` method taken from [node-postgres](https://github.com/brianc/node-postgres.git)
9
+ Copyright (c) 2010-2014 Brian Carlson (brian.m.carlson@gmail.com)
10
+ MIT License
11
+
12
+ ## Usage
13
+
14
+ ```js
15
+ const parse = require('pg-connection-string').parse;
16
+
17
+ const config = parse('postgres://someuser:somepassword@somehost:381/somedatabase')
18
+ ```
19
+
20
+ The resulting config contains a subset of the following properties:
21
+
22
+ * `user` - User with which to authenticate to the server
23
+ * `password` - Corresponding password
24
+ * `host` - Postgres server hostname or, for UNIX domain sockets, the socket filename
25
+ * `port` - port on which to connect
26
+ * `database` - Database name within the server
27
+ * `client_encoding` - string encoding the client will use
28
+ * `ssl`, either a boolean or an object with properties
29
+ * `rejectUnauthorized`
30
+ * `cert`
31
+ * `key`
32
+ * `ca`
33
+ * any other query parameters (for example, `application_name`) are preserved intact.
34
+
35
+ ### ClientConfig Compatibility for TypeScript
36
+
37
+ The pg-connection-string `ConnectionOptions` interface is not compatible with the `ClientConfig` interface that [pg.Client](https://node-postgres.com/apis/client) expects. To remedy this, use the `parseIntoClientConfig` function instead of `parse`:
38
+
39
+ ```ts
40
+ import { ClientConfig } from 'pg';
41
+ import { parseIntoClientConfig } from 'pg-connection-string';
42
+
43
+ const config: ClientConfig = parseIntoClientConfig('postgres://someuser:somepassword@somehost:381/somedatabase')
44
+ ```
45
+
46
+ You can also use `toClientConfig` to convert an existing `ConnectionOptions` interface into a `ClientConfig` interface:
47
+
48
+ ```ts
49
+ import { ClientConfig } from 'pg';
50
+ import { parse, toClientConfig } from 'pg-connection-string';
51
+
52
+ const config = parse('postgres://someuser:somepassword@somehost:381/somedatabase')
53
+ const clientConfig: ClientConfig = toClientConfig(config)
54
+ ```
55
+
56
+ ## Connection Strings
57
+
58
+ The short summary of acceptable URLs is:
59
+
60
+ * `socket:<path>?<query>` - UNIX domain socket
61
+ * `postgres://<user>:<password>@<host>:<port>/<database>?<query>` - TCP connection
62
+
63
+ But see below for more details.
64
+
65
+ ### UNIX Domain Sockets
66
+
67
+ When user and password are not given, the socket path follows `socket:`, as in `socket:/var/run/pgsql`.
68
+ This form can be shortened to just a path: `/var/run/pgsql`.
69
+
70
+ When user and password are given, they are included in the typical URL positions, with an empty `host`, as in `socket://user:pass@/var/run/pgsql`.
71
+
72
+ Query parameters follow a `?` character, including the following special query parameters:
73
+
74
+ * `db=<database>` - sets the database name (urlencoded)
75
+ * `encoding=<encoding>` - sets the `client_encoding` property
76
+
77
+ ### TCP Connections
78
+
79
+ TCP connections to the Postgres server are indicated with `pg:` or `postgres:` schemes (in fact, any scheme but `socket:` is accepted).
80
+ If username and password are included, they should be urlencoded.
81
+ The database name, however, should *not* be urlencoded.
82
+
83
+ Query parameters follow a `?` character, including the following special query parameters:
84
+ * `host=<host>` - sets `host` property, overriding the URL's host
85
+ * `encoding=<encoding>` - sets the `client_encoding` property
86
+ * `ssl=1`, `ssl=true`, `ssl=0`, `ssl=false` - sets `ssl` to true or false, accordingly
87
+ * `uselibpqcompat=true` - use libpq semantics
88
+ * `sslmode=<sslmode>` when `uselibpqcompat=true` is not set
89
+ * `sslmode=disable` - sets `ssl` to false
90
+ * `sslmode=no-verify` - sets `ssl` to `{ rejectUnauthorized: false }`
91
+ * `sslmode=prefer`, `sslmode=require`, `sslmode=verify-ca`, `sslmode=verify-full` - sets `ssl` to true
92
+ * `sslmode=<sslmode>` when `uselibpqcompat=true`
93
+ * `sslmode=disable` - sets `ssl` to false
94
+ * `sslmode=prefer` - sets `ssl` to `{ rejectUnauthorized: false }`
95
+ * `sslmode=require` - sets `ssl` to `{ rejectUnauthorized: false }` unless `sslrootcert` is specified, in which case it behaves like `verify-ca`
96
+ * `sslmode=verify-ca` - sets `ssl` to `{ checkServerIdentity: no-op }` (verify CA, but not server identity). This verifies the presented certificate against the effective CA specified in sslrootcert.
97
+ * `sslmode=verify-full` - sets `ssl` to `{}` (verify CA and server identity)
98
+ * `sslcert=<filename>` - reads data from the given file and includes the result as `ssl.cert`
99
+ * `sslkey=<filename>` - reads data from the given file and includes the result as `ssl.key`
100
+ * `sslrootcert=<filename>` - reads data from the given file and includes the result as `ssl.ca`
101
+
102
+ A bare relative URL, such as `salesdata`, will indicate a database name while leaving other properties empty.
103
+
104
+ > [!CAUTION]
105
+ > Choosing an sslmode other than verify-full has serious security implications. Please read https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-SSLMODE-STATEMENTS to understand the trade-offs.
@@ -0,0 +1,8 @@
1
+ // ESM wrapper for pg-connection-string
2
+ import connectionString from '../index.js'
3
+
4
+ // Re-export the parse function
5
+ export default connectionString.parse
6
+ export const parse = connectionString.parse
7
+ export const toClientConfig = connectionString.toClientConfig
8
+ export const parseIntoClientConfig = connectionString.parseIntoClientConfig
@@ -0,0 +1,36 @@
1
+ import { ClientConfig } from 'pg'
2
+
3
+ export function parse(connectionString: string, options?: Options): ConnectionOptions
4
+
5
+ export interface Options {
6
+ // Use libpq semantics when interpreting the connection string
7
+ useLibpqCompat?: boolean
8
+ }
9
+
10
+ interface SSLConfig {
11
+ ca?: string
12
+ cert?: string | null
13
+ key?: string
14
+ rejectUnauthorized?: boolean
15
+ }
16
+
17
+ export interface ConnectionOptions {
18
+ host: string | null
19
+ password?: string
20
+ user?: string
21
+ port?: string | null
22
+ database: string | null | undefined
23
+ client_encoding?: string
24
+ ssl?: boolean | string | SSLConfig
25
+
26
+ application_name?: string
27
+ fallback_application_name?: string
28
+ options?: string
29
+ keepalives?: number
30
+
31
+ // We allow any other options to be passed through
32
+ [key: string]: unknown
33
+ }
34
+
35
+ export function toClientConfig(config: ConnectionOptions): ClientConfig
36
+ export function parseIntoClientConfig(connectionString: string): ClientConfig
@@ -0,0 +1,231 @@
1
+ 'use strict'
2
+
3
+ //Parse method copied from https://github.com/brianc/node-postgres
4
+ //Copyright (c) 2010-2014 Brian Carlson (brian.m.carlson@gmail.com)
5
+ //MIT License
6
+
7
+ //parses a connection string
8
+ function parse(str, options = {}) {
9
+ //unix socket
10
+ if (str.charAt(0) === '/') {
11
+ const config = str.split(' ')
12
+ return { host: config[0], database: config[1] }
13
+ }
14
+
15
+ // Check for empty host in URL
16
+
17
+ const config = {}
18
+ let result
19
+ let dummyHost = false
20
+ if (/ |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str)) {
21
+ // Ensure spaces are encoded as %20
22
+ str = encodeURI(str).replace(/%25(\d\d)/g, '%$1')
23
+ }
24
+
25
+ try {
26
+ try {
27
+ result = new URL(str, 'postgres://base')
28
+ } catch (e) {
29
+ // The URL is invalid so try again with a dummy host
30
+ result = new URL(str.replace('@/', '@___DUMMY___/'), 'postgres://base')
31
+ dummyHost = true
32
+ }
33
+ } catch (err) {
34
+ // Remove the input from the error message to avoid leaking sensitive information
35
+ err.input && (err.input = '*****REDACTED*****')
36
+ throw err
37
+ }
38
+
39
+ // We'd like to use Object.fromEntries() here but Node.js 10 does not support it
40
+ for (const entry of result.searchParams.entries()) {
41
+ config[entry[0]] = entry[1]
42
+ }
43
+
44
+ config.user = config.user || decodeURIComponent(result.username)
45
+ config.password = config.password || decodeURIComponent(result.password)
46
+
47
+ if (result.protocol == 'socket:') {
48
+ config.host = decodeURI(result.pathname)
49
+ config.database = result.searchParams.get('db')
50
+ config.client_encoding = result.searchParams.get('encoding')
51
+ return config
52
+ }
53
+ const hostname = dummyHost ? '' : result.hostname
54
+ if (!config.host) {
55
+ // Only set the host if there is no equivalent query param.
56
+ config.host = decodeURIComponent(hostname)
57
+ } else if (hostname && /^%2f/i.test(hostname)) {
58
+ // Only prepend the hostname to the pathname if it is not a URL encoded Unix socket host.
59
+ result.pathname = hostname + result.pathname
60
+ }
61
+ if (!config.port) {
62
+ // Only set the port if there is no equivalent query param.
63
+ config.port = result.port
64
+ }
65
+
66
+ const pathname = result.pathname.slice(1) || null
67
+ config.database = pathname ? decodeURI(pathname) : null
68
+
69
+ if (config.ssl === 'true' || config.ssl === '1') {
70
+ config.ssl = true
71
+ }
72
+
73
+ if (config.ssl === '0') {
74
+ config.ssl = false
75
+ }
76
+
77
+ if (config.sslcert || config.sslkey || config.sslrootcert || config.sslmode) {
78
+ config.ssl = {}
79
+ }
80
+
81
+ // Only try to load fs if we expect to read from the disk
82
+ const fs = config.sslcert || config.sslkey || config.sslrootcert ? require('fs') : null
83
+
84
+ if (config.sslcert) {
85
+ config.ssl.cert = fs.readFileSync(config.sslcert).toString()
86
+ }
87
+
88
+ if (config.sslkey) {
89
+ config.ssl.key = fs.readFileSync(config.sslkey).toString()
90
+ }
91
+
92
+ if (config.sslrootcert) {
93
+ config.ssl.ca = fs.readFileSync(config.sslrootcert).toString()
94
+ }
95
+
96
+ if (options.useLibpqCompat && config.uselibpqcompat) {
97
+ throw new Error('Both useLibpqCompat and uselibpqcompat are set. Please use only one of them.')
98
+ }
99
+
100
+ if (config.uselibpqcompat === 'true' || options.useLibpqCompat) {
101
+ switch (config.sslmode) {
102
+ case 'disable': {
103
+ config.ssl = false
104
+ break
105
+ }
106
+ case 'prefer': {
107
+ config.ssl.rejectUnauthorized = false
108
+ break
109
+ }
110
+ case 'require': {
111
+ if (config.sslrootcert) {
112
+ // If a root CA is specified, behavior of `sslmode=require` will be the same as that of `verify-ca`
113
+ config.ssl.checkServerIdentity = function () {}
114
+ } else {
115
+ config.ssl.rejectUnauthorized = false
116
+ }
117
+ break
118
+ }
119
+ case 'verify-ca': {
120
+ if (!config.ssl.ca) {
121
+ throw new Error(
122
+ 'SECURITY WARNING: Using sslmode=verify-ca requires specifying a CA with sslrootcert. If a public CA is used, verify-ca allows connections to a server that somebody else may have registered with the CA, making you vulnerable to Man-in-the-Middle attacks. Either specify a custom CA certificate with sslrootcert parameter or use sslmode=verify-full for proper security.'
123
+ )
124
+ }
125
+ config.ssl.checkServerIdentity = function () {}
126
+ break
127
+ }
128
+ case 'verify-full': {
129
+ break
130
+ }
131
+ }
132
+ } else {
133
+ switch (config.sslmode) {
134
+ case 'disable': {
135
+ config.ssl = false
136
+ break
137
+ }
138
+ case 'prefer':
139
+ case 'require':
140
+ case 'verify-ca':
141
+ case 'verify-full': {
142
+ if (config.sslmode !== 'verify-full') {
143
+ deprecatedSslModeWarning(config.sslmode)
144
+ }
145
+ break
146
+ }
147
+ case 'no-verify': {
148
+ config.ssl.rejectUnauthorized = false
149
+ break
150
+ }
151
+ }
152
+ }
153
+
154
+ return config
155
+ }
156
+
157
+ // convert pg-connection-string ssl config to a ClientConfig.ConnectionOptions
158
+ function toConnectionOptions(sslConfig) {
159
+ const connectionOptions = Object.entries(sslConfig).reduce((c, [key, value]) => {
160
+ // we explicitly check for undefined and null instead of `if (value)` because some
161
+ // options accept falsy values. Example: `ssl.rejectUnauthorized = false`
162
+ if (value !== undefined && value !== null) {
163
+ c[key] = value
164
+ }
165
+
166
+ return c
167
+ }, {})
168
+
169
+ return connectionOptions
170
+ }
171
+
172
+ // convert pg-connection-string config to a ClientConfig
173
+ function toClientConfig(config) {
174
+ const poolConfig = Object.entries(config).reduce((c, [key, value]) => {
175
+ if (key === 'ssl') {
176
+ const sslConfig = value
177
+
178
+ if (typeof sslConfig === 'boolean') {
179
+ c[key] = sslConfig
180
+ }
181
+
182
+ if (typeof sslConfig === 'object') {
183
+ c[key] = toConnectionOptions(sslConfig)
184
+ }
185
+ } else if (value !== undefined && value !== null) {
186
+ if (key === 'port') {
187
+ // when port is not specified, it is converted into an empty string
188
+ // we want to avoid NaN or empty string as a values in ClientConfig
189
+ if (value !== '') {
190
+ const v = parseInt(value, 10)
191
+ if (isNaN(v)) {
192
+ throw new Error(`Invalid ${key}: ${value}`)
193
+ }
194
+
195
+ c[key] = v
196
+ }
197
+ } else {
198
+ c[key] = value
199
+ }
200
+ }
201
+
202
+ return c
203
+ }, {})
204
+
205
+ return poolConfig
206
+ }
207
+
208
+ // parses a connection string into ClientConfig
209
+ function parseIntoClientConfig(str) {
210
+ return toClientConfig(parse(str))
211
+ }
212
+
213
+ function deprecatedSslModeWarning(sslmode) {
214
+ if (!deprecatedSslModeWarning.warned && typeof process !== 'undefined' && process.emitWarning) {
215
+ deprecatedSslModeWarning.warned = true
216
+ process.emitWarning(`SECURITY WARNING: The SSL modes 'prefer', 'require', and 'verify-ca' are treated as aliases for 'verify-full'.
217
+ In the next major version (pg-connection-string v3.0.0 and pg v9.0.0), these modes will adopt standard libpq semantics, which have weaker security guarantees.
218
+
219
+ To prepare for this change:
220
+ - If you want the current behavior, explicitly use 'sslmode=verify-full'
221
+ - If you want libpq compatibility now, use 'uselibpqcompat=true&sslmode=${sslmode}'
222
+
223
+ See https://www.postgresql.org/docs/current/libpq-ssl.html for libpq SSL mode definitions.`)
224
+ }
225
+ }
226
+
227
+ module.exports = parse
228
+
229
+ parse.parse = parse
230
+ parse.toClientConfig = toClientConfig
231
+ parse.parseIntoClientConfig = parseIntoClientConfig
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "pg-connection-string",
3
+ "version": "2.12.0",
4
+ "description": "Functions for dealing with a PostgresSQL connection string",
5
+ "main": "./index.js",
6
+ "types": "./index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./index.d.ts",
10
+ "import": "./esm/index.mjs",
11
+ "require": "./index.js",
12
+ "default": "./index.js"
13
+ }
14
+ },
15
+ "scripts": {
16
+ "test": "nyc --reporter=lcov mocha && npm run check-coverage",
17
+ "check-coverage": "nyc check-coverage --statements 100 --branches 100 --lines 100 --functions 100"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git://github.com/brianc/node-postgres.git",
22
+ "directory": "packages/pg-connection-string"
23
+ },
24
+ "keywords": [
25
+ "pg",
26
+ "connection",
27
+ "string",
28
+ "parse"
29
+ ],
30
+ "author": "Blaine Bublitz <blaine@iceddev.com> (http://iceddev.com/)",
31
+ "license": "MIT",
32
+ "bugs": {
33
+ "url": "https://github.com/brianc/node-postgres/issues"
34
+ },
35
+ "homepage": "https://github.com/brianc/node-postgres/tree/master/packages/pg-connection-string",
36
+ "devDependencies": {
37
+ "@types/pg": "^8.12.0",
38
+ "chai": "^4.1.1",
39
+ "coveralls": "^3.0.4",
40
+ "istanbul": "^0.4.5",
41
+ "mocha": "^11.7.5",
42
+ "nyc": "^15",
43
+ "tsx": "^4.19.4",
44
+ "typescript": "^4.0.3"
45
+ },
46
+ "files": [
47
+ "index.js",
48
+ "index.d.ts",
49
+ "esm"
50
+ ],
51
+ "gitHead": "c9070cc8d526fca65780cedc25c1966b57cf7532"
52
+ }
@@ -0,0 +1,13 @@
1
+ Copyright © 2017, Charmander <~@charmander.me>
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any
4
+ purpose with or without fee is hereby granted, provided that the above
5
+ copyright notice and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,16 @@
1
+ [![Build status][ci image]][ci]
2
+
3
+ 64-bit big-endian signed integer-to-string conversion designed for [pg][].
4
+
5
+ ```js
6
+ const readInt8 = require('pg-int8');
7
+
8
+ readInt8(Buffer.from([0, 1, 2, 3, 4, 5, 6, 7]))
9
+ // '283686952306183'
10
+ ```
11
+
12
+
13
+ [pg]: https://github.com/brianc/node-postgres
14
+
15
+ [ci]: https://travis-ci.org/charmander/pg-int8
16
+ [ci image]: https://api.travis-ci.org/charmander/pg-int8.svg