@aifabrix/miso-client 4.10.0 → 4.13.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 (282) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +164 -139
  3. package/dist/api/applications.api.d.ts +3 -3
  4. package/dist/api/applications.api.d.ts.map +1 -1
  5. package/dist/api/applications.api.js +21 -16
  6. package/dist/api/applications.api.js.map +1 -1
  7. package/dist/api/auth-cache.api.d.ts +3 -3
  8. package/dist/api/auth-cache.api.d.ts.map +1 -1
  9. package/dist/api/auth-cache.api.js +30 -30
  10. package/dist/api/auth-cache.api.js.map +1 -1
  11. package/dist/api/auth-login.api.d.ts +3 -3
  12. package/dist/api/auth-login.api.d.ts.map +1 -1
  13. package/dist/api/auth-login.api.js +25 -23
  14. package/dist/api/auth-login.api.js.map +1 -1
  15. package/dist/api/auth-token.api.d.ts +3 -3
  16. package/dist/api/auth-token.api.d.ts.map +1 -1
  17. package/dist/api/auth-token.api.js +53 -41
  18. package/dist/api/auth-token.api.js.map +1 -1
  19. package/dist/api/auth-user.api.d.ts +3 -3
  20. package/dist/api/auth-user.api.d.ts.map +1 -1
  21. package/dist/api/auth-user.api.js +18 -18
  22. package/dist/api/auth-user.api.js.map +1 -1
  23. package/dist/api/auth.api.d.ts +3 -3
  24. package/dist/api/auth.api.d.ts.map +1 -1
  25. package/dist/api/auth.api.js.map +1 -1
  26. package/dist/api/encryption.api.d.ts +2 -2
  27. package/dist/api/encryption.api.js +8 -8
  28. package/dist/api/index.d.ts +7 -7
  29. package/dist/api/logs-create.api.d.ts +3 -3
  30. package/dist/api/logs-create.api.d.ts.map +1 -1
  31. package/dist/api/logs-create.api.js +41 -19
  32. package/dist/api/logs-create.api.js.map +1 -1
  33. package/dist/api/logs-export.api.d.ts +3 -3
  34. package/dist/api/logs-export.api.d.ts.map +1 -1
  35. package/dist/api/logs-export.api.js +8 -6
  36. package/dist/api/logs-export.api.js.map +1 -1
  37. package/dist/api/logs-list.api.d.ts +3 -3
  38. package/dist/api/logs-list.api.d.ts.map +1 -1
  39. package/dist/api/logs-list.api.js +39 -33
  40. package/dist/api/logs-list.api.js.map +1 -1
  41. package/dist/api/logs-stats.api.d.ts +3 -3
  42. package/dist/api/logs-stats.api.d.ts.map +1 -1
  43. package/dist/api/logs-stats.api.js +24 -24
  44. package/dist/api/logs-stats.api.js.map +1 -1
  45. package/dist/api/logs.api.d.ts +3 -3
  46. package/dist/api/permissions.api.d.ts +3 -3
  47. package/dist/api/permissions.api.d.ts.map +1 -1
  48. package/dist/api/permissions.api.js +12 -12
  49. package/dist/api/permissions.api.js.map +1 -1
  50. package/dist/api/roles.api.d.ts +3 -3
  51. package/dist/api/roles.api.d.ts.map +1 -1
  52. package/dist/api/roles.api.js +12 -12
  53. package/dist/api/roles.api.js.map +1 -1
  54. package/dist/api/types/auth.types.d.ts +1 -1
  55. package/dist/api/types/encryption.types.d.ts +1 -1
  56. package/dist/api/types/logs.types.d.ts +8 -8
  57. package/dist/express/client-token-endpoint.d.ts +25 -6
  58. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  59. package/dist/express/client-token-endpoint.js +42 -13
  60. package/dist/express/client-token-endpoint.js.map +1 -1
  61. package/dist/express/error-handler.d.ts.map +1 -1
  62. package/dist/express/error-handler.js +30 -8
  63. package/dist/express/error-handler.js.map +1 -1
  64. package/dist/express/error-types.d.ts.map +1 -1
  65. package/dist/express/error-types.js +26 -9
  66. package/dist/express/error-types.js.map +1 -1
  67. package/dist/express/index.d.ts +4 -4
  68. package/dist/express/index.d.ts.map +1 -1
  69. package/dist/express/index.js.map +1 -1
  70. package/dist/express/logger-context.middleware.d.ts.map +1 -1
  71. package/dist/express/logger-context.middleware.js +12 -5
  72. package/dist/express/logger-context.middleware.js.map +1 -1
  73. package/dist/express/response-helper.d.ts.map +1 -1
  74. package/dist/express/response-helper.js.map +1 -1
  75. package/dist/express/validation-helper.d.ts.map +1 -1
  76. package/dist/express/validation-helper.js +6 -2
  77. package/dist/express/validation-helper.js.map +1 -1
  78. package/dist/miso-client.d.ts.map +1 -1
  79. package/dist/miso-client.js +11 -4
  80. package/dist/miso-client.js.map +1 -1
  81. package/dist/sdk-exports.d.ts +7 -5
  82. package/dist/sdk-exports.d.ts.map +1 -1
  83. package/dist/sdk-exports.js +24 -1
  84. package/dist/sdk-exports.js.map +1 -1
  85. package/dist/services/application-context.service.d.ts.map +1 -1
  86. package/dist/services/application-context.service.js +3 -1
  87. package/dist/services/application-context.service.js.map +1 -1
  88. package/dist/services/auth-cache-helpers.d.ts.map +1 -1
  89. package/dist/services/auth-cache-helpers.js +9 -6
  90. package/dist/services/auth-cache-helpers.js.map +1 -1
  91. package/dist/services/auth-environment-token.d.ts.map +1 -1
  92. package/dist/services/auth-environment-token.js.map +1 -1
  93. package/dist/services/auth-error-handler.d.ts.map +1 -1
  94. package/dist/services/auth-error-handler.js.map +1 -1
  95. package/dist/services/auth.service.d.ts +0 -10
  96. package/dist/services/auth.service.d.ts.map +1 -1
  97. package/dist/services/auth.service.helpers.d.ts +22 -0
  98. package/dist/services/auth.service.helpers.d.ts.map +1 -0
  99. package/dist/services/auth.service.helpers.js +45 -0
  100. package/dist/services/auth.service.helpers.js.map +1 -0
  101. package/dist/services/auth.service.js +21 -57
  102. package/dist/services/auth.service.js.map +1 -1
  103. package/dist/services/browser-permission.service.d.ts.map +1 -1
  104. package/dist/services/browser-permission.service.js +10 -4
  105. package/dist/services/browser-permission.service.js.map +1 -1
  106. package/dist/services/browser-role.service.d.ts.map +1 -1
  107. package/dist/services/browser-role.service.js +6 -2
  108. package/dist/services/browser-role.service.js.map +1 -1
  109. package/dist/services/cache.service.d.ts.map +1 -1
  110. package/dist/services/cache.service.js +2 -1
  111. package/dist/services/cache.service.js.map +1 -1
  112. package/dist/services/encryption.service.d.ts +3 -3
  113. package/dist/services/encryption.service.d.ts.map +1 -1
  114. package/dist/services/encryption.service.js +12 -6
  115. package/dist/services/encryption.service.js.map +1 -1
  116. package/dist/services/logger/index.d.ts +1 -1
  117. package/dist/services/logger/index.d.ts.map +1 -1
  118. package/dist/services/logger/index.js.map +1 -1
  119. package/dist/services/logger/log-entry-builder.d.ts.map +1 -1
  120. package/dist/services/logger/log-entry-builder.js.map +1 -1
  121. package/dist/services/logger/logger-chain.d.ts.map +1 -1
  122. package/dist/services/logger/logger-chain.js.map +1 -1
  123. package/dist/services/logger/logger-context.d.ts.map +1 -1
  124. package/dist/services/logger/logger-context.js +5 -3
  125. package/dist/services/logger/logger-context.js.map +1 -1
  126. package/dist/services/logger/logger-http-utils.d.ts.map +1 -1
  127. package/dist/services/logger/logger-http-utils.js.map +1 -1
  128. package/dist/services/logger/logger.service.d.ts.map +1 -1
  129. package/dist/services/logger/logger.service.js +2 -1
  130. package/dist/services/logger/logger.service.js.map +1 -1
  131. package/dist/services/logger/trace-field-utils.d.ts.map +1 -1
  132. package/dist/services/logger/trace-field-utils.js.map +1 -1
  133. package/dist/services/logger/unified-logger.service.d.ts.map +1 -1
  134. package/dist/services/logger/unified-logger.service.js.map +1 -1
  135. package/dist/services/permission.service.d.ts.map +1 -1
  136. package/dist/services/permission.service.js +6 -2
  137. package/dist/services/permission.service.js.map +1 -1
  138. package/dist/services/role.service.d.ts.map +1 -1
  139. package/dist/services/role.service.js +6 -2
  140. package/dist/services/role.service.js.map +1 -1
  141. package/dist/services/token-validation.service.d.ts.map +1 -1
  142. package/dist/services/token-validation.service.js +4 -2
  143. package/dist/services/token-validation.service.js.map +1 -1
  144. package/dist/types/config.types.d.ts +11 -0
  145. package/dist/types/config.types.d.ts.map +1 -1
  146. package/dist/types/config.types.js.map +1 -1
  147. package/dist/types/data-client.types.d.ts +34 -6
  148. package/dist/types/data-client.types.d.ts.map +1 -1
  149. package/dist/types/data-client.types.js.map +1 -1
  150. package/dist/types/errors.types.d.ts.map +1 -1
  151. package/dist/types/filter-schema.types.d.ts.map +1 -1
  152. package/dist/types/filter-schema.types.js.map +1 -1
  153. package/dist/utils/audit-log-queue.d.ts.map +1 -1
  154. package/dist/utils/audit-log-queue.js +3 -1
  155. package/dist/utils/audit-log-queue.js.map +1 -1
  156. package/dist/utils/browser-jwt-decoder.d.ts.map +1 -1
  157. package/dist/utils/browser-jwt-decoder.js +1 -4
  158. package/dist/utils/browser-jwt-decoder.js.map +1 -1
  159. package/dist/utils/client-token-manager.d.ts.map +1 -1
  160. package/dist/utils/client-token-manager.js +11 -4
  161. package/dist/utils/client-token-manager.js.map +1 -1
  162. package/dist/utils/config-loader.d.ts.map +1 -1
  163. package/dist/utils/config-loader.js +16 -9
  164. package/dist/utils/config-loader.js.map +1 -1
  165. package/dist/utils/controller-url-resolver.d.ts.map +1 -1
  166. package/dist/utils/controller-url-resolver.js +6 -4
  167. package/dist/utils/controller-url-resolver.js.map +1 -1
  168. package/dist/utils/data-client-audit.d.ts +1 -1
  169. package/dist/utils/data-client-audit.d.ts.map +1 -1
  170. package/dist/utils/data-client-audit.js +26 -6
  171. package/dist/utils/data-client-audit.js.map +1 -1
  172. package/dist/utils/data-client-auth.d.ts +8 -1
  173. package/dist/utils/data-client-auth.d.ts.map +1 -1
  174. package/dist/utils/data-client-auth.js +68 -5
  175. package/dist/utils/data-client-auth.js.map +1 -1
  176. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  177. package/dist/utils/data-client-auto-init.js +14 -6
  178. package/dist/utils/data-client-auto-init.js.map +1 -1
  179. package/dist/utils/data-client-cache.js +2 -2
  180. package/dist/utils/data-client-cache.js.map +1 -1
  181. package/dist/utils/data-client-core.d.ts +82 -0
  182. package/dist/utils/data-client-core.d.ts.map +1 -0
  183. package/dist/utils/data-client-core.js +304 -0
  184. package/dist/utils/data-client-core.js.map +1 -0
  185. package/dist/utils/data-client-init.d.ts +1 -1
  186. package/dist/utils/data-client-init.d.ts.map +1 -1
  187. package/dist/utils/data-client-init.js +7 -2
  188. package/dist/utils/data-client-init.js.map +1 -1
  189. package/dist/utils/data-client-oauth.d.ts.map +1 -1
  190. package/dist/utils/data-client-oauth.js +5 -2
  191. package/dist/utils/data-client-oauth.js.map +1 -1
  192. package/dist/utils/data-client-permissions.d.ts +1 -1
  193. package/dist/utils/data-client-permissions.d.ts.map +1 -1
  194. package/dist/utils/data-client-redirect.d.ts +1 -1
  195. package/dist/utils/data-client-redirect.d.ts.map +1 -1
  196. package/dist/utils/data-client-redirect.js +11 -10
  197. package/dist/utils/data-client-redirect.js.map +1 -1
  198. package/dist/utils/data-client-request.d.ts +4 -33
  199. package/dist/utils/data-client-request.d.ts.map +1 -1
  200. package/dist/utils/data-client-request.js +80 -43
  201. package/dist/utils/data-client-request.js.map +1 -1
  202. package/dist/utils/data-client-request.types.d.ts +68 -0
  203. package/dist/utils/data-client-request.types.d.ts.map +1 -0
  204. package/dist/utils/data-client-request.types.js +3 -0
  205. package/dist/utils/data-client-request.types.js.map +1 -0
  206. package/dist/utils/data-client-response.d.ts +1 -1
  207. package/dist/utils/data-client-response.d.ts.map +1 -1
  208. package/dist/utils/data-client-response.js +23 -9
  209. package/dist/utils/data-client-response.js.map +1 -1
  210. package/dist/utils/data-client-roles.d.ts +1 -1
  211. package/dist/utils/data-client-roles.d.ts.map +1 -1
  212. package/dist/utils/data-client-utils.d.ts.map +1 -1
  213. package/dist/utils/data-client-utils.js +2 -1
  214. package/dist/utils/data-client-utils.js.map +1 -1
  215. package/dist/utils/data-client.d.ts +3 -40
  216. package/dist/utils/data-client.d.ts.map +1 -1
  217. package/dist/utils/data-client.js +21 -242
  218. package/dist/utils/data-client.js.map +1 -1
  219. package/dist/utils/data-masker.d.ts.map +1 -1
  220. package/dist/utils/data-masker.js.map +1 -1
  221. package/dist/utils/encryption-error.d.ts +2 -2
  222. package/dist/utils/encryption-error.js +1 -1
  223. package/dist/utils/environment-token.d.ts +1 -1
  224. package/dist/utils/environment-token.d.ts.map +1 -1
  225. package/dist/utils/environment-token.js +6 -2
  226. package/dist/utils/environment-token.js.map +1 -1
  227. package/dist/utils/error-extractor.d.ts.map +1 -1
  228. package/dist/utils/error-extractor.js +4 -2
  229. package/dist/utils/error-extractor.js.map +1 -1
  230. package/dist/utils/errors.d.ts.map +1 -1
  231. package/dist/utils/errors.js +29 -7
  232. package/dist/utils/errors.js.map +1 -1
  233. package/dist/utils/filter-colon.utils.d.ts.map +1 -1
  234. package/dist/utils/filter-colon.utils.js.map +1 -1
  235. package/dist/utils/filter-schema-loader.d.ts.map +1 -1
  236. package/dist/utils/filter-schema-loader.js +3 -1
  237. package/dist/utils/filter-schema-loader.js.map +1 -1
  238. package/dist/utils/filter-schema.utils.d.ts.map +1 -1
  239. package/dist/utils/filter-schema.utils.js.map +1 -1
  240. package/dist/utils/filter.utils.d.ts.map +1 -1
  241. package/dist/utils/filter.utils.js +11 -4
  242. package/dist/utils/filter.utils.js.map +1 -1
  243. package/dist/utils/http-client-audit.d.ts.map +1 -1
  244. package/dist/utils/http-client-audit.js +51 -14
  245. package/dist/utils/http-client-audit.js.map +1 -1
  246. package/dist/utils/http-client-masking.d.ts.map +1 -1
  247. package/dist/utils/http-client-masking.js +6 -2
  248. package/dist/utils/http-client-masking.js.map +1 -1
  249. package/dist/utils/http-client-metadata.d.ts.map +1 -1
  250. package/dist/utils/http-client-metadata.js.map +1 -1
  251. package/dist/utils/http-client.d.ts +4 -0
  252. package/dist/utils/http-client.d.ts.map +1 -1
  253. package/dist/utils/http-client.js +135 -2
  254. package/dist/utils/http-client.js.map +1 -1
  255. package/dist/utils/http-error-handler.d.ts.map +1 -1
  256. package/dist/utils/http-error-handler.js +6 -3
  257. package/dist/utils/http-error-handler.js.map +1 -1
  258. package/dist/utils/http-response-validator.d.ts.map +1 -1
  259. package/dist/utils/http-response-validator.js +30 -7
  260. package/dist/utils/http-response-validator.js.map +1 -1
  261. package/dist/utils/internal-http-client.d.ts.map +1 -1
  262. package/dist/utils/internal-http-client.js +21 -7
  263. package/dist/utils/internal-http-client.js.map +1 -1
  264. package/dist/utils/logging-helpers.d.ts.map +1 -1
  265. package/dist/utils/logging-helpers.js +2 -1
  266. package/dist/utils/logging-helpers.js.map +1 -1
  267. package/dist/utils/sensitive-fields.config.json +1 -7
  268. package/dist/utils/sensitive-fields.loader.d.ts.map +1 -1
  269. package/dist/utils/sensitive-fields.loader.js +3 -1
  270. package/dist/utils/sensitive-fields.loader.js.map +1 -1
  271. package/dist/utils/token-utils.d.ts.map +1 -1
  272. package/dist/utils/token-utils.js +3 -3
  273. package/dist/utils/token-utils.js.map +1 -1
  274. package/dist/utils/url-join.d.ts +99 -0
  275. package/dist/utils/url-join.d.ts.map +1 -0
  276. package/dist/utils/url-join.js +200 -0
  277. package/dist/utils/url-join.js.map +1 -0
  278. package/dist/utils/user-token-refresh.d.ts +40 -0
  279. package/dist/utils/user-token-refresh.d.ts.map +1 -0
  280. package/dist/utils/user-token-refresh.js +258 -0
  281. package/dist/utils/user-token-refresh.js.map +1 -0
  282. package/package.json +18 -1
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserTokenRefreshManager = exports.ACCESS_TOKEN_EXPIRES_AT_KEYS = exports.REFRESH_TOKEN_KEYS = exports.ACCESS_TOKEN_KEYS = void 0;
7
+ exports.normalizeExpiresAt = normalizeExpiresAt;
8
+ exports.getJwtExpiresAt = getJwtExpiresAt;
9
+ exports.getEffectiveUserTokenRefreshBuffer = getEffectiveUserTokenRefreshBuffer;
10
+ exports.getUserTokenRefreshDueAt = getUserTokenRefreshDueAt;
11
+ exports.isUserTokenRefreshDue = isUserTokenRefreshDue;
12
+ exports.isUserTokenExpired = isUserTokenExpired;
13
+ exports.storeAccessToken = storeAccessToken;
14
+ exports.storeRefreshToken = storeRefreshToken;
15
+ exports.clearStoredAccessToken = clearStoredAccessToken;
16
+ exports.clearStoredRefreshToken = clearStoredRefreshToken;
17
+ exports.clearStoredSessionTokens = clearStoredSessionTokens;
18
+ exports.getStoredRefreshToken = getStoredRefreshToken;
19
+ exports.getUserTokenExpiresAt = getUserTokenExpiresAt;
20
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
21
+ exports.ACCESS_TOKEN_KEYS = [
22
+ "miso_token",
23
+ "token",
24
+ "accessToken",
25
+ "authToken",
26
+ ];
27
+ exports.REFRESH_TOKEN_KEYS = [
28
+ "miso:user-refresh-token",
29
+ "refreshToken",
30
+ ];
31
+ exports.ACCESS_TOKEN_EXPIRES_AT_KEYS = [
32
+ "miso_token_expires_at",
33
+ "tokenExpiresAt",
34
+ "accessTokenExpiresAt",
35
+ "expiresAt",
36
+ ];
37
+ function asNumber(raw) {
38
+ if (typeof raw === "number" && Number.isFinite(raw))
39
+ return raw;
40
+ if (typeof raw === "string" && raw.trim() !== "") {
41
+ const parsed = Number(raw);
42
+ return Number.isFinite(parsed) ? parsed : null;
43
+ }
44
+ return null;
45
+ }
46
+ function readValue(storage, key) {
47
+ return storage[key];
48
+ }
49
+ function writeValue(storage, key, value) {
50
+ storage[key] = value;
51
+ }
52
+ function removeValue(storage, key) {
53
+ delete storage[key];
54
+ }
55
+ function firstString(storage, keys) {
56
+ for (const key of keys) {
57
+ const raw = readValue(storage, key);
58
+ if (typeof raw === "string" && raw.trim() !== "")
59
+ return raw;
60
+ }
61
+ return null;
62
+ }
63
+ function setAll(storage, keys, value) {
64
+ for (const key of keys) {
65
+ writeValue(storage, key, value);
66
+ }
67
+ }
68
+ function clearAll(storage, keys) {
69
+ for (const key of keys) {
70
+ removeValue(storage, key);
71
+ }
72
+ }
73
+ function decodeTokenClaims(token) {
74
+ try {
75
+ return jsonwebtoken_1.default.decode(token);
76
+ }
77
+ catch {
78
+ return null;
79
+ }
80
+ }
81
+ function normalizeExpiresAt(value) {
82
+ if (value === null || value === undefined)
83
+ return null;
84
+ if (value instanceof Date) {
85
+ return Number.isFinite(value.getTime()) ? value : null;
86
+ }
87
+ const numeric = asNumber(value);
88
+ if (numeric !== null) {
89
+ const epochMs = numeric > 1e12 ? numeric : numeric * 1000;
90
+ const date = new Date(epochMs);
91
+ return Number.isFinite(date.getTime()) ? date : null;
92
+ }
93
+ if (typeof value === "string") {
94
+ const normalized = value.endsWith("Z")
95
+ ? value.replace(/Z$/, "+00:00")
96
+ : value;
97
+ const date = new Date(normalized);
98
+ return Number.isFinite(date.getTime()) ? date : null;
99
+ }
100
+ return null;
101
+ }
102
+ function getJwtExpiresAt(token) {
103
+ if (!token)
104
+ return null;
105
+ const claims = decodeTokenClaims(token);
106
+ if (!claims)
107
+ return null;
108
+ return (normalizeExpiresAt(claims.exp) ||
109
+ normalizeExpiresAt(claims.expiresAt) ||
110
+ normalizeExpiresAt(claims.expires_at));
111
+ }
112
+ function getEffectiveUserTokenRefreshBuffer(expiresAt, defaultBufferSeconds = 300, issuedAt, now = new Date()) {
113
+ const normalizedDefault = Math.max(0, Math.floor(defaultBufferSeconds));
114
+ const expiresAtDate = normalizeExpiresAt(expiresAt);
115
+ if (!expiresAtDate)
116
+ return normalizedDefault;
117
+ const issuedAtDate = normalizeExpiresAt(issuedAt) || now;
118
+ const lifetimeSeconds = Math.floor((expiresAtDate.getTime() - issuedAtDate.getTime()) / 1000);
119
+ if (lifetimeSeconds <= 0)
120
+ return normalizedDefault;
121
+ const adaptive = Math.floor(lifetimeSeconds * 0.1);
122
+ const bounded = Math.min(300, Math.max(15, adaptive));
123
+ return Math.max(normalizedDefault, bounded);
124
+ }
125
+ function getUserTokenRefreshDueAt(expiresAt, defaultBufferSeconds = 300, issuedAt, now = new Date()) {
126
+ const expiresAtDate = normalizeExpiresAt(expiresAt);
127
+ if (!expiresAtDate)
128
+ return null;
129
+ const buffer = getEffectiveUserTokenRefreshBuffer(expiresAtDate, defaultBufferSeconds, issuedAt, now);
130
+ return new Date(expiresAtDate.getTime() - buffer * 1000);
131
+ }
132
+ function isUserTokenRefreshDue(expiresAt, defaultBufferSeconds = 300, issuedAt, now = new Date()) {
133
+ const dueAt = getUserTokenRefreshDueAt(expiresAt, defaultBufferSeconds, issuedAt, now);
134
+ if (!dueAt)
135
+ return false;
136
+ return dueAt.getTime() <= now.getTime();
137
+ }
138
+ function isUserTokenExpired(expiresAt, now = new Date()) {
139
+ const expiresAtDate = normalizeExpiresAt(expiresAt);
140
+ if (!expiresAtDate)
141
+ return false;
142
+ return expiresAtDate.getTime() <= now.getTime();
143
+ }
144
+ function storeAccessToken(storage, token, expiresAt) {
145
+ const previous = firstString(storage, exports.ACCESS_TOKEN_KEYS);
146
+ const nextExpiresAt = normalizeExpiresAt(expiresAt);
147
+ setAll(storage, exports.ACCESS_TOKEN_KEYS, token);
148
+ if (nextExpiresAt) {
149
+ setAll(storage, exports.ACCESS_TOKEN_EXPIRES_AT_KEYS, nextExpiresAt.toISOString());
150
+ return storage;
151
+ }
152
+ if (previous && previous !== token) {
153
+ clearAll(storage, exports.ACCESS_TOKEN_EXPIRES_AT_KEYS);
154
+ }
155
+ return storage;
156
+ }
157
+ function storeRefreshToken(storage, token) {
158
+ setAll(storage, exports.REFRESH_TOKEN_KEYS, token);
159
+ return storage;
160
+ }
161
+ function clearStoredAccessToken(storage) {
162
+ clearAll(storage, exports.ACCESS_TOKEN_KEYS);
163
+ clearAll(storage, exports.ACCESS_TOKEN_EXPIRES_AT_KEYS);
164
+ return storage;
165
+ }
166
+ function clearStoredRefreshToken(storage) {
167
+ clearAll(storage, exports.REFRESH_TOKEN_KEYS);
168
+ return storage;
169
+ }
170
+ function clearStoredSessionTokens(storage) {
171
+ clearStoredAccessToken(storage);
172
+ clearStoredRefreshToken(storage);
173
+ return storage;
174
+ }
175
+ function getStoredRefreshToken(storage) {
176
+ return firstString(storage, exports.REFRESH_TOKEN_KEYS);
177
+ }
178
+ function getUserTokenExpiresAt(storage) {
179
+ const fromMetadata = firstString(storage, exports.ACCESS_TOKEN_EXPIRES_AT_KEYS);
180
+ if (fromMetadata) {
181
+ const parsed = normalizeExpiresAt(fromMetadata);
182
+ if (parsed)
183
+ return parsed;
184
+ }
185
+ const token = firstString(storage, exports.ACCESS_TOKEN_KEYS);
186
+ if (!token)
187
+ return null;
188
+ return getJwtExpiresAt(token);
189
+ }
190
+ class UserTokenRefreshManager {
191
+ constructor() {
192
+ this.stores = new Map();
193
+ this.callbacks = new Map();
194
+ }
195
+ registerRefreshCallback(userId, callback) {
196
+ this.callbacks.set(userId, callback);
197
+ }
198
+ unregisterRefreshCallback(userId) {
199
+ this.callbacks.delete(userId);
200
+ }
201
+ getStore(userId) {
202
+ let store = this.stores.get(userId);
203
+ if (!store) {
204
+ store = {};
205
+ this.stores.set(userId, store);
206
+ }
207
+ return store;
208
+ }
209
+ storeAccessToken(userId, token, expiresAt) {
210
+ storeAccessToken(this.getStore(userId), token, expiresAt);
211
+ }
212
+ storeRefreshToken(userId, token) {
213
+ storeRefreshToken(this.getStore(userId), token);
214
+ }
215
+ clearUserTokens(userId) {
216
+ clearStoredSessionTokens(this.getStore(userId));
217
+ }
218
+ getAccessToken(userId) {
219
+ return firstString(this.getStore(userId), exports.ACCESS_TOKEN_KEYS);
220
+ }
221
+ getRefreshToken(userId) {
222
+ return getStoredRefreshToken(this.getStore(userId));
223
+ }
224
+ getExpiresAt(userId) {
225
+ return getUserTokenExpiresAt(this.getStore(userId));
226
+ }
227
+ async refreshIfDue(userId, defaultBufferSeconds = 300, now = new Date()) {
228
+ const callback = this.callbacks.get(userId);
229
+ if (!callback)
230
+ return null;
231
+ const store = this.getStore(userId);
232
+ const token = firstString(store, exports.ACCESS_TOKEN_KEYS);
233
+ if (!token)
234
+ return null;
235
+ const claims = decodeTokenClaims(token);
236
+ const expiresAt = getUserTokenExpiresAt(store);
237
+ const issuedAt = claims?.iat ?? claims?.issuedAt ?? claims?.issued_at;
238
+ if (expiresAt &&
239
+ !isUserTokenRefreshDue(expiresAt, defaultBufferSeconds, issuedAt, now)) {
240
+ return null;
241
+ }
242
+ try {
243
+ const refreshed = await callback();
244
+ if (refreshed?.token) {
245
+ storeAccessToken(store, refreshed.token, refreshed.expiresAt);
246
+ if (refreshed.refreshToken) {
247
+ storeRefreshToken(store, refreshed.refreshToken);
248
+ }
249
+ }
250
+ return refreshed;
251
+ }
252
+ catch {
253
+ return null;
254
+ }
255
+ }
256
+ }
257
+ exports.UserTokenRefreshManager = UserTokenRefreshManager;
258
+ //# sourceMappingURL=user-token-refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-token-refresh.js","sourceRoot":"","sources":["../../src/utils/user-token-refresh.ts"],"names":[],"mappings":";;;;;;AA4FA,gDAsBC;AAED,0CASC;AAED,gFAmBC;AAED,4DAeC;AAED,sDAcC;AAED,gDAOC;AAED,4CAkBC;AAED,8CAMC;AAED,wDAMC;AAED,0DAKC;AAED,4DAMC;AAED,sDAEC;AAED,sDAUC;AA/PD,gEAA+B;AAElB,QAAA,iBAAiB,GAAG;IAC/B,YAAY;IACZ,OAAO;IACP,aAAa;IACb,WAAW;CACH,CAAC;AAEE,QAAA,kBAAkB,GAAG;IAChC,yBAAyB;IACzB,cAAc;CACN,CAAC;AAEE,QAAA,4BAA4B,GAAG;IAC1C,uBAAuB;IACvB,gBAAgB;IAChB,sBAAsB;IACtB,WAAW;CACH,CAAC;AAaX,SAAS,QAAQ,CAAC,GAAY;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAChE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,OAAwB,EAAE,GAAW;IACtD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CACjB,OAAwB,EACxB,GAAW,EACX,KAAc;IAEd,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,OAAwB,EAAE,GAAW;IACxD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAClB,OAAwB,EACxB,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,GAAG,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CACb,OAAwB,EACxB,IAAuB,EACvB,KAAa;IAEb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,OAAwB,EAAE,IAAuB;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC;QACH,OAAO,sBAAG,CAAC,MAAM,CAAC,KAAK,CAAmC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC/B,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,CACL,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;QAC9B,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,SAAgB,kCAAkC,CAChD,SAAkB,EAClB,oBAAoB,GAAG,GAAG,EAC1B,QAAkB,EAClB,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC,aAAa;QAAE,OAAO,iBAAiB,CAAC;IAE7C,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;IACzD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAChC,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAC1D,CAAC;IACF,IAAI,eAAe,IAAI,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,wBAAwB,CACtC,SAAkB,EAClB,oBAAoB,GAAG,GAAG,EAC1B,QAAkB,EAClB,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,kCAAkC,CAC/C,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,GAAG,CACJ,CAAC;IACF,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,qBAAqB,CACnC,SAAkB,EAClB,oBAAoB,GAAG,GAAG,EAC1B,QAAkB,EAClB,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,KAAK,GAAG,wBAAwB,CACpC,SAAS,EACT,oBAAoB,EACpB,QAAQ,EACR,GAAG,CACJ,CAAC;IACF,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED,SAAgB,kBAAkB,CAChC,SAAkB,EAClB,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AAClD,CAAC;AAED,SAAgB,gBAAgB,CAC9B,OAAwB,EACxB,KAAa,EACb,SAAmB;IAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,yBAAiB,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEpD,MAAM,CAAC,OAAO,EAAE,yBAAiB,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,OAAO,EAAE,oCAA4B,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACnC,QAAQ,CAAC,OAAO,EAAE,oCAA4B,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,iBAAiB,CAC/B,OAAwB,EACxB,KAAa;IAEb,MAAM,CAAC,OAAO,EAAE,0BAAkB,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,sBAAsB,CACpC,OAAwB;IAExB,QAAQ,CAAC,OAAO,EAAE,yBAAiB,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,oCAA4B,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAwB;IAExB,QAAQ,CAAC,OAAO,EAAE,0BAAkB,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,wBAAwB,CACtC,OAAwB;IAExB,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAwB;IAC5D,OAAO,WAAW,CAAC,OAAO,EAAE,0BAAkB,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAwB;IAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,oCAA4B,CAAC,CAAC;IACxE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,yBAAiB,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAa,uBAAuB;IAApC;QACU,WAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;QAE5C,cAAS,GAAG,IAAI,GAAG,EAGxB,CAAC;IAiFN,CAAC;IA/EC,uBAAuB,CACrB,MAAc,EACd,QAAqD;QAErD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,yBAAyB,CAAC,MAAc;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEO,QAAQ,CAAC,MAAc;QAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,KAAa,EAAE,SAAmB;QACjE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,iBAAiB,CAAC,MAAc,EAAE,KAAa;QAC7C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,oBAAoB,GAAG,GAAG,EAC1B,GAAG,GAAG,IAAI,IAAI,EAAE;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,yBAAiB,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,SAAS,CAAC;QACtE,IACE,SAAS;YACT,CAAC,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,CAAC,EACtE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,QAAQ,EAAE,CAAC;YACnC,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;gBACrB,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9D,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;oBAC3B,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAvFD,0DAuFC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aifabrix/miso-client",
3
- "version": "4.10.0",
3
+ "version": "4.13.0",
4
4
  "description": "AI Fabrix Client SDK - Authentication, authorization, logging, and Express.js utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -72,17 +72,34 @@
72
72
  },
73
73
  "homepage": "https://github.com/esystemsdev/aifabrix-miso-client",
74
74
  "scripts": {
75
+ "silent": "node scripts/run-silent.mjs",
75
76
  "build": "tsc && node -e \"require('fs').copyFileSync('src/express/express.d.ts', 'dist/express/express.d.ts')\"",
77
+ "build:silent": "pnpm run silent -- build:silent .temp/validation/01-build \"pnpm run build\"",
76
78
  "test": "node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --runInBand --detectOpenHandles --no-coverage",
79
+ "test:silent": "pnpm run silent -- test:silent .temp/validation/06-test \"pnpm run test\"",
77
80
  "test:watch": "node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --watch",
78
81
  "test:coverage": "node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --coverage",
79
82
  "test:no-coverage": "node --unhandled-rejections=warn -r ./tests/setup-rejection-handler.js node_modules/jest/bin/jest.js --no-coverage",
80
83
  "test:integration": "ts-node test_integration.ts",
81
84
  "test:integration:api": "node --unhandled-rejections=warn node_modules/jest/bin/jest.js tests/integration/api-endpoints.integration.test.ts --maxWorkers=50% --testPathIgnorePatterns=/node_modules/ --forceExit",
85
+ "fmt": "prettier --write . --ignore-path .prettierignore",
86
+ "fmt:silent": "pnpm run silent -- fmt:silent .temp/validation/02-fmt \"pnpm run fmt\"",
87
+ "md:lint": "prettier --check \"**/*.md\" --ignore-path .prettierignore",
88
+ "md:lint:silent": "pnpm run silent -- md:lint:silent .temp/validation/03-md-lint \"pnpm run md:lint\"",
89
+ "md:fix": "prettier --write \"**/*.md\" --ignore-path .prettierignore",
90
+ "md:fix:silent": "pnpm run silent -- md:fix:silent .temp/validation/04-md-fix \"pnpm run md:fix\"",
82
91
  "lint": "eslint 'src/**/*.ts' --max-warnings 0 --ignore-pattern '**/*.d.ts'",
92
+ "lint:silent": "pnpm run silent -- lint:silent .temp/validation/05-lint \"pnpm run lint\"",
83
93
  "lint:fix": "eslint 'src/**/*.ts' --fix --ignore-pattern '**/*.d.ts'",
94
+ "lint:fix:silent": "pnpm run silent -- lint:fix:silent .temp/validation/05-lint-fix \"pnpm run lint:fix\"",
84
95
  "check:forbidden-markers": "node scripts/check-forbidden-trace-markers.js",
85
96
  "tests:typecheck": "tsc -p tests/tsconfig.json --noEmit",
97
+ "tests:typecheck:silent": "pnpm run silent -- tests:typecheck:silent .temp/validation/00-tests-typecheck \"pnpm run tests:typecheck\"",
98
+ "server:lint:fix:silent": "pnpm run silent -- server:lint:fix:silent .temp/validation/server-01-lint-fix \"pnpm --dir server run lint:fix\"",
99
+ "server:lint:silent": "pnpm run silent -- server:lint:silent .temp/validation/server-02-lint \"pnpm --dir server run lint\"",
100
+ "server:test:silent": "pnpm run silent -- server:test:silent .temp/validation/server-03-test \"pnpm --dir server run test\"",
101
+ "server:build:silent": "pnpm run silent -- server:build:silent .temp/validation/server-04-build \"pnpm --dir server run build\"",
102
+ "server:start:dev:silent": "pnpm run silent -- --detach server:start:dev:silent .temp/validation/server-05-start-dev \"pnpm --dir server run start:dev\"",
86
103
  "all": "pnpm run lint:fix && pnpm run test && pnpm run test:integration:api && pnpm run test:integration && pnpm run build"
87
104
  }
88
105
  }