@automattic/vip 4.1.4 → 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 (1612) 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-cli.js +8 -5
  8. package/dist/lib/dev-environment/dev-environment-core.js +1 -1
  9. package/helpers/generate-docs.js +9 -3
  10. package/node_modules/@apollo/client/CHANGELOG.md +38 -0
  11. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs +1 -1
  12. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs.map +1 -1
  13. package/node_modules/@apollo/client/__cjs/cache/core/cache.d.cts +4 -1
  14. package/node_modules/@apollo/client/__cjs/cache/core/types/Cache.d.cts +5 -0
  15. package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs +4 -4
  16. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +15 -5
  17. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  18. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.d.cts +3 -1
  19. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  20. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +5 -5
  21. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs +28 -10
  22. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  23. package/node_modules/@apollo/client/__cjs/cache/inmemory/types.d.cts +7 -2
  24. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +29 -14
  25. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  26. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.d.cts +5 -2
  27. package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs +14 -14
  28. package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs +8 -8
  29. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +13 -32
  30. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  31. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +12 -12
  32. package/node_modules/@apollo/client/__cjs/core/RefetchEventManager.cjs +3 -3
  33. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs +15 -2
  34. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  35. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.d.cts +5 -1
  36. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs +58 -14
  37. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
  38. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.d.cts +23 -12
  39. package/node_modules/@apollo/client/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  40. package/node_modules/@apollo/client/__cjs/incremental/types.d.cts +19 -1
  41. package/node_modules/@apollo/client/__cjs/invariantErrorCodes.cjs +64 -58
  42. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  43. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  44. package/node_modules/@apollo/client/__cjs/react/hooks/useLazyQuery.cjs +27 -1
  45. package/node_modules/@apollo/client/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  46. package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs.map +1 -1
  47. package/node_modules/@apollo/client/__cjs/utilities/internal/index.d.cts +0 -1
  48. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs +24 -26
  49. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -1
  50. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.d.cts +1 -1
  51. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs +24 -20
  52. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs.map +1 -1
  53. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.d.cts +1 -1
  54. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  55. package/node_modules/@apollo/client/cache/core/cache.d.ts +4 -1
  56. package/node_modules/@apollo/client/cache/core/cache.js +1 -1
  57. package/node_modules/@apollo/client/cache/core/cache.js.map +1 -1
  58. package/node_modules/@apollo/client/cache/core/types/Cache.d.ts +5 -0
  59. package/node_modules/@apollo/client/cache/core/types/Cache.js.map +1 -1
  60. package/node_modules/@apollo/client/cache/inmemory/entityStore.js +4 -4
  61. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.d.ts +3 -1
  62. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +15 -5
  63. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  64. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +1 -1
  65. package/node_modules/@apollo/client/cache/inmemory/policies.js +5 -5
  66. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js +28 -10
  67. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js.map +1 -1
  68. package/node_modules/@apollo/client/cache/inmemory/types.d.ts +7 -2
  69. package/node_modules/@apollo/client/cache/inmemory/types.js.map +1 -1
  70. package/node_modules/@apollo/client/cache/inmemory/writeToStore.d.ts +5 -2
  71. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +30 -15
  72. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  73. package/node_modules/@apollo/client/core/ApolloClient.js +14 -14
  74. package/node_modules/@apollo/client/core/ObservableQuery.js +8 -8
  75. package/node_modules/@apollo/client/core/QueryInfo.js +14 -33
  76. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  77. package/node_modules/@apollo/client/core/QueryManager.js +12 -12
  78. package/node_modules/@apollo/client/core/RefetchEventManager.js +3 -3
  79. package/node_modules/@apollo/client/incremental/handlers/defer20220824.d.ts +5 -1
  80. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js +15 -2
  81. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js.map +1 -1
  82. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.d.ts +23 -12
  83. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js +58 -14
  84. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js.map +1 -1
  85. package/node_modules/@apollo/client/incremental/handlers/notImplemented.js +1 -1
  86. package/node_modules/@apollo/client/incremental/types.d.ts +19 -1
  87. package/node_modules/@apollo/client/incremental/types.js.map +1 -1
  88. package/node_modules/@apollo/client/invariantErrorCodes.js +64 -58
  89. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js +1 -1
  90. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js.map +1 -1
  91. package/node_modules/@apollo/client/package.json +1 -1
  92. package/node_modules/@apollo/client/react/hooks/useLazyQuery.js +27 -1
  93. package/node_modules/@apollo/client/react/hooks/useLazyQuery.js.map +1 -1
  94. package/node_modules/@apollo/client/react/hooks-compiled/useLazyQuery.js +27 -1
  95. package/node_modules/@apollo/client/react/hooks-compiled/useLazyQuery.js.map +1 -1
  96. package/node_modules/@apollo/client/utilities/internal/index.d.ts +0 -1
  97. package/node_modules/@apollo/client/utilities/internal/index.js.map +1 -1
  98. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.d.ts +1 -1
  99. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js +23 -25
  100. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js.map +1 -1
  101. package/node_modules/@apollo/client/utilities/internal/isStreamField.d.ts +1 -1
  102. package/node_modules/@apollo/client/utilities/internal/isStreamField.js +23 -19
  103. package/node_modules/@apollo/client/utilities/internal/isStreamField.js.map +1 -1
  104. package/node_modules/@apollo/client/version.js +1 -1
  105. package/node_modules/@types/node/README.md +2 -2
  106. package/node_modules/@types/node/child_process.d.ts +1 -1
  107. package/node_modules/@types/node/crypto.d.ts +22 -10
  108. package/node_modules/@types/node/dgram.d.ts +1 -1
  109. package/node_modules/@types/node/ffi.d.ts +14 -0
  110. package/node_modules/@types/node/http2.d.ts +3 -2
  111. package/node_modules/@types/node/net.d.ts +16 -4
  112. package/node_modules/@types/node/package.json +2 -17
  113. package/node_modules/@types/node/process.d.ts +1 -0
  114. package/node_modules/@types/node/quic.d.ts +39 -1
  115. package/node_modules/@types/node/stream/iter.d.ts +9 -12
  116. package/node_modules/@types/node/test/reporters.d.ts +1 -0
  117. package/node_modules/@types/node/test.d.ts +72 -0
  118. package/node_modules/@types/node/tls.d.ts +14 -10
  119. package/node_modules/@types/node/util.d.ts +6 -3
  120. package/node_modules/@types/node/vm.d.ts +2 -1
  121. package/node_modules/@types/node/worker_threads.d.ts +4 -1
  122. package/node_modules/@types/node/zlib.d.ts +6 -0
  123. package/node_modules/axios/CHANGELOG.md +62 -0
  124. package/node_modules/axios/README.md +297 -5
  125. package/node_modules/axios/dist/axios.js +728 -170
  126. package/node_modules/axios/dist/axios.min.js +3 -3
  127. package/node_modules/axios/dist/axios.min.js.map +1 -1
  128. package/node_modules/axios/dist/browser/axios.cjs +871 -188
  129. package/node_modules/axios/dist/esm/axios.js +871 -188
  130. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  131. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  132. package/node_modules/axios/dist/node/axios.cjs +1037 -225
  133. package/node_modules/axios/index.d.cts +102 -74
  134. package/node_modules/axios/index.d.ts +100 -68
  135. package/node_modules/axios/lib/adapters/fetch.js +64 -11
  136. package/node_modules/axios/lib/adapters/http.js +140 -67
  137. package/node_modules/axios/lib/adapters/xhr.js +52 -3
  138. package/node_modules/axios/lib/core/Axios.js +43 -20
  139. package/node_modules/axios/lib/core/AxiosError.js +33 -2
  140. package/node_modules/axios/lib/core/AxiosHeaders.js +124 -1
  141. package/node_modules/axios/lib/core/InterceptorManager.js +107 -8
  142. package/node_modules/axios/lib/core/buildFullPath.js +41 -15
  143. package/node_modules/axios/lib/core/dispatchRequest.js +8 -2
  144. package/node_modules/axios/lib/core/mergeConfig.js +19 -4
  145. package/node_modules/axios/lib/core/methodList.js +17 -0
  146. package/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  147. package/node_modules/axios/lib/defaults/index.js +2 -1
  148. package/node_modules/axios/lib/env/data.js +1 -1
  149. package/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
  150. package/node_modules/axios/lib/helpers/HttpStatusCode.js +12 -1
  151. package/node_modules/axios/lib/helpers/combineURLs.js +11 -3
  152. package/node_modules/axios/lib/helpers/composeSignals.js +12 -1
  153. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +115 -54
  154. package/node_modules/axios/lib/helpers/formDataToJSON.js +11 -5
  155. package/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
  156. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  157. package/node_modules/axios/lib/helpers/parseHeaders.js +5 -3
  158. package/node_modules/axios/lib/helpers/progressEventReducer.js +4 -4
  159. package/node_modules/axios/lib/helpers/resolveConfig.js +5 -17
  160. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +300 -5
  161. package/node_modules/axios/lib/helpers/throttle.js +3 -2
  162. package/node_modules/axios/lib/helpers/toFormData.js +17 -23
  163. package/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  164. package/node_modules/axios/lib/utils.js +151 -18
  165. package/node_modules/axios/package.json +21 -19
  166. package/node_modules/chalk/package.json +1 -1
  167. package/node_modules/chalk/source/index.js +2 -1
  168. package/node_modules/cpu-features/build/config.gypi +2 -2
  169. package/node_modules/ejs/README.md +64 -28
  170. package/node_modules/ejs/bin/cli.js +220 -158
  171. package/node_modules/ejs/ejs.js +64 -94
  172. package/node_modules/ejs/ejs.min.js +1 -1
  173. package/node_modules/ejs/jakefile.js +44 -0
  174. package/node_modules/ejs/lib/cjs/ejs.js +64 -63
  175. package/node_modules/ejs/lib/cjs/parseargs.js +129 -77
  176. package/node_modules/ejs/lib/cjs/utils.js +0 -31
  177. package/node_modules/ejs/lib/esm/ejs.js +66 -65
  178. package/node_modules/ejs/lib/esm/parseargs.js +136 -82
  179. package/node_modules/ejs/lib/esm/utils.js +0 -32
  180. package/node_modules/ejs/package.json +3 -2
  181. package/node_modules/ejs/usage.txt +9 -9
  182. package/node_modules/follow-redirects/index.js +10 -1
  183. package/node_modules/follow-redirects/package.json +1 -1
  184. package/node_modules/graphql-ws/dist/client.cjs +28 -13
  185. package/node_modules/graphql-ws/dist/client.js +28 -13
  186. package/node_modules/graphql-ws/dist/index.cjs +1 -1
  187. package/node_modules/graphql-ws/dist/index.d.cts +1 -1
  188. package/node_modules/graphql-ws/dist/index.d.ts +1 -1
  189. package/node_modules/graphql-ws/dist/index.js +1 -1
  190. package/node_modules/graphql-ws/dist/{server-B8ZBs9OC.d.ts → server-BzBeHlSW.d.ts} +26 -1
  191. package/node_modules/graphql-ws/dist/{server-DN5-9C2B.cjs → server-Ce-Z86Ys.cjs} +10 -4
  192. package/node_modules/graphql-ws/dist/{server-ChpuX357.d.cts → server-u6zrlwzL.d.cts} +26 -1
  193. package/node_modules/graphql-ws/dist/{server-DHPI7HHW.js → server-zBhvXJ_Z.js} +10 -4
  194. package/node_modules/graphql-ws/dist/use/@fastify/websocket.cjs +2 -2
  195. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.cts +8 -2
  196. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.ts +8 -2
  197. package/node_modules/graphql-ws/dist/use/@fastify/websocket.js +2 -2
  198. package/node_modules/graphql-ws/dist/use/bun.cjs +1 -1
  199. package/node_modules/graphql-ws/dist/use/bun.d.cts +2 -2
  200. package/node_modules/graphql-ws/dist/use/bun.d.ts +2 -2
  201. package/node_modules/graphql-ws/dist/use/bun.js +2 -2
  202. package/node_modules/graphql-ws/dist/use/crossws.cjs +16 -4
  203. package/node_modules/graphql-ws/dist/use/crossws.d.cts +6 -1
  204. package/node_modules/graphql-ws/dist/use/crossws.d.ts +6 -1
  205. package/node_modules/graphql-ws/dist/use/crossws.js +16 -4
  206. package/node_modules/graphql-ws/dist/use/deno.d.ts +1 -1
  207. package/node_modules/graphql-ws/dist/use/deno.js +1 -1
  208. package/node_modules/graphql-ws/dist/use/uWebSockets.cjs +2 -2
  209. package/node_modules/graphql-ws/dist/use/uWebSockets.d.cts +8 -2
  210. package/node_modules/graphql-ws/dist/use/uWebSockets.d.ts +8 -2
  211. package/node_modules/graphql-ws/dist/use/uWebSockets.js +2 -2
  212. package/node_modules/graphql-ws/dist/use/ws.cjs +2 -2
  213. package/node_modules/graphql-ws/dist/use/ws.d.cts +8 -2
  214. package/node_modules/graphql-ws/dist/use/ws.d.ts +8 -2
  215. package/node_modules/graphql-ws/dist/use/ws.js +2 -2
  216. package/node_modules/graphql-ws/package.json +3 -3
  217. package/node_modules/graphql-ws/umd/graphql-ws.js +28 -13
  218. package/node_modules/graphql-ws/umd/graphql-ws.min.js +1 -1
  219. package/node_modules/graphql-ws/umd/graphql-ws.min.js.gz +0 -0
  220. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs +522 -495
  221. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs.map +1 -1
  222. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js +24 -24
  223. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js.map +1 -1
  224. package/node_modules/js-yaml/dist/js-yaml.cjs.js +135 -78
  225. package/node_modules/js-yaml/dist/js-yaml.cjs.js.map +1 -1
  226. package/node_modules/js-yaml/dist/js-yaml.mjs +129 -72
  227. package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
  228. package/node_modules/js-yaml/node_modules/argparse/LICENSE +47 -0
  229. package/node_modules/js-yaml/node_modules/argparse/README.md +89 -0
  230. package/node_modules/js-yaml/node_modules/argparse/lib/_colorize.js +72 -0
  231. package/node_modules/js-yaml/node_modules/argparse/lib/argparse.d.ts +292 -0
  232. package/node_modules/{argparse → js-yaml/node_modules/argparse/lib}/argparse.js +1142 -1029
  233. package/node_modules/js-yaml/node_modules/argparse/lib/difflib.js +190 -0
  234. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/sub.js +4 -4
  235. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/textwrap.js +28 -28
  236. package/node_modules/js-yaml/node_modules/argparse/package.json +38 -0
  237. package/node_modules/js-yaml/package.json +12 -12
  238. package/node_modules/lando/.github/dependabot.yml +4 -0
  239. package/node_modules/lando/.github/workflows/build-util-images.yml +1 -1
  240. package/node_modules/lando/.github/workflows/pr-core-tests.yml +4 -2
  241. package/node_modules/lando/.github/workflows/pr-db-tools-tests.yml +4 -2
  242. package/node_modules/lando/.github/workflows/pr-django-tests.yml +4 -2
  243. package/node_modules/lando/.github/workflows/pr-linter.yml +2 -2
  244. package/node_modules/lando/.github/workflows/pr-unit-tests.yml +2 -2
  245. package/node_modules/lando/.node-version +1 -1
  246. package/node_modules/lando/bin/lando.js +3 -83
  247. package/node_modules/lando/config.yml +0 -1
  248. package/node_modules/lando/eslint.config.mjs +4 -0
  249. package/node_modules/lando/examples/django/.lando.yml +1 -1
  250. package/node_modules/lando/examples/django/README.md +1 -1
  251. package/node_modules/lando/examples/django/requirements.txt +1 -1
  252. package/node_modules/lando/examples/sql-export/README.md +5 -0
  253. package/node_modules/lando/lib/app.js +78 -84
  254. package/node_modules/lando/lib/art.js +86 -30
  255. package/node_modules/lando/lib/bootstrap.js +148 -45
  256. package/node_modules/lando/lib/cache.js +14 -15
  257. package/node_modules/lando/lib/cli.js +67 -63
  258. package/node_modules/lando/lib/compose.js +76 -45
  259. package/node_modules/lando/lib/config.js +51 -33
  260. package/node_modules/lando/lib/daemon.js +27 -10
  261. package/node_modules/lando/lib/docker.js +46 -19
  262. package/node_modules/lando/lib/engine.js +131 -144
  263. package/node_modules/lando/lib/env.js +25 -46
  264. package/node_modules/lando/lib/error.js +15 -6
  265. package/node_modules/lando/lib/esm/package.json +3 -0
  266. package/node_modules/lando/lib/esm/string-argv.js +2 -0
  267. package/node_modules/lando/lib/esm/yargs.js +2 -0
  268. package/node_modules/lando/lib/events.js +15 -15
  269. package/node_modules/lando/lib/factory.js +43 -14
  270. package/node_modules/lando/lib/formatters.js +19 -31
  271. package/node_modules/lando/lib/lando.js +59 -48
  272. package/node_modules/lando/lib/logger.js +12 -24
  273. package/node_modules/lando/lib/plugins.js +27 -15
  274. package/node_modules/lando/lib/promise.js +17 -17
  275. package/node_modules/lando/lib/router.js +75 -21
  276. package/node_modules/lando/lib/scan.js +29 -12
  277. package/node_modules/lando/lib/shell.js +44 -20
  278. package/node_modules/lando/lib/user.js +14 -20
  279. package/node_modules/lando/lib/utils.js +87 -44
  280. package/node_modules/lando/lib/yaml.js +11 -9
  281. package/node_modules/lando/node_modules/ansi-regex/index.d.ts +33 -0
  282. package/node_modules/lando/node_modules/ansi-regex/index.js +15 -0
  283. package/node_modules/lando/node_modules/ansi-regex/package.json +61 -0
  284. package/node_modules/lando/node_modules/ansi-regex/readme.md +66 -0
  285. package/node_modules/lando/node_modules/cliui/README.md +26 -6
  286. package/node_modules/lando/node_modules/cliui/build/lib/index.js +2 -2
  287. package/node_modules/lando/node_modules/cliui/build/tsconfig.tsbuildinfo +1 -0
  288. package/node_modules/lando/node_modules/cliui/index.mjs +7 -5
  289. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.d.ts +39 -0
  290. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.js +82 -0
  291. package/node_modules/lando/node_modules/cliui/node_modules/string-width/license +9 -0
  292. package/node_modules/lando/node_modules/cliui/node_modules/string-width/package.json +64 -0
  293. package/node_modules/lando/node_modules/cliui/node_modules/string-width/readme.md +66 -0
  294. package/node_modules/lando/node_modules/cliui/package.json +21 -32
  295. package/node_modules/lando/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  296. package/node_modules/lando/node_modules/emoji-regex/README.md +107 -0
  297. package/node_modules/lando/node_modules/emoji-regex/index.d.ts +3 -0
  298. package/node_modules/lando/node_modules/emoji-regex/index.js +4 -0
  299. package/node_modules/lando/node_modules/emoji-regex/index.mjs +4 -0
  300. package/node_modules/lando/node_modules/emoji-regex/package.json +45 -0
  301. package/node_modules/lando/node_modules/string-width/index.d.ts +39 -0
  302. package/node_modules/lando/node_modules/string-width/index.js +203 -0
  303. package/node_modules/lando/node_modules/string-width/license +9 -0
  304. package/node_modules/lando/node_modules/string-width/package.json +65 -0
  305. package/node_modules/lando/node_modules/string-width/readme.md +66 -0
  306. package/node_modules/lando/node_modules/strip-ansi/index.d.ts +15 -0
  307. package/node_modules/lando/node_modules/strip-ansi/index.js +19 -0
  308. package/node_modules/lando/node_modules/strip-ansi/license +9 -0
  309. package/node_modules/lando/node_modules/strip-ansi/package.json +59 -0
  310. package/node_modules/lando/node_modules/strip-ansi/readme.md +37 -0
  311. package/node_modules/lando/node_modules/yargs/README.md +16 -36
  312. package/node_modules/lando/node_modules/yargs/browser.d.ts +5 -0
  313. package/node_modules/lando/node_modules/yargs/browser.mjs +2 -2
  314. package/node_modules/lando/node_modules/yargs/build/lib/command.js +308 -211
  315. package/node_modules/lando/node_modules/yargs/build/lib/completion-templates.js +28 -9
  316. package/node_modules/lando/node_modules/yargs/build/lib/completion.js +233 -91
  317. package/node_modules/lando/node_modules/yargs/build/lib/middleware.js +51 -16
  318. package/node_modules/lando/node_modules/yargs/build/lib/usage.js +88 -52
  319. package/node_modules/lando/node_modules/yargs/build/lib/utils/apply-extends.js +4 -2
  320. package/node_modules/lando/node_modules/yargs/build/lib/utils/levenshtein.js +9 -1
  321. package/node_modules/lando/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  322. package/node_modules/lando/node_modules/yargs/build/lib/validation.js +51 -54
  323. package/node_modules/lando/node_modules/yargs/build/lib/yargs-factory.js +1261 -887
  324. package/node_modules/lando/node_modules/yargs/build/lib/yerror.js +3 -1
  325. package/node_modules/lando/node_modules/yargs/index.mjs +4 -2
  326. package/node_modules/lando/node_modules/yargs/lib/platform-shims/browser.mjs +9 -2
  327. package/node_modules/lando/node_modules/yargs/lib/platform-shims/esm.mjs +22 -22
  328. package/node_modules/lando/node_modules/yargs/locales/cs.json +51 -0
  329. package/node_modules/lando/node_modules/yargs/locales/de.json +1 -1
  330. package/node_modules/lando/node_modules/yargs/locales/en.json +4 -0
  331. package/node_modules/lando/node_modules/yargs/locales/fi.json +1 -1
  332. package/node_modules/lando/node_modules/yargs/locales/he.json +55 -0
  333. package/node_modules/lando/node_modules/yargs/locales/ka.json +55 -0
  334. package/node_modules/lando/node_modules/yargs/locales/ko.json +25 -25
  335. package/node_modules/lando/node_modules/yargs/locales/ru.json +6 -1
  336. package/node_modules/lando/node_modules/yargs/locales/uk_UA.json +51 -0
  337. package/node_modules/lando/node_modules/yargs/locales/uz.json +52 -0
  338. package/node_modules/lando/node_modules/yargs/locales/zh_TW.json +50 -46
  339. package/node_modules/lando/node_modules/yargs/package.json +41 -60
  340. package/node_modules/lando/node_modules/yargs-parser/build/lib/index.js +13 -8
  341. package/node_modules/lando/node_modules/yargs-parser/build/lib/yargs-parser.js +21 -12
  342. package/node_modules/lando/node_modules/yargs-parser/package.json +31 -40
  343. package/node_modules/lando/package.json +59 -22
  344. package/node_modules/lando/plugins/lando-compose/index.js +4 -0
  345. package/node_modules/lando/plugins/lando-compose/lib/utils.js +16 -7
  346. package/node_modules/lando/plugins/lando-core/index.js +1 -2
  347. package/node_modules/lando/plugins/lando-core/lib/utils.js +35 -15
  348. package/node_modules/lando/plugins/lando-core/lib/warnings.js +27 -0
  349. package/node_modules/lando/plugins/lando-core/tasks/destroy.js +1 -1
  350. package/node_modules/lando/plugins/lando-core/tasks/rebuild.js +1 -1
  351. package/node_modules/lando/plugins/lando-events/index.js +4 -0
  352. package/node_modules/lando/plugins/lando-events/lib/utils.js +27 -6
  353. package/node_modules/lando/plugins/lando-networking/app.js +2 -2
  354. package/node_modules/lando/plugins/lando-networking/index.js +9 -2
  355. package/node_modules/lando/plugins/lando-networking/test/app.spec.js +87 -0
  356. package/node_modules/lando/plugins/lando-proxy/index.js +6 -1
  357. package/node_modules/lando/plugins/lando-proxy/lib/utils.js +63 -28
  358. package/node_modules/lando/plugins/lando-proxy/lib/warnings.js +10 -0
  359. package/node_modules/lando/plugins/lando-recipes/index.js +4 -0
  360. package/node_modules/lando/plugins/lando-recipes/lib/build.js +22 -4
  361. package/node_modules/lando/plugins/lando-recipes/lib/options.js +42 -66
  362. package/node_modules/lando/plugins/lando-recipes/lib/utils.js +30 -13
  363. package/node_modules/lando/plugins/lando-recipes/lib/warnings.js +5 -0
  364. package/node_modules/lando/plugins/lando-recipes/sources/remote.js +0 -26
  365. package/node_modules/lando/plugins/lando-recipes/tasks/init.js +1 -1
  366. package/node_modules/lando/plugins/lando-services/index.js +4 -0
  367. package/node_modules/lando/plugins/lando-services/lib/utils.js +38 -15
  368. package/node_modules/lando/plugins/lando-sharing/index.js +4 -0
  369. package/node_modules/lando/plugins/lando-sharing/lib/utils.js +28 -5
  370. package/node_modules/lando/plugins/lando-tooling/index.js +5 -0
  371. package/node_modules/lando/plugins/lando-tooling/lib/build.js +5 -2
  372. package/node_modules/lando/plugins/lando-tooling/lib/utils.js +83 -47
  373. package/node_modules/lando/test/cli.spec.js +59 -21
  374. package/node_modules/lando/test/docker.spec.js +24 -28
  375. package/node_modules/lando/test/env.spec.js +8 -0
  376. package/node_modules/lando/test/error.spec.js +1 -1
  377. package/node_modules/lando/test/events.spec.js +6 -7
  378. package/node_modules/lando/test/lando.spec.js +1 -1
  379. package/node_modules/lando/test/plugins.spec.js +2 -3
  380. package/node_modules/lando/test/promise.spec.js +1 -1
  381. package/node_modules/lando/test/scan.spec.js +1 -1
  382. package/node_modules/lando/test/shell.spec.js +19 -2
  383. package/node_modules/lando/test/utils.spec.js +52 -0
  384. package/node_modules/open/index.js +3 -5
  385. package/node_modules/open/package.json +1 -1
  386. package/node_modules/socket.io-client/README.md +1 -0
  387. package/node_modules/socket.io-client/build/cjs/index.d.ts +3 -3
  388. package/node_modules/socket.io-client/build/cjs/manager.d.ts +1 -2
  389. package/node_modules/socket.io-client/build/cjs/manager.js +17 -7
  390. package/node_modules/socket.io-client/build/cjs/socket.d.ts +5 -2
  391. package/node_modules/socket.io-client/build/cjs/socket.js +0 -1
  392. package/node_modules/socket.io-client/build/esm/index.d.ts +3 -3
  393. package/node_modules/socket.io-client/build/esm/index.js +1 -1
  394. package/node_modules/socket.io-client/build/esm/manager.d.ts +1 -2
  395. package/node_modules/socket.io-client/build/esm/package.json +1 -1
  396. package/node_modules/socket.io-client/build/esm/socket.d.ts +5 -2
  397. package/node_modules/socket.io-client/build/esm/socket.js +0 -1
  398. package/node_modules/socket.io-client/build/esm-debug/index.d.ts +3 -3
  399. package/node_modules/socket.io-client/build/esm-debug/index.js +1 -1
  400. package/node_modules/socket.io-client/build/esm-debug/manager.d.ts +1 -2
  401. package/node_modules/socket.io-client/build/esm-debug/package.json +1 -1
  402. package/node_modules/socket.io-client/build/esm-debug/socket.d.ts +5 -2
  403. package/node_modules/socket.io-client/build/esm-debug/socket.js +0 -1
  404. package/node_modules/socket.io-client/dist/socket.io.esm.min.js +3 -3
  405. package/node_modules/socket.io-client/dist/socket.io.esm.min.js.map +1 -1
  406. package/node_modules/socket.io-client/dist/socket.io.js +174 -242
  407. package/node_modules/socket.io-client/dist/socket.io.js.map +1 -1
  408. package/node_modules/socket.io-client/dist/socket.io.min.js +3 -3
  409. package/node_modules/socket.io-client/dist/socket.io.min.js.map +1 -1
  410. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js +3 -3
  411. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js.map +1 -1
  412. package/node_modules/socket.io-client/package.json +2 -2
  413. package/node_modules/string-argv/CHANGELOG.md +38 -0
  414. package/node_modules/string-argv/README.md +96 -50
  415. package/node_modules/string-argv/index.d.ts +2 -0
  416. package/node_modules/string-argv/index.js +55 -35
  417. package/node_modules/string-argv/package.json +50 -40
  418. package/node_modules/undici/README.md +35 -4
  419. package/node_modules/undici/docs/docs/api/Agent.md +8 -8
  420. package/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  421. package/node_modules/undici/docs/docs/api/Client.md +11 -6
  422. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +9 -6
  423. package/node_modules/undici/docs/docs/api/Dispatcher.md +12 -0
  424. package/node_modules/undici/docs/docs/api/Errors.md +101 -1
  425. package/node_modules/undici/docs/docs/api/Fetch.md +10 -0
  426. package/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  427. package/node_modules/undici/docs/docs/api/Interceptors.md +17 -9
  428. package/node_modules/undici/docs/docs/api/Pool.md +5 -6
  429. package/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  430. package/node_modules/undici/docs/docs/index.md +22 -13
  431. package/node_modules/undici/docs/docs/type-map.json +66 -66
  432. package/node_modules/undici/lib/api/readable.js +1 -2
  433. package/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  434. package/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  435. package/node_modules/undici/lib/core/connect.js +10 -4
  436. package/node_modules/undici/lib/core/constants.js +12 -1
  437. package/node_modules/undici/lib/core/errors.js +38 -1
  438. package/node_modules/undici/lib/core/request.js +39 -3
  439. package/node_modules/undici/lib/core/symbols.js +2 -0
  440. package/node_modules/undici/lib/core/util.js +26 -40
  441. package/node_modules/undici/lib/dispatcher/agent.js +6 -2
  442. package/node_modules/undici/lib/dispatcher/client-h1.js +127 -84
  443. package/node_modules/undici/lib/dispatcher/client-h2.js +97 -21
  444. package/node_modules/undici/lib/dispatcher/client.js +10 -2
  445. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  446. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  447. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +21 -6
  448. package/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  449. package/node_modules/undici/lib/dispatcher/pool-base.js +117 -19
  450. package/node_modules/undici/lib/dispatcher/pool.js +99 -13
  451. package/node_modules/undici/lib/dispatcher/proxy-agent.js +34 -11
  452. package/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  453. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  454. package/node_modules/undici/lib/handler/cache-handler.js +153 -15
  455. package/node_modules/undici/lib/handler/deduplication-handler.js +126 -52
  456. package/node_modules/undici/lib/handler/redirect-handler.js +31 -6
  457. package/node_modules/undici/lib/handler/retry-handler.js +116 -24
  458. package/node_modules/undici/lib/interceptor/cache.js +15 -4
  459. package/node_modules/undici/lib/interceptor/decompress.js +253 -73
  460. package/node_modules/undici/lib/interceptor/dns.js +11 -0
  461. package/node_modules/undici/lib/interceptor/response-error.js +72 -28
  462. package/node_modules/undici/lib/milo/LICENSE.md +7 -0
  463. package/node_modules/undici/lib/milo/no-simd.js +1002 -0
  464. package/node_modules/undici/lib/milo/simd.js +1002 -0
  465. package/node_modules/undici/lib/mock/mock-agent.js +11 -0
  466. package/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  467. package/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  468. package/node_modules/undici/lib/util/cache.js +11 -5
  469. package/node_modules/undici/lib/web/cache/cache.js +17 -8
  470. package/node_modules/undici/lib/web/cache/cachestorage.js +11 -5
  471. package/node_modules/undici/lib/web/cookies/index.js +19 -7
  472. package/node_modules/undici/lib/web/cookies/util.js +21 -2
  473. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  474. package/node_modules/undici/lib/web/eventsource/eventsource.js +50 -3
  475. package/node_modules/undici/lib/web/fetch/body.js +69 -53
  476. package/node_modules/undici/lib/web/fetch/data-url.js +6 -6
  477. package/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  478. package/node_modules/undici/lib/web/fetch/formdata.js +30 -36
  479. package/node_modules/undici/lib/web/fetch/headers.js +36 -33
  480. package/node_modules/undici/lib/web/fetch/index.js +54 -29
  481. package/node_modules/undici/lib/web/fetch/request.js +74 -79
  482. package/node_modules/undici/lib/web/fetch/response.js +43 -44
  483. package/node_modules/undici/lib/web/fetch/util.js +7 -7
  484. package/node_modules/undici/lib/web/infra/index.js +16 -1
  485. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  486. package/node_modules/undici/lib/web/webidl/index.js +2 -14
  487. package/node_modules/undici/lib/web/websocket/connection.js +33 -12
  488. package/node_modules/undici/lib/web/websocket/events.js +43 -26
  489. package/node_modules/undici/lib/web/websocket/receiver.js +27 -4
  490. package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +13 -10
  491. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +19 -4
  492. package/node_modules/undici/lib/web/websocket/websocket.js +44 -41
  493. package/node_modules/undici/package.json +7 -5
  494. package/node_modules/undici/types/cache-interceptor.d.ts +10 -0
  495. package/node_modules/undici/types/client.d.ts +10 -4
  496. package/node_modules/undici/types/diagnostics-channel.d.ts +2 -1
  497. package/node_modules/undici/types/errors.d.ts +16 -1
  498. package/node_modules/undici/types/h2c-client.d.ts +1 -1
  499. package/node_modules/undici/types/interceptors.d.ts +7 -2
  500. package/node_modules/undici/types/webidl.d.ts +13 -7
  501. package/node_modules/{lando/node_modules/js-yaml → unicode-segmenter}/LICENSE +6 -6
  502. package/node_modules/unicode-segmenter/README.md +324 -0
  503. package/node_modules/unicode-segmenter/_emoji_data.cjs +24 -0
  504. package/node_modules/unicode-segmenter/_emoji_data.d.cts +1 -0
  505. package/node_modules/unicode-segmenter/_emoji_data.d.ts +12 -0
  506. package/node_modules/unicode-segmenter/_emoji_data.js +26 -0
  507. package/node_modules/unicode-segmenter/_general_data.cjs +30 -0
  508. package/node_modules/unicode-segmenter/_general_data.d.cts +1 -0
  509. package/node_modules/unicode-segmenter/_general_data.d.ts +16 -0
  510. package/node_modules/unicode-segmenter/_general_data.js +34 -0
  511. package/node_modules/unicode-segmenter/_grapheme_data.cjs +125 -0
  512. package/node_modules/unicode-segmenter/_grapheme_data.d.cts +1 -0
  513. package/node_modules/unicode-segmenter/_grapheme_data.d.ts +112 -0
  514. package/node_modules/unicode-segmenter/_grapheme_data.js +123 -0
  515. package/node_modules/unicode-segmenter/core.cjs +135 -0
  516. package/node_modules/unicode-segmenter/core.d.cts +1 -0
  517. package/node_modules/unicode-segmenter/core.d.ts +118 -0
  518. package/node_modules/unicode-segmenter/core.js +129 -0
  519. package/node_modules/unicode-segmenter/emoji.cjs +43 -0
  520. package/node_modules/unicode-segmenter/emoji.d.cts +1 -0
  521. package/node_modules/unicode-segmenter/emoji.d.ts +23 -0
  522. package/node_modules/unicode-segmenter/emoji.js +42 -0
  523. package/node_modules/unicode-segmenter/general.cjs +51 -0
  524. package/node_modules/unicode-segmenter/general.d.cts +1 -0
  525. package/node_modules/unicode-segmenter/general.d.ts +26 -0
  526. package/node_modules/unicode-segmenter/general.js +50 -0
  527. package/node_modules/unicode-segmenter/grapheme.cjs +405 -0
  528. package/node_modules/unicode-segmenter/grapheme.d.cts +1 -0
  529. package/node_modules/unicode-segmenter/grapheme.d.ts +64 -0
  530. package/node_modules/unicode-segmenter/grapheme.js +438 -0
  531. package/node_modules/unicode-segmenter/index.cjs +26 -0
  532. package/node_modules/unicode-segmenter/index.d.cts +1 -0
  533. package/node_modules/unicode-segmenter/index.d.ts +4 -0
  534. package/node_modules/unicode-segmenter/index.js +6 -0
  535. package/node_modules/unicode-segmenter/intl-adapter.cjs +124 -0
  536. package/node_modules/unicode-segmenter/intl-adapter.d.cts +1 -0
  537. package/node_modules/unicode-segmenter/intl-adapter.d.ts +62 -0
  538. package/node_modules/unicode-segmenter/intl-adapter.js +113 -0
  539. package/node_modules/unicode-segmenter/intl-polyfill.cjs +17 -0
  540. package/node_modules/unicode-segmenter/intl-polyfill.d.cts +1 -0
  541. package/node_modules/unicode-segmenter/intl-polyfill.d.ts +1 -0
  542. package/node_modules/unicode-segmenter/intl-polyfill.js +16 -0
  543. package/node_modules/unicode-segmenter/package.json +165 -0
  544. package/node_modules/unicode-segmenter/utils.cjs +99 -0
  545. package/node_modules/unicode-segmenter/utils.d.cts +1 -0
  546. package/node_modules/unicode-segmenter/utils.d.ts +64 -0
  547. package/node_modules/unicode-segmenter/utils.js +89 -0
  548. package/package.json +6 -6
  549. package/.buildkite/build-linux.sh +0 -68
  550. package/.buildkite/build-macos-installer.sh +0 -34
  551. package/.buildkite/build-macos.sh +0 -67
  552. package/.buildkite/build-windows-installer.ps1 +0 -65
  553. package/.buildkite/build-windows.ps1 +0 -59
  554. package/.buildkite/fetch-search-replace.sh +0 -65
  555. package/.buildkite/pack-release.sh +0 -26
  556. package/.buildkite/pipeline.yml +0 -81
  557. package/.buildkite/shared-pipeline-vars +0 -16
  558. package/.buildkite/sign-windows.ps1 +0 -21
  559. package/.buildkite/test-windows-installer-download.ps1 +0 -54
  560. package/.buildkite/test_pipeline.py +0 -69
  561. package/.bundle/config +0 -4
  562. package/.editorconfig +0 -11
  563. package/.prettierignore +0 -13
  564. package/.ruby-version +0 -1
  565. package/.sonarcloud.properties +0 -2
  566. package/.xcode-version +0 -1
  567. package/AGENTS.md +0 -101
  568. package/CLAUDE.md +0 -4
  569. package/Gemfile +0 -8
  570. package/Gemfile.lock +0 -377
  571. package/Makefile +0 -293
  572. package/cmd/installer-payload/main.go +0 -19
  573. package/cmd/installer-version/main.go +0 -22
  574. package/cmd/stamp-version/main.go +0 -25
  575. package/cmd/vip-next/auth_bootstrap.go +0 -139
  576. package/cmd/vip-next/auth_bootstrap_test.go +0 -379
  577. package/cmd/vip-next/auth_bypass_wiring_test.go +0 -162
  578. package/cmd/vip-next/cli_error_hook_test.go +0 -91
  579. package/cmd/vip-next/commands/app.go +0 -23
  580. package/cmd/vip-next/commands/app_debug_test.go +0 -89
  581. package/cmd/vip-next/commands/app_deploy.go +0 -217
  582. package/cmd/vip-next/commands/app_deploy_test.go +0 -297
  583. package/cmd/vip-next/commands/app_deploy_validate.go +0 -58
  584. package/cmd/vip-next/commands/app_get.go +0 -293
  585. package/cmd/vip-next/commands/app_get_test.go +0 -226
  586. package/cmd/vip-next/commands/app_list.go +0 -93
  587. package/cmd/vip-next/commands/app_list_test.go +0 -95
  588. package/cmd/vip-next/commands/backup.go +0 -16
  589. package/cmd/vip-next/commands/backup_db.go +0 -137
  590. package/cmd/vip-next/commands/backup_db_test.go +0 -187
  591. package/cmd/vip-next/commands/cache.go +0 -16
  592. package/cmd/vip-next/commands/cache_purge_url.go +0 -90
  593. package/cmd/vip-next/commands/cache_purge_url_test.go +0 -154
  594. package/cmd/vip-next/commands/config.go +0 -17
  595. package/cmd/vip-next/commands/config_debug_test.go +0 -137
  596. package/cmd/vip-next/commands/config_envvar.go +0 -16
  597. package/cmd/vip-next/commands/config_envvar_delete.go +0 -135
  598. package/cmd/vip-next/commands/config_envvar_delete_test.go +0 -140
  599. package/cmd/vip-next/commands/config_envvar_get.go +0 -72
  600. package/cmd/vip-next/commands/config_envvar_get_all.go +0 -58
  601. package/cmd/vip-next/commands/config_envvar_get_all_test.go +0 -83
  602. package/cmd/vip-next/commands/config_envvar_get_test.go +0 -79
  603. package/cmd/vip-next/commands/config_envvar_list.go +0 -70
  604. package/cmd/vip-next/commands/config_envvar_list_test.go +0 -134
  605. package/cmd/vip-next/commands/config_envvar_set.go +0 -162
  606. package/cmd/vip-next/commands/config_envvar_set_test.go +0 -251
  607. package/cmd/vip-next/commands/config_software.go +0 -229
  608. package/cmd/vip-next/commands/config_software_test.go +0 -161
  609. package/cmd/vip-next/commands/config_software_update.go +0 -270
  610. package/cmd/vip-next/commands/config_software_update_test.go +0 -334
  611. package/cmd/vip-next/commands/db.go +0 -16
  612. package/cmd/vip-next/commands/db_phpmyadmin.go +0 -122
  613. package/cmd/vip-next/commands/db_phpmyadmin_test.go +0 -277
  614. package/cmd/vip-next/commands/defensive_mode.go +0 -106
  615. package/cmd/vip-next/commands/defensive_mode_configure.go +0 -150
  616. package/cmd/vip-next/commands/defensive_mode_disable.go +0 -62
  617. package/cmd/vip-next/commands/defensive_mode_enable.go +0 -62
  618. package/cmd/vip-next/commands/defensive_mode_test.go +0 -389
  619. package/cmd/vip-next/commands/devenv.go +0 -48
  620. package/cmd/vip-next/commands/devenv_create_appinfo.go +0 -158
  621. package/cmd/vip-next/commands/devenv_create_appinfo_test.go +0 -29
  622. package/cmd/vip-next/commands/devenv_create_test.go +0 -269
  623. package/cmd/vip-next/commands/devenv_data.go +0 -86
  624. package/cmd/vip-next/commands/devenv_data_confirm_test.go +0 -49
  625. package/cmd/vip-next/commands/devenv_debug_test.go +0 -34
  626. package/cmd/vip-next/commands/devenv_e2e_gate_test.go +0 -17
  627. package/cmd/vip-next/commands/devenv_e2e_test.go +0 -34
  628. package/cmd/vip-next/commands/devenv_envvar.go +0 -180
  629. package/cmd/vip-next/commands/devenv_envvar_test.go +0 -183
  630. package/cmd/vip-next/commands/devenv_exec.go +0 -75
  631. package/cmd/vip-next/commands/devenv_exec_test.go +0 -39
  632. package/cmd/vip-next/commands/devenv_flag_grammar_test.go +0 -241
  633. package/cmd/vip-next/commands/devenv_lifecycle.go +0 -778
  634. package/cmd/vip-next/commands/devenv_logs.go +0 -29
  635. package/cmd/vip-next/commands/devenv_resolve.go +0 -106
  636. package/cmd/vip-next/commands/devenv_resolve_test.go +0 -221
  637. package/cmd/vip-next/commands/devenv_sync.go +0 -256
  638. package/cmd/vip-next/commands/devenv_sync_sites.go +0 -116
  639. package/cmd/vip-next/commands/devenv_sync_sites_test.go +0 -151
  640. package/cmd/vip-next/commands/devenv_sync_test.go +0 -63
  641. package/cmd/vip-next/commands/devenv_test.go +0 -60
  642. package/cmd/vip-next/commands/devenv_update.go +0 -207
  643. package/cmd/vip-next/commands/devenv_update_test.go +0 -109
  644. package/cmd/vip-next/commands/devenv_versions_proxy_test.go +0 -133
  645. package/cmd/vip-next/commands/edge_workers.go +0 -197
  646. package/cmd/vip-next/commands/edge_workers_flags.go +0 -56
  647. package/cmd/vip-next/commands/edge_workers_local.go +0 -127
  648. package/cmd/vip-next/commands/edge_workers_mutation.go +0 -130
  649. package/cmd/vip-next/commands/edge_workers_read.go +0 -103
  650. package/cmd/vip-next/commands/edge_workers_test.go +0 -272
  651. package/cmd/vip-next/commands/export.go +0 -16
  652. package/cmd/vip-next/commands/export_sql.go +0 -333
  653. package/cmd/vip-next/commands/export_sql_test.go +0 -321
  654. package/cmd/vip-next/commands/format_env.go +0 -17
  655. package/cmd/vip-next/commands/import.go +0 -19
  656. package/cmd/vip-next/commands/import_debug_test.go +0 -110
  657. package/cmd/vip-next/commands/import_media.go +0 -433
  658. package/cmd/vip-next/commands/import_media_abort.go +0 -76
  659. package/cmd/vip-next/commands/import_media_confirm.go +0 -83
  660. package/cmd/vip-next/commands/import_media_confirm_test.go +0 -249
  661. package/cmd/vip-next/commands/import_media_fetch_test.go +0 -98
  662. package/cmd/vip-next/commands/import_media_status.go +0 -58
  663. package/cmd/vip-next/commands/import_media_test.go +0 -370
  664. package/cmd/vip-next/commands/import_sql.go +0 -1161
  665. package/cmd/vip-next/commands/import_sql_status.go +0 -67
  666. package/cmd/vip-next/commands/import_sql_test.go +0 -746
  667. package/cmd/vip-next/commands/import_validate_files.go +0 -157
  668. package/cmd/vip-next/commands/import_validate_files_test.go +0 -157
  669. package/cmd/vip-next/commands/import_validate_sql.go +0 -207
  670. package/cmd/vip-next/commands/import_validate_sql_test.go +0 -293
  671. package/cmd/vip-next/commands/login.go +0 -53
  672. package/cmd/vip-next/commands/login_test.go +0 -25
  673. package/cmd/vip-next/commands/logout.go +0 -43
  674. package/cmd/vip-next/commands/logout_test.go +0 -158
  675. package/cmd/vip-next/commands/logs.go +0 -169
  676. package/cmd/vip-next/commands/logs_test.go +0 -174
  677. package/cmd/vip-next/commands/nodeflag_aliases.go +0 -59
  678. package/cmd/vip-next/commands/progress_renderer.go +0 -118
  679. package/cmd/vip-next/commands/progress_renderer_test.go +0 -28
  680. package/cmd/vip-next/commands/searchreplace.go +0 -75
  681. package/cmd/vip-next/commands/searchreplace_debug_test.go +0 -82
  682. package/cmd/vip-next/commands/searchreplace_test.go +0 -155
  683. package/cmd/vip-next/commands/slowlogs.go +0 -167
  684. package/cmd/vip-next/commands/slowlogs_test.go +0 -159
  685. package/cmd/vip-next/commands/sqlreport.go +0 -183
  686. package/cmd/vip-next/commands/sqlreport_test.go +0 -66
  687. package/cmd/vip-next/commands/sync.go +0 -189
  688. package/cmd/vip-next/commands/sync_confirm.go +0 -121
  689. package/cmd/vip-next/commands/sync_confirm_test.go +0 -202
  690. package/cmd/vip-next/commands/sync_render.go +0 -207
  691. package/cmd/vip-next/commands/sync_render_test.go +0 -101
  692. package/cmd/vip-next/commands/sync_test.go +0 -148
  693. package/cmd/vip-next/commands/update.go +0 -85
  694. package/cmd/vip-next/commands/update_test.go +0 -49
  695. package/cmd/vip-next/commands/whoami.go +0 -161
  696. package/cmd/vip-next/commands/whoami_debug_test.go +0 -79
  697. package/cmd/vip-next/commands/whoami_test.go +0 -85
  698. package/cmd/vip-next/commands/wp.go +0 -376
  699. package/cmd/vip-next/commands/wp_debug_test.go +0 -32
  700. package/cmd/vip-next/commands/wp_test.go +0 -276
  701. package/cmd/vip-next/debug_args.go +0 -63
  702. package/cmd/vip-next/debug_test.go +0 -122
  703. package/cmd/vip-next/edge_workers_test.go +0 -108
  704. package/cmd/vip-next/flags_node_parity_test.go +0 -434
  705. package/cmd/vip-next/main.go +0 -391
  706. package/cmd/vip-next/main_test.go +0 -202
  707. package/cmd/vip-next/pendo_wiring_test.go +0 -148
  708. package/cmd/vip-next/root.go +0 -211
  709. package/cmd/vip-next/update_bootstrap.go +0 -94
  710. package/cmd/vip-next/update_bootstrap_test.go +0 -85
  711. package/cmd/vip-next/update_integration_test.go +0 -137
  712. package/cmd/vip-next-prerelease/main.go +0 -108
  713. package/cmd/vip-next-prerelease/main_test.go +0 -46
  714. package/docs/ARCHITECTURE.md +0 -95
  715. package/docs/BUILD-SIGNING.md +0 -501
  716. package/docs/CHANGELOG.md +0 -1844
  717. package/docs/COMMANDER-MIGRATION.md +0 -45
  718. package/docs/CONTRIBUTING.md +0 -29
  719. package/docs/CUTOVER-BREAKING-CHANGES.md +0 -261
  720. package/docs/DEBUGGING.md +0 -94
  721. package/docs/EDGE-WORKERS.md +0 -256
  722. package/docs/GO-UPDATES.md +0 -97
  723. package/docs/NPM-RELEASE-RECOVERY.md +0 -47
  724. package/docs/RELEASING.md +0 -211
  725. package/docs/SECURITY.md +0 -9
  726. package/docs/SETUP.md +0 -154
  727. package/docs/TESTING.md +0 -67
  728. package/docs/decisions/0001-operation-scoped-elevated-token-reuse.md +0 -87
  729. package/docs/dev-env-windows-wsl-testing.md +0 -191
  730. package/docs/vip-next-vip-command-reference.md +0 -257
  731. package/docs/vip-wp-line-parse-dfa.dot +0 -31
  732. package/eslint.config.js +0 -35
  733. package/fastlane/Fastfile +0 -204
  734. package/fastlane/example.env +0 -8
  735. package/fastlane/test_signing.rb +0 -83
  736. package/go.mod +0 -39
  737. package/go.sum +0 -127
  738. package/internal/appctx/app_resolver.go +0 -202
  739. package/internal/appctx/app_resolver_test.go +0 -187
  740. package/internal/appctx/confirm.go +0 -180
  741. package/internal/appctx/confirm_payload_test.go +0 -201
  742. package/internal/appctx/confirm_test.go +0 -120
  743. package/internal/appctx/context.go +0 -94
  744. package/internal/appctx/context_test.go +0 -56
  745. package/internal/appctx/env_resolver.go +0 -110
  746. package/internal/appctx/env_resolver_test.go +0 -215
  747. package/internal/appctx/format.go +0 -72
  748. package/internal/appctx/format_test.go +0 -75
  749. package/internal/appctx/interactive.go +0 -50
  750. package/internal/appctx/interactive_test.go +0 -134
  751. package/internal/appctx/middleware.go +0 -56
  752. package/internal/appctx/middleware_test.go +0 -88
  753. package/internal/appctx/prompts.go +0 -70
  754. package/internal/appctx/prompts_test.go +0 -97
  755. package/internal/appctx/required_args.go +0 -24
  756. package/internal/appctx/required_args_test.go +0 -38
  757. package/internal/appctx/telemetry.go +0 -22
  758. package/internal/appctx/telemetry_test.go +0 -42
  759. package/internal/appctx/wildcard.go +0 -29
  760. package/internal/appctx/wildcard_test.go +0 -53
  761. package/internal/auth/bypass.go +0 -84
  762. package/internal/auth/bypass_test.go +0 -97
  763. package/internal/auth/login.go +0 -156
  764. package/internal/auth/login_test.go +0 -184
  765. package/internal/auth/logout.go +0 -44
  766. package/internal/auth/logout_test.go +0 -78
  767. package/internal/auth/store.go +0 -130
  768. package/internal/auth/store_test.go +0 -339
  769. package/internal/auth/token.go +0 -117
  770. package/internal/auth/token_test.go +0 -90
  771. package/internal/backup/backup.go +0 -194
  772. package/internal/backup/backup_test.go +0 -228
  773. package/internal/cachepurge/cachepurge.go +0 -38
  774. package/internal/cachepurge/cachepurge_test.go +0 -92
  775. package/internal/customdeploy/archive.go +0 -205
  776. package/internal/customdeploy/archive_test.go +0 -174
  777. package/internal/customdeploy/customdeploy.go +0 -91
  778. package/internal/customdeploy/customdeploy_test.go +0 -82
  779. package/internal/debuglog/debuglog.go +0 -85
  780. package/internal/debuglog/debuglog_test.go +0 -44
  781. package/internal/defensivemode/api.go +0 -89
  782. package/internal/defensivemode/api_test.go +0 -122
  783. package/internal/devenv/adapters.go +0 -168
  784. package/internal/devenv/adapters_test.go +0 -44
  785. package/internal/devenv/adopt.go +0 -20
  786. package/internal/devenv/adopt_setup_test.go +0 -30
  787. package/internal/devenv/compose/labels.go +0 -90
  788. package/internal/devenv/compose/labels_test.go +0 -136
  789. package/internal/devenv/compose/project.go +0 -88
  790. package/internal/devenv/compose/project_test.go +0 -148
  791. package/internal/devenv/compose/render.go +0 -54
  792. package/internal/devenv/compose/render_test.go +0 -90
  793. package/internal/devenv/compose/services.go +0 -337
  794. package/internal/devenv/compose/services_test.go +0 -258
  795. package/internal/devenv/compose/testdata/full.golden.yml +0 -265
  796. package/internal/devenv/compose/types.go +0 -97
  797. package/internal/devenv/compose/types_test.go +0 -61
  798. package/internal/devenv/compose/view.go +0 -205
  799. package/internal/devenv/compose/view_test.go +0 -120
  800. package/internal/devenv/configfile.go +0 -300
  801. package/internal/devenv/configfile_test.go +0 -246
  802. package/internal/devenv/create.go +0 -130
  803. package/internal/devenv/create_test.go +0 -98
  804. package/internal/devenv/debug.go +0 -4
  805. package/internal/devenv/debug_test.go +0 -103
  806. package/internal/devenv/devenv.go +0 -434
  807. package/internal/devenv/devenv_test.go +0 -77
  808. package/internal/devenv/devexec.go +0 -140
  809. package/internal/devenv/devexec_test.go +0 -91
  810. package/internal/devenv/devlog/devlog.go +0 -219
  811. package/internal/devenv/devlog/devlog_test.go +0 -112
  812. package/internal/devenv/devterm/devterm.go +0 -65
  813. package/internal/devenv/devterm/devterm_pty.go +0 -58
  814. package/internal/devenv/devterm/devterm_stub.go +0 -20
  815. package/internal/devenv/devterm/devterm_test.go +0 -78
  816. package/internal/devenv/dockercli/capture.go +0 -84
  817. package/internal/devenv/dockercli/capture_test.go +0 -33
  818. package/internal/devenv/dockercli/compose.go +0 -30
  819. package/internal/devenv/dockercli/compose_test.go +0 -35
  820. package/internal/devenv/dockercli/runner.go +0 -214
  821. package/internal/devenv/dockercli/runner_test.go +0 -157
  822. package/internal/devenv/dockercli/socket.go +0 -56
  823. package/internal/devenv/dockercli/socket_test.go +0 -52
  824. package/internal/devenv/e2e_gate_test.go +0 -17
  825. package/internal/devenv/e2e_test.go +0 -499
  826. package/internal/devenv/e2esafety/gate_wiring_test.go +0 -90
  827. package/internal/devenv/e2esafety/safety.go +0 -52
  828. package/internal/devenv/e2esafety/safety_test.go +0 -71
  829. package/internal/devenv/eachenv_test.go +0 -132
  830. package/internal/devenv/editor.go +0 -82
  831. package/internal/devenv/editor_test.go +0 -60
  832. package/internal/devenv/envfile.go +0 -287
  833. package/internal/devenv/envvar.go +0 -165
  834. package/internal/devenv/envvar_test.go +0 -178
  835. package/internal/devenv/hostops/context.go +0 -38
  836. package/internal/devenv/hostops/context_test.go +0 -24
  837. package/internal/devenv/hostops/e2e_gate_test.go +0 -17
  838. package/internal/devenv/hostops/e2e_test.go +0 -429
  839. package/internal/devenv/hostops/elevate.go +0 -248
  840. package/internal/devenv/hostops/elevate_message_test.go +0 -35
  841. package/internal/devenv/hostops/elevate_test.go +0 -111
  842. package/internal/devenv/hostops/hosts.go +0 -255
  843. package/internal/devenv/hostops/hosts_test.go +0 -178
  844. package/internal/devenv/hostops/thumbprint_test.go +0 -57
  845. package/internal/devenv/hostops/trust.go +0 -115
  846. package/internal/devenv/hostops/trust_test.go +0 -90
  847. package/internal/devenv/hostrefresh.go +0 -127
  848. package/internal/devenv/hostrefresh_test.go +0 -123
  849. package/internal/devenv/importdata.go +0 -491
  850. package/internal/devenv/importdata_test.go +0 -142
  851. package/internal/devenv/importdecompress_test.go +0 -90
  852. package/internal/devenv/importgate_test.go +0 -166
  853. package/internal/devenv/importvalidate.go +0 -437
  854. package/internal/devenv/importvalidate_test.go +0 -293
  855. package/internal/devenv/info_table.go +0 -165
  856. package/internal/devenv/info_table_test.go +0 -111
  857. package/internal/devenv/instancedata/instancedata.go +0 -239
  858. package/internal/devenv/instancedata/instancedata_test.go +0 -281
  859. package/internal/devenv/instancedata/testdata/legacy_keys.json +0 -16
  860. package/internal/devenv/instancedata/testdata/unknown_keys.json +0 -19
  861. package/internal/devenv/lifecycle/adopt.go +0 -24
  862. package/internal/devenv/lifecycle/adopt_test.go +0 -43
  863. package/internal/devenv/lifecycle/health.go +0 -28
  864. package/internal/devenv/lifecycle/health_test.go +0 -34
  865. package/internal/devenv/lifecycle/hosts.go +0 -42
  866. package/internal/devenv/lifecycle/hosts_test.go +0 -41
  867. package/internal/devenv/lifecycle/migrate.go +0 -44
  868. package/internal/devenv/lifecycle/migrate_test.go +0 -78
  869. package/internal/devenv/lifecycle/pull.go +0 -19
  870. package/internal/devenv/lifecycle/pull_test.go +0 -29
  871. package/internal/devenv/lifecycle/setup.go +0 -35
  872. package/internal/devenv/lifecycle/setup_test.go +0 -46
  873. package/internal/devenv/lifecycle/start.go +0 -132
  874. package/internal/devenv/lifecycle/start_test.go +0 -350
  875. package/internal/devenv/lifecycle/teardown.go +0 -32
  876. package/internal/devenv/lifecycle/teardown_test.go +0 -83
  877. package/internal/devenv/lifecycle/types.go +0 -86
  878. package/internal/devenv/lifecycle/waiter.go +0 -49
  879. package/internal/devenv/lifecycle/waiter_test.go +0 -98
  880. package/internal/devenv/list.go +0 -49
  881. package/internal/devenv/list_test.go +0 -24
  882. package/internal/devenv/logs.go +0 -43
  883. package/internal/devenv/logs_test.go +0 -28
  884. package/internal/devenv/materialize.go +0 -44
  885. package/internal/devenv/materialize_test.go +0 -112
  886. package/internal/devenv/paths/paths.go +0 -42
  887. package/internal/devenv/paths/paths_test.go +0 -39
  888. package/internal/devenv/postimport.go +0 -134
  889. package/internal/devenv/postimport_test.go +0 -389
  890. package/internal/devenv/proxy/ca.go +0 -110
  891. package/internal/devenv/proxy/ca_test.go +0 -111
  892. package/internal/devenv/proxy/network.go +0 -28
  893. package/internal/devenv/proxy/network_test.go +0 -68
  894. package/internal/devenv/proxy/ports.go +0 -104
  895. package/internal/devenv/proxy/ports_test.go +0 -76
  896. package/internal/devenv/proxy/proxy.go +0 -143
  897. package/internal/devenv/proxy/proxy_test.go +0 -149
  898. package/internal/devenv/proxy/scripts/gen-certs.sh +0 -73
  899. package/internal/devenv/proxy/spec.go +0 -60
  900. package/internal/devenv/proxy/spec_test.go +0 -44
  901. package/internal/devenv/proxy/testhelpers_test.go +0 -7
  902. package/internal/devenv/proxy_policy_test.go +0 -155
  903. package/internal/devenv/syncplan.go +0 -573
  904. package/internal/devenv/syncplan_test.go +0 -256
  905. package/internal/devenv/syncsql.go +0 -247
  906. package/internal/devenv/syncsql_repair.go +0 -169
  907. package/internal/devenv/syncsql_repair_test.go +0 -150
  908. package/internal/devenv/syncsql_test.go +0 -220
  909. package/internal/devenv/update.go +0 -87
  910. package/internal/devenv/update_test.go +0 -47
  911. package/internal/edgeworkers/api.go +0 -173
  912. package/internal/edgeworkers/api_test.go +0 -256
  913. package/internal/edgeworkers/build.go +0 -188
  914. package/internal/edgeworkers/build_test.go +0 -175
  915. package/internal/edgeworkers/confirmation.go +0 -72
  916. package/internal/edgeworkers/deployment.go +0 -156
  917. package/internal/edgeworkers/deployment_test.go +0 -165
  918. package/internal/edgeworkers/output.go +0 -131
  919. package/internal/edgeworkers/output_test.go +0 -98
  920. package/internal/edgeworkers/project.go +0 -264
  921. package/internal/edgeworkers/project_test.go +0 -167
  922. package/internal/edgeworkers/scaffold.go +0 -88
  923. package/internal/edgeworkers/templates/README.md +0 -25
  924. package/internal/edgeworkers/templates/edge-workers.json +0 -4
  925. package/internal/edgeworkers/templates/gitignore +0 -2
  926. package/internal/edgeworkers/templates/package.json +0 -16
  927. package/internal/edgeworkers/templates/tsconfig.json +0 -6
  928. package/internal/edgeworkers/templates/worker.ts +0 -19
  929. package/internal/edgeworkers/types.go +0 -37
  930. package/internal/edgeworkers/validation.go +0 -177
  931. package/internal/envalias/envalias.go +0 -50
  932. package/internal/envalias/envalias_test.go +0 -147
  933. package/internal/envvar/envvar.go +0 -253
  934. package/internal/envvar/envvar_test.go +0 -274
  935. package/internal/envvar/reload_manifest.go +0 -99
  936. package/internal/envvar/reload_manifest_test.go +0 -44
  937. package/internal/envvar/value_confirm.go +0 -26
  938. package/internal/envvar/value_confirm_test.go +0 -22
  939. package/internal/exit/exit.go +0 -94
  940. package/internal/exit/exit_test.go +0 -119
  941. package/internal/gql/SCHEMA.md +0 -21
  942. package/internal/gql/client.go +0 -54
  943. package/internal/gql/client_test.go +0 -71
  944. package/internal/gql/debug_test.go +0 -79
  945. package/internal/gql/decoder_compat_helpers_test.go +0 -35
  946. package/internal/gql/decoder_compat_test.go +0 -78
  947. package/internal/gql/doc.go +0 -13
  948. package/internal/gql/edgeworkerinput/input.go +0 -58
  949. package/internal/gql/edgeworkerinput/input_test.go +0 -52
  950. package/internal/gql/error.go +0 -163
  951. package/internal/gql/error_test.go +0 -203
  952. package/internal/gql/generated.go +0 -10425
  953. package/internal/gql/genqlient.yaml +0 -26
  954. package/internal/gql/import_sql_marshal_test.go +0 -69
  955. package/internal/gql/operation.go +0 -67
  956. package/internal/gql/operation_test.go +0 -60
  957. package/internal/gql/operations/app_get.graphql +0 -43
  958. package/internal/gql/operations/app_list.graphql +0 -9
  959. package/internal/gql/operations/app_resolve.graphql +0 -37
  960. package/internal/gql/operations/backup_export_deploy.graphql +0 -123
  961. package/internal/gql/operations/cachepurge.graphql +0 -6
  962. package/internal/gql/operations/defensive_mode.graphql +0 -13
  963. package/internal/gql/operations/dev_env_create.graphql +0 -38
  964. package/internal/gql/operations/dev_env_sync.graphql +0 -15
  965. package/internal/gql/operations/edge_workers.graphql +0 -53
  966. package/internal/gql/operations/envvar.graphql +0 -52
  967. package/internal/gql/operations/fragments.graphql +0 -5
  968. package/internal/gql/operations/import_media.graphql +0 -61
  969. package/internal/gql/operations/import_sql.graphql +0 -135
  970. package/internal/gql/operations/logs.graphql +0 -22
  971. package/internal/gql/operations/me.graphql +0 -13
  972. package/internal/gql/operations/phpmyadmin.graphql +0 -21
  973. package/internal/gql/operations/slowlogs.graphql +0 -25
  974. package/internal/gql/operations/software.graphql +0 -53
  975. package/internal/gql/operations/sync.graphql +0 -51
  976. package/internal/gql/operations/wp.graphql +0 -37
  977. package/internal/gql/proxy_test.go +0 -62
  978. package/internal/gql/rechallenge.go +0 -218
  979. package/internal/gql/rechallenge_test.go +0 -471
  980. package/internal/gql/retry.go +0 -130
  981. package/internal/gql/retry_test.go +0 -230
  982. package/internal/gql/schema.gql +0 -9337
  983. package/internal/gql/transport.go +0 -65
  984. package/internal/gql/transport_helper.go +0 -24
  985. package/internal/httpproxy/callers_test.go +0 -211
  986. package/internal/httpproxy/debug_test.go +0 -32
  987. package/internal/httpproxy/httpproxy.go +0 -315
  988. package/internal/httpproxy/httpproxy_test.go +0 -435
  989. package/internal/installer/version.go +0 -41
  990. package/internal/installer/version_test.go +0 -33
  991. package/internal/keychain/fallback.go +0 -93
  992. package/internal/keychain/keychain.go +0 -197
  993. package/internal/keychain/keychain_select_test.go +0 -34
  994. package/internal/keychain/keychain_test.go +0 -112
  995. package/internal/logsapi/logsapi.go +0 -165
  996. package/internal/logsapi/logsapi_test.go +0 -82
  997. package/internal/mediaimport/mediaimport.go +0 -26
  998. package/internal/mediaimport/mediaimport_test.go +0 -46
  999. package/internal/mediaimport/status.go +0 -162
  1000. package/internal/mediaimport/status_test.go +0 -159
  1001. package/internal/mediaimport/tracker.go +0 -116
  1002. package/internal/mediaimport/tracker_test.go +0 -62
  1003. package/internal/nodeflags/nodeflags.go +0 -130
  1004. package/internal/nodeflags/nodeflags_test.go +0 -138
  1005. package/internal/nodeflags/optionalvalue.go +0 -123
  1006. package/internal/nodeflags/optionalvalue_test.go +0 -158
  1007. package/internal/output/csv.go +0 -178
  1008. package/internal/output/fields.go +0 -22
  1009. package/internal/output/fields_test.go +0 -21
  1010. package/internal/output/ids.go +0 -26
  1011. package/internal/output/ids_test.go +0 -32
  1012. package/internal/output/json.go +0 -113
  1013. package/internal/output/keyvalue.go +0 -35
  1014. package/internal/output/keyvalue_block.go +0 -77
  1015. package/internal/output/keyvalue_block_test.go +0 -95
  1016. package/internal/output/keyvalue_test.go +0 -35
  1017. package/internal/output/ordered.go +0 -44
  1018. package/internal/output/ordered_test.go +0 -42
  1019. package/internal/output/output.go +0 -62
  1020. package/internal/output/output_test.go +0 -400
  1021. package/internal/output/table.go +0 -231
  1022. package/internal/output/table_layout.go +0 -472
  1023. package/internal/output/table_layout_test.go +0 -107
  1024. package/internal/output/table_layout_tty_test.go +0 -63
  1025. package/internal/output/text.go +0 -24
  1026. package/internal/output/text_test.go +0 -31
  1027. package/internal/output/typename.go +0 -35
  1028. package/internal/output/typename_test.go +0 -48
  1029. package/internal/parity/backup_export_deploy_scenario_test.go +0 -285
  1030. package/internal/parity/cache_scenario_test.go +0 -173
  1031. package/internal/parity/command_surface_scenario_test.go +0 -530
  1032. package/internal/parity/defensive_mode_scenario_test.go +0 -133
  1033. package/internal/parity/diff.go +0 -128
  1034. package/internal/parity/diff_test.go +0 -155
  1035. package/internal/parity/differential_test.go +0 -166
  1036. package/internal/parity/edge_workers_build_smoke_test.go +0 -69
  1037. package/internal/parity/edge_workers_cases_test.go +0 -77
  1038. package/internal/parity/edge_workers_debug_test.go +0 -87
  1039. package/internal/parity/edge_workers_differential_test.go +0 -483
  1040. package/internal/parity/edge_workers_prompt_test.go +0 -151
  1041. package/internal/parity/env.go +0 -176
  1042. package/internal/parity/env_test.go +0 -211
  1043. package/internal/parity/envvar_mutation_scenario_test.go +0 -188
  1044. package/internal/parity/harness.go +0 -28
  1045. package/internal/parity/harness_test.go +0 -62
  1046. package/internal/parity/import_media_scenario_test.go +0 -207
  1047. package/internal/parity/import_sql_scenario_test.go +0 -198
  1048. package/internal/parity/import_validate_sql_scenario_test.go +0 -68
  1049. package/internal/parity/keychain.go +0 -538
  1050. package/internal/parity/keychain_test.go +0 -201
  1051. package/internal/parity/m5_differential_test.go +0 -185
  1052. package/internal/parity/m5_scenarios_test.go +0 -225
  1053. package/internal/parity/nodebin.go +0 -120
  1054. package/internal/parity/nodebin_test.go +0 -148
  1055. package/internal/parity/parker.go +0 -491
  1056. package/internal/parity/parker_discovery.go +0 -373
  1057. package/internal/parity/parker_discovery_test.go +0 -267
  1058. package/internal/parity/parker_live_test.go +0 -164
  1059. package/internal/parity/parker_test.go +0 -480
  1060. package/internal/parity/pendo_test.go +0 -122
  1061. package/internal/parity/phpmyadmin_scenario_test.go +0 -214
  1062. package/internal/parity/runner.go +0 -56
  1063. package/internal/parity/runner_test.go +0 -67
  1064. package/internal/parity/scenario.go +0 -82
  1065. package/internal/parity/scenario_test.go +0 -52
  1066. package/internal/parity/surface_differential_test.go +0 -494
  1067. package/internal/parity/sync_scenario_test.go +0 -172
  1068. package/internal/parity/vendored_src_test.go +0 -84
  1069. package/internal/parity/whoami_scenario_test.go +0 -69
  1070. package/internal/parity/wp_scenario_test.go +0 -428
  1071. package/internal/phpmyadmin/client.go +0 -221
  1072. package/internal/phpmyadmin/client_test.go +0 -418
  1073. package/internal/poll/poll.go +0 -85
  1074. package/internal/poll/poll_test.go +0 -136
  1075. package/internal/polling/polling.go +0 -97
  1076. package/internal/polling/polling_test.go +0 -59
  1077. package/internal/rechallenge/browser.go +0 -16
  1078. package/internal/rechallenge/client.go +0 -198
  1079. package/internal/rechallenge/client_test.go +0 -169
  1080. package/internal/rechallenge/errors.go +0 -137
  1081. package/internal/rechallenge/errors_test.go +0 -81
  1082. package/internal/rechallenge/flow.go +0 -232
  1083. package/internal/rechallenge/flow_noninteractive_test.go +0 -285
  1084. package/internal/rechallenge/flow_test.go +0 -217
  1085. package/internal/rechallenge/interactive.go +0 -90
  1086. package/internal/rechallenge/interactive_test.go +0 -106
  1087. package/internal/rechallenge/redact.go +0 -36
  1088. package/internal/rechallenge/redact_test.go +0 -142
  1089. package/internal/rechallenge/tokencache.go +0 -148
  1090. package/internal/rechallenge/tokencache_test.go +0 -139
  1091. package/internal/rechallenge/types.go +0 -100
  1092. package/internal/rechallenge/types_test.go +0 -56
  1093. package/internal/redact/redact.go +0 -99
  1094. package/internal/redact/redact_test.go +0 -80
  1095. package/internal/releasepromotion/buildkite.go +0 -233
  1096. package/internal/releasepromotion/buildkite_test.go +0 -284
  1097. package/internal/releasepromotion/contract.go +0 -165
  1098. package/internal/releasepromotion/contract_test.go +0 -211
  1099. package/internal/releasepromotion/github.go +0 -378
  1100. package/internal/releasepromotion/github_test.go +0 -399
  1101. package/internal/releasepromotion/optional_installers_test.go +0 -87
  1102. package/internal/releasepromotion/promoter.go +0 -134
  1103. package/internal/releasepromotion/promoter_test.go +0 -147
  1104. package/internal/releasepromotion/verify.go +0 -239
  1105. package/internal/releasepromotion/verify_test.go +0 -296
  1106. package/internal/searchreplace/debug_test.go +0 -71
  1107. package/internal/searchreplace/dumpdetails.go +0 -104
  1108. package/internal/searchreplace/dumpdetails_test.go +0 -86
  1109. package/internal/searchreplace/searchreplace.go +0 -261
  1110. package/internal/searchreplace/searchreplace_test.go +0 -250
  1111. package/internal/siteimport/debug_test.go +0 -34
  1112. package/internal/siteimport/siteimport.go +0 -18
  1113. package/internal/siteimport/siteimport_test.go +0 -19
  1114. package/internal/siteimport/sitetype.go +0 -74
  1115. package/internal/siteimport/sitetype_test.go +0 -62
  1116. package/internal/siteimport/status.go +0 -282
  1117. package/internal/siteimport/status_test.go +0 -234
  1118. package/internal/slowlogsapi/slowlogsapi.go +0 -176
  1119. package/internal/slowlogsapi/slowlogsapi_test.go +0 -93
  1120. package/internal/softwaresettings/format.go +0 -192
  1121. package/internal/softwaresettings/format_test.go +0 -123
  1122. package/internal/sqlexport/diskspace.go +0 -36
  1123. package/internal/sqlexport/diskspace_unix.go +0 -24
  1124. package/internal/sqlexport/diskspace_windows.go +0 -26
  1125. package/internal/sqlexport/download.go +0 -75
  1126. package/internal/sqlexport/download_test.go +0 -103
  1127. package/internal/sqlexport/export.go +0 -321
  1128. package/internal/sqlexport/export_test.go +0 -313
  1129. package/internal/sqlexport/format.go +0 -44
  1130. package/internal/sqlexport/livecopy.go +0 -150
  1131. package/internal/sqlexport/livecopy_test.go +0 -273
  1132. package/internal/sqlvalidation/devenv_checks_test.go +0 -134
  1133. package/internal/sqlvalidation/filename.go +0 -30
  1134. package/internal/sqlvalidation/line_by_line.go +0 -91
  1135. package/internal/sqlvalidation/line_by_line_test.go +0 -165
  1136. package/internal/sqlvalidation/multisite.go +0 -31
  1137. package/internal/sqlvalidation/multisite_test.go +0 -34
  1138. package/internal/sqlvalidation/sql.go +0 -510
  1139. package/internal/sqlvalidation/sql_test.go +0 -206
  1140. package/internal/sync/sync.go +0 -246
  1141. package/internal/sync/sync_test.go +0 -253
  1142. package/internal/telemetry/config.go +0 -34
  1143. package/internal/telemetry/default.go +0 -67
  1144. package/internal/telemetry/default_endpoint_test.go +0 -111
  1145. package/internal/telemetry/pendo.go +0 -185
  1146. package/internal/telemetry/pendo_auth_test.go +0 -92
  1147. package/internal/telemetry/pendo_test.go +0 -252
  1148. package/internal/telemetry/scrub.go +0 -90
  1149. package/internal/telemetry/scrub_test.go +0 -131
  1150. package/internal/telemetry/tracker.go +0 -102
  1151. package/internal/telemetry/tracker_test.go +0 -76
  1152. package/internal/telemetry/tracks.go +0 -82
  1153. package/internal/telemetry/tracks_test.go +0 -129
  1154. package/internal/telemetry/uuid.go +0 -50
  1155. package/internal/telemetry/uuid_test.go +0 -90
  1156. package/internal/tui/progress.go +0 -153
  1157. package/internal/tui/progress_test.go +0 -89
  1158. package/internal/tui/progress_tracker.go +0 -299
  1159. package/internal/tui/progress_tracker_test.go +0 -155
  1160. package/internal/update/archive.go +0 -134
  1161. package/internal/update/archive_test.go +0 -132
  1162. package/internal/update/download.go +0 -138
  1163. package/internal/update/download_test.go +0 -32
  1164. package/internal/update/github.go +0 -121
  1165. package/internal/update/install.go +0 -265
  1166. package/internal/update/install_test.go +0 -151
  1167. package/internal/update/lock_unix.go +0 -23
  1168. package/internal/update/lock_windows.go +0 -22
  1169. package/internal/update/native_test.go +0 -70
  1170. package/internal/update/notify.go +0 -91
  1171. package/internal/update/ownership.go +0 -117
  1172. package/internal/update/ownership_test.go +0 -102
  1173. package/internal/update/release.go +0 -120
  1174. package/internal/update/release_test.go +0 -168
  1175. package/internal/update/service.go +0 -197
  1176. package/internal/update/service_test.go +0 -118
  1177. package/internal/update/state.go +0 -116
  1178. package/internal/update/state_test.go +0 -132
  1179. package/internal/upload/debug_test.go +0 -76
  1180. package/internal/upload/filemeta.go +0 -112
  1181. package/internal/upload/filemeta_test.go +0 -94
  1182. package/internal/upload/multipart.go +0 -215
  1183. package/internal/upload/multipart_test.go +0 -210
  1184. package/internal/upload/orchestrate.go +0 -81
  1185. package/internal/upload/parts.go +0 -39
  1186. package/internal/upload/parts_test.go +0 -39
  1187. package/internal/upload/presign.go +0 -103
  1188. package/internal/upload/presign_test.go +0 -128
  1189. package/internal/upload/proxy_test.go +0 -55
  1190. package/internal/upload/putobject.go +0 -92
  1191. package/internal/upload/putobject_test.go +0 -79
  1192. package/internal/upload/retry.go +0 -45
  1193. package/internal/upload/upload.go +0 -22
  1194. package/internal/upload/xmlerror.go +0 -28
  1195. package/internal/validatefiles/files.go +0 -105
  1196. package/internal/validatefiles/files_test.go +0 -143
  1197. package/internal/validatefiles/report.go +0 -172
  1198. package/internal/validatefiles/validatefiles.go +0 -271
  1199. package/internal/validatefiles/validatefiles_test.go +0 -127
  1200. package/internal/version/stamp.go +0 -15
  1201. package/internal/version/stamp_test.go +0 -25
  1202. package/internal/version/version.go +0 -14
  1203. package/internal/version/version_test.go +0 -25
  1204. package/internal/wpshell/parser.go +0 -68
  1205. package/internal/wpshell/parser_test.go +0 -58
  1206. package/internal/wpshell/repl.go +0 -81
  1207. package/internal/wpshell/repl_test.go +0 -71
  1208. package/internal/wpshell/requote.go +0 -13
  1209. package/internal/wpshell/requote_test.go +0 -15
  1210. package/internal/wpssh/debug_test.go +0 -67
  1211. package/internal/wpssh/wpssh.go +0 -124
  1212. package/internal/wpssh/wpssh_test.go +0 -203
  1213. package/internal/wpstream/debug_test.go +0 -116
  1214. package/internal/wpstream/e2e_test.go +0 -178
  1215. package/internal/wpstream/engineio.go +0 -291
  1216. package/internal/wpstream/engineio_test.go +0 -82
  1217. package/internal/wpstream/iostream.go +0 -391
  1218. package/internal/wpstream/iostream_test.go +0 -138
  1219. package/internal/wpstream/run.go +0 -364
  1220. package/internal/wpstream/run_test.go +0 -184
  1221. package/internal/wpstream/socketio.go +0 -435
  1222. package/internal/wpstream/socketio_test.go +0 -402
  1223. package/internal/wpstream/testdata/fixture-server.js +0 -54
  1224. package/make.ps1 +0 -155
  1225. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs +0 -3
  1226. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs.map +0 -1
  1227. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.d.cts +0 -10
  1228. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.d.ts +0 -10
  1229. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js +0 -2
  1230. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js.map +0 -1
  1231. package/node_modules/argparse/LICENSE +0 -254
  1232. package/node_modules/argparse/README.md +0 -84
  1233. package/node_modules/argparse/package.json +0 -31
  1234. package/node_modules/lando/node_modules/cliui/build/index.cjs +0 -302
  1235. package/node_modules/lando/node_modules/cliui/build/lib/string-utils.js +0 -27
  1236. package/node_modules/lando/node_modules/js-yaml/README.md +0 -233
  1237. package/node_modules/lando/node_modules/js-yaml/bin/js-yaml.js +0 -117
  1238. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js +0 -3022
  1239. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js.map +0 -1
  1240. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js +0 -2
  1241. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js.map +0 -1
  1242. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs +0 -3082
  1243. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs.map +0 -1
  1244. package/node_modules/lando/node_modules/js-yaml/index.js +0 -44
  1245. package/node_modules/lando/node_modules/js-yaml/lib/common.js +0 -50
  1246. package/node_modules/lando/node_modules/js-yaml/lib/dumper.js +0 -937
  1247. package/node_modules/lando/node_modules/js-yaml/lib/exception.js +0 -51
  1248. package/node_modules/lando/node_modules/js-yaml/lib/index_vite_proxy.tmp.mjs +0 -37
  1249. package/node_modules/lando/node_modules/js-yaml/lib/loader.js +0 -1803
  1250. package/node_modules/lando/node_modules/js-yaml/lib/schema/core.js +0 -9
  1251. package/node_modules/lando/node_modules/js-yaml/lib/schema/default.js +0 -20
  1252. package/node_modules/lando/node_modules/js-yaml/lib/schema/failsafe.js +0 -14
  1253. package/node_modules/lando/node_modules/js-yaml/lib/schema/json.js +0 -17
  1254. package/node_modules/lando/node_modules/js-yaml/lib/schema.js +0 -109
  1255. package/node_modules/lando/node_modules/js-yaml/lib/snippet.js +0 -96
  1256. package/node_modules/lando/node_modules/js-yaml/lib/type/binary.js +0 -122
  1257. package/node_modules/lando/node_modules/js-yaml/lib/type/bool.js +0 -35
  1258. package/node_modules/lando/node_modules/js-yaml/lib/type/float.js +0 -99
  1259. package/node_modules/lando/node_modules/js-yaml/lib/type/int.js +0 -142
  1260. package/node_modules/lando/node_modules/js-yaml/lib/type/map.js +0 -8
  1261. package/node_modules/lando/node_modules/js-yaml/lib/type/merge.js +0 -12
  1262. package/node_modules/lando/node_modules/js-yaml/lib/type/null.js +0 -35
  1263. package/node_modules/lando/node_modules/js-yaml/lib/type/omap.js +0 -45
  1264. package/node_modules/lando/node_modules/js-yaml/lib/type/pairs.js +0 -50
  1265. package/node_modules/lando/node_modules/js-yaml/lib/type/seq.js +0 -8
  1266. package/node_modules/lando/node_modules/js-yaml/lib/type/set.js +0 -29
  1267. package/node_modules/lando/node_modules/js-yaml/lib/type/str.js +0 -8
  1268. package/node_modules/lando/node_modules/js-yaml/lib/type/timestamp.js +0 -88
  1269. package/node_modules/lando/node_modules/js-yaml/lib/type.js +0 -66
  1270. package/node_modules/lando/node_modules/js-yaml/package.json +0 -83
  1271. package/node_modules/lando/node_modules/wrap-ansi/index.js +0 -216
  1272. package/node_modules/lando/node_modules/wrap-ansi/package.json +0 -62
  1273. package/node_modules/lando/node_modules/wrap-ansi/readme.md +0 -91
  1274. package/node_modules/lando/node_modules/yargs/build/index.cjs +0 -2920
  1275. package/node_modules/lando/node_modules/yargs/helpers/index.js +0 -14
  1276. package/node_modules/lando/node_modules/yargs/index.cjs +0 -39
  1277. package/node_modules/lando/node_modules/yargs/yargs +0 -9
  1278. package/node_modules/lando/node_modules/yargs-parser/build/index.cjs +0 -1042
  1279. package/node_modules/lando/plugins/lando-test/index.js +0 -3
  1280. package/node_modules/lando/plugins/lando-test/plugin.yml +0 -2
  1281. package/packaging/macos/build-pkg.sh +0 -53
  1282. package/packaging/macos/preinstall +0 -33
  1283. package/packaging/macos/test-install.sh +0 -51
  1284. package/packaging/macos/test_package.py +0 -74
  1285. package/packaging/macos/uninstall.sh +0 -24
  1286. package/packaging/macos/verify-pkg.py +0 -61
  1287. package/packaging/windows/build-msi.ps1 +0 -153
  1288. package/packaging/windows/test-msi.ps1 +0 -225
  1289. package/packaging/windows/verify-msi.ps1 +0 -74
  1290. package/packaging/windows/vip-next.wxs +0 -79
  1291. package/scripts/catalog_script_test.go +0 -123
  1292. package/scripts/vip-next-command-catalog.sh +0 -506
  1293. package/test-utils/undici-mock.js +0 -25
  1294. package/testdata/installer-fixture/main.go +0 -40
  1295. package/testdata/parity/app-deploy-completed.yaml +0 -14
  1296. package/testdata/parity/app-deploy-missing-token.yaml +0 -21
  1297. package/testdata/parity/app-deploy-validate-clean.yaml +0 -11
  1298. package/testdata/parity/app-deploy-validate-missing-themes.yaml +0 -21
  1299. package/testdata/parity/app-get-baseline.yaml +0 -14
  1300. package/testdata/parity/app-get-custom-deploy.yaml +0 -14
  1301. package/testdata/parity/app-get-json.yaml +0 -14
  1302. package/testdata/parity/app-get-not-found.yaml +0 -13
  1303. package/testdata/parity/app-list-baseline.yaml +0 -14
  1304. package/testdata/parity/app-list-csv.yaml +0 -13
  1305. package/testdata/parity/app-list-empty.yaml +0 -13
  1306. package/testdata/parity/app-list-ids.yaml +0 -26
  1307. package/testdata/parity/app-list-json.yaml +0 -13
  1308. package/testdata/parity/app-list-unknown-format.yaml +0 -29
  1309. package/testdata/parity/backup-db-already-in-progress.yaml +0 -15
  1310. package/testdata/parity/backup-db-completed.yaml +0 -14
  1311. package/testdata/parity/backup-db-help.yaml +0 -10
  1312. package/testdata/parity/cache-purge-url-empty.yaml +0 -26
  1313. package/testdata/parity/cache-purge-url-from-file.yaml +0 -21
  1314. package/testdata/parity/cache-purge-url-multi.yaml +0 -19
  1315. package/testdata/parity/cache-purge-url-single.yaml +0 -18
  1316. package/testdata/parity/defensive-mode-enable-with-rechallenge.yaml +0 -20
  1317. package/testdata/parity/edge-workers-artifact-symlink.yaml +0 -8
  1318. package/testdata/parity/edge-workers-bare-location.yaml +0 -8
  1319. package/testdata/parity/edge-workers-bare-path.yaml +0 -8
  1320. package/testdata/parity/edge-workers-bare-type.yaml +0 -8
  1321. package/testdata/parity/edge-workers-build-all.yaml +0 -8
  1322. package/testdata/parity/edge-workers-build-compiler-error.yaml +0 -8
  1323. package/testdata/parity/edge-workers-build-empty.yaml +0 -8
  1324. package/testdata/parity/edge-workers-build-missing-compiler.yaml +0 -8
  1325. package/testdata/parity/edge-workers-build-name-all.yaml +0 -8
  1326. package/testdata/parity/edge-workers-build-one.yaml +0 -8
  1327. package/testdata/parity/edge-workers-delete-force.yaml +0 -8
  1328. package/testdata/parity/edge-workers-delete-rejected.yaml +0 -8
  1329. package/testdata/parity/edge-workers-deploy-active-update-enable.yaml +0 -8
  1330. package/testdata/parity/edge-workers-deploy-active-update.yaml +0 -8
  1331. package/testdata/parity/edge-workers-deploy-all-preparation-failure.yaml +0 -8
  1332. package/testdata/parity/edge-workers-deploy-create-enable.yaml +0 -8
  1333. package/testdata/parity/edge-workers-deploy-create.yaml +0 -8
  1334. package/testdata/parity/edge-workers-deploy-enable-failure.yaml +0 -8
  1335. package/testdata/parity/edge-workers-deploy-inactive-update-enable.yaml +0 -8
  1336. package/testdata/parity/edge-workers-deploy-inactive-update.yaml +0 -8
  1337. package/testdata/parity/edge-workers-deploy-location-clear.yaml +0 -8
  1338. package/testdata/parity/edge-workers-deploy-location-preserve.yaml +0 -8
  1339. package/testdata/parity/edge-workers-deploy-location-replace.yaml +0 -8
  1340. package/testdata/parity/edge-workers-deploy-name-all.yaml +0 -8
  1341. package/testdata/parity/edge-workers-deploy-production-refused.yaml +0 -8
  1342. package/testdata/parity/edge-workers-deploy-production-skip.yaml +0 -8
  1343. package/testdata/parity/edge-workers-deploy-skip-source-create.yaml +0 -8
  1344. package/testdata/parity/edge-workers-deploy-skip-source.yaml +0 -8
  1345. package/testdata/parity/edge-workers-deploy-skip-validate.yaml +0 -8
  1346. package/testdata/parity/edge-workers-deploy-source-empty.yaml +0 -8
  1347. package/testdata/parity/edge-workers-deploy-upload-failure.yaml +0 -8
  1348. package/testdata/parity/edge-workers-disable.yaml +0 -8
  1349. package/testdata/parity/edge-workers-double-dash.yaml +0 -8
  1350. package/testdata/parity/edge-workers-duplicate-names.yaml +0 -8
  1351. package/testdata/parity/edge-workers-enable-production-refused.yaml +0 -8
  1352. package/testdata/parity/edge-workers-enable.yaml +0 -8
  1353. package/testdata/parity/edge-workers-entry-escape.yaml +0 -8
  1354. package/testdata/parity/edge-workers-get-empty-source.yaml +0 -8
  1355. package/testdata/parity/edge-workers-get-missing.yaml +0 -8
  1356. package/testdata/parity/edge-workers-get-no-source.yaml +0 -8
  1357. package/testdata/parity/edge-workers-get-source.yaml +0 -8
  1358. package/testdata/parity/edge-workers-get.yaml +0 -8
  1359. package/testdata/parity/edge-workers-init-invalid-type.yaml +0 -8
  1360. package/testdata/parity/edge-workers-init-nonempty.yaml +0 -8
  1361. package/testdata/parity/edge-workers-init.yaml +0 -8
  1362. package/testdata/parity/edge-workers-json-control-name.yaml +0 -8
  1363. package/testdata/parity/edge-workers-list-csv.yaml +0 -8
  1364. package/testdata/parity/edge-workers-list-empty-json.yaml +0 -8
  1365. package/testdata/parity/edge-workers-list-empty.yaml +0 -8
  1366. package/testdata/parity/edge-workers-list-json.yaml +0 -8
  1367. package/testdata/parity/edge-workers-list-table.yaml +0 -8
  1368. package/testdata/parity/edge-workers-mutation-graphql-error.yaml +0 -8
  1369. package/testdata/parity/edge-workers-mutation-null.yaml +0 -8
  1370. package/testdata/parity/edge-workers-new-invalid-location.yaml +0 -8
  1371. package/testdata/parity/edge-workers-new-invalid-name.yaml +0 -8
  1372. package/testdata/parity/edge-workers-new-location.yaml +0 -8
  1373. package/testdata/parity/edge-workers-new.yaml +0 -8
  1374. package/testdata/parity/edge-workers-read-null.yaml +0 -8
  1375. package/testdata/parity/edge-workers-repeated-path.yaml +0 -8
  1376. package/testdata/parity/edge-workers-repeated-type.yaml +0 -8
  1377. package/testdata/parity/edge-workers-short-equals.yaml +0 -8
  1378. package/testdata/parity/edge-workers-table-control-name.yaml +0 -8
  1379. package/testdata/parity/edge-workers-unicode-order.yaml +0 -8
  1380. package/testdata/parity/edge-workers-validate-all.yaml +0 -8
  1381. package/testdata/parity/edge-workers-validate-invalid.yaml +0 -8
  1382. package/testdata/parity/edge-workers-validate-name-all.yaml +0 -8
  1383. package/testdata/parity/edge-workers-validate-no-artifact.yaml +0 -8
  1384. package/testdata/parity/edge-workers-validate-no-name.yaml +0 -8
  1385. package/testdata/parity/edge-workers-validate-null.yaml +0 -8
  1386. package/testdata/parity/edge-workers-validate.yaml +0 -8
  1387. package/testdata/parity/envvar-delete-baseline.yaml +0 -19
  1388. package/testdata/parity/envvar-delete-prod-cancel.yaml +0 -41
  1389. package/testdata/parity/envvar-delete-typed-mismatch.yaml +0 -44
  1390. package/testdata/parity/envvar-get-baseline.yaml +0 -14
  1391. package/testdata/parity/envvar-get-lowercase-input.yaml +0 -14
  1392. package/testdata/parity/envvar-get-named-help.yaml +0 -24
  1393. package/testdata/parity/envvar-get-not-found.yaml +0 -17
  1394. package/testdata/parity/envvar-getall-baseline.yaml +0 -14
  1395. package/testdata/parity/envvar-getall-empty.yaml +0 -15
  1396. package/testdata/parity/envvar-getall-keyvalue.yaml +0 -22
  1397. package/testdata/parity/envvar-list-baseline.yaml +0 -15
  1398. package/testdata/parity/envvar-list-empty.yaml +0 -15
  1399. package/testdata/parity/envvar-list-ids.yaml +0 -14
  1400. package/testdata/parity/envvar-list-json.yaml +0 -14
  1401. package/testdata/parity/envvar-list-keyvalue.yaml +0 -22
  1402. package/testdata/parity/envvar-set-baseline.yaml +0 -21
  1403. package/testdata/parity/envvar-set-invalid-name.yaml +0 -20
  1404. package/testdata/parity/envvar-set-newrelic-blocked.yaml +0 -21
  1405. package/testdata/parity/envvar-set-prod-cancel.yaml +0 -42
  1406. package/testdata/parity/envvar-set-prod-confirm-skipped.yaml +0 -20
  1407. package/testdata/parity/export-sql-completed.yaml +0 -14
  1408. package/testdata/parity/export-sql-config-conflict.yaml +0 -21
  1409. package/testdata/parity/export-sql-help.yaml +0 -11
  1410. package/testdata/parity/import-media-abort-noninteractive.yaml +0 -19
  1411. package/testdata/parity/import-media-help.yaml +0 -12
  1412. package/testdata/parity/import-media-invalid-archive.yaml +0 -18
  1413. package/testdata/parity/import-media-status-completed.yaml +0 -19
  1414. package/testdata/parity/import-media-status-failed.yaml +0 -18
  1415. package/testdata/parity/import-media-url-completed.yaml +0 -18
  1416. package/testdata/parity/import-sql-bad-extension.yaml +0 -26
  1417. package/testdata/parity/import-sql-help.yaml +0 -12
  1418. package/testdata/parity/import-sql-in-progress.yaml +0 -26
  1419. package/testdata/parity/import-sql-invalid-md5.yaml +0 -27
  1420. package/testdata/parity/import-sql-noninteractive-abort.yaml +0 -20
  1421. package/testdata/parity/import-sql-status-completed.yaml +0 -17
  1422. package/testdata/parity/import-sql-status-no-job.yaml +0 -17
  1423. package/testdata/parity/import-sql-validation-failure.yaml +0 -18
  1424. package/testdata/parity/import-validate-files-clean.yaml +0 -18
  1425. package/testdata/parity/import-validate-files-not-dir.yaml +0 -16
  1426. package/testdata/parity/import-validate-sql-clean.yaml +0 -23
  1427. package/testdata/parity/import-validate-sql-dangerous-stmt.yaml +0 -27
  1428. package/testdata/parity/import-validate-sql-multisite-warn.yaml +0 -23
  1429. package/testdata/parity/logs-baseline.yaml +0 -24
  1430. package/testdata/parity/logs-batch.yaml +0 -24
  1431. package/testdata/parity/logs-empty.yaml +0 -15
  1432. package/testdata/parity/logs-format-json.yaml +0 -15
  1433. package/testdata/parity/logs-limit-100.yaml +0 -24
  1434. package/testdata/parity/phpmyadmin-error.yaml +0 -24
  1435. package/testdata/parity/phpmyadmin-print.yaml +0 -22
  1436. package/testdata/parity/phpmyadmin-silent.yaml +0 -16
  1437. package/testdata/parity/recordings/app-get-baseline/app.json +0 -11
  1438. package/testdata/parity/recordings/app-get-custom-deploy/app.json +0 -8
  1439. package/testdata/parity/recordings/app-get-json/app.json +0 -11
  1440. package/testdata/parity/recordings/app-get-not-found/app.json +0 -1
  1441. package/testdata/parity/recordings/app-list-baseline/apps.json +0 -1
  1442. package/testdata/parity/recordings/app-list-csv/apps.json +0 -1
  1443. package/testdata/parity/recordings/app-list-empty/apps.json +0 -1
  1444. package/testdata/parity/recordings/app-list-json/apps.json +0 -1
  1445. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-1.json +0 -1
  1446. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-2.json +0 -1
  1447. package/testdata/parity/recordings/backup-db-completed/backup-status-1.json +0 -1
  1448. package/testdata/parity/recordings/backup-db-completed/backup-status-2.json +0 -1
  1449. package/testdata/parity/recordings/backup-db-completed/backup-status-3.json +0 -1
  1450. package/testdata/parity/recordings/cache-purge-url-empty/resolve-app.json +0 -1
  1451. package/testdata/parity/recordings/cache-purge-url-from-file/purge.json +0 -1
  1452. package/testdata/parity/recordings/cache-purge-url-from-file/resolve-app.json +0 -1
  1453. package/testdata/parity/recordings/cache-purge-url-from-file/urls.txt +0 -2
  1454. package/testdata/parity/recordings/cache-purge-url-multi/purge.json +0 -1
  1455. package/testdata/parity/recordings/cache-purge-url-multi/resolve-app.json +0 -1
  1456. package/testdata/parity/recordings/cache-purge-url-single/purge.json +0 -1
  1457. package/testdata/parity/recordings/cache-purge-url-single/resolve-app.json +0 -1
  1458. package/testdata/parity/recordings/config-software-get/resolve-app.json +0 -1
  1459. package/testdata/parity/recordings/config-software-update/resolve-app.json +0 -1
  1460. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-elevated.json +0 -1
  1461. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-success.json +0 -1
  1462. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-create-session.json +0 -1
  1463. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-exchange.json +0 -1
  1464. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-status-verified.json +0 -1
  1465. package/testdata/parity/recordings/envvar-delete-baseline/delete.json +0 -1
  1466. package/testdata/parity/recordings/envvar-delete-baseline/resolve-app.json +0 -1
  1467. package/testdata/parity/recordings/envvar-delete-prod-cancel/resolve-app.json +0 -1
  1468. package/testdata/parity/recordings/envvar-delete-typed-mismatch/resolve-app.json +0 -1
  1469. package/testdata/parity/recordings/envvar-get-baseline/envvars.json +0 -1
  1470. package/testdata/parity/recordings/envvar-get-baseline/resolve-app.json +0 -1
  1471. package/testdata/parity/recordings/envvar-get-lowercase-input/envvars.json +0 -1
  1472. package/testdata/parity/recordings/envvar-get-lowercase-input/resolve-app.json +0 -1
  1473. package/testdata/parity/recordings/envvar-get-named-help/envvars.json +0 -1
  1474. package/testdata/parity/recordings/envvar-get-named-help/resolve-app.json +0 -1
  1475. package/testdata/parity/recordings/envvar-get-not-found/envvars.json +0 -1
  1476. package/testdata/parity/recordings/envvar-get-not-found/resolve-app.json +0 -1
  1477. package/testdata/parity/recordings/envvar-getall-baseline/envvars.json +0 -1
  1478. package/testdata/parity/recordings/envvar-getall-baseline/resolve-app.json +0 -1
  1479. package/testdata/parity/recordings/envvar-getall-empty/envvars.json +0 -1
  1480. package/testdata/parity/recordings/envvar-getall-empty/resolve-app.json +0 -1
  1481. package/testdata/parity/recordings/envvar-getall-keyvalue/envvars.json +0 -1
  1482. package/testdata/parity/recordings/envvar-getall-keyvalue/resolve-app.json +0 -1
  1483. package/testdata/parity/recordings/envvar-list-baseline/envvars.json +0 -1
  1484. package/testdata/parity/recordings/envvar-list-baseline/resolve-app.json +0 -1
  1485. package/testdata/parity/recordings/envvar-list-empty/envvars.json +0 -1
  1486. package/testdata/parity/recordings/envvar-list-empty/resolve-app.json +0 -1
  1487. package/testdata/parity/recordings/envvar-list-ids/envvars.json +0 -1
  1488. package/testdata/parity/recordings/envvar-list-ids/resolve-app.json +0 -1
  1489. package/testdata/parity/recordings/envvar-list-json/envvars.json +0 -1
  1490. package/testdata/parity/recordings/envvar-list-json/resolve-app.json +0 -1
  1491. package/testdata/parity/recordings/envvar-list-keyvalue/envvars.json +0 -1
  1492. package/testdata/parity/recordings/envvar-list-keyvalue/resolve-app.json +0 -1
  1493. package/testdata/parity/recordings/envvar-set-baseline/add.json +0 -1
  1494. package/testdata/parity/recordings/envvar-set-baseline/resolve-app.json +0 -1
  1495. package/testdata/parity/recordings/envvar-set-baseline/value.txt +0 -1
  1496. package/testdata/parity/recordings/envvar-set-invalid-name/resolve-app.json +0 -1
  1497. package/testdata/parity/recordings/envvar-set-invalid-name/value.txt +0 -1
  1498. package/testdata/parity/recordings/envvar-set-newrelic-blocked/resolve-app.json +0 -1
  1499. package/testdata/parity/recordings/envvar-set-newrelic-blocked/value.txt +0 -1
  1500. package/testdata/parity/recordings/envvar-set-prod-cancel/resolve-app.json +0 -1
  1501. package/testdata/parity/recordings/envvar-set-prod-cancel/value.txt +0 -1
  1502. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/add.json +0 -1
  1503. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/resolve-app.json +0 -1
  1504. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/value.txt +0 -1
  1505. package/testdata/parity/recordings/export-sql-completed/export-status-1.json +0 -1
  1506. package/testdata/parity/recordings/export-sql-completed/export-status-2.json +0 -1
  1507. package/testdata/parity/recordings/import-media-invalid-archive/file.sql +0 -1
  1508. package/testdata/parity/recordings/import-media-shared/abort-media-import.json +0 -1
  1509. package/testdata/parity/recordings/import-media-shared/env-info.json +0 -1
  1510. package/testdata/parity/recordings/import-media-shared/resolve-app.json +0 -1
  1511. package/testdata/parity/recordings/import-media-shared/start-media-import.json +0 -1
  1512. package/testdata/parity/recordings/import-media-status-completed/progress.json +0 -1
  1513. package/testdata/parity/recordings/import-media-status-failed/progress.json +0 -1
  1514. package/testdata/parity/recordings/import-media-url-completed/progress.json +0 -1
  1515. package/testdata/parity/recordings/import-sql-bad-extension/file.txt +0 -1
  1516. package/testdata/parity/recordings/import-sql-in-progress/env-info.json +0 -1
  1517. package/testdata/parity/recordings/import-sql-in-progress/resolve-app.json +0 -1
  1518. package/testdata/parity/recordings/import-sql-noninteractive-abort/clean.sql +0 -5
  1519. package/testdata/parity/recordings/import-sql-shared/env-info.json +0 -1
  1520. package/testdata/parity/recordings/import-sql-shared/multisite.json +0 -1
  1521. package/testdata/parity/recordings/import-sql-shared/resolve-app.json +0 -1
  1522. package/testdata/parity/recordings/import-sql-status-completed/progress.json +0 -1
  1523. package/testdata/parity/recordings/import-sql-status-no-job/progress.json +0 -1
  1524. package/testdata/parity/recordings/import-sql-validation-failure/dirty.sql +0 -6
  1525. package/testdata/parity/recordings/import-validate-files-clean/config.json +0 -1
  1526. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/a.jpg +0 -1
  1527. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/b.png +0 -1
  1528. package/testdata/parity/recordings/import-validate-sql-clean/clean.sql +0 -17
  1529. package/testdata/parity/recordings/import-validate-sql-dangerous-stmt/dangerous.sql +0 -11
  1530. package/testdata/parity/recordings/import-validate-sql-multisite-warn/multisite.sql +0 -12
  1531. package/testdata/parity/recordings/logs-baseline/logs.json +0 -1
  1532. package/testdata/parity/recordings/logs-baseline/resolve-app.json +0 -1
  1533. package/testdata/parity/recordings/logs-batch/logs.json +0 -1
  1534. package/testdata/parity/recordings/logs-batch/resolve-app.json +0 -1
  1535. package/testdata/parity/recordings/logs-empty/logs.json +0 -1
  1536. package/testdata/parity/recordings/logs-empty/resolve-app.json +0 -1
  1537. package/testdata/parity/recordings/logs-format-json/logs.json +0 -1
  1538. package/testdata/parity/recordings/logs-format-json/resolve-app.json +0 -1
  1539. package/testdata/parity/recordings/logs-limit-100/logs.json +0 -1
  1540. package/testdata/parity/recordings/logs-limit-100/resolve-app.json +0 -1
  1541. package/testdata/parity/recordings/m7c-shared/resolve-app.json +0 -1
  1542. package/testdata/parity/recordings/phpmyadmin-error/enable.json +0 -1
  1543. package/testdata/parity/recordings/phpmyadmin-error/resolve-app.json +0 -1
  1544. package/testdata/parity/recordings/phpmyadmin-print/enable.json +0 -1
  1545. package/testdata/parity/recordings/phpmyadmin-print/generate.json +0 -1
  1546. package/testdata/parity/recordings/phpmyadmin-print/resolve-app.json +0 -1
  1547. package/testdata/parity/recordings/phpmyadmin-print/status.json +0 -1
  1548. package/testdata/parity/recordings/phpmyadmin-silent/enable.json +0 -1
  1549. package/testdata/parity/recordings/phpmyadmin-silent/generate.json +0 -1
  1550. package/testdata/parity/recordings/phpmyadmin-silent/resolve-app.json +0 -1
  1551. package/testdata/parity/recordings/phpmyadmin-silent/status.json +0 -1
  1552. package/testdata/parity/recordings/slowlogs-baseline/resolve-app.json +0 -1
  1553. package/testdata/parity/recordings/slowlogs-baseline/slowlogs.json +0 -1
  1554. package/testdata/parity/recordings/slowlogs-csv/resolve-app.json +0 -1
  1555. package/testdata/parity/recordings/slowlogs-csv/slowlogs.json +0 -1
  1556. package/testdata/parity/recordings/slowlogs-empty/resolve-app.json +0 -1
  1557. package/testdata/parity/recordings/slowlogs-empty/slowlogs.json +0 -1
  1558. package/testdata/parity/recordings/slowlogs-limit-50/resolve-app.json +0 -1
  1559. package/testdata/parity/recordings/slowlogs-limit-50/slowlogs.json +0 -1
  1560. package/testdata/parity/recordings/sync-already-syncing/resolve-app.json +0 -1
  1561. package/testdata/parity/recordings/sync-already-syncing/sync-start.json +0 -1
  1562. package/testdata/parity/recordings/sync-already-syncing/sync-status-1.json +0 -1
  1563. package/testdata/parity/recordings/sync-already-syncing/sync-status-2.json +0 -1
  1564. package/testdata/parity/recordings/sync-baseline/resolve-app.json +0 -1
  1565. package/testdata/parity/recordings/sync-baseline/sync-start.json +0 -1
  1566. package/testdata/parity/recordings/sync-baseline/sync-status-1.json +0 -1
  1567. package/testdata/parity/recordings/sync-baseline/sync-status-2.json +0 -1
  1568. package/testdata/parity/recordings/whoami-baseline/me-response.json +0 -1
  1569. package/testdata/parity/recordings/wp-nodejs-rejected/resolve-app.json +0 -1
  1570. package/testdata/parity/recordings/wp-production-confirm-decline/resolve-app.json +0 -1
  1571. package/testdata/parity/recordings/wp-ssh-happy/resolve-app.json +0 -1
  1572. package/testdata/parity/recordings/wp-websocket-redirect/resolve-app.json +0 -1
  1573. package/testdata/parity/slowlogs-baseline.yaml +0 -18
  1574. package/testdata/parity/slowlogs-csv.yaml +0 -16
  1575. package/testdata/parity/slowlogs-empty.yaml +0 -17
  1576. package/testdata/parity/slowlogs-limit-50.yaml +0 -16
  1577. package/testdata/parity/sync-already-syncing.yaml +0 -20
  1578. package/testdata/parity/sync-baseline.yaml +0 -19
  1579. package/testdata/parity/version-smoke.yaml +0 -14
  1580. package/testdata/parity/whoami-baseline.yaml +0 -14
  1581. package/testdata/parity/wp-help.yaml +0 -12
  1582. package/testdata/parity/wp-nodejs-rejected.yaml +0 -13
  1583. package/testdata/parity/wp-production-confirm-decline.yaml +0 -14
  1584. package/testdata/parity/wp-ssh-happy.yaml +0 -15
  1585. package/testdata/parity/wp-websocket-redirect.yaml +0 -14
  1586. package/testdata/parity-local/app-get-csv.yaml +0 -8
  1587. package/testdata/parity-local/app-get-json.yaml +0 -8
  1588. package/testdata/parity-local/app-get-table.yaml +0 -8
  1589. package/testdata/parity-local/app-list-csv.yaml +0 -8
  1590. package/testdata/parity-local/app-list-json.yaml +0 -8
  1591. package/testdata/parity-local/app-list-table.yaml +0 -8
  1592. package/testdata/parity-local/edge-workers/basic/edge-workers.json +0 -1
  1593. package/testdata/parity-local/edge-workers/basic/workers/headers/assembly/index.ts +0 -1
  1594. package/testdata/parity-local/edge-workers/basic/workers/headers/worker.json +0 -1
  1595. package/testdata/parity-local/edge-workers/two-workers/edge-workers.json +0 -1
  1596. package/testdata/parity-local/edge-workers/two-workers/workers/a/assembly/index.ts +0 -1
  1597. package/testdata/parity-local/edge-workers/two-workers/workers/a/worker.json +0 -1
  1598. package/testdata/parity-local/edge-workers/two-workers/workers/b/assembly/index.ts +0 -1
  1599. package/testdata/parity-local/edge-workers/two-workers/workers/b/worker.json +0 -1
  1600. package/testdata/parity-local/envvar-list-csv.yaml +0 -8
  1601. package/testdata/parity-local/envvar-list-ids.yaml +0 -8
  1602. package/testdata/parity-local/envvar-list-json.yaml +0 -8
  1603. package/testdata/parity-local/envvar-list-keyvalue.yaml +0 -8
  1604. package/testdata/parity-local/envvar-list-table.yaml +0 -8
  1605. package/testdata/parity-local/software-get-csv.yaml +0 -8
  1606. package/testdata/parity-local/software-get-json.yaml +0 -8
  1607. package/testdata/parity-local/software-get-table.yaml +0 -8
  1608. package/testdata/parity-local/whoami.yaml +0 -8
  1609. package/testdata/update-fixture/main.go +0 -62
  1610. package/third_party/go-search-replace/MANIFEST +0 -33
  1611. package/tsconfig.json +0 -25
  1612. /package/node_modules/lando/node_modules/{wrap-ansi → ansi-regex}/license +0 -0
@@ -1,68 +0,0 @@
1
- //go:build parity
2
-
3
- package parity
4
-
5
- import (
6
- "path/filepath"
7
- "sort"
8
- "strings"
9
- "testing"
10
- )
11
-
12
- // TestM6bImportValidateSQLScenarios discovers every YAML matching
13
- // import-validate-sql-* and runs the Go binary against it. Local-only
14
- // validator: no mock GraphQL server needed.
15
- func TestM6bImportValidateSQLScenarios(t *testing.T) {
16
- yamlDir := "../../testdata/parity"
17
- entries, err := filepath.Glob(yamlDir + "/import-validate-sql-*.yaml")
18
- if err != nil {
19
- t.Fatalf("glob: %v", err)
20
- }
21
- sort.Strings(entries)
22
- if len(entries) == 0 {
23
- t.Fatal("no import-validate-sql scenarios found — testdata moved?")
24
- }
25
-
26
- goBin := buildVipNextWithVersion(t, "test", "test")
27
-
28
- for _, path := range entries {
29
- name := strings.TrimSuffix(filepath.Base(path), ".yaml")
30
- t.Run(name, func(t *testing.T) {
31
- scenario, err := LoadScenario(path)
32
- if err != nil {
33
- t.Fatalf("LoadScenario: %v", err)
34
- }
35
- if scenario.ExpectedDrift != nil {
36
- t.Skipf("expected drift (%s); skipping assertion", scenario.ExpectedDrift.Reason)
37
- return
38
- }
39
- res, err := Run(RunSpec{
40
- Binary: goBin,
41
- Argv: scenario.Argv,
42
- Env: FixtureEnv(scenario.Env),
43
- })
44
- if err != nil {
45
- t.Fatalf("Run: %v", err)
46
- }
47
- if res.ExitCode != scenario.Expect.ExitCode {
48
- t.Errorf("exit=%d, want %d; stderr=%q stdout=%q",
49
- res.ExitCode, scenario.Expect.ExitCode, res.Stderr, res.Stdout)
50
- }
51
- // Wire-level content assertions per scenario.
52
- switch name {
53
- case "import-validate-sql-clean":
54
- if !strings.Contains(res.Stdout, "clean") {
55
- t.Errorf("clean scenario stdout missing 'clean':\n%s", res.Stdout)
56
- }
57
- case "import-validate-sql-multisite-warn":
58
- if !strings.Contains(res.Stdout, "multi-site") {
59
- t.Errorf("multisite scenario stdout missing 'multi-site':\n%s", res.Stdout)
60
- }
61
- case "import-validate-sql-dangerous-stmt":
62
- if !strings.Contains(res.Stdout, "DROP DATABASE") {
63
- t.Errorf("dangerous-stmt scenario stdout missing DROP DATABASE finding:\n%s", res.Stdout)
64
- }
65
- }
66
- })
67
- }
68
- }
@@ -1,538 +0,0 @@
1
- //go:build parity
2
-
3
- package parity
4
-
5
- // Keychain plumbing for the Node-vs-Go differential scenario.
6
- //
7
- // WHY THIS EXISTS
8
- //
9
- // The Node CLI has NEVER had an environment escape hatch for credentials.
10
- // `Token.get()` reads the OS credential store and nothing else, so the only way
11
- // to put an identity in front of the real Node binary is to write a real
12
- // keychain entry.
13
- //
14
- // An earlier version of this comment said Node 4.1.0 "removed
15
- // VIP_TOKEN_OVERRIDE". That was wrong. The variable never existed upstream:
16
- // `git log --all -S VIP_TOKEN_OVERRIDE` on Automattic/vip returns ZERO commits.
17
- // It had been hand-injected into this repo's vendored copy of
18
- // src/lib/token.ts (4 lines, gated on NODE_ENV=test) so that the harness would
19
- // authenticate — i.e. the reference implementation was edited to make the test
20
- // pass. The 4.0.4 -> trunk sync deleted that local edit, which is what made the
21
- // differential start failing. Do not reintroduce it.
22
- //
23
- // DOES THIS WORK IN CI?
24
- //
25
- // Yes, and it was measured rather than assumed. Node picks its backend at
26
- // runtime: getKeychain() (src/lib/keychain.ts:12-23) constructs Secure, probes
27
- // it with a throwaway getPassword, and falls back to Insecure — a configstore
28
- // JSON file under $XDG_CONFIG_HOME/configstore/vip-go-cli.json — if anything
29
- // throws. On linux/amd64 with node:22, exercising the REAL vendored
30
- // dist/lib/keychain.js:
31
- //
32
- // - without libsecret: `require('@github/keytar')` throws at load in ~30ms;
33
- // - with libsecret-1-0 installed and no D-Bus session (the shape of a GitHub
34
- // Actions runner): the module loads, and the probe REJECTS in ~82ms with
35
- // "Cannot spawn a message bus without a machine-id".
36
- //
37
- // Both land on Insecure, both in well under a second, and neither hangs. A
38
- // seed written by one process was then read back by a SEPARATE process — which
39
- // is exactly the harness/CLI split — and deleted cleanly, leaving the store
40
- // file empty.
41
- //
42
- // That is why the shim below drives getKeychain() instead of a backend: the
43
- // credential lands wherever the CLI will look for it, on every platform,
44
- // without the harness having to know which backend won. nodeKeychainOpTimeout
45
- // covers the remaining unknown — a future backend that blocks instead of
46
- // throwing becomes a loud skip, not a hung CI job.
47
- //
48
- // WHY THAT IS SAFE HERE
49
- //
50
- // Node derives its service name from API_HOST (Token.getServiceName,
51
- // src/lib/token.ts:119-129). The differential pins API_HOST to an httptest
52
- // server on 127.0.0.1 with an ephemeral port, so every run gets a service name
53
- // that no human ever typed and that cannot collide with a real credential.
54
- // Every keychain operation in this file asserts that property FIRST
55
- // (assertEphemeralParityService) — a positive match, not a denylist. A name
56
- // like "vip-go-cli" or "vip-go-cli:http---localhost-4000" is refused outright.
57
- //
58
- // A previous incarnation of this pattern left 727 orphaned entries behind, so
59
- // there are three nets. First, the whole test binary shares ONE credential
60
- // (differential_test.go): the number a run creates is a constant, not a
61
- // function of how many scenarios exist. Second, TestMain tears that credential
62
- // down after m.Run() whether the suite passed, failed or panicked. Third, a
63
- // pre-run and a post-run sweep collect anything a killed run stranded and
64
- // anything the CLIs under test wrote for themselves (see keychain_test.go).
65
- //
66
- // NOTHING IN THIS FILE EVER PRINTS A SECRET. Tokens travel to the node shim on
67
- // stdin (never argv, never the environment), the shim redacts the secret out of
68
- // any error message it emits, and enumeration uses `security dump-keychain`
69
- // WITHOUT -d so no password material is ever decrypted or displayed.
70
-
71
- import (
72
- "bytes"
73
- "context"
74
- "errors"
75
- "fmt"
76
- "os"
77
- "os/exec"
78
- "path/filepath"
79
- "regexp"
80
- "runtime"
81
- "strconv"
82
- "strings"
83
- "time"
84
-
85
- "github.com/Automattic/vip/internal/keychain"
86
- "github.com/Automattic/vip/internal/rechallenge"
87
- )
88
-
89
- // nodeKeychainService is Node's SERVICE constant (src/lib/token.ts:14).
90
- const nodeKeychainService = "vip-go-cli"
91
-
92
- // nodeProductionAPIHost is Node's PRODUCTION_API_HOST
93
- // (src/lib/api/constants.ts:1). Node omits the host suffix for this endpoint.
94
- const nodeProductionAPIHost = "https://api.wpvip.com"
95
-
96
- // nodeNonAlphanumeric mirrors Node's API_HOST.replace(/[^a-z0-9]/gi, '-')
97
- // (src/lib/token.ts:123). The /i flag makes it case-insensitive, so uppercase
98
- // letters survive — the class below is spelled out rather than folded.
99
- var nodeNonAlphanumeric = regexp.MustCompile(`[^a-zA-Z0-9]`)
100
-
101
- // NodeKeychainService reproduces Token.getServiceName (src/lib/token.ts:119-129)
102
- // exactly:
103
- //
104
- // let service = SERVICE; // 'vip-go-cli'
105
- // if ( PRODUCTION_API_HOST !== API_HOST ) {
106
- // const sanitized = API_HOST.replace( /[^a-z0-9]/gi, '-' );
107
- // service = `${ SERVICE }:${ sanitized }`;
108
- // }
109
- // return `${ service }${ modifier }`;
110
- //
111
- // modifier is "" for the token entry and "-uuid" for the analytics anon-id
112
- // entry that Token.uuid() creates (src/lib/token.ts:82).
113
- //
114
- // Note there is deliberately NO trailing-slash normalisation: Node does not do
115
- // any, so neither does this. Go's own keychain.ServiceNameForHost DOES trim a
116
- // trailing slash, which is a (harmless here, real elsewhere) divergence.
117
- func NodeKeychainService(apiHost, modifier string) string {
118
- service := nodeKeychainService
119
- if apiHost != nodeProductionAPIHost {
120
- service = nodeKeychainService + ":" + nodeNonAlphanumeric.ReplaceAllString(apiHost, "-")
121
- }
122
- return service + modifier
123
- }
124
-
125
- // minEphemeralPort is the low-water mark of the ephemeral port range across the
126
- // platforms this suite runs on: Linux starts at 32768, macOS and Windows at
127
- // 49152. An httptest server (net.Listen on 127.0.0.1:0) always lands at or
128
- // above this; a service name a human configured — a local Parker on :4000, the
129
- // dead-loopback :1, the hostile-env :9 — never does.
130
- const minEphemeralPort = 32768
131
-
132
- // ephemeralParityServiceRe is the POSITIVE assertion that gates every keychain
133
- // write and delete in this package. A service name must be:
134
- //
135
- // - one of the two CLI namespaces (vip-go-cli for Node, vip-next-cli for Go),
136
- // - optionally the Go elevated-token namespace (":elevated"),
137
- // - scoped to a host, and that host must be exactly http://127.0.0.1:<port>
138
- // sanitised to http---127-0-0-1-<port> — "localhost" is NOT accepted,
139
- // - optionally suffixed "-uuid" (Node's analytics anon-id entry).
140
- //
141
- // The port is then range-checked against minEphemeralPort. Both conditions must
142
- // hold; there is no denylist anywhere and no way to opt a name past this.
143
- var ephemeralParityServiceRe = regexp.MustCompile(
144
- `^vip-(?:go|next)-cli(?::elevated)?:http---127-0-0-1-([0-9]{1,5})(?:-uuid)?$`)
145
-
146
- // IsEphemeralParityService reports whether name is a credential this harness is
147
- // permitted to create and destroy.
148
- //
149
- // It refuses, among everything else, all of these real credentials:
150
- //
151
- // vip-go-cli (no host scope)
152
- // vip-go-cli-uuid (no host scope)
153
- // vip-next-cli-uuid (no host scope)
154
- // vip-go-cli:http---127-0-0-1-4000-uuid (port 4000 < 32768)
155
- // vip-go-cli:http---localhost-4000 (host is not 127.0.0.1)
156
- // vip-go-cli:http---localhost-4000-uuid (host is not 127.0.0.1)
157
- // vip-go-cli:http---127-0-0-1-9-uuid (port 9 < 32768)
158
- // vip-next-cli:http---127-0-0-1-9-uuid (port 9 < 32768)
159
- func IsEphemeralParityService(name string) bool {
160
- m := ephemeralParityServiceRe.FindStringSubmatch(name)
161
- if m == nil {
162
- return false
163
- }
164
- port, err := strconv.Atoi(m[1])
165
- if err != nil {
166
- return false
167
- }
168
- return port >= minEphemeralPort && port <= 65535
169
- }
170
-
171
- // assertEphemeralParityService is the guard every mutating call runs first.
172
- func assertEphemeralParityService(op, name string) error {
173
- if IsEphemeralParityService(name) {
174
- return nil
175
- }
176
- return fmt.Errorf(
177
- "parity keychain: refusing to %s %q — only credentials scoped to an ephemeral "+
178
- "loopback port (vip-{go,next}-cli[:elevated]:http---127-0-0-1-<port>[-uuid], "+
179
- "port >= %d) may be touched by the harness",
180
- op, name, minEphemeralPort)
181
- }
182
-
183
- // ErrKeychainUnsupported is returned by the /usr/bin/security-backed
184
- // enumeration and deletion helpers on platforms that do not have it.
185
- //
186
- // It does NOT mean the differential cannot run there. Seeding and deleting go
187
- // through Node's own keychain layer (see nodeKeychainScript) and work
188
- // everywhere Node does; this error only marks the macOS-specific ORPHAN SWEEP
189
- // as unavailable. Callers must therefore treat it as "nothing to sweep", never
190
- // as a failure and never as a reason to skip a scenario.
191
- //
192
- // The asymmetry that leaves behind, stated plainly: on macOS a run killed
193
- // mid-flight (SIGKILL, ^C) leaves a keychain item that the next run's pre-run
194
- // sweep collects. On Linux the equivalent orphan is one JSON key inside
195
- // ~/.config/configstore/vip-go-cli.json, and there is no sweep for it — the
196
- // key is removed by the normal teardown, but not recovered if the process is
197
- // killed before teardown. That is deliberate: enumerating configstore means
198
- // reaching into a private field of the vendored Insecure backend, and the
199
- // exposure it would buy back is one key on a CI runner that is destroyed at
200
- // the end of the job.
201
- var ErrKeychainUnsupported = errors.New(
202
- "parity keychain: the orphan sweep is only implemented on macOS")
203
-
204
- const securityBin = "/usr/bin/security"
205
-
206
- // ParityKeychainServices lists every service name a differential run against
207
- // apiHost can bring into existence — the set that must be cleaned up.
208
- //
209
- // Two are Node's (src/lib/token.ts): the token entry the harness seeds, and the
210
- // "-uuid" analytics entry Token.uuid() creates on its own. trackEvent() calls
211
- // Token.uuid() unconditionally (src/lib/tracker.ts:55), BEFORE the DO_NOT_TRACK
212
- // check further down the stack, so that entry appears even with telemetry off.
213
- //
214
- // Two are Go's, taken from the production derivations so they cannot drift:
215
- // the auth store's entry and the rechallenge elevated-token cache.
216
- func ParityKeychainServices(apiHost string) []string {
217
- return []string{
218
- NodeKeychainService(apiHost, ""),
219
- NodeKeychainService(apiHost, "-uuid"),
220
- keychain.ServiceNameForHost(apiHost),
221
- rechallenge.ServiceNameForHost(apiHost),
222
- }
223
- }
224
-
225
- // nodeKeychainScript drives NODE'S OWN keychain layer — dist/lib/keychain.js,
226
- // the compiled src/lib/keychain.ts — rather than reaching for a backend
227
- // directly.
228
- //
229
- // That indirection is the whole point. getKeychain() tries Secure (keytar) and
230
- // falls back to Insecure (a configstore JSON file) when Secure throws
231
- // (src/lib/keychain.ts:12-23). Which one wins depends on the host: macOS gets
232
- // Secure, a headless Linux CI runner with no usable secret service gets
233
- // Insecure. Seeding through the same function the CLI reads through means the
234
- // harness cannot write to a store the CLI will not consult — the seed lands
235
- // wherever the read will look, by construction, on every platform.
236
- //
237
- // It also preserves the property the previous keytar-direct version had: an
238
- // entry created by /usr/bin/security carries an ACL partition list of
239
- // "apple-tool:" only, and a later read from node blocks on a GUI authorisation
240
- // prompt. Writing through node gives the item the partition list node can read.
241
- //
242
- // The secret arrives on stdin — not argv (visible in ps) and not the
243
- // environment. Every error message has the secret spliced out before it is
244
- // printed, so a backend failure can never leak the token.
245
- const nodeKeychainScript = `
246
- const { getKeychain } = require(process.env.VIP_PARITY_KEYCHAIN_DIST + '/lib/keychain.js');
247
- const service = process.env.VIP_PARITY_KEYCHAIN_SERVICE;
248
- const op = process.env.VIP_PARITY_KEYCHAIN_OP;
249
- const secret = op === 'set' ? require('node:fs').readFileSync(0, 'utf8') : '';
250
- const redact = err => {
251
- const text = String((err && err.stack) || (err && err.message) || err);
252
- return secret ? text.split(secret).join('<redacted>') : text;
253
- };
254
- (async () => {
255
- const keychain = await getKeychain();
256
- if (op === 'delete') {
257
- await keychain.deletePassword(service);
258
- process.stdout.write('DELETED:' + keychain.constructor.name);
259
- return;
260
- }
261
- await keychain.setPassword(service, secret);
262
- const readBack = await keychain.getPassword(service);
263
- process.stdout.write((readBack === secret ? 'VERIFIED:' : 'MISMATCH:') + keychain.constructor.name);
264
- })().catch(err => { process.stderr.write(redact(err)); process.exit(1); });
265
- `
266
-
267
- // nodeKeychainOpTimeout bounds every call into Node's keychain layer.
268
- //
269
- // On macOS the whole round trip is ~25ms and on a keytar-less host the
270
- // Insecure fallback is ~15ms (both measured). The budget is enormous next to
271
- // that on purpose: it exists solely so a credential backend that BLOCKS rather
272
- // than throwing — libsecret waiting on a D-Bus session that will never
273
- // autolaunch is the plausible Linux case — turns into a loud skip instead of a
274
- // CI job that hangs until the runner's own timeout kills it.
275
- const nodeKeychainOpTimeout = 60 * time.Second
276
-
277
- // ErrKeychainSeedMismatch means the write reported success but the value read
278
- // back was not the value written. That is a harness bug (a wrong service name,
279
- // a wrong account), not a hostile environment, so callers should FAIL on it
280
- // rather than skip.
281
- var ErrKeychainSeedMismatch = errors.New(
282
- "parity keychain: seeded entry did not read back as written")
283
-
284
- // SeedNodeKeychainToken writes token into the credential the Node CLI reads for
285
- // apiHost, through Node's own keychain layer.
286
- //
287
- // The caller MUST register cleanup for ParityKeychainServices(apiHost) BEFORE
288
- // calling this, so a partial write is still collected.
289
- //
290
- // A non-nil error other than ErrKeychainSeedMismatch means the credential store
291
- // could not be driven at all (no node, no dist/, no usable backend, a locked
292
- // keychain, a backend that timed out); the caller turns that into a loud skip.
293
- func SeedNodeKeychainToken(nodeBin, apiHost, token string) error {
294
- service := NodeKeychainService(apiHost, "")
295
- if err := assertEphemeralParityService("write", service); err != nil {
296
- return err
297
- }
298
- if token == "" {
299
- return errors.New("parity keychain: refusing to seed an empty token")
300
- }
301
- out, err := runNodeKeychainOp(nodeBin, service, "set", token)
302
- if err != nil {
303
- return err
304
- }
305
- if !strings.HasPrefix(out, "VERIFIED:") {
306
- return fmt.Errorf("%w: service %q (backend reported %q)", ErrKeychainSeedMismatch, service, out)
307
- }
308
- return nil
309
- }
310
-
311
- // DeleteNodeKeychainService removes name through Node's own keychain layer.
312
- //
313
- // This is the platform-portable half of cleanup: DeleteParityKeychainService
314
- // below shells out to /usr/bin/security and therefore only exists on macOS,
315
- // but on a Linux runner the credential lives in a configstore JSON file that
316
- // only Node knows the path of. Deleting through getKeychain() removes exactly
317
- // the key that was written, whichever backend holds it.
318
- func DeleteNodeKeychainService(nodeBin, name string) error {
319
- if err := assertEphemeralParityService("delete", name); err != nil {
320
- return err
321
- }
322
- _, err := runNodeKeychainOp(nodeBin, name, "delete", "")
323
- return err
324
- }
325
-
326
- func runNodeKeychainOp(nodeBin, service, op, secret string) (string, error) {
327
- dist, err := nodeDistDir(nodeBin)
328
- if err != nil {
329
- return "", err
330
- }
331
- root, ok := nodeModulesRoot(nodeBin)
332
- if !ok {
333
- return "", fmt.Errorf("parity keychain: no node_modules above %s; run `npm ci`", nodeBin)
334
- }
335
-
336
- ctx, cancel := context.WithTimeout(context.Background(), nodeKeychainOpTimeout)
337
- defer cancel()
338
-
339
- cmd := exec.CommandContext(ctx, "node", "-e", nodeKeychainScript)
340
- cmd.Dir = root
341
- // The shim gets the scrubbed fixture environment plus the operands, and
342
- // explicitly NO credential: it receives the secret on stdin instead.
343
- cmd.Env = FixtureEnv(map[string]string{
344
- "VIP_PARITY_KEYCHAIN_DIST": dist,
345
- "VIP_PARITY_KEYCHAIN_SERVICE": service,
346
- "VIP_PARITY_KEYCHAIN_OP": op,
347
- "VIP_TOKEN_OVERRIDE": "",
348
- })
349
- if secret != "" {
350
- cmd.Stdin = strings.NewReader(secret)
351
- }
352
-
353
- var stdout, stderr bytes.Buffer
354
- cmd.Stdout = &stdout
355
- cmd.Stderr = &stderr
356
-
357
- runErr := cmd.Run()
358
- if ctx.Err() != nil {
359
- return "", fmt.Errorf("parity keychain: %s %q timed out after %s — the credential "+
360
- "backend blocked instead of failing", op, service, nodeKeychainOpTimeout)
361
- }
362
- if runErr != nil {
363
- return "", fmt.Errorf("parity keychain: node could not %s %q (%v): %s",
364
- op, service, runErr, strings.TrimSpace(stderr.String()))
365
- }
366
- return stdout.String(), nil
367
- }
368
-
369
- // nodeDistDir maps the CLI entrypoint to the compiled tree that holds
370
- // lib/keychain.js (dist/bin/vip.js -> dist).
371
- func nodeDistDir(binPath string) (string, error) {
372
- dist := filepath.Dir(filepath.Dir(binPath))
373
- if _, err := os.Stat(filepath.Join(dist, "lib", "keychain.js")); err != nil {
374
- return "", fmt.Errorf("parity keychain: %s has no lib/keychain.js "+
375
- "(derived from NODE_VIP_BIN=%s); run `npm ci`", dist, binPath)
376
- }
377
- return dist, nil
378
- }
379
-
380
- // nodeModulesRoot walks up from the Node entrypoint to the directory that owns
381
- // node_modules (dist/bin/vip.js -> dist/bin -> dist -> <root>).
382
- func nodeModulesRoot(binPath string) (string, bool) {
383
- dir := filepath.Dir(binPath)
384
- for {
385
- if info, err := os.Stat(filepath.Join(dir, "node_modules")); err == nil && info.IsDir() {
386
- return dir, true
387
- }
388
- parent := filepath.Dir(dir)
389
- if parent == dir {
390
- return "", false
391
- }
392
- dir = parent
393
- }
394
- }
395
-
396
- // DeleteParityKeychainService removes every credential stored under name.
397
- //
398
- // It deletes by SERVICE rather than by (service, account) on purpose: Go's auth
399
- // store writes a second item under the same service with the account
400
- // "<service>:legacy-fallback-disabled" (internal/auth/store.go:128), and a
401
- // (service, account) delete would leave it behind. The service name itself is
402
- // what the guard validates, so removing everything under it is bounded.
403
- //
404
- // A name that is already absent is not an error — cleanup must be idempotent.
405
- func DeleteParityKeychainService(name string) error {
406
- if err := assertEphemeralParityService("delete", name); err != nil {
407
- return err
408
- }
409
- if runtime.GOOS != "darwin" {
410
- return ErrKeychainUnsupported
411
- }
412
- for {
413
- // No -g/-w: attributes only, so nothing is ever decrypted or printed.
414
- out, err := exec.Command(securityBin, "delete-generic-password", "-s", name).CombinedOutput()
415
- if err != nil {
416
- if strings.Contains(string(out), "could not be found") {
417
- return nil
418
- }
419
- return fmt.Errorf("parity keychain: delete %q: %v: %s",
420
- name, err, strings.TrimSpace(string(out)))
421
- }
422
- }
423
- }
424
-
425
- // CleanupParityKeychainServices deletes each name, guard first. It keeps going
426
- // after a failure so one bad name cannot strand the rest, and returns the
427
- // joined error.
428
- func CleanupParityKeychainServices(names []string) error {
429
- var errs []error
430
- for _, name := range names {
431
- if err := DeleteParityKeychainService(name); err != nil {
432
- errs = append(errs, err)
433
- }
434
- }
435
- return errors.Join(errs...)
436
- }
437
-
438
- // CleanupParityCredentials removes every credential a differential run against
439
- // apiHost can have created, on any platform.
440
- //
441
- // It runs BOTH deletion paths because they cover different ground:
442
- //
443
- // - Node's own keychain layer knows where Node put the entry, which on a
444
- // host without a usable secret service is a configstore JSON file that
445
- // /usr/bin/security cannot see at all;
446
- // - /usr/bin/security deletes by SERVICE, which collects the SECOND item Go's
447
- // auth store writes under the same service with the account
448
- // "<service>:legacy-fallback-disabled" (internal/auth/store.go) — a
449
- // (service, account) delete through Node would leave that behind.
450
- //
451
- // ErrKeychainUnsupported from the macOS-only path is not an error: on Linux
452
- // there is simply nothing for it to do. Everything else is reported, and the
453
- // function keeps going so one failure cannot strand the rest.
454
- func CleanupParityCredentials(nodeBin, apiHost string) error {
455
- var errs []error
456
- for _, name := range ParityKeychainServices(apiHost) {
457
- if nodeBin != "" {
458
- if err := DeleteNodeKeychainService(nodeBin, name); err != nil {
459
- errs = append(errs, err)
460
- }
461
- }
462
- if err := DeleteParityKeychainService(name); err != nil &&
463
- !errors.Is(err, ErrKeychainUnsupported) {
464
- errs = append(errs, err)
465
- }
466
- }
467
- return errors.Join(errs...)
468
- }
469
-
470
- // svceLine matches the service attribute in `security dump-keychain` output:
471
- //
472
- // "svce"<blob>="vip-go-cli:http---127-0-0-1-63145-uuid"
473
- var svceLine = regexp.MustCompile(`^\s*"svce"<blob>="(.*)"\s*$`)
474
-
475
- // listKeychainServices enumerates the service names in the user's keychain
476
- // search list.
477
- //
478
- // `security dump-keychain` WITHOUT -d dumps attributes only. It never decrypts
479
- // a password and never prompts. Values that are not printable ASCII come back
480
- // as 0x… hex instead of a quoted string and are simply not matched — every
481
- // service name this harness cares about is plain ASCII.
482
- func listKeychainServices() ([]string, error) {
483
- if runtime.GOOS != "darwin" {
484
- return nil, ErrKeychainUnsupported
485
- }
486
- // dump-keychain exits non-zero when any keychain in the search list is
487
- // unreadable while still dumping the rest, so a non-empty stdout wins over
488
- // the exit status.
489
- out, err := exec.Command(securityBin, "dump-keychain").Output()
490
- if len(out) == 0 && err != nil {
491
- return nil, fmt.Errorf("parity keychain: dump-keychain: %w", err)
492
- }
493
-
494
- var services []string
495
- seen := map[string]bool{}
496
- for _, line := range strings.Split(string(out), "\n") {
497
- m := svceLine.FindStringSubmatch(line)
498
- if m == nil || seen[m[1]] {
499
- continue
500
- }
501
- seen[m[1]] = true
502
- services = append(services, m[1])
503
- }
504
- return services, nil
505
- }
506
-
507
- // SweepEphemeralParityKeychain deletes every credential whose service name
508
- // passes IsEphemeralParityService, and returns the names it removed.
509
- //
510
- // This is the orphan collector. A test binary that is killed (SIGKILL, a
511
- // panicking child, ^C) never runs t.Cleanup, so entries survive; running this
512
- // at the START of a run collects them, and running it at the END collects
513
- // anything the CLIs under test wrote for themselves — the Go binary creates
514
- // vip-next-cli:<host> and vip-next-cli:elevated:<host> entries during the login
515
- // and rechallenge scenarios, which no per-test cleanup knows about.
516
- //
517
- // It cannot touch a real credential: a name only qualifies if it is scoped to
518
- // 127.0.0.1 on a port in the ephemeral range, which is a shape only a
519
- // throwaway httptest server produces.
520
- func SweepEphemeralParityKeychain() ([]string, error) {
521
- services, err := listKeychainServices()
522
- if err != nil {
523
- return nil, err
524
- }
525
- var removed []string
526
- var errs []error
527
- for _, name := range services {
528
- if !IsEphemeralParityService(name) {
529
- continue
530
- }
531
- if err := DeleteParityKeychainService(name); err != nil {
532
- errs = append(errs, err)
533
- continue
534
- }
535
- removed = append(removed, name)
536
- }
537
- return removed, errors.Join(errs...)
538
- }