@salesforce/b2c-tooling-sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/dist/cjs/auth/index.d.ts +2 -0
  2. package/dist/cjs/auth/index.js +2 -0
  3. package/dist/cjs/auth/index.js.map +1 -1
  4. package/dist/cjs/auth/middleware.d.ts +196 -0
  5. package/dist/cjs/auth/middleware.js +190 -0
  6. package/dist/cjs/auth/middleware.js.map +1 -0
  7. package/dist/cjs/auth/oauth.js +21 -9
  8. package/dist/cjs/auth/oauth.js.map +1 -1
  9. package/dist/cjs/cli/base-command.d.ts +15 -0
  10. package/dist/cjs/cli/base-command.js +58 -2
  11. package/dist/cjs/cli/base-command.js.map +1 -1
  12. package/dist/cjs/cli/hooks.d.ts +98 -5
  13. package/dist/cjs/cli/hooks.js.map +1 -1
  14. package/dist/cjs/cli/instance-command.d.ts +1 -0
  15. package/dist/cjs/cli/mrt-command.d.ts +2 -1
  16. package/dist/cjs/cli/mrt-command.js +3 -2
  17. package/dist/cjs/cli/mrt-command.js.map +1 -1
  18. package/dist/cjs/cli/oauth-command.d.ts +1 -0
  19. package/dist/cjs/cli/oauth-command.js +6 -0
  20. package/dist/cjs/cli/oauth-command.js.map +1 -1
  21. package/dist/cjs/cli/ods-command.d.ts +1 -0
  22. package/dist/cjs/cli/webdav-command.d.ts +1 -0
  23. package/dist/cjs/clients/cdn-zones.d.ts +154 -0
  24. package/dist/cjs/clients/cdn-zones.generated.d.ts +8330 -0
  25. package/dist/cjs/clients/cdn-zones.generated.js +6 -0
  26. package/dist/cjs/clients/cdn-zones.generated.js.map +1 -0
  27. package/dist/cjs/clients/cdn-zones.js +100 -0
  28. package/dist/cjs/clients/cdn-zones.js.map +1 -0
  29. package/dist/cjs/clients/error-utils.d.ts +35 -0
  30. package/dist/cjs/clients/error-utils.js +69 -0
  31. package/dist/cjs/clients/error-utils.js.map +1 -0
  32. package/dist/cjs/clients/index.d.ts +8 -2
  33. package/dist/cjs/clients/index.js +6 -1
  34. package/dist/cjs/clients/index.js.map +1 -1
  35. package/dist/cjs/clients/middleware-registry.d.ts +1 -1
  36. package/dist/cjs/clients/middleware-registry.js.map +1 -1
  37. package/dist/cjs/clients/middleware.d.ts +25 -0
  38. package/dist/cjs/clients/middleware.js +16 -10
  39. package/dist/cjs/clients/middleware.js.map +1 -1
  40. package/dist/cjs/clients/mrt-b2c.d.ts +114 -0
  41. package/dist/cjs/clients/mrt-b2c.generated.d.ts +176 -0
  42. package/dist/cjs/clients/mrt-b2c.generated.js +6 -0
  43. package/dist/cjs/clients/mrt-b2c.generated.js.map +1 -0
  44. package/dist/cjs/clients/mrt-b2c.js +86 -0
  45. package/dist/cjs/clients/mrt-b2c.js.map +1 -0
  46. package/dist/cjs/clients/user-agent.d.ts +43 -0
  47. package/dist/cjs/clients/user-agent.js +87 -0
  48. package/dist/cjs/clients/user-agent.js.map +1 -0
  49. package/dist/cjs/config/dw-json.d.ts +6 -0
  50. package/dist/cjs/config/dw-json.js.map +1 -1
  51. package/dist/cjs/config/mapping.js +3 -0
  52. package/dist/cjs/config/mapping.js.map +1 -1
  53. package/dist/cjs/config/resolver.d.ts +2 -1
  54. package/dist/cjs/config/resolver.js +14 -7
  55. package/dist/cjs/config/resolver.js.map +1 -1
  56. package/dist/cjs/config/sources/dw-json-source.d.ts +1 -0
  57. package/dist/cjs/config/sources/dw-json-source.js +1 -0
  58. package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
  59. package/dist/cjs/config/sources/index.d.ts +1 -0
  60. package/dist/cjs/config/sources/index.js +1 -0
  61. package/dist/cjs/config/sources/index.js.map +1 -1
  62. package/dist/cjs/config/sources/mobify-source.d.ts +1 -0
  63. package/dist/cjs/config/sources/mobify-source.js +1 -0
  64. package/dist/cjs/config/sources/mobify-source.js.map +1 -1
  65. package/dist/cjs/config/sources/package-json-source.d.ts +14 -0
  66. package/dist/cjs/config/sources/package-json-source.js +86 -0
  67. package/dist/cjs/config/sources/package-json-source.js.map +1 -0
  68. package/dist/cjs/config/types.d.ts +14 -0
  69. package/dist/cjs/index.d.ts +3 -2
  70. package/dist/cjs/index.js +3 -1
  71. package/dist/cjs/index.js.map +1 -1
  72. package/dist/cjs/operations/code/deploy.js +9 -3
  73. package/dist/cjs/operations/code/deploy.js.map +1 -1
  74. package/dist/cjs/operations/mrt/access-control.d.ts +192 -0
  75. package/dist/cjs/operations/mrt/access-control.js +152 -0
  76. package/dist/cjs/operations/mrt/access-control.js.map +1 -0
  77. package/dist/cjs/operations/mrt/b2c-config.d.ts +201 -0
  78. package/dist/cjs/operations/mrt/b2c-config.js +195 -0
  79. package/dist/cjs/operations/mrt/b2c-config.js.map +1 -0
  80. package/dist/cjs/operations/mrt/cache.d.ts +80 -0
  81. package/dist/cjs/operations/mrt/cache.js +65 -0
  82. package/dist/cjs/operations/mrt/cache.js.map +1 -0
  83. package/dist/cjs/operations/mrt/deployment.d.ts +157 -0
  84. package/dist/cjs/operations/mrt/deployment.js +109 -0
  85. package/dist/cjs/operations/mrt/deployment.js.map +1 -0
  86. package/dist/cjs/operations/mrt/env.d.ts +141 -0
  87. package/dist/cjs/operations/mrt/env.js +119 -0
  88. package/dist/cjs/operations/mrt/env.js.map +1 -1
  89. package/dist/cjs/operations/mrt/index.d.ts +24 -4
  90. package/dist/cjs/operations/mrt/index.js +23 -3
  91. package/dist/cjs/operations/mrt/index.js.map +1 -1
  92. package/dist/cjs/operations/mrt/member.d.ts +281 -0
  93. package/dist/cjs/operations/mrt/member.js +244 -0
  94. package/dist/cjs/operations/mrt/member.js.map +1 -0
  95. package/dist/cjs/operations/mrt/notification.d.ts +252 -0
  96. package/dist/cjs/operations/mrt/notification.js +206 -0
  97. package/dist/cjs/operations/mrt/notification.js.map +1 -0
  98. package/dist/cjs/operations/mrt/organization.d.ts +80 -0
  99. package/dist/cjs/operations/mrt/organization.js +53 -0
  100. package/dist/cjs/operations/mrt/organization.js.map +1 -0
  101. package/dist/cjs/operations/mrt/project.d.ts +261 -0
  102. package/dist/cjs/operations/mrt/project.js +232 -0
  103. package/dist/cjs/operations/mrt/project.js.map +1 -0
  104. package/dist/cjs/operations/mrt/push.d.ts +122 -8
  105. package/dist/cjs/operations/mrt/push.js +83 -10
  106. package/dist/cjs/operations/mrt/push.js.map +1 -1
  107. package/dist/cjs/operations/mrt/redirect.d.ts +337 -0
  108. package/dist/cjs/operations/mrt/redirect.js +256 -0
  109. package/dist/cjs/operations/mrt/redirect.js.map +1 -0
  110. package/dist/cjs/operations/mrt/user.d.ts +135 -0
  111. package/dist/cjs/operations/mrt/user.js +153 -0
  112. package/dist/cjs/operations/mrt/user.js.map +1 -0
  113. package/dist/cjs/skills/agents.d.ts +41 -0
  114. package/dist/cjs/skills/agents.js +159 -0
  115. package/dist/cjs/skills/agents.js.map +1 -0
  116. package/dist/cjs/skills/github.d.ts +47 -0
  117. package/dist/cjs/skills/github.js +246 -0
  118. package/dist/cjs/skills/github.js.map +1 -0
  119. package/dist/cjs/skills/index.d.ts +42 -0
  120. package/dist/cjs/skills/index.js +14 -0
  121. package/dist/cjs/skills/index.js.map +1 -0
  122. package/dist/cjs/skills/installer.d.ts +34 -0
  123. package/dist/cjs/skills/installer.js +181 -0
  124. package/dist/cjs/skills/installer.js.map +1 -0
  125. package/dist/cjs/skills/parser.d.ts +39 -0
  126. package/dist/cjs/skills/parser.js +131 -0
  127. package/dist/cjs/skills/parser.js.map +1 -0
  128. package/dist/cjs/skills/types.d.ts +134 -0
  129. package/dist/cjs/skills/types.js +7 -0
  130. package/dist/cjs/skills/types.js.map +1 -0
  131. package/dist/cjs/test-utils/config-isolation.d.ts +2 -0
  132. package/dist/cjs/test-utils/config-isolation.js +41 -0
  133. package/dist/cjs/test-utils/config-isolation.js.map +1 -0
  134. package/dist/cjs/test-utils/index.d.ts +1 -0
  135. package/dist/cjs/test-utils/index.js +7 -0
  136. package/dist/cjs/test-utils/index.js.map +1 -0
  137. package/dist/cjs/version.d.ts +14 -0
  138. package/dist/cjs/version.js +29 -0
  139. package/dist/cjs/version.js.map +1 -0
  140. package/dist/esm/auth/index.d.ts +2 -0
  141. package/dist/esm/auth/index.js +2 -0
  142. package/dist/esm/auth/index.js.map +1 -1
  143. package/dist/esm/auth/middleware.d.ts +196 -0
  144. package/dist/esm/auth/middleware.js +190 -0
  145. package/dist/esm/auth/middleware.js.map +1 -0
  146. package/dist/esm/auth/oauth.js +21 -9
  147. package/dist/esm/auth/oauth.js.map +1 -1
  148. package/dist/esm/cli/base-command.d.ts +15 -0
  149. package/dist/esm/cli/base-command.js +58 -2
  150. package/dist/esm/cli/base-command.js.map +1 -1
  151. package/dist/esm/cli/hooks.d.ts +98 -5
  152. package/dist/esm/cli/hooks.js.map +1 -1
  153. package/dist/esm/cli/instance-command.d.ts +1 -0
  154. package/dist/esm/cli/mrt-command.d.ts +2 -1
  155. package/dist/esm/cli/mrt-command.js +3 -2
  156. package/dist/esm/cli/mrt-command.js.map +1 -1
  157. package/dist/esm/cli/oauth-command.d.ts +1 -0
  158. package/dist/esm/cli/oauth-command.js +6 -0
  159. package/dist/esm/cli/oauth-command.js.map +1 -1
  160. package/dist/esm/cli/ods-command.d.ts +1 -0
  161. package/dist/esm/cli/webdav-command.d.ts +1 -0
  162. package/dist/esm/clients/cdn-zones.d.ts +154 -0
  163. package/dist/esm/clients/cdn-zones.generated.d.ts +8330 -0
  164. package/dist/esm/clients/cdn-zones.generated.js +6 -0
  165. package/dist/esm/clients/cdn-zones.generated.js.map +1 -0
  166. package/dist/esm/clients/cdn-zones.js +100 -0
  167. package/dist/esm/clients/cdn-zones.js.map +1 -0
  168. package/dist/esm/clients/error-utils.d.ts +35 -0
  169. package/dist/esm/clients/error-utils.js +69 -0
  170. package/dist/esm/clients/error-utils.js.map +1 -0
  171. package/dist/esm/clients/index.d.ts +8 -2
  172. package/dist/esm/clients/index.js +6 -1
  173. package/dist/esm/clients/index.js.map +1 -1
  174. package/dist/esm/clients/middleware-registry.d.ts +1 -1
  175. package/dist/esm/clients/middleware-registry.js.map +1 -1
  176. package/dist/esm/clients/middleware.d.ts +25 -0
  177. package/dist/esm/clients/middleware.js +16 -10
  178. package/dist/esm/clients/middleware.js.map +1 -1
  179. package/dist/esm/clients/mrt-b2c.d.ts +114 -0
  180. package/dist/esm/clients/mrt-b2c.generated.d.ts +176 -0
  181. package/dist/esm/clients/mrt-b2c.generated.js +6 -0
  182. package/dist/esm/clients/mrt-b2c.generated.js.map +1 -0
  183. package/dist/esm/clients/mrt-b2c.js +86 -0
  184. package/dist/esm/clients/mrt-b2c.js.map +1 -0
  185. package/dist/esm/clients/user-agent.d.ts +43 -0
  186. package/dist/esm/clients/user-agent.js +87 -0
  187. package/dist/esm/clients/user-agent.js.map +1 -0
  188. package/dist/esm/config/dw-json.d.ts +6 -0
  189. package/dist/esm/config/dw-json.js.map +1 -1
  190. package/dist/esm/config/mapping.js +3 -0
  191. package/dist/esm/config/mapping.js.map +1 -1
  192. package/dist/esm/config/resolver.d.ts +2 -1
  193. package/dist/esm/config/resolver.js +14 -7
  194. package/dist/esm/config/resolver.js.map +1 -1
  195. package/dist/esm/config/sources/dw-json-source.d.ts +1 -0
  196. package/dist/esm/config/sources/dw-json-source.js +1 -0
  197. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  198. package/dist/esm/config/sources/index.d.ts +1 -0
  199. package/dist/esm/config/sources/index.js +1 -0
  200. package/dist/esm/config/sources/index.js.map +1 -1
  201. package/dist/esm/config/sources/mobify-source.d.ts +1 -0
  202. package/dist/esm/config/sources/mobify-source.js +1 -0
  203. package/dist/esm/config/sources/mobify-source.js.map +1 -1
  204. package/dist/esm/config/sources/package-json-source.d.ts +14 -0
  205. package/dist/esm/config/sources/package-json-source.js +86 -0
  206. package/dist/esm/config/sources/package-json-source.js.map +1 -0
  207. package/dist/esm/config/types.d.ts +14 -0
  208. package/dist/esm/index.d.ts +3 -2
  209. package/dist/esm/index.js +3 -1
  210. package/dist/esm/index.js.map +1 -1
  211. package/dist/esm/operations/code/deploy.js +9 -3
  212. package/dist/esm/operations/code/deploy.js.map +1 -1
  213. package/dist/esm/operations/mrt/access-control.d.ts +192 -0
  214. package/dist/esm/operations/mrt/access-control.js +152 -0
  215. package/dist/esm/operations/mrt/access-control.js.map +1 -0
  216. package/dist/esm/operations/mrt/b2c-config.d.ts +201 -0
  217. package/dist/esm/operations/mrt/b2c-config.js +195 -0
  218. package/dist/esm/operations/mrt/b2c-config.js.map +1 -0
  219. package/dist/esm/operations/mrt/cache.d.ts +80 -0
  220. package/dist/esm/operations/mrt/cache.js +65 -0
  221. package/dist/esm/operations/mrt/cache.js.map +1 -0
  222. package/dist/esm/operations/mrt/deployment.d.ts +157 -0
  223. package/dist/esm/operations/mrt/deployment.js +109 -0
  224. package/dist/esm/operations/mrt/deployment.js.map +1 -0
  225. package/dist/esm/operations/mrt/env.d.ts +141 -0
  226. package/dist/esm/operations/mrt/env.js +119 -0
  227. package/dist/esm/operations/mrt/env.js.map +1 -1
  228. package/dist/esm/operations/mrt/index.d.ts +24 -4
  229. package/dist/esm/operations/mrt/index.js +23 -3
  230. package/dist/esm/operations/mrt/index.js.map +1 -1
  231. package/dist/esm/operations/mrt/member.d.ts +281 -0
  232. package/dist/esm/operations/mrt/member.js +244 -0
  233. package/dist/esm/operations/mrt/member.js.map +1 -0
  234. package/dist/esm/operations/mrt/notification.d.ts +252 -0
  235. package/dist/esm/operations/mrt/notification.js +206 -0
  236. package/dist/esm/operations/mrt/notification.js.map +1 -0
  237. package/dist/esm/operations/mrt/organization.d.ts +80 -0
  238. package/dist/esm/operations/mrt/organization.js +53 -0
  239. package/dist/esm/operations/mrt/organization.js.map +1 -0
  240. package/dist/esm/operations/mrt/project.d.ts +261 -0
  241. package/dist/esm/operations/mrt/project.js +232 -0
  242. package/dist/esm/operations/mrt/project.js.map +1 -0
  243. package/dist/esm/operations/mrt/push.d.ts +122 -8
  244. package/dist/esm/operations/mrt/push.js +83 -10
  245. package/dist/esm/operations/mrt/push.js.map +1 -1
  246. package/dist/esm/operations/mrt/redirect.d.ts +337 -0
  247. package/dist/esm/operations/mrt/redirect.js +256 -0
  248. package/dist/esm/operations/mrt/redirect.js.map +1 -0
  249. package/dist/esm/operations/mrt/user.d.ts +135 -0
  250. package/dist/esm/operations/mrt/user.js +153 -0
  251. package/dist/esm/operations/mrt/user.js.map +1 -0
  252. package/dist/esm/skills/agents.d.ts +41 -0
  253. package/dist/esm/skills/agents.js +159 -0
  254. package/dist/esm/skills/agents.js.map +1 -0
  255. package/dist/esm/skills/github.d.ts +47 -0
  256. package/dist/esm/skills/github.js +246 -0
  257. package/dist/esm/skills/github.js.map +1 -0
  258. package/dist/esm/skills/index.d.ts +42 -0
  259. package/dist/esm/skills/index.js +14 -0
  260. package/dist/esm/skills/index.js.map +1 -0
  261. package/dist/esm/skills/installer.d.ts +34 -0
  262. package/dist/esm/skills/installer.js +181 -0
  263. package/dist/esm/skills/installer.js.map +1 -0
  264. package/dist/esm/skills/parser.d.ts +39 -0
  265. package/dist/esm/skills/parser.js +131 -0
  266. package/dist/esm/skills/parser.js.map +1 -0
  267. package/dist/esm/skills/types.d.ts +134 -0
  268. package/dist/esm/skills/types.js +7 -0
  269. package/dist/esm/skills/types.js.map +1 -0
  270. package/dist/esm/test-utils/config-isolation.d.ts +2 -0
  271. package/dist/esm/test-utils/config-isolation.js +41 -0
  272. package/dist/esm/test-utils/config-isolation.js.map +1 -0
  273. package/dist/esm/test-utils/index.d.ts +1 -0
  274. package/dist/esm/test-utils/index.js +7 -0
  275. package/dist/esm/test-utils/index.js.map +1 -0
  276. package/dist/esm/version.d.ts +14 -0
  277. package/dist/esm/version.js +29 -0
  278. package/dist/esm/version.js.map +1 -0
  279. package/package.json +24 -2
  280. package/specs/cdn-zones-v1.yaml +9324 -0
  281. package/specs/mrt-b2c.json +384 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=cdn-zones.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdn-zones.generated.js","sourceRoot":"","sources":["../../../src/clients/cdn-zones.generated.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,100 @@
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
+ * CDN Zones API client for B2C Commerce.
8
+ *
9
+ * Provides a fully typed client for CDN Zones API operations using
10
+ * openapi-fetch with OAuth authentication middleware. Used for managing
11
+ * eCDN configurations including zones, certificates, WAF, rate limiting,
12
+ * cache purge, and other CDN settings.
13
+ *
14
+ * @module clients/cdn-zones
15
+ */
16
+ import createClient, {} from 'openapi-fetch';
17
+ import { OAuthStrategy } from '../auth/oauth.js';
18
+ import { createAuthMiddleware, createLoggingMiddleware } from './middleware.js';
19
+ import { globalMiddlewareRegistry } from './middleware-registry.js';
20
+ import { toOrganizationId, toTenantId, buildTenantScope } from './custom-apis.js';
21
+ /**
22
+ * Re-export organization/tenant utilities for convenience.
23
+ */
24
+ export { toOrganizationId, toTenantId, buildTenantScope };
25
+ /** Default OAuth scopes required for CDN Zones (read-only) */
26
+ export const CDN_ZONES_READ_SCOPES = ['sfcc.cdn-zones'];
27
+ /** OAuth scopes required for CDN Zones (read-write) */
28
+ export const CDN_ZONES_RW_SCOPES = ['sfcc.cdn-zones.rw'];
29
+ /**
30
+ * Creates a typed CDN Zones API client.
31
+ *
32
+ * Returns the openapi-fetch client directly, with authentication
33
+ * handled via middleware. This gives full access to all openapi-fetch
34
+ * features with type-safe paths, parameters, and responses.
35
+ *
36
+ * The client automatically handles OAuth scope requirements:
37
+ * - Domain scope: `sfcc.cdn-zones` (read) or `sfcc.cdn-zones.rw` (read-write)
38
+ * - Tenant scope: `SALESFORCE_COMMERCE_API:{tenantId}`
39
+ *
40
+ * @param config - CDN Zones client configuration including shortCode and tenantId
41
+ * @param auth - Authentication strategy (typically OAuth)
42
+ * @param options - Optional settings like readWrite scope
43
+ * @returns Typed openapi-fetch client
44
+ *
45
+ * @example
46
+ * // Create CDN Zones client for read-only operations
47
+ * const oauthStrategy = new OAuthStrategy({
48
+ * clientId: 'your-client-id',
49
+ * clientSecret: 'your-client-secret',
50
+ * });
51
+ *
52
+ * const client = createCdnZonesClient(
53
+ * { shortCode: 'kv7kzm78', tenantId: 'zzxy_prd' },
54
+ * oauthStrategy
55
+ * );
56
+ *
57
+ * // List all zones
58
+ * const { data, error } = await client.GET('/organizations/{organizationId}/zones/info', {
59
+ * params: {
60
+ * path: { organizationId: toOrganizationId('zzxy_prd') }
61
+ * }
62
+ * });
63
+ *
64
+ * @example
65
+ * // Create CDN Zones client for read-write operations (e.g., cache purge)
66
+ * const rwClient = createCdnZonesClient(
67
+ * { shortCode: 'kv7kzm78', tenantId: 'zzxy_prd' },
68
+ * oauthStrategy,
69
+ * { readWrite: true }
70
+ * );
71
+ *
72
+ * // Purge cache
73
+ * const { data } = await rwClient.POST('/organizations/{organizationId}/zones/{zoneId}/cachepurge', {
74
+ * params: {
75
+ * path: { organizationId: toOrganizationId('zzxy_prd'), zoneId: 'zone-id' }
76
+ * },
77
+ * body: { path: ['/some/path'] }
78
+ * });
79
+ */
80
+ export function createCdnZonesClient(config, auth, options) {
81
+ const registry = config.middlewareRegistry ?? globalMiddlewareRegistry;
82
+ const client = createClient({
83
+ baseUrl: `https://${config.shortCode}.api.commercecloud.salesforce.com/cdn/zones/v1`,
84
+ });
85
+ // Build required scopes: domain scope + tenant-specific scope
86
+ const domainScopes = options?.readWrite ? CDN_ZONES_RW_SCOPES : CDN_ZONES_READ_SCOPES;
87
+ const requiredScopes = config.scopes ?? [...domainScopes, buildTenantScope(config.tenantId)];
88
+ // If OAuth strategy, add required scopes; otherwise use as-is
89
+ const scopedAuth = auth instanceof OAuthStrategy ? auth.withAdditionalScopes(requiredScopes) : auth;
90
+ // Core middleware: auth first
91
+ client.use(createAuthMiddleware(scopedAuth));
92
+ // Plugin middleware from registry
93
+ for (const middleware of registry.getMiddleware('cdn-zones')) {
94
+ client.use(middleware);
95
+ }
96
+ // Logging middleware last (sees complete request with all modifications)
97
+ client.use(createLoggingMiddleware('CDN-ZONES'));
98
+ return client;
99
+ }
100
+ //# sourceMappingURL=cdn-zones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdn-zones.js","sourceRoot":"","sources":["../../../src/clients/cdn-zones.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;GASG;AACH,OAAO,YAAY,EAAE,EAAa,MAAM,eAAe,CAAC;AAExD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAOhF;;GAEG;AACH,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAC,CAAC;AA4CxD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAExD,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,mBAAmB,CAAC,CAAC;AA4CzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA4B,EAC5B,IAAkB,EAClB,OAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;IAEvE,MAAM,MAAM,GAAG,YAAY,CAAQ;QACjC,OAAO,EAAE,WAAW,MAAM,CAAC,SAAS,gDAAgD;KACrF,CAAC,CAAC;IAEH,8DAA8D;IAC9D,MAAM,YAAY,GAAG,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACtF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7F,8DAA8D;IAC9D,MAAM,UAAU,GAAG,IAAI,YAAY,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpG,8BAA8B;IAC9B,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,kCAAkC;IAClC,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IAEjD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Utilities for extracting error messages from API responses.
3
+ *
4
+ * @module clients/error-utils
5
+ */
6
+ /**
7
+ * Extract a clean error message from an API error response.
8
+ *
9
+ * Handles multiple API error patterns and falls back to HTTP status.
10
+ * This ensures that HTML response bodies (like error pages) are never
11
+ * included in user-facing error messages.
12
+ *
13
+ * Supported error patterns:
14
+ * - ODS/SLAS: `{ error: { message: '...' } }`
15
+ * - OCAPI: `{ fault: { message: '...' } }`
16
+ * - SCAPI/Problem+JSON: `{ detail: '...', title: '...' }`
17
+ * - Standard Error: `{ message: '...' }`
18
+ *
19
+ * @param error - The error object from an API response
20
+ * @param response - The HTTP response (for status code fallback)
21
+ * @returns A clean, human-readable error message
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const {data, error, response} = await client.GET('/sites', {...});
26
+ * if (error) {
27
+ * const message = getApiErrorMessage(error, response);
28
+ * // Returns structured error message or "HTTP 521 Web Server Is Down"
29
+ * }
30
+ * ```
31
+ */
32
+ export declare function getApiErrorMessage(error: unknown, response: Response | {
33
+ status: number;
34
+ statusText: string;
35
+ }): string;
@@ -0,0 +1,69 @@
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
+ * Utilities for extracting error messages from API responses.
8
+ *
9
+ * @module clients/error-utils
10
+ */
11
+ /**
12
+ * Extract a clean error message from an API error response.
13
+ *
14
+ * Handles multiple API error patterns and falls back to HTTP status.
15
+ * This ensures that HTML response bodies (like error pages) are never
16
+ * included in user-facing error messages.
17
+ *
18
+ * Supported error patterns:
19
+ * - ODS/SLAS: `{ error: { message: '...' } }`
20
+ * - OCAPI: `{ fault: { message: '...' } }`
21
+ * - SCAPI/Problem+JSON: `{ detail: '...', title: '...' }`
22
+ * - Standard Error: `{ message: '...' }`
23
+ *
24
+ * @param error - The error object from an API response
25
+ * @param response - The HTTP response (for status code fallback)
26
+ * @returns A clean, human-readable error message
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const {data, error, response} = await client.GET('/sites', {...});
31
+ * if (error) {
32
+ * const message = getApiErrorMessage(error, response);
33
+ * // Returns structured error message or "HTTP 521 Web Server Is Down"
34
+ * }
35
+ * ```
36
+ */
37
+ export function getApiErrorMessage(error, response) {
38
+ if (error && typeof error === 'object') {
39
+ const err = error;
40
+ // ODS/SLAS pattern: { error: { message: '...' } }
41
+ if (err.error && typeof err.error === 'object') {
42
+ const nested = err.error;
43
+ if (typeof nested.message === 'string' && nested.message) {
44
+ return nested.message;
45
+ }
46
+ }
47
+ // OCAPI fault pattern: { fault: { message: '...' } }
48
+ if (err.fault && typeof err.fault === 'object') {
49
+ const fault = err.fault;
50
+ if (typeof fault.message === 'string' && fault.message) {
51
+ return fault.message;
52
+ }
53
+ }
54
+ // SCAPI/Problem+JSON pattern: { detail: '...', title: '...' }
55
+ if (typeof err.detail === 'string' && err.detail) {
56
+ return err.detail;
57
+ }
58
+ if (typeof err.title === 'string' && err.title) {
59
+ return err.title;
60
+ }
61
+ // Standard Error pattern: { message: '...' }
62
+ if (typeof err.message === 'string' && err.message) {
63
+ return err.message;
64
+ }
65
+ }
66
+ // Fallback to HTTP status
67
+ return `HTTP ${response.status} ${response.statusText}`;
68
+ }
69
+ //# sourceMappingURL=error-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../../src/clients/error-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAE,QAAyD;IAC1G,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAgC,CAAC;QAE7C,kDAAkD;QAClD,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAgC,CAAC;YACpD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzD,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAgC,CAAC;YACnD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC/C,OAAO,GAAG,CAAC,KAAK,CAAC;QACnB,CAAC;QAED,6CAA6C;QAC7C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACnD,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,OAAO,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC1D,CAAC"}
@@ -112,8 +112,9 @@
112
112
  */
113
113
  export { WebDavClient } from './webdav.js';
114
114
  export type { PropfindEntry, WebDavClientOptions } from './webdav.js';
115
- export { createAuthMiddleware, createLoggingMiddleware, createExtraParamsMiddleware } from './middleware.js';
116
- export type { ExtraParamsConfig, LoggingMiddlewareConfig } from './middleware.js';
115
+ export { createAuthMiddleware, createLoggingMiddleware, createExtraParamsMiddleware, createUserAgentMiddleware, } from './middleware.js';
116
+ export type { ExtraParamsConfig, LoggingMiddlewareConfig, UserAgentConfig } from './middleware.js';
117
+ export { setUserAgent, getUserAgent, resetUserAgent, userAgentProvider } from './user-agent.js';
117
118
  export { MiddlewareRegistry, globalMiddlewareRegistry } from './middleware-registry.js';
118
119
  export type { HttpClientType, HttpMiddlewareProvider, UnifiedMiddleware } from './middleware-registry.js';
119
120
  export { createOcapiClient } from './ocapi.js';
@@ -128,3 +129,8 @@ export { createCustomApisClient, toOrganizationId, toTenantId, buildTenantScope,
128
129
  export type { CustomApisClient, CustomApisClientConfig, CustomApisError, CustomApisResponse, paths as CustomApisPaths, components as CustomApisComponents, } from './custom-apis.js';
129
130
  export { createScapiSchemasClient, SCAPI_SCHEMAS_DEFAULT_SCOPES } from './scapi-schemas.js';
130
131
  export type { ScapiSchemasClient, ScapiSchemasClientConfig, ScapiSchemasError, ScapiSchemasResponse, SchemaListItem, SchemaListResult, OpenApiSchema, paths as ScapiSchemasPaths, components as ScapiSchemasComponents, } from './scapi-schemas.js';
132
+ export { createCdnZonesClient, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES } from './cdn-zones.js';
133
+ export type { CdnZonesClient, CdnZonesClientConfig, CdnZonesClientOptions, CdnZonesError, CdnZonesResponse, Zone, ZonesEnvelope, Certificate, SecuritySetting, SpeedSetting, paths as CdnZonesPaths, components as CdnZonesComponents, } from './cdn-zones.js';
134
+ export { createMrtB2CClient, DEFAULT_MRT_B2C_ORIGIN } from './mrt-b2c.js';
135
+ export type { MrtB2CClient, MrtB2CClientConfig, MrtB2CError, MrtB2CResponse, B2COrgInfo, B2CTargetInfo, PatchedB2CTargetInfo, paths as MrtB2CPaths, components as MrtB2CComponents, } from './mrt-b2c.js';
136
+ export { getApiErrorMessage } from './error-utils.js';
@@ -116,7 +116,9 @@
116
116
  * @module clients
117
117
  */
118
118
  export { WebDavClient } from './webdav.js';
119
- export { createAuthMiddleware, createLoggingMiddleware, createExtraParamsMiddleware } from './middleware.js';
119
+ export { createAuthMiddleware, createLoggingMiddleware, createExtraParamsMiddleware, createUserAgentMiddleware, } from './middleware.js';
120
+ // User-Agent provider (auto-registers on import)
121
+ export { setUserAgent, getUserAgent, resetUserAgent, userAgentProvider } from './user-agent.js';
120
122
  export { MiddlewareRegistry, globalMiddlewareRegistry } from './middleware-registry.js';
121
123
  export { createOcapiClient } from './ocapi.js';
122
124
  export { createSlasClient } from './slas-admin.js';
@@ -124,4 +126,7 @@ export { createOdsClient } from './ods.js';
124
126
  export { createMrtClient, DEFAULT_MRT_ORIGIN } from './mrt.js';
125
127
  export { createCustomApisClient, toOrganizationId, toTenantId, buildTenantScope, ORGANIZATION_ID_PREFIX, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, } from './custom-apis.js';
126
128
  export { createScapiSchemasClient, SCAPI_SCHEMAS_DEFAULT_SCOPES } from './scapi-schemas.js';
129
+ export { createCdnZonesClient, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES } from './cdn-zones.js';
130
+ export { createMrtB2CClient, DEFAULT_MRT_B2C_ORIGIN } from './mrt-b2c.js';
131
+ export { getApiErrorMessage } from './error-utils.js';
127
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAC,oBAAoB,EAAE,uBAAuB,EAAE,2BAA2B,EAAC,MAAM,iBAAiB,CAAC;AAG3G,OAAO,EAAC,kBAAkB,EAAE,wBAAwB,EAAC,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAU7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAUzC,OAAO,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAW7D,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAAC,wBAAwB,EAAE,4BAA4B,EAAC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,iDAAiD;AACjD,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAC,kBAAkB,EAAE,wBAAwB,EAAC,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAU7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAUzC,OAAO,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAW7D,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAAC,wBAAwB,EAAE,4BAA4B,EAAC,MAAM,oBAAoB,CAAC;AAa1F,OAAO,EAAC,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAgBhG,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,MAAM,cAAc,CAAC;AAaxE,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC"}
@@ -38,7 +38,7 @@ import type { Middleware } from 'openapi-fetch';
38
38
  /**
39
39
  * Types of HTTP clients that can receive middleware.
40
40
  */
41
- export type HttpClientType = 'ocapi' | 'slas' | 'ods' | 'mrt' | 'custom-apis' | 'scapi-schemas' | 'webdav';
41
+ export type HttpClientType = 'ocapi' | 'slas' | 'ods' | 'mrt' | 'mrt-b2c' | 'custom-apis' | 'scapi-schemas' | 'cdn-zones' | 'webdav';
42
42
  /**
43
43
  * Middleware interface compatible with openapi-fetch.
44
44
  *
@@ -1 +1 @@
1
- {"version":3,"file":"middleware-registry.js","sourceRoot":"","sources":["../../../src/clients/middleware-registry.ts"],"names":[],"mappings":"AAmHA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAA6B,EAAE,CAAC;IAEjD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAgC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,UAA0B;QACtC,MAAM,UAAU,GAAwB,EAAE,CAAC;QAE3C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"middleware-registry.js","sourceRoot":"","sources":["../../../src/clients/middleware-registry.ts"],"names":[],"mappings":"AA4HA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAA6B,EAAE,CAAC;IAEjD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAgC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,UAA0B;QACtC,MAAM,UAAU,GAAwB,EAAE,CAAC;QAE3C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
@@ -82,4 +82,29 @@ export declare function createLoggingMiddleware(config?: string | LoggingMiddlew
82
82
  * }));
83
83
  * ```
84
84
  */
85
+ /**
86
+ * Configuration for User-Agent middleware.
87
+ */
88
+ export interface UserAgentConfig {
89
+ /**
90
+ * The User-Agent string to set on requests.
91
+ */
92
+ userAgent: string;
93
+ }
94
+ /**
95
+ * Creates middleware that sets the User-Agent header on requests.
96
+ *
97
+ * Sets both the standard `User-Agent` header and a custom `sfdc_user_agent` header
98
+ * with the same value.
99
+ *
100
+ * @param config - Configuration with the User-Agent string
101
+ * @returns Middleware that sets the User-Agent headers
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const client = createOcapiClient(config, auth);
106
+ * client.use(createUserAgentMiddleware({ userAgent: 'b2c-cli/0.1.0' }));
107
+ * ```
108
+ */
109
+ export declare function createUserAgentMiddleware(config: UserAgentConfig): Middleware;
85
110
  export declare function createExtraParamsMiddleware(config: ExtraParamsConfig): Middleware;
@@ -118,23 +118,29 @@ export function createLoggingMiddleware(config) {
118
118
  };
119
119
  }
120
120
  /**
121
- * Creates middleware that adds extra query parameters and/or body fields to requests.
121
+ * Creates middleware that sets the User-Agent header on requests.
122
122
  *
123
- * This is useful for internal/power-user scenarios where you need to pass
124
- * parameters that aren't in the typed OpenAPI schema.
123
+ * Sets both the standard `User-Agent` header and a custom `sfdc_user_agent` header
124
+ * with the same value.
125
125
  *
126
- * @param config - Configuration with extra query and/or body params
127
- * @returns Middleware that adds extra params to requests
126
+ * @param config - Configuration with the User-Agent string
127
+ * @returns Middleware that sets the User-Agent headers
128
128
  *
129
129
  * @example
130
130
  * ```typescript
131
- * const client = createOdsClient(config, auth);
132
- * client.use(createExtraParamsMiddleware({
133
- * query: { debug: 'true', internal_flag: '1' },
134
- * body: { _internal: { trace: true } }
135
- * }));
131
+ * const client = createOcapiClient(config, auth);
132
+ * client.use(createUserAgentMiddleware({ userAgent: 'b2c-cli/0.1.0' }));
136
133
  * ```
137
134
  */
135
+ export function createUserAgentMiddleware(config) {
136
+ return {
137
+ async onRequest({ request }) {
138
+ request.headers.set('User-Agent', config.userAgent);
139
+ request.headers.set('sfdc_user_agent', config.userAgent);
140
+ return request;
141
+ },
142
+ };
143
+ }
138
144
  export function createExtraParamsMiddleware(config) {
139
145
  const logger = getLogger();
140
146
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/clients/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/clients/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Managed Runtime B2C Commerce API client.
3
+ *
4
+ * Provides a typed client for the MRT B2C Commerce integration API,
5
+ * which manages the connection between MRT targets and B2C Commerce instances.
6
+ *
7
+ * @module clients/mrt-b2c
8
+ */
9
+ import { type Client } from 'openapi-fetch';
10
+ import type { AuthStrategy } from '../auth/types.js';
11
+ import type { paths, components } from './mrt-b2c.generated.js';
12
+ import { type MiddlewareRegistry } from './middleware-registry.js';
13
+ /**
14
+ * Re-export generated types for external use.
15
+ */
16
+ export type { paths, components };
17
+ /**
18
+ * The typed MRT B2C client - openapi-fetch Client with full type safety.
19
+ *
20
+ * @see {@link createMrtB2CClient} for instantiation
21
+ */
22
+ export type MrtB2CClient = Client<paths>;
23
+ /**
24
+ * Helper type to extract response data from an operation.
25
+ */
26
+ export type MrtB2CResponse<T> = T extends {
27
+ content: {
28
+ 'application/json': infer R;
29
+ };
30
+ } ? R : never;
31
+ /**
32
+ * B2C organization info from MRT.
33
+ */
34
+ export type B2COrgInfo = components['schemas']['APIB2COrgInfo'];
35
+ /**
36
+ * B2C target info - connection between MRT target and B2C instance.
37
+ */
38
+ export type B2CTargetInfo = components['schemas']['APIB2CTargetInfo'];
39
+ /**
40
+ * Partial B2C target info for updates.
41
+ */
42
+ export type PatchedB2CTargetInfo = components['schemas']['PatchedAPIB2CTargetInfo'];
43
+ /**
44
+ * Standard MRT B2C error response structure.
45
+ */
46
+ export interface MrtB2CError {
47
+ status: number;
48
+ message: string;
49
+ detail?: string;
50
+ }
51
+ /**
52
+ * Configuration for creating an MRT B2C client.
53
+ */
54
+ export interface MrtB2CClientConfig {
55
+ /**
56
+ * The origin URL for the MRT B2C API.
57
+ * @default "https://cloud.mobify.com/api/cc/b2c"
58
+ * @example "https://cloud.mobify.com/api/cc/b2c"
59
+ */
60
+ origin?: string;
61
+ /**
62
+ * Middleware registry to use for this client.
63
+ * If not specified, uses the global middleware registry.
64
+ */
65
+ middlewareRegistry?: MiddlewareRegistry;
66
+ }
67
+ /**
68
+ * Default MRT B2C API origin.
69
+ */
70
+ export declare const DEFAULT_MRT_B2C_ORIGIN = "https://cloud.mobify.com/api/cc/b2c";
71
+ /**
72
+ * Creates a typed Managed Runtime B2C Commerce API client.
73
+ *
74
+ * This client handles the B2C Commerce integration endpoints, which manage
75
+ * the connection between MRT targets/environments and B2C Commerce instances.
76
+ *
77
+ * @param config - MRT B2C client configuration
78
+ * @param auth - Authentication strategy (typically ApiKeyStrategy)
79
+ * @returns Typed openapi-fetch client
80
+ *
81
+ * @example
82
+ * // Create MRT B2C client with API key auth
83
+ * const apiKeyStrategy = new ApiKeyStrategy(apiKey, 'Authorization');
84
+ *
85
+ * const client = createMrtB2CClient({}, apiKeyStrategy);
86
+ *
87
+ * // Get B2C organization info
88
+ * const { data, error } = await client.GET('/b2c-organization-info/{organization_slug}/', {
89
+ * params: {
90
+ * path: { organization_slug: 'my-org' }
91
+ * }
92
+ * });
93
+ *
94
+ * @example
95
+ * // Get B2C target info
96
+ * const { data, error } = await client.GET('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
97
+ * params: {
98
+ * path: { project_slug: 'my-project', target_slug: 'staging' }
99
+ * }
100
+ * });
101
+ *
102
+ * @example
103
+ * // Update B2C target info
104
+ * const { data, error } = await client.PUT('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
105
+ * params: {
106
+ * path: { project_slug: 'my-project', target_slug: 'staging' }
107
+ * },
108
+ * body: {
109
+ * instance_id: 'zzxy_prd',
110
+ * sites: ['RefArch', 'SiteGenesis']
111
+ * }
112
+ * });
113
+ */
114
+ export declare function createMrtB2CClient(config: MrtB2CClientConfig, auth: AuthStrategy): MrtB2CClient;