@automattic/vip 4.1.5 → 4.1.8

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 (1819) hide show
  1. package/assets/dev-env.lando.template.yml.ejs +7 -3
  2. package/config/config.local.json +6 -0
  3. package/dist/bin/vip-app-deploy-token-generate.js +110 -78
  4. package/dist/bin/vip-app-deploy-token.js +24 -16
  5. package/dist/bin/vip-app-deploy-validate.js +45 -41
  6. package/dist/bin/vip-app-deploy.js +222 -215
  7. package/dist/bin/vip-app-list.js +59 -43
  8. package/dist/bin/vip-app.js +97 -66
  9. package/dist/bin/vip-backup-db.js +36 -29
  10. package/dist/bin/vip-backup.js +16 -9
  11. package/dist/bin/vip-cache-purge-url.js +93 -55
  12. package/dist/bin/vip-cache.js +23 -14
  13. package/dist/bin/vip-config-envvar-delete.js +74 -73
  14. package/dist/bin/vip-config-envvar-get-all.js +68 -68
  15. package/dist/bin/vip-config-envvar-get.js +46 -46
  16. package/dist/bin/vip-config-envvar-list.js +54 -57
  17. package/dist/bin/vip-config-envvar-set.js +102 -96
  18. package/dist/bin/vip-config-envvar.js +38 -24
  19. package/dist/bin/vip-config-software-get.js +89 -67
  20. package/dist/bin/vip-config-software-update.js +116 -120
  21. package/dist/bin/vip-config-software.js +31 -21
  22. package/dist/bin/vip-config.js +25 -17
  23. package/dist/bin/vip-db-phpmyadmin.js +40 -39
  24. package/dist/bin/vip-db.js +13 -12
  25. package/dist/bin/vip-defensive-mode-configure.js +197 -197
  26. package/dist/bin/vip-defensive-mode-disable.js +43 -35
  27. package/dist/bin/vip-defensive-mode-enable.js +47 -38
  28. package/dist/bin/vip-defensive-mode.js +28 -17
  29. package/dist/bin/vip-dev-env-create.js +147 -104
  30. package/dist/bin/vip-dev-env-destroy.js +48 -39
  31. package/dist/bin/vip-dev-env-envvar-delete.js +60 -49
  32. package/dist/bin/vip-dev-env-envvar-get-all.js +52 -45
  33. package/dist/bin/vip-dev-env-envvar-get.js +48 -37
  34. package/dist/bin/vip-dev-env-envvar-list.js +48 -41
  35. package/dist/bin/vip-dev-env-envvar-set.js +83 -70
  36. package/dist/bin/vip-dev-env-envvar.js +38 -23
  37. package/dist/bin/vip-dev-env-exec.js +81 -74
  38. package/dist/bin/vip-dev-env-import-media.js +34 -26
  39. package/dist/bin/vip-dev-env-import-sql.js +65 -51
  40. package/dist/bin/vip-dev-env-import.js +23 -14
  41. package/dist/bin/vip-dev-env-info.js +59 -50
  42. package/dist/bin/vip-dev-env-list.js +34 -31
  43. package/dist/bin/vip-dev-env-logs.js +59 -49
  44. package/dist/bin/vip-dev-env-purge.js +71 -63
  45. package/dist/bin/vip-dev-env-shell.js +82 -71
  46. package/dist/bin/vip-dev-env-start.js +77 -65
  47. package/dist/bin/vip-dev-env-stop.js +80 -74
  48. package/dist/bin/vip-dev-env-sync-sql.js +80 -72
  49. package/dist/bin/vip-dev-env-sync.js +18 -11
  50. package/dist/bin/vip-dev-env-update.js +93 -84
  51. package/dist/bin/vip-dev-env.js +25 -8
  52. package/dist/bin/vip-edge-workers-build.js +82 -54
  53. package/dist/bin/vip-edge-workers-delete.js +84 -52
  54. package/dist/bin/vip-edge-workers-deploy.js +186 -126
  55. package/dist/bin/vip-edge-workers-disable.js +75 -44
  56. package/dist/bin/vip-edge-workers-enable.js +86 -54
  57. package/dist/bin/vip-edge-workers-get.js +108 -88
  58. package/dist/bin/vip-edge-workers-init.js +83 -53
  59. package/dist/bin/vip-edge-workers-list.js +89 -54
  60. package/dist/bin/vip-edge-workers-new.js +98 -69
  61. package/dist/bin/vip-edge-workers-validate.js +123 -82
  62. package/dist/bin/vip-edge-workers.js +19 -6
  63. package/dist/bin/vip-export-sql.js +75 -69
  64. package/dist/bin/vip-export.js +12 -7
  65. package/dist/bin/vip-import-media-abort.js +99 -73
  66. package/dist/bin/vip-import-media-status.js +83 -51
  67. package/dist/bin/vip-import-media.js +165 -166
  68. package/dist/bin/vip-import-sql-status.js +75 -45
  69. package/dist/bin/vip-import-sql.js +536 -596
  70. package/dist/bin/vip-import-validate-files.js +122 -141
  71. package/dist/bin/vip-import-validate-sql.js +52 -16
  72. package/dist/bin/vip-import.js +16 -7
  73. package/dist/bin/vip-logout.js +17 -13
  74. package/dist/bin/vip-logs.js +209 -183
  75. package/dist/bin/vip-search-replace.js +85 -53
  76. package/dist/bin/vip-slowlogs.js +168 -147
  77. package/dist/bin/vip-sync.js +163 -133
  78. package/dist/bin/vip-whoami.js +71 -35
  79. package/dist/bin/vip-wp.js +505 -459
  80. package/dist/bin/vip.js +161 -116
  81. package/dist/commands/backup-db.js +183 -149
  82. package/dist/commands/dev-env-import-sql.js +162 -117
  83. package/dist/commands/dev-env-sync-sql.js +372 -330
  84. package/dist/commands/export-sql.js +441 -425
  85. package/dist/commands/phpmyadmin.js +232 -212
  86. package/dist/commands/wp-ssh.js +218 -187
  87. package/dist/lib/analytics/clients/tracks.js +84 -91
  88. package/dist/lib/analytics/index.js +27 -27
  89. package/dist/lib/api/app.js +37 -36
  90. package/dist/lib/api/cache-purge.js +17 -20
  91. package/dist/lib/api/constants.js +5 -6
  92. package/dist/lib/api/edge-workers.js +84 -135
  93. package/dist/lib/api/error-debug.js +10 -13
  94. package/dist/lib/api/feature-flags.js +16 -17
  95. package/dist/lib/api/http.js +47 -48
  96. package/dist/lib/api/user.js +17 -18
  97. package/dist/lib/api.js +107 -116
  98. package/dist/lib/app-logs/app-logs.js +24 -25
  99. package/dist/lib/app-slowlogs/app-slowlogs.js +23 -24
  100. package/dist/lib/app-slowlogs/types.js +2 -1
  101. package/dist/lib/app.js +6 -8
  102. package/dist/lib/backup-storage-availability/backup-storage-availability.js +119 -119
  103. package/dist/lib/backup-storage-availability/docker-machine-not-found-error.js +5 -6
  104. package/dist/lib/cli/apiConfig.js +71 -41
  105. package/dist/lib/cli/command.js +1120 -873
  106. package/dist/lib/cli/config.js +29 -29
  107. package/dist/lib/cli/envAlias.js +35 -50
  108. package/dist/lib/cli/exit.js +19 -19
  109. package/dist/lib/cli/format.js +172 -172
  110. package/dist/lib/cli/progress.js +193 -236
  111. package/dist/lib/cli/prompt.js +14 -15
  112. package/dist/lib/cli/runtime-mode.js +5 -6
  113. package/dist/lib/client-file-uploader.js +492 -615
  114. package/dist/lib/config/software.js +225 -191
  115. package/dist/lib/constants/dev-environment.js +40 -37
  116. package/dist/lib/constants/file-size.js +6 -7
  117. package/dist/lib/constants/vipgo.js +24 -12
  118. package/dist/lib/custom-deploy/custom-deploy.js +138 -120
  119. package/dist/lib/database.js +88 -85
  120. package/dist/lib/defensive-mode/api.js +41 -46
  121. package/dist/lib/defensive-mode/cli-helpers.js +40 -40
  122. package/dist/lib/dev-environment/dev-environment-cli.js +776 -735
  123. package/dist/lib/dev-environment/dev-environment-configuration-file.js +224 -191
  124. package/dist/lib/dev-environment/dev-environment-core.js +697 -732
  125. package/dist/lib/dev-environment/dev-environment-database.js +57 -41
  126. package/dist/lib/dev-environment/dev-environment-lando.js +734 -666
  127. package/dist/lib/dev-environment/docker-utils.js +96 -90
  128. package/dist/lib/dev-environment/env-vars.js +61 -59
  129. package/dist/lib/dev-environment/lando-loader.js +6 -7
  130. package/dist/lib/dev-environment/types.js +2 -1
  131. package/dist/lib/edge-workers/confirmation.js +42 -36
  132. package/dist/lib/edge-workers/deployment.js +150 -159
  133. package/dist/lib/edge-workers/index.js +68 -85
  134. package/dist/lib/edge-workers/location.js +26 -26
  135. package/dist/lib/edge-workers/output.js +14 -15
  136. package/dist/lib/edge-workers/project.js +123 -132
  137. package/dist/lib/edge-workers/toolchains/assemblyscript/constants.js +6 -8
  138. package/dist/lib/edge-workers/toolchains/assemblyscript/index.js +100 -101
  139. package/dist/lib/edge-workers/toolchains/assemblyscript/templates.js +31 -33
  140. package/dist/lib/edge-workers/toolchains/index.js +15 -15
  141. package/dist/lib/edge-workers/types.js +10 -38
  142. package/dist/lib/edge-workers/validation.js +161 -150
  143. package/dist/lib/env.js +16 -17
  144. package/dist/lib/envvar/api-delete.js +16 -18
  145. package/dist/lib/envvar/api-get-all.js +15 -19
  146. package/dist/lib/envvar/api-get.js +8 -9
  147. package/dist/lib/envvar/api-list.js +16 -21
  148. package/dist/lib/envvar/api-set.js +20 -19
  149. package/dist/lib/envvar/api.js +34 -29
  150. package/dist/lib/envvar/input.js +29 -34
  151. package/dist/lib/envvar/logging.js +9 -11
  152. package/dist/lib/envvar/read-file.js +6 -7
  153. package/dist/lib/http/download-file.js +76 -44
  154. package/dist/lib/http/proxy-agent.js +37 -40
  155. package/dist/lib/http/proxy-dispatcher.js +69 -71
  156. package/dist/lib/keychain/insecure.js +40 -36
  157. package/dist/lib/keychain/keychain.js +2 -1
  158. package/dist/lib/keychain/secure.js +16 -15
  159. package/dist/lib/keychain.js +22 -22
  160. package/dist/lib/live-backup-copy.js +117 -115
  161. package/dist/lib/logout.js +17 -19
  162. package/dist/lib/media-import/config.js +15 -14
  163. package/dist/lib/media-import/media-file-import.js +9 -13
  164. package/dist/lib/media-import/progress.js +53 -65
  165. package/dist/lib/media-import/status.js +241 -256
  166. package/dist/lib/media-import/utils.js +15 -15
  167. package/dist/lib/node-version-check.js +16 -16
  168. package/dist/lib/promise.js +16 -17
  169. package/dist/lib/read-file.js +48 -16
  170. package/dist/lib/rechallenge/client.js +37 -43
  171. package/dist/lib/rechallenge/errors.js +38 -37
  172. package/dist/lib/rechallenge/flow.js +148 -123
  173. package/dist/lib/rechallenge/index.js +23 -24
  174. package/dist/lib/rechallenge/link.js +153 -151
  175. package/dist/lib/rechallenge/open-browser.js +14 -17
  176. package/dist/lib/rechallenge/token-cache.js +83 -86
  177. package/dist/lib/rechallenge/types.js +5 -14
  178. package/dist/lib/retry.js +93 -129
  179. package/dist/lib/search-and-replace.js +164 -148
  180. package/dist/lib/site-import/db-file-import.js +12 -16
  181. package/dist/lib/site-import/status.js +291 -291
  182. package/dist/lib/token.js +86 -87
  183. package/dist/lib/tracker.js +51 -62
  184. package/dist/lib/types/graphql/rate-limit-exceeded-error.js +2 -1
  185. package/dist/lib/types.js +2 -1
  186. package/dist/lib/user-error.js +6 -8
  187. package/dist/lib/utils.js +81 -87
  188. package/dist/lib/validations/custom-deploy.js +218 -186
  189. package/dist/lib/validations/is-multi-site-sql-dump.js +6 -6
  190. package/dist/lib/validations/is-multi-site.js +83 -50
  191. package/dist/lib/validations/is-multisite-domain-mapped.js +92 -62
  192. package/dist/lib/validations/line-by-line.js +78 -46
  193. package/dist/lib/validations/site-type.js +59 -63
  194. package/dist/lib/validations/sql-insert-parser.js +415 -0
  195. package/dist/lib/validations/sql.js +551 -431
  196. package/dist/lib/validations/utils.js +27 -29
  197. package/dist/lib/vip-import-validate-files.js +481 -490
  198. package/dist/lib/wp/helpers.js +41 -45
  199. package/dist/lib/wp/readline.js +21 -57
  200. package/dist/lib/xdg-data.js +11 -12
  201. package/helpers/generate-docs.js +9 -3
  202. package/helpers/mark-cli-executable.js +9 -0
  203. package/node_modules/@apollo/client/CHANGELOG.md +42 -0
  204. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs +1 -1
  205. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs.map +1 -1
  206. package/node_modules/@apollo/client/__cjs/cache/core/cache.d.cts +4 -1
  207. package/node_modules/@apollo/client/__cjs/cache/core/types/Cache.d.cts +5 -0
  208. package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs +4 -4
  209. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs +5 -0
  210. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  211. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +17 -6
  212. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  213. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.d.cts +3 -1
  214. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +15 -3
  215. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  216. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +21 -5
  217. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs.map +1 -1
  218. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.d.cts +2 -0
  219. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs +28 -10
  220. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  221. package/node_modules/@apollo/client/__cjs/cache/inmemory/types.d.cts +7 -2
  222. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +32 -16
  223. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  224. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.d.cts +5 -2
  225. package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs +14 -14
  226. package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs +8 -8
  227. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +22 -33
  228. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  229. package/node_modules/@apollo/client/__cjs/core/QueryInfo.d.cts +1 -1
  230. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +22 -15
  231. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs.map +1 -1
  232. package/node_modules/@apollo/client/__cjs/core/RefetchEventManager.cjs +3 -3
  233. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs +15 -2
  234. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  235. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.d.cts +5 -1
  236. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs +58 -14
  237. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
  238. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.d.cts +23 -12
  239. package/node_modules/@apollo/client/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  240. package/node_modules/@apollo/client/__cjs/incremental/types.d.cts +19 -1
  241. package/node_modules/@apollo/client/__cjs/invariantErrorCodes.cjs +64 -58
  242. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  243. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  244. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.cjs.map +1 -1
  245. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.d.cts +42 -43
  246. package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs.map +1 -1
  247. package/node_modules/@apollo/client/__cjs/utilities/internal/index.d.cts +0 -1
  248. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs +24 -26
  249. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -1
  250. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.d.cts +1 -1
  251. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs +24 -20
  252. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs.map +1 -1
  253. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.d.cts +1 -1
  254. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  255. package/node_modules/@apollo/client/cache/core/cache.d.ts +4 -1
  256. package/node_modules/@apollo/client/cache/core/cache.js +1 -1
  257. package/node_modules/@apollo/client/cache/core/cache.js.map +1 -1
  258. package/node_modules/@apollo/client/cache/core/types/Cache.d.ts +5 -0
  259. package/node_modules/@apollo/client/cache/core/types/Cache.js.map +1 -1
  260. package/node_modules/@apollo/client/cache/inmemory/entityStore.js +4 -4
  261. package/node_modules/@apollo/client/cache/inmemory/helpers.js +5 -0
  262. package/node_modules/@apollo/client/cache/inmemory/helpers.js.map +1 -1
  263. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.d.ts +3 -1
  264. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +17 -6
  265. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  266. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +15 -3
  267. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js.map +1 -1
  268. package/node_modules/@apollo/client/cache/inmemory/policies.d.ts +2 -0
  269. package/node_modules/@apollo/client/cache/inmemory/policies.js +22 -6
  270. package/node_modules/@apollo/client/cache/inmemory/policies.js.map +1 -1
  271. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js +28 -10
  272. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js.map +1 -1
  273. package/node_modules/@apollo/client/cache/inmemory/types.d.ts +7 -2
  274. package/node_modules/@apollo/client/cache/inmemory/types.js.map +1 -1
  275. package/node_modules/@apollo/client/cache/inmemory/writeToStore.d.ts +5 -2
  276. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +33 -17
  277. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  278. package/node_modules/@apollo/client/core/ApolloClient.js +14 -14
  279. package/node_modules/@apollo/client/core/ObservableQuery.js +8 -8
  280. package/node_modules/@apollo/client/core/QueryInfo.d.ts +1 -1
  281. package/node_modules/@apollo/client/core/QueryInfo.js +23 -34
  282. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  283. package/node_modules/@apollo/client/core/QueryManager.js +22 -15
  284. package/node_modules/@apollo/client/core/QueryManager.js.map +1 -1
  285. package/node_modules/@apollo/client/core/RefetchEventManager.js +3 -3
  286. package/node_modules/@apollo/client/incremental/handlers/defer20220824.d.ts +5 -1
  287. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js +15 -2
  288. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js.map +1 -1
  289. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.d.ts +23 -12
  290. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js +58 -14
  291. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js.map +1 -1
  292. package/node_modules/@apollo/client/incremental/handlers/notImplemented.js +1 -1
  293. package/node_modules/@apollo/client/incremental/types.d.ts +19 -1
  294. package/node_modules/@apollo/client/incremental/types.js.map +1 -1
  295. package/node_modules/@apollo/client/invariantErrorCodes.js +64 -58
  296. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js +1 -1
  297. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js.map +1 -1
  298. package/node_modules/@apollo/client/package.json +1 -1
  299. package/node_modules/@apollo/client/react/hooks/useFragment.d.ts +42 -43
  300. package/node_modules/@apollo/client/react/hooks/useFragment.js.map +1 -1
  301. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.d.ts +42 -43
  302. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.js.map +1 -1
  303. package/node_modules/@apollo/client/utilities/internal/index.d.ts +0 -1
  304. package/node_modules/@apollo/client/utilities/internal/index.js.map +1 -1
  305. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.d.ts +1 -1
  306. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js +23 -25
  307. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js.map +1 -1
  308. package/node_modules/@apollo/client/utilities/internal/isStreamField.d.ts +1 -1
  309. package/node_modules/@apollo/client/utilities/internal/isStreamField.js +23 -19
  310. package/node_modules/@apollo/client/utilities/internal/isStreamField.js.map +1 -1
  311. package/node_modules/@apollo/client/version.js +1 -1
  312. package/node_modules/@automattic/vip-search-replace/README.md +6 -1
  313. package/node_modules/@automattic/vip-search-replace/lib/index.js +46 -14
  314. package/node_modules/@automattic/vip-search-replace/package.json +1 -1
  315. package/node_modules/@types/node/README.md +1 -1
  316. package/node_modules/@types/node/crypto.d.ts +2 -2
  317. package/node_modules/@types/node/dgram.d.ts +1 -1
  318. package/node_modules/@types/node/package.json +2 -2
  319. package/node_modules/@types/node/util.d.ts +6 -3
  320. package/node_modules/@types/node/zlib.d.ts +758 -0
  321. package/node_modules/axios/CHANGELOG.md +62 -0
  322. package/node_modules/axios/README.md +297 -5
  323. package/node_modules/axios/dist/axios.js +728 -170
  324. package/node_modules/axios/dist/axios.min.js +3 -3
  325. package/node_modules/axios/dist/axios.min.js.map +1 -1
  326. package/node_modules/axios/dist/browser/axios.cjs +871 -188
  327. package/node_modules/axios/dist/esm/axios.js +871 -188
  328. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  329. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  330. package/node_modules/axios/dist/node/axios.cjs +1037 -225
  331. package/node_modules/axios/index.d.cts +102 -74
  332. package/node_modules/axios/index.d.ts +100 -68
  333. package/node_modules/axios/lib/adapters/fetch.js +64 -11
  334. package/node_modules/axios/lib/adapters/http.js +140 -67
  335. package/node_modules/axios/lib/adapters/xhr.js +52 -3
  336. package/node_modules/axios/lib/core/Axios.js +43 -20
  337. package/node_modules/axios/lib/core/AxiosError.js +33 -2
  338. package/node_modules/axios/lib/core/AxiosHeaders.js +124 -1
  339. package/node_modules/axios/lib/core/InterceptorManager.js +107 -8
  340. package/node_modules/axios/lib/core/buildFullPath.js +41 -15
  341. package/node_modules/axios/lib/core/dispatchRequest.js +8 -2
  342. package/node_modules/axios/lib/core/mergeConfig.js +19 -4
  343. package/node_modules/axios/lib/core/methodList.js +17 -0
  344. package/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  345. package/node_modules/axios/lib/defaults/index.js +2 -1
  346. package/node_modules/axios/lib/env/data.js +1 -1
  347. package/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
  348. package/node_modules/axios/lib/helpers/HttpStatusCode.js +12 -1
  349. package/node_modules/axios/lib/helpers/combineURLs.js +11 -3
  350. package/node_modules/axios/lib/helpers/composeSignals.js +12 -1
  351. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +115 -54
  352. package/node_modules/axios/lib/helpers/formDataToJSON.js +11 -5
  353. package/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
  354. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  355. package/node_modules/axios/lib/helpers/parseHeaders.js +5 -3
  356. package/node_modules/axios/lib/helpers/progressEventReducer.js +4 -4
  357. package/node_modules/axios/lib/helpers/resolveConfig.js +5 -17
  358. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +300 -5
  359. package/node_modules/axios/lib/helpers/throttle.js +3 -2
  360. package/node_modules/axios/lib/helpers/toFormData.js +17 -23
  361. package/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  362. package/node_modules/axios/lib/utils.js +151 -18
  363. package/node_modules/axios/package.json +21 -19
  364. package/node_modules/chalk/package.json +1 -1
  365. package/node_modules/chalk/source/index.js +2 -1
  366. package/node_modules/check-disk-space/README.md +92 -32
  367. package/node_modules/check-disk-space/dist/check-disk-space.d.mts +58 -0
  368. package/node_modules/check-disk-space/dist/check-disk-space.mjs +170 -190
  369. package/node_modules/check-disk-space/package.json +43 -71
  370. package/node_modules/cpu-features/build/Makefile +2 -2
  371. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
  372. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o.d +1 -1
  373. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o.d +1 -1
  374. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
  375. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o.d +1 -1
  376. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o.d +1 -1
  377. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
  378. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
  379. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o.d +1 -1
  380. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
  381. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
  382. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
  383. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
  384. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +157 -145
  385. package/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
  386. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures/src/binding.o +0 -0
  387. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures.node +0 -0
  388. package/node_modules/cpu-features/build/config.gypi +100 -31
  389. package/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
  390. package/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
  391. package/node_modules/ejs/README.md +64 -28
  392. package/node_modules/ejs/bin/cli.js +220 -158
  393. package/node_modules/ejs/ejs.js +64 -94
  394. package/node_modules/ejs/ejs.min.js +1 -1
  395. package/node_modules/ejs/jakefile.js +44 -0
  396. package/node_modules/ejs/lib/cjs/ejs.js +64 -63
  397. package/node_modules/ejs/lib/cjs/parseargs.js +129 -77
  398. package/node_modules/ejs/lib/cjs/utils.js +0 -31
  399. package/node_modules/ejs/lib/esm/ejs.js +66 -65
  400. package/node_modules/ejs/lib/esm/parseargs.js +136 -82
  401. package/node_modules/ejs/lib/esm/utils.js +0 -32
  402. package/node_modules/ejs/package.json +3 -2
  403. package/node_modules/ejs/usage.txt +9 -9
  404. package/node_modules/follow-redirects/index.js +10 -1
  405. package/node_modules/follow-redirects/package.json +1 -1
  406. package/node_modules/graphql-ws/dist/client.cjs +28 -13
  407. package/node_modules/graphql-ws/dist/client.js +28 -13
  408. package/node_modules/graphql-ws/dist/index.cjs +1 -1
  409. package/node_modules/graphql-ws/dist/index.d.cts +1 -1
  410. package/node_modules/graphql-ws/dist/index.d.ts +1 -1
  411. package/node_modules/graphql-ws/dist/index.js +1 -1
  412. package/node_modules/graphql-ws/dist/{server-B8ZBs9OC.d.ts → server-BzBeHlSW.d.ts} +26 -1
  413. package/node_modules/graphql-ws/dist/{server-DN5-9C2B.cjs → server-Ce-Z86Ys.cjs} +10 -4
  414. package/node_modules/graphql-ws/dist/{server-ChpuX357.d.cts → server-u6zrlwzL.d.cts} +26 -1
  415. package/node_modules/graphql-ws/dist/{server-DHPI7HHW.js → server-zBhvXJ_Z.js} +10 -4
  416. package/node_modules/graphql-ws/dist/use/@fastify/websocket.cjs +2 -2
  417. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.cts +8 -2
  418. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.ts +8 -2
  419. package/node_modules/graphql-ws/dist/use/@fastify/websocket.js +2 -2
  420. package/node_modules/graphql-ws/dist/use/bun.cjs +1 -1
  421. package/node_modules/graphql-ws/dist/use/bun.d.cts +2 -2
  422. package/node_modules/graphql-ws/dist/use/bun.d.ts +2 -2
  423. package/node_modules/graphql-ws/dist/use/bun.js +2 -2
  424. package/node_modules/graphql-ws/dist/use/crossws.cjs +16 -4
  425. package/node_modules/graphql-ws/dist/use/crossws.d.cts +6 -1
  426. package/node_modules/graphql-ws/dist/use/crossws.d.ts +6 -1
  427. package/node_modules/graphql-ws/dist/use/crossws.js +16 -4
  428. package/node_modules/graphql-ws/dist/use/deno.d.ts +1 -1
  429. package/node_modules/graphql-ws/dist/use/deno.js +1 -1
  430. package/node_modules/graphql-ws/dist/use/uWebSockets.cjs +2 -2
  431. package/node_modules/graphql-ws/dist/use/uWebSockets.d.cts +8 -2
  432. package/node_modules/graphql-ws/dist/use/uWebSockets.d.ts +8 -2
  433. package/node_modules/graphql-ws/dist/use/uWebSockets.js +2 -2
  434. package/node_modules/graphql-ws/dist/use/ws.cjs +2 -2
  435. package/node_modules/graphql-ws/dist/use/ws.d.cts +8 -2
  436. package/node_modules/graphql-ws/dist/use/ws.d.ts +8 -2
  437. package/node_modules/graphql-ws/dist/use/ws.js +2 -2
  438. package/node_modules/graphql-ws/package.json +3 -3
  439. package/node_modules/graphql-ws/umd/graphql-ws.js +28 -13
  440. package/node_modules/graphql-ws/umd/graphql-ws.min.js +1 -1
  441. package/node_modules/graphql-ws/umd/graphql-ws.min.js.gz +0 -0
  442. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs +522 -495
  443. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs.map +1 -1
  444. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js +24 -24
  445. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js.map +1 -1
  446. package/node_modules/js-yaml/dist/js-yaml.cjs.js +135 -78
  447. package/node_modules/js-yaml/dist/js-yaml.cjs.js.map +1 -1
  448. package/node_modules/js-yaml/dist/js-yaml.mjs +129 -72
  449. package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
  450. package/node_modules/js-yaml/node_modules/argparse/LICENSE +47 -0
  451. package/node_modules/js-yaml/node_modules/argparse/README.md +89 -0
  452. package/node_modules/js-yaml/node_modules/argparse/lib/_colorize.js +72 -0
  453. package/node_modules/js-yaml/node_modules/argparse/lib/argparse.d.ts +292 -0
  454. package/node_modules/{argparse → js-yaml/node_modules/argparse/lib}/argparse.js +1142 -1029
  455. package/node_modules/js-yaml/node_modules/argparse/lib/difflib.js +190 -0
  456. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/sub.js +4 -4
  457. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/textwrap.js +28 -28
  458. package/node_modules/js-yaml/node_modules/argparse/package.json +38 -0
  459. package/node_modules/js-yaml/package.json +12 -12
  460. package/node_modules/lando/.github/dependabot.yml +4 -0
  461. package/node_modules/lando/.github/workflows/build-util-images.yml +1 -1
  462. package/node_modules/lando/.github/workflows/pr-core-tests.yml +4 -2
  463. package/node_modules/lando/.github/workflows/pr-db-tools-tests.yml +4 -2
  464. package/node_modules/lando/.github/workflows/pr-django-tests.yml +4 -2
  465. package/node_modules/lando/.github/workflows/pr-linter.yml +2 -2
  466. package/node_modules/lando/.github/workflows/pr-unit-tests.yml +2 -2
  467. package/node_modules/lando/.node-version +1 -1
  468. package/node_modules/lando/bin/lando.js +3 -83
  469. package/node_modules/lando/config.yml +0 -1
  470. package/node_modules/lando/eslint.config.mjs +4 -0
  471. package/node_modules/lando/examples/django/.lando.yml +1 -1
  472. package/node_modules/lando/examples/django/README.md +1 -1
  473. package/node_modules/lando/examples/django/requirements.txt +1 -1
  474. package/node_modules/lando/examples/sql-export/README.md +5 -0
  475. package/node_modules/lando/lib/app.js +78 -84
  476. package/node_modules/lando/lib/art.js +86 -30
  477. package/node_modules/lando/lib/bootstrap.js +148 -45
  478. package/node_modules/lando/lib/cache.js +14 -15
  479. package/node_modules/lando/lib/cli.js +67 -63
  480. package/node_modules/lando/lib/compose.js +76 -45
  481. package/node_modules/lando/lib/config.js +51 -33
  482. package/node_modules/lando/lib/daemon.js +27 -10
  483. package/node_modules/lando/lib/docker.js +46 -19
  484. package/node_modules/lando/lib/engine.js +131 -144
  485. package/node_modules/lando/lib/env.js +25 -46
  486. package/node_modules/lando/lib/error.js +15 -6
  487. package/node_modules/lando/lib/esm/package.json +3 -0
  488. package/node_modules/lando/lib/esm/string-argv.js +2 -0
  489. package/node_modules/lando/lib/esm/yargs.js +2 -0
  490. package/node_modules/lando/lib/events.js +15 -15
  491. package/node_modules/lando/lib/factory.js +43 -14
  492. package/node_modules/lando/lib/formatters.js +19 -31
  493. package/node_modules/lando/lib/lando.js +59 -48
  494. package/node_modules/lando/lib/logger.js +12 -24
  495. package/node_modules/lando/lib/plugins.js +27 -15
  496. package/node_modules/lando/lib/promise.js +17 -17
  497. package/node_modules/lando/lib/router.js +75 -21
  498. package/node_modules/lando/lib/scan.js +29 -12
  499. package/node_modules/lando/lib/shell.js +44 -20
  500. package/node_modules/lando/lib/user.js +14 -20
  501. package/node_modules/lando/lib/utils.js +87 -44
  502. package/node_modules/lando/lib/yaml.js +11 -9
  503. package/node_modules/lando/node_modules/ansi-regex/index.d.ts +33 -0
  504. package/node_modules/lando/node_modules/ansi-regex/index.js +15 -0
  505. package/node_modules/lando/node_modules/ansi-regex/package.json +61 -0
  506. package/node_modules/lando/node_modules/ansi-regex/readme.md +66 -0
  507. package/node_modules/lando/node_modules/cliui/README.md +26 -6
  508. package/node_modules/lando/node_modules/cliui/build/lib/index.js +2 -2
  509. package/node_modules/lando/node_modules/cliui/build/tsconfig.tsbuildinfo +1 -0
  510. package/node_modules/lando/node_modules/cliui/index.mjs +7 -5
  511. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.d.ts +39 -0
  512. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.js +82 -0
  513. package/node_modules/lando/node_modules/cliui/node_modules/string-width/license +9 -0
  514. package/node_modules/lando/node_modules/cliui/node_modules/string-width/package.json +64 -0
  515. package/node_modules/lando/node_modules/cliui/node_modules/string-width/readme.md +66 -0
  516. package/node_modules/lando/node_modules/cliui/package.json +21 -32
  517. package/node_modules/lando/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  518. package/node_modules/lando/node_modules/emoji-regex/README.md +107 -0
  519. package/node_modules/lando/node_modules/emoji-regex/index.d.ts +3 -0
  520. package/node_modules/lando/node_modules/emoji-regex/index.js +4 -0
  521. package/node_modules/lando/node_modules/emoji-regex/index.mjs +4 -0
  522. package/node_modules/lando/node_modules/emoji-regex/package.json +45 -0
  523. package/node_modules/lando/node_modules/string-width/index.d.ts +39 -0
  524. package/node_modules/lando/node_modules/string-width/index.js +203 -0
  525. package/node_modules/lando/node_modules/string-width/license +9 -0
  526. package/node_modules/lando/node_modules/string-width/package.json +65 -0
  527. package/node_modules/lando/node_modules/string-width/readme.md +66 -0
  528. package/node_modules/lando/node_modules/strip-ansi/index.d.ts +15 -0
  529. package/node_modules/lando/node_modules/strip-ansi/index.js +19 -0
  530. package/node_modules/lando/node_modules/strip-ansi/license +9 -0
  531. package/node_modules/lando/node_modules/strip-ansi/package.json +59 -0
  532. package/node_modules/lando/node_modules/strip-ansi/readme.md +37 -0
  533. package/node_modules/lando/node_modules/yargs/README.md +16 -36
  534. package/node_modules/lando/node_modules/yargs/browser.d.ts +5 -0
  535. package/node_modules/lando/node_modules/yargs/browser.mjs +2 -2
  536. package/node_modules/lando/node_modules/yargs/build/lib/command.js +308 -211
  537. package/node_modules/lando/node_modules/yargs/build/lib/completion-templates.js +28 -9
  538. package/node_modules/lando/node_modules/yargs/build/lib/completion.js +233 -91
  539. package/node_modules/lando/node_modules/yargs/build/lib/middleware.js +51 -16
  540. package/node_modules/lando/node_modules/yargs/build/lib/usage.js +88 -52
  541. package/node_modules/lando/node_modules/yargs/build/lib/utils/apply-extends.js +4 -2
  542. package/node_modules/lando/node_modules/yargs/build/lib/utils/levenshtein.js +9 -1
  543. package/node_modules/lando/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  544. package/node_modules/lando/node_modules/yargs/build/lib/validation.js +51 -54
  545. package/node_modules/lando/node_modules/yargs/build/lib/yargs-factory.js +1261 -887
  546. package/node_modules/lando/node_modules/yargs/build/lib/yerror.js +3 -1
  547. package/node_modules/lando/node_modules/yargs/index.mjs +4 -2
  548. package/node_modules/lando/node_modules/yargs/lib/platform-shims/browser.mjs +9 -2
  549. package/node_modules/lando/node_modules/yargs/lib/platform-shims/esm.mjs +22 -22
  550. package/node_modules/lando/node_modules/yargs/locales/cs.json +51 -0
  551. package/node_modules/lando/node_modules/yargs/locales/de.json +1 -1
  552. package/node_modules/lando/node_modules/yargs/locales/en.json +4 -0
  553. package/node_modules/lando/node_modules/yargs/locales/fi.json +1 -1
  554. package/node_modules/lando/node_modules/yargs/locales/he.json +55 -0
  555. package/node_modules/lando/node_modules/yargs/locales/ka.json +55 -0
  556. package/node_modules/lando/node_modules/yargs/locales/ko.json +25 -25
  557. package/node_modules/lando/node_modules/yargs/locales/ru.json +6 -1
  558. package/node_modules/lando/node_modules/yargs/locales/uk_UA.json +51 -0
  559. package/node_modules/lando/node_modules/yargs/locales/uz.json +52 -0
  560. package/node_modules/lando/node_modules/yargs/locales/zh_TW.json +50 -46
  561. package/node_modules/lando/node_modules/yargs/package.json +41 -60
  562. package/node_modules/lando/node_modules/yargs-parser/build/lib/index.js +13 -8
  563. package/node_modules/lando/node_modules/yargs-parser/build/lib/yargs-parser.js +21 -12
  564. package/node_modules/lando/node_modules/yargs-parser/package.json +31 -40
  565. package/node_modules/lando/package.json +59 -22
  566. package/node_modules/lando/plugins/lando-compose/index.js +4 -0
  567. package/node_modules/lando/plugins/lando-compose/lib/utils.js +16 -7
  568. package/node_modules/lando/plugins/lando-core/index.js +1 -2
  569. package/node_modules/lando/plugins/lando-core/lib/utils.js +35 -15
  570. package/node_modules/lando/plugins/lando-core/lib/warnings.js +27 -0
  571. package/node_modules/lando/plugins/lando-core/tasks/destroy.js +1 -1
  572. package/node_modules/lando/plugins/lando-core/tasks/rebuild.js +1 -1
  573. package/node_modules/lando/plugins/lando-events/index.js +4 -0
  574. package/node_modules/lando/plugins/lando-events/lib/utils.js +27 -6
  575. package/node_modules/lando/plugins/lando-networking/app.js +2 -2
  576. package/node_modules/lando/plugins/lando-networking/index.js +9 -2
  577. package/node_modules/lando/plugins/lando-networking/test/app.spec.js +87 -0
  578. package/node_modules/lando/plugins/lando-proxy/index.js +6 -1
  579. package/node_modules/lando/plugins/lando-proxy/lib/utils.js +63 -28
  580. package/node_modules/lando/plugins/lando-proxy/lib/warnings.js +10 -0
  581. package/node_modules/lando/plugins/lando-recipes/index.js +4 -0
  582. package/node_modules/lando/plugins/lando-recipes/lib/build.js +22 -4
  583. package/node_modules/lando/plugins/lando-recipes/lib/options.js +42 -66
  584. package/node_modules/lando/plugins/lando-recipes/lib/utils.js +30 -13
  585. package/node_modules/lando/plugins/lando-recipes/lib/warnings.js +5 -0
  586. package/node_modules/lando/plugins/lando-recipes/sources/remote.js +0 -26
  587. package/node_modules/lando/plugins/lando-recipes/tasks/init.js +1 -1
  588. package/node_modules/lando/plugins/lando-services/index.js +4 -0
  589. package/node_modules/lando/plugins/lando-services/lib/utils.js +38 -15
  590. package/node_modules/lando/plugins/lando-sharing/index.js +4 -0
  591. package/node_modules/lando/plugins/lando-sharing/lib/utils.js +28 -5
  592. package/node_modules/lando/plugins/lando-tooling/index.js +5 -0
  593. package/node_modules/lando/plugins/lando-tooling/lib/build.js +5 -2
  594. package/node_modules/lando/plugins/lando-tooling/lib/utils.js +83 -47
  595. package/node_modules/lando/test/cli.spec.js +59 -21
  596. package/node_modules/lando/test/docker.spec.js +24 -28
  597. package/node_modules/lando/test/env.spec.js +8 -0
  598. package/node_modules/lando/test/error.spec.js +1 -1
  599. package/node_modules/lando/test/events.spec.js +6 -7
  600. package/node_modules/lando/test/lando.spec.js +1 -1
  601. package/node_modules/lando/test/plugins.spec.js +2 -3
  602. package/node_modules/lando/test/promise.spec.js +1 -1
  603. package/node_modules/lando/test/scan.spec.js +1 -1
  604. package/node_modules/lando/test/shell.spec.js +19 -2
  605. package/node_modules/lando/test/utils.spec.js +52 -0
  606. package/node_modules/open/index.js +3 -5
  607. package/node_modules/open/package.json +1 -1
  608. package/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
  609. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d.raw +136 -0
  610. package/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
  611. package/node_modules/string-argv/CHANGELOG.md +38 -0
  612. package/node_modules/string-argv/README.md +96 -50
  613. package/node_modules/string-argv/index.d.ts +2 -0
  614. package/node_modules/string-argv/index.js +55 -35
  615. package/node_modules/string-argv/package.json +50 -40
  616. package/node_modules/undici/README.md +25 -3
  617. package/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  618. package/node_modules/undici/docs/docs/api/Client.md +11 -6
  619. package/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
  620. package/node_modules/undici/docs/docs/api/Errors.md +76 -1
  621. package/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  622. package/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
  623. package/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  624. package/node_modules/undici/docs/docs/index.md +12 -12
  625. package/node_modules/undici/docs/docs/type-map.json +66 -66
  626. package/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  627. package/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  628. package/node_modules/undici/lib/core/connect.js +10 -4
  629. package/node_modules/undici/lib/core/constants.js +12 -1
  630. package/node_modules/undici/lib/core/errors.js +38 -1
  631. package/node_modules/undici/lib/core/request.js +16 -1
  632. package/node_modules/undici/lib/core/symbols.js +2 -0
  633. package/node_modules/undici/lib/core/util.js +26 -1
  634. package/node_modules/undici/lib/dispatcher/agent.js +6 -2
  635. package/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
  636. package/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
  637. package/node_modules/undici/lib/dispatcher/client.js +4 -1
  638. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  639. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  640. package/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  641. package/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
  642. package/node_modules/undici/lib/dispatcher/pool.js +11 -8
  643. package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
  644. package/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  645. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  646. package/node_modules/undici/lib/handler/cache-handler.js +153 -15
  647. package/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
  648. package/node_modules/undici/lib/handler/redirect-handler.js +28 -8
  649. package/node_modules/undici/lib/handler/retry-handler.js +44 -11
  650. package/node_modules/undici/lib/interceptor/cache.js +11 -3
  651. package/node_modules/undici/lib/interceptor/decompress.js +22 -9
  652. package/node_modules/undici/lib/interceptor/dns.js +11 -0
  653. package/node_modules/undici/lib/interceptor/response-error.js +72 -28
  654. package/node_modules/undici/lib/milo/LICENSE.md +7 -0
  655. package/node_modules/undici/lib/milo/no-simd.js +1002 -0
  656. package/node_modules/undici/lib/milo/simd.js +1002 -0
  657. package/node_modules/undici/lib/mock/mock-agent.js +11 -0
  658. package/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  659. package/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  660. package/node_modules/undici/lib/util/cache.js +11 -5
  661. package/node_modules/undici/lib/web/cookies/util.js +19 -2
  662. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  663. package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
  664. package/node_modules/undici/lib/web/fetch/body.js +47 -38
  665. package/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  666. package/node_modules/undici/lib/web/fetch/headers.js +2 -2
  667. package/node_modules/undici/lib/web/fetch/index.js +8 -4
  668. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  669. package/node_modules/undici/lib/web/websocket/receiver.js +25 -4
  670. package/node_modules/undici/package.json +9 -7
  671. package/node_modules/undici/types/api.d.ts +1 -1
  672. package/node_modules/undici/types/cache-interceptor.d.ts +10 -0
  673. package/node_modules/undici/types/client.d.ts +10 -4
  674. package/node_modules/undici/types/errors.d.ts +16 -1
  675. package/node_modules/undici/types/h2c-client.d.ts +1 -1
  676. package/node_modules/undici/types/interceptors.d.ts +6 -1
  677. package/node_modules/undici/types/utility.d.ts +4 -4
  678. package/node_modules/{fetch-retry → unicode-segmenter}/LICENSE +2 -2
  679. package/node_modules/unicode-segmenter/README.md +324 -0
  680. package/node_modules/unicode-segmenter/_emoji_data.cjs +24 -0
  681. package/node_modules/unicode-segmenter/_emoji_data.d.cts +1 -0
  682. package/node_modules/unicode-segmenter/_emoji_data.d.ts +12 -0
  683. package/node_modules/unicode-segmenter/_emoji_data.js +26 -0
  684. package/node_modules/unicode-segmenter/_general_data.cjs +30 -0
  685. package/node_modules/unicode-segmenter/_general_data.d.cts +1 -0
  686. package/node_modules/unicode-segmenter/_general_data.d.ts +16 -0
  687. package/node_modules/unicode-segmenter/_general_data.js +34 -0
  688. package/node_modules/unicode-segmenter/_grapheme_data.cjs +125 -0
  689. package/node_modules/unicode-segmenter/_grapheme_data.d.cts +1 -0
  690. package/node_modules/unicode-segmenter/_grapheme_data.d.ts +112 -0
  691. package/node_modules/unicode-segmenter/_grapheme_data.js +123 -0
  692. package/node_modules/unicode-segmenter/core.cjs +135 -0
  693. package/node_modules/unicode-segmenter/core.d.cts +1 -0
  694. package/node_modules/unicode-segmenter/core.d.ts +118 -0
  695. package/node_modules/unicode-segmenter/core.js +129 -0
  696. package/node_modules/unicode-segmenter/emoji.cjs +43 -0
  697. package/node_modules/unicode-segmenter/emoji.d.cts +1 -0
  698. package/node_modules/unicode-segmenter/emoji.d.ts +23 -0
  699. package/node_modules/unicode-segmenter/emoji.js +42 -0
  700. package/node_modules/unicode-segmenter/general.cjs +51 -0
  701. package/node_modules/unicode-segmenter/general.d.cts +1 -0
  702. package/node_modules/unicode-segmenter/general.d.ts +26 -0
  703. package/node_modules/unicode-segmenter/general.js +50 -0
  704. package/node_modules/unicode-segmenter/grapheme.cjs +405 -0
  705. package/node_modules/unicode-segmenter/grapheme.d.cts +1 -0
  706. package/node_modules/unicode-segmenter/grapheme.d.ts +64 -0
  707. package/node_modules/unicode-segmenter/grapheme.js +438 -0
  708. package/node_modules/unicode-segmenter/index.cjs +26 -0
  709. package/node_modules/unicode-segmenter/index.d.cts +1 -0
  710. package/node_modules/unicode-segmenter/index.d.ts +4 -0
  711. package/node_modules/unicode-segmenter/index.js +6 -0
  712. package/node_modules/unicode-segmenter/intl-adapter.cjs +124 -0
  713. package/node_modules/unicode-segmenter/intl-adapter.d.cts +1 -0
  714. package/node_modules/unicode-segmenter/intl-adapter.d.ts +62 -0
  715. package/node_modules/unicode-segmenter/intl-adapter.js +113 -0
  716. package/node_modules/unicode-segmenter/intl-polyfill.cjs +17 -0
  717. package/node_modules/unicode-segmenter/intl-polyfill.d.cts +1 -0
  718. package/node_modules/unicode-segmenter/intl-polyfill.d.ts +1 -0
  719. package/node_modules/unicode-segmenter/intl-polyfill.js +16 -0
  720. package/node_modules/unicode-segmenter/package.json +165 -0
  721. package/node_modules/unicode-segmenter/utils.cjs +99 -0
  722. package/node_modules/unicode-segmenter/utils.d.cts +1 -0
  723. package/node_modules/unicode-segmenter/utils.d.ts +64 -0
  724. package/node_modules/unicode-segmenter/utils.js +89 -0
  725. package/package.json +48 -17
  726. package/.buildkite/build-linux.sh +0 -68
  727. package/.buildkite/build-macos-installer.sh +0 -34
  728. package/.buildkite/build-macos.sh +0 -67
  729. package/.buildkite/build-windows-installer.ps1 +0 -65
  730. package/.buildkite/build-windows.ps1 +0 -59
  731. package/.buildkite/fetch-search-replace.sh +0 -65
  732. package/.buildkite/pack-release.sh +0 -26
  733. package/.buildkite/pipeline.yml +0 -81
  734. package/.buildkite/shared-pipeline-vars +0 -16
  735. package/.buildkite/sign-windows.ps1 +0 -21
  736. package/.buildkite/test-windows-installer-download.ps1 +0 -54
  737. package/.buildkite/test_pipeline.py +0 -69
  738. package/.bundle/config +0 -4
  739. package/.editorconfig +0 -11
  740. package/.prettierignore +0 -13
  741. package/.ruby-version +0 -1
  742. package/.sonarcloud.properties +0 -2
  743. package/.xcode-version +0 -1
  744. package/AGENTS.md +0 -101
  745. package/CLAUDE.md +0 -4
  746. package/Gemfile +0 -8
  747. package/Gemfile.lock +0 -377
  748. package/Makefile +0 -293
  749. package/cmd/installer-payload/main.go +0 -19
  750. package/cmd/installer-version/main.go +0 -22
  751. package/cmd/stamp-version/main.go +0 -25
  752. package/cmd/vip-next/auth_bootstrap.go +0 -139
  753. package/cmd/vip-next/auth_bootstrap_test.go +0 -379
  754. package/cmd/vip-next/auth_bypass_wiring_test.go +0 -162
  755. package/cmd/vip-next/cli_error_hook_test.go +0 -91
  756. package/cmd/vip-next/commands/app.go +0 -23
  757. package/cmd/vip-next/commands/app_debug_test.go +0 -89
  758. package/cmd/vip-next/commands/app_deploy.go +0 -217
  759. package/cmd/vip-next/commands/app_deploy_test.go +0 -297
  760. package/cmd/vip-next/commands/app_deploy_validate.go +0 -58
  761. package/cmd/vip-next/commands/app_get.go +0 -293
  762. package/cmd/vip-next/commands/app_get_test.go +0 -226
  763. package/cmd/vip-next/commands/app_list.go +0 -93
  764. package/cmd/vip-next/commands/app_list_test.go +0 -95
  765. package/cmd/vip-next/commands/backup.go +0 -16
  766. package/cmd/vip-next/commands/backup_db.go +0 -137
  767. package/cmd/vip-next/commands/backup_db_test.go +0 -187
  768. package/cmd/vip-next/commands/cache.go +0 -16
  769. package/cmd/vip-next/commands/cache_purge_url.go +0 -90
  770. package/cmd/vip-next/commands/cache_purge_url_test.go +0 -154
  771. package/cmd/vip-next/commands/config.go +0 -17
  772. package/cmd/vip-next/commands/config_debug_test.go +0 -137
  773. package/cmd/vip-next/commands/config_envvar.go +0 -16
  774. package/cmd/vip-next/commands/config_envvar_delete.go +0 -135
  775. package/cmd/vip-next/commands/config_envvar_delete_test.go +0 -140
  776. package/cmd/vip-next/commands/config_envvar_get.go +0 -72
  777. package/cmd/vip-next/commands/config_envvar_get_all.go +0 -58
  778. package/cmd/vip-next/commands/config_envvar_get_all_test.go +0 -83
  779. package/cmd/vip-next/commands/config_envvar_get_test.go +0 -79
  780. package/cmd/vip-next/commands/config_envvar_list.go +0 -70
  781. package/cmd/vip-next/commands/config_envvar_list_test.go +0 -134
  782. package/cmd/vip-next/commands/config_envvar_set.go +0 -162
  783. package/cmd/vip-next/commands/config_envvar_set_test.go +0 -251
  784. package/cmd/vip-next/commands/config_software.go +0 -229
  785. package/cmd/vip-next/commands/config_software_test.go +0 -161
  786. package/cmd/vip-next/commands/config_software_update.go +0 -270
  787. package/cmd/vip-next/commands/config_software_update_test.go +0 -334
  788. package/cmd/vip-next/commands/db.go +0 -16
  789. package/cmd/vip-next/commands/db_phpmyadmin.go +0 -122
  790. package/cmd/vip-next/commands/db_phpmyadmin_test.go +0 -277
  791. package/cmd/vip-next/commands/defensive_mode.go +0 -106
  792. package/cmd/vip-next/commands/defensive_mode_configure.go +0 -150
  793. package/cmd/vip-next/commands/defensive_mode_disable.go +0 -62
  794. package/cmd/vip-next/commands/defensive_mode_enable.go +0 -62
  795. package/cmd/vip-next/commands/defensive_mode_test.go +0 -389
  796. package/cmd/vip-next/commands/devenv.go +0 -49
  797. package/cmd/vip-next/commands/devenv_create_appinfo.go +0 -158
  798. package/cmd/vip-next/commands/devenv_create_appinfo_test.go +0 -29
  799. package/cmd/vip-next/commands/devenv_create_test.go +0 -269
  800. package/cmd/vip-next/commands/devenv_data.go +0 -86
  801. package/cmd/vip-next/commands/devenv_data_confirm_test.go +0 -49
  802. package/cmd/vip-next/commands/devenv_debug_test.go +0 -34
  803. package/cmd/vip-next/commands/devenv_e2e_gate_test.go +0 -17
  804. package/cmd/vip-next/commands/devenv_e2e_test.go +0 -34
  805. package/cmd/vip-next/commands/devenv_envvar.go +0 -186
  806. package/cmd/vip-next/commands/devenv_envvar_test.go +0 -183
  807. package/cmd/vip-next/commands/devenv_exec.go +0 -75
  808. package/cmd/vip-next/commands/devenv_exec_test.go +0 -39
  809. package/cmd/vip-next/commands/devenv_flag_grammar_test.go +0 -241
  810. package/cmd/vip-next/commands/devenv_lifecycle.go +0 -785
  811. package/cmd/vip-next/commands/devenv_logs.go +0 -29
  812. package/cmd/vip-next/commands/devenv_resolve.go +0 -118
  813. package/cmd/vip-next/commands/devenv_resolve_test.go +0 -221
  814. package/cmd/vip-next/commands/devenv_sync.go +0 -256
  815. package/cmd/vip-next/commands/devenv_sync_sites.go +0 -116
  816. package/cmd/vip-next/commands/devenv_sync_sites_test.go +0 -151
  817. package/cmd/vip-next/commands/devenv_sync_test.go +0 -63
  818. package/cmd/vip-next/commands/devenv_telemetry.go +0 -265
  819. package/cmd/vip-next/commands/devenv_telemetry_test.go +0 -322
  820. package/cmd/vip-next/commands/devenv_test.go +0 -60
  821. package/cmd/vip-next/commands/devenv_update.go +0 -207
  822. package/cmd/vip-next/commands/devenv_update_test.go +0 -109
  823. package/cmd/vip-next/commands/devenv_versions_proxy_test.go +0 -133
  824. package/cmd/vip-next/commands/edge_workers.go +0 -197
  825. package/cmd/vip-next/commands/edge_workers_flags.go +0 -56
  826. package/cmd/vip-next/commands/edge_workers_local.go +0 -127
  827. package/cmd/vip-next/commands/edge_workers_mutation.go +0 -130
  828. package/cmd/vip-next/commands/edge_workers_read.go +0 -103
  829. package/cmd/vip-next/commands/edge_workers_test.go +0 -272
  830. package/cmd/vip-next/commands/export.go +0 -16
  831. package/cmd/vip-next/commands/export_sql.go +0 -333
  832. package/cmd/vip-next/commands/export_sql_test.go +0 -321
  833. package/cmd/vip-next/commands/format_env.go +0 -17
  834. package/cmd/vip-next/commands/import.go +0 -19
  835. package/cmd/vip-next/commands/import_debug_test.go +0 -110
  836. package/cmd/vip-next/commands/import_media.go +0 -433
  837. package/cmd/vip-next/commands/import_media_abort.go +0 -76
  838. package/cmd/vip-next/commands/import_media_confirm.go +0 -83
  839. package/cmd/vip-next/commands/import_media_confirm_test.go +0 -249
  840. package/cmd/vip-next/commands/import_media_fetch_test.go +0 -98
  841. package/cmd/vip-next/commands/import_media_status.go +0 -58
  842. package/cmd/vip-next/commands/import_media_test.go +0 -370
  843. package/cmd/vip-next/commands/import_sql.go +0 -1161
  844. package/cmd/vip-next/commands/import_sql_status.go +0 -67
  845. package/cmd/vip-next/commands/import_sql_test.go +0 -746
  846. package/cmd/vip-next/commands/import_validate_files.go +0 -157
  847. package/cmd/vip-next/commands/import_validate_files_test.go +0 -157
  848. package/cmd/vip-next/commands/import_validate_sql.go +0 -207
  849. package/cmd/vip-next/commands/import_validate_sql_test.go +0 -293
  850. package/cmd/vip-next/commands/login.go +0 -53
  851. package/cmd/vip-next/commands/login_test.go +0 -25
  852. package/cmd/vip-next/commands/logout.go +0 -43
  853. package/cmd/vip-next/commands/logout_test.go +0 -158
  854. package/cmd/vip-next/commands/logs.go +0 -169
  855. package/cmd/vip-next/commands/logs_test.go +0 -174
  856. package/cmd/vip-next/commands/nodeflag_aliases.go +0 -59
  857. package/cmd/vip-next/commands/progress_renderer.go +0 -118
  858. package/cmd/vip-next/commands/progress_renderer_test.go +0 -28
  859. package/cmd/vip-next/commands/searchreplace.go +0 -75
  860. package/cmd/vip-next/commands/searchreplace_debug_test.go +0 -82
  861. package/cmd/vip-next/commands/searchreplace_test.go +0 -155
  862. package/cmd/vip-next/commands/slowlogs.go +0 -167
  863. package/cmd/vip-next/commands/slowlogs_test.go +0 -159
  864. package/cmd/vip-next/commands/sqlreport.go +0 -183
  865. package/cmd/vip-next/commands/sqlreport_test.go +0 -66
  866. package/cmd/vip-next/commands/sync.go +0 -189
  867. package/cmd/vip-next/commands/sync_confirm.go +0 -121
  868. package/cmd/vip-next/commands/sync_confirm_test.go +0 -202
  869. package/cmd/vip-next/commands/sync_render.go +0 -207
  870. package/cmd/vip-next/commands/sync_render_test.go +0 -101
  871. package/cmd/vip-next/commands/sync_test.go +0 -148
  872. package/cmd/vip-next/commands/update.go +0 -85
  873. package/cmd/vip-next/commands/update_test.go +0 -49
  874. package/cmd/vip-next/commands/whoami.go +0 -161
  875. package/cmd/vip-next/commands/whoami_debug_test.go +0 -79
  876. package/cmd/vip-next/commands/whoami_test.go +0 -85
  877. package/cmd/vip-next/commands/wp.go +0 -376
  878. package/cmd/vip-next/commands/wp_debug_test.go +0 -32
  879. package/cmd/vip-next/commands/wp_test.go +0 -276
  880. package/cmd/vip-next/debug_args.go +0 -63
  881. package/cmd/vip-next/debug_test.go +0 -122
  882. package/cmd/vip-next/edge_workers_test.go +0 -108
  883. package/cmd/vip-next/flags_node_parity_test.go +0 -434
  884. package/cmd/vip-next/main.go +0 -391
  885. package/cmd/vip-next/main_test.go +0 -202
  886. package/cmd/vip-next/pendo_wiring_test.go +0 -148
  887. package/cmd/vip-next/root.go +0 -211
  888. package/cmd/vip-next/update_bootstrap.go +0 -94
  889. package/cmd/vip-next/update_bootstrap_test.go +0 -85
  890. package/cmd/vip-next/update_integration_test.go +0 -137
  891. package/cmd/vip-next-prerelease/main.go +0 -108
  892. package/cmd/vip-next-prerelease/main_test.go +0 -46
  893. package/dist/lib/analytics/clients/client.js +0 -1
  894. package/dist/lib/analytics/clients/pendo.js +0 -78
  895. package/docs/ARCHITECTURE.md +0 -95
  896. package/docs/BUILD-SIGNING.md +0 -501
  897. package/docs/CHANGELOG.md +0 -1844
  898. package/docs/COMMANDER-MIGRATION.md +0 -45
  899. package/docs/CONTRIBUTING.md +0 -29
  900. package/docs/CUTOVER-BREAKING-CHANGES.md +0 -261
  901. package/docs/DEBUGGING.md +0 -94
  902. package/docs/EDGE-WORKERS.md +0 -256
  903. package/docs/GO-UPDATES.md +0 -97
  904. package/docs/NPM-RELEASE-RECOVERY.md +0 -47
  905. package/docs/RELEASING.md +0 -211
  906. package/docs/SECURITY.md +0 -9
  907. package/docs/SETUP.md +0 -154
  908. package/docs/TESTING.md +0 -67
  909. package/docs/decisions/0001-operation-scoped-elevated-token-reuse.md +0 -87
  910. package/docs/dev-env-windows-wsl-testing.md +0 -191
  911. package/docs/vip-next-vip-command-reference.md +0 -257
  912. package/docs/vip-wp-line-parse-dfa.dot +0 -31
  913. package/eslint.config.js +0 -35
  914. package/fastlane/Fastfile +0 -204
  915. package/fastlane/example.env +0 -8
  916. package/fastlane/test_signing.rb +0 -83
  917. package/go.mod +0 -39
  918. package/go.sum +0 -127
  919. package/helpers/check-version.js +0 -16
  920. package/internal/appctx/app_resolver.go +0 -202
  921. package/internal/appctx/app_resolver_test.go +0 -187
  922. package/internal/appctx/confirm.go +0 -180
  923. package/internal/appctx/confirm_payload_test.go +0 -201
  924. package/internal/appctx/confirm_test.go +0 -120
  925. package/internal/appctx/context.go +0 -94
  926. package/internal/appctx/context_test.go +0 -56
  927. package/internal/appctx/env_resolver.go +0 -110
  928. package/internal/appctx/env_resolver_test.go +0 -215
  929. package/internal/appctx/format.go +0 -72
  930. package/internal/appctx/format_test.go +0 -75
  931. package/internal/appctx/interactive.go +0 -50
  932. package/internal/appctx/interactive_test.go +0 -134
  933. package/internal/appctx/middleware.go +0 -56
  934. package/internal/appctx/middleware_test.go +0 -88
  935. package/internal/appctx/prompts.go +0 -70
  936. package/internal/appctx/prompts_test.go +0 -97
  937. package/internal/appctx/required_args.go +0 -24
  938. package/internal/appctx/required_args_test.go +0 -38
  939. package/internal/appctx/telemetry.go +0 -22
  940. package/internal/appctx/telemetry_test.go +0 -42
  941. package/internal/appctx/wildcard.go +0 -29
  942. package/internal/appctx/wildcard_test.go +0 -53
  943. package/internal/auth/bypass.go +0 -84
  944. package/internal/auth/bypass_test.go +0 -97
  945. package/internal/auth/login.go +0 -156
  946. package/internal/auth/login_test.go +0 -184
  947. package/internal/auth/logout.go +0 -44
  948. package/internal/auth/logout_test.go +0 -78
  949. package/internal/auth/store.go +0 -130
  950. package/internal/auth/store_test.go +0 -339
  951. package/internal/auth/token.go +0 -117
  952. package/internal/auth/token_test.go +0 -90
  953. package/internal/backup/backup.go +0 -194
  954. package/internal/backup/backup_test.go +0 -228
  955. package/internal/cachepurge/cachepurge.go +0 -38
  956. package/internal/cachepurge/cachepurge_test.go +0 -92
  957. package/internal/customdeploy/archive.go +0 -205
  958. package/internal/customdeploy/archive_test.go +0 -174
  959. package/internal/customdeploy/customdeploy.go +0 -91
  960. package/internal/customdeploy/customdeploy_test.go +0 -82
  961. package/internal/debuglog/debuglog.go +0 -85
  962. package/internal/debuglog/debuglog_test.go +0 -44
  963. package/internal/defensivemode/api.go +0 -89
  964. package/internal/defensivemode/api_test.go +0 -122
  965. package/internal/devenv/adapters.go +0 -168
  966. package/internal/devenv/adapters_test.go +0 -44
  967. package/internal/devenv/adopt.go +0 -20
  968. package/internal/devenv/adopt_setup_test.go +0 -30
  969. package/internal/devenv/compose/labels.go +0 -90
  970. package/internal/devenv/compose/labels_test.go +0 -136
  971. package/internal/devenv/compose/project.go +0 -88
  972. package/internal/devenv/compose/project_test.go +0 -148
  973. package/internal/devenv/compose/render.go +0 -54
  974. package/internal/devenv/compose/render_test.go +0 -90
  975. package/internal/devenv/compose/services.go +0 -337
  976. package/internal/devenv/compose/services_test.go +0 -258
  977. package/internal/devenv/compose/testdata/full.golden.yml +0 -265
  978. package/internal/devenv/compose/types.go +0 -97
  979. package/internal/devenv/compose/types_test.go +0 -61
  980. package/internal/devenv/compose/view.go +0 -205
  981. package/internal/devenv/compose/view_test.go +0 -120
  982. package/internal/devenv/configfile.go +0 -300
  983. package/internal/devenv/configfile_test.go +0 -246
  984. package/internal/devenv/create.go +0 -130
  985. package/internal/devenv/create_test.go +0 -98
  986. package/internal/devenv/debug.go +0 -4
  987. package/internal/devenv/debug_test.go +0 -103
  988. package/internal/devenv/devenv.go +0 -434
  989. package/internal/devenv/devenv_test.go +0 -77
  990. package/internal/devenv/devexec.go +0 -140
  991. package/internal/devenv/devexec_test.go +0 -91
  992. package/internal/devenv/devlog/devlog.go +0 -219
  993. package/internal/devenv/devlog/devlog_test.go +0 -112
  994. package/internal/devenv/devterm/devterm.go +0 -65
  995. package/internal/devenv/devterm/devterm_pty.go +0 -58
  996. package/internal/devenv/devterm/devterm_stub.go +0 -20
  997. package/internal/devenv/devterm/devterm_test.go +0 -78
  998. package/internal/devenv/dockercli/capture.go +0 -84
  999. package/internal/devenv/dockercli/capture_test.go +0 -33
  1000. package/internal/devenv/dockercli/compose.go +0 -30
  1001. package/internal/devenv/dockercli/compose_test.go +0 -35
  1002. package/internal/devenv/dockercli/runner.go +0 -214
  1003. package/internal/devenv/dockercli/runner_test.go +0 -157
  1004. package/internal/devenv/dockercli/socket.go +0 -56
  1005. package/internal/devenv/dockercli/socket_test.go +0 -52
  1006. package/internal/devenv/e2e_gate_test.go +0 -17
  1007. package/internal/devenv/e2e_test.go +0 -499
  1008. package/internal/devenv/e2esafety/gate_wiring_test.go +0 -90
  1009. package/internal/devenv/e2esafety/safety.go +0 -52
  1010. package/internal/devenv/e2esafety/safety_test.go +0 -71
  1011. package/internal/devenv/eachenv_test.go +0 -132
  1012. package/internal/devenv/editor.go +0 -82
  1013. package/internal/devenv/editor_test.go +0 -60
  1014. package/internal/devenv/envfile.go +0 -287
  1015. package/internal/devenv/envvar.go +0 -165
  1016. package/internal/devenv/envvar_test.go +0 -178
  1017. package/internal/devenv/hostops/context.go +0 -38
  1018. package/internal/devenv/hostops/context_test.go +0 -24
  1019. package/internal/devenv/hostops/e2e_gate_test.go +0 -17
  1020. package/internal/devenv/hostops/e2e_test.go +0 -429
  1021. package/internal/devenv/hostops/elevate.go +0 -248
  1022. package/internal/devenv/hostops/elevate_message_test.go +0 -35
  1023. package/internal/devenv/hostops/elevate_test.go +0 -111
  1024. package/internal/devenv/hostops/hosts.go +0 -255
  1025. package/internal/devenv/hostops/hosts_test.go +0 -178
  1026. package/internal/devenv/hostops/thumbprint_test.go +0 -57
  1027. package/internal/devenv/hostops/trust.go +0 -115
  1028. package/internal/devenv/hostops/trust_test.go +0 -90
  1029. package/internal/devenv/hostrefresh.go +0 -127
  1030. package/internal/devenv/hostrefresh_test.go +0 -123
  1031. package/internal/devenv/importdata.go +0 -491
  1032. package/internal/devenv/importdata_test.go +0 -142
  1033. package/internal/devenv/importdecompress_test.go +0 -90
  1034. package/internal/devenv/importgate_test.go +0 -166
  1035. package/internal/devenv/importvalidate.go +0 -437
  1036. package/internal/devenv/importvalidate_test.go +0 -293
  1037. package/internal/devenv/info_table.go +0 -165
  1038. package/internal/devenv/info_table_test.go +0 -111
  1039. package/internal/devenv/instancedata/instancedata.go +0 -239
  1040. package/internal/devenv/instancedata/instancedata_test.go +0 -281
  1041. package/internal/devenv/instancedata/testdata/legacy_keys.json +0 -16
  1042. package/internal/devenv/instancedata/testdata/unknown_keys.json +0 -19
  1043. package/internal/devenv/lifecycle/adopt.go +0 -24
  1044. package/internal/devenv/lifecycle/adopt_test.go +0 -43
  1045. package/internal/devenv/lifecycle/health.go +0 -28
  1046. package/internal/devenv/lifecycle/health_test.go +0 -34
  1047. package/internal/devenv/lifecycle/hosts.go +0 -42
  1048. package/internal/devenv/lifecycle/hosts_test.go +0 -41
  1049. package/internal/devenv/lifecycle/migrate.go +0 -44
  1050. package/internal/devenv/lifecycle/migrate_test.go +0 -78
  1051. package/internal/devenv/lifecycle/pull.go +0 -19
  1052. package/internal/devenv/lifecycle/pull_test.go +0 -29
  1053. package/internal/devenv/lifecycle/setup.go +0 -35
  1054. package/internal/devenv/lifecycle/setup_test.go +0 -46
  1055. package/internal/devenv/lifecycle/start.go +0 -132
  1056. package/internal/devenv/lifecycle/start_test.go +0 -350
  1057. package/internal/devenv/lifecycle/teardown.go +0 -32
  1058. package/internal/devenv/lifecycle/teardown_test.go +0 -83
  1059. package/internal/devenv/lifecycle/types.go +0 -86
  1060. package/internal/devenv/lifecycle/waiter.go +0 -49
  1061. package/internal/devenv/lifecycle/waiter_test.go +0 -98
  1062. package/internal/devenv/list.go +0 -49
  1063. package/internal/devenv/list_test.go +0 -24
  1064. package/internal/devenv/logs.go +0 -43
  1065. package/internal/devenv/logs_test.go +0 -28
  1066. package/internal/devenv/materialize.go +0 -44
  1067. package/internal/devenv/materialize_test.go +0 -112
  1068. package/internal/devenv/paths/paths.go +0 -42
  1069. package/internal/devenv/paths/paths_test.go +0 -39
  1070. package/internal/devenv/postimport.go +0 -134
  1071. package/internal/devenv/postimport_test.go +0 -389
  1072. package/internal/devenv/proxy/ca.go +0 -110
  1073. package/internal/devenv/proxy/ca_test.go +0 -111
  1074. package/internal/devenv/proxy/network.go +0 -28
  1075. package/internal/devenv/proxy/network_test.go +0 -68
  1076. package/internal/devenv/proxy/ports.go +0 -104
  1077. package/internal/devenv/proxy/ports_test.go +0 -76
  1078. package/internal/devenv/proxy/proxy.go +0 -143
  1079. package/internal/devenv/proxy/proxy_test.go +0 -149
  1080. package/internal/devenv/proxy/scripts/gen-certs.sh +0 -73
  1081. package/internal/devenv/proxy/spec.go +0 -60
  1082. package/internal/devenv/proxy/spec_test.go +0 -44
  1083. package/internal/devenv/proxy/testhelpers_test.go +0 -7
  1084. package/internal/devenv/proxy_policy_test.go +0 -155
  1085. package/internal/devenv/syncplan.go +0 -573
  1086. package/internal/devenv/syncplan_test.go +0 -256
  1087. package/internal/devenv/syncsql.go +0 -247
  1088. package/internal/devenv/syncsql_repair.go +0 -169
  1089. package/internal/devenv/syncsql_repair_test.go +0 -150
  1090. package/internal/devenv/syncsql_test.go +0 -220
  1091. package/internal/devenv/update.go +0 -87
  1092. package/internal/devenv/update_test.go +0 -47
  1093. package/internal/edgeworkers/api.go +0 -173
  1094. package/internal/edgeworkers/api_test.go +0 -256
  1095. package/internal/edgeworkers/build.go +0 -188
  1096. package/internal/edgeworkers/build_test.go +0 -175
  1097. package/internal/edgeworkers/confirmation.go +0 -72
  1098. package/internal/edgeworkers/deployment.go +0 -156
  1099. package/internal/edgeworkers/deployment_test.go +0 -165
  1100. package/internal/edgeworkers/output.go +0 -131
  1101. package/internal/edgeworkers/output_test.go +0 -98
  1102. package/internal/edgeworkers/project.go +0 -264
  1103. package/internal/edgeworkers/project_test.go +0 -167
  1104. package/internal/edgeworkers/scaffold.go +0 -88
  1105. package/internal/edgeworkers/templates/README.md +0 -25
  1106. package/internal/edgeworkers/templates/edge-workers.json +0 -4
  1107. package/internal/edgeworkers/templates/gitignore +0 -2
  1108. package/internal/edgeworkers/templates/package.json +0 -16
  1109. package/internal/edgeworkers/templates/tsconfig.json +0 -6
  1110. package/internal/edgeworkers/templates/worker.ts +0 -19
  1111. package/internal/edgeworkers/types.go +0 -37
  1112. package/internal/edgeworkers/validation.go +0 -177
  1113. package/internal/envalias/envalias.go +0 -50
  1114. package/internal/envalias/envalias_test.go +0 -147
  1115. package/internal/envvar/envvar.go +0 -253
  1116. package/internal/envvar/envvar_test.go +0 -274
  1117. package/internal/envvar/reload_manifest.go +0 -99
  1118. package/internal/envvar/reload_manifest_test.go +0 -44
  1119. package/internal/envvar/value_confirm.go +0 -26
  1120. package/internal/envvar/value_confirm_test.go +0 -22
  1121. package/internal/exit/exit.go +0 -94
  1122. package/internal/exit/exit_test.go +0 -119
  1123. package/internal/gql/SCHEMA.md +0 -21
  1124. package/internal/gql/client.go +0 -54
  1125. package/internal/gql/client_test.go +0 -71
  1126. package/internal/gql/debug_test.go +0 -79
  1127. package/internal/gql/decoder_compat_helpers_test.go +0 -35
  1128. package/internal/gql/decoder_compat_test.go +0 -78
  1129. package/internal/gql/doc.go +0 -13
  1130. package/internal/gql/edgeworkerinput/input.go +0 -58
  1131. package/internal/gql/edgeworkerinput/input_test.go +0 -52
  1132. package/internal/gql/error.go +0 -163
  1133. package/internal/gql/error_test.go +0 -203
  1134. package/internal/gql/generated.go +0 -10425
  1135. package/internal/gql/genqlient.yaml +0 -26
  1136. package/internal/gql/import_sql_marshal_test.go +0 -69
  1137. package/internal/gql/operation.go +0 -67
  1138. package/internal/gql/operation_test.go +0 -60
  1139. package/internal/gql/operations/app_get.graphql +0 -43
  1140. package/internal/gql/operations/app_list.graphql +0 -9
  1141. package/internal/gql/operations/app_resolve.graphql +0 -37
  1142. package/internal/gql/operations/backup_export_deploy.graphql +0 -123
  1143. package/internal/gql/operations/cachepurge.graphql +0 -6
  1144. package/internal/gql/operations/defensive_mode.graphql +0 -13
  1145. package/internal/gql/operations/dev_env_create.graphql +0 -38
  1146. package/internal/gql/operations/dev_env_sync.graphql +0 -15
  1147. package/internal/gql/operations/edge_workers.graphql +0 -53
  1148. package/internal/gql/operations/envvar.graphql +0 -52
  1149. package/internal/gql/operations/fragments.graphql +0 -5
  1150. package/internal/gql/operations/import_media.graphql +0 -61
  1151. package/internal/gql/operations/import_sql.graphql +0 -135
  1152. package/internal/gql/operations/logs.graphql +0 -22
  1153. package/internal/gql/operations/me.graphql +0 -13
  1154. package/internal/gql/operations/phpmyadmin.graphql +0 -21
  1155. package/internal/gql/operations/slowlogs.graphql +0 -25
  1156. package/internal/gql/operations/software.graphql +0 -53
  1157. package/internal/gql/operations/sync.graphql +0 -51
  1158. package/internal/gql/operations/wp.graphql +0 -37
  1159. package/internal/gql/proxy_test.go +0 -62
  1160. package/internal/gql/rechallenge.go +0 -218
  1161. package/internal/gql/rechallenge_test.go +0 -471
  1162. package/internal/gql/retry.go +0 -130
  1163. package/internal/gql/retry_test.go +0 -230
  1164. package/internal/gql/schema.gql +0 -9337
  1165. package/internal/gql/transport.go +0 -65
  1166. package/internal/gql/transport_helper.go +0 -24
  1167. package/internal/httpproxy/callers_test.go +0 -211
  1168. package/internal/httpproxy/debug_test.go +0 -32
  1169. package/internal/httpproxy/httpproxy.go +0 -315
  1170. package/internal/httpproxy/httpproxy_test.go +0 -435
  1171. package/internal/installer/version.go +0 -41
  1172. package/internal/installer/version_test.go +0 -33
  1173. package/internal/keychain/fallback.go +0 -93
  1174. package/internal/keychain/keychain.go +0 -197
  1175. package/internal/keychain/keychain_select_test.go +0 -34
  1176. package/internal/keychain/keychain_test.go +0 -112
  1177. package/internal/logsapi/logsapi.go +0 -165
  1178. package/internal/logsapi/logsapi_test.go +0 -82
  1179. package/internal/mediaimport/mediaimport.go +0 -26
  1180. package/internal/mediaimport/mediaimport_test.go +0 -46
  1181. package/internal/mediaimport/status.go +0 -162
  1182. package/internal/mediaimport/status_test.go +0 -159
  1183. package/internal/mediaimport/tracker.go +0 -116
  1184. package/internal/mediaimport/tracker_test.go +0 -62
  1185. package/internal/nodeflags/nodeflags.go +0 -130
  1186. package/internal/nodeflags/nodeflags_test.go +0 -138
  1187. package/internal/nodeflags/optionalvalue.go +0 -123
  1188. package/internal/nodeflags/optionalvalue_test.go +0 -158
  1189. package/internal/output/csv.go +0 -178
  1190. package/internal/output/fields.go +0 -22
  1191. package/internal/output/fields_test.go +0 -21
  1192. package/internal/output/ids.go +0 -26
  1193. package/internal/output/ids_test.go +0 -32
  1194. package/internal/output/json.go +0 -113
  1195. package/internal/output/keyvalue.go +0 -35
  1196. package/internal/output/keyvalue_block.go +0 -77
  1197. package/internal/output/keyvalue_block_test.go +0 -95
  1198. package/internal/output/keyvalue_test.go +0 -35
  1199. package/internal/output/ordered.go +0 -44
  1200. package/internal/output/ordered_test.go +0 -42
  1201. package/internal/output/output.go +0 -62
  1202. package/internal/output/output_test.go +0 -400
  1203. package/internal/output/table.go +0 -231
  1204. package/internal/output/table_layout.go +0 -472
  1205. package/internal/output/table_layout_test.go +0 -107
  1206. package/internal/output/table_layout_tty_test.go +0 -63
  1207. package/internal/output/text.go +0 -24
  1208. package/internal/output/text_test.go +0 -31
  1209. package/internal/output/typename.go +0 -35
  1210. package/internal/output/typename_test.go +0 -48
  1211. package/internal/parity/backup_export_deploy_scenario_test.go +0 -285
  1212. package/internal/parity/cache_scenario_test.go +0 -173
  1213. package/internal/parity/command_surface_scenario_test.go +0 -530
  1214. package/internal/parity/defensive_mode_scenario_test.go +0 -133
  1215. package/internal/parity/diff.go +0 -128
  1216. package/internal/parity/diff_test.go +0 -155
  1217. package/internal/parity/differential_test.go +0 -166
  1218. package/internal/parity/edge_workers_build_smoke_test.go +0 -69
  1219. package/internal/parity/edge_workers_cases_test.go +0 -77
  1220. package/internal/parity/edge_workers_debug_test.go +0 -87
  1221. package/internal/parity/edge_workers_differential_test.go +0 -483
  1222. package/internal/parity/edge_workers_prompt_test.go +0 -151
  1223. package/internal/parity/env.go +0 -176
  1224. package/internal/parity/env_test.go +0 -211
  1225. package/internal/parity/envvar_mutation_scenario_test.go +0 -188
  1226. package/internal/parity/harness.go +0 -28
  1227. package/internal/parity/harness_test.go +0 -62
  1228. package/internal/parity/import_media_scenario_test.go +0 -207
  1229. package/internal/parity/import_sql_scenario_test.go +0 -198
  1230. package/internal/parity/import_validate_sql_scenario_test.go +0 -68
  1231. package/internal/parity/keychain.go +0 -538
  1232. package/internal/parity/keychain_test.go +0 -201
  1233. package/internal/parity/m5_differential_test.go +0 -185
  1234. package/internal/parity/m5_scenarios_test.go +0 -225
  1235. package/internal/parity/nodebin.go +0 -120
  1236. package/internal/parity/nodebin_test.go +0 -148
  1237. package/internal/parity/parker.go +0 -491
  1238. package/internal/parity/parker_discovery.go +0 -373
  1239. package/internal/parity/parker_discovery_test.go +0 -267
  1240. package/internal/parity/parker_live_test.go +0 -164
  1241. package/internal/parity/parker_test.go +0 -480
  1242. package/internal/parity/pendo_test.go +0 -122
  1243. package/internal/parity/phpmyadmin_scenario_test.go +0 -214
  1244. package/internal/parity/runner.go +0 -56
  1245. package/internal/parity/runner_test.go +0 -67
  1246. package/internal/parity/scenario.go +0 -82
  1247. package/internal/parity/scenario_test.go +0 -52
  1248. package/internal/parity/surface_differential_test.go +0 -494
  1249. package/internal/parity/sync_scenario_test.go +0 -172
  1250. package/internal/parity/vendored_src_test.go +0 -84
  1251. package/internal/parity/whoami_scenario_test.go +0 -69
  1252. package/internal/parity/wp_scenario_test.go +0 -428
  1253. package/internal/phpmyadmin/client.go +0 -221
  1254. package/internal/phpmyadmin/client_test.go +0 -418
  1255. package/internal/poll/poll.go +0 -85
  1256. package/internal/poll/poll_test.go +0 -136
  1257. package/internal/polling/polling.go +0 -97
  1258. package/internal/polling/polling_test.go +0 -59
  1259. package/internal/rechallenge/browser.go +0 -16
  1260. package/internal/rechallenge/client.go +0 -198
  1261. package/internal/rechallenge/client_test.go +0 -169
  1262. package/internal/rechallenge/errors.go +0 -137
  1263. package/internal/rechallenge/errors_test.go +0 -81
  1264. package/internal/rechallenge/flow.go +0 -232
  1265. package/internal/rechallenge/flow_noninteractive_test.go +0 -285
  1266. package/internal/rechallenge/flow_test.go +0 -217
  1267. package/internal/rechallenge/interactive.go +0 -90
  1268. package/internal/rechallenge/interactive_test.go +0 -106
  1269. package/internal/rechallenge/redact.go +0 -36
  1270. package/internal/rechallenge/redact_test.go +0 -142
  1271. package/internal/rechallenge/tokencache.go +0 -148
  1272. package/internal/rechallenge/tokencache_test.go +0 -139
  1273. package/internal/rechallenge/types.go +0 -100
  1274. package/internal/rechallenge/types_test.go +0 -56
  1275. package/internal/redact/redact.go +0 -99
  1276. package/internal/redact/redact_test.go +0 -80
  1277. package/internal/releasepromotion/buildkite.go +0 -233
  1278. package/internal/releasepromotion/buildkite_test.go +0 -284
  1279. package/internal/releasepromotion/contract.go +0 -165
  1280. package/internal/releasepromotion/contract_test.go +0 -211
  1281. package/internal/releasepromotion/github.go +0 -378
  1282. package/internal/releasepromotion/github_test.go +0 -399
  1283. package/internal/releasepromotion/optional_installers_test.go +0 -87
  1284. package/internal/releasepromotion/promoter.go +0 -134
  1285. package/internal/releasepromotion/promoter_test.go +0 -147
  1286. package/internal/releasepromotion/verify.go +0 -239
  1287. package/internal/releasepromotion/verify_test.go +0 -296
  1288. package/internal/searchreplace/debug_test.go +0 -71
  1289. package/internal/searchreplace/dumpdetails.go +0 -104
  1290. package/internal/searchreplace/dumpdetails_test.go +0 -86
  1291. package/internal/searchreplace/searchreplace.go +0 -261
  1292. package/internal/searchreplace/searchreplace_test.go +0 -250
  1293. package/internal/siteimport/debug_test.go +0 -34
  1294. package/internal/siteimport/siteimport.go +0 -18
  1295. package/internal/siteimport/siteimport_test.go +0 -19
  1296. package/internal/siteimport/sitetype.go +0 -74
  1297. package/internal/siteimport/sitetype_test.go +0 -62
  1298. package/internal/siteimport/status.go +0 -282
  1299. package/internal/siteimport/status_test.go +0 -234
  1300. package/internal/slowlogsapi/slowlogsapi.go +0 -176
  1301. package/internal/slowlogsapi/slowlogsapi_test.go +0 -93
  1302. package/internal/softwaresettings/format.go +0 -192
  1303. package/internal/softwaresettings/format_test.go +0 -123
  1304. package/internal/sqlexport/diskspace.go +0 -36
  1305. package/internal/sqlexport/diskspace_unix.go +0 -24
  1306. package/internal/sqlexport/diskspace_windows.go +0 -26
  1307. package/internal/sqlexport/download.go +0 -75
  1308. package/internal/sqlexport/download_test.go +0 -103
  1309. package/internal/sqlexport/export.go +0 -321
  1310. package/internal/sqlexport/export_test.go +0 -313
  1311. package/internal/sqlexport/format.go +0 -44
  1312. package/internal/sqlexport/livecopy.go +0 -150
  1313. package/internal/sqlexport/livecopy_test.go +0 -273
  1314. package/internal/sqlvalidation/devenv_checks_test.go +0 -134
  1315. package/internal/sqlvalidation/filename.go +0 -30
  1316. package/internal/sqlvalidation/line_by_line.go +0 -91
  1317. package/internal/sqlvalidation/line_by_line_test.go +0 -165
  1318. package/internal/sqlvalidation/multisite.go +0 -31
  1319. package/internal/sqlvalidation/multisite_test.go +0 -34
  1320. package/internal/sqlvalidation/sql.go +0 -510
  1321. package/internal/sqlvalidation/sql_test.go +0 -206
  1322. package/internal/sync/sync.go +0 -246
  1323. package/internal/sync/sync_test.go +0 -253
  1324. package/internal/telemetry/config.go +0 -34
  1325. package/internal/telemetry/default.go +0 -67
  1326. package/internal/telemetry/default_endpoint_test.go +0 -111
  1327. package/internal/telemetry/pendo.go +0 -185
  1328. package/internal/telemetry/pendo_auth_test.go +0 -92
  1329. package/internal/telemetry/pendo_test.go +0 -252
  1330. package/internal/telemetry/scrub.go +0 -90
  1331. package/internal/telemetry/scrub_test.go +0 -131
  1332. package/internal/telemetry/tracker.go +0 -102
  1333. package/internal/telemetry/tracker_test.go +0 -76
  1334. package/internal/telemetry/tracks.go +0 -82
  1335. package/internal/telemetry/tracks_test.go +0 -129
  1336. package/internal/telemetry/uuid.go +0 -50
  1337. package/internal/telemetry/uuid_test.go +0 -90
  1338. package/internal/tui/progress.go +0 -153
  1339. package/internal/tui/progress_test.go +0 -89
  1340. package/internal/tui/progress_tracker.go +0 -299
  1341. package/internal/tui/progress_tracker_test.go +0 -155
  1342. package/internal/update/archive.go +0 -134
  1343. package/internal/update/archive_test.go +0 -132
  1344. package/internal/update/download.go +0 -138
  1345. package/internal/update/download_test.go +0 -32
  1346. package/internal/update/github.go +0 -121
  1347. package/internal/update/install.go +0 -265
  1348. package/internal/update/install_test.go +0 -151
  1349. package/internal/update/lock_unix.go +0 -23
  1350. package/internal/update/lock_windows.go +0 -22
  1351. package/internal/update/native_test.go +0 -70
  1352. package/internal/update/notify.go +0 -91
  1353. package/internal/update/ownership.go +0 -117
  1354. package/internal/update/ownership_test.go +0 -102
  1355. package/internal/update/release.go +0 -120
  1356. package/internal/update/release_test.go +0 -168
  1357. package/internal/update/service.go +0 -197
  1358. package/internal/update/service_test.go +0 -118
  1359. package/internal/update/state.go +0 -116
  1360. package/internal/update/state_test.go +0 -132
  1361. package/internal/upload/debug_test.go +0 -76
  1362. package/internal/upload/filemeta.go +0 -112
  1363. package/internal/upload/filemeta_test.go +0 -94
  1364. package/internal/upload/multipart.go +0 -215
  1365. package/internal/upload/multipart_test.go +0 -210
  1366. package/internal/upload/orchestrate.go +0 -81
  1367. package/internal/upload/parts.go +0 -39
  1368. package/internal/upload/parts_test.go +0 -39
  1369. package/internal/upload/presign.go +0 -103
  1370. package/internal/upload/presign_test.go +0 -128
  1371. package/internal/upload/proxy_test.go +0 -55
  1372. package/internal/upload/putobject.go +0 -92
  1373. package/internal/upload/putobject_test.go +0 -79
  1374. package/internal/upload/retry.go +0 -45
  1375. package/internal/upload/upload.go +0 -22
  1376. package/internal/upload/xmlerror.go +0 -28
  1377. package/internal/validatefiles/files.go +0 -105
  1378. package/internal/validatefiles/files_test.go +0 -143
  1379. package/internal/validatefiles/report.go +0 -172
  1380. package/internal/validatefiles/validatefiles.go +0 -271
  1381. package/internal/validatefiles/validatefiles_test.go +0 -127
  1382. package/internal/version/stamp.go +0 -15
  1383. package/internal/version/stamp_test.go +0 -25
  1384. package/internal/version/version.go +0 -14
  1385. package/internal/version/version_test.go +0 -25
  1386. package/internal/wpshell/parser.go +0 -68
  1387. package/internal/wpshell/parser_test.go +0 -58
  1388. package/internal/wpshell/repl.go +0 -81
  1389. package/internal/wpshell/repl_test.go +0 -71
  1390. package/internal/wpshell/requote.go +0 -13
  1391. package/internal/wpshell/requote_test.go +0 -15
  1392. package/internal/wpssh/debug_test.go +0 -67
  1393. package/internal/wpssh/wpssh.go +0 -124
  1394. package/internal/wpssh/wpssh_test.go +0 -203
  1395. package/internal/wpstream/debug_test.go +0 -116
  1396. package/internal/wpstream/e2e_test.go +0 -178
  1397. package/internal/wpstream/engineio.go +0 -291
  1398. package/internal/wpstream/engineio_test.go +0 -82
  1399. package/internal/wpstream/iostream.go +0 -391
  1400. package/internal/wpstream/iostream_test.go +0 -138
  1401. package/internal/wpstream/run.go +0 -364
  1402. package/internal/wpstream/run_test.go +0 -184
  1403. package/internal/wpstream/socketio.go +0 -435
  1404. package/internal/wpstream/socketio_test.go +0 -402
  1405. package/internal/wpstream/testdata/fixture-server.js +0 -54
  1406. package/make.ps1 +0 -155
  1407. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs +0 -3
  1408. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs.map +0 -1
  1409. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.d.cts +0 -10
  1410. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.d.ts +0 -10
  1411. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js +0 -2
  1412. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js.map +0 -1
  1413. package/node_modules/argparse/LICENSE +0 -254
  1414. package/node_modules/argparse/README.md +0 -84
  1415. package/node_modules/argparse/package.json +0 -31
  1416. package/node_modules/check-disk-space/dist/check-disk-space.cjs +0 -210
  1417. package/node_modules/check-disk-space/dist/check-disk-space.d.ts +0 -53
  1418. package/node_modules/fetch-retry/.eslintignore +0 -1
  1419. package/node_modules/fetch-retry/.eslintrc.yml +0 -20
  1420. package/node_modules/fetch-retry/.github/workflows/node.js.yml +0 -32
  1421. package/node_modules/fetch-retry/.husky/pre-commit +0 -6
  1422. package/node_modules/fetch-retry/.nycrc.json +0 -24
  1423. package/node_modules/fetch-retry/.travis.yml +0 -3
  1424. package/node_modules/fetch-retry/README.md +0 -128
  1425. package/node_modules/fetch-retry/dist/fetch-retry.umd.js +0 -151
  1426. package/node_modules/fetch-retry/index.d.ts +0 -29
  1427. package/node_modules/fetch-retry/index.js +0 -143
  1428. package/node_modules/fetch-retry/package.json +0 -41
  1429. package/node_modules/fetch-retry/rollup.config.js +0 -12
  1430. package/node_modules/fetch-retry/test/.eslintrc.yml +0 -7
  1431. package/node_modules/fetch-retry/test/integration/index.js +0 -212
  1432. package/node_modules/fetch-retry/test/integration/mock-api/index.js +0 -42
  1433. package/node_modules/fetch-retry/test/unit/index.js +0 -1169
  1434. package/node_modules/lando/node_modules/cliui/build/index.cjs +0 -302
  1435. package/node_modules/lando/node_modules/cliui/build/lib/string-utils.js +0 -27
  1436. package/node_modules/lando/node_modules/js-yaml/LICENSE +0 -21
  1437. package/node_modules/lando/node_modules/js-yaml/README.md +0 -233
  1438. package/node_modules/lando/node_modules/js-yaml/bin/js-yaml.js +0 -117
  1439. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js +0 -3022
  1440. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js.map +0 -1
  1441. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js +0 -2
  1442. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js.map +0 -1
  1443. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs +0 -3082
  1444. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs.map +0 -1
  1445. package/node_modules/lando/node_modules/js-yaml/index.js +0 -44
  1446. package/node_modules/lando/node_modules/js-yaml/lib/common.js +0 -50
  1447. package/node_modules/lando/node_modules/js-yaml/lib/dumper.js +0 -937
  1448. package/node_modules/lando/node_modules/js-yaml/lib/exception.js +0 -51
  1449. package/node_modules/lando/node_modules/js-yaml/lib/index_vite_proxy.tmp.mjs +0 -37
  1450. package/node_modules/lando/node_modules/js-yaml/lib/loader.js +0 -1803
  1451. package/node_modules/lando/node_modules/js-yaml/lib/schema/core.js +0 -9
  1452. package/node_modules/lando/node_modules/js-yaml/lib/schema/default.js +0 -20
  1453. package/node_modules/lando/node_modules/js-yaml/lib/schema/failsafe.js +0 -14
  1454. package/node_modules/lando/node_modules/js-yaml/lib/schema/json.js +0 -17
  1455. package/node_modules/lando/node_modules/js-yaml/lib/schema.js +0 -109
  1456. package/node_modules/lando/node_modules/js-yaml/lib/snippet.js +0 -96
  1457. package/node_modules/lando/node_modules/js-yaml/lib/type/binary.js +0 -122
  1458. package/node_modules/lando/node_modules/js-yaml/lib/type/bool.js +0 -35
  1459. package/node_modules/lando/node_modules/js-yaml/lib/type/float.js +0 -99
  1460. package/node_modules/lando/node_modules/js-yaml/lib/type/int.js +0 -142
  1461. package/node_modules/lando/node_modules/js-yaml/lib/type/map.js +0 -8
  1462. package/node_modules/lando/node_modules/js-yaml/lib/type/merge.js +0 -12
  1463. package/node_modules/lando/node_modules/js-yaml/lib/type/null.js +0 -35
  1464. package/node_modules/lando/node_modules/js-yaml/lib/type/omap.js +0 -45
  1465. package/node_modules/lando/node_modules/js-yaml/lib/type/pairs.js +0 -50
  1466. package/node_modules/lando/node_modules/js-yaml/lib/type/seq.js +0 -8
  1467. package/node_modules/lando/node_modules/js-yaml/lib/type/set.js +0 -29
  1468. package/node_modules/lando/node_modules/js-yaml/lib/type/str.js +0 -8
  1469. package/node_modules/lando/node_modules/js-yaml/lib/type/timestamp.js +0 -88
  1470. package/node_modules/lando/node_modules/js-yaml/lib/type.js +0 -66
  1471. package/node_modules/lando/node_modules/js-yaml/package.json +0 -83
  1472. package/node_modules/lando/node_modules/wrap-ansi/index.js +0 -216
  1473. package/node_modules/lando/node_modules/wrap-ansi/package.json +0 -62
  1474. package/node_modules/lando/node_modules/wrap-ansi/readme.md +0 -91
  1475. package/node_modules/lando/node_modules/yargs/build/index.cjs +0 -2920
  1476. package/node_modules/lando/node_modules/yargs/helpers/index.js +0 -14
  1477. package/node_modules/lando/node_modules/yargs/index.cjs +0 -39
  1478. package/node_modules/lando/node_modules/yargs/yargs +0 -9
  1479. package/node_modules/lando/node_modules/yargs-parser/build/index.cjs +0 -1042
  1480. package/node_modules/lando/plugins/lando-test/index.js +0 -3
  1481. package/node_modules/lando/plugins/lando-test/plugin.yml +0 -2
  1482. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +0 -265
  1483. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto.node.d +0 -1
  1484. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/sshcrypto.node.d +0 -1
  1485. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
  1486. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
  1487. package/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
  1488. package/packaging/macos/build-pkg.sh +0 -53
  1489. package/packaging/macos/preinstall +0 -33
  1490. package/packaging/macos/test-install.sh +0 -51
  1491. package/packaging/macos/test_package.py +0 -74
  1492. package/packaging/macos/uninstall.sh +0 -24
  1493. package/packaging/macos/verify-pkg.py +0 -61
  1494. package/packaging/windows/build-msi.ps1 +0 -153
  1495. package/packaging/windows/test-msi.ps1 +0 -225
  1496. package/packaging/windows/verify-msi.ps1 +0 -74
  1497. package/packaging/windows/vip-next.wxs +0 -79
  1498. package/scripts/catalog_script_test.go +0 -123
  1499. package/scripts/vip-next-command-catalog.sh +0 -506
  1500. package/test-utils/undici-mock.js +0 -25
  1501. package/testdata/installer-fixture/main.go +0 -40
  1502. package/testdata/parity/app-deploy-completed.yaml +0 -14
  1503. package/testdata/parity/app-deploy-missing-token.yaml +0 -21
  1504. package/testdata/parity/app-deploy-validate-clean.yaml +0 -11
  1505. package/testdata/parity/app-deploy-validate-missing-themes.yaml +0 -21
  1506. package/testdata/parity/app-get-baseline.yaml +0 -14
  1507. package/testdata/parity/app-get-custom-deploy.yaml +0 -14
  1508. package/testdata/parity/app-get-json.yaml +0 -14
  1509. package/testdata/parity/app-get-not-found.yaml +0 -13
  1510. package/testdata/parity/app-list-baseline.yaml +0 -14
  1511. package/testdata/parity/app-list-csv.yaml +0 -13
  1512. package/testdata/parity/app-list-empty.yaml +0 -13
  1513. package/testdata/parity/app-list-ids.yaml +0 -26
  1514. package/testdata/parity/app-list-json.yaml +0 -13
  1515. package/testdata/parity/app-list-unknown-format.yaml +0 -29
  1516. package/testdata/parity/backup-db-already-in-progress.yaml +0 -15
  1517. package/testdata/parity/backup-db-completed.yaml +0 -14
  1518. package/testdata/parity/backup-db-help.yaml +0 -10
  1519. package/testdata/parity/cache-purge-url-empty.yaml +0 -26
  1520. package/testdata/parity/cache-purge-url-from-file.yaml +0 -21
  1521. package/testdata/parity/cache-purge-url-multi.yaml +0 -19
  1522. package/testdata/parity/cache-purge-url-single.yaml +0 -18
  1523. package/testdata/parity/defensive-mode-enable-with-rechallenge.yaml +0 -20
  1524. package/testdata/parity/edge-workers-artifact-symlink.yaml +0 -8
  1525. package/testdata/parity/edge-workers-bare-location.yaml +0 -8
  1526. package/testdata/parity/edge-workers-bare-path.yaml +0 -8
  1527. package/testdata/parity/edge-workers-bare-type.yaml +0 -8
  1528. package/testdata/parity/edge-workers-build-all.yaml +0 -8
  1529. package/testdata/parity/edge-workers-build-compiler-error.yaml +0 -8
  1530. package/testdata/parity/edge-workers-build-empty.yaml +0 -8
  1531. package/testdata/parity/edge-workers-build-missing-compiler.yaml +0 -8
  1532. package/testdata/parity/edge-workers-build-name-all.yaml +0 -8
  1533. package/testdata/parity/edge-workers-build-one.yaml +0 -8
  1534. package/testdata/parity/edge-workers-delete-force.yaml +0 -8
  1535. package/testdata/parity/edge-workers-delete-rejected.yaml +0 -8
  1536. package/testdata/parity/edge-workers-deploy-active-update-enable.yaml +0 -8
  1537. package/testdata/parity/edge-workers-deploy-active-update.yaml +0 -8
  1538. package/testdata/parity/edge-workers-deploy-all-preparation-failure.yaml +0 -8
  1539. package/testdata/parity/edge-workers-deploy-create-enable.yaml +0 -8
  1540. package/testdata/parity/edge-workers-deploy-create.yaml +0 -8
  1541. package/testdata/parity/edge-workers-deploy-enable-failure.yaml +0 -8
  1542. package/testdata/parity/edge-workers-deploy-inactive-update-enable.yaml +0 -8
  1543. package/testdata/parity/edge-workers-deploy-inactive-update.yaml +0 -8
  1544. package/testdata/parity/edge-workers-deploy-location-clear.yaml +0 -8
  1545. package/testdata/parity/edge-workers-deploy-location-preserve.yaml +0 -8
  1546. package/testdata/parity/edge-workers-deploy-location-replace.yaml +0 -8
  1547. package/testdata/parity/edge-workers-deploy-name-all.yaml +0 -8
  1548. package/testdata/parity/edge-workers-deploy-production-refused.yaml +0 -8
  1549. package/testdata/parity/edge-workers-deploy-production-skip.yaml +0 -8
  1550. package/testdata/parity/edge-workers-deploy-skip-source-create.yaml +0 -8
  1551. package/testdata/parity/edge-workers-deploy-skip-source.yaml +0 -8
  1552. package/testdata/parity/edge-workers-deploy-skip-validate.yaml +0 -8
  1553. package/testdata/parity/edge-workers-deploy-source-empty.yaml +0 -8
  1554. package/testdata/parity/edge-workers-deploy-upload-failure.yaml +0 -8
  1555. package/testdata/parity/edge-workers-disable.yaml +0 -8
  1556. package/testdata/parity/edge-workers-double-dash.yaml +0 -8
  1557. package/testdata/parity/edge-workers-duplicate-names.yaml +0 -8
  1558. package/testdata/parity/edge-workers-enable-production-refused.yaml +0 -8
  1559. package/testdata/parity/edge-workers-enable.yaml +0 -8
  1560. package/testdata/parity/edge-workers-entry-escape.yaml +0 -8
  1561. package/testdata/parity/edge-workers-get-empty-source.yaml +0 -8
  1562. package/testdata/parity/edge-workers-get-missing.yaml +0 -8
  1563. package/testdata/parity/edge-workers-get-no-source.yaml +0 -8
  1564. package/testdata/parity/edge-workers-get-source.yaml +0 -8
  1565. package/testdata/parity/edge-workers-get.yaml +0 -8
  1566. package/testdata/parity/edge-workers-init-invalid-type.yaml +0 -8
  1567. package/testdata/parity/edge-workers-init-nonempty.yaml +0 -8
  1568. package/testdata/parity/edge-workers-init.yaml +0 -8
  1569. package/testdata/parity/edge-workers-json-control-name.yaml +0 -8
  1570. package/testdata/parity/edge-workers-list-csv.yaml +0 -8
  1571. package/testdata/parity/edge-workers-list-empty-json.yaml +0 -8
  1572. package/testdata/parity/edge-workers-list-empty.yaml +0 -8
  1573. package/testdata/parity/edge-workers-list-json.yaml +0 -8
  1574. package/testdata/parity/edge-workers-list-table.yaml +0 -8
  1575. package/testdata/parity/edge-workers-mutation-graphql-error.yaml +0 -8
  1576. package/testdata/parity/edge-workers-mutation-null.yaml +0 -8
  1577. package/testdata/parity/edge-workers-new-invalid-location.yaml +0 -8
  1578. package/testdata/parity/edge-workers-new-invalid-name.yaml +0 -8
  1579. package/testdata/parity/edge-workers-new-location.yaml +0 -8
  1580. package/testdata/parity/edge-workers-new.yaml +0 -8
  1581. package/testdata/parity/edge-workers-read-null.yaml +0 -8
  1582. package/testdata/parity/edge-workers-repeated-path.yaml +0 -8
  1583. package/testdata/parity/edge-workers-repeated-type.yaml +0 -8
  1584. package/testdata/parity/edge-workers-short-equals.yaml +0 -8
  1585. package/testdata/parity/edge-workers-table-control-name.yaml +0 -8
  1586. package/testdata/parity/edge-workers-unicode-order.yaml +0 -8
  1587. package/testdata/parity/edge-workers-validate-all.yaml +0 -8
  1588. package/testdata/parity/edge-workers-validate-invalid.yaml +0 -8
  1589. package/testdata/parity/edge-workers-validate-name-all.yaml +0 -8
  1590. package/testdata/parity/edge-workers-validate-no-artifact.yaml +0 -8
  1591. package/testdata/parity/edge-workers-validate-no-name.yaml +0 -8
  1592. package/testdata/parity/edge-workers-validate-null.yaml +0 -8
  1593. package/testdata/parity/edge-workers-validate.yaml +0 -8
  1594. package/testdata/parity/envvar-delete-baseline.yaml +0 -19
  1595. package/testdata/parity/envvar-delete-prod-cancel.yaml +0 -41
  1596. package/testdata/parity/envvar-delete-typed-mismatch.yaml +0 -44
  1597. package/testdata/parity/envvar-get-baseline.yaml +0 -14
  1598. package/testdata/parity/envvar-get-lowercase-input.yaml +0 -14
  1599. package/testdata/parity/envvar-get-named-help.yaml +0 -24
  1600. package/testdata/parity/envvar-get-not-found.yaml +0 -17
  1601. package/testdata/parity/envvar-getall-baseline.yaml +0 -14
  1602. package/testdata/parity/envvar-getall-empty.yaml +0 -15
  1603. package/testdata/parity/envvar-getall-keyvalue.yaml +0 -22
  1604. package/testdata/parity/envvar-list-baseline.yaml +0 -15
  1605. package/testdata/parity/envvar-list-empty.yaml +0 -15
  1606. package/testdata/parity/envvar-list-ids.yaml +0 -14
  1607. package/testdata/parity/envvar-list-json.yaml +0 -14
  1608. package/testdata/parity/envvar-list-keyvalue.yaml +0 -22
  1609. package/testdata/parity/envvar-set-baseline.yaml +0 -21
  1610. package/testdata/parity/envvar-set-invalid-name.yaml +0 -20
  1611. package/testdata/parity/envvar-set-newrelic-blocked.yaml +0 -21
  1612. package/testdata/parity/envvar-set-prod-cancel.yaml +0 -42
  1613. package/testdata/parity/envvar-set-prod-confirm-skipped.yaml +0 -20
  1614. package/testdata/parity/export-sql-completed.yaml +0 -14
  1615. package/testdata/parity/export-sql-config-conflict.yaml +0 -21
  1616. package/testdata/parity/export-sql-help.yaml +0 -11
  1617. package/testdata/parity/import-media-abort-noninteractive.yaml +0 -19
  1618. package/testdata/parity/import-media-help.yaml +0 -12
  1619. package/testdata/parity/import-media-invalid-archive.yaml +0 -18
  1620. package/testdata/parity/import-media-status-completed.yaml +0 -19
  1621. package/testdata/parity/import-media-status-failed.yaml +0 -18
  1622. package/testdata/parity/import-media-url-completed.yaml +0 -18
  1623. package/testdata/parity/import-sql-bad-extension.yaml +0 -26
  1624. package/testdata/parity/import-sql-help.yaml +0 -12
  1625. package/testdata/parity/import-sql-in-progress.yaml +0 -26
  1626. package/testdata/parity/import-sql-invalid-md5.yaml +0 -27
  1627. package/testdata/parity/import-sql-noninteractive-abort.yaml +0 -20
  1628. package/testdata/parity/import-sql-status-completed.yaml +0 -17
  1629. package/testdata/parity/import-sql-status-no-job.yaml +0 -17
  1630. package/testdata/parity/import-sql-validation-failure.yaml +0 -18
  1631. package/testdata/parity/import-validate-files-clean.yaml +0 -18
  1632. package/testdata/parity/import-validate-files-not-dir.yaml +0 -16
  1633. package/testdata/parity/import-validate-sql-clean.yaml +0 -23
  1634. package/testdata/parity/import-validate-sql-dangerous-stmt.yaml +0 -27
  1635. package/testdata/parity/import-validate-sql-multisite-warn.yaml +0 -23
  1636. package/testdata/parity/logs-baseline.yaml +0 -24
  1637. package/testdata/parity/logs-batch.yaml +0 -24
  1638. package/testdata/parity/logs-empty.yaml +0 -15
  1639. package/testdata/parity/logs-format-json.yaml +0 -15
  1640. package/testdata/parity/logs-limit-100.yaml +0 -24
  1641. package/testdata/parity/phpmyadmin-error.yaml +0 -24
  1642. package/testdata/parity/phpmyadmin-print.yaml +0 -22
  1643. package/testdata/parity/phpmyadmin-silent.yaml +0 -16
  1644. package/testdata/parity/recordings/app-get-baseline/app.json +0 -11
  1645. package/testdata/parity/recordings/app-get-custom-deploy/app.json +0 -8
  1646. package/testdata/parity/recordings/app-get-json/app.json +0 -11
  1647. package/testdata/parity/recordings/app-get-not-found/app.json +0 -1
  1648. package/testdata/parity/recordings/app-list-baseline/apps.json +0 -1
  1649. package/testdata/parity/recordings/app-list-csv/apps.json +0 -1
  1650. package/testdata/parity/recordings/app-list-empty/apps.json +0 -1
  1651. package/testdata/parity/recordings/app-list-json/apps.json +0 -1
  1652. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-1.json +0 -1
  1653. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-2.json +0 -1
  1654. package/testdata/parity/recordings/backup-db-completed/backup-status-1.json +0 -1
  1655. package/testdata/parity/recordings/backup-db-completed/backup-status-2.json +0 -1
  1656. package/testdata/parity/recordings/backup-db-completed/backup-status-3.json +0 -1
  1657. package/testdata/parity/recordings/cache-purge-url-empty/resolve-app.json +0 -1
  1658. package/testdata/parity/recordings/cache-purge-url-from-file/purge.json +0 -1
  1659. package/testdata/parity/recordings/cache-purge-url-from-file/resolve-app.json +0 -1
  1660. package/testdata/parity/recordings/cache-purge-url-from-file/urls.txt +0 -2
  1661. package/testdata/parity/recordings/cache-purge-url-multi/purge.json +0 -1
  1662. package/testdata/parity/recordings/cache-purge-url-multi/resolve-app.json +0 -1
  1663. package/testdata/parity/recordings/cache-purge-url-single/purge.json +0 -1
  1664. package/testdata/parity/recordings/cache-purge-url-single/resolve-app.json +0 -1
  1665. package/testdata/parity/recordings/config-software-get/resolve-app.json +0 -1
  1666. package/testdata/parity/recordings/config-software-update/resolve-app.json +0 -1
  1667. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-elevated.json +0 -1
  1668. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-success.json +0 -1
  1669. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-create-session.json +0 -1
  1670. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-exchange.json +0 -1
  1671. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-status-verified.json +0 -1
  1672. package/testdata/parity/recordings/envvar-delete-baseline/delete.json +0 -1
  1673. package/testdata/parity/recordings/envvar-delete-baseline/resolve-app.json +0 -1
  1674. package/testdata/parity/recordings/envvar-delete-prod-cancel/resolve-app.json +0 -1
  1675. package/testdata/parity/recordings/envvar-delete-typed-mismatch/resolve-app.json +0 -1
  1676. package/testdata/parity/recordings/envvar-get-baseline/envvars.json +0 -1
  1677. package/testdata/parity/recordings/envvar-get-baseline/resolve-app.json +0 -1
  1678. package/testdata/parity/recordings/envvar-get-lowercase-input/envvars.json +0 -1
  1679. package/testdata/parity/recordings/envvar-get-lowercase-input/resolve-app.json +0 -1
  1680. package/testdata/parity/recordings/envvar-get-named-help/envvars.json +0 -1
  1681. package/testdata/parity/recordings/envvar-get-named-help/resolve-app.json +0 -1
  1682. package/testdata/parity/recordings/envvar-get-not-found/envvars.json +0 -1
  1683. package/testdata/parity/recordings/envvar-get-not-found/resolve-app.json +0 -1
  1684. package/testdata/parity/recordings/envvar-getall-baseline/envvars.json +0 -1
  1685. package/testdata/parity/recordings/envvar-getall-baseline/resolve-app.json +0 -1
  1686. package/testdata/parity/recordings/envvar-getall-empty/envvars.json +0 -1
  1687. package/testdata/parity/recordings/envvar-getall-empty/resolve-app.json +0 -1
  1688. package/testdata/parity/recordings/envvar-getall-keyvalue/envvars.json +0 -1
  1689. package/testdata/parity/recordings/envvar-getall-keyvalue/resolve-app.json +0 -1
  1690. package/testdata/parity/recordings/envvar-list-baseline/envvars.json +0 -1
  1691. package/testdata/parity/recordings/envvar-list-baseline/resolve-app.json +0 -1
  1692. package/testdata/parity/recordings/envvar-list-empty/envvars.json +0 -1
  1693. package/testdata/parity/recordings/envvar-list-empty/resolve-app.json +0 -1
  1694. package/testdata/parity/recordings/envvar-list-ids/envvars.json +0 -1
  1695. package/testdata/parity/recordings/envvar-list-ids/resolve-app.json +0 -1
  1696. package/testdata/parity/recordings/envvar-list-json/envvars.json +0 -1
  1697. package/testdata/parity/recordings/envvar-list-json/resolve-app.json +0 -1
  1698. package/testdata/parity/recordings/envvar-list-keyvalue/envvars.json +0 -1
  1699. package/testdata/parity/recordings/envvar-list-keyvalue/resolve-app.json +0 -1
  1700. package/testdata/parity/recordings/envvar-set-baseline/add.json +0 -1
  1701. package/testdata/parity/recordings/envvar-set-baseline/resolve-app.json +0 -1
  1702. package/testdata/parity/recordings/envvar-set-baseline/value.txt +0 -1
  1703. package/testdata/parity/recordings/envvar-set-invalid-name/resolve-app.json +0 -1
  1704. package/testdata/parity/recordings/envvar-set-invalid-name/value.txt +0 -1
  1705. package/testdata/parity/recordings/envvar-set-newrelic-blocked/resolve-app.json +0 -1
  1706. package/testdata/parity/recordings/envvar-set-newrelic-blocked/value.txt +0 -1
  1707. package/testdata/parity/recordings/envvar-set-prod-cancel/resolve-app.json +0 -1
  1708. package/testdata/parity/recordings/envvar-set-prod-cancel/value.txt +0 -1
  1709. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/add.json +0 -1
  1710. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/resolve-app.json +0 -1
  1711. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/value.txt +0 -1
  1712. package/testdata/parity/recordings/export-sql-completed/export-status-1.json +0 -1
  1713. package/testdata/parity/recordings/export-sql-completed/export-status-2.json +0 -1
  1714. package/testdata/parity/recordings/import-media-invalid-archive/file.sql +0 -1
  1715. package/testdata/parity/recordings/import-media-shared/abort-media-import.json +0 -1
  1716. package/testdata/parity/recordings/import-media-shared/env-info.json +0 -1
  1717. package/testdata/parity/recordings/import-media-shared/resolve-app.json +0 -1
  1718. package/testdata/parity/recordings/import-media-shared/start-media-import.json +0 -1
  1719. package/testdata/parity/recordings/import-media-status-completed/progress.json +0 -1
  1720. package/testdata/parity/recordings/import-media-status-failed/progress.json +0 -1
  1721. package/testdata/parity/recordings/import-media-url-completed/progress.json +0 -1
  1722. package/testdata/parity/recordings/import-sql-bad-extension/file.txt +0 -1
  1723. package/testdata/parity/recordings/import-sql-in-progress/env-info.json +0 -1
  1724. package/testdata/parity/recordings/import-sql-in-progress/resolve-app.json +0 -1
  1725. package/testdata/parity/recordings/import-sql-noninteractive-abort/clean.sql +0 -5
  1726. package/testdata/parity/recordings/import-sql-shared/env-info.json +0 -1
  1727. package/testdata/parity/recordings/import-sql-shared/multisite.json +0 -1
  1728. package/testdata/parity/recordings/import-sql-shared/resolve-app.json +0 -1
  1729. package/testdata/parity/recordings/import-sql-status-completed/progress.json +0 -1
  1730. package/testdata/parity/recordings/import-sql-status-no-job/progress.json +0 -1
  1731. package/testdata/parity/recordings/import-sql-validation-failure/dirty.sql +0 -6
  1732. package/testdata/parity/recordings/import-validate-files-clean/config.json +0 -1
  1733. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/a.jpg +0 -1
  1734. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/b.png +0 -1
  1735. package/testdata/parity/recordings/import-validate-sql-clean/clean.sql +0 -17
  1736. package/testdata/parity/recordings/import-validate-sql-dangerous-stmt/dangerous.sql +0 -11
  1737. package/testdata/parity/recordings/import-validate-sql-multisite-warn/multisite.sql +0 -12
  1738. package/testdata/parity/recordings/logs-baseline/logs.json +0 -1
  1739. package/testdata/parity/recordings/logs-baseline/resolve-app.json +0 -1
  1740. package/testdata/parity/recordings/logs-batch/logs.json +0 -1
  1741. package/testdata/parity/recordings/logs-batch/resolve-app.json +0 -1
  1742. package/testdata/parity/recordings/logs-empty/logs.json +0 -1
  1743. package/testdata/parity/recordings/logs-empty/resolve-app.json +0 -1
  1744. package/testdata/parity/recordings/logs-format-json/logs.json +0 -1
  1745. package/testdata/parity/recordings/logs-format-json/resolve-app.json +0 -1
  1746. package/testdata/parity/recordings/logs-limit-100/logs.json +0 -1
  1747. package/testdata/parity/recordings/logs-limit-100/resolve-app.json +0 -1
  1748. package/testdata/parity/recordings/m7c-shared/resolve-app.json +0 -1
  1749. package/testdata/parity/recordings/phpmyadmin-error/enable.json +0 -1
  1750. package/testdata/parity/recordings/phpmyadmin-error/resolve-app.json +0 -1
  1751. package/testdata/parity/recordings/phpmyadmin-print/enable.json +0 -1
  1752. package/testdata/parity/recordings/phpmyadmin-print/generate.json +0 -1
  1753. package/testdata/parity/recordings/phpmyadmin-print/resolve-app.json +0 -1
  1754. package/testdata/parity/recordings/phpmyadmin-print/status.json +0 -1
  1755. package/testdata/parity/recordings/phpmyadmin-silent/enable.json +0 -1
  1756. package/testdata/parity/recordings/phpmyadmin-silent/generate.json +0 -1
  1757. package/testdata/parity/recordings/phpmyadmin-silent/resolve-app.json +0 -1
  1758. package/testdata/parity/recordings/phpmyadmin-silent/status.json +0 -1
  1759. package/testdata/parity/recordings/slowlogs-baseline/resolve-app.json +0 -1
  1760. package/testdata/parity/recordings/slowlogs-baseline/slowlogs.json +0 -1
  1761. package/testdata/parity/recordings/slowlogs-csv/resolve-app.json +0 -1
  1762. package/testdata/parity/recordings/slowlogs-csv/slowlogs.json +0 -1
  1763. package/testdata/parity/recordings/slowlogs-empty/resolve-app.json +0 -1
  1764. package/testdata/parity/recordings/slowlogs-empty/slowlogs.json +0 -1
  1765. package/testdata/parity/recordings/slowlogs-limit-50/resolve-app.json +0 -1
  1766. package/testdata/parity/recordings/slowlogs-limit-50/slowlogs.json +0 -1
  1767. package/testdata/parity/recordings/sync-already-syncing/resolve-app.json +0 -1
  1768. package/testdata/parity/recordings/sync-already-syncing/sync-start.json +0 -1
  1769. package/testdata/parity/recordings/sync-already-syncing/sync-status-1.json +0 -1
  1770. package/testdata/parity/recordings/sync-already-syncing/sync-status-2.json +0 -1
  1771. package/testdata/parity/recordings/sync-baseline/resolve-app.json +0 -1
  1772. package/testdata/parity/recordings/sync-baseline/sync-start.json +0 -1
  1773. package/testdata/parity/recordings/sync-baseline/sync-status-1.json +0 -1
  1774. package/testdata/parity/recordings/sync-baseline/sync-status-2.json +0 -1
  1775. package/testdata/parity/recordings/whoami-baseline/me-response.json +0 -1
  1776. package/testdata/parity/recordings/wp-nodejs-rejected/resolve-app.json +0 -1
  1777. package/testdata/parity/recordings/wp-production-confirm-decline/resolve-app.json +0 -1
  1778. package/testdata/parity/recordings/wp-ssh-happy/resolve-app.json +0 -1
  1779. package/testdata/parity/recordings/wp-websocket-redirect/resolve-app.json +0 -1
  1780. package/testdata/parity/slowlogs-baseline.yaml +0 -18
  1781. package/testdata/parity/slowlogs-csv.yaml +0 -16
  1782. package/testdata/parity/slowlogs-empty.yaml +0 -17
  1783. package/testdata/parity/slowlogs-limit-50.yaml +0 -16
  1784. package/testdata/parity/sync-already-syncing.yaml +0 -20
  1785. package/testdata/parity/sync-baseline.yaml +0 -19
  1786. package/testdata/parity/version-smoke.yaml +0 -14
  1787. package/testdata/parity/whoami-baseline.yaml +0 -14
  1788. package/testdata/parity/wp-help.yaml +0 -12
  1789. package/testdata/parity/wp-nodejs-rejected.yaml +0 -13
  1790. package/testdata/parity/wp-production-confirm-decline.yaml +0 -14
  1791. package/testdata/parity/wp-ssh-happy.yaml +0 -15
  1792. package/testdata/parity/wp-websocket-redirect.yaml +0 -14
  1793. package/testdata/parity-local/app-get-csv.yaml +0 -8
  1794. package/testdata/parity-local/app-get-json.yaml +0 -8
  1795. package/testdata/parity-local/app-get-table.yaml +0 -8
  1796. package/testdata/parity-local/app-list-csv.yaml +0 -8
  1797. package/testdata/parity-local/app-list-json.yaml +0 -8
  1798. package/testdata/parity-local/app-list-table.yaml +0 -8
  1799. package/testdata/parity-local/edge-workers/basic/edge-workers.json +0 -1
  1800. package/testdata/parity-local/edge-workers/basic/workers/headers/assembly/index.ts +0 -1
  1801. package/testdata/parity-local/edge-workers/basic/workers/headers/worker.json +0 -1
  1802. package/testdata/parity-local/edge-workers/two-workers/edge-workers.json +0 -1
  1803. package/testdata/parity-local/edge-workers/two-workers/workers/a/assembly/index.ts +0 -1
  1804. package/testdata/parity-local/edge-workers/two-workers/workers/a/worker.json +0 -1
  1805. package/testdata/parity-local/edge-workers/two-workers/workers/b/assembly/index.ts +0 -1
  1806. package/testdata/parity-local/edge-workers/two-workers/workers/b/worker.json +0 -1
  1807. package/testdata/parity-local/envvar-list-csv.yaml +0 -8
  1808. package/testdata/parity-local/envvar-list-ids.yaml +0 -8
  1809. package/testdata/parity-local/envvar-list-json.yaml +0 -8
  1810. package/testdata/parity-local/envvar-list-keyvalue.yaml +0 -8
  1811. package/testdata/parity-local/envvar-list-table.yaml +0 -8
  1812. package/testdata/parity-local/software-get-csv.yaml +0 -8
  1813. package/testdata/parity-local/software-get-json.yaml +0 -8
  1814. package/testdata/parity-local/software-get-table.yaml +0 -8
  1815. package/testdata/parity-local/whoami.yaml +0 -8
  1816. package/testdata/update-fixture/main.go +0 -62
  1817. package/third_party/go-search-replace/MANIFEST +0 -33
  1818. package/tsconfig.json +0 -25
  1819. /package/node_modules/lando/node_modules/{wrap-ansi → ansi-regex}/license +0 -0
@@ -1,256 +0,0 @@
1
- package edgeworkers
2
-
3
- import (
4
- "bytes"
5
- "context"
6
- json "encoding/json/v2"
7
- "fmt"
8
- "io"
9
- "net/http"
10
- "net/http/httptest"
11
- "reflect"
12
- "strings"
13
- "testing"
14
- "time"
15
-
16
- "github.com/Automattic/vip/internal/gql"
17
- "github.com/Automattic/vip/internal/keychain"
18
- "github.com/Automattic/vip/internal/rechallenge"
19
- "github.com/Khan/genqlient/graphql"
20
- )
21
-
22
- type edgeMemoryKeychain struct{ value string }
23
-
24
- func (m *edgeMemoryKeychain) Set(_, _, value string) error { m.value = value; return nil }
25
- func (m *edgeMemoryKeychain) Get(string, string) (string, error) {
26
- if m.value == "" {
27
- return "", keychain.ErrNotFound
28
- }
29
- return m.value, nil
30
- }
31
- func (m *edgeMemoryKeychain) Delete(string, string) error { m.value = ""; return nil }
32
-
33
- func TestAPICreateRechallengeReplaysOnceAndCachesByOperation(t *testing.T) {
34
- for _, key := range []string{"VIP_PROXY", "vip_proxy", "SOCKS_PROXY", "socks_proxy", "HTTPS_PROXY", "https_proxy", "HTTP_PROXY", "http_proxy", "ALL_PROXY", "all_proxy", "NO_PROXY", "no_proxy", "VIP_USE_SYSTEM_PROXY"} {
35
- t.Setenv(key, "")
36
- }
37
- var srv *httptest.Server
38
- calls := 0
39
- sessionCalls := 0
40
- opened := 0
41
- var bodies [][]byte
42
- var headers []string
43
- srv = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
44
- expires := time.Now().Add(time.Hour).Format(time.RFC3339)
45
- switch r.URL.Path {
46
- case "/sessions":
47
- sessionCalls++
48
- fmt.Fprintf(w, `{"challengeId":"c1","status":"pending","verificationUrl":"%s/verify","pollIntervalSeconds":1,"expiresAt":"%s"}`, srv.URL, expires)
49
- case "/sessions/c1":
50
- fmt.Fprintf(w, `{"challengeId":"c1","status":"verified","expiresAt":"%s","pollIntervalSeconds":1,"provider":"passkeys"}`, expires)
51
- case "/sessions/c1/exchange":
52
- fmt.Fprintf(w, `{"elevatedToken":{"token":"fixture-elevated","expiresAt":"%s","purpose":"createEdgeWorker"}}`, expires)
53
- case "/graphql":
54
- calls++
55
- body, _ := io.ReadAll(r.Body)
56
- bodies = append(bodies, body)
57
- headers = append(headers, r.Header.Get("x-elevated-token"))
58
- if calls == 1 {
59
- fmt.Fprintf(w, `{"errors":[{"message":"elevation required","extensions":{"code":"elevated-permission-required","rechallenge":{"version":"v2","createSessionPath":"%s/sessions","statusPathTemplate":"%s/sessions/{challengeId}","exchangePathTemplate":"%s/sessions/{challengeId}/exchange","elevatedHeaderName":"x-elevated-token"}}}]}`, srv.URL, srv.URL, srv.URL)
60
- return
61
- }
62
- fmt.Fprint(w, `{"data":{"createEdgeWorker":`+workerJSON+`}}`)
63
- default:
64
- t.Errorf("unexpected path %s", r.URL.Path)
65
- http.Error(w, "unexpected", 400)
66
- }
67
- }))
68
- defer srv.Close()
69
- cache := &rechallenge.TokenCache{Keychain: &keychain.Keychain{Backend: &edgeMemoryKeychain{}, Service: "test-only"}}
70
- runner := &rechallenge.Runner{Client: &rechallenge.Client{APIHost: srv.URL, HTTP: srv.Client()}, TokenCache: cache, Stdout: io.Discard, OpenURL: func(string) { opened++ }, Sleep: func(context.Context, time.Duration) error { return nil }}
71
- client := gql.HTTPClientWithMiddleware(srv.URL, "fixture-token", []gql.Middleware{gql.NewErrorMiddleware(gql.ErrorConfig{ExitOnError: true, Exit: func(int) { t.Error("global exit on handled error") }, Stderr: io.Discard}), gql.NewRechallengeMiddleware(gql.RechallengeConfig{TokenCache: cache, Runner: runner, Interactive: func() bool { return true }, Stderr: io.Discard}), gql.NewRetryMiddleware(gql.RetryConfig{MaxAttempts: 3, NoDelay: true})})
72
- api := APIClient{Client: graphql.NewClient(srv.URL+"/graphql", client)}
73
- for i := 0; i < 2; i++ {
74
- if _, err := api.Create(context.Background(), 7, WriteInput{Name: "headers", WASMBinary: "AGFzbQ=="}); err != nil {
75
- t.Fatal(err)
76
- }
77
- }
78
- if calls != 3 || sessionCalls != 1 || opened != 1 || !bytes.Equal(bodies[0], bodies[1]) || !reflect.DeepEqual(headers, []string{"", "fixture-elevated", "fixture-elevated"}) {
79
- t.Fatalf("calls=%d sessions=%d opened=%d headers=%v", calls, sessionCalls, opened, headers)
80
- }
81
- if token, _ := cache.Get("updateEdgeWorker"); token != nil {
82
- t.Fatal("elevated token leaked to another operation")
83
- }
84
- }
85
-
86
- const workerJSON = `{"id":9,"name":"headers","location":null,"phases":["client_response"],"onFailure":"continue","active":false,"createdAt":"2026-08-28T00:00:00.000Z","updatedAt":"2026-08-28T00:00:00.000Z","source":""}`
87
-
88
- type apiRequest struct {
89
- Operation string `json:"operationName"`
90
- Query string `json:"query"`
91
- Variables map[string]any `json:"variables"`
92
- }
93
-
94
- func testAPI(t *testing.T, body string) (APIClient, *[]apiRequest) {
95
- t.Helper()
96
- requests := []apiRequest{}
97
- srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
98
- var req apiRequest
99
- if err := json.UnmarshalRead(r.Body, &req); err != nil {
100
- t.Error(err)
101
- }
102
- requests = append(requests, req)
103
- w.Header().Set("Content-Type", "application/json")
104
- fmt.Fprint(w, body)
105
- }))
106
- t.Cleanup(srv.Close)
107
- return APIClient{Client: graphql.NewClient(srv.URL, srv.Client())}, &requests
108
- }
109
-
110
- func TestAPIReadsPreserveFieldsAndLimitSource(t *testing.T) {
111
- for _, mode := range []string{"list", "get", "source"} {
112
- t.Run(mode, func(t *testing.T) {
113
- api, requests := testAPI(t, `{"data":{"app":{"environments":[{"id":7,"edgeWorkers":[`+workerJSON+`]}]}}}`)
114
- var worker Worker
115
- if mode == "list" {
116
- workers, err := api.List(context.Background(), 42, 7)
117
- if err != nil {
118
- t.Fatal(err)
119
- }
120
- worker = workers[0]
121
- } else {
122
- w, err := api.Get(context.Background(), 42, 7, "headers", mode == "source")
123
- if err != nil || w == nil {
124
- t.Fatalf("%v %v", w, err)
125
- }
126
- worker = *w
127
- }
128
- if worker.ID != 9 || worker.Active || worker.CreatedAt != "2026-08-28T00:00:00.000Z" || !reflect.DeepEqual(worker.Phases, []string{"client_response"}) {
129
- t.Fatalf("worker: %#v", worker)
130
- }
131
- if mode == "source" && (worker.Source == nil || *worker.Source != "") {
132
- t.Fatalf("empty source lost: %#v", worker)
133
- }
134
- if len(*requests) != 1 {
135
- t.Fatalf("requests: %v", *requests)
136
- }
137
- req := (*requests)[0]
138
- if !strings.Contains(req.Query, "environments(id: $envId)") || req.Variables["appId"] != float64(42) || req.Variables["envId"] != float64(7) {
139
- t.Fatalf("request: %#v", req)
140
- }
141
- if strings.Contains(req.Query, "wasmBinary") || strings.Contains(req.Query, "source") != (mode == "source") {
142
- t.Fatalf("excessive fields: %s", req.Query)
143
- }
144
- })
145
- }
146
- }
147
-
148
- func TestAPIReadEnvelopes(t *testing.T) {
149
- for _, body := range []string{`{"data":null}`, `{"data":{"app":null}}`, `{"data":{"app":{"environments":[]}}}`, `{"data":{"app":{"environments":[null]}}}`, `{"data":{"app":{"environments":[{"edgeWorkers":null}]}}}`, `{"data":{"app":{"environments":[{"edgeWorkers":{}}]}}}`, `not json`} {
150
- for _, mode := range []string{"list", "get", "source"} {
151
- api, _ := testAPI(t, body)
152
- var err error
153
- if mode == "list" {
154
- _, err = api.List(context.Background(), 42, 7)
155
- } else {
156
- _, err = api.Get(context.Background(), 42, 7, "headers", mode == "source")
157
- }
158
- if err == nil {
159
- t.Fatalf("%s accepted %s", mode, body)
160
- }
161
- }
162
- }
163
- api, _ := testAPI(t, `{"data":{"app":{"environments":[{"edgeWorkers":[]}]}}}`)
164
- workers, err := api.List(context.Background(), 42, 7)
165
- if err != nil || workers == nil || len(workers) != 0 {
166
- t.Fatalf("empty list: %v %v", workers, err)
167
- }
168
- worker, err := api.Get(context.Background(), 42, 7, "missing", false)
169
- if err != nil || worker != nil {
170
- t.Fatalf("missing: %v %v", worker, err)
171
- }
172
- }
173
-
174
- func TestAPIMutationPayloads(t *testing.T) {
175
- empty := ""
176
- input := WriteInput{Name: "headers", WASMBinary: "AGFzbQ==", Source: &empty, Location: LocationValue{Present: true}}
177
- for _, tc := range []struct {
178
- field, operation string
179
- call func(APIClient) error
180
- want map[string]any
181
- }{
182
- {"createEdgeWorker", "CreateEdgeWorker", func(a APIClient) error { _, err := a.Create(context.Background(), 7, input); return err }, map[string]any{"environmentId": float64(7), "name": "headers", "wasmBinary": "AGFzbQ==", "source": ""}},
183
- {"updateEdgeWorker", "UpdateEdgeWorker", func(a APIClient) error { _, err := a.Update(context.Background(), 7, 9, input); return err }, map[string]any{"environmentId": float64(7), "edgeWorkerId": float64(9), "name": "headers", "wasmBinary": "AGFzbQ==", "source": "", "location": nil}},
184
- {"setEdgeWorkerActive", "SetEdgeWorkerActive", func(a APIClient) error { _, err := a.SetActive(context.Background(), 7, 9, false); return err }, map[string]any{"environmentId": float64(7), "edgeWorkerId": float64(9), "active": false}},
185
- {"deleteEdgeWorker", "DeleteEdgeWorker", func(a APIClient) error { return a.Delete(context.Background(), 7, 9) }, map[string]any{"environmentId": float64(7), "edgeWorkerId": float64(9)}},
186
- {"validateEdgeWorker", "ValidateEdgeWorker", func(a APIClient) error {
187
- result, err := a.Validate(context.Background(), 7, "AGFzbQ==")
188
- if err == nil && (result.Valid || !reflect.DeepEqual(result.Errors, []string{"invalid"})) {
189
- t.Errorf("result: %#v", result)
190
- }
191
- return err
192
- }, map[string]any{"environmentId": float64(7), "wasmBinary": "AGFzbQ=="}},
193
- } {
194
- t.Run(tc.operation, func(t *testing.T) {
195
- result := workerJSON
196
- if tc.field == "deleteEdgeWorker" {
197
- result = "true"
198
- }
199
- if tc.field == "validateEdgeWorker" {
200
- result = `{"valid":false,"phases":[],"errors":["invalid"]}`
201
- }
202
- api, requests := testAPI(t, `{"data":{"`+tc.field+`":`+result+`}}`)
203
- if err := tc.call(api); err != nil {
204
- t.Fatal(err)
205
- }
206
- if len(*requests) != 1 || (*requests)[0].Operation != tc.operation || !reflect.DeepEqual((*requests)[0].Variables["input"], tc.want) {
207
- t.Fatalf("requests: %#v", *requests)
208
- }
209
- for _, bad := range []string{`{"data":null}`, `{"data":{"` + tc.field + `":null}}`, `{"errors":[{"message":"denied"}]}`} {
210
- a, _ := testAPI(t, bad)
211
- if err := tc.call(a); err == nil {
212
- t.Errorf("accepted %s", bad)
213
- }
214
- }
215
- })
216
- }
217
- a, _ := testAPI(t, `{"data":{"deleteEdgeWorker":false}}`)
218
- if err := a.Delete(context.Background(), 7, 9); err == nil || err.Error() != "deleteEdgeWorker did not confirm deletion." {
219
- t.Fatalf("delete: %v", err)
220
- }
221
- }
222
-
223
- func TestAPIErrorMiddlewareAndNoMutationRetry(t *testing.T) {
224
- // Exercise the real middleware without routing our local fixture through a user's proxy.
225
- for _, key := range []string{"VIP_PROXY", "vip_proxy", "SOCKS_PROXY", "socks_proxy", "HTTPS_PROXY", "https_proxy", "HTTP_PROXY", "http_proxy", "ALL_PROXY", "all_proxy", "NO_PROXY", "no_proxy", "VIP_USE_SYSTEM_PROXY"} {
226
- t.Setenv(key, "")
227
- }
228
- for _, status := range []int{200, 401, 503} {
229
- t.Run(fmt.Sprint(status), func(t *testing.T) {
230
- calls, exits := 0, 0
231
- srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
232
- calls++
233
- w.WriteHeader(status)
234
- fmt.Fprint(w, `{"errors":[{"message":"denied"}]}`)
235
- }))
236
- defer srv.Close()
237
- var stderr bytes.Buffer
238
- client := gql.HTTPClientWithMiddleware(srv.URL, "test-token", []gql.Middleware{
239
- gql.NewErrorMiddleware(gql.ErrorConfig{Stderr: &stderr, Exit: func(int) { exits++ }, ExitOnError: true}),
240
- gql.NewRetryMiddleware(gql.RetryConfig{MaxAttempts: 3, NoDelay: true}),
241
- })
242
- api := APIClient{Client: graphql.NewClient(srv.URL+"/graphql", client)}
243
- _, err := api.Create(context.Background(), 7, WriteInput{Name: "headers", WASMBinary: "AGFzbQ=="})
244
- if err == nil || calls != 1 {
245
- t.Fatalf("calls=%d err=%v", calls, err)
246
- }
247
- wantExits := 0
248
- if status == 401 {
249
- wantExits = 1
250
- }
251
- if exits != wantExits || (status != 401 && stderr.Len() != 0) {
252
- t.Fatalf("exits=%d stderr=%q", exits, stderr.String())
253
- }
254
- })
255
- }
256
- }
@@ -1,188 +0,0 @@
1
- package edgeworkers
2
-
3
- import (
4
- "bytes"
5
- "context"
6
- "encoding/base64"
7
- "errors"
8
- "fmt"
9
- "os"
10
- "os/exec"
11
- "path/filepath"
12
- "runtime"
13
- "strings"
14
-
15
- "golang.org/x/text/encoding/unicode"
16
- )
17
-
18
- type Artifact struct {
19
- Path, Base64 string
20
- SizeBytes int64
21
- }
22
- type CompilerRequest struct {
23
- Binary string
24
- Args []string
25
- Dir string
26
- Env []string
27
- }
28
- type CompilerResult struct {
29
- Stdout, Stderr string
30
- ExitCode int
31
- }
32
- type CompilerRunner func(context.Context, CompilerRequest) (CompilerResult, error)
33
- type Compiler struct{ Run CompilerRunner }
34
-
35
- func RunCompiler(ctx context.Context, req CompilerRequest) (CompilerResult, error) {
36
- // On Windows, execute asc's JS entry through Node rather than cmd.exe: paths
37
- // and arguments remain literal even when they contain shell metacharacters.
38
- binary, args := req.Binary, req.Args
39
- if runtime.GOOS == "windows" {
40
- binary = "node"
41
- args = append([]string{filepath.Join(req.Dir, "node_modules", "assemblyscript", "bin", "asc.js")}, args...)
42
- }
43
- cmd := exec.CommandContext(ctx, binary, args...)
44
- cmd.Dir = req.Dir
45
- cmd.Env = req.Env
46
- var stdout, stderr bytes.Buffer
47
- cmd.Stdout = &stdout
48
- cmd.Stderr = &stderr
49
- err := cmd.Run()
50
- result := CompilerResult{Stdout: stdout.String(), Stderr: stderr.String()}
51
- var exitErr *exec.ExitError
52
- if errors.As(err, &exitErr) {
53
- result.ExitCode = exitErr.ExitCode()
54
- return result, nil
55
- }
56
- return result, err
57
- }
58
-
59
- func encodeArtifact(file string) (Artifact, error) {
60
- data, err := os.ReadFile(file)
61
- if err != nil {
62
- return Artifact{}, err
63
- }
64
- return Artifact{Path: file, Base64: base64.StdEncoding.EncodeToString(data), SizeBytes: int64(len(data))}, nil
65
- }
66
-
67
- func (c Compiler) Build(ctx context.Context, projectDir string, w LocalWorker) (Artifact, error) {
68
- if _, err := ReadProjectDescriptor(projectDir); err != nil {
69
- return Artifact{}, err
70
- }
71
- binName := "asc"
72
- if runtime.GOOS == "windows" {
73
- binName = "asc.cmd"
74
- }
75
- asc := filepath.Join(projectDir, "node_modules", ".bin", binName)
76
- if !pathExists(asc) {
77
- return Artifact{}, fmt.Errorf("The AssemblyScript compiler was not found at \"%s\". Run `npm install` in \"%s\" first.", asc, projectDir)
78
- }
79
- candidate, err := ResolvePathWithin(w.Dir, w.Manifest.Entry, "Worker entry")
80
- if err != nil {
81
- return Artifact{}, err
82
- }
83
- if !pathExists(candidate) {
84
- return Artifact{}, fmt.Errorf("Worker entry file not found: \"%s\".", candidate)
85
- }
86
- entry, err := ResolveExistingPathWithin(w.Dir, w.Manifest.Entry, "Worker entry")
87
- if err != nil {
88
- return Artifact{}, err
89
- }
90
- if err := ValidateWorkerName(w.Manifest.Name, "worker name"); err != nil {
91
- return Artifact{}, err
92
- }
93
- out, err := ResolveOutputPathWithin(projectDir, filepath.Join(BuildDir, w.Manifest.Name+".wasm"), "Worker build artifact", "Worker build directory")
94
- if err != nil {
95
- return Artifact{}, err
96
- }
97
- modules := filepath.Join(projectDir, "node_modules")
98
- args := []string{entry, "--runtime", "stub", "--path", modules, "--outFile", out, "--optimizeLevel", "3", "--shrinkLevel", "2"}
99
- if pathExists(filepath.Join(modules, "json-as")) {
100
- args = append(args, "--transform", "json-as/transform")
101
- }
102
- env := []string{}
103
- for _, item := range os.Environ() {
104
- key, _, _ := strings.Cut(item, "=")
105
- if key != "NODE_OPTIONS" {
106
- env = append(env, item)
107
- }
108
- }
109
- run := c.Run
110
- if run == nil {
111
- run = RunCompiler
112
- }
113
- result, err := run(ctx, CompilerRequest{Binary: asc, Args: args, Dir: projectDir, Env: env})
114
- if err != nil {
115
- return Artifact{}, fmt.Errorf("Failed to run the AssemblyScript compiler: %s", err)
116
- }
117
- if result.ExitCode != 0 {
118
- details := result.Stderr
119
- if details == "" {
120
- details = result.Stdout
121
- }
122
- details = strings.TrimSpace(details)
123
- suffix := "."
124
- if details != "" {
125
- suffix = ":\n" + details
126
- }
127
- return Artifact{}, fmt.Errorf("Compilation failed for worker \"%s\"%s", w.Manifest.Name, suffix)
128
- }
129
- out, err = ResolveOutputPathWithin(projectDir, filepath.Join(BuildDir, w.Manifest.Name+".wasm"), "Worker build artifact", "Worker build directory")
130
- if err != nil {
131
- return Artifact{}, err
132
- }
133
- return encodeArtifact(out)
134
- }
135
-
136
- func ReadPrebuilt(projectDir string, w LocalWorker) (Artifact, error) {
137
- if err := ValidateWorkerName(w.Manifest.Name, "worker name"); err != nil {
138
- return Artifact{}, err
139
- }
140
- root, err := ResolvePathWithin(projectDir, BuildDir, "Worker build directory")
141
- if err != nil {
142
- return Artifact{}, err
143
- }
144
- candidate := filepath.Join(root, w.Manifest.Name+".wasm")
145
- if !pathExists(candidate) {
146
- return Artifact{}, fmt.Errorf("No compiled artifact found for \"%s\" at \"%s\". Run `vip edge-workers build` first, or deploy without `--skip-build`.", w.Manifest.Name, candidate)
147
- }
148
- for _, item := range []struct{ path, label string }{{root, "Worker build directory"}, {candidate, "Worker build artifact"}} {
149
- stat, err := os.Lstat(item.path)
150
- if err != nil {
151
- return Artifact{}, err
152
- }
153
- if stat.Mode()&os.ModeSymlink != 0 {
154
- return Artifact{}, fmt.Errorf("%s must not be a symbolic link.", item.label)
155
- }
156
- }
157
- root, err = ResolveExistingPathWithin(projectDir, BuildDir, "Worker build directory")
158
- if err != nil {
159
- return Artifact{}, err
160
- }
161
- file, err := ResolveExistingPathWithin(root, w.Manifest.Name+".wasm", "Worker build artifact")
162
- if err != nil {
163
- return Artifact{}, err
164
- }
165
- return encodeArtifact(file)
166
- }
167
-
168
- func ReadWorkerSource(w LocalWorker) (string, error) {
169
- candidate, err := ResolvePathWithin(w.Dir, w.Manifest.Entry, "Worker entry")
170
- if err != nil {
171
- return "", err
172
- }
173
- if !pathExists(candidate) {
174
- return "", fmt.Errorf("Could not read worker source at \"%s\".", candidate)
175
- }
176
- entry, err := ResolveExistingPathWithin(w.Dir, w.Manifest.Entry, "Worker entry")
177
- if err != nil {
178
- return "", err
179
- }
180
- data, err := os.ReadFile(entry)
181
- if err != nil {
182
- return "", fmt.Errorf("Could not read worker source at \"%s\".", entry)
183
- }
184
- // Match Buffer.toString('utf8'): replace each malformed sequence, not
185
- // an entire run of malformed bytes (bytes.ToValidUTF8 collapses runs).
186
- decoded, err := unicode.UTF8.NewDecoder().Bytes(data)
187
- return string(decoded), err
188
- }
@@ -1,175 +0,0 @@
1
- package edgeworkers
2
-
3
- import (
4
- "context"
5
- "errors"
6
- "os"
7
- "path/filepath"
8
- "reflect"
9
- "strings"
10
- "testing"
11
- )
12
-
13
- func TestScaffoldDoesNotOverwriteOrInstall(t *testing.T) {
14
- dir := filepath.Join(t.TempDir(), "edge workers")
15
- if err := ScaffoldProject(dir, "assemblyscript"); err != nil {
16
- t.Fatal(err)
17
- }
18
- before, _ := os.ReadFile(filepath.Join(dir, "package.json"))
19
- if !strings.Contains(string(before), `"0.5.0"`) || !strings.Contains(string(before), `"0.27.0"`) {
20
- t.Fatalf("dependencies: %s", before)
21
- }
22
- if err := ScaffoldProject(dir, "assemblyscript"); err == nil {
23
- t.Fatal("overwrote project")
24
- }
25
- after, _ := os.ReadFile(filepath.Join(dir, "package.json"))
26
- if string(before) != string(after) {
27
- t.Fatal("changed existing files")
28
- }
29
- if _, err := os.Stat(filepath.Join(dir, "node_modules")); !os.IsNotExist(err) {
30
- t.Fatalf("installed: %v", err)
31
- }
32
- loc := &Location{Operator: "starts_with", Value: "/api/"}
33
- if err := ScaffoldWorker(dir, "headers", loc); err != nil {
34
- t.Fatal(err)
35
- }
36
- w, err := FindWorker(dir, "headers")
37
- if err != nil {
38
- t.Fatal(err)
39
- }
40
- if !reflect.DeepEqual(w.Manifest.Location, LocationValue{Present: true, Value: loc}) {
41
- t.Fatalf("manifest: %#v", w.Manifest)
42
- }
43
- source, err := ReadWorkerSource(w)
44
- if err != nil || !strings.Contains(source, "export { alloc, on_client_response }") {
45
- t.Fatalf("source %q %v", source, err)
46
- }
47
- if err := ScaffoldWorker(dir, "headers", nil); err == nil {
48
- t.Fatal("overwrote worker")
49
- }
50
- if err := ScaffoldWorker(dir, "../escape", nil); err == nil {
51
- t.Fatal("accepted traversal")
52
- }
53
- if err := ScaffoldWorker(dir, "bad", &Location{Operator: "bad", Value: "/"}); err == nil {
54
- t.Fatal("accepted location")
55
- }
56
- if pathExists(filepath.Join(dir, WorkersDir, "bad")) {
57
- t.Fatal("partial scaffold")
58
- }
59
- target := filepath.Join(t.TempDir(), "linked")
60
- if err := os.Symlink(t.TempDir(), target); err != nil {
61
- t.Fatal(err)
62
- }
63
- if err := ScaffoldProject(target, "assemblyscript"); err == nil {
64
- t.Fatal("followed symlink")
65
- }
66
- }
67
-
68
- func TestCompilerArgumentsAndArtifacts(t *testing.T) {
69
- dir := filepath.Join(t.TempDir(), "project with spaces & punctuation")
70
- if err := ScaffoldProject(dir, "assemblyscript"); err != nil {
71
- t.Fatal(err)
72
- }
73
- if err := ScaffoldWorker(dir, "headers", nil); err != nil {
74
- t.Fatal(err)
75
- }
76
- w, _ := FindWorker(dir, "headers")
77
- if _, err := (Compiler{}).Build(context.Background(), dir, w); err == nil || !strings.Contains(err.Error(), "npm install") {
78
- t.Fatalf("missing asc: %v", err)
79
- }
80
- writeTestFile(t, dir, "node_modules/.bin/asc", "")
81
- writeTestFile(t, dir, "node_modules/json-as/package.json", "{}")
82
- t.Setenv("NODE_OPTIONS", "--inspect")
83
- t.Setenv("EDGE_BUILD_TEST", "retained")
84
- var seen CompilerRequest
85
- compiler := Compiler{Run: func(_ context.Context, req CompilerRequest) (CompilerResult, error) {
86
- seen = req
87
- return CompilerResult{}, os.WriteFile(req.Args[6], []byte{0, 97, 115, 109}, 0600)
88
- }}
89
- art, err := compiler.Build(context.Background(), dir, w)
90
- if err != nil {
91
- t.Fatal(err)
92
- }
93
- entry, _ := filepath.EvalSymlinks(filepath.Join(w.Dir, w.Manifest.Entry))
94
- want := []string{entry, "--runtime", "stub", "--path", filepath.Join(dir, "node_modules"), "--outFile", art.Path, "--optimizeLevel", "3", "--shrinkLevel", "2", "--transform", "json-as/transform"}
95
- if !reflect.DeepEqual(seen.Args, want) || seen.Dir != dir || seen.Binary != filepath.Join(dir, "node_modules/.bin/asc") {
96
- t.Fatalf("request: %#v", seen)
97
- }
98
- for _, s := range seen.Env {
99
- if strings.HasPrefix(s, "NODE_OPTIONS=") {
100
- t.Fatal("inherited NODE_OPTIONS")
101
- }
102
- }
103
- if !strings.Contains(strings.Join(seen.Env, "\n"), "EDGE_BUILD_TEST=retained") {
104
- t.Fatal("lost environment")
105
- }
106
- if art.Base64 != "AGFzbQ==" || art.SizeBytes != 4 {
107
- t.Fatalf("artifact: %#v", art)
108
- }
109
- pre, err := ReadPrebuilt(dir, w)
110
- if err != nil || pre != art {
111
- t.Fatalf("prebuilt %#v %v", pre, err)
112
- }
113
- for _, tc := range []struct {
114
- result CompilerResult
115
- err error
116
- want string
117
- }{
118
- {CompilerResult{ExitCode: 1, Stdout: "out", Stderr: " err "}, nil, "Compilation failed for worker \"headers\":\nerr"},
119
- {CompilerResult{ExitCode: 1}, nil, "Compilation failed for worker \"headers\"."},
120
- {CompilerResult{}, errors.New("launch"), "Failed to run the AssemblyScript compiler: launch"},
121
- } {
122
- compiler.Run = func(context.Context, CompilerRequest) (CompilerResult, error) { return tc.result, tc.err }
123
- _, err := compiler.Build(context.Background(), dir, w)
124
- if err == nil || err.Error() != tc.want {
125
- t.Fatalf("error %v want %s", err, tc.want)
126
- }
127
- }
128
- }
129
-
130
- func TestSourceAndPrebuiltSafety(t *testing.T) {
131
- dir := t.TempDir()
132
- w := LocalWorker{Dir: dir, Manifest: Manifest{Name: "test", Entry: "entry.ts"}}
133
- if _, err := ReadPrebuilt(dir, w); err == nil {
134
- t.Fatal("accepted missing artifact")
135
- }
136
- if _, err := ReadWorkerSource(w); err == nil {
137
- t.Fatal("accepted missing source")
138
- }
139
- writeTestFile(t, dir, "entry.ts", "")
140
- src, err := ReadWorkerSource(w)
141
- if err != nil || src != "" {
142
- t.Fatalf("empty source %q %v", src, err)
143
- }
144
- outside := writeTestFile(t, t.TempDir(), "outside.wasm", "sentinel")
145
- if err := os.Mkdir(filepath.Join(dir, BuildDir), 0755); err != nil {
146
- t.Fatal(err)
147
- }
148
- if err := os.Symlink(outside, filepath.Join(dir, BuildDir, "test.wasm")); err != nil {
149
- t.Fatal(err)
150
- }
151
- if _, err := ReadPrebuilt(dir, w); err == nil || !strings.Contains(err.Error(), "symbolic link") {
152
- t.Fatalf("artifact escape %v", err)
153
- }
154
- }
155
-
156
- func TestSourceUTF8ReplacementMatchesNode(t *testing.T) {
157
- dir := t.TempDir()
158
- w := LocalWorker{Dir: dir, Manifest: Manifest{Entry: "source.ts"}}
159
- for _, tc := range []struct {
160
- data []byte
161
- want string
162
- }{
163
- {[]byte{0xff, 0xff}, "\ufffd\ufffd"},
164
- {[]byte{0xe1, 0x80}, "\ufffd"},
165
- {[]byte{0xe1, 0x80, 0xff}, "\ufffd\ufffd"},
166
- } {
167
- if err := os.WriteFile(filepath.Join(dir, "source.ts"), tc.data, 0600); err != nil {
168
- t.Fatal(err)
169
- }
170
- got, err := ReadWorkerSource(w)
171
- if err != nil || got != tc.want {
172
- t.Fatalf("source %x => %q want %q (%v)", tc.data, got, tc.want, err)
173
- }
174
- }
175
- }
@@ -1,72 +0,0 @@
1
- package edgeworkers
2
-
3
- import (
4
- "errors"
5
- "fmt"
6
- "strings"
7
- )
8
-
9
- type ProductionConfirmation struct {
10
- Action, AppName, EnvType string
11
- WorkerNames []string
12
- EnableAfterDeploy, SkipConfirmation, NonInteractive bool
13
- }
14
-
15
- func ConfirmProduction(req ProductionConfirmation, confirm func(string) (bool, error)) error {
16
- if req.EnvType != "production" || req.SkipConfirmation {
17
- return nil
18
- }
19
- action := req.Action
20
- if action == "deploy" && req.EnableAfterDeploy {
21
- action = "deploy and enable"
22
- }
23
- if req.NonInteractive {
24
- return fmt.Errorf("Refusing to %s edge workers in production without confirmation. Pass --skip-confirmation to proceed non-interactively.", action)
25
- }
26
- target := EscapeTerminalText(req.AppName) + "." + EscapeTerminalText(req.EnvType)
27
- var message string
28
- if req.Action == "enable" {
29
- if len(req.WorkerNames) == 0 {
30
- return errors.New("No worker selected.")
31
- }
32
- message = fmt.Sprintf("Enable edge worker \"%s\" on %s?", EscapeTerminalText(req.WorkerNames[0]), target)
33
- } else {
34
- verb, preposition, label := "Deploy", "to", "edge workers"
35
- if req.EnableAfterDeploy {
36
- verb = "Deploy and enable"
37
- preposition = "on"
38
- }
39
- if len(req.WorkerNames) == 1 {
40
- label = "edge worker"
41
- }
42
- message = fmt.Sprintf("%s %d %s (%s) %s %s?", verb, len(req.WorkerNames), label, escapedJoin(req.WorkerNames, ", ", ""), preposition, target)
43
- }
44
- return confirmOrCancel(message, confirm)
45
- }
46
- func confirmOrCancel(message string, confirm func(string) (bool, error)) error {
47
- ok, err := confirm(message)
48
- if err != nil {
49
- return err
50
- }
51
- if !ok {
52
- return errors.New("Command cancelled by user.")
53
- }
54
- return nil
55
- }
56
- func ConfirmDeletion(app, env, name string, force bool, confirm func(string) (bool, error)) error {
57
- if force {
58
- return nil
59
- }
60
- return confirmOrCancel(fmt.Sprintf("Permanently delete edge worker \"%s\" from %s.%s?", EscapeTerminalText(name), EscapeTerminalText(app), EscapeTerminalText(env)), confirm)
61
- }
62
- func escapedJoin(values []string, separator, fallback string) string {
63
- parts := make([]string, len(values))
64
- for i, s := range values {
65
- parts[i] = EscapeTerminalText(s)
66
- }
67
- joined := strings.Join(parts, separator)
68
- if joined == "" {
69
- return fallback
70
- }
71
- return joined
72
- }