@qwen-code/qwen-code 0.19.3 → 0.19.4
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/bundled/loop/SKILL.md +22 -3
- package/bundled/loop/SKILL.test.ts +20 -0
- package/bundled/loop/autonomous-loop.test.ts +59 -0
- package/bundled/loop/autonomous-loop.ts +102 -0
- package/bundled/loop/loop-task-file.test.ts +1064 -0
- package/bundled/loop/loop-task-file.ts +404 -0
- package/bundled/loop/loop-tick-resolver.test.ts +906 -0
- package/bundled/loop/loop-tick-resolver.ts +416 -0
- package/bundled/qc-helper/SKILL.md +12 -5
- package/bundled/qc-helper/docs/configuration/auth.md +1 -1
- package/bundled/qc-helper/docs/configuration/settings.md +40 -26
- package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
- package/bundled/qc-helper/docs/features/auto-mode.md +40 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +81 -18
- package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
- package/bundled/qc-helper/docs/features/code-review.md +17 -61
- package/bundled/qc-helper/docs/features/commands.md +6 -6
- package/bundled/qc-helper/docs/features/hooks.md +6 -1
- package/bundled/qc-helper/docs/features/mcp.md +3 -1
- package/bundled/qc-helper/docs/features/memory.md +1 -1
- package/bundled/qc-helper/docs/features/scheduled-tasks.md +10 -0
- package/bundled/qc-helper/docs/features/status-line.md +3 -3
- package/bundled/qc-helper/docs/ide-integration/ide-integration.md +4 -4
- package/bundled/qc-helper/docs/qwen-serve.md +19 -0
- package/bundled/qc-helper/docs/support/troubleshooting.md +6 -0
- package/bundled/review/DESIGN.md +21 -26
- package/bundled/review/SKILL.md +45 -129
- package/chunks/MaxSizedBox-ERTNFI22.js +68 -0
- package/chunks/{StandaloneSessionPicker-Z52JTYST.js → StandaloneSessionPicker-Y5NGRLRY.js} +48 -42
- package/chunks/{acpAgent-7RZUOWOM.js → acpAgent-UMN6OYTR.js} +1319 -361
- package/chunks/{agent-4FG7WTHJ.js → agent-56DZU4ZU.js} +30 -25
- package/chunks/agent-headless-SR7N2IJG.js +61 -0
- package/chunks/{anthropicContentGenerator-PFITVL7Y.js → anthropicContentGenerator-5OZFO6WQ.js} +11 -8
- package/chunks/{artifact-tool-D2X7G3C3.js → artifact-tool-JVZMHA4B.js} +3 -3
- package/chunks/{askUserQuestion-UGETICJQ.js → askUserQuestion-CMJZ2F3D.js} +2 -2
- package/chunks/bridge-AUHNFOUS.js +72 -0
- package/chunks/{ca-IUFWESZL.js → ca-RYOETBUW.js} +9 -9
- package/chunks/channel-worker-supervisor-A74FV522.js +308 -0
- package/chunks/{chunk-T4T2FNV4.js → chunk-2X2JUE47.js} +2 -2
- package/chunks/{chunk-BX5YO7UW.js → chunk-4VZH35PN.js} +540 -370
- package/chunks/{chunk-M2U5NM24.js → chunk-54YZOP7P.js} +309 -72
- package/chunks/chunk-5P5XGNYH.js +93 -0
- package/chunks/{chunk-QWFNTRH4.js → chunk-6AQR7732.js} +1 -1
- package/chunks/{chunk-HZT4UCFB.js → chunk-6CIIP6OE.js} +4 -4
- package/chunks/{chunk-ADCIHOQZ.js → chunk-6TLY5W3B.js} +16 -8
- package/chunks/{chunk-BXSHL2SF.js → chunk-73H73ASU.js} +1 -1
- package/chunks/{chunk-3TV3HUWZ.js → chunk-75X2VLSH.js} +60 -30
- package/chunks/{chunk-6V4NZFUS.js → chunk-7KPI4LAI.js} +5 -5
- package/chunks/{chunk-PDE7CSDS.js → chunk-7VPC7D7O.js} +2 -2
- package/chunks/chunk-AHNXYU4O.js +24 -0
- package/chunks/{chunk-UX4SGCGN.js → chunk-AVQDCKNF.js} +96 -22
- package/chunks/{chunk-HYCC3XM3.js → chunk-B236XPGF.js} +1 -1
- package/chunks/{chunk-N4EJFBN5.js → chunk-B7KGXIPZ.js} +419 -262
- package/chunks/{chunk-YAINVQ3Q.js → chunk-BFG6OZN7.js} +17392 -16335
- package/chunks/{chunk-5DWXLGOM.js → chunk-BJBWRCSK.js} +1 -1
- package/chunks/{chunk-BTLJ2MF5.js → chunk-BNJLLAQ7.js} +3 -3
- package/chunks/{chunk-UYT3MWEB.js → chunk-BQNJBEUA.js} +16 -2
- package/chunks/{chunk-SKQZZVAV.js → chunk-BZHLWC6T.js} +2 -2
- package/chunks/{chunk-HPZTOP4I.js → chunk-C2IHHGBZ.js} +131 -21
- package/chunks/chunk-CG7SVARK.js +367 -0
- package/chunks/{chunk-CNLEDYE3.js → chunk-CS5XYDBO.js} +5 -5
- package/chunks/{chunk-O75BHFQW.js → chunk-CUGEBAKG.js} +2 -2
- package/chunks/{chunk-U3KSMM7G.js → chunk-D5KISTLW.js} +339 -383
- package/chunks/{chunk-STUWFKGD.js → chunk-DQ74W65K.js} +431 -535
- package/chunks/{chunk-VVLOGDB6.js → chunk-DX3TKXNT.js} +2 -2
- package/chunks/chunk-E5A7LHNN.js +51 -0
- package/chunks/{chunk-3PJXIDKI.js → chunk-E6US47KI.js} +3 -27
- package/chunks/chunk-EDAGQADF.js +21 -0
- package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
- package/chunks/{chunk-4QK3O43S.js → chunk-FNLXLI4I.js} +4 -4
- package/chunks/{chunk-I2LYBGNI.js → chunk-FYKX6XOT.js} +1 -1
- package/chunks/{chunk-QLDPRILK.js → chunk-G7OQ3RFJ.js} +3 -3
- package/chunks/{chunk-R2BXK7SX.js → chunk-GHOTR7HL.js} +6 -1
- package/chunks/{chunk-L7OKCI7T.js → chunk-GICCHL2Q.js} +15 -1
- package/chunks/{chunk-KMGMKW5Q.js → chunk-GLPV75ES.js} +9 -3
- package/chunks/{chunk-LD2XBG6Z.js → chunk-GO6LNQXT.js} +1 -39
- package/chunks/chunk-HI55Z6PR.js +3523 -0
- package/chunks/{chunk-QNKBEJO2.js → chunk-HJDF3ZVU.js} +2776 -1289
- package/chunks/{chunk-JJXWTVSK.js → chunk-HRZB5CSC.js} +34 -1
- package/chunks/{chunk-I4H7PRWQ.js → chunk-HTWHAN44.js} +1 -1
- package/chunks/{chunk-EJYJYJZ2.js → chunk-IRJWHZWU.js} +3 -70
- package/chunks/{chunk-CKQA6AWF.js → chunk-J3F7X3LW.js} +1 -1
- package/chunks/{chunk-QI7GOGJR.js → chunk-KKQWC6WS.js} +1 -1
- package/chunks/{chunk-VBZ452JT.js → chunk-KVPFPC4J.js} +494 -114
- package/chunks/{chunk-NDOC6M5S.js → chunk-L7QPM2YD.js} +2 -2
- package/chunks/{chunk-SLNKLLEO.js → chunk-L7VH7HQA.js} +12 -8
- package/chunks/{chunk-BVSVIN45.js → chunk-LKWAVAB5.js} +3 -3
- package/chunks/{chunk-ZP6UKOPB.js → chunk-LWGLBVWA.js} +1 -1
- package/chunks/{chunk-SBBN4BWR.js → chunk-MEQWZGK5.js} +1 -1
- package/chunks/{chunk-FKAVULLM.js → chunk-MKHC4BYZ.js} +58 -10
- package/chunks/{chunk-UFLGERMB.js → chunk-MNDTD5E5.js} +178 -124
- package/chunks/{chunk-RD6YJJJ6.js → chunk-MOUXUCXQ.js} +1 -1
- package/chunks/{chunk-EDMZZFDU.js → chunk-MVZXZWGT.js} +905 -795
- package/chunks/chunk-MX2YXRER.js +44 -0
- package/chunks/{chunk-JVHEVCAU.js → chunk-ND25GXEU.js} +23 -6
- package/chunks/chunk-NIOPRZNN.js +27 -0
- package/chunks/{chunk-DDMOU62Q.js → chunk-NPQWQYU6.js} +1 -1
- package/chunks/{chunk-PR32FRT6.js → chunk-OAFUMTWW.js} +3 -3
- package/chunks/chunk-OJCECIJA.js +238 -0
- package/chunks/{chunk-GGBIN5K7.js → chunk-PIYV6COW.js} +1 -1
- package/chunks/{chunk-CF6BB3LT.js → chunk-PPFWEV7G.js} +10 -1
- package/chunks/{chunk-4LUZAKMK.js → chunk-Q7VHIRDD.js} +1 -1
- package/chunks/{chunk-ODLIHNOY.js → chunk-QAFQLTXG.js} +1 -1
- package/chunks/{chunk-Y6YMRS3U.js → chunk-QMIND2AS.js} +3 -3
- package/chunks/{chunk-XJYUPHRC.js → chunk-QOMAHFYI.js} +3 -3
- package/chunks/{chunk-J37FGIOA.js → chunk-QXPI7FEC.js} +38 -4
- package/chunks/chunk-RM3PGSGL.js +66 -0
- package/chunks/chunk-RNBYOUGV.js +42 -0
- package/chunks/chunk-S5EQPDTM.js +91 -0
- package/chunks/chunk-SEZC2725.js +36 -0
- package/chunks/{chunk-FNJ7BDPH.js → chunk-SFN4TEHY.js} +10 -7
- package/chunks/{chunk-O2VBQ3Y2.js → chunk-SJBIFVD2.js} +2 -2
- package/chunks/chunk-SYCJMSIJ.js +82 -0
- package/chunks/{chunk-JE5FVRPC.js → chunk-T22H4V4R.js} +48 -23
- package/chunks/{chunk-3227DZO4.js → chunk-T42ACHFI.js} +1 -1
- package/chunks/{chunk-UO5GVXQE.js → chunk-TENOUWY2.js} +3 -3
- package/chunks/{chunk-JOLIREYR.js → chunk-TOAUDIS7.js} +1 -1
- package/chunks/{chunk-J7FA27RO.js → chunk-TTFNVEO5.js} +3 -3
- package/chunks/{chunk-S7AKE7HL.js → chunk-UANCYOOQ.js} +63 -9
- package/chunks/{chunk-BUUQ5HPX.js → chunk-UQFP2FEF.js} +1 -1
- package/chunks/{chunk-R5OP2ATH.js → chunk-UQYOMM6J.js} +11 -11
- package/chunks/{chunk-J33ZR6OJ.js → chunk-UT5JU5DJ.js} +16 -16
- package/chunks/{chunk-QE6KJYLT.js → chunk-VKGG724L.js} +122 -25
- package/chunks/{chunk-SMXULRAN.js → chunk-VXGPYF7U.js} +1 -1
- package/chunks/{chunk-MNF6S5PR.js → chunk-W2ZOAX7F.js} +4 -4
- package/chunks/{chunk-GT2FGICD.js → chunk-W6X4FGWX.js} +1 -1
- package/chunks/{chunk-SMYQZVZ3.js → chunk-XCUFHOAD.js} +1 -1
- package/chunks/{chunk-K5XU6E4T.js → chunk-XKSCTXPK.js} +2 -2
- package/chunks/{chunk-FXKVLFFY.js → chunk-YBDZ63KI.js} +3 -3
- package/chunks/{chunk-BKXBARJZ.js → chunk-YPCPZSZB.js} +1 -1
- package/chunks/chunk-YTFBURQD.js +313 -0
- package/chunks/{chunk-NL4C3H6C.js → chunk-YXK4GPYO.js} +1 -1
- package/chunks/{chunk-F3ZYSEY6.js → chunk-ZJP5T7IA.js} +3 -3
- package/chunks/{chunk-RYLJU2DY.js → chunk-ZN5T4BHI.js} +1 -1
- package/chunks/{chunk-RRFZXMYP.js → chunk-ZXCVPMIK.js} +553 -138
- package/chunks/{computer-use-JGB36FDW.js → computer-use-VWN5HH6A.js} +33 -28
- package/chunks/contextCommand-DFFG5KDJ.js +66 -0
- package/chunks/{cron-create-SKEY55RG.js → cron-create-CSSWJ67I.js} +4 -4
- package/chunks/{cron-delete-I3NAT32Z.js → cron-delete-E56CFQ7A.js} +4 -4
- package/chunks/{cron-list-6XRRL6TH.js → cron-list-BKSINY6Y.js} +4 -4
- package/chunks/daemon-5T6IHWJV.js +8430 -0
- package/chunks/daemon-status-provider-V5UY7O7J.js +70 -0
- package/chunks/{de-EOW5PVHF.js → de-HB5NJXGB.js} +9 -9
- package/chunks/{dist-NHEYYB2B.js → dist-2HDL5SHQ.js} +2 -2
- package/chunks/{dist-663NZ6MI.js → dist-B7SSDVWT.js} +116 -11
- package/chunks/{dist-PQPZ5Q4N.js → dist-BL3SL665.js} +20 -9
- package/chunks/{dist-J37VXPLD.js → dist-TAVAGZU6.js} +40 -15
- package/chunks/{dist-LB6OGPVM.js → dist-XBOVZ3R5.js} +26 -5
- package/chunks/{earlyInputCapture-44RISVVJ.js → earlyInputCapture-VVYU4FDO.js} +31 -26
- package/chunks/{edit-NN6GM5DT.js → edit-F35PTMBA.js} +35 -29
- package/chunks/{en-HPWEJBTR.js → en-FZREZFPO.js} +30 -10
- package/chunks/{enter-worktree-PB3O2C7D.js → enter-worktree-3DIW7EGJ.js} +30 -25
- package/chunks/{enterPlanMode-YQFNNSUA.js → enterPlanMode-QNXT77KP.js} +40 -25
- package/chunks/{errors-LS7XU5DZ.js → errors-M53YG76R.js} +32 -27
- package/chunks/{exit-worktree-E2FTNSBK.js → exit-worktree-BSDWNWHZ.js} +30 -25
- package/chunks/{exitPlanMode-GLYK2BUB.js → exitPlanMode-EL7AY327.js} +54 -33
- package/chunks/{fast-path-WQ6M7LI7.js → fast-path-DUCSMUFW.js} +30 -13
- package/chunks/{fast-path-settings-OAGU3X5H.js → fast-path-settings-UQLRFDQP.js} +2 -2
- package/chunks/{fr-BN5NKSAC.js → fr-XY3NQFCM.js} +9 -9
- package/chunks/{gemini-2YFLVA2M.js → gemini-F3IERB37.js} +80 -67
- package/chunks/{geminiContentGenerator-XV6SV6CD.js → geminiContentGenerator-6OULAKFQ.js} +4 -4
- package/chunks/{glob-2H6CDDMK.js → glob-ZMLFTD4T.js} +30 -25
- package/chunks/{grep-VXIUXM3C.js → grep-H5X66EI7.js} +30 -25
- package/chunks/initializer-LEOT2OLH.js +66 -0
- package/chunks/{ja-7DEUB2TS.js → ja-J7YAG7SA.js} +9 -9
- package/chunks/{keychain-token-storage-YLMDLKXT.js → keychain-token-storage-GPAKRDKQ.js} +2 -2
- package/chunks/list-M3DKXML6.js +70 -0
- package/chunks/loadedSettingsAdapter-OKMQFGGG.js +65 -0
- package/chunks/{loop-wakeup-CITGGQHA.js → loop-wakeup-FPBAVVPR.js} +5 -5
- package/chunks/{ls-R5WP4BGZ.js → ls-UGWQXPTY.js} +4 -4
- package/chunks/{lsp-GSICJMMW.js → lsp-24WV7NXB.js} +2 -2
- package/chunks/{monitor-HKLRS2HQ.js → monitor-ARL5P45R.js} +32 -26
- package/chunks/nonInteractiveCli-NUVLF3YR.js +108 -0
- package/chunks/{notebook-edit-Y6SKSGTT.js → notebook-edit-ANTZ2DDY.js} +31 -26
- package/chunks/{openaiContentGenerator-J7G2FYJT.js → openaiContentGenerator-TFGMKGHN.js} +15 -13
- package/chunks/pidfile-AWTL4C63.js +72 -0
- package/chunks/{pt-TNZRNLQB.js → pt-6RTAA6SS.js} +9 -9
- package/chunks/{qwenContentGenerator-5XIEM5GV.js → qwenContentGenerator-6QWAYTWS.js} +32 -27
- package/chunks/{qwenOAuth2-AG3PFFLZ.js → qwenOAuth2-LWLA6MQG.js} +5 -4
- package/chunks/{read-file-J7D552ZJ.js → read-file-EJY73XQ3.js} +11 -10
- package/chunks/{read-mcp-resource-DQQW7H7T.js → read-mcp-resource-NCBTPP7X.js} +2 -2
- package/chunks/ripGrep-HC4SA6CQ.js +59 -0
- package/chunks/{ru-NIAUBKCN.js → ru-AUBGJ2C4.js} +9 -9
- package/chunks/{run-qwen-serve-SGEEVMXD.js → run-qwen-serve-AGLZ642J.js} +454 -94
- package/chunks/{scheduler-7CQI3S4Q.js → scheduler-TURO7NGY.js} +30 -25
- package/chunks/{send-message-EE4TWKVU.js → send-message-3S2NYS3O.js} +6 -4
- package/chunks/serve-5DAMOIDW.js +70 -0
- package/chunks/{server-4QMUWXPW.js → server-4AGEK2HC.js} +4098 -1173
- package/chunks/{session-NRO7UFOY.js → session-7ZOQUC4Y.js} +204 -64
- package/chunks/{settings-SGWRDQSC.js → settings-DR4V6L5Y.js} +34 -29
- package/chunks/{shell-62ANGIHL.js → shell-H5WFKUXH.js} +30 -25
- package/chunks/{skill-VWAQAWW6.js → skill-ANHU5ZCR.js} +13 -12
- package/chunks/spawnChannel-VN5LJV7Z.js +68 -0
- package/chunks/{src-KUV5J5Q2.js → src-OVZLTVVM.js} +114 -30
- package/chunks/{startInteractiveUI-6EYJN3JV.js → startInteractiveUI-OA22V32P.js} +15970 -15430
- package/chunks/{syntheticOutput-T5YHQ6S2.js → syntheticOutput-SV7GBHZ5.js} +3 -3
- package/chunks/{task-create-BLY7RHXX.js → task-create-W2H2UJCH.js} +8 -7
- package/chunks/{task-list-3QUYNVYR.js → task-list-THBOPV4G.js} +7 -6
- package/chunks/{task-stop-U4RATK2V.js → task-stop-33FVCNCJ.js} +2 -2
- package/chunks/{task-update-U54O7KJX.js → task-update-LVFQLXEI.js} +8 -7
- package/chunks/{team-create-LPOGCPM7.js → team-create-OYL5CAQO.js} +30 -25
- package/chunks/{team-delete-LKBYPASD.js → team-delete-NTUQ25UY.js} +7 -6
- package/chunks/theme-manager-XCMPF2SI.js +63 -0
- package/chunks/{todoWrite-OYXKTVYN.js → todoWrite-SEPO2RI3.js} +4 -4
- package/chunks/{tool-search-YPUFJ3ZQ.js → tool-search-YXW55X6Z.js} +36 -11
- package/chunks/{trustedFolders-5B24TMEA.js → trustedFolders-TEPGM5YL.js} +31 -26
- package/chunks/{validateNonInterActiveAuth-BTDTYOVT.js → validateNonInterActiveAuth-OQIS7WUE.js} +65 -55
- package/chunks/{web-fetch-EEB5LZYU.js → web-fetch-OE7LHURA.js} +5 -4
- package/chunks/{workflow-LAWIW5LI.js → workflow-RTUWORAP.js} +67 -39
- package/chunks/workspace-providers-status-DM2XANVB.js +67 -0
- package/chunks/workspace-service-VKBI2KZD.js +77 -0
- package/chunks/{write-file-PCV226DJ.js → write-file-WGALQ53L.js} +35 -30
- package/chunks/{zh-TW-TR3XYGE5.js → zh-TW-6GIKXEAN.js} +30 -10
- package/chunks/{zh-5EUYXASN.js → zh-V3B4TFWL.js} +30 -10
- package/cli.js +6 -6
- package/locales/ca.js +13 -13
- package/locales/de.js +13 -13
- package/locales/en.js +49 -15
- package/locales/fr.js +13 -14
- package/locales/ja.js +13 -14
- package/locales/pt.js +13 -13
- package/locales/ru.js +13 -13
- package/locales/zh-TW.js +47 -14
- package/locales/zh.js +47 -14
- package/node_modules/@qwen-code/audio-capture/package.json +1 -1
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/package.json +15 -6
- package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
- package/postinstall.js +50 -0
- package/web-shell/assets/{arc-DA7r8Ueo.js → arc-Det5Ccum.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-ZDUxPtZ2.js → architectureDiagram-3BPJPVTR-DqNWVFpl.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-vrtOf1kJ.js → blockDiagram-GPEHLZMM-CYl7tYBi.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BHFjzIi4.js → c4Diagram-AAUBKEIU-DaAEi0NQ.js} +1 -1
- package/web-shell/assets/channel-Bm0bFauD.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-mdeQVz59.js → chunk-2J33WTMH-Df2CDEE2.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BkKMlwBX.js → chunk-4BX2VUAB-DNBFcyL2.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-B7bnXNfu.js → chunk-55IACEB6-BKjF-0HI.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DGz8Mm6i.js → chunk-727SXJPM-DYwAwfIM.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BQAydUNk.js → chunk-AQP2D5EJ-C6FswLqy.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-GHr2LN_p.js → chunk-FMBD7UC4-DRWAcZSY.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-7R91lnUx.js → chunk-ND2GUHAM-AoL16mNR.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-aTJD3lSQ.js → chunk-QZHKN3VN-a8PtLMck.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK--NgUfb55.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2--NgUfb55.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BTf8t1RL.js → cose-bilkent-S5V4N54A-C4Aeu5qf.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-_sgp3WuA.js → dagre-BM42HDAG-BOulamjo.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-CROtRy1w.js → diagram-2AECGRRQ-D1wt2ykO.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BqGRzwSc.js → diagram-5GNKFQAL-BRseus-O.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CMrcEtA7.js → diagram-KO2AKTUF-XSMkNzpZ.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BRydGNW5.js → diagram-LMA3HP47-21KNLqoi.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-D0ilgNjV.js → diagram-OG6HWLK6-DnUI8F5G.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-2lnQeJUM.js → erDiagram-TEJ5UH35-BVSOMuM2.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-C_ZMdQiC.js → flowDiagram-I6XJVG4X-fYtDPJsW.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dw9V_Ny0.js → ganttDiagram-6RSMTGT7-CmRXosW_.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-HDXI-F1B.js → gitGraphDiagram-PVQCEYII-DPrmySxO.js} +1 -1
- package/web-shell/assets/index-BpKnmyFV.js +717 -0
- package/web-shell/assets/index-fLrtxpOG.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CuB8Ebua.js → infoDiagram-5YYISTIA-x3VbEuCV.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D_tyhVwh.js → ishikawaDiagram-YF4QCWOH-SmitHRMC.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CgCwJQNU.js → journeyDiagram-JHISSGLW-BxvA551S.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-PZUtcbPx.js → kanban-definition-UN3LZRKU-DNHC16jY.js} +1 -1
- package/web-shell/assets/{linear-CZqRdJIU.js → linear-CQ6irBL9.js} +1 -1
- package/web-shell/assets/{mermaid.core-CPW_4UEF.js → mermaid.core-DtB6NO1e.js} +72 -72
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D_Y75ID7.js → mindmap-definition-RKZ34NQL-QKMAgV2v.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-Q4dTyLeF.js → pieDiagram-4H26LBE5-bvb6dGn6.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-ckw329Ft.js → quadrantDiagram-W4KKPZXB-DLgdlG4D.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DbVDm4It.js → requirementDiagram-4Y6WPE33-2M9YH4GF.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CHuZ_ecH.js → sankeyDiagram-5OEKKPKP-DzwfclTH.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DU2YSpq-.js → sequenceDiagram-3UESZ5HK-BvPmTuy2.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CA9PEBUo.js → stateDiagram-AJRCARHV-BjwUmrJF.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C4L8zXeL.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-Bhlo4WVc.js → timeline-definition-PNZ67QCA-CXzS6qqz.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-6xtPLsyl.js → vennDiagram-CIIHVFJN-yRSolF5B.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-3eozmXPf.js → wardley-L42UT6IY-ClLJjHPG.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BOn6hKss.js → wardleyDiagram-YWT4CUSO-VIa6t2p2.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BsP4-I_y.js → xychartDiagram-2RQKCTM6-CtmrkezW.js} +1 -1
- package/web-shell/index.html +18 -2
- package/chunks/MaxSizedBox-QNF3EIGU.js +0 -63
- package/chunks/agent-headless-RQ5BTX3G.js +0 -56
- package/chunks/bridge-JL2PMCIW.js +0 -66
- package/chunks/chunk-5GOVVXEV.js +0 -73
- package/chunks/chunk-BC3C4F3Q.js +0 -40
- package/chunks/chunk-BW4KCQFD.js +0 -1103
- package/chunks/chunk-RKIZXJMB.js +0 -13
- package/chunks/contextCommand-WYU6OQ2F.js +0 -61
- package/chunks/daemon-status-provider-HH2EC5FI.js +0 -65
- package/chunks/headlessSafetyWarnings-TBE35GJ4.js +0 -55
- package/chunks/initializer-2Y7SLOKV.js +0 -61
- package/chunks/list-ZAFHZ7OS.js +0 -65
- package/chunks/loadedSettingsAdapter-6KJXD6M3.js +0 -60
- package/chunks/nonInteractiveCli-5W4GIZQM.js +0 -96
- package/chunks/ripGrep-IEIFIWP4.js +0 -54
- package/chunks/serve-V6GVZR6U.js +0 -65
- package/chunks/spawnChannel-3VHW5EPY.js +0 -63
- package/chunks/theme-manager-LYLGAERF.js +0 -58
- package/chunks/workspace-providers-status-PIAFVYHA.js +0 -62
- package/chunks/workspace-service-YAIOD4HG.js +0 -71
- package/web-shell/assets/channel-iRo68q4Q.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-iHF24a8X.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-iHF24a8X.js +0 -1
- package/web-shell/assets/index-CHmzAWys.css +0 -5
- package/web-shell/assets/index-w6GTOHh1.js +0 -713
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-t1LRI0oY.js +0 -1
|
@@ -467,6 +467,24 @@ var require_errors = __commonJS({
|
|
|
467
467
|
}
|
|
468
468
|
[kSecureProxyConnectionError] = true;
|
|
469
469
|
};
|
|
470
|
+
var kMessageSizeExceededError = Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
|
|
471
|
+
var MessageSizeExceededError = class extends UndiciError {
|
|
472
|
+
static {
|
|
473
|
+
__name(this, "MessageSizeExceededError");
|
|
474
|
+
}
|
|
475
|
+
constructor(message) {
|
|
476
|
+
super(message);
|
|
477
|
+
this.name = "MessageSizeExceededError";
|
|
478
|
+
this.message = message || "Max decompressed message size exceeded";
|
|
479
|
+
this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
|
|
480
|
+
}
|
|
481
|
+
static [Symbol.hasInstance](instance) {
|
|
482
|
+
return instance && instance[kMessageSizeExceededError] === true;
|
|
483
|
+
}
|
|
484
|
+
get [kMessageSizeExceededError]() {
|
|
485
|
+
return true;
|
|
486
|
+
}
|
|
487
|
+
};
|
|
470
488
|
module.exports = {
|
|
471
489
|
AbortError,
|
|
472
490
|
HTTPParserError,
|
|
@@ -490,7 +508,8 @@ var require_errors = __commonJS({
|
|
|
490
508
|
ResponseExceededMaxSizeError,
|
|
491
509
|
RequestRetryError,
|
|
492
510
|
ResponseError,
|
|
493
|
-
SecureProxyConnectionError
|
|
511
|
+
SecureProxyConnectionError,
|
|
512
|
+
MessageSizeExceededError
|
|
494
513
|
};
|
|
495
514
|
}
|
|
496
515
|
});
|
|
@@ -1557,6 +1576,9 @@ var require_request = __commonJS({
|
|
|
1557
1576
|
if (upgrade && typeof upgrade !== "string") {
|
|
1558
1577
|
throw new InvalidArgumentError("upgrade must be a string");
|
|
1559
1578
|
}
|
|
1579
|
+
if (upgrade && !isValidHeaderValue(upgrade)) {
|
|
1580
|
+
throw new InvalidArgumentError("invalid upgrade header");
|
|
1581
|
+
}
|
|
1560
1582
|
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
|
|
1561
1583
|
throw new InvalidArgumentError("invalid headersTimeout");
|
|
1562
1584
|
}
|
|
@@ -1789,12 +1811,18 @@ var require_request = __commonJS({
|
|
|
1789
1811
|
} else {
|
|
1790
1812
|
val = `${val}`;
|
|
1791
1813
|
}
|
|
1792
|
-
if (
|
|
1814
|
+
if (headerName === "host") {
|
|
1815
|
+
if (request.host !== null) {
|
|
1816
|
+
throw new InvalidArgumentError("duplicate host header");
|
|
1817
|
+
}
|
|
1793
1818
|
if (typeof val !== "string") {
|
|
1794
1819
|
throw new InvalidArgumentError("invalid host header");
|
|
1795
1820
|
}
|
|
1796
1821
|
request.host = val;
|
|
1797
|
-
} else if (
|
|
1822
|
+
} else if (headerName === "content-length") {
|
|
1823
|
+
if (request.contentLength !== null) {
|
|
1824
|
+
throw new InvalidArgumentError("duplicate content-length header");
|
|
1825
|
+
}
|
|
1798
1826
|
request.contentLength = parseInt(val, 10);
|
|
1799
1827
|
if (!Number.isFinite(request.contentLength)) {
|
|
1800
1828
|
throw new InvalidArgumentError("invalid content-length header");
|
|
@@ -1900,16 +1928,24 @@ var require_dispatcher_base = __commonJS({
|
|
|
1900
1928
|
var kOnDestroyed = Symbol("onDestroyed");
|
|
1901
1929
|
var kOnClosed = Symbol("onClosed");
|
|
1902
1930
|
var kInterceptedDispatch = Symbol("Intercepted Dispatch");
|
|
1931
|
+
var kWebSocketOptions = Symbol("webSocketOptions");
|
|
1903
1932
|
var DispatcherBase = class extends Dispatcher {
|
|
1904
1933
|
static {
|
|
1905
1934
|
__name(this, "DispatcherBase");
|
|
1906
1935
|
}
|
|
1907
|
-
constructor() {
|
|
1936
|
+
constructor(opts) {
|
|
1908
1937
|
super();
|
|
1909
1938
|
this[kDestroyed] = false;
|
|
1910
1939
|
this[kOnDestroyed] = null;
|
|
1911
1940
|
this[kClosed] = false;
|
|
1912
1941
|
this[kOnClosed] = [];
|
|
1942
|
+
this[kWebSocketOptions] = opts?.webSocket ?? {};
|
|
1943
|
+
}
|
|
1944
|
+
get webSocketOptions() {
|
|
1945
|
+
return {
|
|
1946
|
+
maxFragments: this[kWebSocketOptions].maxFragments ?? 131072,
|
|
1947
|
+
maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024
|
|
1948
|
+
};
|
|
1913
1949
|
}
|
|
1914
1950
|
get destroyed() {
|
|
1915
1951
|
return this[kDestroyed];
|
|
@@ -5708,6 +5744,9 @@ var require_client_h1 = __commonJS({
|
|
|
5708
5744
|
var FastBuffer = Buffer[Symbol.species];
|
|
5709
5745
|
var addListener = util.addListener;
|
|
5710
5746
|
var removeAllListeners = util.removeAllListeners;
|
|
5747
|
+
var kIdleSocketValidation = Symbol("kIdleSocketValidation");
|
|
5748
|
+
var kIdleSocketValidationTimeout = Symbol("kIdleSocketValidationTimeout");
|
|
5749
|
+
var kSocketUsed = Symbol("kSocketUsed");
|
|
5711
5750
|
var extractBody;
|
|
5712
5751
|
async function lazyllhttp() {
|
|
5713
5752
|
const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0;
|
|
@@ -5874,24 +5913,55 @@ var require_client_h1 = __commonJS({
|
|
|
5874
5913
|
currentBufferRef = null;
|
|
5875
5914
|
}
|
|
5876
5915
|
const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
|
|
5877
|
-
if (ret
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
|
|
5881
|
-
|
|
5882
|
-
|
|
5883
|
-
|
|
5884
|
-
|
|
5885
|
-
|
|
5886
|
-
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
|
|
5887
|
-
message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
|
|
5916
|
+
if (ret !== constants.ERROR.OK) {
|
|
5917
|
+
const body = data.subarray(offset);
|
|
5918
|
+
if (ret === constants.ERROR.PAUSED_UPGRADE) {
|
|
5919
|
+
this.onUpgrade(body);
|
|
5920
|
+
} else if (ret === constants.ERROR.PAUSED) {
|
|
5921
|
+
this.paused = true;
|
|
5922
|
+
socket.unshift(body);
|
|
5923
|
+
} else {
|
|
5924
|
+
throw this.createError(ret, body);
|
|
5888
5925
|
}
|
|
5889
|
-
throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
|
|
5890
5926
|
}
|
|
5891
5927
|
} catch (err) {
|
|
5892
5928
|
util.destroy(socket, err);
|
|
5893
5929
|
}
|
|
5894
5930
|
}
|
|
5931
|
+
finish() {
|
|
5932
|
+
assert(currentParser === null);
|
|
5933
|
+
assert(this.ptr != null);
|
|
5934
|
+
assert(!this.paused);
|
|
5935
|
+
const { llhttp } = this;
|
|
5936
|
+
let ret;
|
|
5937
|
+
try {
|
|
5938
|
+
currentParser = this;
|
|
5939
|
+
ret = llhttp.llhttp_finish(this.ptr);
|
|
5940
|
+
} finally {
|
|
5941
|
+
currentParser = null;
|
|
5942
|
+
}
|
|
5943
|
+
if (ret === constants.ERROR.OK) {
|
|
5944
|
+
return null;
|
|
5945
|
+
}
|
|
5946
|
+
if (ret === constants.ERROR.PAUSED || ret === constants.ERROR.PAUSED_UPGRADE) {
|
|
5947
|
+
this.paused = true;
|
|
5948
|
+
return null;
|
|
5949
|
+
}
|
|
5950
|
+
return this.createError(ret, EMPTY_BUF);
|
|
5951
|
+
}
|
|
5952
|
+
createError(ret, data) {
|
|
5953
|
+
const { llhttp, contentLength, bytesRead } = this;
|
|
5954
|
+
if (contentLength && bytesRead !== parseInt(contentLength, 10)) {
|
|
5955
|
+
return new ResponseContentLengthMismatchError();
|
|
5956
|
+
}
|
|
5957
|
+
const ptr = llhttp.llhttp_get_error_reason(this.ptr);
|
|
5958
|
+
let message = "";
|
|
5959
|
+
if (ptr) {
|
|
5960
|
+
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
|
|
5961
|
+
message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
|
|
5962
|
+
}
|
|
5963
|
+
return new HTTPParserError(message, constants.ERROR[ret], data);
|
|
5964
|
+
}
|
|
5895
5965
|
destroy() {
|
|
5896
5966
|
assert(this.ptr != null);
|
|
5897
5967
|
assert(currentParser == null);
|
|
@@ -5911,6 +5981,10 @@ var require_client_h1 = __commonJS({
|
|
|
5911
5981
|
if (socket.destroyed) {
|
|
5912
5982
|
return -1;
|
|
5913
5983
|
}
|
|
5984
|
+
if (client[kRunning] === 0) {
|
|
5985
|
+
util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
|
|
5986
|
+
return -1;
|
|
5987
|
+
}
|
|
5914
5988
|
const request = client[kQueue][client[kRunningIdx]];
|
|
5915
5989
|
if (!request) {
|
|
5916
5990
|
return -1;
|
|
@@ -5990,6 +6064,10 @@ var require_client_h1 = __commonJS({
|
|
|
5990
6064
|
if (socket.destroyed) {
|
|
5991
6065
|
return -1;
|
|
5992
6066
|
}
|
|
6067
|
+
if (client[kRunning] === 0) {
|
|
6068
|
+
util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
|
|
6069
|
+
return -1;
|
|
6070
|
+
}
|
|
5993
6071
|
const request = client[kQueue][client[kRunningIdx]];
|
|
5994
6072
|
if (!request) {
|
|
5995
6073
|
return -1;
|
|
@@ -6115,6 +6193,7 @@ var require_client_h1 = __commonJS({
|
|
|
6115
6193
|
}
|
|
6116
6194
|
request.onComplete(headers);
|
|
6117
6195
|
client[kQueue][client[kRunningIdx]++] = null;
|
|
6196
|
+
socket[kSocketUsed] = true;
|
|
6118
6197
|
if (socket[kWriting]) {
|
|
6119
6198
|
assert(client[kRunning] === 0);
|
|
6120
6199
|
util.destroy(socket, new InformationalError("reset"));
|
|
@@ -6159,12 +6238,19 @@ var require_client_h1 = __commonJS({
|
|
|
6159
6238
|
socket[kWriting] = false;
|
|
6160
6239
|
socket[kReset] = false;
|
|
6161
6240
|
socket[kBlocking] = false;
|
|
6241
|
+
socket[kIdleSocketValidation] = 0;
|
|
6242
|
+
socket[kIdleSocketValidationTimeout] = null;
|
|
6243
|
+
socket[kSocketUsed] = false;
|
|
6162
6244
|
socket[kParser] = new Parser(client, socket, llhttpInstance);
|
|
6163
6245
|
addListener(socket, "error", function(err) {
|
|
6164
6246
|
assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
|
|
6165
6247
|
const parser = this[kParser];
|
|
6166
6248
|
if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
|
|
6167
|
-
parser.
|
|
6249
|
+
const parserErr = parser.finish();
|
|
6250
|
+
if (parserErr) {
|
|
6251
|
+
this[kError] = parserErr;
|
|
6252
|
+
this[kClient][kOnError](parserErr);
|
|
6253
|
+
}
|
|
6168
6254
|
return;
|
|
6169
6255
|
}
|
|
6170
6256
|
this[kError] = err;
|
|
@@ -6179,7 +6265,10 @@ var require_client_h1 = __commonJS({
|
|
|
6179
6265
|
addListener(socket, "end", function() {
|
|
6180
6266
|
const parser = this[kParser];
|
|
6181
6267
|
if (parser.statusCode && !parser.shouldKeepAlive) {
|
|
6182
|
-
parser.
|
|
6268
|
+
const parserErr = parser.finish();
|
|
6269
|
+
if (parserErr) {
|
|
6270
|
+
util.destroy(this, parserErr);
|
|
6271
|
+
}
|
|
6183
6272
|
return;
|
|
6184
6273
|
}
|
|
6185
6274
|
util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
|
|
@@ -6187,9 +6276,10 @@ var require_client_h1 = __commonJS({
|
|
|
6187
6276
|
addListener(socket, "close", function() {
|
|
6188
6277
|
const client2 = this[kClient];
|
|
6189
6278
|
const parser = this[kParser];
|
|
6279
|
+
clearIdleSocketValidation(this);
|
|
6190
6280
|
if (parser) {
|
|
6191
6281
|
if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
|
|
6192
|
-
parser.
|
|
6282
|
+
this[kError] = parser.finish() || this[kError];
|
|
6193
6283
|
}
|
|
6194
6284
|
this[kParser].destroy();
|
|
6195
6285
|
this[kParser] = null;
|
|
@@ -6238,7 +6328,7 @@ var require_client_h1 = __commonJS({
|
|
|
6238
6328
|
return socket.destroyed;
|
|
6239
6329
|
},
|
|
6240
6330
|
busy(request) {
|
|
6241
|
-
if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
|
|
6331
|
+
if (socket[kWriting] || socket[kReset] || socket[kBlocking] || socket[kIdleSocketValidation] === 1) {
|
|
6242
6332
|
return true;
|
|
6243
6333
|
}
|
|
6244
6334
|
if (request) {
|
|
@@ -6257,6 +6347,26 @@ var require_client_h1 = __commonJS({
|
|
|
6257
6347
|
};
|
|
6258
6348
|
}
|
|
6259
6349
|
__name(connectH1, "connectH1");
|
|
6350
|
+
function clearIdleSocketValidation(socket) {
|
|
6351
|
+
if (socket[kIdleSocketValidationTimeout]) {
|
|
6352
|
+
clearTimeout(socket[kIdleSocketValidationTimeout]);
|
|
6353
|
+
socket[kIdleSocketValidationTimeout] = null;
|
|
6354
|
+
}
|
|
6355
|
+
socket[kIdleSocketValidation] = 0;
|
|
6356
|
+
}
|
|
6357
|
+
__name(clearIdleSocketValidation, "clearIdleSocketValidation");
|
|
6358
|
+
function scheduleIdleSocketValidation(client, socket) {
|
|
6359
|
+
socket[kIdleSocketValidation] = 1;
|
|
6360
|
+
socket[kIdleSocketValidationTimeout] = setTimeout(() => {
|
|
6361
|
+
socket[kIdleSocketValidationTimeout] = null;
|
|
6362
|
+
socket[kIdleSocketValidation] = 2;
|
|
6363
|
+
if (client[kSocket] === socket && !socket.destroyed) {
|
|
6364
|
+
client[kResume]();
|
|
6365
|
+
}
|
|
6366
|
+
}, 0);
|
|
6367
|
+
socket[kIdleSocketValidationTimeout].unref?.();
|
|
6368
|
+
}
|
|
6369
|
+
__name(scheduleIdleSocketValidation, "scheduleIdleSocketValidation");
|
|
6260
6370
|
function resumeH1(client) {
|
|
6261
6371
|
const socket = client[kSocket];
|
|
6262
6372
|
if (socket && !socket.destroyed) {
|
|
@@ -6269,6 +6379,29 @@ var require_client_h1 = __commonJS({
|
|
|
6269
6379
|
socket.ref();
|
|
6270
6380
|
socket[kNoRef] = false;
|
|
6271
6381
|
}
|
|
6382
|
+
if (client[kRunning] === 0 && client[kPending] > 0 && socket[kSocketUsed]) {
|
|
6383
|
+
if (socket[kIdleSocketValidation] === 0) {
|
|
6384
|
+
scheduleIdleSocketValidation(client, socket);
|
|
6385
|
+
socket[kParser].readMore();
|
|
6386
|
+
if (socket.destroyed) {
|
|
6387
|
+
return;
|
|
6388
|
+
}
|
|
6389
|
+
return;
|
|
6390
|
+
}
|
|
6391
|
+
if (socket[kIdleSocketValidation] === 1) {
|
|
6392
|
+
socket[kParser].readMore();
|
|
6393
|
+
if (socket.destroyed) {
|
|
6394
|
+
return;
|
|
6395
|
+
}
|
|
6396
|
+
return;
|
|
6397
|
+
}
|
|
6398
|
+
}
|
|
6399
|
+
if (client[kRunning] === 0) {
|
|
6400
|
+
socket[kParser].readMore();
|
|
6401
|
+
if (socket.destroyed) {
|
|
6402
|
+
return;
|
|
6403
|
+
}
|
|
6404
|
+
}
|
|
6272
6405
|
if (client[kSize] === 0) {
|
|
6273
6406
|
if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
|
|
6274
6407
|
socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
|
|
@@ -6323,6 +6456,7 @@ var require_client_h1 = __commonJS({
|
|
|
6323
6456
|
process.emitWarning(new RequestContentLengthMismatchError());
|
|
6324
6457
|
}
|
|
6325
6458
|
const socket = client[kSocket];
|
|
6459
|
+
clearIdleSocketValidation(socket);
|
|
6326
6460
|
const abort = /* @__PURE__ */ __name((err) => {
|
|
6327
6461
|
if (request.aborted || request.completed) {
|
|
6328
6462
|
return;
|
|
@@ -7545,9 +7679,10 @@ var require_client = __commonJS({
|
|
|
7545
7679
|
autoSelectFamilyAttemptTimeout,
|
|
7546
7680
|
// h2
|
|
7547
7681
|
maxConcurrentStreams,
|
|
7548
|
-
allowH2
|
|
7682
|
+
allowH2,
|
|
7683
|
+
webSocket
|
|
7549
7684
|
} = {}) {
|
|
7550
|
-
super();
|
|
7685
|
+
super({ webSocket });
|
|
7551
7686
|
if (keepAlive !== void 0) {
|
|
7552
7687
|
throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
|
|
7553
7688
|
}
|
|
@@ -8073,8 +8208,8 @@ var require_pool_base = __commonJS({
|
|
|
8073
8208
|
static {
|
|
8074
8209
|
__name(this, "PoolBase");
|
|
8075
8210
|
}
|
|
8076
|
-
constructor() {
|
|
8077
|
-
super();
|
|
8211
|
+
constructor(opts) {
|
|
8212
|
+
super(opts);
|
|
8078
8213
|
this[kQueue] = new FixedQueue();
|
|
8079
8214
|
this[kClients] = [];
|
|
8080
8215
|
this[kQueued] = 0;
|
|
@@ -8250,7 +8385,6 @@ var require_pool = __commonJS({
|
|
|
8250
8385
|
allowH2,
|
|
8251
8386
|
...options
|
|
8252
8387
|
} = {}) {
|
|
8253
|
-
super();
|
|
8254
8388
|
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
|
|
8255
8389
|
throw new InvalidArgumentError("invalid connections");
|
|
8256
8390
|
}
|
|
@@ -8271,6 +8405,7 @@ var require_pool = __commonJS({
|
|
|
8271
8405
|
...connect
|
|
8272
8406
|
});
|
|
8273
8407
|
}
|
|
8408
|
+
super(options);
|
|
8274
8409
|
this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
|
|
8275
8410
|
this[kConnections] = connections || null;
|
|
8276
8411
|
this[kUrl] = util.parseOrigin(origin);
|
|
@@ -8481,7 +8616,6 @@ var require_agent = __commonJS({
|
|
|
8481
8616
|
__name(this, "Agent");
|
|
8482
8617
|
}
|
|
8483
8618
|
constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
|
|
8484
|
-
super();
|
|
8485
8619
|
if (typeof factory !== "function") {
|
|
8486
8620
|
throw new InvalidArgumentError("factory must be a function.");
|
|
8487
8621
|
}
|
|
@@ -8491,6 +8625,7 @@ var require_agent = __commonJS({
|
|
|
8491
8625
|
if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
|
|
8492
8626
|
throw new InvalidArgumentError("maxRedirections must be a positive number");
|
|
8493
8627
|
}
|
|
8628
|
+
super(options);
|
|
8494
8629
|
if (connect && typeof connect !== "function") {
|
|
8495
8630
|
connect = { ...connect };
|
|
8496
8631
|
}
|
|
@@ -14477,23 +14612,25 @@ var require_fetch = __commonJS({
|
|
|
14477
14612
|
if (status < 200) {
|
|
14478
14613
|
return;
|
|
14479
14614
|
}
|
|
14480
|
-
let codings = [];
|
|
14481
14615
|
let location = "";
|
|
14482
14616
|
const headersList = new HeadersList();
|
|
14483
14617
|
for (let i = 0; i < rawHeaders.length; i += 2) {
|
|
14484
14618
|
headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
|
|
14485
14619
|
}
|
|
14486
|
-
const contentEncoding = headersList.get("content-encoding", true);
|
|
14487
|
-
if (contentEncoding) {
|
|
14488
|
-
codings = contentEncoding.toLowerCase().split(",").map((x) => x.trim());
|
|
14489
|
-
}
|
|
14490
14620
|
location = headersList.get("location", true);
|
|
14491
14621
|
this.body = new Readable({ read: resume });
|
|
14492
14622
|
const decoders = [];
|
|
14493
14623
|
const willFollow = location && request.redirect === "follow" && redirectStatusSet.has(status);
|
|
14494
|
-
if (
|
|
14624
|
+
if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
|
|
14625
|
+
const contentEncoding = headersList.get("content-encoding", true);
|
|
14626
|
+
const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
|
|
14627
|
+
const maxContentEncodings = 5;
|
|
14628
|
+
if (codings.length > maxContentEncodings) {
|
|
14629
|
+
reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
|
|
14630
|
+
return true;
|
|
14631
|
+
}
|
|
14495
14632
|
for (let i = codings.length - 1; i >= 0; --i) {
|
|
14496
|
-
const coding = codings[i];
|
|
14633
|
+
const coding = codings[i].trim();
|
|
14497
14634
|
if (coding === "x-gzip" || coding === "gzip") {
|
|
14498
14635
|
decoders.push(zlib.createGunzip({
|
|
14499
14636
|
// Be less strict when decoding compressed responses, since sometimes
|
|
@@ -16437,18 +16574,14 @@ var require_parse = __commonJS({
|
|
|
16437
16574
|
} else if (attributeNameLowercase === "httponly") {
|
|
16438
16575
|
cookieAttributeList.httpOnly = true;
|
|
16439
16576
|
} else if (attributeNameLowercase === "samesite") {
|
|
16440
|
-
let enforcement = "Default";
|
|
16441
16577
|
const attributeValueLowercase = attributeValue.toLowerCase();
|
|
16442
|
-
if (attributeValueLowercase
|
|
16443
|
-
|
|
16444
|
-
}
|
|
16445
|
-
|
|
16446
|
-
|
|
16578
|
+
if (attributeValueLowercase === "none") {
|
|
16579
|
+
cookieAttributeList.sameSite = "None";
|
|
16580
|
+
} else if (attributeValueLowercase === "strict") {
|
|
16581
|
+
cookieAttributeList.sameSite = "Strict";
|
|
16582
|
+
} else if (attributeValueLowercase === "lax") {
|
|
16583
|
+
cookieAttributeList.sameSite = "Lax";
|
|
16447
16584
|
}
|
|
16448
|
-
if (attributeValueLowercase.includes("lax")) {
|
|
16449
|
-
enforcement = "Lax";
|
|
16450
|
-
}
|
|
16451
|
-
cookieAttributeList.sameSite = enforcement;
|
|
16452
16585
|
} else {
|
|
16453
16586
|
cookieAttributeList.unparsed ??= [];
|
|
16454
16587
|
cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
|
|
@@ -17097,13 +17230,17 @@ var require_util7 = __commonJS({
|
|
|
17097
17230
|
}
|
|
17098
17231
|
__name(parseExtensions, "parseExtensions");
|
|
17099
17232
|
function isValidClientWindowBits(value) {
|
|
17233
|
+
if (value.length === 0) {
|
|
17234
|
+
return false;
|
|
17235
|
+
}
|
|
17100
17236
|
for (let i = 0; i < value.length; i++) {
|
|
17101
17237
|
const byte = value.charCodeAt(i);
|
|
17102
17238
|
if (byte < 48 || byte > 57) {
|
|
17103
17239
|
return false;
|
|
17104
17240
|
}
|
|
17105
17241
|
}
|
|
17106
|
-
|
|
17242
|
+
const num = Number.parseInt(value, 10);
|
|
17243
|
+
return num >= 8 && num <= 15;
|
|
17107
17244
|
}
|
|
17108
17245
|
__name(isValidClientWindowBits, "isValidClientWindowBits");
|
|
17109
17246
|
var hasIntl = typeof process.versions.icu === "string";
|
|
@@ -17415,6 +17552,7 @@ var require_permessage_deflate = __commonJS({
|
|
|
17415
17552
|
init_esbuild_shims();
|
|
17416
17553
|
var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
|
|
17417
17554
|
var { isValidClientWindowBits } = require_util7();
|
|
17555
|
+
var { MessageSizeExceededError } = require_errors();
|
|
17418
17556
|
var tail = Buffer.from([0, 0, 255, 255]);
|
|
17419
17557
|
var kBuffer = Symbol("kBuffer");
|
|
17420
17558
|
var kLength = Symbol("kLength");
|
|
@@ -17425,10 +17563,21 @@ var require_permessage_deflate = __commonJS({
|
|
|
17425
17563
|
/** @type {import('node:zlib').InflateRaw} */
|
|
17426
17564
|
#inflate;
|
|
17427
17565
|
#options = {};
|
|
17428
|
-
|
|
17566
|
+
#maxPayloadSize = 0;
|
|
17567
|
+
/**
|
|
17568
|
+
* @param {Map<string, string>} extensions
|
|
17569
|
+
*/
|
|
17570
|
+
constructor(extensions, options) {
|
|
17429
17571
|
this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
|
|
17430
17572
|
this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
|
|
17573
|
+
this.#maxPayloadSize = options.maxPayloadSize;
|
|
17431
17574
|
}
|
|
17575
|
+
/**
|
|
17576
|
+
* Decompress a compressed payload.
|
|
17577
|
+
* @param {Buffer} chunk Compressed data
|
|
17578
|
+
* @param {boolean} fin Final fragment flag
|
|
17579
|
+
* @param {Function} callback Callback function
|
|
17580
|
+
*/
|
|
17432
17581
|
decompress(chunk, fin, callback) {
|
|
17433
17582
|
if (!this.#inflate) {
|
|
17434
17583
|
let windowBits = Z_DEFAULT_WINDOWBITS;
|
|
@@ -17439,12 +17588,23 @@ var require_permessage_deflate = __commonJS({
|
|
|
17439
17588
|
}
|
|
17440
17589
|
windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
|
|
17441
17590
|
}
|
|
17442
|
-
|
|
17591
|
+
try {
|
|
17592
|
+
this.#inflate = createInflateRaw({ windowBits });
|
|
17593
|
+
} catch (err) {
|
|
17594
|
+
callback(err);
|
|
17595
|
+
return;
|
|
17596
|
+
}
|
|
17443
17597
|
this.#inflate[kBuffer] = [];
|
|
17444
17598
|
this.#inflate[kLength] = 0;
|
|
17445
17599
|
this.#inflate.on("data", (data) => {
|
|
17446
|
-
this.#inflate[kBuffer].push(data);
|
|
17447
17600
|
this.#inflate[kLength] += data.length;
|
|
17601
|
+
if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) {
|
|
17602
|
+
callback(new MessageSizeExceededError());
|
|
17603
|
+
this.#inflate.removeAllListeners();
|
|
17604
|
+
this.#inflate = null;
|
|
17605
|
+
return;
|
|
17606
|
+
}
|
|
17607
|
+
this.#inflate[kBuffer].push(data);
|
|
17448
17608
|
});
|
|
17449
17609
|
this.#inflate.on("error", (err) => {
|
|
17450
17610
|
this.#inflate = null;
|
|
@@ -17456,6 +17616,9 @@ var require_permessage_deflate = __commonJS({
|
|
|
17456
17616
|
this.#inflate.write(tail);
|
|
17457
17617
|
}
|
|
17458
17618
|
this.#inflate.flush(() => {
|
|
17619
|
+
if (!this.#inflate) {
|
|
17620
|
+
return;
|
|
17621
|
+
}
|
|
17459
17622
|
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
|
|
17460
17623
|
this.#inflate[kBuffer].length = 0;
|
|
17461
17624
|
this.#inflate[kLength] = 0;
|
|
@@ -17490,11 +17653,18 @@ var require_receiver = __commonJS({
|
|
|
17490
17653
|
var { WebsocketFrameSend } = require_frame();
|
|
17491
17654
|
var { closeWebSocketConnection } = require_connection();
|
|
17492
17655
|
var { PerMessageDeflate } = require_permessage_deflate();
|
|
17656
|
+
var { MessageSizeExceededError } = require_errors();
|
|
17657
|
+
function failWebsocketConnectionWithCode(ws, code, reason) {
|
|
17658
|
+
closeWebSocketConnection(ws, code, reason, Buffer.byteLength(reason));
|
|
17659
|
+
failWebsocketConnection(ws, reason);
|
|
17660
|
+
}
|
|
17661
|
+
__name(failWebsocketConnectionWithCode, "failWebsocketConnectionWithCode");
|
|
17493
17662
|
var ByteParser = class extends Writable {
|
|
17494
17663
|
static {
|
|
17495
17664
|
__name(this, "ByteParser");
|
|
17496
17665
|
}
|
|
17497
17666
|
#buffers = [];
|
|
17667
|
+
#fragmentsBytes = 0;
|
|
17498
17668
|
#byteOffset = 0;
|
|
17499
17669
|
#loop = false;
|
|
17500
17670
|
#state = parserStates.INFO;
|
|
@@ -17502,12 +17672,23 @@ var require_receiver = __commonJS({
|
|
|
17502
17672
|
#fragments = [];
|
|
17503
17673
|
/** @type {Map<string, PerMessageDeflate>} */
|
|
17504
17674
|
#extensions;
|
|
17505
|
-
|
|
17675
|
+
/** @type {number} */
|
|
17676
|
+
#maxFragments;
|
|
17677
|
+
/** @type {number} */
|
|
17678
|
+
#maxPayloadSize;
|
|
17679
|
+
/**
|
|
17680
|
+
* @param {import('./websocket').WebSocket} ws
|
|
17681
|
+
* @param {Map<string, string>|null} extensions
|
|
17682
|
+
* @param {{ maxFragments?: number, maxPayloadSize?: number }} [options]
|
|
17683
|
+
*/
|
|
17684
|
+
constructor(ws, extensions, options = {}) {
|
|
17506
17685
|
super();
|
|
17507
17686
|
this.ws = ws;
|
|
17508
17687
|
this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
|
|
17688
|
+
this.#maxFragments = options.maxFragments ?? 0;
|
|
17689
|
+
this.#maxPayloadSize = options.maxPayloadSize ?? 0;
|
|
17509
17690
|
if (this.#extensions.has("permessage-deflate")) {
|
|
17510
|
-
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
|
|
17691
|
+
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions, options));
|
|
17511
17692
|
}
|
|
17512
17693
|
}
|
|
17513
17694
|
/**
|
|
@@ -17520,6 +17701,13 @@ var require_receiver = __commonJS({
|
|
|
17520
17701
|
this.#loop = true;
|
|
17521
17702
|
this.run(callback);
|
|
17522
17703
|
}
|
|
17704
|
+
#validatePayloadLength() {
|
|
17705
|
+
if (this.#maxPayloadSize > 0 && !isControlFrame(this.#info.opcode) && this.#info.payloadLength + this.#fragmentsBytes > this.#maxPayloadSize) {
|
|
17706
|
+
failWebsocketConnectionWithCode(this.ws, 1009, "Payload size exceeds maximum allowed size");
|
|
17707
|
+
return false;
|
|
17708
|
+
}
|
|
17709
|
+
return true;
|
|
17710
|
+
}
|
|
17523
17711
|
/**
|
|
17524
17712
|
* Runs whenever a new chunk is received.
|
|
17525
17713
|
* Callback is called whenever there are no more chunks buffering,
|
|
@@ -17579,6 +17767,9 @@ var require_receiver = __commonJS({
|
|
|
17579
17767
|
if (payloadLength <= 125) {
|
|
17580
17768
|
this.#info.payloadLength = payloadLength;
|
|
17581
17769
|
this.#state = parserStates.READ_DATA;
|
|
17770
|
+
if (!this.#validatePayloadLength()) {
|
|
17771
|
+
return;
|
|
17772
|
+
}
|
|
17582
17773
|
} else if (payloadLength === 126) {
|
|
17583
17774
|
this.#state = parserStates.PAYLOADLENGTH_16;
|
|
17584
17775
|
} else if (payloadLength === 127) {
|
|
@@ -17599,19 +17790,25 @@ var require_receiver = __commonJS({
|
|
|
17599
17790
|
const buffer = this.consume(2);
|
|
17600
17791
|
this.#info.payloadLength = buffer.readUInt16BE(0);
|
|
17601
17792
|
this.#state = parserStates.READ_DATA;
|
|
17793
|
+
if (!this.#validatePayloadLength()) {
|
|
17794
|
+
return;
|
|
17795
|
+
}
|
|
17602
17796
|
} else if (this.#state === parserStates.PAYLOADLENGTH_64) {
|
|
17603
17797
|
if (this.#byteOffset < 8) {
|
|
17604
17798
|
return callback();
|
|
17605
17799
|
}
|
|
17606
17800
|
const buffer = this.consume(8);
|
|
17607
17801
|
const upper = buffer.readUInt32BE(0);
|
|
17608
|
-
|
|
17802
|
+
const lower = buffer.readUInt32BE(4);
|
|
17803
|
+
if (upper !== 0 || lower > 2 ** 31 - 1) {
|
|
17609
17804
|
failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");
|
|
17610
17805
|
return;
|
|
17611
17806
|
}
|
|
17612
|
-
|
|
17613
|
-
this.#info.payloadLength = (upper << 8) + lower;
|
|
17807
|
+
this.#info.payloadLength = lower;
|
|
17614
17808
|
this.#state = parserStates.READ_DATA;
|
|
17809
|
+
if (!this.#validatePayloadLength()) {
|
|
17810
|
+
return;
|
|
17811
|
+
}
|
|
17615
17812
|
} else if (this.#state === parserStates.READ_DATA) {
|
|
17616
17813
|
if (this.#byteOffset < this.#info.payloadLength) {
|
|
17617
17814
|
return callback();
|
|
@@ -17622,32 +17819,46 @@ var require_receiver = __commonJS({
|
|
|
17622
17819
|
this.#state = parserStates.INFO;
|
|
17623
17820
|
} else {
|
|
17624
17821
|
if (!this.#info.compressed) {
|
|
17625
|
-
this
|
|
17822
|
+
if (!this.writeFragments(body)) {
|
|
17823
|
+
return;
|
|
17824
|
+
}
|
|
17825
|
+
if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
|
|
17826
|
+
failWebsocketConnectionWithCode(this.ws, 1009, new MessageSizeExceededError().message);
|
|
17827
|
+
return;
|
|
17828
|
+
}
|
|
17626
17829
|
if (!this.#info.fragmented && this.#info.fin) {
|
|
17627
|
-
|
|
17628
|
-
websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
|
|
17629
|
-
this.#fragments.length = 0;
|
|
17830
|
+
websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments());
|
|
17630
17831
|
}
|
|
17631
17832
|
this.#state = parserStates.INFO;
|
|
17632
17833
|
} else {
|
|
17633
|
-
this.#extensions.get("permessage-deflate").decompress(
|
|
17634
|
-
|
|
17635
|
-
|
|
17636
|
-
|
|
17637
|
-
|
|
17638
|
-
|
|
17639
|
-
|
|
17640
|
-
|
|
17834
|
+
this.#extensions.get("permessage-deflate").decompress(
|
|
17835
|
+
body,
|
|
17836
|
+
this.#info.fin,
|
|
17837
|
+
(error, data) => {
|
|
17838
|
+
if (error) {
|
|
17839
|
+
const code = error instanceof MessageSizeExceededError ? 1009 : 1007;
|
|
17840
|
+
failWebsocketConnectionWithCode(this.ws, code, error.message);
|
|
17841
|
+
return;
|
|
17842
|
+
}
|
|
17843
|
+
if (!this.writeFragments(data)) {
|
|
17844
|
+
return;
|
|
17845
|
+
}
|
|
17846
|
+
if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
|
|
17847
|
+
failWebsocketConnectionWithCode(this.ws, 1009, new MessageSizeExceededError().message);
|
|
17848
|
+
return;
|
|
17849
|
+
}
|
|
17850
|
+
if (!this.#info.fin) {
|
|
17851
|
+
this.#state = parserStates.INFO;
|
|
17852
|
+
this.#loop = true;
|
|
17853
|
+
this.run(callback);
|
|
17854
|
+
return;
|
|
17855
|
+
}
|
|
17856
|
+
websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments());
|
|
17641
17857
|
this.#loop = true;
|
|
17858
|
+
this.#state = parserStates.INFO;
|
|
17642
17859
|
this.run(callback);
|
|
17643
|
-
return;
|
|
17644
17860
|
}
|
|
17645
|
-
|
|
17646
|
-
this.#loop = true;
|
|
17647
|
-
this.#state = parserStates.INFO;
|
|
17648
|
-
this.#fragments.length = 0;
|
|
17649
|
-
this.run(callback);
|
|
17650
|
-
});
|
|
17861
|
+
);
|
|
17651
17862
|
this.#loop = false;
|
|
17652
17863
|
break;
|
|
17653
17864
|
}
|
|
@@ -17690,6 +17901,26 @@ var require_receiver = __commonJS({
|
|
|
17690
17901
|
this.#byteOffset -= n;
|
|
17691
17902
|
return buffer;
|
|
17692
17903
|
}
|
|
17904
|
+
writeFragments(fragment) {
|
|
17905
|
+
if (this.#maxFragments > 0 && this.#fragments.length === this.#maxFragments) {
|
|
17906
|
+
failWebsocketConnectionWithCode(this.ws, 1008, "Too many message fragments");
|
|
17907
|
+
return false;
|
|
17908
|
+
}
|
|
17909
|
+
this.#fragmentsBytes += fragment.length;
|
|
17910
|
+
this.#fragments.push(fragment);
|
|
17911
|
+
return true;
|
|
17912
|
+
}
|
|
17913
|
+
consumeFragments() {
|
|
17914
|
+
const fragments = this.#fragments;
|
|
17915
|
+
if (fragments.length === 1) {
|
|
17916
|
+
this.#fragmentsBytes = 0;
|
|
17917
|
+
return fragments.shift();
|
|
17918
|
+
}
|
|
17919
|
+
const output = Buffer.concat(fragments, this.#fragmentsBytes);
|
|
17920
|
+
this.#fragments = [];
|
|
17921
|
+
this.#fragmentsBytes = 0;
|
|
17922
|
+
return output;
|
|
17923
|
+
}
|
|
17693
17924
|
parseCloseBody(data) {
|
|
17694
17925
|
assert(data.length !== 1);
|
|
17695
17926
|
let code;
|
|
@@ -18137,7 +18368,13 @@ var require_websocket = __commonJS({
|
|
|
18137
18368
|
*/
|
|
18138
18369
|
#onConnectionEstablished(response, parsedExtensions) {
|
|
18139
18370
|
this[kResponse] = response;
|
|
18140
|
-
const
|
|
18371
|
+
const webSocketOptions = this[kController]?.dispatcher?.webSocketOptions;
|
|
18372
|
+
const maxFragments = webSocketOptions?.maxFragments;
|
|
18373
|
+
const maxPayloadSize = webSocketOptions?.maxPayloadSize;
|
|
18374
|
+
const parser = new ByteParser(this, parsedExtensions, {
|
|
18375
|
+
maxFragments,
|
|
18376
|
+
maxPayloadSize
|
|
18377
|
+
});
|
|
18141
18378
|
parser.on("drain", onParserDrain);
|
|
18142
18379
|
parser.on("error", onParserError.bind(this));
|
|
18143
18380
|
response.socket.ws = this;
|