decocms 2.311.1 → 2.311.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-GVxuU95v.js → AlertCircle-DZ5eg3QE.js} +1 -1
- package/dist/client/assets/{ArrowNarrowLeft-CZSxj8rY.js → ArrowNarrowLeft-1yI5FVCq.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-C9_9n6RS.js → ArrowUpRight-BHidxwxm.js} +1 -1
- package/dist/client/assets/{Check-B7RZVj2P.js → Check-Dw0791ut.js} +1 -1
- package/dist/client/assets/{CheckCircle-CpSCTcKF.js → CheckCircle-BpVjAVGG.js} +1 -1
- package/dist/client/assets/{ChevronDown-PN1FfGGP.js → ChevronDown-C4G6jLVm.js} +1 -1
- package/dist/client/assets/{ChevronRight-B87-4gCD.js → ChevronRight-L-rlViOq.js} +1 -1
- package/dist/client/assets/{ChevronUp-DXZ6bMcP.js → ChevronUp-4oGwYYrV.js} +1 -1
- package/dist/client/assets/{Container-Bn1bP0Yi.js → Container-1OJhud4n.js} +1 -1
- package/dist/client/assets/{DotsVertical-0NEZeBK_.js → DotsVertical-CRhKzL3Z.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Cl6M9_6y.js → LinkExternal01-CT0C3v5M.js} +1 -1
- package/dist/client/assets/{Lock01-BNDVtNp3.js → Lock01-NALqVAd4.js} +1 -1
- package/dist/client/assets/{Palette-BgYWS9GS.js → Palette-B49S2k5j.js} +1 -1
- package/dist/client/assets/{Play-jAQMD8Zy.js → Play-D2-YC-0X.js} +1 -1
- package/dist/client/assets/{Plus-Decn041v.js → Plus-BwRT24yO.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-2tEGwXNO.js → RefreshCcw01-BJA8p2-V.js} +1 -1
- package/dist/client/assets/{SearchMd-xzJx66s8.js → SearchMd-8EQr6MDa.js} +1 -1
- package/dist/client/assets/{Settings02-I39qsUEU.js → Settings02-BR7-LgkT.js} +1 -1
- package/dist/client/assets/{Shield01-DJsSZNak.js → Shield01-CmUy76z8.js} +1 -1
- package/dist/client/assets/{Star01-VbAdZ1nM.js → Star01-CrZZMK_h.js} +1 -1
- package/dist/client/assets/{Sun-qACU13Q-.js → Sun-BrBo82rN.js} +1 -1
- package/dist/client/assets/{Tool01-BqlBf1k7.js → Tool01-CnVLW8Ff.js} +1 -1
- package/dist/client/assets/{Trash01-BqSCZqrj.js → Trash01-CqcArs7X.js} +1 -1
- package/dist/client/assets/{User01-w8zyOHhj.js → User01-CBWDKiqM.js} +1 -1
- package/dist/client/assets/{Users03-n9zzJAad.js → Users03-lMWEL75e.js} +1 -1
- package/dist/client/assets/{X-Cwv9W6IH.js → X-Bgn4m6iE.js} +1 -1
- package/dist/client/assets/{XCircle-VMAL-xhy.js → XCircle-C7dtAhFo.js} +1 -1
- package/dist/client/assets/{XClose-GzEq-HU9.js → XClose-DAS6g7IB.js} +1 -1
- package/dist/client/assets/{Zap-D93qKeqm.js → Zap-D4YLhHLH.js} +1 -1
- package/dist/client/assets/{ZapSquare-CGJC1mww.js → ZapSquare-DW8WgORO.js} +1 -1
- package/dist/client/assets/{accordion-ZNyW-Q9t.js → accordion-w2pr29VL.js} +1 -1
- package/dist/client/assets/{agent-icon-zc2fqM1k.js → agent-icon-CoSygmB4.js} +1 -1
- package/dist/client/assets/{agents-list-UtLvJq-k.js → agents-list-BmcHuxVe.js} +1 -1
- package/dist/client/assets/ai-providers-wvV25hLp.js +1 -0
- package/dist/client/assets/{alert-dialog-7vNv5N4P.js → alert-dialog-j_H6Duj2.js} +1 -1
- package/dist/client/assets/{auth-catchall-DnPh1GEo.js → auth-catchall-g0qxiTpM.js} +1 -1
- package/dist/client/assets/{automation-list-row-Cu-q04m4.js → automation-list-row-BwSlxsKi.js} +1 -1
- package/dist/client/assets/{automations-CU2EtM_4.js → automations-CZKFrDcG.js} +1 -1
- package/dist/client/assets/{avatar-Dda8SxzC.js → avatar-DH5nI_or.js} +1 -1
- package/dist/client/assets/{badge-C_Ey5yTa.js → badge-BITu5EVC.js} +1 -1
- package/dist/client/assets/{brand-context-pyqxXmJT.js → brand-context-6Yt9jzFn.js} +1 -1
- package/dist/client/assets/{card-BqDVz8rB.js → card-En6r2E_A.js} +1 -1
- package/dist/client/assets/{chat-context-B6Fg09sU.js → chat-context-CdP_0Ara.js} +1 -1
- package/dist/client/assets/{checkbox-CwdZbdGd.js → checkbox-DfdgwpYz.js} +1 -1
- package/dist/client/assets/{collection-detail-WOE1iHbK.js → collection-detail-Cq2qud8Y.js} +1 -1
- package/dist/client/assets/{collection-display-button-QyBcFXO8.js → collection-display-button-C9fQJGtX.js} +1 -1
- package/dist/client/assets/{collection-search-FuJrX0DL.js → collection-search-DFFtMlUb.js} +1 -1
- package/dist/client/assets/{collection-search-BPpIzKqG.js → collection-search-LW_e8pOY.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-k2i9yb0q.js → collection-table-wrapper-B2VGx1DA.js} +1 -1
- package/dist/client/assets/{collection-tabs-Bbxi3Lhu.js → collection-tabs-ie4BgKCV.js} +1 -1
- package/dist/client/assets/{collections-BXMI7Hvf.js → collections-D8nUEds8.js} +1 -1
- package/dist/client/assets/{command-CcKs3phr.js → command-BXrAL_Fp.js} +1 -1
- package/dist/client/assets/{connection-card-C9ObrVFa.js → connection-card-B3usJZNT.js} +1 -1
- package/dist/client/assets/{connection-detail-DXmyznni.js → connection-detail-BLvhyH8Y.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-CLWU-iGL.js → connection-form-helpers-DJ9jYCyJ.js} +1 -1
- package/dist/client/assets/{connections-EFejJy4T.js → connections-JJSt3920.js} +1 -1
- package/dist/client/assets/{constants-DNYERMOq.js → constants-C_0Pvn36.js} +1 -1
- package/dist/client/assets/{constants-Bad0DdgK.js → constants-xCxa-gM5.js} +1 -1
- package/dist/client/assets/{dialog-BcmogFZk.js → dialog-CQJ1jbHU.js} +1 -1
- package/dist/client/assets/{domain-settings-QGlFO294.js → domain-settings-KzIawZDz.js} +1 -1
- package/dist/client/assets/{drawer-CFDUaOVL.js → drawer-CRXUsV25.js} +1 -1
- package/dist/client/assets/{dropdown-menu-NvUf9a-j.js → dropdown-menu-B0p6J489.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-CNm9aSBE.js → dynamic-plugin-layout-hX-cElnB.js} +1 -1
- package/dist/client/assets/{empty-state-Dg7DOfxH.js → empty-state-CTTNNvC-.js} +1 -1
- package/dist/client/assets/{empty-state-CYPi3AWF.js → empty-state-DiIlkZVx.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Crk93y-a.js → extract-connection-data-D5DCgJwZ.js} +1 -1
- package/dist/client/assets/{features-c-yBM4_h.js → features-CcS8M1BD.js} +1 -1
- package/dist/client/assets/{form-BbDiaTsN.js → form-D0XM9Oz-.js} +1 -1
- package/dist/client/assets/{general-BxBx3E8g.js → general-Ci0gKW7e.js} +1 -1
- package/dist/client/assets/{index-D-aGIpWM.js → index-08_qSeNu.js} +1 -1
- package/dist/client/assets/{index-DDUZQ_xH.js → index-8ASwCWdl.js} +1 -1
- package/dist/client/assets/{index-C3btaY0r.js → index-B2YlGv2D.js} +1 -1
- package/dist/client/assets/{index-D5c2Coqp.js → index-BbCoi7Kc.js} +3 -3
- package/dist/client/assets/{index-D3w8D7D3.js → index-BkAVJvYj.js} +1 -1
- package/dist/client/assets/{index-bUNQ5NEg.js → index-BuupSAqF.js} +1 -1
- package/dist/client/assets/{index-CvwiLDhg.js → index-Bzm-pgKW.js} +1 -1
- package/dist/client/assets/{index-Dl4CZy6K.js → index-Ce3hTrjw.js} +1 -1
- package/dist/client/assets/{index-BEwswwod.js → index-CtORjixM.js} +1 -1
- package/dist/client/assets/{index-Bom1zwxj.js → index-DN5Efs9x.js} +1 -1
- package/dist/client/assets/{index-rnnpRGp3.js → index-DvT00rVT.js} +1 -1
- package/dist/client/assets/{index-DmMHdsYF.js → index-Kg1PzPFs.js} +1 -1
- package/dist/client/assets/{index--qrsfEvC.js → index-N3u8642D.js} +1 -1
- package/dist/client/assets/{index-BVe-IL8_.js → index-TmBzv9_n.js} +1 -1
- package/dist/client/assets/{index-B3GjV7OW.js → index-XtKSdEVT.js} +2 -2
- package/dist/client/assets/{index-CLSBe_a4.js → index-gf-c6sSg.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-RMKX6Nq0.js → infiniteQueryObserver-CGPZBNLK.js} +1 -1
- package/dist/client/assets/{input-bkK8ZE7l.js → input-CA3wFziO.js} +1 -1
- package/dist/client/assets/{integration-icon-dKiJ5-c6.js → integration-icon-DB1BI0re.js} +1 -1
- package/dist/client/assets/{label-DTMz5O44.js → label-CsQ7X2nY.js} +1 -1
- package/dist/client/assets/{layout-LMk5O_ZK.js → layout-_eILQ4qX.js} +1 -1
- package/dist/client/assets/{lean-canvas-recruit-modal-BAnvgszw.js → lean-canvas-recruit-modal-DS3BEBlK.js} +1 -1
- package/dist/client/assets/{login-DL4UCCOO.js → login-BlD2FW6R.js} +1 -1
- package/dist/client/assets/{members-xgiddo21.js → members-CWZmvp91.js} +1 -1
- package/dist/client/assets/{monaco-editor-C2N0lO8-.js → monaco-editor-CoS3uflL.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-B1WEuAdI.js → monitoring-stats-row-CViWaRD_.js} +1 -1
- package/dist/client/assets/{oauth-callback-CEDkVwJ-.js → oauth-callback-CU5hLq_2.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Dg9MI2Au.js → oauth-callback-ai-provider-BeHCFfTz.js} +1 -1
- package/dist/client/assets/{onboarding-DkXotH-C.js → onboarding-1sE9lrXr.js} +1 -1
- package/dist/client/assets/{org-layout-BZIyzExD.js → org-layout-DjQQV-Zl.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-DMO9tynz.js → org-plugin-layout-DAhuto61.js} +1 -1
- package/dist/client/assets/{pair-Cbmyley2.js → pair-2_9kst7n.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-9QQH63Km.js → plugin-empty-state-HCn3LT7f.js} +1 -1
- package/dist/client/assets/{plugin-header-Ca6fhiCD.js → plugin-header-BURSuFWr.js} +1 -1
- package/dist/client/assets/{plugin-layout-CL9tTgtN.js → plugin-layout-D26XJiuJ.js} +1 -1
- package/dist/client/assets/{popover-a3tMurU4.js → popover-DVrNLUGd.js} +1 -1
- package/dist/client/assets/{profile-D7pjioBj.js → profile-u4Q_ge8P.js} +1 -1
- package/dist/client/assets/{project-app-view-BhV2wKdY.js → project-app-view-TR-LCEsF.js} +1 -1
- package/dist/client/assets/registry-9FuEyggS.js +2 -0
- package/dist/client/assets/{registry-layout-BaWcD2qA.js → registry-layout-CBmViIei.js} +1 -1
- package/dist/client/assets/{required-auth-layout-CnaH9rpW.js → required-auth-layout-zpm5EQiY.js} +1 -1
- package/dist/client/assets/{reset-password-vwj49aZP.js → reset-password-BBgklwFT.js} +1 -1
- package/dist/client/assets/{roles-DphWxHYt.js → roles-BFmJtd_3.js} +1 -1
- package/dist/client/assets/{scroll-area-DqbokeCV.js → scroll-area-CTB7VMjJ.js} +1 -1
- package/dist/client/assets/{search-input-DAsaTE5l.js → search-input-CDZEhQeH.js} +1 -1
- package/dist/client/assets/{select-Dli7sWvO.js → select-Ck5CQAzm.js} +1 -1
- package/dist/client/assets/{select-model-BaOTlcuq.js → select-model-WqEqjF0n.js} +1 -1
- package/dist/client/assets/{settings-layout-CjXYIm0R.js → settings-layout-OR4Oj5Bz.js} +1 -1
- package/dist/client/assets/{settings-section-DBJaYBiY.js → settings-section-hGFEsbcg.js} +1 -1
- package/dist/client/assets/{shell-layout-BMRtkmni.js → shell-layout-DgbQScgJ.js} +1 -1
- package/dist/client/assets/{skeleton-H0I9mnBy.js → skeleton-15S9YHo5.js} +1 -1
- package/dist/client/assets/{sso-DYCaqBsm.js → sso-Clf1UBGT.js} +1 -1
- package/dist/client/assets/store-registry-D1p6Sky6.js +2 -0
- package/dist/client/assets/{store-uDsU3GrB.js → store-s535k-0R.js} +1 -1
- package/dist/client/assets/{switch-BdqZBTdM.js → switch-DZpAuoR4.js} +1 -1
- package/dist/client/assets/{table-DK414n0F.js → table-Di3ejdIM.js} +1 -1
- package/dist/client/assets/{tabs-CeGpUpHP.js → tabs-CZODVyGB.js} +1 -1
- package/dist/client/assets/{task-status-CqDAnW9H.js → task-status-B-brbBsk.js} +1 -1
- package/dist/client/assets/{textarea-DYbvm35p.js → textarea-BZSNnTf-.js} +1 -1
- package/dist/client/assets/{toggle-group-DXYK5Kmg.js → toggle-group-C6O7_FmI.js} +1 -1
- package/dist/client/assets/{tools-list-DQqEXfVG.js → tools-list-E1FCeDba.js} +1 -1
- package/dist/client/assets/{tooltip-M7OSSLPB.js → tooltip-DzR2OkiC.js} +1 -1
- package/dist/client/assets/{types-aUaKAv-0.js → types-DsXhCCX5.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CmHinIUs.js → use-ai-providers-CASknL33.js} +1 -1
- package/dist/client/assets/{use-collections-Cy_Omosv.js → use-collections-Clg_Ncfr.js} +1 -1
- package/dist/client/assets/{use-connection-BTNmhjS_.js → use-connection-CN-YbXIm.js} +1 -1
- package/dist/client/assets/{use-copy-CkkAJAvS.js → use-copy-B4Vw-FGS.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BuaKZJs7.js → use-create-virtual-mcp-DDS948Ec.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-CO57B6nX.js → use-debounced-autosave-DY33egle.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-CQ1IkvCh.js → use-decopilot-events-CDc7_gFj.js} +1 -1
- package/dist/client/assets/{use-delete-connection-6dZbEpz0.js → use-delete-connection-B_kG1S-Z.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-ZPBLdFp5.js → use-infinite-scroll-C65PuA8D.js} +1 -1
- package/dist/client/assets/{use-list-state-C6g9hGA4.js → use-list-state-D0QSC4li.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-BxVuuTSL.js → use-mcp-tools-P1EYh7Ne.js} +1 -1
- package/dist/client/assets/{use-members-Bi_cxyIQ.js → use-members-B8Y7w6A6.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CSPyzm0t.js → use-navigate-to-agent-CdjjjAzp.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-C0e9yR_n.js → use-org-auth-client-DgZS2gPK.js} +1 -1
- package/dist/client/assets/{use-org-sso-BBRAkASE.js → use-org-sso-DUuDwVMq.js} +1 -1
- package/dist/client/assets/{use-organization-roles-C1ELHN87.js → use-organization-roles-COI0teJ2.js} +1 -1
- package/dist/client/assets/{use-organization-settings-DTcFJGZh.js → use-organization-settings-DFYG1X4S.js} +1 -1
- package/dist/client/assets/{use-registry-connections-BTwHNugi.js → use-registry-connections-DtGSBXyx.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DtamCVeq.js → use-status-sounds-Bzo-hQFh.js} +1 -1
- package/dist/client/assets/{use-tasks-B6YSkeM5.js → use-tasks-BkEjm0jr.js} +1 -1
- package/dist/client/assets/{use-view-mode-BT7njn-W.js → use-view-mode-QyxMfzTw.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CSMhsIFC.js → use-virtual-mcp-CywGzNw_.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BnoAFbMi.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-DALOqmfR.js +1 -0
- package/dist/client/assets/{user-D3wZendk.js → user-B1nA5pjb.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-DrXoiKTK.js → view-mode-toggle-Cj3KDqTE.js} +1 -1
- package/dist/client/assets/{workflow-BfcwUbw-.js → workflow-DHFQknOK.js} +1 -1
- package/dist/client/assets/workflow-detail-Dq-mKRWi.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +6 -2
- package/dist/server/node_modules/ansi-styles/index.d.ts +236 -0
- package/dist/server/node_modules/ansi-styles/index.js +223 -0
- package/dist/server/node_modules/{ansi-regex → ansi-styles}/package.json +13 -20
- package/dist/server/node_modules/ansi-styles/readme.md +173 -0
- package/dist/server/node_modules/convert-to-spaces/dist/index.d.ts +2 -0
- package/dist/server/node_modules/convert-to-spaces/dist/index.js +4 -0
- package/dist/server/node_modules/convert-to-spaces/license +21 -0
- package/dist/server/node_modules/convert-to-spaces/package.json +40 -0
- package/dist/server/node_modules/convert-to-spaces/readme.md +39 -0
- package/dist/server/node_modules/environment/index.d.ts +74 -0
- package/dist/server/node_modules/environment/index.js +47 -0
- package/dist/server/node_modules/environment/package.json +74 -0
- package/dist/server/node_modules/environment/readme.md +94 -0
- package/dist/server/node_modules/escape-string-regexp/index.d.ts +18 -0
- package/dist/server/node_modules/escape-string-regexp/index.js +11 -0
- package/dist/server/node_modules/escape-string-regexp/license +9 -0
- package/dist/server/node_modules/escape-string-regexp/package.json +43 -0
- package/dist/server/node_modules/escape-string-regexp/readme.md +29 -0
- package/dist/server/node_modules/get-east-asian-width/index.d.ts +60 -0
- package/dist/server/node_modules/get-east-asian-width/index.js +30 -0
- package/dist/server/node_modules/{ink → get-east-asian-width}/license +0 -1
- package/dist/server/node_modules/get-east-asian-width/lookup-data.js +18 -0
- package/dist/server/node_modules/get-east-asian-width/lookup.js +135 -0
- package/dist/server/node_modules/get-east-asian-width/package.json +71 -0
- package/dist/server/node_modules/get-east-asian-width/readme.md +65 -0
- package/dist/server/node_modules/get-east-asian-width/utilities.js +24 -0
- package/dist/server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/dist/server/node_modules/is-fullwidth-code-point/index.js +12 -0
- package/dist/server/node_modules/is-fullwidth-code-point/license +9 -0
- package/dist/server/node_modules/is-fullwidth-code-point/package.json +53 -0
- package/dist/server/node_modules/is-fullwidth-code-point/readme.md +31 -0
- package/dist/server/node_modules/is-unicode-supported/index.d.ts +12 -0
- package/dist/server/node_modules/is-unicode-supported/index.js +21 -0
- package/dist/server/node_modules/is-unicode-supported/license +9 -0
- package/dist/server/node_modules/is-unicode-supported/package.json +47 -0
- package/dist/server/node_modules/is-unicode-supported/readme.md +35 -0
- 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-connection-string/LICENSE +21 -0
- package/dist/server/node_modules/pg-connection-string/README.md +105 -0
- package/dist/server/node_modules/pg-connection-string/esm/index.mjs +8 -0
- package/dist/server/node_modules/pg-connection-string/index.d.ts +36 -0
- package/dist/server/node_modules/pg-connection-string/index.js +231 -0
- package/dist/server/node_modules/pg-connection-string/package.json +52 -0
- package/dist/server/node_modules/pg-pool/LICENSE +21 -0
- package/dist/server/node_modules/pg-pool/README.md +357 -0
- package/dist/server/node_modules/pg-pool/esm/index.mjs +5 -0
- package/dist/server/node_modules/pg-pool/index.js +517 -0
- package/dist/server/node_modules/pg-pool/package.json +51 -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.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/restore-cursor/index.d.ts +11 -0
- package/dist/server/node_modules/restore-cursor/index.js +11 -0
- package/dist/server/node_modules/restore-cursor/license +9 -0
- package/dist/server/node_modules/restore-cursor/package.json +55 -0
- package/dist/server/node_modules/restore-cursor/readme.md +31 -0
- package/dist/server/node_modules/string-width/index.d.ts +39 -0
- package/dist/server/node_modules/string-width/index.js +82 -0
- package/dist/server/node_modules/string-width/license +9 -0
- package/dist/server/node_modules/string-width/package.json +64 -0
- package/dist/server/node_modules/string-width/readme.md +66 -0
- package/dist/server/server.js +5 -1
- package/package.json +1 -1
- package/dist/client/assets/ai-providers-CfDd4KX1.js +0 -1
- package/dist/client/assets/registry-CWfZJmtj.js +0 -2
- package/dist/client/assets/store-registry-CBTBvJpl.js +0 -2
- package/dist/client/assets/useInfiniteQuery-96c4mtDU.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-HyWQwfY6.js +0 -1
- package/dist/client/assets/workflow-detail-C0BgSrtB.js +0 -1
- package/dist/server/node_modules/ansi-regex/index.d.ts +0 -33
- package/dist/server/node_modules/ansi-regex/index.js +0 -14
- package/dist/server/node_modules/ansi-regex/readme.md +0 -66
- package/dist/server/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/dist/server/node_modules/emoji-regex/README.md +0 -107
- package/dist/server/node_modules/emoji-regex/index.d.ts +0 -3
- package/dist/server/node_modules/emoji-regex/index.js +0 -4
- package/dist/server/node_modules/emoji-regex/index.mjs +0 -4
- package/dist/server/node_modules/emoji-regex/package.json +0 -45
- package/dist/server/node_modules/ink/build/ansi-tokenizer.d.ts +0 -38
- package/dist/server/node_modules/ink/build/ansi-tokenizer.js +0 -316
- package/dist/server/node_modules/ink/build/ansi-tokenizer.js.map +0 -1
- package/dist/server/node_modules/ink/build/apply-styles.js +0 -175
- package/dist/server/node_modules/ink/build/build-layout.js +0 -77
- package/dist/server/node_modules/ink/build/calculate-wrapped-text.js +0 -53
- package/dist/server/node_modules/ink/build/colorize.d.ts +0 -3
- package/dist/server/node_modules/ink/build/colorize.js +0 -48
- package/dist/server/node_modules/ink/build/colorize.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/AccessibilityContext.d.ts +0 -3
- package/dist/server/node_modules/ink/build/components/AccessibilityContext.js +0 -5
- package/dist/server/node_modules/ink/build/components/AccessibilityContext.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/App.d.ts +0 -18
- package/dist/server/node_modules/ink/build/components/App.js +0 -351
- package/dist/server/node_modules/ink/build/components/App.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/AppContext.d.ts +0 -15
- package/dist/server/node_modules/ink/build/components/AppContext.js +0 -11
- package/dist/server/node_modules/ink/build/components/AppContext.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/BackgroundContext.d.ts +0 -4
- package/dist/server/node_modules/ink/build/components/BackgroundContext.js +0 -3
- package/dist/server/node_modules/ink/build/components/BackgroundContext.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/Box.d.ts +0 -117
- package/dist/server/node_modules/ink/build/components/Box.js +0 -34
- package/dist/server/node_modules/ink/build/components/Box.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/Color.js +0 -62
- package/dist/server/node_modules/ink/build/components/Cursor.d.ts +0 -83
- package/dist/server/node_modules/ink/build/components/Cursor.js +0 -53
- package/dist/server/node_modules/ink/build/components/Cursor.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/CursorContext.d.ts +0 -11
- package/dist/server/node_modules/ink/build/components/CursorContext.js +0 -8
- package/dist/server/node_modules/ink/build/components/CursorContext.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/ErrorBoundary.d.ts +0 -18
- package/dist/server/node_modules/ink/build/components/ErrorBoundary.js +0 -23
- package/dist/server/node_modules/ink/build/components/ErrorBoundary.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/ErrorOverview.d.ts +0 -6
- package/dist/server/node_modules/ink/build/components/ErrorOverview.js +0 -84
- package/dist/server/node_modules/ink/build/components/ErrorOverview.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/FocusContext.d.ts +0 -16
- package/dist/server/node_modules/ink/build/components/FocusContext.js +0 -17
- package/dist/server/node_modules/ink/build/components/FocusContext.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/Newline.d.ts +0 -13
- package/dist/server/node_modules/ink/build/components/Newline.js +0 -8
- package/dist/server/node_modules/ink/build/components/Newline.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/Spacer.d.ts +0 -7
- package/dist/server/node_modules/ink/build/components/Spacer.js +0 -11
- package/dist/server/node_modules/ink/build/components/Spacer.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/Static.d.ts +0 -24
- package/dist/server/node_modules/ink/build/components/Static.js +0 -28
- package/dist/server/node_modules/ink/build/components/Static.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/StderrContext.d.ts +0 -15
- package/dist/server/node_modules/ink/build/components/StderrContext.js +0 -13
- package/dist/server/node_modules/ink/build/components/StderrContext.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/StdinContext.d.ts +0 -22
- package/dist/server/node_modules/ink/build/components/StdinContext.js +0 -19
- package/dist/server/node_modules/ink/build/components/StdinContext.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/StdoutContext.d.ts +0 -15
- package/dist/server/node_modules/ink/build/components/StdoutContext.js +0 -13
- package/dist/server/node_modules/ink/build/components/StdoutContext.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/Text.d.ts +0 -55
- package/dist/server/node_modules/ink/build/components/Text.js +0 -50
- package/dist/server/node_modules/ink/build/components/Text.js.map +0 -1
- package/dist/server/node_modules/ink/build/components/Transform.d.ts +0 -16
- package/dist/server/node_modules/ink/build/components/Transform.js +0 -15
- package/dist/server/node_modules/ink/build/components/Transform.js.map +0 -1
- package/dist/server/node_modules/ink/build/cursor-helpers.d.ts +0 -38
- package/dist/server/node_modules/ink/build/cursor-helpers.js +0 -56
- package/dist/server/node_modules/ink/build/cursor-helpers.js.map +0 -1
- package/dist/server/node_modules/ink/build/devtools-window-polyfill.js +0 -65
- package/dist/server/node_modules/ink/build/devtools-window-polyfill.js.map +0 -1
- package/dist/server/node_modules/ink/build/devtools.d.ts +0 -1
- package/dist/server/node_modules/ink/build/devtools.js +0 -11
- package/dist/server/node_modules/ink/build/devtools.js.map +0 -1
- package/dist/server/node_modules/ink/build/dom.d.ts +0 -56
- package/dist/server/node_modules/ink/build/dom.js +0 -124
- package/dist/server/node_modules/ink/build/dom.js.map +0 -1
- package/dist/server/node_modules/ink/build/experimental/apply-style.js +0 -140
- package/dist/server/node_modules/ink/build/experimental/dom.js +0 -123
- package/dist/server/node_modules/ink/build/experimental/output.js +0 -91
- package/dist/server/node_modules/ink/build/experimental/reconciler.js +0 -141
- package/dist/server/node_modules/ink/build/experimental/renderer.js +0 -81
- package/dist/server/node_modules/ink/build/get-max-width.d.ts +0 -3
- package/dist/server/node_modules/ink/build/get-max-width.js +0 -10
- package/dist/server/node_modules/ink/build/get-max-width.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-app.d.ts +0 -5
- package/dist/server/node_modules/ink/build/hooks/use-app.js +0 -8
- package/dist/server/node_modules/ink/build/hooks/use-app.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-cursor.d.ts +0 -12
- package/dist/server/node_modules/ink/build/hooks/use-cursor.js +0 -29
- package/dist/server/node_modules/ink/build/hooks/use-cursor.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-focus-manager.d.ts +0 -28
- package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js +0 -17
- package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-focus.d.ts +0 -29
- package/dist/server/node_modules/ink/build/hooks/use-focus.js +0 -42
- package/dist/server/node_modules/ink/build/hooks/use-focus.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-input.d.ts +0 -131
- package/dist/server/node_modules/ink/build/hooks/use-input.js +0 -124
- package/dist/server/node_modules/ink/build/hooks/use-input.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +0 -5
- package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +0 -11
- package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-stderr.d.ts +0 -5
- package/dist/server/node_modules/ink/build/hooks/use-stderr.js +0 -8
- package/dist/server/node_modules/ink/build/hooks/use-stderr.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-stdin.d.ts +0 -5
- package/dist/server/node_modules/ink/build/hooks/use-stdin.js +0 -8
- package/dist/server/node_modules/ink/build/hooks/use-stdin.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/use-stdout.d.ts +0 -5
- package/dist/server/node_modules/ink/build/hooks/use-stdout.js +0 -8
- package/dist/server/node_modules/ink/build/hooks/use-stdout.js.map +0 -1
- package/dist/server/node_modules/ink/build/hooks/useInput.js +0 -38
- package/dist/server/node_modules/ink/build/index.d.ts +0 -34
- package/dist/server/node_modules/ink/build/index.js +0 -20
- package/dist/server/node_modules/ink/build/index.js.map +0 -1
- package/dist/server/node_modules/ink/build/ink.d.ts +0 -90
- package/dist/server/node_modules/ink/build/ink.js +0 -637
- package/dist/server/node_modules/ink/build/ink.js.map +0 -1
- package/dist/server/node_modules/ink/build/input-parser.d.ts +0 -7
- package/dist/server/node_modules/ink/build/input-parser.js +0 -154
- package/dist/server/node_modules/ink/build/input-parser.js.map +0 -1
- package/dist/server/node_modules/ink/build/instance.js +0 -205
- package/dist/server/node_modules/ink/build/instances.d.ts +0 -3
- package/dist/server/node_modules/ink/build/instances.js +0 -8
- package/dist/server/node_modules/ink/build/instances.js.map +0 -1
- package/dist/server/node_modules/ink/build/kitty-keyboard.d.ts +0 -23
- package/dist/server/node_modules/ink/build/kitty-keyboard.js +0 -32
- package/dist/server/node_modules/ink/build/kitty-keyboard.js.map +0 -1
- package/dist/server/node_modules/ink/build/layout.d.ts +0 -7
- package/dist/server/node_modules/ink/build/layout.js +0 -33
- package/dist/server/node_modules/ink/build/layout.js.map +0 -1
- package/dist/server/node_modules/ink/build/log-update.d.ts +0 -19
- package/dist/server/node_modules/ink/build/log-update.js +0 -242
- package/dist/server/node_modules/ink/build/log-update.js.map +0 -1
- package/dist/server/node_modules/ink/build/measure-element.d.ts +0 -16
- package/dist/server/node_modules/ink/build/measure-element.js +0 -9
- package/dist/server/node_modules/ink/build/measure-element.js.map +0 -1
- package/dist/server/node_modules/ink/build/measure-text.d.ts +0 -6
- package/dist/server/node_modules/ink/build/measure-text.js +0 -21
- package/dist/server/node_modules/ink/build/measure-text.js.map +0 -1
- package/dist/server/node_modules/ink/build/options.d.ts +0 -52
- package/dist/server/node_modules/ink/build/options.js +0 -2
- package/dist/server/node_modules/ink/build/options.js.map +0 -1
- package/dist/server/node_modules/ink/build/output.d.ts +0 -35
- package/dist/server/node_modules/ink/build/output.js +0 -183
- package/dist/server/node_modules/ink/build/output.js.map +0 -1
- package/dist/server/node_modules/ink/build/parse-keypress.d.ts +0 -22
- package/dist/server/node_modules/ink/build/parse-keypress.js +0 -493
- package/dist/server/node_modules/ink/build/parse-keypress.js.map +0 -1
- package/dist/server/node_modules/ink/build/reconciler.d.ts +0 -4
- package/dist/server/node_modules/ink/build/reconciler.js +0 -274
- package/dist/server/node_modules/ink/build/reconciler.js.map +0 -1
- package/dist/server/node_modules/ink/build/render-background.d.ts +0 -4
- package/dist/server/node_modules/ink/build/render-background.js +0 -25
- package/dist/server/node_modules/ink/build/render-background.js.map +0 -1
- package/dist/server/node_modules/ink/build/render-border.d.ts +0 -4
- package/dist/server/node_modules/ink/build/render-border.js +0 -73
- package/dist/server/node_modules/ink/build/render-border.js.map +0 -1
- package/dist/server/node_modules/ink/build/render-node-to-output.d.ts +0 -14
- package/dist/server/node_modules/ink/build/render-node-to-output.js +0 -147
- package/dist/server/node_modules/ink/build/render-node-to-output.js.map +0 -1
- package/dist/server/node_modules/ink/build/render-to-string.d.ts +0 -38
- package/dist/server/node_modules/ink/build/render-to-string.js +0 -115
- package/dist/server/node_modules/ink/build/render-to-string.js.map +0 -1
- package/dist/server/node_modules/ink/build/render.d.ts +0 -121
- package/dist/server/node_modules/ink/build/render.js +0 -55
- package/dist/server/node_modules/ink/build/render.js.map +0 -1
- package/dist/server/node_modules/ink/build/renderer.d.ts +0 -8
- package/dist/server/node_modules/ink/build/renderer.js +0 -55
- package/dist/server/node_modules/ink/build/renderer.js.map +0 -1
- package/dist/server/node_modules/ink/build/sanitize-ansi.d.ts +0 -2
- package/dist/server/node_modules/ink/build/sanitize-ansi.js +0 -27
- package/dist/server/node_modules/ink/build/sanitize-ansi.js.map +0 -1
- package/dist/server/node_modules/ink/build/screen-reader-update.d.ts +0 -13
- package/dist/server/node_modules/ink/build/screen-reader-update.js +0 -38
- package/dist/server/node_modules/ink/build/screen-reader-update.js.map +0 -1
- package/dist/server/node_modules/ink/build/squash-text-nodes.d.ts +0 -3
- package/dist/server/node_modules/ink/build/squash-text-nodes.js +0 -36
- package/dist/server/node_modules/ink/build/squash-text-nodes.js.map +0 -1
- package/dist/server/node_modules/ink/build/styles.d.ts +0 -240
- package/dist/server/node_modules/ink/build/styles.js +0 -232
- package/dist/server/node_modules/ink/build/styles.js.map +0 -1
- package/dist/server/node_modules/ink/build/utils.d.ts +0 -2
- package/dist/server/node_modules/ink/build/utils.js +0 -4
- package/dist/server/node_modules/ink/build/utils.js.map +0 -1
- package/dist/server/node_modules/ink/build/wrap-text.d.ts +0 -3
- package/dist/server/node_modules/ink/build/wrap-text.js +0 -31
- package/dist/server/node_modules/ink/build/wrap-text.js.map +0 -1
- package/dist/server/node_modules/ink/build/write-synchronized.d.ts +0 -4
- package/dist/server/node_modules/ink/build/write-synchronized.js +0 -7
- package/dist/server/node_modules/ink/build/write-synchronized.js.map +0 -1
- package/dist/server/node_modules/ink/package.json +0 -201
- package/dist/server/node_modules/ink/readme.md +0 -2636
- package/dist/server/node_modules/onetime/index.d.ts +0 -64
- package/dist/server/node_modules/onetime/index.js +0 -44
- package/dist/server/node_modules/onetime/package.json +0 -43
- package/dist/server/node_modules/onetime/readme.md +0 -94
- /package/dist/server/node_modules/{ansi-regex → ansi-styles}/license +0 -0
- /package/dist/server/node_modules/{onetime → environment}/license +0 -0
- /package/dist/server/node_modules/{ink/build/devtools-window-polyfill.d.ts → pg-protocol/dist/b.d.ts} +0 -0
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Parser = void 0;
|
|
4
|
+
const messages_1 = require("./messages");
|
|
5
|
+
const buffer_reader_1 = require("./buffer-reader");
|
|
6
|
+
// every message is prefixed with a single bye
|
|
7
|
+
const CODE_LENGTH = 1;
|
|
8
|
+
// every message has an int32 length which includes itself but does
|
|
9
|
+
// NOT include the code in the length
|
|
10
|
+
const LEN_LENGTH = 4;
|
|
11
|
+
const HEADER_LENGTH = CODE_LENGTH + LEN_LENGTH;
|
|
12
|
+
// A placeholder for a `BackendMessage`’s length value that will be set after construction.
|
|
13
|
+
const LATEINIT_LENGTH = -1;
|
|
14
|
+
const emptyBuffer = Buffer.allocUnsafe(0);
|
|
15
|
+
class Parser {
|
|
16
|
+
constructor(opts) {
|
|
17
|
+
this.buffer = emptyBuffer;
|
|
18
|
+
this.bufferLength = 0;
|
|
19
|
+
this.bufferOffset = 0;
|
|
20
|
+
this.reader = new buffer_reader_1.BufferReader();
|
|
21
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.mode) === 'binary') {
|
|
22
|
+
throw new Error('Binary mode not supported yet');
|
|
23
|
+
}
|
|
24
|
+
this.mode = (opts === null || opts === void 0 ? void 0 : opts.mode) || 'text';
|
|
25
|
+
}
|
|
26
|
+
parse(buffer, callback) {
|
|
27
|
+
this.mergeBuffer(buffer);
|
|
28
|
+
const bufferFullLength = this.bufferOffset + this.bufferLength;
|
|
29
|
+
let offset = this.bufferOffset;
|
|
30
|
+
while (offset + HEADER_LENGTH <= bufferFullLength) {
|
|
31
|
+
// code is 1 byte long - it identifies the message type
|
|
32
|
+
const code = this.buffer[offset];
|
|
33
|
+
// length is 1 Uint32BE - it is the length of the message EXCLUDING the code
|
|
34
|
+
const length = this.buffer.readUInt32BE(offset + CODE_LENGTH);
|
|
35
|
+
const fullMessageLength = CODE_LENGTH + length;
|
|
36
|
+
if (fullMessageLength + offset <= bufferFullLength) {
|
|
37
|
+
const message = this.handlePacket(offset + HEADER_LENGTH, code, length, this.buffer);
|
|
38
|
+
callback(message);
|
|
39
|
+
offset += fullMessageLength;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (offset === bufferFullLength) {
|
|
46
|
+
// No more use for the buffer
|
|
47
|
+
this.buffer = emptyBuffer;
|
|
48
|
+
this.bufferLength = 0;
|
|
49
|
+
this.bufferOffset = 0;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Adjust the cursors of remainingBuffer
|
|
53
|
+
this.bufferLength = bufferFullLength - offset;
|
|
54
|
+
this.bufferOffset = offset;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
mergeBuffer(buffer) {
|
|
58
|
+
if (this.bufferLength > 0) {
|
|
59
|
+
const newLength = this.bufferLength + buffer.byteLength;
|
|
60
|
+
const newFullLength = newLength + this.bufferOffset;
|
|
61
|
+
if (newFullLength > this.buffer.byteLength) {
|
|
62
|
+
// We can't concat the new buffer with the remaining one
|
|
63
|
+
let newBuffer;
|
|
64
|
+
if (newLength <= this.buffer.byteLength && this.bufferOffset >= this.bufferLength) {
|
|
65
|
+
// We can move the relevant part to the beginning of the buffer instead of allocating a new buffer
|
|
66
|
+
newBuffer = this.buffer;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Allocate a new larger buffer
|
|
70
|
+
let newBufferLength = this.buffer.byteLength * 2;
|
|
71
|
+
while (newLength >= newBufferLength) {
|
|
72
|
+
newBufferLength *= 2;
|
|
73
|
+
}
|
|
74
|
+
newBuffer = Buffer.allocUnsafe(newBufferLength);
|
|
75
|
+
}
|
|
76
|
+
// Move the remaining buffer to the new one
|
|
77
|
+
this.buffer.copy(newBuffer, 0, this.bufferOffset, this.bufferOffset + this.bufferLength);
|
|
78
|
+
this.buffer = newBuffer;
|
|
79
|
+
this.bufferOffset = 0;
|
|
80
|
+
}
|
|
81
|
+
// Concat the new buffer with the remaining one
|
|
82
|
+
buffer.copy(this.buffer, this.bufferOffset + this.bufferLength);
|
|
83
|
+
this.bufferLength = newLength;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.buffer = buffer;
|
|
87
|
+
this.bufferOffset = 0;
|
|
88
|
+
this.bufferLength = buffer.byteLength;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
handlePacket(offset, code, length, bytes) {
|
|
92
|
+
const { reader } = this;
|
|
93
|
+
// NOTE: This undesirably retains the buffer in `this.reader` if the `parse*Message` calls below throw. However, those should only throw in the case of a protocol error, which normally results in the reader being discarded.
|
|
94
|
+
reader.setBuffer(offset, bytes);
|
|
95
|
+
let message;
|
|
96
|
+
switch (code) {
|
|
97
|
+
case 50 /* MessageCodes.BindComplete */:
|
|
98
|
+
message = messages_1.bindComplete;
|
|
99
|
+
break;
|
|
100
|
+
case 49 /* MessageCodes.ParseComplete */:
|
|
101
|
+
message = messages_1.parseComplete;
|
|
102
|
+
break;
|
|
103
|
+
case 51 /* MessageCodes.CloseComplete */:
|
|
104
|
+
message = messages_1.closeComplete;
|
|
105
|
+
break;
|
|
106
|
+
case 110 /* MessageCodes.NoData */:
|
|
107
|
+
message = messages_1.noData;
|
|
108
|
+
break;
|
|
109
|
+
case 115 /* MessageCodes.PortalSuspended */:
|
|
110
|
+
message = messages_1.portalSuspended;
|
|
111
|
+
break;
|
|
112
|
+
case 99 /* MessageCodes.CopyDone */:
|
|
113
|
+
message = messages_1.copyDone;
|
|
114
|
+
break;
|
|
115
|
+
case 87 /* MessageCodes.ReplicationStart */:
|
|
116
|
+
message = messages_1.replicationStart;
|
|
117
|
+
break;
|
|
118
|
+
case 73 /* MessageCodes.EmptyQuery */:
|
|
119
|
+
message = messages_1.emptyQuery;
|
|
120
|
+
break;
|
|
121
|
+
case 68 /* MessageCodes.DataRow */:
|
|
122
|
+
message = parseDataRowMessage(reader);
|
|
123
|
+
break;
|
|
124
|
+
case 67 /* MessageCodes.CommandComplete */:
|
|
125
|
+
message = parseCommandCompleteMessage(reader);
|
|
126
|
+
break;
|
|
127
|
+
case 90 /* MessageCodes.ReadyForQuery */:
|
|
128
|
+
message = parseReadyForQueryMessage(reader);
|
|
129
|
+
break;
|
|
130
|
+
case 65 /* MessageCodes.NotificationResponse */:
|
|
131
|
+
message = parseNotificationMessage(reader);
|
|
132
|
+
break;
|
|
133
|
+
case 82 /* MessageCodes.AuthenticationResponse */:
|
|
134
|
+
message = parseAuthenticationResponse(reader, length);
|
|
135
|
+
break;
|
|
136
|
+
case 83 /* MessageCodes.ParameterStatus */:
|
|
137
|
+
message = parseParameterStatusMessage(reader);
|
|
138
|
+
break;
|
|
139
|
+
case 75 /* MessageCodes.BackendKeyData */:
|
|
140
|
+
message = parseBackendKeyData(reader);
|
|
141
|
+
break;
|
|
142
|
+
case 69 /* MessageCodes.ErrorMessage */:
|
|
143
|
+
message = parseErrorMessage(reader, 'error');
|
|
144
|
+
break;
|
|
145
|
+
case 78 /* MessageCodes.NoticeMessage */:
|
|
146
|
+
message = parseErrorMessage(reader, 'notice');
|
|
147
|
+
break;
|
|
148
|
+
case 84 /* MessageCodes.RowDescriptionMessage */:
|
|
149
|
+
message = parseRowDescriptionMessage(reader);
|
|
150
|
+
break;
|
|
151
|
+
case 116 /* MessageCodes.ParameterDescriptionMessage */:
|
|
152
|
+
message = parseParameterDescriptionMessage(reader);
|
|
153
|
+
break;
|
|
154
|
+
case 71 /* MessageCodes.CopyIn */:
|
|
155
|
+
message = parseCopyInMessage(reader);
|
|
156
|
+
break;
|
|
157
|
+
case 72 /* MessageCodes.CopyOut */:
|
|
158
|
+
message = parseCopyOutMessage(reader);
|
|
159
|
+
break;
|
|
160
|
+
case 100 /* MessageCodes.CopyData */:
|
|
161
|
+
message = parseCopyData(reader, length);
|
|
162
|
+
break;
|
|
163
|
+
default:
|
|
164
|
+
return new messages_1.DatabaseError('received invalid response: ' + code.toString(16), length, 'error');
|
|
165
|
+
}
|
|
166
|
+
reader.setBuffer(0, emptyBuffer);
|
|
167
|
+
message.length = length;
|
|
168
|
+
return message;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
exports.Parser = Parser;
|
|
172
|
+
const parseReadyForQueryMessage = (reader) => {
|
|
173
|
+
const status = reader.string(1);
|
|
174
|
+
return new messages_1.ReadyForQueryMessage(LATEINIT_LENGTH, status);
|
|
175
|
+
};
|
|
176
|
+
const parseCommandCompleteMessage = (reader) => {
|
|
177
|
+
const text = reader.cstring();
|
|
178
|
+
return new messages_1.CommandCompleteMessage(LATEINIT_LENGTH, text);
|
|
179
|
+
};
|
|
180
|
+
const parseCopyData = (reader, length) => {
|
|
181
|
+
const chunk = reader.bytes(length - 4);
|
|
182
|
+
return new messages_1.CopyDataMessage(LATEINIT_LENGTH, chunk);
|
|
183
|
+
};
|
|
184
|
+
const parseCopyInMessage = (reader) => parseCopyMessage(reader, 'copyInResponse');
|
|
185
|
+
const parseCopyOutMessage = (reader) => parseCopyMessage(reader, 'copyOutResponse');
|
|
186
|
+
const parseCopyMessage = (reader, messageName) => {
|
|
187
|
+
const isBinary = reader.byte() !== 0;
|
|
188
|
+
const columnCount = reader.int16();
|
|
189
|
+
const message = new messages_1.CopyResponse(LATEINIT_LENGTH, messageName, isBinary, columnCount);
|
|
190
|
+
for (let i = 0; i < columnCount; i++) {
|
|
191
|
+
message.columnTypes[i] = reader.int16();
|
|
192
|
+
}
|
|
193
|
+
return message;
|
|
194
|
+
};
|
|
195
|
+
const parseNotificationMessage = (reader) => {
|
|
196
|
+
const processId = reader.int32();
|
|
197
|
+
const channel = reader.cstring();
|
|
198
|
+
const payload = reader.cstring();
|
|
199
|
+
return new messages_1.NotificationResponseMessage(LATEINIT_LENGTH, processId, channel, payload);
|
|
200
|
+
};
|
|
201
|
+
const parseRowDescriptionMessage = (reader) => {
|
|
202
|
+
const fieldCount = reader.int16();
|
|
203
|
+
const message = new messages_1.RowDescriptionMessage(LATEINIT_LENGTH, fieldCount);
|
|
204
|
+
for (let i = 0; i < fieldCount; i++) {
|
|
205
|
+
message.fields[i] = parseField(reader);
|
|
206
|
+
}
|
|
207
|
+
return message;
|
|
208
|
+
};
|
|
209
|
+
const parseField = (reader) => {
|
|
210
|
+
const name = reader.cstring();
|
|
211
|
+
const tableID = reader.uint32();
|
|
212
|
+
const columnID = reader.int16();
|
|
213
|
+
const dataTypeID = reader.uint32();
|
|
214
|
+
const dataTypeSize = reader.int16();
|
|
215
|
+
const dataTypeModifier = reader.int32();
|
|
216
|
+
const mode = reader.int16() === 0 ? 'text' : 'binary';
|
|
217
|
+
return new messages_1.Field(name, tableID, columnID, dataTypeID, dataTypeSize, dataTypeModifier, mode);
|
|
218
|
+
};
|
|
219
|
+
const parseParameterDescriptionMessage = (reader) => {
|
|
220
|
+
const parameterCount = reader.int16();
|
|
221
|
+
const message = new messages_1.ParameterDescriptionMessage(LATEINIT_LENGTH, parameterCount);
|
|
222
|
+
for (let i = 0; i < parameterCount; i++) {
|
|
223
|
+
message.dataTypeIDs[i] = reader.int32();
|
|
224
|
+
}
|
|
225
|
+
return message;
|
|
226
|
+
};
|
|
227
|
+
const parseDataRowMessage = (reader) => {
|
|
228
|
+
const fieldCount = reader.int16();
|
|
229
|
+
const fields = new Array(fieldCount);
|
|
230
|
+
for (let i = 0; i < fieldCount; i++) {
|
|
231
|
+
const len = reader.int32();
|
|
232
|
+
// a -1 for length means the value of the field is null
|
|
233
|
+
fields[i] = len === -1 ? null : reader.string(len);
|
|
234
|
+
}
|
|
235
|
+
return new messages_1.DataRowMessage(LATEINIT_LENGTH, fields);
|
|
236
|
+
};
|
|
237
|
+
const parseParameterStatusMessage = (reader) => {
|
|
238
|
+
const name = reader.cstring();
|
|
239
|
+
const value = reader.cstring();
|
|
240
|
+
return new messages_1.ParameterStatusMessage(LATEINIT_LENGTH, name, value);
|
|
241
|
+
};
|
|
242
|
+
const parseBackendKeyData = (reader) => {
|
|
243
|
+
const processID = reader.int32();
|
|
244
|
+
const secretKey = reader.int32();
|
|
245
|
+
return new messages_1.BackendKeyDataMessage(LATEINIT_LENGTH, processID, secretKey);
|
|
246
|
+
};
|
|
247
|
+
const parseAuthenticationResponse = (reader, length) => {
|
|
248
|
+
const code = reader.int32();
|
|
249
|
+
// TODO(bmc): maybe better types here
|
|
250
|
+
const message = {
|
|
251
|
+
name: 'authenticationOk',
|
|
252
|
+
length,
|
|
253
|
+
};
|
|
254
|
+
switch (code) {
|
|
255
|
+
case 0: // AuthenticationOk
|
|
256
|
+
break;
|
|
257
|
+
case 3: // AuthenticationCleartextPassword
|
|
258
|
+
if (message.length === 8) {
|
|
259
|
+
message.name = 'authenticationCleartextPassword';
|
|
260
|
+
}
|
|
261
|
+
break;
|
|
262
|
+
case 5: // AuthenticationMD5Password
|
|
263
|
+
if (message.length === 12) {
|
|
264
|
+
message.name = 'authenticationMD5Password';
|
|
265
|
+
const salt = reader.bytes(4);
|
|
266
|
+
return new messages_1.AuthenticationMD5Password(LATEINIT_LENGTH, salt);
|
|
267
|
+
}
|
|
268
|
+
break;
|
|
269
|
+
case 10: // AuthenticationSASL
|
|
270
|
+
{
|
|
271
|
+
message.name = 'authenticationSASL';
|
|
272
|
+
message.mechanisms = [];
|
|
273
|
+
let mechanism;
|
|
274
|
+
do {
|
|
275
|
+
mechanism = reader.cstring();
|
|
276
|
+
if (mechanism) {
|
|
277
|
+
message.mechanisms.push(mechanism);
|
|
278
|
+
}
|
|
279
|
+
} while (mechanism);
|
|
280
|
+
}
|
|
281
|
+
break;
|
|
282
|
+
case 11: // AuthenticationSASLContinue
|
|
283
|
+
message.name = 'authenticationSASLContinue';
|
|
284
|
+
message.data = reader.string(length - 8);
|
|
285
|
+
break;
|
|
286
|
+
case 12: // AuthenticationSASLFinal
|
|
287
|
+
message.name = 'authenticationSASLFinal';
|
|
288
|
+
message.data = reader.string(length - 8);
|
|
289
|
+
break;
|
|
290
|
+
default:
|
|
291
|
+
throw new Error('Unknown authenticationOk message type ' + code);
|
|
292
|
+
}
|
|
293
|
+
return message;
|
|
294
|
+
};
|
|
295
|
+
const parseErrorMessage = (reader, name) => {
|
|
296
|
+
const fields = {};
|
|
297
|
+
let fieldType = reader.string(1);
|
|
298
|
+
while (fieldType !== '\0') {
|
|
299
|
+
fields[fieldType] = reader.cstring();
|
|
300
|
+
fieldType = reader.string(1);
|
|
301
|
+
}
|
|
302
|
+
const messageValue = fields.M;
|
|
303
|
+
const message = name === 'notice'
|
|
304
|
+
? new messages_1.NoticeMessage(LATEINIT_LENGTH, messageValue)
|
|
305
|
+
: new messages_1.DatabaseError(messageValue, LATEINIT_LENGTH, name);
|
|
306
|
+
message.severity = fields.S;
|
|
307
|
+
message.code = fields.C;
|
|
308
|
+
message.detail = fields.D;
|
|
309
|
+
message.hint = fields.H;
|
|
310
|
+
message.position = fields.P;
|
|
311
|
+
message.internalPosition = fields.p;
|
|
312
|
+
message.internalQuery = fields.q;
|
|
313
|
+
message.where = fields.W;
|
|
314
|
+
message.schema = fields.s;
|
|
315
|
+
message.table = fields.t;
|
|
316
|
+
message.column = fields.c;
|
|
317
|
+
message.dataType = fields.d;
|
|
318
|
+
message.constraint = fields.n;
|
|
319
|
+
message.file = fields.F;
|
|
320
|
+
message.line = fields.L;
|
|
321
|
+
message.routine = fields.R;
|
|
322
|
+
return message;
|
|
323
|
+
};
|
|
324
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
declare type ParseOpts = {
|
|
2
|
+
name?: string;
|
|
3
|
+
types?: number[];
|
|
4
|
+
text: string;
|
|
5
|
+
};
|
|
6
|
+
declare type ValueMapper = (param: any, index: number) => any;
|
|
7
|
+
declare type BindOpts = {
|
|
8
|
+
portal?: string;
|
|
9
|
+
binary?: boolean;
|
|
10
|
+
statement?: string;
|
|
11
|
+
values?: any[];
|
|
12
|
+
valueMapper?: ValueMapper;
|
|
13
|
+
};
|
|
14
|
+
declare type ExecOpts = {
|
|
15
|
+
portal?: string;
|
|
16
|
+
rows?: number;
|
|
17
|
+
};
|
|
18
|
+
declare type PortalOpts = {
|
|
19
|
+
type: 'S' | 'P';
|
|
20
|
+
name?: string;
|
|
21
|
+
};
|
|
22
|
+
declare const serialize: {
|
|
23
|
+
startup: (opts: Record<string, string>) => Buffer;
|
|
24
|
+
password: (password: string) => Buffer;
|
|
25
|
+
requestSsl: () => Buffer;
|
|
26
|
+
sendSASLInitialResponseMessage: (mechanism: string, initialResponse: string) => Buffer;
|
|
27
|
+
sendSCRAMClientFinalMessage: (additionalData: string) => Buffer;
|
|
28
|
+
query: (text: string) => Buffer;
|
|
29
|
+
parse: (query: ParseOpts) => Buffer;
|
|
30
|
+
bind: (config?: BindOpts) => Buffer;
|
|
31
|
+
execute: (config?: ExecOpts) => Buffer;
|
|
32
|
+
describe: (msg: PortalOpts) => Buffer;
|
|
33
|
+
close: (msg: PortalOpts) => Buffer;
|
|
34
|
+
flush: () => Buffer;
|
|
35
|
+
sync: () => Buffer;
|
|
36
|
+
end: () => Buffer;
|
|
37
|
+
copyData: (chunk: Buffer) => Buffer;
|
|
38
|
+
copyDone: () => Buffer;
|
|
39
|
+
copyFail: (message: string) => Buffer;
|
|
40
|
+
cancel: (processID: number, secretKey: number) => Buffer;
|
|
41
|
+
};
|
|
42
|
+
export { serialize };
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serialize = void 0;
|
|
4
|
+
const buffer_writer_1 = require("./buffer-writer");
|
|
5
|
+
const writer = new buffer_writer_1.Writer();
|
|
6
|
+
const startup = (opts) => {
|
|
7
|
+
// protocol version
|
|
8
|
+
writer.addInt16(3).addInt16(0);
|
|
9
|
+
for (const key of Object.keys(opts)) {
|
|
10
|
+
writer.addCString(key).addCString(opts[key]);
|
|
11
|
+
}
|
|
12
|
+
writer.addCString('client_encoding').addCString('UTF8');
|
|
13
|
+
const bodyBuffer = writer.addCString('').flush();
|
|
14
|
+
// this message is sent without a code
|
|
15
|
+
const length = bodyBuffer.length + 4;
|
|
16
|
+
return new buffer_writer_1.Writer().addInt32(length).add(bodyBuffer).flush();
|
|
17
|
+
};
|
|
18
|
+
const requestSsl = () => {
|
|
19
|
+
const response = Buffer.allocUnsafe(8);
|
|
20
|
+
response.writeInt32BE(8, 0);
|
|
21
|
+
response.writeInt32BE(80877103, 4);
|
|
22
|
+
return response;
|
|
23
|
+
};
|
|
24
|
+
const password = (password) => {
|
|
25
|
+
return writer.addCString(password).flush(112 /* code.startup */);
|
|
26
|
+
};
|
|
27
|
+
const sendSASLInitialResponseMessage = function (mechanism, initialResponse) {
|
|
28
|
+
// 0x70 = 'p'
|
|
29
|
+
writer.addCString(mechanism).addInt32(Buffer.byteLength(initialResponse)).addString(initialResponse);
|
|
30
|
+
return writer.flush(112 /* code.startup */);
|
|
31
|
+
};
|
|
32
|
+
const sendSCRAMClientFinalMessage = function (additionalData) {
|
|
33
|
+
return writer.addString(additionalData).flush(112 /* code.startup */);
|
|
34
|
+
};
|
|
35
|
+
const query = (text) => {
|
|
36
|
+
return writer.addCString(text).flush(81 /* code.query */);
|
|
37
|
+
};
|
|
38
|
+
const emptyArray = [];
|
|
39
|
+
const parse = (query) => {
|
|
40
|
+
// expect something like this:
|
|
41
|
+
// { name: 'queryName',
|
|
42
|
+
// text: 'select * from blah',
|
|
43
|
+
// types: ['int8', 'bool'] }
|
|
44
|
+
// normalize missing query names to allow for null
|
|
45
|
+
const name = query.name || '';
|
|
46
|
+
if (name.length > 63) {
|
|
47
|
+
console.error('Warning! Postgres only supports 63 characters for query names.');
|
|
48
|
+
console.error('You supplied %s (%s)', name, name.length);
|
|
49
|
+
console.error('This can cause conflicts and silent errors executing queries');
|
|
50
|
+
}
|
|
51
|
+
const types = query.types || emptyArray;
|
|
52
|
+
const len = types.length;
|
|
53
|
+
const buffer = writer
|
|
54
|
+
.addCString(name) // name of query
|
|
55
|
+
.addCString(query.text) // actual query text
|
|
56
|
+
.addInt16(len);
|
|
57
|
+
for (let i = 0; i < len; i++) {
|
|
58
|
+
buffer.addInt32(types[i]);
|
|
59
|
+
}
|
|
60
|
+
return writer.flush(80 /* code.parse */);
|
|
61
|
+
};
|
|
62
|
+
const paramWriter = new buffer_writer_1.Writer();
|
|
63
|
+
const writeValues = function (values, valueMapper) {
|
|
64
|
+
for (let i = 0; i < values.length; i++) {
|
|
65
|
+
const mappedVal = valueMapper ? valueMapper(values[i], i) : values[i];
|
|
66
|
+
if (mappedVal == null) {
|
|
67
|
+
// add the param type (string) to the writer
|
|
68
|
+
writer.addInt16(0 /* ParamType.STRING */);
|
|
69
|
+
// write -1 to the param writer to indicate null
|
|
70
|
+
paramWriter.addInt32(-1);
|
|
71
|
+
}
|
|
72
|
+
else if (mappedVal instanceof Buffer) {
|
|
73
|
+
// add the param type (binary) to the writer
|
|
74
|
+
writer.addInt16(1 /* ParamType.BINARY */);
|
|
75
|
+
// add the buffer to the param writer
|
|
76
|
+
paramWriter.addInt32(mappedVal.length);
|
|
77
|
+
paramWriter.add(mappedVal);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// add the param type (string) to the writer
|
|
81
|
+
writer.addInt16(0 /* ParamType.STRING */);
|
|
82
|
+
paramWriter.addInt32(Buffer.byteLength(mappedVal));
|
|
83
|
+
paramWriter.addString(mappedVal);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const bind = (config = {}) => {
|
|
88
|
+
// normalize config
|
|
89
|
+
const portal = config.portal || '';
|
|
90
|
+
const statement = config.statement || '';
|
|
91
|
+
const binary = config.binary || false;
|
|
92
|
+
const values = config.values || emptyArray;
|
|
93
|
+
const len = values.length;
|
|
94
|
+
writer.addCString(portal).addCString(statement);
|
|
95
|
+
writer.addInt16(len);
|
|
96
|
+
writeValues(values, config.valueMapper);
|
|
97
|
+
writer.addInt16(len);
|
|
98
|
+
writer.add(paramWriter.flush());
|
|
99
|
+
// all results use the same format code
|
|
100
|
+
writer.addInt16(1);
|
|
101
|
+
// format code
|
|
102
|
+
writer.addInt16(binary ? 1 /* ParamType.BINARY */ : 0 /* ParamType.STRING */);
|
|
103
|
+
return writer.flush(66 /* code.bind */);
|
|
104
|
+
};
|
|
105
|
+
const emptyExecute = Buffer.from([69 /* code.execute */, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00]);
|
|
106
|
+
const execute = (config) => {
|
|
107
|
+
// this is the happy path for most queries
|
|
108
|
+
if (!config || (!config.portal && !config.rows)) {
|
|
109
|
+
return emptyExecute;
|
|
110
|
+
}
|
|
111
|
+
const portal = config.portal || '';
|
|
112
|
+
const rows = config.rows || 0;
|
|
113
|
+
const portalLength = Buffer.byteLength(portal);
|
|
114
|
+
const len = 4 + portalLength + 1 + 4;
|
|
115
|
+
// one extra bit for code
|
|
116
|
+
const buff = Buffer.allocUnsafe(1 + len);
|
|
117
|
+
buff[0] = 69 /* code.execute */;
|
|
118
|
+
buff.writeInt32BE(len, 1);
|
|
119
|
+
buff.write(portal, 5, 'utf-8');
|
|
120
|
+
buff[portalLength + 5] = 0; // null terminate portal cString
|
|
121
|
+
buff.writeUInt32BE(rows, buff.length - 4);
|
|
122
|
+
return buff;
|
|
123
|
+
};
|
|
124
|
+
const cancel = (processID, secretKey) => {
|
|
125
|
+
const buffer = Buffer.allocUnsafe(16);
|
|
126
|
+
buffer.writeInt32BE(16, 0);
|
|
127
|
+
buffer.writeInt16BE(1234, 4);
|
|
128
|
+
buffer.writeInt16BE(5678, 6);
|
|
129
|
+
buffer.writeInt32BE(processID, 8);
|
|
130
|
+
buffer.writeInt32BE(secretKey, 12);
|
|
131
|
+
return buffer;
|
|
132
|
+
};
|
|
133
|
+
const cstringMessage = (code, string) => {
|
|
134
|
+
const stringLen = Buffer.byteLength(string);
|
|
135
|
+
const len = 4 + stringLen + 1;
|
|
136
|
+
// one extra bit for code
|
|
137
|
+
const buffer = Buffer.allocUnsafe(1 + len);
|
|
138
|
+
buffer[0] = code;
|
|
139
|
+
buffer.writeInt32BE(len, 1);
|
|
140
|
+
buffer.write(string, 5, 'utf-8');
|
|
141
|
+
buffer[len] = 0; // null terminate cString
|
|
142
|
+
return buffer;
|
|
143
|
+
};
|
|
144
|
+
const emptyDescribePortal = writer.addCString('P').flush(68 /* code.describe */);
|
|
145
|
+
const emptyDescribeStatement = writer.addCString('S').flush(68 /* code.describe */);
|
|
146
|
+
const describe = (msg) => {
|
|
147
|
+
return msg.name
|
|
148
|
+
? cstringMessage(68 /* code.describe */, `${msg.type}${msg.name || ''}`)
|
|
149
|
+
: msg.type === 'P'
|
|
150
|
+
? emptyDescribePortal
|
|
151
|
+
: emptyDescribeStatement;
|
|
152
|
+
};
|
|
153
|
+
const close = (msg) => {
|
|
154
|
+
const text = `${msg.type}${msg.name || ''}`;
|
|
155
|
+
return cstringMessage(67 /* code.close */, text);
|
|
156
|
+
};
|
|
157
|
+
const copyData = (chunk) => {
|
|
158
|
+
return writer.add(chunk).flush(100 /* code.copyFromChunk */);
|
|
159
|
+
};
|
|
160
|
+
const copyFail = (message) => {
|
|
161
|
+
return cstringMessage(102 /* code.copyFail */, message);
|
|
162
|
+
};
|
|
163
|
+
const codeOnlyBuffer = (code) => Buffer.from([code, 0x00, 0x00, 0x00, 0x04]);
|
|
164
|
+
const flushBuffer = codeOnlyBuffer(72 /* code.flush */);
|
|
165
|
+
const syncBuffer = codeOnlyBuffer(83 /* code.sync */);
|
|
166
|
+
const endBuffer = codeOnlyBuffer(88 /* code.end */);
|
|
167
|
+
const copyDoneBuffer = codeOnlyBuffer(99 /* code.copyDone */);
|
|
168
|
+
const serialize = {
|
|
169
|
+
startup,
|
|
170
|
+
password,
|
|
171
|
+
requestSsl,
|
|
172
|
+
sendSASLInitialResponseMessage,
|
|
173
|
+
sendSCRAMClientFinalMessage,
|
|
174
|
+
query,
|
|
175
|
+
parse,
|
|
176
|
+
bind,
|
|
177
|
+
execute,
|
|
178
|
+
describe,
|
|
179
|
+
close,
|
|
180
|
+
flush: () => flushBuffer,
|
|
181
|
+
sync: () => syncBuffer,
|
|
182
|
+
end: () => endBuffer,
|
|
183
|
+
copyData,
|
|
184
|
+
copyDone: () => copyDoneBuffer,
|
|
185
|
+
copyFail,
|
|
186
|
+
cancel,
|
|
187
|
+
};
|
|
188
|
+
exports.serialize = serialize;
|
|
189
|
+
//# sourceMappingURL=serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// ESM wrapper for pg-protocol
|
|
2
|
+
import * as protocol from '../dist/index.js'
|
|
3
|
+
|
|
4
|
+
// Re-export all the properties
|
|
5
|
+
export const DatabaseError = protocol.DatabaseError
|
|
6
|
+
export const SASL = protocol.SASL
|
|
7
|
+
export const serialize = protocol.serialize
|
|
8
|
+
export const parse = protocol.parse
|
|
9
|
+
|
|
10
|
+
// Re-export the default
|
|
11
|
+
export default protocol
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pg-protocol",
|
|
3
|
+
"version": "1.13.0",
|
|
4
|
+
"description": "The postgres client/server binary protocol, implemented in TypeScript",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./esm/index.js",
|
|
10
|
+
"require": "./dist/index.js",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./dist/*": "./dist/*.js",
|
|
14
|
+
"./dist/*.js": "./dist/*.js"
|
|
15
|
+
},
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@types/chai": "^4.2.7",
|
|
19
|
+
"@types/mocha": "^10.0.10",
|
|
20
|
+
"@types/node": "^12.12.21",
|
|
21
|
+
"chai": "^4.2.0",
|
|
22
|
+
"chunky": "^0.0.0",
|
|
23
|
+
"mocha": "^11.7.5",
|
|
24
|
+
"ts-node": "^8.5.4",
|
|
25
|
+
"typescript": "^4.0.3"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"test": "mocha dist/**/*.test.js",
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"build:watch": "tsc --watch",
|
|
31
|
+
"prepublish": "yarn build",
|
|
32
|
+
"pretest": "yarn build"
|
|
33
|
+
},
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "git://github.com/brianc/node-postgres.git",
|
|
37
|
+
"directory": "packages/pg-protocol"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"/dist/*{js,ts,map}",
|
|
41
|
+
"/src",
|
|
42
|
+
"/esm"
|
|
43
|
+
],
|
|
44
|
+
"gitHead": "c9070cc8d526fca65780cedc25c1966b57cf7532"
|
|
45
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// file for microbenchmarking
|
|
2
|
+
|
|
3
|
+
import { BufferReader } from './buffer-reader'
|
|
4
|
+
|
|
5
|
+
const LOOPS = 1000
|
|
6
|
+
let count = 0
|
|
7
|
+
const start = performance.now()
|
|
8
|
+
|
|
9
|
+
const reader = new BufferReader()
|
|
10
|
+
const buffer = Buffer.from([33, 33, 33, 33, 33, 33, 33, 0])
|
|
11
|
+
|
|
12
|
+
const run = () => {
|
|
13
|
+
if (count > LOOPS) {
|
|
14
|
+
console.log(performance.now() - start)
|
|
15
|
+
return
|
|
16
|
+
}
|
|
17
|
+
count++
|
|
18
|
+
for (let i = 0; i < LOOPS; i++) {
|
|
19
|
+
reader.setBuffer(0, buffer)
|
|
20
|
+
reader.cstring()
|
|
21
|
+
}
|
|
22
|
+
setImmediate(run)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
run()
|