@salesforce/b2c-tooling-sdk 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +180 -13
  2. package/data/scaffolds/cartridge/files/.project.ejs +17 -0
  3. package/data/scaffolds/cartridge/files/cartridge/cartridge.properties.ejs +4 -0
  4. package/data/scaffolds/cartridge/files/cartridge/controllers/Example.js.ejs +19 -0
  5. package/data/scaffolds/cartridge/files/cartridge/models/example.js.ejs +14 -0
  6. package/data/scaffolds/cartridge/files/cartridge/scripts/helpers/exampleHelpers.js.ejs +18 -0
  7. package/data/scaffolds/cartridge/files/cartridge/static/default/css/example.css +6 -0
  8. package/data/scaffolds/cartridge/files/cartridge/templates/default/example/show.isml.ejs +11 -0
  9. package/data/scaffolds/cartridge/scaffold.json +88 -0
  10. package/data/scaffolds/controller/files/controller.js.ejs +134 -0
  11. package/data/scaffolds/controller/files/template.isml.ejs +22 -0
  12. package/data/scaffolds/controller/scaffold.json +64 -0
  13. package/data/scaffolds/custom-api/files/api.json.ejs +11 -0
  14. package/data/scaffolds/custom-api/files/schema.yaml.ejs +188 -0
  15. package/data/scaffolds/custom-api/files/script.js.ejs +95 -0
  16. package/data/scaffolds/custom-api/scaffold.json +65 -0
  17. package/data/scaffolds/hook/files/hook.js.ejs +99 -0
  18. package/data/scaffolds/hook/files/hooks-entry.json.ejs +6 -0
  19. package/data/scaffolds/hook/scaffold.json +60 -0
  20. package/data/scaffolds/job-step/files/step-chunk.js.ejs +136 -0
  21. package/data/scaffolds/job-step/files/step-task.js.ejs +47 -0
  22. package/data/scaffolds/job-step/files/steptypes-entry.json.ejs +41 -0
  23. package/data/scaffolds/job-step/scaffold.json +64 -0
  24. package/data/scaffolds/page-designer-component/files/component.isml.ejs +23 -0
  25. package/data/scaffolds/page-designer-component/files/component.js.ejs +35 -0
  26. package/data/scaffolds/page-designer-component/files/component.json.ejs +50 -0
  27. package/data/scaffolds/page-designer-component/scaffold.json +66 -0
  28. package/data/scaffolds/service/files/service-http.js.ejs +245 -0
  29. package/data/scaffolds/service/files/service-sftp.js.ejs +371 -0
  30. package/data/scaffolds/service/files/service-soap.js.ejs +230 -0
  31. package/data/scaffolds/service/scaffold.json +83 -0
  32. package/data/script-api/dw.extensions.payments.SalesforcePaymentsMgr.md +48 -0
  33. package/data/script-api/dw.system.Request.md +5 -0
  34. package/data/script-api/dw.web.Cookie.md +108 -31
  35. package/data/script-api/index.json +2 -2
  36. package/data/script-api/index.md +1 -1
  37. package/dist/cjs/auth/oauth-implicit.d.ts +1 -0
  38. package/dist/cjs/auth/oauth-implicit.js +8 -3
  39. package/dist/cjs/auth/oauth-implicit.js.map +1 -1
  40. package/dist/cjs/auth/oauth.d.ts +1 -0
  41. package/dist/cjs/auth/oauth.js +8 -3
  42. package/dist/cjs/auth/oauth.js.map +1 -1
  43. package/dist/cjs/auth/types.d.ts +5 -0
  44. package/dist/cjs/auth/types.js.map +1 -1
  45. package/dist/cjs/cli/am-command.d.ts +74 -0
  46. package/dist/cjs/cli/am-command.js +189 -0
  47. package/dist/cjs/cli/am-command.js.map +1 -0
  48. package/dist/cjs/cli/base-command.d.ts +38 -0
  49. package/dist/cjs/cli/base-command.js +142 -0
  50. package/dist/cjs/cli/base-command.js.map +1 -1
  51. package/dist/cjs/cli/config.d.ts +9 -0
  52. package/dist/cjs/cli/config.js +19 -2
  53. package/dist/cjs/cli/config.js.map +1 -1
  54. package/dist/cjs/cli/index.d.ts +1 -0
  55. package/dist/cjs/cli/index.js +1 -0
  56. package/dist/cjs/cli/index.js.map +1 -1
  57. package/dist/cjs/cli/instance-command.d.ts +1 -0
  58. package/dist/cjs/cli/oauth-command.d.ts +21 -1
  59. package/dist/cjs/cli/oauth-command.js +52 -7
  60. package/dist/cjs/cli/oauth-command.js.map +1 -1
  61. package/dist/cjs/cli/ods-command.d.ts +5 -1
  62. package/dist/cjs/cli/ods-command.js +10 -4
  63. package/dist/cjs/cli/ods-command.js.map +1 -1
  64. package/dist/cjs/cli/webdav-command.d.ts +1 -0
  65. package/dist/cjs/clients/am-api.d.ts +491 -0
  66. package/dist/cjs/clients/am-api.js +944 -0
  67. package/dist/cjs/clients/am-api.js.map +1 -0
  68. package/dist/cjs/clients/am-apiclients-api.generated.d.ts +803 -0
  69. package/dist/cjs/clients/am-apiclients-api.generated.js +6 -0
  70. package/dist/cjs/clients/am-apiclients-api.generated.js.map +1 -0
  71. package/dist/cjs/clients/am-roles-api.generated.d.ts +298 -0
  72. package/dist/cjs/clients/am-roles-api.generated.js +6 -0
  73. package/dist/cjs/clients/am-roles-api.generated.js.map +1 -0
  74. package/dist/cjs/clients/am-users-api.generated.d.ts +891 -0
  75. package/dist/cjs/clients/am-users-api.generated.js +6 -0
  76. package/dist/cjs/clients/am-users-api.generated.js.map +1 -0
  77. package/dist/cjs/clients/index.d.ts +4 -2
  78. package/dist/cjs/clients/index.js +2 -1
  79. package/dist/cjs/clients/index.js.map +1 -1
  80. package/dist/cjs/clients/middleware-registry.d.ts +1 -1
  81. package/dist/cjs/clients/middleware-registry.js.map +1 -1
  82. package/dist/cjs/clients/middleware.d.ts +49 -2
  83. package/dist/cjs/clients/middleware.js +214 -2
  84. package/dist/cjs/clients/middleware.js.map +1 -1
  85. package/dist/cjs/clients/mrt.js +5 -1
  86. package/dist/cjs/clients/mrt.js.map +1 -1
  87. package/dist/cjs/config/dw-json.d.ts +104 -33
  88. package/dist/cjs/config/dw-json.js +167 -2
  89. package/dist/cjs/config/dw-json.js.map +1 -1
  90. package/dist/cjs/config/index.d.ts +6 -4
  91. package/dist/cjs/config/index.js +6 -2
  92. package/dist/cjs/config/index.js.map +1 -1
  93. package/dist/cjs/config/instance-manager.d.ts +97 -0
  94. package/dist/cjs/config/instance-manager.js +166 -0
  95. package/dist/cjs/config/instance-manager.js.map +1 -0
  96. package/dist/cjs/config/mapping.d.ts +63 -5
  97. package/dist/cjs/config/mapping.js +165 -20
  98. package/dist/cjs/config/mapping.js.map +1 -1
  99. package/dist/cjs/config/sources/dw-json-source.d.ts +17 -1
  100. package/dist/cjs/config/sources/dw-json-source.js +70 -3
  101. package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
  102. package/dist/cjs/config/sources/package-json-source.js +6 -3
  103. package/dist/cjs/config/sources/package-json-source.js.map +1 -1
  104. package/dist/cjs/config/types.d.ts +72 -0
  105. package/dist/cjs/defaults.d.ts +6 -0
  106. package/dist/cjs/defaults.js +6 -0
  107. package/dist/cjs/defaults.js.map +1 -1
  108. package/dist/cjs/i18n/index.js +3 -0
  109. package/dist/cjs/i18n/index.js.map +1 -1
  110. package/dist/cjs/index.d.ts +8 -4
  111. package/dist/cjs/index.js +9 -3
  112. package/dist/cjs/index.js.map +1 -1
  113. package/dist/cjs/logging/logger.js +13 -1
  114. package/dist/cjs/logging/logger.js.map +1 -1
  115. package/dist/cjs/operations/content/asset-query.d.ts +22 -0
  116. package/dist/cjs/operations/content/asset-query.js +77 -0
  117. package/dist/cjs/operations/content/asset-query.js.map +1 -0
  118. package/dist/cjs/operations/content/export.d.ts +57 -0
  119. package/dist/cjs/operations/content/export.js +224 -0
  120. package/dist/cjs/operations/content/export.js.map +1 -0
  121. package/dist/cjs/operations/content/index.d.ts +43 -0
  122. package/dist/cjs/operations/content/index.js +48 -0
  123. package/dist/cjs/operations/content/index.js.map +1 -0
  124. package/dist/cjs/operations/content/library.d.ts +137 -0
  125. package/dist/cjs/operations/content/library.js +392 -0
  126. package/dist/cjs/operations/content/library.js.map +1 -0
  127. package/dist/cjs/operations/content/types.d.ts +144 -0
  128. package/dist/cjs/operations/content/types.js +7 -0
  129. package/dist/cjs/operations/content/types.js.map +1 -0
  130. package/dist/cjs/operations/mrt/b2c-config.js +19 -4
  131. package/dist/cjs/operations/mrt/b2c-config.js.map +1 -1
  132. package/dist/cjs/operations/mrt/index.d.ts +2 -0
  133. package/dist/cjs/operations/mrt/index.js +2 -0
  134. package/dist/cjs/operations/mrt/index.js.map +1 -1
  135. package/dist/cjs/operations/mrt/tail-logs.d.ts +130 -0
  136. package/dist/cjs/operations/mrt/tail-logs.js +223 -0
  137. package/dist/cjs/operations/mrt/tail-logs.js.map +1 -0
  138. package/dist/cjs/operations/ods/index.d.ts +2 -0
  139. package/dist/cjs/operations/ods/index.js +1 -0
  140. package/dist/cjs/operations/ods/index.js.map +1 -1
  141. package/dist/cjs/operations/ods/wait-for-sandbox.d.ts +64 -0
  142. package/dist/cjs/operations/ods/wait-for-sandbox.js +114 -0
  143. package/dist/cjs/operations/ods/wait-for-sandbox.js.map +1 -0
  144. package/dist/cjs/operations/orgs/index.d.ts +74 -0
  145. package/dist/cjs/operations/orgs/index.js +33 -0
  146. package/dist/cjs/operations/orgs/index.js.map +1 -0
  147. package/dist/cjs/operations/roles/index.d.ts +43 -0
  148. package/dist/cjs/operations/roles/index.js +48 -0
  149. package/dist/cjs/operations/roles/index.js.map +1 -0
  150. package/dist/cjs/operations/users/index.d.ts +143 -0
  151. package/dist/cjs/operations/users/index.js +141 -0
  152. package/dist/cjs/operations/users/index.js.map +1 -0
  153. package/dist/cjs/scaffold/engine.d.ts +68 -0
  154. package/dist/cjs/scaffold/engine.js +149 -0
  155. package/dist/cjs/scaffold/engine.js.map +1 -0
  156. package/dist/cjs/scaffold/executor.d.ts +36 -0
  157. package/dist/cjs/scaffold/executor.js +285 -0
  158. package/dist/cjs/scaffold/executor.js.map +1 -0
  159. package/dist/cjs/scaffold/index.d.ts +74 -0
  160. package/dist/cjs/scaffold/index.js +23 -0
  161. package/dist/cjs/scaffold/index.js.map +1 -0
  162. package/dist/cjs/scaffold/merge.d.ts +56 -0
  163. package/dist/cjs/scaffold/merge.js +183 -0
  164. package/dist/cjs/scaffold/merge.js.map +1 -0
  165. package/dist/cjs/scaffold/parameter-resolver.d.ts +86 -0
  166. package/dist/cjs/scaffold/parameter-resolver.js +179 -0
  167. package/dist/cjs/scaffold/parameter-resolver.js.map +1 -0
  168. package/dist/cjs/scaffold/registry.d.ts +45 -0
  169. package/dist/cjs/scaffold/registry.js +219 -0
  170. package/dist/cjs/scaffold/registry.js.map +1 -0
  171. package/dist/cjs/scaffold/sources.d.ts +45 -0
  172. package/dist/cjs/scaffold/sources.js +113 -0
  173. package/dist/cjs/scaffold/sources.js.map +1 -0
  174. package/dist/cjs/scaffold/types.d.ts +280 -0
  175. package/dist/cjs/scaffold/types.js +14 -0
  176. package/dist/cjs/scaffold/types.js.map +1 -0
  177. package/dist/cjs/scaffold/validation.d.ts +81 -0
  178. package/dist/cjs/scaffold/validation.js +250 -0
  179. package/dist/cjs/scaffold/validation.js.map +1 -0
  180. package/dist/cjs/scaffold/validators.d.ts +33 -0
  181. package/dist/cjs/scaffold/validators.js +334 -0
  182. package/dist/cjs/scaffold/validators.js.map +1 -0
  183. package/dist/cjs/telemetry/index.d.ts +26 -0
  184. package/dist/cjs/telemetry/index.js +32 -0
  185. package/dist/cjs/telemetry/index.js.map +1 -0
  186. package/dist/cjs/telemetry/telemetry.d.ts +90 -0
  187. package/dist/cjs/telemetry/telemetry.js +283 -0
  188. package/dist/cjs/telemetry/telemetry.js.map +1 -0
  189. package/dist/cjs/telemetry/types.d.ts +62 -0
  190. package/dist/cjs/telemetry/types.js +7 -0
  191. package/dist/cjs/telemetry/types.js.map +1 -0
  192. package/dist/esm/auth/oauth-implicit.d.ts +1 -0
  193. package/dist/esm/auth/oauth-implicit.js +8 -3
  194. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  195. package/dist/esm/auth/oauth.d.ts +1 -0
  196. package/dist/esm/auth/oauth.js +8 -3
  197. package/dist/esm/auth/oauth.js.map +1 -1
  198. package/dist/esm/auth/types.d.ts +5 -0
  199. package/dist/esm/auth/types.js.map +1 -1
  200. package/dist/esm/cli/am-command.d.ts +74 -0
  201. package/dist/esm/cli/am-command.js +196 -0
  202. package/dist/esm/cli/am-command.js.map +1 -0
  203. package/dist/esm/cli/base-command.d.ts +38 -0
  204. package/dist/esm/cli/base-command.js +142 -0
  205. package/dist/esm/cli/base-command.js.map +1 -1
  206. package/dist/esm/cli/config.d.ts +9 -0
  207. package/dist/esm/cli/config.js +19 -2
  208. package/dist/esm/cli/config.js.map +1 -1
  209. package/dist/esm/cli/index.d.ts +1 -0
  210. package/dist/esm/cli/index.js +1 -0
  211. package/dist/esm/cli/index.js.map +1 -1
  212. package/dist/esm/cli/instance-command.d.ts +1 -0
  213. package/dist/esm/cli/oauth-command.d.ts +21 -1
  214. package/dist/esm/cli/oauth-command.js +52 -7
  215. package/dist/esm/cli/oauth-command.js.map +1 -1
  216. package/dist/esm/cli/ods-command.d.ts +5 -1
  217. package/dist/esm/cli/ods-command.js +10 -4
  218. package/dist/esm/cli/ods-command.js.map +1 -1
  219. package/dist/esm/cli/webdav-command.d.ts +1 -0
  220. package/dist/esm/clients/am-api.d.ts +491 -0
  221. package/dist/esm/clients/am-api.js +944 -0
  222. package/dist/esm/clients/am-api.js.map +1 -0
  223. package/dist/esm/clients/am-apiclients-api.generated.d.ts +803 -0
  224. package/dist/esm/clients/am-apiclients-api.generated.js +6 -0
  225. package/dist/esm/clients/am-apiclients-api.generated.js.map +1 -0
  226. package/dist/esm/clients/am-roles-api.generated.d.ts +298 -0
  227. package/dist/esm/clients/am-roles-api.generated.js +6 -0
  228. package/dist/esm/clients/am-roles-api.generated.js.map +1 -0
  229. package/dist/esm/clients/am-users-api.generated.d.ts +891 -0
  230. package/dist/esm/clients/am-users-api.generated.js +6 -0
  231. package/dist/esm/clients/am-users-api.generated.js.map +1 -0
  232. package/dist/esm/clients/index.d.ts +4 -2
  233. package/dist/esm/clients/index.js +2 -1
  234. package/dist/esm/clients/index.js.map +1 -1
  235. package/dist/esm/clients/middleware-registry.d.ts +1 -1
  236. package/dist/esm/clients/middleware-registry.js.map +1 -1
  237. package/dist/esm/clients/middleware.d.ts +49 -2
  238. package/dist/esm/clients/middleware.js +214 -2
  239. package/dist/esm/clients/middleware.js.map +1 -1
  240. package/dist/esm/clients/mrt.js +5 -1
  241. package/dist/esm/clients/mrt.js.map +1 -1
  242. package/dist/esm/config/dw-json.d.ts +104 -33
  243. package/dist/esm/config/dw-json.js +167 -2
  244. package/dist/esm/config/dw-json.js.map +1 -1
  245. package/dist/esm/config/index.d.ts +6 -4
  246. package/dist/esm/config/index.js +6 -2
  247. package/dist/esm/config/index.js.map +1 -1
  248. package/dist/esm/config/instance-manager.d.ts +97 -0
  249. package/dist/esm/config/instance-manager.js +166 -0
  250. package/dist/esm/config/instance-manager.js.map +1 -0
  251. package/dist/esm/config/mapping.d.ts +63 -5
  252. package/dist/esm/config/mapping.js +165 -20
  253. package/dist/esm/config/mapping.js.map +1 -1
  254. package/dist/esm/config/sources/dw-json-source.d.ts +17 -1
  255. package/dist/esm/config/sources/dw-json-source.js +70 -3
  256. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  257. package/dist/esm/config/sources/package-json-source.js +6 -3
  258. package/dist/esm/config/sources/package-json-source.js.map +1 -1
  259. package/dist/esm/config/types.d.ts +72 -0
  260. package/dist/esm/defaults.d.ts +6 -0
  261. package/dist/esm/defaults.js +6 -0
  262. package/dist/esm/defaults.js.map +1 -1
  263. package/dist/esm/i18n/index.js +3 -0
  264. package/dist/esm/i18n/index.js.map +1 -1
  265. package/dist/esm/index.d.ts +8 -4
  266. package/dist/esm/index.js +9 -3
  267. package/dist/esm/index.js.map +1 -1
  268. package/dist/esm/logging/logger.js +13 -1
  269. package/dist/esm/logging/logger.js.map +1 -1
  270. package/dist/esm/operations/content/asset-query.d.ts +22 -0
  271. package/dist/esm/operations/content/asset-query.js +77 -0
  272. package/dist/esm/operations/content/asset-query.js.map +1 -0
  273. package/dist/esm/operations/content/export.d.ts +57 -0
  274. package/dist/esm/operations/content/export.js +224 -0
  275. package/dist/esm/operations/content/export.js.map +1 -0
  276. package/dist/esm/operations/content/index.d.ts +43 -0
  277. package/dist/esm/operations/content/index.js +48 -0
  278. package/dist/esm/operations/content/index.js.map +1 -0
  279. package/dist/esm/operations/content/library.d.ts +137 -0
  280. package/dist/esm/operations/content/library.js +392 -0
  281. package/dist/esm/operations/content/library.js.map +1 -0
  282. package/dist/esm/operations/content/types.d.ts +144 -0
  283. package/dist/esm/operations/content/types.js +7 -0
  284. package/dist/esm/operations/content/types.js.map +1 -0
  285. package/dist/esm/operations/mrt/b2c-config.js +19 -4
  286. package/dist/esm/operations/mrt/b2c-config.js.map +1 -1
  287. package/dist/esm/operations/mrt/index.d.ts +2 -0
  288. package/dist/esm/operations/mrt/index.js +2 -0
  289. package/dist/esm/operations/mrt/index.js.map +1 -1
  290. package/dist/esm/operations/mrt/tail-logs.d.ts +130 -0
  291. package/dist/esm/operations/mrt/tail-logs.js +223 -0
  292. package/dist/esm/operations/mrt/tail-logs.js.map +1 -0
  293. package/dist/esm/operations/ods/index.d.ts +2 -0
  294. package/dist/esm/operations/ods/index.js +1 -0
  295. package/dist/esm/operations/ods/index.js.map +1 -1
  296. package/dist/esm/operations/ods/wait-for-sandbox.d.ts +64 -0
  297. package/dist/esm/operations/ods/wait-for-sandbox.js +114 -0
  298. package/dist/esm/operations/ods/wait-for-sandbox.js.map +1 -0
  299. package/dist/esm/operations/orgs/index.d.ts +74 -0
  300. package/dist/esm/operations/orgs/index.js +33 -0
  301. package/dist/esm/operations/orgs/index.js.map +1 -0
  302. package/dist/esm/operations/roles/index.d.ts +43 -0
  303. package/dist/esm/operations/roles/index.js +48 -0
  304. package/dist/esm/operations/roles/index.js.map +1 -0
  305. package/dist/esm/operations/users/index.d.ts +143 -0
  306. package/dist/esm/operations/users/index.js +141 -0
  307. package/dist/esm/operations/users/index.js.map +1 -0
  308. package/dist/esm/scaffold/engine.d.ts +68 -0
  309. package/dist/esm/scaffold/engine.js +149 -0
  310. package/dist/esm/scaffold/engine.js.map +1 -0
  311. package/dist/esm/scaffold/executor.d.ts +36 -0
  312. package/dist/esm/scaffold/executor.js +285 -0
  313. package/dist/esm/scaffold/executor.js.map +1 -0
  314. package/dist/esm/scaffold/index.d.ts +74 -0
  315. package/dist/esm/scaffold/index.js +23 -0
  316. package/dist/esm/scaffold/index.js.map +1 -0
  317. package/dist/esm/scaffold/merge.d.ts +56 -0
  318. package/dist/esm/scaffold/merge.js +183 -0
  319. package/dist/esm/scaffold/merge.js.map +1 -0
  320. package/dist/esm/scaffold/parameter-resolver.d.ts +86 -0
  321. package/dist/esm/scaffold/parameter-resolver.js +179 -0
  322. package/dist/esm/scaffold/parameter-resolver.js.map +1 -0
  323. package/dist/esm/scaffold/registry.d.ts +45 -0
  324. package/dist/esm/scaffold/registry.js +219 -0
  325. package/dist/esm/scaffold/registry.js.map +1 -0
  326. package/dist/esm/scaffold/sources.d.ts +45 -0
  327. package/dist/esm/scaffold/sources.js +113 -0
  328. package/dist/esm/scaffold/sources.js.map +1 -0
  329. package/dist/esm/scaffold/types.d.ts +280 -0
  330. package/dist/esm/scaffold/types.js +14 -0
  331. package/dist/esm/scaffold/types.js.map +1 -0
  332. package/dist/esm/scaffold/validation.d.ts +81 -0
  333. package/dist/esm/scaffold/validation.js +250 -0
  334. package/dist/esm/scaffold/validation.js.map +1 -0
  335. package/dist/esm/scaffold/validators.d.ts +33 -0
  336. package/dist/esm/scaffold/validators.js +334 -0
  337. package/dist/esm/scaffold/validators.js.map +1 -0
  338. package/dist/esm/telemetry/index.d.ts +26 -0
  339. package/dist/esm/telemetry/index.js +32 -0
  340. package/dist/esm/telemetry/index.js.map +1 -0
  341. package/dist/esm/telemetry/telemetry.d.ts +90 -0
  342. package/dist/esm/telemetry/telemetry.js +283 -0
  343. package/dist/esm/telemetry/telemetry.js.map +1 -0
  344. package/dist/esm/telemetry/types.d.ts +62 -0
  345. package/dist/esm/telemetry/types.js +7 -0
  346. package/dist/esm/telemetry/types.js.map +1 -0
  347. package/package.json +86 -17
  348. package/specs/am-apiclients-api-v1.yaml +965 -0
  349. package/specs/am-roles-api-v1.yaml +316 -0
  350. package/specs/am-users-api-v1.yaml +1102 -0
@@ -0,0 +1,7 @@
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
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/operations/content/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,5 +1,20 @@
1
1
  import { createMrtB2CClient, DEFAULT_MRT_B2C_ORIGIN, } from '../../clients/mrt-b2c.js';
2
2
  import { getLogger } from '../../logging/logger.js';
3
+ const B2C_API_PATH = '/api/cc/b2c';
4
+ /**
5
+ * Ensures the origin has the /api/cc/b2c path suffix.
6
+ * When callers pass the generic MRT origin (e.g. https://cloud.mobify.com),
7
+ * we need to append the B2C API path.
8
+ */
9
+ function toB2COrigin(origin) {
10
+ if (!origin)
11
+ return DEFAULT_MRT_B2C_ORIGIN;
12
+ // Already has the B2C path
13
+ if (origin.endsWith(B2C_API_PATH))
14
+ return origin;
15
+ // Strip trailing slash before appending
16
+ return origin.replace(/\/+$/, '') + B2C_API_PATH;
17
+ }
3
18
  /**
4
19
  * Gets B2C Commerce info for an organization.
5
20
  *
@@ -29,7 +44,7 @@ export async function getB2COrgInfo(options, auth) {
29
44
  const logger = getLogger();
30
45
  const { organizationSlug, origin } = options;
31
46
  logger.debug({ organizationSlug }, '[MRT-B2C] Getting B2C organization info');
32
- const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
47
+ const client = createMrtB2CClient({ origin: toB2COrigin(origin) }, auth);
33
48
  const { data, error } = await client.GET('/b2c-organization-info/{organization_slug}/', {
34
49
  params: {
35
50
  path: { organization_slug: organizationSlug },
@@ -74,7 +89,7 @@ export async function getB2CTargetInfo(options, auth) {
74
89
  const logger = getLogger();
75
90
  const { projectSlug, targetSlug, origin } = options;
76
91
  logger.debug({ projectSlug, targetSlug }, '[MRT-B2C] Getting B2C target info');
77
- const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
92
+ const client = createMrtB2CClient({ origin: toB2COrigin(origin) }, auth);
78
93
  const { data, error } = await client.GET('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
79
94
  params: {
80
95
  path: { project_slug: projectSlug, target_slug: targetSlug },
@@ -118,7 +133,7 @@ export async function setB2CTargetInfo(options, auth) {
118
133
  const logger = getLogger();
119
134
  const { projectSlug, targetSlug, instanceId, sites, origin } = options;
120
135
  logger.debug({ projectSlug, targetSlug, instanceId }, '[MRT-B2C] Setting B2C target info');
121
- const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
136
+ const client = createMrtB2CClient({ origin: toB2COrigin(origin) }, auth);
122
137
  const body = {
123
138
  instance_id: instanceId,
124
139
  };
@@ -169,7 +184,7 @@ export async function updateB2CTargetInfo(options, auth) {
169
184
  const logger = getLogger();
170
185
  const { projectSlug, targetSlug, instanceId, sites, origin } = options;
171
186
  logger.debug({ projectSlug, targetSlug, instanceId }, '[MRT-B2C] Updating B2C target info');
172
- const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
187
+ const client = createMrtB2CClient({ origin: toB2COrigin(origin) }, auth);
173
188
  const body = {};
174
189
  if (instanceId !== undefined) {
175
190
  body.instance_id = instanceId;
@@ -1 +1 @@
1
- {"version":3,"file":"b2c-config.js","sourceRoot":"","sources":["../../../../src/operations/mrt/b2c-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"b2c-config.js","sourceRoot":"","sources":["../../../../src/operations/mrt/b2c-config.ts"],"names":[],"mappings":"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"}
@@ -67,3 +67,5 @@ export { getProfile, resetApiKey, getEmailPreferences, updateEmailPreferences }
67
67
  export type { UserOperationOptions, ApiKeyResult, UpdateEmailPreferencesOptions, MrtUserProfile, MrtEmailPreferences, PatchedMrtEmailPreferences, } from './user.js';
68
68
  export { getB2COrgInfo, getB2CTargetInfo, setB2CTargetInfo, updateB2CTargetInfo } from './b2c-config.js';
69
69
  export type { GetB2COrgInfoOptions, GetB2CTargetInfoOptions, SetB2CTargetInfoOptions, UpdateB2CTargetInfoOptions, B2COrgInfo, B2CTargetInfo, PatchedB2CTargetInfo, } from './b2c-config.js';
70
+ export { createLoggingToken, parseMrtLogLine, getLogsWebSocketUrl, tailMrtLogs } from './tail-logs.js';
71
+ export type { MrtLogEntry, CreateLoggingTokenOptions, TailMrtLogsOptions, TailMrtLogsResult } from './tail-logs.js';
@@ -72,4 +72,6 @@ export { invalidateCache } from './cache.js';
72
72
  export { getProfile, resetApiKey, getEmailPreferences, updateEmailPreferences } from './user.js';
73
73
  // B2C Commerce config operations
74
74
  export { getB2COrgInfo, getB2CTargetInfo, setB2CTargetInfo, updateB2CTargetInfo } from './b2c-config.js';
75
+ // Log tailing operations
76
+ export { createLoggingToken, parseMrtLogLine, getLogsWebSocketUrl, tailMrtLogs } from './tail-logs.js';
75
77
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/mrt/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kBAAkB;AAClB,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAGtG,6BAA6B;AAC7B,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AAWhF,kCAAkC;AAClC,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAU9E,kCAAkC;AAClC,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AAevF,wBAAwB;AACxB,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAUlE,0BAA0B;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAQpD,qBAAqB;AACrB,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAcnG,oBAAoB;AACpB,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAaxG,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAa3B,sBAAsB;AACtB,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAevB,mCAAmC;AACnC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAU7B,mBAAmB;AACnB,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAG3C,kBAAkB;AAClB,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,WAAW,CAAC;AAU/F,iCAAiC;AACjC,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/mrt/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kBAAkB;AAClB,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAGtG,6BAA6B;AAC7B,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AAWhF,kCAAkC;AAClC,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAU9E,kCAAkC;AAClC,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AAevF,wBAAwB;AACxB,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAUlE,0BAA0B;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAQpD,qBAAqB;AACrB,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAcnG,oBAAoB;AACpB,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAaxG,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAa3B,sBAAsB;AACtB,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAevB,mCAAmC;AACnC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAU7B,mBAAmB;AACnB,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAG3C,kBAAkB;AAClB,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,WAAW,CAAC;AAU/F,iCAAiC;AACjC,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAWvG,yBAAyB;AACzB,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Tail application logs from Managed Runtime environments via WebSocket.
3
+ *
4
+ * Connects to the MRT logging WebSocket to stream real-time application logs
5
+ * from SSR environments.
6
+ *
7
+ * @module operations/mrt/tail-logs
8
+ */
9
+ import type { AuthStrategy } from '../../auth/types.js';
10
+ /**
11
+ * A parsed MRT log entry.
12
+ */
13
+ export interface MrtLogEntry {
14
+ /** ISO 8601 timestamp, if present. */
15
+ timestamp?: string;
16
+ /** Full request UUID, if present. */
17
+ requestId?: string;
18
+ /** Shortened request ID (first 8 hex chars). */
19
+ shortRequestId?: string;
20
+ /** Log level (ERROR, WARN, INFO, DEBUG, etc.), if detected. */
21
+ level?: string;
22
+ /** The log message content. */
23
+ message: string;
24
+ /** The original raw log line. */
25
+ raw: string;
26
+ }
27
+ /**
28
+ * Options for creating a logging JWT token.
29
+ */
30
+ export interface CreateLoggingTokenOptions {
31
+ /** MRT project slug. */
32
+ projectSlug: string;
33
+ /** MRT environment slug. */
34
+ environmentSlug: string;
35
+ /** MRT API origin URL. */
36
+ origin?: string;
37
+ }
38
+ /**
39
+ * Options for tailing MRT logs.
40
+ */
41
+ export interface TailMrtLogsOptions {
42
+ /** MRT project slug. */
43
+ projectSlug: string;
44
+ /** MRT environment slug. */
45
+ environmentSlug: string;
46
+ /** MRT API origin URL. */
47
+ origin?: string;
48
+ /** User email for the WebSocket connection. */
49
+ user?: string;
50
+ /** Called for each parsed log entry. */
51
+ onEntry?: (entry: MrtLogEntry) => void;
52
+ /** Called when the WebSocket connection is established. */
53
+ onConnect?: () => void;
54
+ /** Called on WebSocket error. */
55
+ onError?: (error: Error) => void;
56
+ /** Called when the WebSocket connection closes. */
57
+ onClose?: (code: number, reason: string) => void;
58
+ }
59
+ /**
60
+ * Result from starting a log tail session.
61
+ */
62
+ export interface TailMrtLogsResult {
63
+ /** Call to stop tailing and close the WebSocket. */
64
+ stop: () => void;
65
+ /** Resolves when the WebSocket connection is closed. */
66
+ done: Promise<void>;
67
+ }
68
+ /**
69
+ * Creates a logging JWT token for WebSocket authentication.
70
+ *
71
+ * POST /api/projects/{project}/target/{environment}/jwt/
72
+ *
73
+ * @param options - Token creation options
74
+ * @param auth - Authentication strategy (ApiKeyStrategy)
75
+ * @returns The JWT token string
76
+ * @throws Error if token creation fails
77
+ */
78
+ export declare function createLoggingToken(options: CreateLoggingTokenOptions, auth: AuthStrategy): Promise<string>;
79
+ /**
80
+ * Parses a raw MRT log line into a structured entry.
81
+ *
82
+ * Application log format (tab-separated):
83
+ * {ISO8601}\t{UUID}\t{LEVEL}\t{message}
84
+ *
85
+ * Platform log format:
86
+ * {LEVEL} {message}
87
+ *
88
+ * @param raw - The raw log line string
89
+ * @returns Parsed log entry
90
+ */
91
+ export declare function parseMrtLogLine(raw: string): MrtLogEntry;
92
+ /**
93
+ * Transforms the MRT cloud origin URL into the logs WebSocket URL.
94
+ *
95
+ * Replaces the `cloud` prefix in the hostname with `logs` and switches
96
+ * the protocol to `wss://`.
97
+ *
98
+ * @example
99
+ * getLogsWebSocketUrl('https://cloud.mobify.com')
100
+ * // → 'wss://logs.mobify.com'
101
+ *
102
+ * getLogsWebSocketUrl('https://cloud-soak.mrt-soak.com')
103
+ * // → 'wss://logs-soak.mrt-soak.com'
104
+ */
105
+ export declare function getLogsWebSocketUrl(origin: string): string;
106
+ /**
107
+ * Streams application logs from an MRT environment via WebSocket.
108
+ *
109
+ * @param options - Tail options
110
+ * @param auth - Authentication strategy (ApiKeyStrategy)
111
+ * @returns Object with `stop()` to end streaming and `done` promise
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
116
+ * import { tailMrtLogs } from '@salesforce/b2c-tooling-sdk/operations/mrt';
117
+ *
118
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
119
+ *
120
+ * const { stop, done } = await tailMrtLogs({
121
+ * projectSlug: 'my-storefront',
122
+ * environmentSlug: 'staging',
123
+ * onEntry: (entry) => console.log(entry.message),
124
+ * onConnect: () => console.log('Connected'),
125
+ * }, auth);
126
+ *
127
+ * // Later: stop()
128
+ * ```
129
+ */
130
+ export declare function tailMrtLogs(options: TailMrtLogsOptions, auth: AuthStrategy): Promise<TailMrtLogsResult>;
@@ -0,0 +1,223 @@
1
+ import { DEFAULT_MRT_ORIGIN } from '../../clients/mrt.js';
2
+ import { getLogger } from '../../logging/logger.js';
3
+ /** Known platform log levels. */
4
+ const PLATFORM_LEVELS = new Set(['ERROR', 'WARN', 'WARNING', 'INFO', 'DEBUG', 'TRACE']);
5
+ /** Heartbeat interval: 5 minutes (server has 10-min idle timeout). */
6
+ const HEARTBEAT_INTERVAL_MS = 5 * 60 * 1000;
7
+ /**
8
+ * Creates a logging JWT token for WebSocket authentication.
9
+ *
10
+ * POST /api/projects/{project}/target/{environment}/jwt/
11
+ *
12
+ * @param options - Token creation options
13
+ * @param auth - Authentication strategy (ApiKeyStrategy)
14
+ * @returns The JWT token string
15
+ * @throws Error if token creation fails
16
+ */
17
+ export async function createLoggingToken(options, auth) {
18
+ const logger = getLogger();
19
+ const { projectSlug, environmentSlug, origin } = options;
20
+ const baseUrl = origin || DEFAULT_MRT_ORIGIN;
21
+ logger.debug({ projectSlug, environmentSlug }, '[MRT] Creating logging token');
22
+ const url = `${baseUrl}/api/projects/${encodeURIComponent(projectSlug)}/target/${encodeURIComponent(environmentSlug)}/jwt/`;
23
+ const response = await auth.fetch(url, {
24
+ method: 'POST',
25
+ });
26
+ if (!response.ok) {
27
+ const body = await response.text().catch(() => '');
28
+ throw new Error(`Failed to create logging token (${response.status}): ${body}`);
29
+ }
30
+ const data = (await response.json());
31
+ logger.debug('[MRT] Logging token created');
32
+ return data.token;
33
+ }
34
+ /**
35
+ * Parses a raw MRT log line into a structured entry.
36
+ *
37
+ * Application log format (tab-separated):
38
+ * {ISO8601}\t{UUID}\t{LEVEL}\t{message}
39
+ *
40
+ * Platform log format:
41
+ * {LEVEL} {message}
42
+ *
43
+ * @param raw - The raw log line string
44
+ * @returns Parsed log entry
45
+ */
46
+ export function parseMrtLogLine(raw) {
47
+ // Try application format: tab-separated with at least 4 fields
48
+ const parts = raw.split('\t');
49
+ if (parts.length >= 4) {
50
+ const [timestamp, requestId, level, ...messageParts] = parts;
51
+ // Validate this looks like an application log (timestamp should be ISO-ish)
52
+ if (timestamp && /^\d{4}-\d{2}-\d{2}/.test(timestamp)) {
53
+ const message = messageParts.join('\t');
54
+ return {
55
+ timestamp,
56
+ requestId,
57
+ shortRequestId: requestId ? requestId.replace(/-/g, '').slice(0, 8) : undefined,
58
+ level: level || undefined,
59
+ message,
60
+ raw,
61
+ };
62
+ }
63
+ }
64
+ // Try platform format: "LEVEL message"
65
+ const spaceIdx = raw.indexOf(' ');
66
+ if (spaceIdx > 0) {
67
+ const maybeLevel = raw.slice(0, spaceIdx).toUpperCase();
68
+ if (PLATFORM_LEVELS.has(maybeLevel)) {
69
+ return {
70
+ level: maybeLevel,
71
+ message: raw.slice(spaceIdx + 1),
72
+ raw,
73
+ };
74
+ }
75
+ }
76
+ // Fallback: entire line is the message
77
+ return {
78
+ message: raw,
79
+ raw,
80
+ };
81
+ }
82
+ /**
83
+ * Transforms the MRT cloud origin URL into the logs WebSocket URL.
84
+ *
85
+ * Replaces the `cloud` prefix in the hostname with `logs` and switches
86
+ * the protocol to `wss://`.
87
+ *
88
+ * @example
89
+ * getLogsWebSocketUrl('https://cloud.mobify.com')
90
+ * // → 'wss://logs.mobify.com'
91
+ *
92
+ * getLogsWebSocketUrl('https://cloud-soak.mrt-soak.com')
93
+ * // → 'wss://logs-soak.mrt-soak.com'
94
+ */
95
+ export function getLogsWebSocketUrl(origin) {
96
+ const url = new URL(origin);
97
+ url.protocol = 'wss:';
98
+ url.hostname = url.hostname.replace('cloud', 'logs');
99
+ return url.origin;
100
+ }
101
+ /**
102
+ * Streams application logs from an MRT environment via WebSocket.
103
+ *
104
+ * @param options - Tail options
105
+ * @param auth - Authentication strategy (ApiKeyStrategy)
106
+ * @returns Object with `stop()` to end streaming and `done` promise
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
111
+ * import { tailMrtLogs } from '@salesforce/b2c-tooling-sdk/operations/mrt';
112
+ *
113
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
114
+ *
115
+ * const { stop, done } = await tailMrtLogs({
116
+ * projectSlug: 'my-storefront',
117
+ * environmentSlug: 'staging',
118
+ * onEntry: (entry) => console.log(entry.message),
119
+ * onConnect: () => console.log('Connected'),
120
+ * }, auth);
121
+ *
122
+ * // Later: stop()
123
+ * ```
124
+ */
125
+ export async function tailMrtLogs(options, auth) {
126
+ const logger = getLogger();
127
+ const { projectSlug, environmentSlug, origin, user, onEntry, onConnect, onError, onClose } = options;
128
+ const baseOrigin = origin || DEFAULT_MRT_ORIGIN;
129
+ logger.debug({ projectSlug, environmentSlug, origin: baseOrigin }, '[MRT] Starting log tail');
130
+ // Step 1: Get JWT token
131
+ logger.trace({ projectSlug, environmentSlug }, '[MRT] Requesting logging JWT token');
132
+ const token = await createLoggingToken({ projectSlug, environmentSlug, origin: baseOrigin }, auth);
133
+ logger.trace('[MRT] Logging JWT token received');
134
+ // Step 2: Build WebSocket URL (connect to root of logs host, like pwa-kit)
135
+ const wsBase = getLogsWebSocketUrl(baseOrigin);
136
+ logger.trace({ cloudOrigin: baseOrigin, wsOrigin: wsBase }, '[MRT] Transformed cloud origin to WebSocket origin');
137
+ const wsUrl = new URL(wsBase);
138
+ wsUrl.searchParams.set('project', projectSlug);
139
+ wsUrl.searchParams.set('environment', environmentSlug);
140
+ wsUrl.searchParams.set('access_token', token);
141
+ if (user) {
142
+ wsUrl.searchParams.set('user', user);
143
+ }
144
+ logger.debug({ wsUrl: wsUrl.toString() }, '[MRT] Opening log stream WebSocket');
145
+ // Step 3: Open WebSocket
146
+ const ws = new WebSocket(wsUrl.toString());
147
+ logger.trace({ readyState: ws.readyState }, '[MRT] WebSocket instance created');
148
+ let heartbeatTimer;
149
+ let stopped = false;
150
+ let hadError = false;
151
+ const done = new Promise((resolve, reject) => {
152
+ ws.addEventListener('open', () => {
153
+ logger.debug('[MRT] WebSocket connected successfully');
154
+ onConnect?.();
155
+ // Send heartbeat to avoid idle timeout (server disconnects after 10 min)
156
+ heartbeatTimer = setInterval(() => {
157
+ if (ws.readyState === WebSocket.OPEN) {
158
+ logger.trace('[MRT] Sending WebSocket heartbeat');
159
+ ws.send('');
160
+ }
161
+ }, HEARTBEAT_INTERVAL_MS);
162
+ logger.trace({ intervalMs: HEARTBEAT_INTERVAL_MS }, '[MRT] Heartbeat timer started');
163
+ });
164
+ ws.addEventListener('message', (event) => {
165
+ logger.trace({ dataLength: String(event.data).length }, '[MRT] WebSocket message received');
166
+ if (!onEntry)
167
+ return;
168
+ try {
169
+ const messages = JSON.parse(String(event.data));
170
+ logger.trace({ messageCount: messages.length }, '[MRT] Parsed WebSocket message batch');
171
+ for (const msg of messages) {
172
+ if (msg.message) {
173
+ const entry = parseMrtLogLine(msg.message);
174
+ onEntry(entry);
175
+ }
176
+ }
177
+ }
178
+ catch (err) {
179
+ logger.debug({ error: err, rawData: String(event.data).slice(0, 200) }, '[MRT] Failed to parse WebSocket message');
180
+ }
181
+ });
182
+ // The browser WebSocket API fires 'error' before 'close', but the error
183
+ // event carries no details. We flag it here and report in the close handler
184
+ // where we have the close code and reason.
185
+ ws.addEventListener('error', () => {
186
+ hadError = true;
187
+ logger.debug('[MRT] WebSocket error event fired (waiting for close event for details)');
188
+ });
189
+ ws.addEventListener('close', (event) => {
190
+ if (heartbeatTimer) {
191
+ clearInterval(heartbeatTimer);
192
+ logger.trace('[MRT] Heartbeat timer cleared');
193
+ }
194
+ logger.debug({ code: event.code, reason: event.reason, hadError, stopped, wasClean: event.code === 1000 }, '[MRT] WebSocket closed');
195
+ if (hadError && !stopped) {
196
+ // Build a descriptive error from the close code/reason
197
+ const detail = event.reason || `close code ${event.code}`;
198
+ const error = new Error(`WebSocket connection failed: ${detail}`);
199
+ logger.debug({ detail, code: event.code, reason: event.reason }, '[MRT] WebSocket connection failed');
200
+ onError?.(error);
201
+ onClose?.(event.code, event.reason);
202
+ reject(error);
203
+ }
204
+ else {
205
+ onClose?.(event.code, event.reason);
206
+ resolve();
207
+ }
208
+ });
209
+ });
210
+ const stop = () => {
211
+ logger.debug('[MRT] Stopping log tail');
212
+ stopped = true;
213
+ if (heartbeatTimer) {
214
+ clearInterval(heartbeatTimer);
215
+ }
216
+ if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {
217
+ logger.trace({ readyState: ws.readyState }, '[MRT] Closing WebSocket connection');
218
+ ws.close();
219
+ }
220
+ };
221
+ return { stop, done };
222
+ }
223
+ //# sourceMappingURL=tail-logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tail-logs.js","sourceRoot":"","sources":["../../../../src/operations/mrt/tail-logs.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,5 @@
4
4
  * @module operations/ods
5
5
  */
6
6
  export { isUuid, isFriendlySandboxId, parseFriendlySandboxId, resolveSandboxId, SandboxNotFoundError, } from './sandbox-lookup.js';
7
+ export { waitForSandbox, SandboxPollingTimeoutError, SandboxPollingError, SandboxTerminalStateError, } from './wait-for-sandbox.js';
8
+ export type { SandboxState, WaitForSandboxOptions, WaitForSandboxPollInfo } from './wait-for-sandbox.js';
@@ -9,4 +9,5 @@
9
9
  * @module operations/ods
10
10
  */
11
11
  export { isUuid, isFriendlySandboxId, parseFriendlySandboxId, resolveSandboxId, SandboxNotFoundError, } from './sandbox-lookup.js';
12
+ export { waitForSandbox, SandboxPollingTimeoutError, SandboxPollingError, SandboxTerminalStateError, } from './wait-for-sandbox.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/ods/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AAEH,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/ods/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AAEH,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,64 @@
1
+ import type { OdsClient } from '../../clients/ods.js';
2
+ export type SandboxState = 'deleted' | 'failed' | 'started' | 'stopped' | (string & {});
3
+ export declare class SandboxPollingTimeoutError extends Error {
4
+ readonly sandboxId: string;
5
+ readonly targetState: SandboxState;
6
+ readonly timeoutSeconds: number;
7
+ readonly lastState?: SandboxState | undefined;
8
+ constructor(sandboxId: string, targetState: SandboxState, timeoutSeconds: number, lastState?: SandboxState | undefined);
9
+ }
10
+ export declare class SandboxPollingError extends Error {
11
+ readonly sandboxId: string;
12
+ readonly message: string;
13
+ constructor(sandboxId: string, message: string);
14
+ }
15
+ export declare class SandboxTerminalStateError extends Error {
16
+ readonly sandboxId: string;
17
+ readonly targetState: SandboxState;
18
+ readonly state: SandboxState;
19
+ constructor(sandboxId: string, targetState: SandboxState, state: SandboxState);
20
+ }
21
+ export interface WaitForSandboxPollInfo {
22
+ sandboxId: string;
23
+ elapsedSeconds: number;
24
+ state: SandboxState;
25
+ }
26
+ export interface WaitForSandboxOptions {
27
+ sandboxId: string;
28
+ targetState: SandboxState;
29
+ pollIntervalSeconds: number;
30
+ timeoutSeconds: number;
31
+ onPoll?: (info: WaitForSandboxPollInfo) => void;
32
+ sleep?: (ms: number) => Promise<void>;
33
+ }
34
+ /**
35
+ * Waits for a sandbox to reach a target state by polling its status.
36
+ *
37
+ * This function polls the ODS API at regular intervals until the sandbox reaches the desired state,
38
+ * times out, or enters a terminal error state (failed/deleted).
39
+ *
40
+ * @param client - ODS client for API calls
41
+ * @param options - Polling configuration options
42
+ * @param options.sandboxId - ID of the sandbox to monitor
43
+ * @param options.targetState - Desired sandbox state (e.g., 'started', 'stopped', 'deleted')
44
+ * @param options.pollIntervalSeconds - Seconds between status checks
45
+ * @param options.timeoutSeconds - Maximum seconds to wait (0 = no timeout)
46
+ * @param options.onPoll - Optional callback invoked on each poll with current state
47
+ * @param options.sleep - Optional custom sleep function (primarily for testing)
48
+ *
49
+ * @throws {SandboxPollingTimeoutError} If the timeout is exceeded before reaching target state
50
+ * @throws {SandboxPollingError} If the API request fails
51
+ * @throws {SandboxTerminalStateError} If the sandbox enters a terminal error state
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * await waitForSandbox(odsClient, {
56
+ * sandboxId: 'abc-123',
57
+ * targetState: 'started',
58
+ * pollIntervalSeconds: 5,
59
+ * timeoutSeconds: 300,
60
+ * onPoll: (info) => console.log(`State: ${info.state} (${info.elapsedSeconds}s)`),
61
+ * });
62
+ * ```
63
+ */
64
+ export declare function waitForSandbox(client: OdsClient, options: WaitForSandboxOptions): Promise<void>;