@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,201 @@
1
+ /**
2
+ * B2C Commerce configuration operations for Managed Runtime.
3
+ *
4
+ * Handles the connection between MRT targets/environments and B2C Commerce instances.
5
+ *
6
+ * @module operations/mrt/b2c-config
7
+ */
8
+ import type { AuthStrategy } from '../../auth/types.js';
9
+ import { type B2COrgInfo, type B2CTargetInfo, type PatchedB2CTargetInfo } from '../../clients/mrt-b2c.js';
10
+ export type { B2COrgInfo, B2CTargetInfo, PatchedB2CTargetInfo };
11
+ /**
12
+ * Options for getting B2C organization info.
13
+ */
14
+ export interface GetB2COrgInfoOptions {
15
+ /**
16
+ * The organization slug.
17
+ */
18
+ organizationSlug: string;
19
+ /**
20
+ * MRT B2C API origin URL.
21
+ * @default "https://cloud.mobify.com/api/cc/b2c"
22
+ */
23
+ origin?: string;
24
+ }
25
+ /**
26
+ * Options for getting B2C target info.
27
+ */
28
+ export interface GetB2CTargetInfoOptions {
29
+ /**
30
+ * The project slug.
31
+ */
32
+ projectSlug: string;
33
+ /**
34
+ * The target/environment slug.
35
+ */
36
+ targetSlug: string;
37
+ /**
38
+ * MRT B2C API origin URL.
39
+ * @default "https://cloud.mobify.com/api/cc/b2c"
40
+ */
41
+ origin?: string;
42
+ }
43
+ /**
44
+ * Options for setting B2C target info.
45
+ */
46
+ export interface SetB2CTargetInfoOptions {
47
+ /**
48
+ * The project slug.
49
+ */
50
+ projectSlug: string;
51
+ /**
52
+ * The target/environment slug.
53
+ */
54
+ targetSlug: string;
55
+ /**
56
+ * ID of the B2C Commerce instance to connect.
57
+ */
58
+ instanceId: string;
59
+ /**
60
+ * List of site IDs associated with the B2C Commerce instance.
61
+ * Pass null to clear the sites list.
62
+ */
63
+ sites?: string[] | null;
64
+ /**
65
+ * MRT B2C API origin URL.
66
+ * @default "https://cloud.mobify.com/api/cc/b2c"
67
+ */
68
+ origin?: string;
69
+ }
70
+ /**
71
+ * Options for updating B2C target info.
72
+ */
73
+ export interface UpdateB2CTargetInfoOptions {
74
+ /**
75
+ * The project slug.
76
+ */
77
+ projectSlug: string;
78
+ /**
79
+ * The target/environment slug.
80
+ */
81
+ targetSlug: string;
82
+ /**
83
+ * ID of the B2C Commerce instance to connect.
84
+ */
85
+ instanceId?: string;
86
+ /**
87
+ * List of site IDs associated with the B2C Commerce instance.
88
+ * Pass null to clear the sites list.
89
+ */
90
+ sites?: string[] | null;
91
+ /**
92
+ * MRT B2C API origin URL.
93
+ * @default "https://cloud.mobify.com/api/cc/b2c"
94
+ */
95
+ origin?: string;
96
+ }
97
+ /**
98
+ * Gets B2C Commerce info for an organization.
99
+ *
100
+ * Returns the list of B2C Commerce instances connected to the organization.
101
+ *
102
+ * @param options - Operation options
103
+ * @param auth - Authentication strategy (ApiKeyStrategy)
104
+ * @returns B2C organization info
105
+ * @throws Error if request fails
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
110
+ * import { getB2COrgInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
111
+ *
112
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
113
+ *
114
+ * const info = await getB2COrgInfo({
115
+ * organizationSlug: 'my-org'
116
+ * }, auth);
117
+ *
118
+ * console.log(`B2C Customer: ${info.is_b2c_customer}`);
119
+ * console.log(`Instances: ${info.instances.join(', ')}`);
120
+ * ```
121
+ */
122
+ export declare function getB2COrgInfo(options: GetB2COrgInfoOptions, auth: AuthStrategy): Promise<B2COrgInfo>;
123
+ /**
124
+ * Gets B2C Commerce info for a target/environment.
125
+ *
126
+ * Returns the B2C Commerce instance and sites connected to the target.
127
+ *
128
+ * @param options - Operation options
129
+ * @param auth - Authentication strategy (ApiKeyStrategy)
130
+ * @returns B2C target info
131
+ * @throws Error if request fails
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
136
+ * import { getB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
137
+ *
138
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
139
+ *
140
+ * const info = await getB2CTargetInfo({
141
+ * projectSlug: 'my-storefront',
142
+ * targetSlug: 'production'
143
+ * }, auth);
144
+ *
145
+ * console.log(`Instance: ${info.instance_id}`);
146
+ * console.log(`Sites: ${info.sites?.join(', ')}`);
147
+ * ```
148
+ */
149
+ export declare function getB2CTargetInfo(options: GetB2CTargetInfoOptions, auth: AuthStrategy): Promise<B2CTargetInfo>;
150
+ /**
151
+ * Sets (creates/replaces) B2C Commerce info for a target/environment.
152
+ *
153
+ * @param options - Operation options
154
+ * @param auth - Authentication strategy (ApiKeyStrategy)
155
+ * @returns Updated B2C target info
156
+ * @throws Error if request fails
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
161
+ * import { setB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
162
+ *
163
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
164
+ *
165
+ * const info = await setB2CTargetInfo({
166
+ * projectSlug: 'my-storefront',
167
+ * targetSlug: 'production',
168
+ * instanceId: 'aaaa_prd',
169
+ * sites: ['RefArch', 'SiteGenesis']
170
+ * }, auth);
171
+ *
172
+ * console.log(`Connected to instance: ${info.instance_id}`);
173
+ * ```
174
+ */
175
+ export declare function setB2CTargetInfo(options: SetB2CTargetInfoOptions, auth: AuthStrategy): Promise<B2CTargetInfo>;
176
+ /**
177
+ * Updates B2C Commerce info for a target/environment.
178
+ *
179
+ * @param options - Operation options
180
+ * @param auth - Authentication strategy (ApiKeyStrategy)
181
+ * @returns Updated B2C target info
182
+ * @throws Error if request fails
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
187
+ * import { updateB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
188
+ *
189
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
190
+ *
191
+ * // Update only the sites list
192
+ * const info = await updateB2CTargetInfo({
193
+ * projectSlug: 'my-storefront',
194
+ * targetSlug: 'production',
195
+ * sites: ['RefArch', 'SiteGenesis', 'NewSite']
196
+ * }, auth);
197
+ *
198
+ * console.log(`Updated sites: ${info.sites?.join(', ')}`);
199
+ * ```
200
+ */
201
+ export declare function updateB2CTargetInfo(options: UpdateB2CTargetInfoOptions, auth: AuthStrategy): Promise<B2CTargetInfo>;
@@ -0,0 +1,195 @@
1
+ import { createMrtB2CClient, DEFAULT_MRT_B2C_ORIGIN, } from '../../clients/mrt-b2c.js';
2
+ import { getLogger } from '../../logging/logger.js';
3
+ /**
4
+ * Gets B2C Commerce info for an organization.
5
+ *
6
+ * Returns the list of B2C Commerce instances connected to the organization.
7
+ *
8
+ * @param options - Operation options
9
+ * @param auth - Authentication strategy (ApiKeyStrategy)
10
+ * @returns B2C organization info
11
+ * @throws Error if request fails
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
16
+ * import { getB2COrgInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
17
+ *
18
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
19
+ *
20
+ * const info = await getB2COrgInfo({
21
+ * organizationSlug: 'my-org'
22
+ * }, auth);
23
+ *
24
+ * console.log(`B2C Customer: ${info.is_b2c_customer}`);
25
+ * console.log(`Instances: ${info.instances.join(', ')}`);
26
+ * ```
27
+ */
28
+ export async function getB2COrgInfo(options, auth) {
29
+ const logger = getLogger();
30
+ const { organizationSlug, origin } = options;
31
+ logger.debug({ organizationSlug }, '[MRT-B2C] Getting B2C organization info');
32
+ const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
33
+ const { data, error } = await client.GET('/b2c-organization-info/{organization_slug}/', {
34
+ params: {
35
+ path: { organization_slug: organizationSlug },
36
+ },
37
+ });
38
+ if (error) {
39
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
40
+ ? String(error.message)
41
+ : JSON.stringify(error);
42
+ throw new Error(`Failed to get B2C organization info: ${errorMessage}`);
43
+ }
44
+ logger.debug({ isB2cCustomer: data.is_b2c_customer }, '[MRT-B2C] B2C organization info retrieved');
45
+ return data;
46
+ }
47
+ /**
48
+ * Gets B2C Commerce info for a target/environment.
49
+ *
50
+ * Returns the B2C Commerce instance and sites connected to the target.
51
+ *
52
+ * @param options - Operation options
53
+ * @param auth - Authentication strategy (ApiKeyStrategy)
54
+ * @returns B2C target info
55
+ * @throws Error if request fails
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
60
+ * import { getB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
61
+ *
62
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
63
+ *
64
+ * const info = await getB2CTargetInfo({
65
+ * projectSlug: 'my-storefront',
66
+ * targetSlug: 'production'
67
+ * }, auth);
68
+ *
69
+ * console.log(`Instance: ${info.instance_id}`);
70
+ * console.log(`Sites: ${info.sites?.join(', ')}`);
71
+ * ```
72
+ */
73
+ export async function getB2CTargetInfo(options, auth) {
74
+ const logger = getLogger();
75
+ const { projectSlug, targetSlug, origin } = options;
76
+ logger.debug({ projectSlug, targetSlug }, '[MRT-B2C] Getting B2C target info');
77
+ const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
78
+ const { data, error } = await client.GET('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
79
+ params: {
80
+ path: { project_slug: projectSlug, target_slug: targetSlug },
81
+ },
82
+ });
83
+ if (error) {
84
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
85
+ ? String(error.message)
86
+ : JSON.stringify(error);
87
+ throw new Error(`Failed to get B2C target info: ${errorMessage}`);
88
+ }
89
+ logger.debug({ instanceId: data.instance_id }, '[MRT-B2C] B2C target info retrieved');
90
+ return data;
91
+ }
92
+ /**
93
+ * Sets (creates/replaces) B2C Commerce info for a target/environment.
94
+ *
95
+ * @param options - Operation options
96
+ * @param auth - Authentication strategy (ApiKeyStrategy)
97
+ * @returns Updated B2C target info
98
+ * @throws Error if request fails
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
103
+ * import { setB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
104
+ *
105
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
106
+ *
107
+ * const info = await setB2CTargetInfo({
108
+ * projectSlug: 'my-storefront',
109
+ * targetSlug: 'production',
110
+ * instanceId: 'aaaa_prd',
111
+ * sites: ['RefArch', 'SiteGenesis']
112
+ * }, auth);
113
+ *
114
+ * console.log(`Connected to instance: ${info.instance_id}`);
115
+ * ```
116
+ */
117
+ export async function setB2CTargetInfo(options, auth) {
118
+ const logger = getLogger();
119
+ const { projectSlug, targetSlug, instanceId, sites, origin } = options;
120
+ logger.debug({ projectSlug, targetSlug, instanceId }, '[MRT-B2C] Setting B2C target info');
121
+ const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
122
+ const body = {
123
+ instance_id: instanceId,
124
+ };
125
+ if (sites !== undefined) {
126
+ body.sites = sites;
127
+ }
128
+ const { data, error } = await client.PUT('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
129
+ params: {
130
+ path: { project_slug: projectSlug, target_slug: targetSlug },
131
+ },
132
+ body,
133
+ });
134
+ if (error) {
135
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
136
+ ? String(error.message)
137
+ : JSON.stringify(error);
138
+ throw new Error(`Failed to set B2C target info: ${errorMessage}`);
139
+ }
140
+ logger.debug({ instanceId: data.instance_id }, '[MRT-B2C] B2C target info set');
141
+ return data;
142
+ }
143
+ /**
144
+ * Updates B2C Commerce info for a target/environment.
145
+ *
146
+ * @param options - Operation options
147
+ * @param auth - Authentication strategy (ApiKeyStrategy)
148
+ * @returns Updated B2C target info
149
+ * @throws Error if request fails
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
154
+ * import { updateB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
155
+ *
156
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
157
+ *
158
+ * // Update only the sites list
159
+ * const info = await updateB2CTargetInfo({
160
+ * projectSlug: 'my-storefront',
161
+ * targetSlug: 'production',
162
+ * sites: ['RefArch', 'SiteGenesis', 'NewSite']
163
+ * }, auth);
164
+ *
165
+ * console.log(`Updated sites: ${info.sites?.join(', ')}`);
166
+ * ```
167
+ */
168
+ export async function updateB2CTargetInfo(options, auth) {
169
+ const logger = getLogger();
170
+ const { projectSlug, targetSlug, instanceId, sites, origin } = options;
171
+ logger.debug({ projectSlug, targetSlug, instanceId }, '[MRT-B2C] Updating B2C target info');
172
+ const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
173
+ const body = {};
174
+ if (instanceId !== undefined) {
175
+ body.instance_id = instanceId;
176
+ }
177
+ if (sites !== undefined) {
178
+ body.sites = sites;
179
+ }
180
+ const { data, error } = await client.PATCH('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
181
+ params: {
182
+ path: { project_slug: projectSlug, target_slug: targetSlug },
183
+ },
184
+ body,
185
+ });
186
+ if (error) {
187
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
188
+ ? String(error.message)
189
+ : JSON.stringify(error);
190
+ throw new Error(`Failed to update B2C target info: ${errorMessage}`);
191
+ }
192
+ logger.debug({ instanceId: data.instance_id }, '[MRT-B2C] B2C target info updated');
193
+ return data;
194
+ }
195
+ //# sourceMappingURL=b2c-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"b2c-config.js","sourceRoot":"","sources":["../../../../src/operations/mrt/b2c-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Cache operations for Managed Runtime.
3
+ *
4
+ * Handles cache invalidation for MRT environments.
5
+ *
6
+ * @module operations/mrt/cache
7
+ */
8
+ import type { AuthStrategy } from '../../auth/types.js';
9
+ /**
10
+ * Options for invalidating cache.
11
+ */
12
+ export interface InvalidateCacheOptions {
13
+ /**
14
+ * The project slug.
15
+ */
16
+ projectSlug: string;
17
+ /**
18
+ * The target/environment slug.
19
+ */
20
+ targetSlug: string;
21
+ /**
22
+ * Path pattern to invalidate on the CDN.
23
+ * Must start with a forward slash (/).
24
+ * Use /* to invalidate all cached paths.
25
+ */
26
+ pattern: string;
27
+ /**
28
+ * MRT API origin URL.
29
+ * @default "https://cloud.mobify.com"
30
+ */
31
+ origin?: string;
32
+ }
33
+ /**
34
+ * Result of cache invalidation.
35
+ */
36
+ export interface InvalidateCacheResult {
37
+ /**
38
+ * Status message.
39
+ */
40
+ result: string;
41
+ /**
42
+ * Target slug.
43
+ */
44
+ slug: string;
45
+ }
46
+ /**
47
+ * Invalidates cached objects in the CDN for an MRT environment.
48
+ *
49
+ * Cache invalidations are asynchronous and usually complete within two minutes.
50
+ *
51
+ * @param options - Invalidation options
52
+ * @param auth - Authentication strategy (ApiKeyStrategy)
53
+ * @returns Invalidation result
54
+ * @throws Error if request fails
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
59
+ * import { invalidateCache } from '@salesforce/b2c-tooling-sdk/operations/mrt';
60
+ *
61
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
62
+ *
63
+ * // Invalidate all cached paths
64
+ * const result = await invalidateCache({
65
+ * projectSlug: 'my-storefront',
66
+ * targetSlug: 'production',
67
+ * pattern: '/*'
68
+ * }, auth);
69
+ *
70
+ * console.log(result.result);
71
+ *
72
+ * // Invalidate specific path
73
+ * const result2 = await invalidateCache({
74
+ * projectSlug: 'my-storefront',
75
+ * targetSlug: 'production',
76
+ * pattern: '/products/*'
77
+ * }, auth);
78
+ * ```
79
+ */
80
+ export declare function invalidateCache(options: InvalidateCacheOptions, auth: AuthStrategy): Promise<InvalidateCacheResult>;
@@ -0,0 +1,65 @@
1
+ import { createMrtClient, DEFAULT_MRT_ORIGIN } from '../../clients/mrt.js';
2
+ import { getLogger } from '../../logging/logger.js';
3
+ /**
4
+ * Invalidates cached objects in the CDN for an MRT environment.
5
+ *
6
+ * Cache invalidations are asynchronous and usually complete within two minutes.
7
+ *
8
+ * @param options - Invalidation options
9
+ * @param auth - Authentication strategy (ApiKeyStrategy)
10
+ * @returns Invalidation result
11
+ * @throws Error if request fails
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
16
+ * import { invalidateCache } from '@salesforce/b2c-tooling-sdk/operations/mrt';
17
+ *
18
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
19
+ *
20
+ * // Invalidate all cached paths
21
+ * const result = await invalidateCache({
22
+ * projectSlug: 'my-storefront',
23
+ * targetSlug: 'production',
24
+ * pattern: '/*'
25
+ * }, auth);
26
+ *
27
+ * console.log(result.result);
28
+ *
29
+ * // Invalidate specific path
30
+ * const result2 = await invalidateCache({
31
+ * projectSlug: 'my-storefront',
32
+ * targetSlug: 'production',
33
+ * pattern: '/products/*'
34
+ * }, auth);
35
+ * ```
36
+ */
37
+ export async function invalidateCache(options, auth) {
38
+ const logger = getLogger();
39
+ const { projectSlug, targetSlug, pattern, origin } = options;
40
+ logger.debug({ projectSlug, targetSlug, pattern }, '[MRT] Invalidating cache');
41
+ const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
42
+ const { data, error } = await client.POST('/api/projects/{project_slug}/target/{target_slug}/invalidation/', {
43
+ params: {
44
+ path: { project_slug: projectSlug, target_slug: targetSlug },
45
+ },
46
+ body: {
47
+ pattern,
48
+ items: null, // Deprecated but required by schema
49
+ },
50
+ });
51
+ if (error) {
52
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
53
+ ? String(error.message)
54
+ : JSON.stringify(error);
55
+ throw new Error(`Failed to invalidate cache: ${errorMessage}`);
56
+ }
57
+ // Response has different fields than request schema indicates
58
+ const response = data;
59
+ logger.debug({ pattern }, '[MRT] Cache invalidation started');
60
+ return {
61
+ result: response.result ?? 'Cache invalidation is in progress.',
62
+ slug: response.slug ?? targetSlug,
63
+ };
64
+ }
65
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../src/operations/mrt/cache.ts"],"names":[],"mappings":"AAaA,OAAO,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AA6ClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B,EAC/B,IAAkB;IAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAE3D,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAC,EAAE,0BAA0B,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,iEAAiE,EAAE;QACzG,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAC;SAC3D;QACD,IAAI,EAAE;YACJ,OAAO;YACP,KAAK,EAAE,IAAI,EAAE,oCAAoC;SAClD;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,IAAmD,CAAC;IAErE,MAAM,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,EAAE,kCAAkC,CAAC,CAAC;IAE5D,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,oCAAoC;QAC/D,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,UAAU;KAClC,CAAC;AACJ,CAAC"}