@automattic/vip 4.1.5 → 4.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1545) hide show
  1. package/assets/dev-env.lando.template.yml.ejs +6 -2
  2. package/config/config.local.json +6 -0
  3. package/dist/bin/vip-config-software-get.js +9 -0
  4. package/dist/bin/vip-wp.js +128 -39
  5. package/dist/lib/client-file-uploader.js +34 -5
  6. package/dist/lib/config/software.js +42 -2
  7. package/dist/lib/dev-environment/dev-environment-core.js +1 -1
  8. package/helpers/generate-docs.js +9 -3
  9. package/node_modules/@apollo/client/CHANGELOG.md +32 -0
  10. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs +1 -1
  11. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs.map +1 -1
  12. package/node_modules/@apollo/client/__cjs/cache/core/cache.d.cts +4 -1
  13. package/node_modules/@apollo/client/__cjs/cache/core/types/Cache.d.cts +5 -0
  14. package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs +4 -4
  15. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +15 -5
  16. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  17. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.d.cts +3 -1
  18. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  19. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +5 -5
  20. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs +28 -10
  21. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  22. package/node_modules/@apollo/client/__cjs/cache/inmemory/types.d.cts +7 -2
  23. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +29 -14
  24. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  25. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.d.cts +5 -2
  26. package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs +14 -14
  27. package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs +8 -8
  28. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +13 -32
  29. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  30. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +12 -12
  31. package/node_modules/@apollo/client/__cjs/core/RefetchEventManager.cjs +3 -3
  32. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs +15 -2
  33. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  34. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.d.cts +5 -1
  35. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs +58 -14
  36. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
  37. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.d.cts +23 -12
  38. package/node_modules/@apollo/client/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  39. package/node_modules/@apollo/client/__cjs/incremental/types.d.cts +19 -1
  40. package/node_modules/@apollo/client/__cjs/invariantErrorCodes.cjs +64 -58
  41. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  42. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  43. package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs.map +1 -1
  44. package/node_modules/@apollo/client/__cjs/utilities/internal/index.d.cts +0 -1
  45. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs +24 -26
  46. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -1
  47. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.d.cts +1 -1
  48. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs +24 -20
  49. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs.map +1 -1
  50. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.d.cts +1 -1
  51. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  52. package/node_modules/@apollo/client/cache/core/cache.d.ts +4 -1
  53. package/node_modules/@apollo/client/cache/core/cache.js +1 -1
  54. package/node_modules/@apollo/client/cache/core/cache.js.map +1 -1
  55. package/node_modules/@apollo/client/cache/core/types/Cache.d.ts +5 -0
  56. package/node_modules/@apollo/client/cache/core/types/Cache.js.map +1 -1
  57. package/node_modules/@apollo/client/cache/inmemory/entityStore.js +4 -4
  58. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.d.ts +3 -1
  59. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +15 -5
  60. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  61. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +1 -1
  62. package/node_modules/@apollo/client/cache/inmemory/policies.js +5 -5
  63. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js +28 -10
  64. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js.map +1 -1
  65. package/node_modules/@apollo/client/cache/inmemory/types.d.ts +7 -2
  66. package/node_modules/@apollo/client/cache/inmemory/types.js.map +1 -1
  67. package/node_modules/@apollo/client/cache/inmemory/writeToStore.d.ts +5 -2
  68. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +30 -15
  69. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  70. package/node_modules/@apollo/client/core/ApolloClient.js +14 -14
  71. package/node_modules/@apollo/client/core/ObservableQuery.js +8 -8
  72. package/node_modules/@apollo/client/core/QueryInfo.js +14 -33
  73. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  74. package/node_modules/@apollo/client/core/QueryManager.js +12 -12
  75. package/node_modules/@apollo/client/core/RefetchEventManager.js +3 -3
  76. package/node_modules/@apollo/client/incremental/handlers/defer20220824.d.ts +5 -1
  77. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js +15 -2
  78. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js.map +1 -1
  79. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.d.ts +23 -12
  80. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js +58 -14
  81. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js.map +1 -1
  82. package/node_modules/@apollo/client/incremental/handlers/notImplemented.js +1 -1
  83. package/node_modules/@apollo/client/incremental/types.d.ts +19 -1
  84. package/node_modules/@apollo/client/incremental/types.js.map +1 -1
  85. package/node_modules/@apollo/client/invariantErrorCodes.js +64 -58
  86. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js +1 -1
  87. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js.map +1 -1
  88. package/node_modules/@apollo/client/package.json +1 -1
  89. package/node_modules/@apollo/client/utilities/internal/index.d.ts +0 -1
  90. package/node_modules/@apollo/client/utilities/internal/index.js.map +1 -1
  91. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.d.ts +1 -1
  92. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js +23 -25
  93. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js.map +1 -1
  94. package/node_modules/@apollo/client/utilities/internal/isStreamField.d.ts +1 -1
  95. package/node_modules/@apollo/client/utilities/internal/isStreamField.js +23 -19
  96. package/node_modules/@apollo/client/utilities/internal/isStreamField.js.map +1 -1
  97. package/node_modules/@apollo/client/version.js +1 -1
  98. package/node_modules/@types/node/README.md +1 -1
  99. package/node_modules/@types/node/crypto.d.ts +2 -2
  100. package/node_modules/@types/node/dgram.d.ts +1 -1
  101. package/node_modules/@types/node/package.json +2 -2
  102. package/node_modules/@types/node/util.d.ts +6 -3
  103. package/node_modules/@types/node/zlib.d.ts +6 -0
  104. package/node_modules/axios/CHANGELOG.md +62 -0
  105. package/node_modules/axios/README.md +297 -5
  106. package/node_modules/axios/dist/axios.js +728 -170
  107. package/node_modules/axios/dist/axios.min.js +3 -3
  108. package/node_modules/axios/dist/axios.min.js.map +1 -1
  109. package/node_modules/axios/dist/browser/axios.cjs +871 -188
  110. package/node_modules/axios/dist/esm/axios.js +871 -188
  111. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  112. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  113. package/node_modules/axios/dist/node/axios.cjs +1037 -225
  114. package/node_modules/axios/index.d.cts +102 -74
  115. package/node_modules/axios/index.d.ts +100 -68
  116. package/node_modules/axios/lib/adapters/fetch.js +64 -11
  117. package/node_modules/axios/lib/adapters/http.js +140 -67
  118. package/node_modules/axios/lib/adapters/xhr.js +52 -3
  119. package/node_modules/axios/lib/core/Axios.js +43 -20
  120. package/node_modules/axios/lib/core/AxiosError.js +33 -2
  121. package/node_modules/axios/lib/core/AxiosHeaders.js +124 -1
  122. package/node_modules/axios/lib/core/InterceptorManager.js +107 -8
  123. package/node_modules/axios/lib/core/buildFullPath.js +41 -15
  124. package/node_modules/axios/lib/core/dispatchRequest.js +8 -2
  125. package/node_modules/axios/lib/core/mergeConfig.js +19 -4
  126. package/node_modules/axios/lib/core/methodList.js +17 -0
  127. package/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  128. package/node_modules/axios/lib/defaults/index.js +2 -1
  129. package/node_modules/axios/lib/env/data.js +1 -1
  130. package/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
  131. package/node_modules/axios/lib/helpers/HttpStatusCode.js +12 -1
  132. package/node_modules/axios/lib/helpers/combineURLs.js +11 -3
  133. package/node_modules/axios/lib/helpers/composeSignals.js +12 -1
  134. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +115 -54
  135. package/node_modules/axios/lib/helpers/formDataToJSON.js +11 -5
  136. package/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
  137. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  138. package/node_modules/axios/lib/helpers/parseHeaders.js +5 -3
  139. package/node_modules/axios/lib/helpers/progressEventReducer.js +4 -4
  140. package/node_modules/axios/lib/helpers/resolveConfig.js +5 -17
  141. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +300 -5
  142. package/node_modules/axios/lib/helpers/throttle.js +3 -2
  143. package/node_modules/axios/lib/helpers/toFormData.js +17 -23
  144. package/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  145. package/node_modules/axios/lib/utils.js +151 -18
  146. package/node_modules/axios/package.json +21 -19
  147. package/node_modules/chalk/package.json +1 -1
  148. package/node_modules/chalk/source/index.js +2 -1
  149. package/node_modules/cpu-features/build/config.gypi +2 -2
  150. package/node_modules/ejs/README.md +64 -28
  151. package/node_modules/ejs/bin/cli.js +220 -158
  152. package/node_modules/ejs/ejs.js +64 -94
  153. package/node_modules/ejs/ejs.min.js +1 -1
  154. package/node_modules/ejs/jakefile.js +44 -0
  155. package/node_modules/ejs/lib/cjs/ejs.js +64 -63
  156. package/node_modules/ejs/lib/cjs/parseargs.js +129 -77
  157. package/node_modules/ejs/lib/cjs/utils.js +0 -31
  158. package/node_modules/ejs/lib/esm/ejs.js +66 -65
  159. package/node_modules/ejs/lib/esm/parseargs.js +136 -82
  160. package/node_modules/ejs/lib/esm/utils.js +0 -32
  161. package/node_modules/ejs/package.json +3 -2
  162. package/node_modules/ejs/usage.txt +9 -9
  163. package/node_modules/follow-redirects/index.js +10 -1
  164. package/node_modules/follow-redirects/package.json +1 -1
  165. package/node_modules/graphql-ws/dist/client.cjs +28 -13
  166. package/node_modules/graphql-ws/dist/client.js +28 -13
  167. package/node_modules/graphql-ws/dist/index.cjs +1 -1
  168. package/node_modules/graphql-ws/dist/index.d.cts +1 -1
  169. package/node_modules/graphql-ws/dist/index.d.ts +1 -1
  170. package/node_modules/graphql-ws/dist/index.js +1 -1
  171. package/node_modules/graphql-ws/dist/{server-B8ZBs9OC.d.ts → server-BzBeHlSW.d.ts} +26 -1
  172. package/node_modules/graphql-ws/dist/{server-DN5-9C2B.cjs → server-Ce-Z86Ys.cjs} +10 -4
  173. package/node_modules/graphql-ws/dist/{server-ChpuX357.d.cts → server-u6zrlwzL.d.cts} +26 -1
  174. package/node_modules/graphql-ws/dist/{server-DHPI7HHW.js → server-zBhvXJ_Z.js} +10 -4
  175. package/node_modules/graphql-ws/dist/use/@fastify/websocket.cjs +2 -2
  176. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.cts +8 -2
  177. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.ts +8 -2
  178. package/node_modules/graphql-ws/dist/use/@fastify/websocket.js +2 -2
  179. package/node_modules/graphql-ws/dist/use/bun.cjs +1 -1
  180. package/node_modules/graphql-ws/dist/use/bun.d.cts +2 -2
  181. package/node_modules/graphql-ws/dist/use/bun.d.ts +2 -2
  182. package/node_modules/graphql-ws/dist/use/bun.js +2 -2
  183. package/node_modules/graphql-ws/dist/use/crossws.cjs +16 -4
  184. package/node_modules/graphql-ws/dist/use/crossws.d.cts +6 -1
  185. package/node_modules/graphql-ws/dist/use/crossws.d.ts +6 -1
  186. package/node_modules/graphql-ws/dist/use/crossws.js +16 -4
  187. package/node_modules/graphql-ws/dist/use/deno.d.ts +1 -1
  188. package/node_modules/graphql-ws/dist/use/deno.js +1 -1
  189. package/node_modules/graphql-ws/dist/use/uWebSockets.cjs +2 -2
  190. package/node_modules/graphql-ws/dist/use/uWebSockets.d.cts +8 -2
  191. package/node_modules/graphql-ws/dist/use/uWebSockets.d.ts +8 -2
  192. package/node_modules/graphql-ws/dist/use/uWebSockets.js +2 -2
  193. package/node_modules/graphql-ws/dist/use/ws.cjs +2 -2
  194. package/node_modules/graphql-ws/dist/use/ws.d.cts +8 -2
  195. package/node_modules/graphql-ws/dist/use/ws.d.ts +8 -2
  196. package/node_modules/graphql-ws/dist/use/ws.js +2 -2
  197. package/node_modules/graphql-ws/package.json +3 -3
  198. package/node_modules/graphql-ws/umd/graphql-ws.js +28 -13
  199. package/node_modules/graphql-ws/umd/graphql-ws.min.js +1 -1
  200. package/node_modules/graphql-ws/umd/graphql-ws.min.js.gz +0 -0
  201. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs +522 -495
  202. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs.map +1 -1
  203. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js +24 -24
  204. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js.map +1 -1
  205. package/node_modules/js-yaml/dist/js-yaml.cjs.js +135 -78
  206. package/node_modules/js-yaml/dist/js-yaml.cjs.js.map +1 -1
  207. package/node_modules/js-yaml/dist/js-yaml.mjs +129 -72
  208. package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
  209. package/node_modules/js-yaml/node_modules/argparse/LICENSE +47 -0
  210. package/node_modules/js-yaml/node_modules/argparse/README.md +89 -0
  211. package/node_modules/js-yaml/node_modules/argparse/lib/_colorize.js +72 -0
  212. package/node_modules/js-yaml/node_modules/argparse/lib/argparse.d.ts +292 -0
  213. package/node_modules/{argparse → js-yaml/node_modules/argparse/lib}/argparse.js +1142 -1029
  214. package/node_modules/js-yaml/node_modules/argparse/lib/difflib.js +190 -0
  215. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/sub.js +4 -4
  216. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/textwrap.js +28 -28
  217. package/node_modules/js-yaml/node_modules/argparse/package.json +38 -0
  218. package/node_modules/js-yaml/package.json +12 -12
  219. package/node_modules/lando/.github/dependabot.yml +4 -0
  220. package/node_modules/lando/.github/workflows/build-util-images.yml +1 -1
  221. package/node_modules/lando/.github/workflows/pr-core-tests.yml +4 -2
  222. package/node_modules/lando/.github/workflows/pr-db-tools-tests.yml +4 -2
  223. package/node_modules/lando/.github/workflows/pr-django-tests.yml +4 -2
  224. package/node_modules/lando/.github/workflows/pr-linter.yml +2 -2
  225. package/node_modules/lando/.github/workflows/pr-unit-tests.yml +2 -2
  226. package/node_modules/lando/.node-version +1 -1
  227. package/node_modules/lando/bin/lando.js +3 -83
  228. package/node_modules/lando/config.yml +0 -1
  229. package/node_modules/lando/eslint.config.mjs +4 -0
  230. package/node_modules/lando/examples/django/.lando.yml +1 -1
  231. package/node_modules/lando/examples/django/README.md +1 -1
  232. package/node_modules/lando/examples/django/requirements.txt +1 -1
  233. package/node_modules/lando/examples/sql-export/README.md +5 -0
  234. package/node_modules/lando/lib/app.js +78 -84
  235. package/node_modules/lando/lib/art.js +86 -30
  236. package/node_modules/lando/lib/bootstrap.js +148 -45
  237. package/node_modules/lando/lib/cache.js +14 -15
  238. package/node_modules/lando/lib/cli.js +67 -63
  239. package/node_modules/lando/lib/compose.js +76 -45
  240. package/node_modules/lando/lib/config.js +51 -33
  241. package/node_modules/lando/lib/daemon.js +27 -10
  242. package/node_modules/lando/lib/docker.js +46 -19
  243. package/node_modules/lando/lib/engine.js +131 -144
  244. package/node_modules/lando/lib/env.js +25 -46
  245. package/node_modules/lando/lib/error.js +15 -6
  246. package/node_modules/lando/lib/esm/package.json +3 -0
  247. package/node_modules/lando/lib/esm/string-argv.js +2 -0
  248. package/node_modules/lando/lib/esm/yargs.js +2 -0
  249. package/node_modules/lando/lib/events.js +15 -15
  250. package/node_modules/lando/lib/factory.js +43 -14
  251. package/node_modules/lando/lib/formatters.js +19 -31
  252. package/node_modules/lando/lib/lando.js +59 -48
  253. package/node_modules/lando/lib/logger.js +12 -24
  254. package/node_modules/lando/lib/plugins.js +27 -15
  255. package/node_modules/lando/lib/promise.js +17 -17
  256. package/node_modules/lando/lib/router.js +75 -21
  257. package/node_modules/lando/lib/scan.js +29 -12
  258. package/node_modules/lando/lib/shell.js +44 -20
  259. package/node_modules/lando/lib/user.js +14 -20
  260. package/node_modules/lando/lib/utils.js +87 -44
  261. package/node_modules/lando/lib/yaml.js +11 -9
  262. package/node_modules/lando/node_modules/ansi-regex/index.d.ts +33 -0
  263. package/node_modules/lando/node_modules/ansi-regex/index.js +15 -0
  264. package/node_modules/lando/node_modules/ansi-regex/package.json +61 -0
  265. package/node_modules/lando/node_modules/ansi-regex/readme.md +66 -0
  266. package/node_modules/lando/node_modules/cliui/README.md +26 -6
  267. package/node_modules/lando/node_modules/cliui/build/lib/index.js +2 -2
  268. package/node_modules/lando/node_modules/cliui/build/tsconfig.tsbuildinfo +1 -0
  269. package/node_modules/lando/node_modules/cliui/index.mjs +7 -5
  270. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.d.ts +39 -0
  271. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.js +82 -0
  272. package/node_modules/lando/node_modules/cliui/node_modules/string-width/license +9 -0
  273. package/node_modules/lando/node_modules/cliui/node_modules/string-width/package.json +64 -0
  274. package/node_modules/lando/node_modules/cliui/node_modules/string-width/readme.md +66 -0
  275. package/node_modules/lando/node_modules/cliui/package.json +21 -32
  276. package/node_modules/lando/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  277. package/node_modules/lando/node_modules/emoji-regex/README.md +107 -0
  278. package/node_modules/lando/node_modules/emoji-regex/index.d.ts +3 -0
  279. package/node_modules/lando/node_modules/emoji-regex/index.js +4 -0
  280. package/node_modules/lando/node_modules/emoji-regex/index.mjs +4 -0
  281. package/node_modules/lando/node_modules/emoji-regex/package.json +45 -0
  282. package/node_modules/lando/node_modules/string-width/index.d.ts +39 -0
  283. package/node_modules/lando/node_modules/string-width/index.js +203 -0
  284. package/node_modules/lando/node_modules/string-width/license +9 -0
  285. package/node_modules/lando/node_modules/string-width/package.json +65 -0
  286. package/node_modules/lando/node_modules/string-width/readme.md +66 -0
  287. package/node_modules/lando/node_modules/strip-ansi/index.d.ts +15 -0
  288. package/node_modules/lando/node_modules/strip-ansi/index.js +19 -0
  289. package/node_modules/lando/node_modules/strip-ansi/license +9 -0
  290. package/node_modules/lando/node_modules/strip-ansi/package.json +59 -0
  291. package/node_modules/lando/node_modules/strip-ansi/readme.md +37 -0
  292. package/node_modules/lando/node_modules/yargs/README.md +16 -36
  293. package/node_modules/lando/node_modules/yargs/browser.d.ts +5 -0
  294. package/node_modules/lando/node_modules/yargs/browser.mjs +2 -2
  295. package/node_modules/lando/node_modules/yargs/build/lib/command.js +308 -211
  296. package/node_modules/lando/node_modules/yargs/build/lib/completion-templates.js +28 -9
  297. package/node_modules/lando/node_modules/yargs/build/lib/completion.js +233 -91
  298. package/node_modules/lando/node_modules/yargs/build/lib/middleware.js +51 -16
  299. package/node_modules/lando/node_modules/yargs/build/lib/usage.js +88 -52
  300. package/node_modules/lando/node_modules/yargs/build/lib/utils/apply-extends.js +4 -2
  301. package/node_modules/lando/node_modules/yargs/build/lib/utils/levenshtein.js +9 -1
  302. package/node_modules/lando/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  303. package/node_modules/lando/node_modules/yargs/build/lib/validation.js +51 -54
  304. package/node_modules/lando/node_modules/yargs/build/lib/yargs-factory.js +1261 -887
  305. package/node_modules/lando/node_modules/yargs/build/lib/yerror.js +3 -1
  306. package/node_modules/lando/node_modules/yargs/index.mjs +4 -2
  307. package/node_modules/lando/node_modules/yargs/lib/platform-shims/browser.mjs +9 -2
  308. package/node_modules/lando/node_modules/yargs/lib/platform-shims/esm.mjs +22 -22
  309. package/node_modules/lando/node_modules/yargs/locales/cs.json +51 -0
  310. package/node_modules/lando/node_modules/yargs/locales/de.json +1 -1
  311. package/node_modules/lando/node_modules/yargs/locales/en.json +4 -0
  312. package/node_modules/lando/node_modules/yargs/locales/fi.json +1 -1
  313. package/node_modules/lando/node_modules/yargs/locales/he.json +55 -0
  314. package/node_modules/lando/node_modules/yargs/locales/ka.json +55 -0
  315. package/node_modules/lando/node_modules/yargs/locales/ko.json +25 -25
  316. package/node_modules/lando/node_modules/yargs/locales/ru.json +6 -1
  317. package/node_modules/lando/node_modules/yargs/locales/uk_UA.json +51 -0
  318. package/node_modules/lando/node_modules/yargs/locales/uz.json +52 -0
  319. package/node_modules/lando/node_modules/yargs/locales/zh_TW.json +50 -46
  320. package/node_modules/lando/node_modules/yargs/package.json +41 -60
  321. package/node_modules/lando/node_modules/yargs-parser/build/lib/index.js +13 -8
  322. package/node_modules/lando/node_modules/yargs-parser/build/lib/yargs-parser.js +21 -12
  323. package/node_modules/lando/node_modules/yargs-parser/package.json +31 -40
  324. package/node_modules/lando/package.json +59 -22
  325. package/node_modules/lando/plugins/lando-compose/index.js +4 -0
  326. package/node_modules/lando/plugins/lando-compose/lib/utils.js +16 -7
  327. package/node_modules/lando/plugins/lando-core/index.js +1 -2
  328. package/node_modules/lando/plugins/lando-core/lib/utils.js +35 -15
  329. package/node_modules/lando/plugins/lando-core/lib/warnings.js +27 -0
  330. package/node_modules/lando/plugins/lando-core/tasks/destroy.js +1 -1
  331. package/node_modules/lando/plugins/lando-core/tasks/rebuild.js +1 -1
  332. package/node_modules/lando/plugins/lando-events/index.js +4 -0
  333. package/node_modules/lando/plugins/lando-events/lib/utils.js +27 -6
  334. package/node_modules/lando/plugins/lando-networking/app.js +2 -2
  335. package/node_modules/lando/plugins/lando-networking/index.js +9 -2
  336. package/node_modules/lando/plugins/lando-networking/test/app.spec.js +87 -0
  337. package/node_modules/lando/plugins/lando-proxy/index.js +6 -1
  338. package/node_modules/lando/plugins/lando-proxy/lib/utils.js +63 -28
  339. package/node_modules/lando/plugins/lando-proxy/lib/warnings.js +10 -0
  340. package/node_modules/lando/plugins/lando-recipes/index.js +4 -0
  341. package/node_modules/lando/plugins/lando-recipes/lib/build.js +22 -4
  342. package/node_modules/lando/plugins/lando-recipes/lib/options.js +42 -66
  343. package/node_modules/lando/plugins/lando-recipes/lib/utils.js +30 -13
  344. package/node_modules/lando/plugins/lando-recipes/lib/warnings.js +5 -0
  345. package/node_modules/lando/plugins/lando-recipes/sources/remote.js +0 -26
  346. package/node_modules/lando/plugins/lando-recipes/tasks/init.js +1 -1
  347. package/node_modules/lando/plugins/lando-services/index.js +4 -0
  348. package/node_modules/lando/plugins/lando-services/lib/utils.js +38 -15
  349. package/node_modules/lando/plugins/lando-sharing/index.js +4 -0
  350. package/node_modules/lando/plugins/lando-sharing/lib/utils.js +28 -5
  351. package/node_modules/lando/plugins/lando-tooling/index.js +5 -0
  352. package/node_modules/lando/plugins/lando-tooling/lib/build.js +5 -2
  353. package/node_modules/lando/plugins/lando-tooling/lib/utils.js +83 -47
  354. package/node_modules/lando/test/cli.spec.js +59 -21
  355. package/node_modules/lando/test/docker.spec.js +24 -28
  356. package/node_modules/lando/test/env.spec.js +8 -0
  357. package/node_modules/lando/test/error.spec.js +1 -1
  358. package/node_modules/lando/test/events.spec.js +6 -7
  359. package/node_modules/lando/test/lando.spec.js +1 -1
  360. package/node_modules/lando/test/plugins.spec.js +2 -3
  361. package/node_modules/lando/test/promise.spec.js +1 -1
  362. package/node_modules/lando/test/scan.spec.js +1 -1
  363. package/node_modules/lando/test/shell.spec.js +19 -2
  364. package/node_modules/lando/test/utils.spec.js +52 -0
  365. package/node_modules/open/index.js +3 -5
  366. package/node_modules/open/package.json +1 -1
  367. package/node_modules/string-argv/CHANGELOG.md +38 -0
  368. package/node_modules/string-argv/README.md +96 -50
  369. package/node_modules/string-argv/index.d.ts +2 -0
  370. package/node_modules/string-argv/index.js +55 -35
  371. package/node_modules/string-argv/package.json +50 -40
  372. package/node_modules/undici/README.md +25 -3
  373. package/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  374. package/node_modules/undici/docs/docs/api/Client.md +11 -6
  375. package/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
  376. package/node_modules/undici/docs/docs/api/Errors.md +76 -1
  377. package/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  378. package/node_modules/undici/docs/docs/api/Interceptors.md +13 -6
  379. package/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  380. package/node_modules/undici/docs/docs/index.md +12 -12
  381. package/node_modules/undici/docs/docs/type-map.json +66 -66
  382. package/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  383. package/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  384. package/node_modules/undici/lib/core/connect.js +10 -4
  385. package/node_modules/undici/lib/core/constants.js +12 -1
  386. package/node_modules/undici/lib/core/errors.js +38 -1
  387. package/node_modules/undici/lib/core/request.js +16 -1
  388. package/node_modules/undici/lib/core/symbols.js +2 -0
  389. package/node_modules/undici/lib/core/util.js +26 -1
  390. package/node_modules/undici/lib/dispatcher/agent.js +6 -2
  391. package/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
  392. package/node_modules/undici/lib/dispatcher/client-h2.js +46 -14
  393. package/node_modules/undici/lib/dispatcher/client.js +4 -1
  394. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  395. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  396. package/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  397. package/node_modules/undici/lib/dispatcher/pool-base.js +65 -28
  398. package/node_modules/undici/lib/dispatcher/pool.js +11 -8
  399. package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
  400. package/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  401. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  402. package/node_modules/undici/lib/handler/cache-handler.js +153 -15
  403. package/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
  404. package/node_modules/undici/lib/handler/redirect-handler.js +28 -8
  405. package/node_modules/undici/lib/handler/retry-handler.js +44 -11
  406. package/node_modules/undici/lib/interceptor/cache.js +11 -3
  407. package/node_modules/undici/lib/interceptor/decompress.js +22 -9
  408. package/node_modules/undici/lib/interceptor/dns.js +11 -0
  409. package/node_modules/undici/lib/interceptor/response-error.js +72 -28
  410. package/node_modules/undici/lib/milo/LICENSE.md +7 -0
  411. package/node_modules/undici/lib/milo/no-simd.js +1002 -0
  412. package/node_modules/undici/lib/milo/simd.js +1002 -0
  413. package/node_modules/undici/lib/mock/mock-agent.js +11 -0
  414. package/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  415. package/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  416. package/node_modules/undici/lib/util/cache.js +11 -5
  417. package/node_modules/undici/lib/web/cookies/util.js +19 -2
  418. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  419. package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
  420. package/node_modules/undici/lib/web/fetch/body.js +47 -38
  421. package/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  422. package/node_modules/undici/lib/web/fetch/headers.js +2 -2
  423. package/node_modules/undici/lib/web/fetch/index.js +8 -4
  424. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  425. package/node_modules/undici/lib/web/websocket/receiver.js +25 -4
  426. package/node_modules/undici/package.json +7 -5
  427. package/node_modules/undici/types/cache-interceptor.d.ts +10 -0
  428. package/node_modules/undici/types/client.d.ts +10 -4
  429. package/node_modules/undici/types/errors.d.ts +16 -1
  430. package/node_modules/undici/types/h2c-client.d.ts +1 -1
  431. package/node_modules/undici/types/interceptors.d.ts +6 -1
  432. package/node_modules/{lando/node_modules/js-yaml → unicode-segmenter}/LICENSE +6 -6
  433. package/node_modules/unicode-segmenter/README.md +324 -0
  434. package/node_modules/unicode-segmenter/_emoji_data.cjs +24 -0
  435. package/node_modules/unicode-segmenter/_emoji_data.d.cts +1 -0
  436. package/node_modules/unicode-segmenter/_emoji_data.d.ts +12 -0
  437. package/node_modules/unicode-segmenter/_emoji_data.js +26 -0
  438. package/node_modules/unicode-segmenter/_general_data.cjs +30 -0
  439. package/node_modules/unicode-segmenter/_general_data.d.cts +1 -0
  440. package/node_modules/unicode-segmenter/_general_data.d.ts +16 -0
  441. package/node_modules/unicode-segmenter/_general_data.js +34 -0
  442. package/node_modules/unicode-segmenter/_grapheme_data.cjs +125 -0
  443. package/node_modules/unicode-segmenter/_grapheme_data.d.cts +1 -0
  444. package/node_modules/unicode-segmenter/_grapheme_data.d.ts +112 -0
  445. package/node_modules/unicode-segmenter/_grapheme_data.js +123 -0
  446. package/node_modules/unicode-segmenter/core.cjs +135 -0
  447. package/node_modules/unicode-segmenter/core.d.cts +1 -0
  448. package/node_modules/unicode-segmenter/core.d.ts +118 -0
  449. package/node_modules/unicode-segmenter/core.js +129 -0
  450. package/node_modules/unicode-segmenter/emoji.cjs +43 -0
  451. package/node_modules/unicode-segmenter/emoji.d.cts +1 -0
  452. package/node_modules/unicode-segmenter/emoji.d.ts +23 -0
  453. package/node_modules/unicode-segmenter/emoji.js +42 -0
  454. package/node_modules/unicode-segmenter/general.cjs +51 -0
  455. package/node_modules/unicode-segmenter/general.d.cts +1 -0
  456. package/node_modules/unicode-segmenter/general.d.ts +26 -0
  457. package/node_modules/unicode-segmenter/general.js +50 -0
  458. package/node_modules/unicode-segmenter/grapheme.cjs +405 -0
  459. package/node_modules/unicode-segmenter/grapheme.d.cts +1 -0
  460. package/node_modules/unicode-segmenter/grapheme.d.ts +64 -0
  461. package/node_modules/unicode-segmenter/grapheme.js +438 -0
  462. package/node_modules/unicode-segmenter/index.cjs +26 -0
  463. package/node_modules/unicode-segmenter/index.d.cts +1 -0
  464. package/node_modules/unicode-segmenter/index.d.ts +4 -0
  465. package/node_modules/unicode-segmenter/index.js +6 -0
  466. package/node_modules/unicode-segmenter/intl-adapter.cjs +124 -0
  467. package/node_modules/unicode-segmenter/intl-adapter.d.cts +1 -0
  468. package/node_modules/unicode-segmenter/intl-adapter.d.ts +62 -0
  469. package/node_modules/unicode-segmenter/intl-adapter.js +113 -0
  470. package/node_modules/unicode-segmenter/intl-polyfill.cjs +17 -0
  471. package/node_modules/unicode-segmenter/intl-polyfill.d.cts +1 -0
  472. package/node_modules/unicode-segmenter/intl-polyfill.d.ts +1 -0
  473. package/node_modules/unicode-segmenter/intl-polyfill.js +16 -0
  474. package/node_modules/unicode-segmenter/package.json +165 -0
  475. package/node_modules/unicode-segmenter/utils.cjs +99 -0
  476. package/node_modules/unicode-segmenter/utils.d.cts +1 -0
  477. package/node_modules/unicode-segmenter/utils.d.ts +64 -0
  478. package/node_modules/unicode-segmenter/utils.js +89 -0
  479. package/package.json +6 -6
  480. package/.buildkite/build-linux.sh +0 -68
  481. package/.buildkite/build-macos-installer.sh +0 -34
  482. package/.buildkite/build-macos.sh +0 -67
  483. package/.buildkite/build-windows-installer.ps1 +0 -65
  484. package/.buildkite/build-windows.ps1 +0 -59
  485. package/.buildkite/fetch-search-replace.sh +0 -65
  486. package/.buildkite/pack-release.sh +0 -26
  487. package/.buildkite/pipeline.yml +0 -81
  488. package/.buildkite/shared-pipeline-vars +0 -16
  489. package/.buildkite/sign-windows.ps1 +0 -21
  490. package/.buildkite/test-windows-installer-download.ps1 +0 -54
  491. package/.buildkite/test_pipeline.py +0 -69
  492. package/.bundle/config +0 -4
  493. package/.editorconfig +0 -11
  494. package/.prettierignore +0 -13
  495. package/.ruby-version +0 -1
  496. package/.sonarcloud.properties +0 -2
  497. package/.xcode-version +0 -1
  498. package/AGENTS.md +0 -101
  499. package/CLAUDE.md +0 -4
  500. package/Gemfile +0 -8
  501. package/Gemfile.lock +0 -377
  502. package/Makefile +0 -293
  503. package/cmd/installer-payload/main.go +0 -19
  504. package/cmd/installer-version/main.go +0 -22
  505. package/cmd/stamp-version/main.go +0 -25
  506. package/cmd/vip-next/auth_bootstrap.go +0 -139
  507. package/cmd/vip-next/auth_bootstrap_test.go +0 -379
  508. package/cmd/vip-next/auth_bypass_wiring_test.go +0 -162
  509. package/cmd/vip-next/cli_error_hook_test.go +0 -91
  510. package/cmd/vip-next/commands/app.go +0 -23
  511. package/cmd/vip-next/commands/app_debug_test.go +0 -89
  512. package/cmd/vip-next/commands/app_deploy.go +0 -217
  513. package/cmd/vip-next/commands/app_deploy_test.go +0 -297
  514. package/cmd/vip-next/commands/app_deploy_validate.go +0 -58
  515. package/cmd/vip-next/commands/app_get.go +0 -293
  516. package/cmd/vip-next/commands/app_get_test.go +0 -226
  517. package/cmd/vip-next/commands/app_list.go +0 -93
  518. package/cmd/vip-next/commands/app_list_test.go +0 -95
  519. package/cmd/vip-next/commands/backup.go +0 -16
  520. package/cmd/vip-next/commands/backup_db.go +0 -137
  521. package/cmd/vip-next/commands/backup_db_test.go +0 -187
  522. package/cmd/vip-next/commands/cache.go +0 -16
  523. package/cmd/vip-next/commands/cache_purge_url.go +0 -90
  524. package/cmd/vip-next/commands/cache_purge_url_test.go +0 -154
  525. package/cmd/vip-next/commands/config.go +0 -17
  526. package/cmd/vip-next/commands/config_debug_test.go +0 -137
  527. package/cmd/vip-next/commands/config_envvar.go +0 -16
  528. package/cmd/vip-next/commands/config_envvar_delete.go +0 -135
  529. package/cmd/vip-next/commands/config_envvar_delete_test.go +0 -140
  530. package/cmd/vip-next/commands/config_envvar_get.go +0 -72
  531. package/cmd/vip-next/commands/config_envvar_get_all.go +0 -58
  532. package/cmd/vip-next/commands/config_envvar_get_all_test.go +0 -83
  533. package/cmd/vip-next/commands/config_envvar_get_test.go +0 -79
  534. package/cmd/vip-next/commands/config_envvar_list.go +0 -70
  535. package/cmd/vip-next/commands/config_envvar_list_test.go +0 -134
  536. package/cmd/vip-next/commands/config_envvar_set.go +0 -162
  537. package/cmd/vip-next/commands/config_envvar_set_test.go +0 -251
  538. package/cmd/vip-next/commands/config_software.go +0 -229
  539. package/cmd/vip-next/commands/config_software_test.go +0 -161
  540. package/cmd/vip-next/commands/config_software_update.go +0 -270
  541. package/cmd/vip-next/commands/config_software_update_test.go +0 -334
  542. package/cmd/vip-next/commands/db.go +0 -16
  543. package/cmd/vip-next/commands/db_phpmyadmin.go +0 -122
  544. package/cmd/vip-next/commands/db_phpmyadmin_test.go +0 -277
  545. package/cmd/vip-next/commands/defensive_mode.go +0 -106
  546. package/cmd/vip-next/commands/defensive_mode_configure.go +0 -150
  547. package/cmd/vip-next/commands/defensive_mode_disable.go +0 -62
  548. package/cmd/vip-next/commands/defensive_mode_enable.go +0 -62
  549. package/cmd/vip-next/commands/defensive_mode_test.go +0 -389
  550. package/cmd/vip-next/commands/devenv.go +0 -49
  551. package/cmd/vip-next/commands/devenv_create_appinfo.go +0 -158
  552. package/cmd/vip-next/commands/devenv_create_appinfo_test.go +0 -29
  553. package/cmd/vip-next/commands/devenv_create_test.go +0 -269
  554. package/cmd/vip-next/commands/devenv_data.go +0 -86
  555. package/cmd/vip-next/commands/devenv_data_confirm_test.go +0 -49
  556. package/cmd/vip-next/commands/devenv_debug_test.go +0 -34
  557. package/cmd/vip-next/commands/devenv_e2e_gate_test.go +0 -17
  558. package/cmd/vip-next/commands/devenv_e2e_test.go +0 -34
  559. package/cmd/vip-next/commands/devenv_envvar.go +0 -186
  560. package/cmd/vip-next/commands/devenv_envvar_test.go +0 -183
  561. package/cmd/vip-next/commands/devenv_exec.go +0 -75
  562. package/cmd/vip-next/commands/devenv_exec_test.go +0 -39
  563. package/cmd/vip-next/commands/devenv_flag_grammar_test.go +0 -241
  564. package/cmd/vip-next/commands/devenv_lifecycle.go +0 -785
  565. package/cmd/vip-next/commands/devenv_logs.go +0 -29
  566. package/cmd/vip-next/commands/devenv_resolve.go +0 -118
  567. package/cmd/vip-next/commands/devenv_resolve_test.go +0 -221
  568. package/cmd/vip-next/commands/devenv_sync.go +0 -256
  569. package/cmd/vip-next/commands/devenv_sync_sites.go +0 -116
  570. package/cmd/vip-next/commands/devenv_sync_sites_test.go +0 -151
  571. package/cmd/vip-next/commands/devenv_sync_test.go +0 -63
  572. package/cmd/vip-next/commands/devenv_telemetry.go +0 -265
  573. package/cmd/vip-next/commands/devenv_telemetry_test.go +0 -322
  574. package/cmd/vip-next/commands/devenv_test.go +0 -60
  575. package/cmd/vip-next/commands/devenv_update.go +0 -207
  576. package/cmd/vip-next/commands/devenv_update_test.go +0 -109
  577. package/cmd/vip-next/commands/devenv_versions_proxy_test.go +0 -133
  578. package/cmd/vip-next/commands/edge_workers.go +0 -197
  579. package/cmd/vip-next/commands/edge_workers_flags.go +0 -56
  580. package/cmd/vip-next/commands/edge_workers_local.go +0 -127
  581. package/cmd/vip-next/commands/edge_workers_mutation.go +0 -130
  582. package/cmd/vip-next/commands/edge_workers_read.go +0 -103
  583. package/cmd/vip-next/commands/edge_workers_test.go +0 -272
  584. package/cmd/vip-next/commands/export.go +0 -16
  585. package/cmd/vip-next/commands/export_sql.go +0 -333
  586. package/cmd/vip-next/commands/export_sql_test.go +0 -321
  587. package/cmd/vip-next/commands/format_env.go +0 -17
  588. package/cmd/vip-next/commands/import.go +0 -19
  589. package/cmd/vip-next/commands/import_debug_test.go +0 -110
  590. package/cmd/vip-next/commands/import_media.go +0 -433
  591. package/cmd/vip-next/commands/import_media_abort.go +0 -76
  592. package/cmd/vip-next/commands/import_media_confirm.go +0 -83
  593. package/cmd/vip-next/commands/import_media_confirm_test.go +0 -249
  594. package/cmd/vip-next/commands/import_media_fetch_test.go +0 -98
  595. package/cmd/vip-next/commands/import_media_status.go +0 -58
  596. package/cmd/vip-next/commands/import_media_test.go +0 -370
  597. package/cmd/vip-next/commands/import_sql.go +0 -1161
  598. package/cmd/vip-next/commands/import_sql_status.go +0 -67
  599. package/cmd/vip-next/commands/import_sql_test.go +0 -746
  600. package/cmd/vip-next/commands/import_validate_files.go +0 -157
  601. package/cmd/vip-next/commands/import_validate_files_test.go +0 -157
  602. package/cmd/vip-next/commands/import_validate_sql.go +0 -207
  603. package/cmd/vip-next/commands/import_validate_sql_test.go +0 -293
  604. package/cmd/vip-next/commands/login.go +0 -53
  605. package/cmd/vip-next/commands/login_test.go +0 -25
  606. package/cmd/vip-next/commands/logout.go +0 -43
  607. package/cmd/vip-next/commands/logout_test.go +0 -158
  608. package/cmd/vip-next/commands/logs.go +0 -169
  609. package/cmd/vip-next/commands/logs_test.go +0 -174
  610. package/cmd/vip-next/commands/nodeflag_aliases.go +0 -59
  611. package/cmd/vip-next/commands/progress_renderer.go +0 -118
  612. package/cmd/vip-next/commands/progress_renderer_test.go +0 -28
  613. package/cmd/vip-next/commands/searchreplace.go +0 -75
  614. package/cmd/vip-next/commands/searchreplace_debug_test.go +0 -82
  615. package/cmd/vip-next/commands/searchreplace_test.go +0 -155
  616. package/cmd/vip-next/commands/slowlogs.go +0 -167
  617. package/cmd/vip-next/commands/slowlogs_test.go +0 -159
  618. package/cmd/vip-next/commands/sqlreport.go +0 -183
  619. package/cmd/vip-next/commands/sqlreport_test.go +0 -66
  620. package/cmd/vip-next/commands/sync.go +0 -189
  621. package/cmd/vip-next/commands/sync_confirm.go +0 -121
  622. package/cmd/vip-next/commands/sync_confirm_test.go +0 -202
  623. package/cmd/vip-next/commands/sync_render.go +0 -207
  624. package/cmd/vip-next/commands/sync_render_test.go +0 -101
  625. package/cmd/vip-next/commands/sync_test.go +0 -148
  626. package/cmd/vip-next/commands/update.go +0 -85
  627. package/cmd/vip-next/commands/update_test.go +0 -49
  628. package/cmd/vip-next/commands/whoami.go +0 -161
  629. package/cmd/vip-next/commands/whoami_debug_test.go +0 -79
  630. package/cmd/vip-next/commands/whoami_test.go +0 -85
  631. package/cmd/vip-next/commands/wp.go +0 -376
  632. package/cmd/vip-next/commands/wp_debug_test.go +0 -32
  633. package/cmd/vip-next/commands/wp_test.go +0 -276
  634. package/cmd/vip-next/debug_args.go +0 -63
  635. package/cmd/vip-next/debug_test.go +0 -122
  636. package/cmd/vip-next/edge_workers_test.go +0 -108
  637. package/cmd/vip-next/flags_node_parity_test.go +0 -434
  638. package/cmd/vip-next/main.go +0 -391
  639. package/cmd/vip-next/main_test.go +0 -202
  640. package/cmd/vip-next/pendo_wiring_test.go +0 -148
  641. package/cmd/vip-next/root.go +0 -211
  642. package/cmd/vip-next/update_bootstrap.go +0 -94
  643. package/cmd/vip-next/update_bootstrap_test.go +0 -85
  644. package/cmd/vip-next/update_integration_test.go +0 -137
  645. package/cmd/vip-next-prerelease/main.go +0 -108
  646. package/cmd/vip-next-prerelease/main_test.go +0 -46
  647. package/docs/ARCHITECTURE.md +0 -95
  648. package/docs/BUILD-SIGNING.md +0 -501
  649. package/docs/CHANGELOG.md +0 -1844
  650. package/docs/COMMANDER-MIGRATION.md +0 -45
  651. package/docs/CONTRIBUTING.md +0 -29
  652. package/docs/CUTOVER-BREAKING-CHANGES.md +0 -261
  653. package/docs/DEBUGGING.md +0 -94
  654. package/docs/EDGE-WORKERS.md +0 -256
  655. package/docs/GO-UPDATES.md +0 -97
  656. package/docs/NPM-RELEASE-RECOVERY.md +0 -47
  657. package/docs/RELEASING.md +0 -211
  658. package/docs/SECURITY.md +0 -9
  659. package/docs/SETUP.md +0 -154
  660. package/docs/TESTING.md +0 -67
  661. package/docs/decisions/0001-operation-scoped-elevated-token-reuse.md +0 -87
  662. package/docs/dev-env-windows-wsl-testing.md +0 -191
  663. package/docs/vip-next-vip-command-reference.md +0 -257
  664. package/docs/vip-wp-line-parse-dfa.dot +0 -31
  665. package/eslint.config.js +0 -35
  666. package/fastlane/Fastfile +0 -204
  667. package/fastlane/example.env +0 -8
  668. package/fastlane/test_signing.rb +0 -83
  669. package/go.mod +0 -39
  670. package/go.sum +0 -127
  671. package/internal/appctx/app_resolver.go +0 -202
  672. package/internal/appctx/app_resolver_test.go +0 -187
  673. package/internal/appctx/confirm.go +0 -180
  674. package/internal/appctx/confirm_payload_test.go +0 -201
  675. package/internal/appctx/confirm_test.go +0 -120
  676. package/internal/appctx/context.go +0 -94
  677. package/internal/appctx/context_test.go +0 -56
  678. package/internal/appctx/env_resolver.go +0 -110
  679. package/internal/appctx/env_resolver_test.go +0 -215
  680. package/internal/appctx/format.go +0 -72
  681. package/internal/appctx/format_test.go +0 -75
  682. package/internal/appctx/interactive.go +0 -50
  683. package/internal/appctx/interactive_test.go +0 -134
  684. package/internal/appctx/middleware.go +0 -56
  685. package/internal/appctx/middleware_test.go +0 -88
  686. package/internal/appctx/prompts.go +0 -70
  687. package/internal/appctx/prompts_test.go +0 -97
  688. package/internal/appctx/required_args.go +0 -24
  689. package/internal/appctx/required_args_test.go +0 -38
  690. package/internal/appctx/telemetry.go +0 -22
  691. package/internal/appctx/telemetry_test.go +0 -42
  692. package/internal/appctx/wildcard.go +0 -29
  693. package/internal/appctx/wildcard_test.go +0 -53
  694. package/internal/auth/bypass.go +0 -84
  695. package/internal/auth/bypass_test.go +0 -97
  696. package/internal/auth/login.go +0 -156
  697. package/internal/auth/login_test.go +0 -184
  698. package/internal/auth/logout.go +0 -44
  699. package/internal/auth/logout_test.go +0 -78
  700. package/internal/auth/store.go +0 -130
  701. package/internal/auth/store_test.go +0 -339
  702. package/internal/auth/token.go +0 -117
  703. package/internal/auth/token_test.go +0 -90
  704. package/internal/backup/backup.go +0 -194
  705. package/internal/backup/backup_test.go +0 -228
  706. package/internal/cachepurge/cachepurge.go +0 -38
  707. package/internal/cachepurge/cachepurge_test.go +0 -92
  708. package/internal/customdeploy/archive.go +0 -205
  709. package/internal/customdeploy/archive_test.go +0 -174
  710. package/internal/customdeploy/customdeploy.go +0 -91
  711. package/internal/customdeploy/customdeploy_test.go +0 -82
  712. package/internal/debuglog/debuglog.go +0 -85
  713. package/internal/debuglog/debuglog_test.go +0 -44
  714. package/internal/defensivemode/api.go +0 -89
  715. package/internal/defensivemode/api_test.go +0 -122
  716. package/internal/devenv/adapters.go +0 -168
  717. package/internal/devenv/adapters_test.go +0 -44
  718. package/internal/devenv/adopt.go +0 -20
  719. package/internal/devenv/adopt_setup_test.go +0 -30
  720. package/internal/devenv/compose/labels.go +0 -90
  721. package/internal/devenv/compose/labels_test.go +0 -136
  722. package/internal/devenv/compose/project.go +0 -88
  723. package/internal/devenv/compose/project_test.go +0 -148
  724. package/internal/devenv/compose/render.go +0 -54
  725. package/internal/devenv/compose/render_test.go +0 -90
  726. package/internal/devenv/compose/services.go +0 -337
  727. package/internal/devenv/compose/services_test.go +0 -258
  728. package/internal/devenv/compose/testdata/full.golden.yml +0 -265
  729. package/internal/devenv/compose/types.go +0 -97
  730. package/internal/devenv/compose/types_test.go +0 -61
  731. package/internal/devenv/compose/view.go +0 -205
  732. package/internal/devenv/compose/view_test.go +0 -120
  733. package/internal/devenv/configfile.go +0 -300
  734. package/internal/devenv/configfile_test.go +0 -246
  735. package/internal/devenv/create.go +0 -130
  736. package/internal/devenv/create_test.go +0 -98
  737. package/internal/devenv/debug.go +0 -4
  738. package/internal/devenv/debug_test.go +0 -103
  739. package/internal/devenv/devenv.go +0 -434
  740. package/internal/devenv/devenv_test.go +0 -77
  741. package/internal/devenv/devexec.go +0 -140
  742. package/internal/devenv/devexec_test.go +0 -91
  743. package/internal/devenv/devlog/devlog.go +0 -219
  744. package/internal/devenv/devlog/devlog_test.go +0 -112
  745. package/internal/devenv/devterm/devterm.go +0 -65
  746. package/internal/devenv/devterm/devterm_pty.go +0 -58
  747. package/internal/devenv/devterm/devterm_stub.go +0 -20
  748. package/internal/devenv/devterm/devterm_test.go +0 -78
  749. package/internal/devenv/dockercli/capture.go +0 -84
  750. package/internal/devenv/dockercli/capture_test.go +0 -33
  751. package/internal/devenv/dockercli/compose.go +0 -30
  752. package/internal/devenv/dockercli/compose_test.go +0 -35
  753. package/internal/devenv/dockercli/runner.go +0 -214
  754. package/internal/devenv/dockercli/runner_test.go +0 -157
  755. package/internal/devenv/dockercli/socket.go +0 -56
  756. package/internal/devenv/dockercli/socket_test.go +0 -52
  757. package/internal/devenv/e2e_gate_test.go +0 -17
  758. package/internal/devenv/e2e_test.go +0 -499
  759. package/internal/devenv/e2esafety/gate_wiring_test.go +0 -90
  760. package/internal/devenv/e2esafety/safety.go +0 -52
  761. package/internal/devenv/e2esafety/safety_test.go +0 -71
  762. package/internal/devenv/eachenv_test.go +0 -132
  763. package/internal/devenv/editor.go +0 -82
  764. package/internal/devenv/editor_test.go +0 -60
  765. package/internal/devenv/envfile.go +0 -287
  766. package/internal/devenv/envvar.go +0 -165
  767. package/internal/devenv/envvar_test.go +0 -178
  768. package/internal/devenv/hostops/context.go +0 -38
  769. package/internal/devenv/hostops/context_test.go +0 -24
  770. package/internal/devenv/hostops/e2e_gate_test.go +0 -17
  771. package/internal/devenv/hostops/e2e_test.go +0 -429
  772. package/internal/devenv/hostops/elevate.go +0 -248
  773. package/internal/devenv/hostops/elevate_message_test.go +0 -35
  774. package/internal/devenv/hostops/elevate_test.go +0 -111
  775. package/internal/devenv/hostops/hosts.go +0 -255
  776. package/internal/devenv/hostops/hosts_test.go +0 -178
  777. package/internal/devenv/hostops/thumbprint_test.go +0 -57
  778. package/internal/devenv/hostops/trust.go +0 -115
  779. package/internal/devenv/hostops/trust_test.go +0 -90
  780. package/internal/devenv/hostrefresh.go +0 -127
  781. package/internal/devenv/hostrefresh_test.go +0 -123
  782. package/internal/devenv/importdata.go +0 -491
  783. package/internal/devenv/importdata_test.go +0 -142
  784. package/internal/devenv/importdecompress_test.go +0 -90
  785. package/internal/devenv/importgate_test.go +0 -166
  786. package/internal/devenv/importvalidate.go +0 -437
  787. package/internal/devenv/importvalidate_test.go +0 -293
  788. package/internal/devenv/info_table.go +0 -165
  789. package/internal/devenv/info_table_test.go +0 -111
  790. package/internal/devenv/instancedata/instancedata.go +0 -239
  791. package/internal/devenv/instancedata/instancedata_test.go +0 -281
  792. package/internal/devenv/instancedata/testdata/legacy_keys.json +0 -16
  793. package/internal/devenv/instancedata/testdata/unknown_keys.json +0 -19
  794. package/internal/devenv/lifecycle/adopt.go +0 -24
  795. package/internal/devenv/lifecycle/adopt_test.go +0 -43
  796. package/internal/devenv/lifecycle/health.go +0 -28
  797. package/internal/devenv/lifecycle/health_test.go +0 -34
  798. package/internal/devenv/lifecycle/hosts.go +0 -42
  799. package/internal/devenv/lifecycle/hosts_test.go +0 -41
  800. package/internal/devenv/lifecycle/migrate.go +0 -44
  801. package/internal/devenv/lifecycle/migrate_test.go +0 -78
  802. package/internal/devenv/lifecycle/pull.go +0 -19
  803. package/internal/devenv/lifecycle/pull_test.go +0 -29
  804. package/internal/devenv/lifecycle/setup.go +0 -35
  805. package/internal/devenv/lifecycle/setup_test.go +0 -46
  806. package/internal/devenv/lifecycle/start.go +0 -132
  807. package/internal/devenv/lifecycle/start_test.go +0 -350
  808. package/internal/devenv/lifecycle/teardown.go +0 -32
  809. package/internal/devenv/lifecycle/teardown_test.go +0 -83
  810. package/internal/devenv/lifecycle/types.go +0 -86
  811. package/internal/devenv/lifecycle/waiter.go +0 -49
  812. package/internal/devenv/lifecycle/waiter_test.go +0 -98
  813. package/internal/devenv/list.go +0 -49
  814. package/internal/devenv/list_test.go +0 -24
  815. package/internal/devenv/logs.go +0 -43
  816. package/internal/devenv/logs_test.go +0 -28
  817. package/internal/devenv/materialize.go +0 -44
  818. package/internal/devenv/materialize_test.go +0 -112
  819. package/internal/devenv/paths/paths.go +0 -42
  820. package/internal/devenv/paths/paths_test.go +0 -39
  821. package/internal/devenv/postimport.go +0 -134
  822. package/internal/devenv/postimport_test.go +0 -389
  823. package/internal/devenv/proxy/ca.go +0 -110
  824. package/internal/devenv/proxy/ca_test.go +0 -111
  825. package/internal/devenv/proxy/network.go +0 -28
  826. package/internal/devenv/proxy/network_test.go +0 -68
  827. package/internal/devenv/proxy/ports.go +0 -104
  828. package/internal/devenv/proxy/ports_test.go +0 -76
  829. package/internal/devenv/proxy/proxy.go +0 -143
  830. package/internal/devenv/proxy/proxy_test.go +0 -149
  831. package/internal/devenv/proxy/scripts/gen-certs.sh +0 -73
  832. package/internal/devenv/proxy/spec.go +0 -60
  833. package/internal/devenv/proxy/spec_test.go +0 -44
  834. package/internal/devenv/proxy/testhelpers_test.go +0 -7
  835. package/internal/devenv/proxy_policy_test.go +0 -155
  836. package/internal/devenv/syncplan.go +0 -573
  837. package/internal/devenv/syncplan_test.go +0 -256
  838. package/internal/devenv/syncsql.go +0 -247
  839. package/internal/devenv/syncsql_repair.go +0 -169
  840. package/internal/devenv/syncsql_repair_test.go +0 -150
  841. package/internal/devenv/syncsql_test.go +0 -220
  842. package/internal/devenv/update.go +0 -87
  843. package/internal/devenv/update_test.go +0 -47
  844. package/internal/edgeworkers/api.go +0 -173
  845. package/internal/edgeworkers/api_test.go +0 -256
  846. package/internal/edgeworkers/build.go +0 -188
  847. package/internal/edgeworkers/build_test.go +0 -175
  848. package/internal/edgeworkers/confirmation.go +0 -72
  849. package/internal/edgeworkers/deployment.go +0 -156
  850. package/internal/edgeworkers/deployment_test.go +0 -165
  851. package/internal/edgeworkers/output.go +0 -131
  852. package/internal/edgeworkers/output_test.go +0 -98
  853. package/internal/edgeworkers/project.go +0 -264
  854. package/internal/edgeworkers/project_test.go +0 -167
  855. package/internal/edgeworkers/scaffold.go +0 -88
  856. package/internal/edgeworkers/templates/README.md +0 -25
  857. package/internal/edgeworkers/templates/edge-workers.json +0 -4
  858. package/internal/edgeworkers/templates/gitignore +0 -2
  859. package/internal/edgeworkers/templates/package.json +0 -16
  860. package/internal/edgeworkers/templates/tsconfig.json +0 -6
  861. package/internal/edgeworkers/templates/worker.ts +0 -19
  862. package/internal/edgeworkers/types.go +0 -37
  863. package/internal/edgeworkers/validation.go +0 -177
  864. package/internal/envalias/envalias.go +0 -50
  865. package/internal/envalias/envalias_test.go +0 -147
  866. package/internal/envvar/envvar.go +0 -253
  867. package/internal/envvar/envvar_test.go +0 -274
  868. package/internal/envvar/reload_manifest.go +0 -99
  869. package/internal/envvar/reload_manifest_test.go +0 -44
  870. package/internal/envvar/value_confirm.go +0 -26
  871. package/internal/envvar/value_confirm_test.go +0 -22
  872. package/internal/exit/exit.go +0 -94
  873. package/internal/exit/exit_test.go +0 -119
  874. package/internal/gql/SCHEMA.md +0 -21
  875. package/internal/gql/client.go +0 -54
  876. package/internal/gql/client_test.go +0 -71
  877. package/internal/gql/debug_test.go +0 -79
  878. package/internal/gql/decoder_compat_helpers_test.go +0 -35
  879. package/internal/gql/decoder_compat_test.go +0 -78
  880. package/internal/gql/doc.go +0 -13
  881. package/internal/gql/edgeworkerinput/input.go +0 -58
  882. package/internal/gql/edgeworkerinput/input_test.go +0 -52
  883. package/internal/gql/error.go +0 -163
  884. package/internal/gql/error_test.go +0 -203
  885. package/internal/gql/generated.go +0 -10425
  886. package/internal/gql/genqlient.yaml +0 -26
  887. package/internal/gql/import_sql_marshal_test.go +0 -69
  888. package/internal/gql/operation.go +0 -67
  889. package/internal/gql/operation_test.go +0 -60
  890. package/internal/gql/operations/app_get.graphql +0 -43
  891. package/internal/gql/operations/app_list.graphql +0 -9
  892. package/internal/gql/operations/app_resolve.graphql +0 -37
  893. package/internal/gql/operations/backup_export_deploy.graphql +0 -123
  894. package/internal/gql/operations/cachepurge.graphql +0 -6
  895. package/internal/gql/operations/defensive_mode.graphql +0 -13
  896. package/internal/gql/operations/dev_env_create.graphql +0 -38
  897. package/internal/gql/operations/dev_env_sync.graphql +0 -15
  898. package/internal/gql/operations/edge_workers.graphql +0 -53
  899. package/internal/gql/operations/envvar.graphql +0 -52
  900. package/internal/gql/operations/fragments.graphql +0 -5
  901. package/internal/gql/operations/import_media.graphql +0 -61
  902. package/internal/gql/operations/import_sql.graphql +0 -135
  903. package/internal/gql/operations/logs.graphql +0 -22
  904. package/internal/gql/operations/me.graphql +0 -13
  905. package/internal/gql/operations/phpmyadmin.graphql +0 -21
  906. package/internal/gql/operations/slowlogs.graphql +0 -25
  907. package/internal/gql/operations/software.graphql +0 -53
  908. package/internal/gql/operations/sync.graphql +0 -51
  909. package/internal/gql/operations/wp.graphql +0 -37
  910. package/internal/gql/proxy_test.go +0 -62
  911. package/internal/gql/rechallenge.go +0 -218
  912. package/internal/gql/rechallenge_test.go +0 -471
  913. package/internal/gql/retry.go +0 -130
  914. package/internal/gql/retry_test.go +0 -230
  915. package/internal/gql/schema.gql +0 -9337
  916. package/internal/gql/transport.go +0 -65
  917. package/internal/gql/transport_helper.go +0 -24
  918. package/internal/httpproxy/callers_test.go +0 -211
  919. package/internal/httpproxy/debug_test.go +0 -32
  920. package/internal/httpproxy/httpproxy.go +0 -315
  921. package/internal/httpproxy/httpproxy_test.go +0 -435
  922. package/internal/installer/version.go +0 -41
  923. package/internal/installer/version_test.go +0 -33
  924. package/internal/keychain/fallback.go +0 -93
  925. package/internal/keychain/keychain.go +0 -197
  926. package/internal/keychain/keychain_select_test.go +0 -34
  927. package/internal/keychain/keychain_test.go +0 -112
  928. package/internal/logsapi/logsapi.go +0 -165
  929. package/internal/logsapi/logsapi_test.go +0 -82
  930. package/internal/mediaimport/mediaimport.go +0 -26
  931. package/internal/mediaimport/mediaimport_test.go +0 -46
  932. package/internal/mediaimport/status.go +0 -162
  933. package/internal/mediaimport/status_test.go +0 -159
  934. package/internal/mediaimport/tracker.go +0 -116
  935. package/internal/mediaimport/tracker_test.go +0 -62
  936. package/internal/nodeflags/nodeflags.go +0 -130
  937. package/internal/nodeflags/nodeflags_test.go +0 -138
  938. package/internal/nodeflags/optionalvalue.go +0 -123
  939. package/internal/nodeflags/optionalvalue_test.go +0 -158
  940. package/internal/output/csv.go +0 -178
  941. package/internal/output/fields.go +0 -22
  942. package/internal/output/fields_test.go +0 -21
  943. package/internal/output/ids.go +0 -26
  944. package/internal/output/ids_test.go +0 -32
  945. package/internal/output/json.go +0 -113
  946. package/internal/output/keyvalue.go +0 -35
  947. package/internal/output/keyvalue_block.go +0 -77
  948. package/internal/output/keyvalue_block_test.go +0 -95
  949. package/internal/output/keyvalue_test.go +0 -35
  950. package/internal/output/ordered.go +0 -44
  951. package/internal/output/ordered_test.go +0 -42
  952. package/internal/output/output.go +0 -62
  953. package/internal/output/output_test.go +0 -400
  954. package/internal/output/table.go +0 -231
  955. package/internal/output/table_layout.go +0 -472
  956. package/internal/output/table_layout_test.go +0 -107
  957. package/internal/output/table_layout_tty_test.go +0 -63
  958. package/internal/output/text.go +0 -24
  959. package/internal/output/text_test.go +0 -31
  960. package/internal/output/typename.go +0 -35
  961. package/internal/output/typename_test.go +0 -48
  962. package/internal/parity/backup_export_deploy_scenario_test.go +0 -285
  963. package/internal/parity/cache_scenario_test.go +0 -173
  964. package/internal/parity/command_surface_scenario_test.go +0 -530
  965. package/internal/parity/defensive_mode_scenario_test.go +0 -133
  966. package/internal/parity/diff.go +0 -128
  967. package/internal/parity/diff_test.go +0 -155
  968. package/internal/parity/differential_test.go +0 -166
  969. package/internal/parity/edge_workers_build_smoke_test.go +0 -69
  970. package/internal/parity/edge_workers_cases_test.go +0 -77
  971. package/internal/parity/edge_workers_debug_test.go +0 -87
  972. package/internal/parity/edge_workers_differential_test.go +0 -483
  973. package/internal/parity/edge_workers_prompt_test.go +0 -151
  974. package/internal/parity/env.go +0 -176
  975. package/internal/parity/env_test.go +0 -211
  976. package/internal/parity/envvar_mutation_scenario_test.go +0 -188
  977. package/internal/parity/harness.go +0 -28
  978. package/internal/parity/harness_test.go +0 -62
  979. package/internal/parity/import_media_scenario_test.go +0 -207
  980. package/internal/parity/import_sql_scenario_test.go +0 -198
  981. package/internal/parity/import_validate_sql_scenario_test.go +0 -68
  982. package/internal/parity/keychain.go +0 -538
  983. package/internal/parity/keychain_test.go +0 -201
  984. package/internal/parity/m5_differential_test.go +0 -185
  985. package/internal/parity/m5_scenarios_test.go +0 -225
  986. package/internal/parity/nodebin.go +0 -120
  987. package/internal/parity/nodebin_test.go +0 -148
  988. package/internal/parity/parker.go +0 -491
  989. package/internal/parity/parker_discovery.go +0 -373
  990. package/internal/parity/parker_discovery_test.go +0 -267
  991. package/internal/parity/parker_live_test.go +0 -164
  992. package/internal/parity/parker_test.go +0 -480
  993. package/internal/parity/pendo_test.go +0 -122
  994. package/internal/parity/phpmyadmin_scenario_test.go +0 -214
  995. package/internal/parity/runner.go +0 -56
  996. package/internal/parity/runner_test.go +0 -67
  997. package/internal/parity/scenario.go +0 -82
  998. package/internal/parity/scenario_test.go +0 -52
  999. package/internal/parity/surface_differential_test.go +0 -494
  1000. package/internal/parity/sync_scenario_test.go +0 -172
  1001. package/internal/parity/vendored_src_test.go +0 -84
  1002. package/internal/parity/whoami_scenario_test.go +0 -69
  1003. package/internal/parity/wp_scenario_test.go +0 -428
  1004. package/internal/phpmyadmin/client.go +0 -221
  1005. package/internal/phpmyadmin/client_test.go +0 -418
  1006. package/internal/poll/poll.go +0 -85
  1007. package/internal/poll/poll_test.go +0 -136
  1008. package/internal/polling/polling.go +0 -97
  1009. package/internal/polling/polling_test.go +0 -59
  1010. package/internal/rechallenge/browser.go +0 -16
  1011. package/internal/rechallenge/client.go +0 -198
  1012. package/internal/rechallenge/client_test.go +0 -169
  1013. package/internal/rechallenge/errors.go +0 -137
  1014. package/internal/rechallenge/errors_test.go +0 -81
  1015. package/internal/rechallenge/flow.go +0 -232
  1016. package/internal/rechallenge/flow_noninteractive_test.go +0 -285
  1017. package/internal/rechallenge/flow_test.go +0 -217
  1018. package/internal/rechallenge/interactive.go +0 -90
  1019. package/internal/rechallenge/interactive_test.go +0 -106
  1020. package/internal/rechallenge/redact.go +0 -36
  1021. package/internal/rechallenge/redact_test.go +0 -142
  1022. package/internal/rechallenge/tokencache.go +0 -148
  1023. package/internal/rechallenge/tokencache_test.go +0 -139
  1024. package/internal/rechallenge/types.go +0 -100
  1025. package/internal/rechallenge/types_test.go +0 -56
  1026. package/internal/redact/redact.go +0 -99
  1027. package/internal/redact/redact_test.go +0 -80
  1028. package/internal/releasepromotion/buildkite.go +0 -233
  1029. package/internal/releasepromotion/buildkite_test.go +0 -284
  1030. package/internal/releasepromotion/contract.go +0 -165
  1031. package/internal/releasepromotion/contract_test.go +0 -211
  1032. package/internal/releasepromotion/github.go +0 -378
  1033. package/internal/releasepromotion/github_test.go +0 -399
  1034. package/internal/releasepromotion/optional_installers_test.go +0 -87
  1035. package/internal/releasepromotion/promoter.go +0 -134
  1036. package/internal/releasepromotion/promoter_test.go +0 -147
  1037. package/internal/releasepromotion/verify.go +0 -239
  1038. package/internal/releasepromotion/verify_test.go +0 -296
  1039. package/internal/searchreplace/debug_test.go +0 -71
  1040. package/internal/searchreplace/dumpdetails.go +0 -104
  1041. package/internal/searchreplace/dumpdetails_test.go +0 -86
  1042. package/internal/searchreplace/searchreplace.go +0 -261
  1043. package/internal/searchreplace/searchreplace_test.go +0 -250
  1044. package/internal/siteimport/debug_test.go +0 -34
  1045. package/internal/siteimport/siteimport.go +0 -18
  1046. package/internal/siteimport/siteimport_test.go +0 -19
  1047. package/internal/siteimport/sitetype.go +0 -74
  1048. package/internal/siteimport/sitetype_test.go +0 -62
  1049. package/internal/siteimport/status.go +0 -282
  1050. package/internal/siteimport/status_test.go +0 -234
  1051. package/internal/slowlogsapi/slowlogsapi.go +0 -176
  1052. package/internal/slowlogsapi/slowlogsapi_test.go +0 -93
  1053. package/internal/softwaresettings/format.go +0 -192
  1054. package/internal/softwaresettings/format_test.go +0 -123
  1055. package/internal/sqlexport/diskspace.go +0 -36
  1056. package/internal/sqlexport/diskspace_unix.go +0 -24
  1057. package/internal/sqlexport/diskspace_windows.go +0 -26
  1058. package/internal/sqlexport/download.go +0 -75
  1059. package/internal/sqlexport/download_test.go +0 -103
  1060. package/internal/sqlexport/export.go +0 -321
  1061. package/internal/sqlexport/export_test.go +0 -313
  1062. package/internal/sqlexport/format.go +0 -44
  1063. package/internal/sqlexport/livecopy.go +0 -150
  1064. package/internal/sqlexport/livecopy_test.go +0 -273
  1065. package/internal/sqlvalidation/devenv_checks_test.go +0 -134
  1066. package/internal/sqlvalidation/filename.go +0 -30
  1067. package/internal/sqlvalidation/line_by_line.go +0 -91
  1068. package/internal/sqlvalidation/line_by_line_test.go +0 -165
  1069. package/internal/sqlvalidation/multisite.go +0 -31
  1070. package/internal/sqlvalidation/multisite_test.go +0 -34
  1071. package/internal/sqlvalidation/sql.go +0 -510
  1072. package/internal/sqlvalidation/sql_test.go +0 -206
  1073. package/internal/sync/sync.go +0 -246
  1074. package/internal/sync/sync_test.go +0 -253
  1075. package/internal/telemetry/config.go +0 -34
  1076. package/internal/telemetry/default.go +0 -67
  1077. package/internal/telemetry/default_endpoint_test.go +0 -111
  1078. package/internal/telemetry/pendo.go +0 -185
  1079. package/internal/telemetry/pendo_auth_test.go +0 -92
  1080. package/internal/telemetry/pendo_test.go +0 -252
  1081. package/internal/telemetry/scrub.go +0 -90
  1082. package/internal/telemetry/scrub_test.go +0 -131
  1083. package/internal/telemetry/tracker.go +0 -102
  1084. package/internal/telemetry/tracker_test.go +0 -76
  1085. package/internal/telemetry/tracks.go +0 -82
  1086. package/internal/telemetry/tracks_test.go +0 -129
  1087. package/internal/telemetry/uuid.go +0 -50
  1088. package/internal/telemetry/uuid_test.go +0 -90
  1089. package/internal/tui/progress.go +0 -153
  1090. package/internal/tui/progress_test.go +0 -89
  1091. package/internal/tui/progress_tracker.go +0 -299
  1092. package/internal/tui/progress_tracker_test.go +0 -155
  1093. package/internal/update/archive.go +0 -134
  1094. package/internal/update/archive_test.go +0 -132
  1095. package/internal/update/download.go +0 -138
  1096. package/internal/update/download_test.go +0 -32
  1097. package/internal/update/github.go +0 -121
  1098. package/internal/update/install.go +0 -265
  1099. package/internal/update/install_test.go +0 -151
  1100. package/internal/update/lock_unix.go +0 -23
  1101. package/internal/update/lock_windows.go +0 -22
  1102. package/internal/update/native_test.go +0 -70
  1103. package/internal/update/notify.go +0 -91
  1104. package/internal/update/ownership.go +0 -117
  1105. package/internal/update/ownership_test.go +0 -102
  1106. package/internal/update/release.go +0 -120
  1107. package/internal/update/release_test.go +0 -168
  1108. package/internal/update/service.go +0 -197
  1109. package/internal/update/service_test.go +0 -118
  1110. package/internal/update/state.go +0 -116
  1111. package/internal/update/state_test.go +0 -132
  1112. package/internal/upload/debug_test.go +0 -76
  1113. package/internal/upload/filemeta.go +0 -112
  1114. package/internal/upload/filemeta_test.go +0 -94
  1115. package/internal/upload/multipart.go +0 -215
  1116. package/internal/upload/multipart_test.go +0 -210
  1117. package/internal/upload/orchestrate.go +0 -81
  1118. package/internal/upload/parts.go +0 -39
  1119. package/internal/upload/parts_test.go +0 -39
  1120. package/internal/upload/presign.go +0 -103
  1121. package/internal/upload/presign_test.go +0 -128
  1122. package/internal/upload/proxy_test.go +0 -55
  1123. package/internal/upload/putobject.go +0 -92
  1124. package/internal/upload/putobject_test.go +0 -79
  1125. package/internal/upload/retry.go +0 -45
  1126. package/internal/upload/upload.go +0 -22
  1127. package/internal/upload/xmlerror.go +0 -28
  1128. package/internal/validatefiles/files.go +0 -105
  1129. package/internal/validatefiles/files_test.go +0 -143
  1130. package/internal/validatefiles/report.go +0 -172
  1131. package/internal/validatefiles/validatefiles.go +0 -271
  1132. package/internal/validatefiles/validatefiles_test.go +0 -127
  1133. package/internal/version/stamp.go +0 -15
  1134. package/internal/version/stamp_test.go +0 -25
  1135. package/internal/version/version.go +0 -14
  1136. package/internal/version/version_test.go +0 -25
  1137. package/internal/wpshell/parser.go +0 -68
  1138. package/internal/wpshell/parser_test.go +0 -58
  1139. package/internal/wpshell/repl.go +0 -81
  1140. package/internal/wpshell/repl_test.go +0 -71
  1141. package/internal/wpshell/requote.go +0 -13
  1142. package/internal/wpshell/requote_test.go +0 -15
  1143. package/internal/wpssh/debug_test.go +0 -67
  1144. package/internal/wpssh/wpssh.go +0 -124
  1145. package/internal/wpssh/wpssh_test.go +0 -203
  1146. package/internal/wpstream/debug_test.go +0 -116
  1147. package/internal/wpstream/e2e_test.go +0 -178
  1148. package/internal/wpstream/engineio.go +0 -291
  1149. package/internal/wpstream/engineio_test.go +0 -82
  1150. package/internal/wpstream/iostream.go +0 -391
  1151. package/internal/wpstream/iostream_test.go +0 -138
  1152. package/internal/wpstream/run.go +0 -364
  1153. package/internal/wpstream/run_test.go +0 -184
  1154. package/internal/wpstream/socketio.go +0 -435
  1155. package/internal/wpstream/socketio_test.go +0 -402
  1156. package/internal/wpstream/testdata/fixture-server.js +0 -54
  1157. package/make.ps1 +0 -155
  1158. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs +0 -3
  1159. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs.map +0 -1
  1160. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.d.cts +0 -10
  1161. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.d.ts +0 -10
  1162. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js +0 -2
  1163. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js.map +0 -1
  1164. package/node_modules/argparse/LICENSE +0 -254
  1165. package/node_modules/argparse/README.md +0 -84
  1166. package/node_modules/argparse/package.json +0 -31
  1167. package/node_modules/lando/node_modules/cliui/build/index.cjs +0 -302
  1168. package/node_modules/lando/node_modules/cliui/build/lib/string-utils.js +0 -27
  1169. package/node_modules/lando/node_modules/js-yaml/README.md +0 -233
  1170. package/node_modules/lando/node_modules/js-yaml/bin/js-yaml.js +0 -117
  1171. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js +0 -3022
  1172. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js.map +0 -1
  1173. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js +0 -2
  1174. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js.map +0 -1
  1175. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs +0 -3082
  1176. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs.map +0 -1
  1177. package/node_modules/lando/node_modules/js-yaml/index.js +0 -44
  1178. package/node_modules/lando/node_modules/js-yaml/lib/common.js +0 -50
  1179. package/node_modules/lando/node_modules/js-yaml/lib/dumper.js +0 -937
  1180. package/node_modules/lando/node_modules/js-yaml/lib/exception.js +0 -51
  1181. package/node_modules/lando/node_modules/js-yaml/lib/index_vite_proxy.tmp.mjs +0 -37
  1182. package/node_modules/lando/node_modules/js-yaml/lib/loader.js +0 -1803
  1183. package/node_modules/lando/node_modules/js-yaml/lib/schema/core.js +0 -9
  1184. package/node_modules/lando/node_modules/js-yaml/lib/schema/default.js +0 -20
  1185. package/node_modules/lando/node_modules/js-yaml/lib/schema/failsafe.js +0 -14
  1186. package/node_modules/lando/node_modules/js-yaml/lib/schema/json.js +0 -17
  1187. package/node_modules/lando/node_modules/js-yaml/lib/schema.js +0 -109
  1188. package/node_modules/lando/node_modules/js-yaml/lib/snippet.js +0 -96
  1189. package/node_modules/lando/node_modules/js-yaml/lib/type/binary.js +0 -122
  1190. package/node_modules/lando/node_modules/js-yaml/lib/type/bool.js +0 -35
  1191. package/node_modules/lando/node_modules/js-yaml/lib/type/float.js +0 -99
  1192. package/node_modules/lando/node_modules/js-yaml/lib/type/int.js +0 -142
  1193. package/node_modules/lando/node_modules/js-yaml/lib/type/map.js +0 -8
  1194. package/node_modules/lando/node_modules/js-yaml/lib/type/merge.js +0 -12
  1195. package/node_modules/lando/node_modules/js-yaml/lib/type/null.js +0 -35
  1196. package/node_modules/lando/node_modules/js-yaml/lib/type/omap.js +0 -45
  1197. package/node_modules/lando/node_modules/js-yaml/lib/type/pairs.js +0 -50
  1198. package/node_modules/lando/node_modules/js-yaml/lib/type/seq.js +0 -8
  1199. package/node_modules/lando/node_modules/js-yaml/lib/type/set.js +0 -29
  1200. package/node_modules/lando/node_modules/js-yaml/lib/type/str.js +0 -8
  1201. package/node_modules/lando/node_modules/js-yaml/lib/type/timestamp.js +0 -88
  1202. package/node_modules/lando/node_modules/js-yaml/lib/type.js +0 -66
  1203. package/node_modules/lando/node_modules/js-yaml/package.json +0 -83
  1204. package/node_modules/lando/node_modules/wrap-ansi/index.js +0 -216
  1205. package/node_modules/lando/node_modules/wrap-ansi/package.json +0 -62
  1206. package/node_modules/lando/node_modules/wrap-ansi/readme.md +0 -91
  1207. package/node_modules/lando/node_modules/yargs/build/index.cjs +0 -2920
  1208. package/node_modules/lando/node_modules/yargs/helpers/index.js +0 -14
  1209. package/node_modules/lando/node_modules/yargs/index.cjs +0 -39
  1210. package/node_modules/lando/node_modules/yargs/yargs +0 -9
  1211. package/node_modules/lando/node_modules/yargs-parser/build/index.cjs +0 -1042
  1212. package/node_modules/lando/plugins/lando-test/index.js +0 -3
  1213. package/node_modules/lando/plugins/lando-test/plugin.yml +0 -2
  1214. package/packaging/macos/build-pkg.sh +0 -53
  1215. package/packaging/macos/preinstall +0 -33
  1216. package/packaging/macos/test-install.sh +0 -51
  1217. package/packaging/macos/test_package.py +0 -74
  1218. package/packaging/macos/uninstall.sh +0 -24
  1219. package/packaging/macos/verify-pkg.py +0 -61
  1220. package/packaging/windows/build-msi.ps1 +0 -153
  1221. package/packaging/windows/test-msi.ps1 +0 -225
  1222. package/packaging/windows/verify-msi.ps1 +0 -74
  1223. package/packaging/windows/vip-next.wxs +0 -79
  1224. package/scripts/catalog_script_test.go +0 -123
  1225. package/scripts/vip-next-command-catalog.sh +0 -506
  1226. package/test-utils/undici-mock.js +0 -25
  1227. package/testdata/installer-fixture/main.go +0 -40
  1228. package/testdata/parity/app-deploy-completed.yaml +0 -14
  1229. package/testdata/parity/app-deploy-missing-token.yaml +0 -21
  1230. package/testdata/parity/app-deploy-validate-clean.yaml +0 -11
  1231. package/testdata/parity/app-deploy-validate-missing-themes.yaml +0 -21
  1232. package/testdata/parity/app-get-baseline.yaml +0 -14
  1233. package/testdata/parity/app-get-custom-deploy.yaml +0 -14
  1234. package/testdata/parity/app-get-json.yaml +0 -14
  1235. package/testdata/parity/app-get-not-found.yaml +0 -13
  1236. package/testdata/parity/app-list-baseline.yaml +0 -14
  1237. package/testdata/parity/app-list-csv.yaml +0 -13
  1238. package/testdata/parity/app-list-empty.yaml +0 -13
  1239. package/testdata/parity/app-list-ids.yaml +0 -26
  1240. package/testdata/parity/app-list-json.yaml +0 -13
  1241. package/testdata/parity/app-list-unknown-format.yaml +0 -29
  1242. package/testdata/parity/backup-db-already-in-progress.yaml +0 -15
  1243. package/testdata/parity/backup-db-completed.yaml +0 -14
  1244. package/testdata/parity/backup-db-help.yaml +0 -10
  1245. package/testdata/parity/cache-purge-url-empty.yaml +0 -26
  1246. package/testdata/parity/cache-purge-url-from-file.yaml +0 -21
  1247. package/testdata/parity/cache-purge-url-multi.yaml +0 -19
  1248. package/testdata/parity/cache-purge-url-single.yaml +0 -18
  1249. package/testdata/parity/defensive-mode-enable-with-rechallenge.yaml +0 -20
  1250. package/testdata/parity/edge-workers-artifact-symlink.yaml +0 -8
  1251. package/testdata/parity/edge-workers-bare-location.yaml +0 -8
  1252. package/testdata/parity/edge-workers-bare-path.yaml +0 -8
  1253. package/testdata/parity/edge-workers-bare-type.yaml +0 -8
  1254. package/testdata/parity/edge-workers-build-all.yaml +0 -8
  1255. package/testdata/parity/edge-workers-build-compiler-error.yaml +0 -8
  1256. package/testdata/parity/edge-workers-build-empty.yaml +0 -8
  1257. package/testdata/parity/edge-workers-build-missing-compiler.yaml +0 -8
  1258. package/testdata/parity/edge-workers-build-name-all.yaml +0 -8
  1259. package/testdata/parity/edge-workers-build-one.yaml +0 -8
  1260. package/testdata/parity/edge-workers-delete-force.yaml +0 -8
  1261. package/testdata/parity/edge-workers-delete-rejected.yaml +0 -8
  1262. package/testdata/parity/edge-workers-deploy-active-update-enable.yaml +0 -8
  1263. package/testdata/parity/edge-workers-deploy-active-update.yaml +0 -8
  1264. package/testdata/parity/edge-workers-deploy-all-preparation-failure.yaml +0 -8
  1265. package/testdata/parity/edge-workers-deploy-create-enable.yaml +0 -8
  1266. package/testdata/parity/edge-workers-deploy-create.yaml +0 -8
  1267. package/testdata/parity/edge-workers-deploy-enable-failure.yaml +0 -8
  1268. package/testdata/parity/edge-workers-deploy-inactive-update-enable.yaml +0 -8
  1269. package/testdata/parity/edge-workers-deploy-inactive-update.yaml +0 -8
  1270. package/testdata/parity/edge-workers-deploy-location-clear.yaml +0 -8
  1271. package/testdata/parity/edge-workers-deploy-location-preserve.yaml +0 -8
  1272. package/testdata/parity/edge-workers-deploy-location-replace.yaml +0 -8
  1273. package/testdata/parity/edge-workers-deploy-name-all.yaml +0 -8
  1274. package/testdata/parity/edge-workers-deploy-production-refused.yaml +0 -8
  1275. package/testdata/parity/edge-workers-deploy-production-skip.yaml +0 -8
  1276. package/testdata/parity/edge-workers-deploy-skip-source-create.yaml +0 -8
  1277. package/testdata/parity/edge-workers-deploy-skip-source.yaml +0 -8
  1278. package/testdata/parity/edge-workers-deploy-skip-validate.yaml +0 -8
  1279. package/testdata/parity/edge-workers-deploy-source-empty.yaml +0 -8
  1280. package/testdata/parity/edge-workers-deploy-upload-failure.yaml +0 -8
  1281. package/testdata/parity/edge-workers-disable.yaml +0 -8
  1282. package/testdata/parity/edge-workers-double-dash.yaml +0 -8
  1283. package/testdata/parity/edge-workers-duplicate-names.yaml +0 -8
  1284. package/testdata/parity/edge-workers-enable-production-refused.yaml +0 -8
  1285. package/testdata/parity/edge-workers-enable.yaml +0 -8
  1286. package/testdata/parity/edge-workers-entry-escape.yaml +0 -8
  1287. package/testdata/parity/edge-workers-get-empty-source.yaml +0 -8
  1288. package/testdata/parity/edge-workers-get-missing.yaml +0 -8
  1289. package/testdata/parity/edge-workers-get-no-source.yaml +0 -8
  1290. package/testdata/parity/edge-workers-get-source.yaml +0 -8
  1291. package/testdata/parity/edge-workers-get.yaml +0 -8
  1292. package/testdata/parity/edge-workers-init-invalid-type.yaml +0 -8
  1293. package/testdata/parity/edge-workers-init-nonempty.yaml +0 -8
  1294. package/testdata/parity/edge-workers-init.yaml +0 -8
  1295. package/testdata/parity/edge-workers-json-control-name.yaml +0 -8
  1296. package/testdata/parity/edge-workers-list-csv.yaml +0 -8
  1297. package/testdata/parity/edge-workers-list-empty-json.yaml +0 -8
  1298. package/testdata/parity/edge-workers-list-empty.yaml +0 -8
  1299. package/testdata/parity/edge-workers-list-json.yaml +0 -8
  1300. package/testdata/parity/edge-workers-list-table.yaml +0 -8
  1301. package/testdata/parity/edge-workers-mutation-graphql-error.yaml +0 -8
  1302. package/testdata/parity/edge-workers-mutation-null.yaml +0 -8
  1303. package/testdata/parity/edge-workers-new-invalid-location.yaml +0 -8
  1304. package/testdata/parity/edge-workers-new-invalid-name.yaml +0 -8
  1305. package/testdata/parity/edge-workers-new-location.yaml +0 -8
  1306. package/testdata/parity/edge-workers-new.yaml +0 -8
  1307. package/testdata/parity/edge-workers-read-null.yaml +0 -8
  1308. package/testdata/parity/edge-workers-repeated-path.yaml +0 -8
  1309. package/testdata/parity/edge-workers-repeated-type.yaml +0 -8
  1310. package/testdata/parity/edge-workers-short-equals.yaml +0 -8
  1311. package/testdata/parity/edge-workers-table-control-name.yaml +0 -8
  1312. package/testdata/parity/edge-workers-unicode-order.yaml +0 -8
  1313. package/testdata/parity/edge-workers-validate-all.yaml +0 -8
  1314. package/testdata/parity/edge-workers-validate-invalid.yaml +0 -8
  1315. package/testdata/parity/edge-workers-validate-name-all.yaml +0 -8
  1316. package/testdata/parity/edge-workers-validate-no-artifact.yaml +0 -8
  1317. package/testdata/parity/edge-workers-validate-no-name.yaml +0 -8
  1318. package/testdata/parity/edge-workers-validate-null.yaml +0 -8
  1319. package/testdata/parity/edge-workers-validate.yaml +0 -8
  1320. package/testdata/parity/envvar-delete-baseline.yaml +0 -19
  1321. package/testdata/parity/envvar-delete-prod-cancel.yaml +0 -41
  1322. package/testdata/parity/envvar-delete-typed-mismatch.yaml +0 -44
  1323. package/testdata/parity/envvar-get-baseline.yaml +0 -14
  1324. package/testdata/parity/envvar-get-lowercase-input.yaml +0 -14
  1325. package/testdata/parity/envvar-get-named-help.yaml +0 -24
  1326. package/testdata/parity/envvar-get-not-found.yaml +0 -17
  1327. package/testdata/parity/envvar-getall-baseline.yaml +0 -14
  1328. package/testdata/parity/envvar-getall-empty.yaml +0 -15
  1329. package/testdata/parity/envvar-getall-keyvalue.yaml +0 -22
  1330. package/testdata/parity/envvar-list-baseline.yaml +0 -15
  1331. package/testdata/parity/envvar-list-empty.yaml +0 -15
  1332. package/testdata/parity/envvar-list-ids.yaml +0 -14
  1333. package/testdata/parity/envvar-list-json.yaml +0 -14
  1334. package/testdata/parity/envvar-list-keyvalue.yaml +0 -22
  1335. package/testdata/parity/envvar-set-baseline.yaml +0 -21
  1336. package/testdata/parity/envvar-set-invalid-name.yaml +0 -20
  1337. package/testdata/parity/envvar-set-newrelic-blocked.yaml +0 -21
  1338. package/testdata/parity/envvar-set-prod-cancel.yaml +0 -42
  1339. package/testdata/parity/envvar-set-prod-confirm-skipped.yaml +0 -20
  1340. package/testdata/parity/export-sql-completed.yaml +0 -14
  1341. package/testdata/parity/export-sql-config-conflict.yaml +0 -21
  1342. package/testdata/parity/export-sql-help.yaml +0 -11
  1343. package/testdata/parity/import-media-abort-noninteractive.yaml +0 -19
  1344. package/testdata/parity/import-media-help.yaml +0 -12
  1345. package/testdata/parity/import-media-invalid-archive.yaml +0 -18
  1346. package/testdata/parity/import-media-status-completed.yaml +0 -19
  1347. package/testdata/parity/import-media-status-failed.yaml +0 -18
  1348. package/testdata/parity/import-media-url-completed.yaml +0 -18
  1349. package/testdata/parity/import-sql-bad-extension.yaml +0 -26
  1350. package/testdata/parity/import-sql-help.yaml +0 -12
  1351. package/testdata/parity/import-sql-in-progress.yaml +0 -26
  1352. package/testdata/parity/import-sql-invalid-md5.yaml +0 -27
  1353. package/testdata/parity/import-sql-noninteractive-abort.yaml +0 -20
  1354. package/testdata/parity/import-sql-status-completed.yaml +0 -17
  1355. package/testdata/parity/import-sql-status-no-job.yaml +0 -17
  1356. package/testdata/parity/import-sql-validation-failure.yaml +0 -18
  1357. package/testdata/parity/import-validate-files-clean.yaml +0 -18
  1358. package/testdata/parity/import-validate-files-not-dir.yaml +0 -16
  1359. package/testdata/parity/import-validate-sql-clean.yaml +0 -23
  1360. package/testdata/parity/import-validate-sql-dangerous-stmt.yaml +0 -27
  1361. package/testdata/parity/import-validate-sql-multisite-warn.yaml +0 -23
  1362. package/testdata/parity/logs-baseline.yaml +0 -24
  1363. package/testdata/parity/logs-batch.yaml +0 -24
  1364. package/testdata/parity/logs-empty.yaml +0 -15
  1365. package/testdata/parity/logs-format-json.yaml +0 -15
  1366. package/testdata/parity/logs-limit-100.yaml +0 -24
  1367. package/testdata/parity/phpmyadmin-error.yaml +0 -24
  1368. package/testdata/parity/phpmyadmin-print.yaml +0 -22
  1369. package/testdata/parity/phpmyadmin-silent.yaml +0 -16
  1370. package/testdata/parity/recordings/app-get-baseline/app.json +0 -11
  1371. package/testdata/parity/recordings/app-get-custom-deploy/app.json +0 -8
  1372. package/testdata/parity/recordings/app-get-json/app.json +0 -11
  1373. package/testdata/parity/recordings/app-get-not-found/app.json +0 -1
  1374. package/testdata/parity/recordings/app-list-baseline/apps.json +0 -1
  1375. package/testdata/parity/recordings/app-list-csv/apps.json +0 -1
  1376. package/testdata/parity/recordings/app-list-empty/apps.json +0 -1
  1377. package/testdata/parity/recordings/app-list-json/apps.json +0 -1
  1378. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-1.json +0 -1
  1379. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-2.json +0 -1
  1380. package/testdata/parity/recordings/backup-db-completed/backup-status-1.json +0 -1
  1381. package/testdata/parity/recordings/backup-db-completed/backup-status-2.json +0 -1
  1382. package/testdata/parity/recordings/backup-db-completed/backup-status-3.json +0 -1
  1383. package/testdata/parity/recordings/cache-purge-url-empty/resolve-app.json +0 -1
  1384. package/testdata/parity/recordings/cache-purge-url-from-file/purge.json +0 -1
  1385. package/testdata/parity/recordings/cache-purge-url-from-file/resolve-app.json +0 -1
  1386. package/testdata/parity/recordings/cache-purge-url-from-file/urls.txt +0 -2
  1387. package/testdata/parity/recordings/cache-purge-url-multi/purge.json +0 -1
  1388. package/testdata/parity/recordings/cache-purge-url-multi/resolve-app.json +0 -1
  1389. package/testdata/parity/recordings/cache-purge-url-single/purge.json +0 -1
  1390. package/testdata/parity/recordings/cache-purge-url-single/resolve-app.json +0 -1
  1391. package/testdata/parity/recordings/config-software-get/resolve-app.json +0 -1
  1392. package/testdata/parity/recordings/config-software-update/resolve-app.json +0 -1
  1393. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-elevated.json +0 -1
  1394. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-success.json +0 -1
  1395. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-create-session.json +0 -1
  1396. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-exchange.json +0 -1
  1397. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-status-verified.json +0 -1
  1398. package/testdata/parity/recordings/envvar-delete-baseline/delete.json +0 -1
  1399. package/testdata/parity/recordings/envvar-delete-baseline/resolve-app.json +0 -1
  1400. package/testdata/parity/recordings/envvar-delete-prod-cancel/resolve-app.json +0 -1
  1401. package/testdata/parity/recordings/envvar-delete-typed-mismatch/resolve-app.json +0 -1
  1402. package/testdata/parity/recordings/envvar-get-baseline/envvars.json +0 -1
  1403. package/testdata/parity/recordings/envvar-get-baseline/resolve-app.json +0 -1
  1404. package/testdata/parity/recordings/envvar-get-lowercase-input/envvars.json +0 -1
  1405. package/testdata/parity/recordings/envvar-get-lowercase-input/resolve-app.json +0 -1
  1406. package/testdata/parity/recordings/envvar-get-named-help/envvars.json +0 -1
  1407. package/testdata/parity/recordings/envvar-get-named-help/resolve-app.json +0 -1
  1408. package/testdata/parity/recordings/envvar-get-not-found/envvars.json +0 -1
  1409. package/testdata/parity/recordings/envvar-get-not-found/resolve-app.json +0 -1
  1410. package/testdata/parity/recordings/envvar-getall-baseline/envvars.json +0 -1
  1411. package/testdata/parity/recordings/envvar-getall-baseline/resolve-app.json +0 -1
  1412. package/testdata/parity/recordings/envvar-getall-empty/envvars.json +0 -1
  1413. package/testdata/parity/recordings/envvar-getall-empty/resolve-app.json +0 -1
  1414. package/testdata/parity/recordings/envvar-getall-keyvalue/envvars.json +0 -1
  1415. package/testdata/parity/recordings/envvar-getall-keyvalue/resolve-app.json +0 -1
  1416. package/testdata/parity/recordings/envvar-list-baseline/envvars.json +0 -1
  1417. package/testdata/parity/recordings/envvar-list-baseline/resolve-app.json +0 -1
  1418. package/testdata/parity/recordings/envvar-list-empty/envvars.json +0 -1
  1419. package/testdata/parity/recordings/envvar-list-empty/resolve-app.json +0 -1
  1420. package/testdata/parity/recordings/envvar-list-ids/envvars.json +0 -1
  1421. package/testdata/parity/recordings/envvar-list-ids/resolve-app.json +0 -1
  1422. package/testdata/parity/recordings/envvar-list-json/envvars.json +0 -1
  1423. package/testdata/parity/recordings/envvar-list-json/resolve-app.json +0 -1
  1424. package/testdata/parity/recordings/envvar-list-keyvalue/envvars.json +0 -1
  1425. package/testdata/parity/recordings/envvar-list-keyvalue/resolve-app.json +0 -1
  1426. package/testdata/parity/recordings/envvar-set-baseline/add.json +0 -1
  1427. package/testdata/parity/recordings/envvar-set-baseline/resolve-app.json +0 -1
  1428. package/testdata/parity/recordings/envvar-set-baseline/value.txt +0 -1
  1429. package/testdata/parity/recordings/envvar-set-invalid-name/resolve-app.json +0 -1
  1430. package/testdata/parity/recordings/envvar-set-invalid-name/value.txt +0 -1
  1431. package/testdata/parity/recordings/envvar-set-newrelic-blocked/resolve-app.json +0 -1
  1432. package/testdata/parity/recordings/envvar-set-newrelic-blocked/value.txt +0 -1
  1433. package/testdata/parity/recordings/envvar-set-prod-cancel/resolve-app.json +0 -1
  1434. package/testdata/parity/recordings/envvar-set-prod-cancel/value.txt +0 -1
  1435. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/add.json +0 -1
  1436. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/resolve-app.json +0 -1
  1437. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/value.txt +0 -1
  1438. package/testdata/parity/recordings/export-sql-completed/export-status-1.json +0 -1
  1439. package/testdata/parity/recordings/export-sql-completed/export-status-2.json +0 -1
  1440. package/testdata/parity/recordings/import-media-invalid-archive/file.sql +0 -1
  1441. package/testdata/parity/recordings/import-media-shared/abort-media-import.json +0 -1
  1442. package/testdata/parity/recordings/import-media-shared/env-info.json +0 -1
  1443. package/testdata/parity/recordings/import-media-shared/resolve-app.json +0 -1
  1444. package/testdata/parity/recordings/import-media-shared/start-media-import.json +0 -1
  1445. package/testdata/parity/recordings/import-media-status-completed/progress.json +0 -1
  1446. package/testdata/parity/recordings/import-media-status-failed/progress.json +0 -1
  1447. package/testdata/parity/recordings/import-media-url-completed/progress.json +0 -1
  1448. package/testdata/parity/recordings/import-sql-bad-extension/file.txt +0 -1
  1449. package/testdata/parity/recordings/import-sql-in-progress/env-info.json +0 -1
  1450. package/testdata/parity/recordings/import-sql-in-progress/resolve-app.json +0 -1
  1451. package/testdata/parity/recordings/import-sql-noninteractive-abort/clean.sql +0 -5
  1452. package/testdata/parity/recordings/import-sql-shared/env-info.json +0 -1
  1453. package/testdata/parity/recordings/import-sql-shared/multisite.json +0 -1
  1454. package/testdata/parity/recordings/import-sql-shared/resolve-app.json +0 -1
  1455. package/testdata/parity/recordings/import-sql-status-completed/progress.json +0 -1
  1456. package/testdata/parity/recordings/import-sql-status-no-job/progress.json +0 -1
  1457. package/testdata/parity/recordings/import-sql-validation-failure/dirty.sql +0 -6
  1458. package/testdata/parity/recordings/import-validate-files-clean/config.json +0 -1
  1459. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/a.jpg +0 -1
  1460. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/b.png +0 -1
  1461. package/testdata/parity/recordings/import-validate-sql-clean/clean.sql +0 -17
  1462. package/testdata/parity/recordings/import-validate-sql-dangerous-stmt/dangerous.sql +0 -11
  1463. package/testdata/parity/recordings/import-validate-sql-multisite-warn/multisite.sql +0 -12
  1464. package/testdata/parity/recordings/logs-baseline/logs.json +0 -1
  1465. package/testdata/parity/recordings/logs-baseline/resolve-app.json +0 -1
  1466. package/testdata/parity/recordings/logs-batch/logs.json +0 -1
  1467. package/testdata/parity/recordings/logs-batch/resolve-app.json +0 -1
  1468. package/testdata/parity/recordings/logs-empty/logs.json +0 -1
  1469. package/testdata/parity/recordings/logs-empty/resolve-app.json +0 -1
  1470. package/testdata/parity/recordings/logs-format-json/logs.json +0 -1
  1471. package/testdata/parity/recordings/logs-format-json/resolve-app.json +0 -1
  1472. package/testdata/parity/recordings/logs-limit-100/logs.json +0 -1
  1473. package/testdata/parity/recordings/logs-limit-100/resolve-app.json +0 -1
  1474. package/testdata/parity/recordings/m7c-shared/resolve-app.json +0 -1
  1475. package/testdata/parity/recordings/phpmyadmin-error/enable.json +0 -1
  1476. package/testdata/parity/recordings/phpmyadmin-error/resolve-app.json +0 -1
  1477. package/testdata/parity/recordings/phpmyadmin-print/enable.json +0 -1
  1478. package/testdata/parity/recordings/phpmyadmin-print/generate.json +0 -1
  1479. package/testdata/parity/recordings/phpmyadmin-print/resolve-app.json +0 -1
  1480. package/testdata/parity/recordings/phpmyadmin-print/status.json +0 -1
  1481. package/testdata/parity/recordings/phpmyadmin-silent/enable.json +0 -1
  1482. package/testdata/parity/recordings/phpmyadmin-silent/generate.json +0 -1
  1483. package/testdata/parity/recordings/phpmyadmin-silent/resolve-app.json +0 -1
  1484. package/testdata/parity/recordings/phpmyadmin-silent/status.json +0 -1
  1485. package/testdata/parity/recordings/slowlogs-baseline/resolve-app.json +0 -1
  1486. package/testdata/parity/recordings/slowlogs-baseline/slowlogs.json +0 -1
  1487. package/testdata/parity/recordings/slowlogs-csv/resolve-app.json +0 -1
  1488. package/testdata/parity/recordings/slowlogs-csv/slowlogs.json +0 -1
  1489. package/testdata/parity/recordings/slowlogs-empty/resolve-app.json +0 -1
  1490. package/testdata/parity/recordings/slowlogs-empty/slowlogs.json +0 -1
  1491. package/testdata/parity/recordings/slowlogs-limit-50/resolve-app.json +0 -1
  1492. package/testdata/parity/recordings/slowlogs-limit-50/slowlogs.json +0 -1
  1493. package/testdata/parity/recordings/sync-already-syncing/resolve-app.json +0 -1
  1494. package/testdata/parity/recordings/sync-already-syncing/sync-start.json +0 -1
  1495. package/testdata/parity/recordings/sync-already-syncing/sync-status-1.json +0 -1
  1496. package/testdata/parity/recordings/sync-already-syncing/sync-status-2.json +0 -1
  1497. package/testdata/parity/recordings/sync-baseline/resolve-app.json +0 -1
  1498. package/testdata/parity/recordings/sync-baseline/sync-start.json +0 -1
  1499. package/testdata/parity/recordings/sync-baseline/sync-status-1.json +0 -1
  1500. package/testdata/parity/recordings/sync-baseline/sync-status-2.json +0 -1
  1501. package/testdata/parity/recordings/whoami-baseline/me-response.json +0 -1
  1502. package/testdata/parity/recordings/wp-nodejs-rejected/resolve-app.json +0 -1
  1503. package/testdata/parity/recordings/wp-production-confirm-decline/resolve-app.json +0 -1
  1504. package/testdata/parity/recordings/wp-ssh-happy/resolve-app.json +0 -1
  1505. package/testdata/parity/recordings/wp-websocket-redirect/resolve-app.json +0 -1
  1506. package/testdata/parity/slowlogs-baseline.yaml +0 -18
  1507. package/testdata/parity/slowlogs-csv.yaml +0 -16
  1508. package/testdata/parity/slowlogs-empty.yaml +0 -17
  1509. package/testdata/parity/slowlogs-limit-50.yaml +0 -16
  1510. package/testdata/parity/sync-already-syncing.yaml +0 -20
  1511. package/testdata/parity/sync-baseline.yaml +0 -19
  1512. package/testdata/parity/version-smoke.yaml +0 -14
  1513. package/testdata/parity/whoami-baseline.yaml +0 -14
  1514. package/testdata/parity/wp-help.yaml +0 -12
  1515. package/testdata/parity/wp-nodejs-rejected.yaml +0 -13
  1516. package/testdata/parity/wp-production-confirm-decline.yaml +0 -14
  1517. package/testdata/parity/wp-ssh-happy.yaml +0 -15
  1518. package/testdata/parity/wp-websocket-redirect.yaml +0 -14
  1519. package/testdata/parity-local/app-get-csv.yaml +0 -8
  1520. package/testdata/parity-local/app-get-json.yaml +0 -8
  1521. package/testdata/parity-local/app-get-table.yaml +0 -8
  1522. package/testdata/parity-local/app-list-csv.yaml +0 -8
  1523. package/testdata/parity-local/app-list-json.yaml +0 -8
  1524. package/testdata/parity-local/app-list-table.yaml +0 -8
  1525. package/testdata/parity-local/edge-workers/basic/edge-workers.json +0 -1
  1526. package/testdata/parity-local/edge-workers/basic/workers/headers/assembly/index.ts +0 -1
  1527. package/testdata/parity-local/edge-workers/basic/workers/headers/worker.json +0 -1
  1528. package/testdata/parity-local/edge-workers/two-workers/edge-workers.json +0 -1
  1529. package/testdata/parity-local/edge-workers/two-workers/workers/a/assembly/index.ts +0 -1
  1530. package/testdata/parity-local/edge-workers/two-workers/workers/a/worker.json +0 -1
  1531. package/testdata/parity-local/edge-workers/two-workers/workers/b/assembly/index.ts +0 -1
  1532. package/testdata/parity-local/edge-workers/two-workers/workers/b/worker.json +0 -1
  1533. package/testdata/parity-local/envvar-list-csv.yaml +0 -8
  1534. package/testdata/parity-local/envvar-list-ids.yaml +0 -8
  1535. package/testdata/parity-local/envvar-list-json.yaml +0 -8
  1536. package/testdata/parity-local/envvar-list-keyvalue.yaml +0 -8
  1537. package/testdata/parity-local/envvar-list-table.yaml +0 -8
  1538. package/testdata/parity-local/software-get-csv.yaml +0 -8
  1539. package/testdata/parity-local/software-get-json.yaml +0 -8
  1540. package/testdata/parity-local/software-get-table.yaml +0 -8
  1541. package/testdata/parity-local/whoami.yaml +0 -8
  1542. package/testdata/update-fixture/main.go +0 -62
  1543. package/third_party/go-search-replace/MANIFEST +0 -33
  1544. package/tsconfig.json +0 -25
  1545. /package/node_modules/lando/node_modules/{wrap-ansi → ansi-regex}/license +0 -0
@@ -1,68 +0,0 @@
1
- package proxy
2
-
3
- import (
4
- "context"
5
- "strings"
6
- "testing"
7
- )
8
-
9
- func TestPortsStatePathUnderXDG(t *testing.T) {
10
- t.Setenv("XDG_DATA_HOME", "/data")
11
- want := "/data/vip/dev-env/proxy-ports.json"
12
- if got := PortsStatePath(); got != want {
13
- t.Fatalf("PortsStatePath = %q, want %q", got, want)
14
- }
15
- }
16
-
17
- // fakeRunner records docker invocations and lets a test script their outcome.
18
- type fakeRunner struct {
19
- calls [][]string
20
- failSub string // if a docker arg list contains this, Docker returns err
21
- }
22
-
23
- func (f *fakeRunner) Docker(ctx context.Context, args ...string) error {
24
- f.calls = append(f.calls, args)
25
- if f.failSub != "" {
26
- for _, a := range args {
27
- if strings.Contains(a, f.failSub) {
28
- return errDocker
29
- }
30
- }
31
- }
32
- return nil
33
- }
34
-
35
- // DockerOut mirrors Docker's scripting: a matching failSub errors, otherwise
36
- // empty stdout (no proxy container -> IsRunning false).
37
- func (f *fakeRunner) DockerOut(ctx context.Context, args ...string) ([]byte, error) {
38
- return nil, f.Docker(ctx, args...)
39
- }
40
-
41
- func TestEnsureNetworkCreatesWhenMissing(t *testing.T) {
42
- // network inspect fails (missing) -> network create is issued.
43
- r := &fakeRunner{failSub: "inspect"}
44
- if err := EnsureNetwork(context.Background(), r); err != nil {
45
- t.Fatalf("EnsureNetwork: %v", err)
46
- }
47
- var sawCreate bool
48
- for _, c := range r.calls {
49
- if len(c) >= 2 && c[0] == "network" && c[1] == "create" {
50
- sawCreate = true
51
- }
52
- }
53
- if !sawCreate {
54
- t.Fatalf("expected network create, calls=%v", r.calls)
55
- }
56
- }
57
-
58
- func TestEnsureNetworkNoopWhenPresent(t *testing.T) {
59
- r := &fakeRunner{} // inspect succeeds -> no create
60
- if err := EnsureNetwork(context.Background(), r); err != nil {
61
- t.Fatal(err)
62
- }
63
- for _, c := range r.calls {
64
- if len(c) >= 2 && c[0] == "network" && c[1] == "create" {
65
- t.Fatalf("should not create when network exists: %v", r.calls)
66
- }
67
- }
68
- }
@@ -1,104 +0,0 @@
1
- // Package proxy manages the shared Traefik reverse proxy (the traefik_openssl
2
- // image), the shared bridge network, fallback-port selection, and the local CA
3
- // + per-environment edge certificates for vip dev environments (spec §5/§8).
4
- // It drives docker through a DockerRunner (the concrete *dockercli.Runner in
5
- // production). Plan 4 lifecycle entry points: Ensure (start/ensure proxy with
6
- // bind-retry fallback ports), RemoveOrphan, Cleanup, EnsureCA, EnsureCert (one
7
- // central leaf cert per env, SANs from compose.CertSANs — the image runs no
8
- // in-service cert machinery, per Task 1 findings), ExtractCA (CA PEM to the host
9
- // for trust), and CAHostPath.
10
- package proxy
11
-
12
- import (
13
- "encoding/json"
14
- "errors"
15
- "net"
16
- "os"
17
- "path/filepath"
18
- "strconv"
19
-
20
- "github.com/Automattic/vip/internal/devenv/paths"
21
- )
22
-
23
- // PortsStatePath is where the chosen proxy ports are persisted.
24
- func PortsStatePath() string {
25
- return filepath.Join(paths.XDGData(), "vip", "dev-env", "proxy-ports.json")
26
- }
27
-
28
- // Default ports + fallbacks (parity with lando-proxy/index.js).
29
- const (
30
- DefaultHTTP = 80
31
- DefaultHTTPS = 443
32
- ProxyBindAddress = "127.0.0.1"
33
- )
34
-
35
- var (
36
- HTTPFallbacks = []int{8000, 8080, 8888, 8008}
37
- HTTPSFallbacks = []int{444, 4433, 4444, 4443}
38
- )
39
-
40
- // Ports holds the host ports the proxy is bound to.
41
- type Ports struct {
42
- HTTP int `json:"http"`
43
- HTTPS int `json:"https"`
44
- }
45
-
46
- // SelectPort returns the preferred port if free, else the first free fallback.
47
- // free reports whether a port is bindable; production passes a net.Listen probe.
48
- // The caller (proxy.Ensure) re-validates via the actual Docker bind.
49
- func SelectPort(preferred int, fallbacks []int, free func(int) bool) (int, error) {
50
- if free(preferred) {
51
- return preferred, nil
52
- }
53
- for _, p := range fallbacks {
54
- if free(p) {
55
- return p, nil
56
- }
57
- }
58
- return 0, errors.New("proxy: no free port among preferred + fallbacks")
59
- }
60
-
61
- // ListenProbe is the production free-port oracle. For privileged ports (<1024)
62
- // it is OPTIMISTIC: a non-root process cannot net.Listen on them, but the
63
- // Docker daemon can bind them, so we defer to the actual Docker bind (and the
64
- // Ensure bind-retry) as the source of truth (spec §8). For >=1024 it does a
65
- // real TCP listen on the proxy bind address.
66
- func ListenProbe(port int) bool {
67
- if port < 1024 {
68
- return true
69
- }
70
- ln, err := net.Listen("tcp", net.JoinHostPort(ProxyBindAddress, strconv.Itoa(port)))
71
- if err != nil {
72
- return false
73
- }
74
- _ = ln.Close()
75
- return true
76
- }
77
-
78
- // SavePorts persists the chosen ports.
79
- func SavePorts(path string, p Ports) error {
80
- if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil {
81
- return err
82
- }
83
- b, err := json.Marshal(p)
84
- if err != nil {
85
- return err
86
- }
87
- return os.WriteFile(path, b, 0o644)
88
- }
89
-
90
- // LoadPorts reads persisted ports; a missing file yields zero Ports, no error.
91
- func LoadPorts(path string) (Ports, error) {
92
- b, err := os.ReadFile(path)
93
- if errors.Is(err, os.ErrNotExist) {
94
- return Ports{}, nil
95
- }
96
- if err != nil {
97
- return Ports{}, err
98
- }
99
- var p Ports
100
- if err := json.Unmarshal(b, &p); err != nil {
101
- return Ports{}, err
102
- }
103
- return p, nil
104
- }
@@ -1,76 +0,0 @@
1
- package proxy
2
-
3
- import (
4
- "path/filepath"
5
- "testing"
6
- )
7
-
8
- func TestSelectPortPrefersFirstFree(t *testing.T) {
9
- free := func(p int) bool { return p != 80 } // 80 busy, 8000 free
10
- got, err := SelectPort(80, []int{8000, 8080}, free)
11
- if err != nil {
12
- t.Fatal(err)
13
- }
14
- if got != 8000 {
15
- t.Fatalf("got %d, want 8000 (80 busy)", got)
16
- }
17
- }
18
-
19
- func TestSelectPortPreferredWhenFree(t *testing.T) {
20
- got, err := SelectPort(443, []int{444}, func(int) bool { return true })
21
- if err != nil {
22
- t.Fatal(err)
23
- }
24
- if got != 443 {
25
- t.Fatalf("got %d, want 443", got)
26
- }
27
- }
28
-
29
- func TestSelectPortAllBusy(t *testing.T) {
30
- _, err := SelectPort(80, []int{8000}, func(int) bool { return false })
31
- if err == nil {
32
- t.Fatal("expected error when all candidates busy")
33
- }
34
- }
35
-
36
- func TestPortsPersistRoundTrip(t *testing.T) {
37
- dir := t.TempDir()
38
- path := filepath.Join(dir, "proxy-ports.json")
39
- if err := SavePorts(path, Ports{HTTP: 8080, HTTPS: 4433}); err != nil {
40
- t.Fatal(err)
41
- }
42
- got, err := LoadPorts(path)
43
- if err != nil {
44
- t.Fatal(err)
45
- }
46
- if got.HTTP != 8080 || got.HTTPS != 4433 {
47
- t.Fatalf("round-trip mismatch: %+v", got)
48
- }
49
- }
50
-
51
- func TestLoadPortsMissingReturnsZero(t *testing.T) {
52
- got, err := LoadPorts(filepath.Join(t.TempDir(), "nope.json"))
53
- if err != nil {
54
- t.Fatalf("missing file should not error: %v", err)
55
- }
56
- if got.HTTP != 0 || got.HTTPS != 0 {
57
- t.Fatalf("missing file should yield zero Ports, got %+v", got)
58
- }
59
- }
60
-
61
- func TestSelectPortNoFallbacksAllBusy(t *testing.T) {
62
- if _, err := SelectPort(80, nil, func(int) bool { return false }); err == nil {
63
- t.Fatal("expected error with no fallbacks and preferred busy")
64
- }
65
- }
66
-
67
- func TestListenProbeOptimisticForPrivilegedPorts(t *testing.T) {
68
- // Ports <1024 are reported free (let Docker + retry decide), regardless of
69
- // whether this non-root test process could bind them.
70
- if !ListenProbe(80) {
71
- t.Fatal("ListenProbe(80) should be optimistic (privileged port)")
72
- }
73
- if !ListenProbe(443) {
74
- t.Fatal("ListenProbe(443) should be optimistic (privileged port)")
75
- }
76
- }
@@ -1,143 +0,0 @@
1
- package proxy
2
-
3
- import (
4
- "context"
5
- "errors"
6
- "fmt"
7
- "strings"
8
- )
9
-
10
- // EnsureOptions configures an Ensure call. Domain is used in Traefik env vars.
11
- // free is an unexported probe so in-package tests can inject a stub; when nil,
12
- // production falls back to ListenProbe.
13
- type EnsureOptions struct {
14
- Domain string
15
- free func(int) bool
16
- }
17
-
18
- // containerState is the shared proxy container's observed state.
19
- type containerState int
20
-
21
- const (
22
- stateAbsent containerState = iota // no container with ProxyContainerName
23
- stateStopped // container exists but is not running
24
- stateRunning // container exists and is running
25
- )
26
-
27
- // inspectState reads the proxy container's running state via
28
- // `docker inspect -f {{.State.Running}}`. inspect exits 0 for a *stopped*
29
- // container too (printing "false"), so the exit code alone cannot tell a
30
- // stopped orphan from a healthy proxy: the printed value must be read.
31
- func inspectState(ctx context.Context, r DockerRunner) containerState {
32
- out, err := r.DockerOut(ctx, "inspect", "-f", "{{.State.Running}}", ProxyContainerName)
33
- if err != nil {
34
- return stateAbsent
35
- }
36
- if strings.TrimSpace(string(out)) == "true" {
37
- return stateRunning
38
- }
39
- return stateStopped
40
- }
41
-
42
- // IsRunning reports whether the proxy container exists AND is running. A
43
- // stopped orphan (e.g. left behind by a Docker restart or a crashed start)
44
- // reports false; Ensure removes it before starting a fresh proxy.
45
- func IsRunning(ctx context.Context, r DockerRunner) bool {
46
- return inspectState(ctx, r) == stateRunning
47
- }
48
-
49
- // Ensure starts the shared Traefik proxy if it is not already running,
50
- // selecting free host ports and persisting them. On a Docker-level bind
51
- // failure (TOCTOU race between ListenProbe and the actual bind) it cleans up
52
- // the partial container and retries with the next HTTP candidate. HTTPS stays
53
- // fixed at the first candidate that passed the probe — advancing both
54
- // independently would require per-entrypoint error attribution from Docker
55
- // stderr, which the error-only DockerRunner does not expose; this is a
56
- // documented follow-up.
57
- func Ensure(ctx context.Context, r DockerRunner, opts EnsureOptions) (Ports, error) {
58
- free := opts.free
59
- if free == nil {
60
- free = ListenProbe
61
- }
62
-
63
- switch inspectState(ctx, r) {
64
- case stateRunning:
65
- // Already running — load whatever ports were persisted last time.
66
- // A missing state file yields zero Ports (no error); the caller treats
67
- // that as "ports unknown".
68
- ports, err := LoadPorts(PortsStatePath())
69
- return ports, err
70
- case stateStopped:
71
- // A stopped orphan holds the container name (and its old port
72
- // bindings), so `docker run --name` below would fail. Remove it and
73
- // fall through to start a fresh proxy (parity: Node's
74
- // ensureNoOrphantProxyContainer).
75
- _ = RemoveOrphan(ctx, r)
76
- }
77
-
78
- if err := EnsureNetwork(ctx, r); err != nil {
79
- return Ports{}, err
80
- }
81
-
82
- // Choose HTTPS once; advance HTTP candidate on each bind failure.
83
- httpsPort, err := SelectPort(DefaultHTTPS, HTTPSFallbacks, free)
84
- if err != nil {
85
- return Ports{}, err
86
- }
87
-
88
- httpCandidates := append([]int{DefaultHTTP}, HTTPFallbacks...)
89
-
90
- var lastErr error
91
- for _, hp := range httpCandidates {
92
- if !free(hp) {
93
- continue
94
- }
95
- ports := Ports{HTTP: hp, HTTPS: httpsPort}
96
- if err := r.Docker(ctx, proxyRunArgs(ports, opts.Domain)...); err != nil {
97
- lastErr = err
98
- // Clean up the name-collision / partial container before retrying.
99
- _ = r.Docker(ctx, "rm", "-f", ProxyContainerName)
100
- continue
101
- }
102
- if err := SavePorts(PortsStatePath(), ports); err != nil {
103
- return Ports{}, err
104
- }
105
- return ports, nil
106
- }
107
-
108
- if lastErr != nil {
109
- return Ports{}, fmt.Errorf("proxy: could not start after trying http candidates: %w", lastErr)
110
- }
111
- return Ports{}, errors.New("proxy: no free http port among preferred + fallbacks")
112
- }
113
-
114
- // RemoveOrphan best-effort removes a *stopped* proxy container so a fresh one
115
- // can bind (ports Node ensureNoOrphantProxyContainer). It uses `docker rm`
116
- // WITHOUT -f: that removes a stopped container but errors on a running one,
117
- // leaving a healthy proxy intact. All errors are intentionally ignored — the
118
- // expected "cannot remove a running container" error is indistinguishable from
119
- // a real daemon failure through the error-only runner, so we never surface it.
120
- func RemoveOrphan(ctx context.Context, r DockerRunner) error {
121
- _ = r.Docker(ctx, "rm", ProxyContainerName)
122
- return nil
123
- }
124
-
125
- // ForceRemove force-removes the shared proxy container (running or stopped) so a
126
- // subsequent Ensure rebuilds it from the correct image. Used by Lando adoption:
127
- // Lando's proxy shares the vip-dev-env-proxy name, and IsRunning would otherwise
128
- // treat it as ours and skip recreation.
129
- func ForceRemove(ctx context.Context, r DockerRunner) error {
130
- return r.Docker(ctx, "rm", "-f", ProxyContainerName)
131
- }
132
-
133
- // Cleanup removes the proxy container and its proxy_config volume when no dev
134
- // environment remains. All errors are ignored (best-effort). The caller
135
- // decides when no environments remain.
136
- func Cleanup(ctx context.Context, r DockerRunner) error {
137
- _ = r.Docker(ctx, "rm", "-f", ProxyContainerName)
138
- // ProxyCertsVolume (the CA + leaf certs) is intentionally NOT removed: the CA
139
- // survives teardown so the user need not re-trust it on the next create, which
140
- // would otherwise cost an admin privilege prompt.
141
- _ = r.Docker(ctx, "volume", "rm", ProxyConfigVolume)
142
- return nil
143
- }
@@ -1,149 +0,0 @@
1
- package proxy
2
-
3
- import (
4
- "context"
5
- "testing"
6
- )
7
-
8
- // scriptRunner returns scripted results per docker subcommand for control-flow
9
- // tests. runErrs is consumed in order for each `run` call (nil = success).
10
- type scriptRunner struct {
11
- running bool // proxy container exists and is running
12
- stopped bool // proxy container exists but is stopped (orphan)
13
- runErrs []error // sequential results for `run` calls
14
- calls [][]string
15
- }
16
-
17
- // DockerOut scripts `inspect -f {{.State.Running}}`: exit 0 with "true" or
18
- // "false" when the container exists (running or stopped), error when absent.
19
- func (s *scriptRunner) DockerOut(ctx context.Context, args ...string) ([]byte, error) {
20
- s.calls = append(s.calls, args)
21
- if len(args) > 0 && args[0] == "inspect" {
22
- switch {
23
- case s.running:
24
- return []byte("true\n"), nil
25
- case s.stopped:
26
- return []byte("false\n"), nil
27
- }
28
- return nil, errDocker
29
- }
30
- return nil, nil
31
- }
32
-
33
- func (s *scriptRunner) Docker(ctx context.Context, args ...string) error {
34
- s.calls = append(s.calls, args)
35
- switch {
36
- case len(args) > 0 && args[0] == "run":
37
- if len(s.runErrs) > 0 {
38
- e := s.runErrs[0]
39
- s.runErrs = s.runErrs[1:]
40
- return e
41
- }
42
- return nil
43
- }
44
- return nil
45
- }
46
-
47
- func TestEnsureRunsProxyAndPersistsPorts(t *testing.T) {
48
- t.Setenv("XDG_DATA_HOME", t.TempDir())
49
- r := &scriptRunner{running: false}
50
- free := func(int) bool { return true } // 80/443 free per probe
51
- got, err := Ensure(context.Background(), r, EnsureOptions{Domain: "vipdev.lndo.site", free: free})
52
- if err != nil {
53
- t.Fatalf("Ensure: %v", err)
54
- }
55
- if got.HTTP != 80 || got.HTTPS != 443 {
56
- t.Fatalf("expected default ports, got %+v", got)
57
- }
58
- persisted, _ := LoadPorts(PortsStatePath())
59
- if persisted != got {
60
- t.Fatalf("ports not persisted: %+v vs %+v", persisted, got)
61
- }
62
- }
63
-
64
- func TestEnsureNoopWhenAlreadyRunning(t *testing.T) {
65
- t.Setenv("XDG_DATA_HOME", t.TempDir())
66
- if err := SavePorts(PortsStatePath(), Ports{HTTP: 8080, HTTPS: 4433}); err != nil {
67
- t.Fatal(err)
68
- }
69
- r := &scriptRunner{running: true}
70
- got, err := Ensure(context.Background(), r, EnsureOptions{Domain: "vipdev.lndo.site", free: func(int) bool { return true }})
71
- if err != nil {
72
- t.Fatal(err)
73
- }
74
- if got.HTTP != 8080 || got.HTTPS != 4433 {
75
- t.Fatalf("already-running path should return persisted ports, got %+v", got)
76
- }
77
- for _, c := range r.calls {
78
- if len(c) > 0 && c[0] == "run" {
79
- t.Fatalf("should not run proxy when already running: %v", r.calls)
80
- }
81
- }
82
- }
83
-
84
- func TestEnsureRemovesStoppedOrphanThenStarts(t *testing.T) {
85
- t.Setenv("XDG_DATA_HOME", t.TempDir())
86
- // A stopped proxy container exists: inspect succeeds but prints "false".
87
- // Ensure must not treat it as running; it removes the orphan (docker rm
88
- // without -f) and starts a fresh proxy.
89
- r := &scriptRunner{stopped: true}
90
- got, err := Ensure(context.Background(), r, EnsureOptions{Domain: "vipdev.lndo.site", free: func(int) bool { return true }})
91
- if err != nil {
92
- t.Fatalf("Ensure: %v", err)
93
- }
94
- if got.HTTP != 80 || got.HTTPS != 443 {
95
- t.Fatalf("expected default ports, got %+v", got)
96
- }
97
- var sawRm, sawRun bool
98
- for _, c := range r.calls {
99
- switch {
100
- case len(c) == 2 && c[0] == "rm" && c[1] == ProxyContainerName:
101
- if sawRun {
102
- t.Fatalf("orphan must be removed before run: %v", r.calls)
103
- }
104
- sawRm = true
105
- case len(c) > 0 && c[0] == "run":
106
- sawRun = true
107
- }
108
- }
109
- if !sawRm || !sawRun {
110
- t.Fatalf("expected rm then run, got calls: %v", r.calls)
111
- }
112
- }
113
-
114
- func TestIsRunningReadsInspectOutput(t *testing.T) {
115
- ctx := context.Background()
116
- if IsRunning(ctx, &scriptRunner{running: true}) != true {
117
- t.Fatal("running container should report true")
118
- }
119
- if IsRunning(ctx, &scriptRunner{stopped: true}) {
120
- t.Fatal("stopped container must not report running")
121
- }
122
- if IsRunning(ctx, &scriptRunner{}) {
123
- t.Fatal("absent container must not report running")
124
- }
125
- }
126
-
127
- func TestEnsureRetriesNextPortOnBindFailure(t *testing.T) {
128
- t.Setenv("XDG_DATA_HOME", t.TempDir())
129
- // First run fails (port busy at bind time despite probe), second succeeds.
130
- r := &scriptRunner{running: false, runErrs: []error{errDocker, nil}}
131
- got, err := Ensure(context.Background(), r, EnsureOptions{Domain: "vipdev.lndo.site", free: func(int) bool { return true }})
132
- if err != nil {
133
- t.Fatalf("Ensure: %v", err)
134
- }
135
- // After the http bind failed once, the next http candidate (8000) is used.
136
- if got.HTTP != 8000 {
137
- t.Fatalf("expected retry to 8000 after bind failure, got %+v", got)
138
- }
139
- // the failed name collision is cleaned up before retry
140
- var sawRm bool
141
- for _, c := range r.calls {
142
- if len(c) > 0 && c[0] == "rm" {
143
- sawRm = true
144
- }
145
- }
146
- if !sawRm {
147
- t.Fatalf("expected rm of partial proxy before retry: %v", r.calls)
148
- }
149
- }
@@ -1,73 +0,0 @@
1
- #!/bin/sh
2
- set -e
3
-
4
- # Shared CA paths inside the certs volume.
5
- CA_CERT="${CA_CERT:-/certs/lndo.site.pem}"
6
- CA_KEY="${CA_KEY:-/certs/lndo.site.key}"
7
-
8
- # quiet runs a command with its stderr captured, replaying it only on failure.
9
- # openssl narrates success on stderr ("Certificate request self-signature ok",
10
- # "subject=..."), which the CLI would otherwise tee to the user's terminal.
11
- quiet() {
12
- _err=$(mktemp)
13
- if "$@" 2>"$_err"; then
14
- rm -f "$_err"
15
- else
16
- _st=$?
17
- cat "$_err" >&2
18
- rm -f "$_err"
19
- return $_st
20
- fi
21
- }
22
-
23
- # 1. Ensure the CA exists (idempotent). Subject CN parity: WPVIP Local CA.
24
- if [ ! -f "$CA_KEY" ]; then
25
- quiet openssl genrsa -out "$CA_KEY" 2048
26
- fi
27
- if [ ! -f "$CA_CERT" ]; then
28
- quiet openssl req -x509 -new -nodes -key "$CA_KEY" -sha256 -days 8675 \
29
- -out "$CA_CERT" \
30
- -subj "/C=US/ST=California/L=San Francisco/O=Automattic/OU=WPVIP/CN=WPVIP Local CA"
31
- fi
32
-
33
- # 2. Per-env leaf cert + Traefik file-provider config (only when requested).
34
- # CERT_BASENAME names the cert files; CERT_SANS is a space-separated host list;
35
- # CERT_CN is the cert subject CN (defaults to CERT_BASENAME).
36
- if [ -n "$CERT_BASENAME" ] && [ -n "$CERT_SANS" ]; then
37
- CRT="/certs/${CERT_BASENAME}.crt"
38
- KEY="/certs/${CERT_BASENAME}.key"
39
- CSR="/certs/${CERT_BASENAME}.csr"
40
- EXT="/certs/${CERT_BASENAME}.ext"
41
- CN="${CERT_CN:-$CERT_BASENAME}"
42
-
43
- {
44
- printf '%s\n' "authorityKeyIdentifier=keyid,issuer"
45
- printf '%s\n' "basicConstraints=CA:FALSE"
46
- printf '%s\n' "keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment"
47
- printf '%s\n' "extendedKeyUsage = serverAuth"
48
- printf '%s\n' "subjectAltName = @alt_names"
49
- printf '%s\n' "[alt_names]"
50
- } > "$EXT"
51
- set -f
52
- i=1
53
- for san in $CERT_SANS; do
54
- printf 'DNS.%s = %s\n' "$i" "$san" >> "$EXT"
55
- i=$((i + 1))
56
- done
57
- set +f
58
-
59
- quiet openssl genrsa -out "$KEY" 2048
60
- quiet openssl req -new -key "$KEY" -out "$CSR" \
61
- -subj "/C=US/ST=California/L=San Francisco/O=Automattic/OU=WPVIP/CN=${CN}"
62
- quiet openssl x509 -req -in "$CSR" -CA "$CA_CERT" -CAkey "$CA_KEY" \
63
- -CAcreateserial -out "$CRT" -days 825 -sha256 -extfile "$EXT"
64
- rm -f "$CSR" "$EXT"
65
-
66
- mkdir -p /proxy_config
67
- cat > "/proxy_config/${CERT_BASENAME}.yaml" <<EOF
68
- tls:
69
- certificates:
70
- - certFile: ${CRT}
71
- keyFile: ${KEY}
72
- EOF
73
- fi
@@ -1,60 +0,0 @@
1
- package proxy
2
-
3
- import (
4
- "fmt"
5
-
6
- "github.com/Automattic/vip/internal/devenv/compose"
7
- )
8
-
9
- // ProxyContainerName is the shared proxy container (parity: dev-environment-lando.ts:330).
10
- const ProxyContainerName = "vip-dev-env-proxy"
11
-
12
- // ProxyImage is the Traefik+openssl image (parity: lando-proxy builder.js).
13
- const ProxyImage = "ghcr.io/automattic/vip-container-images/traefik_openssl:v3"
14
-
15
- // ProxyConfigVolume holds the Traefik file-provider configs (per-env tls certs).
16
- const ProxyConfigVolume = "proxy_config"
17
-
18
- // proxyCommand is the Traefik arg list (parity: lando-proxy/index.js) plus the
19
- // docker.network arg so Traefik resolves services on our single shared network.
20
- var proxyCommand = []string{
21
- "--log.level=DEBUG",
22
- // API enabled (no auth) for health checks on the ephemeral :8080 bind; UI off.
23
- "--api.insecure=true",
24
- "--api.dashboard=false",
25
- "--providers.docker=true",
26
- "--providers.docker.network=" + compose.ProxyNetwork,
27
- "--providers.docker.exposedbydefault=false",
28
- "--entrypoints.https.address=:443",
29
- "--entrypoints.http.address=:80",
30
- "--providers.file.directory=/proxy_config",
31
- "--providers.file.watch=true",
32
- }
33
-
34
- // proxyRunArgs builds the `docker run` argv for the shared proxy. The cert
35
- // volume + boot-script mounts are appended per Task 1 findings (see Task 7);
36
- // this builder establishes the network, ports, socket mount, env, and command.
37
- func proxyRunArgs(ports Ports, domain string) []string {
38
- args := []string{
39
- "run", "-d",
40
- "--name", ProxyContainerName,
41
- "--network", compose.ProxyNetwork,
42
- "--restart", "unless-stopped",
43
- "-p", fmt.Sprintf("%s:%d:80", ProxyBindAddress, ports.HTTP),
44
- "-p", fmt.Sprintf("%s:%d:443", ProxyBindAddress, ports.HTTPS),
45
- "-p", fmt.Sprintf("%s::8080", ProxyBindAddress),
46
- "-v", "/var/run/docker.sock:/var/run/docker.sock",
47
- "-v", ProxyConfigVolume + ":/proxy_config",
48
- "-v", ProxyCertsVolume + ":/certs",
49
- // The four LANDO_* vars below are retained for Lando image parity but are
50
- // inert under the stock Traefik entrypoint: the image bundles none of
51
- // Lando's cert scripts that would consume them.
52
- "-e", "LANDO_APP_PROJECT=_lando_",
53
- "-e", fmt.Sprintf("LANDO_EXTRA_NAMES=DNS.100 = *.%s", domain),
54
- "-e", "LANDO_PROXY_CONFIG_FILE=/proxy_config/proxy.yaml",
55
- "-e", "LANDO_PROXY_PASSTHRU=true",
56
- ProxyImage,
57
- }
58
- args = append(args, proxyCommand...)
59
- return args
60
- }