@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,343 +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
- * JWT Bearer OAuth authentication strategy (RFC 7523).
8
- *
9
- * Implements OAuth 2.0 JWT Bearer Token flow for Account Manager authentication.
10
- * Uses client certificate/key pair instead of client secret for enhanced security.
11
- *
12
- * @module auth/oauth-jwt
13
- */
14
- import * as crypto from 'node:crypto';
15
- import * as fs from 'node:fs';
16
- import { getLogger } from '../logging/logger.js';
17
- import { getOAuthCacheKey, getCachedOAuthToken, setCachedOAuthToken, invalidateCachedOAuthToken, decodeJWT, } from './oauth.js';
18
- import { globalAuthMiddlewareRegistry, applyAuthRequestMiddleware, applyAuthResponseMiddleware } from './middleware.js';
19
- /**
20
- * OAuth 2.0 JWT Bearer authentication strategy.
21
- *
22
- * Implements RFC 7523 (JSON Web Token (JWT) Profile for OAuth 2.0 Client
23
- * Authentication and Authorization Grants).
24
- *
25
- * Key differences from client credentials flow:
26
- * - Uses public/private key pair instead of client secret
27
- * - Sends JWT as `client_assertion` in POST body (not Authorization header)
28
- * - JWT is self-signed and short-lived (60 seconds)
29
- *
30
- * @example
31
- * ```typescript
32
- * const strategy = new JwtOAuthStrategy({
33
- * clientId: 'my-client-id',
34
- * certPath: './cert.pem',
35
- * keyPath: './key.pem',
36
- * accountManagerHost: 'account.demandware.com',
37
- * });
38
- *
39
- * const response = await strategy.fetch('https://api.example.com/data');
40
- * ```
41
- */
42
- export class JwtOAuthStrategy {
43
- config;
44
- logger = getLogger();
45
- cacheKey;
46
- _hasHadSuccess = false;
47
- privateKey;
48
- constructor(config) {
49
- this.validateConfig(config);
50
- this.config = config;
51
- this.cacheKey = getOAuthCacheKey(this.config.clientId, 'jwt', this.config.accountManagerHost, this.config.scopes);
52
- // Cache private key to avoid file I/O on every token request
53
- const keyContent = fs.readFileSync(config.keyPath, 'utf8');
54
- this.privateKey = crypto.createPrivateKey({
55
- key: keyContent,
56
- passphrase: config.passphrase,
57
- });
58
- }
59
- /**
60
- * Validates JWT configuration and checks that certificate/key files exist and are readable.
61
- */
62
- validateConfig(config) {
63
- // Validate required fields
64
- if (!config.clientId) {
65
- throw new Error('JWT authentication requires clientId');
66
- }
67
- if (!config.certPath) {
68
- throw new Error('JWT authentication requires certificate path (--jwt-cert)');
69
- }
70
- if (!config.keyPath) {
71
- throw new Error('JWT authentication requires private key path (--jwt-key)');
72
- }
73
- if (!config.accountManagerHost) {
74
- throw new Error('JWT authentication requires accountManagerHost');
75
- }
76
- // Validate certificate file exists and has content
77
- if (!fs.existsSync(config.certPath)) {
78
- throw new Error(`JWT certificate file not found: ${config.certPath}\n` +
79
- `Generate a certificate pair with: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes`);
80
- }
81
- // Check certificate file is readable
82
- try {
83
- const certContent = fs.readFileSync(config.certPath, 'utf8');
84
- if (!certContent.includes('BEGIN CERTIFICATE')) {
85
- throw new Error(`Invalid certificate format in ${config.certPath}. Expected PEM format (BEGIN CERTIFICATE).`);
86
- }
87
- }
88
- catch (error) {
89
- if (error instanceof Error && error.message.includes('Invalid certificate format')) {
90
- throw error;
91
- }
92
- throw new Error(`Failed to read JWT certificate from ${config.certPath}: ${error}`);
93
- }
94
- // Validate key file exists
95
- if (!fs.existsSync(config.keyPath)) {
96
- throw new Error(`JWT private key file not found: ${config.keyPath}\n` +
97
- `Generate a key pair with: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes`);
98
- }
99
- // Validate private key is readable and valid
100
- try {
101
- const keyContent = fs.readFileSync(config.keyPath, 'utf8');
102
- // Check key format
103
- if (!keyContent.includes('BEGIN') || !keyContent.includes('PRIVATE KEY')) {
104
- throw new Error(`Invalid private key format in ${config.keyPath}. Expected PEM format (BEGIN PRIVATE KEY or BEGIN RSA PRIVATE KEY).`);
105
- }
106
- // Validate key can be loaded (will throw if encrypted and passphrase is wrong)
107
- crypto.createPrivateKey({
108
- key: keyContent,
109
- passphrase: config.passphrase,
110
- });
111
- }
112
- catch (error) {
113
- const message = error instanceof Error ? error.message : String(error);
114
- // Specific error for wrong passphrase
115
- if (message.includes('bad decrypt') || message.includes('wrong passphrase') || message.includes('incorrect')) {
116
- throw new Error(`Invalid passphrase for encrypted JWT private key.\n` +
117
- `Use --jwt-passphrase flag or SFCC_JWT_PASSPHRASE environment variable to provide the passphrase.`);
118
- }
119
- // Specific error for encrypted key without passphrase
120
- if (message.includes('encrypted') || message.includes('passphrase')) {
121
- throw new Error(`JWT private key is encrypted but no passphrase provided.\n` +
122
- `Use --jwt-passphrase flag or SFCC_JWT_PASSPHRASE environment variable.`);
123
- }
124
- // Specific error for invalid format
125
- if (message.includes('Invalid private key format')) {
126
- throw error;
127
- }
128
- // Generic error
129
- throw new Error(`Invalid JWT private key at ${config.keyPath}: ${message}`);
130
- }
131
- }
132
- /**
133
- * Performs a fetch request with JWT Bearer authentication.
134
- * Automatically injects the Authorization header with a fresh access token.
135
- * Includes 401 retry logic and x-dw-client-id header.
136
- */
137
- async fetch(url, init = {}) {
138
- const token = await this.getAccessToken();
139
- const headers = new Headers(init.headers);
140
- headers.set('Authorization', `Bearer ${token}`);
141
- headers.set('x-dw-client-id', this.config.clientId);
142
- // Pass through dispatcher for TLS/mTLS support
143
- let res = await fetch(url, { ...init, headers });
144
- if (res.status !== 401) {
145
- this._hasHadSuccess = true;
146
- }
147
- // If we previously had a successful response and now get a 401,
148
- // the token likely expired. Retry once after invalidating the cached token.
149
- // Skip retry on initial 401 to avoid retrying with bad credentials.
150
- if (res.status === 401 && this._hasHadSuccess) {
151
- this.invalidateToken();
152
- const newToken = await this.getAccessToken();
153
- headers.set('Authorization', `Bearer ${newToken}`);
154
- res = await fetch(url, { ...init, headers });
155
- }
156
- return res;
157
- }
158
- /**
159
- * Returns the Authorization header value for legacy clients.
160
- */
161
- async getAuthorizationHeader() {
162
- const token = await this.getAccessToken();
163
- return `Bearer ${token}`;
164
- }
165
- /**
166
- * Gets the decoded JWT payload.
167
- */
168
- async getJWT() {
169
- const token = await this.getAccessToken();
170
- return decodeJWT(token);
171
- }
172
- /**
173
- * Creates a new JwtOAuthStrategy with additional scopes merged in.
174
- * Used by clients that have specific scope requirements.
175
- *
176
- * @param additionalScopes - Scopes to add to this strategy's existing scopes
177
- * @returns A new JwtOAuthStrategy instance with merged scopes
178
- */
179
- withAdditionalScopes(additionalScopes) {
180
- const mergedScopes = [...new Set([...(this.config.scopes || []), ...additionalScopes])];
181
- return new JwtOAuthStrategy({
182
- ...this.config,
183
- scopes: mergedScopes,
184
- });
185
- }
186
- /**
187
- * Gets the full token response including expiration and scopes.
188
- * Useful for commands that need to display or return token metadata.
189
- */
190
- async getTokenResponse() {
191
- const cached = getCachedOAuthToken(this.cacheKey, this.config.scopes || []);
192
- if (cached) {
193
- this.logger.debug('[JwtOAuthStrategy] Reusing cached access token');
194
- return cached;
195
- }
196
- // Get new token (returns full response)
197
- return this.requestNewToken();
198
- }
199
- /**
200
- * Invalidates the cached access token, forcing re-authentication on next request.
201
- */
202
- invalidateToken() {
203
- invalidateCachedOAuthToken(this.cacheKey);
204
- this.logger.trace('[JwtOAuthStrategy] Token invalidated');
205
- }
206
- /**
207
- * Gets an access token string, using cached token if still valid.
208
- */
209
- async getAccessToken() {
210
- // Check global cache first
211
- const cached = getCachedOAuthToken(this.cacheKey, this.config.scopes || []);
212
- if (cached) {
213
- this.logger.trace('[JwtOAuthStrategy] Using cached access token from global cache');
214
- return cached.accessToken;
215
- }
216
- // Request new token and return just the access token string
217
- const tokenResponse = await this.requestNewToken();
218
- return tokenResponse.accessToken;
219
- }
220
- /**
221
- * Requests a new access token from Account Manager using JWT Bearer flow.
222
- * Returns the full token response and caches it.
223
- */
224
- async requestNewToken() {
225
- this.logger.trace('[JwtOAuthStrategy] Requesting new access token with JWT Bearer flow');
226
- // Generate signed JWT
227
- const jwt = await this.createSignedJwt();
228
- // Request access token using JWT Bearer flow
229
- const tokenUrl = `https://${this.config.accountManagerHost}/dwsso/oauth2/access_token`;
230
- // IMPORTANT: JWT credentials go in POST body, NOT Authorization header
231
- // This is the key difference from client_credentials flow
232
- const params = new URLSearchParams({
233
- grant_type: 'client_credentials',
234
- client_assertion_type: 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer',
235
- client_assertion: jwt, // ← JWT in body, not header
236
- });
237
- if (this.config.scopes && this.config.scopes.length > 0) {
238
- params.append('scope', this.config.scopes.join(' '));
239
- }
240
- this.logger.trace({
241
- tokenUrl,
242
- clientId: this.config.clientId,
243
- scopes: this.config.scopes,
244
- }, '[JwtOAuthStrategy] Sending JWT Bearer token request');
245
- // Build request object for middleware
246
- let request = new Request(tokenUrl, {
247
- method: 'POST',
248
- headers: {
249
- 'Content-Type': 'application/x-www-form-urlencoded',
250
- },
251
- body: params.toString(),
252
- });
253
- // Apply auth middleware (e.g., User-Agent)
254
- const middleware = globalAuthMiddlewareRegistry.getMiddleware();
255
- request = await applyAuthRequestMiddleware(request, middleware);
256
- let response = await fetch(request);
257
- // Apply auth response middleware
258
- response = await applyAuthResponseMiddleware(request, response, middleware);
259
- if (!response.ok) {
260
- const errorText = await response.text();
261
- this.logger.error({
262
- status: response.status,
263
- statusText: response.statusText,
264
- error: errorText,
265
- }, '[JwtOAuthStrategy] JWT authentication failed');
266
- // Provide helpful error messages for common issues
267
- if (response.status === 401) {
268
- throw new Error(`JWT authentication failed (401): Invalid JWT signature or unregistered certificate. ` +
269
- `Ensure the certificate (${this.config.certPath}) is registered in Account Manager.`);
270
- }
271
- if (response.status === 400) {
272
- throw new Error(`JWT authentication failed (400): ${errorText}`);
273
- }
274
- throw new Error(`JWT authentication failed: ${response.status} ${response.statusText}\n${errorText}`);
275
- }
276
- const data = (await response.json());
277
- if (!data.access_token) {
278
- throw new Error('No access token in response from Account Manager');
279
- }
280
- // Calculate token expiry (default 30 minutes if not specified)
281
- const expiresInSeconds = data.expires_in ?? 1800;
282
- const expiryDate = new Date(Date.now() + expiresInSeconds * 1000);
283
- // Decode JWT to extract scopes (scope can be string or array)
284
- const decoded = decodeJWT(data.access_token);
285
- const scope = decoded.payload.scope;
286
- const scopes = Array.isArray(scope) ? scope : scope?.split(' ') || this.config.scopes || [];
287
- // Build and cache token response
288
- const tokenResponse = {
289
- accessToken: data.access_token,
290
- expires: expiryDate,
291
- scopes,
292
- };
293
- setCachedOAuthToken(this.cacheKey, tokenResponse);
294
- this.logger.trace({
295
- expiresIn: expiresInSeconds,
296
- expiresAt: expiryDate.toISOString(),
297
- scopes,
298
- }, '[JwtOAuthStrategy] Access token obtained successfully');
299
- return tokenResponse;
300
- }
301
- /**
302
- * Creates and signs a JWT token for OAuth authentication.
303
- * Uses RS256 algorithm and Base64URL encoding per RFC 7519.
304
- */
305
- async createSignedJwt() {
306
- const header = {
307
- alg: 'RS256',
308
- typ: 'JWT',
309
- };
310
- const encodedHeader = base64UrlEncode(JSON.stringify(header));
311
- const now = Math.floor(Date.now() / 1000);
312
- const tokenUrl = `https://${this.config.accountManagerHost}/dwsso/oauth2/access_token`;
313
- const payload = {
314
- iss: this.config.clientId,
315
- sub: this.config.clientId,
316
- aud: tokenUrl,
317
- exp: now + 60,
318
- };
319
- const encodedPayload = base64UrlEncode(JSON.stringify(payload));
320
- const signatureInput = `${encodedHeader}.${encodedPayload}`;
321
- const signature = crypto.sign('RSA-SHA256', Buffer.from(signatureInput), this.privateKey);
322
- const encodedSignature = base64UrlEncode(signature);
323
- const jwt = `${encodedHeader}.${encodedPayload}.${encodedSignature}`;
324
- this.logger.trace({
325
- header,
326
- payload: {
327
- ...payload,
328
- exp: new Date(payload.exp * 1000).toISOString(),
329
- },
330
- }, '[JwtOAuthStrategy] Generated JWT token');
331
- return jwt;
332
- }
333
- }
334
- /**
335
- * Encodes data as Base64URL (RFC 4648 Section 5).
336
- * Replaces +/= with URL-safe characters.
337
- */
338
- function base64UrlEncode(data) {
339
- const buffer = typeof data === 'string' ? Buffer.from(data) : data;
340
- const base64 = buffer.toString('base64');
341
- return base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
342
- }
343
- //# sourceMappingURL=oauth-jwt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-jwt.js","sourceRoot":"","sources":["../../../src/auth/oauth-jwt.ts"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- import type { AuthStrategy, AccessTokenResponse, DecodedJWT, FetchInit } from './types.js';
2
- export interface OAuthConfig {
3
- clientId: string;
4
- clientSecret: string;
5
- scopes?: string[];
6
- accountManagerHost?: string;
7
- }
8
- /**
9
- * Decodes a JWT token without verification.
10
- * Exported for use by other auth strategies.
11
- */
12
- export declare function decodeJWT(jwt: string): DecodedJWT;
13
- /**
14
- * Generates a cache key for OAuth tokens.
15
- * Includes auth method to distinguish between client-credentials and JWT tokens.
16
- *
17
- * @param clientId - OAuth client ID
18
- * @param method - Authentication method (client-credentials or jwt)
19
- * @param accountManagerHost - Account Manager hostname
20
- * @param scopes - OAuth scopes (optional)
21
- * @returns Cache key string
22
- */
23
- export declare function getOAuthCacheKey(clientId: string, method: 'client-credentials' | 'jwt', accountManagerHost: string, scopes?: string[]): string;
24
- /**
25
- * Gets a cached OAuth token if valid.
26
- *
27
- * @param cacheKey - Cache key from getOAuthCacheKey()
28
- * @param requiredScopes - Scopes that must be present in the cached token
29
- * @returns Cached token response if valid, undefined otherwise
30
- */
31
- export declare function getCachedOAuthToken(cacheKey: string, requiredScopes?: string[]): AccessTokenResponse | undefined;
32
- /**
33
- * Stores an OAuth token in the global cache.
34
- *
35
- * @param cacheKey - Cache key from getOAuthCacheKey()
36
- * @param tokenResponse - Token response to cache
37
- */
38
- export declare function setCachedOAuthToken(cacheKey: string, tokenResponse: AccessTokenResponse): void;
39
- /**
40
- * Invalidates a cached OAuth token.
41
- *
42
- * @param cacheKey - Cache key from getOAuthCacheKey()
43
- */
44
- export declare function invalidateCachedOAuthToken(cacheKey: string): void;
45
- export declare class OAuthStrategy implements AuthStrategy {
46
- private config;
47
- private accountManagerHost;
48
- private _hasHadSuccess;
49
- private cacheKey;
50
- constructor(config: OAuthConfig);
51
- fetch(url: string, init?: FetchInit): Promise<Response>;
52
- getAuthorizationHeader(): Promise<string>;
53
- /**
54
- * Gets the decoded JWT payload
55
- */
56
- getJWT(): Promise<DecodedJWT>;
57
- /**
58
- * Gets the full token response including expiration and scopes.
59
- * Useful for commands that need to display or return token metadata.
60
- */
61
- getTokenResponse(): Promise<AccessTokenResponse>;
62
- /**
63
- * Invalidates the cached token, forcing re-authentication on next request
64
- */
65
- invalidateToken(): void;
66
- /**
67
- * Creates a new OAuthStrategy with additional scopes merged in.
68
- * Used by clients that have specific scope requirements.
69
- *
70
- * @param additionalScopes - Scopes to add to this strategy's existing scopes
71
- * @returns A new OAuthStrategy instance with merged scopes
72
- */
73
- withAdditionalScopes(additionalScopes: string[]): OAuthStrategy;
74
- /**
75
- * Gets an access token, using cache if valid
76
- */
77
- private getAccessToken;
78
- /**
79
- * Returns a fresh token, coalescing concurrent callers onto a single in-flight
80
- * token request keyed by cacheKey. Prevents stampeding the AM token endpoint
81
- * when many requests trigger refresh at once.
82
- */
83
- private refreshTokenSingleflight;
84
- /**
85
- * Performs client credentials grant flow
86
- */
87
- private clientCredentialsGrant;
88
- }