@salesforce/b2c-tooling-sdk 1.10.0 → 1.11.1

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 (640) hide show
  1. package/data/content-schemas/componenttype.json +37 -0
  2. package/dist/esm/operations/content/validate.js +46 -4
  3. package/dist/esm/operations/content/validate.js.map +1 -1
  4. package/dist/esm/operations/jobs/site-archive.d.ts +12 -0
  5. package/dist/esm/operations/jobs/site-archive.js +107 -3
  6. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  7. package/dist/esm/skills/agents.js +1 -1
  8. package/dist/esm/skills/agents.js.map +1 -1
  9. package/package.json +73 -285
  10. package/dist/cjs/auth/api-key.d.ts +0 -28
  11. package/dist/cjs/auth/api-key.js +0 -45
  12. package/dist/cjs/auth/api-key.js.map +0 -1
  13. package/dist/cjs/auth/basic.d.ts +0 -7
  14. package/dist/cjs/auth/basic.js +0 -20
  15. package/dist/cjs/auth/basic.js.map +0 -1
  16. package/dist/cjs/auth/index.d.ts +0 -74
  17. package/dist/cjs/auth/index.js +0 -76
  18. package/dist/cjs/auth/index.js.map +0 -1
  19. package/dist/cjs/auth/jwt-utils.d.ts +0 -25
  20. package/dist/cjs/auth/jwt-utils.js +0 -66
  21. package/dist/cjs/auth/jwt-utils.js.map +0 -1
  22. package/dist/cjs/auth/middleware.d.ts +0 -196
  23. package/dist/cjs/auth/middleware.js +0 -190
  24. package/dist/cjs/auth/middleware.js.map +0 -1
  25. package/dist/cjs/auth/oauth-implicit.d.ts +0 -89
  26. package/dist/cjs/auth/oauth-implicit.js +0 -350
  27. package/dist/cjs/auth/oauth-implicit.js.map +0 -1
  28. package/dist/cjs/auth/oauth-jwt.d.ts +0 -99
  29. package/dist/cjs/auth/oauth-jwt.js +0 -343
  30. package/dist/cjs/auth/oauth-jwt.js.map +0 -1
  31. package/dist/cjs/auth/oauth.d.ts +0 -88
  32. package/dist/cjs/auth/oauth.js +0 -252
  33. package/dist/cjs/auth/oauth.js.map +0 -1
  34. package/dist/cjs/auth/resolve.d.ts +0 -100
  35. package/dist/cjs/auth/resolve.js +0 -175
  36. package/dist/cjs/auth/resolve.js.map +0 -1
  37. package/dist/cjs/auth/stateful-oauth-strategy.d.ts +0 -39
  38. package/dist/cjs/auth/stateful-oauth-strategy.js +0 -130
  39. package/dist/cjs/auth/stateful-oauth-strategy.js.map +0 -1
  40. package/dist/cjs/auth/stateful-store.d.ts +0 -49
  41. package/dist/cjs/auth/stateful-store.js +0 -166
  42. package/dist/cjs/auth/stateful-store.js.map +0 -1
  43. package/dist/cjs/auth/types.d.ts +0 -124
  44. package/dist/cjs/auth/types.js +0 -8
  45. package/dist/cjs/auth/types.js.map +0 -1
  46. package/dist/cjs/cli/am-command.d.ts +0 -74
  47. package/dist/cjs/cli/am-command.js +0 -199
  48. package/dist/cjs/cli/am-command.js.map +0 -1
  49. package/dist/cjs/cli/base-command.d.ts +0 -232
  50. package/dist/cjs/cli/base-command.js +0 -695
  51. package/dist/cjs/cli/base-command.js.map +0 -1
  52. package/dist/cjs/cli/cartridge-command.d.ts +0 -67
  53. package/dist/cjs/cli/cartridge-command.js +0 -146
  54. package/dist/cjs/cli/cartridge-command.js.map +0 -1
  55. package/dist/cjs/cli/cartridge-providers.d.ts +0 -149
  56. package/dist/cjs/cli/cartridge-providers.js +0 -103
  57. package/dist/cjs/cli/cartridge-providers.js.map +0 -1
  58. package/dist/cjs/cli/columns.d.ts +0 -128
  59. package/dist/cjs/cli/columns.js +0 -128
  60. package/dist/cjs/cli/columns.js.map +0 -1
  61. package/dist/cjs/cli/config.d.ts +0 -159
  62. package/dist/cjs/cli/config.js +0 -185
  63. package/dist/cjs/cli/config.js.map +0 -1
  64. package/dist/cjs/cli/details.d.ts +0 -69
  65. package/dist/cjs/cli/details.js +0 -72
  66. package/dist/cjs/cli/details.js.map +0 -1
  67. package/dist/cjs/cli/hooks.d.ts +0 -324
  68. package/dist/cjs/cli/hooks.js +0 -3
  69. package/dist/cjs/cli/hooks.js.map +0 -1
  70. package/dist/cjs/cli/index.d.ts +0 -108
  71. package/dist/cjs/cli/index.js +0 -111
  72. package/dist/cjs/cli/index.js.map +0 -1
  73. package/dist/cjs/cli/instance-command.d.ts +0 -131
  74. package/dist/cjs/cli/instance-command.js +0 -214
  75. package/dist/cjs/cli/instance-command.js.map +0 -1
  76. package/dist/cjs/cli/job-command.d.ts +0 -32
  77. package/dist/cjs/cli/job-command.js +0 -60
  78. package/dist/cjs/cli/job-command.js.map +0 -1
  79. package/dist/cjs/cli/lifecycle.d.ts +0 -189
  80. package/dist/cjs/cli/lifecycle.js +0 -130
  81. package/dist/cjs/cli/lifecycle.js.map +0 -1
  82. package/dist/cjs/cli/mrt-command.d.ts +0 -57
  83. package/dist/cjs/cli/mrt-command.js +0 -95
  84. package/dist/cjs/cli/mrt-command.js.map +0 -1
  85. package/dist/cjs/cli/oauth-command.d.ts +0 -122
  86. package/dist/cjs/cli/oauth-command.js +0 -311
  87. package/dist/cjs/cli/oauth-command.js.map +0 -1
  88. package/dist/cjs/cli/ods-command.d.ts +0 -97
  89. package/dist/cjs/cli/ods-command.js +0 -136
  90. package/dist/cjs/cli/ods-command.js.map +0 -1
  91. package/dist/cjs/cli/table.d.ts +0 -113
  92. package/dist/cjs/cli/table.js +0 -175
  93. package/dist/cjs/cli/table.js.map +0 -1
  94. package/dist/cjs/cli/webdav-command.d.ts +0 -110
  95. package/dist/cjs/cli/webdav-command.js +0 -106
  96. package/dist/cjs/cli/webdav-command.js.map +0 -1
  97. package/dist/cjs/clients/am-api.d.ts +0 -521
  98. package/dist/cjs/clients/am-api.js +0 -992
  99. package/dist/cjs/clients/am-api.js.map +0 -1
  100. package/dist/cjs/clients/am-apiclients-api.generated.d.ts +0 -803
  101. package/dist/cjs/clients/am-apiclients-api.generated.js +0 -6
  102. package/dist/cjs/clients/am-apiclients-api.generated.js.map +0 -1
  103. package/dist/cjs/clients/am-roles-api.generated.d.ts +0 -298
  104. package/dist/cjs/clients/am-roles-api.generated.js +0 -6
  105. package/dist/cjs/clients/am-roles-api.generated.js.map +0 -1
  106. package/dist/cjs/clients/am-users-api.generated.d.ts +0 -954
  107. package/dist/cjs/clients/am-users-api.generated.js +0 -6
  108. package/dist/cjs/clients/am-users-api.generated.js.map +0 -1
  109. package/dist/cjs/clients/cdn-zones.d.ts +0 -186
  110. package/dist/cjs/clients/cdn-zones.generated.d.ts +0 -8330
  111. package/dist/cjs/clients/cdn-zones.generated.js +0 -6
  112. package/dist/cjs/clients/cdn-zones.generated.js.map +0 -1
  113. package/dist/cjs/clients/cdn-zones.js +0 -103
  114. package/dist/cjs/clients/cdn-zones.js.map +0 -1
  115. package/dist/cjs/clients/cip.d.ts +0 -162
  116. package/dist/cjs/clients/cip.js +0 -572
  117. package/dist/cjs/clients/cip.js.map +0 -1
  118. package/dist/cjs/clients/custom-apis.d.ts +0 -174
  119. package/dist/cjs/clients/custom-apis.generated.d.ts +0 -202
  120. package/dist/cjs/clients/custom-apis.generated.js +0 -6
  121. package/dist/cjs/clients/custom-apis.generated.js.map +0 -1
  122. package/dist/cjs/clients/custom-apis.js +0 -140
  123. package/dist/cjs/clients/custom-apis.js.map +0 -1
  124. package/dist/cjs/clients/error-utils.d.ts +0 -35
  125. package/dist/cjs/clients/error-utils.js +0 -69
  126. package/dist/cjs/clients/error-utils.js.map +0 -1
  127. package/dist/cjs/clients/granular-replications.d.ts +0 -70
  128. package/dist/cjs/clients/granular-replications.generated.d.ts +0 -416
  129. package/dist/cjs/clients/granular-replications.generated.js +0 -6
  130. package/dist/cjs/clients/granular-replications.generated.js.map +0 -1
  131. package/dist/cjs/clients/granular-replications.js +0 -73
  132. package/dist/cjs/clients/granular-replications.js.map +0 -1
  133. package/dist/cjs/clients/index.d.ts +0 -145
  134. package/dist/cjs/clients/index.js +0 -137
  135. package/dist/cjs/clients/index.js.map +0 -1
  136. package/dist/cjs/clients/middleware-registry.d.ts +0 -184
  137. package/dist/cjs/clients/middleware-registry.js +0 -104
  138. package/dist/cjs/clients/middleware-registry.js.map +0 -1
  139. package/dist/cjs/clients/middleware.d.ts +0 -183
  140. package/dist/cjs/clients/middleware.js +0 -465
  141. package/dist/cjs/clients/middleware.js.map +0 -1
  142. package/dist/cjs/clients/mrt-b2c.d.ts +0 -138
  143. package/dist/cjs/clients/mrt-b2c.generated.d.ts +0 -176
  144. package/dist/cjs/clients/mrt-b2c.generated.js +0 -6
  145. package/dist/cjs/clients/mrt-b2c.generated.js.map +0 -1
  146. package/dist/cjs/clients/mrt-b2c.js +0 -86
  147. package/dist/cjs/clients/mrt-b2c.js.map +0 -1
  148. package/dist/cjs/clients/mrt.d.ts +0 -143
  149. package/dist/cjs/clients/mrt.generated.d.ts +0 -3806
  150. package/dist/cjs/clients/mrt.generated.js +0 -6
  151. package/dist/cjs/clients/mrt.generated.js.map +0 -1
  152. package/dist/cjs/clients/mrt.js +0 -93
  153. package/dist/cjs/clients/mrt.js.map +0 -1
  154. package/dist/cjs/clients/ocapi.d.ts +0 -128
  155. package/dist/cjs/clients/ocapi.generated.d.ts +0 -26052
  156. package/dist/cjs/clients/ocapi.generated.js +0 -6
  157. package/dist/cjs/clients/ocapi.generated.js.map +0 -1
  158. package/dist/cjs/clients/ocapi.js +0 -78
  159. package/dist/cjs/clients/ocapi.js.map +0 -1
  160. package/dist/cjs/clients/ods.d.ts +0 -160
  161. package/dist/cjs/clients/ods.generated.d.ts +0 -2860
  162. package/dist/cjs/clients/ods.generated.js +0 -6
  163. package/dist/cjs/clients/ods.generated.js.map +0 -1
  164. package/dist/cjs/clients/ods.js +0 -103
  165. package/dist/cjs/clients/ods.js.map +0 -1
  166. package/dist/cjs/clients/scapi-schemas.d.ts +0 -161
  167. package/dist/cjs/clients/scapi-schemas.generated.d.ts +0 -328
  168. package/dist/cjs/clients/scapi-schemas.generated.js +0 -6
  169. package/dist/cjs/clients/scapi-schemas.generated.js.map +0 -1
  170. package/dist/cjs/clients/scapi-schemas.js +0 -98
  171. package/dist/cjs/clients/scapi-schemas.js.map +0 -1
  172. package/dist/cjs/clients/slas-admin.d.ts +0 -132
  173. package/dist/cjs/clients/slas-admin.generated.d.ts +0 -1434
  174. package/dist/cjs/clients/slas-admin.generated.js +0 -6
  175. package/dist/cjs/clients/slas-admin.generated.js.map +0 -1
  176. package/dist/cjs/clients/slas-admin.js +0 -79
  177. package/dist/cjs/clients/slas-admin.js.map +0 -1
  178. package/dist/cjs/clients/tls-dispatcher.d.ts +0 -42
  179. package/dist/cjs/clients/tls-dispatcher.js +0 -107
  180. package/dist/cjs/clients/tls-dispatcher.js.map +0 -1
  181. package/dist/cjs/clients/user-agent.d.ts +0 -43
  182. package/dist/cjs/clients/user-agent.js +0 -87
  183. package/dist/cjs/clients/user-agent.js.map +0 -1
  184. package/dist/cjs/clients/webdav.d.ts +0 -186
  185. package/dist/cjs/clients/webdav.js +0 -395
  186. package/dist/cjs/clients/webdav.js.map +0 -1
  187. package/dist/cjs/config/config-source-registry.d.ts +0 -115
  188. package/dist/cjs/config/config-source-registry.js +0 -103
  189. package/dist/cjs/config/config-source-registry.js.map +0 -1
  190. package/dist/cjs/config/dw-json.d.ts +0 -274
  191. package/dist/cjs/config/dw-json.js +0 -333
  192. package/dist/cjs/config/dw-json.js.map +0 -1
  193. package/dist/cjs/config/index.d.ts +0 -100
  194. package/dist/cjs/config/index.js +0 -110
  195. package/dist/cjs/config/index.js.map +0 -1
  196. package/dist/cjs/config/instance-manager.d.ts +0 -97
  197. package/dist/cjs/config/instance-manager.js +0 -166
  198. package/dist/cjs/config/instance-manager.js.map +0 -1
  199. package/dist/cjs/config/mapping.d.ts +0 -199
  200. package/dist/cjs/config/mapping.js +0 -540
  201. package/dist/cjs/config/mapping.js.map +0 -1
  202. package/dist/cjs/config/resolved-config.d.ts +0 -29
  203. package/dist/cjs/config/resolved-config.js +0 -81
  204. package/dist/cjs/config/resolved-config.js.map +0 -1
  205. package/dist/cjs/config/resolver.d.ts +0 -191
  206. package/dist/cjs/config/resolver.js +0 -406
  207. package/dist/cjs/config/resolver.js.map +0 -1
  208. package/dist/cjs/config/sources/dw-json-source.d.ts +0 -27
  209. package/dist/cjs/config/sources/dw-json-source.js +0 -106
  210. package/dist/cjs/config/sources/dw-json-source.js.map +0 -1
  211. package/dist/cjs/config/sources/env-source.d.ts +0 -32
  212. package/dist/cjs/config/sources/env-source.js +0 -116
  213. package/dist/cjs/config/sources/env-source.js.map +0 -1
  214. package/dist/cjs/config/sources/index.d.ts +0 -9
  215. package/dist/cjs/config/sources/index.js +0 -15
  216. package/dist/cjs/config/sources/index.js.map +0 -1
  217. package/dist/cjs/config/sources/mobify-source.d.ts +0 -25
  218. package/dist/cjs/config/sources/mobify-source.js +0 -84
  219. package/dist/cjs/config/sources/mobify-source.js.map +0 -1
  220. package/dist/cjs/config/sources/package-json-source.d.ts +0 -14
  221. package/dist/cjs/config/sources/package-json-source.js +0 -97
  222. package/dist/cjs/config/sources/package-json-source.js.map +0 -1
  223. package/dist/cjs/config/types.d.ts +0 -428
  224. package/dist/cjs/config/types.js +0 -2
  225. package/dist/cjs/config/types.js.map +0 -1
  226. package/dist/cjs/defaults.d.ts +0 -36
  227. package/dist/cjs/defaults.js +0 -54
  228. package/dist/cjs/defaults.js.map +0 -1
  229. package/dist/cjs/discovery/detector.d.ts +0 -75
  230. package/dist/cjs/discovery/detector.js +0 -108
  231. package/dist/cjs/discovery/detector.js.map +0 -1
  232. package/dist/cjs/discovery/index.d.ts +0 -63
  233. package/dist/cjs/discovery/index.js +0 -70
  234. package/dist/cjs/discovery/index.js.map +0 -1
  235. package/dist/cjs/discovery/patterns/cartridges.d.ts +0 -16
  236. package/dist/cjs/discovery/patterns/cartridges.js +0 -16
  237. package/dist/cjs/discovery/patterns/cartridges.js.map +0 -1
  238. package/dist/cjs/discovery/patterns/index.d.ts +0 -21
  239. package/dist/cjs/discovery/patterns/index.js +0 -16
  240. package/dist/cjs/discovery/patterns/index.js.map +0 -1
  241. package/dist/cjs/discovery/patterns/pwa-kit.d.ts +0 -15
  242. package/dist/cjs/discovery/patterns/pwa-kit.js +0 -26
  243. package/dist/cjs/discovery/patterns/pwa-kit.js.map +0 -1
  244. package/dist/cjs/discovery/patterns/sfra.d.ts +0 -34
  245. package/dist/cjs/discovery/patterns/sfra.js +0 -50
  246. package/dist/cjs/discovery/patterns/sfra.js.map +0 -1
  247. package/dist/cjs/discovery/patterns/storefront-next.d.ts +0 -10
  248. package/dist/cjs/discovery/patterns/storefront-next.js +0 -65
  249. package/dist/cjs/discovery/patterns/storefront-next.js.map +0 -1
  250. package/dist/cjs/discovery/types.d.ts +0 -47
  251. package/dist/cjs/discovery/types.js +0 -12
  252. package/dist/cjs/discovery/types.js.map +0 -1
  253. package/dist/cjs/discovery/utils.d.ts +0 -44
  254. package/dist/cjs/discovery/utils.js +0 -82
  255. package/dist/cjs/discovery/utils.js.map +0 -1
  256. package/dist/cjs/docs/download.d.ts +0 -45
  257. package/dist/cjs/docs/download.js +0 -96
  258. package/dist/cjs/docs/download.js.map +0 -1
  259. package/dist/cjs/docs/index.d.ts +0 -44
  260. package/dist/cjs/docs/index.js +0 -12
  261. package/dist/cjs/docs/index.js.map +0 -1
  262. package/dist/cjs/docs/schema.d.ts +0 -26
  263. package/dist/cjs/docs/schema.js +0 -92
  264. package/dist/cjs/docs/schema.js.map +0 -1
  265. package/dist/cjs/docs/search.d.ts +0 -67
  266. package/dist/cjs/docs/search.js +0 -128
  267. package/dist/cjs/docs/search.js.map +0 -1
  268. package/dist/cjs/docs/types.d.ts +0 -64
  269. package/dist/cjs/docs/types.js +0 -15
  270. package/dist/cjs/docs/types.js.map +0 -1
  271. package/dist/cjs/errors/http-error.d.ts +0 -34
  272. package/dist/cjs/errors/http-error.js +0 -45
  273. package/dist/cjs/errors/http-error.js.map +0 -1
  274. package/dist/cjs/errors/index.d.ts +0 -12
  275. package/dist/cjs/errors/index.js +0 -18
  276. package/dist/cjs/errors/index.js.map +0 -1
  277. package/dist/cjs/i18n/index.d.ts +0 -144
  278. package/dist/cjs/i18n/index.js +0 -245
  279. package/dist/cjs/i18n/index.js.map +0 -1
  280. package/dist/cjs/i18n/locales/de.d.ts +0 -13
  281. package/dist/cjs/i18n/locales/de.js +0 -19
  282. package/dist/cjs/i18n/locales/de.js.map +0 -1
  283. package/dist/cjs/i18n/locales/index.d.ts +0 -28
  284. package/dist/cjs/i18n/locales/index.js +0 -25
  285. package/dist/cjs/i18n/locales/index.js.map +0 -1
  286. package/dist/cjs/index.d.ts +0 -33
  287. package/dist/cjs/index.js +0 -41
  288. package/dist/cjs/index.js.map +0 -1
  289. package/dist/cjs/instance/index.d.ts +0 -136
  290. package/dist/cjs/instance/index.js +0 -131
  291. package/dist/cjs/instance/index.js.map +0 -1
  292. package/dist/cjs/logging/index.d.ts +0 -116
  293. package/dist/cjs/logging/index.js +0 -121
  294. package/dist/cjs/logging/index.js.map +0 -1
  295. package/dist/cjs/logging/logger.d.ts +0 -9
  296. package/dist/cjs/logging/logger.js +0 -138
  297. package/dist/cjs/logging/logger.js.map +0 -1
  298. package/dist/cjs/logging/types.d.ts +0 -45
  299. package/dist/cjs/logging/types.js +0 -10
  300. package/dist/cjs/logging/types.js.map +0 -1
  301. package/dist/cjs/operations/bm-roles/index.d.ts +0 -52
  302. package/dist/cjs/operations/bm-roles/index.js +0 -57
  303. package/dist/cjs/operations/bm-roles/index.js.map +0 -1
  304. package/dist/cjs/operations/bm-roles/roles.d.ts +0 -155
  305. package/dist/cjs/operations/bm-roles/roles.js +0 -194
  306. package/dist/cjs/operations/bm-roles/roles.js.map +0 -1
  307. package/dist/cjs/operations/bm-users/index.d.ts +0 -50
  308. package/dist/cjs/operations/bm-users/index.js +0 -55
  309. package/dist/cjs/operations/bm-users/index.js.map +0 -1
  310. package/dist/cjs/operations/bm-users/users.d.ts +0 -189
  311. package/dist/cjs/operations/bm-users/users.js +0 -229
  312. package/dist/cjs/operations/bm-users/users.js.map +0 -1
  313. package/dist/cjs/operations/cap/index.d.ts +0 -56
  314. package/dist/cjs/operations/cap/index.js +0 -57
  315. package/dist/cjs/operations/cap/index.js.map +0 -1
  316. package/dist/cjs/operations/cap/install.d.ts +0 -53
  317. package/dist/cjs/operations/cap/install.js +0 -181
  318. package/dist/cjs/operations/cap/install.js.map +0 -1
  319. package/dist/cjs/operations/cap/list.d.ts +0 -92
  320. package/dist/cjs/operations/cap/list.js +0 -230
  321. package/dist/cjs/operations/cap/list.js.map +0 -1
  322. package/dist/cjs/operations/cap/package.d.ts +0 -39
  323. package/dist/cjs/operations/cap/package.js +0 -77
  324. package/dist/cjs/operations/cap/package.js.map +0 -1
  325. package/dist/cjs/operations/cap/pull.d.ts +0 -21
  326. package/dist/cjs/operations/cap/pull.js +0 -77
  327. package/dist/cjs/operations/cap/pull.js.map +0 -1
  328. package/dist/cjs/operations/cap/uninstall.d.ts +0 -46
  329. package/dist/cjs/operations/cap/uninstall.js +0 -87
  330. package/dist/cjs/operations/cap/uninstall.js.map +0 -1
  331. package/dist/cjs/operations/cap/validate.d.ts +0 -47
  332. package/dist/cjs/operations/cap/validate.js +0 -235
  333. package/dist/cjs/operations/cap/validate.js.map +0 -1
  334. package/dist/cjs/operations/cip/index.d.ts +0 -35
  335. package/dist/cjs/operations/cip/index.js +0 -128
  336. package/dist/cjs/operations/cip/index.js.map +0 -1
  337. package/dist/cjs/operations/cip/reports.d.ts +0 -2
  338. package/dist/cjs/operations/cip/reports.js +0 -210
  339. package/dist/cjs/operations/cip/reports.js.map +0 -1
  340. package/dist/cjs/operations/cip/types.d.ts +0 -97
  341. package/dist/cjs/operations/cip/types.js +0 -7
  342. package/dist/cjs/operations/cip/types.js.map +0 -1
  343. package/dist/cjs/operations/code/cartridges.d.ts +0 -46
  344. package/dist/cjs/operations/code/cartridges.js +0 -69
  345. package/dist/cjs/operations/code/cartridges.js.map +0 -1
  346. package/dist/cjs/operations/code/deploy.d.ts +0 -121
  347. package/dist/cjs/operations/code/deploy.js +0 -255
  348. package/dist/cjs/operations/code/deploy.js.map +0 -1
  349. package/dist/cjs/operations/code/download.d.ts +0 -77
  350. package/dist/cjs/operations/code/download.js +0 -300
  351. package/dist/cjs/operations/code/download.js.map +0 -1
  352. package/dist/cjs/operations/code/index.d.ts +0 -74
  353. package/dist/cjs/operations/code/index.js +0 -80
  354. package/dist/cjs/operations/code/index.js.map +0 -1
  355. package/dist/cjs/operations/code/upload-files.d.ts +0 -47
  356. package/dist/cjs/operations/code/upload-files.js +0 -116
  357. package/dist/cjs/operations/code/upload-files.js.map +0 -1
  358. package/dist/cjs/operations/code/versions.d.ts +0 -99
  359. package/dist/cjs/operations/code/versions.js +0 -156
  360. package/dist/cjs/operations/code/versions.js.map +0 -1
  361. package/dist/cjs/operations/code/watch.d.ts +0 -58
  362. package/dist/cjs/operations/code/watch.js +0 -175
  363. package/dist/cjs/operations/code/watch.js.map +0 -1
  364. package/dist/cjs/operations/content/asset-query.d.ts +0 -22
  365. package/dist/cjs/operations/content/asset-query.js +0 -77
  366. package/dist/cjs/operations/content/asset-query.js.map +0 -1
  367. package/dist/cjs/operations/content/export.d.ts +0 -57
  368. package/dist/cjs/operations/content/export.js +0 -221
  369. package/dist/cjs/operations/content/export.js.map +0 -1
  370. package/dist/cjs/operations/content/index.d.ts +0 -56
  371. package/dist/cjs/operations/content/index.js +0 -60
  372. package/dist/cjs/operations/content/index.js.map +0 -1
  373. package/dist/cjs/operations/content/library.d.ts +0 -137
  374. package/dist/cjs/operations/content/library.js +0 -396
  375. package/dist/cjs/operations/content/library.js.map +0 -1
  376. package/dist/cjs/operations/content/types.d.ts +0 -144
  377. package/dist/cjs/operations/content/types.js +0 -7
  378. package/dist/cjs/operations/content/types.js.map +0 -1
  379. package/dist/cjs/operations/content/validate.d.ts +0 -64
  380. package/dist/cjs/operations/content/validate.js +0 -170
  381. package/dist/cjs/operations/content/validate.js.map +0 -1
  382. package/dist/cjs/operations/debug/dap-adapter.d.ts +0 -72
  383. package/dist/cjs/operations/debug/dap-adapter.js +0 -505
  384. package/dist/cjs/operations/debug/dap-adapter.js.map +0 -1
  385. package/dist/cjs/operations/debug/debug-session.d.ts +0 -51
  386. package/dist/cjs/operations/debug/debug-session.js +0 -234
  387. package/dist/cjs/operations/debug/debug-session.js.map +0 -1
  388. package/dist/cjs/operations/debug/index.d.ts +0 -20
  389. package/dist/cjs/operations/debug/index.js +0 -21
  390. package/dist/cjs/operations/debug/index.js.map +0 -1
  391. package/dist/cjs/operations/debug/projections.d.ts +0 -72
  392. package/dist/cjs/operations/debug/projections.js +0 -84
  393. package/dist/cjs/operations/debug/projections.js.map +0 -1
  394. package/dist/cjs/operations/debug/resolve-path.d.ts +0 -15
  395. package/dist/cjs/operations/debug/resolve-path.js +0 -52
  396. package/dist/cjs/operations/debug/resolve-path.js.map +0 -1
  397. package/dist/cjs/operations/debug/sdapi-client.d.ts +0 -44
  398. package/dist/cjs/operations/debug/sdapi-client.js +0 -169
  399. package/dist/cjs/operations/debug/sdapi-client.js.map +0 -1
  400. package/dist/cjs/operations/debug/source-mapping.d.ts +0 -13
  401. package/dist/cjs/operations/debug/source-mapping.js +0 -57
  402. package/dist/cjs/operations/debug/source-mapping.js.map +0 -1
  403. package/dist/cjs/operations/debug/types.d.ts +0 -95
  404. package/dist/cjs/operations/debug/types.js +0 -2
  405. package/dist/cjs/operations/debug/types.js.map +0 -1
  406. package/dist/cjs/operations/debug/variable-store.d.ts +0 -35
  407. package/dist/cjs/operations/debug/variable-store.js +0 -52
  408. package/dist/cjs/operations/debug/variable-store.js.map +0 -1
  409. package/dist/cjs/operations/jobs/index.d.ts +0 -66
  410. package/dist/cjs/operations/jobs/index.js +0 -72
  411. package/dist/cjs/operations/jobs/index.js.map +0 -1
  412. package/dist/cjs/operations/jobs/run.d.ts +0 -239
  413. package/dist/cjs/operations/jobs/run.js +0 -324
  414. package/dist/cjs/operations/jobs/run.js.map +0 -1
  415. package/dist/cjs/operations/jobs/site-archive.d.ts +0 -267
  416. package/dist/cjs/operations/jobs/site-archive.js +0 -423
  417. package/dist/cjs/operations/jobs/site-archive.js.map +0 -1
  418. package/dist/cjs/operations/logs/index.d.ts +0 -65
  419. package/dist/cjs/operations/logs/index.js +0 -73
  420. package/dist/cjs/operations/logs/index.js.map +0 -1
  421. package/dist/cjs/operations/logs/list.d.ts +0 -35
  422. package/dist/cjs/operations/logs/list.js +0 -144
  423. package/dist/cjs/operations/logs/list.js.map +0 -1
  424. package/dist/cjs/operations/logs/path-normalizer.d.ts +0 -82
  425. package/dist/cjs/operations/logs/path-normalizer.js +0 -190
  426. package/dist/cjs/operations/logs/path-normalizer.js.map +0 -1
  427. package/dist/cjs/operations/logs/tail.d.ts +0 -92
  428. package/dist/cjs/operations/logs/tail.js +0 -525
  429. package/dist/cjs/operations/logs/tail.js.map +0 -1
  430. package/dist/cjs/operations/logs/types.d.ts +0 -132
  431. package/dist/cjs/operations/logs/types.js +0 -7
  432. package/dist/cjs/operations/logs/types.js.map +0 -1
  433. package/dist/cjs/operations/mrt/access-control.d.ts +0 -192
  434. package/dist/cjs/operations/mrt/access-control.js +0 -152
  435. package/dist/cjs/operations/mrt/access-control.js.map +0 -1
  436. package/dist/cjs/operations/mrt/b2c-config.d.ts +0 -201
  437. package/dist/cjs/operations/mrt/b2c-config.js +0 -210
  438. package/dist/cjs/operations/mrt/b2c-config.js.map +0 -1
  439. package/dist/cjs/operations/mrt/bundle.d.ts +0 -114
  440. package/dist/cjs/operations/mrt/bundle.js +0 -166
  441. package/dist/cjs/operations/mrt/bundle.js.map +0 -1
  442. package/dist/cjs/operations/mrt/cache.d.ts +0 -80
  443. package/dist/cjs/operations/mrt/cache.js +0 -65
  444. package/dist/cjs/operations/mrt/cache.js.map +0 -1
  445. package/dist/cjs/operations/mrt/certificate.d.ts +0 -60
  446. package/dist/cjs/operations/mrt/certificate.js +0 -76
  447. package/dist/cjs/operations/mrt/certificate.js.map +0 -1
  448. package/dist/cjs/operations/mrt/deployment.d.ts +0 -157
  449. package/dist/cjs/operations/mrt/deployment.js +0 -109
  450. package/dist/cjs/operations/mrt/deployment.js.map +0 -1
  451. package/dist/cjs/operations/mrt/env-var.d.ts +0 -176
  452. package/dist/cjs/operations/mrt/env-var.js +0 -231
  453. package/dist/cjs/operations/mrt/env-var.js.map +0 -1
  454. package/dist/cjs/operations/mrt/env.d.ts +0 -491
  455. package/dist/cjs/operations/mrt/env.js +0 -425
  456. package/dist/cjs/operations/mrt/env.js.map +0 -1
  457. package/dist/cjs/operations/mrt/index.d.ts +0 -75
  458. package/dist/cjs/operations/mrt/index.js +0 -81
  459. package/dist/cjs/operations/mrt/index.js.map +0 -1
  460. package/dist/cjs/operations/mrt/member.d.ts +0 -281
  461. package/dist/cjs/operations/mrt/member.js +0 -244
  462. package/dist/cjs/operations/mrt/member.js.map +0 -1
  463. package/dist/cjs/operations/mrt/notification.d.ts +0 -252
  464. package/dist/cjs/operations/mrt/notification.js +0 -206
  465. package/dist/cjs/operations/mrt/notification.js.map +0 -1
  466. package/dist/cjs/operations/mrt/organization-member.d.ts +0 -68
  467. package/dist/cjs/operations/mrt/organization-member.js +0 -88
  468. package/dist/cjs/operations/mrt/organization-member.js.map +0 -1
  469. package/dist/cjs/operations/mrt/organization.d.ts +0 -80
  470. package/dist/cjs/operations/mrt/organization.js +0 -53
  471. package/dist/cjs/operations/mrt/organization.js.map +0 -1
  472. package/dist/cjs/operations/mrt/project.d.ts +0 -261
  473. package/dist/cjs/operations/mrt/project.js +0 -232
  474. package/dist/cjs/operations/mrt/project.js.map +0 -1
  475. package/dist/cjs/operations/mrt/push.d.ts +0 -290
  476. package/dist/cjs/operations/mrt/push.js +0 -288
  477. package/dist/cjs/operations/mrt/push.js.map +0 -1
  478. package/dist/cjs/operations/mrt/redirect.d.ts +0 -337
  479. package/dist/cjs/operations/mrt/redirect.js +0 -256
  480. package/dist/cjs/operations/mrt/redirect.js.map +0 -1
  481. package/dist/cjs/operations/mrt/tail-logs.d.ts +0 -130
  482. package/dist/cjs/operations/mrt/tail-logs.js +0 -224
  483. package/dist/cjs/operations/mrt/tail-logs.js.map +0 -1
  484. package/dist/cjs/operations/mrt/user.d.ts +0 -135
  485. package/dist/cjs/operations/mrt/user.js +0 -153
  486. package/dist/cjs/operations/mrt/user.js.map +0 -1
  487. package/dist/cjs/operations/ods/index.d.ts +0 -10
  488. package/dist/cjs/operations/ods/index.js +0 -14
  489. package/dist/cjs/operations/ods/index.js.map +0 -1
  490. package/dist/cjs/operations/ods/sandbox-lookup.d.ts +0 -63
  491. package/dist/cjs/operations/ods/sandbox-lookup.js +0 -130
  492. package/dist/cjs/operations/ods/sandbox-lookup.js.map +0 -1
  493. package/dist/cjs/operations/ods/wait-for-clone.d.ts +0 -46
  494. package/dist/cjs/operations/ods/wait-for-clone.js +0 -100
  495. package/dist/cjs/operations/ods/wait-for-clone.js.map +0 -1
  496. package/dist/cjs/operations/ods/wait-for-sandbox.d.ts +0 -64
  497. package/dist/cjs/operations/ods/wait-for-sandbox.js +0 -114
  498. package/dist/cjs/operations/ods/wait-for-sandbox.js.map +0 -1
  499. package/dist/cjs/operations/orgs/index.d.ts +0 -74
  500. package/dist/cjs/operations/orgs/index.js +0 -33
  501. package/dist/cjs/operations/orgs/index.js.map +0 -1
  502. package/dist/cjs/operations/roles/index.d.ts +0 -43
  503. package/dist/cjs/operations/roles/index.js +0 -48
  504. package/dist/cjs/operations/roles/index.js.map +0 -1
  505. package/dist/cjs/operations/sites/cartridges.d.ts +0 -114
  506. package/dist/cjs/operations/sites/cartridges.js +0 -378
  507. package/dist/cjs/operations/sites/cartridges.js.map +0 -1
  508. package/dist/cjs/operations/sites/index.d.ts +0 -46
  509. package/dist/cjs/operations/sites/index.js +0 -51
  510. package/dist/cjs/operations/sites/index.js.map +0 -1
  511. package/dist/cjs/operations/users/index.d.ts +0 -153
  512. package/dist/cjs/operations/users/index.js +0 -139
  513. package/dist/cjs/operations/users/index.js.map +0 -1
  514. package/dist/cjs/operations/util/zip.d.ts +0 -5
  515. package/dist/cjs/operations/util/zip.js +0 -25
  516. package/dist/cjs/operations/util/zip.js.map +0 -1
  517. package/dist/cjs/package.json +0 -1
  518. package/dist/cjs/plugins/discovery.d.ts +0 -46
  519. package/dist/cjs/plugins/discovery.js +0 -122
  520. package/dist/cjs/plugins/discovery.js.map +0 -1
  521. package/dist/cjs/plugins/index.d.ts +0 -26
  522. package/dist/cjs/plugins/index.js +0 -32
  523. package/dist/cjs/plugins/index.js.map +0 -1
  524. package/dist/cjs/plugins/loader.d.ts +0 -34
  525. package/dist/cjs/plugins/loader.js +0 -59
  526. package/dist/cjs/plugins/loader.js.map +0 -1
  527. package/dist/cjs/plugins/manager.d.ts +0 -70
  528. package/dist/cjs/plugins/manager.js +0 -173
  529. package/dist/cjs/plugins/manager.js.map +0 -1
  530. package/dist/cjs/safety/index.d.ts +0 -12
  531. package/dist/cjs/safety/index.js +0 -11
  532. package/dist/cjs/safety/index.js.map +0 -1
  533. package/dist/cjs/safety/safety-guard.d.ts +0 -92
  534. package/dist/cjs/safety/safety-guard.js +0 -270
  535. package/dist/cjs/safety/safety-guard.js.map +0 -1
  536. package/dist/cjs/safety/safety-middleware.d.ts +0 -130
  537. package/dist/cjs/safety/safety-middleware.js +0 -248
  538. package/dist/cjs/safety/safety-middleware.js.map +0 -1
  539. package/dist/cjs/safety/types.d.ts +0 -81
  540. package/dist/cjs/safety/types.js +0 -16
  541. package/dist/cjs/safety/types.js.map +0 -1
  542. package/dist/cjs/safety/with-confirmation.d.ts +0 -58
  543. package/dist/cjs/safety/with-confirmation.js +0 -67
  544. package/dist/cjs/safety/with-confirmation.js.map +0 -1
  545. package/dist/cjs/scaffold/engine.d.ts +0 -68
  546. package/dist/cjs/scaffold/engine.js +0 -149
  547. package/dist/cjs/scaffold/engine.js.map +0 -1
  548. package/dist/cjs/scaffold/executor.d.ts +0 -36
  549. package/dist/cjs/scaffold/executor.js +0 -293
  550. package/dist/cjs/scaffold/executor.js.map +0 -1
  551. package/dist/cjs/scaffold/index.d.ts +0 -76
  552. package/dist/cjs/scaffold/index.js +0 -23
  553. package/dist/cjs/scaffold/index.js.map +0 -1
  554. package/dist/cjs/scaffold/merge.d.ts +0 -63
  555. package/dist/cjs/scaffold/merge.js +0 -192
  556. package/dist/cjs/scaffold/merge.js.map +0 -1
  557. package/dist/cjs/scaffold/parameter-resolver.d.ts +0 -86
  558. package/dist/cjs/scaffold/parameter-resolver.js +0 -191
  559. package/dist/cjs/scaffold/parameter-resolver.js.map +0 -1
  560. package/dist/cjs/scaffold/registry.d.ts +0 -60
  561. package/dist/cjs/scaffold/registry.js +0 -225
  562. package/dist/cjs/scaffold/registry.js.map +0 -1
  563. package/dist/cjs/scaffold/sources.d.ts +0 -83
  564. package/dist/cjs/scaffold/sources.js +0 -236
  565. package/dist/cjs/scaffold/sources.js.map +0 -1
  566. package/dist/cjs/scaffold/types.d.ts +0 -282
  567. package/dist/cjs/scaffold/types.js +0 -14
  568. package/dist/cjs/scaffold/types.js.map +0 -1
  569. package/dist/cjs/scaffold/validation.d.ts +0 -81
  570. package/dist/cjs/scaffold/validation.js +0 -250
  571. package/dist/cjs/scaffold/validation.js.map +0 -1
  572. package/dist/cjs/scaffold/validators.d.ts +0 -33
  573. package/dist/cjs/scaffold/validators.js +0 -340
  574. package/dist/cjs/scaffold/validators.js.map +0 -1
  575. package/dist/cjs/schemas/collapse.d.ts +0 -150
  576. package/dist/cjs/schemas/collapse.js +0 -180
  577. package/dist/cjs/schemas/collapse.js.map +0 -1
  578. package/dist/cjs/schemas/index.d.ts +0 -58
  579. package/dist/cjs/schemas/index.js +0 -65
  580. package/dist/cjs/schemas/index.js.map +0 -1
  581. package/dist/cjs/schemas/security-schemes.d.ts +0 -26
  582. package/dist/cjs/schemas/security-schemes.js +0 -44
  583. package/dist/cjs/schemas/security-schemes.js.map +0 -1
  584. package/dist/cjs/skills/agents.d.ts +0 -42
  585. package/dist/cjs/skills/agents.js +0 -200
  586. package/dist/cjs/skills/agents.js.map +0 -1
  587. package/dist/cjs/skills/github.d.ts +0 -31
  588. package/dist/cjs/skills/github.js +0 -450
  589. package/dist/cjs/skills/github.js.map +0 -1
  590. package/dist/cjs/skills/index.d.ts +0 -43
  591. package/dist/cjs/skills/index.js +0 -16
  592. package/dist/cjs/skills/index.js.map +0 -1
  593. package/dist/cjs/skills/installer.d.ts +0 -35
  594. package/dist/cjs/skills/installer.js +0 -182
  595. package/dist/cjs/skills/installer.js.map +0 -1
  596. package/dist/cjs/skills/parser.d.ts +0 -39
  597. package/dist/cjs/skills/parser.js +0 -126
  598. package/dist/cjs/skills/parser.js.map +0 -1
  599. package/dist/cjs/skills/sources.d.ts +0 -4
  600. package/dist/cjs/skills/sources.js +0 -52
  601. package/dist/cjs/skills/sources.js.map +0 -1
  602. package/dist/cjs/skills/types.d.ts +0 -153
  603. package/dist/cjs/skills/types.js +0 -7
  604. package/dist/cjs/skills/types.js.map +0 -1
  605. package/dist/cjs/slas/index.d.ts +0 -12
  606. package/dist/cjs/slas/index.js +0 -8
  607. package/dist/cjs/slas/index.js.map +0 -1
  608. package/dist/cjs/slas/pkce.d.ts +0 -13
  609. package/dist/cjs/slas/pkce.js +0 -35
  610. package/dist/cjs/slas/pkce.js.map +0 -1
  611. package/dist/cjs/slas/token.d.ts +0 -24
  612. package/dist/cjs/slas/token.js +0 -261
  613. package/dist/cjs/slas/token.js.map +0 -1
  614. package/dist/cjs/slas/types.d.ts +0 -43
  615. package/dist/cjs/slas/types.js +0 -7
  616. package/dist/cjs/slas/types.js.map +0 -1
  617. package/dist/cjs/telemetry/index.d.ts +0 -34
  618. package/dist/cjs/telemetry/index.js +0 -32
  619. package/dist/cjs/telemetry/index.js.map +0 -1
  620. package/dist/cjs/telemetry/telemetry.d.ts +0 -88
  621. package/dist/cjs/telemetry/telemetry.js +0 -298
  622. package/dist/cjs/telemetry/telemetry.js.map +0 -1
  623. package/dist/cjs/telemetry/types.d.ts +0 -62
  624. package/dist/cjs/telemetry/types.js +0 -7
  625. package/dist/cjs/telemetry/types.js.map +0 -1
  626. package/dist/cjs/test-utils/config-isolation.d.ts +0 -2
  627. package/dist/cjs/test-utils/config-isolation.js +0 -48
  628. package/dist/cjs/test-utils/config-isolation.js.map +0 -1
  629. package/dist/cjs/test-utils/index.d.ts +0 -1
  630. package/dist/cjs/test-utils/index.js +0 -7
  631. package/dist/cjs/test-utils/index.js.map +0 -1
  632. package/dist/cjs/ux/confirm.d.ts +0 -14
  633. package/dist/cjs/ux/confirm.js +0 -36
  634. package/dist/cjs/ux/confirm.js.map +0 -1
  635. package/dist/cjs/ux/index.d.ts +0 -1
  636. package/dist/cjs/ux/index.js +0 -7
  637. package/dist/cjs/ux/index.js.map +0 -1
  638. package/dist/cjs/version.d.ts +0 -14
  639. package/dist/cjs/version.js +0 -29
  640. package/dist/cjs/version.js.map +0 -1
@@ -1,77 +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
- * Commerce App Package (CAP) packaging.
8
- *
9
- * Zips a CAP directory into a distributable .zip file with the correct
10
- * root directory naming convention ({id}-v{version}/).
11
- */
12
- import * as fs from 'node:fs';
13
- import * as path from 'node:path';
14
- import JSZip from 'jszip';
15
- import { getLogger } from '../../logging/logger.js';
16
- import { addDirectoryToZip } from '../util/zip.js';
17
- import { readManifest } from './install.js';
18
- /**
19
- * Packages a CAP directory into a distributable .zip file.
20
- *
21
- * The zip root directory is named `{id}-v{version}/` as required by the CAP spec.
22
- * Reads commerce-app.json to determine the app name and version.
23
- *
24
- * @param sourceDir - Path to the CAP directory
25
- * @param options - Packaging options
26
- * @returns Result with the output zip path and manifest
27
- *
28
- * @example
29
- * ```typescript
30
- * const result = await commerceAppPackage('./commerce-avalara-tax-app-v0.2.5');
31
- * console.log(`Packaged to: ${result.outputPath}`);
32
- * ```
33
- */
34
- export async function commerceAppPackage(sourceDir, options = {}) {
35
- const logger = getLogger();
36
- if (!fs.existsSync(sourceDir)) {
37
- throw new Error(`Source directory not found: ${sourceDir}`);
38
- }
39
- if (!fs.statSync(sourceDir).isDirectory()) {
40
- throw new Error(`Source must be a directory: ${sourceDir}`);
41
- }
42
- const manifest = readManifest(sourceDir);
43
- if (!manifest.id || !manifest.version) {
44
- throw new Error('commerce-app.json must have "id" and "version" fields');
45
- }
46
- const archiveDirName = `${manifest.id}-v${manifest.version}`;
47
- const zipFilename = `${archiveDirName}.zip`;
48
- // Determine output path
49
- let outputZipPath;
50
- if (!options.outputPath) {
51
- outputZipPath = path.resolve(process.cwd(), zipFilename);
52
- }
53
- else {
54
- const resolved = path.resolve(options.outputPath);
55
- if (resolved.endsWith('.zip')) {
56
- outputZipPath = resolved;
57
- }
58
- else {
59
- outputZipPath = path.join(resolved, zipFilename);
60
- }
61
- }
62
- // Ensure output directory exists
63
- await fs.promises.mkdir(path.dirname(outputZipPath), { recursive: true });
64
- logger.debug({ sourceDir, outputPath: outputZipPath }, `Packaging CAP: ${archiveDirName}`);
65
- const zip = new JSZip();
66
- const rootFolder = zip.folder(archiveDirName);
67
- await addDirectoryToZip(rootFolder, sourceDir);
68
- const buffer = await zip.generateAsync({
69
- type: 'nodebuffer',
70
- compression: 'DEFLATE',
71
- compressionOptions: { level: 9 },
72
- });
73
- await fs.promises.writeFile(outputZipPath, buffer);
74
- logger.debug({ outputPath: outputZipPath }, `CAP packaged to: ${outputZipPath}`);
75
- return { outputPath: outputZipPath, manifest };
76
- }
77
- //# sourceMappingURL=package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/operations/cap/package.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { B2CInstance } from '../../instance/index.js';
2
- import type { CommerceFeatureState } from './list.js';
3
- export interface PullCommerceAppsOptions {
4
- outputDir?: string;
5
- }
6
- export type PullSource = 'instance' | 'github';
7
- export interface PulledApp {
8
- featureName: string;
9
- version: string;
10
- domain: string;
11
- source: PullSource;
12
- extractedPath: string;
13
- }
14
- export interface PullCommerceAppsResult {
15
- pulled: PulledApp[];
16
- failed: Array<{
17
- featureName: string;
18
- error: string;
19
- }>;
20
- }
21
- export declare function pullCommerceApps(instance: B2CInstance, features: CommerceFeatureState[], options?: PullCommerceAppsOptions): Promise<PullCommerceAppsResult>;
@@ -1,77 +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 * as fs from 'node:fs';
7
- import * as path from 'node:path';
8
- import JSZip from 'jszip';
9
- import { getLogger } from '../../logging/logger.js';
10
- const GITHUB_RAW_BASE = 'https://raw.githubusercontent.com/SalesforceCommerceCloud/commerce-apps/main';
11
- export async function pullCommerceApps(instance, features, options = {}) {
12
- const logger = getLogger();
13
- const outputDir = path.resolve(options.outputDir ?? 'commerce-apps');
14
- await fs.promises.mkdir(outputDir, { recursive: true });
15
- const pulled = [];
16
- const failed = [];
17
- for (const feature of features) {
18
- const { featureName, featureVersionId, featureDomain } = feature;
19
- if (!featureVersionId) {
20
- failed.push({ featureName, error: 'No version available' });
21
- continue;
22
- }
23
- const zipFilename = `${featureName}-v${featureVersionId}.zip`;
24
- const webdavPath = `Impex/commerce-apps/${zipFilename}`;
25
- let zipData = null;
26
- let source = 'instance';
27
- // Try instance first
28
- if (await instance.webdav.exists(webdavPath)) {
29
- logger.debug({ path: webdavPath }, `Downloading ${zipFilename} from instance`);
30
- zipData = Buffer.from(await instance.webdav.get(webdavPath));
31
- }
32
- // Fall back to GitHub
33
- if (!zipData) {
34
- const githubUrl = `${GITHUB_RAW_BASE}/${featureDomain}/${featureName}/${zipFilename}`;
35
- logger.warn({ url: githubUrl }, `${zipFilename} not found on instance, trying GitHub`);
36
- source = 'github';
37
- try {
38
- const response = await fetch(githubUrl);
39
- if (!response.ok) {
40
- failed.push({ featureName, error: `Not found on instance or GitHub (${githubUrl})` });
41
- continue;
42
- }
43
- zipData = Buffer.from(await response.arrayBuffer());
44
- }
45
- catch (err) {
46
- const msg = err instanceof Error ? err.message : String(err);
47
- failed.push({ featureName, error: `GitHub download failed: ${msg}` });
48
- continue;
49
- }
50
- }
51
- // Extract zip
52
- const zip = await JSZip.loadAsync(zipData);
53
- const extractDir = path.join(outputDir, featureName);
54
- await fs.promises.mkdir(extractDir, { recursive: true });
55
- for (const [filePath, entry] of Object.entries(zip.files)) {
56
- if (entry.dir)
57
- continue;
58
- // Strip the top-level archive directory (e.g. "avalara-tax-v1.1.0/...")
59
- const parts = filePath.split('/');
60
- const relativePath = parts.length > 1 ? parts.slice(1).join('/') : filePath;
61
- const fullPath = path.join(extractDir, relativePath);
62
- await fs.promises.mkdir(path.dirname(fullPath), { recursive: true });
63
- const content = await entry.async('nodebuffer');
64
- await fs.promises.writeFile(fullPath, content);
65
- }
66
- logger.debug({ featureName, extractDir }, `Extracted ${featureName} to ${extractDir}`);
67
- pulled.push({
68
- featureName,
69
- version: featureVersionId,
70
- domain: featureDomain,
71
- source,
72
- extractedPath: extractDir,
73
- });
74
- }
75
- return { pulled, failed };
76
- }
77
- //# sourceMappingURL=pull.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../../src/operations/cap/pull.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Commerce App Package (CAP) uninstallation.
3
- *
4
- * Runs the sfcc-uninstall-commerce-app system job to remove an installed CAP.
5
- */
6
- import { B2CInstance } from '../../instance/index.js';
7
- import { type JobExecution, type WaitForJobOptions } from '../jobs/run.js';
8
- /**
9
- * Options for CAP uninstallation.
10
- */
11
- export interface CommerceAppUninstallOptions {
12
- /** Target site ID to uninstall the app from. */
13
- siteId: string;
14
- /** Wait options for job completion. */
15
- waitOptions?: WaitForJobOptions;
16
- }
17
- /**
18
- * Result of a CAP uninstallation.
19
- */
20
- export interface CommerceAppUninstallResult {
21
- /** Job execution details. */
22
- execution: JobExecution;
23
- /** App name that was uninstalled. */
24
- appName: string;
25
- }
26
- /**
27
- * Uninstalls a Commerce App from a B2C Commerce instance.
28
- *
29
- * Executes the sfcc-uninstall-commerce-app system job which removes cartridges,
30
- * IMPEX data, and configuration associated with the app from the target site.
31
- *
32
- * @param instance - B2C instance to uninstall from
33
- * @param appName - App ID (from commerce-app.json "id" field, e.g. "avalara-tax")
34
- * @param appDomain - App domain (e.g. "tax", "shipping")
35
- * @param options - Uninstall options including required siteId
36
- * @returns Uninstall result with job execution details
37
- * @throws JobExecutionError if the uninstall job fails
38
- *
39
- * @example
40
- * ```typescript
41
- * const result = await commerceAppUninstall(instance, 'avalara-tax', 'tax', {
42
- * siteId: 'RefArch',
43
- * });
44
- * ```
45
- */
46
- export declare function commerceAppUninstall(instance: B2CInstance, appName: string, appDomain: string, options: CommerceAppUninstallOptions): Promise<CommerceAppUninstallResult>;
@@ -1,87 +0,0 @@
1
- import { getLogger } from '../../logging/logger.js';
2
- import { waitForJob, JobExecutionError, getJobLog } from '../jobs/run.js';
3
- import { normalizeSiteId } from './install.js';
4
- const UNINSTALL_JOB_ID = 'sfcc-uninstall-commerce-app';
5
- /**
6
- * Uninstalls a Commerce App from a B2C Commerce instance.
7
- *
8
- * Executes the sfcc-uninstall-commerce-app system job which removes cartridges,
9
- * IMPEX data, and configuration associated with the app from the target site.
10
- *
11
- * @param instance - B2C instance to uninstall from
12
- * @param appName - App ID (from commerce-app.json "id" field, e.g. "avalara-tax")
13
- * @param appDomain - App domain (e.g. "tax", "shipping")
14
- * @param options - Uninstall options including required siteId
15
- * @returns Uninstall result with job execution details
16
- * @throws JobExecutionError if the uninstall job fails
17
- *
18
- * @example
19
- * ```typescript
20
- * const result = await commerceAppUninstall(instance, 'avalara-tax', 'tax', {
21
- * siteId: 'RefArch',
22
- * });
23
- * ```
24
- */
25
- export async function commerceAppUninstall(instance, appName, appDomain, options) {
26
- const logger = getLogger();
27
- const { siteId: rawSiteId, waitOptions } = options;
28
- const siteId = normalizeSiteId(rawSiteId);
29
- logger.debug({ jobId: UNINSTALL_JOB_ID, appName, siteId }, `Executing ${UNINSTALL_JOB_ID} job`);
30
- let execution;
31
- // Try direct body format first (standard OCAPI format)
32
- const { data, error } = await instance.ocapi.POST('/jobs/{job_id}/executions', {
33
- params: { path: { job_id: UNINSTALL_JOB_ID } },
34
- body: {
35
- app_name: appName,
36
- app_domain: appDomain,
37
- site_id: siteId,
38
- },
39
- });
40
- if (error?.fault?.type === 'UnknownPropertyException' &&
41
- error.fault.arguments?.document === 'job_execution_request') {
42
- // Retry with parameters format (internal/support users)
43
- logger.warn('Retrying with parameters format for internal users');
44
- const { data: retryData, error: retryError } = await instance.ocapi.POST('/jobs/{job_id}/executions', {
45
- params: { path: { job_id: UNINSTALL_JOB_ID } },
46
- body: {
47
- parameters: [
48
- { name: 'AppName', value: appName },
49
- { name: 'AppDomain', value: appDomain },
50
- { name: 'SiteId', value: siteId },
51
- ],
52
- },
53
- });
54
- if (retryError || !retryData) {
55
- throw new Error(retryError?.fault?.message ?? 'Failed to start uninstall job');
56
- }
57
- execution = retryData;
58
- }
59
- else if (error || !data) {
60
- throw new Error(error?.fault?.message ?? 'Failed to start uninstall job');
61
- }
62
- else {
63
- execution = data;
64
- }
65
- logger.debug({ jobId: UNINSTALL_JOB_ID, executionId: execution.id }, `Uninstall job started: ${execution.id}`);
66
- let finalExecution;
67
- try {
68
- finalExecution = await waitForJob(instance, UNINSTALL_JOB_ID, execution.id, waitOptions);
69
- }
70
- catch (err) {
71
- if (err instanceof JobExecutionError) {
72
- try {
73
- const log = await getJobLog(instance, err.execution);
74
- logger.error({ jobId: UNINSTALL_JOB_ID, log }, `Job log:\n${log}`);
75
- }
76
- catch {
77
- logger.error({ jobId: UNINSTALL_JOB_ID }, 'Could not retrieve job log');
78
- }
79
- }
80
- throw err;
81
- }
82
- return {
83
- execution: finalExecution,
84
- appName,
85
- };
86
- }
87
- //# sourceMappingURL=uninstall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/operations/cap/uninstall.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Manifest from commerce-app.json.
3
- */
4
- export interface CommerceAppManifest {
5
- id: string;
6
- name: string;
7
- version: string;
8
- domain: string;
9
- description?: string;
10
- publisher?: {
11
- name: string;
12
- url?: string;
13
- support?: string;
14
- };
15
- dependencies?: Record<string, string>;
16
- }
17
- /**
18
- * Result of CAP validation.
19
- */
20
- export interface CapValidationResult {
21
- /** Whether the CAP is valid (no errors). */
22
- valid: boolean;
23
- /** Blocking errors — a CAP with errors cannot be installed. */
24
- errors: string[];
25
- /** Advisory warnings — a CAP with warnings can still be installed. */
26
- warnings: string[];
27
- /** Parsed manifest from commerce-app.json (if parseable). */
28
- manifest?: CommerceAppManifest;
29
- }
30
- /**
31
- * Validates a Commerce App Package (CAP) directory or zip file.
32
- *
33
- * Checks required files, manifest schema, and cartridge structure rules.
34
- * This is a purely local operation — no B2C instance required.
35
- *
36
- * @param target - Path to a CAP directory or .zip file
37
- * @returns Validation result with errors and warnings
38
- *
39
- * @example
40
- * ```typescript
41
- * const result = await validateCap('./my-commerce-app-v1.0.0');
42
- * if (!result.valid) {
43
- * console.error('Validation errors:', result.errors);
44
- * }
45
- * ```
46
- */
47
- export declare function validateCap(target: string): Promise<CapValidationResult>;
@@ -1,235 +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
- * Validation logic for Commerce App Packages (CAPs).
8
- *
9
- * Performs structural and schema validation of a CAP directory or zip file
10
- * without requiring a live B2C instance.
11
- */
12
- import * as fs from 'node:fs';
13
- import * as os from 'node:os';
14
- import * as path from 'node:path';
15
- import JSZip from 'jszip';
16
- const SEMVER_RE = /^\d+\.\d+\.\d+(-[\w.]+)?(\+[\w.]+)?$/;
17
- /**
18
- * Validates a Commerce App Package (CAP) directory or zip file.
19
- *
20
- * Checks required files, manifest schema, and cartridge structure rules.
21
- * This is a purely local operation — no B2C instance required.
22
- *
23
- * @param target - Path to a CAP directory or .zip file
24
- * @returns Validation result with errors and warnings
25
- *
26
- * @example
27
- * ```typescript
28
- * const result = await validateCap('./my-commerce-app-v1.0.0');
29
- * if (!result.valid) {
30
- * console.error('Validation errors:', result.errors);
31
- * }
32
- * ```
33
- */
34
- export async function validateCap(target) {
35
- const errors = [];
36
- const warnings = [];
37
- let manifest;
38
- if (!fs.existsSync(target)) {
39
- return { valid: false, errors: [`Target not found: ${target}`], warnings };
40
- }
41
- const stat = fs.statSync(target);
42
- let capDir;
43
- let tempDir;
44
- if (stat.isDirectory()) {
45
- capDir = target;
46
- }
47
- else if (stat.isFile() && target.endsWith('.zip')) {
48
- // Extract zip to temp dir for inspection
49
- tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'b2c-cap-validate-'));
50
- try {
51
- await extractZipToDir(target, tempDir);
52
- // The zip root should be a single directory
53
- const entries = fs.readdirSync(tempDir);
54
- if (entries.length === 1 && fs.statSync(path.join(tempDir, entries[0])).isDirectory()) {
55
- capDir = path.join(tempDir, entries[0]);
56
- }
57
- else {
58
- capDir = tempDir;
59
- }
60
- }
61
- catch (err) {
62
- const msg = err instanceof Error ? err.message : String(err);
63
- cleanupTemp(tempDir);
64
- return { valid: false, errors: [`Failed to read zip: ${msg}`], warnings };
65
- }
66
- }
67
- else {
68
- return { valid: false, errors: [`Target must be a directory or .zip file: ${target}`], warnings };
69
- }
70
- try {
71
- // --- commerce-app.json ---
72
- const manifestPath = path.join(capDir, 'commerce-app.json');
73
- if (!fs.existsSync(manifestPath)) {
74
- errors.push('Missing required file: commerce-app.json');
75
- }
76
- else {
77
- try {
78
- const raw = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
79
- const requiredFields = ['id', 'name', 'version', 'domain'];
80
- for (const field of requiredFields) {
81
- if (!raw[field] || typeof raw[field] !== 'string') {
82
- errors.push(`commerce-app.json: missing or invalid field "${field}"`);
83
- }
84
- }
85
- if (raw.version && typeof raw.version === 'string' && !SEMVER_RE.test(raw.version)) {
86
- errors.push(`commerce-app.json: "version" must be a valid semver string (got "${raw.version}")`);
87
- }
88
- if (errors.filter((e) => e.startsWith('commerce-app.json:')).length === 0) {
89
- manifest = raw;
90
- }
91
- // Check root dir naming convention
92
- const dirName = path.basename(capDir);
93
- if (manifest && dirName !== '.' && dirName !== tempDir) {
94
- const expectedName = `${manifest.id}-v${manifest.version}`;
95
- if (dirName !== expectedName) {
96
- warnings.push(`Root directory "${dirName}" does not match expected convention "${expectedName}"`);
97
- }
98
- }
99
- }
100
- catch {
101
- errors.push('commerce-app.json: file exists but is not valid JSON');
102
- }
103
- }
104
- // --- README.md ---
105
- if (!fs.existsSync(path.join(capDir, 'README.md'))) {
106
- errors.push('Missing required file: README.md');
107
- }
108
- // --- app-configuration/tasksList.json ---
109
- const tasksListPath = path.join(capDir, 'app-configuration', 'tasksList.json');
110
- if (!fs.existsSync(tasksListPath)) {
111
- errors.push('Missing required file: app-configuration/tasksList.json');
112
- }
113
- else {
114
- try {
115
- const tasks = JSON.parse(fs.readFileSync(tasksListPath, 'utf-8'));
116
- if (!Array.isArray(tasks)) {
117
- errors.push('app-configuration/tasksList.json: must be a JSON array');
118
- }
119
- else {
120
- for (let i = 0; i < tasks.length; i++) {
121
- const task = tasks[i];
122
- for (const field of ['taskNumber', 'name', 'description', 'link']) {
123
- if (!task[field]) {
124
- errors.push(`app-configuration/tasksList.json: task[${i}] missing field "${field}"`);
125
- }
126
- }
127
- }
128
- }
129
- }
130
- catch {
131
- errors.push('app-configuration/tasksList.json: file exists but is not valid JSON');
132
- }
133
- }
134
- // --- At least one substantive directory ---
135
- const hasCartridges = fs.existsSync(path.join(capDir, 'cartridges'));
136
- const hasStorefrontNext = fs.existsSync(path.join(capDir, 'storefront-next'));
137
- const hasImpex = fs.existsSync(path.join(capDir, 'impex'));
138
- if (!hasCartridges && !hasStorefrontNext && !hasImpex) {
139
- errors.push('CAP must contain at least one of: cartridges/, storefront-next/, impex/');
140
- }
141
- // --- Cartridge rules ---
142
- if (hasCartridges) {
143
- const cartridgesDir = path.join(capDir, 'cartridges');
144
- validateCartridges(cartridgesDir, errors);
145
- }
146
- // --- Optional warnings ---
147
- if (!fs.existsSync(path.join(capDir, 'icons', 'icon.png'))) {
148
- warnings.push('icons/icon.png not found (recommended for marketplace listing)');
149
- }
150
- if (hasImpex && !fs.existsSync(path.join(capDir, 'impex', 'uninstall'))) {
151
- warnings.push('impex/uninstall/ not found (recommended for clean removal)');
152
- }
153
- }
154
- finally {
155
- cleanupTemp(tempDir);
156
- }
157
- return { valid: errors.length === 0, errors, warnings, manifest };
158
- }
159
- /**
160
- * Validates cartridge structure and rules.
161
- * - No pipeline/ directories
162
- * - No *.ds pipeline descriptor files
163
- * - Site cartridges must not have controllers/
164
- */
165
- function validateCartridges(cartridgesDir, errors) {
166
- // Check entire cartridges tree for pipelines
167
- walkDir(cartridgesDir, (filePath, name, isDir) => {
168
- if (isDir && name === 'pipeline') {
169
- const rel = path.relative(cartridgesDir, filePath);
170
- errors.push(`Pipelines not allowed in CAPs: cartridges/${rel}`);
171
- }
172
- if (!isDir && name.endsWith('.ds')) {
173
- const rel = path.relative(cartridgesDir, filePath);
174
- errors.push(`Pipeline descriptor files not allowed in CAPs: cartridges/${rel}`);
175
- }
176
- });
177
- // Site cartridges must not contain controllers/
178
- const siteCartridgesDir = path.join(cartridgesDir, 'site_cartridges');
179
- if (fs.existsSync(siteCartridgesDir)) {
180
- walkDir(siteCartridgesDir, (filePath, name, isDir) => {
181
- if (isDir && name === 'controllers') {
182
- const rel = path.relative(siteCartridgesDir, filePath);
183
- errors.push(`Site cartridges must not contain controllers/ (use BM cartridges instead): site_cartridges/${rel}`);
184
- }
185
- });
186
- }
187
- }
188
- /**
189
- * Walks a directory tree, calling callback for each entry.
190
- * Stops recursing into a directory if callback returns false.
191
- */
192
- function walkDir(dir, cb) {
193
- if (!fs.existsSync(dir))
194
- return;
195
- let entries;
196
- try {
197
- entries = fs.readdirSync(dir, { withFileTypes: true });
198
- }
199
- catch {
200
- return;
201
- }
202
- for (const entry of entries) {
203
- const fullPath = path.join(dir, entry.name);
204
- cb(fullPath, entry.name, entry.isDirectory());
205
- if (entry.isDirectory()) {
206
- walkDir(fullPath, cb);
207
- }
208
- }
209
- }
210
- async function extractZipToDir(zipPath, destDir) {
211
- const data = await fs.promises.readFile(zipPath);
212
- const zip = await JSZip.loadAsync(data);
213
- for (const [relPath, entry] of Object.entries(zip.files)) {
214
- const fullPath = path.join(destDir, relPath);
215
- if (entry.dir) {
216
- await fs.promises.mkdir(fullPath, { recursive: true });
217
- }
218
- else {
219
- await fs.promises.mkdir(path.dirname(fullPath), { recursive: true });
220
- const content = await entry.async('nodebuffer');
221
- await fs.promises.writeFile(fullPath, content);
222
- }
223
- }
224
- }
225
- function cleanupTemp(tempDir) {
226
- if (tempDir) {
227
- try {
228
- fs.rmSync(tempDir, { recursive: true, force: true });
229
- }
230
- catch {
231
- // ignore cleanup errors
232
- }
233
- }
234
- }
235
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/operations/cap/validate.ts"],"names":[],"mappings":"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"}