decocms 2.172.2 → 2.173.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.
- package/dist/client/assets/{AlertCircle-ClrGTaOd.js → AlertCircle-BoncS6LP.js} +1 -1
- package/dist/client/assets/{AlignLeft-CDH2kHzq.js → AlignLeft-DBFp0-N7.js} +1 -1
- package/dist/client/assets/{ArrowDown-DlYdW6Y7.js → ArrowDown-C3BzPPYX.js} +1 -1
- package/dist/client/assets/{ArrowLeft-DusSg6k7.js → ArrowLeft-BJzvklmo.js} +1 -1
- package/dist/client/assets/{ArrowUp-BadPbvy3.js → ArrowUp-C6T9wa52.js} +1 -1
- package/dist/client/assets/{Check-D47qqsWi.js → Check-D28ZRrsv.js} +1 -1
- package/dist/client/assets/{CheckCircle-CM5PTjhy.js → CheckCircle-ItsEMznk.js} +1 -1
- package/dist/client/assets/{CheckDone01-DU8levxk.js → CheckDone01-Cc3wOEJd.js} +1 -1
- package/dist/client/assets/{CheckVerified02-CACpEsSD.js → CheckVerified02-Dvd1EdLV.js} +1 -1
- package/dist/client/assets/{ChevronDown-CmFoa-MN.js → ChevronDown-D9EMTJdI.js} +1 -1
- package/dist/client/assets/{ChevronLeft-BBZtRY0q.js → ChevronLeft-6LF5odkw.js} +1 -1
- package/dist/client/assets/{ChevronRight-Ccc_Sjed.js → ChevronRight-6oHy3GR0.js} +1 -1
- package/dist/client/assets/{ChevronUp-JcxjaYTK.js → ChevronUp-iKqBRKww.js} +1 -1
- package/dist/client/assets/{Clock-DvBllXAe.js → Clock-DKgv7FMl.js} +1 -1
- package/dist/client/assets/{Code01-D384qtrJ.js → Code01-D874vQ1j.js} +1 -1
- package/dist/client/assets/{Coins01-q-yLaV-s.js → Coins01-CHKCanND.js} +1 -1
- package/dist/client/assets/{Container-BgIU6bWo.js → Container-v7Lu1WNT.js} +1 -1
- package/dist/client/assets/{Copy01-sKED-vLj.js → Copy01-D3an2EO3.js} +1 -1
- package/dist/client/assets/{Dataflow03-D3htYp-N.js → Dataflow03-C1gtqNGI.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-azkhUMft.js → DotsHorizontal-BUWy0q6M.js} +1 -1
- package/dist/client/assets/{DotsVertical-Dt48o-Bq.js → DotsVertical-teVTiLQ2.js} +1 -1
- package/dist/client/assets/{Download01-Dp-HI0LA.js → Download01-DFr_zgIP.js} +1 -1
- package/dist/client/assets/{Edit01-C-PQ-7gV.js → Edit01-BIu4og98.js} +1 -1
- package/dist/client/assets/{Edit05-CTabXUvX.js → Edit05-hkZ8uhSL.js} +1 -1
- package/dist/client/assets/{Eye-BeIr8Vzd.js → Eye-BKxgN9Ci.js} +1 -1
- package/dist/client/assets/{EyeOff-Du1k40Nm.js → EyeOff-CAEuyJy8.js} +1 -1
- package/dist/client/assets/{File02-Bo9eFHTr.js → File02-Cpr-39PX.js} +1 -1
- package/dist/client/assets/{File06-BMW8ao_w.js → File06-9lDkVwq5.js} +1 -1
- package/dist/client/assets/{FilterLines-DqaELPn1.js → FilterLines-DBXa2xhp.js} +1 -1
- package/dist/client/assets/{Globe01-ISMTzK2m.js → Globe01-Dzq2G0hT.js} +1 -1
- package/dist/client/assets/{Globe02-BY9KQM8G.js → Globe02-cnnmW-yP.js} +1 -1
- package/dist/client/assets/{Grid01-kGaUg_cc.js → Grid01-B8Hz8XFZ.js} +1 -1
- package/dist/client/assets/{Hash02-DDXDI8ry.js → Hash02-CQioUpKU.js} +1 -1
- package/dist/client/assets/{Home02-BJ1pwYUW.js → Home02-Dhg6fiem.js} +1 -1
- package/dist/client/assets/{Image01-D1cm-3FQ.js → Image01-exfB-slY.js} +1 -1
- package/dist/client/assets/{Inbox01-BEwYpwmE.js → Inbox01-Bw2rff6F.js} +1 -1
- package/dist/client/assets/{InfoCircle-Cn8apf8U.js → InfoCircle-BzkuJise.js} +1 -1
- package/dist/client/assets/{Key01-CEedyU25.js → Key01-echsPc8T.js} +1 -1
- package/dist/client/assets/{LayersTwo01-BTT9GgdG.js → LayersTwo01-HSSB0HBk.js} +1 -1
- package/dist/client/assets/{LayoutLeft-bKrytFeq.js → LayoutLeft-CsdSAGAc.js} +1 -1
- package/dist/client/assets/{Link01-C_y_eRnq.js → Link01-DqBjIV11.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Cjuepk2Y.js → LinkExternal01-BiHdSj-G.js} +1 -1
- package/dist/client/assets/{List-Bz4PLQWX.js → List-CCSmMits.js} +1 -1
- package/dist/client/assets/{Loading01-Ds_yIlBt.js → Loading01-R4lTIOmc.js} +1 -1
- package/dist/client/assets/{Lock01-r4p0TJqu.js → Lock01-BtcVHLM1.js} +1 -1
- package/dist/client/assets/{Play-Btzdao8L.js → Play-CeCy0kkp.js} +1 -1
- package/dist/client/assets/{Plus-Cln26t9k.js → Plus-BPhP6AwU.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-B05f0aP-.js → RefreshCcw01-BpP2wWfT.js} +1 -1
- package/dist/client/assets/{Save01-BanXz4II.js → Save01-Go0UNRDT.js} +1 -1
- package/dist/client/assets/{SearchMd-C32DAy1s.js → SearchMd-DYtqpNhS.js} +1 -1
- package/dist/client/assets/{Settings01-C0PXfLqi.js → Settings01-DLXMaJiZ.js} +1 -1
- package/dist/client/assets/{Shield01-CCHp_zdi.js → Shield01-BPEMPVyT.js} +1 -1
- package/dist/client/assets/{Terminal-DcTm6ji-.js → Terminal-DvdwlySH.js} +1 -1
- package/dist/client/assets/{Trash01-DK1y3dZk.js → Trash01-11PM8hCT.js} +1 -1
- package/dist/client/assets/{Upload01-D2MbAzFl.js → Upload01-s0dK95gX.js} +1 -1
- package/dist/client/assets/{Users03-Ch2G4iRo.js → Users03-Bn5Ina1h.js} +1 -1
- package/dist/client/assets/{X-BeNP8bdc.js → X-C1gVOX-K.js} +1 -1
- package/dist/client/assets/{XCircle-C4Z1TBLP.js → XCircle-D_WssbjQ.js} +1 -1
- package/dist/client/assets/{XClose-ByRUZPAd.js → XClose-CzgfsXpl.js} +1 -1
- package/dist/client/assets/{Zap-BdI1rdNQ.js → Zap-rjtLs8AB.js} +1 -1
- package/dist/client/assets/{agent-connections-preview-B3lSJXbc.js → agent-connections-preview-B2zSeYmN.js} +1 -1
- package/dist/client/assets/{agent-detail-BE2wTwjO.js → agent-detail-C1YSF6Hq.js} +1 -1
- package/dist/client/assets/{agents-v7yFskYw.js → agents-DXzQUsKT.js} +1 -1
- package/dist/client/assets/{alert-dialog-BzmriYXD.js → alert-dialog-wQYrtq_g.js} +1 -1
- package/dist/client/assets/{auth-catchall-Cn7HOage.js → auth-catchall-BZlDikmp.js} +1 -1
- package/dist/client/assets/{automation-detail-3dPYUMP4.js → automation-detail-PwcSF1F0.js} +1 -1
- package/dist/client/assets/{automations-ByAliss3.js → automations-CTICk2Dp.js} +1 -1
- package/dist/client/assets/{avatar-VLsj4w_k.js → avatar-XKo1hvHY.js} +1 -1
- package/dist/client/assets/{badge-CQLalkEE.js → badge-BEyO0T03.js} +1 -1
- package/dist/client/assets/{binder-BCOcjrHc.js → binder-D-EP4Rws.js} +1 -1
- package/dist/client/assets/{breadcrumb-CtHpt1Hj.js → breadcrumb-BSZlBaPP.js} +1 -1
- package/dist/client/assets/{card-Dg8bSF1g.js → card-Cq808vu1.js} +1 -1
- package/dist/client/assets/{chart-CIIYUfQq.js → chart-DNqGB3ic.js} +1 -1
- package/dist/client/assets/{checkbox-5OPx-kaV.js → checkbox-D1_FXNWD.js} +1 -1
- package/dist/client/assets/{collapsible-DLZfoTEM.js → collapsible-wDXCk9xP.js} +1 -1
- package/dist/client/assets/{collection-detail-Bb3JCZHo.js → collection-detail-CsiVX8xV.js} +1 -1
- package/dist/client/assets/{collection-display-button-DV49rNbI.js → collection-display-button-yOA8wYm8.js} +1 -1
- package/dist/client/assets/{collection-search-BHtDjvQL.js → collection-search-C0Xdyimh.js} +1 -1
- package/dist/client/assets/{collection-tab-C9b9XvN2.js → collection-tab-C4posZLi.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BgavezLW.js → collection-table-wrapper-BjxWZ4Q4.js} +1 -1
- package/dist/client/assets/{collection-tabs-DMmhv_1g.js → collection-tabs-Bdn3rWHw.js} +1 -1
- package/dist/client/assets/{command-DDZ63V3H.js → command-BO0v9Sf_.js} +1 -1
- package/dist/client/assets/{connect-DVhMOx8A.js → connect-DFz_0Mcc.js} +1 -1
- package/dist/client/assets/{connection-card-B8Ku_xnQ.js → connection-card-Iw1tldfy.js} +1 -1
- package/dist/client/assets/{connection-detail-CRo734HG.js → connection-detail-BX76SiPq.js} +1 -1
- package/dist/client/assets/{connection-status-CHkDe4eX.js → connection-status-BPCtNzAX.js} +1 -1
- package/dist/client/assets/{connections-CcoPNKjM.js → connections-Dzct8UZO.js} +1 -1
- package/dist/client/assets/{constants-m_OMiYqO.js → constants-BJq0sg2N.js} +1 -1
- package/dist/client/assets/constants-CYoMn_-y.js +1 -0
- package/dist/client/assets/{context-CcNCVCjQ.js → context-30W0NRWC.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-DI-d1926.js → create-organization-dialog-qEzwR9y0.js} +1 -1
- package/dist/client/assets/{create-project-dialog-DCdoTB_M.js → create-project-dialog-CL4W5SGR.js} +1 -1
- package/dist/client/assets/{danger-BxsYXYff.js → danger-C5I4O3c5.js} +1 -1
- package/dist/client/assets/{danger-zone-CtWw91XF.js → danger-zone-BRN9nPUd.js} +1 -1
- package/dist/client/assets/{dependencies-Bqe9XWvV.js → dependencies-BMgtEL4Y.js} +1 -1
- package/dist/client/assets/{dialog-CYxmdCAY.js → dialog-DtQJmLgU.js} +1 -1
- package/dist/client/assets/{dropdown-menu-B2-TC2ID.js → dropdown-menu-Dh14MX71.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-B179FmFO.js → dynamic-plugin-layout-BgreQ4An.js} +1 -1
- package/dist/client/assets/{editable-task-title-CboTctFV.js → editable-task-title-aeTfEW-D.js} +1 -1
- package/dist/client/assets/{empty-state-QAJJHSPh.js → empty-state-ChTznqc5.js} +1 -1
- package/dist/client/assets/{empty-state-DyAFrOdp.js → empty-state-DehivavO.js} +1 -1
- package/dist/client/assets/{env-vars-editor-C3IuaF3S.js → env-vars-editor-DuCm8QB_.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Cir4onx8.js → extract-connection-data-is00SRVb.js} +1 -1
- package/dist/client/assets/{file-browser-B3Xjj9S3.js → file-browser-BGVmEICO.js} +2 -2
- package/dist/client/assets/{form-BD_Oipqm.js → form-AwZCFVNc.js} +1 -1
- package/dist/client/assets/{general-CYb7i3K7.js → general-FbFo9Qid.js} +1 -1
- package/dist/client/assets/{grid-view-sbwQx6r5.js → grid-view-BqKnb9Io.js} +1 -1
- package/dist/client/assets/{home-B_gsL057.js → home-B--5foK8.js} +1 -1
- package/dist/client/assets/{icon-picker-BRNi8Awo.js → icon-picker-DIH_A1bl.js} +1 -1
- package/dist/client/assets/{index-Bs1-6MBJ.js → index--v47KjFS.js} +3 -3
- package/dist/client/assets/{index-Brmwx3QP.js → index-23ha-EiC.js} +1 -1
- package/dist/client/assets/{index-BCllOtlC.js → index-B67pQy0t.js} +1 -1
- package/dist/client/assets/{index-Dnjtu_kb.js → index-C1rNFCdf.js} +1 -1
- package/dist/client/assets/{index-DB_UqrMB.js → index-CRBE07YF.js} +1 -1
- package/dist/client/assets/{index-CvQBntDd.js → index-CUQZow0Z.js} +1 -1
- package/dist/client/assets/{index-CqNVEhLV.js → index-DLQk7Ahb.js} +1 -1
- package/dist/client/assets/{index-Cta5OAsO.css → index-DmrxmdhV.css} +1 -1
- package/dist/client/assets/{index-Cy5NxMqm.js → index-DnEhhRJ4.js} +1 -1
- package/dist/client/assets/{index-BDDekZH-.js → index-DrRz1QdK.js} +1 -1
- package/dist/client/assets/{index-DJ850qZq.js → index-oFBA5kHq.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-BCxJZiPx.js → infiniteQueryObserver-Bv6Q8uee.js} +1 -1
- package/dist/client/assets/{input-oo9dNDtJ.js → input-B43ueF_6.js} +1 -1
- package/dist/client/assets/{integration-icon-BxDprz4-.js → integration-icon-jSV9a6uH.js} +1 -1
- package/dist/client/assets/{label-Ow7deF1V.js → label-Bp2-MH_v.js} +1 -1
- package/dist/client/assets/{layout-D-gNHDgT.js → layout-CHhBOues.js} +1 -1
- package/dist/client/assets/{layout-0-CpWJ4q.js → layout-ChV6hmvw.js} +1 -1
- package/dist/client/assets/{login-DMiDY1PH.js → login-DujtqNSP.js} +1 -1
- package/dist/client/assets/{logo-upload-DGm5nNR_.js → logo-upload-CFiX7Ocr.js} +1 -1
- package/dist/client/assets/{markdown-CC_Pgtlw.js → markdown-CHm0rLGk.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-eiwTuNJm.js → mcp-app-renderer-C9PcNeIF.js} +1 -1
- package/dist/client/assets/{mcp-server-card-ZHSZs_kf.js → mcp-server-card-BVdsLKTg.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-DjKWYtHQ.js → mcp-server-detail-hWzz0p7M.js} +2 -2
- package/dist/client/assets/{members-CGtMoiYA.js → members-Dw7k8W_H.js} +1 -1
- package/dist/client/assets/{monaco-editor-DFgX2f59.js → monaco-editor-O-cJeAC7.js} +1 -1
- package/dist/client/assets/{monitoring-CQa1Ybic.js → monitoring-C_GmEx18.js} +1 -1
- package/dist/client/assets/{monitoring-dashboard-edit-CtdirIJ7.js → monitoring-dashboard-edit-Db8dSzpX.js} +1 -1
- package/dist/client/assets/{monitoring-dashboard-view-BzmmgyM6.js → monitoring-dashboard-view-DncdutYs.js} +1 -1
- package/dist/client/assets/{oauth-callback-BBrt_ccP.js → oauth-callback-D-e5bR0R.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-B0mK5DTc.js → oauth-callback-ai-provider-DfwJ0j8l.js} +1 -1
- package/dist/client/assets/{org-ai-providers-2oudOR3a.js → org-ai-providers-BB_Kk_yW.js} +1 -1
- package/dist/client/assets/{page-BpUENCQ3.js → page-BHcE-IsW.js} +1 -1
- package/dist/client/assets/{page-Cm8DLHRx.js → page-DIduNonD.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-D4HrModi.js → plugin-empty-state-CGg9Zobz.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-D4jNxBX5.js → plugin-empty-state-DF5DjKQn.js} +1 -1
- package/dist/client/assets/{plugin-header-Bd2q22iA.js → plugin-header-CwOisLLl.js} +1 -1
- package/dist/client/assets/{plugin-header-hexKC2z7.js → plugin-header-oOJ_SB7i.js} +1 -1
- package/dist/client/assets/plugins-D61XA0e1.js +1 -0
- package/dist/client/assets/{popover-BQwql0No.js → popover-CRGn9IqN.js} +1 -1
- package/dist/client/assets/{project-app-view-CWpHCZKH.js → project-app-view-C6bFj2jv.js} +1 -1
- package/dist/client/assets/{project-layout-CZw982Go.js → project-layout-xuVkDUgj.js} +1 -1
- package/dist/client/assets/{project-plugins-C6LqmbaN.js → project-plugins-BtJagofo.js} +1 -1
- package/dist/client/assets/{projects-list-n35yk1kw.js → projects-list-rUiZxv6z.js} +1 -1
- package/dist/client/assets/{readme-viewer-C4a15ScG.js → readme-viewer-CgvhJVTC.js} +1 -1
- package/dist/client/assets/{registry-layout-BXxLm88S.js → registry-layout-BYOMcr5d.js} +1 -1
- package/dist/client/assets/{registry-utils-8JbjeIg2.js → registry-utils-DRlaL1TA.js} +1 -1
- package/dist/client/assets/{reports-layout-DDT7TPDK.js → reports-layout-BZCASsb2.js} +1 -1
- package/dist/client/assets/{reset-password-C8mz9-pn.js → reset-password-ptCGMW1Q.js} +1 -1
- package/dist/client/assets/{resizable-BEGLyBcY.js → resizable-BipYny0A.js} +1 -1
- package/dist/client/assets/{save-actions-tJMaBMCr.js → save-actions-6CE1ypPt.js} +1 -1
- package/dist/client/assets/{scroll-area-zXI7Mnta.js → scroll-area-CvC7l56a.js} +1 -1
- package/dist/client/assets/{select-DE-s_uro.js → select-1qCYmo_Z.js} +1 -1
- package/dist/client/assets/{select-virtual-mcp-3UuH5RYu.js → select-virtual-mcp-t9uZXeiE.js} +1 -1
- package/dist/client/assets/shell-layout-DS537tct.js +3 -0
- package/dist/client/assets/{sidebar-settings-BleCcXqd.js → sidebar-settings-Gn9QDCS3.js} +1 -1
- package/dist/client/assets/{skeleton-FXjthcRm.js → skeleton-Vs0ahWNW.js} +1 -1
- package/dist/client/assets/{spinner-LkGFTHYs.js → spinner-DY37bQ6b.js} +1 -1
- package/dist/client/assets/{store-invite-DY166hBP.js → store-invite-CZ47dQJt.js} +1 -1
- package/dist/client/assets/{switch-CmbZgNTQ.js → switch-ChOmwFAU.js} +1 -1
- package/dist/client/assets/{table-DQFo79Pa.js → table-Ds5hcAfV.js} +1 -1
- package/dist/client/assets/{tabs-VJ4cZZ6Y.js → tabs-Dpw2g7MT.js} +1 -1
- package/dist/client/assets/{task-status-Cp67IvSc.js → task-status-BEYFiOcg.js} +21 -21
- package/dist/client/assets/tasks-CdG9QSFK.js +1 -0
- package/dist/client/assets/{tasks-panel-BcHTmaRp.js → tasks-panel-B9E0VzsT.js} +1 -1
- package/dist/client/assets/{textarea-_fKX6fkc.js → textarea-C-fRxR1X.js} +1 -1
- package/dist/client/assets/{time-range-picker-CwXbYm21.js → time-range-picker-DLfN0bYQ.js} +1 -1
- package/dist/client/assets/{toggle-group-CG-mSzeH.js → toggle-group-BwEgndSj.js} +1 -1
- package/dist/client/assets/{tools-list-BqjA8cpd.js → tools-list-DzGfMYwE.js} +1 -1
- package/dist/client/assets/{tooltip-DvMIj9Vl.js → tooltip-B2CdQ2bN.js} +1 -1
- package/dist/client/assets/{topbar-portal-8N6OCP_q.js → topbar-portal-C72-23Dd.js} +1 -1
- package/dist/client/assets/{types-co6EnWx4.js → types-CixwvVqB.js} +1 -1
- package/dist/client/assets/{use-automations-CmbPeGrO.js → use-automations-D8qaeage.js} +1 -1
- package/dist/client/assets/{use-binding-BDoLJ3NJ.js → use-binding-C6wyTPOH.js} +1 -1
- package/dist/client/assets/{use-collections-BWCPG3qv.js → use-collections-CobBqkkk.js} +1 -1
- package/dist/client/assets/{use-connection-DNxPUHEC.js → use-connection-CUBEGKKv.js} +1 -1
- package/dist/client/assets/{use-copy-B6Vhad-4.js → use-copy-CCW7WupY.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CsD8b5oZ.js → use-create-virtual-mcp-44rNe9r4.js} +1 -1
- package/dist/client/assets/{use-install-from-registry-rVBF9_Ya.js → use-install-from-registry-B6Xy7L7O.js} +1 -1
- package/dist/client/assets/{use-list-state-CxptnZc8.js → use-list-state-DmSf1SxJ.js} +1 -1
- package/dist/client/assets/{use-llm-Cx0n4D2y.js → use-llm-CgNJSzil.js} +1 -1
- package/dist/client/assets/{use-local-storage-BO16s_mB.js → use-local-storage-B5rcvGp1.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-El8F9wfP.js → use-mcp-prompts-CWXp4Vto.js} +1 -1
- package/dist/client/assets/{use-mcp-resources-CQM51ISF.js → use-mcp-resources-CdviUNt8.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CGAtxBQr.js → use-mcp-tools-DhfUlmve.js} +1 -1
- package/dist/client/assets/{use-members-C5Abj3Nl.js → use-members-D-zu9EQ4.js} +1 -1
- package/dist/client/assets/{use-mobile-CMPROSym.js → use-mobile-DfdfcC2T.js} +1 -1
- package/dist/client/assets/{use-project-D1HuJpb-.js → use-project-FOWgS7Lo.js} +1 -1
- package/dist/client/assets/{use-view-mode-DtcqFKqx.js → use-view-mode-bhKhl_no.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-HJi07IrH.js → use-virtual-mcp-D_pRY4Y5.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-VDF7Rw4W.js +1 -0
- package/dist/client/assets/{useMutation-C7wTU_P1.js → useMutation-BK2VTSKG.js} +1 -1
- package/dist/client/assets/useQuery-WdhzaCOu.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-B49n2iIj.js +1 -0
- package/dist/client/assets/{user-CL49YHal.js → user-D7ZGT9n7.js} +1 -1
- package/dist/client/assets/{workflow-se3doO0e.js → workflow-BlmkM3G6.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/node_modules/pg/README.md +95 -0
- package/dist/server/node_modules/pg/esm/index.mjs +20 -0
- package/dist/server/node_modules/pg/lib/client.js +743 -0
- package/dist/server/node_modules/pg/lib/connection-parameters.js +171 -0
- package/dist/server/node_modules/pg/lib/connection.js +221 -0
- package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +122 -0
- package/dist/server/node_modules/pg/lib/crypto/sasl.js +212 -0
- package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +43 -0
- package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +89 -0
- package/dist/server/node_modules/pg/lib/crypto/utils.js +9 -0
- package/dist/server/node_modules/pg/lib/defaults.js +91 -0
- package/dist/server/node_modules/pg/lib/index.js +73 -0
- package/dist/server/node_modules/pg/lib/native/client.js +323 -0
- package/dist/server/node_modules/pg/lib/native/index.js +2 -0
- package/dist/server/node_modules/pg/lib/native/query.js +165 -0
- package/dist/server/node_modules/pg/lib/query.js +252 -0
- package/dist/server/node_modules/pg/lib/result.js +109 -0
- package/dist/server/node_modules/pg/lib/stream.js +83 -0
- package/dist/server/node_modules/pg/lib/type-overrides.js +35 -0
- package/dist/server/node_modules/pg/lib/utils.js +217 -0
- package/dist/server/node_modules/pg/package.json +76 -0
- package/dist/server/node_modules/postgres-date/index.js +116 -0
- package/dist/server/node_modules/{postgres-interval → postgres-date}/package.json +8 -11
- package/dist/server/node_modules/postgres-date/readme.md +49 -0
- package/package.json +1 -1
- package/dist/client/assets/constants-BRaJPJag.js +0 -1
- package/dist/client/assets/plugins-BfhzI-KM.js +0 -1
- package/dist/client/assets/shell-layout-DwAcy6I2.js +0 -3
- package/dist/client/assets/tasks-D4G9J1eF.js +0 -1
- package/dist/client/assets/useInfiniteQuery-C05JDjpl.js +0 -1
- package/dist/client/assets/useQuery-wPyHm29j.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-9yayOuFY.js +0 -1
- package/dist/server/node_modules/async-exit-hook/CHANGELOG.md +0 -62
- package/dist/server/node_modules/async-exit-hook/index.js +0 -171
- package/dist/server/node_modules/async-exit-hook/license +0 -21
- package/dist/server/node_modules/async-exit-hook/package.json +0 -66
- package/dist/server/node_modules/async-exit-hook/readme.md +0 -118
- package/dist/server/node_modules/pg-cloudflare/README.md +0 -112
- package/dist/server/node_modules/pg-cloudflare/dist/empty.d.ts +0 -2
- package/dist/server/node_modules/pg-cloudflare/dist/empty.js +0 -6
- package/dist/server/node_modules/pg-cloudflare/dist/empty.js.map +0 -1
- package/dist/server/node_modules/pg-cloudflare/dist/index.d.ts +0 -31
- package/dist/server/node_modules/pg-cloudflare/dist/index.js +0 -152
- package/dist/server/node_modules/pg-cloudflare/dist/index.js.map +0 -1
- package/dist/server/node_modules/pg-cloudflare/esm/index.mjs +0 -3
- package/dist/server/node_modules/pg-cloudflare/package.json +0 -39
- package/dist/server/node_modules/pg-cloudflare/src/empty.ts +0 -3
- package/dist/server/node_modules/pg-cloudflare/src/index.ts +0 -166
- package/dist/server/node_modules/pg-cloudflare/src/types.d.ts +0 -25
- package/dist/server/node_modules/pg-connection-string/LICENSE +0 -21
- package/dist/server/node_modules/pg-connection-string/README.md +0 -105
- package/dist/server/node_modules/pg-connection-string/esm/index.mjs +0 -8
- package/dist/server/node_modules/pg-connection-string/index.d.ts +0 -36
- package/dist/server/node_modules/pg-connection-string/index.js +0 -231
- package/dist/server/node_modules/pg-connection-string/package.json +0 -52
- package/dist/server/node_modules/pg-types/.travis.yml +0 -7
- package/dist/server/node_modules/pg-types/Makefile +0 -14
- package/dist/server/node_modules/pg-types/README.md +0 -75
- package/dist/server/node_modules/pg-types/index.d.ts +0 -137
- package/dist/server/node_modules/pg-types/index.js +0 -47
- package/dist/server/node_modules/pg-types/index.test-d.ts +0 -21
- package/dist/server/node_modules/pg-types/lib/arrayParser.js +0 -11
- package/dist/server/node_modules/pg-types/lib/binaryParsers.js +0 -257
- package/dist/server/node_modules/pg-types/lib/builtins.js +0 -73
- package/dist/server/node_modules/pg-types/lib/textParsers.js +0 -215
- package/dist/server/node_modules/pg-types/package.json +0 -42
- package/dist/server/node_modules/pg-types/test/index.js +0 -24
- package/dist/server/node_modules/pg-types/test/types.js +0 -597
- package/dist/server/node_modules/postgres-interval/index.d.ts +0 -20
- package/dist/server/node_modules/postgres-interval/index.js +0 -125
- package/dist/server/node_modules/postgres-interval/readme.md +0 -48
- /package/dist/server/node_modules/{pg-cloudflare → pg}/LICENSE +0 -0
- /package/dist/server/node_modules/{postgres-interval → postgres-date}/license +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "pg-cloudflare",
|
|
3
|
-
"version": "1.3.0",
|
|
4
|
-
"description": "A socket implementation that can run on Cloudflare Workers using native TCP connections.",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"license": "MIT",
|
|
8
|
-
"devDependencies": {
|
|
9
|
-
"ts-node": "^8.5.4",
|
|
10
|
-
"typescript": "^4.0.3"
|
|
11
|
-
},
|
|
12
|
-
"exports": {
|
|
13
|
-
".": {
|
|
14
|
-
"workerd": {
|
|
15
|
-
"import": "./esm/index.mjs",
|
|
16
|
-
"require": "./dist/index.js"
|
|
17
|
-
},
|
|
18
|
-
"default": "./dist/empty.js"
|
|
19
|
-
},
|
|
20
|
-
"./package.json": "./package.json"
|
|
21
|
-
},
|
|
22
|
-
"scripts": {
|
|
23
|
-
"build": "tsc",
|
|
24
|
-
"build:watch": "tsc --watch",
|
|
25
|
-
"prepublish": "yarn build",
|
|
26
|
-
"test": "echo e2e test in pg package"
|
|
27
|
-
},
|
|
28
|
-
"repository": {
|
|
29
|
-
"type": "git",
|
|
30
|
-
"url": "git://github.com/brianc/node-postgres.git",
|
|
31
|
-
"directory": "packages/pg-cloudflare"
|
|
32
|
-
},
|
|
33
|
-
"files": [
|
|
34
|
-
"/dist/*{js,ts,map}",
|
|
35
|
-
"/src",
|
|
36
|
-
"/esm"
|
|
37
|
-
],
|
|
38
|
-
"gitHead": "d10e09c888f94abf77382aba6f353ca665a1cf09"
|
|
39
|
-
}
|
|
@@ -1,166 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
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.
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
pg-connection-string
|
|
2
|
-
====================
|
|
3
|
-
|
|
4
|
-
[](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.
|
|
@@ -1,8 +0,0 @@
|
|
|
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
|
|
@@ -1,36 +0,0 @@
|
|
|
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
|
|
@@ -1,231 +0,0 @@
|
|
|
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
|