@salesforce/b2c-tooling-sdk 0.2.0 → 0.3.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 (327) hide show
  1. package/dist/cjs/auth/api-key.d.ts +2 -2
  2. package/dist/cjs/auth/api-key.js +1 -0
  3. package/dist/cjs/auth/api-key.js.map +1 -1
  4. package/dist/cjs/auth/basic.d.ts +2 -2
  5. package/dist/cjs/auth/basic.js +2 -0
  6. package/dist/cjs/auth/basic.js.map +1 -1
  7. package/dist/cjs/auth/index.d.ts +1 -1
  8. package/dist/cjs/auth/index.js.map +1 -1
  9. package/dist/cjs/auth/oauth-implicit.d.ts +2 -2
  10. package/dist/cjs/auth/oauth-implicit.js +1 -0
  11. package/dist/cjs/auth/oauth-implicit.js.map +1 -1
  12. package/dist/cjs/auth/oauth.d.ts +2 -2
  13. package/dist/cjs/auth/oauth.js +2 -0
  14. package/dist/cjs/auth/oauth.js.map +1 -1
  15. package/dist/cjs/auth/types.d.ts +10 -1
  16. package/dist/cjs/auth/types.js +5 -0
  17. package/dist/cjs/auth/types.js.map +1 -1
  18. package/dist/cjs/cli/base-command.d.ts +23 -0
  19. package/dist/cjs/cli/base-command.js +29 -4
  20. package/dist/cjs/cli/base-command.js.map +1 -1
  21. package/dist/cjs/cli/config.d.ts +71 -0
  22. package/dist/cjs/cli/config.js +105 -2
  23. package/dist/cjs/cli/config.js.map +1 -1
  24. package/dist/cjs/cli/index.d.ts +2 -2
  25. package/dist/cjs/cli/index.js +3 -1
  26. package/dist/cjs/cli/index.js.map +1 -1
  27. package/dist/cjs/cli/instance-command.d.ts +4 -0
  28. package/dist/cjs/cli/instance-command.js +24 -23
  29. package/dist/cjs/cli/instance-command.js.map +1 -1
  30. package/dist/cjs/cli/mrt-command.d.ts +0 -6
  31. package/dist/cjs/cli/mrt-command.js +5 -29
  32. package/dist/cjs/cli/mrt-command.js.map +1 -1
  33. package/dist/cjs/cli/oauth-command.d.ts +5 -6
  34. package/dist/cjs/cli/oauth-command.js +13 -35
  35. package/dist/cjs/cli/oauth-command.js.map +1 -1
  36. package/dist/cjs/cli/ods-command.d.ts +18 -0
  37. package/dist/cjs/cli/ods-command.js +51 -0
  38. package/dist/cjs/cli/ods-command.js.map +1 -1
  39. package/dist/cjs/cli/webdav-command.d.ts +4 -0
  40. package/dist/cjs/clients/cdn-zones.d.ts +33 -1
  41. package/dist/cjs/clients/cdn-zones.js.map +1 -1
  42. package/dist/cjs/clients/custom-apis.d.ts +30 -1
  43. package/dist/cjs/clients/custom-apis.js.map +1 -1
  44. package/dist/cjs/clients/index.d.ts +2 -0
  45. package/dist/cjs/clients/index.js +1 -0
  46. package/dist/cjs/clients/index.js.map +1 -1
  47. package/dist/cjs/clients/mrt-b2c.d.ts +25 -1
  48. package/dist/cjs/clients/mrt-b2c.js.map +1 -1
  49. package/dist/cjs/clients/mrt.d.ts +24 -1
  50. package/dist/cjs/clients/mrt.js.map +1 -1
  51. package/dist/cjs/clients/ocapi.d.ts +22 -2
  52. package/dist/cjs/clients/ocapi.js +0 -2
  53. package/dist/cjs/clients/ocapi.js.map +1 -1
  54. package/dist/cjs/clients/ods.d.ts +28 -1
  55. package/dist/cjs/clients/ods.js.map +1 -1
  56. package/dist/cjs/clients/scapi-schemas.d.ts +30 -1
  57. package/dist/cjs/clients/scapi-schemas.js.map +1 -1
  58. package/dist/cjs/clients/slas-admin.d.ts +28 -0
  59. package/dist/cjs/clients/slas-admin.js.map +1 -1
  60. package/dist/cjs/clients/tls-dispatcher.d.ts +42 -0
  61. package/dist/cjs/clients/tls-dispatcher.js +107 -0
  62. package/dist/cjs/clients/tls-dispatcher.js.map +1 -0
  63. package/dist/cjs/clients/webdav.d.ts +8 -1
  64. package/dist/cjs/clients/webdav.js +5 -1
  65. package/dist/cjs/clients/webdav.js.map +1 -1
  66. package/dist/cjs/config/dw-json.d.ts +14 -0
  67. package/dist/cjs/config/dw-json.js +3 -2
  68. package/dist/cjs/config/dw-json.js.map +1 -1
  69. package/dist/cjs/config/index.d.ts +2 -2
  70. package/dist/cjs/config/index.js +1 -1
  71. package/dist/cjs/config/index.js.map +1 -1
  72. package/dist/cjs/config/mapping.d.ts +1 -1
  73. package/dist/cjs/config/mapping.js +20 -4
  74. package/dist/cjs/config/mapping.js.map +1 -1
  75. package/dist/cjs/config/resolved-config.d.ts +1 -3
  76. package/dist/cjs/config/resolved-config.js +0 -8
  77. package/dist/cjs/config/resolved-config.js.map +1 -1
  78. package/dist/cjs/config/resolver.d.ts +1 -1
  79. package/dist/cjs/config/resolver.js +20 -4
  80. package/dist/cjs/config/resolver.js.map +1 -1
  81. package/dist/cjs/config/sources/mobify-source.js +3 -2
  82. package/dist/cjs/config/sources/mobify-source.js.map +1 -1
  83. package/dist/cjs/config/sources/package-json-source.js +3 -1
  84. package/dist/cjs/config/sources/package-json-source.js.map +1 -1
  85. package/dist/cjs/config/types.d.ts +6 -18
  86. package/dist/{esm/operations → cjs}/docs/download.d.ts +1 -1
  87. package/dist/cjs/{operations/docs → docs}/download.js +2 -2
  88. package/dist/cjs/docs/download.js.map +1 -0
  89. package/dist/{esm/operations → cjs}/docs/index.d.ts +4 -4
  90. package/dist/cjs/docs/index.js.map +1 -0
  91. package/dist/cjs/docs/schema.js.map +1 -0
  92. package/dist/cjs/docs/search.js.map +1 -0
  93. package/dist/cjs/docs/types.js.map +1 -0
  94. package/dist/cjs/index.d.ts +5 -10
  95. package/dist/cjs/index.js +4 -8
  96. package/dist/cjs/index.js.map +1 -1
  97. package/dist/cjs/instance/index.d.ts +4 -0
  98. package/dist/cjs/instance/index.js +6 -1
  99. package/dist/cjs/instance/index.js.map +1 -1
  100. package/dist/cjs/logging/index.d.ts +1 -1
  101. package/dist/cjs/logging/logger.js +15 -0
  102. package/dist/cjs/logging/logger.js.map +1 -1
  103. package/dist/cjs/logging/types.d.ts +9 -0
  104. package/dist/cjs/operations/logs/index.d.ts +65 -0
  105. package/dist/cjs/operations/logs/index.js +73 -0
  106. package/dist/cjs/operations/logs/index.js.map +1 -0
  107. package/dist/cjs/operations/logs/list.d.ts +35 -0
  108. package/dist/cjs/operations/logs/list.js +144 -0
  109. package/dist/cjs/operations/logs/list.js.map +1 -0
  110. package/dist/cjs/operations/logs/path-normalizer.d.ts +82 -0
  111. package/dist/cjs/operations/logs/path-normalizer.js +190 -0
  112. package/dist/cjs/operations/logs/path-normalizer.js.map +1 -0
  113. package/dist/cjs/operations/logs/tail.d.ts +92 -0
  114. package/dist/cjs/operations/logs/tail.js +525 -0
  115. package/dist/cjs/operations/logs/tail.js.map +1 -0
  116. package/dist/cjs/operations/logs/types.d.ts +132 -0
  117. package/dist/cjs/operations/logs/types.js +7 -0
  118. package/dist/cjs/operations/logs/types.js.map +1 -0
  119. package/dist/cjs/operations/mrt/push.js +3 -0
  120. package/dist/cjs/operations/mrt/push.js.map +1 -1
  121. package/dist/cjs/operations/ods/index.d.ts +6 -0
  122. package/dist/cjs/operations/ods/index.js +12 -0
  123. package/dist/cjs/operations/ods/index.js.map +1 -0
  124. package/dist/cjs/operations/ods/sandbox-lookup.d.ts +63 -0
  125. package/dist/cjs/operations/ods/sandbox-lookup.js +130 -0
  126. package/dist/cjs/operations/ods/sandbox-lookup.js.map +1 -0
  127. package/dist/{esm/operations/scapi-schemas → cjs/schemas}/collapse.d.ts +1 -1
  128. package/dist/cjs/schemas/collapse.js.map +1 -0
  129. package/dist/cjs/{operations/scapi-schemas → schemas}/index.d.ts +5 -5
  130. package/dist/cjs/{operations/scapi-schemas → schemas}/index.js +5 -5
  131. package/dist/cjs/schemas/index.js.map +1 -0
  132. package/dist/cjs/test-utils/config-isolation.js +7 -0
  133. package/dist/cjs/test-utils/config-isolation.js.map +1 -1
  134. package/dist/esm/auth/api-key.d.ts +2 -2
  135. package/dist/esm/auth/api-key.js +1 -0
  136. package/dist/esm/auth/api-key.js.map +1 -1
  137. package/dist/esm/auth/basic.d.ts +2 -2
  138. package/dist/esm/auth/basic.js +2 -0
  139. package/dist/esm/auth/basic.js.map +1 -1
  140. package/dist/esm/auth/index.d.ts +1 -1
  141. package/dist/esm/auth/index.js.map +1 -1
  142. package/dist/esm/auth/oauth-implicit.d.ts +2 -2
  143. package/dist/esm/auth/oauth-implicit.js +1 -0
  144. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  145. package/dist/esm/auth/oauth.d.ts +2 -2
  146. package/dist/esm/auth/oauth.js +2 -0
  147. package/dist/esm/auth/oauth.js.map +1 -1
  148. package/dist/esm/auth/types.d.ts +10 -1
  149. package/dist/esm/auth/types.js +5 -0
  150. package/dist/esm/auth/types.js.map +1 -1
  151. package/dist/esm/cli/base-command.d.ts +23 -0
  152. package/dist/esm/cli/base-command.js +29 -4
  153. package/dist/esm/cli/base-command.js.map +1 -1
  154. package/dist/esm/cli/config.d.ts +71 -0
  155. package/dist/esm/cli/config.js +105 -2
  156. package/dist/esm/cli/config.js.map +1 -1
  157. package/dist/esm/cli/index.d.ts +2 -2
  158. package/dist/esm/cli/index.js +3 -1
  159. package/dist/esm/cli/index.js.map +1 -1
  160. package/dist/esm/cli/instance-command.d.ts +4 -0
  161. package/dist/esm/cli/instance-command.js +24 -23
  162. package/dist/esm/cli/instance-command.js.map +1 -1
  163. package/dist/esm/cli/mrt-command.d.ts +0 -6
  164. package/dist/esm/cli/mrt-command.js +5 -29
  165. package/dist/esm/cli/mrt-command.js.map +1 -1
  166. package/dist/esm/cli/oauth-command.d.ts +5 -6
  167. package/dist/esm/cli/oauth-command.js +13 -35
  168. package/dist/esm/cli/oauth-command.js.map +1 -1
  169. package/dist/esm/cli/ods-command.d.ts +18 -0
  170. package/dist/esm/cli/ods-command.js +51 -0
  171. package/dist/esm/cli/ods-command.js.map +1 -1
  172. package/dist/esm/cli/webdav-command.d.ts +4 -0
  173. package/dist/esm/clients/cdn-zones.d.ts +33 -1
  174. package/dist/esm/clients/cdn-zones.js.map +1 -1
  175. package/dist/esm/clients/custom-apis.d.ts +30 -1
  176. package/dist/esm/clients/custom-apis.js.map +1 -1
  177. package/dist/esm/clients/index.d.ts +2 -0
  178. package/dist/esm/clients/index.js +1 -0
  179. package/dist/esm/clients/index.js.map +1 -1
  180. package/dist/esm/clients/mrt-b2c.d.ts +25 -1
  181. package/dist/esm/clients/mrt-b2c.js.map +1 -1
  182. package/dist/esm/clients/mrt.d.ts +24 -1
  183. package/dist/esm/clients/mrt.js.map +1 -1
  184. package/dist/esm/clients/ocapi.d.ts +22 -2
  185. package/dist/esm/clients/ocapi.js +0 -2
  186. package/dist/esm/clients/ocapi.js.map +1 -1
  187. package/dist/esm/clients/ods.d.ts +28 -1
  188. package/dist/esm/clients/ods.js.map +1 -1
  189. package/dist/esm/clients/scapi-schemas.d.ts +30 -1
  190. package/dist/esm/clients/scapi-schemas.js.map +1 -1
  191. package/dist/esm/clients/slas-admin.d.ts +28 -0
  192. package/dist/esm/clients/slas-admin.js.map +1 -1
  193. package/dist/esm/clients/tls-dispatcher.d.ts +42 -0
  194. package/dist/esm/clients/tls-dispatcher.js +107 -0
  195. package/dist/esm/clients/tls-dispatcher.js.map +1 -0
  196. package/dist/esm/clients/webdav.d.ts +8 -1
  197. package/dist/esm/clients/webdav.js +5 -1
  198. package/dist/esm/clients/webdav.js.map +1 -1
  199. package/dist/esm/config/dw-json.d.ts +14 -0
  200. package/dist/esm/config/dw-json.js +3 -2
  201. package/dist/esm/config/dw-json.js.map +1 -1
  202. package/dist/esm/config/index.d.ts +2 -2
  203. package/dist/esm/config/index.js +1 -1
  204. package/dist/esm/config/index.js.map +1 -1
  205. package/dist/esm/config/mapping.d.ts +1 -1
  206. package/dist/esm/config/mapping.js +20 -4
  207. package/dist/esm/config/mapping.js.map +1 -1
  208. package/dist/esm/config/resolved-config.d.ts +1 -3
  209. package/dist/esm/config/resolved-config.js +0 -8
  210. package/dist/esm/config/resolved-config.js.map +1 -1
  211. package/dist/esm/config/resolver.d.ts +1 -1
  212. package/dist/esm/config/resolver.js +20 -4
  213. package/dist/esm/config/resolver.js.map +1 -1
  214. package/dist/esm/config/sources/mobify-source.js +3 -2
  215. package/dist/esm/config/sources/mobify-source.js.map +1 -1
  216. package/dist/esm/config/sources/package-json-source.js +3 -1
  217. package/dist/esm/config/sources/package-json-source.js.map +1 -1
  218. package/dist/esm/config/types.d.ts +6 -18
  219. package/dist/{cjs/operations → esm}/docs/download.d.ts +1 -1
  220. package/dist/esm/{operations/docs → docs}/download.js +2 -2
  221. package/dist/esm/docs/download.js.map +1 -0
  222. package/dist/{cjs/operations → esm}/docs/index.d.ts +4 -4
  223. package/dist/esm/docs/index.js.map +1 -0
  224. package/dist/esm/docs/schema.js.map +1 -0
  225. package/dist/esm/docs/search.js.map +1 -0
  226. package/dist/esm/docs/types.js.map +1 -0
  227. package/dist/esm/index.d.ts +5 -10
  228. package/dist/esm/index.js +4 -8
  229. package/dist/esm/index.js.map +1 -1
  230. package/dist/esm/instance/index.d.ts +4 -0
  231. package/dist/esm/instance/index.js +6 -1
  232. package/dist/esm/instance/index.js.map +1 -1
  233. package/dist/esm/logging/index.d.ts +1 -1
  234. package/dist/esm/logging/logger.js +15 -0
  235. package/dist/esm/logging/logger.js.map +1 -1
  236. package/dist/esm/logging/types.d.ts +9 -0
  237. package/dist/esm/operations/logs/index.d.ts +65 -0
  238. package/dist/esm/operations/logs/index.js +73 -0
  239. package/dist/esm/operations/logs/index.js.map +1 -0
  240. package/dist/esm/operations/logs/list.d.ts +35 -0
  241. package/dist/esm/operations/logs/list.js +144 -0
  242. package/dist/esm/operations/logs/list.js.map +1 -0
  243. package/dist/esm/operations/logs/path-normalizer.d.ts +82 -0
  244. package/dist/esm/operations/logs/path-normalizer.js +190 -0
  245. package/dist/esm/operations/logs/path-normalizer.js.map +1 -0
  246. package/dist/esm/operations/logs/tail.d.ts +92 -0
  247. package/dist/esm/operations/logs/tail.js +525 -0
  248. package/dist/esm/operations/logs/tail.js.map +1 -0
  249. package/dist/esm/operations/logs/types.d.ts +132 -0
  250. package/dist/esm/operations/logs/types.js +7 -0
  251. package/dist/esm/operations/logs/types.js.map +1 -0
  252. package/dist/esm/operations/mrt/push.js +3 -0
  253. package/dist/esm/operations/mrt/push.js.map +1 -1
  254. package/dist/esm/operations/ods/index.d.ts +6 -0
  255. package/dist/esm/operations/ods/index.js +12 -0
  256. package/dist/esm/operations/ods/index.js.map +1 -0
  257. package/dist/esm/operations/ods/sandbox-lookup.d.ts +63 -0
  258. package/dist/esm/operations/ods/sandbox-lookup.js +130 -0
  259. package/dist/esm/operations/ods/sandbox-lookup.js.map +1 -0
  260. package/dist/{cjs/operations/scapi-schemas → esm/schemas}/collapse.d.ts +1 -1
  261. package/dist/esm/schemas/collapse.js.map +1 -0
  262. package/dist/esm/{operations/scapi-schemas → schemas}/index.d.ts +5 -5
  263. package/dist/esm/{operations/scapi-schemas → schemas}/index.js +5 -5
  264. package/dist/esm/schemas/index.js.map +1 -0
  265. package/dist/esm/test-utils/config-isolation.js +7 -0
  266. package/dist/esm/test-utils/config-isolation.js.map +1 -1
  267. package/package.json +28 -35
  268. package/dist/cjs/logger.d.ts +0 -66
  269. package/dist/cjs/logger.js +0 -80
  270. package/dist/cjs/logger.js.map +0 -1
  271. package/dist/cjs/operations/docs/download.js.map +0 -1
  272. package/dist/cjs/operations/docs/index.js.map +0 -1
  273. package/dist/cjs/operations/docs/schema.js.map +0 -1
  274. package/dist/cjs/operations/docs/search.js.map +0 -1
  275. package/dist/cjs/operations/docs/types.js.map +0 -1
  276. package/dist/cjs/operations/scapi-schemas/collapse.js.map +0 -1
  277. package/dist/cjs/operations/scapi-schemas/index.js.map +0 -1
  278. package/dist/cjs/operations/sites/index.d.ts +0 -56
  279. package/dist/cjs/operations/sites/index.js +0 -19
  280. package/dist/cjs/operations/sites/index.js.map +0 -1
  281. package/dist/cjs/platform/index.d.ts +0 -38
  282. package/dist/cjs/platform/index.js +0 -42
  283. package/dist/cjs/platform/index.js.map +0 -1
  284. package/dist/cjs/platform/mrt.d.ts +0 -19
  285. package/dist/cjs/platform/mrt.js +0 -22
  286. package/dist/cjs/platform/mrt.js.map +0 -1
  287. package/dist/cjs/platform/ods.d.ts +0 -17
  288. package/dist/cjs/platform/ods.js +0 -22
  289. package/dist/cjs/platform/ods.js.map +0 -1
  290. package/dist/esm/logger.d.ts +0 -66
  291. package/dist/esm/logger.js +0 -80
  292. package/dist/esm/logger.js.map +0 -1
  293. package/dist/esm/operations/docs/download.js.map +0 -1
  294. package/dist/esm/operations/docs/index.js.map +0 -1
  295. package/dist/esm/operations/docs/schema.js.map +0 -1
  296. package/dist/esm/operations/docs/search.js.map +0 -1
  297. package/dist/esm/operations/docs/types.js.map +0 -1
  298. package/dist/esm/operations/scapi-schemas/collapse.js.map +0 -1
  299. package/dist/esm/operations/scapi-schemas/index.js.map +0 -1
  300. package/dist/esm/operations/sites/index.d.ts +0 -56
  301. package/dist/esm/operations/sites/index.js +0 -67
  302. package/dist/esm/operations/sites/index.js.map +0 -1
  303. package/dist/esm/platform/index.d.ts +0 -38
  304. package/dist/esm/platform/index.js +0 -42
  305. package/dist/esm/platform/index.js.map +0 -1
  306. package/dist/esm/platform/mrt.d.ts +0 -19
  307. package/dist/esm/platform/mrt.js +0 -22
  308. package/dist/esm/platform/mrt.js.map +0 -1
  309. package/dist/esm/platform/ods.d.ts +0 -17
  310. package/dist/esm/platform/ods.js +0 -22
  311. package/dist/esm/platform/ods.js.map +0 -1
  312. /package/dist/cjs/{operations/docs → docs}/index.js +0 -0
  313. /package/dist/cjs/{operations/docs → docs}/schema.d.ts +0 -0
  314. /package/dist/cjs/{operations/docs → docs}/schema.js +0 -0
  315. /package/dist/cjs/{operations/docs → docs}/search.d.ts +0 -0
  316. /package/dist/cjs/{operations/docs → docs}/search.js +0 -0
  317. /package/dist/cjs/{operations/docs → docs}/types.d.ts +0 -0
  318. /package/dist/cjs/{operations/docs → docs}/types.js +0 -0
  319. /package/dist/cjs/{operations/scapi-schemas → schemas}/collapse.js +0 -0
  320. /package/dist/esm/{operations/docs → docs}/index.js +0 -0
  321. /package/dist/esm/{operations/docs → docs}/schema.d.ts +0 -0
  322. /package/dist/esm/{operations/docs → docs}/schema.js +0 -0
  323. /package/dist/esm/{operations/docs → docs}/search.d.ts +0 -0
  324. /package/dist/esm/{operations/docs → docs}/search.js +0 -0
  325. /package/dist/esm/{operations/docs → docs}/types.d.ts +0 -0
  326. /package/dist/esm/{operations/docs → docs}/types.js +0 -0
  327. /package/dist/esm/{operations/scapi-schemas → schemas}/collapse.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logging/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logging/logger.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,20 @@ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' |
5
5
  export interface LogContext {
6
6
  [key: string]: unknown;
7
7
  }
8
+ /** Writable stream interface for custom log destinations (Node.js Writable compatible) */
9
+ export interface LogDestination {
10
+ write(chunk: string | Buffer, encoding?: BufferEncoding, callback?: (error?: Error | null) => void): boolean;
11
+ on?(event: string, listener: (...args: unknown[]) => void): this;
12
+ once?(event: string, listener: (...args: unknown[]) => void): this;
13
+ emit?(event: string, ...args: unknown[]): boolean;
14
+ }
8
15
  export interface LoggerOptions {
9
16
  /** Log level. Default: 'info' */
10
17
  level?: LogLevel;
11
18
  /** File descriptor to write to (1=stdout, 2=stderr). Default: 2 */
12
19
  fd?: number;
20
+ /** Custom destination stream. Overrides fd when provided. Useful for testing. */
21
+ destination?: LogDestination;
13
22
  /** Base context included in all log entries */
14
23
  baseContext?: LogContext;
15
24
  /** Enable secret redaction. Default: true */
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Log operations for B2C Commerce instances.
3
+ *
4
+ * This module provides functions for listing, tailing, and analyzing log files
5
+ * on B2C Commerce instances via WebDAV.
6
+ *
7
+ * @module operations/logs
8
+ *
9
+ * @example
10
+ * List log files:
11
+ * ```typescript
12
+ * import { listLogFiles } from '@salesforce/b2c-tooling-sdk/operations/logs';
13
+ *
14
+ * const files = await listLogFiles(instance, {
15
+ * prefixes: ['error', 'customerror'],
16
+ * sortBy: 'date',
17
+ * sortOrder: 'desc'
18
+ * });
19
+ *
20
+ * for (const file of files) {
21
+ * console.log(`${file.name} (${file.size} bytes)`);
22
+ * }
23
+ * ```
24
+ *
25
+ * @example
26
+ * Tail logs in real-time:
27
+ * ```typescript
28
+ * import { tailLogs, createPathNormalizer } from '@salesforce/b2c-tooling-sdk/operations/logs';
29
+ *
30
+ * const normalizer = createPathNormalizer({ cartridgePath: './cartridges' });
31
+ *
32
+ * const { stop, done } = await tailLogs(instance, {
33
+ * prefixes: ['error', 'customerror'],
34
+ * pathNormalizer: normalizer,
35
+ * onEntry: (entry) => {
36
+ * console.log(`[${entry.file}] ${entry.level}: ${entry.message}`);
37
+ * },
38
+ * onError: (err) => console.error('Error:', err),
39
+ * });
40
+ *
41
+ * // Stop after 30 seconds
42
+ * setTimeout(() => stop(), 30000);
43
+ *
44
+ * await done;
45
+ * ```
46
+ *
47
+ * @example
48
+ * Get recent logs (one-shot):
49
+ * ```typescript
50
+ * import { getRecentLogs } from '@salesforce/b2c-tooling-sdk/operations/logs';
51
+ *
52
+ * const entries = await getRecentLogs(instance, {
53
+ * prefixes: ['error'],
54
+ * maxEntries: 50
55
+ * });
56
+ *
57
+ * for (const entry of entries) {
58
+ * console.log(`[${entry.timestamp}] ${entry.message}`);
59
+ * }
60
+ * ```
61
+ */
62
+ export type { GetRecentLogsOptions, ListLogsOptions, LogEntry, LogFile, TailLogsCallbacks, TailLogsOptions, TailLogsResult, } from './types.js';
63
+ export { extractPrefix, listLogFiles } from './list.js';
64
+ export { aggregateLogEntries, getRecentLogs, parseLogEntry, splitLines, tailLogs } from './tail.js';
65
+ export { createPathNormalizer, discoverAndCreateNormalizer, extractPaths, type PathNormalizerOptions, } from './path-normalizer.js';
@@ -0,0 +1,73 @@
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
+ * Log operations for B2C Commerce instances.
8
+ *
9
+ * This module provides functions for listing, tailing, and analyzing log files
10
+ * on B2C Commerce instances via WebDAV.
11
+ *
12
+ * @module operations/logs
13
+ *
14
+ * @example
15
+ * List log files:
16
+ * ```typescript
17
+ * import { listLogFiles } from '@salesforce/b2c-tooling-sdk/operations/logs';
18
+ *
19
+ * const files = await listLogFiles(instance, {
20
+ * prefixes: ['error', 'customerror'],
21
+ * sortBy: 'date',
22
+ * sortOrder: 'desc'
23
+ * });
24
+ *
25
+ * for (const file of files) {
26
+ * console.log(`${file.name} (${file.size} bytes)`);
27
+ * }
28
+ * ```
29
+ *
30
+ * @example
31
+ * Tail logs in real-time:
32
+ * ```typescript
33
+ * import { tailLogs, createPathNormalizer } from '@salesforce/b2c-tooling-sdk/operations/logs';
34
+ *
35
+ * const normalizer = createPathNormalizer({ cartridgePath: './cartridges' });
36
+ *
37
+ * const { stop, done } = await tailLogs(instance, {
38
+ * prefixes: ['error', 'customerror'],
39
+ * pathNormalizer: normalizer,
40
+ * onEntry: (entry) => {
41
+ * console.log(`[${entry.file}] ${entry.level}: ${entry.message}`);
42
+ * },
43
+ * onError: (err) => console.error('Error:', err),
44
+ * });
45
+ *
46
+ * // Stop after 30 seconds
47
+ * setTimeout(() => stop(), 30000);
48
+ *
49
+ * await done;
50
+ * ```
51
+ *
52
+ * @example
53
+ * Get recent logs (one-shot):
54
+ * ```typescript
55
+ * import { getRecentLogs } from '@salesforce/b2c-tooling-sdk/operations/logs';
56
+ *
57
+ * const entries = await getRecentLogs(instance, {
58
+ * prefixes: ['error'],
59
+ * maxEntries: 50
60
+ * });
61
+ *
62
+ * for (const entry of entries) {
63
+ * console.log(`[${entry.timestamp}] ${entry.message}`);
64
+ * }
65
+ * ```
66
+ */
67
+ // List operations
68
+ export { extractPrefix, listLogFiles } from './list.js';
69
+ // Tail operations
70
+ export { aggregateLogEntries, getRecentLogs, parseLogEntry, splitLines, tailLogs } from './tail.js';
71
+ // Path normalization
72
+ export { createPathNormalizer, discoverAndCreateNormalizer, extractPaths, } from './path-normalizer.js';
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/logs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAaH,kBAAkB;AAClB,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,WAAW,CAAC;AAEtD,kBAAkB;AAClB,OAAO,EAAC,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAC;AAElG,qBAAqB;AACrB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,GAEb,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Log file listing operations.
3
+ */
4
+ import type { B2CInstance } from '../../instance/index.js';
5
+ import type { ListLogsOptions, LogFile } from './types.js';
6
+ /**
7
+ * Extracts the log prefix from a filename.
8
+ *
9
+ * @param filename - Log file name (e.g., "error-blade1-20250125.log")
10
+ * @returns The prefix (e.g., "error") or "unknown"
11
+ *
12
+ * @example
13
+ * extractPrefix("error-blade1-20250125.log") // "error"
14
+ * extractPrefix("customerror-blade1-20250125.log") // "customerror"
15
+ * extractPrefix("custom-mylog-blade1-20250125.log") // "custom-mylog"
16
+ */
17
+ export declare function extractPrefix(filename: string): string;
18
+ /**
19
+ * Lists log files on a B2C Commerce instance.
20
+ *
21
+ * @param instance - B2C instance to list logs from
22
+ * @param options - Listing options (filters, sorting)
23
+ * @returns Array of log files
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // List all error and customerror logs
28
+ * const logs = await listLogFiles(instance, {
29
+ * prefixes: ['error', 'customerror'],
30
+ * sortBy: 'date',
31
+ * sortOrder: 'desc'
32
+ * });
33
+ * ```
34
+ */
35
+ export declare function listLogFiles(instance: B2CInstance, options?: ListLogsOptions): Promise<LogFile[]>;
@@ -0,0 +1,144 @@
1
+ import { getLogger } from '../../logging/logger.js';
2
+ /**
3
+ * Known log file prefixes in B2C Commerce.
4
+ * Used to extract the prefix from log file names.
5
+ */
6
+ const LOG_PREFIXES = [
7
+ // Custom logs (must check first due to "custom" prefix)
8
+ 'customdebug',
9
+ 'custominfo',
10
+ 'customwarn',
11
+ 'customerror',
12
+ 'customfatal',
13
+ // System logs
14
+ 'error',
15
+ 'warn',
16
+ 'info',
17
+ 'debug',
18
+ 'fatal',
19
+ 'api',
20
+ 'deprecation',
21
+ 'jobs',
22
+ 'staging',
23
+ 'quota',
24
+ 'sql',
25
+ 'service',
26
+ 'syslog',
27
+ 'security',
28
+ 'analytics',
29
+ 'migration',
30
+ // Custom named logs (format: custom-<name>-...)
31
+ 'custom',
32
+ ];
33
+ /**
34
+ * Extracts the log prefix from a filename.
35
+ *
36
+ * @param filename - Log file name (e.g., "error-blade1-20250125.log")
37
+ * @returns The prefix (e.g., "error") or "unknown"
38
+ *
39
+ * @example
40
+ * extractPrefix("error-blade1-20250125.log") // "error"
41
+ * extractPrefix("customerror-blade1-20250125.log") // "customerror"
42
+ * extractPrefix("custom-mylog-blade1-20250125.log") // "custom-mylog"
43
+ */
44
+ export function extractPrefix(filename) {
45
+ // Handle custom-<name> pattern (e.g., custom-mylog-blade1-...)
46
+ // Custom log names use word characters only (no dashes) to distinguish from hostname
47
+ const customMatch = filename.match(/^(custom-[a-zA-Z0-9_]+)-/);
48
+ if (customMatch) {
49
+ return customMatch[1];
50
+ }
51
+ // Check known prefixes (order matters - longer matches first)
52
+ for (const prefix of LOG_PREFIXES) {
53
+ if (filename.startsWith(`${prefix}-`) || filename.startsWith(`${prefix}_`)) {
54
+ return prefix;
55
+ }
56
+ }
57
+ // Fallback: extract first segment before dash or underscore
58
+ const match = filename.match(/^([a-zA-Z]+)[-_]/);
59
+ return match ? match[1] : 'unknown';
60
+ }
61
+ /**
62
+ * Lists log files on a B2C Commerce instance.
63
+ *
64
+ * @param instance - B2C instance to list logs from
65
+ * @param options - Listing options (filters, sorting)
66
+ * @returns Array of log files
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * // List all error and customerror logs
71
+ * const logs = await listLogFiles(instance, {
72
+ * prefixes: ['error', 'customerror'],
73
+ * sortBy: 'date',
74
+ * sortOrder: 'desc'
75
+ * });
76
+ * ```
77
+ */
78
+ export async function listLogFiles(instance, options = {}) {
79
+ const logger = getLogger();
80
+ const { prefixes, sortBy = 'date', sortOrder = 'desc' } = options;
81
+ logger.debug({ prefixes, sortBy, sortOrder }, 'Listing log files');
82
+ // Get all files from Logs directory
83
+ const entries = await instance.webdav.propfind('Logs', '1');
84
+ // Filter to only log files (not directories, not the Logs directory itself)
85
+ const logFiles = entries
86
+ .filter((entry) => {
87
+ // Skip directories
88
+ if (entry.isCollection)
89
+ return false;
90
+ // Skip if not a .log file
91
+ const name = entry.displayName || entry.href.split('/').pop() || '';
92
+ if (!name.endsWith('.log'))
93
+ return false;
94
+ return true;
95
+ })
96
+ .map((entry) => {
97
+ const name = entry.displayName || entry.href.split('/').pop() || '';
98
+ const prefix = extractPrefix(name);
99
+ return {
100
+ name,
101
+ prefix,
102
+ size: entry.contentLength || 0,
103
+ lastModified: entry.lastModified || new Date(0),
104
+ path: `Logs/${name}`,
105
+ };
106
+ });
107
+ // Filter by prefix if specified
108
+ let filtered = logFiles;
109
+ if (prefixes && prefixes.length > 0) {
110
+ const prefixSet = new Set(prefixes.map((p) => p.toLowerCase()));
111
+ filtered = logFiles.filter((file) => {
112
+ // Check exact prefix match
113
+ if (prefixSet.has(file.prefix.toLowerCase()))
114
+ return true;
115
+ // Also check if the prefix starts with any of the specified prefixes
116
+ // This handles cases like "custom-mylog" matching "custom"
117
+ for (const p of prefixSet) {
118
+ if (file.prefix.toLowerCase().startsWith(p))
119
+ return true;
120
+ }
121
+ return false;
122
+ });
123
+ }
124
+ // Sort the results
125
+ filtered.sort((a, b) => {
126
+ let comparison = 0;
127
+ switch (sortBy) {
128
+ case 'name':
129
+ comparison = a.name.localeCompare(b.name);
130
+ break;
131
+ case 'size':
132
+ comparison = a.size - b.size;
133
+ break;
134
+ case 'date':
135
+ default:
136
+ comparison = a.lastModified.getTime() - b.lastModified.getTime();
137
+ break;
138
+ }
139
+ return sortOrder === 'desc' ? -comparison : comparison;
140
+ });
141
+ logger.debug({ count: filtered.length }, `Found ${filtered.length} log files`);
142
+ return filtered;
143
+ }
144
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/operations/logs/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { type CartridgeMapping } from '../code/cartridges.js';
2
+ /**
3
+ * Options for creating a path normalizer.
4
+ */
5
+ export interface PathNormalizerOptions {
6
+ /**
7
+ * Local path to the cartridges directory (simple mode).
8
+ * All cartridge references will be prefixed with this path.
9
+ * @example "./cartridges" or "/Users/dev/project/cartridges"
10
+ */
11
+ cartridgePath?: string;
12
+ /**
13
+ * Discovered cartridge mappings (precise mode).
14
+ * Each cartridge is mapped to its actual local path.
15
+ * Takes precedence over cartridgePath for known cartridges.
16
+ */
17
+ cartridges?: CartridgeMapping[];
18
+ }
19
+ /**
20
+ * Creates a path normalizer function for converting remote cartridge paths
21
+ * to local paths in log messages.
22
+ *
23
+ * Supports two modes:
24
+ * 1. **Cartridge mappings** (precise): Uses discovered cartridges to map each
25
+ * cartridge name to its actual local path. Best for projects with cartridges
26
+ * in different locations.
27
+ * 2. **Cartridge path** (simple): Prefixes all paths with a base directory.
28
+ * Best when all cartridges are in a single directory.
29
+ *
30
+ * @param options - Normalizer options
31
+ * @returns Function that normalizes paths in a message string, or undefined if no options provided
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // Using discovered cartridges (recommended)
36
+ * const cartridges = findCartridges('./my-project');
37
+ * const normalize = createPathNormalizer({ cartridges });
38
+ *
39
+ * // Using simple cartridge path
40
+ * const normalize = createPathNormalizer({ cartridgePath: './cartridges' });
41
+ *
42
+ * // Input: "(app_storefront/cartridge/controllers/Home.js:45)"
43
+ * // Output: "(./cartridges/app_storefront/cartridge/controllers/Home.js:45)"
44
+ * const normalized = normalize(logMessage);
45
+ * ```
46
+ */
47
+ export declare function createPathNormalizer(options: PathNormalizerOptions): ((message: string) => string) | undefined;
48
+ /**
49
+ * Discovers cartridges and creates a path normalizer automatically.
50
+ *
51
+ * This is a convenience function that combines `findCartridges` with
52
+ * `createPathNormalizer` for easy setup. Cartridge paths are converted
53
+ * to relative paths from the current working directory.
54
+ *
55
+ * @param directory - Directory to search for cartridges (defaults to cwd)
56
+ * @returns Path normalizer function, or undefined if no cartridges found
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * // Auto-discover cartridges from current directory
61
+ * const normalize = discoverAndCreateNormalizer();
62
+ *
63
+ * // Auto-discover from specific directory
64
+ * const normalize = discoverAndCreateNormalizer('./my-project');
65
+ * ```
66
+ */
67
+ export declare function discoverAndCreateNormalizer(directory?: string): ((message: string) => string) | undefined;
68
+ /**
69
+ * Extracts all cartridge paths from a message.
70
+ *
71
+ * Useful for testing or analysis of log messages.
72
+ *
73
+ * @param message - Log message to extract paths from
74
+ * @returns Array of extracted paths
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * const paths = extractPaths("Error at (app_storefront/cartridge/controllers/Home.js:45)");
79
+ * // Returns: ["app_storefront/cartridge/controllers/Home.js:45"]
80
+ * ```
81
+ */
82
+ export declare function extractPaths(message: string): string[];
@@ -0,0 +1,190 @@
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
+ * Path normalization for B2C Commerce log files.
8
+ *
9
+ * Converts remote cartridge paths in log messages to local paths
10
+ * for IDE click-to-open functionality.
11
+ */
12
+ import path from 'node:path';
13
+ import { findCartridges } from '../code/cartridges.js';
14
+ /**
15
+ * Patterns for matching cartridge paths in various contexts.
16
+ *
17
+ * B2C Commerce log files can contain paths in various formats:
18
+ * - In parentheses: (app_storefront/cartridge/controllers/Home.js:45)
19
+ * - In quotes: 'app_storefront/cartridge/controllers/Home.js:45'
20
+ * - In stack traces: at app_storefront/cartridge/controllers/Home.js:45
21
+ * - Plain paths: app_storefront/cartridge/controllers/Home.js:45
22
+ */
23
+ const PATH_PATTERNS = [
24
+ // Parentheses: (cartridge_name/cartridge/path/file.js:line)
25
+ {
26
+ pattern: /\(([a-zA-Z0-9_-]+\/cartridge\/[^)]+)\)/g,
27
+ context: 'parentheses',
28
+ extractPath: (match) => match[1],
29
+ buildReplacement: (match, normalizedPath) => `(${normalizedPath})`,
30
+ },
31
+ // Single quotes: 'cartridge_name/cartridge/path/file.js:line'
32
+ {
33
+ pattern: /'([a-zA-Z0-9_-]+\/cartridge\/[^']+)'/g,
34
+ context: 'quotes',
35
+ extractPath: (match) => match[1],
36
+ buildReplacement: (match, normalizedPath) => `'${normalizedPath}'`,
37
+ },
38
+ // Double quotes: "cartridge_name/cartridge/path/file.js:line"
39
+ {
40
+ pattern: /"([a-zA-Z0-9_-]+\/cartridge\/[^"]+)"/g,
41
+ context: 'quotes',
42
+ extractPath: (match) => match[1],
43
+ buildReplacement: (match, normalizedPath) => `"${normalizedPath}"`,
44
+ },
45
+ // Stack trace: at cartridge_name/cartridge/path/file.js:line
46
+ {
47
+ pattern: /at\s+([a-zA-Z0-9_-]+\/cartridge\/[^\s]+)/g,
48
+ context: 'stacktrace',
49
+ extractPath: (match) => match[1],
50
+ buildReplacement: (match, normalizedPath) => `at ${normalizedPath}`,
51
+ },
52
+ ];
53
+ /**
54
+ * Creates a path normalizer function for converting remote cartridge paths
55
+ * to local paths in log messages.
56
+ *
57
+ * Supports two modes:
58
+ * 1. **Cartridge mappings** (precise): Uses discovered cartridges to map each
59
+ * cartridge name to its actual local path. Best for projects with cartridges
60
+ * in different locations.
61
+ * 2. **Cartridge path** (simple): Prefixes all paths with a base directory.
62
+ * Best when all cartridges are in a single directory.
63
+ *
64
+ * @param options - Normalizer options
65
+ * @returns Function that normalizes paths in a message string, or undefined if no options provided
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * // Using discovered cartridges (recommended)
70
+ * const cartridges = findCartridges('./my-project');
71
+ * const normalize = createPathNormalizer({ cartridges });
72
+ *
73
+ * // Using simple cartridge path
74
+ * const normalize = createPathNormalizer({ cartridgePath: './cartridges' });
75
+ *
76
+ * // Input: "(app_storefront/cartridge/controllers/Home.js:45)"
77
+ * // Output: "(./cartridges/app_storefront/cartridge/controllers/Home.js:45)"
78
+ * const normalized = normalize(logMessage);
79
+ * ```
80
+ */
81
+ export function createPathNormalizer(options) {
82
+ const { cartridgePath, cartridges } = options;
83
+ // If no options provided, return undefined
84
+ if (!cartridgePath && (!cartridges || cartridges.length === 0)) {
85
+ return undefined;
86
+ }
87
+ // Build a map of cartridge names to their local paths
88
+ const cartridgeMap = new Map();
89
+ if (cartridges) {
90
+ for (const c of cartridges) {
91
+ cartridgeMap.set(c.name, c.src);
92
+ }
93
+ }
94
+ // Normalize the fallback cartridge path (remove trailing slash)
95
+ const normalizedCartridgePath = cartridgePath?.replace(/\/+$/, '');
96
+ return (message) => {
97
+ let result = message;
98
+ for (const { pattern, extractPath, buildReplacement } of PATH_PATTERNS) {
99
+ // Create a fresh regex for each message (stateful with /g flag)
100
+ const regex = new RegExp(pattern.source, pattern.flags);
101
+ result = result.replace(regex, (...args) => {
102
+ // The full match is the first arg, captured groups follow
103
+ const match = args;
104
+ const remotePath = extractPath(match);
105
+ // Extract cartridge name from the path (first segment before /cartridge/)
106
+ const cartridgeName = remotePath.split('/')[0];
107
+ const restOfPath = remotePath.substring(cartridgeName.length);
108
+ // Try to find the cartridge in our mappings
109
+ const localCartridgePath = cartridgeMap.get(cartridgeName);
110
+ let localPath;
111
+ if (localCartridgePath) {
112
+ // Use the discovered cartridge's actual path
113
+ localPath = `${localCartridgePath}${restOfPath}`;
114
+ }
115
+ else if (normalizedCartridgePath) {
116
+ // Fall back to simple prefix mode
117
+ localPath = `${normalizedCartridgePath}/${remotePath}`;
118
+ }
119
+ else {
120
+ // No mapping and no fallback - return original
121
+ return match[0];
122
+ }
123
+ return buildReplacement(match, localPath);
124
+ });
125
+ }
126
+ return result;
127
+ };
128
+ }
129
+ /**
130
+ * Discovers cartridges and creates a path normalizer automatically.
131
+ *
132
+ * This is a convenience function that combines `findCartridges` with
133
+ * `createPathNormalizer` for easy setup. Cartridge paths are converted
134
+ * to relative paths from the current working directory.
135
+ *
136
+ * @param directory - Directory to search for cartridges (defaults to cwd)
137
+ * @returns Path normalizer function, or undefined if no cartridges found
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * // Auto-discover cartridges from current directory
142
+ * const normalize = discoverAndCreateNormalizer();
143
+ *
144
+ * // Auto-discover from specific directory
145
+ * const normalize = discoverAndCreateNormalizer('./my-project');
146
+ * ```
147
+ */
148
+ export function discoverAndCreateNormalizer(directory) {
149
+ const searchDir = directory ?? process.cwd();
150
+ const cwd = process.cwd();
151
+ const cartridges = findCartridges(searchDir);
152
+ if (cartridges.length === 0) {
153
+ return undefined;
154
+ }
155
+ // Convert absolute paths to relative paths from cwd
156
+ const relativeCartridges = cartridges.map((c) => ({
157
+ ...c,
158
+ src: './' + path.relative(cwd, c.src),
159
+ }));
160
+ return createPathNormalizer({ cartridges: relativeCartridges });
161
+ }
162
+ /**
163
+ * Extracts all cartridge paths from a message.
164
+ *
165
+ * Useful for testing or analysis of log messages.
166
+ *
167
+ * @param message - Log message to extract paths from
168
+ * @returns Array of extracted paths
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * const paths = extractPaths("Error at (app_storefront/cartridge/controllers/Home.js:45)");
173
+ * // Returns: ["app_storefront/cartridge/controllers/Home.js:45"]
174
+ * ```
175
+ */
176
+ export function extractPaths(message) {
177
+ const paths = [];
178
+ for (const { pattern, extractPath } of PATH_PATTERNS) {
179
+ const regex = new RegExp(pattern.source, pattern.flags);
180
+ let match;
181
+ while ((match = regex.exec(message)) !== null) {
182
+ const path = extractPath(match);
183
+ if (!paths.includes(path)) {
184
+ paths.push(path);
185
+ }
186
+ }
187
+ }
188
+ return paths;
189
+ }
190
+ //# sourceMappingURL=path-normalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-normalizer.js","sourceRoot":"","sources":["../../../../src/operations/logs/path-normalizer.ts"],"names":[],"mappings":"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"}