decocms 2.178.0 → 2.178.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-DOAxiEBN.js → AlertCircle-CI8iQIN4.js} +1 -1
- package/dist/client/assets/{AlignLeft-CRMPlioa.js → AlignLeft-D1a9nQq5.js} +1 -1
- package/dist/client/assets/{ArrowDown-xJyK-tRR.js → ArrowDown-bcBjuFxH.js} +1 -1
- package/dist/client/assets/{ArrowLeft-B-tpcvF0.js → ArrowLeft-BaV7db3X.js} +1 -1
- package/dist/client/assets/{ArrowUp-BO7WH9Uq.js → ArrowUp-BtIkmj4Y.js} +1 -1
- package/dist/client/assets/{Building02-D30T2TCD.js → Building02-R_mkgdQ4.js} +1 -1
- package/dist/client/assets/{Check-BTP9VTUM.js → Check-GOz4_bBS.js} +1 -1
- package/dist/client/assets/{CheckCircle-DoZ7ERyW.js → CheckCircle-DosFvCW2.js} +1 -1
- package/dist/client/assets/{CheckSquare-Dbh9CJyx.js → CheckSquare-Be1kXxvn.js} +1 -1
- package/dist/client/assets/{CheckVerified02-CyloHbYs.js → CheckVerified02-CZakFFpv.js} +1 -1
- package/dist/client/assets/{ChevronDown-CLapIRmf.js → ChevronDown-DElgod-p.js} +1 -1
- package/dist/client/assets/{ChevronLeft-CMUbV0KP.js → ChevronLeft-Bk7mc5_w.js} +1 -1
- package/dist/client/assets/{ChevronRight-DWZgTrde.js → ChevronRight-Ys0vr-YD.js} +1 -1
- package/dist/client/assets/{ChevronUp-DGOtRvEF.js → ChevronUp-CKkWbsZ5.js} +1 -1
- package/dist/client/assets/{Clock-BYjyd9hX.js → Clock-DRICOB0c.js} +1 -1
- package/dist/client/assets/{Code01-BkNgeom6.js → Code01-CDxb4LVl.js} +1 -1
- package/dist/client/assets/{Container-D7IaxBn4.js → Container-C8ScaknS.js} +1 -1
- package/dist/client/assets/{Copy01-BJ5f3Ft8.js → Copy01-DhAVspEC.js} +1 -1
- package/dist/client/assets/{Dataflow03-DE7FXw07.js → Dataflow03-ONoSH2VT.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-BFhhKBhk.js → DotsHorizontal-BaiN7u8r.js} +1 -1
- package/dist/client/assets/{DotsVertical-CmyZ1eER.js → DotsVertical-rvqtR29a.js} +1 -1
- package/dist/client/assets/{Download01-C0zy7iAO.js → Download01-CVEqgoRT.js} +1 -1
- package/dist/client/assets/{Edit01-BsJ32les.js → Edit01-BaPedGGl.js} +1 -1
- package/dist/client/assets/{Edit05-BD2d2k-5.js → Edit05-DSl3Jqkp.js} +1 -1
- package/dist/client/assets/{Eye-B3PAdhmZ.js → Eye-BgAytXDm.js} +1 -1
- package/dist/client/assets/{EyeOff-_G9JY6d-.js → EyeOff-CucokIoZ.js} +1 -1
- package/dist/client/assets/{File02-CAND2NHE.js → File02-gbFS8GtC.js} +1 -1
- package/dist/client/assets/{File06-Bvs2lp94.js → File06-Dpi3gJhU.js} +1 -1
- package/dist/client/assets/{FilterLines-D-lo1vJH.js → FilterLines-BeHTcRH-.js} +1 -1
- package/dist/client/assets/{Globe01-jlGiKRJ-.js → Globe01-Ceb6Pyzg.js} +1 -1
- package/dist/client/assets/{Globe02-DpkPR1qQ.js → Globe02-4oAOo4_d.js} +1 -1
- package/dist/client/assets/{Grid01-Bootsry8.js → Grid01-NwJJaoW7.js} +1 -1
- package/dist/client/assets/{Home02-Cn5GN0Zh.js → Home02-DQJpzzIE.js} +1 -1
- package/dist/client/assets/{Image01-BGiNuXLR.js → Image01-BwGUDEUi.js} +1 -1
- package/dist/client/assets/{Inbox01-QN0h6e9y.js → Inbox01-CDOpLWwZ.js} +1 -1
- package/dist/client/assets/{InfoCircle-BlKvj0NG.js → InfoCircle-CfTVXLYm.js} +1 -1
- package/dist/client/assets/{Key01-p6odXPoE.js → Key01-BZkaWvm5.js} +1 -1
- package/dist/client/assets/{LayersTwo01-Dj6OMOTN.js → LayersTwo01-D9dHuPjU.js} +1 -1
- package/dist/client/assets/{LayoutLeft-Bl9wlb-l.js → LayoutLeft-BHhw95T0.js} +1 -1
- package/dist/client/assets/{Link01-GDNtvq6w.js → Link01-CU6UcWFS.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Cmp1Jq7T.js → LinkExternal01-DOdBEG1U.js} +1 -1
- package/dist/client/assets/{List-BFzJ8d3-.js → List-DD3BKPLz.js} +1 -1
- package/dist/client/assets/{Loading01-Bgt2pWQu.js → Loading01-B85tVuIU.js} +1 -1
- package/dist/client/assets/{Lock01-CrtAKCVY.js → Lock01-WwvDQaaT.js} +1 -1
- package/dist/client/assets/{Play-C6mSLsW0.js → Play-DTPauCd1.js} +1 -1
- package/dist/client/assets/{Plus-Bah3bfIq.js → Plus-C9dY5EOr.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-D6TQ-sWU.js → RefreshCcw01-DJsZi8Hz.js} +1 -1
- package/dist/client/assets/{Save01-DMdPXvfp.js → Save01-COu7GfwR.js} +1 -1
- package/dist/client/assets/{SearchMd-CbNARIB_.js → SearchMd-CKp0BoPW.js} +1 -1
- package/dist/client/assets/{Settings01-ncSo0UF1.js → Settings01-DunsMQ-m.js} +1 -1
- package/dist/client/assets/{Shield01-jjVa8gNb.js → Shield01-CCMtDdxH.js} +1 -1
- package/dist/client/assets/{Terminal-BkHJq74m.js → Terminal-COsHV7Wy.js} +1 -1
- package/dist/client/assets/{Tool01-CCSFIqz9.js → Tool01-Delk_MGO.js} +1 -1
- package/dist/client/assets/{Trash01-DJLT0hlL.js → Trash01-BtiNjuw3.js} +1 -1
- package/dist/client/assets/{Upload01-CrylBwgE.js → Upload01-DqqcM3M6.js} +1 -1
- package/dist/client/assets/{Users03-ClHTtWuU.js → Users03-CQa5jfkV.js} +1 -1
- package/dist/client/assets/{X-Dr3IGE6q.js → X-CaaFSPD_.js} +1 -1
- package/dist/client/assets/{XClose-CM_PUH0D.js → XClose-Dey3r3af.js} +1 -1
- package/dist/client/assets/{Zap-DNAzZ691.js → Zap-DX02pf-a.js} +1 -1
- package/dist/client/assets/{agent-connections-preview-D9yVR2mI.js → agent-connections-preview-BCTZ6BnP.js} +1 -1
- package/dist/client/assets/{agent-detail-D9yhjqjE.js → agent-detail-BBSZrHWb.js} +1 -1
- package/dist/client/assets/{agents-UYgbyoc-.js → agents-DVOxH2hb.js} +1 -1
- package/dist/client/assets/{ai-providers-logos-CKXeyPmY.js → ai-providers-logos-BWU0RfRJ.js} +1 -1
- package/dist/client/assets/{alert-dialog-CGRFjIvo.js → alert-dialog-BGZzdkI2.js} +1 -1
- package/dist/client/assets/{auth-catchall-DJtyBhDQ.js → auth-catchall-1PjzZ5eD.js} +1 -1
- package/dist/client/assets/{automation-detail-Da-KIL0v.js → automation-detail-dSH73muX.js} +1 -1
- package/dist/client/assets/{automations-BBeFyOp2.js → automations-CEr8CMbK.js} +1 -1
- package/dist/client/assets/{avatar-B6y4oqG6.js → avatar-DWAYNsNK.js} +1 -1
- package/dist/client/assets/{badge-BWsagPlP.js → badge-B_BTuJZe.js} +1 -1
- package/dist/client/assets/{binder-BfA1Jrrc.js → binder-l1kCmNCE.js} +1 -1
- package/dist/client/assets/{breadcrumb-D8mb9kpq.js → breadcrumb-ijphtzQp.js} +1 -1
- package/dist/client/assets/{card-C0MItTW_.js → card-CwEWrOs9.js} +1 -1
- package/dist/client/assets/{checkbox-DUU3Nuea.js → checkbox-B_91sMwd.js} +1 -1
- package/dist/client/assets/{collapsible-CtLdTa6t.js → collapsible-DILfwVxb.js} +1 -1
- package/dist/client/assets/{collection-detail-DPIki4up.js → collection-detail-lkCxiUzr.js} +1 -1
- package/dist/client/assets/{collection-display-button-DdFInvSR.js → collection-display-button-kCOiEzLn.js} +1 -1
- package/dist/client/assets/{collection-search-CGfzh4mC.js → collection-search-Bdxpglbf.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-DLe2aR6i.js → collection-table-wrapper-D-vPJPam.js} +1 -1
- package/dist/client/assets/{collection-tabs-DAHXpc2n.js → collection-tabs-IdlFD1jR.js} +1 -1
- package/dist/client/assets/{command-C4HnUxgr.js → command-BgTh2_vK.js} +1 -1
- package/dist/client/assets/{connection-card-DRd8H1I5.js → connection-card-BWZAp_hO.js} +1 -1
- package/dist/client/assets/{connection-detail-MKWBWpRr.js → connection-detail-DPSHmWyz.js} +1 -1
- package/dist/client/assets/{connections-CIQDC3QM.js → connections-BvYzdmU4.js} +1 -1
- package/dist/client/assets/{constants-C6R-Odkq.js → constants-BCt7c81T.js} +1 -1
- package/dist/client/assets/{context-BFTRA5vP.js → context-BTMVzdan.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-Bez2nZe0.js → create-organization-dialog-Du7uAMNm.js} +1 -1
- package/dist/client/assets/{create-project-dialog-MCGuKGij.js → create-project-dialog-Bb7dubB7.js} +1 -1
- package/dist/client/assets/{danger-D1zng7LS.js → danger-CfnLHwII.js} +1 -1
- package/dist/client/assets/{danger-zone-DbcRzYYG.js → danger-zone-DjN4GhuT.js} +1 -1
- package/dist/client/assets/{dependencies-B8EkZe-H.js → dependencies-CwSG23CA.js} +1 -1
- package/dist/client/assets/{dialog-Bw5T2ogY.js → dialog-BDa2Gsq9.js} +1 -1
- package/dist/client/assets/{dropdown-menu-Dan8nMb8.js → dropdown-menu-DEQ5DCnG.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-BDxV3RAS.js → dynamic-plugin-layout-DP6UGwOE.js} +1 -1
- package/dist/client/assets/{editable-task-title-wfBXYVIh.js → editable-task-title-CaE6DIBf.js} +1 -1
- package/dist/client/assets/{empty-state-C1iyyf7G.js → empty-state-C4c2sKjV.js} +1 -1
- package/dist/client/assets/{empty-state-CoA3_x_6.js → empty-state-DmgqwjeV.js} +1 -1
- package/dist/client/assets/{env-vars-editor-CxyeKMFS.js → env-vars-editor-Ah5xyGmz.js} +1 -1
- package/dist/client/assets/{extract-connection-data-C8ZedtM3.js → extract-connection-data-BxJWN5u-.js} +1 -1
- package/dist/client/assets/{file-browser-CShFs9BG.js → file-browser-BRFmGA__.js} +2 -2
- package/dist/client/assets/{form-B1LLlQBa.js → form-BWoxqZfk.js} +1 -1
- package/dist/client/assets/{general-Dnfj_B7U.js → general-BKqD1lIr.js} +1 -1
- package/dist/client/assets/{generate-id-WpAuYSZF.js → generate-id-BaIFvm62.js} +1 -1
- package/dist/client/assets/{grid-view-PzYdekcz.js → grid-view-DGZvuOwZ.js} +1 -1
- package/dist/client/assets/{home-CKa-gWjN.js → home-B7jB9Gxp.js} +1 -1
- package/dist/client/assets/{index-D-AXXJqO.js → index--PLXALUm.js} +1 -1
- package/dist/client/assets/{index-DtZLm-Fz.js → index-10S4l3se.js} +1 -1
- package/dist/client/assets/{index-J5pIXVfD.js → index-B5vgf28x.js} +1 -1
- package/dist/client/assets/{index-CVayrapI.js → index-Bc448aeG.js} +1 -1
- package/dist/client/assets/{index-lUO5B2Do.js → index-BgoahoDu.js} +1 -1
- package/dist/client/assets/{index-OdE2HBl6.js → index-CM7_8eMu.js} +1 -1
- package/dist/client/assets/{index-BFJo8BQ3.js → index-CTjqFNkw.js} +1 -1
- package/dist/client/assets/{index-BkxamE0W.js → index-DGLQ2uQ5.js} +1 -1
- package/dist/client/assets/{index-BaVHKLOw.js → index-DZ6p-ZXx.js} +1 -1
- package/dist/client/assets/{index-De7oAufQ.js → index-DcxE8oe_.js} +3 -3
- package/dist/client/assets/{index-CgSAwZ8g.js → index-WTO-ZRzC.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-C7xXp1jr.js → infiniteQueryObserver-CzIVu_kK.js} +1 -1
- package/dist/client/assets/{input-_VKm0O_1.js → input-DPpAbHbD.js} +1 -1
- package/dist/client/assets/{integration-icon-BkY1vh6I.js → integration-icon-6jcHFHZV.js} +1 -1
- package/dist/client/assets/{label-BhDDQ3-n.js → label-BtaiiWJ8.js} +1 -1
- package/dist/client/assets/{layout-BIFV7MZL.js → layout-Cjef80qc.js} +1 -1
- package/dist/client/assets/{layout-CZKgiZuG.js → layout-DG9LlvE6.js} +1 -1
- package/dist/client/assets/{login-uo65TNIo.js → login-D1Xb70mS.js} +1 -1
- package/dist/client/assets/{logo-upload-CXS8-AgL.js → logo-upload-79T6Ecg3.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-BcsrfZJp.js → mcp-app-renderer-DgOOTmoQ.js} +1 -1
- package/dist/client/assets/{mcp-server-card-Bp6C5W6n.js → mcp-server-card-CqBs71hZ.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-Ctbkl5jL.js → mcp-server-detail-D_BCRi3w.js} +2 -2
- package/dist/client/assets/{members-DCfL7gNX.js → members-BkdG_-Nh.js} +1 -1
- package/dist/client/assets/{monaco-editor-DPC7_J-G.js → monaco-editor-D5smiy7k.js} +1 -1
- package/dist/client/assets/{monitoring-dashboard-edit-YR1gT6FF.js → monitoring-dashboard-edit-S2Ut1cvD.js} +1 -1
- package/dist/client/assets/{monitoring-dashboard-view-BbtnIBfa.js → monitoring-dashboard-view-gNG_IQ8M.js} +1 -1
- package/dist/client/assets/{monitoring-ByXLzXVV.js → monitoring-kw0ipyvO.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-Df9ANyzv.js → monitoring-stats-row-D3PlzPcP.js} +1 -1
- package/dist/client/assets/{oauth-callback-DAQSPrcu.js → oauth-callback-9ngEzskH.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-BM5LYNPq.js → oauth-callback-ai-provider-CpdQKMVl.js} +1 -1
- package/dist/client/assets/{org-ai-providers-6KYO-veN.js → org-ai-providers-CrQ3OeB5.js} +1 -1
- package/dist/client/assets/{page-JhhtSWZh.js → page-C2HdbsvN.js} +1 -1
- package/dist/client/assets/{page-30eMAMiN.js → page-DmVGFJaY.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-R2BzERoW.js → plugin-empty-state-CWxRJkeE.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-Cl2I2geD.js → plugin-empty-state-DXhpvNlI.js} +1 -1
- package/dist/client/assets/{plugin-header-Bakz3z0e.js → plugin-header-C3JJ8Nq_.js} +1 -1
- package/dist/client/assets/{plugin-header-aEsNVQjp.js → plugin-header-TcX-3hN2.js} +1 -1
- package/dist/client/assets/plugins-BfcAD8Xs.js +1 -0
- package/dist/client/assets/{popover-D_qGIJiq.js → popover-CNIkv0WT.js} +1 -1
- package/dist/client/assets/{project-app-view-BFgEphLV.js → project-app-view-BVSK5NCb.js} +1 -1
- package/dist/client/assets/{project-layout-C8oyOOGc.js → project-layout-Bd1vlG83.js} +1 -1
- package/dist/client/assets/{project-plugins-BVt_WzcU.js → project-plugins-az_ZXSwN.js} +1 -1
- package/dist/client/assets/{projects-list-C02pKlJj.js → projects-list-D8eiYeUr.js} +1 -1
- package/dist/client/assets/{registry-layout-C-yQnDXG.js → registry-layout-BXceDqEw.js} +1 -1
- package/dist/client/assets/{registry-utils-Dqc_kCiP.js → registry-utils-CkCRcmq4.js} +1 -1
- package/dist/client/assets/{reset-password-Cqvt_aDI.js → reset-password-xlfm2d95.js} +1 -1
- package/dist/client/assets/{resizable-CO0Uh73H.js → resizable-B7fIdnoq.js} +1 -1
- package/dist/client/assets/{save-actions-ju1vjafj.js → save-actions-DIKaTzi7.js} +1 -1
- package/dist/client/assets/{scroll-area-DL2xzsPP.js → scroll-area-B-pB6oMr.js} +1 -1
- package/dist/client/assets/{select-B4liIMVc.js → select-DeNgR918.js} +1 -1
- package/dist/client/assets/{select-virtual-mcp-CuflMlTt.js → select-virtual-mcp-CFDIRCp8.js} +1 -1
- package/dist/client/assets/{sheet-Cjr3EcYH.js → sheet-BBLyN2xl.js} +1 -1
- package/dist/client/assets/{shell-layout-DfTROeX_.js → shell-layout-CiKn6BP6.js} +2 -2
- package/dist/client/assets/{sidebar-settings-BljNzJVO.js → sidebar-settings-DOwlHFdj.js} +1 -1
- package/dist/client/assets/{skeleton-Bt7MRTvB.js → skeleton-CNgs5GJt.js} +1 -1
- package/dist/client/assets/{spinner-Cse1gKnw.js → spinner-BZdAS5i2.js} +1 -1
- package/dist/client/assets/{store-invite-D8XeTZbu.js → store-invite-BXcKXIzr.js} +1 -1
- package/dist/client/assets/{switch-DHS6rwq-.js → switch-CmREXk8C.js} +1 -1
- package/dist/client/assets/{table-BPkNFl3F.js → table-C4WVepD4.js} +1 -1
- package/dist/client/assets/{tabs-D9xzXdQn.js → tabs-BeYHPY-1.js} +1 -1
- package/dist/client/assets/{task-status-DPcRgg7n.js → task-status-DauQRqAW.js} +24 -24
- package/dist/client/assets/tasks-fQ7kFf17.js +1 -0
- package/dist/client/assets/{tasks-panel-i3VUreUx.js → tasks-panel-DqbQRMGq.js} +1 -1
- package/dist/client/assets/{textarea-C_pKpP9s.js → textarea-C7YqhWTc.js} +1 -1
- package/dist/client/assets/{time-range-picker-BuykPBni.js → time-range-picker-CM-9xODE.js} +1 -1
- package/dist/client/assets/{toggle-group-VpRSF_Gl.js → toggle-group-B7g3fYap.js} +1 -1
- package/dist/client/assets/{tools-list-DDFWIxxm.js → tools-list-4D_tBiUe.js} +1 -1
- package/dist/client/assets/{tooltip-C4rlkzSj.js → tooltip-CXZH0tSC.js} +1 -1
- package/dist/client/assets/{topbar-portal-CF1YRovU.js → topbar-portal-CjA9qO3_.js} +1 -1
- package/dist/client/assets/{types-DQbIwrMI.js → types-CPj3Y6i2.js} +1 -1
- package/dist/client/assets/{use-automations-C1HgdvUZ.js → use-automations-B0CZymwk.js} +1 -1
- package/dist/client/assets/{use-collections-CN-KZdhF.js → use-collections-CObsJD7p.js} +1 -1
- package/dist/client/assets/{use-connection-C4RNTGYe.js → use-connection-Cv_-e2MS.js} +1 -1
- package/dist/client/assets/{use-copy-Cyun7kVE.js → use-copy-sxHnzQ3E.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-4JnIm_fY.js → use-create-virtual-mcp-dSjfTRl8.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-B1b4xMpn.js → use-infinite-scroll-CqxPDCSp.js} +1 -1
- package/dist/client/assets/{use-install-from-registry-CytyaLQX.js → use-install-from-registry-wW1d1HtB.js} +1 -1
- package/dist/client/assets/{use-list-state-CCkxYz8q.js → use-list-state-CWVUvMhj.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-BGZnglwN.js → use-mcp-prompts-C4X4lEEg.js} +1 -1
- package/dist/client/assets/{use-mcp-resources-DSKOWSEO.js → use-mcp-resources-DoUnZI9j.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-C2aTDAuJ.js → use-mcp-tools-Cnh4vEBm.js} +1 -1
- package/dist/client/assets/{use-members-DjL_-1xN.js → use-members-BHa-Fb-h.js} +1 -1
- package/dist/client/assets/{use-mobile-CMHMyYVi.js → use-mobile-v2XXLV0O.js} +1 -1
- package/dist/client/assets/{use-project-DxPDjIre.js → use-project-B-9YXhNP.js} +1 -1
- package/dist/client/assets/{use-store-discovery-BBXrVOcG.js → use-store-discovery-z8nwAYJJ.js} +1 -1
- package/dist/client/assets/{use-view-mode-CXln2RGt.js → use-view-mode-XMRPR1ke.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-AdVimCkX.js → use-virtual-mcp-DfPJ-WDb.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BIejUr4H.js +1 -0
- package/dist/client/assets/{useMutation-BDzOMrvq.js → useMutation-CV3IN68C.js} +1 -1
- package/dist/client/assets/useQuery-CEE9SUlS.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-B7NkSjI9.js +1 -0
- package/dist/client/assets/{user-DSh4pFej.js → user-_Hc5WOWn.js} +1 -1
- package/dist/client/assets/{workflow-mIahQD3R.js → workflow-DKAllKJO.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/node_modules/pg-cloudflare/LICENSE +21 -0
- package/dist/server/node_modules/pg-cloudflare/README.md +112 -0
- package/dist/server/node_modules/pg-cloudflare/dist/empty.d.ts +2 -0
- package/dist/server/node_modules/pg-cloudflare/dist/empty.js +6 -0
- package/dist/server/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
- package/dist/server/node_modules/pg-cloudflare/dist/index.d.ts +31 -0
- package/dist/server/node_modules/pg-cloudflare/dist/index.js +152 -0
- package/dist/server/node_modules/pg-cloudflare/dist/index.js.map +1 -0
- package/dist/server/node_modules/pg-cloudflare/esm/index.mjs +3 -0
- package/dist/server/node_modules/pg-cloudflare/package.json +39 -0
- package/dist/server/node_modules/pg-cloudflare/src/empty.ts +3 -0
- package/dist/server/node_modules/pg-cloudflare/src/index.ts +166 -0
- package/dist/server/node_modules/pg-cloudflare/src/types.d.ts +25 -0
- package/dist/server/node_modules/pg-int8/LICENSE +13 -0
- package/dist/server/node_modules/pg-int8/README.md +16 -0
- package/dist/server/node_modules/pg-int8/index.js +100 -0
- package/dist/server/node_modules/pg-int8/package.json +24 -0
- package/dist/server/node_modules/pg-protocol/LICENSE +21 -0
- package/dist/server/node_modules/pg-protocol/README.md +3 -0
- package/dist/server/node_modules/pg-protocol/dist/b.d.ts +1 -0
- package/dist/server/node_modules/pg-protocol/dist/b.js +23 -0
- package/dist/server/node_modules/pg-protocol/dist/b.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/dist/buffer-reader.d.ts +15 -0
- package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js +55 -0
- package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/dist/buffer-writer.d.ts +16 -0
- package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js +81 -0
- package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.d.ts +1 -0
- package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js +530 -0
- package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/dist/index.d.ts +6 -0
- package/dist/server/node_modules/pg-protocol/dist/index.js +15 -0
- package/dist/server/node_modules/pg-protocol/dist/index.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/dist/messages.d.ts +162 -0
- package/dist/server/node_modules/pg-protocol/dist/messages.js +160 -0
- package/dist/server/node_modules/pg-protocol/dist/messages.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts +1 -0
- package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js +252 -0
- package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/dist/parser.d.ts +24 -0
- package/dist/server/node_modules/pg-protocol/dist/parser.js +324 -0
- package/dist/server/node_modules/pg-protocol/dist/parser.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/dist/serializer.d.ts +42 -0
- package/dist/server/node_modules/pg-protocol/dist/serializer.js +189 -0
- package/dist/server/node_modules/pg-protocol/dist/serializer.js.map +1 -0
- package/dist/server/node_modules/pg-protocol/esm/index.js +11 -0
- package/dist/server/node_modules/pg-protocol/package.json +45 -0
- package/dist/server/node_modules/pg-protocol/src/b.ts +25 -0
- package/dist/server/node_modules/pg-protocol/src/buffer-reader.ts +58 -0
- package/dist/server/node_modules/pg-protocol/src/buffer-writer.ts +85 -0
- package/dist/server/node_modules/pg-protocol/src/inbound-parser.test.ts +575 -0
- package/dist/server/node_modules/pg-protocol/src/index.ts +11 -0
- package/dist/server/node_modules/pg-protocol/src/messages.ts +262 -0
- package/dist/server/node_modules/pg-protocol/src/outbound-serializer.test.ts +276 -0
- package/dist/server/node_modules/pg-protocol/src/parser.ts +413 -0
- package/dist/server/node_modules/pg-protocol/src/serializer.ts +274 -0
- package/dist/server/node_modules/pg-protocol/src/testing/buffer-list.ts +67 -0
- package/dist/server/node_modules/pg-protocol/src/testing/test-buffers.ts +166 -0
- package/dist/server/node_modules/pg-protocol/src/types/chunky.d.ts +1 -0
- package/dist/server/node_modules/pg-types/.travis.yml +7 -0
- package/dist/server/node_modules/pg-types/Makefile +14 -0
- package/dist/server/node_modules/pg-types/README.md +75 -0
- package/dist/server/node_modules/pg-types/index.d.ts +137 -0
- package/dist/server/node_modules/pg-types/index.js +47 -0
- package/dist/server/node_modules/pg-types/index.test-d.ts +21 -0
- package/dist/server/node_modules/pg-types/lib/arrayParser.js +11 -0
- package/dist/server/node_modules/pg-types/lib/binaryParsers.js +257 -0
- package/dist/server/node_modules/pg-types/lib/builtins.js +73 -0
- package/dist/server/node_modules/pg-types/lib/textParsers.js +215 -0
- package/dist/server/node_modules/pg-types/package.json +42 -0
- package/dist/server/node_modules/pg-types/test/index.js +24 -0
- package/dist/server/node_modules/pg-types/test/types.js +597 -0
- package/dist/server/node_modules/pgpass/README.md +74 -0
- package/dist/server/node_modules/pgpass/lib/helper.js +233 -0
- package/dist/server/node_modules/pgpass/lib/index.js +23 -0
- package/dist/server/node_modules/pgpass/package.json +41 -0
- package/dist/server/node_modules/postgres-array/index.d.ts +4 -0
- package/dist/server/node_modules/postgres-array/index.js +97 -0
- package/dist/server/node_modules/postgres-array/license +21 -0
- package/dist/server/node_modules/postgres-array/package.json +35 -0
- package/dist/server/node_modules/postgres-array/readme.md +43 -0
- package/dist/server/node_modules/postgres-bytea/index.js +33 -0
- package/dist/server/node_modules/postgres-bytea/license +21 -0
- package/dist/server/node_modules/postgres-bytea/package.json +34 -0
- package/dist/server/node_modules/postgres-bytea/readme.md +34 -0
- package/dist/server/node_modules/postgres-date/index.js +116 -0
- package/dist/server/node_modules/postgres-date/license +21 -0
- package/dist/server/node_modules/postgres-date/package.json +33 -0
- package/dist/server/node_modules/postgres-date/readme.md +49 -0
- package/dist/server/node_modules/postgres-interval/index.d.ts +20 -0
- package/dist/server/node_modules/postgres-interval/index.js +125 -0
- package/dist/server/node_modules/postgres-interval/license +21 -0
- package/dist/server/node_modules/postgres-interval/package.json +36 -0
- package/dist/server/node_modules/postgres-interval/readme.md +48 -0
- package/dist/server/node_modules/split2/LICENSE +13 -0
- package/dist/server/node_modules/split2/README.md +85 -0
- package/dist/server/node_modules/split2/bench.js +27 -0
- package/dist/server/node_modules/split2/index.js +141 -0
- package/dist/server/node_modules/split2/package.json +39 -0
- package/dist/server/node_modules/split2/test.js +409 -0
- package/package.json +1 -1
- package/dist/client/assets/plugins-CJOgdAgY.js +0 -1
- package/dist/client/assets/tasks-CAcIEtSF.js +0 -1
- package/dist/client/assets/useInfiniteQuery-Dw4aF3nd.js +0 -1
- package/dist/client/assets/useQuery-CTePvczf.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-All2JJwt.js +0 -1
|
@@ -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,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
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// selected so (BASE - 1) * 0x100000000 + 0xffffffff is a safe integer
|
|
4
|
+
var BASE = 1000000;
|
|
5
|
+
|
|
6
|
+
function readInt8(buffer) {
|
|
7
|
+
var high = buffer.readInt32BE(0);
|
|
8
|
+
var low = buffer.readUInt32BE(4);
|
|
9
|
+
var sign = '';
|
|
10
|
+
|
|
11
|
+
if (high < 0) {
|
|
12
|
+
high = ~high + (low === 0);
|
|
13
|
+
low = (~low + 1) >>> 0;
|
|
14
|
+
sign = '-';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
var result = '';
|
|
18
|
+
var carry;
|
|
19
|
+
var t;
|
|
20
|
+
var digits;
|
|
21
|
+
var pad;
|
|
22
|
+
var l;
|
|
23
|
+
var i;
|
|
24
|
+
|
|
25
|
+
{
|
|
26
|
+
carry = high % BASE;
|
|
27
|
+
high = high / BASE >>> 0;
|
|
28
|
+
|
|
29
|
+
t = 0x100000000 * carry + low;
|
|
30
|
+
low = t / BASE >>> 0;
|
|
31
|
+
digits = '' + (t - BASE * low);
|
|
32
|
+
|
|
33
|
+
if (low === 0 && high === 0) {
|
|
34
|
+
return sign + digits + result;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
pad = '';
|
|
38
|
+
l = 6 - digits.length;
|
|
39
|
+
|
|
40
|
+
for (i = 0; i < l; i++) {
|
|
41
|
+
pad += '0';
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
result = pad + digits + result;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
{
|
|
48
|
+
carry = high % BASE;
|
|
49
|
+
high = high / BASE >>> 0;
|
|
50
|
+
|
|
51
|
+
t = 0x100000000 * carry + low;
|
|
52
|
+
low = t / BASE >>> 0;
|
|
53
|
+
digits = '' + (t - BASE * low);
|
|
54
|
+
|
|
55
|
+
if (low === 0 && high === 0) {
|
|
56
|
+
return sign + digits + result;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
pad = '';
|
|
60
|
+
l = 6 - digits.length;
|
|
61
|
+
|
|
62
|
+
for (i = 0; i < l; i++) {
|
|
63
|
+
pad += '0';
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
result = pad + digits + result;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
{
|
|
70
|
+
carry = high % BASE;
|
|
71
|
+
high = high / BASE >>> 0;
|
|
72
|
+
|
|
73
|
+
t = 0x100000000 * carry + low;
|
|
74
|
+
low = t / BASE >>> 0;
|
|
75
|
+
digits = '' + (t - BASE * low);
|
|
76
|
+
|
|
77
|
+
if (low === 0 && high === 0) {
|
|
78
|
+
return sign + digits + result;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
pad = '';
|
|
82
|
+
l = 6 - digits.length;
|
|
83
|
+
|
|
84
|
+
for (i = 0; i < l; i++) {
|
|
85
|
+
pad += '0';
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
result = pad + digits + result;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
{
|
|
92
|
+
carry = high % BASE;
|
|
93
|
+
t = 0x100000000 * carry + low;
|
|
94
|
+
digits = '' + t % BASE;
|
|
95
|
+
|
|
96
|
+
return sign + digits + result;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
module.exports = readInt8;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pg-int8",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "64-bit big-endian signed integer-to-string conversion",
|
|
5
|
+
"bugs": "https://github.com/charmander/pg-int8/issues",
|
|
6
|
+
"license": "ISC",
|
|
7
|
+
"files": [
|
|
8
|
+
"index.js"
|
|
9
|
+
],
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "https://github.com/charmander/pg-int8"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"test": "tap test"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@charmander/eslint-config-base": "1.0.2",
|
|
19
|
+
"tap": "10.7.3"
|
|
20
|
+
},
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=4.0.0"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2010 - 2021 Brian Carlson
|
|
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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// file for microbenchmarking
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const buffer_reader_1 = require("./buffer-reader");
|
|
5
|
+
const LOOPS = 1000;
|
|
6
|
+
let count = 0;
|
|
7
|
+
const start = performance.now();
|
|
8
|
+
const reader = new buffer_reader_1.BufferReader();
|
|
9
|
+
const buffer = Buffer.from([33, 33, 33, 33, 33, 33, 33, 0]);
|
|
10
|
+
const run = () => {
|
|
11
|
+
if (count > LOOPS) {
|
|
12
|
+
console.log(performance.now() - start);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
count++;
|
|
16
|
+
for (let i = 0; i < LOOPS; i++) {
|
|
17
|
+
reader.setBuffer(0, buffer);
|
|
18
|
+
reader.cstring();
|
|
19
|
+
}
|
|
20
|
+
setImmediate(run);
|
|
21
|
+
};
|
|
22
|
+
run();
|
|
23
|
+
//# sourceMappingURL=b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"b.js","sourceRoot":"","sources":["../src/b.ts"],"names":[],"mappings":";AAAA,6BAA6B;;AAE7B,mDAA8C;AAE9C,MAAM,KAAK,GAAG,IAAI,CAAA;AAClB,IAAI,KAAK,GAAG,CAAC,CAAA;AACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;AAE/B,MAAM,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAA;AACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAE3D,MAAM,GAAG,GAAG,GAAG,EAAE;IACf,IAAI,KAAK,GAAG,KAAK,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;QACtC,OAAM;KACP;IACD,KAAK,EAAE,CAAA;IACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC3B,MAAM,CAAC,OAAO,EAAE,CAAA;KACjB;IACD,YAAY,CAAC,GAAG,CAAC,CAAA;AACnB,CAAC,CAAA;AAED,GAAG,EAAE,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare class BufferReader {
|
|
3
|
+
private offset;
|
|
4
|
+
private buffer;
|
|
5
|
+
private encoding;
|
|
6
|
+
constructor(offset?: number);
|
|
7
|
+
setBuffer(offset: number, buffer: Buffer): void;
|
|
8
|
+
int16(): number;
|
|
9
|
+
byte(): number;
|
|
10
|
+
int32(): number;
|
|
11
|
+
uint32(): number;
|
|
12
|
+
string(length: number): string;
|
|
13
|
+
cstring(): string;
|
|
14
|
+
bytes(length: number): Buffer;
|
|
15
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BufferReader = void 0;
|
|
4
|
+
class BufferReader {
|
|
5
|
+
constructor(offset = 0) {
|
|
6
|
+
this.offset = offset;
|
|
7
|
+
this.buffer = Buffer.allocUnsafe(0);
|
|
8
|
+
// TODO(bmc): support non-utf8 encoding?
|
|
9
|
+
this.encoding = 'utf-8';
|
|
10
|
+
}
|
|
11
|
+
setBuffer(offset, buffer) {
|
|
12
|
+
this.offset = offset;
|
|
13
|
+
this.buffer = buffer;
|
|
14
|
+
}
|
|
15
|
+
int16() {
|
|
16
|
+
const result = this.buffer.readInt16BE(this.offset);
|
|
17
|
+
this.offset += 2;
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
byte() {
|
|
21
|
+
const result = this.buffer[this.offset];
|
|
22
|
+
this.offset++;
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
int32() {
|
|
26
|
+
const result = this.buffer.readInt32BE(this.offset);
|
|
27
|
+
this.offset += 4;
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
uint32() {
|
|
31
|
+
const result = this.buffer.readUInt32BE(this.offset);
|
|
32
|
+
this.offset += 4;
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
string(length) {
|
|
36
|
+
const result = this.buffer.toString(this.encoding, this.offset, this.offset + length);
|
|
37
|
+
this.offset += length;
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
cstring() {
|
|
41
|
+
const start = this.offset;
|
|
42
|
+
let end = start;
|
|
43
|
+
// eslint-disable-next-line no-empty
|
|
44
|
+
while (this.buffer[end++] !== 0) { }
|
|
45
|
+
this.offset = end;
|
|
46
|
+
return this.buffer.toString(this.encoding, start, end - 1);
|
|
47
|
+
}
|
|
48
|
+
bytes(length) {
|
|
49
|
+
const result = this.buffer.slice(this.offset, this.offset + length);
|
|
50
|
+
this.offset += length;
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.BufferReader = BufferReader;
|
|
55
|
+
//# sourceMappingURL=buffer-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-reader.js","sourceRoot":"","sources":["../src/buffer-reader.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IAMvB,YAAoB,SAAiB,CAAC;QAAlB,WAAM,GAAN,MAAM,CAAY;QAL9B,WAAM,GAAW,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAE9C,wCAAwC;QAChC,aAAQ,GAAW,OAAO,CAAA;IAEO,CAAC;IAEnC,SAAS,CAAC,MAAc,EAAE,MAAc;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QAChB,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QAChB,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,MAAM;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QAChB,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,MAAM,CAAC,MAAc;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QACrF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAA;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,GAAG,GAAG,KAAK,CAAA;QACf,oCAAoC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAE;QACnC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;IAC5D,CAAC;IAEM,KAAK,CAAC,MAAc;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAA;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAzDD,oCAyDC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare class Writer {
|
|
3
|
+
private size;
|
|
4
|
+
private buffer;
|
|
5
|
+
private offset;
|
|
6
|
+
private headerPosition;
|
|
7
|
+
constructor(size?: number);
|
|
8
|
+
private ensure;
|
|
9
|
+
addInt32(num: number): Writer;
|
|
10
|
+
addInt16(num: number): Writer;
|
|
11
|
+
addCString(string: string): Writer;
|
|
12
|
+
addString(string?: string): Writer;
|
|
13
|
+
add(otherBuffer: Buffer): Writer;
|
|
14
|
+
private join;
|
|
15
|
+
flush(code?: number): Buffer;
|
|
16
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//binary data writer tuned for encoding binary specific to the postgres binary protocol
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Writer = void 0;
|
|
5
|
+
class Writer {
|
|
6
|
+
constructor(size = 256) {
|
|
7
|
+
this.size = size;
|
|
8
|
+
this.offset = 5;
|
|
9
|
+
this.headerPosition = 0;
|
|
10
|
+
this.buffer = Buffer.allocUnsafe(size);
|
|
11
|
+
}
|
|
12
|
+
ensure(size) {
|
|
13
|
+
const remaining = this.buffer.length - this.offset;
|
|
14
|
+
if (remaining < size) {
|
|
15
|
+
const oldBuffer = this.buffer;
|
|
16
|
+
// exponential growth factor of around ~ 1.5
|
|
17
|
+
// https://stackoverflow.com/questions/2269063/buffer-growth-strategy
|
|
18
|
+
const newSize = oldBuffer.length + (oldBuffer.length >> 1) + size;
|
|
19
|
+
this.buffer = Buffer.allocUnsafe(newSize);
|
|
20
|
+
oldBuffer.copy(this.buffer);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
addInt32(num) {
|
|
24
|
+
this.ensure(4);
|
|
25
|
+
this.buffer[this.offset++] = (num >>> 24) & 0xff;
|
|
26
|
+
this.buffer[this.offset++] = (num >>> 16) & 0xff;
|
|
27
|
+
this.buffer[this.offset++] = (num >>> 8) & 0xff;
|
|
28
|
+
this.buffer[this.offset++] = (num >>> 0) & 0xff;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
addInt16(num) {
|
|
32
|
+
this.ensure(2);
|
|
33
|
+
this.buffer[this.offset++] = (num >>> 8) & 0xff;
|
|
34
|
+
this.buffer[this.offset++] = (num >>> 0) & 0xff;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
addCString(string) {
|
|
38
|
+
if (!string) {
|
|
39
|
+
this.ensure(1);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const len = Buffer.byteLength(string);
|
|
43
|
+
this.ensure(len + 1); // +1 for null terminator
|
|
44
|
+
this.buffer.write(string, this.offset, 'utf-8');
|
|
45
|
+
this.offset += len;
|
|
46
|
+
}
|
|
47
|
+
this.buffer[this.offset++] = 0; // null terminator
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
addString(string = '') {
|
|
51
|
+
const len = Buffer.byteLength(string);
|
|
52
|
+
this.ensure(len);
|
|
53
|
+
this.buffer.write(string, this.offset);
|
|
54
|
+
this.offset += len;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
add(otherBuffer) {
|
|
58
|
+
this.ensure(otherBuffer.length);
|
|
59
|
+
otherBuffer.copy(this.buffer, this.offset);
|
|
60
|
+
this.offset += otherBuffer.length;
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
join(code) {
|
|
64
|
+
if (code) {
|
|
65
|
+
this.buffer[this.headerPosition] = code;
|
|
66
|
+
//length is everything in this packet minus the code
|
|
67
|
+
const length = this.offset - (this.headerPosition + 1);
|
|
68
|
+
this.buffer.writeInt32BE(length, this.headerPosition + 1);
|
|
69
|
+
}
|
|
70
|
+
return this.buffer.slice(code ? 0 : 5, this.offset);
|
|
71
|
+
}
|
|
72
|
+
flush(code) {
|
|
73
|
+
const result = this.join(code);
|
|
74
|
+
this.offset = 5;
|
|
75
|
+
this.headerPosition = 0;
|
|
76
|
+
this.buffer = Buffer.allocUnsafe(this.size);
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.Writer = Writer;
|
|
81
|
+
//# sourceMappingURL=buffer-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-writer.js","sourceRoot":"","sources":["../src/buffer-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|