@smess/networking 1.2.0 → 2.0.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 (313) hide show
  1. package/CHANGELOG.md +211 -0
  2. package/README.md +165 -114
  3. package/dist/core/body.d.ts +10 -0
  4. package/dist/core/body.d.ts.map +1 -0
  5. package/dist/core/body.js +22 -0
  6. package/dist/core/body.js.map +1 -0
  7. package/dist/core/client.d.ts +74 -0
  8. package/dist/core/client.d.ts.map +1 -0
  9. package/dist/core/client.js +124 -0
  10. package/dist/core/client.js.map +1 -0
  11. package/dist/core/decoders.d.ts +8 -0
  12. package/dist/core/decoders.d.ts.map +1 -0
  13. package/dist/core/decoders.js +26 -0
  14. package/dist/core/decoders.js.map +1 -0
  15. package/dist/core/endpoint.d.ts +69 -0
  16. package/dist/core/endpoint.d.ts.map +1 -0
  17. package/dist/core/endpoint.js +6 -0
  18. package/dist/core/endpoint.js.map +1 -0
  19. package/dist/core/hosts.d.ts +25 -0
  20. package/dist/core/hosts.d.ts.map +1 -0
  21. package/dist/core/hosts.js +22 -0
  22. package/dist/core/hosts.js.map +1 -0
  23. package/dist/core/pagination.d.ts +33 -0
  24. package/dist/core/pagination.d.ts.map +1 -0
  25. package/dist/core/pagination.js +23 -0
  26. package/dist/core/pagination.js.map +1 -0
  27. package/dist/core/pipeline.d.ts +25 -0
  28. package/dist/core/pipeline.d.ts.map +1 -0
  29. package/dist/core/pipeline.js +12 -0
  30. package/dist/core/pipeline.js.map +1 -0
  31. package/dist/core/retry.d.ts +18 -0
  32. package/dist/core/retry.d.ts.map +1 -0
  33. package/dist/core/retry.js +47 -0
  34. package/dist/core/retry.js.map +1 -0
  35. package/dist/core/transport.d.ts +30 -0
  36. package/dist/core/transport.d.ts.map +1 -0
  37. package/dist/core/transport.js +73 -0
  38. package/dist/core/transport.js.map +1 -0
  39. package/dist/core/types.d.ts +24 -0
  40. package/dist/core/types.d.ts.map +1 -0
  41. package/dist/core/types.js +3 -0
  42. package/dist/core/types.js.map +1 -0
  43. package/dist/core/url.d.ts +15 -0
  44. package/dist/core/url.d.ts.map +1 -0
  45. package/dist/core/url.js +46 -0
  46. package/dist/core/url.js.map +1 -0
  47. package/dist/errors/parse-error-body.d.ts +20 -0
  48. package/dist/errors/parse-error-body.d.ts.map +1 -0
  49. package/dist/errors/parse-error-body.js +73 -0
  50. package/dist/errors/parse-error-body.js.map +1 -0
  51. package/dist/errors/smess-api-error.d.ts +70 -0
  52. package/dist/errors/smess-api-error.d.ts.map +1 -0
  53. package/dist/errors/smess-api-error.js +84 -0
  54. package/dist/errors/smess-api-error.js.map +1 -0
  55. package/dist/index.d.ts +27 -25
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +15 -29
  58. package/dist/index.js.map +1 -0
  59. package/dist/modules/authentication/index.d.ts +89 -0
  60. package/dist/modules/authentication/index.d.ts.map +1 -0
  61. package/dist/modules/authentication/index.js +128 -0
  62. package/dist/modules/authentication/index.js.map +1 -0
  63. package/dist/modules/campaign/index.d.ts +212 -0
  64. package/dist/modules/campaign/index.d.ts.map +1 -0
  65. package/dist/modules/campaign/index.js +193 -0
  66. package/dist/modules/campaign/index.js.map +1 -0
  67. package/dist/modules/campaign/types.d.ts +562 -0
  68. package/dist/modules/campaign/types.d.ts.map +1 -0
  69. package/dist/modules/campaign/types.js +2 -0
  70. package/dist/modules/campaign/types.js.map +1 -0
  71. package/dist/modules/danara/index.d.ts +153 -0
  72. package/dist/modules/danara/index.d.ts.map +1 -0
  73. package/dist/modules/danara/index.js +144 -0
  74. package/dist/modules/danara/index.js.map +1 -0
  75. package/dist/modules/danara/types.d.ts +479 -0
  76. package/dist/modules/danara/types.d.ts.map +1 -0
  77. package/dist/modules/danara/types.js +2 -0
  78. package/dist/modules/danara/types.js.map +1 -0
  79. package/dist/modules/smeup-file/index.d.ts +27 -0
  80. package/dist/modules/smeup-file/index.d.ts.map +1 -0
  81. package/dist/modules/smeup-file/index.js +17 -0
  82. package/dist/modules/smeup-file/index.js.map +1 -0
  83. package/dist/modules/sso/index.d.ts +40 -0
  84. package/dist/modules/sso/index.d.ts.map +1 -0
  85. package/dist/modules/sso/index.js +41 -0
  86. package/dist/modules/sso/index.js.map +1 -0
  87. package/dist/rx/index.d.ts +11 -0
  88. package/dist/rx/index.d.ts.map +1 -0
  89. package/dist/rx/index.js +20 -0
  90. package/dist/rx/index.js.map +1 -0
  91. package/dist/session/auth-middleware.d.ts +27 -0
  92. package/dist/session/auth-middleware.d.ts.map +1 -0
  93. package/dist/session/auth-middleware.js +122 -0
  94. package/dist/session/auth-middleware.js.map +1 -0
  95. package/dist/session/jwt.d.ts +20 -0
  96. package/dist/session/jwt.d.ts.map +1 -0
  97. package/dist/session/jwt.js +25 -0
  98. package/dist/session/jwt.js.map +1 -0
  99. package/dist/session/stores.d.ts +19 -0
  100. package/dist/session/stores.d.ts.map +1 -0
  101. package/dist/session/stores.js +103 -0
  102. package/dist/session/stores.js.map +1 -0
  103. package/dist/session/types.d.ts +28 -0
  104. package/dist/session/types.d.ts.map +1 -0
  105. package/dist/session/types.js +2 -0
  106. package/dist/session/types.js.map +1 -0
  107. package/package.json +80 -30
  108. package/dist/core/axios.d.ts +0 -51
  109. package/dist/core/axios.js +0 -65
  110. package/dist/core/axios.observable.d.ts +0 -11
  111. package/dist/core/axios.observable.js +0 -58
  112. package/dist/core/base.provider.advanced.test.d.ts +0 -1
  113. package/dist/core/base.provider.advanced.test.js +0 -29
  114. package/dist/core/base.provider.d.ts +0 -15
  115. package/dist/core/base.provider.js +0 -13
  116. package/dist/core/base.provider.test.d.ts +0 -1
  117. package/dist/core/base.provider.test.js +0 -36
  118. package/dist/core/base.service.wrapper.advanced.test.d.ts +0 -1
  119. package/dist/core/base.service.wrapper.advanced.test.js +0 -39
  120. package/dist/core/base.service.wrapper.d.ts +0 -7
  121. package/dist/core/base.service.wrapper.js +0 -11
  122. package/dist/core/base.service.wrapper.test.d.ts +0 -1
  123. package/dist/core/base.service.wrapper.test.js +0 -25
  124. package/dist/core/rx.http.service.d.ts +0 -51
  125. package/dist/core/rx.http.service.js +0 -65
  126. package/dist/services/auth.service.d.ts +0 -65
  127. package/dist/services/auth.service.js +0 -197
  128. package/dist/services/auth.service.test.d.ts +0 -1
  129. package/dist/services/auth.service.test.js +0 -334
  130. package/dist/services/cache.service.d.ts +0 -31
  131. package/dist/services/cache.service.js +0 -77
  132. package/dist/services/cache.service.test.d.ts +0 -1
  133. package/dist/services/cache.service.test.js +0 -88
  134. package/dist/services/customer.service.d.ts +0 -211
  135. package/dist/services/customer.service.js +0 -128
  136. package/dist/services/customer.service.test.d.ts +0 -1
  137. package/dist/services/customer.service.test.js +0 -430
  138. package/dist/services/employee.service.d.ts +0 -73
  139. package/dist/services/employee.service.js +0 -74
  140. package/dist/services/employee.service.test.d.ts +0 -1
  141. package/dist/services/employee.service.test.js +0 -127
  142. package/dist/services/logger.service.d.ts +0 -31
  143. package/dist/services/logger.service.js +0 -93
  144. package/dist/services/logger.service.test.d.ts +0 -1
  145. package/dist/services/logger.service.test.js +0 -31
  146. package/dist/services/order.service.d.ts +0 -73
  147. package/dist/services/order.service.js +0 -97
  148. package/dist/services/order.service.test.d.ts +0 -1
  149. package/dist/services/order.service.test.js +0 -163
  150. package/dist/services/product.service.d.ts +0 -21
  151. package/dist/services/product.service.js +0 -42
  152. package/dist/services/product.service.test.d.ts +0 -1
  153. package/dist/services/product.service.test.js +0 -61
  154. package/dist/services/smess.service.d.ts +0 -36
  155. package/dist/services/smess.service.js +0 -128
  156. package/dist/services/smess.service.test.d.ts +0 -1
  157. package/dist/services/smess.service.test.js +0 -103
  158. package/dist/services/store.cart.service.d.ts +0 -158
  159. package/dist/services/store.cart.service.js +0 -177
  160. package/dist/services/store.cart.service.test.d.ts +0 -1
  161. package/dist/services/store.cart.service.test.js +0 -394
  162. package/dist/services/store.product.service.d.ts +0 -124
  163. package/dist/services/store.product.service.js +0 -102
  164. package/dist/services/store.product.service.test.d.ts +0 -1
  165. package/dist/services/store.product.service.test.js +0 -319
  166. package/dist/services/store.service.d.ts +0 -79
  167. package/dist/services/store.service.js +0 -235
  168. package/dist/services/store.service.test.d.ts +0 -1
  169. package/dist/services/store.service.test.js +0 -274
  170. package/dist/services/storefront.cart.service.d.ts +0 -73
  171. package/dist/services/storefront.cart.service.js +0 -167
  172. package/dist/services/storefront.cart.service.test.d.ts +0 -1
  173. package/dist/services/storefront.cart.service.test.js +0 -211
  174. package/dist/services/storefront.checkout.service.d.ts +0 -62
  175. package/dist/services/storefront.checkout.service.js +0 -75
  176. package/dist/services/storefront.checkout.service.test.d.ts +0 -1
  177. package/dist/services/storefront.checkout.service.test.js +0 -158
  178. package/dist/services/storefront.customer.metadata.service.d.ts +0 -91
  179. package/dist/services/storefront.customer.metadata.service.js +0 -225
  180. package/dist/services/storefront.customer.metadata.service.test.d.ts +0 -1
  181. package/dist/services/storefront.customer.metadata.service.test.js +0 -271
  182. package/dist/services/storefront.order.service.d.ts +0 -45
  183. package/dist/services/storefront.order.service.js +0 -99
  184. package/dist/services/storefront.order.service.test.d.ts +0 -1
  185. package/dist/services/storefront.order.service.test.js +0 -158
  186. package/dist/services/storefront.product.service.d.ts +0 -52
  187. package/dist/services/storefront.product.service.js +0 -75
  188. package/dist/services/storefront.product.service.test.d.ts +0 -1
  189. package/dist/services/storefront.product.service.test.js +0 -120
  190. package/dist/services/storefront.store.service.d.ts +0 -54
  191. package/dist/services/storefront.store.service.js +0 -142
  192. package/dist/services/storefront.store.service.test.d.ts +0 -1
  193. package/dist/services/storefront.store.service.test.js +0 -90
  194. package/dist/services/user.service.d.ts +0 -16
  195. package/dist/services/user.service.js +0 -37
  196. package/dist/services/user.service.test.d.ts +0 -1
  197. package/dist/services/user.service.test.js +0 -52
  198. package/dist/services/utils/withAuthReset.d.ts +0 -3
  199. package/dist/services/utils/withAuthReset.js +0 -8
  200. package/dist/src/core/axios.d.ts +0 -51
  201. package/dist/src/core/axios.js +0 -65
  202. package/dist/src/core/axios.observable.d.ts +0 -11
  203. package/dist/src/core/axios.observable.js +0 -58
  204. package/dist/src/core/base.provider.advanced.test.d.ts +0 -1
  205. package/dist/src/core/base.provider.advanced.test.js +0 -29
  206. package/dist/src/core/base.provider.d.ts +0 -15
  207. package/dist/src/core/base.provider.js +0 -13
  208. package/dist/src/core/base.provider.test.d.ts +0 -1
  209. package/dist/src/core/base.provider.test.js +0 -36
  210. package/dist/src/core/base.service.wrapper.advanced.test.d.ts +0 -1
  211. package/dist/src/core/base.service.wrapper.advanced.test.js +0 -39
  212. package/dist/src/core/base.service.wrapper.d.ts +0 -7
  213. package/dist/src/core/base.service.wrapper.js +0 -11
  214. package/dist/src/core/base.service.wrapper.test.d.ts +0 -1
  215. package/dist/src/core/base.service.wrapper.test.js +0 -25
  216. package/dist/src/core/rx.http.service.d.ts +0 -51
  217. package/dist/src/core/rx.http.service.js +0 -65
  218. package/dist/src/index.d.ts +0 -25
  219. package/dist/src/index.js +0 -29
  220. package/dist/src/services/auth.service.d.ts +0 -65
  221. package/dist/src/services/auth.service.js +0 -197
  222. package/dist/src/services/auth.service.test.d.ts +0 -1
  223. package/dist/src/services/auth.service.test.js +0 -334
  224. package/dist/src/services/cache.service.d.ts +0 -31
  225. package/dist/src/services/cache.service.js +0 -77
  226. package/dist/src/services/cache.service.test.d.ts +0 -1
  227. package/dist/src/services/cache.service.test.js +0 -88
  228. package/dist/src/services/customer.service.d.ts +0 -199
  229. package/dist/src/services/customer.service.js +0 -114
  230. package/dist/src/services/customer.service.test.d.ts +0 -1
  231. package/dist/src/services/customer.service.test.js +0 -430
  232. package/dist/src/services/employee.service.d.ts +0 -73
  233. package/dist/src/services/employee.service.js +0 -74
  234. package/dist/src/services/employee.service.test.d.ts +0 -1
  235. package/dist/src/services/employee.service.test.js +0 -127
  236. package/dist/src/services/logger.service.d.ts +0 -31
  237. package/dist/src/services/logger.service.js +0 -93
  238. package/dist/src/services/logger.service.test.d.ts +0 -1
  239. package/dist/src/services/logger.service.test.js +0 -31
  240. package/dist/src/services/order.service.d.ts +0 -73
  241. package/dist/src/services/order.service.js +0 -97
  242. package/dist/src/services/order.service.test.d.ts +0 -1
  243. package/dist/src/services/order.service.test.js +0 -163
  244. package/dist/src/services/product.service.d.ts +0 -21
  245. package/dist/src/services/product.service.js +0 -42
  246. package/dist/src/services/product.service.test.d.ts +0 -1
  247. package/dist/src/services/product.service.test.js +0 -61
  248. package/dist/src/services/smess.service.d.ts +0 -36
  249. package/dist/src/services/smess.service.js +0 -128
  250. package/dist/src/services/smess.service.test.d.ts +0 -1
  251. package/dist/src/services/smess.service.test.js +0 -103
  252. package/dist/src/services/store.cart.service.d.ts +0 -158
  253. package/dist/src/services/store.cart.service.js +0 -177
  254. package/dist/src/services/store.cart.service.test.d.ts +0 -1
  255. package/dist/src/services/store.cart.service.test.js +0 -394
  256. package/dist/src/services/store.product.service.d.ts +0 -124
  257. package/dist/src/services/store.product.service.js +0 -102
  258. package/dist/src/services/store.product.service.test.d.ts +0 -1
  259. package/dist/src/services/store.product.service.test.js +0 -319
  260. package/dist/src/services/store.service.d.ts +0 -79
  261. package/dist/src/services/store.service.js +0 -235
  262. package/dist/src/services/store.service.test.d.ts +0 -1
  263. package/dist/src/services/store.service.test.js +0 -274
  264. package/dist/src/services/storefront.cart.service.d.ts +0 -73
  265. package/dist/src/services/storefront.cart.service.js +0 -167
  266. package/dist/src/services/storefront.cart.service.test.d.ts +0 -1
  267. package/dist/src/services/storefront.cart.service.test.js +0 -211
  268. package/dist/src/services/storefront.checkout.service.d.ts +0 -62
  269. package/dist/src/services/storefront.checkout.service.js +0 -75
  270. package/dist/src/services/storefront.checkout.service.test.d.ts +0 -1
  271. package/dist/src/services/storefront.checkout.service.test.js +0 -158
  272. package/dist/src/services/storefront.customer.metadata.service.d.ts +0 -91
  273. package/dist/src/services/storefront.customer.metadata.service.js +0 -225
  274. package/dist/src/services/storefront.customer.metadata.service.test.d.ts +0 -1
  275. package/dist/src/services/storefront.customer.metadata.service.test.js +0 -271
  276. package/dist/src/services/storefront.order.service.d.ts +0 -45
  277. package/dist/src/services/storefront.order.service.js +0 -99
  278. package/dist/src/services/storefront.order.service.test.d.ts +0 -1
  279. package/dist/src/services/storefront.order.service.test.js +0 -158
  280. package/dist/src/services/storefront.product.service.d.ts +0 -52
  281. package/dist/src/services/storefront.product.service.js +0 -75
  282. package/dist/src/services/storefront.product.service.test.d.ts +0 -1
  283. package/dist/src/services/storefront.product.service.test.js +0 -120
  284. package/dist/src/services/storefront.store.service.d.ts +0 -52
  285. package/dist/src/services/storefront.store.service.js +0 -140
  286. package/dist/src/services/storefront.store.service.test.d.ts +0 -1
  287. package/dist/src/services/storefront.store.service.test.js +0 -90
  288. package/dist/src/services/user.service.d.ts +0 -16
  289. package/dist/src/services/user.service.js +0 -37
  290. package/dist/src/services/user.service.test.d.ts +0 -1
  291. package/dist/src/services/user.service.test.js +0 -52
  292. package/dist/src/services/utils/withAuthReset.d.ts +0 -3
  293. package/dist/src/services/utils/withAuthReset.js +0 -8
  294. package/dist/src/types/types.d.ts +0 -93
  295. package/dist/src/types/types.js +0 -82
  296. package/dist/src/types/types.test.d.ts +0 -1
  297. package/dist/src/types/types.test.js +0 -25
  298. package/dist/src/utils/cache-import.d.ts +0 -3
  299. package/dist/src/utils/cache-import.js +0 -2
  300. package/dist/src/utils/networking-import.d.ts +0 -4
  301. package/dist/src/utils/networking-import.js +0 -3
  302. package/dist/src/utils/rxjs-import.d.ts +0 -5
  303. package/dist/src/utils/rxjs-import.js +0 -5
  304. package/dist/types/types.d.ts +0 -96
  305. package/dist/types/types.js +0 -82
  306. package/dist/types/types.test.d.ts +0 -1
  307. package/dist/types/types.test.js +0 -25
  308. package/dist/utils/cache-import.d.ts +0 -3
  309. package/dist/utils/cache-import.js +0 -2
  310. package/dist/utils/networking-import.d.ts +0 -4
  311. package/dist/utils/networking-import.js +0 -3
  312. package/dist/utils/rxjs-import.d.ts +0 -5
  313. package/dist/utils/rxjs-import.js +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/core/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /** Shared primitive types used across the transport, client and module layers. */
2
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
3
+ /**
4
+ * How a request uses the signed-in session.
5
+ *
6
+ * - `none`: never sends `Authorization`. Required for core-services' anonymous firewalls (login, refresh,
7
+ * OTP, SSO, public catalogs): Lexik rejects any stale Bearer with 401, even on public routes.
8
+ * - `optional`: sends the access token when there is one.
9
+ * - `required`: fails with `unauthenticated` (code `no_session`) before any network call when signed out.
10
+ */
11
+ export type AuthMode = 'none' | 'optional' | 'required';
12
+ /** `json` parses the body (empty body → `undefined`); `text` and `blob` return it raw. */
13
+ export type ResponseType = 'json' | 'text' | 'blob';
14
+ export type MaybePromise<T> = T | Promise<T>;
15
+ export type QueryPrimitive = string | number | boolean | null | undefined;
16
+ /** Query values; arrays are sent PHP-style (`key[]=a&key[]=b`); `null`/`undefined` are dropped. */
17
+ export type QueryParams = Readonly<Record<string, QueryPrimitive | readonly QueryPrimitive[]>>;
18
+ /**
19
+ * Extra `fetch` options passed through untouched (`cache`, `credentials`, `keepalive`, Next.js `next`, ...).
20
+ * `method`, `headers`, `body` and `signal` are owned by the client.
21
+ */
22
+ export type FetchOptions = Omit<RequestInit, 'method' | 'headers' | 'body' | 'signal'> & Record<string, unknown>;
23
+ export type FetchFunction = (input: string, init?: RequestInit) => Promise<Response>;
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAExD,0FAA0F;AAC1F,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E,mGAAmG;AACnG,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,cAAc,EAAE,CAAC,CAAC,CAAC;AAE/F;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Shared primitive types used across the transport, client and module layers. */
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,kFAAkF"}
@@ -0,0 +1,15 @@
1
+ import type { QueryParams } from './types.js';
2
+ type ParamNames<P extends string> = P extends `${string}{${infer Name}}${infer Rest}` ? Name | ParamNames<Rest> : never;
3
+ /** `{ id: … }` for `'/v1/things/{id}'`; an empty object type when the path has no placeholders. */
4
+ export type PathParams<P extends string> = [ParamNames<P>] extends [never] ? Record<string, never> : {
5
+ readonly [K in ParamNames<P>]: string | number;
6
+ };
7
+ export type HasPathParams<P extends string> = [ParamNames<P>] extends [never] ? false : true;
8
+ /** Fills `{name}` placeholders with URL-encoded values. Throws on a missing or empty value. */
9
+ export declare function buildPath(template: string, params?: Readonly<Record<string, string | number>>): string;
10
+ /** Serializes query params the way Symfony reads them; returns `''` or `?a=1&b[]=x`. */
11
+ export declare function serializeQuery(query: QueryParams | undefined): string;
12
+ /** Joins a base URL (optionally with a path prefix) and an absolute path. */
13
+ export declare function joinUrl(base: string, path: string): string;
14
+ export {};
15
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/core/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAE9D,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAExH,mGAAmG;AACnG,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACtE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACrB;IAAE,QAAQ,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM;CAAE,CAAC;AAEvD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAI7F,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAM,GAAG,MAAM,CAQ1G;AAQD,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAiBrE;AAED,6EAA6E;AAC7E,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG1D"}
@@ -0,0 +1,46 @@
1
+ const PLACEHOLDER = /\{([^}]+)\}/g;
2
+ /** Fills `{name}` placeholders with URL-encoded values. Throws on a missing or empty value. */
3
+ export function buildPath(template, params = {}) {
4
+ return template.replace(PLACEHOLDER, (_match, name) => {
5
+ const value = params[name];
6
+ if (value === undefined || value === null || String(value) === '') {
7
+ throw new TypeError(`Missing path parameter "${name}" for ${template}`);
8
+ }
9
+ return encodeURIComponent(String(value));
10
+ });
11
+ }
12
+ function stringify(value) {
13
+ if (value === undefined || value === null)
14
+ return undefined;
15
+ if (typeof value === 'boolean')
16
+ return value ? 'true' : 'false';
17
+ return String(value);
18
+ }
19
+ /** Serializes query params the way Symfony reads them; returns `''` or `?a=1&b[]=x`. */
20
+ export function serializeQuery(query) {
21
+ if (!query)
22
+ return '';
23
+ const search = new URLSearchParams();
24
+ for (const [key, raw] of Object.entries(query)) {
25
+ if (Array.isArray(raw)) {
26
+ const name = key.endsWith('[]') ? key : `${key}[]`;
27
+ for (const item of raw) {
28
+ const value = stringify(item);
29
+ if (value !== undefined)
30
+ search.append(name, value);
31
+ }
32
+ continue;
33
+ }
34
+ const value = stringify(raw);
35
+ if (value !== undefined)
36
+ search.append(key, value);
37
+ }
38
+ const text = search.toString();
39
+ return text ? `?${text}` : '';
40
+ }
41
+ /** Joins a base URL (optionally with a path prefix) and an absolute path. */
42
+ export function joinUrl(base, path) {
43
+ const trimmed = base.replace(/\/+$/, '');
44
+ return `${trimmed}${path.startsWith('/') ? path : `/${path}`}`;
45
+ }
46
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/core/url.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAG,cAAc,CAAC;AAEnC,+FAA+F;AAC/F,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,SAAoD,EAAE;IAChG,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClE,MAAM,IAAI,SAAS,CAAC,2BAA2B,IAAI,SAAS,QAAQ,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB;IACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,KAA8B;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;YACnD,KAAK,MAAM,IAAI,IAAI,GAAgC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,KAAK,KAAK,SAAS;oBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAqB,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,IAAY;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AACjE,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Reads every error format core-services emits into one shape:
3
+ *
4
+ * - Stripe style `{"error": {"type", "code", "message", "param"}}` (Danara, rate limits, Mobile, Payment, ...)
5
+ * - Common `{"errors": {"<field or empty>": [{"message"}]}}` (validation, auth, http, access-denied subscribers)
6
+ * - `{"code", "message"}` (Campaign, EmailCampaign, SSO user messages, Lexik JWT failures)
7
+ * - `{"is_success": false, "error_code", "error_message"}` (DefaultExceptionSubscriber, 500)
8
+ * - `{"error": "text"}` (API-key rate limit, X-Internal-Key failures)
9
+ * - `{"violations": [{"propertyPath", "message"}]}` and `{"detail"}` / `{"title"}` (API Platform style)
10
+ * - a short `text/plain` body (CORS tenant mismatch 403); HTML error pages yield nothing
11
+ */
12
+ export interface ParsedErrorBody {
13
+ message?: string;
14
+ code?: string;
15
+ type?: string;
16
+ param?: string;
17
+ fields?: Record<string, string>;
18
+ }
19
+ export declare function parseErrorBody(body: unknown): ParsedErrorBody;
20
+ //# sourceMappingURL=parse-error-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-error-body.d.ts","sourceRoot":"","sources":["../../src/errors/parse-error-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAoBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAwD7D"}
@@ -0,0 +1,73 @@
1
+ const MAX_TEXT_MESSAGE = 500;
2
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
3
+ const text = (value) => typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined;
4
+ function messagesOf(value) {
5
+ const items = Array.isArray(value) ? value : [value];
6
+ const out = [];
7
+ for (const item of items) {
8
+ const message = isRecord(item) ? text(item.message) ?? text(item.title) : text(item);
9
+ if (message)
10
+ out.push(message);
11
+ }
12
+ return out;
13
+ }
14
+ export function parseErrorBody(body) {
15
+ if (typeof body === 'string') {
16
+ const trimmed = body.trim();
17
+ if (trimmed && trimmed.length <= MAX_TEXT_MESSAGE && !trimmed.startsWith('<'))
18
+ return { message: trimmed };
19
+ return {};
20
+ }
21
+ if (!isRecord(body))
22
+ return {};
23
+ const out = {};
24
+ const general = [];
25
+ const fields = {};
26
+ const error = body.error;
27
+ if (isRecord(error)) {
28
+ out.message = text(error.message);
29
+ out.code = text(error.code);
30
+ out.type = text(error.type);
31
+ out.param = text(error.param);
32
+ }
33
+ else if (text(error)) {
34
+ out.message = text(error);
35
+ }
36
+ const errors = body.errors;
37
+ if (isRecord(errors)) {
38
+ for (const [key, value] of Object.entries(errors)) {
39
+ const messages = messagesOf(value);
40
+ if (messages.length === 0)
41
+ continue;
42
+ if (key === '')
43
+ general.push(...messages);
44
+ else
45
+ fields[key] ?? (fields[key] = messages[0]);
46
+ }
47
+ }
48
+ const violations = Array.isArray(body.violations) ? body.violations : Array.isArray(errors) ? errors : undefined;
49
+ if (violations) {
50
+ for (const violation of violations) {
51
+ const message = isRecord(violation) ? text(violation.message) ?? text(violation.title) : text(violation);
52
+ if (!message)
53
+ continue;
54
+ const key = isRecord(violation)
55
+ ? text(violation.propertyPath) ?? text(violation.property_path) ?? text(violation.field)
56
+ : undefined;
57
+ if (key)
58
+ fields[key] ?? (fields[key] = message);
59
+ else
60
+ general.push(message);
61
+ }
62
+ }
63
+ out.message ?? (out.message = general[0] ?? text(body.message) ?? text(body.error_message) ?? text(body.detail) ?? text(body.title));
64
+ if (general.length > 1 && out.message === general[0])
65
+ out.message = general.join(' ');
66
+ out.code ?? (out.code = text(body.error_code) ?? text(body.code));
67
+ if (Object.keys(fields).length > 0) {
68
+ out.fields = fields;
69
+ out.message ?? (out.message = Object.values(fields).join(' '));
70
+ }
71
+ return Object.fromEntries(Object.entries(out).filter(([, value]) => value !== undefined));
72
+ }
73
+ //# sourceMappingURL=parse-error-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-error-body.js","sourceRoot":"","sources":["../../src/errors/parse-error-body.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * What went wrong, independent of which of core-services' error formats the server used.
3
+ *
4
+ * | kind | when |
5
+ * |--------------------|-------------------------------------------------------------|
6
+ * | `network` | no response (DNS, offline, CORS, connection reset) |
7
+ * | `timeout` | the client's timeout fired |
8
+ * | `aborted` | the caller's AbortSignal fired |
9
+ * | `unauthenticated` | 401, or `auth: 'required'` while signed out (`no_session`) |
10
+ * | `forbidden` | 403 |
11
+ * | `not_found` | 404, 410 |
12
+ * | `conflict` | 409 |
13
+ * | `validation` | 400, 422 and other 4xx; field messages are in `fields` |
14
+ * | `rate_limited` | 429; `retryAfter` holds the seconds to wait when sent |
15
+ * | `upgrade_required` | 426 (mobile app version gate) |
16
+ * | `unavailable` | 502, 503, 504; core names the missing dependency on 503 |
17
+ * | `server` | other 5xx |
18
+ * | `invalid_response` | a 2xx whose body is not what the endpoint promises |
19
+ * | `config` | the client is not set up for this call (no host, no tenant) |
20
+ */
21
+ export type SmessErrorKind = 'network' | 'timeout' | 'aborted' | 'unauthenticated' | 'forbidden' | 'not_found' | 'conflict' | 'validation' | 'rate_limited' | 'upgrade_required' | 'unavailable' | 'server' | 'invalid_response' | 'config';
22
+ export interface SmessRequestInfo {
23
+ readonly method: string;
24
+ readonly url: string;
25
+ readonly service?: string;
26
+ }
27
+ export interface SmessApiErrorInit {
28
+ kind: SmessErrorKind;
29
+ /** HTTP status; 0 when no response was received. */
30
+ status?: number;
31
+ message?: string;
32
+ /** Machine code: Stripe-style `error.code` (`missing_client_id`, `email_already_registered`, ...) or a client code. */
33
+ code?: string;
34
+ /** Stripe-style `error.type` (`invalid_request_error`, `rate_limit_error`, ...). */
35
+ type?: string;
36
+ /** Stripe-style `error.param`. */
37
+ param?: string;
38
+ /** The server's own text. Can be an i18n key (`error.validation.not_blank`); the app decides how to show it. */
39
+ serverMessage?: string;
40
+ /** First message per field, keys as the server sent them (snake_case property paths). */
41
+ fields?: Record<string, string>;
42
+ /** Seconds, from `Retry-After`. */
43
+ retryAfter?: number;
44
+ /** The parsed (or raw text) error body. */
45
+ body?: unknown;
46
+ request?: SmessRequestInfo;
47
+ cause?: unknown;
48
+ }
49
+ /** The one error type every call rejects with (programming errors in app middleware excepted). */
50
+ export declare class SmessApiError extends Error {
51
+ readonly name = "SmessApiError";
52
+ readonly kind: SmessErrorKind;
53
+ readonly status: number;
54
+ readonly code?: string;
55
+ readonly type?: string;
56
+ readonly param?: string;
57
+ readonly serverMessage?: string;
58
+ readonly fields?: Readonly<Record<string, string>>;
59
+ readonly retryAfter?: number;
60
+ readonly body?: unknown;
61
+ readonly request?: SmessRequestInfo;
62
+ constructor(init: SmessApiErrorInit);
63
+ /** `instanceof` that also works when two copies of the package are bundled. */
64
+ static is(value: unknown): value is SmessApiError;
65
+ }
66
+ export declare const isSmessApiError: (value: unknown) => value is SmessApiError;
67
+ export declare function errorKindForStatus(status: number): SmessErrorKind;
68
+ /** `Retry-After` as seconds (delta-seconds or an HTTP date); undefined when absent or unreadable. */
69
+ export declare function parseRetryAfter(value: string | null, now?: number): number | undefined;
70
+ //# sourceMappingURL=smess-api-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smess-api-error.d.ts","sourceRoot":"","sources":["../../src/errors/smess-api-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,SAAS,GACT,SAAS,GACT,iBAAiB,GACjB,WAAW,GACX,WAAW,GACX,UAAU,GACV,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,aAAa,GACb,QAAQ,GACR,kBAAkB,GAClB,QAAQ,CAAC;AAEb,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uHAAuH;IACvH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gHAAgH;IAChH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAqBD,kGAAkG;AAClG,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAkB,IAAI,mBAAmB;IACzC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;gBAExB,IAAI,EAAE,iBAAiB;IAkBnC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa;CAGlD;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,aAAwC,CAAC;AAEnG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAsBjE;AAED,qGAAqG;AACrG,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,SAAS,CAOlG"}
@@ -0,0 +1,84 @@
1
+ const BRAND = Symbol.for('@smess/networking:SmessApiError');
2
+ const DEFAULT_MESSAGES = {
3
+ network: 'The network request failed.',
4
+ timeout: 'The request timed out.',
5
+ aborted: 'The request was cancelled.',
6
+ unauthenticated: 'Sign-in is required.',
7
+ forbidden: 'Access denied.',
8
+ not_found: 'Not found.',
9
+ conflict: 'The request conflicts with the current state.',
10
+ validation: 'The request was rejected.',
11
+ rate_limited: 'Too many requests.',
12
+ upgrade_required: 'This app version is no longer supported.',
13
+ unavailable: 'The service is temporarily unavailable.',
14
+ server: 'The server failed to process the request.',
15
+ invalid_response: 'The server returned an unexpected response.',
16
+ config: 'The client is not configured for this request.',
17
+ };
18
+ /** The one error type every call rejects with (programming errors in app middleware excepted). */
19
+ export class SmessApiError extends Error {
20
+ constructor(init) {
21
+ super(init.message ?? init.serverMessage ?? DEFAULT_MESSAGES[init.kind], init.cause === undefined ? undefined : { cause: init.cause });
22
+ this.name = 'SmessApiError';
23
+ this.kind = init.kind;
24
+ this.status = init.status ?? 0;
25
+ if (init.code !== undefined)
26
+ this.code = init.code;
27
+ if (init.type !== undefined)
28
+ this.type = init.type;
29
+ if (init.param !== undefined)
30
+ this.param = init.param;
31
+ if (init.serverMessage !== undefined)
32
+ this.serverMessage = init.serverMessage;
33
+ if (init.fields !== undefined)
34
+ this.fields = Object.freeze({ ...init.fields });
35
+ if (init.retryAfter !== undefined)
36
+ this.retryAfter = init.retryAfter;
37
+ if (init.body !== undefined)
38
+ this.body = init.body;
39
+ if (init.request !== undefined)
40
+ this.request = init.request;
41
+ Object.defineProperty(this, BRAND, { value: true });
42
+ }
43
+ /** `instanceof` that also works when two copies of the package are bundled. */
44
+ static is(value) {
45
+ return typeof value === 'object' && value !== null && value[BRAND] === true;
46
+ }
47
+ }
48
+ export const isSmessApiError = (value) => SmessApiError.is(value);
49
+ export function errorKindForStatus(status) {
50
+ switch (status) {
51
+ case 401:
52
+ return 'unauthenticated';
53
+ case 403:
54
+ return 'forbidden';
55
+ case 404:
56
+ case 410:
57
+ return 'not_found';
58
+ case 409:
59
+ return 'conflict';
60
+ case 426:
61
+ return 'upgrade_required';
62
+ case 429:
63
+ return 'rate_limited';
64
+ case 502:
65
+ case 503:
66
+ case 504:
67
+ return 'unavailable';
68
+ default:
69
+ return status >= 500 ? 'server' : 'validation';
70
+ }
71
+ }
72
+ /** `Retry-After` as seconds (delta-seconds or an HTTP date); undefined when absent or unreadable. */
73
+ export function parseRetryAfter(value, now = Date.now()) {
74
+ if (!value)
75
+ return undefined;
76
+ const trimmed = value.trim();
77
+ if (/^\d+$/.test(trimmed))
78
+ return Number(trimmed);
79
+ const date = Date.parse(trimmed);
80
+ if (Number.isNaN(date))
81
+ return undefined;
82
+ return Math.max(0, Math.ceil((date - now) / 1000));
83
+ }
84
+ //# sourceMappingURL=smess-api-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smess-api-error.js","sourceRoot":"","sources":["../../src/errors/smess-api-error.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,25 +1,27 @@
1
- export * from "./services/user.service";
2
- export * from "./services/product.service";
3
- export * from "./services/auth.service";
4
- export * from "./services/store.service";
5
- export * from "./services/store.cart.service";
6
- export * from "./services/store.product.service";
7
- export * from "./services/customer.service";
8
- export * from "./services/employee.service";
9
- export * from "./services/order.service";
10
- export * from "./services/cache.service";
11
- export * from "./services/smess.service";
12
- export * from "./services/utils/withAuthReset";
13
- export * from "./services/storefront.product.service";
14
- export * from "./services/storefront.store.service";
15
- export * from "./services/storefront.cart.service";
16
- export * from "./services/storefront.checkout.service";
17
- export * from "./services/storefront.order.service";
18
- export * from "./services/storefront.customer.metadata.service";
19
- export * from "./core/base.provider";
20
- export * from "./core/base.service.wrapper";
21
- export * from "./core/axios.observable";
22
- export * from "./types/types";
23
- export { $logger } from "./services/logger.service";
24
- export declare const baseURL: () => string;
25
- export declare const apiVersion: () => string;
1
+ export { createSmessClient, DEFAULT_TIMEOUT_MS, DEFAULT_REFRESH_SKEW_MS } from './core/client.js';
2
+ export type { SmessClient, SmessClientConfig, RawRequest, SessionHandle } from './core/client.js';
3
+ export { defineEndpoint } from './core/endpoint.js';
4
+ export type { Endpoint, AnyEndpoint, CallOptions, CallInput, CallArgs, EndpointResult, None } from './core/endpoint.js';
5
+ export { PRODUCTION_HOSTS } from './core/hosts.js';
6
+ export type { HostMap, ServiceKey } from './core/hosts.js';
7
+ export type { Middleware, RequestContext, EndpointInfo } from './core/pipeline.js';
8
+ export { createFetchTransport } from './core/transport.js';
9
+ export type { Transport, TransportRequest, HttpResponse } from './core/transport.js';
10
+ export type { RetryOptions } from './core/retry.js';
11
+ export type { AuthMode, HttpMethod, ResponseType, QueryParams, QueryPrimitive, FetchOptions, FetchFunction, MaybePromise, } from './core/types.js';
12
+ export { buildPath, serializeQuery, joinUrl } from './core/url.js';
13
+ export type { PathParams } from './core/url.js';
14
+ export { paginate } from './core/pagination.js';
15
+ export type { ApiList, PagedList } from './core/pagination.js';
16
+ export { unwrapData, ignoreBody, emptyObjectAsNull } from './core/decoders.js';
17
+ export { SmessApiError, isSmessApiError, errorKindForStatus, parseRetryAfter } from './errors/smess-api-error.js';
18
+ export type { SmessErrorKind, SmessApiErrorInit, SmessRequestInfo } from './errors/smess-api-error.js';
19
+ export { parseErrorBody } from './errors/parse-error-body.js';
20
+ export type { ParsedErrorBody } from './errors/parse-error-body.js';
21
+ export { memorySession, staticSession, webStorageSession } from './session/stores.js';
22
+ export type { WebStorageSessionOptions } from './session/stores.js';
23
+ export { decodeJwt, tokenExpiresAt } from './session/jwt.js';
24
+ export type { SmessJwtClaims } from './session/jwt.js';
25
+ export type { RefreshStrategy } from './session/auth-middleware.js';
26
+ export type { Session, SessionStore, SessionExpiredEvent, SessionExpiredReason } from './session/types.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAClG,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACxH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAClH,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtF,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,29 +1,15 @@
1
- export * from "./services/user.service";
2
- export * from "./services/product.service";
3
- export * from "./services/auth.service";
4
- export * from "./services/store.service";
5
- export * from "./services/store.cart.service";
6
- export * from "./services/store.product.service";
7
- export * from "./services/customer.service";
8
- export * from "./services/employee.service";
9
- export * from "./services/order.service";
10
- export * from "./services/cache.service";
11
- export * from "./services/smess.service";
12
- export * from "./services/utils/withAuthReset";
13
- export * from "./services/storefront.product.service";
14
- export * from "./services/storefront.store.service";
15
- export * from "./services/storefront.cart.service";
16
- export * from "./services/storefront.checkout.service";
17
- export * from "./services/storefront.order.service";
18
- export * from "./services/storefront.customer.metadata.service";
19
- export * from "./core/base.provider";
20
- export * from "./core/base.service.wrapper";
21
- export * from "./core/axios.observable";
22
- export * from "./types/types";
23
- export { $logger } from "./services/logger.service";
24
- export const baseURL = () => {
25
- return "";
26
- };
27
- export const apiVersion = () => {
28
- return "api/v1";
29
- };
1
+ // Core: client, endpoints, transport, middleware.
2
+ export { createSmessClient, DEFAULT_TIMEOUT_MS, DEFAULT_REFRESH_SKEW_MS } from './core/client.js';
3
+ export { defineEndpoint } from './core/endpoint.js';
4
+ export { PRODUCTION_HOSTS } from './core/hosts.js';
5
+ export { createFetchTransport } from './core/transport.js';
6
+ export { buildPath, serializeQuery, joinUrl } from './core/url.js';
7
+ export { paginate } from './core/pagination.js';
8
+ export { unwrapData, ignoreBody, emptyObjectAsNull } from './core/decoders.js';
9
+ // Errors.
10
+ export { SmessApiError, isSmessApiError, errorKindForStatus, parseRetryAfter } from './errors/smess-api-error.js';
11
+ export { parseErrorBody } from './errors/parse-error-body.js';
12
+ // Session.
13
+ export { memorySession, staticSession, webStorageSession } from './session/stores.js';
14
+ export { decodeJwt, tokenExpiresAt } from './session/jwt.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAa3D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAElH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEtF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Authentication module (`src/Microservice/Authentication`, host `app.authentication_host` → auth.smess.vn).
3
+ *
4
+ * Token lifecycle on the wire:
5
+ * - `login_check` and `token/refresh` return `{token, refresh_token}`. Refresh tokens do not rotate and
6
+ * their TTL slides on each use; the access JWT lives 3600 s.
7
+ * - OTP verify and password reset return `{data: {token, refreshToken}}` (camelCase), and `{data: null}`
8
+ * with HTTP 200 when the code or reset token is wrong.
9
+ * - Every anonymous call here uses `auth: 'none'`: a stale Bearer would 401 them (Lexik `supports()`).
10
+ */
11
+ import type { SmessClient } from '../../core/client.js';
12
+ import type { RefreshStrategy } from '../../session/auth-middleware.js';
13
+ import type { Session } from '../../session/types.js';
14
+ /** `login_check` / `token/refresh` success body (Lexik + gesdinet). */
15
+ export interface TokenPair {
16
+ token: string;
17
+ refresh_token: string;
18
+ }
19
+ /** `AuthenticationSucceedDTO`, plain `json_encode` (camelCase). */
20
+ export interface AuthenticationSucceeded {
21
+ token: string;
22
+ refreshToken: string;
23
+ }
24
+ export interface LoginInput {
25
+ /** Email or phone; `email`, `phone_number` and `phone` are also accepted by the server. */
26
+ identifier: string;
27
+ password: string;
28
+ }
29
+ export interface IdentifierInput {
30
+ identifier: string;
31
+ }
32
+ export interface OtpVerifyInput {
33
+ identifier: string;
34
+ /** Exactly 6 characters. */
35
+ code: string;
36
+ }
37
+ export interface ResetPasswordInput {
38
+ token: string;
39
+ new_password: string;
40
+ }
41
+ export interface ChangePasswordInput {
42
+ old_password: string;
43
+ password: string;
44
+ /** Also revokes every refresh token of the user. */
45
+ disconnect_from_all_devices?: boolean;
46
+ }
47
+ export declare const authenticationEndpoints: {
48
+ readonly login: import("../../core/endpoint.js").Endpoint<"/v1/authentication/login_check", LoginInput, never, TokenPair>;
49
+ readonly refresh: import("../../core/endpoint.js").Endpoint<"/v1/authentication/token/refresh", {
50
+ refresh_token: string;
51
+ }, never, TokenPair>;
52
+ readonly otpRequest: import("../../core/endpoint.js").Endpoint<"/v1/authentication/otp/request", IdentifierInput, never, undefined>;
53
+ readonly otpVerify: import("../../core/endpoint.js").Endpoint<"/v1/authentication/otp/verify", OtpVerifyInput, never, {
54
+ data: AuthenticationSucceeded | null;
55
+ }>;
56
+ readonly forgotPassword: import("../../core/endpoint.js").Endpoint<"/v1/authentication/forgot-password", IdentifierInput, never, undefined>;
57
+ readonly resetPassword: import("../../core/endpoint.js").Endpoint<"/v1/authentication/verify-reset-password-token", ResetPasswordInput, never, {
58
+ data: AuthenticationSucceeded | null;
59
+ }>;
60
+ readonly changePassword: import("../../core/endpoint.js").Endpoint<"/v1/authentication/change-password", ChangePasswordInput, never, undefined>;
61
+ readonly logout: import("../../core/endpoint.js").Endpoint<"/v1/authentication/logout", never, never, undefined>;
62
+ };
63
+ /** Renews sessions through `POST /v1/authentication/token/refresh`. Pass as `refresh` to `createSmessClient`. */
64
+ export declare function authenticationRefresh(): RefreshStrategy;
65
+ /** Sign-in flows. Successful logins are saved to the client's session store (when it has a writable one). */
66
+ export declare function authentication(client: SmessClient): {
67
+ /** Password login. */
68
+ login: (input: LoginInput) => Promise<Session>;
69
+ /** Renews the session now (normally automatic). Uses the stored refresh token unless one is given. */
70
+ refresh: (refreshToken?: string) => Promise<Session>;
71
+ otp: {
72
+ /** Emails or texts a 6-digit code. Always succeeds (it never reveals whether the account exists). */
73
+ request: (input: IdentifierInput) => Promise<undefined>;
74
+ /** Exchanges the code for a session. A wrong or expired code fails with `validation` / `invalid_code`. */
75
+ verify: (input: OtpVerifyInput) => Promise<Session>;
76
+ };
77
+ /** Sends a reset link. Always succeeds. */
78
+ forgotPassword: (input: IdentifierInput) => Promise<undefined>;
79
+ /** Sets a new password from a reset-link token and signs in. A bad token fails with `invalid_reset_token`. */
80
+ resetPassword: (input: ResetPasswordInput) => Promise<Session>;
81
+ changePassword: (input: ChangePasswordInput) => Promise<undefined>;
82
+ /**
83
+ * Server logout, then clears the local session. The server revokes every refresh token of the user
84
+ * (all devices). To sign out of this device only, call `client.session.clear()`.
85
+ */
86
+ logout: () => Promise<void>;
87
+ };
88
+ export type AuthenticationModule = ReturnType<typeof authentication>;
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/authentication/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAItD,uEAAuE;AACvE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,2FAA2F;IAC3F,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAMD,eAAO,MAAM,uBAAuB;;;uBAOkB,MAAM;;;;cAaxB,uBAAuB,GAAG,IAAI;;;;cAa1B,uBAAuB,GAAG,IAAI;;;;CAoB5D,CAAC;AAoBX,iHAAiH;AACjH,wBAAgB,qBAAqB,IAAI,eAAe,CAQvD;AAID,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW;IAQ9C,sBAAsB;mBACD,UAAU;IAE/B,sGAAsG;6BACvE,MAAM;;QAOnC,qGAAqG;yBACpF,eAAe;QAChC,0GAA0G;wBACpF,cAAc;;IAItC,2CAA2C;4BACnB,eAAe;IAEvC,8GAA8G;2BACjF,kBAAkB;4BAGvB,mBAAmB;IAE3C;;;OAGG;;EASN;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}