@automattic/vip 4.1.3 → 4.1.5

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 (854) hide show
  1. package/.buildkite/build-macos-installer.sh +34 -0
  2. package/.buildkite/build-macos.sh +2 -3
  3. package/.buildkite/build-windows-installer.ps1 +65 -0
  4. package/.buildkite/build-windows.ps1 +2 -18
  5. package/.buildkite/pipeline.yml +32 -0
  6. package/.buildkite/sign-windows.ps1 +21 -0
  7. package/.buildkite/test-windows-installer-download.ps1 +54 -0
  8. package/.buildkite/test_pipeline.py +69 -0
  9. package/Gemfile.lock +44 -41
  10. package/cmd/installer-payload/main.go +19 -0
  11. package/cmd/installer-version/main.go +22 -0
  12. package/cmd/vip-next/commands/app_debug_test.go +89 -0
  13. package/cmd/vip-next/commands/app_deploy.go +4 -0
  14. package/cmd/vip-next/commands/app_deploy_validate.go +2 -0
  15. package/cmd/vip-next/commands/config_debug_test.go +137 -0
  16. package/cmd/vip-next/commands/config_envvar_delete.go +2 -0
  17. package/cmd/vip-next/commands/config_envvar_get.go +2 -0
  18. package/cmd/vip-next/commands/config_envvar_get_all.go +2 -0
  19. package/cmd/vip-next/commands/config_envvar_list.go +2 -0
  20. package/cmd/vip-next/commands/config_envvar_set.go +2 -0
  21. package/cmd/vip-next/commands/config_software_update.go +12 -1
  22. package/cmd/vip-next/commands/devenv.go +1 -0
  23. package/cmd/vip-next/commands/devenv_create_test.go +5 -5
  24. package/cmd/vip-next/commands/devenv_debug_test.go +34 -0
  25. package/cmd/vip-next/commands/devenv_envvar.go +12 -0
  26. package/cmd/vip-next/commands/devenv_lifecycle.go +37 -11
  27. package/cmd/vip-next/commands/devenv_resolve.go +15 -3
  28. package/cmd/vip-next/commands/devenv_telemetry.go +265 -0
  29. package/cmd/vip-next/commands/devenv_telemetry_test.go +322 -0
  30. package/cmd/vip-next/commands/devenv_update.go +1 -1
  31. package/cmd/vip-next/commands/devenv_update_test.go +28 -2
  32. package/cmd/vip-next/commands/import_debug_test.go +110 -0
  33. package/cmd/vip-next/commands/import_media.go +4 -0
  34. package/cmd/vip-next/commands/import_sql.go +9 -1
  35. package/cmd/vip-next/commands/logout.go +1 -1
  36. package/cmd/vip-next/commands/searchreplace.go +3 -1
  37. package/cmd/vip-next/commands/searchreplace_debug_test.go +82 -0
  38. package/cmd/vip-next/commands/whoami.go +10 -1
  39. package/cmd/vip-next/commands/whoami_debug_test.go +79 -0
  40. package/cmd/vip-next/commands/wp.go +2 -0
  41. package/cmd/vip-next/commands/wp_debug_test.go +32 -0
  42. package/cmd/vip-next/debug_args.go +63 -0
  43. package/cmd/vip-next/debug_test.go +122 -0
  44. package/cmd/vip-next/main.go +58 -2
  45. package/cmd/vip-next/pendo_wiring_test.go +148 -0
  46. package/cmd/vip-next/root.go +17 -0
  47. package/dist/bin/vip-dev-env-envvar-get.js +2 -2
  48. package/dist/bin/vip-dev-env-envvar-set.js +2 -2
  49. package/dist/bin/vip-dev-env-update.js +1 -1
  50. package/dist/lib/analytics/clients/pendo.js +19 -7
  51. package/dist/lib/constants/dev-environment.js +8 -7
  52. package/dist/lib/dev-environment/dev-environment-cli.js +15 -4
  53. package/dist/lib/dev-environment/dev-environment-core.js +1 -1
  54. package/docs/BUILD-SIGNING.md +147 -6
  55. package/docs/DEBUGGING.md +61 -0
  56. package/docs/GO-UPDATES.md +7 -1
  57. package/docs/RELEASING.md +3 -2
  58. package/docs/SETUP.md +2 -1
  59. package/fastlane/Fastfile +66 -3
  60. package/fastlane/test_signing.rb +83 -0
  61. package/internal/auth/logout.go +14 -1
  62. package/internal/auth/logout_test.go +46 -0
  63. package/internal/debuglog/debuglog.go +85 -0
  64. package/internal/debuglog/debuglog_test.go +44 -0
  65. package/internal/devenv/compose/view.go +6 -3
  66. package/internal/devenv/compose/view_test.go +1 -1
  67. package/internal/devenv/debug.go +4 -0
  68. package/internal/devenv/debug_test.go +103 -0
  69. package/internal/devenv/devenv.go +20 -2
  70. package/internal/devenv/devexec.go +3 -0
  71. package/internal/devenv/importdata.go +4 -1
  72. package/internal/devenv/list.go +9 -1
  73. package/internal/devenv/logs.go +2 -0
  74. package/internal/devenv/proxy/ca.go +9 -2
  75. package/internal/devenv/proxy/ca_test.go +1 -1
  76. package/internal/devenv/proxy/network.go +7 -3
  77. package/internal/devenv/proxy/network_test.go +6 -0
  78. package/internal/devenv/proxy/proxy.go +37 -8
  79. package/internal/devenv/proxy/proxy_test.go +61 -6
  80. package/internal/devenv/proxy/scripts/gen-certs.sh +20 -5
  81. package/internal/devenv/update.go +2 -0
  82. package/internal/gql/debug_test.go +79 -0
  83. package/internal/gql/error.go +27 -1
  84. package/internal/gql/rechallenge.go +9 -5
  85. package/internal/gql/retry.go +21 -2
  86. package/internal/gql/transport.go +9 -0
  87. package/internal/httpproxy/debug_test.go +32 -0
  88. package/internal/httpproxy/httpproxy.go +8 -1
  89. package/internal/installer/version.go +41 -0
  90. package/internal/installer/version_test.go +33 -0
  91. package/internal/parity/edge_workers_debug_test.go +87 -0
  92. package/internal/parity/pendo_test.go +122 -0
  93. package/internal/rechallenge/flow.go +8 -0
  94. package/internal/rechallenge/flow_test.go +15 -1
  95. package/internal/releasepromotion/buildkite.go +12 -1
  96. package/internal/releasepromotion/buildkite_test.go +31 -0
  97. package/internal/releasepromotion/contract.go +49 -1
  98. package/internal/releasepromotion/contract_test.go +38 -0
  99. package/internal/releasepromotion/github.go +4 -10
  100. package/internal/releasepromotion/optional_installers_test.go +87 -0
  101. package/internal/releasepromotion/verify.go +99 -2
  102. package/internal/releasepromotion/verify_test.go +99 -0
  103. package/internal/searchreplace/debug_test.go +71 -0
  104. package/internal/searchreplace/searchreplace.go +14 -0
  105. package/internal/siteimport/debug_test.go +34 -0
  106. package/internal/siteimport/status.go +11 -0
  107. package/internal/telemetry/pendo.go +41 -10
  108. package/internal/telemetry/pendo_auth_test.go +92 -0
  109. package/internal/telemetry/pendo_test.go +24 -5
  110. package/internal/telemetry/tracker.go +26 -0
  111. package/internal/update/github.go +36 -17
  112. package/internal/update/ownership.go +22 -0
  113. package/internal/update/ownership_test.go +44 -0
  114. package/internal/update/release_test.go +53 -13
  115. package/internal/update/service_test.go +39 -0
  116. package/internal/upload/debug_test.go +76 -0
  117. package/internal/upload/multipart.go +3 -0
  118. package/internal/upload/orchestrate.go +10 -0
  119. package/internal/upload/putobject.go +3 -0
  120. package/internal/wpssh/debug_test.go +67 -0
  121. package/internal/wpssh/wpssh.go +7 -0
  122. package/internal/wpstream/debug_test.go +116 -0
  123. package/internal/wpstream/run.go +10 -1
  124. package/node_modules/@apollo/client/CHANGELOG.md +1136 -0
  125. package/node_modules/@apollo/client/__cjs/cache/core/Scalar.cjs +36 -0
  126. package/node_modules/@apollo/client/__cjs/cache/core/Scalar.cjs.map +1 -0
  127. package/node_modules/@apollo/client/__cjs/cache/core/Scalar.d.cts +56 -0
  128. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs +32 -1
  129. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs.map +1 -1
  130. package/node_modules/@apollo/client/__cjs/cache/core/cache.d.cts +89 -6
  131. package/node_modules/@apollo/client/__cjs/cache/core/types/Cache.d.cts +30 -2
  132. package/node_modules/@apollo/client/__cjs/cache/index.cjs +3 -1
  133. package/node_modules/@apollo/client/__cjs/cache/index.cjs.map +1 -1
  134. package/node_modules/@apollo/client/__cjs/cache/index.d.cts +2 -1
  135. package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs +63 -5
  136. package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  137. package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.d.cts +3 -0
  138. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs +12 -0
  139. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  140. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.d.cts +11 -2
  141. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +95 -4
  142. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  143. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.d.cts +44 -5
  144. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  145. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +34 -6
  146. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs.map +1 -1
  147. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.d.cts +3 -1
  148. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs +489 -45
  149. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  150. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.d.cts +11 -2
  151. package/node_modules/@apollo/client/__cjs/cache/inmemory/types.d.cts +31 -4
  152. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +5 -9
  153. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  154. package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs +14 -14
  155. package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs.map +1 -1
  156. package/node_modules/@apollo/client/__cjs/core/ApolloClient.d.cts +11 -11
  157. package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs +186 -72
  158. package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs.map +1 -1
  159. package/node_modules/@apollo/client/__cjs/core/ObservableQuery.d.cts +4 -7
  160. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +164 -197
  161. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  162. package/node_modules/@apollo/client/__cjs/core/QueryInfo.d.cts +17 -21
  163. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +75 -48
  164. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs.map +1 -1
  165. package/node_modules/@apollo/client/__cjs/core/QueryManager.d.cts +4 -4
  166. package/node_modules/@apollo/client/__cjs/core/RefetchEventManager.cjs +3 -3
  167. package/node_modules/@apollo/client/__cjs/core/dataStateErrorCache.cjs +12 -0
  168. package/node_modules/@apollo/client/__cjs/core/dataStateErrorCache.cjs.map +1 -0
  169. package/node_modules/@apollo/client/__cjs/core/dataStateErrorCache.d.cts +3 -0
  170. package/node_modules/@apollo/client/__cjs/core/deprecated.d.cts +3 -3
  171. package/node_modules/@apollo/client/__cjs/core/index.cjs +2 -1
  172. package/node_modules/@apollo/client/__cjs/core/index.cjs.map +1 -1
  173. package/node_modules/@apollo/client/__cjs/core/index.d.cts +4 -3
  174. package/node_modules/@apollo/client/__cjs/core/types.d.cts +11 -7
  175. package/node_modules/@apollo/client/__cjs/incremental/GraphQLCodegenIncremental.cjs +3 -0
  176. package/node_modules/@apollo/client/__cjs/incremental/GraphQLCodegenIncremental.cjs.map +1 -0
  177. package/node_modules/@apollo/client/__cjs/incremental/GraphQLCodegenIncremental.d.cts +55 -0
  178. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  179. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.d.cts +2 -4
  180. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs +47 -16
  181. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
  182. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.d.cts +29 -6
  183. package/node_modules/@apollo/client/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  184. package/node_modules/@apollo/client/__cjs/incremental/index.cjs.map +1 -1
  185. package/node_modules/@apollo/client/__cjs/incremental/index.d.cts +1 -0
  186. package/node_modules/@apollo/client/__cjs/{utilities/internal/types/NoInfer.cjs → incremental/internal/types.cjs} +1 -1
  187. package/node_modules/@apollo/client/__cjs/incremental/internal/types.cjs.map +1 -0
  188. package/node_modules/@apollo/client/__cjs/incremental/internal/types.d.cts +17 -0
  189. package/node_modules/@apollo/client/__cjs/incremental/types.d.cts +55 -4
  190. package/node_modules/@apollo/client/__cjs/invariantErrorCodes.cjs +164 -113
  191. package/node_modules/@apollo/client/__cjs/link/core/ApolloLink.cjs +3 -3
  192. package/node_modules/@apollo/client/__cjs/link/http/checkFetcher.cjs +1 -1
  193. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  194. package/node_modules/@apollo/client/__cjs/link/persisted-queries/index.cjs +2 -2
  195. package/node_modules/@apollo/client/__cjs/link/ws/index.cjs +1 -1
  196. package/node_modules/@apollo/client/__cjs/local-state/LocalState.cjs +11 -11
  197. package/node_modules/@apollo/client/__cjs/local-state/LocalState.cjs.map +1 -1
  198. package/node_modules/@apollo/client/__cjs/local-state/LocalState.d.cts +1 -1
  199. package/node_modules/@apollo/client/__cjs/masking/internal/types.d.cts +1 -2
  200. package/node_modules/@apollo/client/__cjs/masking/maskDefinition.cjs +2 -2
  201. package/node_modules/@apollo/client/__cjs/masking/maskFragment.cjs +2 -2
  202. package/node_modules/@apollo/client/__cjs/masking/maskOperation.cjs +1 -1
  203. package/node_modules/@apollo/client/__cjs/masking/utils.cjs +3 -3
  204. package/node_modules/@apollo/client/__cjs/react/context/ApolloContext.cjs +1 -1
  205. package/node_modules/@apollo/client/__cjs/react/context/ApolloProvider.cjs +1 -1
  206. package/node_modules/@apollo/client/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +2 -2
  207. package/node_modules/@apollo/client/__cjs/react/hooks/useApolloClient.cjs +1 -1
  208. package/node_modules/@apollo/client/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  209. package/node_modules/@apollo/client/__cjs/react/hooks/useBackgroundQuery.d.cts +3 -3
  210. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.cjs.map +1 -1
  211. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.d.cts +0 -1
  212. package/node_modules/@apollo/client/__cjs/react/hooks/useLazyQuery.cjs +29 -3
  213. package/node_modules/@apollo/client/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  214. package/node_modules/@apollo/client/__cjs/react/hooks/useLazyQuery.d.cts +1 -1
  215. package/node_modules/@apollo/client/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
  216. package/node_modules/@apollo/client/__cjs/react/hooks/useMutation.cjs.map +1 -1
  217. package/node_modules/@apollo/client/__cjs/react/hooks/useMutation.d.cts +14 -14
  218. package/node_modules/@apollo/client/__cjs/react/hooks/useQuery.cjs.map +1 -1
  219. package/node_modules/@apollo/client/__cjs/react/hooks/useQuery.d.cts +16 -3
  220. package/node_modules/@apollo/client/__cjs/react/hooks/useSubscription.cjs +7 -3
  221. package/node_modules/@apollo/client/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  222. package/node_modules/@apollo/client/__cjs/react/hooks/useSubscription.d.cts +27 -5
  223. package/node_modules/@apollo/client/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  224. package/node_modules/@apollo/client/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -1
  225. package/node_modules/@apollo/client/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  226. package/node_modules/@apollo/client/__cjs/react/hooks/useSuspenseQuery.d.cts +30 -30
  227. package/node_modules/@apollo/client/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
  228. package/node_modules/@apollo/client/__cjs/react/internal/cache/QueryReference.cjs +1 -1
  229. package/node_modules/@apollo/client/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  230. package/node_modules/@apollo/client/__cjs/react/query-preloader/createQueryPreloader.d.cts +1 -1
  231. package/node_modules/@apollo/client/__cjs/react/ssr/prerenderStatic.cjs +2 -2
  232. package/node_modules/@apollo/client/__cjs/react/types/deprecated.d.cts +5 -4
  233. package/node_modules/@apollo/client/__cjs/react/types/types.documentation.d.cts +12 -1
  234. package/node_modules/@apollo/client/__cjs/testing/core/mocking/mockLink.cjs +25 -5
  235. package/node_modules/@apollo/client/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  236. package/node_modules/@apollo/client/__cjs/testing/core/mocking/mockLink.d.cts +1 -2
  237. package/node_modules/@apollo/client/__cjs/utilities/caching/sizes.cjs.map +1 -1
  238. package/node_modules/@apollo/client/__cjs/utilities/caching/sizes.d.cts +39 -1
  239. package/node_modules/@apollo/client/__cjs/utilities/graphql/DocumentTransform.cjs +1 -1
  240. package/node_modules/@apollo/client/__cjs/utilities/internal/StreamArrayState.cjs +27 -0
  241. package/node_modules/@apollo/client/__cjs/utilities/internal/StreamArrayState.cjs.map +1 -0
  242. package/node_modules/@apollo/client/__cjs/utilities/internal/StreamArrayState.d.cts +12 -0
  243. package/node_modules/@apollo/client/__cjs/utilities/internal/addDeferFragmentLabels.cjs +33 -0
  244. package/node_modules/@apollo/client/__cjs/utilities/internal/addDeferFragmentLabels.cjs.map +1 -0
  245. package/node_modules/@apollo/client/__cjs/utilities/internal/addDeferFragmentLabels.d.cts +3 -0
  246. package/node_modules/@apollo/client/__cjs/utilities/internal/capitalize.cjs +12 -0
  247. package/node_modules/@apollo/client/__cjs/utilities/internal/capitalize.cjs.map +1 -0
  248. package/node_modules/@apollo/client/__cjs/utilities/internal/capitalize.d.cts +7 -0
  249. package/node_modules/@apollo/client/__cjs/utilities/internal/coerceScalarFieldsToParsed.cjs +102 -0
  250. package/node_modules/@apollo/client/__cjs/utilities/internal/coerceScalarFieldsToParsed.cjs.map +1 -0
  251. package/node_modules/@apollo/client/__cjs/utilities/internal/coerceScalarFieldsToParsed.d.cts +9 -0
  252. package/node_modules/@apollo/client/__cjs/utilities/internal/constants.cjs +20 -1
  253. package/node_modules/@apollo/client/__cjs/utilities/internal/constants.cjs.map +1 -1
  254. package/node_modules/@apollo/client/__cjs/utilities/internal/constants.d.cts +19 -0
  255. package/node_modules/@apollo/client/__cjs/utilities/internal/getDirectiveArgValue.cjs +19 -0
  256. package/node_modules/@apollo/client/__cjs/utilities/internal/getDirectiveArgValue.cjs.map +1 -0
  257. package/node_modules/@apollo/client/__cjs/utilities/internal/getDirectiveArgValue.d.cts +9 -0
  258. package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentDefinition.cjs +3 -3
  259. package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -1
  260. package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentFromSelection.cjs +2 -2
  261. package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
  262. package/node_modules/@apollo/client/__cjs/utilities/internal/getFragmentQueryDocument.cjs +2 -2
  263. package/node_modules/@apollo/client/__cjs/utilities/internal/getMainDefinition.cjs +1 -1
  264. package/node_modules/@apollo/client/__cjs/utilities/internal/getMemoryInternals.cjs +6 -0
  265. package/node_modules/@apollo/client/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  266. package/node_modules/@apollo/client/__cjs/utilities/internal/getMemoryInternals.d.cts +4 -0
  267. package/node_modules/@apollo/client/__cjs/utilities/internal/getQueryDefinition.cjs +1 -1
  268. package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs +27 -2
  269. package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs.map +1 -1
  270. package/node_modules/@apollo/client/__cjs/utilities/internal/index.d.cts +17 -2
  271. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs +38 -0
  272. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -0
  273. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.d.cts +9 -0
  274. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs +37 -0
  275. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs.map +1 -0
  276. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.d.cts +9 -0
  277. package/node_modules/@apollo/client/__cjs/utilities/internal/isTypenameField.cjs +7 -0
  278. package/node_modules/@apollo/client/__cjs/utilities/internal/isTypenameField.cjs.map +1 -0
  279. package/node_modules/@apollo/client/__cjs/utilities/internal/isTypenameField.d.cts +3 -0
  280. package/node_modules/@apollo/client/__cjs/utilities/internal/makeStreamInfoTrie.cjs +17 -0
  281. package/node_modules/@apollo/client/__cjs/utilities/internal/makeStreamInfoTrie.cjs.map +1 -0
  282. package/node_modules/@apollo/client/__cjs/utilities/internal/makeStreamInfoTrie.d.cts +8 -0
  283. package/node_modules/@apollo/client/__cjs/utilities/internal/matchScalarList.cjs +12 -0
  284. package/node_modules/@apollo/client/__cjs/utilities/internal/matchScalarList.cjs.map +1 -0
  285. package/node_modules/@apollo/client/__cjs/utilities/internal/matchScalarList.d.cts +8 -0
  286. package/node_modules/@apollo/client/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +1 -1
  287. package/node_modules/@apollo/client/__cjs/utilities/internal/shouldInclude.cjs +4 -4
  288. package/node_modules/@apollo/client/__cjs/utilities/internal/toDiffWithDataState.cjs +20 -0
  289. package/node_modules/@apollo/client/__cjs/utilities/internal/toDiffWithDataState.cjs.map +1 -0
  290. package/node_modules/@apollo/client/__cjs/utilities/internal/toDiffWithDataState.d.cts +8 -0
  291. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs +3 -0
  292. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs.map +1 -0
  293. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.d.cts +10 -0
  294. package/node_modules/@apollo/client/__cjs/utilities/internal/types/Exact.cjs +3 -0
  295. package/node_modules/@apollo/client/__cjs/utilities/internal/types/Exact.cjs.map +1 -0
  296. package/node_modules/@apollo/client/__cjs/utilities/internal/types/Exact.d.cts +2 -0
  297. package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsLooselyEqual.cjs +3 -0
  298. package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsLooselyEqual.cjs.map +1 -0
  299. package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsLooselyEqual.d.cts +10 -0
  300. package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsNeverish.cjs +3 -0
  301. package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsNeverish.cjs.map +1 -0
  302. package/node_modules/@apollo/client/__cjs/utilities/internal/types/IsNeverish.d.cts +4 -0
  303. package/node_modules/@apollo/client/__cjs/utilities/internal/types/StreamInfoTrie.d.cts +2 -0
  304. package/node_modules/@apollo/client/__cjs/utilities/internal/unwrapScalarType.cjs +12 -0
  305. package/node_modules/@apollo/client/__cjs/utilities/internal/unwrapScalarType.cjs.map +1 -0
  306. package/node_modules/@apollo/client/__cjs/utilities/internal/unwrapScalarType.d.cts +10 -0
  307. package/node_modules/@apollo/client/__cjs/utilities/internal/valueToObjectRepresentation.cjs +1 -1
  308. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  309. package/node_modules/@apollo/client/__cjs/version.cjs.map +1 -1
  310. package/node_modules/@apollo/client/cache/core/Scalar.d.ts +56 -0
  311. package/node_modules/@apollo/client/cache/core/Scalar.js +32 -0
  312. package/node_modules/@apollo/client/cache/core/Scalar.js.map +1 -0
  313. package/node_modules/@apollo/client/cache/core/cache.d.ts +89 -6
  314. package/node_modules/@apollo/client/cache/core/cache.js +33 -2
  315. package/node_modules/@apollo/client/cache/core/cache.js.map +1 -1
  316. package/node_modules/@apollo/client/cache/core/types/Cache.d.ts +30 -2
  317. package/node_modules/@apollo/client/cache/core/types/Cache.js.map +1 -1
  318. package/node_modules/@apollo/client/cache/index.d.ts +2 -1
  319. package/node_modules/@apollo/client/cache/index.js +1 -0
  320. package/node_modules/@apollo/client/cache/index.js.map +1 -1
  321. package/node_modules/@apollo/client/cache/inmemory/entityStore.d.ts +3 -0
  322. package/node_modules/@apollo/client/cache/inmemory/entityStore.js +64 -6
  323. package/node_modules/@apollo/client/cache/inmemory/entityStore.js.map +1 -1
  324. package/node_modules/@apollo/client/cache/inmemory/helpers.d.ts +11 -2
  325. package/node_modules/@apollo/client/cache/inmemory/helpers.js +11 -0
  326. package/node_modules/@apollo/client/cache/inmemory/helpers.js.map +1 -1
  327. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.d.ts +44 -5
  328. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +97 -6
  329. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  330. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +1 -1
  331. package/node_modules/@apollo/client/cache/inmemory/policies.d.ts +3 -1
  332. package/node_modules/@apollo/client/cache/inmemory/policies.js +34 -6
  333. package/node_modules/@apollo/client/cache/inmemory/policies.js.map +1 -1
  334. package/node_modules/@apollo/client/cache/inmemory/readFromStore.d.ts +11 -2
  335. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js +485 -45
  336. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js.map +1 -1
  337. package/node_modules/@apollo/client/cache/inmemory/types.d.ts +32 -5
  338. package/node_modules/@apollo/client/cache/inmemory/types.js.map +1 -1
  339. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +6 -10
  340. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  341. package/node_modules/@apollo/client/core/ApolloClient.d.ts +11 -11
  342. package/node_modules/@apollo/client/core/ApolloClient.js +14 -14
  343. package/node_modules/@apollo/client/core/ApolloClient.js.map +1 -1
  344. package/node_modules/@apollo/client/core/ObservableQuery.d.ts +4 -7
  345. package/node_modules/@apollo/client/core/ObservableQuery.js +183 -73
  346. package/node_modules/@apollo/client/core/ObservableQuery.js.map +1 -1
  347. package/node_modules/@apollo/client/core/QueryInfo.d.ts +18 -22
  348. package/node_modules/@apollo/client/core/QueryInfo.js +165 -198
  349. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  350. package/node_modules/@apollo/client/core/QueryManager.d.ts +4 -4
  351. package/node_modules/@apollo/client/core/QueryManager.js +76 -49
  352. package/node_modules/@apollo/client/core/QueryManager.js.map +1 -1
  353. package/node_modules/@apollo/client/core/RefetchEventManager.js +3 -3
  354. package/node_modules/@apollo/client/core/dataStateErrorCache.d.ts +3 -0
  355. package/node_modules/@apollo/client/core/dataStateErrorCache.js +9 -0
  356. package/node_modules/@apollo/client/core/dataStateErrorCache.js.map +1 -0
  357. package/node_modules/@apollo/client/core/deprecated.d.ts +3 -3
  358. package/node_modules/@apollo/client/core/deprecated.js.map +1 -1
  359. package/node_modules/@apollo/client/core/index.d.ts +4 -3
  360. package/node_modules/@apollo/client/core/index.js +1 -1
  361. package/node_modules/@apollo/client/core/index.js.map +1 -1
  362. package/node_modules/@apollo/client/core/types.d.ts +11 -7
  363. package/node_modules/@apollo/client/core/types.js.map +1 -1
  364. package/node_modules/@apollo/client/incremental/GraphQLCodegenIncremental.d.ts +55 -0
  365. package/node_modules/@apollo/client/incremental/GraphQLCodegenIncremental.js +2 -0
  366. package/node_modules/@apollo/client/incremental/GraphQLCodegenIncremental.js.map +1 -0
  367. package/node_modules/@apollo/client/incremental/handlers/defer20220824.d.ts +2 -4
  368. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js.map +1 -1
  369. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.d.ts +29 -6
  370. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js +48 -17
  371. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js.map +1 -1
  372. package/node_modules/@apollo/client/incremental/handlers/notImplemented.js +1 -1
  373. package/node_modules/@apollo/client/incremental/index.d.ts +1 -0
  374. package/node_modules/@apollo/client/incremental/index.js.map +1 -1
  375. package/node_modules/@apollo/client/incremental/internal/types.d.ts +17 -0
  376. package/node_modules/@apollo/client/incremental/internal/types.js +2 -0
  377. package/node_modules/@apollo/client/incremental/internal/types.js.map +1 -0
  378. package/node_modules/@apollo/client/incremental/types.d.ts +55 -4
  379. package/node_modules/@apollo/client/incremental/types.js.map +1 -1
  380. package/node_modules/@apollo/client/invariantErrorCodes.js +164 -113
  381. package/node_modules/@apollo/client/link/core/ApolloLink.js +3 -3
  382. package/node_modules/@apollo/client/link/http/checkFetcher.js +1 -1
  383. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js +1 -1
  384. package/node_modules/@apollo/client/link/persisted-queries/index.js +2 -2
  385. package/node_modules/@apollo/client/link/ws/index.js +1 -1
  386. package/node_modules/@apollo/client/local-state/LocalState.d.ts +1 -1
  387. package/node_modules/@apollo/client/local-state/LocalState.js +11 -11
  388. package/node_modules/@apollo/client/local-state/LocalState.js.map +1 -1
  389. package/node_modules/@apollo/client/masking/internal/types.d.ts +1 -2
  390. package/node_modules/@apollo/client/masking/internal/types.js.map +1 -1
  391. package/node_modules/@apollo/client/masking/maskDefinition.js +2 -2
  392. package/node_modules/@apollo/client/masking/maskFragment.js +2 -2
  393. package/node_modules/@apollo/client/masking/maskOperation.js +1 -1
  394. package/node_modules/@apollo/client/masking/utils.js +3 -3
  395. package/node_modules/@apollo/client/package.json +1 -1
  396. package/node_modules/@apollo/client/react/context/ApolloContext.js +1 -1
  397. package/node_modules/@apollo/client/react/context/ApolloProvider.js +1 -1
  398. package/node_modules/@apollo/client/react/hooks/internal/validateSuspenseHookOptions.js +2 -2
  399. package/node_modules/@apollo/client/react/hooks/useApolloClient.js +1 -1
  400. package/node_modules/@apollo/client/react/hooks/useBackgroundQuery.d.ts +3 -3
  401. package/node_modules/@apollo/client/react/hooks/useBackgroundQuery.js.map +1 -1
  402. package/node_modules/@apollo/client/react/hooks/useFragment.d.ts +0 -1
  403. package/node_modules/@apollo/client/react/hooks/useFragment.js.map +1 -1
  404. package/node_modules/@apollo/client/react/hooks/useLazyQuery.d.ts +1 -1
  405. package/node_modules/@apollo/client/react/hooks/useLazyQuery.js +29 -3
  406. package/node_modules/@apollo/client/react/hooks/useLazyQuery.js.map +1 -1
  407. package/node_modules/@apollo/client/react/hooks/useLoadableQuery.js +2 -2
  408. package/node_modules/@apollo/client/react/hooks/useMutation.d.ts +14 -14
  409. package/node_modules/@apollo/client/react/hooks/useMutation.js.map +1 -1
  410. package/node_modules/@apollo/client/react/hooks/useQuery.d.ts +16 -3
  411. package/node_modules/@apollo/client/react/hooks/useQuery.js.map +1 -1
  412. package/node_modules/@apollo/client/react/hooks/useSubscription.d.ts +27 -5
  413. package/node_modules/@apollo/client/react/hooks/useSubscription.js +7 -3
  414. package/node_modules/@apollo/client/react/hooks/useSubscription.js.map +1 -1
  415. package/node_modules/@apollo/client/react/hooks/useSuspenseFragment.d.ts +1 -1
  416. package/node_modules/@apollo/client/react/hooks/useSuspenseFragment.js.map +1 -1
  417. package/node_modules/@apollo/client/react/hooks/useSuspenseQuery.d.ts +30 -30
  418. package/node_modules/@apollo/client/react/hooks/useSuspenseQuery.js.map +1 -1
  419. package/node_modules/@apollo/client/react/hooks/useSyncExternalStore.js +1 -1
  420. package/node_modules/@apollo/client/react/hooks-compiled/internal/validateSuspenseHookOptions.js +2 -2
  421. package/node_modules/@apollo/client/react/hooks-compiled/useApolloClient.js +1 -1
  422. package/node_modules/@apollo/client/react/hooks-compiled/useBackgroundQuery.d.ts +3 -3
  423. package/node_modules/@apollo/client/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
  424. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.d.ts +0 -1
  425. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.js.map +1 -1
  426. package/node_modules/@apollo/client/react/hooks-compiled/useLazyQuery.d.ts +1 -1
  427. package/node_modules/@apollo/client/react/hooks-compiled/useLazyQuery.js +29 -3
  428. package/node_modules/@apollo/client/react/hooks-compiled/useLazyQuery.js.map +1 -1
  429. package/node_modules/@apollo/client/react/hooks-compiled/useLoadableQuery.js +2 -2
  430. package/node_modules/@apollo/client/react/hooks-compiled/useMutation.d.ts +14 -14
  431. package/node_modules/@apollo/client/react/hooks-compiled/useMutation.js.map +1 -1
  432. package/node_modules/@apollo/client/react/hooks-compiled/useQuery.d.ts +16 -3
  433. package/node_modules/@apollo/client/react/hooks-compiled/useQuery.js.map +1 -1
  434. package/node_modules/@apollo/client/react/hooks-compiled/useSubscription.d.ts +27 -5
  435. package/node_modules/@apollo/client/react/hooks-compiled/useSubscription.js +107 -93
  436. package/node_modules/@apollo/client/react/hooks-compiled/useSubscription.js.map +1 -1
  437. package/node_modules/@apollo/client/react/hooks-compiled/useSuspenseFragment.d.ts +1 -1
  438. package/node_modules/@apollo/client/react/hooks-compiled/useSuspenseFragment.js.map +1 -1
  439. package/node_modules/@apollo/client/react/hooks-compiled/useSuspenseQuery.d.ts +30 -30
  440. package/node_modules/@apollo/client/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
  441. package/node_modules/@apollo/client/react/hooks-compiled/useSyncExternalStore.js +1 -1
  442. package/node_modules/@apollo/client/react/internal/cache/QueryReference.js +1 -1
  443. package/node_modules/@apollo/client/react/query-preloader/createQueryPreloader.d.ts +1 -1
  444. package/node_modules/@apollo/client/react/query-preloader/createQueryPreloader.js.map +1 -1
  445. package/node_modules/@apollo/client/react/ssr/prerenderStatic.js +2 -2
  446. package/node_modules/@apollo/client/react/types/deprecated.d.ts +5 -4
  447. package/node_modules/@apollo/client/react/types/deprecated.js.map +1 -1
  448. package/node_modules/@apollo/client/react/types/types.documentation.d.ts +12 -1
  449. package/node_modules/@apollo/client/react/types/types.documentation.js.map +1 -1
  450. package/node_modules/@apollo/client/testing/core/mocking/mockLink.d.ts +1 -2
  451. package/node_modules/@apollo/client/testing/core/mocking/mockLink.js +25 -5
  452. package/node_modules/@apollo/client/testing/core/mocking/mockLink.js.map +1 -1
  453. package/node_modules/@apollo/client/utilities/caching/sizes.d.ts +39 -1
  454. package/node_modules/@apollo/client/utilities/caching/sizes.js.map +1 -1
  455. package/node_modules/@apollo/client/utilities/graphql/DocumentTransform.js +1 -1
  456. package/node_modules/@apollo/client/utilities/internal/StreamArrayState.d.ts +12 -0
  457. package/node_modules/@apollo/client/utilities/internal/StreamArrayState.js +23 -0
  458. package/node_modules/@apollo/client/utilities/internal/StreamArrayState.js.map +1 -0
  459. package/node_modules/@apollo/client/utilities/internal/addDeferFragmentLabels.d.ts +3 -0
  460. package/node_modules/@apollo/client/utilities/internal/addDeferFragmentLabels.js +30 -0
  461. package/node_modules/@apollo/client/utilities/internal/addDeferFragmentLabels.js.map +1 -0
  462. package/node_modules/@apollo/client/utilities/internal/capitalize.d.ts +7 -0
  463. package/node_modules/@apollo/client/utilities/internal/capitalize.js +9 -0
  464. package/node_modules/@apollo/client/utilities/internal/capitalize.js.map +1 -0
  465. package/node_modules/@apollo/client/utilities/internal/coerceScalarFieldsToParsed.d.ts +9 -0
  466. package/node_modules/@apollo/client/utilities/internal/coerceScalarFieldsToParsed.js +95 -0
  467. package/node_modules/@apollo/client/utilities/internal/coerceScalarFieldsToParsed.js.map +1 -0
  468. package/node_modules/@apollo/client/utilities/internal/constants.d.ts +19 -0
  469. package/node_modules/@apollo/client/utilities/internal/constants.js +19 -0
  470. package/node_modules/@apollo/client/utilities/internal/constants.js.map +1 -1
  471. package/node_modules/@apollo/client/utilities/internal/getDirectiveArgValue.d.ts +9 -0
  472. package/node_modules/@apollo/client/utilities/internal/getDirectiveArgValue.js +16 -0
  473. package/node_modules/@apollo/client/utilities/internal/getDirectiveArgValue.js.map +1 -0
  474. package/node_modules/@apollo/client/utilities/internal/getFragmentDefinition.js +3 -3
  475. package/node_modules/@apollo/client/utilities/internal/getFragmentDefinition.js.map +1 -1
  476. package/node_modules/@apollo/client/utilities/internal/getFragmentFromSelection.js +2 -2
  477. package/node_modules/@apollo/client/utilities/internal/getFragmentFromSelection.js.map +1 -1
  478. package/node_modules/@apollo/client/utilities/internal/getFragmentQueryDocument.js +2 -2
  479. package/node_modules/@apollo/client/utilities/internal/getMainDefinition.js +1 -1
  480. package/node_modules/@apollo/client/utilities/internal/getMemoryInternals.d.ts +4 -0
  481. package/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +6 -0
  482. package/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +1 -1
  483. package/node_modules/@apollo/client/utilities/internal/getQueryDefinition.js +1 -1
  484. package/node_modules/@apollo/client/utilities/internal/index.d.ts +17 -2
  485. package/node_modules/@apollo/client/utilities/internal/index.js +13 -1
  486. package/node_modules/@apollo/client/utilities/internal/index.js.map +1 -1
  487. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.d.ts +9 -0
  488. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js +35 -0
  489. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js.map +1 -0
  490. package/node_modules/@apollo/client/utilities/internal/isStreamField.d.ts +9 -0
  491. package/node_modules/@apollo/client/utilities/internal/isStreamField.js +34 -0
  492. package/node_modules/@apollo/client/utilities/internal/isStreamField.js.map +1 -0
  493. package/node_modules/@apollo/client/utilities/internal/isTypenameField.d.ts +3 -0
  494. package/node_modules/@apollo/client/utilities/internal/isTypenameField.js +4 -0
  495. package/node_modules/@apollo/client/utilities/internal/isTypenameField.js.map +1 -0
  496. package/node_modules/@apollo/client/utilities/internal/makeStreamInfoTrie.d.ts +8 -0
  497. package/node_modules/@apollo/client/utilities/internal/makeStreamInfoTrie.js +14 -0
  498. package/node_modules/@apollo/client/utilities/internal/makeStreamInfoTrie.js.map +1 -0
  499. package/node_modules/@apollo/client/utilities/internal/matchScalarList.d.ts +8 -0
  500. package/node_modules/@apollo/client/utilities/internal/matchScalarList.js +9 -0
  501. package/node_modules/@apollo/client/utilities/internal/matchScalarList.js.map +1 -0
  502. package/node_modules/@apollo/client/utilities/internal/removeDirectivesFromDocument.js +1 -1
  503. package/node_modules/@apollo/client/utilities/internal/shouldInclude.js +4 -4
  504. package/node_modules/@apollo/client/utilities/internal/toDiffWithDataState.d.ts +8 -0
  505. package/node_modules/@apollo/client/utilities/internal/toDiffWithDataState.js +17 -0
  506. package/node_modules/@apollo/client/utilities/internal/toDiffWithDataState.js.map +1 -0
  507. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.d.ts +10 -0
  508. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js +2 -0
  509. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js.map +1 -0
  510. package/node_modules/@apollo/client/utilities/internal/types/Exact.d.ts +2 -0
  511. package/node_modules/@apollo/client/utilities/internal/types/Exact.js +2 -0
  512. package/node_modules/@apollo/client/utilities/internal/types/Exact.js.map +1 -0
  513. package/node_modules/@apollo/client/utilities/internal/types/IsLooselyEqual.d.ts +10 -0
  514. package/node_modules/@apollo/client/utilities/internal/types/IsLooselyEqual.js +2 -0
  515. package/node_modules/@apollo/client/utilities/internal/types/IsLooselyEqual.js.map +1 -0
  516. package/node_modules/@apollo/client/utilities/internal/types/IsNeverish.d.ts +4 -0
  517. package/node_modules/@apollo/client/utilities/internal/types/IsNeverish.js +2 -0
  518. package/node_modules/@apollo/client/utilities/internal/types/IsNeverish.js.map +1 -0
  519. package/node_modules/@apollo/client/utilities/internal/types/StreamInfoTrie.d.ts +2 -0
  520. package/node_modules/@apollo/client/utilities/internal/types/StreamInfoTrie.js.map +1 -1
  521. package/node_modules/@apollo/client/utilities/internal/unwrapScalarType.d.ts +10 -0
  522. package/node_modules/@apollo/client/utilities/internal/unwrapScalarType.js +9 -0
  523. package/node_modules/@apollo/client/utilities/internal/unwrapScalarType.js.map +1 -0
  524. package/node_modules/@apollo/client/utilities/internal/valueToObjectRepresentation.js +1 -1
  525. package/node_modules/@apollo/client/version.js +1 -1
  526. package/node_modules/@apollo/client/version.js.map +1 -1
  527. package/node_modules/@types/node/README.md +2 -2
  528. package/node_modules/@types/node/buffer.buffer.d.ts +10 -5
  529. package/node_modules/@types/node/buffer.d.ts +1 -0
  530. package/node_modules/@types/node/child_process.d.ts +1 -1
  531. package/node_modules/@types/node/crypto.d.ts +22 -12
  532. package/node_modules/@types/node/dgram.d.ts +119 -4
  533. package/node_modules/@types/node/diagnostics_channel.d.ts +4 -4
  534. package/node_modules/@types/node/ffi.d.ts +15 -1
  535. package/node_modules/@types/node/fs/promises.d.ts +61 -65
  536. package/node_modules/@types/node/fs.d.ts +86 -76
  537. package/node_modules/@types/node/http.d.ts +18 -2
  538. package/node_modules/@types/node/http2.d.ts +15 -6
  539. package/node_modules/@types/node/index.d.ts +1 -0
  540. package/node_modules/@types/node/inspector.d.ts +2 -1
  541. package/node_modules/@types/node/net.d.ts +124 -20
  542. package/node_modules/@types/node/package.json +3 -18
  543. package/node_modules/@types/node/perf_hooks.d.ts +31 -19
  544. package/node_modules/@types/node/process.d.ts +53 -0
  545. package/node_modules/@types/node/quic.d.ts +290 -42
  546. package/node_modules/@types/node/sqlite.d.ts +6 -2
  547. package/node_modules/@types/node/stream/iter.d.ts +13 -16
  548. package/node_modules/@types/node/stream/web.d.ts +20 -0
  549. package/node_modules/@types/node/test/reporters.d.ts +1 -0
  550. package/node_modules/@types/node/test.d.ts +108 -0
  551. package/node_modules/@types/node/tls.d.ts +64 -25
  552. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
  553. package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
  554. package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
  555. package/node_modules/@types/node/tty.d.ts +4 -3
  556. package/node_modules/@types/node/vfs.d.ts +211 -0
  557. package/node_modules/@types/node/vm.d.ts +3 -2
  558. package/node_modules/@types/node/web-globals/streams.d.ts +4 -0
  559. package/node_modules/@types/node/worker_threads.d.ts +4 -1
  560. package/node_modules/@types/node/zlib.d.ts +17 -0
  561. package/node_modules/cpu-features/build/Makefile +2 -2
  562. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
  563. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o.d +1 -1
  564. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o.d +1 -1
  565. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
  566. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o.d +1 -1
  567. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o.d +1 -1
  568. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
  569. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
  570. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o.d +1 -1
  571. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
  572. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
  573. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
  574. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
  575. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +145 -145
  576. package/node_modules/cpu-features/build/config.gypi +8 -9
  577. package/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
  578. package/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
  579. package/node_modules/default-browser/package.json +1 -1
  580. package/node_modules/default-browser/windows.js +3 -1
  581. package/node_modules/js-yaml/README.md +0 -3
  582. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs +822 -779
  583. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs.map +1 -1
  584. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js +29 -23
  585. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js.map +1 -1
  586. package/node_modules/js-yaml/dist/js-yaml.cjs.js +425 -397
  587. package/node_modules/js-yaml/dist/js-yaml.cjs.js.map +1 -1
  588. package/node_modules/js-yaml/dist/js-yaml.d.ts +101 -32
  589. package/node_modules/js-yaml/dist/js-yaml.mjs +429 -397
  590. package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
  591. package/node_modules/js-yaml/package.json +1 -1
  592. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js +11 -3
  593. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js.map +1 -1
  594. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js +1 -1
  595. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js.map +1 -1
  596. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs +11 -3
  597. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
  598. package/node_modules/lando/node_modules/js-yaml/lib/loader.js +16 -3
  599. package/node_modules/lando/node_modules/js-yaml/package.json +1 -1
  600. package/node_modules/open/index.js +15 -3
  601. package/node_modules/open/package.json +3 -3
  602. package/node_modules/{lando → path-scurry}/node_modules/lru-cache/README.md +96 -10
  603. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
  604. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
  605. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
  606. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
  607. package/node_modules/{lando/node_modules/lru-cache/dist/commonjs → path-scurry/node_modules/lru-cache/dist/commonjs/browser}/index.d.ts +109 -32
  608. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
  609. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js +1733 -0
  610. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
  611. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
  612. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
  613. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
  614. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
  615. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
  616. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
  617. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
  618. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
  619. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
  620. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
  621. package/node_modules/{lando/node_modules/lru-cache/dist/esm → path-scurry/node_modules/lru-cache/dist/commonjs}/index.d.ts +109 -32
  622. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  623. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +1733 -0
  624. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  625. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  626. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  627. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
  628. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
  629. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
  630. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
  631. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
  632. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
  633. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js +1733 -0
  634. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
  635. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  636. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
  637. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
  638. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
  639. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
  640. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
  641. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
  642. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
  643. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
  644. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
  645. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
  646. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
  647. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
  648. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
  649. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
  650. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
  651. package/node_modules/{lando/node_modules/lru-cache/dist/esm → path-scurry/node_modules/lru-cache/dist/esm/browser}/index.js +315 -177
  652. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
  653. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
  654. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
  655. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
  656. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
  657. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
  658. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
  659. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  660. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
  661. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
  662. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
  663. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
  664. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  665. package/node_modules/{lando/node_modules/lru-cache/dist/commonjs → path-scurry/node_modules/lru-cache/dist/esm}/index.js +316 -182
  666. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  667. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  668. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  669. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
  670. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
  671. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
  672. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
  673. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
  674. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
  675. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js +1729 -0
  676. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
  677. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  678. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
  679. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
  680. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
  681. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
  682. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
  683. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
  684. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
  685. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js +7 -0
  686. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
  687. package/node_modules/path-scurry/node_modules/lru-cache/package.json +154 -0
  688. package/node_modules/powershell-utils/index.d.ts +16 -2
  689. package/node_modules/powershell-utils/index.js +12 -9
  690. package/node_modules/powershell-utils/package.json +1 -1
  691. package/node_modules/powershell-utils/readme.md +7 -2
  692. package/node_modules/socket.io-client/README.md +1 -0
  693. package/node_modules/socket.io-client/build/cjs/index.d.ts +3 -3
  694. package/node_modules/socket.io-client/build/cjs/manager.d.ts +1 -2
  695. package/node_modules/socket.io-client/build/cjs/manager.js +17 -7
  696. package/node_modules/socket.io-client/build/cjs/socket.d.ts +5 -2
  697. package/node_modules/socket.io-client/build/cjs/socket.js +0 -1
  698. package/node_modules/socket.io-client/build/esm/index.d.ts +3 -3
  699. package/node_modules/socket.io-client/build/esm/index.js +1 -1
  700. package/node_modules/socket.io-client/build/esm/manager.d.ts +1 -2
  701. package/node_modules/socket.io-client/build/esm/package.json +1 -1
  702. package/node_modules/socket.io-client/build/esm/socket.d.ts +5 -2
  703. package/node_modules/socket.io-client/build/esm/socket.js +0 -1
  704. package/node_modules/socket.io-client/build/esm-debug/index.d.ts +3 -3
  705. package/node_modules/socket.io-client/build/esm-debug/index.js +1 -1
  706. package/node_modules/socket.io-client/build/esm-debug/manager.d.ts +1 -2
  707. package/node_modules/socket.io-client/build/esm-debug/package.json +1 -1
  708. package/node_modules/socket.io-client/build/esm-debug/socket.d.ts +5 -2
  709. package/node_modules/socket.io-client/build/esm-debug/socket.js +0 -1
  710. package/node_modules/socket.io-client/dist/socket.io.esm.min.js +3 -3
  711. package/node_modules/socket.io-client/dist/socket.io.esm.min.js.map +1 -1
  712. package/node_modules/socket.io-client/dist/socket.io.js +174 -242
  713. package/node_modules/socket.io-client/dist/socket.io.js.map +1 -1
  714. package/node_modules/socket.io-client/dist/socket.io.min.js +3 -3
  715. package/node_modules/socket.io-client/dist/socket.io.min.js.map +1 -1
  716. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js +3 -3
  717. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js.map +1 -1
  718. package/node_modules/socket.io-client/package.json +2 -2
  719. package/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
  720. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +237 -237
  721. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
  722. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
  723. package/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
  724. package/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
  725. package/node_modules/undici/README.md +10 -1
  726. package/node_modules/undici/docs/docs/api/Agent.md +8 -8
  727. package/node_modules/undici/docs/docs/api/Client.md +4 -0
  728. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +9 -6
  729. package/node_modules/undici/docs/docs/api/Dispatcher.md +9 -0
  730. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
  731. package/node_modules/undici/docs/docs/api/Errors.md +25 -0
  732. package/node_modules/undici/docs/docs/api/EventSource.md +4 -0
  733. package/node_modules/undici/docs/docs/api/Fetch.md +10 -0
  734. package/node_modules/undici/docs/docs/api/Interceptors.md +8 -3
  735. package/node_modules/undici/docs/docs/api/Pool.md +5 -6
  736. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
  737. package/node_modules/undici/docs/docs/index.md +10 -1
  738. package/node_modules/undici/lib/api/readable.js +1 -2
  739. package/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
  740. package/node_modules/undici/lib/core/request.js +23 -2
  741. package/node_modules/undici/lib/core/symbols.js +2 -0
  742. package/node_modules/undici/lib/core/util.js +0 -39
  743. package/node_modules/undici/lib/dispatcher/agent.js +7 -2
  744. package/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
  745. package/node_modules/undici/lib/dispatcher/client-h1.js +23 -8
  746. package/node_modules/undici/lib/dispatcher/client-h2.js +94 -10
  747. package/node_modules/undici/lib/dispatcher/client.js +9 -3
  748. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
  749. package/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
  750. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
  751. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +31 -9
  752. package/node_modules/undici/lib/dispatcher/pool-base.js +63 -2
  753. package/node_modules/undici/lib/dispatcher/pool.js +90 -7
  754. package/node_modules/undici/lib/dispatcher/proxy-agent.js +33 -3
  755. package/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
  756. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
  757. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +91 -21
  758. package/node_modules/undici/lib/handler/cache-handler.js +29 -5
  759. package/node_modules/undici/lib/handler/decorator-handler.js +7 -1
  760. package/node_modules/undici/lib/handler/deduplication-handler.js +29 -10
  761. package/node_modules/undici/lib/handler/redirect-handler.js +26 -4
  762. package/node_modules/undici/lib/handler/retry-handler.js +215 -38
  763. package/node_modules/undici/lib/interceptor/cache.js +69 -13
  764. package/node_modules/undici/lib/interceptor/decompress.js +319 -50
  765. package/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
  766. package/node_modules/undici/lib/interceptor/dns.js +7 -0
  767. package/node_modules/undici/lib/interceptor/dump.js +10 -23
  768. package/node_modules/undici/lib/mock/mock-agent.js +13 -1
  769. package/node_modules/undici/lib/mock/mock-utils.js +11 -10
  770. package/node_modules/undici/lib/util/cache.js +45 -3
  771. package/node_modules/undici/lib/web/cache/cache.js +17 -8
  772. package/node_modules/undici/lib/web/cache/cachestorage.js +11 -5
  773. package/node_modules/undici/lib/web/cookies/index.js +19 -7
  774. package/node_modules/undici/lib/web/cookies/parse.js +150 -147
  775. package/node_modules/undici/lib/web/cookies/util.js +3 -1
  776. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
  777. package/node_modules/undici/lib/web/eventsource/eventsource.js +38 -4
  778. package/node_modules/undici/lib/web/fetch/body.js +22 -15
  779. package/node_modules/undici/lib/web/fetch/data-url.js +6 -6
  780. package/node_modules/undici/lib/web/fetch/formdata.js +30 -36
  781. package/node_modules/undici/lib/web/fetch/headers.js +34 -31
  782. package/node_modules/undici/lib/web/fetch/index.js +52 -25
  783. package/node_modules/undici/lib/web/fetch/request.js +76 -82
  784. package/node_modules/undici/lib/web/fetch/response.js +43 -44
  785. package/node_modules/undici/lib/web/fetch/util.js +13 -8
  786. package/node_modules/undici/lib/web/infra/index.js +16 -1
  787. package/node_modules/undici/lib/web/webidl/index.js +5 -17
  788. package/node_modules/undici/lib/web/websocket/connection.js +34 -13
  789. package/node_modules/undici/lib/web/websocket/events.js +43 -26
  790. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  791. package/node_modules/undici/lib/web/websocket/receiver.js +2 -0
  792. package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +13 -10
  793. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +27 -14
  794. package/node_modules/undici/lib/web/websocket/websocket.js +44 -41
  795. package/node_modules/undici/package.json +3 -3
  796. package/node_modules/undici/types/client.d.ts +10 -0
  797. package/node_modules/undici/types/diagnostics-channel.d.ts +2 -1
  798. package/node_modules/undici/types/interceptors.d.ts +2 -0
  799. package/node_modules/undici/types/mock-agent.d.ts +11 -10
  800. package/node_modules/undici/types/socks5-proxy-agent.d.ts +2 -0
  801. package/node_modules/undici/types/webidl.d.ts +13 -7
  802. package/node_modules/undici-types/client.d.ts +8 -3
  803. package/node_modules/undici-types/connector.d.ts +1 -0
  804. package/node_modules/undici-types/cookies.d.ts +1 -1
  805. package/node_modules/undici-types/dispatcher.d.ts +3 -3
  806. package/node_modules/undici-types/errors.d.ts +10 -0
  807. package/node_modules/undici-types/fetch.d.ts +5 -1
  808. package/node_modules/undici-types/handlers.d.ts +2 -0
  809. package/node_modules/undici-types/interceptors.d.ts +1 -1
  810. package/node_modules/undici-types/mock-interceptor.d.ts +5 -1
  811. package/node_modules/undici-types/package.json +1 -1
  812. package/node_modules/undici-types/proxy-agent.d.ts +7 -0
  813. package/package.json +2 -2
  814. package/packaging/macos/build-pkg.sh +53 -0
  815. package/packaging/macos/preinstall +33 -0
  816. package/packaging/macos/test-install.sh +51 -0
  817. package/packaging/macos/test_package.py +74 -0
  818. package/packaging/macos/uninstall.sh +24 -0
  819. package/packaging/macos/verify-pkg.py +61 -0
  820. package/packaging/windows/build-msi.ps1 +153 -0
  821. package/packaging/windows/test-msi.ps1 +225 -0
  822. package/packaging/windows/verify-msi.ps1 +74 -0
  823. package/packaging/windows/vip-next.wxs +79 -0
  824. package/testdata/installer-fixture/main.go +40 -0
  825. package/node_modules/@apollo/client/__cjs/utilities/internal/types/NoInfer.cjs.map +0 -1
  826. package/node_modules/@apollo/client/__cjs/utilities/internal/types/NoInfer.d.cts +0 -35
  827. package/node_modules/@apollo/client/utilities/internal/types/NoInfer.d.ts +0 -35
  828. package/node_modules/@apollo/client/utilities/internal/types/NoInfer.js +0 -2
  829. package/node_modules/@apollo/client/utilities/internal/types/NoInfer.js.map +0 -1
  830. package/node_modules/lando/node_modules/lru-cache/dist/commonjs/index.d.ts.map +0 -1
  831. package/node_modules/lando/node_modules/lru-cache/dist/commonjs/index.js.map +0 -1
  832. package/node_modules/lando/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
  833. package/node_modules/lando/node_modules/lru-cache/dist/commonjs/index.min.js.map +0 -7
  834. package/node_modules/lando/node_modules/lru-cache/dist/esm/index.d.ts.map +0 -1
  835. package/node_modules/lando/node_modules/lru-cache/dist/esm/index.js.map +0 -1
  836. package/node_modules/lando/node_modules/lru-cache/dist/esm/index.min.js +0 -2
  837. package/node_modules/lando/node_modules/lru-cache/dist/esm/index.min.js.map +0 -7
  838. package/node_modules/lando/node_modules/lru-cache/package.json +0 -93
  839. /package/node_modules/{lando/node_modules/lru-cache → path-scurry}/LICENSE.md +0 -0
  840. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/README.md +0 -0
  841. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/commonjs/index.d.ts +0 -0
  842. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/commonjs/index.d.ts.map +0 -0
  843. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/commonjs/index.js +0 -0
  844. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/commonjs/index.js.map +0 -0
  845. /package/node_modules/{lando/node_modules/lru-cache → path-scurry}/dist/commonjs/package.json +0 -0
  846. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/esm/index.d.ts +0 -0
  847. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/esm/index.d.ts.map +0 -0
  848. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/esm/index.js +0 -0
  849. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/dist/esm/index.js.map +0 -0
  850. /package/node_modules/{lando/node_modules/lru-cache → path-scurry}/dist/esm/package.json +0 -0
  851. /package/node_modules/{lando/node_modules/path-scurry → path-scurry/node_modules/lru-cache}/LICENSE.md +0 -0
  852. /package/node_modules/{lando/node_modules/path-scurry → path-scurry/node_modules/lru-cache}/dist/commonjs/package.json +0 -0
  853. /package/node_modules/{lando/node_modules/path-scurry → path-scurry/node_modules/lru-cache}/dist/esm/package.json +0 -0
  854. /package/node_modules/{lando/node_modules/path-scurry → path-scurry}/package.json +0 -0
@@ -2,22 +2,26 @@ package telemetry
2
2
 
3
3
  import (
4
4
  "bytes"
5
+ "context"
5
6
  "encoding/json"
7
+ "errors"
8
+ "fmt"
6
9
  "net/http"
7
10
  "strings"
8
11
  "time"
9
12
 
13
+ "github.com/Automattic/vip/internal/debuglog"
10
14
  "github.com/Automattic/vip/internal/httpproxy"
11
15
  )
12
16
 
13
17
  // PendoClient posts analytics events to Pendo via the VIP API proxy.
14
18
  //
15
- // Node parity: mirrors src/lib/analytics/clients/pendo.ts exactly.
19
+ // Node counterpart: src/lib/analytics/clients/pendo.ts.
16
20
  //
17
21
  // The Node client sends to Pendo.ENDPOINT = "/pendo" prefixed by API_HOST
18
22
  // (https://api.wpvip.com), so the full URL is https://api.wpvip.com/pendo.
19
- // Node attaches a bearer token via the shared http wrapper; Go telemetry
20
- // calls are fire-and-forget without auth (same approach as TracksClient).
23
+ // Both runtimes authenticate through the current VIP session. Failures are
24
+ // diagnostic only: Tracker deliberately does not fail the user's command.
21
25
  //
22
26
  // Payload shape (mirrors Node's send() method):
23
27
  //
@@ -44,6 +48,11 @@ type PendoClient struct {
44
48
  EventPrefix string
45
49
  // HTTP is the HTTP client; nil means a default 5-second-timeout client.
46
50
  HTTP *http.Client
51
+ // GetToken reads the current session at send time, including login/logout
52
+ // changes. Missing credentials skip Pendo without starting a login flow.
53
+ GetToken func() (string, error)
54
+ // Context carries this invocation's opt-in diagnostics.
55
+ Context context.Context
47
56
  }
48
57
 
49
58
  // resolveUserID returns UserID if set, otherwise calls GetUserID().
@@ -84,8 +93,26 @@ type pendoPayload struct {
84
93
 
85
94
  // TrackEvent sends a single named event to Pendo.
86
95
  // The event name is auto-prefixed with EventPrefix if not already present.
87
- // Errors from the HTTP call are swallowed (Node returns false on error).
96
+ // Delivery errors contain only safe summaries; Tracker ignores them.
88
97
  func (c *PendoClient) TrackEvent(name string, props map[string]any) error {
98
+ requestContext := c.Context
99
+ if requestContext == nil {
100
+ requestContext = context.Background()
101
+ }
102
+ const namespace = "@automattic/vip:analytics:clients:pendo"
103
+ fail := func(message string) error {
104
+ debuglog.Printf(requestContext, namespace, "%s", message)
105
+ return errors.New(message)
106
+ }
107
+ if c.GetToken == nil {
108
+ debuglog.Printf(requestContext, namespace, "Skipping event: no authenticated session")
109
+ return nil
110
+ }
111
+ token, err := c.GetToken()
112
+ if err != nil || token == "" {
113
+ debuglog.Printf(requestContext, namespace, "Skipping event: no authenticated session")
114
+ return nil
115
+ }
89
116
  if !strings.HasPrefix(name, c.EventPrefix) {
90
117
  name = c.EventPrefix + name
91
118
  }
@@ -125,16 +152,16 @@ func (c *PendoClient) TrackEvent(name string, props map[string]any) error {
125
152
 
126
153
  body, err := json.Marshal(payload)
127
154
  if err != nil {
128
- // Swallow, same as Node's catch block returning false.
129
- return nil
155
+ return fail("Unable to encode event")
130
156
  }
131
157
 
132
- req, err := http.NewRequest("POST", c.Endpoint, bytes.NewReader(body))
158
+ req, err := http.NewRequestWithContext(requestContext, "POST", c.Endpoint, bytes.NewReader(body))
133
159
  if err != nil {
134
- return nil
160
+ return fail("Unable to construct request")
135
161
  }
136
162
  req.Header.Set("Content-Type", "application/json")
137
163
  req.Header.Set("User-Agent", c.UserAgent)
164
+ req.Header.Set("Authorization", "Bearer "+token)
138
165
 
139
166
  httpClient := c.HTTP
140
167
  if httpClient == nil {
@@ -144,11 +171,15 @@ func (c *PendoClient) TrackEvent(name string, props map[string]any) error {
144
171
  httpClient = httpproxy.ClientWithTimeout(5 * time.Second)
145
172
  }
146
173
 
174
+ debuglog.Printf(requestContext, namespace, "Sending event")
147
175
  resp, err := httpClient.Do(req)
148
176
  if err != nil {
149
- // Node: catch(error) { debug(error); return Promise.resolve(false) }
150
- return nil
177
+ return fail("Request failed")
151
178
  }
152
179
  resp.Body.Close()
180
+ debuglog.Printf(requestContext, namespace, "Response status=%d", resp.StatusCode)
181
+ if resp.StatusCode < 200 || resp.StatusCode >= 300 {
182
+ return fail(fmt.Sprintf("Request rejected: HTTP %d", resp.StatusCode))
183
+ }
153
184
  return nil
154
185
  }
@@ -0,0 +1,92 @@
1
+ package telemetry
2
+
3
+ import (
4
+ "bytes"
5
+ "context"
6
+ "errors"
7
+ "net/http"
8
+ "net/http/httptest"
9
+ "strings"
10
+ "testing"
11
+
12
+ "github.com/Automattic/vip/internal/debuglog"
13
+ )
14
+
15
+ func TestPendoTokenChangesAndRemoval(t *testing.T) {
16
+ var headers []string
17
+ srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
18
+ headers = append(headers, r.Header.Get("Authorization"))
19
+ }))
20
+ defer srv.Close()
21
+ token := "first-token"
22
+ c := &PendoClient{Endpoint: srv.URL, HTTP: srv.Client(), GetToken: func() (string, error) { return token, nil }}
23
+ for _, next := range []string{"first-token", "replacement-token", ""} {
24
+ token = next
25
+ if err := c.TrackEvent("test", nil); err != nil {
26
+ t.Fatal(err)
27
+ }
28
+ }
29
+ if len(headers) != 2 || headers[0] != "Bearer first-token" || headers[1] != "Bearer replacement-token" {
30
+ t.Fatalf("authentication did not follow token changes: %v", headers)
31
+ }
32
+ }
33
+
34
+ func TestPendoMissingCredentialsSkipsRequestAndIdentityLookup(t *testing.T) {
35
+ for _, getToken := range []func() (string, error){nil, func() (string, error) { return "", nil }, func() (string, error) { return "", errors.New("PRIVATE_STORE_ERROR") }} {
36
+ var diagnostics bytes.Buffer
37
+ c := &PendoClient{
38
+ Endpoint: ":invalid", GetToken: getToken,
39
+ Context: debuglog.WithLogger(context.Background(), "*", &diagnostics),
40
+ GetUserID: func() string { t.Fatal("no-token event accessed the identity store"); return "" },
41
+ }
42
+ if err := c.TrackEvent("test", nil); err != nil {
43
+ t.Fatal(err)
44
+ }
45
+ if !strings.Contains(diagnostics.String(), "Skipping event") || strings.Contains(diagnostics.String(), "PRIVATE_STORE_ERROR") {
46
+ t.Fatalf("unexpected diagnostics: %s", &diagnostics)
47
+ }
48
+ }
49
+ }
50
+
51
+ func TestPendoDiagnosticsAndNonfatalFailures(t *testing.T) {
52
+ for _, selector := range []string{"", "@automattic/vip:analytics:clients:pendo", "*,-@automattic/vip:analytics:clients:pendo"} {
53
+ t.Run(selector, func(t *testing.T) {
54
+ for _, name := range []string{"DO_NOT_TRACK", "GO_ENV", "NODE_ENV"} {
55
+ t.Setenv(name, "")
56
+ }
57
+ var diagnostics bytes.Buffer
58
+ srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
59
+ w.WriteHeader(http.StatusUnauthorized)
60
+ _, _ = w.Write([]byte("PRIVATE_RESPONSE"))
61
+ }))
62
+ defer srv.Close()
63
+ pendo := &PendoClient{Endpoint: srv.URL, HTTP: srv.Client(), UserID: "PRIVATE_ID"}
64
+ other := &fakeClient{}
65
+ tr := &Tracker{Clients: []Client{pendo, other}}
66
+ tr.SetPendoTokenSource(func() (string, error) { return "PRIVATE_TOKEN", nil })
67
+ tr.SetContext(debuglog.WithLogger(context.Background(), selector, &diagnostics))
68
+ tr.TrackEvent("test", map[string]any{"value": "PRIVATE_PAYLOAD"})
69
+ if len(other.events) != 1 {
70
+ t.Fatal("Pendo failure prevented other telemetry")
71
+ }
72
+ if strings.Contains(diagnostics.String(), "PRIVATE_") {
73
+ t.Fatalf("private data in diagnostics: %s", &diagnostics)
74
+ }
75
+ wantLog := selector == "@automattic/vip:analytics:clients:pendo"
76
+ if strings.Contains(diagnostics.String(), "401") != wantLog {
77
+ t.Fatalf("missing or unfiltered status: %s", &diagnostics)
78
+ }
79
+ })
80
+ }
81
+ }
82
+
83
+ func TestPendoTrackingOptOutAvoidsCredentials(t *testing.T) {
84
+ for _, name := range []string{"DO_NOT_TRACK", "GO_ENV", "NODE_ENV"} {
85
+ t.Run(name, func(t *testing.T) {
86
+ t.Setenv(name, "test")
87
+ tr := &Tracker{Clients: []Client{&PendoClient{}}}
88
+ tr.SetPendoTokenSource(func() (string, error) { t.Fatal("tracking opt-out accessed credentials"); return "", nil })
89
+ tr.TrackEvent("test", nil)
90
+ })
91
+ }
92
+ }
@@ -26,6 +26,7 @@ func captureRequest(t *testing.T, c *PendoClient, name string, props map[string]
26
26
  t.Cleanup(srv.Close)
27
27
 
28
28
  c.Endpoint = srv.URL
29
+ c.GetToken = func() (string, error) { return "fixture-token", nil }
29
30
  if err := c.TrackEvent(name, props); err != nil {
30
31
  t.Fatalf("TrackEvent returned unexpected error: %v", err)
31
32
  }
@@ -35,6 +36,22 @@ func captureRequest(t *testing.T, c *PendoClient, name string, props map[string]
35
36
  return captured, capturedReq
36
37
  }
37
38
 
39
+ func TestPendoRejectsHTTPFailure(t *testing.T) {
40
+ for _, status := range []int{401, 403, 429, 500} {
41
+ t.Run(http.StatusText(status), func(t *testing.T) {
42
+ srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
43
+ w.WriteHeader(status)
44
+ _, _ = w.Write([]byte("private response body"))
45
+ }))
46
+ defer srv.Close()
47
+ c := &PendoClient{Endpoint: srv.URL, HTTP: srv.Client(), UserID: "fixture", GetToken: func() (string, error) { return "fixture-token", nil }}
48
+ if err := c.TrackEvent("test", nil); err == nil {
49
+ t.Fatal("failed delivery was reported as successful")
50
+ }
51
+ })
52
+ }
53
+ }
54
+
38
55
  // TestPendoClientPostsExpectedPayload verifies that TrackEvent sends a POST
39
56
  // with the correct JSON body matching Node's send() output: event name (prefixed),
40
57
  // type "track", visitorId, accountId, context fields, and properties.
@@ -173,17 +190,18 @@ func TestPendoClientOrgContextFields(t *testing.T) {
173
190
  }
174
191
  }
175
192
 
176
- // TestPendoClientSwallowsNetworkError verifies that a network failure returns
177
- // nil (not an error), mirroring Node's catch block returning Promise.resolve(false).
178
- func TestPendoClientSwallowsNetworkError(t *testing.T) {
193
+ // TestPendoClientReportsNetworkError verifies failures are observable to the
194
+ // tracker without including raw transport errors or request data.
195
+ func TestPendoClientReportsNetworkError(t *testing.T) {
179
196
  c := &PendoClient{
197
+ GetToken: func() (string, error) { return "fixture-token", nil },
180
198
  Endpoint: "http://127.0.0.1:1", // nothing listening
181
199
  UserID: "u",
182
200
  UserAgent: "x",
183
201
  EventPrefix: TracksEventPrefix,
184
202
  }
185
- if err := c.TrackEvent("test", nil); err != nil {
186
- t.Errorf("expected nil on network error (Node swallows errors), got %v", err)
203
+ if err := c.TrackEvent("test", nil); err == nil || err.Error() != "Request failed" {
204
+ t.Errorf("expected safe network error, got %v", err)
187
205
  }
188
206
  }
189
207
 
@@ -198,6 +216,7 @@ func TestPendoClientLazyUserIDResolved(t *testing.T) {
198
216
 
199
217
  c := &PendoClient{
200
218
  Endpoint: srv.URL,
219
+ GetToken: func() (string, error) { return "fixture-token", nil },
201
220
  GetUserID: func() string { calls++; return "lazy-uuid" },
202
221
  UserAgent: "vip-next/test",
203
222
  EventPrefix: TracksEventPrefix,
@@ -1,6 +1,7 @@
1
1
  package telemetry
2
2
 
3
3
  import (
4
+ "context"
4
5
  "fmt"
5
6
  "os"
6
7
  )
@@ -19,6 +20,31 @@ type Tracker struct {
19
20
  Disabled bool
20
21
  }
21
22
 
23
+ // SetPendoTokenSource binds Pendo to the invocation's credential store before
24
+ // login can emit events. Tracks has its own authentication scheme.
25
+ func (t *Tracker) SetPendoTokenSource(getToken func() (string, error)) {
26
+ if t == nil {
27
+ return
28
+ }
29
+ for _, client := range t.Clients {
30
+ if pendo, ok := client.(*PendoClient); ok {
31
+ pendo.GetToken = getToken
32
+ }
33
+ }
34
+ }
35
+
36
+ // SetContext attaches the parsed command's diagnostics before command events.
37
+ func (t *Tracker) SetContext(ctx context.Context) {
38
+ if t == nil {
39
+ return
40
+ }
41
+ for _, client := range t.Clients {
42
+ if pendo, ok := client.(*PendoClient); ok {
43
+ pendo.Context = ctx
44
+ }
45
+ }
46
+ }
47
+
22
48
  // TrackEvent emits name with props to every configured Client.
23
49
  // It is a no-op when the tracker is disabled or DO_NOT_TRACK / test env vars are set.
24
50
  func (t *Tracker) TrackEvent(name string, props map[string]any) {
@@ -64,24 +64,26 @@ func (g GitHub) Releases(ctx context.Context) ([]Release, error) {
64
64
  }
65
65
  releases = append(releases, batch...)
66
66
  next := 0
67
- for _, part := range strings.Split(resp.Header.Get("Link"), ",") {
68
- if !strings.Contains(part, `rel="next"`) {
69
- continue
67
+ for _, value := range resp.Header.Values("Link") {
68
+ for _, part := range strings.Split(value, ",") {
69
+ if !strings.Contains(part, `rel="next"`) {
70
+ continue
71
+ }
72
+ left, right := strings.Index(part, "<"), strings.Index(part, ">")
73
+ if left < 0 || right <= left {
74
+ return nil, fmt.Errorf("invalid release pagination")
75
+ }
76
+ u, err := url.Parse(part[left+1 : right])
77
+ if err != nil {
78
+ return nil, fmt.Errorf("invalid release pagination")
79
+ }
80
+ u = origin.ResolveReference(u)
81
+ n, err := strconv.Atoi(u.Query().Get("page"))
82
+ if err != nil || n <= page || u.Scheme != origin.Scheme || u.Host != origin.Host || !isReleasePaginationPath(u.EscapedPath()) || u.User != nil || next != 0 {
83
+ return nil, fmt.Errorf("invalid release pagination")
84
+ }
85
+ next = n
70
86
  }
71
- left, right := strings.Index(part, "<"), strings.Index(part, ">")
72
- if left < 0 || right <= left {
73
- return nil, fmt.Errorf("invalid release pagination")
74
- }
75
- u, err := url.Parse(part[left+1 : right])
76
- if err != nil {
77
- return nil, fmt.Errorf("invalid release pagination")
78
- }
79
- u = origin.ResolveReference(u)
80
- n, err := strconv.Atoi(u.Query().Get("page"))
81
- if err != nil || n <= page || u.Scheme != origin.Scheme || u.Host != origin.Host || u.Path != "/repos/"+Repository+"/releases" || u.User != nil || next != 0 {
82
- return nil, fmt.Errorf("invalid release pagination")
83
- }
84
- next = n
85
87
  }
86
88
  if next == 0 {
87
89
  return releases, nil
@@ -90,6 +92,23 @@ func (g GitHub) Releases(ctx context.Context) ([]Release, error) {
90
92
  }
91
93
  return nil, fmt.Errorf("GitHub release pagination limit exceeded")
92
94
  }
95
+
96
+ func isReleasePaginationPath(path string) bool {
97
+ if path == "/repos/"+Repository+"/releases" {
98
+ return true
99
+ }
100
+ repositoryID, ok := strings.CutPrefix(path, "/repositories/")
101
+ if !ok {
102
+ return false
103
+ }
104
+ repositoryID, ok = strings.CutSuffix(repositoryID, "/releases")
105
+ if !ok {
106
+ return false
107
+ }
108
+ id, err := strconv.ParseUint(repositoryID, 10, 64)
109
+ return err == nil && id > 0
110
+ }
111
+
93
112
  func readBounded(r io.Reader, max int64) ([]byte, error) {
94
113
  b, err := io.ReadAll(io.LimitReader(r, max+1))
95
114
  if err != nil {
@@ -24,6 +24,28 @@ func inspectOwnership(ctx context.Context, l Layout, goos string, query ownershi
24
24
  ctx, cancel := context.WithTimeout(ctx, 3*time.Second)
25
25
  defer cancel()
26
26
  for _, target := range []string{l.CLI, l.Helper} {
27
+ if goos == "darwin" || goos == "windows" {
28
+ markerPath := filepath.Join(filepath.Dir(target), ".vip-next-installer.json")
29
+ if _, err := regularFile(markerPath); err == nil {
30
+ var marker struct {
31
+ Schema int `json:"schema"`
32
+ Manager string `json:"manager"`
33
+ }
34
+ if err := readJSON(markerPath, 4096, &marker); err != nil {
35
+ return Ownership{}, fmt.Errorf("read installer ownership: %w", err)
36
+ }
37
+ manager := "pkg"
38
+ if goos == "windows" {
39
+ manager = "msi"
40
+ }
41
+ if marker.Schema != 1 || marker.Manager != manager {
42
+ return Ownership{}, fmt.Errorf("invalid installer ownership record: %s", markerPath)
43
+ }
44
+ return Ownership{true, "This installation is managed by the VIP CLI installer. Download and run the latest ." + manager + " installer for your platform from " + ReleasesURL}, nil
45
+ } else if !os.IsNotExist(err) {
46
+ return Ownership{}, fmt.Errorf("inspect installer ownership: %w", err)
47
+ }
48
+ }
27
49
  normalized := filepath.ToSlash(target)
28
50
  switch goos {
29
51
  case "darwin":
@@ -5,6 +5,7 @@ import (
5
5
  "errors"
6
6
  "os"
7
7
  "path/filepath"
8
+ "strings"
8
9
  "testing"
9
10
  )
10
11
 
@@ -38,6 +39,49 @@ func TestOwnershipUsesReceiptsAndFailsClosed(t *testing.T) {
38
39
  t.Fatal("bare /usr/local/bin misclassified", o, err)
39
40
  }
40
41
  }
42
+
43
+ func TestNativeInstallerOwnership(t *testing.T) {
44
+ for _, platform := range []struct{ os, manager, extension string }{{"darwin", "pkg", ".pkg"}, {"windows", "msi", ".msi"}} {
45
+ t.Run(platform.os, func(t *testing.T) {
46
+ for _, helperMarker := range []bool{false, true} {
47
+ dir := t.TempDir()
48
+ helperDir := filepath.Join(dir, "bin")
49
+ if err := os.Mkdir(helperDir, 0755); err != nil {
50
+ t.Fatal(err)
51
+ }
52
+ l := Layout{filepath.Join(dir, "vip-next"), filepath.Join(helperDir, "go-search-replace")}
53
+ markerDir := dir
54
+ if helperMarker {
55
+ markerDir = helperDir
56
+ }
57
+ q := func(context.Context, string, ...string) ([]byte, error) {
58
+ t.Fatal("unexpected external query")
59
+ return nil, nil
60
+ }
61
+ o, err := inspectOwnership(context.Background(), l, platform.os, q)
62
+ if err != nil || o.Managed {
63
+ t.Fatal("portable install misclassified", o, err)
64
+ }
65
+ marker := filepath.Join(markerDir, ".vip-next-installer.json")
66
+ if err := os.WriteFile(marker, []byte(`{"schema":1,"manager":"`+platform.manager+`"}`), 0644); err != nil {
67
+ t.Fatal(err)
68
+ }
69
+ o, err = inspectOwnership(context.Background(), l, platform.os, q)
70
+ if err != nil || !o.Managed || !strings.Contains(o.Instructions, platform.extension) || !strings.Contains(o.Instructions, ReleasesURL) {
71
+ t.Fatal(o, err)
72
+ }
73
+ for _, contents := range []string{"{", `{"schema":2,"manager":"pkg"}`, `{"schema":1,"manager":"unknown"}`} {
74
+ if err := os.WriteFile(marker, []byte(contents), 0644); err != nil {
75
+ t.Fatal(err)
76
+ }
77
+ if _, err := inspectOwnership(context.Background(), l, platform.os, q); err == nil {
78
+ t.Fatal("invalid marker accepted", contents)
79
+ }
80
+ }
81
+ }
82
+ })
83
+ }
84
+ }
41
85
  func TestResolveLayoutPreservesEntrypointSymlink(t *testing.T) {
42
86
  l, _ := installFixture(t)
43
87
  link := filepath.Join(t.TempDir(), "vip")
@@ -87,33 +87,73 @@ func TestSelectRejectsIncompleteAndInconsistentReleases(t *testing.T) {
87
87
  }
88
88
  }
89
89
  func TestGitHubPagination(t *testing.T) {
90
+ for _, tc := range []struct {
91
+ name, nextPath string
92
+ }{{"named repository", "/repos/Automattic/vip-cli/releases"}, {"numeric repository ID", "/repositories/116313791/releases"}} {
93
+ t.Run(tc.name, func(t *testing.T) {
94
+ calls := 0
95
+ s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
96
+ calls++
97
+ if r.Header.Get("Authorization") != "" {
98
+ t.Error("credentials")
99
+ }
100
+ if r.URL.Path != "/repos/Automattic/vip-cli/releases" {
101
+ t.Error(r.URL.Path)
102
+ }
103
+ if r.URL.Query().Get("page") == "1" {
104
+ w.Header().Set("Link", "<http://"+r.Host+tc.nextPath+"?per_page=100&page=2>; rel=\"next\"")
105
+ fmt.Fprint(w, `[{"tag_name":"4.9.0"}]`)
106
+ } else {
107
+ fmt.Fprint(w, `[{"tag_name":"5.0.0"}]`)
108
+ }
109
+ }))
110
+ defer s.Close()
111
+ rs, err := (GitHub{Client: s.Client(), BaseURL: s.URL}).Releases(context.Background())
112
+ if err != nil || len(rs) != 2 || calls != 2 {
113
+ t.Fatal(rs, err, calls)
114
+ }
115
+ })
116
+ }
117
+ }
118
+
119
+ func TestGitHubRejectsDuplicateNextLinkHeaders(t *testing.T) {
90
120
  calls := 0
91
121
  s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
92
122
  calls++
93
- if r.Header.Get("Authorization") != "" {
94
- t.Error("credentials")
95
- }
96
- if r.URL.Path != "/repos/Automattic/vip-cli/releases" {
97
- t.Error(r.URL.Path)
123
+ if r.URL.Query().Get("page") == "1" {
124
+ w.Header().Add("Link", "<http://"+r.Host+"/repositories/116313791/releases?page=2>; rel=\"next\"")
125
+ w.Header().Add("Link", "<http://"+r.Host+"/repositories/116313791/releases?page=3>; rel=\"next\"")
98
126
  }
127
+ fmt.Fprint(w, `[]`)
128
+ }))
129
+ defer s.Close()
130
+ _, err := (GitHub{Client: s.Client(), BaseURL: s.URL}).Releases(context.Background())
131
+ if err == nil || calls != 1 {
132
+ t.Fatal(err, calls)
133
+ }
134
+ }
135
+
136
+ func TestGitHubRejectsEncodedReleasePaginationSeparator(t *testing.T) {
137
+ calls := 0
138
+ s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
139
+ calls++
99
140
  if r.URL.Query().Get("page") == "1" {
100
- w.Header().Set("Link", "<http://"+r.Host+"/repos/Automattic/vip-cli/releases?per_page=100&page=2>; rel=\"next\"")
101
- fmt.Fprint(w, `[{"tag_name":"4.9.0"}]`)
102
- } else {
103
- fmt.Fprint(w, `[{"tag_name":"5.0.0"}]`)
141
+ w.Header().Set("Link", "<http://"+r.Host+"/repositories/116313791%2Freleases?page=2>; rel=\"next\"")
104
142
  }
143
+ fmt.Fprint(w, `[]`)
105
144
  }))
106
145
  defer s.Close()
107
- rs, err := (GitHub{Client: s.Client(), BaseURL: s.URL}).Releases(context.Background())
108
- if err != nil || len(rs) != 2 || calls != 2 {
109
- t.Fatal(rs, err, calls)
146
+ _, err := (GitHub{Client: s.Client(), BaseURL: s.URL}).Releases(context.Background())
147
+ if err == nil || calls != 1 {
148
+ t.Fatal(err, calls)
110
149
  }
111
150
  }
151
+
112
152
  func TestGitHubErrors(t *testing.T) {
113
153
  for _, tc := range []struct {
114
154
  status int
115
155
  body, link string
116
- }{{429, `{}`, ""}, {200, `broken`, ""}, {200, `[]`, `<https://evil.invalid/next>; rel="next"`}, {200, `[]`, `</repos/Automattic/vip-cli/releases?page=1>; rel="next"`}} {
156
+ }{{429, `{}`, ""}, {200, `broken`, ""}, {200, `[]`, `<https://evil.invalid/next>; rel="next"`}, {200, `[]`, `</repositories/not-a-number/releases?page=2>; rel="next"`}, {200, `[]`, `</repos/Automattic/vip-cli/releases?page=1>; rel="next"`}} {
117
157
  s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
118
158
  w.Header().Set("Link", tc.link)
119
159
  w.WriteHeader(tc.status)
@@ -4,6 +4,7 @@ import (
4
4
  "context"
5
5
  "errors"
6
6
  "os"
7
+ "path/filepath"
7
8
  "strings"
8
9
  "testing"
9
10
  "time"
@@ -28,6 +29,44 @@ func TestServiceCheckAndChannelPersistence(t *testing.T) {
28
29
  t.Fatal("failed check changed channel")
29
30
  }
30
31
  }
32
+
33
+ func TestServiceNativeInstallerNeverDownloadsOrReplaces(t *testing.T) {
34
+ for _, manager := range []string{"pkg", "msi"} {
35
+ t.Run(manager, func(t *testing.T) {
36
+ l, _ := installFixture(t)
37
+ before, err := os.ReadFile(l.CLI)
38
+ if err != nil {
39
+ t.Fatal(err)
40
+ }
41
+ if err := os.WriteFile(filepath.Join(filepath.Dir(l.CLI), ".vip-next-installer.json"), []byte(`{"schema":1,"manager":"`+manager+`"}`), 0644); err != nil {
42
+ t.Fatal(err)
43
+ }
44
+ s := Service{Installed: "5.0.0", Platform: Platform{"linux", "amd64"}, State: State{CacheDir: t.TempDir(), ConfigDir: t.TempDir()}, Executable: func() (string, error) { return l.CLI, nil }, Fetch: func(context.Context) ([]Release, error) { return []Release{release("5.0.1")}, nil }}
45
+ s.Installer.InspectOwnership = func(ctx context.Context, layout Layout) (Ownership, error) {
46
+ platform := "darwin"
47
+ if manager == "msi" {
48
+ platform = "windows"
49
+ }
50
+ return inspectOwnership(ctx, layout, platform, func(context.Context, string, ...string) ([]byte, error) { t.Fatal("unexpected query"); return nil, nil })
51
+ }
52
+ s.Stage = func(context.Context, Candidate, Platform, string) (Bundle, error) {
53
+ t.Fatal("installer-managed binaries must not be downloaded")
54
+ return Bundle{}, nil
55
+ }
56
+ out, err := s.Run(context.Background(), Request{}, nil)
57
+ if err != nil || out.Updated || !strings.Contains(out.Instructions, "."+manager) {
58
+ t.Fatal(out, err)
59
+ }
60
+ after, err := os.ReadFile(l.CLI)
61
+ if err != nil || string(before) != string(after) {
62
+ t.Fatal("installed bytes changed", err)
63
+ }
64
+ if _, err := os.Stat(markerPath(l)); !os.IsNotExist(err) {
65
+ t.Fatal("created an update recovery record", err)
66
+ }
67
+ })
68
+ }
69
+ }
31
70
  func TestServiceStableAheadAndManagedInstall(t *testing.T) {
32
71
  s := Service{Installed: "5.1.0-beta.1", Platform: Platform{"linux", "amd64"}, State: State{CacheDir: t.TempDir(), ConfigDir: t.TempDir()}, Now: time.Now, Fetch: func(context.Context) ([]Release, error) { return []Release{release("5.0.0")}, nil }}
33
72
  out, err := s.Run(context.Background(), Request{Channel: Stable, ExplicitChannel: true}, nil)
@@ -0,0 +1,76 @@
1
+ package upload
2
+
3
+ import (
4
+ "bytes"
5
+ "context"
6
+ "io"
7
+ "net/http"
8
+ "os"
9
+ "path/filepath"
10
+ "strings"
11
+ "testing"
12
+
13
+ "github.com/Automattic/vip/internal/debuglog"
14
+ )
15
+
16
+ func TestUploadDebugSummarizesWithoutFileContentsOrCredentials(t *testing.T) {
17
+ for _, compress := range []bool{false, true} {
18
+ t.Run(map[bool]string{false: "plain", true: "compressed"}[compress], func(t *testing.T) {
19
+ c := stubPresignServer(t, func(w http.ResponseWriter, r *http.Request) {
20
+ _, _ = io.Copy(io.Discard, r.Body)
21
+ _, _ = w.Write([]byte("RESPONSE_SECRET"))
22
+ })
23
+ c.Token = "TOKEN_SECRET"
24
+ content := []byte("SQL_SECRET")
25
+ if compress {
26
+ content = bytes.Repeat(content, int(CompressThreshold)/len(content)+1)
27
+ }
28
+ meta, err := GetFileMeta(writeTemp(t, "PATH_SECRET.sql", content))
29
+ if err != nil {
30
+ t.Fatal(err)
31
+ }
32
+ var logs bytes.Buffer
33
+ res, err := c.UploadImportFile(debuglog.WithLogger(context.Background(), "vip:lib/client-file-uploader", &logs), 1, 2, meta, "md5", nil)
34
+ if err != nil {
35
+ t.Fatal(err)
36
+ }
37
+ if compress {
38
+ defer os.RemoveAll(filepath.Dir(res.Meta.FileName))
39
+ }
40
+ for _, want := range []string{"bytes=", "checksum", "PutObject", "Upload complete"} {
41
+ if !strings.Contains(logs.String(), want) {
42
+ t.Errorf("missing %q in %q", want, logs.String())
43
+ }
44
+ }
45
+ if compress && !strings.Contains(logs.String(), "Compression complete") {
46
+ t.Errorf("missing compression diagnostic: %s", &logs)
47
+ }
48
+ for _, secret := range []string{"SQL_SECRET", "PATH_SECRET", "TOKEN_SECRET", "RESPONSE_SECRET", res.Checksum} {
49
+ if strings.Contains(logs.String(), secret) {
50
+ t.Errorf("leaked %q", secret)
51
+ }
52
+ }
53
+ })
54
+ }
55
+ }
56
+
57
+ func TestMultipartDebugReportsPartCountWithoutUploadIdentifiers(t *testing.T) {
58
+ _, c := newMultipartTest(t)
59
+ meta, err := GetFileMeta(writeTemp(t, "PATH_SECRET.sql", bytes.Repeat([]byte("x"), 40)))
60
+ if err != nil {
61
+ t.Fatal(err)
62
+ }
63
+ var logs bytes.Buffer
64
+ _, err = c.uploadUsingMultipart(debuglog.WithLogger(context.Background(), "vip:lib/client-file-uploader", &logs), 1, 2, meta, 16, nil)
65
+ if err != nil {
66
+ t.Fatal(err)
67
+ }
68
+ if !strings.Contains(logs.String(), "Multipart") || !strings.Contains(logs.String(), "parts=3") {
69
+ t.Errorf("missing strategy/count: %s", &logs)
70
+ }
71
+ for _, secret := range []string{"UPLOAD123", "etag-", "PATH_SECRET", c.APIHost} {
72
+ if strings.Contains(logs.String(), secret) {
73
+ t.Errorf("leaked %q", secret)
74
+ }
75
+ }
76
+ }