@salesforce/b2c-tooling-sdk 0.3.0 → 0.4.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 (350) hide show
  1. package/README.md +180 -13
  2. package/data/scaffolds/cartridge/files/.project.ejs +17 -0
  3. package/data/scaffolds/cartridge/files/cartridge/cartridge.properties.ejs +4 -0
  4. package/data/scaffolds/cartridge/files/cartridge/controllers/Example.js.ejs +19 -0
  5. package/data/scaffolds/cartridge/files/cartridge/models/example.js.ejs +14 -0
  6. package/data/scaffolds/cartridge/files/cartridge/scripts/helpers/exampleHelpers.js.ejs +18 -0
  7. package/data/scaffolds/cartridge/files/cartridge/static/default/css/example.css +6 -0
  8. package/data/scaffolds/cartridge/files/cartridge/templates/default/example/show.isml.ejs +11 -0
  9. package/data/scaffolds/cartridge/scaffold.json +88 -0
  10. package/data/scaffolds/controller/files/controller.js.ejs +134 -0
  11. package/data/scaffolds/controller/files/template.isml.ejs +22 -0
  12. package/data/scaffolds/controller/scaffold.json +64 -0
  13. package/data/scaffolds/custom-api/files/api.json.ejs +11 -0
  14. package/data/scaffolds/custom-api/files/schema.yaml.ejs +188 -0
  15. package/data/scaffolds/custom-api/files/script.js.ejs +95 -0
  16. package/data/scaffolds/custom-api/scaffold.json +65 -0
  17. package/data/scaffolds/hook/files/hook.js.ejs +99 -0
  18. package/data/scaffolds/hook/files/hooks-entry.json.ejs +6 -0
  19. package/data/scaffolds/hook/scaffold.json +60 -0
  20. package/data/scaffolds/job-step/files/step-chunk.js.ejs +136 -0
  21. package/data/scaffolds/job-step/files/step-task.js.ejs +47 -0
  22. package/data/scaffolds/job-step/files/steptypes-entry.json.ejs +41 -0
  23. package/data/scaffolds/job-step/scaffold.json +64 -0
  24. package/data/scaffolds/page-designer-component/files/component.isml.ejs +23 -0
  25. package/data/scaffolds/page-designer-component/files/component.js.ejs +35 -0
  26. package/data/scaffolds/page-designer-component/files/component.json.ejs +50 -0
  27. package/data/scaffolds/page-designer-component/scaffold.json +66 -0
  28. package/data/scaffolds/service/files/service-http.js.ejs +245 -0
  29. package/data/scaffolds/service/files/service-sftp.js.ejs +371 -0
  30. package/data/scaffolds/service/files/service-soap.js.ejs +230 -0
  31. package/data/scaffolds/service/scaffold.json +83 -0
  32. package/data/script-api/dw.extensions.payments.SalesforcePaymentsMgr.md +48 -0
  33. package/data/script-api/dw.system.Request.md +5 -0
  34. package/data/script-api/dw.web.Cookie.md +108 -31
  35. package/data/script-api/index.json +2 -2
  36. package/data/script-api/index.md +1 -1
  37. package/dist/cjs/auth/oauth-implicit.d.ts +1 -0
  38. package/dist/cjs/auth/oauth-implicit.js +8 -3
  39. package/dist/cjs/auth/oauth-implicit.js.map +1 -1
  40. package/dist/cjs/auth/oauth.d.ts +1 -0
  41. package/dist/cjs/auth/oauth.js +8 -3
  42. package/dist/cjs/auth/oauth.js.map +1 -1
  43. package/dist/cjs/auth/types.d.ts +5 -0
  44. package/dist/cjs/auth/types.js.map +1 -1
  45. package/dist/cjs/cli/am-command.d.ts +74 -0
  46. package/dist/cjs/cli/am-command.js +189 -0
  47. package/dist/cjs/cli/am-command.js.map +1 -0
  48. package/dist/cjs/cli/base-command.d.ts +38 -0
  49. package/dist/cjs/cli/base-command.js +142 -0
  50. package/dist/cjs/cli/base-command.js.map +1 -1
  51. package/dist/cjs/cli/config.d.ts +9 -0
  52. package/dist/cjs/cli/config.js +19 -2
  53. package/dist/cjs/cli/config.js.map +1 -1
  54. package/dist/cjs/cli/index.d.ts +1 -0
  55. package/dist/cjs/cli/index.js +1 -0
  56. package/dist/cjs/cli/index.js.map +1 -1
  57. package/dist/cjs/cli/instance-command.d.ts +1 -0
  58. package/dist/cjs/cli/oauth-command.d.ts +21 -1
  59. package/dist/cjs/cli/oauth-command.js +52 -7
  60. package/dist/cjs/cli/oauth-command.js.map +1 -1
  61. package/dist/cjs/cli/ods-command.d.ts +5 -1
  62. package/dist/cjs/cli/ods-command.js +10 -4
  63. package/dist/cjs/cli/ods-command.js.map +1 -1
  64. package/dist/cjs/cli/webdav-command.d.ts +1 -0
  65. package/dist/cjs/clients/am-api.d.ts +491 -0
  66. package/dist/cjs/clients/am-api.js +944 -0
  67. package/dist/cjs/clients/am-api.js.map +1 -0
  68. package/dist/cjs/clients/am-apiclients-api.generated.d.ts +803 -0
  69. package/dist/cjs/clients/am-apiclients-api.generated.js +6 -0
  70. package/dist/cjs/clients/am-apiclients-api.generated.js.map +1 -0
  71. package/dist/cjs/clients/am-roles-api.generated.d.ts +298 -0
  72. package/dist/cjs/clients/am-roles-api.generated.js +6 -0
  73. package/dist/cjs/clients/am-roles-api.generated.js.map +1 -0
  74. package/dist/cjs/clients/am-users-api.generated.d.ts +891 -0
  75. package/dist/cjs/clients/am-users-api.generated.js +6 -0
  76. package/dist/cjs/clients/am-users-api.generated.js.map +1 -0
  77. package/dist/cjs/clients/index.d.ts +4 -2
  78. package/dist/cjs/clients/index.js +2 -1
  79. package/dist/cjs/clients/index.js.map +1 -1
  80. package/dist/cjs/clients/middleware-registry.d.ts +1 -1
  81. package/dist/cjs/clients/middleware-registry.js.map +1 -1
  82. package/dist/cjs/clients/middleware.d.ts +49 -2
  83. package/dist/cjs/clients/middleware.js +214 -2
  84. package/dist/cjs/clients/middleware.js.map +1 -1
  85. package/dist/cjs/clients/mrt.js +5 -1
  86. package/dist/cjs/clients/mrt.js.map +1 -1
  87. package/dist/cjs/config/dw-json.d.ts +104 -33
  88. package/dist/cjs/config/dw-json.js +167 -2
  89. package/dist/cjs/config/dw-json.js.map +1 -1
  90. package/dist/cjs/config/index.d.ts +6 -4
  91. package/dist/cjs/config/index.js +6 -2
  92. package/dist/cjs/config/index.js.map +1 -1
  93. package/dist/cjs/config/instance-manager.d.ts +97 -0
  94. package/dist/cjs/config/instance-manager.js +166 -0
  95. package/dist/cjs/config/instance-manager.js.map +1 -0
  96. package/dist/cjs/config/mapping.d.ts +63 -5
  97. package/dist/cjs/config/mapping.js +165 -20
  98. package/dist/cjs/config/mapping.js.map +1 -1
  99. package/dist/cjs/config/sources/dw-json-source.d.ts +17 -1
  100. package/dist/cjs/config/sources/dw-json-source.js +70 -3
  101. package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
  102. package/dist/cjs/config/sources/package-json-source.js +6 -3
  103. package/dist/cjs/config/sources/package-json-source.js.map +1 -1
  104. package/dist/cjs/config/types.d.ts +72 -0
  105. package/dist/cjs/defaults.d.ts +6 -0
  106. package/dist/cjs/defaults.js +6 -0
  107. package/dist/cjs/defaults.js.map +1 -1
  108. package/dist/cjs/i18n/index.js +3 -0
  109. package/dist/cjs/i18n/index.js.map +1 -1
  110. package/dist/cjs/index.d.ts +8 -4
  111. package/dist/cjs/index.js +9 -3
  112. package/dist/cjs/index.js.map +1 -1
  113. package/dist/cjs/logging/logger.js +13 -1
  114. package/dist/cjs/logging/logger.js.map +1 -1
  115. package/dist/cjs/operations/content/asset-query.d.ts +22 -0
  116. package/dist/cjs/operations/content/asset-query.js +77 -0
  117. package/dist/cjs/operations/content/asset-query.js.map +1 -0
  118. package/dist/cjs/operations/content/export.d.ts +57 -0
  119. package/dist/cjs/operations/content/export.js +224 -0
  120. package/dist/cjs/operations/content/export.js.map +1 -0
  121. package/dist/cjs/operations/content/index.d.ts +43 -0
  122. package/dist/cjs/operations/content/index.js +48 -0
  123. package/dist/cjs/operations/content/index.js.map +1 -0
  124. package/dist/cjs/operations/content/library.d.ts +137 -0
  125. package/dist/cjs/operations/content/library.js +392 -0
  126. package/dist/cjs/operations/content/library.js.map +1 -0
  127. package/dist/cjs/operations/content/types.d.ts +144 -0
  128. package/dist/cjs/operations/content/types.js +7 -0
  129. package/dist/cjs/operations/content/types.js.map +1 -0
  130. package/dist/cjs/operations/mrt/b2c-config.js +19 -4
  131. package/dist/cjs/operations/mrt/b2c-config.js.map +1 -1
  132. package/dist/cjs/operations/mrt/index.d.ts +2 -0
  133. package/dist/cjs/operations/mrt/index.js +2 -0
  134. package/dist/cjs/operations/mrt/index.js.map +1 -1
  135. package/dist/cjs/operations/mrt/tail-logs.d.ts +130 -0
  136. package/dist/cjs/operations/mrt/tail-logs.js +223 -0
  137. package/dist/cjs/operations/mrt/tail-logs.js.map +1 -0
  138. package/dist/cjs/operations/ods/index.d.ts +2 -0
  139. package/dist/cjs/operations/ods/index.js +1 -0
  140. package/dist/cjs/operations/ods/index.js.map +1 -1
  141. package/dist/cjs/operations/ods/wait-for-sandbox.d.ts +64 -0
  142. package/dist/cjs/operations/ods/wait-for-sandbox.js +114 -0
  143. package/dist/cjs/operations/ods/wait-for-sandbox.js.map +1 -0
  144. package/dist/cjs/operations/orgs/index.d.ts +74 -0
  145. package/dist/cjs/operations/orgs/index.js +33 -0
  146. package/dist/cjs/operations/orgs/index.js.map +1 -0
  147. package/dist/cjs/operations/roles/index.d.ts +43 -0
  148. package/dist/cjs/operations/roles/index.js +48 -0
  149. package/dist/cjs/operations/roles/index.js.map +1 -0
  150. package/dist/cjs/operations/users/index.d.ts +143 -0
  151. package/dist/cjs/operations/users/index.js +141 -0
  152. package/dist/cjs/operations/users/index.js.map +1 -0
  153. package/dist/cjs/scaffold/engine.d.ts +68 -0
  154. package/dist/cjs/scaffold/engine.js +149 -0
  155. package/dist/cjs/scaffold/engine.js.map +1 -0
  156. package/dist/cjs/scaffold/executor.d.ts +36 -0
  157. package/dist/cjs/scaffold/executor.js +285 -0
  158. package/dist/cjs/scaffold/executor.js.map +1 -0
  159. package/dist/cjs/scaffold/index.d.ts +74 -0
  160. package/dist/cjs/scaffold/index.js +23 -0
  161. package/dist/cjs/scaffold/index.js.map +1 -0
  162. package/dist/cjs/scaffold/merge.d.ts +56 -0
  163. package/dist/cjs/scaffold/merge.js +183 -0
  164. package/dist/cjs/scaffold/merge.js.map +1 -0
  165. package/dist/cjs/scaffold/parameter-resolver.d.ts +86 -0
  166. package/dist/cjs/scaffold/parameter-resolver.js +179 -0
  167. package/dist/cjs/scaffold/parameter-resolver.js.map +1 -0
  168. package/dist/cjs/scaffold/registry.d.ts +45 -0
  169. package/dist/cjs/scaffold/registry.js +219 -0
  170. package/dist/cjs/scaffold/registry.js.map +1 -0
  171. package/dist/cjs/scaffold/sources.d.ts +45 -0
  172. package/dist/cjs/scaffold/sources.js +113 -0
  173. package/dist/cjs/scaffold/sources.js.map +1 -0
  174. package/dist/cjs/scaffold/types.d.ts +280 -0
  175. package/dist/cjs/scaffold/types.js +14 -0
  176. package/dist/cjs/scaffold/types.js.map +1 -0
  177. package/dist/cjs/scaffold/validation.d.ts +81 -0
  178. package/dist/cjs/scaffold/validation.js +250 -0
  179. package/dist/cjs/scaffold/validation.js.map +1 -0
  180. package/dist/cjs/scaffold/validators.d.ts +33 -0
  181. package/dist/cjs/scaffold/validators.js +334 -0
  182. package/dist/cjs/scaffold/validators.js.map +1 -0
  183. package/dist/cjs/telemetry/index.d.ts +26 -0
  184. package/dist/cjs/telemetry/index.js +32 -0
  185. package/dist/cjs/telemetry/index.js.map +1 -0
  186. package/dist/cjs/telemetry/telemetry.d.ts +90 -0
  187. package/dist/cjs/telemetry/telemetry.js +283 -0
  188. package/dist/cjs/telemetry/telemetry.js.map +1 -0
  189. package/dist/cjs/telemetry/types.d.ts +62 -0
  190. package/dist/cjs/telemetry/types.js +7 -0
  191. package/dist/cjs/telemetry/types.js.map +1 -0
  192. package/dist/esm/auth/oauth-implicit.d.ts +1 -0
  193. package/dist/esm/auth/oauth-implicit.js +8 -3
  194. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  195. package/dist/esm/auth/oauth.d.ts +1 -0
  196. package/dist/esm/auth/oauth.js +8 -3
  197. package/dist/esm/auth/oauth.js.map +1 -1
  198. package/dist/esm/auth/types.d.ts +5 -0
  199. package/dist/esm/auth/types.js.map +1 -1
  200. package/dist/esm/cli/am-command.d.ts +74 -0
  201. package/dist/esm/cli/am-command.js +196 -0
  202. package/dist/esm/cli/am-command.js.map +1 -0
  203. package/dist/esm/cli/base-command.d.ts +38 -0
  204. package/dist/esm/cli/base-command.js +142 -0
  205. package/dist/esm/cli/base-command.js.map +1 -1
  206. package/dist/esm/cli/config.d.ts +9 -0
  207. package/dist/esm/cli/config.js +19 -2
  208. package/dist/esm/cli/config.js.map +1 -1
  209. package/dist/esm/cli/index.d.ts +1 -0
  210. package/dist/esm/cli/index.js +1 -0
  211. package/dist/esm/cli/index.js.map +1 -1
  212. package/dist/esm/cli/instance-command.d.ts +1 -0
  213. package/dist/esm/cli/oauth-command.d.ts +21 -1
  214. package/dist/esm/cli/oauth-command.js +52 -7
  215. package/dist/esm/cli/oauth-command.js.map +1 -1
  216. package/dist/esm/cli/ods-command.d.ts +5 -1
  217. package/dist/esm/cli/ods-command.js +10 -4
  218. package/dist/esm/cli/ods-command.js.map +1 -1
  219. package/dist/esm/cli/webdav-command.d.ts +1 -0
  220. package/dist/esm/clients/am-api.d.ts +491 -0
  221. package/dist/esm/clients/am-api.js +944 -0
  222. package/dist/esm/clients/am-api.js.map +1 -0
  223. package/dist/esm/clients/am-apiclients-api.generated.d.ts +803 -0
  224. package/dist/esm/clients/am-apiclients-api.generated.js +6 -0
  225. package/dist/esm/clients/am-apiclients-api.generated.js.map +1 -0
  226. package/dist/esm/clients/am-roles-api.generated.d.ts +298 -0
  227. package/dist/esm/clients/am-roles-api.generated.js +6 -0
  228. package/dist/esm/clients/am-roles-api.generated.js.map +1 -0
  229. package/dist/esm/clients/am-users-api.generated.d.ts +891 -0
  230. package/dist/esm/clients/am-users-api.generated.js +6 -0
  231. package/dist/esm/clients/am-users-api.generated.js.map +1 -0
  232. package/dist/esm/clients/index.d.ts +4 -2
  233. package/dist/esm/clients/index.js +2 -1
  234. package/dist/esm/clients/index.js.map +1 -1
  235. package/dist/esm/clients/middleware-registry.d.ts +1 -1
  236. package/dist/esm/clients/middleware-registry.js.map +1 -1
  237. package/dist/esm/clients/middleware.d.ts +49 -2
  238. package/dist/esm/clients/middleware.js +214 -2
  239. package/dist/esm/clients/middleware.js.map +1 -1
  240. package/dist/esm/clients/mrt.js +5 -1
  241. package/dist/esm/clients/mrt.js.map +1 -1
  242. package/dist/esm/config/dw-json.d.ts +104 -33
  243. package/dist/esm/config/dw-json.js +167 -2
  244. package/dist/esm/config/dw-json.js.map +1 -1
  245. package/dist/esm/config/index.d.ts +6 -4
  246. package/dist/esm/config/index.js +6 -2
  247. package/dist/esm/config/index.js.map +1 -1
  248. package/dist/esm/config/instance-manager.d.ts +97 -0
  249. package/dist/esm/config/instance-manager.js +166 -0
  250. package/dist/esm/config/instance-manager.js.map +1 -0
  251. package/dist/esm/config/mapping.d.ts +63 -5
  252. package/dist/esm/config/mapping.js +165 -20
  253. package/dist/esm/config/mapping.js.map +1 -1
  254. package/dist/esm/config/sources/dw-json-source.d.ts +17 -1
  255. package/dist/esm/config/sources/dw-json-source.js +70 -3
  256. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  257. package/dist/esm/config/sources/package-json-source.js +6 -3
  258. package/dist/esm/config/sources/package-json-source.js.map +1 -1
  259. package/dist/esm/config/types.d.ts +72 -0
  260. package/dist/esm/defaults.d.ts +6 -0
  261. package/dist/esm/defaults.js +6 -0
  262. package/dist/esm/defaults.js.map +1 -1
  263. package/dist/esm/i18n/index.js +3 -0
  264. package/dist/esm/i18n/index.js.map +1 -1
  265. package/dist/esm/index.d.ts +8 -4
  266. package/dist/esm/index.js +9 -3
  267. package/dist/esm/index.js.map +1 -1
  268. package/dist/esm/logging/logger.js +13 -1
  269. package/dist/esm/logging/logger.js.map +1 -1
  270. package/dist/esm/operations/content/asset-query.d.ts +22 -0
  271. package/dist/esm/operations/content/asset-query.js +77 -0
  272. package/dist/esm/operations/content/asset-query.js.map +1 -0
  273. package/dist/esm/operations/content/export.d.ts +57 -0
  274. package/dist/esm/operations/content/export.js +224 -0
  275. package/dist/esm/operations/content/export.js.map +1 -0
  276. package/dist/esm/operations/content/index.d.ts +43 -0
  277. package/dist/esm/operations/content/index.js +48 -0
  278. package/dist/esm/operations/content/index.js.map +1 -0
  279. package/dist/esm/operations/content/library.d.ts +137 -0
  280. package/dist/esm/operations/content/library.js +392 -0
  281. package/dist/esm/operations/content/library.js.map +1 -0
  282. package/dist/esm/operations/content/types.d.ts +144 -0
  283. package/dist/esm/operations/content/types.js +7 -0
  284. package/dist/esm/operations/content/types.js.map +1 -0
  285. package/dist/esm/operations/mrt/b2c-config.js +19 -4
  286. package/dist/esm/operations/mrt/b2c-config.js.map +1 -1
  287. package/dist/esm/operations/mrt/index.d.ts +2 -0
  288. package/dist/esm/operations/mrt/index.js +2 -0
  289. package/dist/esm/operations/mrt/index.js.map +1 -1
  290. package/dist/esm/operations/mrt/tail-logs.d.ts +130 -0
  291. package/dist/esm/operations/mrt/tail-logs.js +223 -0
  292. package/dist/esm/operations/mrt/tail-logs.js.map +1 -0
  293. package/dist/esm/operations/ods/index.d.ts +2 -0
  294. package/dist/esm/operations/ods/index.js +1 -0
  295. package/dist/esm/operations/ods/index.js.map +1 -1
  296. package/dist/esm/operations/ods/wait-for-sandbox.d.ts +64 -0
  297. package/dist/esm/operations/ods/wait-for-sandbox.js +114 -0
  298. package/dist/esm/operations/ods/wait-for-sandbox.js.map +1 -0
  299. package/dist/esm/operations/orgs/index.d.ts +74 -0
  300. package/dist/esm/operations/orgs/index.js +33 -0
  301. package/dist/esm/operations/orgs/index.js.map +1 -0
  302. package/dist/esm/operations/roles/index.d.ts +43 -0
  303. package/dist/esm/operations/roles/index.js +48 -0
  304. package/dist/esm/operations/roles/index.js.map +1 -0
  305. package/dist/esm/operations/users/index.d.ts +143 -0
  306. package/dist/esm/operations/users/index.js +141 -0
  307. package/dist/esm/operations/users/index.js.map +1 -0
  308. package/dist/esm/scaffold/engine.d.ts +68 -0
  309. package/dist/esm/scaffold/engine.js +149 -0
  310. package/dist/esm/scaffold/engine.js.map +1 -0
  311. package/dist/esm/scaffold/executor.d.ts +36 -0
  312. package/dist/esm/scaffold/executor.js +285 -0
  313. package/dist/esm/scaffold/executor.js.map +1 -0
  314. package/dist/esm/scaffold/index.d.ts +74 -0
  315. package/dist/esm/scaffold/index.js +23 -0
  316. package/dist/esm/scaffold/index.js.map +1 -0
  317. package/dist/esm/scaffold/merge.d.ts +56 -0
  318. package/dist/esm/scaffold/merge.js +183 -0
  319. package/dist/esm/scaffold/merge.js.map +1 -0
  320. package/dist/esm/scaffold/parameter-resolver.d.ts +86 -0
  321. package/dist/esm/scaffold/parameter-resolver.js +179 -0
  322. package/dist/esm/scaffold/parameter-resolver.js.map +1 -0
  323. package/dist/esm/scaffold/registry.d.ts +45 -0
  324. package/dist/esm/scaffold/registry.js +219 -0
  325. package/dist/esm/scaffold/registry.js.map +1 -0
  326. package/dist/esm/scaffold/sources.d.ts +45 -0
  327. package/dist/esm/scaffold/sources.js +113 -0
  328. package/dist/esm/scaffold/sources.js.map +1 -0
  329. package/dist/esm/scaffold/types.d.ts +280 -0
  330. package/dist/esm/scaffold/types.js +14 -0
  331. package/dist/esm/scaffold/types.js.map +1 -0
  332. package/dist/esm/scaffold/validation.d.ts +81 -0
  333. package/dist/esm/scaffold/validation.js +250 -0
  334. package/dist/esm/scaffold/validation.js.map +1 -0
  335. package/dist/esm/scaffold/validators.d.ts +33 -0
  336. package/dist/esm/scaffold/validators.js +334 -0
  337. package/dist/esm/scaffold/validators.js.map +1 -0
  338. package/dist/esm/telemetry/index.d.ts +26 -0
  339. package/dist/esm/telemetry/index.js +32 -0
  340. package/dist/esm/telemetry/index.js.map +1 -0
  341. package/dist/esm/telemetry/telemetry.d.ts +90 -0
  342. package/dist/esm/telemetry/telemetry.js +283 -0
  343. package/dist/esm/telemetry/telemetry.js.map +1 -0
  344. package/dist/esm/telemetry/types.d.ts +62 -0
  345. package/dist/esm/telemetry/types.js +7 -0
  346. package/dist/esm/telemetry/types.js.map +1 -0
  347. package/package.json +86 -17
  348. package/specs/am-apiclients-api-v1.yaml +965 -0
  349. package/specs/am-roles-api-v1.yaml +316 -0
  350. package/specs/am-users-api-v1.yaml +1102 -0
@@ -1,5 +1,6 @@
1
1
  import { Command } from '@oclif/core';
2
2
  import { BaseCommand } from './base-command.js';
3
+ import type { AuthMethod } from './config.js';
3
4
  import type { ResolvedB2CConfig } from '../config/index.js';
4
5
  import { OAuthStrategy } from '../auth/oauth.js';
5
6
  import { ImplicitOAuthStrategy } from '../auth/oauth-implicit.js';
@@ -21,6 +22,7 @@ export declare abstract class OAuthCommand<T extends typeof Command> extends Bas
21
22
  'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
23
  'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
24
  'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
26
  'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
27
  'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
28
  debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -38,18 +40,36 @@ export declare abstract class OAuthCommand<T extends typeof Command> extends Bas
38
40
  * Gets the configured Account Manager host.
39
41
  */
40
42
  protected get accountManagerHost(): string;
43
+ /**
44
+ * Gets the default authentication methods in priority order.
45
+ * This method is used by getOAuthStrategy() when no auth methods are specified in config.
46
+ * Subclasses can override this to change the default priority.
47
+ *
48
+ * @returns Array of auth methods in priority order (first is highest priority)
49
+ */
50
+ protected getDefaultAuthMethods(): AuthMethod[];
51
+ /**
52
+ * Returns a default client ID for implicit OAuth flows when no client ID is configured.
53
+ * Returns undefined by default. Subclasses (AmCommand, OdsCommand, etc.) override this
54
+ * to return DEFAULT_PUBLIC_CLIENT_ID for platform-level commands that support public client tokens.
55
+ */
56
+ protected getDefaultClientId(): string | undefined;
41
57
  /**
42
58
  * Gets an OAuth auth strategy based on allowed auth methods and available credentials.
43
59
  *
44
60
  * Iterates through allowed methods (in priority order) and returns the first
45
61
  * strategy for which the required credentials are available.
46
62
  *
63
+ * For the implicit flow, falls back to getDefaultClientId() when no client ID
64
+ * is explicitly configured.
65
+ *
47
66
  * @throws Error if no allowed method has the required credentials configured
48
67
  */
49
68
  protected getOAuthStrategy(): OAuthStrategy | ImplicitOAuthStrategy;
50
69
  /**
51
70
  * Check if OAuth credentials are available.
52
- * Returns true if clientId is configured (with or without clientSecret).
71
+ * Returns true if clientId is configured (with or without clientSecret),
72
+ * or if a default client ID is available for implicit flows.
53
73
  */
54
74
  protected hasOAuthCredentials(): boolean;
55
75
  /**
@@ -10,6 +10,11 @@ import { OAuthStrategy } from '../auth/oauth.js';
10
10
  import { ImplicitOAuthStrategy } from '../auth/oauth-implicit.js';
11
11
  import { t } from '../i18n/index.js';
12
12
  import { DEFAULT_ACCOUNT_MANAGER_HOST } from '../defaults.js';
13
+ /**
14
+ * Default OAuth authentication methods array used by getOAuthStrategy.
15
+ * Extracted from getOAuthStrategy() to ensure getDefaultAuthMethods() returns the same array.
16
+ */
17
+ const DEFAULT_OAUTH_AUTH_METHODS = ['client-credentials', 'implicit'];
13
18
  /**
14
19
  * Base command for operations requiring OAuth authentication.
15
20
  * Use this for platform-level operations like ODS, APIs.
@@ -50,6 +55,7 @@ export class OAuthCommand extends BaseCommand {
50
55
  description: 'Organization/tenant ID',
51
56
  env: 'SFCC_TENANT_ID',
52
57
  helpGroup: 'AUTH',
58
+ aliases: ['tenant'],
53
59
  }),
54
60
  'auth-methods': Flags.string({
55
61
  description: 'Allowed auth methods in priority order (comma-separated)',
@@ -59,6 +65,13 @@ export class OAuthCommand extends BaseCommand {
59
65
  delimiter: ',',
60
66
  options: ALL_AUTH_METHODS,
61
67
  helpGroup: 'AUTH',
68
+ exclusive: ['user-auth'],
69
+ }),
70
+ 'user-auth': Flags.boolean({
71
+ description: 'Use browser-based user authentication (implicit OAuth flow)',
72
+ default: false,
73
+ exclusive: ['auth-methods'],
74
+ helpGroup: 'AUTH',
62
75
  }),
63
76
  'account-manager-host': Flags.string({
64
77
  description: `Account Manager hostname for OAuth (default: ${DEFAULT_ACCOUNT_MANAGER_HOST})`,
@@ -75,19 +88,41 @@ export class OAuthCommand extends BaseCommand {
75
88
  get accountManagerHost() {
76
89
  return this.resolvedConfig.values.accountManagerHost ?? DEFAULT_ACCOUNT_MANAGER_HOST;
77
90
  }
91
+ /**
92
+ * Gets the default authentication methods in priority order.
93
+ * This method is used by getOAuthStrategy() when no auth methods are specified in config.
94
+ * Subclasses can override this to change the default priority.
95
+ *
96
+ * @returns Array of auth methods in priority order (first is highest priority)
97
+ */
98
+ getDefaultAuthMethods() {
99
+ return DEFAULT_OAUTH_AUTH_METHODS;
100
+ }
101
+ /**
102
+ * Returns a default client ID for implicit OAuth flows when no client ID is configured.
103
+ * Returns undefined by default. Subclasses (AmCommand, OdsCommand, etc.) override this
104
+ * to return DEFAULT_PUBLIC_CLIENT_ID for platform-level commands that support public client tokens.
105
+ */
106
+ getDefaultClientId() {
107
+ return undefined;
108
+ }
78
109
  /**
79
110
  * Gets an OAuth auth strategy based on allowed auth methods and available credentials.
80
111
  *
81
112
  * Iterates through allowed methods (in priority order) and returns the first
82
113
  * strategy for which the required credentials are available.
83
114
  *
115
+ * For the implicit flow, falls back to getDefaultClientId() when no client ID
116
+ * is explicitly configured.
117
+ *
84
118
  * @throws Error if no allowed method has the required credentials configured
85
119
  */
86
120
  getOAuthStrategy() {
87
121
  const config = this.resolvedConfig.values;
88
122
  const accountManagerHost = this.accountManagerHost;
89
- // Default to client-credentials and implicit if no methods specified
90
- const allowedMethods = config.authMethods || ['client-credentials', 'implicit'];
123
+ // Use getDefaultAuthMethods() to get default array, allowing subclasses to override
124
+ const allowedMethods = config.authMethods || this.getDefaultAuthMethods();
125
+ const defaultClientId = this.getDefaultClientId();
91
126
  for (const method of allowedMethods) {
92
127
  switch (method) {
93
128
  case 'client-credentials':
@@ -100,15 +135,20 @@ export class OAuthCommand extends BaseCommand {
100
135
  });
101
136
  }
102
137
  break;
103
- case 'implicit':
104
- if (config.clientId) {
138
+ case 'implicit': {
139
+ const effectiveClientId = config.clientId ?? defaultClientId;
140
+ if (effectiveClientId) {
141
+ if (!config.clientId && defaultClientId) {
142
+ this.logger.debug('Using default B2C CLI public client for authentication');
143
+ }
105
144
  return new ImplicitOAuthStrategy({
106
- clientId: config.clientId,
145
+ clientId: effectiveClientId,
107
146
  scopes: config.scopes,
108
147
  accountManagerHost,
109
148
  });
110
149
  }
111
150
  break;
151
+ }
112
152
  // 'basic' and 'api-key' are not applicable for OAuth strategies
113
153
  // They would be handled by different command bases (e.g., InstanceCommand, MRTCommand)
114
154
  }
@@ -120,10 +160,11 @@ export class OAuthCommand extends BaseCommand {
120
160
  }
121
161
  /**
122
162
  * Check if OAuth credentials are available.
123
- * Returns true if clientId is configured (with or without clientSecret).
163
+ * Returns true if clientId is configured (with or without clientSecret),
164
+ * or if a default client ID is available for implicit flows.
124
165
  */
125
166
  hasOAuthCredentials() {
126
- return this.resolvedConfig.hasOAuthConfig();
167
+ return this.resolvedConfig.hasOAuthConfig() || this.getDefaultClientId() !== undefined;
127
168
  }
128
169
  /**
129
170
  * Check if full OAuth credentials (client credentials flow) are available.
@@ -151,6 +192,10 @@ export class OAuthCommand extends BaseCommand {
151
192
  if (!tenantId) {
152
193
  this.error(t('error.tenantIdRequired', 'tenant-id is required. Provide via --tenant-id flag, SFCC_TENANT_ID env var, or tenant-id in dw.json.'));
153
194
  }
195
+ // Strip optional f_ecom_ prefix so users can pass either the organization ID or tenant ID
196
+ if (tenantId.startsWith('f_ecom_')) {
197
+ return tenantId.slice('f_ecom_'.length);
198
+ }
154
199
  return tenantId;
155
200
  }
156
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-command.js","sourceRoot":"","sources":["../../../src/cli/oauth-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-command.js","sourceRoot":"","sources":["../../../src/cli/oauth-command.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Command } from '@oclif/core';
2
2
  import { OAuthCommand } from './oauth-command.js';
3
+ import type { ResolvedB2CConfig } from '../config/index.js';
3
4
  import { type OdsClient } from '../clients/ods.js';
4
5
  /**
5
6
  * Base command for ODS (On-Demand Sandbox) operations.
@@ -23,14 +24,16 @@ import { type OdsClient } from '../clients/ods.js';
23
24
  * }
24
25
  */
25
26
  export declare abstract class OdsCommand<T extends typeof Command> extends OAuthCommand<T> {
27
+ protected getDefaultClientId(): string;
26
28
  static baseFlags: {
27
- 'sandbox-api-host': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
29
+ 'sandbox-api-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
30
  'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
31
  'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
32
  scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
33
  'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
34
  'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
35
  'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
36
+ 'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
34
37
  'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
38
  'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
36
39
  debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -43,6 +46,7 @@ export declare abstract class OdsCommand<T extends typeof Command> extends OAuth
43
46
  'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
44
47
  'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
45
48
  };
49
+ protected loadConfiguration(): ResolvedB2CConfig;
46
50
  private _odsClient?;
47
51
  /**
48
52
  * Gets the ODS API client for this command.
@@ -5,8 +5,9 @@
5
5
  */
6
6
  import { Flags } from '@oclif/core';
7
7
  import { OAuthCommand } from './oauth-command.js';
8
+ import { loadConfig, extractOdsFlags } from './config.js';
8
9
  import { createOdsClient } from '../clients/ods.js';
9
- import { DEFAULT_ODS_HOST } from '../defaults.js';
10
+ import { DEFAULT_ODS_HOST, DEFAULT_PUBLIC_CLIENT_ID } from '../defaults.js';
10
11
  import { isUuid, parseFriendlySandboxId, SandboxNotFoundError } from '../operations/ods/sandbox-lookup.js';
11
12
  /**
12
13
  * Base command for ODS (On-Demand Sandbox) operations.
@@ -30,15 +31,20 @@ import { isUuid, parseFriendlySandboxId, SandboxNotFoundError } from '../operati
30
31
  * }
31
32
  */
32
33
  export class OdsCommand extends OAuthCommand {
34
+ getDefaultClientId() {
35
+ return DEFAULT_PUBLIC_CLIENT_ID;
36
+ }
33
37
  static baseFlags = {
34
38
  ...OAuthCommand.baseFlags,
35
39
  'sandbox-api-host': Flags.string({
36
- description: 'ODS API hostname',
40
+ description: `ODS API hostname (default: ${DEFAULT_ODS_HOST})`,
37
41
  env: 'SFCC_SANDBOX_API_HOST',
38
- default: DEFAULT_ODS_HOST,
39
42
  // helpGroup: 'ODS',
40
43
  }),
41
44
  };
45
+ loadConfiguration() {
46
+ return loadConfig(extractOdsFlags(this.flags), this.getBaseConfigOptions(), this.getPluginSources());
47
+ }
42
48
  _odsClient;
43
49
  /**
44
50
  * Gets the ODS API client for this command.
@@ -74,7 +80,7 @@ export class OdsCommand extends OAuthCommand {
74
80
  * Gets the configured ODS API host.
75
81
  */
76
82
  get odsHost() {
77
- return this.flags['sandbox-api-host'] ?? DEFAULT_ODS_HOST;
83
+ return this.resolvedConfig?.values.sandboxApiHost ?? DEFAULT_ODS_HOST;
78
84
  }
79
85
  /**
80
86
  * Resolves a sandbox identifier to a UUID.
@@ -1 +1 @@
1
- {"version":3,"file":"ods-command.js","sourceRoot":"","sources":["../../../src/cli/ods-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ods-command.js","sourceRoot":"","sources":["../../../src/cli/ods-command.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,7 @@ export declare abstract class WebDavCommand<T extends typeof Command> extends In
64
64
  'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
65
65
  'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
66
66
  'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
67
+ 'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
67
68
  'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
68
69
  'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
69
70
  debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;