@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,183 +0,0 @@
1
- /**
2
- * Shared middleware for openapi-fetch clients.
3
- *
4
- * Provides reusable authentication and logging middleware that can be
5
- * used across all API clients (OCAPI, SLAS, SCAPI, etc.).
6
- *
7
- * @module clients/middleware
8
- */
9
- import type { Middleware } from 'openapi-fetch';
10
- import type { AuthStrategy } from '../auth/types.js';
11
- /**
12
- * Configuration for extra parameters middleware.
13
- */
14
- export interface ExtraParamsConfig {
15
- /** Extra query parameters to add to the URL */
16
- query?: Record<string, string | number | boolean | undefined>;
17
- /** Extra body fields to merge into JSON request bodies */
18
- body?: Record<string, unknown>;
19
- /** Extra HTTP headers to add to all requests */
20
- headers?: Record<string, string>;
21
- }
22
- /**
23
- * Creates authentication middleware for openapi-fetch.
24
- *
25
- * This middleware intercepts requests and adds OAuth authentication headers
26
- * using the provided AuthStrategy. It also handles 401 responses by invalidating
27
- * the token and retrying the request once with a fresh token.
28
- *
29
- * @param auth - The authentication strategy to use
30
- * @returns Middleware that adds auth headers to requests and retries on 401
31
- */
32
- export declare function createAuthMiddleware(auth: AuthStrategy): Middleware;
33
- /**
34
- * Configuration for rate limiting middleware.
35
- */
36
- export interface RateLimitMiddlewareConfig {
37
- /**
38
- * Maximum number of retry attempts when a rate limit response is received.
39
- * Defaults to 3.
40
- */
41
- maxRetries?: number;
42
- /**
43
- * Base delay in milliseconds used for exponential backoff when no Retry-After
44
- * header is present. Defaults to 1000ms.
45
- */
46
- baseDelayMs?: number;
47
- /**
48
- * Maximum delay in milliseconds between retries. Defaults to 30000ms.
49
- */
50
- maxDelayMs?: number;
51
- /**
52
- * HTTP status codes that should trigger rate limit handling.
53
- * Defaults to [429]. 503 is often used for overload, but is not included
54
- * by default to avoid surprising retries for maintenance windows.
55
- */
56
- statusCodes?: number[];
57
- /**
58
- * Optional log prefix (e.g., 'MRT') used in log messages.
59
- */
60
- prefix?: string;
61
- /**
62
- * Optional fetch implementation used for retries when the middleware context
63
- * does not provide a re-dispatch helper.
64
- */
65
- fetch?: (request: Request) => Promise<Response>;
66
- }
67
- /**
68
- * Creates rate limiting middleware for openapi-fetch clients.
69
- *
70
- * This middleware inspects responses for rate-limit status codes (by default
71
- * 429 Too Many Requests), uses the Retry-After header when present to
72
- * determine a delay, and retries the request up to a configurable limit.
73
- *
74
- * The middleware is generic and can be used by MRT and other clients. It does
75
- * not currently read CLI configuration directly; callers should pass
76
- * configuration via the factory function.
77
- */
78
- export declare function createRateLimitMiddleware(config?: RateLimitMiddlewareConfig): Middleware;
79
- /**
80
- * Configuration for logging middleware.
81
- */
82
- export interface LoggingMiddlewareConfig {
83
- /**
84
- * Prefix for log messages (e.g., 'OCAPI', 'SLAS', 'MRT').
85
- */
86
- prefix?: string;
87
- /**
88
- * Body keys to mask in logs (replaced with '...' placeholder).
89
- * Useful for large payloads like base64-encoded file data.
90
- * @example ['data', 'password', 'secret']
91
- */
92
- maskBodyKeys?: string[];
93
- }
94
- /**
95
- * Creates logging middleware for openapi-fetch clients.
96
- *
97
- * Logs request/response details at debug and trace levels.
98
- *
99
- * @param config - Logging configuration or prefix string for backwards compatibility
100
- * @returns Middleware that logs requests and responses
101
- *
102
- * @example
103
- * // Simple usage with just a prefix
104
- * client.use(createLoggingMiddleware('OCAPI'));
105
- *
106
- * @example
107
- * // With body masking for large payloads
108
- * client.use(createLoggingMiddleware({
109
- * prefix: 'MRT',
110
- * maskBodyKeys: ['data'] // Masks base64-encoded bundle data
111
- * }));
112
- */
113
- export declare function createLoggingMiddleware(config?: string | LoggingMiddlewareConfig): Middleware;
114
- /**
115
- * Creates middleware that adds extra query parameters and/or body fields to requests.
116
- *
117
- * This is useful for internal/power-user scenarios where you need to pass
118
- * parameters that aren't in the typed OpenAPI schema.
119
- *
120
- * @param config - Configuration with extra query and/or body params
121
- * @returns Middleware that adds extra params to requests
122
- *
123
- * @example
124
- * ```typescript
125
- * const client = createOdsClient(config, auth);
126
- * client.use(createExtraParamsMiddleware({
127
- * query: { debug: 'true', internal_flag: '1' },
128
- * body: { _internal: { trace: true } }
129
- * }));
130
- * ```
131
- */
132
- /**
133
- * Safety middleware using SafetyGuard.
134
- */
135
- import type { SafetyGuard } from '../safety/safety-guard.js';
136
- /**
137
- * Creates safety middleware that evaluates HTTP requests against a SafetyGuard.
138
- *
139
- * This middleware intercepts HTTP requests BEFORE they are sent. It evaluates
140
- * each request against the guard's rules and level, throwing:
141
- * - {@link SafetyBlockedError} for blocked operations
142
- * - {@link SafetyConfirmationRequired} for operations needing confirmation
143
- *
144
- * Callers that want confirmation support should wrap their SDK calls with
145
- * {@link withSafetyConfirmation}. Otherwise, both error types propagate as errors.
146
- *
147
- * @param guard - The SafetyGuard instance
148
- * @returns Middleware that evaluates operations against safety rules
149
- *
150
- * @example
151
- * ```typescript
152
- * const guard = new SafetyGuard({ level: 'NO_DELETE' });
153
- * const client = createOdsClient(config, auth);
154
- * client.use(createSafetyMiddleware(guard));
155
- * ```
156
- */
157
- export declare function createSafetyMiddleware(guard: SafetyGuard): Middleware;
158
- /**
159
- * Configuration for User-Agent middleware.
160
- */
161
- export interface UserAgentConfig {
162
- /**
163
- * The User-Agent string to set on requests.
164
- */
165
- userAgent: string;
166
- }
167
- /**
168
- * Creates middleware that sets the User-Agent header on requests.
169
- *
170
- * Sets both the standard `User-Agent` header and a custom `sfdc_user_agent` header
171
- * with the same value.
172
- *
173
- * @param config - Configuration with the User-Agent string
174
- * @returns Middleware that sets the User-Agent headers
175
- *
176
- * @example
177
- * ```typescript
178
- * const client = createOcapiClient(config, auth);
179
- * client.use(createUserAgentMiddleware({ userAgent: 'b2c-cli/0.1.0' }));
180
- * ```
181
- */
182
- export declare function createUserAgentMiddleware(config: UserAgentConfig): Middleware;
183
- export declare function createExtraParamsMiddleware(config: ExtraParamsConfig): Middleware;
@@ -1,465 +0,0 @@
1
- import { getLogger } from '../logging/logger.js';
2
- /**
3
- * Converts Headers to a plain object for logging.
4
- */
5
- function headersToObject(headers) {
6
- const result = {};
7
- headers.forEach((value, key) => {
8
- result[key] = value;
9
- });
10
- return result;
11
- }
12
- // Track which requests have been retried to prevent infinite loops
13
- const retriedRequests = new WeakSet();
14
- // Store cloned request bodies for potential retry (body can only be read once)
15
- const requestBodies = new WeakMap();
16
- /**
17
- * Creates authentication middleware for openapi-fetch.
18
- *
19
- * This middleware intercepts requests and adds OAuth authentication headers
20
- * using the provided AuthStrategy. It also handles 401 responses by invalidating
21
- * the token and retrying the request once with a fresh token.
22
- *
23
- * @param auth - The authentication strategy to use
24
- * @returns Middleware that adds auth headers to requests and retries on 401
25
- */
26
- export function createAuthMiddleware(auth) {
27
- const logger = getLogger();
28
- let hasHadSuccess = false;
29
- return {
30
- async onRequest({ request }) {
31
- if (auth.getAuthorizationHeader) {
32
- const authHeader = await auth.getAuthorizationHeader();
33
- request.headers.set('Authorization', authHeader);
34
- }
35
- // Clone the request body before it gets consumed, so we can retry if needed
36
- if (request.body && auth.invalidateToken && auth.getAuthorizationHeader) {
37
- const clonedRequest = request.clone();
38
- const bodyBuffer = await clonedRequest.arrayBuffer();
39
- requestBodies.set(request, bodyBuffer);
40
- }
41
- return request;
42
- },
43
- async onResponse({ request, response }) {
44
- if (response.status !== 401) {
45
- hasHadSuccess = true;
46
- }
47
- // Only retry on 401 if we have had a prior successful response (indicating
48
- // token expiry rather than bad credentials), haven't already retried this
49
- // request, and the strategy supports token invalidation
50
- if (response.status === 401 &&
51
- hasHadSuccess &&
52
- !retriedRequests.has(request) &&
53
- auth.invalidateToken &&
54
- auth.getAuthorizationHeader) {
55
- logger.debug('[AuthMiddleware] Received 401, invalidating token and retrying');
56
- // Mark this request as retried to prevent infinite loops
57
- retriedRequests.add(request);
58
- // Invalidate the cached token
59
- auth.invalidateToken();
60
- // Get a fresh token
61
- const newAuthHeader = await auth.getAuthorizationHeader();
62
- // Rebuild the request with the new auth header
63
- const newHeaders = new Headers(request.headers);
64
- newHeaders.set('Authorization', newAuthHeader);
65
- // Get the saved body (if any)
66
- const savedBody = requestBodies.get(request);
67
- // Create a new request with the fresh token
68
- const retryRequest = new Request(request.url, {
69
- method: request.method,
70
- headers: newHeaders,
71
- body: savedBody,
72
- // TypeScript doesn't know about duplex, but it's needed for streaming bodies
73
- ...(savedBody ? { duplex: 'half' } : {}),
74
- });
75
- // Retry the request
76
- const retryResponse = await fetch(retryRequest);
77
- logger.debug({ status: retryResponse.status }, `[AuthMiddleware] Retry response: ${retryResponse.status}`);
78
- return retryResponse;
79
- }
80
- return response;
81
- },
82
- };
83
- }
84
- const DEFAULT_RATE_LIMIT_MAX_RETRIES = 3;
85
- const DEFAULT_RATE_LIMIT_BASE_DELAY_MS = 1000;
86
- const DEFAULT_RATE_LIMIT_MAX_DELAY_MS = 30000;
87
- const DEFAULT_RATE_LIMIT_STATUS_CODES = [429];
88
- const DEFAULT_RATE_LIMIT_JITTER_RATIO = 0.2;
89
- async function sleepWithAbort(ms, signal) {
90
- if (ms <= 0) {
91
- return true;
92
- }
93
- if (signal?.aborted) {
94
- return false;
95
- }
96
- await new Promise((resolve) => {
97
- function onAbort() {
98
- clearTimeout(timeout);
99
- signal?.removeEventListener('abort', onAbort);
100
- resolve();
101
- }
102
- const timeout = setTimeout(() => {
103
- signal?.removeEventListener('abort', onAbort);
104
- resolve();
105
- }, ms);
106
- signal?.addEventListener('abort', onAbort);
107
- });
108
- return !signal?.aborted;
109
- }
110
- /**
111
- * Parses the Retry-After header into a delay in milliseconds.
112
- * Supports both seconds and HTTP date formats. Returns undefined if
113
- * the header is missing or invalid.
114
- */
115
- function parseRetryAfter(headerValue) {
116
- if (!headerValue) {
117
- return undefined;
118
- }
119
- const seconds = Number(headerValue);
120
- if (!Number.isNaN(seconds)) {
121
- return Math.max(0, Math.round(seconds * 1000));
122
- }
123
- const dateMs = Date.parse(headerValue);
124
- if (!Number.isNaN(dateMs)) {
125
- const diff = dateMs - Date.now();
126
- return diff > 0 ? diff : 0;
127
- }
128
- return undefined;
129
- }
130
- /**
131
- * Returns the next backoff delay based on attempt count.
132
- */
133
- function computeBackoffDelayMs(attempt, baseDelayMs, maxDelayMs) {
134
- const delay = baseDelayMs * Math.pow(2, Math.max(0, attempt));
135
- if (delay <= 0) {
136
- return 0;
137
- }
138
- const jitter = Math.round(delay * DEFAULT_RATE_LIMIT_JITTER_RATIO * Math.random());
139
- return Math.min(delay + jitter, maxDelayMs);
140
- }
141
- /**
142
- * Creates rate limiting middleware for openapi-fetch clients.
143
- *
144
- * This middleware inspects responses for rate-limit status codes (by default
145
- * 429 Too Many Requests), uses the Retry-After header when present to
146
- * determine a delay, and retries the request up to a configurable limit.
147
- *
148
- * The middleware is generic and can be used by MRT and other clients. It does
149
- * not currently read CLI configuration directly; callers should pass
150
- * configuration via the factory function.
151
- */
152
- export function createRateLimitMiddleware(config = {}) {
153
- const logger = getLogger();
154
- const { maxRetries = DEFAULT_RATE_LIMIT_MAX_RETRIES, baseDelayMs = DEFAULT_RATE_LIMIT_BASE_DELAY_MS, maxDelayMs = DEFAULT_RATE_LIMIT_MAX_DELAY_MS, statusCodes = DEFAULT_RATE_LIMIT_STATUS_CODES, prefix, fetch: configFetch, } = config;
155
- const tag = prefix ? `[${prefix} RATE]` : '[RATE]';
156
- return {
157
- async onResponse(ctx) {
158
- const { request, response } = ctx;
159
- const ctxFetch = ctx.fetch;
160
- // Only handle configured status codes
161
- if (!statusCodes.includes(response.status) || maxRetries <= 0) {
162
- return response;
163
- }
164
- const fetchFn = ctxFetch ?? configFetch ?? (typeof fetch === 'function' ? fetch : undefined);
165
- if (!fetchFn) {
166
- return response;
167
- }
168
- const reqWithAttempt = request;
169
- const startingAttempt = reqWithAttempt._rateLimitAttempt ?? 0;
170
- // If openapi-fetch provides ctx.fetch, it typically re-enters the middleware chain.
171
- // In that case, do a single retry and let subsequent attempts be handled by
172
- // subsequent middleware invocations (guarded by _rateLimitAttempt).
173
- if (ctxFetch) {
174
- if (startingAttempt >= maxRetries) {
175
- logger.debug({ status: response.status, attempt: startingAttempt, maxRetries }, `${tag} Max retries reached, not retrying request`);
176
- return response;
177
- }
178
- const retryAfterHeader = response.headers.get('Retry-After');
179
- let delayMs = parseRetryAfter(retryAfterHeader);
180
- if (delayMs === undefined) {
181
- delayMs = computeBackoffDelayMs(startingAttempt, baseDelayMs, maxDelayMs);
182
- }
183
- logger.warn({
184
- status: response.status,
185
- attempt: startingAttempt + 1,
186
- maxRetries,
187
- delayMs,
188
- retryAfter: retryAfterHeader ?? undefined,
189
- url: request.url,
190
- }, `${tag} Rate limit encountered, retrying request after ${delayMs}ms (attempt ${startingAttempt + 1}/${maxRetries})`);
191
- const canRetry = await sleepWithAbort(delayMs, request.signal);
192
- if (!canRetry) {
193
- return response;
194
- }
195
- reqWithAttempt._rateLimitAttempt = startingAttempt + 1;
196
- let retryRequest = request;
197
- try {
198
- retryRequest = request.clone();
199
- }
200
- catch {
201
- logger.debug({ url: request.url }, `${tag} Could not clone request for retry; retrying with original request`);
202
- }
203
- return fetchFn(retryRequest);
204
- }
205
- // Fallback path: if ctx.fetch is not provided, handle retries in this invocation.
206
- let lastResponse = response;
207
- let attempt = startingAttempt;
208
- while (statusCodes.includes(lastResponse.status) && attempt < maxRetries) {
209
- const retryAfterHeader = lastResponse.headers.get('Retry-After');
210
- let delayMs = parseRetryAfter(retryAfterHeader);
211
- if (delayMs === undefined) {
212
- delayMs = computeBackoffDelayMs(attempt, baseDelayMs, maxDelayMs);
213
- }
214
- logger.warn({
215
- status: lastResponse.status,
216
- attempt: attempt + 1,
217
- maxRetries,
218
- delayMs,
219
- retryAfter: retryAfterHeader ?? undefined,
220
- url: request.url,
221
- }, `${tag} Rate limit encountered, retrying request after ${delayMs}ms (attempt ${attempt + 1}/${maxRetries})`);
222
- const canRetry = await sleepWithAbort(delayMs, request.signal);
223
- if (!canRetry) {
224
- return lastResponse;
225
- }
226
- attempt += 1;
227
- reqWithAttempt._rateLimitAttempt = attempt;
228
- let retryRequest = request;
229
- try {
230
- retryRequest = request.clone();
231
- }
232
- catch {
233
- logger.debug({ url: request.url }, `${tag} Could not clone request for retry; retrying with original request`);
234
- }
235
- lastResponse = await fetchFn(retryRequest);
236
- }
237
- if (statusCodes.includes(lastResponse.status) && attempt >= maxRetries) {
238
- logger.debug({ status: lastResponse.status, attempt, maxRetries }, `${tag} Max retries reached, not retrying request`);
239
- }
240
- return lastResponse;
241
- },
242
- };
243
- }
244
- /**
245
- * Masks specified keys in an object for logging.
246
- * Only masks top-level keys, replaces values with '...' placeholder.
247
- */
248
- function maskBody(body, keysToMask) {
249
- if (!keysToMask || keysToMask.length === 0 || typeof body !== 'object' || body === null) {
250
- return body;
251
- }
252
- const masked = { ...body };
253
- for (const key of keysToMask) {
254
- if (key in masked) {
255
- masked[key] = '...';
256
- }
257
- }
258
- return masked;
259
- }
260
- /**
261
- * Creates logging middleware for openapi-fetch clients.
262
- *
263
- * Logs request/response details at debug and trace levels.
264
- *
265
- * @param config - Logging configuration or prefix string for backwards compatibility
266
- * @returns Middleware that logs requests and responses
267
- *
268
- * @example
269
- * // Simple usage with just a prefix
270
- * client.use(createLoggingMiddleware('OCAPI'));
271
- *
272
- * @example
273
- * // With body masking for large payloads
274
- * client.use(createLoggingMiddleware({
275
- * prefix: 'MRT',
276
- * maskBodyKeys: ['data'] // Masks base64-encoded bundle data
277
- * }));
278
- */
279
- export function createLoggingMiddleware(config) {
280
- // Support both string (prefix) and config object for backwards compatibility
281
- const { prefix, maskBodyKeys } = typeof config === 'string' ? { prefix: config, maskBodyKeys: undefined } : (config ?? {});
282
- const reqTag = prefix ? `[${prefix} REQ]` : '';
283
- const respTag = prefix ? `[${prefix} RESP]` : '';
284
- return {
285
- async onRequest({ request }) {
286
- const logger = getLogger();
287
- const url = request.url;
288
- logger.debug({ method: request.method, url }, `${reqTag} ${request.method} ${url}`);
289
- // Read body from the request (already serialized by openapi-fetch)
290
- let body;
291
- if (request.body) {
292
- const clonedRequest = request.clone();
293
- const text = await clonedRequest.text();
294
- try {
295
- body = JSON.parse(text);
296
- }
297
- catch {
298
- body = text;
299
- }
300
- }
301
- // Mask sensitive/large body keys before logging
302
- const maskedBody = maskBody(body, maskBodyKeys);
303
- logger.trace({ method: request.method, url, headers: headersToObject(request.headers), body: maskedBody }, `${reqTag} ${request.method} ${url} body`);
304
- request._startTime = Date.now();
305
- return request;
306
- },
307
- async onResponse({ request, response }) {
308
- const logger = getLogger();
309
- const startTime = request._startTime ?? Date.now();
310
- const duration = Date.now() - startTime;
311
- const url = request.url;
312
- logger.debug({ method: request.method, url, status: response.status, duration }, `${respTag} ${request.method} ${url} ${response.status} ${duration}ms`);
313
- const clonedResponse = response.clone();
314
- let responseBody;
315
- // Read as text first, then try to parse as JSON.
316
- // This avoids a bug where json() consumes the body stream even when parsing fails,
317
- // making subsequent text() calls fail with "Body has already been read".
318
- const text = await clonedResponse.text();
319
- try {
320
- responseBody = JSON.parse(text);
321
- }
322
- catch {
323
- responseBody = text;
324
- }
325
- // Mask sensitive/large body keys before logging
326
- const maskedResponseBody = maskBody(responseBody, maskBodyKeys);
327
- logger.trace({ method: request.method, url, headers: headersToObject(response.headers), body: maskedResponseBody }, `${respTag} ${request.method} ${url} body`);
328
- return response;
329
- },
330
- };
331
- }
332
- import { extractJobIdFromPath } from '../safety/safety-guard.js';
333
- /**
334
- * Creates safety middleware that evaluates HTTP requests against a SafetyGuard.
335
- *
336
- * This middleware intercepts HTTP requests BEFORE they are sent. It evaluates
337
- * each request against the guard's rules and level, throwing:
338
- * - {@link SafetyBlockedError} for blocked operations
339
- * - {@link SafetyConfirmationRequired} for operations needing confirmation
340
- *
341
- * Callers that want confirmation support should wrap their SDK calls with
342
- * {@link withSafetyConfirmation}. Otherwise, both error types propagate as errors.
343
- *
344
- * @param guard - The SafetyGuard instance
345
- * @returns Middleware that evaluates operations against safety rules
346
- *
347
- * @example
348
- * ```typescript
349
- * const guard = new SafetyGuard({ level: 'NO_DELETE' });
350
- * const client = createOdsClient(config, auth);
351
- * client.use(createSafetyMiddleware(guard));
352
- * ```
353
- */
354
- export function createSafetyMiddleware(guard) {
355
- return {
356
- async onRequest({ request }) {
357
- const path = new URL(request.url, 'http://dummy').pathname;
358
- guard.assert({
359
- type: 'http',
360
- method: request.method,
361
- url: request.url,
362
- path,
363
- jobId: extractJobIdFromPath(path),
364
- });
365
- return request;
366
- },
367
- };
368
- }
369
- /**
370
- * Creates middleware that sets the User-Agent header on requests.
371
- *
372
- * Sets both the standard `User-Agent` header and a custom `sfdc_user_agent` header
373
- * with the same value.
374
- *
375
- * @param config - Configuration with the User-Agent string
376
- * @returns Middleware that sets the User-Agent headers
377
- *
378
- * @example
379
- * ```typescript
380
- * const client = createOcapiClient(config, auth);
381
- * client.use(createUserAgentMiddleware({ userAgent: 'b2c-cli/0.1.0' }));
382
- * ```
383
- */
384
- export function createUserAgentMiddleware(config) {
385
- return {
386
- async onRequest({ request }) {
387
- request.headers.set('User-Agent', config.userAgent);
388
- request.headers.set('sfdc_user_agent', config.userAgent);
389
- return request;
390
- },
391
- };
392
- }
393
- export function createExtraParamsMiddleware(config) {
394
- const logger = getLogger();
395
- return {
396
- async onRequest({ request }) {
397
- let modifiedRequest = request;
398
- // HTTP methods that don't allow a request body
399
- const methodsWithoutBody = ['GET', 'HEAD'];
400
- const canHaveBody = !methodsWithoutBody.includes(modifiedRequest.method.toUpperCase());
401
- // Add extra headers first (before other modifications)
402
- if (config.headers && Object.keys(config.headers).length > 0) {
403
- const newHeaders = new Headers(modifiedRequest.headers);
404
- for (const [key, value] of Object.entries(config.headers)) {
405
- newHeaders.set(key, value);
406
- }
407
- logger.trace({ extraHeaders: config.headers }, '[ExtraParams] Adding extra headers to request');
408
- modifiedRequest = new Request(modifiedRequest.url, {
409
- method: modifiedRequest.method,
410
- headers: newHeaders,
411
- ...(canHaveBody && modifiedRequest.body ? { body: modifiedRequest.body, duplex: 'half' } : {}),
412
- });
413
- }
414
- // Add extra query parameters
415
- if (config.query && Object.keys(config.query).length > 0) {
416
- const url = new URL(modifiedRequest.url);
417
- for (const [key, value] of Object.entries(config.query)) {
418
- if (value !== undefined) {
419
- url.searchParams.set(key, String(value));
420
- }
421
- }
422
- logger.trace({ extraQuery: config.query, originalUrl: modifiedRequest.url, newUrl: url.toString() }, '[ExtraParams] Adding extra query params to URL');
423
- modifiedRequest = new Request(url.toString(), {
424
- method: modifiedRequest.method,
425
- headers: modifiedRequest.headers,
426
- ...(canHaveBody && modifiedRequest.body ? { body: modifiedRequest.body, duplex: 'half' } : {}),
427
- });
428
- }
429
- // Merge extra body fields for JSON requests
430
- if (config.body && Object.keys(config.body).length > 0) {
431
- const contentType = modifiedRequest.headers.get('content-type');
432
- if (contentType?.includes('application/json') && modifiedRequest.body) {
433
- const clonedRequest = modifiedRequest.clone();
434
- const originalBody = await clonedRequest.text();
435
- try {
436
- const parsedBody = JSON.parse(originalBody);
437
- const mergedBody = { ...parsedBody, ...config.body };
438
- logger.trace({ originalBody: parsedBody, extraBody: config.body, mergedBody }, '[ExtraParams] Merging extra body fields into request');
439
- modifiedRequest = new Request(modifiedRequest.url, {
440
- method: modifiedRequest.method,
441
- headers: modifiedRequest.headers,
442
- body: JSON.stringify(mergedBody),
443
- });
444
- }
445
- catch {
446
- logger.warn('[ExtraParams] Could not parse request body as JSON, skipping body merge');
447
- }
448
- }
449
- else if (!modifiedRequest.body && canHaveBody) {
450
- // No existing body, create one with extra fields (only for methods that allow a body)
451
- logger.trace({ body: config.body }, '[ExtraParams] Creating new body with extra fields');
452
- const headers = new Headers(modifiedRequest.headers);
453
- headers.set('content-type', 'application/json');
454
- modifiedRequest = new Request(modifiedRequest.url, {
455
- method: modifiedRequest.method,
456
- headers,
457
- body: JSON.stringify(config.body),
458
- });
459
- }
460
- }
461
- return modifiedRequest;
462
- },
463
- };
464
- }
465
- //# sourceMappingURL=middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/clients/middleware.ts"],"names":[],"mappings":"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"}