@salesforce/b2c-tooling-sdk 1.9.0 → 1.11.0

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 (649) hide show
  1. package/data/content-schemas/componenttype.json +37 -0
  2. package/dist/esm/config/dw-json.d.ts +9 -2
  3. package/dist/esm/config/dw-json.js.map +1 -1
  4. package/dist/esm/config/index.d.ts +2 -2
  5. package/dist/esm/config/index.js +1 -1
  6. package/dist/esm/config/index.js.map +1 -1
  7. package/dist/esm/config/mapping.d.ts +7 -1
  8. package/dist/esm/config/mapping.js +10 -0
  9. package/dist/esm/config/mapping.js.map +1 -1
  10. package/dist/esm/config/sources/package-json-source.js +1 -0
  11. package/dist/esm/config/sources/package-json-source.js.map +1 -1
  12. package/dist/esm/config/types.d.ts +23 -2
  13. package/dist/esm/operations/content/validate.js +46 -4
  14. package/dist/esm/operations/content/validate.js.map +1 -1
  15. package/dist/esm/operations/jobs/site-archive.d.ts +12 -0
  16. package/dist/esm/operations/jobs/site-archive.js +107 -3
  17. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  18. package/package.json +73 -285
  19. package/dist/cjs/auth/api-key.d.ts +0 -28
  20. package/dist/cjs/auth/api-key.js +0 -45
  21. package/dist/cjs/auth/api-key.js.map +0 -1
  22. package/dist/cjs/auth/basic.d.ts +0 -7
  23. package/dist/cjs/auth/basic.js +0 -20
  24. package/dist/cjs/auth/basic.js.map +0 -1
  25. package/dist/cjs/auth/index.d.ts +0 -74
  26. package/dist/cjs/auth/index.js +0 -76
  27. package/dist/cjs/auth/index.js.map +0 -1
  28. package/dist/cjs/auth/jwt-utils.d.ts +0 -25
  29. package/dist/cjs/auth/jwt-utils.js +0 -66
  30. package/dist/cjs/auth/jwt-utils.js.map +0 -1
  31. package/dist/cjs/auth/middleware.d.ts +0 -196
  32. package/dist/cjs/auth/middleware.js +0 -190
  33. package/dist/cjs/auth/middleware.js.map +0 -1
  34. package/dist/cjs/auth/oauth-implicit.d.ts +0 -89
  35. package/dist/cjs/auth/oauth-implicit.js +0 -350
  36. package/dist/cjs/auth/oauth-implicit.js.map +0 -1
  37. package/dist/cjs/auth/oauth-jwt.d.ts +0 -99
  38. package/dist/cjs/auth/oauth-jwt.js +0 -343
  39. package/dist/cjs/auth/oauth-jwt.js.map +0 -1
  40. package/dist/cjs/auth/oauth.d.ts +0 -88
  41. package/dist/cjs/auth/oauth.js +0 -252
  42. package/dist/cjs/auth/oauth.js.map +0 -1
  43. package/dist/cjs/auth/resolve.d.ts +0 -100
  44. package/dist/cjs/auth/resolve.js +0 -175
  45. package/dist/cjs/auth/resolve.js.map +0 -1
  46. package/dist/cjs/auth/stateful-oauth-strategy.d.ts +0 -39
  47. package/dist/cjs/auth/stateful-oauth-strategy.js +0 -130
  48. package/dist/cjs/auth/stateful-oauth-strategy.js.map +0 -1
  49. package/dist/cjs/auth/stateful-store.d.ts +0 -49
  50. package/dist/cjs/auth/stateful-store.js +0 -166
  51. package/dist/cjs/auth/stateful-store.js.map +0 -1
  52. package/dist/cjs/auth/types.d.ts +0 -124
  53. package/dist/cjs/auth/types.js +0 -8
  54. package/dist/cjs/auth/types.js.map +0 -1
  55. package/dist/cjs/cli/am-command.d.ts +0 -74
  56. package/dist/cjs/cli/am-command.js +0 -199
  57. package/dist/cjs/cli/am-command.js.map +0 -1
  58. package/dist/cjs/cli/base-command.d.ts +0 -232
  59. package/dist/cjs/cli/base-command.js +0 -695
  60. package/dist/cjs/cli/base-command.js.map +0 -1
  61. package/dist/cjs/cli/cartridge-command.d.ts +0 -67
  62. package/dist/cjs/cli/cartridge-command.js +0 -146
  63. package/dist/cjs/cli/cartridge-command.js.map +0 -1
  64. package/dist/cjs/cli/cartridge-providers.d.ts +0 -149
  65. package/dist/cjs/cli/cartridge-providers.js +0 -103
  66. package/dist/cjs/cli/cartridge-providers.js.map +0 -1
  67. package/dist/cjs/cli/columns.d.ts +0 -128
  68. package/dist/cjs/cli/columns.js +0 -128
  69. package/dist/cjs/cli/columns.js.map +0 -1
  70. package/dist/cjs/cli/config.d.ts +0 -159
  71. package/dist/cjs/cli/config.js +0 -185
  72. package/dist/cjs/cli/config.js.map +0 -1
  73. package/dist/cjs/cli/details.d.ts +0 -69
  74. package/dist/cjs/cli/details.js +0 -72
  75. package/dist/cjs/cli/details.js.map +0 -1
  76. package/dist/cjs/cli/hooks.d.ts +0 -324
  77. package/dist/cjs/cli/hooks.js +0 -3
  78. package/dist/cjs/cli/hooks.js.map +0 -1
  79. package/dist/cjs/cli/index.d.ts +0 -108
  80. package/dist/cjs/cli/index.js +0 -111
  81. package/dist/cjs/cli/index.js.map +0 -1
  82. package/dist/cjs/cli/instance-command.d.ts +0 -131
  83. package/dist/cjs/cli/instance-command.js +0 -214
  84. package/dist/cjs/cli/instance-command.js.map +0 -1
  85. package/dist/cjs/cli/job-command.d.ts +0 -32
  86. package/dist/cjs/cli/job-command.js +0 -60
  87. package/dist/cjs/cli/job-command.js.map +0 -1
  88. package/dist/cjs/cli/lifecycle.d.ts +0 -189
  89. package/dist/cjs/cli/lifecycle.js +0 -130
  90. package/dist/cjs/cli/lifecycle.js.map +0 -1
  91. package/dist/cjs/cli/mrt-command.d.ts +0 -57
  92. package/dist/cjs/cli/mrt-command.js +0 -95
  93. package/dist/cjs/cli/mrt-command.js.map +0 -1
  94. package/dist/cjs/cli/oauth-command.d.ts +0 -122
  95. package/dist/cjs/cli/oauth-command.js +0 -311
  96. package/dist/cjs/cli/oauth-command.js.map +0 -1
  97. package/dist/cjs/cli/ods-command.d.ts +0 -97
  98. package/dist/cjs/cli/ods-command.js +0 -136
  99. package/dist/cjs/cli/ods-command.js.map +0 -1
  100. package/dist/cjs/cli/table.d.ts +0 -113
  101. package/dist/cjs/cli/table.js +0 -175
  102. package/dist/cjs/cli/table.js.map +0 -1
  103. package/dist/cjs/cli/webdav-command.d.ts +0 -110
  104. package/dist/cjs/cli/webdav-command.js +0 -106
  105. package/dist/cjs/cli/webdav-command.js.map +0 -1
  106. package/dist/cjs/clients/am-api.d.ts +0 -521
  107. package/dist/cjs/clients/am-api.js +0 -992
  108. package/dist/cjs/clients/am-api.js.map +0 -1
  109. package/dist/cjs/clients/am-apiclients-api.generated.d.ts +0 -803
  110. package/dist/cjs/clients/am-apiclients-api.generated.js +0 -6
  111. package/dist/cjs/clients/am-apiclients-api.generated.js.map +0 -1
  112. package/dist/cjs/clients/am-roles-api.generated.d.ts +0 -298
  113. package/dist/cjs/clients/am-roles-api.generated.js +0 -6
  114. package/dist/cjs/clients/am-roles-api.generated.js.map +0 -1
  115. package/dist/cjs/clients/am-users-api.generated.d.ts +0 -954
  116. package/dist/cjs/clients/am-users-api.generated.js +0 -6
  117. package/dist/cjs/clients/am-users-api.generated.js.map +0 -1
  118. package/dist/cjs/clients/cdn-zones.d.ts +0 -186
  119. package/dist/cjs/clients/cdn-zones.generated.d.ts +0 -8330
  120. package/dist/cjs/clients/cdn-zones.generated.js +0 -6
  121. package/dist/cjs/clients/cdn-zones.generated.js.map +0 -1
  122. package/dist/cjs/clients/cdn-zones.js +0 -103
  123. package/dist/cjs/clients/cdn-zones.js.map +0 -1
  124. package/dist/cjs/clients/cip.d.ts +0 -162
  125. package/dist/cjs/clients/cip.js +0 -572
  126. package/dist/cjs/clients/cip.js.map +0 -1
  127. package/dist/cjs/clients/custom-apis.d.ts +0 -174
  128. package/dist/cjs/clients/custom-apis.generated.d.ts +0 -202
  129. package/dist/cjs/clients/custom-apis.generated.js +0 -6
  130. package/dist/cjs/clients/custom-apis.generated.js.map +0 -1
  131. package/dist/cjs/clients/custom-apis.js +0 -140
  132. package/dist/cjs/clients/custom-apis.js.map +0 -1
  133. package/dist/cjs/clients/error-utils.d.ts +0 -35
  134. package/dist/cjs/clients/error-utils.js +0 -69
  135. package/dist/cjs/clients/error-utils.js.map +0 -1
  136. package/dist/cjs/clients/granular-replications.d.ts +0 -70
  137. package/dist/cjs/clients/granular-replications.generated.d.ts +0 -416
  138. package/dist/cjs/clients/granular-replications.generated.js +0 -6
  139. package/dist/cjs/clients/granular-replications.generated.js.map +0 -1
  140. package/dist/cjs/clients/granular-replications.js +0 -73
  141. package/dist/cjs/clients/granular-replications.js.map +0 -1
  142. package/dist/cjs/clients/index.d.ts +0 -145
  143. package/dist/cjs/clients/index.js +0 -137
  144. package/dist/cjs/clients/index.js.map +0 -1
  145. package/dist/cjs/clients/middleware-registry.d.ts +0 -184
  146. package/dist/cjs/clients/middleware-registry.js +0 -104
  147. package/dist/cjs/clients/middleware-registry.js.map +0 -1
  148. package/dist/cjs/clients/middleware.d.ts +0 -183
  149. package/dist/cjs/clients/middleware.js +0 -465
  150. package/dist/cjs/clients/middleware.js.map +0 -1
  151. package/dist/cjs/clients/mrt-b2c.d.ts +0 -138
  152. package/dist/cjs/clients/mrt-b2c.generated.d.ts +0 -176
  153. package/dist/cjs/clients/mrt-b2c.generated.js +0 -6
  154. package/dist/cjs/clients/mrt-b2c.generated.js.map +0 -1
  155. package/dist/cjs/clients/mrt-b2c.js +0 -86
  156. package/dist/cjs/clients/mrt-b2c.js.map +0 -1
  157. package/dist/cjs/clients/mrt.d.ts +0 -143
  158. package/dist/cjs/clients/mrt.generated.d.ts +0 -3806
  159. package/dist/cjs/clients/mrt.generated.js +0 -6
  160. package/dist/cjs/clients/mrt.generated.js.map +0 -1
  161. package/dist/cjs/clients/mrt.js +0 -93
  162. package/dist/cjs/clients/mrt.js.map +0 -1
  163. package/dist/cjs/clients/ocapi.d.ts +0 -128
  164. package/dist/cjs/clients/ocapi.generated.d.ts +0 -26052
  165. package/dist/cjs/clients/ocapi.generated.js +0 -6
  166. package/dist/cjs/clients/ocapi.generated.js.map +0 -1
  167. package/dist/cjs/clients/ocapi.js +0 -78
  168. package/dist/cjs/clients/ocapi.js.map +0 -1
  169. package/dist/cjs/clients/ods.d.ts +0 -160
  170. package/dist/cjs/clients/ods.generated.d.ts +0 -2860
  171. package/dist/cjs/clients/ods.generated.js +0 -6
  172. package/dist/cjs/clients/ods.generated.js.map +0 -1
  173. package/dist/cjs/clients/ods.js +0 -103
  174. package/dist/cjs/clients/ods.js.map +0 -1
  175. package/dist/cjs/clients/scapi-schemas.d.ts +0 -161
  176. package/dist/cjs/clients/scapi-schemas.generated.d.ts +0 -328
  177. package/dist/cjs/clients/scapi-schemas.generated.js +0 -6
  178. package/dist/cjs/clients/scapi-schemas.generated.js.map +0 -1
  179. package/dist/cjs/clients/scapi-schemas.js +0 -98
  180. package/dist/cjs/clients/scapi-schemas.js.map +0 -1
  181. package/dist/cjs/clients/slas-admin.d.ts +0 -132
  182. package/dist/cjs/clients/slas-admin.generated.d.ts +0 -1434
  183. package/dist/cjs/clients/slas-admin.generated.js +0 -6
  184. package/dist/cjs/clients/slas-admin.generated.js.map +0 -1
  185. package/dist/cjs/clients/slas-admin.js +0 -79
  186. package/dist/cjs/clients/slas-admin.js.map +0 -1
  187. package/dist/cjs/clients/tls-dispatcher.d.ts +0 -42
  188. package/dist/cjs/clients/tls-dispatcher.js +0 -107
  189. package/dist/cjs/clients/tls-dispatcher.js.map +0 -1
  190. package/dist/cjs/clients/user-agent.d.ts +0 -43
  191. package/dist/cjs/clients/user-agent.js +0 -87
  192. package/dist/cjs/clients/user-agent.js.map +0 -1
  193. package/dist/cjs/clients/webdav.d.ts +0 -186
  194. package/dist/cjs/clients/webdav.js +0 -395
  195. package/dist/cjs/clients/webdav.js.map +0 -1
  196. package/dist/cjs/config/config-source-registry.d.ts +0 -115
  197. package/dist/cjs/config/config-source-registry.js +0 -103
  198. package/dist/cjs/config/config-source-registry.js.map +0 -1
  199. package/dist/cjs/config/dw-json.d.ts +0 -267
  200. package/dist/cjs/config/dw-json.js +0 -333
  201. package/dist/cjs/config/dw-json.js.map +0 -1
  202. package/dist/cjs/config/index.d.ts +0 -100
  203. package/dist/cjs/config/index.js +0 -110
  204. package/dist/cjs/config/index.js.map +0 -1
  205. package/dist/cjs/config/instance-manager.d.ts +0 -97
  206. package/dist/cjs/config/instance-manager.js +0 -166
  207. package/dist/cjs/config/instance-manager.js.map +0 -1
  208. package/dist/cjs/config/mapping.d.ts +0 -193
  209. package/dist/cjs/config/mapping.js +0 -530
  210. package/dist/cjs/config/mapping.js.map +0 -1
  211. package/dist/cjs/config/resolved-config.d.ts +0 -29
  212. package/dist/cjs/config/resolved-config.js +0 -81
  213. package/dist/cjs/config/resolved-config.js.map +0 -1
  214. package/dist/cjs/config/resolver.d.ts +0 -191
  215. package/dist/cjs/config/resolver.js +0 -406
  216. package/dist/cjs/config/resolver.js.map +0 -1
  217. package/dist/cjs/config/sources/dw-json-source.d.ts +0 -27
  218. package/dist/cjs/config/sources/dw-json-source.js +0 -106
  219. package/dist/cjs/config/sources/dw-json-source.js.map +0 -1
  220. package/dist/cjs/config/sources/env-source.d.ts +0 -32
  221. package/dist/cjs/config/sources/env-source.js +0 -116
  222. package/dist/cjs/config/sources/env-source.js.map +0 -1
  223. package/dist/cjs/config/sources/index.d.ts +0 -9
  224. package/dist/cjs/config/sources/index.js +0 -15
  225. package/dist/cjs/config/sources/index.js.map +0 -1
  226. package/dist/cjs/config/sources/mobify-source.d.ts +0 -25
  227. package/dist/cjs/config/sources/mobify-source.js +0 -84
  228. package/dist/cjs/config/sources/mobify-source.js.map +0 -1
  229. package/dist/cjs/config/sources/package-json-source.d.ts +0 -14
  230. package/dist/cjs/config/sources/package-json-source.js +0 -96
  231. package/dist/cjs/config/sources/package-json-source.js.map +0 -1
  232. package/dist/cjs/config/types.d.ts +0 -407
  233. package/dist/cjs/config/types.js +0 -2
  234. package/dist/cjs/config/types.js.map +0 -1
  235. package/dist/cjs/defaults.d.ts +0 -36
  236. package/dist/cjs/defaults.js +0 -54
  237. package/dist/cjs/defaults.js.map +0 -1
  238. package/dist/cjs/discovery/detector.d.ts +0 -75
  239. package/dist/cjs/discovery/detector.js +0 -108
  240. package/dist/cjs/discovery/detector.js.map +0 -1
  241. package/dist/cjs/discovery/index.d.ts +0 -63
  242. package/dist/cjs/discovery/index.js +0 -70
  243. package/dist/cjs/discovery/index.js.map +0 -1
  244. package/dist/cjs/discovery/patterns/cartridges.d.ts +0 -16
  245. package/dist/cjs/discovery/patterns/cartridges.js +0 -16
  246. package/dist/cjs/discovery/patterns/cartridges.js.map +0 -1
  247. package/dist/cjs/discovery/patterns/index.d.ts +0 -21
  248. package/dist/cjs/discovery/patterns/index.js +0 -16
  249. package/dist/cjs/discovery/patterns/index.js.map +0 -1
  250. package/dist/cjs/discovery/patterns/pwa-kit.d.ts +0 -15
  251. package/dist/cjs/discovery/patterns/pwa-kit.js +0 -26
  252. package/dist/cjs/discovery/patterns/pwa-kit.js.map +0 -1
  253. package/dist/cjs/discovery/patterns/sfra.d.ts +0 -34
  254. package/dist/cjs/discovery/patterns/sfra.js +0 -50
  255. package/dist/cjs/discovery/patterns/sfra.js.map +0 -1
  256. package/dist/cjs/discovery/patterns/storefront-next.d.ts +0 -10
  257. package/dist/cjs/discovery/patterns/storefront-next.js +0 -65
  258. package/dist/cjs/discovery/patterns/storefront-next.js.map +0 -1
  259. package/dist/cjs/discovery/types.d.ts +0 -47
  260. package/dist/cjs/discovery/types.js +0 -12
  261. package/dist/cjs/discovery/types.js.map +0 -1
  262. package/dist/cjs/discovery/utils.d.ts +0 -44
  263. package/dist/cjs/discovery/utils.js +0 -82
  264. package/dist/cjs/discovery/utils.js.map +0 -1
  265. package/dist/cjs/docs/download.d.ts +0 -45
  266. package/dist/cjs/docs/download.js +0 -96
  267. package/dist/cjs/docs/download.js.map +0 -1
  268. package/dist/cjs/docs/index.d.ts +0 -44
  269. package/dist/cjs/docs/index.js +0 -12
  270. package/dist/cjs/docs/index.js.map +0 -1
  271. package/dist/cjs/docs/schema.d.ts +0 -26
  272. package/dist/cjs/docs/schema.js +0 -92
  273. package/dist/cjs/docs/schema.js.map +0 -1
  274. package/dist/cjs/docs/search.d.ts +0 -67
  275. package/dist/cjs/docs/search.js +0 -128
  276. package/dist/cjs/docs/search.js.map +0 -1
  277. package/dist/cjs/docs/types.d.ts +0 -64
  278. package/dist/cjs/docs/types.js +0 -15
  279. package/dist/cjs/docs/types.js.map +0 -1
  280. package/dist/cjs/errors/http-error.d.ts +0 -34
  281. package/dist/cjs/errors/http-error.js +0 -45
  282. package/dist/cjs/errors/http-error.js.map +0 -1
  283. package/dist/cjs/errors/index.d.ts +0 -12
  284. package/dist/cjs/errors/index.js +0 -18
  285. package/dist/cjs/errors/index.js.map +0 -1
  286. package/dist/cjs/i18n/index.d.ts +0 -144
  287. package/dist/cjs/i18n/index.js +0 -245
  288. package/dist/cjs/i18n/index.js.map +0 -1
  289. package/dist/cjs/i18n/locales/de.d.ts +0 -13
  290. package/dist/cjs/i18n/locales/de.js +0 -19
  291. package/dist/cjs/i18n/locales/de.js.map +0 -1
  292. package/dist/cjs/i18n/locales/index.d.ts +0 -28
  293. package/dist/cjs/i18n/locales/index.js +0 -25
  294. package/dist/cjs/i18n/locales/index.js.map +0 -1
  295. package/dist/cjs/index.d.ts +0 -33
  296. package/dist/cjs/index.js +0 -41
  297. package/dist/cjs/index.js.map +0 -1
  298. package/dist/cjs/instance/index.d.ts +0 -136
  299. package/dist/cjs/instance/index.js +0 -131
  300. package/dist/cjs/instance/index.js.map +0 -1
  301. package/dist/cjs/logging/index.d.ts +0 -116
  302. package/dist/cjs/logging/index.js +0 -121
  303. package/dist/cjs/logging/index.js.map +0 -1
  304. package/dist/cjs/logging/logger.d.ts +0 -9
  305. package/dist/cjs/logging/logger.js +0 -138
  306. package/dist/cjs/logging/logger.js.map +0 -1
  307. package/dist/cjs/logging/types.d.ts +0 -45
  308. package/dist/cjs/logging/types.js +0 -10
  309. package/dist/cjs/logging/types.js.map +0 -1
  310. package/dist/cjs/operations/bm-roles/index.d.ts +0 -52
  311. package/dist/cjs/operations/bm-roles/index.js +0 -57
  312. package/dist/cjs/operations/bm-roles/index.js.map +0 -1
  313. package/dist/cjs/operations/bm-roles/roles.d.ts +0 -155
  314. package/dist/cjs/operations/bm-roles/roles.js +0 -194
  315. package/dist/cjs/operations/bm-roles/roles.js.map +0 -1
  316. package/dist/cjs/operations/bm-users/index.d.ts +0 -50
  317. package/dist/cjs/operations/bm-users/index.js +0 -55
  318. package/dist/cjs/operations/bm-users/index.js.map +0 -1
  319. package/dist/cjs/operations/bm-users/users.d.ts +0 -189
  320. package/dist/cjs/operations/bm-users/users.js +0 -229
  321. package/dist/cjs/operations/bm-users/users.js.map +0 -1
  322. package/dist/cjs/operations/cap/index.d.ts +0 -56
  323. package/dist/cjs/operations/cap/index.js +0 -57
  324. package/dist/cjs/operations/cap/index.js.map +0 -1
  325. package/dist/cjs/operations/cap/install.d.ts +0 -53
  326. package/dist/cjs/operations/cap/install.js +0 -181
  327. package/dist/cjs/operations/cap/install.js.map +0 -1
  328. package/dist/cjs/operations/cap/list.d.ts +0 -92
  329. package/dist/cjs/operations/cap/list.js +0 -230
  330. package/dist/cjs/operations/cap/list.js.map +0 -1
  331. package/dist/cjs/operations/cap/package.d.ts +0 -39
  332. package/dist/cjs/operations/cap/package.js +0 -77
  333. package/dist/cjs/operations/cap/package.js.map +0 -1
  334. package/dist/cjs/operations/cap/pull.d.ts +0 -21
  335. package/dist/cjs/operations/cap/pull.js +0 -77
  336. package/dist/cjs/operations/cap/pull.js.map +0 -1
  337. package/dist/cjs/operations/cap/uninstall.d.ts +0 -46
  338. package/dist/cjs/operations/cap/uninstall.js +0 -87
  339. package/dist/cjs/operations/cap/uninstall.js.map +0 -1
  340. package/dist/cjs/operations/cap/validate.d.ts +0 -47
  341. package/dist/cjs/operations/cap/validate.js +0 -235
  342. package/dist/cjs/operations/cap/validate.js.map +0 -1
  343. package/dist/cjs/operations/cip/index.d.ts +0 -35
  344. package/dist/cjs/operations/cip/index.js +0 -128
  345. package/dist/cjs/operations/cip/index.js.map +0 -1
  346. package/dist/cjs/operations/cip/reports.d.ts +0 -2
  347. package/dist/cjs/operations/cip/reports.js +0 -210
  348. package/dist/cjs/operations/cip/reports.js.map +0 -1
  349. package/dist/cjs/operations/cip/types.d.ts +0 -97
  350. package/dist/cjs/operations/cip/types.js +0 -7
  351. package/dist/cjs/operations/cip/types.js.map +0 -1
  352. package/dist/cjs/operations/code/cartridges.d.ts +0 -46
  353. package/dist/cjs/operations/code/cartridges.js +0 -69
  354. package/dist/cjs/operations/code/cartridges.js.map +0 -1
  355. package/dist/cjs/operations/code/deploy.d.ts +0 -121
  356. package/dist/cjs/operations/code/deploy.js +0 -255
  357. package/dist/cjs/operations/code/deploy.js.map +0 -1
  358. package/dist/cjs/operations/code/download.d.ts +0 -77
  359. package/dist/cjs/operations/code/download.js +0 -300
  360. package/dist/cjs/operations/code/download.js.map +0 -1
  361. package/dist/cjs/operations/code/index.d.ts +0 -74
  362. package/dist/cjs/operations/code/index.js +0 -80
  363. package/dist/cjs/operations/code/index.js.map +0 -1
  364. package/dist/cjs/operations/code/upload-files.d.ts +0 -47
  365. package/dist/cjs/operations/code/upload-files.js +0 -116
  366. package/dist/cjs/operations/code/upload-files.js.map +0 -1
  367. package/dist/cjs/operations/code/versions.d.ts +0 -99
  368. package/dist/cjs/operations/code/versions.js +0 -156
  369. package/dist/cjs/operations/code/versions.js.map +0 -1
  370. package/dist/cjs/operations/code/watch.d.ts +0 -58
  371. package/dist/cjs/operations/code/watch.js +0 -175
  372. package/dist/cjs/operations/code/watch.js.map +0 -1
  373. package/dist/cjs/operations/content/asset-query.d.ts +0 -22
  374. package/dist/cjs/operations/content/asset-query.js +0 -77
  375. package/dist/cjs/operations/content/asset-query.js.map +0 -1
  376. package/dist/cjs/operations/content/export.d.ts +0 -57
  377. package/dist/cjs/operations/content/export.js +0 -221
  378. package/dist/cjs/operations/content/export.js.map +0 -1
  379. package/dist/cjs/operations/content/index.d.ts +0 -56
  380. package/dist/cjs/operations/content/index.js +0 -60
  381. package/dist/cjs/operations/content/index.js.map +0 -1
  382. package/dist/cjs/operations/content/library.d.ts +0 -137
  383. package/dist/cjs/operations/content/library.js +0 -396
  384. package/dist/cjs/operations/content/library.js.map +0 -1
  385. package/dist/cjs/operations/content/types.d.ts +0 -144
  386. package/dist/cjs/operations/content/types.js +0 -7
  387. package/dist/cjs/operations/content/types.js.map +0 -1
  388. package/dist/cjs/operations/content/validate.d.ts +0 -64
  389. package/dist/cjs/operations/content/validate.js +0 -170
  390. package/dist/cjs/operations/content/validate.js.map +0 -1
  391. package/dist/cjs/operations/debug/dap-adapter.d.ts +0 -72
  392. package/dist/cjs/operations/debug/dap-adapter.js +0 -505
  393. package/dist/cjs/operations/debug/dap-adapter.js.map +0 -1
  394. package/dist/cjs/operations/debug/debug-session.d.ts +0 -51
  395. package/dist/cjs/operations/debug/debug-session.js +0 -234
  396. package/dist/cjs/operations/debug/debug-session.js.map +0 -1
  397. package/dist/cjs/operations/debug/index.d.ts +0 -20
  398. package/dist/cjs/operations/debug/index.js +0 -21
  399. package/dist/cjs/operations/debug/index.js.map +0 -1
  400. package/dist/cjs/operations/debug/projections.d.ts +0 -72
  401. package/dist/cjs/operations/debug/projections.js +0 -84
  402. package/dist/cjs/operations/debug/projections.js.map +0 -1
  403. package/dist/cjs/operations/debug/resolve-path.d.ts +0 -15
  404. package/dist/cjs/operations/debug/resolve-path.js +0 -52
  405. package/dist/cjs/operations/debug/resolve-path.js.map +0 -1
  406. package/dist/cjs/operations/debug/sdapi-client.d.ts +0 -44
  407. package/dist/cjs/operations/debug/sdapi-client.js +0 -169
  408. package/dist/cjs/operations/debug/sdapi-client.js.map +0 -1
  409. package/dist/cjs/operations/debug/source-mapping.d.ts +0 -13
  410. package/dist/cjs/operations/debug/source-mapping.js +0 -57
  411. package/dist/cjs/operations/debug/source-mapping.js.map +0 -1
  412. package/dist/cjs/operations/debug/types.d.ts +0 -95
  413. package/dist/cjs/operations/debug/types.js +0 -2
  414. package/dist/cjs/operations/debug/types.js.map +0 -1
  415. package/dist/cjs/operations/debug/variable-store.d.ts +0 -35
  416. package/dist/cjs/operations/debug/variable-store.js +0 -52
  417. package/dist/cjs/operations/debug/variable-store.js.map +0 -1
  418. package/dist/cjs/operations/jobs/index.d.ts +0 -66
  419. package/dist/cjs/operations/jobs/index.js +0 -72
  420. package/dist/cjs/operations/jobs/index.js.map +0 -1
  421. package/dist/cjs/operations/jobs/run.d.ts +0 -239
  422. package/dist/cjs/operations/jobs/run.js +0 -324
  423. package/dist/cjs/operations/jobs/run.js.map +0 -1
  424. package/dist/cjs/operations/jobs/site-archive.d.ts +0 -267
  425. package/dist/cjs/operations/jobs/site-archive.js +0 -423
  426. package/dist/cjs/operations/jobs/site-archive.js.map +0 -1
  427. package/dist/cjs/operations/logs/index.d.ts +0 -65
  428. package/dist/cjs/operations/logs/index.js +0 -73
  429. package/dist/cjs/operations/logs/index.js.map +0 -1
  430. package/dist/cjs/operations/logs/list.d.ts +0 -35
  431. package/dist/cjs/operations/logs/list.js +0 -144
  432. package/dist/cjs/operations/logs/list.js.map +0 -1
  433. package/dist/cjs/operations/logs/path-normalizer.d.ts +0 -82
  434. package/dist/cjs/operations/logs/path-normalizer.js +0 -190
  435. package/dist/cjs/operations/logs/path-normalizer.js.map +0 -1
  436. package/dist/cjs/operations/logs/tail.d.ts +0 -92
  437. package/dist/cjs/operations/logs/tail.js +0 -525
  438. package/dist/cjs/operations/logs/tail.js.map +0 -1
  439. package/dist/cjs/operations/logs/types.d.ts +0 -132
  440. package/dist/cjs/operations/logs/types.js +0 -7
  441. package/dist/cjs/operations/logs/types.js.map +0 -1
  442. package/dist/cjs/operations/mrt/access-control.d.ts +0 -192
  443. package/dist/cjs/operations/mrt/access-control.js +0 -152
  444. package/dist/cjs/operations/mrt/access-control.js.map +0 -1
  445. package/dist/cjs/operations/mrt/b2c-config.d.ts +0 -201
  446. package/dist/cjs/operations/mrt/b2c-config.js +0 -210
  447. package/dist/cjs/operations/mrt/b2c-config.js.map +0 -1
  448. package/dist/cjs/operations/mrt/bundle.d.ts +0 -114
  449. package/dist/cjs/operations/mrt/bundle.js +0 -166
  450. package/dist/cjs/operations/mrt/bundle.js.map +0 -1
  451. package/dist/cjs/operations/mrt/cache.d.ts +0 -80
  452. package/dist/cjs/operations/mrt/cache.js +0 -65
  453. package/dist/cjs/operations/mrt/cache.js.map +0 -1
  454. package/dist/cjs/operations/mrt/certificate.d.ts +0 -60
  455. package/dist/cjs/operations/mrt/certificate.js +0 -76
  456. package/dist/cjs/operations/mrt/certificate.js.map +0 -1
  457. package/dist/cjs/operations/mrt/deployment.d.ts +0 -157
  458. package/dist/cjs/operations/mrt/deployment.js +0 -109
  459. package/dist/cjs/operations/mrt/deployment.js.map +0 -1
  460. package/dist/cjs/operations/mrt/env-var.d.ts +0 -176
  461. package/dist/cjs/operations/mrt/env-var.js +0 -231
  462. package/dist/cjs/operations/mrt/env-var.js.map +0 -1
  463. package/dist/cjs/operations/mrt/env.d.ts +0 -491
  464. package/dist/cjs/operations/mrt/env.js +0 -425
  465. package/dist/cjs/operations/mrt/env.js.map +0 -1
  466. package/dist/cjs/operations/mrt/index.d.ts +0 -75
  467. package/dist/cjs/operations/mrt/index.js +0 -81
  468. package/dist/cjs/operations/mrt/index.js.map +0 -1
  469. package/dist/cjs/operations/mrt/member.d.ts +0 -281
  470. package/dist/cjs/operations/mrt/member.js +0 -244
  471. package/dist/cjs/operations/mrt/member.js.map +0 -1
  472. package/dist/cjs/operations/mrt/notification.d.ts +0 -252
  473. package/dist/cjs/operations/mrt/notification.js +0 -206
  474. package/dist/cjs/operations/mrt/notification.js.map +0 -1
  475. package/dist/cjs/operations/mrt/organization-member.d.ts +0 -68
  476. package/dist/cjs/operations/mrt/organization-member.js +0 -88
  477. package/dist/cjs/operations/mrt/organization-member.js.map +0 -1
  478. package/dist/cjs/operations/mrt/organization.d.ts +0 -80
  479. package/dist/cjs/operations/mrt/organization.js +0 -53
  480. package/dist/cjs/operations/mrt/organization.js.map +0 -1
  481. package/dist/cjs/operations/mrt/project.d.ts +0 -261
  482. package/dist/cjs/operations/mrt/project.js +0 -232
  483. package/dist/cjs/operations/mrt/project.js.map +0 -1
  484. package/dist/cjs/operations/mrt/push.d.ts +0 -290
  485. package/dist/cjs/operations/mrt/push.js +0 -288
  486. package/dist/cjs/operations/mrt/push.js.map +0 -1
  487. package/dist/cjs/operations/mrt/redirect.d.ts +0 -337
  488. package/dist/cjs/operations/mrt/redirect.js +0 -256
  489. package/dist/cjs/operations/mrt/redirect.js.map +0 -1
  490. package/dist/cjs/operations/mrt/tail-logs.d.ts +0 -130
  491. package/dist/cjs/operations/mrt/tail-logs.js +0 -224
  492. package/dist/cjs/operations/mrt/tail-logs.js.map +0 -1
  493. package/dist/cjs/operations/mrt/user.d.ts +0 -135
  494. package/dist/cjs/operations/mrt/user.js +0 -153
  495. package/dist/cjs/operations/mrt/user.js.map +0 -1
  496. package/dist/cjs/operations/ods/index.d.ts +0 -10
  497. package/dist/cjs/operations/ods/index.js +0 -14
  498. package/dist/cjs/operations/ods/index.js.map +0 -1
  499. package/dist/cjs/operations/ods/sandbox-lookup.d.ts +0 -63
  500. package/dist/cjs/operations/ods/sandbox-lookup.js +0 -130
  501. package/dist/cjs/operations/ods/sandbox-lookup.js.map +0 -1
  502. package/dist/cjs/operations/ods/wait-for-clone.d.ts +0 -46
  503. package/dist/cjs/operations/ods/wait-for-clone.js +0 -100
  504. package/dist/cjs/operations/ods/wait-for-clone.js.map +0 -1
  505. package/dist/cjs/operations/ods/wait-for-sandbox.d.ts +0 -64
  506. package/dist/cjs/operations/ods/wait-for-sandbox.js +0 -114
  507. package/dist/cjs/operations/ods/wait-for-sandbox.js.map +0 -1
  508. package/dist/cjs/operations/orgs/index.d.ts +0 -74
  509. package/dist/cjs/operations/orgs/index.js +0 -33
  510. package/dist/cjs/operations/orgs/index.js.map +0 -1
  511. package/dist/cjs/operations/roles/index.d.ts +0 -43
  512. package/dist/cjs/operations/roles/index.js +0 -48
  513. package/dist/cjs/operations/roles/index.js.map +0 -1
  514. package/dist/cjs/operations/sites/cartridges.d.ts +0 -114
  515. package/dist/cjs/operations/sites/cartridges.js +0 -378
  516. package/dist/cjs/operations/sites/cartridges.js.map +0 -1
  517. package/dist/cjs/operations/sites/index.d.ts +0 -46
  518. package/dist/cjs/operations/sites/index.js +0 -51
  519. package/dist/cjs/operations/sites/index.js.map +0 -1
  520. package/dist/cjs/operations/users/index.d.ts +0 -153
  521. package/dist/cjs/operations/users/index.js +0 -139
  522. package/dist/cjs/operations/users/index.js.map +0 -1
  523. package/dist/cjs/operations/util/zip.d.ts +0 -5
  524. package/dist/cjs/operations/util/zip.js +0 -25
  525. package/dist/cjs/operations/util/zip.js.map +0 -1
  526. package/dist/cjs/package.json +0 -1
  527. package/dist/cjs/plugins/discovery.d.ts +0 -46
  528. package/dist/cjs/plugins/discovery.js +0 -122
  529. package/dist/cjs/plugins/discovery.js.map +0 -1
  530. package/dist/cjs/plugins/index.d.ts +0 -26
  531. package/dist/cjs/plugins/index.js +0 -32
  532. package/dist/cjs/plugins/index.js.map +0 -1
  533. package/dist/cjs/plugins/loader.d.ts +0 -34
  534. package/dist/cjs/plugins/loader.js +0 -59
  535. package/dist/cjs/plugins/loader.js.map +0 -1
  536. package/dist/cjs/plugins/manager.d.ts +0 -70
  537. package/dist/cjs/plugins/manager.js +0 -173
  538. package/dist/cjs/plugins/manager.js.map +0 -1
  539. package/dist/cjs/safety/index.d.ts +0 -12
  540. package/dist/cjs/safety/index.js +0 -11
  541. package/dist/cjs/safety/index.js.map +0 -1
  542. package/dist/cjs/safety/safety-guard.d.ts +0 -92
  543. package/dist/cjs/safety/safety-guard.js +0 -270
  544. package/dist/cjs/safety/safety-guard.js.map +0 -1
  545. package/dist/cjs/safety/safety-middleware.d.ts +0 -130
  546. package/dist/cjs/safety/safety-middleware.js +0 -248
  547. package/dist/cjs/safety/safety-middleware.js.map +0 -1
  548. package/dist/cjs/safety/types.d.ts +0 -81
  549. package/dist/cjs/safety/types.js +0 -16
  550. package/dist/cjs/safety/types.js.map +0 -1
  551. package/dist/cjs/safety/with-confirmation.d.ts +0 -58
  552. package/dist/cjs/safety/with-confirmation.js +0 -67
  553. package/dist/cjs/safety/with-confirmation.js.map +0 -1
  554. package/dist/cjs/scaffold/engine.d.ts +0 -68
  555. package/dist/cjs/scaffold/engine.js +0 -149
  556. package/dist/cjs/scaffold/engine.js.map +0 -1
  557. package/dist/cjs/scaffold/executor.d.ts +0 -36
  558. package/dist/cjs/scaffold/executor.js +0 -293
  559. package/dist/cjs/scaffold/executor.js.map +0 -1
  560. package/dist/cjs/scaffold/index.d.ts +0 -76
  561. package/dist/cjs/scaffold/index.js +0 -23
  562. package/dist/cjs/scaffold/index.js.map +0 -1
  563. package/dist/cjs/scaffold/merge.d.ts +0 -63
  564. package/dist/cjs/scaffold/merge.js +0 -192
  565. package/dist/cjs/scaffold/merge.js.map +0 -1
  566. package/dist/cjs/scaffold/parameter-resolver.d.ts +0 -86
  567. package/dist/cjs/scaffold/parameter-resolver.js +0 -191
  568. package/dist/cjs/scaffold/parameter-resolver.js.map +0 -1
  569. package/dist/cjs/scaffold/registry.d.ts +0 -60
  570. package/dist/cjs/scaffold/registry.js +0 -225
  571. package/dist/cjs/scaffold/registry.js.map +0 -1
  572. package/dist/cjs/scaffold/sources.d.ts +0 -83
  573. package/dist/cjs/scaffold/sources.js +0 -236
  574. package/dist/cjs/scaffold/sources.js.map +0 -1
  575. package/dist/cjs/scaffold/types.d.ts +0 -282
  576. package/dist/cjs/scaffold/types.js +0 -14
  577. package/dist/cjs/scaffold/types.js.map +0 -1
  578. package/dist/cjs/scaffold/validation.d.ts +0 -81
  579. package/dist/cjs/scaffold/validation.js +0 -250
  580. package/dist/cjs/scaffold/validation.js.map +0 -1
  581. package/dist/cjs/scaffold/validators.d.ts +0 -33
  582. package/dist/cjs/scaffold/validators.js +0 -340
  583. package/dist/cjs/scaffold/validators.js.map +0 -1
  584. package/dist/cjs/schemas/collapse.d.ts +0 -150
  585. package/dist/cjs/schemas/collapse.js +0 -180
  586. package/dist/cjs/schemas/collapse.js.map +0 -1
  587. package/dist/cjs/schemas/index.d.ts +0 -58
  588. package/dist/cjs/schemas/index.js +0 -65
  589. package/dist/cjs/schemas/index.js.map +0 -1
  590. package/dist/cjs/schemas/security-schemes.d.ts +0 -26
  591. package/dist/cjs/schemas/security-schemes.js +0 -44
  592. package/dist/cjs/schemas/security-schemes.js.map +0 -1
  593. package/dist/cjs/skills/agents.d.ts +0 -42
  594. package/dist/cjs/skills/agents.js +0 -200
  595. package/dist/cjs/skills/agents.js.map +0 -1
  596. package/dist/cjs/skills/github.d.ts +0 -31
  597. package/dist/cjs/skills/github.js +0 -450
  598. package/dist/cjs/skills/github.js.map +0 -1
  599. package/dist/cjs/skills/index.d.ts +0 -43
  600. package/dist/cjs/skills/index.js +0 -16
  601. package/dist/cjs/skills/index.js.map +0 -1
  602. package/dist/cjs/skills/installer.d.ts +0 -35
  603. package/dist/cjs/skills/installer.js +0 -182
  604. package/dist/cjs/skills/installer.js.map +0 -1
  605. package/dist/cjs/skills/parser.d.ts +0 -39
  606. package/dist/cjs/skills/parser.js +0 -126
  607. package/dist/cjs/skills/parser.js.map +0 -1
  608. package/dist/cjs/skills/sources.d.ts +0 -4
  609. package/dist/cjs/skills/sources.js +0 -52
  610. package/dist/cjs/skills/sources.js.map +0 -1
  611. package/dist/cjs/skills/types.d.ts +0 -153
  612. package/dist/cjs/skills/types.js +0 -7
  613. package/dist/cjs/skills/types.js.map +0 -1
  614. package/dist/cjs/slas/index.d.ts +0 -12
  615. package/dist/cjs/slas/index.js +0 -8
  616. package/dist/cjs/slas/index.js.map +0 -1
  617. package/dist/cjs/slas/pkce.d.ts +0 -13
  618. package/dist/cjs/slas/pkce.js +0 -35
  619. package/dist/cjs/slas/pkce.js.map +0 -1
  620. package/dist/cjs/slas/token.d.ts +0 -24
  621. package/dist/cjs/slas/token.js +0 -261
  622. package/dist/cjs/slas/token.js.map +0 -1
  623. package/dist/cjs/slas/types.d.ts +0 -43
  624. package/dist/cjs/slas/types.js +0 -7
  625. package/dist/cjs/slas/types.js.map +0 -1
  626. package/dist/cjs/telemetry/index.d.ts +0 -34
  627. package/dist/cjs/telemetry/index.js +0 -32
  628. package/dist/cjs/telemetry/index.js.map +0 -1
  629. package/dist/cjs/telemetry/telemetry.d.ts +0 -88
  630. package/dist/cjs/telemetry/telemetry.js +0 -298
  631. package/dist/cjs/telemetry/telemetry.js.map +0 -1
  632. package/dist/cjs/telemetry/types.d.ts +0 -62
  633. package/dist/cjs/telemetry/types.js +0 -7
  634. package/dist/cjs/telemetry/types.js.map +0 -1
  635. package/dist/cjs/test-utils/config-isolation.d.ts +0 -2
  636. package/dist/cjs/test-utils/config-isolation.js +0 -48
  637. package/dist/cjs/test-utils/config-isolation.js.map +0 -1
  638. package/dist/cjs/test-utils/index.d.ts +0 -1
  639. package/dist/cjs/test-utils/index.js +0 -7
  640. package/dist/cjs/test-utils/index.js.map +0 -1
  641. package/dist/cjs/ux/confirm.d.ts +0 -14
  642. package/dist/cjs/ux/confirm.js +0 -36
  643. package/dist/cjs/ux/confirm.js.map +0 -1
  644. package/dist/cjs/ux/index.d.ts +0 -1
  645. package/dist/cjs/ux/index.js +0 -7
  646. package/dist/cjs/ux/index.js.map +0 -1
  647. package/dist/cjs/version.d.ts +0 -14
  648. package/dist/cjs/version.js +0 -29
  649. package/dist/cjs/version.js.map +0 -1
@@ -1,300 +0,0 @@
1
- /*
2
- * Copyright (c) 2025, Salesforce, Inc.
3
- * SPDX-License-Identifier: Apache-2
4
- * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import path from 'node:path';
7
- import fs from 'node:fs';
8
- import JSZip from 'jszip';
9
- import { getLogger } from '../../logging/logger.js';
10
- import { getActiveCodeVersion } from './versions.js';
11
- const ZIP_BODY = new URLSearchParams({ method: 'ZIP' }).toString();
12
- // 10 minutes — server-side zipping and large downloads can take a long time
13
- const LONG_OPERATION_TIMEOUT_MS = 600_000;
14
- // Progress helper: fires immediately (0s) then every 5s until stopped
15
- const PROGRESS_INTERVAL_MS = 5_000;
16
- function startProgress(phase, onProgress) {
17
- const start = Date.now();
18
- onProgress?.({ phase, elapsedSeconds: 0 });
19
- if (!onProgress)
20
- return () => { };
21
- const interval = setInterval(() => {
22
- onProgress({ phase, elapsedSeconds: Math.round((Date.now() - start) / 1000) });
23
- }, PROGRESS_INTERVAL_MS);
24
- return () => clearInterval(interval);
25
- }
26
- /**
27
- * Resolves code version from instance config or OCAPI auto-discovery.
28
- */
29
- async function resolveCodeVersion(instance) {
30
- const logger = getLogger();
31
- let codeVersion = instance.config.codeVersion;
32
- if (!codeVersion) {
33
- logger.debug('No code version configured, attempting to discover active version...');
34
- try {
35
- const activeVersion = await getActiveCodeVersion(instance);
36
- if (activeVersion?.id) {
37
- codeVersion = activeVersion.id;
38
- instance.config.codeVersion = codeVersion;
39
- }
40
- }
41
- catch (error) {
42
- logger.debug({ error }, 'Failed to discover active code version');
43
- }
44
- if (!codeVersion) {
45
- throw new Error('Code version required for download. Configure --code-version or ensure OAuth credentials are available for auto-discovery.');
46
- }
47
- }
48
- return codeVersion;
49
- }
50
- /**
51
- * Extracts files from a ZIP archive to disk.
52
- *
53
- * @param zip - Loaded JSZip instance
54
- * @param options - Extraction options
55
- * @param options.stripPrefix - Number of path segments to strip from ZIP entry paths (e.g. 1 to remove codeVersion, 2 to remove codeVersion + cartridgeName)
56
- * @param options.outputDirectory - Base output directory
57
- * @param options.mirror - Map of cartridge names to local paths for mirror extraction
58
- * @param options.include - Cartridge names to include
59
- * @param options.exclude - Cartridge names to exclude
60
- * @returns Set of extracted cartridge names
61
- */
62
- async function extractZip(zip, options) {
63
- const extractedCartridges = new Set();
64
- const entries = Object.values(zip.files).filter((entry) => !entry.dir);
65
- for (const entry of entries) {
66
- const parts = entry.name.split('/');
67
- if (parts.length < options.stripPrefix + 1) {
68
- continue;
69
- }
70
- // Strip the prefix segments
71
- for (let i = 0; i < options.stripPrefix; i++) {
72
- parts.shift();
73
- }
74
- // Determine cartridge name: either from the next segment or from the option
75
- const cartridgeName = options.cartridgeName ?? parts.shift();
76
- const relativePath = options.cartridgeName ? parts.join('/') : parts.join('/');
77
- // Apply filters
78
- if (options.include?.length && !options.include.includes(cartridgeName)) {
79
- continue;
80
- }
81
- if (options.exclude?.length && options.exclude.includes(cartridgeName)) {
82
- continue;
83
- }
84
- let targetPath;
85
- if (options.mirror?.has(cartridgeName)) {
86
- targetPath = path.join(options.mirror.get(cartridgeName), relativePath);
87
- }
88
- else {
89
- targetPath = path.join(options.outputDirectory, cartridgeName, relativePath);
90
- }
91
- // Preserve existing file permissions
92
- let existingMode = null;
93
- try {
94
- const stat = await fs.promises.stat(targetPath);
95
- existingMode = stat.mode;
96
- }
97
- catch {
98
- // File doesn't exist yet
99
- }
100
- await fs.promises.mkdir(path.dirname(targetPath), { recursive: true });
101
- const content = await entry.async('nodebuffer');
102
- await fs.promises.writeFile(targetPath, content);
103
- if (existingMode !== null) {
104
- await fs.promises.chmod(targetPath, existingMode);
105
- }
106
- extractedCartridges.add(cartridgeName);
107
- }
108
- return extractedCartridges;
109
- }
110
- /**
111
- * Downloads a single cartridge from an instance via WebDAV.
112
- *
113
- * This is more efficient than downloading the entire code version when only
114
- * one cartridge is needed, as it ZIPs only the cartridge subdirectory on the server.
115
- *
116
- * @param instance - B2C instance to download from
117
- * @param codeVersion - Code version containing the cartridge
118
- * @param cartridgeName - Name of the cartridge to download
119
- * @param outputPath - Local path to extract the cartridge into
120
- * @param onProgress - Optional progress callback
121
- */
122
- export async function downloadSingleCartridge(instance, codeVersion, cartridgeName, outputPath, onProgress) {
123
- const logger = getLogger();
124
- const webdav = instance.webdav;
125
- const cartridgePath = `Cartridges/${codeVersion}/${cartridgeName}`;
126
- const zipPath = `${cartridgePath}.zip`;
127
- let stopProgress = startProgress('zipping', onProgress);
128
- logger.debug({ cartridgeName, codeVersion }, 'Requesting server-side zip for single cartridge...');
129
- let zipResponse;
130
- try {
131
- zipResponse = await webdav.request(cartridgePath, {
132
- method: 'POST',
133
- body: ZIP_BODY,
134
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
135
- signal: AbortSignal.timeout(LONG_OPERATION_TIMEOUT_MS),
136
- });
137
- }
138
- finally {
139
- stopProgress();
140
- }
141
- if (!zipResponse.ok) {
142
- const text = await zipResponse.text();
143
- throw new Error(`Failed to create server-side zip: ${zipResponse.status} ${zipResponse.statusText} - ${text}`);
144
- }
145
- stopProgress = startProgress('downloading', onProgress);
146
- let buffer;
147
- try {
148
- const dlResponse = await webdav.request(zipPath, {
149
- method: 'GET',
150
- signal: AbortSignal.timeout(LONG_OPERATION_TIMEOUT_MS),
151
- });
152
- if (!dlResponse.ok) {
153
- throw new Error(`Failed to download zip: ${dlResponse.status} ${dlResponse.statusText}`);
154
- }
155
- buffer = await dlResponse.arrayBuffer();
156
- }
157
- finally {
158
- stopProgress();
159
- }
160
- logger.debug({ size: buffer.byteLength }, `Archive downloaded: ${buffer.byteLength} bytes`);
161
- // Cleanup server-side zip (best effort)
162
- onProgress?.({ phase: 'cleanup', elapsedSeconds: 0 });
163
- try {
164
- await webdav.delete(zipPath);
165
- }
166
- catch (error) {
167
- logger.warn({ error, zipPath }, 'Failed to clean up server-side zip (non-fatal)');
168
- }
169
- // Extract
170
- onProgress?.({ phase: 'extracting', elapsedSeconds: 0 });
171
- const zip = await JSZip.loadAsync(buffer);
172
- // Single cartridge ZIP contains: cartridgeName/relative/path...
173
- await extractZip(zip, {
174
- stripPrefix: 1,
175
- outputDirectory: path.dirname(outputPath),
176
- cartridgeName,
177
- });
178
- logger.debug({ cartridgeName, codeVersion }, `Downloaded cartridge ${cartridgeName}`);
179
- }
180
- /**
181
- * Downloads cartridges from an instance via WebDAV.
182
- *
183
- * When `include` specifies cartridges, each is downloaded individually using
184
- * per-cartridge server-side zipping for efficiency. When downloading all
185
- * cartridges (no include filter), the entire code version is zipped at once.
186
- *
187
- * If `instance.config.codeVersion` is not set, attempts to discover the active
188
- * code version via OCAPI. If that also fails, throws an error.
189
- *
190
- * @param instance - B2C instance to download from
191
- * @param outputDirectory - Directory to extract cartridges into
192
- * @param options - Download options (filters, mirror)
193
- * @returns Download result with cartridge names and metadata
194
- * @throws Error if code version cannot be determined or download fails
195
- *
196
- * @example
197
- * ```typescript
198
- * // Download all cartridges
199
- * const result = await downloadCartridges(instance, './output');
200
- *
201
- * // Download specific cartridges (efficient per-cartridge download)
202
- * const result = await downloadCartridges(instance, './output', {
203
- * include: ['app_storefront_base'],
204
- * });
205
- *
206
- * // Mirror to local project locations
207
- * const mirror = new Map([['app_storefront_base', '/project/cartridges/app_storefront_base']]);
208
- * const result = await downloadCartridges(instance, '.', { mirror });
209
- * ```
210
- */
211
- export async function downloadCartridges(instance, outputDirectory, options = {}) {
212
- const logger = getLogger();
213
- const codeVersion = await resolveCodeVersion(instance);
214
- const resolvedOutput = path.resolve(outputDirectory);
215
- const { include, exclude, mirror, onProgress } = options;
216
- // When specific cartridges are requested, download each individually
217
- if (include?.length) {
218
- const allExtracted = new Set();
219
- for (const cartridgeName of include) {
220
- if (exclude?.length && exclude.includes(cartridgeName))
221
- continue;
222
- const outputPath = mirror?.has(cartridgeName)
223
- ? mirror.get(cartridgeName)
224
- : path.join(resolvedOutput, cartridgeName);
225
- await downloadSingleCartridge(instance, codeVersion, cartridgeName, outputPath, onProgress);
226
- allExtracted.add(cartridgeName);
227
- }
228
- const cartridgeList = [...allExtracted].sort();
229
- return { cartridges: cartridgeList, codeVersion, outputDirectory: resolvedOutput };
230
- }
231
- // Full code version download
232
- const webdav = instance.webdav;
233
- const zipPath = `Cartridges/${codeVersion}.zip`;
234
- let stopProgress = startProgress('zipping', onProgress);
235
- logger.debug({ codeVersion }, 'Requesting server-side zip...');
236
- let zipResponse;
237
- try {
238
- zipResponse = await webdav.request(`Cartridges/${codeVersion}`, {
239
- method: 'POST',
240
- body: ZIP_BODY,
241
- headers: {
242
- 'Content-Type': 'application/x-www-form-urlencoded',
243
- },
244
- signal: AbortSignal.timeout(LONG_OPERATION_TIMEOUT_MS),
245
- });
246
- }
247
- finally {
248
- stopProgress();
249
- }
250
- if (!zipResponse.ok) {
251
- const text = await zipResponse.text();
252
- throw new Error(`Failed to create server-side zip: ${zipResponse.status} ${zipResponse.statusText} - ${text}`);
253
- }
254
- logger.debug('Server-side zip created');
255
- stopProgress = startProgress('downloading', onProgress);
256
- logger.debug({ zipPath }, 'Downloading zip archive...');
257
- let buffer;
258
- try {
259
- const downloadResponse = await webdav.request(zipPath, {
260
- method: 'GET',
261
- signal: AbortSignal.timeout(LONG_OPERATION_TIMEOUT_MS),
262
- });
263
- if (!downloadResponse.ok) {
264
- throw new Error(`Failed to download zip: ${downloadResponse.status} ${downloadResponse.statusText}`);
265
- }
266
- buffer = await downloadResponse.arrayBuffer();
267
- }
268
- finally {
269
- stopProgress();
270
- }
271
- logger.debug({ size: buffer.byteLength }, `Archive downloaded: ${buffer.byteLength} bytes`);
272
- // Cleanup server-side zip (best-effort)
273
- onProgress?.({ phase: 'cleanup', elapsedSeconds: 0 });
274
- try {
275
- await webdav.delete(zipPath);
276
- logger.debug('Server-side zip cleaned up');
277
- }
278
- catch (error) {
279
- logger.warn({ error, zipPath }, 'Failed to clean up server-side zip (non-fatal)');
280
- }
281
- // Extract
282
- onProgress?.({ phase: 'extracting', elapsedSeconds: 0 });
283
- logger.debug('Extracting archive...');
284
- const zip = await JSZip.loadAsync(buffer);
285
- // Full code version ZIP: {codeVersion}/{cartridgeName}/{relativePath...}
286
- const extractedCartridges = await extractZip(zip, {
287
- stripPrefix: 1,
288
- outputDirectory: resolvedOutput,
289
- mirror,
290
- exclude,
291
- });
292
- const cartridgeList = [...extractedCartridges].sort();
293
- logger.debug({ server: instance.config.hostname, codeVersion, cartridgeCount: cartridgeList.length }, `Downloaded ${cartridgeList.length} cartridge(s) from ${instance.config.hostname}`);
294
- return {
295
- cartridges: cartridgeList,
296
- codeVersion,
297
- outputDirectory: resolvedOutput,
298
- };
299
- }
300
- //# sourceMappingURL=download.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/operations/code/download.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- /**
2
- * Code deployment operations for B2C Commerce.
3
- *
4
- * This module provides functions for managing cartridge code versions
5
- * on B2C Commerce instances via WebDAV and OCAPI.
6
- *
7
- * ## Cartridge Discovery
8
- *
9
- * - {@link findCartridges} - Find cartridges by .project files
10
- *
11
- * ## Code Versions
12
- *
13
- * - {@link listCodeVersions} - List all code versions on an instance
14
- * - {@link getActiveCodeVersion} - Get the currently active code version
15
- * - {@link activateCodeVersion} - Activate a code version
16
- * - {@link reloadCodeVersion} - Reload (re-activate) a code version
17
- * - {@link deleteCodeVersion} - Delete a code version
18
- * - {@link createCodeVersion} - Create a new code version
19
- *
20
- * ## Deployment
21
- *
22
- * - {@link findAndDeployCartridges} - Find and deploy cartridges to an instance
23
- * - {@link uploadCartridges} - Low-level cartridge upload
24
- * - {@link deleteCartridges} - Low-level cartridge deletion
25
- * - {@link watchCartridges} - Watch and sync file changes
26
- *
27
- * ## Download
28
- *
29
- * - {@link downloadCartridges} - Download cartridges from an instance
30
- *
31
- * ## Usage
32
- *
33
- * ```typescript
34
- * import {
35
- * findCartridges,
36
- * findAndDeployCartridges,
37
- * listCodeVersions,
38
- * activateCodeVersion,
39
- * watchCartridges,
40
- * } from '@salesforce/b2c-tooling-sdk/operations/code';
41
- * import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';
42
- *
43
- * const config = resolveConfig();
44
- * const instance = config.createB2CInstance();
45
- *
46
- * // Deploy cartridges (requires instance.config.codeVersion to be set)
47
- * await findAndDeployCartridges(instance, './cartridges', { reload: true });
48
- *
49
- * // List code versions
50
- * const versions = await listCodeVersions(instance);
51
- *
52
- * // Watch for changes
53
- * const watcher = await watchCartridges(instance, './cartridges');
54
- * ```
55
- *
56
- * ## Authentication
57
- *
58
- * - WebDAV operations support both Basic Auth and OAuth
59
- * - OCAPI operations (code versions) require OAuth
60
- *
61
- * @module operations/code
62
- */
63
- export { findCartridges } from './cartridges.js';
64
- export type { CartridgeMapping, FindCartridgesOptions } from './cartridges.js';
65
- export { listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, } from './versions.js';
66
- export type { CodeVersion, CodeVersionResult } from './versions.js';
67
- export { findAndDeployCartridges, uploadCartridges, deleteCartridges } from './deploy.js';
68
- export type { DeployOptions, DeployResult, UploadOptions, UploadProgressInfo } from './deploy.js';
69
- export { downloadCartridges, downloadSingleCartridge } from './download.js';
70
- export type { DownloadOptions, DownloadProgressInfo, DownloadResult } from './download.js';
71
- export { uploadFiles, fileToCartridgePath } from './upload-files.js';
72
- export type { FileChange, UploadFilesOptions } from './upload-files.js';
73
- export { watchCartridges } from './watch.js';
74
- export type { WatchOptions, WatchResult } from './watch.js';
@@ -1,80 +0,0 @@
1
- /*
2
- * Copyright (c) 2025, Salesforce, Inc.
3
- * SPDX-License-Identifier: Apache-2
4
- * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- /**
7
- * Code deployment operations for B2C Commerce.
8
- *
9
- * This module provides functions for managing cartridge code versions
10
- * on B2C Commerce instances via WebDAV and OCAPI.
11
- *
12
- * ## Cartridge Discovery
13
- *
14
- * - {@link findCartridges} - Find cartridges by .project files
15
- *
16
- * ## Code Versions
17
- *
18
- * - {@link listCodeVersions} - List all code versions on an instance
19
- * - {@link getActiveCodeVersion} - Get the currently active code version
20
- * - {@link activateCodeVersion} - Activate a code version
21
- * - {@link reloadCodeVersion} - Reload (re-activate) a code version
22
- * - {@link deleteCodeVersion} - Delete a code version
23
- * - {@link createCodeVersion} - Create a new code version
24
- *
25
- * ## Deployment
26
- *
27
- * - {@link findAndDeployCartridges} - Find and deploy cartridges to an instance
28
- * - {@link uploadCartridges} - Low-level cartridge upload
29
- * - {@link deleteCartridges} - Low-level cartridge deletion
30
- * - {@link watchCartridges} - Watch and sync file changes
31
- *
32
- * ## Download
33
- *
34
- * - {@link downloadCartridges} - Download cartridges from an instance
35
- *
36
- * ## Usage
37
- *
38
- * ```typescript
39
- * import {
40
- * findCartridges,
41
- * findAndDeployCartridges,
42
- * listCodeVersions,
43
- * activateCodeVersion,
44
- * watchCartridges,
45
- * } from '@salesforce/b2c-tooling-sdk/operations/code';
46
- * import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';
47
- *
48
- * const config = resolveConfig();
49
- * const instance = config.createB2CInstance();
50
- *
51
- * // Deploy cartridges (requires instance.config.codeVersion to be set)
52
- * await findAndDeployCartridges(instance, './cartridges', { reload: true });
53
- *
54
- * // List code versions
55
- * const versions = await listCodeVersions(instance);
56
- *
57
- * // Watch for changes
58
- * const watcher = await watchCartridges(instance, './cartridges');
59
- * ```
60
- *
61
- * ## Authentication
62
- *
63
- * - WebDAV operations support both Basic Auth and OAuth
64
- * - OCAPI operations (code versions) require OAuth
65
- *
66
- * @module operations/code
67
- */
68
- // Cartridge discovery
69
- export { findCartridges } from './cartridges.js';
70
- // Code version management
71
- export { listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, } from './versions.js';
72
- // Deployment
73
- export { findAndDeployCartridges, uploadCartridges, deleteCartridges } from './deploy.js';
74
- // Download
75
- export { downloadCartridges, downloadSingleCartridge } from './download.js';
76
- // File upload pipeline
77
- export { uploadFiles, fileToCartridgePath } from './upload-files.js';
78
- // Watch
79
- export { watchCartridges } from './watch.js';
80
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/code/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,sBAAsB;AACtB,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAG/C,0BAA0B;AAC1B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,aAAa;AACb,OAAO,EAAC,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGxF,WAAW;AACX,OAAO,EAAC,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAG1E,uBAAuB;AACvB,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAGnE,QAAQ;AACR,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC"}
@@ -1,47 +0,0 @@
1
- import type { B2CInstance } from '../../instance/index.js';
2
- import type { CartridgeMapping } from './cartridges.js';
3
- /**
4
- * Represents a file to upload or delete, with source and destination paths.
5
- */
6
- export interface FileChange {
7
- /** Absolute path to the file on disk */
8
- src: string;
9
- /** Cartridge-relative destination path (e.g. "cartridgeName/path/to/file.js") */
10
- dest: string;
11
- }
12
- /**
13
- * Callbacks for file upload/delete operations.
14
- */
15
- export interface UploadFilesOptions {
16
- /** Called after files are successfully uploaded */
17
- onUpload?: (files: string[]) => void;
18
- /** Called after files are successfully deleted */
19
- onDelete?: (files: string[]) => void;
20
- /** Called when an error occurs */
21
- onError?: (error: Error) => void;
22
- }
23
- /**
24
- * Maps an absolute file path to its cartridge-relative destination.
25
- *
26
- * @param absolutePath - The absolute path to a file
27
- * @param cartridges - The list of discovered cartridge mappings
28
- * @returns The file change with src and dest, or undefined if the path is not inside any cartridge
29
- */
30
- export declare function fileToCartridgePath(absolutePath: string, cartridges: CartridgeMapping[]): FileChange | undefined;
31
- /**
32
- * Uploads and deletes files on an instance via WebDAV.
33
- *
34
- * This is the core batch-upload pipeline used by both `watchCartridges` and
35
- * the VS Code extension. It:
36
- * 1. Filters out non-existent upload files
37
- * 2. Creates a ZIP archive of upload files
38
- * 3. Uploads via WebDAV PUT and unzips on server
39
- * 4. Deletes files (skipping any that were also uploaded in the same batch)
40
- *
41
- * @param instance - B2C instance to sync to
42
- * @param codeVersion - Code version to deploy to
43
- * @param uploads - Files to upload
44
- * @param deletes - Files to delete
45
- * @param options - Callbacks for upload/delete/error events
46
- */
47
- export declare function uploadFiles(instance: B2CInstance, codeVersion: string, uploads: FileChange[], deletes: FileChange[], options?: UploadFilesOptions): Promise<void>;
@@ -1,116 +0,0 @@
1
- /*
2
- * Copyright (c) 2025, Salesforce, Inc.
3
- * SPDX-License-Identifier: Apache-2
4
- * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- import path from 'node:path';
7
- import fs from 'node:fs';
8
- import JSZip from 'jszip';
9
- import { getLogger } from '../../logging/logger.js';
10
- const UNZIP_BODY = new URLSearchParams({ method: 'UNZIP' }).toString();
11
- /**
12
- * Maps an absolute file path to its cartridge-relative destination.
13
- *
14
- * @param absolutePath - The absolute path to a file
15
- * @param cartridges - The list of discovered cartridge mappings
16
- * @returns The file change with src and dest, or undefined if the path is not inside any cartridge
17
- */
18
- export function fileToCartridgePath(absolutePath, cartridges) {
19
- const cartridge = cartridges.find((c) => absolutePath.startsWith(c.src));
20
- if (!cartridge) {
21
- return undefined;
22
- }
23
- const relativePath = absolutePath.substring(cartridge.src.length);
24
- const destPath = path.join(cartridge.dest, relativePath);
25
- return {
26
- src: absolutePath,
27
- dest: destPath,
28
- };
29
- }
30
- /**
31
- * Uploads and deletes files on an instance via WebDAV.
32
- *
33
- * This is the core batch-upload pipeline used by both `watchCartridges` and
34
- * the VS Code extension. It:
35
- * 1. Filters out non-existent upload files
36
- * 2. Creates a ZIP archive of upload files
37
- * 3. Uploads via WebDAV PUT and unzips on server
38
- * 4. Deletes files (skipping any that were also uploaded in the same batch)
39
- *
40
- * @param instance - B2C instance to sync to
41
- * @param codeVersion - Code version to deploy to
42
- * @param uploads - Files to upload
43
- * @param deletes - Files to delete
44
- * @param options - Callbacks for upload/delete/error events
45
- */
46
- export async function uploadFiles(instance, codeVersion, uploads, deletes, options) {
47
- const logger = getLogger();
48
- const webdav = instance.webdav;
49
- const webdavLocation = `Cartridges/${codeVersion}`;
50
- const validUploadFiles = uploads.filter((f) => {
51
- if (!fs.existsSync(f.src)) {
52
- logger.debug({ file: f.src }, 'Skipping missing file');
53
- return false;
54
- }
55
- return true;
56
- });
57
- if (validUploadFiles.length > 0) {
58
- const uploadPath = `${webdavLocation}/_upload-${Date.now()}.zip`;
59
- try {
60
- const zip = new JSZip();
61
- for (const f of validUploadFiles) {
62
- try {
63
- const content = await fs.promises.readFile(f.src);
64
- zip.file(f.dest, content);
65
- }
66
- catch (error) {
67
- logger.warn({ file: f.src, error }, 'Failed to add file to archive');
68
- }
69
- }
70
- const buffer = await zip.generateAsync({
71
- type: 'nodebuffer',
72
- compression: 'DEFLATE',
73
- compressionOptions: { level: 5 },
74
- });
75
- await webdav.put(uploadPath, buffer, 'application/zip');
76
- logger.debug({ uploadPath }, 'Archive uploaded');
77
- const response = await webdav.request(uploadPath, {
78
- method: 'POST',
79
- body: UNZIP_BODY,
80
- headers: {
81
- 'Content-Type': 'application/x-www-form-urlencoded',
82
- },
83
- });
84
- if (!response.ok) {
85
- throw new Error(`Unzip failed: ${response.status}`);
86
- }
87
- await webdav.delete(uploadPath);
88
- logger.debug({ fileCount: validUploadFiles.length, server: instance.config.hostname }, `Uploaded ${validUploadFiles.length} file(s)`);
89
- options?.onUpload?.(validUploadFiles.map((f) => f.dest));
90
- }
91
- catch (error) {
92
- const err = error instanceof Error ? error : new Error(String(error));
93
- logger.error({ error: err }, `Upload error: ${err.message}`);
94
- options?.onError?.(err);
95
- throw err;
96
- }
97
- }
98
- // Skip deletes for any file that was also uploaded in this batch (disk state wins)
99
- const uploadedPaths = new Set(validUploadFiles.map((f) => f.dest));
100
- const filesToDeleteFiltered = deletes.filter((f) => !uploadedPaths.has(f.dest));
101
- if (filesToDeleteFiltered.length > 0) {
102
- logger.debug({ fileCount: filesToDeleteFiltered.length }, `Deleting ${filesToDeleteFiltered.length} file(s)`);
103
- for (const f of filesToDeleteFiltered) {
104
- const deletePath = `${webdavLocation}/${f.dest}`;
105
- try {
106
- await webdav.delete(deletePath);
107
- logger.info({ path: deletePath }, `Deleted: ${deletePath}`);
108
- }
109
- catch (error) {
110
- logger.debug({ path: deletePath, error }, `Failed to delete ${deletePath}`);
111
- }
112
- }
113
- options?.onDelete?.(filesToDeleteFiltered.map((f) => f.dest));
114
- }
115
- }
116
- //# sourceMappingURL=upload-files.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-files.js","sourceRoot":"","sources":["../../../../src/operations/code/upload-files.ts"],"names":[],"mappings":"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"}