@automattic/vip 4.1.5 → 4.1.6

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 (1545) hide show
  1. package/assets/dev-env.lando.template.yml.ejs +6 -2
  2. package/config/config.local.json +6 -0
  3. package/dist/bin/vip-config-software-get.js +9 -0
  4. package/dist/bin/vip-wp.js +128 -39
  5. package/dist/lib/client-file-uploader.js +34 -5
  6. package/dist/lib/config/software.js +42 -2
  7. package/dist/lib/dev-environment/dev-environment-core.js +1 -1
  8. package/helpers/generate-docs.js +9 -3
  9. package/node_modules/@apollo/client/CHANGELOG.md +32 -0
  10. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs +1 -1
  11. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs.map +1 -1
  12. package/node_modules/@apollo/client/__cjs/cache/core/cache.d.cts +4 -1
  13. package/node_modules/@apollo/client/__cjs/cache/core/types/Cache.d.cts +5 -0
  14. package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs +4 -4
  15. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +15 -5
  16. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  17. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.d.cts +3 -1
  18. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  19. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +5 -5
  20. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs +28 -10
  21. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  22. package/node_modules/@apollo/client/__cjs/cache/inmemory/types.d.cts +7 -2
  23. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +29 -14
  24. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  25. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.d.cts +5 -2
  26. package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs +14 -14
  27. package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs +8 -8
  28. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +13 -32
  29. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  30. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +12 -12
  31. package/node_modules/@apollo/client/__cjs/core/RefetchEventManager.cjs +3 -3
  32. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs +15 -2
  33. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  34. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.d.cts +5 -1
  35. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs +58 -14
  36. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
  37. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.d.cts +23 -12
  38. package/node_modules/@apollo/client/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  39. package/node_modules/@apollo/client/__cjs/incremental/types.d.cts +19 -1
  40. package/node_modules/@apollo/client/__cjs/invariantErrorCodes.cjs +64 -58
  41. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  42. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  43. package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs.map +1 -1
  44. package/node_modules/@apollo/client/__cjs/utilities/internal/index.d.cts +0 -1
  45. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs +24 -26
  46. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -1
  47. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.d.cts +1 -1
  48. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs +24 -20
  49. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs.map +1 -1
  50. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.d.cts +1 -1
  51. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  52. package/node_modules/@apollo/client/cache/core/cache.d.ts +4 -1
  53. package/node_modules/@apollo/client/cache/core/cache.js +1 -1
  54. package/node_modules/@apollo/client/cache/core/cache.js.map +1 -1
  55. package/node_modules/@apollo/client/cache/core/types/Cache.d.ts +5 -0
  56. package/node_modules/@apollo/client/cache/core/types/Cache.js.map +1 -1
  57. package/node_modules/@apollo/client/cache/inmemory/entityStore.js +4 -4
  58. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.d.ts +3 -1
  59. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +15 -5
  60. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  61. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +1 -1
  62. package/node_modules/@apollo/client/cache/inmemory/policies.js +5 -5
  63. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js +28 -10
  64. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js.map +1 -1
  65. package/node_modules/@apollo/client/cache/inmemory/types.d.ts +7 -2
  66. package/node_modules/@apollo/client/cache/inmemory/types.js.map +1 -1
  67. package/node_modules/@apollo/client/cache/inmemory/writeToStore.d.ts +5 -2
  68. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +30 -15
  69. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  70. package/node_modules/@apollo/client/core/ApolloClient.js +14 -14
  71. package/node_modules/@apollo/client/core/ObservableQuery.js +8 -8
  72. package/node_modules/@apollo/client/core/QueryInfo.js +14 -33
  73. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  74. package/node_modules/@apollo/client/core/QueryManager.js +12 -12
  75. package/node_modules/@apollo/client/core/RefetchEventManager.js +3 -3
  76. package/node_modules/@apollo/client/incremental/handlers/defer20220824.d.ts +5 -1
  77. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js +15 -2
  78. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js.map +1 -1
  79. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.d.ts +23 -12
  80. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js +58 -14
  81. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js.map +1 -1
  82. package/node_modules/@apollo/client/incremental/handlers/notImplemented.js +1 -1
  83. package/node_modules/@apollo/client/incremental/types.d.ts +19 -1
  84. package/node_modules/@apollo/client/incremental/types.js.map +1 -1
  85. package/node_modules/@apollo/client/invariantErrorCodes.js +64 -58
  86. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js +1 -1
  87. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js.map +1 -1
  88. package/node_modules/@apollo/client/package.json +1 -1
  89. package/node_modules/@apollo/client/utilities/internal/index.d.ts +0 -1
  90. package/node_modules/@apollo/client/utilities/internal/index.js.map +1 -1
  91. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.d.ts +1 -1
  92. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js +23 -25
  93. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js.map +1 -1
  94. package/node_modules/@apollo/client/utilities/internal/isStreamField.d.ts +1 -1
  95. package/node_modules/@apollo/client/utilities/internal/isStreamField.js +23 -19
  96. package/node_modules/@apollo/client/utilities/internal/isStreamField.js.map +1 -1
  97. package/node_modules/@apollo/client/version.js +1 -1
  98. package/node_modules/@types/node/README.md +1 -1
  99. package/node_modules/@types/node/crypto.d.ts +2 -2
  100. package/node_modules/@types/node/dgram.d.ts +1 -1
  101. package/node_modules/@types/node/package.json +2 -2
  102. package/node_modules/@types/node/util.d.ts +6 -3
  103. package/node_modules/@types/node/zlib.d.ts +6 -0
  104. package/node_modules/axios/CHANGELOG.md +62 -0
  105. package/node_modules/axios/README.md +297 -5
  106. package/node_modules/axios/dist/axios.js +728 -170
  107. package/node_modules/axios/dist/axios.min.js +3 -3
  108. package/node_modules/axios/dist/axios.min.js.map +1 -1
  109. package/node_modules/axios/dist/browser/axios.cjs +871 -188
  110. package/node_modules/axios/dist/esm/axios.js +871 -188
  111. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  112. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  113. package/node_modules/axios/dist/node/axios.cjs +1037 -225
  114. package/node_modules/axios/index.d.cts +102 -74
  115. package/node_modules/axios/index.d.ts +100 -68
  116. package/node_modules/axios/lib/adapters/fetch.js +64 -11
  117. package/node_modules/axios/lib/adapters/http.js +140 -67
  118. package/node_modules/axios/lib/adapters/xhr.js +52 -3
  119. package/node_modules/axios/lib/core/Axios.js +43 -20
  120. package/node_modules/axios/lib/core/AxiosError.js +33 -2
  121. package/node_modules/axios/lib/core/AxiosHeaders.js +124 -1
  122. package/node_modules/axios/lib/core/InterceptorManager.js +107 -8
  123. package/node_modules/axios/lib/core/buildFullPath.js +41 -15
  124. package/node_modules/axios/lib/core/dispatchRequest.js +8 -2
  125. package/node_modules/axios/lib/core/mergeConfig.js +19 -4
  126. package/node_modules/axios/lib/core/methodList.js +17 -0
  127. package/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  128. package/node_modules/axios/lib/defaults/index.js +2 -1
  129. package/node_modules/axios/lib/env/data.js +1 -1
  130. package/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
  131. package/node_modules/axios/lib/helpers/HttpStatusCode.js +12 -1
  132. package/node_modules/axios/lib/helpers/combineURLs.js +11 -3
  133. package/node_modules/axios/lib/helpers/composeSignals.js +12 -1
  134. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +115 -54
  135. package/node_modules/axios/lib/helpers/formDataToJSON.js +11 -5
  136. package/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
  137. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  138. package/node_modules/axios/lib/helpers/parseHeaders.js +5 -3
  139. package/node_modules/axios/lib/helpers/progressEventReducer.js +4 -4
  140. package/node_modules/axios/lib/helpers/resolveConfig.js +5 -17
  141. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +300 -5
  142. package/node_modules/axios/lib/helpers/throttle.js +3 -2
  143. package/node_modules/axios/lib/helpers/toFormData.js +17 -23
  144. package/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  145. package/node_modules/axios/lib/utils.js +151 -18
  146. package/node_modules/axios/package.json +21 -19
  147. package/node_modules/chalk/package.json +1 -1
  148. package/node_modules/chalk/source/index.js +2 -1
  149. package/node_modules/cpu-features/build/config.gypi +2 -2
  150. package/node_modules/ejs/README.md +64 -28
  151. package/node_modules/ejs/bin/cli.js +220 -158
  152. package/node_modules/ejs/ejs.js +64 -94
  153. package/node_modules/ejs/ejs.min.js +1 -1
  154. package/node_modules/ejs/jakefile.js +44 -0
  155. package/node_modules/ejs/lib/cjs/ejs.js +64 -63
  156. package/node_modules/ejs/lib/cjs/parseargs.js +129 -77
  157. package/node_modules/ejs/lib/cjs/utils.js +0 -31
  158. package/node_modules/ejs/lib/esm/ejs.js +66 -65
  159. package/node_modules/ejs/lib/esm/parseargs.js +136 -82
  160. package/node_modules/ejs/lib/esm/utils.js +0 -32
  161. package/node_modules/ejs/package.json +3 -2
  162. package/node_modules/ejs/usage.txt +9 -9
  163. package/node_modules/follow-redirects/index.js +10 -1
  164. package/node_modules/follow-redirects/package.json +1 -1
  165. package/node_modules/graphql-ws/dist/client.cjs +28 -13
  166. package/node_modules/graphql-ws/dist/client.js +28 -13
  167. package/node_modules/graphql-ws/dist/index.cjs +1 -1
  168. package/node_modules/graphql-ws/dist/index.d.cts +1 -1
  169. package/node_modules/graphql-ws/dist/index.d.ts +1 -1
  170. package/node_modules/graphql-ws/dist/index.js +1 -1
  171. package/node_modules/graphql-ws/dist/{server-B8ZBs9OC.d.ts → server-BzBeHlSW.d.ts} +26 -1
  172. package/node_modules/graphql-ws/dist/{server-DN5-9C2B.cjs → server-Ce-Z86Ys.cjs} +10 -4
  173. package/node_modules/graphql-ws/dist/{server-ChpuX357.d.cts → server-u6zrlwzL.d.cts} +26 -1
  174. package/node_modules/graphql-ws/dist/{server-DHPI7HHW.js → server-zBhvXJ_Z.js} +10 -4
  175. package/node_modules/graphql-ws/dist/use/@fastify/websocket.cjs +2 -2
  176. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.cts +8 -2
  177. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.ts +8 -2
  178. package/node_modules/graphql-ws/dist/use/@fastify/websocket.js +2 -2
  179. package/node_modules/graphql-ws/dist/use/bun.cjs +1 -1
  180. package/node_modules/graphql-ws/dist/use/bun.d.cts +2 -2
  181. package/node_modules/graphql-ws/dist/use/bun.d.ts +2 -2
  182. package/node_modules/graphql-ws/dist/use/bun.js +2 -2
  183. package/node_modules/graphql-ws/dist/use/crossws.cjs +16 -4
  184. package/node_modules/graphql-ws/dist/use/crossws.d.cts +6 -1
  185. package/node_modules/graphql-ws/dist/use/crossws.d.ts +6 -1
  186. package/node_modules/graphql-ws/dist/use/crossws.js +16 -4
  187. package/node_modules/graphql-ws/dist/use/deno.d.ts +1 -1
  188. package/node_modules/graphql-ws/dist/use/deno.js +1 -1
  189. package/node_modules/graphql-ws/dist/use/uWebSockets.cjs +2 -2
  190. package/node_modules/graphql-ws/dist/use/uWebSockets.d.cts +8 -2
  191. package/node_modules/graphql-ws/dist/use/uWebSockets.d.ts +8 -2
  192. package/node_modules/graphql-ws/dist/use/uWebSockets.js +2 -2
  193. package/node_modules/graphql-ws/dist/use/ws.cjs +2 -2
  194. package/node_modules/graphql-ws/dist/use/ws.d.cts +8 -2
  195. package/node_modules/graphql-ws/dist/use/ws.d.ts +8 -2
  196. package/node_modules/graphql-ws/dist/use/ws.js +2 -2
  197. package/node_modules/graphql-ws/package.json +3 -3
  198. package/node_modules/graphql-ws/umd/graphql-ws.js +28 -13
  199. package/node_modules/graphql-ws/umd/graphql-ws.min.js +1 -1
  200. package/node_modules/graphql-ws/umd/graphql-ws.min.js.gz +0 -0
  201. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs +522 -495
  202. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs.map +1 -1
  203. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js +24 -24
  204. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js.map +1 -1
  205. package/node_modules/js-yaml/dist/js-yaml.cjs.js +135 -78
  206. package/node_modules/js-yaml/dist/js-yaml.cjs.js.map +1 -1
  207. package/node_modules/js-yaml/dist/js-yaml.mjs +129 -72
  208. package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
  209. package/node_modules/js-yaml/node_modules/argparse/LICENSE +47 -0
  210. package/node_modules/js-yaml/node_modules/argparse/README.md +89 -0
  211. package/node_modules/js-yaml/node_modules/argparse/lib/_colorize.js +72 -0
  212. package/node_modules/js-yaml/node_modules/argparse/lib/argparse.d.ts +292 -0
  213. package/node_modules/{argparse → js-yaml/node_modules/argparse/lib}/argparse.js +1142 -1029
  214. package/node_modules/js-yaml/node_modules/argparse/lib/difflib.js +190 -0
  215. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/sub.js +4 -4
  216. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/textwrap.js +28 -28
  217. package/node_modules/js-yaml/node_modules/argparse/package.json +38 -0
  218. package/node_modules/js-yaml/package.json +12 -12
  219. package/node_modules/lando/.github/dependabot.yml +4 -0
  220. package/node_modules/lando/.github/workflows/build-util-images.yml +1 -1
  221. package/node_modules/lando/.github/workflows/pr-core-tests.yml +4 -2
  222. package/node_modules/lando/.github/workflows/pr-db-tools-tests.yml +4 -2
  223. package/node_modules/lando/.github/workflows/pr-django-tests.yml +4 -2
  224. package/node_modules/lando/.github/workflows/pr-linter.yml +2 -2
  225. package/node_modules/lando/.github/workflows/pr-unit-tests.yml +2 -2
  226. package/node_modules/lando/.node-version +1 -1
  227. package/node_modules/lando/bin/lando.js +3 -83
  228. package/node_modules/lando/config.yml +0 -1
  229. package/node_modules/lando/eslint.config.mjs +4 -0
  230. package/node_modules/lando/examples/django/.lando.yml +1 -1
  231. package/node_modules/lando/examples/django/README.md +1 -1
  232. package/node_modules/lando/examples/django/requirements.txt +1 -1
  233. package/node_modules/lando/examples/sql-export/README.md +5 -0
  234. package/node_modules/lando/lib/app.js +78 -84
  235. package/node_modules/lando/lib/art.js +86 -30
  236. package/node_modules/lando/lib/bootstrap.js +148 -45
  237. package/node_modules/lando/lib/cache.js +14 -15
  238. package/node_modules/lando/lib/cli.js +67 -63
  239. package/node_modules/lando/lib/compose.js +76 -45
  240. package/node_modules/lando/lib/config.js +51 -33
  241. package/node_modules/lando/lib/daemon.js +27 -10
  242. package/node_modules/lando/lib/docker.js +46 -19
  243. package/node_modules/lando/lib/engine.js +131 -144
  244. package/node_modules/lando/lib/env.js +25 -46
  245. package/node_modules/lando/lib/error.js +15 -6
  246. package/node_modules/lando/lib/esm/package.json +3 -0
  247. package/node_modules/lando/lib/esm/string-argv.js +2 -0
  248. package/node_modules/lando/lib/esm/yargs.js +2 -0
  249. package/node_modules/lando/lib/events.js +15 -15
  250. package/node_modules/lando/lib/factory.js +43 -14
  251. package/node_modules/lando/lib/formatters.js +19 -31
  252. package/node_modules/lando/lib/lando.js +59 -48
  253. package/node_modules/lando/lib/logger.js +12 -24
  254. package/node_modules/lando/lib/plugins.js +27 -15
  255. package/node_modules/lando/lib/promise.js +17 -17
  256. package/node_modules/lando/lib/router.js +75 -21
  257. package/node_modules/lando/lib/scan.js +29 -12
  258. package/node_modules/lando/lib/shell.js +44 -20
  259. package/node_modules/lando/lib/user.js +14 -20
  260. package/node_modules/lando/lib/utils.js +87 -44
  261. package/node_modules/lando/lib/yaml.js +11 -9
  262. package/node_modules/lando/node_modules/ansi-regex/index.d.ts +33 -0
  263. package/node_modules/lando/node_modules/ansi-regex/index.js +15 -0
  264. package/node_modules/lando/node_modules/ansi-regex/package.json +61 -0
  265. package/node_modules/lando/node_modules/ansi-regex/readme.md +66 -0
  266. package/node_modules/lando/node_modules/cliui/README.md +26 -6
  267. package/node_modules/lando/node_modules/cliui/build/lib/index.js +2 -2
  268. package/node_modules/lando/node_modules/cliui/build/tsconfig.tsbuildinfo +1 -0
  269. package/node_modules/lando/node_modules/cliui/index.mjs +7 -5
  270. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.d.ts +39 -0
  271. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.js +82 -0
  272. package/node_modules/lando/node_modules/cliui/node_modules/string-width/license +9 -0
  273. package/node_modules/lando/node_modules/cliui/node_modules/string-width/package.json +64 -0
  274. package/node_modules/lando/node_modules/cliui/node_modules/string-width/readme.md +66 -0
  275. package/node_modules/lando/node_modules/cliui/package.json +21 -32
  276. package/node_modules/lando/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  277. package/node_modules/lando/node_modules/emoji-regex/README.md +107 -0
  278. package/node_modules/lando/node_modules/emoji-regex/index.d.ts +3 -0
  279. package/node_modules/lando/node_modules/emoji-regex/index.js +4 -0
  280. package/node_modules/lando/node_modules/emoji-regex/index.mjs +4 -0
  281. package/node_modules/lando/node_modules/emoji-regex/package.json +45 -0
  282. package/node_modules/lando/node_modules/string-width/index.d.ts +39 -0
  283. package/node_modules/lando/node_modules/string-width/index.js +203 -0
  284. package/node_modules/lando/node_modules/string-width/license +9 -0
  285. package/node_modules/lando/node_modules/string-width/package.json +65 -0
  286. package/node_modules/lando/node_modules/string-width/readme.md +66 -0
  287. package/node_modules/lando/node_modules/strip-ansi/index.d.ts +15 -0
  288. package/node_modules/lando/node_modules/strip-ansi/index.js +19 -0
  289. package/node_modules/lando/node_modules/strip-ansi/license +9 -0
  290. package/node_modules/lando/node_modules/strip-ansi/package.json +59 -0
  291. package/node_modules/lando/node_modules/strip-ansi/readme.md +37 -0
  292. package/node_modules/lando/node_modules/yargs/README.md +16 -36
  293. package/node_modules/lando/node_modules/yargs/browser.d.ts +5 -0
  294. package/node_modules/lando/node_modules/yargs/browser.mjs +2 -2
  295. package/node_modules/lando/node_modules/yargs/build/lib/command.js +308 -211
  296. package/node_modules/lando/node_modules/yargs/build/lib/completion-templates.js +28 -9
  297. package/node_modules/lando/node_modules/yargs/build/lib/completion.js +233 -91
  298. package/node_modules/lando/node_modules/yargs/build/lib/middleware.js +51 -16
  299. package/node_modules/lando/node_modules/yargs/build/lib/usage.js +88 -52
  300. package/node_modules/lando/node_modules/yargs/build/lib/utils/apply-extends.js +4 -2
  301. package/node_modules/lando/node_modules/yargs/build/lib/utils/levenshtein.js +9 -1
  302. package/node_modules/lando/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  303. package/node_modules/lando/node_modules/yargs/build/lib/validation.js +51 -54
  304. package/node_modules/lando/node_modules/yargs/build/lib/yargs-factory.js +1261 -887
  305. package/node_modules/lando/node_modules/yargs/build/lib/yerror.js +3 -1
  306. package/node_modules/lando/node_modules/yargs/index.mjs +4 -2
  307. package/node_modules/lando/node_modules/yargs/lib/platform-shims/browser.mjs +9 -2
  308. package/node_modules/lando/node_modules/yargs/lib/platform-shims/esm.mjs +22 -22
  309. package/node_modules/lando/node_modules/yargs/locales/cs.json +51 -0
  310. package/node_modules/lando/node_modules/yargs/locales/de.json +1 -1
  311. package/node_modules/lando/node_modules/yargs/locales/en.json +4 -0
  312. package/node_modules/lando/node_modules/yargs/locales/fi.json +1 -1
  313. package/node_modules/lando/node_modules/yargs/locales/he.json +55 -0
  314. package/node_modules/lando/node_modules/yargs/locales/ka.json +55 -0
  315. package/node_modules/lando/node_modules/yargs/locales/ko.json +25 -25
  316. package/node_modules/lando/node_modules/yargs/locales/ru.json +6 -1
  317. package/node_modules/lando/node_modules/yargs/locales/uk_UA.json +51 -0
  318. package/node_modules/lando/node_modules/yargs/locales/uz.json +52 -0
  319. package/node_modules/lando/node_modules/yargs/locales/zh_TW.json +50 -46
  320. package/node_modules/lando/node_modules/yargs/package.json +41 -60
  321. package/node_modules/lando/node_modules/yargs-parser/build/lib/index.js +13 -8
  322. package/node_modules/lando/node_modules/yargs-parser/build/lib/yargs-parser.js +21 -12
  323. package/node_modules/lando/node_modules/yargs-parser/package.json +31 -40
  324. package/node_modules/lando/package.json +59 -22
  325. package/node_modules/lando/plugins/lando-compose/index.js +4 -0
  326. package/node_modules/lando/plugins/lando-compose/lib/utils.js +16 -7
  327. package/node_modules/lando/plugins/lando-core/index.js +1 -2
  328. package/node_modules/lando/plugins/lando-core/lib/utils.js +35 -15
  329. package/node_modules/lando/plugins/lando-core/lib/warnings.js +27 -0
  330. package/node_modules/lando/plugins/lando-core/tasks/destroy.js +1 -1
  331. package/node_modules/lando/plugins/lando-core/tasks/rebuild.js +1 -1
  332. package/node_modules/lando/plugins/lando-events/index.js +4 -0
  333. package/node_modules/lando/plugins/lando-events/lib/utils.js +27 -6
  334. package/node_modules/lando/plugins/lando-networking/app.js +2 -2
  335. package/node_modules/lando/plugins/lando-networking/index.js +9 -2
  336. package/node_modules/lando/plugins/lando-networking/test/app.spec.js +87 -0
  337. package/node_modules/lando/plugins/lando-proxy/index.js +6 -1
  338. package/node_modules/lando/plugins/lando-proxy/lib/utils.js +63 -28
  339. package/node_modules/lando/plugins/lando-proxy/lib/warnings.js +10 -0
  340. package/node_modules/lando/plugins/lando-recipes/index.js +4 -0
  341. package/node_modules/lando/plugins/lando-recipes/lib/build.js +22 -4
  342. package/node_modules/lando/plugins/lando-recipes/lib/options.js +42 -66
  343. package/node_modules/lando/plugins/lando-recipes/lib/utils.js +30 -13
  344. package/node_modules/lando/plugins/lando-recipes/lib/warnings.js +5 -0
  345. package/node_modules/lando/plugins/lando-recipes/sources/remote.js +0 -26
  346. package/node_modules/lando/plugins/lando-recipes/tasks/init.js +1 -1
  347. package/node_modules/lando/plugins/lando-services/index.js +4 -0
  348. package/node_modules/lando/plugins/lando-services/lib/utils.js +38 -15
  349. package/node_modules/lando/plugins/lando-sharing/index.js +4 -0
  350. package/node_modules/lando/plugins/lando-sharing/lib/utils.js +28 -5
  351. package/node_modules/lando/plugins/lando-tooling/index.js +5 -0
  352. package/node_modules/lando/plugins/lando-tooling/lib/build.js +5 -2
  353. package/node_modules/lando/plugins/lando-tooling/lib/utils.js +83 -47
  354. package/node_modules/lando/test/cli.spec.js +59 -21
  355. package/node_modules/lando/test/docker.spec.js +24 -28
  356. package/node_modules/lando/test/env.spec.js +8 -0
  357. package/node_modules/lando/test/error.spec.js +1 -1
  358. package/node_modules/lando/test/events.spec.js +6 -7
  359. package/node_modules/lando/test/lando.spec.js +1 -1
  360. package/node_modules/lando/test/plugins.spec.js +2 -3
  361. package/node_modules/lando/test/promise.spec.js +1 -1
  362. package/node_modules/lando/test/scan.spec.js +1 -1
  363. package/node_modules/lando/test/shell.spec.js +19 -2
  364. package/node_modules/lando/test/utils.spec.js +52 -0
  365. package/node_modules/open/index.js +3 -5
  366. package/node_modules/open/package.json +1 -1
  367. package/node_modules/string-argv/CHANGELOG.md +38 -0
  368. package/node_modules/string-argv/README.md +96 -50
  369. package/node_modules/string-argv/index.d.ts +2 -0
  370. package/node_modules/string-argv/index.js +55 -35
  371. package/node_modules/string-argv/package.json +50 -40
  372. package/node_modules/undici/README.md +25 -3
  373. package/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  374. package/node_modules/undici/docs/docs/api/Client.md +11 -6
  375. package/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
  376. package/node_modules/undici/docs/docs/api/Errors.md +76 -1
  377. package/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  378. package/node_modules/undici/docs/docs/api/Interceptors.md +13 -6
  379. package/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  380. package/node_modules/undici/docs/docs/index.md +12 -12
  381. package/node_modules/undici/docs/docs/type-map.json +66 -66
  382. package/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  383. package/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  384. package/node_modules/undici/lib/core/connect.js +10 -4
  385. package/node_modules/undici/lib/core/constants.js +12 -1
  386. package/node_modules/undici/lib/core/errors.js +38 -1
  387. package/node_modules/undici/lib/core/request.js +16 -1
  388. package/node_modules/undici/lib/core/symbols.js +2 -0
  389. package/node_modules/undici/lib/core/util.js +26 -1
  390. package/node_modules/undici/lib/dispatcher/agent.js +6 -2
  391. package/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
  392. package/node_modules/undici/lib/dispatcher/client-h2.js +46 -14
  393. package/node_modules/undici/lib/dispatcher/client.js +4 -1
  394. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  395. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  396. package/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  397. package/node_modules/undici/lib/dispatcher/pool-base.js +65 -28
  398. package/node_modules/undici/lib/dispatcher/pool.js +11 -8
  399. package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
  400. package/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  401. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  402. package/node_modules/undici/lib/handler/cache-handler.js +153 -15
  403. package/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
  404. package/node_modules/undici/lib/handler/redirect-handler.js +28 -8
  405. package/node_modules/undici/lib/handler/retry-handler.js +44 -11
  406. package/node_modules/undici/lib/interceptor/cache.js +11 -3
  407. package/node_modules/undici/lib/interceptor/decompress.js +22 -9
  408. package/node_modules/undici/lib/interceptor/dns.js +11 -0
  409. package/node_modules/undici/lib/interceptor/response-error.js +72 -28
  410. package/node_modules/undici/lib/milo/LICENSE.md +7 -0
  411. package/node_modules/undici/lib/milo/no-simd.js +1002 -0
  412. package/node_modules/undici/lib/milo/simd.js +1002 -0
  413. package/node_modules/undici/lib/mock/mock-agent.js +11 -0
  414. package/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  415. package/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  416. package/node_modules/undici/lib/util/cache.js +11 -5
  417. package/node_modules/undici/lib/web/cookies/util.js +19 -2
  418. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  419. package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
  420. package/node_modules/undici/lib/web/fetch/body.js +47 -38
  421. package/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  422. package/node_modules/undici/lib/web/fetch/headers.js +2 -2
  423. package/node_modules/undici/lib/web/fetch/index.js +8 -4
  424. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  425. package/node_modules/undici/lib/web/websocket/receiver.js +25 -4
  426. package/node_modules/undici/package.json +7 -5
  427. package/node_modules/undici/types/cache-interceptor.d.ts +10 -0
  428. package/node_modules/undici/types/client.d.ts +10 -4
  429. package/node_modules/undici/types/errors.d.ts +16 -1
  430. package/node_modules/undici/types/h2c-client.d.ts +1 -1
  431. package/node_modules/undici/types/interceptors.d.ts +6 -1
  432. package/node_modules/{lando/node_modules/js-yaml → unicode-segmenter}/LICENSE +6 -6
  433. package/node_modules/unicode-segmenter/README.md +324 -0
  434. package/node_modules/unicode-segmenter/_emoji_data.cjs +24 -0
  435. package/node_modules/unicode-segmenter/_emoji_data.d.cts +1 -0
  436. package/node_modules/unicode-segmenter/_emoji_data.d.ts +12 -0
  437. package/node_modules/unicode-segmenter/_emoji_data.js +26 -0
  438. package/node_modules/unicode-segmenter/_general_data.cjs +30 -0
  439. package/node_modules/unicode-segmenter/_general_data.d.cts +1 -0
  440. package/node_modules/unicode-segmenter/_general_data.d.ts +16 -0
  441. package/node_modules/unicode-segmenter/_general_data.js +34 -0
  442. package/node_modules/unicode-segmenter/_grapheme_data.cjs +125 -0
  443. package/node_modules/unicode-segmenter/_grapheme_data.d.cts +1 -0
  444. package/node_modules/unicode-segmenter/_grapheme_data.d.ts +112 -0
  445. package/node_modules/unicode-segmenter/_grapheme_data.js +123 -0
  446. package/node_modules/unicode-segmenter/core.cjs +135 -0
  447. package/node_modules/unicode-segmenter/core.d.cts +1 -0
  448. package/node_modules/unicode-segmenter/core.d.ts +118 -0
  449. package/node_modules/unicode-segmenter/core.js +129 -0
  450. package/node_modules/unicode-segmenter/emoji.cjs +43 -0
  451. package/node_modules/unicode-segmenter/emoji.d.cts +1 -0
  452. package/node_modules/unicode-segmenter/emoji.d.ts +23 -0
  453. package/node_modules/unicode-segmenter/emoji.js +42 -0
  454. package/node_modules/unicode-segmenter/general.cjs +51 -0
  455. package/node_modules/unicode-segmenter/general.d.cts +1 -0
  456. package/node_modules/unicode-segmenter/general.d.ts +26 -0
  457. package/node_modules/unicode-segmenter/general.js +50 -0
  458. package/node_modules/unicode-segmenter/grapheme.cjs +405 -0
  459. package/node_modules/unicode-segmenter/grapheme.d.cts +1 -0
  460. package/node_modules/unicode-segmenter/grapheme.d.ts +64 -0
  461. package/node_modules/unicode-segmenter/grapheme.js +438 -0
  462. package/node_modules/unicode-segmenter/index.cjs +26 -0
  463. package/node_modules/unicode-segmenter/index.d.cts +1 -0
  464. package/node_modules/unicode-segmenter/index.d.ts +4 -0
  465. package/node_modules/unicode-segmenter/index.js +6 -0
  466. package/node_modules/unicode-segmenter/intl-adapter.cjs +124 -0
  467. package/node_modules/unicode-segmenter/intl-adapter.d.cts +1 -0
  468. package/node_modules/unicode-segmenter/intl-adapter.d.ts +62 -0
  469. package/node_modules/unicode-segmenter/intl-adapter.js +113 -0
  470. package/node_modules/unicode-segmenter/intl-polyfill.cjs +17 -0
  471. package/node_modules/unicode-segmenter/intl-polyfill.d.cts +1 -0
  472. package/node_modules/unicode-segmenter/intl-polyfill.d.ts +1 -0
  473. package/node_modules/unicode-segmenter/intl-polyfill.js +16 -0
  474. package/node_modules/unicode-segmenter/package.json +165 -0
  475. package/node_modules/unicode-segmenter/utils.cjs +99 -0
  476. package/node_modules/unicode-segmenter/utils.d.cts +1 -0
  477. package/node_modules/unicode-segmenter/utils.d.ts +64 -0
  478. package/node_modules/unicode-segmenter/utils.js +89 -0
  479. package/package.json +6 -6
  480. package/.buildkite/build-linux.sh +0 -68
  481. package/.buildkite/build-macos-installer.sh +0 -34
  482. package/.buildkite/build-macos.sh +0 -67
  483. package/.buildkite/build-windows-installer.ps1 +0 -65
  484. package/.buildkite/build-windows.ps1 +0 -59
  485. package/.buildkite/fetch-search-replace.sh +0 -65
  486. package/.buildkite/pack-release.sh +0 -26
  487. package/.buildkite/pipeline.yml +0 -81
  488. package/.buildkite/shared-pipeline-vars +0 -16
  489. package/.buildkite/sign-windows.ps1 +0 -21
  490. package/.buildkite/test-windows-installer-download.ps1 +0 -54
  491. package/.buildkite/test_pipeline.py +0 -69
  492. package/.bundle/config +0 -4
  493. package/.editorconfig +0 -11
  494. package/.prettierignore +0 -13
  495. package/.ruby-version +0 -1
  496. package/.sonarcloud.properties +0 -2
  497. package/.xcode-version +0 -1
  498. package/AGENTS.md +0 -101
  499. package/CLAUDE.md +0 -4
  500. package/Gemfile +0 -8
  501. package/Gemfile.lock +0 -377
  502. package/Makefile +0 -293
  503. package/cmd/installer-payload/main.go +0 -19
  504. package/cmd/installer-version/main.go +0 -22
  505. package/cmd/stamp-version/main.go +0 -25
  506. package/cmd/vip-next/auth_bootstrap.go +0 -139
  507. package/cmd/vip-next/auth_bootstrap_test.go +0 -379
  508. package/cmd/vip-next/auth_bypass_wiring_test.go +0 -162
  509. package/cmd/vip-next/cli_error_hook_test.go +0 -91
  510. package/cmd/vip-next/commands/app.go +0 -23
  511. package/cmd/vip-next/commands/app_debug_test.go +0 -89
  512. package/cmd/vip-next/commands/app_deploy.go +0 -217
  513. package/cmd/vip-next/commands/app_deploy_test.go +0 -297
  514. package/cmd/vip-next/commands/app_deploy_validate.go +0 -58
  515. package/cmd/vip-next/commands/app_get.go +0 -293
  516. package/cmd/vip-next/commands/app_get_test.go +0 -226
  517. package/cmd/vip-next/commands/app_list.go +0 -93
  518. package/cmd/vip-next/commands/app_list_test.go +0 -95
  519. package/cmd/vip-next/commands/backup.go +0 -16
  520. package/cmd/vip-next/commands/backup_db.go +0 -137
  521. package/cmd/vip-next/commands/backup_db_test.go +0 -187
  522. package/cmd/vip-next/commands/cache.go +0 -16
  523. package/cmd/vip-next/commands/cache_purge_url.go +0 -90
  524. package/cmd/vip-next/commands/cache_purge_url_test.go +0 -154
  525. package/cmd/vip-next/commands/config.go +0 -17
  526. package/cmd/vip-next/commands/config_debug_test.go +0 -137
  527. package/cmd/vip-next/commands/config_envvar.go +0 -16
  528. package/cmd/vip-next/commands/config_envvar_delete.go +0 -135
  529. package/cmd/vip-next/commands/config_envvar_delete_test.go +0 -140
  530. package/cmd/vip-next/commands/config_envvar_get.go +0 -72
  531. package/cmd/vip-next/commands/config_envvar_get_all.go +0 -58
  532. package/cmd/vip-next/commands/config_envvar_get_all_test.go +0 -83
  533. package/cmd/vip-next/commands/config_envvar_get_test.go +0 -79
  534. package/cmd/vip-next/commands/config_envvar_list.go +0 -70
  535. package/cmd/vip-next/commands/config_envvar_list_test.go +0 -134
  536. package/cmd/vip-next/commands/config_envvar_set.go +0 -162
  537. package/cmd/vip-next/commands/config_envvar_set_test.go +0 -251
  538. package/cmd/vip-next/commands/config_software.go +0 -229
  539. package/cmd/vip-next/commands/config_software_test.go +0 -161
  540. package/cmd/vip-next/commands/config_software_update.go +0 -270
  541. package/cmd/vip-next/commands/config_software_update_test.go +0 -334
  542. package/cmd/vip-next/commands/db.go +0 -16
  543. package/cmd/vip-next/commands/db_phpmyadmin.go +0 -122
  544. package/cmd/vip-next/commands/db_phpmyadmin_test.go +0 -277
  545. package/cmd/vip-next/commands/defensive_mode.go +0 -106
  546. package/cmd/vip-next/commands/defensive_mode_configure.go +0 -150
  547. package/cmd/vip-next/commands/defensive_mode_disable.go +0 -62
  548. package/cmd/vip-next/commands/defensive_mode_enable.go +0 -62
  549. package/cmd/vip-next/commands/defensive_mode_test.go +0 -389
  550. package/cmd/vip-next/commands/devenv.go +0 -49
  551. package/cmd/vip-next/commands/devenv_create_appinfo.go +0 -158
  552. package/cmd/vip-next/commands/devenv_create_appinfo_test.go +0 -29
  553. package/cmd/vip-next/commands/devenv_create_test.go +0 -269
  554. package/cmd/vip-next/commands/devenv_data.go +0 -86
  555. package/cmd/vip-next/commands/devenv_data_confirm_test.go +0 -49
  556. package/cmd/vip-next/commands/devenv_debug_test.go +0 -34
  557. package/cmd/vip-next/commands/devenv_e2e_gate_test.go +0 -17
  558. package/cmd/vip-next/commands/devenv_e2e_test.go +0 -34
  559. package/cmd/vip-next/commands/devenv_envvar.go +0 -186
  560. package/cmd/vip-next/commands/devenv_envvar_test.go +0 -183
  561. package/cmd/vip-next/commands/devenv_exec.go +0 -75
  562. package/cmd/vip-next/commands/devenv_exec_test.go +0 -39
  563. package/cmd/vip-next/commands/devenv_flag_grammar_test.go +0 -241
  564. package/cmd/vip-next/commands/devenv_lifecycle.go +0 -785
  565. package/cmd/vip-next/commands/devenv_logs.go +0 -29
  566. package/cmd/vip-next/commands/devenv_resolve.go +0 -118
  567. package/cmd/vip-next/commands/devenv_resolve_test.go +0 -221
  568. package/cmd/vip-next/commands/devenv_sync.go +0 -256
  569. package/cmd/vip-next/commands/devenv_sync_sites.go +0 -116
  570. package/cmd/vip-next/commands/devenv_sync_sites_test.go +0 -151
  571. package/cmd/vip-next/commands/devenv_sync_test.go +0 -63
  572. package/cmd/vip-next/commands/devenv_telemetry.go +0 -265
  573. package/cmd/vip-next/commands/devenv_telemetry_test.go +0 -322
  574. package/cmd/vip-next/commands/devenv_test.go +0 -60
  575. package/cmd/vip-next/commands/devenv_update.go +0 -207
  576. package/cmd/vip-next/commands/devenv_update_test.go +0 -109
  577. package/cmd/vip-next/commands/devenv_versions_proxy_test.go +0 -133
  578. package/cmd/vip-next/commands/edge_workers.go +0 -197
  579. package/cmd/vip-next/commands/edge_workers_flags.go +0 -56
  580. package/cmd/vip-next/commands/edge_workers_local.go +0 -127
  581. package/cmd/vip-next/commands/edge_workers_mutation.go +0 -130
  582. package/cmd/vip-next/commands/edge_workers_read.go +0 -103
  583. package/cmd/vip-next/commands/edge_workers_test.go +0 -272
  584. package/cmd/vip-next/commands/export.go +0 -16
  585. package/cmd/vip-next/commands/export_sql.go +0 -333
  586. package/cmd/vip-next/commands/export_sql_test.go +0 -321
  587. package/cmd/vip-next/commands/format_env.go +0 -17
  588. package/cmd/vip-next/commands/import.go +0 -19
  589. package/cmd/vip-next/commands/import_debug_test.go +0 -110
  590. package/cmd/vip-next/commands/import_media.go +0 -433
  591. package/cmd/vip-next/commands/import_media_abort.go +0 -76
  592. package/cmd/vip-next/commands/import_media_confirm.go +0 -83
  593. package/cmd/vip-next/commands/import_media_confirm_test.go +0 -249
  594. package/cmd/vip-next/commands/import_media_fetch_test.go +0 -98
  595. package/cmd/vip-next/commands/import_media_status.go +0 -58
  596. package/cmd/vip-next/commands/import_media_test.go +0 -370
  597. package/cmd/vip-next/commands/import_sql.go +0 -1161
  598. package/cmd/vip-next/commands/import_sql_status.go +0 -67
  599. package/cmd/vip-next/commands/import_sql_test.go +0 -746
  600. package/cmd/vip-next/commands/import_validate_files.go +0 -157
  601. package/cmd/vip-next/commands/import_validate_files_test.go +0 -157
  602. package/cmd/vip-next/commands/import_validate_sql.go +0 -207
  603. package/cmd/vip-next/commands/import_validate_sql_test.go +0 -293
  604. package/cmd/vip-next/commands/login.go +0 -53
  605. package/cmd/vip-next/commands/login_test.go +0 -25
  606. package/cmd/vip-next/commands/logout.go +0 -43
  607. package/cmd/vip-next/commands/logout_test.go +0 -158
  608. package/cmd/vip-next/commands/logs.go +0 -169
  609. package/cmd/vip-next/commands/logs_test.go +0 -174
  610. package/cmd/vip-next/commands/nodeflag_aliases.go +0 -59
  611. package/cmd/vip-next/commands/progress_renderer.go +0 -118
  612. package/cmd/vip-next/commands/progress_renderer_test.go +0 -28
  613. package/cmd/vip-next/commands/searchreplace.go +0 -75
  614. package/cmd/vip-next/commands/searchreplace_debug_test.go +0 -82
  615. package/cmd/vip-next/commands/searchreplace_test.go +0 -155
  616. package/cmd/vip-next/commands/slowlogs.go +0 -167
  617. package/cmd/vip-next/commands/slowlogs_test.go +0 -159
  618. package/cmd/vip-next/commands/sqlreport.go +0 -183
  619. package/cmd/vip-next/commands/sqlreport_test.go +0 -66
  620. package/cmd/vip-next/commands/sync.go +0 -189
  621. package/cmd/vip-next/commands/sync_confirm.go +0 -121
  622. package/cmd/vip-next/commands/sync_confirm_test.go +0 -202
  623. package/cmd/vip-next/commands/sync_render.go +0 -207
  624. package/cmd/vip-next/commands/sync_render_test.go +0 -101
  625. package/cmd/vip-next/commands/sync_test.go +0 -148
  626. package/cmd/vip-next/commands/update.go +0 -85
  627. package/cmd/vip-next/commands/update_test.go +0 -49
  628. package/cmd/vip-next/commands/whoami.go +0 -161
  629. package/cmd/vip-next/commands/whoami_debug_test.go +0 -79
  630. package/cmd/vip-next/commands/whoami_test.go +0 -85
  631. package/cmd/vip-next/commands/wp.go +0 -376
  632. package/cmd/vip-next/commands/wp_debug_test.go +0 -32
  633. package/cmd/vip-next/commands/wp_test.go +0 -276
  634. package/cmd/vip-next/debug_args.go +0 -63
  635. package/cmd/vip-next/debug_test.go +0 -122
  636. package/cmd/vip-next/edge_workers_test.go +0 -108
  637. package/cmd/vip-next/flags_node_parity_test.go +0 -434
  638. package/cmd/vip-next/main.go +0 -391
  639. package/cmd/vip-next/main_test.go +0 -202
  640. package/cmd/vip-next/pendo_wiring_test.go +0 -148
  641. package/cmd/vip-next/root.go +0 -211
  642. package/cmd/vip-next/update_bootstrap.go +0 -94
  643. package/cmd/vip-next/update_bootstrap_test.go +0 -85
  644. package/cmd/vip-next/update_integration_test.go +0 -137
  645. package/cmd/vip-next-prerelease/main.go +0 -108
  646. package/cmd/vip-next-prerelease/main_test.go +0 -46
  647. package/docs/ARCHITECTURE.md +0 -95
  648. package/docs/BUILD-SIGNING.md +0 -501
  649. package/docs/CHANGELOG.md +0 -1844
  650. package/docs/COMMANDER-MIGRATION.md +0 -45
  651. package/docs/CONTRIBUTING.md +0 -29
  652. package/docs/CUTOVER-BREAKING-CHANGES.md +0 -261
  653. package/docs/DEBUGGING.md +0 -94
  654. package/docs/EDGE-WORKERS.md +0 -256
  655. package/docs/GO-UPDATES.md +0 -97
  656. package/docs/NPM-RELEASE-RECOVERY.md +0 -47
  657. package/docs/RELEASING.md +0 -211
  658. package/docs/SECURITY.md +0 -9
  659. package/docs/SETUP.md +0 -154
  660. package/docs/TESTING.md +0 -67
  661. package/docs/decisions/0001-operation-scoped-elevated-token-reuse.md +0 -87
  662. package/docs/dev-env-windows-wsl-testing.md +0 -191
  663. package/docs/vip-next-vip-command-reference.md +0 -257
  664. package/docs/vip-wp-line-parse-dfa.dot +0 -31
  665. package/eslint.config.js +0 -35
  666. package/fastlane/Fastfile +0 -204
  667. package/fastlane/example.env +0 -8
  668. package/fastlane/test_signing.rb +0 -83
  669. package/go.mod +0 -39
  670. package/go.sum +0 -127
  671. package/internal/appctx/app_resolver.go +0 -202
  672. package/internal/appctx/app_resolver_test.go +0 -187
  673. package/internal/appctx/confirm.go +0 -180
  674. package/internal/appctx/confirm_payload_test.go +0 -201
  675. package/internal/appctx/confirm_test.go +0 -120
  676. package/internal/appctx/context.go +0 -94
  677. package/internal/appctx/context_test.go +0 -56
  678. package/internal/appctx/env_resolver.go +0 -110
  679. package/internal/appctx/env_resolver_test.go +0 -215
  680. package/internal/appctx/format.go +0 -72
  681. package/internal/appctx/format_test.go +0 -75
  682. package/internal/appctx/interactive.go +0 -50
  683. package/internal/appctx/interactive_test.go +0 -134
  684. package/internal/appctx/middleware.go +0 -56
  685. package/internal/appctx/middleware_test.go +0 -88
  686. package/internal/appctx/prompts.go +0 -70
  687. package/internal/appctx/prompts_test.go +0 -97
  688. package/internal/appctx/required_args.go +0 -24
  689. package/internal/appctx/required_args_test.go +0 -38
  690. package/internal/appctx/telemetry.go +0 -22
  691. package/internal/appctx/telemetry_test.go +0 -42
  692. package/internal/appctx/wildcard.go +0 -29
  693. package/internal/appctx/wildcard_test.go +0 -53
  694. package/internal/auth/bypass.go +0 -84
  695. package/internal/auth/bypass_test.go +0 -97
  696. package/internal/auth/login.go +0 -156
  697. package/internal/auth/login_test.go +0 -184
  698. package/internal/auth/logout.go +0 -44
  699. package/internal/auth/logout_test.go +0 -78
  700. package/internal/auth/store.go +0 -130
  701. package/internal/auth/store_test.go +0 -339
  702. package/internal/auth/token.go +0 -117
  703. package/internal/auth/token_test.go +0 -90
  704. package/internal/backup/backup.go +0 -194
  705. package/internal/backup/backup_test.go +0 -228
  706. package/internal/cachepurge/cachepurge.go +0 -38
  707. package/internal/cachepurge/cachepurge_test.go +0 -92
  708. package/internal/customdeploy/archive.go +0 -205
  709. package/internal/customdeploy/archive_test.go +0 -174
  710. package/internal/customdeploy/customdeploy.go +0 -91
  711. package/internal/customdeploy/customdeploy_test.go +0 -82
  712. package/internal/debuglog/debuglog.go +0 -85
  713. package/internal/debuglog/debuglog_test.go +0 -44
  714. package/internal/defensivemode/api.go +0 -89
  715. package/internal/defensivemode/api_test.go +0 -122
  716. package/internal/devenv/adapters.go +0 -168
  717. package/internal/devenv/adapters_test.go +0 -44
  718. package/internal/devenv/adopt.go +0 -20
  719. package/internal/devenv/adopt_setup_test.go +0 -30
  720. package/internal/devenv/compose/labels.go +0 -90
  721. package/internal/devenv/compose/labels_test.go +0 -136
  722. package/internal/devenv/compose/project.go +0 -88
  723. package/internal/devenv/compose/project_test.go +0 -148
  724. package/internal/devenv/compose/render.go +0 -54
  725. package/internal/devenv/compose/render_test.go +0 -90
  726. package/internal/devenv/compose/services.go +0 -337
  727. package/internal/devenv/compose/services_test.go +0 -258
  728. package/internal/devenv/compose/testdata/full.golden.yml +0 -265
  729. package/internal/devenv/compose/types.go +0 -97
  730. package/internal/devenv/compose/types_test.go +0 -61
  731. package/internal/devenv/compose/view.go +0 -205
  732. package/internal/devenv/compose/view_test.go +0 -120
  733. package/internal/devenv/configfile.go +0 -300
  734. package/internal/devenv/configfile_test.go +0 -246
  735. package/internal/devenv/create.go +0 -130
  736. package/internal/devenv/create_test.go +0 -98
  737. package/internal/devenv/debug.go +0 -4
  738. package/internal/devenv/debug_test.go +0 -103
  739. package/internal/devenv/devenv.go +0 -434
  740. package/internal/devenv/devenv_test.go +0 -77
  741. package/internal/devenv/devexec.go +0 -140
  742. package/internal/devenv/devexec_test.go +0 -91
  743. package/internal/devenv/devlog/devlog.go +0 -219
  744. package/internal/devenv/devlog/devlog_test.go +0 -112
  745. package/internal/devenv/devterm/devterm.go +0 -65
  746. package/internal/devenv/devterm/devterm_pty.go +0 -58
  747. package/internal/devenv/devterm/devterm_stub.go +0 -20
  748. package/internal/devenv/devterm/devterm_test.go +0 -78
  749. package/internal/devenv/dockercli/capture.go +0 -84
  750. package/internal/devenv/dockercli/capture_test.go +0 -33
  751. package/internal/devenv/dockercli/compose.go +0 -30
  752. package/internal/devenv/dockercli/compose_test.go +0 -35
  753. package/internal/devenv/dockercli/runner.go +0 -214
  754. package/internal/devenv/dockercli/runner_test.go +0 -157
  755. package/internal/devenv/dockercli/socket.go +0 -56
  756. package/internal/devenv/dockercli/socket_test.go +0 -52
  757. package/internal/devenv/e2e_gate_test.go +0 -17
  758. package/internal/devenv/e2e_test.go +0 -499
  759. package/internal/devenv/e2esafety/gate_wiring_test.go +0 -90
  760. package/internal/devenv/e2esafety/safety.go +0 -52
  761. package/internal/devenv/e2esafety/safety_test.go +0 -71
  762. package/internal/devenv/eachenv_test.go +0 -132
  763. package/internal/devenv/editor.go +0 -82
  764. package/internal/devenv/editor_test.go +0 -60
  765. package/internal/devenv/envfile.go +0 -287
  766. package/internal/devenv/envvar.go +0 -165
  767. package/internal/devenv/envvar_test.go +0 -178
  768. package/internal/devenv/hostops/context.go +0 -38
  769. package/internal/devenv/hostops/context_test.go +0 -24
  770. package/internal/devenv/hostops/e2e_gate_test.go +0 -17
  771. package/internal/devenv/hostops/e2e_test.go +0 -429
  772. package/internal/devenv/hostops/elevate.go +0 -248
  773. package/internal/devenv/hostops/elevate_message_test.go +0 -35
  774. package/internal/devenv/hostops/elevate_test.go +0 -111
  775. package/internal/devenv/hostops/hosts.go +0 -255
  776. package/internal/devenv/hostops/hosts_test.go +0 -178
  777. package/internal/devenv/hostops/thumbprint_test.go +0 -57
  778. package/internal/devenv/hostops/trust.go +0 -115
  779. package/internal/devenv/hostops/trust_test.go +0 -90
  780. package/internal/devenv/hostrefresh.go +0 -127
  781. package/internal/devenv/hostrefresh_test.go +0 -123
  782. package/internal/devenv/importdata.go +0 -491
  783. package/internal/devenv/importdata_test.go +0 -142
  784. package/internal/devenv/importdecompress_test.go +0 -90
  785. package/internal/devenv/importgate_test.go +0 -166
  786. package/internal/devenv/importvalidate.go +0 -437
  787. package/internal/devenv/importvalidate_test.go +0 -293
  788. package/internal/devenv/info_table.go +0 -165
  789. package/internal/devenv/info_table_test.go +0 -111
  790. package/internal/devenv/instancedata/instancedata.go +0 -239
  791. package/internal/devenv/instancedata/instancedata_test.go +0 -281
  792. package/internal/devenv/instancedata/testdata/legacy_keys.json +0 -16
  793. package/internal/devenv/instancedata/testdata/unknown_keys.json +0 -19
  794. package/internal/devenv/lifecycle/adopt.go +0 -24
  795. package/internal/devenv/lifecycle/adopt_test.go +0 -43
  796. package/internal/devenv/lifecycle/health.go +0 -28
  797. package/internal/devenv/lifecycle/health_test.go +0 -34
  798. package/internal/devenv/lifecycle/hosts.go +0 -42
  799. package/internal/devenv/lifecycle/hosts_test.go +0 -41
  800. package/internal/devenv/lifecycle/migrate.go +0 -44
  801. package/internal/devenv/lifecycle/migrate_test.go +0 -78
  802. package/internal/devenv/lifecycle/pull.go +0 -19
  803. package/internal/devenv/lifecycle/pull_test.go +0 -29
  804. package/internal/devenv/lifecycle/setup.go +0 -35
  805. package/internal/devenv/lifecycle/setup_test.go +0 -46
  806. package/internal/devenv/lifecycle/start.go +0 -132
  807. package/internal/devenv/lifecycle/start_test.go +0 -350
  808. package/internal/devenv/lifecycle/teardown.go +0 -32
  809. package/internal/devenv/lifecycle/teardown_test.go +0 -83
  810. package/internal/devenv/lifecycle/types.go +0 -86
  811. package/internal/devenv/lifecycle/waiter.go +0 -49
  812. package/internal/devenv/lifecycle/waiter_test.go +0 -98
  813. package/internal/devenv/list.go +0 -49
  814. package/internal/devenv/list_test.go +0 -24
  815. package/internal/devenv/logs.go +0 -43
  816. package/internal/devenv/logs_test.go +0 -28
  817. package/internal/devenv/materialize.go +0 -44
  818. package/internal/devenv/materialize_test.go +0 -112
  819. package/internal/devenv/paths/paths.go +0 -42
  820. package/internal/devenv/paths/paths_test.go +0 -39
  821. package/internal/devenv/postimport.go +0 -134
  822. package/internal/devenv/postimport_test.go +0 -389
  823. package/internal/devenv/proxy/ca.go +0 -110
  824. package/internal/devenv/proxy/ca_test.go +0 -111
  825. package/internal/devenv/proxy/network.go +0 -28
  826. package/internal/devenv/proxy/network_test.go +0 -68
  827. package/internal/devenv/proxy/ports.go +0 -104
  828. package/internal/devenv/proxy/ports_test.go +0 -76
  829. package/internal/devenv/proxy/proxy.go +0 -143
  830. package/internal/devenv/proxy/proxy_test.go +0 -149
  831. package/internal/devenv/proxy/scripts/gen-certs.sh +0 -73
  832. package/internal/devenv/proxy/spec.go +0 -60
  833. package/internal/devenv/proxy/spec_test.go +0 -44
  834. package/internal/devenv/proxy/testhelpers_test.go +0 -7
  835. package/internal/devenv/proxy_policy_test.go +0 -155
  836. package/internal/devenv/syncplan.go +0 -573
  837. package/internal/devenv/syncplan_test.go +0 -256
  838. package/internal/devenv/syncsql.go +0 -247
  839. package/internal/devenv/syncsql_repair.go +0 -169
  840. package/internal/devenv/syncsql_repair_test.go +0 -150
  841. package/internal/devenv/syncsql_test.go +0 -220
  842. package/internal/devenv/update.go +0 -87
  843. package/internal/devenv/update_test.go +0 -47
  844. package/internal/edgeworkers/api.go +0 -173
  845. package/internal/edgeworkers/api_test.go +0 -256
  846. package/internal/edgeworkers/build.go +0 -188
  847. package/internal/edgeworkers/build_test.go +0 -175
  848. package/internal/edgeworkers/confirmation.go +0 -72
  849. package/internal/edgeworkers/deployment.go +0 -156
  850. package/internal/edgeworkers/deployment_test.go +0 -165
  851. package/internal/edgeworkers/output.go +0 -131
  852. package/internal/edgeworkers/output_test.go +0 -98
  853. package/internal/edgeworkers/project.go +0 -264
  854. package/internal/edgeworkers/project_test.go +0 -167
  855. package/internal/edgeworkers/scaffold.go +0 -88
  856. package/internal/edgeworkers/templates/README.md +0 -25
  857. package/internal/edgeworkers/templates/edge-workers.json +0 -4
  858. package/internal/edgeworkers/templates/gitignore +0 -2
  859. package/internal/edgeworkers/templates/package.json +0 -16
  860. package/internal/edgeworkers/templates/tsconfig.json +0 -6
  861. package/internal/edgeworkers/templates/worker.ts +0 -19
  862. package/internal/edgeworkers/types.go +0 -37
  863. package/internal/edgeworkers/validation.go +0 -177
  864. package/internal/envalias/envalias.go +0 -50
  865. package/internal/envalias/envalias_test.go +0 -147
  866. package/internal/envvar/envvar.go +0 -253
  867. package/internal/envvar/envvar_test.go +0 -274
  868. package/internal/envvar/reload_manifest.go +0 -99
  869. package/internal/envvar/reload_manifest_test.go +0 -44
  870. package/internal/envvar/value_confirm.go +0 -26
  871. package/internal/envvar/value_confirm_test.go +0 -22
  872. package/internal/exit/exit.go +0 -94
  873. package/internal/exit/exit_test.go +0 -119
  874. package/internal/gql/SCHEMA.md +0 -21
  875. package/internal/gql/client.go +0 -54
  876. package/internal/gql/client_test.go +0 -71
  877. package/internal/gql/debug_test.go +0 -79
  878. package/internal/gql/decoder_compat_helpers_test.go +0 -35
  879. package/internal/gql/decoder_compat_test.go +0 -78
  880. package/internal/gql/doc.go +0 -13
  881. package/internal/gql/edgeworkerinput/input.go +0 -58
  882. package/internal/gql/edgeworkerinput/input_test.go +0 -52
  883. package/internal/gql/error.go +0 -163
  884. package/internal/gql/error_test.go +0 -203
  885. package/internal/gql/generated.go +0 -10425
  886. package/internal/gql/genqlient.yaml +0 -26
  887. package/internal/gql/import_sql_marshal_test.go +0 -69
  888. package/internal/gql/operation.go +0 -67
  889. package/internal/gql/operation_test.go +0 -60
  890. package/internal/gql/operations/app_get.graphql +0 -43
  891. package/internal/gql/operations/app_list.graphql +0 -9
  892. package/internal/gql/operations/app_resolve.graphql +0 -37
  893. package/internal/gql/operations/backup_export_deploy.graphql +0 -123
  894. package/internal/gql/operations/cachepurge.graphql +0 -6
  895. package/internal/gql/operations/defensive_mode.graphql +0 -13
  896. package/internal/gql/operations/dev_env_create.graphql +0 -38
  897. package/internal/gql/operations/dev_env_sync.graphql +0 -15
  898. package/internal/gql/operations/edge_workers.graphql +0 -53
  899. package/internal/gql/operations/envvar.graphql +0 -52
  900. package/internal/gql/operations/fragments.graphql +0 -5
  901. package/internal/gql/operations/import_media.graphql +0 -61
  902. package/internal/gql/operations/import_sql.graphql +0 -135
  903. package/internal/gql/operations/logs.graphql +0 -22
  904. package/internal/gql/operations/me.graphql +0 -13
  905. package/internal/gql/operations/phpmyadmin.graphql +0 -21
  906. package/internal/gql/operations/slowlogs.graphql +0 -25
  907. package/internal/gql/operations/software.graphql +0 -53
  908. package/internal/gql/operations/sync.graphql +0 -51
  909. package/internal/gql/operations/wp.graphql +0 -37
  910. package/internal/gql/proxy_test.go +0 -62
  911. package/internal/gql/rechallenge.go +0 -218
  912. package/internal/gql/rechallenge_test.go +0 -471
  913. package/internal/gql/retry.go +0 -130
  914. package/internal/gql/retry_test.go +0 -230
  915. package/internal/gql/schema.gql +0 -9337
  916. package/internal/gql/transport.go +0 -65
  917. package/internal/gql/transport_helper.go +0 -24
  918. package/internal/httpproxy/callers_test.go +0 -211
  919. package/internal/httpproxy/debug_test.go +0 -32
  920. package/internal/httpproxy/httpproxy.go +0 -315
  921. package/internal/httpproxy/httpproxy_test.go +0 -435
  922. package/internal/installer/version.go +0 -41
  923. package/internal/installer/version_test.go +0 -33
  924. package/internal/keychain/fallback.go +0 -93
  925. package/internal/keychain/keychain.go +0 -197
  926. package/internal/keychain/keychain_select_test.go +0 -34
  927. package/internal/keychain/keychain_test.go +0 -112
  928. package/internal/logsapi/logsapi.go +0 -165
  929. package/internal/logsapi/logsapi_test.go +0 -82
  930. package/internal/mediaimport/mediaimport.go +0 -26
  931. package/internal/mediaimport/mediaimport_test.go +0 -46
  932. package/internal/mediaimport/status.go +0 -162
  933. package/internal/mediaimport/status_test.go +0 -159
  934. package/internal/mediaimport/tracker.go +0 -116
  935. package/internal/mediaimport/tracker_test.go +0 -62
  936. package/internal/nodeflags/nodeflags.go +0 -130
  937. package/internal/nodeflags/nodeflags_test.go +0 -138
  938. package/internal/nodeflags/optionalvalue.go +0 -123
  939. package/internal/nodeflags/optionalvalue_test.go +0 -158
  940. package/internal/output/csv.go +0 -178
  941. package/internal/output/fields.go +0 -22
  942. package/internal/output/fields_test.go +0 -21
  943. package/internal/output/ids.go +0 -26
  944. package/internal/output/ids_test.go +0 -32
  945. package/internal/output/json.go +0 -113
  946. package/internal/output/keyvalue.go +0 -35
  947. package/internal/output/keyvalue_block.go +0 -77
  948. package/internal/output/keyvalue_block_test.go +0 -95
  949. package/internal/output/keyvalue_test.go +0 -35
  950. package/internal/output/ordered.go +0 -44
  951. package/internal/output/ordered_test.go +0 -42
  952. package/internal/output/output.go +0 -62
  953. package/internal/output/output_test.go +0 -400
  954. package/internal/output/table.go +0 -231
  955. package/internal/output/table_layout.go +0 -472
  956. package/internal/output/table_layout_test.go +0 -107
  957. package/internal/output/table_layout_tty_test.go +0 -63
  958. package/internal/output/text.go +0 -24
  959. package/internal/output/text_test.go +0 -31
  960. package/internal/output/typename.go +0 -35
  961. package/internal/output/typename_test.go +0 -48
  962. package/internal/parity/backup_export_deploy_scenario_test.go +0 -285
  963. package/internal/parity/cache_scenario_test.go +0 -173
  964. package/internal/parity/command_surface_scenario_test.go +0 -530
  965. package/internal/parity/defensive_mode_scenario_test.go +0 -133
  966. package/internal/parity/diff.go +0 -128
  967. package/internal/parity/diff_test.go +0 -155
  968. package/internal/parity/differential_test.go +0 -166
  969. package/internal/parity/edge_workers_build_smoke_test.go +0 -69
  970. package/internal/parity/edge_workers_cases_test.go +0 -77
  971. package/internal/parity/edge_workers_debug_test.go +0 -87
  972. package/internal/parity/edge_workers_differential_test.go +0 -483
  973. package/internal/parity/edge_workers_prompt_test.go +0 -151
  974. package/internal/parity/env.go +0 -176
  975. package/internal/parity/env_test.go +0 -211
  976. package/internal/parity/envvar_mutation_scenario_test.go +0 -188
  977. package/internal/parity/harness.go +0 -28
  978. package/internal/parity/harness_test.go +0 -62
  979. package/internal/parity/import_media_scenario_test.go +0 -207
  980. package/internal/parity/import_sql_scenario_test.go +0 -198
  981. package/internal/parity/import_validate_sql_scenario_test.go +0 -68
  982. package/internal/parity/keychain.go +0 -538
  983. package/internal/parity/keychain_test.go +0 -201
  984. package/internal/parity/m5_differential_test.go +0 -185
  985. package/internal/parity/m5_scenarios_test.go +0 -225
  986. package/internal/parity/nodebin.go +0 -120
  987. package/internal/parity/nodebin_test.go +0 -148
  988. package/internal/parity/parker.go +0 -491
  989. package/internal/parity/parker_discovery.go +0 -373
  990. package/internal/parity/parker_discovery_test.go +0 -267
  991. package/internal/parity/parker_live_test.go +0 -164
  992. package/internal/parity/parker_test.go +0 -480
  993. package/internal/parity/pendo_test.go +0 -122
  994. package/internal/parity/phpmyadmin_scenario_test.go +0 -214
  995. package/internal/parity/runner.go +0 -56
  996. package/internal/parity/runner_test.go +0 -67
  997. package/internal/parity/scenario.go +0 -82
  998. package/internal/parity/scenario_test.go +0 -52
  999. package/internal/parity/surface_differential_test.go +0 -494
  1000. package/internal/parity/sync_scenario_test.go +0 -172
  1001. package/internal/parity/vendored_src_test.go +0 -84
  1002. package/internal/parity/whoami_scenario_test.go +0 -69
  1003. package/internal/parity/wp_scenario_test.go +0 -428
  1004. package/internal/phpmyadmin/client.go +0 -221
  1005. package/internal/phpmyadmin/client_test.go +0 -418
  1006. package/internal/poll/poll.go +0 -85
  1007. package/internal/poll/poll_test.go +0 -136
  1008. package/internal/polling/polling.go +0 -97
  1009. package/internal/polling/polling_test.go +0 -59
  1010. package/internal/rechallenge/browser.go +0 -16
  1011. package/internal/rechallenge/client.go +0 -198
  1012. package/internal/rechallenge/client_test.go +0 -169
  1013. package/internal/rechallenge/errors.go +0 -137
  1014. package/internal/rechallenge/errors_test.go +0 -81
  1015. package/internal/rechallenge/flow.go +0 -232
  1016. package/internal/rechallenge/flow_noninteractive_test.go +0 -285
  1017. package/internal/rechallenge/flow_test.go +0 -217
  1018. package/internal/rechallenge/interactive.go +0 -90
  1019. package/internal/rechallenge/interactive_test.go +0 -106
  1020. package/internal/rechallenge/redact.go +0 -36
  1021. package/internal/rechallenge/redact_test.go +0 -142
  1022. package/internal/rechallenge/tokencache.go +0 -148
  1023. package/internal/rechallenge/tokencache_test.go +0 -139
  1024. package/internal/rechallenge/types.go +0 -100
  1025. package/internal/rechallenge/types_test.go +0 -56
  1026. package/internal/redact/redact.go +0 -99
  1027. package/internal/redact/redact_test.go +0 -80
  1028. package/internal/releasepromotion/buildkite.go +0 -233
  1029. package/internal/releasepromotion/buildkite_test.go +0 -284
  1030. package/internal/releasepromotion/contract.go +0 -165
  1031. package/internal/releasepromotion/contract_test.go +0 -211
  1032. package/internal/releasepromotion/github.go +0 -378
  1033. package/internal/releasepromotion/github_test.go +0 -399
  1034. package/internal/releasepromotion/optional_installers_test.go +0 -87
  1035. package/internal/releasepromotion/promoter.go +0 -134
  1036. package/internal/releasepromotion/promoter_test.go +0 -147
  1037. package/internal/releasepromotion/verify.go +0 -239
  1038. package/internal/releasepromotion/verify_test.go +0 -296
  1039. package/internal/searchreplace/debug_test.go +0 -71
  1040. package/internal/searchreplace/dumpdetails.go +0 -104
  1041. package/internal/searchreplace/dumpdetails_test.go +0 -86
  1042. package/internal/searchreplace/searchreplace.go +0 -261
  1043. package/internal/searchreplace/searchreplace_test.go +0 -250
  1044. package/internal/siteimport/debug_test.go +0 -34
  1045. package/internal/siteimport/siteimport.go +0 -18
  1046. package/internal/siteimport/siteimport_test.go +0 -19
  1047. package/internal/siteimport/sitetype.go +0 -74
  1048. package/internal/siteimport/sitetype_test.go +0 -62
  1049. package/internal/siteimport/status.go +0 -282
  1050. package/internal/siteimport/status_test.go +0 -234
  1051. package/internal/slowlogsapi/slowlogsapi.go +0 -176
  1052. package/internal/slowlogsapi/slowlogsapi_test.go +0 -93
  1053. package/internal/softwaresettings/format.go +0 -192
  1054. package/internal/softwaresettings/format_test.go +0 -123
  1055. package/internal/sqlexport/diskspace.go +0 -36
  1056. package/internal/sqlexport/diskspace_unix.go +0 -24
  1057. package/internal/sqlexport/diskspace_windows.go +0 -26
  1058. package/internal/sqlexport/download.go +0 -75
  1059. package/internal/sqlexport/download_test.go +0 -103
  1060. package/internal/sqlexport/export.go +0 -321
  1061. package/internal/sqlexport/export_test.go +0 -313
  1062. package/internal/sqlexport/format.go +0 -44
  1063. package/internal/sqlexport/livecopy.go +0 -150
  1064. package/internal/sqlexport/livecopy_test.go +0 -273
  1065. package/internal/sqlvalidation/devenv_checks_test.go +0 -134
  1066. package/internal/sqlvalidation/filename.go +0 -30
  1067. package/internal/sqlvalidation/line_by_line.go +0 -91
  1068. package/internal/sqlvalidation/line_by_line_test.go +0 -165
  1069. package/internal/sqlvalidation/multisite.go +0 -31
  1070. package/internal/sqlvalidation/multisite_test.go +0 -34
  1071. package/internal/sqlvalidation/sql.go +0 -510
  1072. package/internal/sqlvalidation/sql_test.go +0 -206
  1073. package/internal/sync/sync.go +0 -246
  1074. package/internal/sync/sync_test.go +0 -253
  1075. package/internal/telemetry/config.go +0 -34
  1076. package/internal/telemetry/default.go +0 -67
  1077. package/internal/telemetry/default_endpoint_test.go +0 -111
  1078. package/internal/telemetry/pendo.go +0 -185
  1079. package/internal/telemetry/pendo_auth_test.go +0 -92
  1080. package/internal/telemetry/pendo_test.go +0 -252
  1081. package/internal/telemetry/scrub.go +0 -90
  1082. package/internal/telemetry/scrub_test.go +0 -131
  1083. package/internal/telemetry/tracker.go +0 -102
  1084. package/internal/telemetry/tracker_test.go +0 -76
  1085. package/internal/telemetry/tracks.go +0 -82
  1086. package/internal/telemetry/tracks_test.go +0 -129
  1087. package/internal/telemetry/uuid.go +0 -50
  1088. package/internal/telemetry/uuid_test.go +0 -90
  1089. package/internal/tui/progress.go +0 -153
  1090. package/internal/tui/progress_test.go +0 -89
  1091. package/internal/tui/progress_tracker.go +0 -299
  1092. package/internal/tui/progress_tracker_test.go +0 -155
  1093. package/internal/update/archive.go +0 -134
  1094. package/internal/update/archive_test.go +0 -132
  1095. package/internal/update/download.go +0 -138
  1096. package/internal/update/download_test.go +0 -32
  1097. package/internal/update/github.go +0 -121
  1098. package/internal/update/install.go +0 -265
  1099. package/internal/update/install_test.go +0 -151
  1100. package/internal/update/lock_unix.go +0 -23
  1101. package/internal/update/lock_windows.go +0 -22
  1102. package/internal/update/native_test.go +0 -70
  1103. package/internal/update/notify.go +0 -91
  1104. package/internal/update/ownership.go +0 -117
  1105. package/internal/update/ownership_test.go +0 -102
  1106. package/internal/update/release.go +0 -120
  1107. package/internal/update/release_test.go +0 -168
  1108. package/internal/update/service.go +0 -197
  1109. package/internal/update/service_test.go +0 -118
  1110. package/internal/update/state.go +0 -116
  1111. package/internal/update/state_test.go +0 -132
  1112. package/internal/upload/debug_test.go +0 -76
  1113. package/internal/upload/filemeta.go +0 -112
  1114. package/internal/upload/filemeta_test.go +0 -94
  1115. package/internal/upload/multipart.go +0 -215
  1116. package/internal/upload/multipart_test.go +0 -210
  1117. package/internal/upload/orchestrate.go +0 -81
  1118. package/internal/upload/parts.go +0 -39
  1119. package/internal/upload/parts_test.go +0 -39
  1120. package/internal/upload/presign.go +0 -103
  1121. package/internal/upload/presign_test.go +0 -128
  1122. package/internal/upload/proxy_test.go +0 -55
  1123. package/internal/upload/putobject.go +0 -92
  1124. package/internal/upload/putobject_test.go +0 -79
  1125. package/internal/upload/retry.go +0 -45
  1126. package/internal/upload/upload.go +0 -22
  1127. package/internal/upload/xmlerror.go +0 -28
  1128. package/internal/validatefiles/files.go +0 -105
  1129. package/internal/validatefiles/files_test.go +0 -143
  1130. package/internal/validatefiles/report.go +0 -172
  1131. package/internal/validatefiles/validatefiles.go +0 -271
  1132. package/internal/validatefiles/validatefiles_test.go +0 -127
  1133. package/internal/version/stamp.go +0 -15
  1134. package/internal/version/stamp_test.go +0 -25
  1135. package/internal/version/version.go +0 -14
  1136. package/internal/version/version_test.go +0 -25
  1137. package/internal/wpshell/parser.go +0 -68
  1138. package/internal/wpshell/parser_test.go +0 -58
  1139. package/internal/wpshell/repl.go +0 -81
  1140. package/internal/wpshell/repl_test.go +0 -71
  1141. package/internal/wpshell/requote.go +0 -13
  1142. package/internal/wpshell/requote_test.go +0 -15
  1143. package/internal/wpssh/debug_test.go +0 -67
  1144. package/internal/wpssh/wpssh.go +0 -124
  1145. package/internal/wpssh/wpssh_test.go +0 -203
  1146. package/internal/wpstream/debug_test.go +0 -116
  1147. package/internal/wpstream/e2e_test.go +0 -178
  1148. package/internal/wpstream/engineio.go +0 -291
  1149. package/internal/wpstream/engineio_test.go +0 -82
  1150. package/internal/wpstream/iostream.go +0 -391
  1151. package/internal/wpstream/iostream_test.go +0 -138
  1152. package/internal/wpstream/run.go +0 -364
  1153. package/internal/wpstream/run_test.go +0 -184
  1154. package/internal/wpstream/socketio.go +0 -435
  1155. package/internal/wpstream/socketio_test.go +0 -402
  1156. package/internal/wpstream/testdata/fixture-server.js +0 -54
  1157. package/make.ps1 +0 -155
  1158. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs +0 -3
  1159. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs.map +0 -1
  1160. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.d.cts +0 -10
  1161. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.d.ts +0 -10
  1162. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js +0 -2
  1163. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js.map +0 -1
  1164. package/node_modules/argparse/LICENSE +0 -254
  1165. package/node_modules/argparse/README.md +0 -84
  1166. package/node_modules/argparse/package.json +0 -31
  1167. package/node_modules/lando/node_modules/cliui/build/index.cjs +0 -302
  1168. package/node_modules/lando/node_modules/cliui/build/lib/string-utils.js +0 -27
  1169. package/node_modules/lando/node_modules/js-yaml/README.md +0 -233
  1170. package/node_modules/lando/node_modules/js-yaml/bin/js-yaml.js +0 -117
  1171. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js +0 -3022
  1172. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js.map +0 -1
  1173. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js +0 -2
  1174. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js.map +0 -1
  1175. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs +0 -3082
  1176. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs.map +0 -1
  1177. package/node_modules/lando/node_modules/js-yaml/index.js +0 -44
  1178. package/node_modules/lando/node_modules/js-yaml/lib/common.js +0 -50
  1179. package/node_modules/lando/node_modules/js-yaml/lib/dumper.js +0 -937
  1180. package/node_modules/lando/node_modules/js-yaml/lib/exception.js +0 -51
  1181. package/node_modules/lando/node_modules/js-yaml/lib/index_vite_proxy.tmp.mjs +0 -37
  1182. package/node_modules/lando/node_modules/js-yaml/lib/loader.js +0 -1803
  1183. package/node_modules/lando/node_modules/js-yaml/lib/schema/core.js +0 -9
  1184. package/node_modules/lando/node_modules/js-yaml/lib/schema/default.js +0 -20
  1185. package/node_modules/lando/node_modules/js-yaml/lib/schema/failsafe.js +0 -14
  1186. package/node_modules/lando/node_modules/js-yaml/lib/schema/json.js +0 -17
  1187. package/node_modules/lando/node_modules/js-yaml/lib/schema.js +0 -109
  1188. package/node_modules/lando/node_modules/js-yaml/lib/snippet.js +0 -96
  1189. package/node_modules/lando/node_modules/js-yaml/lib/type/binary.js +0 -122
  1190. package/node_modules/lando/node_modules/js-yaml/lib/type/bool.js +0 -35
  1191. package/node_modules/lando/node_modules/js-yaml/lib/type/float.js +0 -99
  1192. package/node_modules/lando/node_modules/js-yaml/lib/type/int.js +0 -142
  1193. package/node_modules/lando/node_modules/js-yaml/lib/type/map.js +0 -8
  1194. package/node_modules/lando/node_modules/js-yaml/lib/type/merge.js +0 -12
  1195. package/node_modules/lando/node_modules/js-yaml/lib/type/null.js +0 -35
  1196. package/node_modules/lando/node_modules/js-yaml/lib/type/omap.js +0 -45
  1197. package/node_modules/lando/node_modules/js-yaml/lib/type/pairs.js +0 -50
  1198. package/node_modules/lando/node_modules/js-yaml/lib/type/seq.js +0 -8
  1199. package/node_modules/lando/node_modules/js-yaml/lib/type/set.js +0 -29
  1200. package/node_modules/lando/node_modules/js-yaml/lib/type/str.js +0 -8
  1201. package/node_modules/lando/node_modules/js-yaml/lib/type/timestamp.js +0 -88
  1202. package/node_modules/lando/node_modules/js-yaml/lib/type.js +0 -66
  1203. package/node_modules/lando/node_modules/js-yaml/package.json +0 -83
  1204. package/node_modules/lando/node_modules/wrap-ansi/index.js +0 -216
  1205. package/node_modules/lando/node_modules/wrap-ansi/package.json +0 -62
  1206. package/node_modules/lando/node_modules/wrap-ansi/readme.md +0 -91
  1207. package/node_modules/lando/node_modules/yargs/build/index.cjs +0 -2920
  1208. package/node_modules/lando/node_modules/yargs/helpers/index.js +0 -14
  1209. package/node_modules/lando/node_modules/yargs/index.cjs +0 -39
  1210. package/node_modules/lando/node_modules/yargs/yargs +0 -9
  1211. package/node_modules/lando/node_modules/yargs-parser/build/index.cjs +0 -1042
  1212. package/node_modules/lando/plugins/lando-test/index.js +0 -3
  1213. package/node_modules/lando/plugins/lando-test/plugin.yml +0 -2
  1214. package/packaging/macos/build-pkg.sh +0 -53
  1215. package/packaging/macos/preinstall +0 -33
  1216. package/packaging/macos/test-install.sh +0 -51
  1217. package/packaging/macos/test_package.py +0 -74
  1218. package/packaging/macos/uninstall.sh +0 -24
  1219. package/packaging/macos/verify-pkg.py +0 -61
  1220. package/packaging/windows/build-msi.ps1 +0 -153
  1221. package/packaging/windows/test-msi.ps1 +0 -225
  1222. package/packaging/windows/verify-msi.ps1 +0 -74
  1223. package/packaging/windows/vip-next.wxs +0 -79
  1224. package/scripts/catalog_script_test.go +0 -123
  1225. package/scripts/vip-next-command-catalog.sh +0 -506
  1226. package/test-utils/undici-mock.js +0 -25
  1227. package/testdata/installer-fixture/main.go +0 -40
  1228. package/testdata/parity/app-deploy-completed.yaml +0 -14
  1229. package/testdata/parity/app-deploy-missing-token.yaml +0 -21
  1230. package/testdata/parity/app-deploy-validate-clean.yaml +0 -11
  1231. package/testdata/parity/app-deploy-validate-missing-themes.yaml +0 -21
  1232. package/testdata/parity/app-get-baseline.yaml +0 -14
  1233. package/testdata/parity/app-get-custom-deploy.yaml +0 -14
  1234. package/testdata/parity/app-get-json.yaml +0 -14
  1235. package/testdata/parity/app-get-not-found.yaml +0 -13
  1236. package/testdata/parity/app-list-baseline.yaml +0 -14
  1237. package/testdata/parity/app-list-csv.yaml +0 -13
  1238. package/testdata/parity/app-list-empty.yaml +0 -13
  1239. package/testdata/parity/app-list-ids.yaml +0 -26
  1240. package/testdata/parity/app-list-json.yaml +0 -13
  1241. package/testdata/parity/app-list-unknown-format.yaml +0 -29
  1242. package/testdata/parity/backup-db-already-in-progress.yaml +0 -15
  1243. package/testdata/parity/backup-db-completed.yaml +0 -14
  1244. package/testdata/parity/backup-db-help.yaml +0 -10
  1245. package/testdata/parity/cache-purge-url-empty.yaml +0 -26
  1246. package/testdata/parity/cache-purge-url-from-file.yaml +0 -21
  1247. package/testdata/parity/cache-purge-url-multi.yaml +0 -19
  1248. package/testdata/parity/cache-purge-url-single.yaml +0 -18
  1249. package/testdata/parity/defensive-mode-enable-with-rechallenge.yaml +0 -20
  1250. package/testdata/parity/edge-workers-artifact-symlink.yaml +0 -8
  1251. package/testdata/parity/edge-workers-bare-location.yaml +0 -8
  1252. package/testdata/parity/edge-workers-bare-path.yaml +0 -8
  1253. package/testdata/parity/edge-workers-bare-type.yaml +0 -8
  1254. package/testdata/parity/edge-workers-build-all.yaml +0 -8
  1255. package/testdata/parity/edge-workers-build-compiler-error.yaml +0 -8
  1256. package/testdata/parity/edge-workers-build-empty.yaml +0 -8
  1257. package/testdata/parity/edge-workers-build-missing-compiler.yaml +0 -8
  1258. package/testdata/parity/edge-workers-build-name-all.yaml +0 -8
  1259. package/testdata/parity/edge-workers-build-one.yaml +0 -8
  1260. package/testdata/parity/edge-workers-delete-force.yaml +0 -8
  1261. package/testdata/parity/edge-workers-delete-rejected.yaml +0 -8
  1262. package/testdata/parity/edge-workers-deploy-active-update-enable.yaml +0 -8
  1263. package/testdata/parity/edge-workers-deploy-active-update.yaml +0 -8
  1264. package/testdata/parity/edge-workers-deploy-all-preparation-failure.yaml +0 -8
  1265. package/testdata/parity/edge-workers-deploy-create-enable.yaml +0 -8
  1266. package/testdata/parity/edge-workers-deploy-create.yaml +0 -8
  1267. package/testdata/parity/edge-workers-deploy-enable-failure.yaml +0 -8
  1268. package/testdata/parity/edge-workers-deploy-inactive-update-enable.yaml +0 -8
  1269. package/testdata/parity/edge-workers-deploy-inactive-update.yaml +0 -8
  1270. package/testdata/parity/edge-workers-deploy-location-clear.yaml +0 -8
  1271. package/testdata/parity/edge-workers-deploy-location-preserve.yaml +0 -8
  1272. package/testdata/parity/edge-workers-deploy-location-replace.yaml +0 -8
  1273. package/testdata/parity/edge-workers-deploy-name-all.yaml +0 -8
  1274. package/testdata/parity/edge-workers-deploy-production-refused.yaml +0 -8
  1275. package/testdata/parity/edge-workers-deploy-production-skip.yaml +0 -8
  1276. package/testdata/parity/edge-workers-deploy-skip-source-create.yaml +0 -8
  1277. package/testdata/parity/edge-workers-deploy-skip-source.yaml +0 -8
  1278. package/testdata/parity/edge-workers-deploy-skip-validate.yaml +0 -8
  1279. package/testdata/parity/edge-workers-deploy-source-empty.yaml +0 -8
  1280. package/testdata/parity/edge-workers-deploy-upload-failure.yaml +0 -8
  1281. package/testdata/parity/edge-workers-disable.yaml +0 -8
  1282. package/testdata/parity/edge-workers-double-dash.yaml +0 -8
  1283. package/testdata/parity/edge-workers-duplicate-names.yaml +0 -8
  1284. package/testdata/parity/edge-workers-enable-production-refused.yaml +0 -8
  1285. package/testdata/parity/edge-workers-enable.yaml +0 -8
  1286. package/testdata/parity/edge-workers-entry-escape.yaml +0 -8
  1287. package/testdata/parity/edge-workers-get-empty-source.yaml +0 -8
  1288. package/testdata/parity/edge-workers-get-missing.yaml +0 -8
  1289. package/testdata/parity/edge-workers-get-no-source.yaml +0 -8
  1290. package/testdata/parity/edge-workers-get-source.yaml +0 -8
  1291. package/testdata/parity/edge-workers-get.yaml +0 -8
  1292. package/testdata/parity/edge-workers-init-invalid-type.yaml +0 -8
  1293. package/testdata/parity/edge-workers-init-nonempty.yaml +0 -8
  1294. package/testdata/parity/edge-workers-init.yaml +0 -8
  1295. package/testdata/parity/edge-workers-json-control-name.yaml +0 -8
  1296. package/testdata/parity/edge-workers-list-csv.yaml +0 -8
  1297. package/testdata/parity/edge-workers-list-empty-json.yaml +0 -8
  1298. package/testdata/parity/edge-workers-list-empty.yaml +0 -8
  1299. package/testdata/parity/edge-workers-list-json.yaml +0 -8
  1300. package/testdata/parity/edge-workers-list-table.yaml +0 -8
  1301. package/testdata/parity/edge-workers-mutation-graphql-error.yaml +0 -8
  1302. package/testdata/parity/edge-workers-mutation-null.yaml +0 -8
  1303. package/testdata/parity/edge-workers-new-invalid-location.yaml +0 -8
  1304. package/testdata/parity/edge-workers-new-invalid-name.yaml +0 -8
  1305. package/testdata/parity/edge-workers-new-location.yaml +0 -8
  1306. package/testdata/parity/edge-workers-new.yaml +0 -8
  1307. package/testdata/parity/edge-workers-read-null.yaml +0 -8
  1308. package/testdata/parity/edge-workers-repeated-path.yaml +0 -8
  1309. package/testdata/parity/edge-workers-repeated-type.yaml +0 -8
  1310. package/testdata/parity/edge-workers-short-equals.yaml +0 -8
  1311. package/testdata/parity/edge-workers-table-control-name.yaml +0 -8
  1312. package/testdata/parity/edge-workers-unicode-order.yaml +0 -8
  1313. package/testdata/parity/edge-workers-validate-all.yaml +0 -8
  1314. package/testdata/parity/edge-workers-validate-invalid.yaml +0 -8
  1315. package/testdata/parity/edge-workers-validate-name-all.yaml +0 -8
  1316. package/testdata/parity/edge-workers-validate-no-artifact.yaml +0 -8
  1317. package/testdata/parity/edge-workers-validate-no-name.yaml +0 -8
  1318. package/testdata/parity/edge-workers-validate-null.yaml +0 -8
  1319. package/testdata/parity/edge-workers-validate.yaml +0 -8
  1320. package/testdata/parity/envvar-delete-baseline.yaml +0 -19
  1321. package/testdata/parity/envvar-delete-prod-cancel.yaml +0 -41
  1322. package/testdata/parity/envvar-delete-typed-mismatch.yaml +0 -44
  1323. package/testdata/parity/envvar-get-baseline.yaml +0 -14
  1324. package/testdata/parity/envvar-get-lowercase-input.yaml +0 -14
  1325. package/testdata/parity/envvar-get-named-help.yaml +0 -24
  1326. package/testdata/parity/envvar-get-not-found.yaml +0 -17
  1327. package/testdata/parity/envvar-getall-baseline.yaml +0 -14
  1328. package/testdata/parity/envvar-getall-empty.yaml +0 -15
  1329. package/testdata/parity/envvar-getall-keyvalue.yaml +0 -22
  1330. package/testdata/parity/envvar-list-baseline.yaml +0 -15
  1331. package/testdata/parity/envvar-list-empty.yaml +0 -15
  1332. package/testdata/parity/envvar-list-ids.yaml +0 -14
  1333. package/testdata/parity/envvar-list-json.yaml +0 -14
  1334. package/testdata/parity/envvar-list-keyvalue.yaml +0 -22
  1335. package/testdata/parity/envvar-set-baseline.yaml +0 -21
  1336. package/testdata/parity/envvar-set-invalid-name.yaml +0 -20
  1337. package/testdata/parity/envvar-set-newrelic-blocked.yaml +0 -21
  1338. package/testdata/parity/envvar-set-prod-cancel.yaml +0 -42
  1339. package/testdata/parity/envvar-set-prod-confirm-skipped.yaml +0 -20
  1340. package/testdata/parity/export-sql-completed.yaml +0 -14
  1341. package/testdata/parity/export-sql-config-conflict.yaml +0 -21
  1342. package/testdata/parity/export-sql-help.yaml +0 -11
  1343. package/testdata/parity/import-media-abort-noninteractive.yaml +0 -19
  1344. package/testdata/parity/import-media-help.yaml +0 -12
  1345. package/testdata/parity/import-media-invalid-archive.yaml +0 -18
  1346. package/testdata/parity/import-media-status-completed.yaml +0 -19
  1347. package/testdata/parity/import-media-status-failed.yaml +0 -18
  1348. package/testdata/parity/import-media-url-completed.yaml +0 -18
  1349. package/testdata/parity/import-sql-bad-extension.yaml +0 -26
  1350. package/testdata/parity/import-sql-help.yaml +0 -12
  1351. package/testdata/parity/import-sql-in-progress.yaml +0 -26
  1352. package/testdata/parity/import-sql-invalid-md5.yaml +0 -27
  1353. package/testdata/parity/import-sql-noninteractive-abort.yaml +0 -20
  1354. package/testdata/parity/import-sql-status-completed.yaml +0 -17
  1355. package/testdata/parity/import-sql-status-no-job.yaml +0 -17
  1356. package/testdata/parity/import-sql-validation-failure.yaml +0 -18
  1357. package/testdata/parity/import-validate-files-clean.yaml +0 -18
  1358. package/testdata/parity/import-validate-files-not-dir.yaml +0 -16
  1359. package/testdata/parity/import-validate-sql-clean.yaml +0 -23
  1360. package/testdata/parity/import-validate-sql-dangerous-stmt.yaml +0 -27
  1361. package/testdata/parity/import-validate-sql-multisite-warn.yaml +0 -23
  1362. package/testdata/parity/logs-baseline.yaml +0 -24
  1363. package/testdata/parity/logs-batch.yaml +0 -24
  1364. package/testdata/parity/logs-empty.yaml +0 -15
  1365. package/testdata/parity/logs-format-json.yaml +0 -15
  1366. package/testdata/parity/logs-limit-100.yaml +0 -24
  1367. package/testdata/parity/phpmyadmin-error.yaml +0 -24
  1368. package/testdata/parity/phpmyadmin-print.yaml +0 -22
  1369. package/testdata/parity/phpmyadmin-silent.yaml +0 -16
  1370. package/testdata/parity/recordings/app-get-baseline/app.json +0 -11
  1371. package/testdata/parity/recordings/app-get-custom-deploy/app.json +0 -8
  1372. package/testdata/parity/recordings/app-get-json/app.json +0 -11
  1373. package/testdata/parity/recordings/app-get-not-found/app.json +0 -1
  1374. package/testdata/parity/recordings/app-list-baseline/apps.json +0 -1
  1375. package/testdata/parity/recordings/app-list-csv/apps.json +0 -1
  1376. package/testdata/parity/recordings/app-list-empty/apps.json +0 -1
  1377. package/testdata/parity/recordings/app-list-json/apps.json +0 -1
  1378. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-1.json +0 -1
  1379. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-2.json +0 -1
  1380. package/testdata/parity/recordings/backup-db-completed/backup-status-1.json +0 -1
  1381. package/testdata/parity/recordings/backup-db-completed/backup-status-2.json +0 -1
  1382. package/testdata/parity/recordings/backup-db-completed/backup-status-3.json +0 -1
  1383. package/testdata/parity/recordings/cache-purge-url-empty/resolve-app.json +0 -1
  1384. package/testdata/parity/recordings/cache-purge-url-from-file/purge.json +0 -1
  1385. package/testdata/parity/recordings/cache-purge-url-from-file/resolve-app.json +0 -1
  1386. package/testdata/parity/recordings/cache-purge-url-from-file/urls.txt +0 -2
  1387. package/testdata/parity/recordings/cache-purge-url-multi/purge.json +0 -1
  1388. package/testdata/parity/recordings/cache-purge-url-multi/resolve-app.json +0 -1
  1389. package/testdata/parity/recordings/cache-purge-url-single/purge.json +0 -1
  1390. package/testdata/parity/recordings/cache-purge-url-single/resolve-app.json +0 -1
  1391. package/testdata/parity/recordings/config-software-get/resolve-app.json +0 -1
  1392. package/testdata/parity/recordings/config-software-update/resolve-app.json +0 -1
  1393. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-elevated.json +0 -1
  1394. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-success.json +0 -1
  1395. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-create-session.json +0 -1
  1396. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-exchange.json +0 -1
  1397. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-status-verified.json +0 -1
  1398. package/testdata/parity/recordings/envvar-delete-baseline/delete.json +0 -1
  1399. package/testdata/parity/recordings/envvar-delete-baseline/resolve-app.json +0 -1
  1400. package/testdata/parity/recordings/envvar-delete-prod-cancel/resolve-app.json +0 -1
  1401. package/testdata/parity/recordings/envvar-delete-typed-mismatch/resolve-app.json +0 -1
  1402. package/testdata/parity/recordings/envvar-get-baseline/envvars.json +0 -1
  1403. package/testdata/parity/recordings/envvar-get-baseline/resolve-app.json +0 -1
  1404. package/testdata/parity/recordings/envvar-get-lowercase-input/envvars.json +0 -1
  1405. package/testdata/parity/recordings/envvar-get-lowercase-input/resolve-app.json +0 -1
  1406. package/testdata/parity/recordings/envvar-get-named-help/envvars.json +0 -1
  1407. package/testdata/parity/recordings/envvar-get-named-help/resolve-app.json +0 -1
  1408. package/testdata/parity/recordings/envvar-get-not-found/envvars.json +0 -1
  1409. package/testdata/parity/recordings/envvar-get-not-found/resolve-app.json +0 -1
  1410. package/testdata/parity/recordings/envvar-getall-baseline/envvars.json +0 -1
  1411. package/testdata/parity/recordings/envvar-getall-baseline/resolve-app.json +0 -1
  1412. package/testdata/parity/recordings/envvar-getall-empty/envvars.json +0 -1
  1413. package/testdata/parity/recordings/envvar-getall-empty/resolve-app.json +0 -1
  1414. package/testdata/parity/recordings/envvar-getall-keyvalue/envvars.json +0 -1
  1415. package/testdata/parity/recordings/envvar-getall-keyvalue/resolve-app.json +0 -1
  1416. package/testdata/parity/recordings/envvar-list-baseline/envvars.json +0 -1
  1417. package/testdata/parity/recordings/envvar-list-baseline/resolve-app.json +0 -1
  1418. package/testdata/parity/recordings/envvar-list-empty/envvars.json +0 -1
  1419. package/testdata/parity/recordings/envvar-list-empty/resolve-app.json +0 -1
  1420. package/testdata/parity/recordings/envvar-list-ids/envvars.json +0 -1
  1421. package/testdata/parity/recordings/envvar-list-ids/resolve-app.json +0 -1
  1422. package/testdata/parity/recordings/envvar-list-json/envvars.json +0 -1
  1423. package/testdata/parity/recordings/envvar-list-json/resolve-app.json +0 -1
  1424. package/testdata/parity/recordings/envvar-list-keyvalue/envvars.json +0 -1
  1425. package/testdata/parity/recordings/envvar-list-keyvalue/resolve-app.json +0 -1
  1426. package/testdata/parity/recordings/envvar-set-baseline/add.json +0 -1
  1427. package/testdata/parity/recordings/envvar-set-baseline/resolve-app.json +0 -1
  1428. package/testdata/parity/recordings/envvar-set-baseline/value.txt +0 -1
  1429. package/testdata/parity/recordings/envvar-set-invalid-name/resolve-app.json +0 -1
  1430. package/testdata/parity/recordings/envvar-set-invalid-name/value.txt +0 -1
  1431. package/testdata/parity/recordings/envvar-set-newrelic-blocked/resolve-app.json +0 -1
  1432. package/testdata/parity/recordings/envvar-set-newrelic-blocked/value.txt +0 -1
  1433. package/testdata/parity/recordings/envvar-set-prod-cancel/resolve-app.json +0 -1
  1434. package/testdata/parity/recordings/envvar-set-prod-cancel/value.txt +0 -1
  1435. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/add.json +0 -1
  1436. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/resolve-app.json +0 -1
  1437. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/value.txt +0 -1
  1438. package/testdata/parity/recordings/export-sql-completed/export-status-1.json +0 -1
  1439. package/testdata/parity/recordings/export-sql-completed/export-status-2.json +0 -1
  1440. package/testdata/parity/recordings/import-media-invalid-archive/file.sql +0 -1
  1441. package/testdata/parity/recordings/import-media-shared/abort-media-import.json +0 -1
  1442. package/testdata/parity/recordings/import-media-shared/env-info.json +0 -1
  1443. package/testdata/parity/recordings/import-media-shared/resolve-app.json +0 -1
  1444. package/testdata/parity/recordings/import-media-shared/start-media-import.json +0 -1
  1445. package/testdata/parity/recordings/import-media-status-completed/progress.json +0 -1
  1446. package/testdata/parity/recordings/import-media-status-failed/progress.json +0 -1
  1447. package/testdata/parity/recordings/import-media-url-completed/progress.json +0 -1
  1448. package/testdata/parity/recordings/import-sql-bad-extension/file.txt +0 -1
  1449. package/testdata/parity/recordings/import-sql-in-progress/env-info.json +0 -1
  1450. package/testdata/parity/recordings/import-sql-in-progress/resolve-app.json +0 -1
  1451. package/testdata/parity/recordings/import-sql-noninteractive-abort/clean.sql +0 -5
  1452. package/testdata/parity/recordings/import-sql-shared/env-info.json +0 -1
  1453. package/testdata/parity/recordings/import-sql-shared/multisite.json +0 -1
  1454. package/testdata/parity/recordings/import-sql-shared/resolve-app.json +0 -1
  1455. package/testdata/parity/recordings/import-sql-status-completed/progress.json +0 -1
  1456. package/testdata/parity/recordings/import-sql-status-no-job/progress.json +0 -1
  1457. package/testdata/parity/recordings/import-sql-validation-failure/dirty.sql +0 -6
  1458. package/testdata/parity/recordings/import-validate-files-clean/config.json +0 -1
  1459. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/a.jpg +0 -1
  1460. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/b.png +0 -1
  1461. package/testdata/parity/recordings/import-validate-sql-clean/clean.sql +0 -17
  1462. package/testdata/parity/recordings/import-validate-sql-dangerous-stmt/dangerous.sql +0 -11
  1463. package/testdata/parity/recordings/import-validate-sql-multisite-warn/multisite.sql +0 -12
  1464. package/testdata/parity/recordings/logs-baseline/logs.json +0 -1
  1465. package/testdata/parity/recordings/logs-baseline/resolve-app.json +0 -1
  1466. package/testdata/parity/recordings/logs-batch/logs.json +0 -1
  1467. package/testdata/parity/recordings/logs-batch/resolve-app.json +0 -1
  1468. package/testdata/parity/recordings/logs-empty/logs.json +0 -1
  1469. package/testdata/parity/recordings/logs-empty/resolve-app.json +0 -1
  1470. package/testdata/parity/recordings/logs-format-json/logs.json +0 -1
  1471. package/testdata/parity/recordings/logs-format-json/resolve-app.json +0 -1
  1472. package/testdata/parity/recordings/logs-limit-100/logs.json +0 -1
  1473. package/testdata/parity/recordings/logs-limit-100/resolve-app.json +0 -1
  1474. package/testdata/parity/recordings/m7c-shared/resolve-app.json +0 -1
  1475. package/testdata/parity/recordings/phpmyadmin-error/enable.json +0 -1
  1476. package/testdata/parity/recordings/phpmyadmin-error/resolve-app.json +0 -1
  1477. package/testdata/parity/recordings/phpmyadmin-print/enable.json +0 -1
  1478. package/testdata/parity/recordings/phpmyadmin-print/generate.json +0 -1
  1479. package/testdata/parity/recordings/phpmyadmin-print/resolve-app.json +0 -1
  1480. package/testdata/parity/recordings/phpmyadmin-print/status.json +0 -1
  1481. package/testdata/parity/recordings/phpmyadmin-silent/enable.json +0 -1
  1482. package/testdata/parity/recordings/phpmyadmin-silent/generate.json +0 -1
  1483. package/testdata/parity/recordings/phpmyadmin-silent/resolve-app.json +0 -1
  1484. package/testdata/parity/recordings/phpmyadmin-silent/status.json +0 -1
  1485. package/testdata/parity/recordings/slowlogs-baseline/resolve-app.json +0 -1
  1486. package/testdata/parity/recordings/slowlogs-baseline/slowlogs.json +0 -1
  1487. package/testdata/parity/recordings/slowlogs-csv/resolve-app.json +0 -1
  1488. package/testdata/parity/recordings/slowlogs-csv/slowlogs.json +0 -1
  1489. package/testdata/parity/recordings/slowlogs-empty/resolve-app.json +0 -1
  1490. package/testdata/parity/recordings/slowlogs-empty/slowlogs.json +0 -1
  1491. package/testdata/parity/recordings/slowlogs-limit-50/resolve-app.json +0 -1
  1492. package/testdata/parity/recordings/slowlogs-limit-50/slowlogs.json +0 -1
  1493. package/testdata/parity/recordings/sync-already-syncing/resolve-app.json +0 -1
  1494. package/testdata/parity/recordings/sync-already-syncing/sync-start.json +0 -1
  1495. package/testdata/parity/recordings/sync-already-syncing/sync-status-1.json +0 -1
  1496. package/testdata/parity/recordings/sync-already-syncing/sync-status-2.json +0 -1
  1497. package/testdata/parity/recordings/sync-baseline/resolve-app.json +0 -1
  1498. package/testdata/parity/recordings/sync-baseline/sync-start.json +0 -1
  1499. package/testdata/parity/recordings/sync-baseline/sync-status-1.json +0 -1
  1500. package/testdata/parity/recordings/sync-baseline/sync-status-2.json +0 -1
  1501. package/testdata/parity/recordings/whoami-baseline/me-response.json +0 -1
  1502. package/testdata/parity/recordings/wp-nodejs-rejected/resolve-app.json +0 -1
  1503. package/testdata/parity/recordings/wp-production-confirm-decline/resolve-app.json +0 -1
  1504. package/testdata/parity/recordings/wp-ssh-happy/resolve-app.json +0 -1
  1505. package/testdata/parity/recordings/wp-websocket-redirect/resolve-app.json +0 -1
  1506. package/testdata/parity/slowlogs-baseline.yaml +0 -18
  1507. package/testdata/parity/slowlogs-csv.yaml +0 -16
  1508. package/testdata/parity/slowlogs-empty.yaml +0 -17
  1509. package/testdata/parity/slowlogs-limit-50.yaml +0 -16
  1510. package/testdata/parity/sync-already-syncing.yaml +0 -20
  1511. package/testdata/parity/sync-baseline.yaml +0 -19
  1512. package/testdata/parity/version-smoke.yaml +0 -14
  1513. package/testdata/parity/whoami-baseline.yaml +0 -14
  1514. package/testdata/parity/wp-help.yaml +0 -12
  1515. package/testdata/parity/wp-nodejs-rejected.yaml +0 -13
  1516. package/testdata/parity/wp-production-confirm-decline.yaml +0 -14
  1517. package/testdata/parity/wp-ssh-happy.yaml +0 -15
  1518. package/testdata/parity/wp-websocket-redirect.yaml +0 -14
  1519. package/testdata/parity-local/app-get-csv.yaml +0 -8
  1520. package/testdata/parity-local/app-get-json.yaml +0 -8
  1521. package/testdata/parity-local/app-get-table.yaml +0 -8
  1522. package/testdata/parity-local/app-list-csv.yaml +0 -8
  1523. package/testdata/parity-local/app-list-json.yaml +0 -8
  1524. package/testdata/parity-local/app-list-table.yaml +0 -8
  1525. package/testdata/parity-local/edge-workers/basic/edge-workers.json +0 -1
  1526. package/testdata/parity-local/edge-workers/basic/workers/headers/assembly/index.ts +0 -1
  1527. package/testdata/parity-local/edge-workers/basic/workers/headers/worker.json +0 -1
  1528. package/testdata/parity-local/edge-workers/two-workers/edge-workers.json +0 -1
  1529. package/testdata/parity-local/edge-workers/two-workers/workers/a/assembly/index.ts +0 -1
  1530. package/testdata/parity-local/edge-workers/two-workers/workers/a/worker.json +0 -1
  1531. package/testdata/parity-local/edge-workers/two-workers/workers/b/assembly/index.ts +0 -1
  1532. package/testdata/parity-local/edge-workers/two-workers/workers/b/worker.json +0 -1
  1533. package/testdata/parity-local/envvar-list-csv.yaml +0 -8
  1534. package/testdata/parity-local/envvar-list-ids.yaml +0 -8
  1535. package/testdata/parity-local/envvar-list-json.yaml +0 -8
  1536. package/testdata/parity-local/envvar-list-keyvalue.yaml +0 -8
  1537. package/testdata/parity-local/envvar-list-table.yaml +0 -8
  1538. package/testdata/parity-local/software-get-csv.yaml +0 -8
  1539. package/testdata/parity-local/software-get-json.yaml +0 -8
  1540. package/testdata/parity-local/software-get-table.yaml +0 -8
  1541. package/testdata/parity-local/whoami.yaml +0 -8
  1542. package/testdata/update-fixture/main.go +0 -62
  1543. package/third_party/go-search-replace/MANIFEST +0 -33
  1544. package/tsconfig.json +0 -25
  1545. /package/node_modules/lando/node_modules/{wrap-ansi → ansi-regex}/license +0 -0
@@ -1,4 +1,4 @@
1
- /*! Axios v1.18.1 Copyright (c) 2026 Matt Zabriskie and contributors */
1
+ /*! Axios v1.20.0 Copyright (c) 2026 Matt Zabriskie and contributors */
2
2
  'use strict';
3
3
 
4
4
  var FormData$1 = require('form-data');
@@ -45,13 +45,57 @@ const {
45
45
  const hasOwnProperty = (({
46
46
  hasOwnProperty
47
47
  }) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
48
+ const isUnsafeObjectKey = prop => typeof prop === 'string' && (prop === '__proto__' || prop === 'constructor' || prop === 'prototype');
48
49
 
49
50
  /**
50
- * Walk the prototype chain (excluding the shared Object.prototype) looking for
51
- * an own `prop`. This distinguishes genuine own/inherited members — including
52
- * class accessors and template prototypes — from members injected via
53
- * Object.prototype pollution (e.g. `Object.prototype.username = '...'`), which
54
- * live on Object.prototype itself and are therefore never matched.
51
+ * Determine whether an inherited object must be treated as a shared-prototype
52
+ * boundary. Cross-realm Object.prototype objects cannot be distinguished
53
+ * reliably from application-created null-prototype objects because their
54
+ * properties are mutable, so all inherited terminal prototypes are excluded
55
+ * as a fail-closed boundary. A null-prototype source still keeps its own
56
+ * properties, as produced by mergeConfig and other safe materialization paths.
57
+ *
58
+ * @param {*} obj The object to inspect
59
+ * @param {*} prototype The object's prototype
60
+ * @param {boolean} source Whether obj is the original traversal source
61
+ *
62
+ * @returns {boolean} True when obj is a safe prototype traversal boundary
63
+ */
64
+ const isPrototypeBoundary = (obj, prototype, source) => obj === Object.prototype || !source && prototype === null;
65
+
66
+ /**
67
+ * Determine whether an object can retain its identity through code paths that
68
+ * add, replace, and remove config properties without bypassing unsafe-key
69
+ * filtering. Immutable objects, unsafe-key-bearing objects, and objects with
70
+ * accessor or restricted data properties must be materialized instead.
71
+ *
72
+ * @param {*} obj The object to inspect
73
+ *
74
+ * @returns {boolean} True when every own property is safe and fully mutable
75
+ */
76
+ const isSafeAndFullyMutable = obj => {
77
+ if (!Object.isExtensible(obj)) {
78
+ return false;
79
+ }
80
+ const props = Object.getOwnPropertyNames(obj);
81
+ if (Object.getOwnPropertySymbols) {
82
+ props.push(...Object.getOwnPropertySymbols(obj));
83
+ }
84
+ return props.every(prop => {
85
+ if (isUnsafeObjectKey(prop)) {
86
+ return false;
87
+ }
88
+ const descriptor = Object.getOwnPropertyDescriptor(obj, prop);
89
+ return !!descriptor && descriptor.configurable && descriptor.writable === true;
90
+ });
91
+ };
92
+
93
+ /**
94
+ * Walk the prototype chain (excluding the source realm's Object.prototype)
95
+ * looking for an own `prop`. This distinguishes genuine own/inherited members
96
+ * — including class accessors and template prototypes — from members injected
97
+ * via Object.prototype pollution (e.g. `Object.prototype.username = '...'`),
98
+ * which live on Object.prototype itself and are therefore never matched.
55
99
  *
56
100
  * @param {*} thing The value whose chain to inspect
57
101
  * @param {string|symbol} prop The property key to look for
@@ -61,15 +105,19 @@ const hasOwnProperty = (({
61
105
  const hasOwnInPrototypeChain = (thing, prop) => {
62
106
  let obj = thing;
63
107
  const seen = [];
64
- while (obj != null && obj !== Object.prototype) {
108
+ while (obj != null) {
65
109
  if (seen.indexOf(obj) !== -1) {
66
110
  return false;
67
111
  }
68
112
  seen.push(obj);
113
+ const prototype = getPrototypeOf(obj);
114
+ if (isPrototypeBoundary(obj, prototype, obj === thing)) {
115
+ return false;
116
+ }
69
117
  if (hasOwnProperty(obj, prop)) {
70
118
  return true;
71
119
  }
72
- obj = getPrototypeOf(obj);
120
+ obj = prototype;
73
121
  }
74
122
  return false;
75
123
  };
@@ -86,6 +134,56 @@ const hasOwnInPrototypeChain = (thing, prop) => {
86
134
  * @returns {*} The resolved value, or undefined when unsafe/absent
87
135
  */
88
136
  const getSafeProp = (obj, prop) => obj != null && hasOwnInPrototypeChain(obj, prop) ? obj[prop] : undefined;
137
+
138
+ /**
139
+ * Flatten an object and its application-defined prototype chain into a
140
+ * null-prototype object. Members inherited only from the source realm's
141
+ * Object.prototype are deliberately excluded, while class/template members
142
+ * below that boundary are preserved.
143
+ *
144
+ * @param {*} thing The value to flatten
145
+ *
146
+ * @returns {*} A null-prototype copy, or the original value when it is already
147
+ * structurally safe or is not an object
148
+ */
149
+ const toSafeFlatObject = thing => {
150
+ if (thing == null || typeof thing !== 'object' && typeof thing !== 'function') {
151
+ return thing;
152
+ }
153
+ const sourcePrototype = getPrototypeOf(thing);
154
+ if (sourcePrototype === null && isSafeAndFullyMutable(thing)) {
155
+ return thing;
156
+ }
157
+ const result = Object.create(null);
158
+ const merged = Object.create(null);
159
+ const seen = [];
160
+ let current = thing;
161
+ while (current != null) {
162
+ if (seen.indexOf(current) !== -1) {
163
+ break;
164
+ }
165
+ seen.push(current);
166
+ const prototype = current === thing ? sourcePrototype : getPrototypeOf(current);
167
+ if (isPrototypeBoundary(current, prototype, current === thing)) {
168
+ break;
169
+ }
170
+ const props = Object.getOwnPropertyNames(current);
171
+ if (Object.getOwnPropertySymbols) {
172
+ props.push(...Object.getOwnPropertySymbols(current));
173
+ }
174
+ for (const prop of props) {
175
+ if (isUnsafeObjectKey(prop)) {
176
+ continue;
177
+ }
178
+ if (!hasOwnProperty(merged, prop)) {
179
+ result[prop] = thing[prop];
180
+ merged[prop] = true;
181
+ }
182
+ }
183
+ current = prototype;
184
+ }
185
+ return result;
186
+ };
89
187
  const kindOf = (cache => thing => {
90
188
  const str = toString.call(thing);
91
189
  return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
@@ -209,9 +307,9 @@ const isPlainObject = val => {
209
307
  }
210
308
  const prototype = getPrototypeOf(val);
211
309
  return (prototype === null || prototype === Object.prototype || getPrototypeOf(prototype) === null) &&
212
- // Treat any genuine (non-Object.prototype-polluted) Symbol.toStringTag or
213
- // Symbol.iterator as evidence the value is a tagged/iterable type rather
214
- // than a plain object, while ignoring keys injected onto Object.prototype.
310
+ // Treat safe own/inherited Symbol.toStringTag or Symbol.iterator members as
311
+ // evidence the value is tagged/iterable, while ignoring members reachable
312
+ // only through shared or terminal prototype boundaries.
215
313
  !hasOwnInPrototypeChain(val, toStringTag) && !hasOwnInPrototypeChain(val, iterator);
216
314
  };
217
315
 
@@ -295,6 +393,7 @@ const isBlob = kindOfTest('Blob');
295
393
  * @returns {boolean} True if value is a FileList, otherwise false
296
394
  */
297
395
  const isFileList = kindOfTest('FileList');
396
+ const isSet = kindOfTest('Set');
298
397
 
299
398
  /**
300
399
  * Determine if a value is a Stream
@@ -817,11 +916,20 @@ const toJSONObject = obj => {
817
916
  if (!('toJSON' in source)) {
818
917
  // add-on descent / delete-on-ascent: preserves path semantics, so DAG nodes serialise at every occurrence (see #7230).
819
918
  visited.add(source);
820
- const target = isArray(source) ? [] : {};
821
- forEach(source, (value, key) => {
822
- const reducedValue = visit(value);
823
- !isUndefined(reducedValue) && (target[key] = reducedValue);
824
- });
919
+ let target;
920
+ if (isSet(source)) {
921
+ target = [];
922
+ for (const value of source) {
923
+ const reducedValue = visit(value);
924
+ !isUndefined(reducedValue) && target.push(reducedValue);
925
+ }
926
+ } else {
927
+ target = isArray(source) ? [] : {};
928
+ forEach(source, (value, key) => {
929
+ const reducedValue = visit(value);
930
+ !isUndefined(reducedValue) && (target[key] = reducedValue);
931
+ });
932
+ }
825
933
  visited.delete(source);
826
934
  return target;
827
935
  }
@@ -949,6 +1057,7 @@ var utils$1 = {
949
1057
  // an alias to avoid ESLint no-prototype-builtins detection
950
1058
  hasOwnInPrototypeChain,
951
1059
  getSafeProp,
1060
+ toSafeFlatObject,
952
1061
  reduceDescriptors,
953
1062
  freezeMethods,
954
1063
  toObjectSet,
@@ -995,17 +1104,18 @@ var parseHeaders = rawHeaders => {
995
1104
  i = line.indexOf(':');
996
1105
  key = line.substring(0, i).trim().toLowerCase();
997
1106
  val = line.substring(i + 1).trim();
998
- if (!key || parsed[key] && ignoreDuplicateOf[key]) {
1107
+ const hasKey = utils$1.hasOwnProp(parsed, key);
1108
+ if (!key || hasKey && utils$1.hasOwnProp(ignoreDuplicateOf, key)) {
999
1109
  return;
1000
1110
  }
1001
1111
  if (key === 'set-cookie') {
1002
- if (parsed[key]) {
1112
+ if (hasKey) {
1003
1113
  parsed[key].push(val);
1004
1114
  } else {
1005
1115
  parsed[key] = [val];
1006
1116
  }
1007
1117
  } else {
1008
- parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
1118
+ parsed[key] = hasKey ? parsed[key] + ', ' + val : val;
1009
1119
  }
1010
1120
  });
1011
1121
  return parsed;
@@ -1052,7 +1162,7 @@ function toByteStringHeaderObject(headers) {
1052
1162
  return byteStringHeaders;
1053
1163
  }
1054
1164
 
1055
- const $internals = Symbol('internals');
1165
+ const $internals$1 = Symbol('internals');
1056
1166
  function normalizeHeader(header) {
1057
1167
  return header && String(header).trim().toLowerCase();
1058
1168
  }
@@ -1071,6 +1181,90 @@ function parseTokens(str) {
1071
1181
  }
1072
1182
  return tokens;
1073
1183
  }
1184
+ const parameterNameRE = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
1185
+ function trimOWS(value) {
1186
+ let start = 0;
1187
+ let end = value.length;
1188
+ while (start < end) {
1189
+ const code = value.charCodeAt(start);
1190
+ if (code !== 0x09 && code !== 0x20) {
1191
+ break;
1192
+ }
1193
+ start += 1;
1194
+ }
1195
+ while (end > start) {
1196
+ const code = value.charCodeAt(end - 1);
1197
+ if (code !== 0x09 && code !== 0x20) {
1198
+ break;
1199
+ }
1200
+ end -= 1;
1201
+ }
1202
+ return start === 0 && end === value.length ? value : value.slice(start, end);
1203
+ }
1204
+ function decodeQuotedString(value) {
1205
+ const last = value.length - 1;
1206
+ if (last < 1 || value.charCodeAt(0) !== 0x22 || value.charCodeAt(last) !== 0x22) {
1207
+ return value;
1208
+ }
1209
+ let decoded = '';
1210
+ for (let i = 1; i < last; i++) {
1211
+ const code = value.charCodeAt(i);
1212
+ if (code === 0x22) {
1213
+ return value;
1214
+ }
1215
+ if (code === 0x5c) {
1216
+ i += 1;
1217
+ if (i >= last) {
1218
+ return value;
1219
+ }
1220
+ }
1221
+ decoded += value[i];
1222
+ }
1223
+ return decoded;
1224
+ }
1225
+ function parseParameters(value) {
1226
+ const parameters = Object.create(null);
1227
+ const str = String(value);
1228
+ let start = 0;
1229
+ let quoted = false;
1230
+ let escaped = false;
1231
+ function parseParameter(end) {
1232
+ const part = trimOWS(str.slice(start, end));
1233
+ const equals = part.indexOf('=');
1234
+ if (equals < 1) {
1235
+ return;
1236
+ }
1237
+ const name = trimOWS(part.slice(0, equals));
1238
+ if (!parameterNameRE.test(name)) {
1239
+ return;
1240
+ }
1241
+ const normalizedName = name.toLowerCase();
1242
+ if (normalizedName === '__proto__' || normalizedName === 'constructor' || normalizedName === 'prototype') {
1243
+ return;
1244
+ }
1245
+ const parameterValue = trimOWS(part.slice(equals + 1));
1246
+ parameters[normalizedName] = decodeQuotedString(parameterValue);
1247
+ }
1248
+ for (let i = 0; i < str.length; i++) {
1249
+ const code = str.charCodeAt(i);
1250
+ if (quoted) {
1251
+ if (escaped) {
1252
+ escaped = false;
1253
+ } else if (code === 0x5c) {
1254
+ escaped = true;
1255
+ } else if (code === 0x22) {
1256
+ quoted = false;
1257
+ }
1258
+ } else if (code === 0x22) {
1259
+ quoted = true;
1260
+ } else if (code === 0x2c || code === 0x3b) {
1261
+ parseParameter(i);
1262
+ start = i + 1;
1263
+ }
1264
+ }
1265
+ parseParameter(str.length);
1266
+ return parameters;
1267
+ }
1074
1268
  const isValidHeaderName = str => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
1075
1269
  function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {
1076
1270
  if (utils$1.isFunction(filter)) {
@@ -1248,7 +1442,8 @@ class AxiosHeaders {
1248
1442
  return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n');
1249
1443
  }
1250
1444
  getSetCookie() {
1251
- return this.get('set-cookie') || [];
1445
+ const value = this.get('set-cookie');
1446
+ return utils$1.isArray(value) ? value : value == null || value === false ? [] : [value];
1252
1447
  }
1253
1448
  get [Symbol.toStringTag]() {
1254
1449
  return 'AxiosHeaders';
@@ -1256,13 +1451,16 @@ class AxiosHeaders {
1256
1451
  static from(thing) {
1257
1452
  return thing instanceof this ? thing : new this(thing);
1258
1453
  }
1454
+ static parseParameters(value) {
1455
+ return parseParameters(value);
1456
+ }
1259
1457
  static concat(first, ...targets) {
1260
1458
  const computed = new this(first);
1261
1459
  targets.forEach(target => computed.set(target));
1262
1460
  return computed;
1263
1461
  }
1264
1462
  static accessor(header) {
1265
- const internals = this[$internals] = this[$internals] = {
1463
+ const internals = this[$internals$1] = this[$internals$1] = {
1266
1464
  accessors: {}
1267
1465
  };
1268
1466
  const accessors = internals.accessors;
@@ -1350,9 +1548,33 @@ function redactConfig(config, redactKeys) {
1350
1548
  };
1351
1549
  return visit(config);
1352
1550
  }
1551
+ function stringifySafely$1(value) {
1552
+ try {
1553
+ return String(value);
1554
+ } catch (err) {
1555
+ return '';
1556
+ }
1557
+ }
1558
+ function aggregateErrorMessage(error) {
1559
+ const message = error.errors.map(entry => {
1560
+ try {
1561
+ return entry && entry.message ? stringifySafely$1(entry.message) : stringifySafely$1(entry);
1562
+ } catch (err) {
1563
+ return '';
1564
+ }
1565
+ }).filter(Boolean).join('; ');
1566
+ return message || error.name || 'AggregateError';
1567
+ }
1353
1568
  class AxiosError extends Error {
1354
1569
  static from(error, code, config, request, response, customProps) {
1355
- const axiosError = new AxiosError(error.message, code || error.code, config, request, response);
1570
+ // `AggregateError` (thrown by Node on dual-stack/Happy-Eyeballs connection
1571
+ // failures) has an empty `message`; its detail lives in `errors[]`. Without
1572
+ // this, the wrapped error surfaces with a blank message (see #6721).
1573
+ let message = error.message;
1574
+ if (!message && utils$1.isArray(error.errors) && error.errors.length) {
1575
+ message = aggregateErrorMessage(error);
1576
+ }
1577
+ const axiosError = new AxiosError(message, code || error.code, config, request, response);
1356
1578
  // Match native `Error` `cause` semantics: non-enumerable. The wrapped
1357
1579
  // error often carries circular internals (sockets, requests, agents), so
1358
1580
  // an enumerable `cause` makes structured loggers (pino/winston) and any
@@ -1456,6 +1678,15 @@ AxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';
1456
1678
  AxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';
1457
1679
  AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED = 'ERR_FORM_DATA_DEPTH_EXCEEDED';
1458
1680
 
1681
+ var PlatformBuffer = {
1682
+ isBufferAvailable() {
1683
+ return typeof Buffer !== 'undefined';
1684
+ },
1685
+ from(value) {
1686
+ return Buffer.from(value);
1687
+ }
1688
+ };
1689
+
1459
1690
  // Default nesting limit shared with the inverse transform (formDataToJSON) so
1460
1691
  // the FormData <-> JSON round-trip stays symmetric.
1461
1692
  const DEFAULT_FORM_DATA_MAX_DEPTH = 100;
@@ -1544,23 +1775,17 @@ function toFormData(obj, formData, options) {
1544
1775
 
1545
1776
  // eslint-disable-next-line no-param-reassign
1546
1777
  formData = formData || new (FormData$1 || FormData)();
1547
-
1548
- // eslint-disable-next-line no-param-reassign
1549
- options = utils$1.toFlatObject(options, {
1550
- metaTokens: true,
1551
- dots: false,
1552
- indexes: false
1553
- }, false, function defined(option, source) {
1554
- // eslint-disable-next-line no-eq-null,eqeqeq
1555
- return !utils$1.isUndefined(source[option]);
1556
- });
1557
- const metaTokens = options.metaTokens;
1778
+ const option = (name, fallback) => {
1779
+ const value = utils$1.getSafeProp(options, name);
1780
+ return utils$1.isUndefined(value) ? fallback : value;
1781
+ };
1782
+ const metaTokens = option('metaTokens', true);
1558
1783
  // eslint-disable-next-line no-use-before-define
1559
- const visitor = options.visitor || defaultVisitor;
1560
- const dots = options.dots;
1561
- const indexes = options.indexes;
1562
- const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;
1563
- const maxDepth = options.maxDepth === undefined ? DEFAULT_FORM_DATA_MAX_DEPTH : options.maxDepth;
1784
+ const visitor = option('visitor') || defaultVisitor;
1785
+ const dots = option('dots', false);
1786
+ const indexes = option('indexes', false);
1787
+ const _Blob = option('Blob') || typeof Blob !== 'undefined' && Blob;
1788
+ const maxDepth = option('maxDepth', DEFAULT_FORM_DATA_MAX_DEPTH);
1564
1789
  const useBlob = _Blob && utils$1.isSpecCompliantForm(formData);
1565
1790
  const stack = [];
1566
1791
  if (!utils$1.isFunction(visitor)) {
@@ -1581,8 +1806,8 @@ function toFormData(obj, formData, options) {
1581
1806
  if (useBlob && typeof _Blob === 'function') {
1582
1807
  return new _Blob([value]);
1583
1808
  }
1584
- if (typeof Buffer !== 'undefined') {
1585
- return Buffer.from(value);
1809
+ if (PlatformBuffer && PlatformBuffer.isBufferAvailable()) {
1810
+ return PlatformBuffer.from(value);
1586
1811
  }
1587
1812
  throw new AxiosError('Blob is not supported. Use a Buffer instead.', AxiosError.ERR_NOT_SUPPORT);
1588
1813
  }
@@ -1773,9 +1998,51 @@ function buildURL(url, params, options) {
1773
1998
  return url;
1774
1999
  }
1775
2000
 
2001
+ const $internals = Symbol('internals');
2002
+
2003
+ // `handlers` is public and may be replaced with a nullish value by user code;
2004
+ // `clear()` has always tolerated that. Treat it as an empty stack rather than
2005
+ // dereferencing it.
2006
+ function countHandlers(handlers) {
2007
+ return handlers ? handlers.length : 0;
2008
+ }
2009
+ function trimHandlers(handlers) {
2010
+ if (!handlers) {
2011
+ return;
2012
+ }
2013
+ while (handlers.length && handlers[handlers.length - 1] === null) {
2014
+ handlers.pop();
2015
+ }
2016
+ }
2017
+ function syncHandlerEntries(manager, internals) {
2018
+ const handlers = manager.handlers;
2019
+ const length = countHandlers(handlers);
2020
+ if (handlers !== internals.handlersRef) {
2021
+ internals.handlersRef = handlers;
2022
+ internals.handlerEntries.clear();
2023
+ } else if (length !== internals.handlersLength) {
2024
+ if (!length) {
2025
+ internals.handlerEntries.clear();
2026
+ } else {
2027
+ internals.handlerEntries.forEach(function removeStaleEntry(entry, id) {
2028
+ if (handlers[entry.index] !== entry.handler) {
2029
+ internals.handlerEntries.delete(id);
2030
+ }
2031
+ });
2032
+ }
2033
+ }
2034
+ internals.handlersLength = length;
2035
+ }
1776
2036
  class InterceptorManager {
1777
2037
  constructor() {
1778
2038
  this.handlers = [];
2039
+ this[$internals] = {
2040
+ handlersRef: this.handlers,
2041
+ handlersLength: this.handlers.length,
2042
+ handlerEntries: new Map(),
2043
+ iterationDepth: 0,
2044
+ nextId: 0
2045
+ };
1779
2046
  }
1780
2047
 
1781
2048
  /**
@@ -1788,13 +2055,25 @@ class InterceptorManager {
1788
2055
  * @return {Number} An ID used to remove interceptor later
1789
2056
  */
1790
2057
  use(fulfilled, rejected, options) {
1791
- this.handlers.push({
2058
+ const handler = {
1792
2059
  fulfilled,
1793
2060
  rejected,
1794
2061
  synchronous: options ? options.synchronous : false,
1795
2062
  runWhen: options ? options.runWhen : null
2063
+ };
2064
+ const internals = this[$internals];
2065
+ if (this.handlers == null) {
2066
+ this.handlers = [];
2067
+ }
2068
+ syncHandlerEntries(this, internals);
2069
+ const id = internals.nextId++;
2070
+ this.handlers.push(handler);
2071
+ internals.handlerEntries.set(id, {
2072
+ handler,
2073
+ index: this.handlers.length - 1
1796
2074
  });
1797
- return this.handlers.length - 1;
2075
+ internals.handlersLength = this.handlers.length;
2076
+ return id;
1798
2077
  }
1799
2078
 
1800
2079
  /**
@@ -1805,8 +2084,23 @@ class InterceptorManager {
1805
2084
  * @returns {void}
1806
2085
  */
1807
2086
  eject(id) {
1808
- if (this.handlers[id]) {
1809
- this.handlers[id] = null;
2087
+ const internals = this[$internals];
2088
+ syncHandlerEntries(this, internals);
2089
+ const entry = internals.handlerEntries.get(id);
2090
+ if (entry) {
2091
+ internals.handlerEntries.delete(id);
2092
+
2093
+ // Ignore IDs invalidated by clear or direct replacement of handlers.
2094
+ if (this.handlers[entry.index] !== entry.handler) {
2095
+ return;
2096
+ }
2097
+ this.handlers[entry.index] = null;
2098
+
2099
+ // Do not reuse an index while forEach is walking its length snapshot.
2100
+ if (!internals.iterationDepth) {
2101
+ trimHandlers(this.handlers);
2102
+ internals.handlersLength = this.handlers.length;
2103
+ }
1810
2104
  }
1811
2105
  }
1812
2106
 
@@ -1818,6 +2112,7 @@ class InterceptorManager {
1818
2112
  clear() {
1819
2113
  if (this.handlers) {
1820
2114
  this.handlers = [];
2115
+ syncHandlerEntries(this, this[$internals]);
1821
2116
  }
1822
2117
  }
1823
2118
 
@@ -1832,11 +2127,22 @@ class InterceptorManager {
1832
2127
  * @returns {void}
1833
2128
  */
1834
2129
  forEach(fn) {
1835
- utils$1.forEach(this.handlers, function forEachHandler(h) {
1836
- if (h !== null) {
1837
- fn(h);
2130
+ const internals = this[$internals];
2131
+ syncHandlerEntries(this, internals);
2132
+ internals.iterationDepth++;
2133
+ try {
2134
+ utils$1.forEach(this.handlers, function forEachHandler(h) {
2135
+ if (h !== null) {
2136
+ fn(h);
2137
+ }
2138
+ });
2139
+ } finally {
2140
+ if (! --internals.iterationDepth) {
2141
+ syncHandlerEntries(this, internals);
2142
+ trimHandlers(this.handlers);
2143
+ internals.handlersLength = countHandlers(this.handlers);
1838
2144
  }
1839
- });
2145
+ }
1840
2146
  }
1841
2147
  }
1842
2148
 
@@ -1962,12 +2268,18 @@ function throwIfDepthExceeded(index) {
1962
2268
  * @returns An array of strings.
1963
2269
  */
1964
2270
  function parsePropPath(name) {
1965
- // foo[x][y][z]
1966
- // foo.x.y.z
1967
- // foo-x-y-z
1968
- // foo x y z
2271
+ // foo[x][y][z] -> ['foo', 'x', 'y', 'z']
2272
+ // foo.x.y.z -> ['foo', 'x', 'y', 'z']
2273
+ // A path is split on `.` and on `[...]` groups. A segment — whether written
2274
+ // in dot notation or captured inside brackets — may contain any character
2275
+ // except `.`, `[` and `]`, so a key like `user-name` or `user name` is kept
2276
+ // literal instead of being split (#5402). `.`, `[` and `]` keep their existing
2277
+ // meaning, e.g. `foo[bar.baz]` -> ['foo', 'bar', 'baz'] and `[]` is an array push.
2278
+ // Excluding `[` from the bracket group also makes the match fail fast at the
2279
+ // next `[`, so a malformed name cannot rescan to the end of the string from
2280
+ // every unmatched `[` — parsing stays linear in the length of the name.
1969
2281
  const path = [];
1970
- const pattern = /\w+|\[(\w*)]/g;
2282
+ const pattern = /[^.[\]]+|\[([^.[\]]*)]/g;
1971
2283
  let match;
1972
2284
  while ((match = pattern.exec(name)) !== null) {
1973
2285
  throwIfDepthExceeded(path.length);
@@ -2038,6 +2350,8 @@ function formDataToJSON(formData) {
2038
2350
  return null;
2039
2351
  }
2040
2352
 
2353
+ const methodList = Object.freeze(['get', 'delete', 'head', 'options', 'post', 'put', 'patch', 'purge', 'link', 'unlink', 'query']);
2354
+
2041
2355
  const own = (obj, key) => obj != null && utils$1.hasOwnProp(obj, key) ? obj[key] : undefined;
2042
2356
 
2043
2357
  /**
@@ -2154,7 +2468,7 @@ const defaults = {
2154
2468
  }
2155
2469
  }
2156
2470
  };
2157
- utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'query'], method => {
2471
+ utils$1.forEach(methodList, method => {
2158
2472
  defaults.headers[method] = {};
2159
2473
  });
2160
2474
 
@@ -2243,24 +2557,70 @@ function isAbsoluteURL(url) {
2243
2557
  * @returns {string} The combined URL
2244
2558
  */
2245
2559
  function combineURLs(baseURL, relativeURL) {
2246
- return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL;
2560
+ if (!relativeURL) {
2561
+ return baseURL;
2562
+ }
2563
+ let end = baseURL.length;
2564
+ while (end > 0 && baseURL.charCodeAt(end - 1) === 47) {
2565
+ end--;
2566
+ }
2567
+ return baseURL.slice(0, end) + '/' + relativeURL.replace(/^\/+/, '');
2247
2568
  }
2248
2569
 
2249
- const malformedHttpProtocol = /^https?:(?!\/\/)/i;
2250
- const httpProtocolControlCharacters = /[\t\n\r]/g;
2251
- function stripLeadingC0ControlOrSpace(url) {
2252
- let i = 0;
2253
- while (i < url.length && url.charCodeAt(i) <= 0x20) {
2254
- i++;
2570
+ const urlParserControlCharacters = /[\t\n\r]/g;
2571
+
2572
+ /**
2573
+ * Match WHATWG URL preprocessing before checking a URL's protocol.
2574
+ *
2575
+ * @param {string} url
2576
+ *
2577
+ * @returns {string}
2578
+ */
2579
+ function normalizeURLForProtocolCheck(url) {
2580
+ if (typeof url !== 'string') {
2581
+ return url;
2582
+ }
2583
+ let start = 0;
2584
+ while (start < url.length && url.charCodeAt(start) <= 0x20) {
2585
+ start++;
2255
2586
  }
2256
- return url.slice(i);
2587
+ return url.slice(start).replace(urlParserControlCharacters, '');
2257
2588
  }
2258
- function normalizeURLForProtocolCheck(url) {
2259
- return stripLeadingC0ControlOrSpace(url).replace(httpProtocolControlCharacters, '');
2589
+
2590
+ const malformedHttpProtocol = /^https?:(?!\/\/)/i;
2591
+
2592
+ // Redact the parts of a URL that can carry secrets before it is embedded in an
2593
+ // error message. AxiosError.toJSON() serializes `message` verbatim and errors
2594
+ // are commonly logged, while the opt-in `config.redact` model only cleans
2595
+ // config keys — it cannot reach the message. Redact only the genuinely
2596
+ // sensitive substrings — userinfo (credentials), query parameter values and
2597
+ // fragment contents — with the same REDACTED marker the config redaction uses,
2598
+ // while keeping the scheme, host, path and parameter names so the offending
2599
+ // request stays accurately identifiable.
2600
+ function redactFragment(fragment) {
2601
+ if (!fragment) {
2602
+ return fragment;
2603
+ }
2604
+ return fragment.replace(/(^|&)([^=&]*=)?[^&]+/g, (match, separator, parameterName = '') => {
2605
+ return `${separator}${parameterName}${REDACTED}`;
2606
+ });
2607
+ }
2608
+ function redactSensitiveURLParts(url) {
2609
+ const redactedURL = url.replace(/^(https?:\/{0,2})[^/?#]*@/i, `$1${REDACTED}@`);
2610
+ const fragmentIndex = redactedURL.indexOf('#');
2611
+ const urlWithoutFragment = fragmentIndex === -1 ? redactedURL : redactedURL.slice(0, fragmentIndex);
2612
+ const redactedURLWithoutFragment = urlWithoutFragment.replace(/([?&][^=&#]*=)[^&#]*/g, `$1${REDACTED}`);
2613
+ if (fragmentIndex === -1) {
2614
+ return redactedURLWithoutFragment;
2615
+ }
2616
+ return `${redactedURLWithoutFragment}#${redactFragment(redactedURL.slice(fragmentIndex + 1))}`;
2260
2617
  }
2261
2618
  function assertValidHttpProtocolURL(url, config) {
2262
- if (typeof url === 'string' && malformedHttpProtocol.test(normalizeURLForProtocolCheck(url))) {
2263
- throw new AxiosError('Invalid URL: missing "//" after protocol', AxiosError.ERR_INVALID_URL, config);
2619
+ if (typeof url === 'string') {
2620
+ const normalizedURL = normalizeURLForProtocolCheck(url);
2621
+ if (malformedHttpProtocol.test(normalizedURL)) {
2622
+ throw new AxiosError(`Invalid URL ${JSON.stringify(redactSensitiveURLParts(normalizedURL))}: missing "//" after protocol`, AxiosError.ERR_INVALID_URL, config);
2623
+ }
2264
2624
  }
2265
2625
  }
2266
2626
 
@@ -2380,7 +2740,7 @@ function getEnv(key) {
2380
2740
  return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';
2381
2741
  }
2382
2742
 
2383
- const VERSION = "1.18.1";
2743
+ const VERSION = "1.20.0";
2384
2744
 
2385
2745
  function parseProtocol(url) {
2386
2746
  const match = /^([-+\w]{1,25}):(?:\/\/)?/.exec(url);
@@ -2389,7 +2749,7 @@ function parseProtocol(url) {
2389
2749
 
2390
2750
  // RFC 2397: data:[<mediatype>][;base64],<data>
2391
2751
  // mediatype = type/subtype followed by optional ;name=value parameters
2392
- const DATA_URL_PATTERN = /^([^,;]+\/[^,;]+)?((?:;[^,;=]+=[^,;]+)*)(;base64)?,([\s\S]*)$/;
2752
+ const DATA_URL_PATTERN = /^([^,;/]+\/[^,;/]+)?((?:;[^,;=]+=[^,;]+)*)(;base64)?,([\s\S]*)$/;
2393
2753
 
2394
2754
  /**
2395
2755
  * Parse data uri to a Buffer or Blob
@@ -2440,6 +2800,31 @@ function fromDataURI(uri, asBlob, options) {
2440
2800
  throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);
2441
2801
  }
2442
2802
 
2803
+ const FORM_DATA_CONTENT_HEADERS = ['content-type', 'content-length'];
2804
+
2805
+ /**
2806
+ * Apply the headers generated by a FormData implementation to the request headers,
2807
+ * honoring the `formDataHeaderPolicy` option: with 'content-only', copy only the
2808
+ * content-* headers; otherwise merge all of them.
2809
+ *
2810
+ * @param {AxiosHeaders} headers - the request headers to mutate
2811
+ * @param {Object | null | undefined} formHeaders - headers produced by the FormData implementation
2812
+ * @param {String} [policy] - the resolved `formDataHeaderPolicy` config value
2813
+ *
2814
+ * @returns {void}
2815
+ */
2816
+ function setFormDataHeaders(headers, formHeaders, policy) {
2817
+ if (policy !== 'content-only') {
2818
+ headers.set(formHeaders);
2819
+ return;
2820
+ }
2821
+ Object.entries(formHeaders || {}).forEach(([key, val]) => {
2822
+ if (FORM_DATA_CONTENT_HEADERS.includes(key.toLowerCase())) {
2823
+ headers.set(key, val);
2824
+ }
2825
+ });
2826
+ }
2827
+
2443
2828
  const kInternals = Symbol('internals');
2444
2829
  class AxiosTransformStream extends stream.Transform {
2445
2830
  constructor(options) {
@@ -2677,7 +3062,7 @@ class Http2Sessions {
2677
3062
  this.sessions = Object.create(null);
2678
3063
  }
2679
3064
  getSession(authority, options) {
2680
- options = Object.assign({
3065
+ options = Object.assign(Object.create(null), {
2681
3066
  sessionTimeout: 1000
2682
3067
  }, options);
2683
3068
  let authoritySessions = this.sessions[authority];
@@ -2744,6 +3129,7 @@ class Http2Sessions {
2744
3129
  };
2745
3130
  }
2746
3131
  session.once('close', removeSession);
3132
+ session.once('error', removeSession);
2747
3133
  let entry = [session, options];
2748
3134
  authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry];
2749
3135
  return session;
@@ -2764,12 +3150,117 @@ const callbackify = (fn, reducer) => {
2764
3150
  };
2765
3151
 
2766
3152
  const LOOPBACK_HOSTNAMES = new Set(['localhost', '0.0.0.0']);
3153
+ const trimTrailingDots = value => {
3154
+ let end = value.length;
3155
+ while (end && value.charCodeAt(end - 1) === 46) {
3156
+ end--;
3157
+ }
3158
+ return end === value.length ? value : value.slice(0, end);
3159
+ };
2767
3160
  const isIPv4Loopback = host => {
2768
3161
  const parts = host.split('.');
2769
3162
  if (parts.length !== 4) return false;
2770
3163
  if (parts[0] !== '127') return false;
2771
3164
  return parts.every(p => /^\d+$/.test(p) && Number(p) >= 0 && Number(p) <= 255);
2772
3165
  };
3166
+
3167
+ /**
3168
+ * Canonicalize an IPv4 address written in shorthand, octal, or hex form into
3169
+ * dotted-decimal. IPv6 addresses and non-IP strings are returned unchanged so
3170
+ * the existing IPv4-mapped IPv6 unmap path and the isLoopback path can still
3171
+ * see them.
3172
+ *
3173
+ * Shorthand expansion mirrors Node's URL parser: literal parts fill from the
3174
+ * left, the final part fills the remaining octets from the right with
3175
+ * zero-padding on the left.
3176
+ * 127.1 -> 127.0.0.1
3177
+ * 127.0.1 -> 127.0.0.1
3178
+ * 1.2.3 -> 1.2.0.3
3179
+ *
3180
+ * Each octet is parsed with an explicit base: 16 for `0x`/`0X` prefix, 8 for
3181
+ * zero-prefixed multi-digit all-`0-7` parts, 10 otherwise. Zero-prefixed
3182
+ * decimal-looking parts that contain `8` or `9` are rejected to match Node's
3183
+ * URL parser, and the comparison layer falls through to non-bypass if either
3184
+ * side rejects the form (fail-safe).
3185
+ *
3186
+ * Returns the input unchanged on any parse failure, out-of-range octet, or
3187
+ * unusual shape (1-part, 5+ parts) so the comparison layer fails closed.
3188
+ */
3189
+ const parseIPv4Octet = text => {
3190
+ if (/^0[xX][0-9a-fA-F]+$/.test(text)) {
3191
+ const n = parseInt(text.slice(2), 16);
3192
+ return Number.isFinite(n) ? n : null;
3193
+ }
3194
+ if (text.length > 1 && /^0[0-7]+$/.test(text)) {
3195
+ const n = parseInt(text, 8);
3196
+ return Number.isFinite(n) ? n : null;
3197
+ }
3198
+ if (text.length > 1 && /^0[0-9]+$/.test(text)) {
3199
+ return null;
3200
+ }
3201
+ if (/^[0-9]+$/.test(text)) {
3202
+ const n = parseInt(text, 10);
3203
+ return Number.isFinite(n) ? n : null;
3204
+ }
3205
+ return null;
3206
+ };
3207
+ const normalizeIPAddress = host => {
3208
+ if (typeof host !== 'string' || !host || host.indexOf(':') !== -1) {
3209
+ return host;
3210
+ }
3211
+ let h = host;
3212
+ if (h.charAt(0) === '[' && h.charAt(h.length - 1) === ']') {
3213
+ h = h.slice(1, -1);
3214
+ }
3215
+ h = trimTrailingDots(h);
3216
+
3217
+ // Allowed characters for any IPv4 shape: digits, dot, 'x', 'X', hex digits.
3218
+ if (!/^[0-9.xXa-fA-F]+$/.test(h)) return host;
3219
+ const parts = h.split('.');
3220
+
3221
+ // No part may be empty (e.g. "127..0.1" or "127.0.0."). Trailing dots are
3222
+ // already stripped above; this guards against the empty-middle case.
3223
+ if (parts.some(p => p === '')) return host;
3224
+ if (parts.length === 4) {
3225
+ // Full IPv4 form: each part is an octet.
3226
+ const octets = parts.map(parseIPv4Octet);
3227
+ if (octets.some(n => n === null || n < 0 || n > 255)) return host;
3228
+ return octets.join('.');
3229
+ }
3230
+ if (parts.length > 4) {
3231
+ return host;
3232
+ }
3233
+
3234
+ // Shorthand: 1..3 parts. Node's URL parser treats a 1-part input as a 32-bit
3235
+ // integer split into octets, which has surprising semantics (e.g. "127" ->
3236
+ // "0.0.0.127"). Reject 1-part inputs to keep the helper predictable: the
3237
+ // fail-safe returns the input unchanged and the comparison layer falls
3238
+ // through to non-bypass.
3239
+ if (parts.length === 1) return host;
3240
+
3241
+ // 2..3 parts: literal parts fill from the left, tail fills remaining octets
3242
+ // from the right with zero-padding.
3243
+ const literalOctets = parts.slice(0, -1);
3244
+ const tail = parts[parts.length - 1];
3245
+ const tailSlots = 4 - literalOctets.length;
3246
+
3247
+ // Tail is parsed as a full IPv4 number (hex/octal/decimal) and packed
3248
+ // low-byte-right into the remaining octets, matching Node's URL parser.
3249
+ // e.g. 127.65535 (tail 0xFFFF into 3 slots) -> 127.0.255.255;
3250
+ // 127.0x00ff (tail 0xFF into 3 slots) -> 127.0.0.255;
3251
+ // 127.0.65535 (tail 0xFFFF into 2 slots) -> 127.0.255.255.
3252
+ const tailValue = parseIPv4Octet(tail);
3253
+ if (tailValue === null) return host;
3254
+ const maxTail = (1 << 8 * tailSlots) - 1;
3255
+ if (tailValue < 0 || tailValue > maxTail) return host;
3256
+ const tailOctets = new Array(tailSlots).fill(0);
3257
+ for (let i = tailSlots - 1, v = tailValue; i >= 0; i--, v >>= 8) {
3258
+ tailOctets[i] = v & 0xff;
3259
+ }
3260
+ const literal = literalOctets.map(parseIPv4Octet);
3261
+ if (literal.some(n => n === null || n < 0 || n > 255)) return host;
3262
+ return [...literal, ...tailOctets].join('.');
3263
+ };
2773
3264
  const isIPv6ZeroGroup = group => /^0{1,4}$/.test(group);
2774
3265
 
2775
3266
  // The unspecified address (IPv4 0.0.0.0 / IPv6 ::) resolves to the local host
@@ -2876,6 +3367,40 @@ const unmapIPv4MappedIPv6 = host => {
2876
3367
  }
2877
3368
  return host;
2878
3369
  };
3370
+ const IPV4_OCTET_RE = /^(?:0|[1-9]\d{0,2})$/;
3371
+ const ipv4ToBytes = host => {
3372
+ const parts = host.split('.');
3373
+ return parts.length === 4 && parts.every(part => IPV4_OCTET_RE.test(part) && Number(part) <= 255) ? parts.map(Number) : null;
3374
+ };
3375
+ const IPV6_GROUP_RE = /^[0-9a-f]{1,4}$/i;
3376
+ const ipv6ToBytes = host => {
3377
+ const halves = host.split('::');
3378
+ if (halves.length > 2) {
3379
+ return null;
3380
+ }
3381
+ const groups = halves[0] ? halves[0].split(':') : [];
3382
+ if (halves.length === 2) {
3383
+ const rear = halves[1] ? halves[1].split(':') : [];
3384
+ const missing = 8 - groups.length - rear.length;
3385
+ if (missing < 1) {
3386
+ return null;
3387
+ }
3388
+ groups.push(...new Array(missing).fill('0'), ...rear);
3389
+ }
3390
+ if (groups.length !== 8 || groups.some(group => !IPV6_GROUP_RE.test(group))) {
3391
+ return null;
3392
+ }
3393
+ return groups.flatMap(group => {
3394
+ const value = Number.parseInt(group, 16);
3395
+ return [value >> 8 & 0xff, value & 0xff];
3396
+ });
3397
+ };
3398
+ const ipToBytes = host => {
3399
+ if (typeof host !== 'string' || !host) {
3400
+ return null;
3401
+ }
3402
+ return host.indexOf(':') !== -1 ? ipv6ToBytes(host) : ipv4ToBytes(host);
3403
+ };
2879
3404
  const normalizeNoProxyHost = hostname => {
2880
3405
  if (!hostname) {
2881
3406
  return hostname;
@@ -2883,7 +3408,101 @@ const normalizeNoProxyHost = hostname => {
2883
3408
  if (hostname.charAt(0) === '[' && hostname.charAt(hostname.length - 1) === ']') {
2884
3409
  hostname = hostname.slice(1, -1);
2885
3410
  }
2886
- return unmapIPv4MappedIPv6(hostname.replace(/\.+$/, ''));
3411
+ const trimmed = trimTrailingDots(hostname);
3412
+
3413
+ // IPv4 shorthand/octal/hex → dotted-decimal; helper is a no-op for inputs
3414
+ // containing ':' (IPv6 and IPv4-mapped IPv6) so we fall through to unmap.
3415
+ const ipv4 = normalizeIPAddress(trimmed);
3416
+ if (ipv4 !== trimmed) {
3417
+ return ipv4;
3418
+ }
3419
+ return unmapIPv4MappedIPv6(trimmed);
3420
+ };
3421
+ const normalizeCidrBase = input => {
3422
+ let base = input;
3423
+ const startsBracket = base.charAt(0) === '[';
3424
+ const endsBracket = base.charAt(base.length - 1) === ']';
3425
+ const hasBracket = base.includes('[') || base.includes(']');
3426
+ if (startsBracket || endsBracket) {
3427
+ if (!startsBracket || !endsBracket) {
3428
+ return null;
3429
+ }
3430
+ base = base.slice(1, -1);
3431
+ if (base.indexOf(':') === -1 || base.includes('[') || base.includes(']')) {
3432
+ return null;
3433
+ }
3434
+ } else if (hasBracket) {
3435
+ return null;
3436
+ }
3437
+ if (!base || base.charAt(base.length - 1) === '.') {
3438
+ return null;
3439
+ }
3440
+ const wasIPv6 = base.indexOf(':') !== -1;
3441
+ if (wasIPv6) {
3442
+ try {
3443
+ base = new URL(`http://[${base}]/`).hostname.slice(1, -1);
3444
+ } catch (_err) {
3445
+ return null;
3446
+ }
3447
+ } else {
3448
+ base = normalizeIPAddress(base);
3449
+ if (!ipv4ToBytes(base)) {
3450
+ return null;
3451
+ }
3452
+ }
3453
+ return {
3454
+ normalized: unmapIPv4MappedIPv6(base),
3455
+ wasIPv6
3456
+ };
3457
+ };
3458
+ const CIDR_ENTRY_RE = /^(.+)\/(0|[1-9]\d{0,2})$/;
3459
+ const parseCidrEntry = entry => {
3460
+ if (entry.indexOf('/') === -1) {
3461
+ return undefined;
3462
+ }
3463
+ const match = CIDR_ENTRY_RE.exec(entry);
3464
+ if (!match) {
3465
+ return null;
3466
+ }
3467
+ let prefix = Number(match[2]);
3468
+ const parsedBase = normalizeCidrBase(match[1]);
3469
+ if (!parsedBase) {
3470
+ return null;
3471
+ }
3472
+ const {
3473
+ normalized,
3474
+ wasIPv6
3475
+ } = parsedBase;
3476
+ if (wasIPv6 && normalized.indexOf(':') === -1) {
3477
+ if (prefix < 96) {
3478
+ return null;
3479
+ }
3480
+ prefix -= 96;
3481
+ }
3482
+ const bytes = ipToBytes(normalized);
3483
+ if (!bytes || prefix > bytes.length * 8) {
3484
+ return null;
3485
+ }
3486
+ return {
3487
+ bytes,
3488
+ prefix
3489
+ };
3490
+ };
3491
+ const isInSubnet = (addressBytes, networkBytes, prefix) => {
3492
+ const fullBytes = prefix >> 3;
3493
+ for (let i = 0; i < fullBytes; i++) {
3494
+ if (addressBytes[i] !== networkBytes[i]) {
3495
+ return false;
3496
+ }
3497
+ }
3498
+ const remainingBits = prefix & 7;
3499
+ if (remainingBits) {
3500
+ const mask = 0xff << 8 - remainingBits & 0xff;
3501
+ if ((addressBytes[fullBytes] & mask) !== (networkBytes[fullBytes] & mask)) {
3502
+ return false;
3503
+ }
3504
+ }
3505
+ return true;
2887
3506
  };
2888
3507
  function shouldBypassProxy(location) {
2889
3508
  let parsed;
@@ -2901,10 +3520,18 @@ function shouldBypassProxy(location) {
2901
3520
  }
2902
3521
  const port = Number.parseInt(parsed.port, 10) || DEFAULT_PORTS[parsed.protocol.split(':', 1)[0]] || 0;
2903
3522
  const hostname = normalizeNoProxyHost(parsed.hostname.toLowerCase());
3523
+ const hostnameBytes = ipToBytes(hostname);
2904
3524
  return noProxy.split(/[\s,]+/).some(entry => {
2905
3525
  if (!entry) {
2906
3526
  return false;
2907
3527
  }
3528
+ if (entry === '*') {
3529
+ return true;
3530
+ }
3531
+ const cidr = parseCidrEntry(entry);
3532
+ if (cidr !== undefined) {
3533
+ return cidr !== null && !!hostnameBytes && hostnameBytes.length === cidr.bytes.length && isInSubnet(hostnameBytes, cidr.bytes, cidr.prefix);
3534
+ }
2908
3535
  let [entryHost, entryPort] = parseNoProxyEntry(entry);
2909
3536
  entryHost = normalizeNoProxyHost(entryHost);
2910
3537
  if (!entryHost) {
@@ -2967,7 +3594,7 @@ function speedometer(samplesCount, min) {
2967
3594
  * Throttle decorator
2968
3595
  * @param {Function} fn
2969
3596
  * @param {Number} freq
2970
- * @return {Function}
3597
+ * @return {Array<Function>}
2971
3598
  */
2972
3599
  function throttle(fn, freq) {
2973
3600
  let timestamp = 0;
@@ -2999,19 +3626,20 @@ function throttle(fn, freq) {
2999
3626
  }
3000
3627
  };
3001
3628
  const flush = () => lastArgs && invoke(lastArgs);
3002
- return [throttled, flush];
3629
+ const flushWith = (...args) => invoke(args);
3630
+ return [throttled, flush, flushWith];
3003
3631
  }
3004
3632
 
3005
3633
  const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
3006
3634
  let bytesNotified = 0;
3007
3635
  const _speedometer = speedometer(50, 250);
3008
3636
  return throttle(e => {
3009
- if (!e || typeof e.loaded !== 'number') {
3637
+ if (!e || !utils$1.isNumber(e.loaded)) {
3010
3638
  return;
3011
3639
  }
3012
3640
  const rawLoaded = e.loaded;
3013
3641
  const total = e.lengthComputable ? e.total : undefined;
3014
- const loaded = total != null ? Math.min(rawLoaded, total) : rawLoaded;
3642
+ const loaded = Math.max(0, total != null ? Math.min(rawLoaded, total) : rawLoaded);
3015
3643
  const progressBytes = Math.max(0, loaded - bytesNotified);
3016
3644
  const rate = _speedometer(progressBytes);
3017
3645
  bytesNotified = Math.max(bytesNotified, loaded);
@@ -3037,20 +3665,85 @@ const progressEventDecorator = (total, throttled) => {
3037
3665
  loaded
3038
3666
  }), throttled[1]];
3039
3667
  };
3040
- const asyncDecorator = fn => (...args) => utils$1.asap(() => fn(...args));
3668
+ const asyncDecorator = (fn, scheduler = utils$1.asap) => (...args) => scheduler(() => fn(...args));
3041
3669
 
3042
3670
  /**
3043
- * Estimate decoded byte length of a data:// URL *without* allocating large buffers.
3044
- * - For base64: compute exact decoded size using length and padding;
3045
- * handle %XX at the character-count level (no string allocation).
3046
- * - For non-base64: compute the exact percent-decoded UTF-8 byte length.
3047
- *
3048
- * @param {string} url
3049
- * @returns {number}
3671
+ * Estimate data: URL byte lengths *without* allocating large buffers.
3672
+ * - Fetch percent-decodes a base64 body before decoding it.
3673
+ * - Node's Buffer.from(body, 'base64') sizes its backing allocation from the
3674
+ * raw body, including ignored characters and content after padding.
3675
+ * - Non-base64 data is percent-decoded and then encoded as UTF-8.
3050
3676
  */
3051
3677
  const isHexDigit = charCode => charCode >= 48 && charCode <= 57 || charCode >= 65 && charCode <= 70 || charCode >= 97 && charCode <= 102;
3052
3678
  const isPercentEncodedByte = (str, i, len) => i + 2 < len && isHexDigit(str.charCodeAt(i + 1)) && isHexDigit(str.charCodeAt(i + 2));
3053
- function estimateDataURLDecodedBytes(url) {
3679
+ const hexValue = charCode => charCode <= 57 ? charCode - 48 : (charCode & 0xdf) - 55;
3680
+ const isBase64Char = charCode => charCode >= 65 && charCode <= 90 ||
3681
+ // A-Z
3682
+ charCode >= 97 && charCode <= 122 ||
3683
+ // a-z
3684
+ charCode >= 48 && charCode <= 57 ||
3685
+ // 0-9
3686
+ charCode === 43 ||
3687
+ // +
3688
+ charCode === 47 ||
3689
+ // /
3690
+ charCode === 45 ||
3691
+ // - (base64url)
3692
+ charCode === 95; // _ (base64url)
3693
+
3694
+ const isBase64Whitespace = charCode => charCode === 9 || charCode === 10 || charCode === 12 || charCode === 13 || charCode === 32;
3695
+ const base64Bytes = significant => {
3696
+ const groups = Math.floor(significant / 4);
3697
+ const remainder = significant % 4;
3698
+ return groups * 3 + (remainder === 2 ? 1 : remainder === 3 ? 2 : 0);
3699
+ };
3700
+
3701
+ // Buffer.byteLength(body, 'base64') uses the raw string length as an allocation
3702
+ // upper bound even when Buffer.from later ignores characters or stops at '='.
3703
+ const estimateBase64BufferAllocation = body => {
3704
+ const len = body.length;
3705
+ let padding = 0;
3706
+ if (len > 0 && body.charCodeAt(len - 1) === 61 /* '=' */) {
3707
+ padding++;
3708
+ if (len > 1 && body.charCodeAt(len - 2) === 61 /* '=' */) {
3709
+ padding++;
3710
+ }
3711
+ }
3712
+ return Math.floor((len - padding) * 3 / 4);
3713
+ };
3714
+ const estimatePercentDecodedBase64Bytes = body => {
3715
+ const len = body.length;
3716
+ let significant = 0;
3717
+ let padding = 0;
3718
+ let invalid = false;
3719
+ for (let i = 0; i < len; i++) {
3720
+ let code = body.charCodeAt(i);
3721
+ if (code === 37 /* '%' */ && isPercentEncodedByte(body, i, len)) {
3722
+ code = hexValue(body.charCodeAt(i + 1)) * 16 + hexValue(body.charCodeAt(i + 2));
3723
+ i += 2;
3724
+ }
3725
+ if (isBase64Whitespace(code)) {
3726
+ continue;
3727
+ }
3728
+ if (code === 61 /* '=' */) {
3729
+ padding++;
3730
+ continue;
3731
+ }
3732
+ if (!isBase64Char(code) || padding > 0) {
3733
+ invalid = true;
3734
+ continue;
3735
+ }
3736
+ significant++;
3737
+ }
3738
+
3739
+ // Fetch rejects malformed forgiving-base64 input. Returning the raw-size
3740
+ // allocation bound keeps that invalid input from becoming a pre-check bypass.
3741
+ if (invalid || padding > 2 || padding > 0 && (significant + padding) % 4 !== 0 || significant % 4 === 1) {
3742
+ return estimateBase64BufferAllocation(body);
3743
+ }
3744
+ return base64Bytes(significant);
3745
+ };
3746
+ const estimateDataURLBytes = (url, estimateBase64) => {
3054
3747
  if (!url || typeof url !== 'string') return 0;
3055
3748
  if (!url.startsWith('data:')) return 0;
3056
3749
  const comma = url.indexOf(',');
@@ -3059,47 +3752,7 @@ function estimateDataURLDecodedBytes(url) {
3059
3752
  const body = url.slice(comma + 1);
3060
3753
  const isBase64 = /;base64/i.test(meta);
3061
3754
  if (isBase64) {
3062
- let effectiveLen = body.length;
3063
- const len = body.length; // cache length
3064
-
3065
- for (let i = 0; i < len; i++) {
3066
- if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {
3067
- const a = body.charCodeAt(i + 1);
3068
- const b = body.charCodeAt(i + 2);
3069
- const isHex = isHexDigit(a) && isHexDigit(b);
3070
- if (isHex) {
3071
- effectiveLen -= 2;
3072
- i += 2;
3073
- }
3074
- }
3075
- }
3076
- let pad = 0;
3077
- let idx = len - 1;
3078
- const tailIsPct3D = j => j >= 2 && body.charCodeAt(j - 2) === 37 &&
3079
- // '%'
3080
- body.charCodeAt(j - 1) === 51 && (
3081
- // '3'
3082
- body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'
3083
-
3084
- if (idx >= 0) {
3085
- if (body.charCodeAt(idx) === 61 /* '=' */) {
3086
- pad++;
3087
- idx--;
3088
- } else if (tailIsPct3D(idx)) {
3089
- pad++;
3090
- idx -= 3;
3091
- }
3092
- }
3093
- if (pad === 1 && idx >= 0) {
3094
- if (body.charCodeAt(idx) === 61 /* '=' */) {
3095
- pad++;
3096
- } else if (tailIsPct3D(idx)) {
3097
- pad++;
3098
- }
3099
- }
3100
- const groups = Math.floor(effectiveLen / 4);
3101
- const bytes = groups * 3 - (pad || 0);
3102
- return bytes > 0 ? bytes : 0;
3755
+ return estimateBase64(body);
3103
3756
  }
3104
3757
 
3105
3758
  // Compute UTF-8 byte length directly from UTF-16 code units without allocating
@@ -3129,6 +3782,28 @@ function estimateDataURLDecodedBytes(url) {
3129
3782
  }
3130
3783
  }
3131
3784
  return bytes;
3785
+ };
3786
+
3787
+ /**
3788
+ * Estimate the percent-decoded payload size used by Fetch data: URLs.
3789
+ *
3790
+ * @param {string} url
3791
+ * @returns {number}
3792
+ */
3793
+ function estimateDataURLDecodedBytes(url) {
3794
+ // Fetch removes URL fragments before processing a data: URL.
3795
+ const fragmentIndex = typeof url === 'string' ? url.indexOf('#') : -1;
3796
+ return estimateDataURLBytes(fragmentIndex === -1 ? url : url.slice(0, fragmentIndex), estimatePercentDecodedBase64Bytes);
3797
+ }
3798
+
3799
+ /**
3800
+ * Estimate the Buffer backing allocation used by Node's raw base64 decoder.
3801
+ *
3802
+ * @param {string} url
3803
+ * @returns {number}
3804
+ */
3805
+ function estimateDataURLBufferAllocation(url) {
3806
+ return estimateDataURLBytes(url, estimateBase64BufferAllocation);
3132
3807
  }
3133
3808
 
3134
3809
  const zlibOptions = {
@@ -3147,29 +3822,27 @@ const isBrotliSupported = utils$1.isFunction(zlib.createBrotliDecompress);
3147
3822
  const isZstdSupported = utils$1.isFunction(zlib.createZstdDecompress);
3148
3823
  const ACCEPT_ENCODING = 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : '');
3149
3824
  const ACCEPT_ENCODING_WITH_ZSTD = ACCEPT_ENCODING + (isZstdSupported ? ', zstd' : '');
3825
+ const scheduleProgress = typeof process !== 'undefined' && process.nextTick ? process.nextTick.bind(process) : utils$1.asap;
3150
3826
  const {
3151
3827
  http: httpFollow,
3152
3828
  https: httpsFollow
3153
3829
  } = followRedirects;
3154
3830
  const isHttps = /https:?/;
3155
- const FORM_DATA_CONTENT_HEADERS$1 = ['content-type', 'content-length'];
3156
- function setFormDataHeaders$1(headers, formHeaders, policy) {
3157
- if (policy !== 'content-only') {
3158
- headers.set(formHeaders);
3159
- return;
3160
- }
3161
- Object.entries(formHeaders).forEach(([key, val]) => {
3162
- if (FORM_DATA_CONTENT_HEADERS$1.includes(key.toLowerCase())) {
3163
- headers.set(key, val);
3164
- }
3165
- });
3166
- }
3167
3831
 
3168
3832
  // Symbols used to bind a single 'error' listener to a pooled socket and track
3169
3833
  // the request currently owning that socket across keep-alive reuse (issue #10780).
3170
3834
  const kAxiosSocketListener = Symbol('axios.http.socketListener');
3171
3835
  const kAxiosCurrentReq = Symbol('axios.http.currentReq');
3172
3836
 
3837
+ // A shared listener avoids retaining an adapter context for the lifetime of a
3838
+ // pooled socket. EventEmitter invokes listeners with `this` set to the emitter.
3839
+ function handleSocketError(err) {
3840
+ const current = this[kAxiosCurrentReq];
3841
+ if (current && !current.destroyed) {
3842
+ current.destroy(err);
3843
+ }
3844
+ }
3845
+
3173
3846
  // Tags HttpsProxyAgent instances installed by setProxy() so the redirect path
3174
3847
  // can strip them without clobbering a user-supplied agent that happens to be
3175
3848
  // an HttpsProxyAgent.
@@ -3315,13 +3988,14 @@ function isSameOriginRedirect(redirectOptions, requestDetails) {
3315
3988
  * @param {http.ClientRequestArgs} options
3316
3989
  * @param {AxiosProxyConfig} configProxy configuration from Axios options object
3317
3990
  * @param {string} location
3991
+ * @param {boolean} [allowEnvProxy=true] whether environment proxy configuration can be used
3318
3992
  *
3319
- * @returns {http.ClientRequestArgs}
3993
+ * @returns {boolean} whether a proxy applies to the selected transport
3320
3994
  */
3321
- function setProxy(options, configProxy, location, isRedirect, configHttpsAgent, configHttpAgent) {
3995
+ function setProxy(options, configProxy, location, isRedirect, configHttpsAgent, configHttpAgent, allowEnvProxy = true) {
3322
3996
  let proxy = configProxy;
3323
3997
  const proxyEnvAgent = getProxyEnvAgent(options, configHttpAgent, configHttpsAgent);
3324
- if (!proxy && proxy !== false && !isNodeEnvProxyEnabled(proxyEnvAgent)) {
3998
+ if (!proxy && proxy !== false && allowEnvProxy && !isNodeEnvProxyEnabled(proxyEnvAgent)) {
3325
3999
  const proxyUrl = getProxyForUrl(location);
3326
4000
  if (proxyUrl) {
3327
4001
  if (!shouldBypassProxy(location)) {
@@ -3456,8 +4130,9 @@ function setProxy(options, configProxy, location, isRedirect, configHttpsAgent,
3456
4130
  options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {
3457
4131
  // Configure proxy for redirected request, passing the original config proxy to apply
3458
4132
  // the exact same logic as if the redirected request was performed by axios directly.
3459
- setProxy(redirectOptions, configProxy, redirectOptions.href, true, configHttpsAgent, configHttpAgent);
4133
+ setProxy(redirectOptions, configProxy, redirectOptions.href, true, configHttpsAgent, configHttpAgent, allowEnvProxy);
3460
4134
  };
4135
+ return Boolean(proxy || configProxy !== false && allowEnvProxy && isNodeEnvProxyEnabled(proxyEnvAgent));
3461
4136
  }
3462
4137
  const isHttpAdapterSupported = typeof process !== 'undefined' && utils$1.kindOf(process) === 'process';
3463
4138
 
@@ -3488,7 +4163,7 @@ const resolveFamily = ({
3488
4163
  family
3489
4164
  }) => {
3490
4165
  if (!utils$1.isString(address)) {
3491
- throw TypeError('address must be a string');
4166
+ throw new AxiosError('address must be a string', AxiosError.ERR_BAD_OPTION_VALUE);
3492
4167
  }
3493
4168
  return {
3494
4169
  address,
@@ -3499,6 +4174,32 @@ const buildAddressEntry = (address, family) => resolveFamily(utils$1.isObject(ad
3499
4174
  address,
3500
4175
  family
3501
4176
  });
4177
+ const normalizedLookupCache = new WeakMap();
4178
+ const normalizeLookup = lookup => {
4179
+ let normalized = normalizedLookupCache.get(lookup);
4180
+ if (normalized) {
4181
+ return normalized;
4182
+ }
4183
+ const callbackLookup = callbackify(lookup, value => utils$1.isArray(value) ? value : [value]);
4184
+
4185
+ // Support opt.all, which is required by current Node.js releases.
4186
+ normalized = (hostname, opt, cb) => {
4187
+ callbackLookup(hostname, opt, (err, arg0, arg1) => {
4188
+ if (err) {
4189
+ return cb(err);
4190
+ }
4191
+ let addresses;
4192
+ try {
4193
+ addresses = utils$1.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];
4194
+ } catch (error) {
4195
+ return cb(error);
4196
+ }
4197
+ opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);
4198
+ });
4199
+ };
4200
+ normalizedLookupCache.set(lookup, normalized);
4201
+ return normalized;
4202
+ };
3502
4203
  const http2Transport = {
3503
4204
  request(options, cb) {
3504
4205
  const authority = options.protocol + '//' + options.hostname + ':' + (options.port || (options.protocol === 'https:' ? 443 : 80));
@@ -3551,6 +4252,7 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3551
4252
  let family = own('family');
3552
4253
  let httpVersion = own('httpVersion');
3553
4254
  if (httpVersion === undefined) httpVersion = 1;
4255
+ const rawHttpVersion = httpVersion;
3554
4256
  let http2Options = own('http2Options');
3555
4257
  const httpAgent = own('httpAgent');
3556
4258
  const httpsAgent = own('httpsAgent');
@@ -3567,26 +4269,20 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3567
4269
  let rejected = false;
3568
4270
  let req;
3569
4271
  let connectPhaseTimer;
3570
- httpVersion = +httpVersion;
4272
+ try {
4273
+ httpVersion = +httpVersion;
4274
+ } catch (err) {
4275
+ throw new AxiosError('Invalid protocol version: value is not a number', AxiosError.ERR_BAD_OPTION_VALUE, config);
4276
+ }
3571
4277
  if (Number.isNaN(httpVersion)) {
3572
- throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);
4278
+ throw new AxiosError(`Invalid protocol version: '${rawHttpVersion}' is not a number`, AxiosError.ERR_BAD_OPTION_VALUE, config);
3573
4279
  }
3574
4280
  if (httpVersion !== 1 && httpVersion !== 2) {
3575
- throw TypeError(`Unsupported protocol version '${httpVersion}'`);
4281
+ throw new AxiosError(`Unsupported protocol version '${httpVersion}'`, AxiosError.ERR_BAD_OPTION_VALUE, config);
3576
4282
  }
3577
4283
  const isHttp2 = httpVersion === 2;
3578
4284
  if (lookup) {
3579
- const _lookup = callbackify(lookup, value => utils$1.isArray(value) ? value : [value]);
3580
- // hotfix to support opt.all option which is required for node 20.x
3581
- lookup = (hostname, opt, cb) => {
3582
- _lookup(hostname, opt, (err, arg0, arg1) => {
3583
- if (err) {
3584
- return cb(err);
3585
- }
3586
- const addresses = utils$1.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];
3587
- opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);
3588
- });
3589
- };
4285
+ lookup = normalizeLookup(lookup);
3590
4286
  }
3591
4287
  const abortEmitter = new events.EventEmitter();
3592
4288
  function abort(reason) {
@@ -3663,7 +4359,7 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3663
4359
  if (maxContentLength > -1) {
3664
4360
  // Use the exact string passed to fromDataURI (the configured url); fall back to fullPath if needed.
3665
4361
  const dataUrl = String(own('url') || fullPath || '');
3666
- const estimated = estimateDataURLDecodedBytes(dataUrl);
4362
+ const estimated = estimateDataURLBufferAllocation(dataUrl);
3667
4363
  if (estimated > maxContentLength) {
3668
4364
  return reject(new AxiosError('maxContentLength size of ' + maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config));
3669
4365
  }
@@ -3729,7 +4425,7 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3729
4425
  });
3730
4426
  // support for https://www.npmjs.com/package/form-data api
3731
4427
  } else if (utils$1.isFormData(data) && utils$1.isFunction(data.getHeaders) && data.getHeaders !== Object.prototype.getHeaders) {
3732
- setFormDataHeaders$1(headers, data.getHeaders(), own('formDataHeaderPolicy'));
4428
+ setFormDataHeaders(headers, data.getHeaders(), own('formDataHeaderPolicy'));
3733
4429
  if (!headers.hasContentLength()) {
3734
4430
  try {
3735
4431
  const knownLength = await util.promisify(data.getLength).call(data);
@@ -3772,7 +4468,7 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3772
4468
  data = stream.pipeline([data, new AxiosTransformStream({
3773
4469
  maxRate: utils$1.toFiniteNumber(maxUploadRate)
3774
4470
  })], utils$1.noop);
3775
- onUploadProgress && data.on('progress', flushOnFinish(data, progressEventDecorator(contentLength, progressEventReducer(asyncDecorator(onUploadProgress), false, 3))));
4471
+ onUploadProgress && data.on('progress', flushOnFinish(data, progressEventDecorator(contentLength, progressEventReducer(asyncDecorator(onUploadProgress, scheduleProgress), false, 3))));
3776
4472
  }
3777
4473
 
3778
4474
  // HTTP basic authentication
@@ -3799,6 +4495,11 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3799
4495
  }));
3800
4496
  }
3801
4497
  headers.set('Accept-Encoding', utils$1.hasOwnProp(transitional, 'advertiseZstdAcceptEncoding') && transitional.advertiseZstdAcceptEncoding === true ? ACCEPT_ENCODING_WITH_ZSTD : ACCEPT_ENCODING, false);
4498
+ if (isHttp2 && lookup) {
4499
+ http2Options = Object.assign(Object.create(null), http2Options, {
4500
+ lookup
4501
+ });
4502
+ }
3802
4503
 
3803
4504
  // Null-prototype to block prototype pollution gadgets on properties read
3804
4505
  // directly by Node's http.request (e.g. insecureHTTPParser, lookup).
@@ -3815,11 +4516,13 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3815
4516
  family,
3816
4517
  beforeRedirect: dispatchBeforeRedirect,
3817
4518
  beforeRedirects: Object.create(null),
3818
- http2Options
4519
+ http2Options,
4520
+ createConnection: undefined
3819
4521
  });
3820
4522
 
3821
4523
  // cacheable-lookup integration hotfix
3822
4524
  !utils$1.isUndefined(lookup) && (options.lookup = lookup);
4525
+ let proxyApplied = false;
3823
4526
  if (socketPath) {
3824
4527
  if (typeof socketPath !== 'string') {
3825
4528
  return reject(new AxiosError('socketPath must be a string', AxiosError.ERR_BAD_OPTION_VALUE, config));
@@ -3837,7 +4540,11 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3837
4540
  } else {
3838
4541
  options.hostname = parsed.hostname.startsWith('[') ? parsed.hostname.slice(1, -1) : parsed.hostname;
3839
4542
  options.port = parsed.port;
3840
- setProxy(options, configProxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path, false, httpsAgent, httpAgent);
4543
+ proxyApplied = setProxy(options, configProxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path, false, httpsAgent, httpAgent,
4544
+ // The HTTP/2 transport connects independently of HTTP/1 agents, so it
4545
+ // cannot apply either axios-resolved or agent-local environment proxies.
4546
+ // Explicit proxy config is still processed and rejected below.
4547
+ !isHttp2);
3841
4548
  }
3842
4549
  let transport;
3843
4550
  let isNativeTransport = false;
@@ -3853,6 +4560,9 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3853
4560
  options.agent = isHttpsRequest ? httpsAgent : httpAgent;
3854
4561
  }
3855
4562
  if (isHttp2) {
4563
+ if (proxyApplied) {
4564
+ return reject(new AxiosError('HTTP/2 requests with a proxy are not supported', AxiosError.ERR_NOT_SUPPORT, config));
4565
+ }
3856
4566
  transport = http2Transport;
3857
4567
  } else {
3858
4568
  const configTransport = own('transport');
@@ -3937,7 +4647,7 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
3937
4647
  const transformStream = new AxiosTransformStream({
3938
4648
  maxRate: utils$1.toFiniteNumber(maxDownloadRate)
3939
4649
  });
3940
- onDownloadProgress && transformStream.on('progress', flushOnFinish(transformStream, progressEventDecorator(responseLength, progressEventReducer(asyncDecorator(onDownloadProgress), true, 3))));
4650
+ onDownloadProgress && transformStream.on('progress', flushOnFinish(transformStream, progressEventDecorator(responseLength, progressEventReducer(asyncDecorator(onDownloadProgress, scheduleProgress), true, 3))));
3941
4651
  streams.push(transformStream);
3942
4652
  }
3943
4653
 
@@ -4100,18 +4810,10 @@ var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
4100
4810
  socket.setKeepAlive(true, 1000 * 60);
4101
4811
  }
4102
4812
 
4103
- // Install a single 'error' listener per socket (not per request) to avoid
4104
- // accumulating listeners on pooled keep-alive sockets that get reassigned
4105
- // to new requests before the previous request's 'close' fires (issue #10780).
4106
- // The listener is bound to the socket's currently-active request via a
4107
- // symbol, which is swapped as the socket is reassigned.
4813
+ // Install one shared 'error' listener per socket. The symbol follows the
4814
+ // currently-active request as pooled sockets are reassigned (issue #10780).
4108
4815
  if (!socket[kAxiosSocketListener]) {
4109
- socket.on('error', function handleSocketError(err) {
4110
- const current = socket[kAxiosCurrentReq];
4111
- if (current && !current.destroyed) {
4112
- current.destroy(err);
4113
- }
4114
- });
4816
+ socket.on('error', handleSocketError);
4115
4817
  socket[kAxiosSocketListener] = true;
4116
4818
  }
4117
4819
  socket[kAxiosCurrentReq] = req;
@@ -4268,6 +4970,12 @@ var cookies = platform.hasStandardBrowserEnv ?
4268
4970
  const headersToObject = thing => thing instanceof AxiosHeaders ? {
4269
4971
  ...thing
4270
4972
  } : thing;
4973
+ const ownEnumerableKeys = thing => {
4974
+ if (Object.getOwnPropertySymbols && Object.getOwnPropertyDescriptor) {
4975
+ return Object.keys(thing).concat(Object.getOwnPropertySymbols(thing).filter(symbol => Object.getOwnPropertyDescriptor(thing, symbol).enumerable));
4976
+ }
4977
+ return Object.keys(thing);
4978
+ };
4271
4979
 
4272
4980
  /**
4273
4981
  * Config-specific merge-function which creates a new config-object
@@ -4367,7 +5075,7 @@ function mergeConfig(config1, config2) {
4367
5075
  transformResponse: defaultToConfig2,
4368
5076
  paramsSerializer: defaultToConfig2,
4369
5077
  timeout: defaultToConfig2,
4370
- timeoutMessage: defaultToConfig2,
5078
+ timeoutErrorMessage: defaultToConfig2,
4371
5079
  withCredentials: defaultToConfig2,
4372
5080
  withXSRFToken: defaultToConfig2,
4373
5081
  adapter: defaultToConfig2,
@@ -4390,7 +5098,7 @@ function mergeConfig(config1, config2) {
4390
5098
  validateStatus: mergeDirectKeys,
4391
5099
  headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)
4392
5100
  };
4393
- utils$1.forEach(Object.keys({
5101
+ utils$1.forEach(ownEnumerableKeys({
4394
5102
  ...config1,
4395
5103
  ...config2
4396
5104
  }), function computeConfigValue(prop) {
@@ -4411,19 +5119,6 @@ function mergeConfig(config1, config2) {
4411
5119
  return config;
4412
5120
  }
4413
5121
 
4414
- const FORM_DATA_CONTENT_HEADERS = ['content-type', 'content-length'];
4415
- function setFormDataHeaders(headers, formHeaders, policy) {
4416
- if (policy !== 'content-only') {
4417
- headers.set(formHeaders);
4418
- return;
4419
- }
4420
- Object.entries(formHeaders || {}).forEach(([key, val]) => {
4421
- if (FORM_DATA_CONTENT_HEADERS.includes(key.toLowerCase())) {
4422
- headers.set(key, val);
4423
- }
4424
- });
4425
- }
4426
-
4427
5122
  /**
4428
5123
  * Encode a UTF-8 string to a Latin-1 byte string for use with btoa().
4429
5124
  * This is a modern replacement for the deprecated unescape(encodeURIComponent(str)) pattern.
@@ -4462,11 +5157,12 @@ function resolveConfig(config) {
4462
5157
  }
4463
5158
  }
4464
5159
  if (utils$1.isFormData(data)) {
5160
+ const getHeaders = utils$1.getSafeProp(data, 'getHeaders');
4465
5161
  if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv || utils$1.isReactNative(data)) {
4466
5162
  headers.setContentType(undefined); // browser/web worker/RN handles it
4467
- } else if (utils$1.isFunction(data.getHeaders)) {
5163
+ } else if (utils$1.isFunction(getHeaders)) {
4468
5164
  // Node.js FormData (like form-data package)
4469
- setFormDataHeaders(headers, data.getHeaders(), own('formDataHeaderPolicy'));
5165
+ setFormDataHeaders(headers, getHeaders.call(data), own('formDataHeaderPolicy'));
4470
5166
  }
4471
5167
  }
4472
5168
 
@@ -4506,7 +5202,7 @@ var xhrAdapter = isXHRAdapterSupported && function (config) {
4506
5202
  } = _config;
4507
5203
  let onCanceled;
4508
5204
  let uploadThrottled, downloadThrottled;
4509
- let flushUpload, flushDownload;
5205
+ let flushUpload, flushDownload, flushDownloadWithEvent;
4510
5206
  function done() {
4511
5207
  flushUpload && flushUpload(); // flush events
4512
5208
  flushDownload && flushDownload(); // flush events
@@ -4519,10 +5215,50 @@ var xhrAdapter = isXHRAdapterSupported && function (config) {
4519
5215
 
4520
5216
  // Set the request timeout in MS
4521
5217
  request.timeout = _config.timeout;
4522
- function onloadend() {
5218
+ function onloadend(event) {
5219
+ if (!request) {
5220
+ return;
5221
+ }
5222
+
5223
+ // Status 0 means no response was received, which onerror and onabort normally
5224
+ // reject before this runs. Firefox 152 fires only readystatechange and loadend for
5225
+ // navigation-canceled requests (https://bugzilla.mozilla.org/show_bug.cgi?id=1505389),
5226
+ // leaving settle() to resolve them as an empty success. ECONNABORTED is the error
5227
+ // onabort raised on Firefox 151. Reads over file:, which some environments report as
5228
+ // status 0 on success, are excluded by the request URL's scheme after browser-style
5229
+ // preprocessing, by the page origin's scheme for relative URLs (which inherit it), or
5230
+ // by responseURL where implemented.
5231
+ if (request.status === 0 && (parseProtocol(normalizeURLForProtocolCheck(_config.url)) || parseProtocol(platform.origin)) !== 'file' && !(request.responseURL && request.responseURL.startsWith('file:'))) {
5232
+ reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));
5233
+ done();
5234
+
5235
+ // Clean up request
5236
+ request = null;
5237
+ return;
5238
+ }
5239
+
5240
+ // When loadend is still dispatching, flushing with it gives progress
5241
+ // listeners a final delivery whose event has a live target. The legacy
5242
+ // ready-state fallback has no event, so replay its pending progress.
5243
+ // A throwing listener must not block settlement; rethrow asynchronously,
5244
+ // matching how listener errors surface on the throttle timer path.
5245
+ try {
5246
+ if (event) {
5247
+ flushDownloadWithEvent && flushDownloadWithEvent(event);
5248
+ } else {
5249
+ flushDownload && flushDownload();
5250
+ }
5251
+ } catch (err) {
5252
+ setTimeout(() => {
5253
+ throw err;
5254
+ });
5255
+ }
5256
+
5257
+ // A final progress callback can cancel the request synchronously.
4523
5258
  if (!request) {
4524
5259
  return;
4525
5260
  }
5261
+
4526
5262
  // Prepare the response
4527
5263
  const responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());
4528
5264
  const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;
@@ -4630,7 +5366,7 @@ var xhrAdapter = isXHRAdapterSupported && function (config) {
4630
5366
 
4631
5367
  // Handle progress if needed
4632
5368
  if (onDownloadProgress) {
4633
- [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);
5369
+ [downloadThrottled, flushDownload, flushDownloadWithEvent] = progressEventReducer(onDownloadProgress, true);
4634
5370
  request.addEventListener('progress', downloadThrottled);
4635
5371
  }
4636
5372
 
@@ -4699,9 +5435,18 @@ const composeSignals = (signals, timeout) => {
4699
5435
  });
4700
5436
  signals = null;
4701
5437
  };
4702
- signals.forEach(signal => signal.addEventListener('abort', onabort, {
4703
- once: true
4704
- }));
5438
+ signals.forEach(signal => {
5439
+ if (aborted) {
5440
+ return;
5441
+ }
5442
+ if (signal.aborted) {
5443
+ onabort.call(signal);
5444
+ return;
5445
+ }
5446
+ signal.addEventListener('abort', onabort, {
5447
+ once: true
5448
+ });
5449
+ });
4705
5450
  const {
4706
5451
  signal
4707
5452
  } = controller;
@@ -4792,6 +5537,17 @@ const trackStream = (stream, chunkSize, onProgress, onFinish) => {
4792
5537
  };
4793
5538
 
4794
5539
  const DEFAULT_CHUNK_SIZE = 64 * 1024;
5540
+ const DEFAULT_REQUEST_OPTIONS = {
5541
+ cache: 'default',
5542
+ redirect: 'follow',
5543
+ referrer: 'about:client',
5544
+ referrerPolicy: '',
5545
+ mode: 'cors',
5546
+ integrity: '',
5547
+ keepalive: false,
5548
+ priority: 'auto',
5549
+ window: null
5550
+ };
4795
5551
  const {
4796
5552
  isFunction
4797
5553
  } = utils$1;
@@ -4934,7 +5690,8 @@ const factory = env => {
4934
5690
  withCredentials = 'same-origin',
4935
5691
  fetchOptions,
4936
5692
  maxContentLength,
4937
- maxBodyLength
5693
+ maxBodyLength,
5694
+ maxRedirects
4938
5695
  } = resolveConfig(config);
4939
5696
  const hasMaxContentLength = utils$1.isNumber(maxContentLength) && maxContentLength > -1;
4940
5697
  const hasMaxBodyLength = utils$1.isNumber(maxBodyLength) && maxBodyLength > -1;
@@ -5065,17 +5822,46 @@ const factory = env => {
5065
5822
 
5066
5823
  // Set User-Agent header if not already set (fetch defaults to 'node' in Node.js)
5067
5824
  headers.set('User-Agent', 'axios/' + VERSION, false);
5068
- const resolvedOptions = {
5069
- ...fetchOptions,
5825
+ const safeFetchOptions = fetchOptions == null ? fetchOptions : Object.assign(Object.create(null), fetchOptions);
5826
+ if (safeFetchOptions) {
5827
+ // These options are owned by Axios and are already reflected in the
5828
+ // resolved Request passed to fetch.
5829
+ delete safeFetchOptions.body;
5830
+ delete safeFetchOptions.headers;
5831
+ delete safeFetchOptions.method;
5832
+ delete safeFetchOptions.signal;
5833
+ delete safeFetchOptions.duplex;
5834
+ delete safeFetchOptions.credentials;
5835
+ }
5836
+ const resolvedOptions = Object.assign(Object.create(null), safeFetchOptions, {
5070
5837
  signal: composedSignal,
5071
5838
  method: method.toUpperCase(),
5072
5839
  headers: toByteStringHeaderObject(headers.normalize()),
5073
5840
  body: data,
5074
5841
  duplex: 'half',
5075
5842
  credentials: isCredentialsSupported ? withCredentials : undefined
5076
- };
5843
+ });
5844
+ if (isRequestSupported) {
5845
+ utils$1.forEach(DEFAULT_REQUEST_OPTIONS, (value, key) => {
5846
+ if (resolvedOptions[key] === undefined) {
5847
+ resolvedOptions[key] = value;
5848
+ }
5849
+ });
5850
+ if (resolvedOptions.signal === undefined) {
5851
+ resolvedOptions.signal = null;
5852
+ }
5853
+ if (resolvedOptions.body === undefined) {
5854
+ resolvedOptions.body = null;
5855
+ }
5856
+ }
5857
+ if (maxRedirects === 0) {
5858
+ resolvedOptions.redirect = 'manual';
5859
+ if (safeFetchOptions) {
5860
+ safeFetchOptions.redirect = 'manual';
5861
+ }
5862
+ }
5077
5863
  request = isRequestSupported && new Request(url, resolvedOptions);
5078
- let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));
5864
+ let response = await (isRequestSupported ? _fetch(request, safeFetchOptions) : _fetch(url, resolvedOptions));
5079
5865
  const responseHeaders = AxiosHeaders.from(response.headers);
5080
5866
 
5081
5867
  // Cheap pre-check: if the server honestly declares a content-length that
@@ -5355,9 +6141,13 @@ function throwIfCancellationRequested(config) {
5355
6141
  *
5356
6142
  * @returns {Promise} The Promise to be fulfilled
5357
6143
  */
5358
- function dispatchRequest(config) {
6144
+ function dispatchRequest(_config) {
6145
+ // Interceptors may replace the merged config with an ordinary object. Flatten
6146
+ // it at the dispatch boundary so shared prototype members cannot become
6147
+ // request behavior, while preserving intentional template/class members.
6148
+ const config = utils$1.toSafeFlatObject(_config);
5359
6149
  throwIfCancellationRequested(config);
5360
- config.headers = AxiosHeaders.from(config.headers);
6150
+ config.headers = AxiosHeaders.from(utils$1.getSafeProp(config, 'headers'));
5361
6151
 
5362
6152
  // Transform request data
5363
6153
  config.data = transformData.call(config, config.transformRequest);
@@ -5513,18 +6303,17 @@ class Axios {
5513
6303
  return await this._request(configOrUrl, config);
5514
6304
  } catch (err) {
5515
6305
  if (err instanceof Error) {
5516
- let dummy = {};
5517
- Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
5518
-
5519
- // slice off the Error: ... line
5520
- const stack = (() => {
5521
- if (!dummy.stack) {
5522
- return '';
5523
- }
5524
- const firstNewlineIndex = dummy.stack.indexOf('\n');
5525
- return firstNewlineIndex === -1 ? '' : dummy.stack.slice(firstNewlineIndex + 1);
5526
- })();
5527
6306
  try {
6307
+ let dummy = {};
6308
+ Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
6309
+ const dummyStack = dummy.stack;
6310
+ let stack = '';
6311
+
6312
+ // slice off the Error: ... line
6313
+ if (typeof dummyStack === 'string') {
6314
+ const firstNewlineIndex = dummyStack.indexOf('\n');
6315
+ stack = firstNewlineIndex === -1 ? '' : dummyStack.slice(firstNewlineIndex + 1);
6316
+ }
5528
6317
  if (!err.stack) {
5529
6318
  err.stack = stack;
5530
6319
  // match without the 2 top stack lines
@@ -5537,7 +6326,7 @@ class Axios {
5537
6326
  }
5538
6327
  }
5539
6328
  } catch (e) {
5540
- // ignore the case where "stack" is an un-writable property
6329
+ // Ignore failures from custom stack hooks or un-writable stack properties.
5541
6330
  }
5542
6331
  }
5543
6332
  throw err;
@@ -5593,11 +6382,11 @@ class Axios {
5593
6382
  }, true);
5594
6383
 
5595
6384
  // Set config.method
5596
- config.method = (config.method || this.defaults.method || 'get').toLowerCase();
6385
+ config.method = (utils$1.getSafeProp(config, 'method') || utils$1.getSafeProp(this.defaults, 'method') || 'get').toLowerCase();
5597
6386
 
5598
6387
  // Flatten headers
5599
6388
  let contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]);
5600
- headers && utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'query', 'common'], method => {
6389
+ headers && utils$1.forEach(methodList.concat('common'), method => {
5601
6390
  delete headers[method];
5602
6391
  });
5603
6392
  config.headers = AxiosHeaders.concat(contextHeaders, headers);
@@ -5642,16 +6431,29 @@ class Axios {
5642
6431
  const onFulfilled = requestInterceptorChain[i++];
5643
6432
  const onRejected = requestInterceptorChain[i++];
5644
6433
  try {
5645
- newConfig = onFulfilled(newConfig);
6434
+ newConfig = onFulfilled ? onFulfilled(newConfig) : newConfig;
5646
6435
  } catch (error) {
5647
- onRejected.call(this, error);
6436
+ if (!onRejected) {
6437
+ promise = Promise.reject(error);
6438
+ break;
6439
+ }
6440
+ try {
6441
+ const rejectedResult = onRejected.call(this, error);
6442
+ if (utils$1.isThenable(rejectedResult)) {
6443
+ promise = Promise.resolve(rejectedResult).then(() => dispatchRequest.call(this, newConfig));
6444
+ }
6445
+ } catch (rejectedError) {
6446
+ promise = Promise.reject(rejectedError);
6447
+ }
5648
6448
  break;
5649
6449
  }
5650
6450
  }
5651
- try {
5652
- promise = dispatchRequest.call(this, newConfig);
5653
- } catch (error) {
5654
- return Promise.reject(error);
6451
+ if (!promise) {
6452
+ try {
6453
+ promise = dispatchRequest.call(this, newConfig);
6454
+ } catch (error) {
6455
+ promise = Promise.reject(error);
6456
+ }
5655
6457
  }
5656
6458
  i = 0;
5657
6459
  len = responseInterceptorChain.length;
@@ -5890,14 +6692,22 @@ const HttpStatusCode = {
5890
6692
  Gone: 410,
5891
6693
  LengthRequired: 411,
5892
6694
  PreconditionFailed: 412,
6695
+ /**
6696
+ * @deprecated Use `ContentTooLarge` instead.
6697
+ */
5893
6698
  PayloadTooLarge: 413,
6699
+ ContentTooLarge: 413,
5894
6700
  UriTooLong: 414,
5895
6701
  UnsupportedMediaType: 415,
5896
6702
  RangeNotSatisfiable: 416,
5897
6703
  ExpectationFailed: 417,
5898
6704
  ImATeapot: 418,
5899
6705
  MisdirectedRequest: 421,
6706
+ /**
6707
+ * @deprecated Use `UnprocessableContent` instead.
6708
+ */
5900
6709
  UnprocessableEntity: 422,
6710
+ UnprocessableContent: 422,
5901
6711
  Locked: 423,
5902
6712
  FailedDependency: 424,
5903
6713
  TooEarly: 425,
@@ -5917,6 +6727,7 @@ const HttpStatusCode = {
5917
6727
  LoopDetected: 508,
5918
6728
  NotExtended: 510,
5919
6729
  NetworkAuthenticationRequired: 511,
6730
+ WebServerReturnsAnUnknownError: 520,
5920
6731
  WebServerIsDown: 521,
5921
6732
  ConnectionTimedOut: 522,
5922
6733
  OriginIsUnreachable: 523,
@@ -5925,7 +6736,9 @@ const HttpStatusCode = {
5925
6736
  InvalidSslCertificate: 526
5926
6737
  };
5927
6738
  Object.entries(HttpStatusCode).forEach(([key, value]) => {
5928
- HttpStatusCode[value] = key;
6739
+ if (HttpStatusCode[value] === undefined) {
6740
+ HttpStatusCode[value] = key;
6741
+ }
5929
6742
  });
5930
6743
 
5931
6744
  /**
@@ -5993,4 +6806,3 @@ axios.HttpStatusCode = HttpStatusCode;
5993
6806
  axios.default = axios;
5994
6807
 
5995
6808
  module.exports = axios;
5996
- //# sourceMappingURL=axios.cjs.map