antigravity-mobile-proxy 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +5 -2
  5. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  8. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/[filename]/route.js +2 -2
  18. package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/[filename]/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/route.js +2 -2
  20. package/.next/standalone/.next/server/app/api/v1/artifacts/[convId]/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/v1/artifacts/active/[filename]/route.js +2 -2
  22. package/.next/standalone/.next/server/app/api/v1/artifacts/active/[filename]/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js +2 -2
  24. package/.next/standalone/.next/server/app/api/v1/artifacts/active/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/v1/artifacts/route.js +2 -2
  26. package/.next/standalone/.next/server/app/api/v1/artifacts/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/v1/chat/action/route.js +6 -2
  28. package/.next/standalone/.next/server/app/api/v1/chat/action/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js +6 -2
  30. package/.next/standalone/.next/server/app/api/v1/chat/approve/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/v1/chat/history/route.js +6 -2
  32. package/.next/standalone/.next/server/app/api/v1/chat/history/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js +6 -2
  34. package/.next/standalone/.next/server/app/api/v1/chat/mode/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/v1/chat/new/route.js +6 -2
  36. package/.next/standalone/.next/server/app/api/v1/chat/new/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js +6 -2
  38. package/.next/standalone/.next/server/app/api/v1/chat/reject/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/v1/chat/route.js +6 -2
  40. package/.next/standalone/.next/server/app/api/v1/chat/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/v1/chat/state/route.js +6 -2
  42. package/.next/standalone/.next/server/app/api/v1/chat/state/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js +6 -3
  44. package/.next/standalone/.next/server/app/api/v1/chat/stream/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/v1/conversations/active/route.js +2 -2
  46. package/.next/standalone/.next/server/app/api/v1/conversations/active/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/v1/conversations/route.js +6 -3
  48. package/.next/standalone/.next/server/app/api/v1/conversations/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js +6 -2
  50. package/.next/standalone/.next/server/app/api/v1/conversations/select/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js +6 -2
  52. package/.next/standalone/.next/server/app/api/v1/debug/dom/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js +6 -2
  54. package/.next/standalone/.next/server/app/api/v1/debug/scrape/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/v1/health/route.js +6 -2
  56. package/.next/standalone/.next/server/app/api/v1/health/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js +2 -2
  58. package/.next/standalone/.next/server/app/api/v1/windows/cdp-start/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js +2 -2
  60. package/.next/standalone/.next/server/app/api/v1/windows/cdp-status/route.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/api/v1/windows/close/route.js +6 -2
  62. package/.next/standalone/.next/server/app/api/v1/windows/close/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/v1/windows/open/route.js +6 -2
  64. package/.next/standalone/.next/server/app/api/v1/windows/open/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/v1/windows/recent/route.js +2 -2
  66. package/.next/standalone/.next/server/app/api/v1/windows/recent/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/v1/windows/route.js +6 -2
  68. package/.next/standalone/.next/server/app/api/v1/windows/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/v1/windows/select/route.js +6 -2
  70. package/.next/standalone/.next/server/app/api/v1/windows/select/route.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/debug/page.js +1 -1
  72. package/.next/standalone/.next/server/app/debug/page.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/debug/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
  75. package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/page.js +1 -1
  77. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d31b133._.js +3 -0
  80. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133ac672._.js +3 -0
  81. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1535be2d._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ee7d416._.js +3 -0
  83. package/.next/standalone/.next/server/chunks/[root-of-the-server]__22df301c._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/[root-of-the-server]__25f5f8ec._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/[root-of-the-server]__26662154._.js +3 -0
  86. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2ec5ba30._.js → [root-of-the-server]__3fe6d12c._.js} +2 -2
  87. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4b17d628._.js +3 -0
  88. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c540a38._.js +3 -0
  89. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8d2624da._.js → [root-of-the-server]__4d161104._.js} +2 -2
  90. package/.next/standalone/.next/server/chunks/[root-of-the-server]__53c4f34d._.js +3 -0
  91. package/.next/standalone/.next/server/chunks/[root-of-the-server]__68965284._.js +3 -0
  92. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8cb67283._.js +5 -0
  93. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f5ebbc3._.js +7 -0
  94. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f8bd59f._.js +20 -0
  95. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9166d84a._.js +3 -0
  96. package/.next/standalone/.next/server/chunks/[root-of-the-server]__94275f7f._.js +3 -0
  97. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c34d50c8._.js +3 -0
  98. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8fdd2340._.js → [root-of-the-server]__c696771d._.js} +2 -2
  99. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0bd52b41._.js → [root-of-the-server]__cd7ccfdd._.js} +2 -2
  100. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5818e20._.js +3 -0
  101. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__360475ac._.js → [root-of-the-server]__db7b3604._.js} +2 -2
  102. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__eeb89c13._.js → [root-of-the-server]__dc1db6cb._.js} +2 -2
  103. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4effd91a._.js → [root-of-the-server]__e9181374._.js} +2 -2
  104. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb9ef4db._.js +3 -0
  105. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4448d3d4._.js → [root-of-the-server]__ec32b318._.js} +2 -2
  106. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__7f18ffd0._.js → [root-of-the-server]__f54bea3d._.js} +2 -2
  107. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fabd57e0._.js +3 -0
  108. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fd0215df._.js +3 -0
  109. package/.next/standalone/.next/server/chunks/lib_cdp_connection_ts_075c799e._.js +41 -0
  110. package/.next/standalone/.next/server/chunks/node_modules_151ca6ae._.js +3 -0
  111. package/.next/standalone/.next/server/chunks/node_modules_1f8a2929._.js +3 -0
  112. package/.next/standalone/.next/server/chunks/node_modules_2d9a2f12._.js +4 -0
  113. package/.next/standalone/.next/server/chunks/node_modules_3b486fee._.js +3 -0
  114. package/.next/standalone/.next/server/chunks/node_modules_64199bef._.js +3 -0
  115. package/.next/standalone/.next/server/chunks/node_modules_@puppeteer_browsers_lib_esm_main_83020de3.js +3 -0
  116. package/.next/standalone/.next/server/chunks/node_modules_f81d3958._.js +3 -0
  117. package/.next/standalone/.next/server/chunks/node_modules_next_1402a1da._.js +2 -2
  118. package/.next/standalone/.next/server/chunks/node_modules_yargs_helpers_helpers_mjs_abe15519._.js +3 -0
  119. package/.next/standalone/.next/server/chunks/node_modules_yargs_index_mjs_c4f6f97b._.js +56 -0
  120. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__703e5e24._.js +3 -0
  121. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__edab6069._.js +3 -0
  122. package/.next/standalone/.next/server/chunks/ssr/node_modules_63dba3f8._.js +1 -1
  123. package/.next/standalone/.next/server/pages/500.html +2 -2
  124. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  126. package/.next/standalone/app/globals.css +20 -14
  127. package/.next/standalone/next.config.js +19 -0
  128. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  129. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  130. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  131. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  132. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  133. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  134. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  135. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  136. package/.next/standalone/node_modules/next/dist/build/generate-build-id.js +5 -1
  137. package/.next/standalone/package-lock.json +140 -129
  138. package/.next/standalone/package.json +4 -3
  139. package/.next/standalone/scripts/patch-next.js +69 -0
  140. package/.next/standalone/server.js +1 -1
  141. package/.next/standalone/tsconfig.json +14 -4
  142. package/.next/static/chunks/54866979a976deea.css +1 -0
  143. package/package.json +4 -3
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08f06ee9._.js +0 -3
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15c96786._.js +0 -3
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19ee93c1._.js +0 -3
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__324dc867._.js +0 -3
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__38025e07._.js +0 -3
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a837477._.js +0 -3
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4f9fdc77._.js +0 -3
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__556e6cd5._.js +0 -3
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6479a312._.js +0 -3
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__693625a1._.js +0 -3
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6ec98c1f._.js +0 -3
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f696ede._.js +0 -3
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8aa4aa02._.js +0 -3
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d217c47._.js +0 -7
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e54cdc1._.js +0 -3
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a73e4e4f._.js +0 -3
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cd1b9505._.js +0 -3
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d850c12e._.js +0 -3
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ef121746._.js +0 -3
  163. package/.next/standalone/.next/server/chunks/_7273dcfc._.js +0 -3
  164. package/.next/standalone/.next/server/chunks/_8dd0f398._.js +0 -5
  165. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4fe85c38._.js +0 -3
  166. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__85930638._.js +0 -3
  167. package/.next/standalone/next.config.ts +0 -10
  168. package/.next/standalone/node_modules/@puppeteer/browsers/package.json +0 -125
  169. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js +0 -53
  170. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js +0 -58
  171. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/context.js +0 -691
  172. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js +0 -6
  173. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js +0 -96
  174. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js +0 -58
  175. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js +0 -19
  176. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js +0 -387
  177. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js +0 -71
  178. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/index.js +0 -128
  179. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js +0 -227
  180. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js +0 -41
  181. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js +0 -97
  182. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js +0 -77
  183. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/module.js +0 -302
  184. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js +0 -49
  185. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js +0 -300
  186. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js +0 -38
  187. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/types.js +0 -58
  188. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js +0 -169
  189. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js +0 -12
  190. package/.next/standalone/node_modules/@tootallnate/quickjs-emscripten/package.json +0 -60
  191. package/.next/standalone/node_modules/agent-base/dist/helpers.js +0 -66
  192. package/.next/standalone/node_modules/agent-base/dist/index.js +0 -178
  193. package/.next/standalone/node_modules/agent-base/package.json +0 -46
  194. package/.next/standalone/node_modules/ast-types/def/babel-core.js +0 -256
  195. package/.next/standalone/node_modules/ast-types/def/babel.js +0 -11
  196. package/.next/standalone/node_modules/ast-types/def/core.js +0 -298
  197. package/.next/standalone/node_modules/ast-types/def/es-proposals.js +0 -33
  198. package/.next/standalone/node_modules/ast-types/def/es2020.js +0 -16
  199. package/.next/standalone/node_modules/ast-types/def/es6.js +0 -210
  200. package/.next/standalone/node_modules/ast-types/def/es7.js +0 -34
  201. package/.next/standalone/node_modules/ast-types/def/esprima.js +0 -49
  202. package/.next/standalone/node_modules/ast-types/def/flow.js +0 -292
  203. package/.next/standalone/node_modules/ast-types/def/jsx.js +0 -103
  204. package/.next/standalone/node_modules/ast-types/def/type-annotations.js +0 -40
  205. package/.next/standalone/node_modules/ast-types/def/typescript.js +0 -344
  206. package/.next/standalone/node_modules/ast-types/fork.js +0 -52
  207. package/.next/standalone/node_modules/ast-types/gen/namedTypes.js +0 -6
  208. package/.next/standalone/node_modules/ast-types/lib/equiv.js +0 -154
  209. package/.next/standalone/node_modules/ast-types/lib/node-path.js +0 -411
  210. package/.next/standalone/node_modules/ast-types/lib/path-visitor.js +0 -343
  211. package/.next/standalone/node_modules/ast-types/lib/path.js +0 -331
  212. package/.next/standalone/node_modules/ast-types/lib/scope.js +0 -318
  213. package/.next/standalone/node_modules/ast-types/lib/shared.js +0 -47
  214. package/.next/standalone/node_modules/ast-types/lib/types.js +0 -780
  215. package/.next/standalone/node_modules/ast-types/main.js +0 -53
  216. package/.next/standalone/node_modules/ast-types/package.json +0 -65
  217. package/.next/standalone/node_modules/b4a/index.js +0 -188
  218. package/.next/standalone/node_modules/b4a/package.json +0 -49
  219. package/.next/standalone/node_modules/basic-ftp/dist/Client.js +0 -782
  220. package/.next/standalone/node_modules/basic-ftp/dist/FileInfo.js +0 -92
  221. package/.next/standalone/node_modules/basic-ftp/dist/FtpContext.js +0 -365
  222. package/.next/standalone/node_modules/basic-ftp/dist/ProgressTracker.js +0 -72
  223. package/.next/standalone/node_modules/basic-ftp/dist/StringEncoding.js +0 -2
  224. package/.next/standalone/node_modules/basic-ftp/dist/StringWriter.js +0 -23
  225. package/.next/standalone/node_modules/basic-ftp/dist/index.js +0 -28
  226. package/.next/standalone/node_modules/basic-ftp/dist/netUtils.js +0 -66
  227. package/.next/standalone/node_modules/basic-ftp/dist/parseControlResponse.js +0 -66
  228. package/.next/standalone/node_modules/basic-ftp/dist/parseList.js +0 -79
  229. package/.next/standalone/node_modules/basic-ftp/dist/parseListDOS.js +0 -52
  230. package/.next/standalone/node_modules/basic-ftp/dist/parseListMLSD.js +0 -187
  231. package/.next/standalone/node_modules/basic-ftp/dist/parseListUnix.js +0 -155
  232. package/.next/standalone/node_modules/basic-ftp/dist/transfer.js +0 -318
  233. package/.next/standalone/node_modules/basic-ftp/package.json +0 -52
  234. package/.next/standalone/node_modules/buffer-crc32/index.js +0 -111
  235. package/.next/standalone/node_modules/buffer-crc32/package.json +0 -39
  236. package/.next/standalone/node_modules/cliui/build/lib/index.js +0 -287
  237. package/.next/standalone/node_modules/cliui/build/lib/string-utils.js +0 -27
  238. package/.next/standalone/node_modules/cliui/index.mjs +0 -13
  239. package/.next/standalone/node_modules/cliui/package.json +0 -83
  240. package/.next/standalone/node_modules/data-uri-to-buffer/dist/common.js +0 -54
  241. package/.next/standalone/node_modules/data-uri-to-buffer/dist/node.js +0 -26
  242. package/.next/standalone/node_modules/data-uri-to-buffer/package.json +0 -48
  243. package/.next/standalone/node_modules/debug/package.json +0 -64
  244. package/.next/standalone/node_modules/debug/src/browser.js +0 -272
  245. package/.next/standalone/node_modules/debug/src/common.js +0 -292
  246. package/.next/standalone/node_modules/debug/src/index.js +0 -10
  247. package/.next/standalone/node_modules/debug/src/node.js +0 -263
  248. package/.next/standalone/node_modules/degenerator/dist/compile.js +0 -107
  249. package/.next/standalone/node_modules/degenerator/dist/degenerator.js +0 -156
  250. package/.next/standalone/node_modules/degenerator/dist/index.js +0 -19
  251. package/.next/standalone/node_modules/degenerator/package.json +0 -42
  252. package/.next/standalone/node_modules/end-of-stream/index.js +0 -96
  253. package/.next/standalone/node_modules/end-of-stream/package.json +0 -37
  254. package/.next/standalone/node_modules/escalade/package.json +0 -74
  255. package/.next/standalone/node_modules/escodegen/escodegen.js +0 -2667
  256. package/.next/standalone/node_modules/escodegen/package.json +0 -63
  257. package/.next/standalone/node_modules/esprima/dist/esprima.js +0 -6709
  258. package/.next/standalone/node_modules/esprima/package.json +0 -112
  259. package/.next/standalone/node_modules/estraverse/estraverse.js +0 -805
  260. package/.next/standalone/node_modules/estraverse/package.json +0 -40
  261. package/.next/standalone/node_modules/esutils/lib/ast.js +0 -144
  262. package/.next/standalone/node_modules/esutils/lib/code.js +0 -135
  263. package/.next/standalone/node_modules/esutils/lib/keyword.js +0 -165
  264. package/.next/standalone/node_modules/esutils/lib/utils.js +0 -33
  265. package/.next/standalone/node_modules/esutils/package.json +0 -44
  266. package/.next/standalone/node_modules/events-universal/default.js +0 -1
  267. package/.next/standalone/node_modules/events-universal/package.json +0 -39
  268. package/.next/standalone/node_modules/extract-zip/LICENSE +0 -23
  269. package/.next/standalone/node_modules/extract-zip/cli.js +0 -19
  270. package/.next/standalone/node_modules/extract-zip/index.js +0 -173
  271. package/.next/standalone/node_modules/extract-zip/package.json +0 -80
  272. package/.next/standalone/node_modules/extract-zip/readme.md +0 -57
  273. package/.next/standalone/node_modules/fast-fifo/fixed-size.js +0 -39
  274. package/.next/standalone/node_modules/fast-fifo/index.js +0 -48
  275. package/.next/standalone/node_modules/fast-fifo/package.json +0 -28
  276. package/.next/standalone/node_modules/fd-slicer/index.js +0 -296
  277. package/.next/standalone/node_modules/fd-slicer/package.json +0 -36
  278. package/.next/standalone/node_modules/get-stream/buffer-stream.js +0 -52
  279. package/.next/standalone/node_modules/get-stream/index.js +0 -60
  280. package/.next/standalone/node_modules/get-stream/package.json +0 -50
  281. package/.next/standalone/node_modules/get-uri/dist/data.js +0 -43
  282. package/.next/standalone/node_modules/get-uri/dist/file.js +0 -57
  283. package/.next/standalone/node_modules/get-uri/dist/ftp.js +0 -93
  284. package/.next/standalone/node_modules/get-uri/dist/http-error.js +0 -15
  285. package/.next/standalone/node_modules/get-uri/dist/http.js +0 -191
  286. package/.next/standalone/node_modules/get-uri/dist/https.js +0 -16
  287. package/.next/standalone/node_modules/get-uri/dist/index.js +0 -57
  288. package/.next/standalone/node_modules/get-uri/dist/notfound.js +0 -16
  289. package/.next/standalone/node_modules/get-uri/dist/notmodified.js +0 -17
  290. package/.next/standalone/node_modules/get-uri/package.json +0 -58
  291. package/.next/standalone/node_modules/has-flag/index.js +0 -8
  292. package/.next/standalone/node_modules/has-flag/package.json +0 -46
  293. package/.next/standalone/node_modules/http-proxy-agent/dist/index.js +0 -148
  294. package/.next/standalone/node_modules/http-proxy-agent/package.json +0 -47
  295. package/.next/standalone/node_modules/https-proxy-agent/dist/index.js +0 -180
  296. package/.next/standalone/node_modules/https-proxy-agent/dist/parse-proxy-response.js +0 -101
  297. package/.next/standalone/node_modules/https-proxy-agent/package.json +0 -50
  298. package/.next/standalone/node_modules/ip-address/dist/address-error.js +0 -12
  299. package/.next/standalone/node_modules/ip-address/dist/common.js +0 -46
  300. package/.next/standalone/node_modules/ip-address/dist/ip-address.js +0 -35
  301. package/.next/standalone/node_modules/ip-address/dist/ipv4.js +0 -360
  302. package/.next/standalone/node_modules/ip-address/dist/ipv6.js +0 -1003
  303. package/.next/standalone/node_modules/ip-address/dist/v4/constants.js +0 -8
  304. package/.next/standalone/node_modules/ip-address/dist/v6/constants.js +0 -76
  305. package/.next/standalone/node_modules/ip-address/dist/v6/helpers.js +0 -45
  306. package/.next/standalone/node_modules/ip-address/dist/v6/regular-expressions.js +0 -95
  307. package/.next/standalone/node_modules/ip-address/package.json +0 -78
  308. package/.next/standalone/node_modules/lru-cache/index.js +0 -1227
  309. package/.next/standalone/node_modules/lru-cache/package.json +0 -96
  310. package/.next/standalone/node_modules/ms/index.js +0 -162
  311. package/.next/standalone/node_modules/ms/package.json +0 -38
  312. package/.next/standalone/node_modules/netmask/lib/netmask.js +0 -208
  313. package/.next/standalone/node_modules/netmask/package.json +0 -36
  314. package/.next/standalone/node_modules/once/once.js +0 -42
  315. package/.next/standalone/node_modules/once/package.json +0 -33
  316. package/.next/standalone/node_modules/pac-proxy-agent/dist/index.js +0 -238
  317. package/.next/standalone/node_modules/pac-proxy-agent/package.json +0 -58
  318. package/.next/standalone/node_modules/pac-resolver/dist/dateRange.js +0 -73
  319. package/.next/standalone/node_modules/pac-resolver/dist/dnsDomainIs.js +0 -30
  320. package/.next/standalone/node_modules/pac-resolver/dist/dnsDomainLevels.js +0 -28
  321. package/.next/standalone/node_modules/pac-resolver/dist/dnsResolve.js +0 -32
  322. package/.next/standalone/node_modules/pac-resolver/dist/index.js +0 -87
  323. package/.next/standalone/node_modules/pac-resolver/dist/ip.js +0 -50
  324. package/.next/standalone/node_modules/pac-resolver/dist/isInNet.js +0 -42
  325. package/.next/standalone/node_modules/pac-resolver/dist/isPlainHostName.js +0 -23
  326. package/.next/standalone/node_modules/pac-resolver/dist/isResolvable.js +0 -23
  327. package/.next/standalone/node_modules/pac-resolver/dist/localHostOrDomainIs.js +0 -40
  328. package/.next/standalone/node_modules/pac-resolver/dist/myIpAddress.js +0 -50
  329. package/.next/standalone/node_modules/pac-resolver/dist/shExpMatch.js +0 -41
  330. package/.next/standalone/node_modules/pac-resolver/dist/timeRange.js +0 -92
  331. package/.next/standalone/node_modules/pac-resolver/dist/util.js +0 -22
  332. package/.next/standalone/node_modules/pac-resolver/dist/weekdayRange.js +0 -91
  333. package/.next/standalone/node_modules/pac-resolver/package.json +0 -47
  334. package/.next/standalone/node_modules/pend/index.js +0 -55
  335. package/.next/standalone/node_modules/pend/package.json +0 -18
  336. package/.next/standalone/node_modules/progress/index.js +0 -1
  337. package/.next/standalone/node_modules/progress/lib/node-progress.js +0 -236
  338. package/.next/standalone/node_modules/progress/package.json +0 -26
  339. package/.next/standalone/node_modules/proxy-agent/dist/index.js +0 -138
  340. package/.next/standalone/node_modules/proxy-agent/package.json +0 -60
  341. package/.next/standalone/node_modules/proxy-from-env/index.js +0 -108
  342. package/.next/standalone/node_modules/proxy-from-env/package.json +0 -34
  343. package/.next/standalone/node_modules/pump/index.js +0 -86
  344. package/.next/standalone/node_modules/pump/package.json +0 -30
  345. package/.next/standalone/node_modules/puppeteer-core/lib/esm/package.json +0 -1
  346. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js +0 -204
  347. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.js +0 -182
  348. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/CDPSession.js +0 -68
  349. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/DeviceRequestPrompt.js +0 -34
  350. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js +0 -90
  351. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js +0 -1406
  352. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandleSymbol.js +0 -10
  353. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js +0 -904
  354. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js +0 -461
  355. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPResponse.js +0 -56
  356. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Input.js +0 -211
  357. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js +0 -227
  358. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js +0 -1511
  359. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Realm.js +0 -44
  360. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js +0 -49
  361. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/WebWorker.js +0 -106
  362. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js +0 -22
  363. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js +0 -769
  364. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/bidi/BrowserConnector.js +0 -83
  365. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Accessibility.js +0 -591
  366. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Binding.js +0 -162
  367. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BluetoothEmulation.js +0 -26
  368. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js +0 -327
  369. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BrowserConnector.js +0 -26
  370. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BrowserContext.js +0 -192
  371. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CdpPreloadScript.js +0 -39
  372. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CdpSession.js +0 -129
  373. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js +0 -244
  374. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Coverage.js +0 -372
  375. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js +0 -151
  376. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Dialog.js +0 -23
  377. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ElementHandle.js +0 -206
  378. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js +0 -458
  379. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js +0 -457
  380. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExtensionTransport.js +0 -175
  381. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Frame.js +0 -358
  382. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameManager.js +0 -455
  383. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameManagerEvents.js +0 -24
  384. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameTree.js +0 -91
  385. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/HTTPRequest.js +0 -195
  386. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/HTTPResponse.js +0 -126
  387. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Input.js +0 -499
  388. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js +0 -157
  389. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorlds.js +0 -20
  390. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/JSHandle.js +0 -101
  391. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/LifecycleWatcher.js +0 -174
  392. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/NetworkEventManager.js +0 -162
  393. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/NetworkManager.js +0 -601
  394. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Page.js +0 -1011
  395. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js +0 -69
  396. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Target.js +0 -243
  397. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/TargetManageEvents.js +0 -7
  398. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/TargetManager.js +0 -320
  399. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Tracing.js +0 -110
  400. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/WebWorker.js +0 -73
  401. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/cdp.js +0 -43
  402. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/utils.js +0 -216
  403. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +0 -54
  404. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.js +0 -129
  405. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +0 -39
  406. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CSSQueryHandler.js +0 -18
  407. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js +0 -133
  408. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js +0 -78
  409. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js +0 -114
  410. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js +0 -109
  411. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Device.js +0 -1604
  412. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js +0 -94
  413. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js +0 -128
  414. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js +0 -75
  415. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/GetQueryHandler.js +0 -70
  416. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/HandleIterator.js +0 -142
  417. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js +0 -23
  418. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManagerEvents.js +0 -21
  419. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js +0 -58
  420. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js +0 -18
  421. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PSelectorParser.js +0 -100
  422. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js +0 -18
  423. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js +0 -98
  424. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js +0 -225
  425. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js +0 -51
  426. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js +0 -69
  427. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js +0 -24
  428. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js +0 -15
  429. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js +0 -39
  430. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.js +0 -394
  431. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js +0 -197
  432. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js +0 -21
  433. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/common.js +0 -35
  434. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js +0 -375
  435. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/environment.js +0 -24
  436. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js +0 -9
  437. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/index-browser.js +0 -11
  438. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/index.js +0 -8
  439. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/puppeteer-core.js +0 -41
  440. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js +0 -14
  441. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/AsyncIterableUtil.js +0 -29
  442. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js +0 -105
  443. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/ErrorLike.js +0 -41
  444. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Function.js +0 -70
  445. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/Mutex.js +0 -46
  446. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js +0 -18
  447. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/decorators.js +0 -232
  448. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/disposable.js +0 -342
  449. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/encoding.js +0 -63
  450. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/incremental-id-generator.js +0 -18
  451. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/util.js +0 -13
  452. package/.next/standalone/node_modules/puppeteer-core/lib/esm/puppeteer/util/version.js +0 -10
  453. package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js +0 -44
  454. package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/parsel-js/parsel-js.js +0 -196
  455. package/.next/standalone/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js +0 -2887
  456. package/.next/standalone/node_modules/puppeteer-core/package.json +0 -169
  457. package/.next/standalone/node_modules/semver/functions/clean.js +0 -8
  458. package/.next/standalone/node_modules/semver/functions/compare-build.js +0 -9
  459. package/.next/standalone/node_modules/semver/functions/compare-loose.js +0 -5
  460. package/.next/standalone/node_modules/semver/functions/diff.js +0 -60
  461. package/.next/standalone/node_modules/semver/functions/inc.js +0 -21
  462. package/.next/standalone/node_modules/semver/functions/major.js +0 -5
  463. package/.next/standalone/node_modules/semver/functions/minor.js +0 -5
  464. package/.next/standalone/node_modules/semver/functions/patch.js +0 -5
  465. package/.next/standalone/node_modules/semver/functions/prerelease.js +0 -8
  466. package/.next/standalone/node_modules/semver/functions/rcompare.js +0 -5
  467. package/.next/standalone/node_modules/semver/functions/rsort.js +0 -5
  468. package/.next/standalone/node_modules/semver/functions/sort.js +0 -5
  469. package/.next/standalone/node_modules/semver/functions/valid.js +0 -8
  470. package/.next/standalone/node_modules/semver/index.js +0 -91
  471. package/.next/standalone/node_modules/semver/ranges/gtr.js +0 -6
  472. package/.next/standalone/node_modules/semver/ranges/intersects.js +0 -9
  473. package/.next/standalone/node_modules/semver/ranges/ltr.js +0 -6
  474. package/.next/standalone/node_modules/semver/ranges/max-satisfying.js +0 -27
  475. package/.next/standalone/node_modules/semver/ranges/min-satisfying.js +0 -26
  476. package/.next/standalone/node_modules/semver/ranges/min-version.js +0 -63
  477. package/.next/standalone/node_modules/semver/ranges/outside.js +0 -82
  478. package/.next/standalone/node_modules/semver/ranges/simplify.js +0 -49
  479. package/.next/standalone/node_modules/semver/ranges/subset.js +0 -249
  480. package/.next/standalone/node_modules/semver/ranges/to-comparators.js +0 -10
  481. package/.next/standalone/node_modules/semver/ranges/valid.js +0 -13
  482. package/.next/standalone/node_modules/smart-buffer/build/smartbuffer.js +0 -1233
  483. package/.next/standalone/node_modules/smart-buffer/build/utils.js +0 -108
  484. package/.next/standalone/node_modules/smart-buffer/package.json +0 -79
  485. package/.next/standalone/node_modules/socks/build/client/socksclient.js +0 -793
  486. package/.next/standalone/node_modules/socks/build/common/constants.js +0 -108
  487. package/.next/standalone/node_modules/socks/build/common/helpers.js +0 -167
  488. package/.next/standalone/node_modules/socks/build/common/receivebuffer.js +0 -43
  489. package/.next/standalone/node_modules/socks/build/common/util.js +0 -25
  490. package/.next/standalone/node_modules/socks/build/index.js +0 -18
  491. package/.next/standalone/node_modules/socks/package.json +0 -58
  492. package/.next/standalone/node_modules/socks-proxy-agent/dist/index.js +0 -195
  493. package/.next/standalone/node_modules/socks-proxy-agent/package.json +0 -142
  494. package/.next/standalone/node_modules/source-map/lib/array-set.js +0 -121
  495. package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +0 -140
  496. package/.next/standalone/node_modules/source-map/lib/base64.js +0 -67
  497. package/.next/standalone/node_modules/source-map/lib/binary-search.js +0 -111
  498. package/.next/standalone/node_modules/source-map/lib/mapping-list.js +0 -79
  499. package/.next/standalone/node_modules/source-map/lib/quick-sort.js +0 -114
  500. package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  501. package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +0 -425
  502. package/.next/standalone/node_modules/source-map/lib/source-node.js +0 -413
  503. package/.next/standalone/node_modules/source-map/lib/util.js +0 -488
  504. package/.next/standalone/node_modules/source-map/package.json +0 -73
  505. package/.next/standalone/node_modules/source-map/source-map.js +0 -8
  506. package/.next/standalone/node_modules/streamx/index.js +0 -1184
  507. package/.next/standalone/node_modules/streamx/package.json +0 -34
  508. package/.next/standalone/node_modules/supports-color/index.js +0 -135
  509. package/.next/standalone/node_modules/supports-color/package.json +0 -53
  510. package/.next/standalone/node_modules/tar-stream/constants.js +0 -14
  511. package/.next/standalone/node_modules/tar-stream/extract.js +0 -406
  512. package/.next/standalone/node_modules/tar-stream/headers.js +0 -321
  513. package/.next/standalone/node_modules/tar-stream/index.js +0 -2
  514. package/.next/standalone/node_modules/tar-stream/pack.js +0 -287
  515. package/.next/standalone/node_modules/tar-stream/package.json +0 -42
  516. package/.next/standalone/node_modules/text-decoder/index.js +0 -64
  517. package/.next/standalone/node_modules/text-decoder/lib/pass-through-decoder.js +0 -19
  518. package/.next/standalone/node_modules/text-decoder/lib/utf8-decoder.js +0 -185
  519. package/.next/standalone/node_modules/text-decoder/package.json +0 -39
  520. package/.next/standalone/node_modules/tslib/package.json +0 -47
  521. package/.next/standalone/node_modules/tslib/tslib.js +0 -484
  522. package/.next/standalone/node_modules/wrappy/package.json +0 -29
  523. package/.next/standalone/node_modules/wrappy/wrappy.js +0 -33
  524. package/.next/standalone/node_modules/ws/lib/buffer-util.js +0 -131
  525. package/.next/standalone/node_modules/ws/lib/constants.js +0 -19
  526. package/.next/standalone/node_modules/ws/lib/event-target.js +0 -292
  527. package/.next/standalone/node_modules/ws/lib/extension.js +0 -203
  528. package/.next/standalone/node_modules/ws/lib/limiter.js +0 -55
  529. package/.next/standalone/node_modules/ws/lib/permessage-deflate.js +0 -528
  530. package/.next/standalone/node_modules/ws/lib/receiver.js +0 -706
  531. package/.next/standalone/node_modules/ws/lib/sender.js +0 -602
  532. package/.next/standalone/node_modules/ws/lib/stream.js +0 -161
  533. package/.next/standalone/node_modules/ws/lib/subprotocol.js +0 -62
  534. package/.next/standalone/node_modules/ws/lib/validation.js +0 -152
  535. package/.next/standalone/node_modules/ws/lib/websocket-server.js +0 -554
  536. package/.next/standalone/node_modules/ws/lib/websocket.js +0 -1393
  537. package/.next/standalone/node_modules/ws/package.json +0 -69
  538. package/.next/standalone/node_modules/ws/wrapper.mjs +0 -8
  539. package/.next/standalone/node_modules/y18n/build/lib/index.js +0 -174
  540. package/.next/standalone/node_modules/y18n/build/lib/platform-shims/node.js +0 -19
  541. package/.next/standalone/node_modules/y18n/index.mjs +0 -8
  542. package/.next/standalone/node_modules/y18n/package.json +0 -70
  543. package/.next/standalone/node_modules/yargs/build/lib/argsert.js +0 -62
  544. package/.next/standalone/node_modules/yargs/build/lib/command.js +0 -449
  545. package/.next/standalone/node_modules/yargs/build/lib/completion-templates.js +0 -48
  546. package/.next/standalone/node_modules/yargs/build/lib/completion.js +0 -243
  547. package/.next/standalone/node_modules/yargs/build/lib/middleware.js +0 -88
  548. package/.next/standalone/node_modules/yargs/build/lib/parse-command.js +0 -32
  549. package/.next/standalone/node_modules/yargs/build/lib/typings/common-types.js +0 -9
  550. package/.next/standalone/node_modules/yargs/build/lib/usage.js +0 -584
  551. package/.next/standalone/node_modules/yargs/build/lib/utils/apply-extends.js +0 -59
  552. package/.next/standalone/node_modules/yargs/build/lib/utils/is-promise.js +0 -5
  553. package/.next/standalone/node_modules/yargs/build/lib/utils/levenshtein.js +0 -34
  554. package/.next/standalone/node_modules/yargs/build/lib/utils/maybe-async-result.js +0 -17
  555. package/.next/standalone/node_modules/yargs/build/lib/utils/obj-filter.js +0 -10
  556. package/.next/standalone/node_modules/yargs/build/lib/utils/process-argv.js +0 -17
  557. package/.next/standalone/node_modules/yargs/build/lib/utils/set-blocking.js +0 -12
  558. package/.next/standalone/node_modules/yargs/build/lib/utils/which-module.js +0 -10
  559. package/.next/standalone/node_modules/yargs/build/lib/validation.js +0 -305
  560. package/.next/standalone/node_modules/yargs/build/lib/yargs-factory.js +0 -1512
  561. package/.next/standalone/node_modules/yargs/build/lib/yerror.js +0 -9
  562. package/.next/standalone/node_modules/yargs/helpers/helpers.mjs +0 -10
  563. package/.next/standalone/node_modules/yargs/index.mjs +0 -8
  564. package/.next/standalone/node_modules/yargs/lib/platform-shims/esm.mjs +0 -73
  565. package/.next/standalone/node_modules/yargs/package.json +0 -123
  566. package/.next/standalone/node_modules/yargs-parser/build/lib/index.js +0 -62
  567. package/.next/standalone/node_modules/yargs-parser/build/lib/string-utils.js +0 -65
  568. package/.next/standalone/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +0 -40
  569. package/.next/standalone/node_modules/yargs-parser/build/lib/yargs-parser-types.js +0 -12
  570. package/.next/standalone/node_modules/yargs-parser/build/lib/yargs-parser.js +0 -1045
  571. package/.next/standalone/node_modules/yargs-parser/package.json +0 -92
  572. package/.next/standalone/node_modules/yauzl/LICENSE +0 -21
  573. package/.next/standalone/node_modules/yauzl/README.md +0 -658
  574. package/.next/standalone/node_modules/yauzl/index.js +0 -796
  575. package/.next/standalone/node_modules/yauzl/package.json +0 -40
  576. package/.next/static/chunks/6f8d5b34a0746c30.css +0 -1
  577. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/comparator.js +0 -0
  578. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/range.js +0 -0
  579. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/semver.js +0 -0
  580. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/cmp.js +0 -0
  581. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/coerce.js +0 -0
  582. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/compare.js +0 -0
  583. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/eq.js +0 -0
  584. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gt.js +0 -0
  585. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gte.js +0 -0
  586. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lt.js +0 -0
  587. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lte.js +0 -0
  588. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/neq.js +0 -0
  589. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/parse.js +0 -0
  590. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/satisfies.js +0 -0
  591. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/constants.js +0 -0
  592. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/debug.js +0 -0
  593. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/identifiers.js +0 -0
  594. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/lrucache.js +0 -0
  595. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/parse-options.js +0 -0
  596. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/re.js +0 -0
  597. /package/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/package.json +0 -0
  598. /package/.next/static/{kjjeNNqdepzMMavZeMWoK → standalone-build}/_buildManifest.js +0 -0
  599. /package/.next/static/{kjjeNNqdepzMMavZeMWoK → standalone-build}/_clientMiddlewareManifest.json +0 -0
  600. /package/.next/static/{kjjeNNqdepzMMavZeMWoK → standalone-build}/_ssgManifest.js +0 -0
@@ -1,1393 +0,0 @@
1
- /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Duplex|Readable$", "caughtErrors": "none" }] */
2
-
3
- 'use strict';
4
-
5
- const EventEmitter = require('events');
6
- const https = require('https');
7
- const http = require('http');
8
- const net = require('net');
9
- const tls = require('tls');
10
- const { randomBytes, createHash } = require('crypto');
11
- const { Duplex, Readable } = require('stream');
12
- const { URL } = require('url');
13
-
14
- const PerMessageDeflate = require('./permessage-deflate');
15
- const Receiver = require('./receiver');
16
- const Sender = require('./sender');
17
- const { isBlob } = require('./validation');
18
-
19
- const {
20
- BINARY_TYPES,
21
- CLOSE_TIMEOUT,
22
- EMPTY_BUFFER,
23
- GUID,
24
- kForOnEventAttribute,
25
- kListener,
26
- kStatusCode,
27
- kWebSocket,
28
- NOOP
29
- } = require('./constants');
30
- const {
31
- EventTarget: { addEventListener, removeEventListener }
32
- } = require('./event-target');
33
- const { format, parse } = require('./extension');
34
- const { toBuffer } = require('./buffer-util');
35
-
36
- const kAborted = Symbol('kAborted');
37
- const protocolVersions = [8, 13];
38
- const readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];
39
- const subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;
40
-
41
- /**
42
- * Class representing a WebSocket.
43
- *
44
- * @extends EventEmitter
45
- */
46
- class WebSocket extends EventEmitter {
47
- /**
48
- * Create a new `WebSocket`.
49
- *
50
- * @param {(String|URL)} address The URL to which to connect
51
- * @param {(String|String[])} [protocols] The subprotocols
52
- * @param {Object} [options] Connection options
53
- */
54
- constructor(address, protocols, options) {
55
- super();
56
-
57
- this._binaryType = BINARY_TYPES[0];
58
- this._closeCode = 1006;
59
- this._closeFrameReceived = false;
60
- this._closeFrameSent = false;
61
- this._closeMessage = EMPTY_BUFFER;
62
- this._closeTimer = null;
63
- this._errorEmitted = false;
64
- this._extensions = {};
65
- this._paused = false;
66
- this._protocol = '';
67
- this._readyState = WebSocket.CONNECTING;
68
- this._receiver = null;
69
- this._sender = null;
70
- this._socket = null;
71
-
72
- if (address !== null) {
73
- this._bufferedAmount = 0;
74
- this._isServer = false;
75
- this._redirects = 0;
76
-
77
- if (protocols === undefined) {
78
- protocols = [];
79
- } else if (!Array.isArray(protocols)) {
80
- if (typeof protocols === 'object' && protocols !== null) {
81
- options = protocols;
82
- protocols = [];
83
- } else {
84
- protocols = [protocols];
85
- }
86
- }
87
-
88
- initAsClient(this, address, protocols, options);
89
- } else {
90
- this._autoPong = options.autoPong;
91
- this._closeTimeout = options.closeTimeout;
92
- this._isServer = true;
93
- }
94
- }
95
-
96
- /**
97
- * For historical reasons, the custom "nodebuffer" type is used by the default
98
- * instead of "blob".
99
- *
100
- * @type {String}
101
- */
102
- get binaryType() {
103
- return this._binaryType;
104
- }
105
-
106
- set binaryType(type) {
107
- if (!BINARY_TYPES.includes(type)) return;
108
-
109
- this._binaryType = type;
110
-
111
- //
112
- // Allow to change `binaryType` on the fly.
113
- //
114
- if (this._receiver) this._receiver._binaryType = type;
115
- }
116
-
117
- /**
118
- * @type {Number}
119
- */
120
- get bufferedAmount() {
121
- if (!this._socket) return this._bufferedAmount;
122
-
123
- return this._socket._writableState.length + this._sender._bufferedBytes;
124
- }
125
-
126
- /**
127
- * @type {String}
128
- */
129
- get extensions() {
130
- return Object.keys(this._extensions).join();
131
- }
132
-
133
- /**
134
- * @type {Boolean}
135
- */
136
- get isPaused() {
137
- return this._paused;
138
- }
139
-
140
- /**
141
- * @type {Function}
142
- */
143
- /* istanbul ignore next */
144
- get onclose() {
145
- return null;
146
- }
147
-
148
- /**
149
- * @type {Function}
150
- */
151
- /* istanbul ignore next */
152
- get onerror() {
153
- return null;
154
- }
155
-
156
- /**
157
- * @type {Function}
158
- */
159
- /* istanbul ignore next */
160
- get onopen() {
161
- return null;
162
- }
163
-
164
- /**
165
- * @type {Function}
166
- */
167
- /* istanbul ignore next */
168
- get onmessage() {
169
- return null;
170
- }
171
-
172
- /**
173
- * @type {String}
174
- */
175
- get protocol() {
176
- return this._protocol;
177
- }
178
-
179
- /**
180
- * @type {Number}
181
- */
182
- get readyState() {
183
- return this._readyState;
184
- }
185
-
186
- /**
187
- * @type {String}
188
- */
189
- get url() {
190
- return this._url;
191
- }
192
-
193
- /**
194
- * Set up the socket and the internal resources.
195
- *
196
- * @param {Duplex} socket The network socket between the server and client
197
- * @param {Buffer} head The first packet of the upgraded stream
198
- * @param {Object} options Options object
199
- * @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
200
- * any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
201
- * multiple times in the same tick
202
- * @param {Function} [options.generateMask] The function used to generate the
203
- * masking key
204
- * @param {Number} [options.maxPayload=0] The maximum allowed message size
205
- * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
206
- * not to skip UTF-8 validation for text and close messages
207
- * @private
208
- */
209
- setSocket(socket, head, options) {
210
- const receiver = new Receiver({
211
- allowSynchronousEvents: options.allowSynchronousEvents,
212
- binaryType: this.binaryType,
213
- extensions: this._extensions,
214
- isServer: this._isServer,
215
- maxPayload: options.maxPayload,
216
- skipUTF8Validation: options.skipUTF8Validation
217
- });
218
-
219
- const sender = new Sender(socket, this._extensions, options.generateMask);
220
-
221
- this._receiver = receiver;
222
- this._sender = sender;
223
- this._socket = socket;
224
-
225
- receiver[kWebSocket] = this;
226
- sender[kWebSocket] = this;
227
- socket[kWebSocket] = this;
228
-
229
- receiver.on('conclude', receiverOnConclude);
230
- receiver.on('drain', receiverOnDrain);
231
- receiver.on('error', receiverOnError);
232
- receiver.on('message', receiverOnMessage);
233
- receiver.on('ping', receiverOnPing);
234
- receiver.on('pong', receiverOnPong);
235
-
236
- sender.onerror = senderOnError;
237
-
238
- //
239
- // These methods may not be available if `socket` is just a `Duplex`.
240
- //
241
- if (socket.setTimeout) socket.setTimeout(0);
242
- if (socket.setNoDelay) socket.setNoDelay();
243
-
244
- if (head.length > 0) socket.unshift(head);
245
-
246
- socket.on('close', socketOnClose);
247
- socket.on('data', socketOnData);
248
- socket.on('end', socketOnEnd);
249
- socket.on('error', socketOnError);
250
-
251
- this._readyState = WebSocket.OPEN;
252
- this.emit('open');
253
- }
254
-
255
- /**
256
- * Emit the `'close'` event.
257
- *
258
- * @private
259
- */
260
- emitClose() {
261
- if (!this._socket) {
262
- this._readyState = WebSocket.CLOSED;
263
- this.emit('close', this._closeCode, this._closeMessage);
264
- return;
265
- }
266
-
267
- if (this._extensions[PerMessageDeflate.extensionName]) {
268
- this._extensions[PerMessageDeflate.extensionName].cleanup();
269
- }
270
-
271
- this._receiver.removeAllListeners();
272
- this._readyState = WebSocket.CLOSED;
273
- this.emit('close', this._closeCode, this._closeMessage);
274
- }
275
-
276
- /**
277
- * Start a closing handshake.
278
- *
279
- * +----------+ +-----------+ +----------+
280
- * - - -|ws.close()|-->|close frame|-->|ws.close()|- - -
281
- * | +----------+ +-----------+ +----------+ |
282
- * +----------+ +-----------+ |
283
- * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING
284
- * +----------+ +-----------+ |
285
- * | | | +---+ |
286
- * +------------------------+-->|fin| - - - -
287
- * | +---+ | +---+
288
- * - - - - -|fin|<---------------------+
289
- * +---+
290
- *
291
- * @param {Number} [code] Status code explaining why the connection is closing
292
- * @param {(String|Buffer)} [data] The reason why the connection is
293
- * closing
294
- * @public
295
- */
296
- close(code, data) {
297
- if (this.readyState === WebSocket.CLOSED) return;
298
- if (this.readyState === WebSocket.CONNECTING) {
299
- const msg = 'WebSocket was closed before the connection was established';
300
- abortHandshake(this, this._req, msg);
301
- return;
302
- }
303
-
304
- if (this.readyState === WebSocket.CLOSING) {
305
- if (
306
- this._closeFrameSent &&
307
- (this._closeFrameReceived || this._receiver._writableState.errorEmitted)
308
- ) {
309
- this._socket.end();
310
- }
311
-
312
- return;
313
- }
314
-
315
- this._readyState = WebSocket.CLOSING;
316
- this._sender.close(code, data, !this._isServer, (err) => {
317
- //
318
- // This error is handled by the `'error'` listener on the socket. We only
319
- // want to know if the close frame has been sent here.
320
- //
321
- if (err) return;
322
-
323
- this._closeFrameSent = true;
324
-
325
- if (
326
- this._closeFrameReceived ||
327
- this._receiver._writableState.errorEmitted
328
- ) {
329
- this._socket.end();
330
- }
331
- });
332
-
333
- setCloseTimer(this);
334
- }
335
-
336
- /**
337
- * Pause the socket.
338
- *
339
- * @public
340
- */
341
- pause() {
342
- if (
343
- this.readyState === WebSocket.CONNECTING ||
344
- this.readyState === WebSocket.CLOSED
345
- ) {
346
- return;
347
- }
348
-
349
- this._paused = true;
350
- this._socket.pause();
351
- }
352
-
353
- /**
354
- * Send a ping.
355
- *
356
- * @param {*} [data] The data to send
357
- * @param {Boolean} [mask] Indicates whether or not to mask `data`
358
- * @param {Function} [cb] Callback which is executed when the ping is sent
359
- * @public
360
- */
361
- ping(data, mask, cb) {
362
- if (this.readyState === WebSocket.CONNECTING) {
363
- throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');
364
- }
365
-
366
- if (typeof data === 'function') {
367
- cb = data;
368
- data = mask = undefined;
369
- } else if (typeof mask === 'function') {
370
- cb = mask;
371
- mask = undefined;
372
- }
373
-
374
- if (typeof data === 'number') data = data.toString();
375
-
376
- if (this.readyState !== WebSocket.OPEN) {
377
- sendAfterClose(this, data, cb);
378
- return;
379
- }
380
-
381
- if (mask === undefined) mask = !this._isServer;
382
- this._sender.ping(data || EMPTY_BUFFER, mask, cb);
383
- }
384
-
385
- /**
386
- * Send a pong.
387
- *
388
- * @param {*} [data] The data to send
389
- * @param {Boolean} [mask] Indicates whether or not to mask `data`
390
- * @param {Function} [cb] Callback which is executed when the pong is sent
391
- * @public
392
- */
393
- pong(data, mask, cb) {
394
- if (this.readyState === WebSocket.CONNECTING) {
395
- throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');
396
- }
397
-
398
- if (typeof data === 'function') {
399
- cb = data;
400
- data = mask = undefined;
401
- } else if (typeof mask === 'function') {
402
- cb = mask;
403
- mask = undefined;
404
- }
405
-
406
- if (typeof data === 'number') data = data.toString();
407
-
408
- if (this.readyState !== WebSocket.OPEN) {
409
- sendAfterClose(this, data, cb);
410
- return;
411
- }
412
-
413
- if (mask === undefined) mask = !this._isServer;
414
- this._sender.pong(data || EMPTY_BUFFER, mask, cb);
415
- }
416
-
417
- /**
418
- * Resume the socket.
419
- *
420
- * @public
421
- */
422
- resume() {
423
- if (
424
- this.readyState === WebSocket.CONNECTING ||
425
- this.readyState === WebSocket.CLOSED
426
- ) {
427
- return;
428
- }
429
-
430
- this._paused = false;
431
- if (!this._receiver._writableState.needDrain) this._socket.resume();
432
- }
433
-
434
- /**
435
- * Send a data message.
436
- *
437
- * @param {*} data The message to send
438
- * @param {Object} [options] Options object
439
- * @param {Boolean} [options.binary] Specifies whether `data` is binary or
440
- * text
441
- * @param {Boolean} [options.compress] Specifies whether or not to compress
442
- * `data`
443
- * @param {Boolean} [options.fin=true] Specifies whether the fragment is the
444
- * last one
445
- * @param {Boolean} [options.mask] Specifies whether or not to mask `data`
446
- * @param {Function} [cb] Callback which is executed when data is written out
447
- * @public
448
- */
449
- send(data, options, cb) {
450
- if (this.readyState === WebSocket.CONNECTING) {
451
- throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');
452
- }
453
-
454
- if (typeof options === 'function') {
455
- cb = options;
456
- options = {};
457
- }
458
-
459
- if (typeof data === 'number') data = data.toString();
460
-
461
- if (this.readyState !== WebSocket.OPEN) {
462
- sendAfterClose(this, data, cb);
463
- return;
464
- }
465
-
466
- const opts = {
467
- binary: typeof data !== 'string',
468
- mask: !this._isServer,
469
- compress: true,
470
- fin: true,
471
- ...options
472
- };
473
-
474
- if (!this._extensions[PerMessageDeflate.extensionName]) {
475
- opts.compress = false;
476
- }
477
-
478
- this._sender.send(data || EMPTY_BUFFER, opts, cb);
479
- }
480
-
481
- /**
482
- * Forcibly close the connection.
483
- *
484
- * @public
485
- */
486
- terminate() {
487
- if (this.readyState === WebSocket.CLOSED) return;
488
- if (this.readyState === WebSocket.CONNECTING) {
489
- const msg = 'WebSocket was closed before the connection was established';
490
- abortHandshake(this, this._req, msg);
491
- return;
492
- }
493
-
494
- if (this._socket) {
495
- this._readyState = WebSocket.CLOSING;
496
- this._socket.destroy();
497
- }
498
- }
499
- }
500
-
501
- /**
502
- * @constant {Number} CONNECTING
503
- * @memberof WebSocket
504
- */
505
- Object.defineProperty(WebSocket, 'CONNECTING', {
506
- enumerable: true,
507
- value: readyStates.indexOf('CONNECTING')
508
- });
509
-
510
- /**
511
- * @constant {Number} CONNECTING
512
- * @memberof WebSocket.prototype
513
- */
514
- Object.defineProperty(WebSocket.prototype, 'CONNECTING', {
515
- enumerable: true,
516
- value: readyStates.indexOf('CONNECTING')
517
- });
518
-
519
- /**
520
- * @constant {Number} OPEN
521
- * @memberof WebSocket
522
- */
523
- Object.defineProperty(WebSocket, 'OPEN', {
524
- enumerable: true,
525
- value: readyStates.indexOf('OPEN')
526
- });
527
-
528
- /**
529
- * @constant {Number} OPEN
530
- * @memberof WebSocket.prototype
531
- */
532
- Object.defineProperty(WebSocket.prototype, 'OPEN', {
533
- enumerable: true,
534
- value: readyStates.indexOf('OPEN')
535
- });
536
-
537
- /**
538
- * @constant {Number} CLOSING
539
- * @memberof WebSocket
540
- */
541
- Object.defineProperty(WebSocket, 'CLOSING', {
542
- enumerable: true,
543
- value: readyStates.indexOf('CLOSING')
544
- });
545
-
546
- /**
547
- * @constant {Number} CLOSING
548
- * @memberof WebSocket.prototype
549
- */
550
- Object.defineProperty(WebSocket.prototype, 'CLOSING', {
551
- enumerable: true,
552
- value: readyStates.indexOf('CLOSING')
553
- });
554
-
555
- /**
556
- * @constant {Number} CLOSED
557
- * @memberof WebSocket
558
- */
559
- Object.defineProperty(WebSocket, 'CLOSED', {
560
- enumerable: true,
561
- value: readyStates.indexOf('CLOSED')
562
- });
563
-
564
- /**
565
- * @constant {Number} CLOSED
566
- * @memberof WebSocket.prototype
567
- */
568
- Object.defineProperty(WebSocket.prototype, 'CLOSED', {
569
- enumerable: true,
570
- value: readyStates.indexOf('CLOSED')
571
- });
572
-
573
- [
574
- 'binaryType',
575
- 'bufferedAmount',
576
- 'extensions',
577
- 'isPaused',
578
- 'protocol',
579
- 'readyState',
580
- 'url'
581
- ].forEach((property) => {
582
- Object.defineProperty(WebSocket.prototype, property, { enumerable: true });
583
- });
584
-
585
- //
586
- // Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes.
587
- // See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface
588
- //
589
- ['open', 'error', 'close', 'message'].forEach((method) => {
590
- Object.defineProperty(WebSocket.prototype, `on${method}`, {
591
- enumerable: true,
592
- get() {
593
- for (const listener of this.listeners(method)) {
594
- if (listener[kForOnEventAttribute]) return listener[kListener];
595
- }
596
-
597
- return null;
598
- },
599
- set(handler) {
600
- for (const listener of this.listeners(method)) {
601
- if (listener[kForOnEventAttribute]) {
602
- this.removeListener(method, listener);
603
- break;
604
- }
605
- }
606
-
607
- if (typeof handler !== 'function') return;
608
-
609
- this.addEventListener(method, handler, {
610
- [kForOnEventAttribute]: true
611
- });
612
- }
613
- });
614
- });
615
-
616
- WebSocket.prototype.addEventListener = addEventListener;
617
- WebSocket.prototype.removeEventListener = removeEventListener;
618
-
619
- module.exports = WebSocket;
620
-
621
- /**
622
- * Initialize a WebSocket client.
623
- *
624
- * @param {WebSocket} websocket The client to initialize
625
- * @param {(String|URL)} address The URL to which to connect
626
- * @param {Array} protocols The subprotocols
627
- * @param {Object} [options] Connection options
628
- * @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether any
629
- * of the `'message'`, `'ping'`, and `'pong'` events can be emitted multiple
630
- * times in the same tick
631
- * @param {Boolean} [options.autoPong=true] Specifies whether or not to
632
- * automatically send a pong in response to a ping
633
- * @param {Number} [options.closeTimeout=30000] Duration in milliseconds to wait
634
- * for the closing handshake to finish after `websocket.close()` is called
635
- * @param {Function} [options.finishRequest] A function which can be used to
636
- * customize the headers of each http request before it is sent
637
- * @param {Boolean} [options.followRedirects=false] Whether or not to follow
638
- * redirects
639
- * @param {Function} [options.generateMask] The function used to generate the
640
- * masking key
641
- * @param {Number} [options.handshakeTimeout] Timeout in milliseconds for the
642
- * handshake request
643
- * @param {Number} [options.maxPayload=104857600] The maximum allowed message
644
- * size
645
- * @param {Number} [options.maxRedirects=10] The maximum number of redirects
646
- * allowed
647
- * @param {String} [options.origin] Value of the `Origin` or
648
- * `Sec-WebSocket-Origin` header
649
- * @param {(Boolean|Object)} [options.perMessageDeflate=true] Enable/disable
650
- * permessage-deflate
651
- * @param {Number} [options.protocolVersion=13] Value of the
652
- * `Sec-WebSocket-Version` header
653
- * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
654
- * not to skip UTF-8 validation for text and close messages
655
- * @private
656
- */
657
- function initAsClient(websocket, address, protocols, options) {
658
- const opts = {
659
- allowSynchronousEvents: true,
660
- autoPong: true,
661
- closeTimeout: CLOSE_TIMEOUT,
662
- protocolVersion: protocolVersions[1],
663
- maxPayload: 100 * 1024 * 1024,
664
- skipUTF8Validation: false,
665
- perMessageDeflate: true,
666
- followRedirects: false,
667
- maxRedirects: 10,
668
- ...options,
669
- socketPath: undefined,
670
- hostname: undefined,
671
- protocol: undefined,
672
- timeout: undefined,
673
- method: 'GET',
674
- host: undefined,
675
- path: undefined,
676
- port: undefined
677
- };
678
-
679
- websocket._autoPong = opts.autoPong;
680
- websocket._closeTimeout = opts.closeTimeout;
681
-
682
- if (!protocolVersions.includes(opts.protocolVersion)) {
683
- throw new RangeError(
684
- `Unsupported protocol version: ${opts.protocolVersion} ` +
685
- `(supported versions: ${protocolVersions.join(', ')})`
686
- );
687
- }
688
-
689
- let parsedUrl;
690
-
691
- if (address instanceof URL) {
692
- parsedUrl = address;
693
- } else {
694
- try {
695
- parsedUrl = new URL(address);
696
- } catch (e) {
697
- throw new SyntaxError(`Invalid URL: ${address}`);
698
- }
699
- }
700
-
701
- if (parsedUrl.protocol === 'http:') {
702
- parsedUrl.protocol = 'ws:';
703
- } else if (parsedUrl.protocol === 'https:') {
704
- parsedUrl.protocol = 'wss:';
705
- }
706
-
707
- websocket._url = parsedUrl.href;
708
-
709
- const isSecure = parsedUrl.protocol === 'wss:';
710
- const isIpcUrl = parsedUrl.protocol === 'ws+unix:';
711
- let invalidUrlMessage;
712
-
713
- if (parsedUrl.protocol !== 'ws:' && !isSecure && !isIpcUrl) {
714
- invalidUrlMessage =
715
- 'The URL\'s protocol must be one of "ws:", "wss:", ' +
716
- '"http:", "https:", or "ws+unix:"';
717
- } else if (isIpcUrl && !parsedUrl.pathname) {
718
- invalidUrlMessage = "The URL's pathname is empty";
719
- } else if (parsedUrl.hash) {
720
- invalidUrlMessage = 'The URL contains a fragment identifier';
721
- }
722
-
723
- if (invalidUrlMessage) {
724
- const err = new SyntaxError(invalidUrlMessage);
725
-
726
- if (websocket._redirects === 0) {
727
- throw err;
728
- } else {
729
- emitErrorAndClose(websocket, err);
730
- return;
731
- }
732
- }
733
-
734
- const defaultPort = isSecure ? 443 : 80;
735
- const key = randomBytes(16).toString('base64');
736
- const request = isSecure ? https.request : http.request;
737
- const protocolSet = new Set();
738
- let perMessageDeflate;
739
-
740
- opts.createConnection =
741
- opts.createConnection || (isSecure ? tlsConnect : netConnect);
742
- opts.defaultPort = opts.defaultPort || defaultPort;
743
- opts.port = parsedUrl.port || defaultPort;
744
- opts.host = parsedUrl.hostname.startsWith('[')
745
- ? parsedUrl.hostname.slice(1, -1)
746
- : parsedUrl.hostname;
747
- opts.headers = {
748
- ...opts.headers,
749
- 'Sec-WebSocket-Version': opts.protocolVersion,
750
- 'Sec-WebSocket-Key': key,
751
- Connection: 'Upgrade',
752
- Upgrade: 'websocket'
753
- };
754
- opts.path = parsedUrl.pathname + parsedUrl.search;
755
- opts.timeout = opts.handshakeTimeout;
756
-
757
- if (opts.perMessageDeflate) {
758
- perMessageDeflate = new PerMessageDeflate(
759
- opts.perMessageDeflate !== true ? opts.perMessageDeflate : {},
760
- false,
761
- opts.maxPayload
762
- );
763
- opts.headers['Sec-WebSocket-Extensions'] = format({
764
- [PerMessageDeflate.extensionName]: perMessageDeflate.offer()
765
- });
766
- }
767
- if (protocols.length) {
768
- for (const protocol of protocols) {
769
- if (
770
- typeof protocol !== 'string' ||
771
- !subprotocolRegex.test(protocol) ||
772
- protocolSet.has(protocol)
773
- ) {
774
- throw new SyntaxError(
775
- 'An invalid or duplicated subprotocol was specified'
776
- );
777
- }
778
-
779
- protocolSet.add(protocol);
780
- }
781
-
782
- opts.headers['Sec-WebSocket-Protocol'] = protocols.join(',');
783
- }
784
- if (opts.origin) {
785
- if (opts.protocolVersion < 13) {
786
- opts.headers['Sec-WebSocket-Origin'] = opts.origin;
787
- } else {
788
- opts.headers.Origin = opts.origin;
789
- }
790
- }
791
- if (parsedUrl.username || parsedUrl.password) {
792
- opts.auth = `${parsedUrl.username}:${parsedUrl.password}`;
793
- }
794
-
795
- if (isIpcUrl) {
796
- const parts = opts.path.split(':');
797
-
798
- opts.socketPath = parts[0];
799
- opts.path = parts[1];
800
- }
801
-
802
- let req;
803
-
804
- if (opts.followRedirects) {
805
- if (websocket._redirects === 0) {
806
- websocket._originalIpc = isIpcUrl;
807
- websocket._originalSecure = isSecure;
808
- websocket._originalHostOrSocketPath = isIpcUrl
809
- ? opts.socketPath
810
- : parsedUrl.host;
811
-
812
- const headers = options && options.headers;
813
-
814
- //
815
- // Shallow copy the user provided options so that headers can be changed
816
- // without mutating the original object.
817
- //
818
- options = { ...options, headers: {} };
819
-
820
- if (headers) {
821
- for (const [key, value] of Object.entries(headers)) {
822
- options.headers[key.toLowerCase()] = value;
823
- }
824
- }
825
- } else if (websocket.listenerCount('redirect') === 0) {
826
- const isSameHost = isIpcUrl
827
- ? websocket._originalIpc
828
- ? opts.socketPath === websocket._originalHostOrSocketPath
829
- : false
830
- : websocket._originalIpc
831
- ? false
832
- : parsedUrl.host === websocket._originalHostOrSocketPath;
833
-
834
- if (!isSameHost || (websocket._originalSecure && !isSecure)) {
835
- //
836
- // Match curl 7.77.0 behavior and drop the following headers. These
837
- // headers are also dropped when following a redirect to a subdomain.
838
- //
839
- delete opts.headers.authorization;
840
- delete opts.headers.cookie;
841
-
842
- if (!isSameHost) delete opts.headers.host;
843
-
844
- opts.auth = undefined;
845
- }
846
- }
847
-
848
- //
849
- // Match curl 7.77.0 behavior and make the first `Authorization` header win.
850
- // If the `Authorization` header is set, then there is nothing to do as it
851
- // will take precedence.
852
- //
853
- if (opts.auth && !options.headers.authorization) {
854
- options.headers.authorization =
855
- 'Basic ' + Buffer.from(opts.auth).toString('base64');
856
- }
857
-
858
- req = websocket._req = request(opts);
859
-
860
- if (websocket._redirects) {
861
- //
862
- // Unlike what is done for the `'upgrade'` event, no early exit is
863
- // triggered here if the user calls `websocket.close()` or
864
- // `websocket.terminate()` from a listener of the `'redirect'` event. This
865
- // is because the user can also call `request.destroy()` with an error
866
- // before calling `websocket.close()` or `websocket.terminate()` and this
867
- // would result in an error being emitted on the `request` object with no
868
- // `'error'` event listeners attached.
869
- //
870
- websocket.emit('redirect', websocket.url, req);
871
- }
872
- } else {
873
- req = websocket._req = request(opts);
874
- }
875
-
876
- if (opts.timeout) {
877
- req.on('timeout', () => {
878
- abortHandshake(websocket, req, 'Opening handshake has timed out');
879
- });
880
- }
881
-
882
- req.on('error', (err) => {
883
- if (req === null || req[kAborted]) return;
884
-
885
- req = websocket._req = null;
886
- emitErrorAndClose(websocket, err);
887
- });
888
-
889
- req.on('response', (res) => {
890
- const location = res.headers.location;
891
- const statusCode = res.statusCode;
892
-
893
- if (
894
- location &&
895
- opts.followRedirects &&
896
- statusCode >= 300 &&
897
- statusCode < 400
898
- ) {
899
- if (++websocket._redirects > opts.maxRedirects) {
900
- abortHandshake(websocket, req, 'Maximum redirects exceeded');
901
- return;
902
- }
903
-
904
- req.abort();
905
-
906
- let addr;
907
-
908
- try {
909
- addr = new URL(location, address);
910
- } catch (e) {
911
- const err = new SyntaxError(`Invalid URL: ${location}`);
912
- emitErrorAndClose(websocket, err);
913
- return;
914
- }
915
-
916
- initAsClient(websocket, addr, protocols, options);
917
- } else if (!websocket.emit('unexpected-response', req, res)) {
918
- abortHandshake(
919
- websocket,
920
- req,
921
- `Unexpected server response: ${res.statusCode}`
922
- );
923
- }
924
- });
925
-
926
- req.on('upgrade', (res, socket, head) => {
927
- websocket.emit('upgrade', res);
928
-
929
- //
930
- // The user may have closed the connection from a listener of the
931
- // `'upgrade'` event.
932
- //
933
- if (websocket.readyState !== WebSocket.CONNECTING) return;
934
-
935
- req = websocket._req = null;
936
-
937
- const upgrade = res.headers.upgrade;
938
-
939
- if (upgrade === undefined || upgrade.toLowerCase() !== 'websocket') {
940
- abortHandshake(websocket, socket, 'Invalid Upgrade header');
941
- return;
942
- }
943
-
944
- const digest = createHash('sha1')
945
- .update(key + GUID)
946
- .digest('base64');
947
-
948
- if (res.headers['sec-websocket-accept'] !== digest) {
949
- abortHandshake(websocket, socket, 'Invalid Sec-WebSocket-Accept header');
950
- return;
951
- }
952
-
953
- const serverProt = res.headers['sec-websocket-protocol'];
954
- let protError;
955
-
956
- if (serverProt !== undefined) {
957
- if (!protocolSet.size) {
958
- protError = 'Server sent a subprotocol but none was requested';
959
- } else if (!protocolSet.has(serverProt)) {
960
- protError = 'Server sent an invalid subprotocol';
961
- }
962
- } else if (protocolSet.size) {
963
- protError = 'Server sent no subprotocol';
964
- }
965
-
966
- if (protError) {
967
- abortHandshake(websocket, socket, protError);
968
- return;
969
- }
970
-
971
- if (serverProt) websocket._protocol = serverProt;
972
-
973
- const secWebSocketExtensions = res.headers['sec-websocket-extensions'];
974
-
975
- if (secWebSocketExtensions !== undefined) {
976
- if (!perMessageDeflate) {
977
- const message =
978
- 'Server sent a Sec-WebSocket-Extensions header but no extension ' +
979
- 'was requested';
980
- abortHandshake(websocket, socket, message);
981
- return;
982
- }
983
-
984
- let extensions;
985
-
986
- try {
987
- extensions = parse(secWebSocketExtensions);
988
- } catch (err) {
989
- const message = 'Invalid Sec-WebSocket-Extensions header';
990
- abortHandshake(websocket, socket, message);
991
- return;
992
- }
993
-
994
- const extensionNames = Object.keys(extensions);
995
-
996
- if (
997
- extensionNames.length !== 1 ||
998
- extensionNames[0] !== PerMessageDeflate.extensionName
999
- ) {
1000
- const message = 'Server indicated an extension that was not requested';
1001
- abortHandshake(websocket, socket, message);
1002
- return;
1003
- }
1004
-
1005
- try {
1006
- perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);
1007
- } catch (err) {
1008
- const message = 'Invalid Sec-WebSocket-Extensions header';
1009
- abortHandshake(websocket, socket, message);
1010
- return;
1011
- }
1012
-
1013
- websocket._extensions[PerMessageDeflate.extensionName] =
1014
- perMessageDeflate;
1015
- }
1016
-
1017
- websocket.setSocket(socket, head, {
1018
- allowSynchronousEvents: opts.allowSynchronousEvents,
1019
- generateMask: opts.generateMask,
1020
- maxPayload: opts.maxPayload,
1021
- skipUTF8Validation: opts.skipUTF8Validation
1022
- });
1023
- });
1024
-
1025
- if (opts.finishRequest) {
1026
- opts.finishRequest(req, websocket);
1027
- } else {
1028
- req.end();
1029
- }
1030
- }
1031
-
1032
- /**
1033
- * Emit the `'error'` and `'close'` events.
1034
- *
1035
- * @param {WebSocket} websocket The WebSocket instance
1036
- * @param {Error} The error to emit
1037
- * @private
1038
- */
1039
- function emitErrorAndClose(websocket, err) {
1040
- websocket._readyState = WebSocket.CLOSING;
1041
- //
1042
- // The following assignment is practically useless and is done only for
1043
- // consistency.
1044
- //
1045
- websocket._errorEmitted = true;
1046
- websocket.emit('error', err);
1047
- websocket.emitClose();
1048
- }
1049
-
1050
- /**
1051
- * Create a `net.Socket` and initiate a connection.
1052
- *
1053
- * @param {Object} options Connection options
1054
- * @return {net.Socket} The newly created socket used to start the connection
1055
- * @private
1056
- */
1057
- function netConnect(options) {
1058
- options.path = options.socketPath;
1059
- return net.connect(options);
1060
- }
1061
-
1062
- /**
1063
- * Create a `tls.TLSSocket` and initiate a connection.
1064
- *
1065
- * @param {Object} options Connection options
1066
- * @return {tls.TLSSocket} The newly created socket used to start the connection
1067
- * @private
1068
- */
1069
- function tlsConnect(options) {
1070
- options.path = undefined;
1071
-
1072
- if (!options.servername && options.servername !== '') {
1073
- options.servername = net.isIP(options.host) ? '' : options.host;
1074
- }
1075
-
1076
- return tls.connect(options);
1077
- }
1078
-
1079
- /**
1080
- * Abort the handshake and emit an error.
1081
- *
1082
- * @param {WebSocket} websocket The WebSocket instance
1083
- * @param {(http.ClientRequest|net.Socket|tls.Socket)} stream The request to
1084
- * abort or the socket to destroy
1085
- * @param {String} message The error message
1086
- * @private
1087
- */
1088
- function abortHandshake(websocket, stream, message) {
1089
- websocket._readyState = WebSocket.CLOSING;
1090
-
1091
- const err = new Error(message);
1092
- Error.captureStackTrace(err, abortHandshake);
1093
-
1094
- if (stream.setHeader) {
1095
- stream[kAborted] = true;
1096
- stream.abort();
1097
-
1098
- if (stream.socket && !stream.socket.destroyed) {
1099
- //
1100
- // On Node.js >= 14.3.0 `request.abort()` does not destroy the socket if
1101
- // called after the request completed. See
1102
- // https://github.com/websockets/ws/issues/1869.
1103
- //
1104
- stream.socket.destroy();
1105
- }
1106
-
1107
- process.nextTick(emitErrorAndClose, websocket, err);
1108
- } else {
1109
- stream.destroy(err);
1110
- stream.once('error', websocket.emit.bind(websocket, 'error'));
1111
- stream.once('close', websocket.emitClose.bind(websocket));
1112
- }
1113
- }
1114
-
1115
- /**
1116
- * Handle cases where the `ping()`, `pong()`, or `send()` methods are called
1117
- * when the `readyState` attribute is `CLOSING` or `CLOSED`.
1118
- *
1119
- * @param {WebSocket} websocket The WebSocket instance
1120
- * @param {*} [data] The data to send
1121
- * @param {Function} [cb] Callback
1122
- * @private
1123
- */
1124
- function sendAfterClose(websocket, data, cb) {
1125
- if (data) {
1126
- const length = isBlob(data) ? data.size : toBuffer(data).length;
1127
-
1128
- //
1129
- // The `_bufferedAmount` property is used only when the peer is a client and
1130
- // the opening handshake fails. Under these circumstances, in fact, the
1131
- // `setSocket()` method is not called, so the `_socket` and `_sender`
1132
- // properties are set to `null`.
1133
- //
1134
- if (websocket._socket) websocket._sender._bufferedBytes += length;
1135
- else websocket._bufferedAmount += length;
1136
- }
1137
-
1138
- if (cb) {
1139
- const err = new Error(
1140
- `WebSocket is not open: readyState ${websocket.readyState} ` +
1141
- `(${readyStates[websocket.readyState]})`
1142
- );
1143
- process.nextTick(cb, err);
1144
- }
1145
- }
1146
-
1147
- /**
1148
- * The listener of the `Receiver` `'conclude'` event.
1149
- *
1150
- * @param {Number} code The status code
1151
- * @param {Buffer} reason The reason for closing
1152
- * @private
1153
- */
1154
- function receiverOnConclude(code, reason) {
1155
- const websocket = this[kWebSocket];
1156
-
1157
- websocket._closeFrameReceived = true;
1158
- websocket._closeMessage = reason;
1159
- websocket._closeCode = code;
1160
-
1161
- if (websocket._socket[kWebSocket] === undefined) return;
1162
-
1163
- websocket._socket.removeListener('data', socketOnData);
1164
- process.nextTick(resume, websocket._socket);
1165
-
1166
- if (code === 1005) websocket.close();
1167
- else websocket.close(code, reason);
1168
- }
1169
-
1170
- /**
1171
- * The listener of the `Receiver` `'drain'` event.
1172
- *
1173
- * @private
1174
- */
1175
- function receiverOnDrain() {
1176
- const websocket = this[kWebSocket];
1177
-
1178
- if (!websocket.isPaused) websocket._socket.resume();
1179
- }
1180
-
1181
- /**
1182
- * The listener of the `Receiver` `'error'` event.
1183
- *
1184
- * @param {(RangeError|Error)} err The emitted error
1185
- * @private
1186
- */
1187
- function receiverOnError(err) {
1188
- const websocket = this[kWebSocket];
1189
-
1190
- if (websocket._socket[kWebSocket] !== undefined) {
1191
- websocket._socket.removeListener('data', socketOnData);
1192
-
1193
- //
1194
- // On Node.js < 14.0.0 the `'error'` event is emitted synchronously. See
1195
- // https://github.com/websockets/ws/issues/1940.
1196
- //
1197
- process.nextTick(resume, websocket._socket);
1198
-
1199
- websocket.close(err[kStatusCode]);
1200
- }
1201
-
1202
- if (!websocket._errorEmitted) {
1203
- websocket._errorEmitted = true;
1204
- websocket.emit('error', err);
1205
- }
1206
- }
1207
-
1208
- /**
1209
- * The listener of the `Receiver` `'finish'` event.
1210
- *
1211
- * @private
1212
- */
1213
- function receiverOnFinish() {
1214
- this[kWebSocket].emitClose();
1215
- }
1216
-
1217
- /**
1218
- * The listener of the `Receiver` `'message'` event.
1219
- *
1220
- * @param {Buffer|ArrayBuffer|Buffer[])} data The message
1221
- * @param {Boolean} isBinary Specifies whether the message is binary or not
1222
- * @private
1223
- */
1224
- function receiverOnMessage(data, isBinary) {
1225
- this[kWebSocket].emit('message', data, isBinary);
1226
- }
1227
-
1228
- /**
1229
- * The listener of the `Receiver` `'ping'` event.
1230
- *
1231
- * @param {Buffer} data The data included in the ping frame
1232
- * @private
1233
- */
1234
- function receiverOnPing(data) {
1235
- const websocket = this[kWebSocket];
1236
-
1237
- if (websocket._autoPong) websocket.pong(data, !this._isServer, NOOP);
1238
- websocket.emit('ping', data);
1239
- }
1240
-
1241
- /**
1242
- * The listener of the `Receiver` `'pong'` event.
1243
- *
1244
- * @param {Buffer} data The data included in the pong frame
1245
- * @private
1246
- */
1247
- function receiverOnPong(data) {
1248
- this[kWebSocket].emit('pong', data);
1249
- }
1250
-
1251
- /**
1252
- * Resume a readable stream
1253
- *
1254
- * @param {Readable} stream The readable stream
1255
- * @private
1256
- */
1257
- function resume(stream) {
1258
- stream.resume();
1259
- }
1260
-
1261
- /**
1262
- * The `Sender` error event handler.
1263
- *
1264
- * @param {Error} The error
1265
- * @private
1266
- */
1267
- function senderOnError(err) {
1268
- const websocket = this[kWebSocket];
1269
-
1270
- if (websocket.readyState === WebSocket.CLOSED) return;
1271
- if (websocket.readyState === WebSocket.OPEN) {
1272
- websocket._readyState = WebSocket.CLOSING;
1273
- setCloseTimer(websocket);
1274
- }
1275
-
1276
- //
1277
- // `socket.end()` is used instead of `socket.destroy()` to allow the other
1278
- // peer to finish sending queued data. There is no need to set a timer here
1279
- // because `CLOSING` means that it is already set or not needed.
1280
- //
1281
- this._socket.end();
1282
-
1283
- if (!websocket._errorEmitted) {
1284
- websocket._errorEmitted = true;
1285
- websocket.emit('error', err);
1286
- }
1287
- }
1288
-
1289
- /**
1290
- * Set a timer to destroy the underlying raw socket of a WebSocket.
1291
- *
1292
- * @param {WebSocket} websocket The WebSocket instance
1293
- * @private
1294
- */
1295
- function setCloseTimer(websocket) {
1296
- websocket._closeTimer = setTimeout(
1297
- websocket._socket.destroy.bind(websocket._socket),
1298
- websocket._closeTimeout
1299
- );
1300
- }
1301
-
1302
- /**
1303
- * The listener of the socket `'close'` event.
1304
- *
1305
- * @private
1306
- */
1307
- function socketOnClose() {
1308
- const websocket = this[kWebSocket];
1309
-
1310
- this.removeListener('close', socketOnClose);
1311
- this.removeListener('data', socketOnData);
1312
- this.removeListener('end', socketOnEnd);
1313
-
1314
- websocket._readyState = WebSocket.CLOSING;
1315
-
1316
- //
1317
- // The close frame might not have been received or the `'end'` event emitted,
1318
- // for example, if the socket was destroyed due to an error. Ensure that the
1319
- // `receiver` stream is closed after writing any remaining buffered data to
1320
- // it. If the readable side of the socket is in flowing mode then there is no
1321
- // buffered data as everything has been already written. If instead, the
1322
- // socket is paused, any possible buffered data will be read as a single
1323
- // chunk.
1324
- //
1325
- if (
1326
- !this._readableState.endEmitted &&
1327
- !websocket._closeFrameReceived &&
1328
- !websocket._receiver._writableState.errorEmitted &&
1329
- this._readableState.length !== 0
1330
- ) {
1331
- const chunk = this.read(this._readableState.length);
1332
-
1333
- websocket._receiver.write(chunk);
1334
- }
1335
-
1336
- websocket._receiver.end();
1337
-
1338
- this[kWebSocket] = undefined;
1339
-
1340
- clearTimeout(websocket._closeTimer);
1341
-
1342
- if (
1343
- websocket._receiver._writableState.finished ||
1344
- websocket._receiver._writableState.errorEmitted
1345
- ) {
1346
- websocket.emitClose();
1347
- } else {
1348
- websocket._receiver.on('error', receiverOnFinish);
1349
- websocket._receiver.on('finish', receiverOnFinish);
1350
- }
1351
- }
1352
-
1353
- /**
1354
- * The listener of the socket `'data'` event.
1355
- *
1356
- * @param {Buffer} chunk A chunk of data
1357
- * @private
1358
- */
1359
- function socketOnData(chunk) {
1360
- if (!this[kWebSocket]._receiver.write(chunk)) {
1361
- this.pause();
1362
- }
1363
- }
1364
-
1365
- /**
1366
- * The listener of the socket `'end'` event.
1367
- *
1368
- * @private
1369
- */
1370
- function socketOnEnd() {
1371
- const websocket = this[kWebSocket];
1372
-
1373
- websocket._readyState = WebSocket.CLOSING;
1374
- websocket._receiver.end();
1375
- this.end();
1376
- }
1377
-
1378
- /**
1379
- * The listener of the socket `'error'` event.
1380
- *
1381
- * @private
1382
- */
1383
- function socketOnError() {
1384
- const websocket = this[kWebSocket];
1385
-
1386
- this.removeListener('error', socketOnError);
1387
- this.on('error', NOOP);
1388
-
1389
- if (websocket) {
1390
- websocket._readyState = WebSocket.CLOSING;
1391
- this.destroy();
1392
- }
1393
- }