@oxyhq/services 5.16.39 → 5.16.41

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 (267) hide show
  1. package/lib/commonjs/adapters/expo/crypto.js +56 -0
  2. package/lib/commonjs/adapters/expo/crypto.js.map +1 -0
  3. package/lib/commonjs/adapters/expo/fetch.js +30 -0
  4. package/lib/commonjs/adapters/expo/fetch.js.map +1 -0
  5. package/lib/commonjs/adapters/expo/index.js +48 -0
  6. package/lib/commonjs/adapters/expo/index.js.map +1 -0
  7. package/lib/commonjs/adapters/expo/storage.js +201 -0
  8. package/lib/commonjs/adapters/expo/storage.js.map +1 -0
  9. package/lib/commonjs/adapters/index.js +41 -0
  10. package/lib/commonjs/adapters/index.js.map +1 -0
  11. package/lib/commonjs/adapters/node/crypto.js +40 -0
  12. package/lib/commonjs/adapters/node/crypto.js.map +1 -0
  13. package/lib/commonjs/adapters/node/fetch.js +62 -0
  14. package/lib/commonjs/adapters/node/fetch.js.map +1 -0
  15. package/lib/commonjs/adapters/node/index.js +34 -0
  16. package/lib/commonjs/adapters/node/index.js.map +1 -0
  17. package/lib/commonjs/adapters/node/storage.js +163 -0
  18. package/lib/commonjs/adapters/node/storage.js.map +1 -0
  19. package/lib/commonjs/core/identity-session/DeviceManager.js +237 -0
  20. package/lib/commonjs/core/identity-session/DeviceManager.js.map +1 -0
  21. package/lib/commonjs/core/identity-session/INTEGRATION_GUIDE.md +287 -0
  22. package/lib/commonjs/core/identity-session/IdentityManager.js +400 -0
  23. package/lib/commonjs/core/identity-session/IdentityManager.js.map +1 -0
  24. package/lib/commonjs/core/identity-session/IdentitySessionCore.js +394 -0
  25. package/lib/commonjs/core/identity-session/IdentitySessionCore.js.map +1 -0
  26. package/lib/commonjs/core/identity-session/RefreshManager.js +137 -0
  27. package/lib/commonjs/core/identity-session/RefreshManager.js.map +1 -0
  28. package/lib/commonjs/core/identity-session/SessionManager.js +427 -0
  29. package/lib/commonjs/core/identity-session/SessionManager.js.map +1 -0
  30. package/lib/commonjs/core/identity-session/createIdentitySessionCore.js +24 -0
  31. package/lib/commonjs/core/identity-session/createIdentitySessionCore.js.map +1 -0
  32. package/lib/commonjs/core/identity-session/errors.js +176 -0
  33. package/lib/commonjs/core/identity-session/errors.js.map +1 -0
  34. package/lib/commonjs/core/identity-session/index.js +80 -0
  35. package/lib/commonjs/core/identity-session/index.js.map +1 -0
  36. package/lib/commonjs/core/identity-session/types.js +2 -0
  37. package/lib/commonjs/core/identity-session/types.js.map +1 -0
  38. package/lib/commonjs/core/index.js +2 -21
  39. package/lib/commonjs/core/index.js.map +1 -1
  40. package/lib/commonjs/index.js +58 -8
  41. package/lib/commonjs/index.js.map +1 -1
  42. package/lib/commonjs/models/interfaces.js +7 -0
  43. package/lib/commonjs/models/interfaces.js.map +1 -1
  44. package/lib/commonjs/ui/context/OxyContext.js +434 -820
  45. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  46. package/lib/commonjs/ui/hooks/useAvatarPicker.js +52 -0
  47. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -0
  48. package/lib/commonjs/ui/hooks/useIdentityTransfer.js +125 -0
  49. package/lib/commonjs/ui/hooks/useIdentityTransfer.js.map +1 -0
  50. package/lib/commonjs/ui/hooks/useTransferCodesPersistence.js +81 -0
  51. package/lib/commonjs/ui/hooks/useTransferCodesPersistence.js.map +1 -0
  52. package/lib/commonjs/ui/screens/AccountCenterScreen.js +7 -2
  53. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  54. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +12 -5
  55. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  56. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +2 -2
  57. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  58. package/lib/commonjs/ui/screens/ProfileScreen.js +6 -6
  59. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  60. package/lib/commonjs/ui/utils/sessionHelpers.js +7 -1
  61. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  62. package/lib/commonjs/utils/index.js +0 -7
  63. package/lib/commonjs/utils/index.js.map +1 -1
  64. package/lib/commonjs/utils/sessionUtils.js +8 -1
  65. package/lib/commonjs/utils/sessionUtils.js.map +1 -1
  66. package/lib/module/adapters/expo/crypto.js +51 -0
  67. package/lib/module/adapters/expo/crypto.js.map +1 -0
  68. package/lib/module/adapters/expo/fetch.js +26 -0
  69. package/lib/module/adapters/expo/fetch.js.map +1 -0
  70. package/lib/module/adapters/expo/index.js +45 -0
  71. package/lib/module/adapters/expo/index.js.map +1 -0
  72. package/lib/module/adapters/expo/storage.js +198 -0
  73. package/lib/module/adapters/expo/storage.js.map +1 -0
  74. package/lib/module/adapters/index.js +38 -0
  75. package/lib/module/adapters/index.js.map +1 -0
  76. package/lib/module/adapters/node/crypto.js +36 -0
  77. package/lib/module/adapters/node/crypto.js.map +1 -0
  78. package/lib/module/adapters/node/fetch.js +57 -0
  79. package/lib/module/adapters/node/fetch.js.map +1 -0
  80. package/lib/module/adapters/node/index.js +31 -0
  81. package/lib/module/adapters/node/index.js.map +1 -0
  82. package/lib/module/adapters/node/storage.js +159 -0
  83. package/lib/module/adapters/node/storage.js.map +1 -0
  84. package/lib/module/core/identity-session/DeviceManager.js +232 -0
  85. package/lib/module/core/identity-session/DeviceManager.js.map +1 -0
  86. package/lib/module/core/identity-session/INTEGRATION_GUIDE.md +287 -0
  87. package/lib/module/core/identity-session/IdentityManager.js +395 -0
  88. package/lib/module/core/identity-session/IdentityManager.js.map +1 -0
  89. package/lib/module/core/identity-session/IdentitySessionCore.js +390 -0
  90. package/lib/module/core/identity-session/IdentitySessionCore.js.map +1 -0
  91. package/lib/module/core/identity-session/RefreshManager.js +132 -0
  92. package/lib/module/core/identity-session/RefreshManager.js.map +1 -0
  93. package/lib/module/core/identity-session/SessionManager.js +422 -0
  94. package/lib/module/core/identity-session/SessionManager.js.map +1 -0
  95. package/lib/module/core/identity-session/createIdentitySessionCore.js +21 -0
  96. package/lib/module/core/identity-session/createIdentitySessionCore.js.map +1 -0
  97. package/lib/module/core/identity-session/errors.js +170 -0
  98. package/lib/module/core/identity-session/errors.js.map +1 -0
  99. package/lib/module/core/identity-session/index.js +17 -0
  100. package/lib/module/core/identity-session/index.js.map +1 -0
  101. package/lib/module/core/identity-session/types.js +2 -0
  102. package/lib/module/core/identity-session/types.js.map +1 -0
  103. package/lib/module/core/index.js +2 -3
  104. package/lib/module/core/index.js.map +1 -1
  105. package/lib/module/index.js +12 -2
  106. package/lib/module/index.js.map +1 -1
  107. package/lib/module/models/interfaces.js +7 -0
  108. package/lib/module/models/interfaces.js.map +1 -1
  109. package/lib/module/ui/context/OxyContext.js +436 -822
  110. package/lib/module/ui/context/OxyContext.js.map +1 -1
  111. package/lib/module/ui/hooks/useAvatarPicker.js +48 -0
  112. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -0
  113. package/lib/module/ui/hooks/useIdentityTransfer.js +121 -0
  114. package/lib/module/ui/hooks/useIdentityTransfer.js.map +1 -0
  115. package/lib/module/ui/hooks/useTransferCodesPersistence.js +77 -0
  116. package/lib/module/ui/hooks/useTransferCodesPersistence.js.map +1 -0
  117. package/lib/module/ui/screens/AccountCenterScreen.js +7 -2
  118. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  119. package/lib/module/ui/screens/AccountSettingsScreen.js +12 -5
  120. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  121. package/lib/module/ui/screens/AccountSwitcherScreen.js +2 -2
  122. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  123. package/lib/module/ui/screens/ProfileScreen.js +6 -6
  124. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  125. package/lib/module/ui/utils/sessionHelpers.js +7 -1
  126. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  127. package/lib/module/utils/index.js +2 -1
  128. package/lib/module/utils/index.js.map +1 -1
  129. package/lib/module/utils/sessionUtils.js +8 -1
  130. package/lib/module/utils/sessionUtils.js.map +1 -1
  131. package/lib/typescript/adapters/expo/crypto.d.ts +17 -0
  132. package/lib/typescript/adapters/expo/crypto.d.ts.map +1 -0
  133. package/lib/typescript/adapters/expo/fetch.d.ts +16 -0
  134. package/lib/typescript/adapters/expo/fetch.d.ts.map +1 -0
  135. package/lib/typescript/adapters/expo/index.d.ts +23 -0
  136. package/lib/typescript/adapters/expo/index.d.ts.map +1 -0
  137. package/lib/typescript/adapters/expo/storage.d.ts +23 -0
  138. package/lib/typescript/adapters/expo/storage.d.ts.map +1 -0
  139. package/lib/typescript/adapters/index.d.ts +13 -0
  140. package/lib/typescript/adapters/index.d.ts.map +1 -0
  141. package/lib/typescript/adapters/node/crypto.d.ts +17 -0
  142. package/lib/typescript/adapters/node/crypto.d.ts.map +1 -0
  143. package/lib/typescript/adapters/node/fetch.d.ts +16 -0
  144. package/lib/typescript/adapters/node/fetch.d.ts.map +1 -0
  145. package/lib/typescript/adapters/node/index.d.ts +23 -0
  146. package/lib/typescript/adapters/node/index.d.ts.map +1 -0
  147. package/lib/typescript/adapters/node/storage.d.ts +23 -0
  148. package/lib/typescript/adapters/node/storage.d.ts.map +1 -0
  149. package/lib/typescript/core/identity-session/DeviceManager.d.ts +64 -0
  150. package/lib/typescript/core/identity-session/DeviceManager.d.ts.map +1 -0
  151. package/lib/typescript/core/identity-session/IdentityManager.d.ts +88 -0
  152. package/lib/typescript/core/identity-session/IdentityManager.d.ts.map +1 -0
  153. package/lib/typescript/core/identity-session/IdentitySessionCore.d.ts +141 -0
  154. package/lib/typescript/core/identity-session/IdentitySessionCore.d.ts.map +1 -0
  155. package/lib/typescript/core/identity-session/RefreshManager.d.ts +36 -0
  156. package/lib/typescript/core/identity-session/RefreshManager.d.ts.map +1 -0
  157. package/lib/typescript/core/identity-session/SessionManager.d.ts +104 -0
  158. package/lib/typescript/core/identity-session/SessionManager.d.ts.map +1 -0
  159. package/lib/typescript/core/identity-session/createIdentitySessionCore.d.ts +11 -0
  160. package/lib/typescript/core/identity-session/createIdentitySessionCore.d.ts.map +1 -0
  161. package/lib/typescript/core/identity-session/errors.d.ts +63 -0
  162. package/lib/typescript/core/identity-session/errors.d.ts.map +1 -0
  163. package/lib/typescript/core/identity-session/index.d.ts +14 -0
  164. package/lib/typescript/core/identity-session/index.d.ts.map +1 -0
  165. package/lib/typescript/core/identity-session/types.d.ts +196 -0
  166. package/lib/typescript/core/identity-session/types.d.ts.map +1 -0
  167. package/lib/typescript/core/index.d.ts +1 -3
  168. package/lib/typescript/core/index.d.ts.map +1 -1
  169. package/lib/typescript/core/mixins/index.d.ts +2 -2
  170. package/lib/typescript/index.d.ts +3 -2
  171. package/lib/typescript/index.d.ts.map +1 -1
  172. package/lib/typescript/models/interfaces.d.ts +5 -36
  173. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  174. package/lib/typescript/models/session.d.ts +3 -16
  175. package/lib/typescript/models/session.d.ts.map +1 -1
  176. package/lib/typescript/ui/context/OxyContext.d.ts +2 -25
  177. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  178. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +7 -8
  179. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  180. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts +1 -1
  181. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
  182. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +5 -5
  183. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  184. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +18 -0
  185. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +1 -0
  186. package/lib/typescript/ui/hooks/useIdentityTransfer.d.ts +24 -0
  187. package/lib/typescript/ui/hooks/useIdentityTransfer.d.ts.map +1 -0
  188. package/lib/typescript/ui/hooks/useTransferCodesPersistence.d.ts +6 -0
  189. package/lib/typescript/ui/hooks/useTransferCodesPersistence.d.ts.map +1 -0
  190. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  191. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  192. package/lib/typescript/ui/utils/sessionHelpers.d.ts +1 -0
  193. package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -1
  194. package/lib/typescript/utils/index.d.ts +0 -2
  195. package/lib/typescript/utils/index.d.ts.map +1 -1
  196. package/lib/typescript/utils/sessionUtils.d.ts.map +1 -1
  197. package/package.json +1 -1
  198. package/src/adapters/expo/crypto.ts +55 -0
  199. package/src/adapters/expo/fetch.ts +28 -0
  200. package/src/adapters/expo/index.ts +51 -0
  201. package/src/adapters/expo/storage.ts +228 -0
  202. package/src/adapters/index.ts +40 -0
  203. package/src/adapters/node/crypto.ts +39 -0
  204. package/src/adapters/node/fetch.ts +59 -0
  205. package/src/adapters/node/index.ts +37 -0
  206. package/src/adapters/node/storage.ts +170 -0
  207. package/src/core/identity-session/DeviceManager.ts +273 -0
  208. package/src/core/identity-session/INTEGRATION_GUIDE.md +287 -0
  209. package/src/core/identity-session/IdentityManager.ts +474 -0
  210. package/src/core/identity-session/IdentitySessionCore.ts +464 -0
  211. package/src/core/identity-session/RefreshManager.ts +189 -0
  212. package/src/core/identity-session/SessionManager.ts +500 -0
  213. package/src/core/identity-session/createIdentitySessionCore.ts +19 -0
  214. package/src/core/identity-session/errors.ts +197 -0
  215. package/src/core/identity-session/index.ts +15 -0
  216. package/src/core/identity-session/types.ts +188 -0
  217. package/src/core/index.ts +3 -4
  218. package/src/index.ts +28 -3
  219. package/src/models/interfaces.ts +12 -39
  220. package/src/models/session.ts +6 -16
  221. package/src/ui/context/OxyContext.tsx +442 -871
  222. package/src/ui/hooks/auth/index.ts +1 -0
  223. package/src/ui/hooks/useAvatarPicker.ts +62 -0
  224. package/src/ui/hooks/useIdentityTransfer.ts +135 -0
  225. package/src/ui/hooks/useTransferCodesPersistence.ts +80 -0
  226. package/src/ui/screens/AccountCenterScreen.tsx +7 -2
  227. package/src/ui/screens/AccountSettingsScreen.tsx +15 -8
  228. package/src/ui/screens/AccountSwitcherScreen.tsx +2 -2
  229. package/src/ui/screens/ProfileScreen.tsx +10 -10
  230. package/src/ui/utils/sessionHelpers.ts +7 -0
  231. package/src/utils/index.ts +1 -2
  232. package/src/utils/sessionUtils.ts +8 -0
  233. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +0 -704
  234. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +0 -1
  235. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js +0 -73
  236. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js.map +0 -1
  237. package/lib/commonjs/ui/hooks/useDeviceManagement.js +0 -73
  238. package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +0 -1
  239. package/lib/commonjs/ui/hooks/useSessionManagement.js +0 -281
  240. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +0 -1
  241. package/lib/commonjs/utils/deviceManager.js +0 -177
  242. package/lib/commonjs/utils/deviceManager.js.map +0 -1
  243. package/lib/module/ui/context/hooks/useAuthOperations.js +0 -698
  244. package/lib/module/ui/context/hooks/useAuthOperations.js.map +0 -1
  245. package/lib/module/ui/context/hooks/useDeviceManagement.js +0 -68
  246. package/lib/module/ui/context/hooks/useDeviceManagement.js.map +0 -1
  247. package/lib/module/ui/hooks/useDeviceManagement.js +0 -68
  248. package/lib/module/ui/hooks/useDeviceManagement.js.map +0 -1
  249. package/lib/module/ui/hooks/useSessionManagement.js +0 -276
  250. package/lib/module/ui/hooks/useSessionManagement.js.map +0 -1
  251. package/lib/module/utils/deviceManager.js +0 -171
  252. package/lib/module/utils/deviceManager.js.map +0 -1
  253. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +0 -59
  254. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +0 -1
  255. package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts +0 -27
  256. package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts.map +0 -1
  257. package/lib/typescript/ui/hooks/useDeviceManagement.d.ts +0 -27
  258. package/lib/typescript/ui/hooks/useDeviceManagement.d.ts.map +0 -1
  259. package/lib/typescript/ui/hooks/useSessionManagement.d.ts +0 -41
  260. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +0 -1
  261. package/lib/typescript/utils/deviceManager.d.ts +0 -66
  262. package/lib/typescript/utils/deviceManager.d.ts.map +0 -1
  263. package/src/ui/context/hooks/useAuthOperations.ts +0 -773
  264. package/src/ui/context/hooks/useDeviceManagement.ts +0 -108
  265. package/src/ui/hooks/useDeviceManagement.ts +0 -108
  266. package/src/ui/hooks/useSessionManagement.ts +0 -401
  267. package/src/utils/deviceManager.ts +0 -198
@@ -0,0 +1,427 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SessionManager = void 0;
7
+ var _jwtDecode = require("jwt-decode");
8
+ var _errors = require("./errors");
9
+ /**
10
+ * Session Manager
11
+ *
12
+ * Manages user sessions (Native + Web)
13
+ * Handles session creation, storage, refresh, and invalidation.
14
+ */
15
+
16
+ const SESSION_STORAGE_KEY = 'oxy_sessions';
17
+ const ACTIVE_SESSION_ID_KEY = 'oxy_active_session_id';
18
+ const TOKEN_STORAGE_KEY = 'oxy_tokens';
19
+ /**
20
+ * Session Manager Class
21
+ */
22
+ class SessionManager {
23
+ baseURL = null;
24
+ cachedSessions = null;
25
+ cachedActiveSessionId = null;
26
+ tokenStore = {
27
+ accessToken: null,
28
+ refreshToken: null
29
+ };
30
+ constructor(adapter, deviceManager, refreshManager, baseURL) {
31
+ this.adapter = adapter;
32
+ this.deviceManager = deviceManager;
33
+ this.refreshManager = refreshManager;
34
+ this.baseURL = baseURL || null;
35
+ if (baseURL) {
36
+ this.refreshManager.setBaseURL(baseURL);
37
+ }
38
+ }
39
+
40
+ /**
41
+ * Set base URL for API requests
42
+ */
43
+ setBaseURL(baseURL) {
44
+ this.baseURL = baseURL;
45
+ this.refreshManager.setBaseURL(baseURL);
46
+ }
47
+
48
+ /**
49
+ * Invalidate cached sessions
50
+ */
51
+ invalidateCache() {
52
+ this.cachedSessions = null;
53
+ this.cachedActiveSessionId = null;
54
+ }
55
+
56
+ /**
57
+ * Load tokens from storage
58
+ */
59
+ async loadTokens() {
60
+ try {
61
+ const stored = await this.adapter.storage.get(TOKEN_STORAGE_KEY);
62
+ if (stored) {
63
+ this.tokenStore = JSON.parse(stored);
64
+ }
65
+ } catch (error) {
66
+ console.warn('[SessionManager] Failed to load tokens:', error);
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Save tokens to storage
72
+ */
73
+ async saveTokens() {
74
+ try {
75
+ await this.adapter.storage.set(TOKEN_STORAGE_KEY, JSON.stringify(this.tokenStore));
76
+ } catch (error) {
77
+ console.warn('[SessionManager] Failed to save tokens:', error);
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Get access token
83
+ */
84
+ getAccessToken() {
85
+ return this.tokenStore.accessToken;
86
+ }
87
+
88
+ /**
89
+ * Get refresh token
90
+ */
91
+ getRefreshToken() {
92
+ return this.tokenStore.refreshToken;
93
+ }
94
+
95
+ /**
96
+ * Set tokens
97
+ */
98
+ async setTokens(accessToken, refreshToken) {
99
+ this.tokenStore.accessToken = accessToken;
100
+ if (refreshToken) {
101
+ this.tokenStore.refreshToken = refreshToken;
102
+ }
103
+ await this.saveTokens();
104
+ }
105
+
106
+ /**
107
+ * Clear tokens
108
+ */
109
+ async clearTokens() {
110
+ this.tokenStore.accessToken = null;
111
+ this.tokenStore.refreshToken = null;
112
+ await this.saveTokens();
113
+ }
114
+
115
+ /**
116
+ * Load sessions from storage
117
+ */
118
+ async loadSessions() {
119
+ if (this.cachedSessions) {
120
+ return this.cachedSessions;
121
+ }
122
+ try {
123
+ const stored = await this.adapter.storage.get(SESSION_STORAGE_KEY);
124
+ if (stored) {
125
+ this.cachedSessions = JSON.parse(stored);
126
+ return this.cachedSessions || [];
127
+ }
128
+ } catch (error) {
129
+ console.warn('[SessionManager] Failed to load sessions:', error);
130
+ }
131
+ this.cachedSessions = [];
132
+ return [];
133
+ }
134
+
135
+ /**
136
+ * Save sessions to storage
137
+ */
138
+ async saveSessions(sessions) {
139
+ try {
140
+ await this.adapter.storage.set(SESSION_STORAGE_KEY, JSON.stringify(sessions));
141
+ this.cachedSessions = sessions;
142
+ } catch (error) {
143
+ console.warn('[SessionManager] Failed to save sessions:', error);
144
+ }
145
+ }
146
+
147
+ /**
148
+ * Get active session ID
149
+ */
150
+ async getActiveSessionId() {
151
+ if (this.cachedActiveSessionId !== null) {
152
+ return this.cachedActiveSessionId;
153
+ }
154
+ try {
155
+ const stored = await this.adapter.storage.get(ACTIVE_SESSION_ID_KEY);
156
+ this.cachedActiveSessionId = stored;
157
+ return stored;
158
+ } catch (error) {
159
+ console.warn('[SessionManager] Failed to load active session ID:', error);
160
+ return null;
161
+ }
162
+ }
163
+
164
+ /**
165
+ * Set active session ID
166
+ */
167
+ async setActiveSessionId(sessionId) {
168
+ try {
169
+ if (sessionId) {
170
+ await this.adapter.storage.set(ACTIVE_SESSION_ID_KEY, sessionId);
171
+ } else {
172
+ await this.adapter.storage.remove(ACTIVE_SESSION_ID_KEY);
173
+ }
174
+ this.cachedActiveSessionId = sessionId;
175
+ } catch (error) {
176
+ console.warn('[SessionManager] Failed to save active session ID:', error);
177
+ }
178
+ }
179
+
180
+ /**
181
+ * Get all sessions
182
+ */
183
+ async getAllSessions() {
184
+ return await this.loadSessions();
185
+ }
186
+
187
+ /**
188
+ * Get current session
189
+ */
190
+ async getSession() {
191
+ await this.loadTokens();
192
+ const accessToken = this.getAccessToken();
193
+ if (!accessToken) {
194
+ return null;
195
+ }
196
+ try {
197
+ const decoded = (0, _jwtDecode.jwtDecode)(accessToken);
198
+ const sessionId = decoded.sessionId;
199
+ const userId = decoded.userId;
200
+ if (!sessionId || !userId) {
201
+ return null;
202
+ }
203
+ const sessions = await this.loadSessions();
204
+ const session = sessions.find(s => s.sessionId === sessionId);
205
+ if (session) {
206
+ return session;
207
+ }
208
+
209
+ // Create session from token if not found in storage
210
+ const device = await this.deviceManager.getCurrentDevice();
211
+ if (!device) {
212
+ return null;
213
+ }
214
+ const deviceInfo = await this.deviceManager.getDeviceInfo();
215
+ return {
216
+ sessionId,
217
+ userId,
218
+ deviceId: device.deviceId,
219
+ expiresAt: decoded.exp ? new Date(decoded.exp * 1000).toISOString() : new Date(Date.now() + 3600000).toISOString(),
220
+ lastActive: new Date().toISOString(),
221
+ deviceInfo,
222
+ isCurrent: true,
223
+ accessToken
224
+ };
225
+ } catch (error) {
226
+ console.warn('[SessionManager] Failed to decode token:', error);
227
+ return null;
228
+ }
229
+ }
230
+
231
+ /**
232
+ * Create a new session (sign in)
233
+ */
234
+ async createSession(publicKey, signature, timestamp, deviceName) {
235
+ if (!this.baseURL) {
236
+ throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.SESSION_CREATION_FAILED, 'Base URL not set for session creation');
237
+ }
238
+ const device = await this.deviceManager.getCurrentDevice();
239
+ if (!device) {
240
+ throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.DEVICE_NOT_FOUND, 'Device not found');
241
+ }
242
+
243
+ // Update device name if provided
244
+ if (deviceName) {
245
+ await this.deviceManager.updateDeviceName(deviceName);
246
+ }
247
+ const deviceInfo = await this.deviceManager.getDeviceInfo();
248
+ try {
249
+ const response = await this.adapter.fetch.fetch(`${this.baseURL}/api/auth/login`, {
250
+ method: 'POST',
251
+ headers: {
252
+ 'Content-Type': 'application/json',
253
+ 'Accept': 'application/json'
254
+ },
255
+ body: JSON.stringify({
256
+ publicKey,
257
+ signature,
258
+ timestamp,
259
+ deviceId: device.deviceId,
260
+ deviceInfo
261
+ })
262
+ });
263
+ if (!response.ok) {
264
+ const errorData = await response.json().catch(() => ({}));
265
+ throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.SESSION_CREATION_FAILED, errorData.message || `Login failed: ${response.status}`, response.status);
266
+ }
267
+ const data = await response.json();
268
+ const {
269
+ accessToken,
270
+ refreshToken,
271
+ user,
272
+ sessionId,
273
+ deviceId,
274
+ expiresAt
275
+ } = data;
276
+ if (!accessToken || !sessionId) {
277
+ throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.SESSION_CREATION_FAILED, 'Invalid response from login endpoint');
278
+ }
279
+
280
+ // Set tokens
281
+ await this.setTokens(accessToken, refreshToken);
282
+
283
+ // Create session object
284
+ const session = {
285
+ sessionId,
286
+ userId: user.id || user._id,
287
+ // MongoDB ObjectId
288
+ deviceId: deviceId || device.deviceId,
289
+ expiresAt: expiresAt || new Date(Date.now() + 3600000).toISOString(),
290
+ lastActive: new Date().toISOString(),
291
+ deviceInfo,
292
+ isCurrent: true,
293
+ accessToken,
294
+ refreshToken
295
+ };
296
+
297
+ // Save session
298
+ const sessions = await this.loadSessions();
299
+ const existingIndex = sessions.findIndex(s => s.sessionId === sessionId);
300
+ if (existingIndex >= 0) {
301
+ sessions[existingIndex] = session;
302
+ } else {
303
+ sessions.push(session);
304
+ }
305
+
306
+ // Mark all other sessions as not current
307
+ sessions.forEach(s => {
308
+ if (s.sessionId !== sessionId) {
309
+ s.isCurrent = false;
310
+ }
311
+ });
312
+ await this.saveSessions(sessions);
313
+ await this.setActiveSessionId(sessionId);
314
+ return session;
315
+ } catch (error) {
316
+ if (error instanceof Error && error.name === 'IdentitySessionError') {
317
+ throw error;
318
+ }
319
+ throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.SESSION_CREATION_FAILED, `Failed to create session: ${error instanceof Error ? error.message : String(error)}`);
320
+ }
321
+ }
322
+
323
+ /**
324
+ * Refresh current session
325
+ */
326
+ async refreshSession() {
327
+ const session = await this.getSession();
328
+ if (!session) {
329
+ throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.SESSION_NOT_FOUND, 'No active session to refresh');
330
+ }
331
+
332
+ // Refresh token first
333
+ await this.refreshManager.refreshTokenIfNeeded(() => this.getAccessToken(), (accessToken, refreshToken) => this.setTokens(accessToken, refreshToken), () => this.clearTokens());
334
+
335
+ // Get updated session
336
+ const refreshedSession = await this.getSession();
337
+ if (!refreshedSession) {
338
+ throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.SESSION_REFRESH_FAILED, 'Session not found after refresh');
339
+ }
340
+
341
+ // Update session in storage
342
+ const sessions = await this.loadSessions();
343
+ const index = sessions.findIndex(s => s.sessionId === refreshedSession.sessionId);
344
+ if (index >= 0) {
345
+ sessions[index] = refreshedSession;
346
+ await this.saveSessions(sessions);
347
+ }
348
+ return refreshedSession;
349
+ }
350
+
351
+ /**
352
+ * Invalidate a session
353
+ */
354
+ async invalidateSession(sessionId) {
355
+ const targetSessionId = sessionId || (await this.getActiveSessionId());
356
+ if (!targetSessionId) {
357
+ return;
358
+ }
359
+ if (!this.baseURL) {
360
+ // Just clear local storage if no base URL
361
+ await this.clearLocalSession(targetSessionId);
362
+ return;
363
+ }
364
+ try {
365
+ await this.adapter.fetch.fetch(`${this.baseURL}/api/session/${targetSessionId}/logout`, {
366
+ method: 'POST',
367
+ headers: {
368
+ 'Accept': 'application/json'
369
+ }
370
+ });
371
+ } catch (error) {
372
+ // Continue with local cleanup even if API call fails
373
+ console.warn('[SessionManager] Failed to invalidate session on server:', error);
374
+ }
375
+ await this.clearLocalSession(targetSessionId);
376
+ }
377
+
378
+ /**
379
+ * Clear local session data
380
+ */
381
+ async clearLocalSession(sessionId) {
382
+ const sessions = await this.loadSessions();
383
+ const filtered = sessions.filter(s => s.sessionId !== sessionId);
384
+ await this.saveSessions(filtered);
385
+
386
+ // If this was the active session, clear it
387
+ const activeSessionId = await this.getActiveSessionId();
388
+ if (activeSessionId === sessionId) {
389
+ await this.setActiveSessionId(null);
390
+ await this.clearTokens();
391
+ }
392
+ }
393
+
394
+ /**
395
+ * Invalidate all sessions
396
+ */
397
+ async invalidateAllSessions() {
398
+ const sessions = await this.loadSessions();
399
+ if (this.baseURL) {
400
+ // Try to invalidate all sessions on server
401
+ await Promise.allSettled(sessions.map(session => this.adapter.fetch.fetch(`${this.baseURL}/api/session/${session.sessionId}/logout`, {
402
+ method: 'POST',
403
+ headers: {
404
+ 'Accept': 'application/json'
405
+ }
406
+ }).catch(() => {
407
+ // Ignore individual failures
408
+ })));
409
+ }
410
+
411
+ // Clear all local session data
412
+ await this.saveSessions([]);
413
+ await this.setActiveSessionId(null);
414
+ await this.clearTokens();
415
+ this.invalidateCache();
416
+ }
417
+
418
+ /**
419
+ * Initialize - load tokens and sessions from storage
420
+ */
421
+ async initialize() {
422
+ await this.loadTokens();
423
+ await this.loadSessions();
424
+ }
425
+ }
426
+ exports.SessionManager = SessionManager;
427
+ //# sourceMappingURL=SessionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_jwtDecode","require","_errors","SESSION_STORAGE_KEY","ACTIVE_SESSION_ID_KEY","TOKEN_STORAGE_KEY","SessionManager","baseURL","cachedSessions","cachedActiveSessionId","tokenStore","accessToken","refreshToken","constructor","adapter","deviceManager","refreshManager","setBaseURL","invalidateCache","loadTokens","stored","storage","get","JSON","parse","error","console","warn","saveTokens","set","stringify","getAccessToken","getRefreshToken","setTokens","clearTokens","loadSessions","saveSessions","sessions","getActiveSessionId","setActiveSessionId","sessionId","remove","getAllSessions","getSession","decoded","jwtDecode","userId","session","find","s","device","getCurrentDevice","deviceInfo","getDeviceInfo","deviceId","expiresAt","exp","Date","toISOString","now","lastActive","isCurrent","createSession","publicKey","signature","timestamp","deviceName","createIdentitySessionError","IdentitySessionErrorCodes","SESSION_CREATION_FAILED","DEVICE_NOT_FOUND","updateDeviceName","response","fetch","method","headers","body","ok","errorData","json","catch","message","status","data","user","id","_id","existingIndex","findIndex","push","forEach","Error","name","String","refreshSession","SESSION_NOT_FOUND","refreshTokenIfNeeded","refreshedSession","SESSION_REFRESH_FAILED","index","invalidateSession","targetSessionId","clearLocalSession","filtered","filter","activeSessionId","invalidateAllSessions","Promise","allSettled","map","initialize","exports"],"sourceRoot":"../../../../src","sources":["core/identity-session/SessionManager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createIdentitySessionCore = createIdentitySessionCore;
7
+ var _adapters = require("../../adapters");
8
+ var _IdentitySessionCore = require("./IdentitySessionCore");
9
+ /**
10
+ * Create Identity Session Core
11
+ *
12
+ * Factory function to create and initialize IdentitySessionCore
13
+ */
14
+
15
+ /**
16
+ * Create and initialize IdentitySessionCore
17
+ */
18
+ async function createIdentitySessionCore(baseURL) {
19
+ const adapter = await (0, _adapters.createPlatformAdapter)();
20
+ const core = new _IdentitySessionCore.IdentitySessionCore(adapter, baseURL);
21
+ await core.initialize();
22
+ return core;
23
+ }
24
+ //# sourceMappingURL=createIdentitySessionCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_adapters","require","_IdentitySessionCore","createIdentitySessionCore","baseURL","adapter","createPlatformAdapter","core","IdentitySessionCore","initialize"],"sourceRoot":"../../../../src","sources":["core/identity-session/createIdentitySessionCore.ts"],"mappings":";;;;;;AAMA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAPA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACO,eAAeE,yBAAyBA,CAACC,OAAgB,EAAgC;EAC9F,MAAMC,OAAO,GAAG,MAAM,IAAAC,+BAAqB,EAAC,CAAC;EAC7C,MAAMC,IAAI,GAAG,IAAIC,wCAAmB,CAACH,OAAO,EAAED,OAAO,CAAC;EACtD,MAAMG,IAAI,CAACE,UAAU,CAAC,CAAC;EACvB,OAAOF,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IdentitySessionErrorCodes = exports.IdentitySessionError = void 0;
7
+ exports.createIdentitySessionError = createIdentitySessionError;
8
+ /**
9
+ * Identity and Session Error Codes
10
+ *
11
+ * Aligned with backend error codes for consistency across the ecosystem
12
+ */
13
+
14
+ const IdentitySessionErrorCodes = exports.IdentitySessionErrorCodes = {
15
+ // Authentication errors
16
+ UNAUTHORIZED: 'UNAUTHORIZED',
17
+ FORBIDDEN: 'FORBIDDEN',
18
+ INVALID_TOKEN: 'INVALID_TOKEN',
19
+ MISSING_TOKEN: 'MISSING_TOKEN',
20
+ TOKEN_EXPIRED: 'TOKEN_EXPIRED',
21
+ TOKEN_NOT_YET_VALID: 'TOKEN_NOT_YET_VALID',
22
+ INVALID_SIGNATURE: 'INVALID_SIGNATURE',
23
+ MALFORMED_TOKEN: 'MALFORMED_TOKEN',
24
+ INVALID_SESSION: 'INVALID_SESSION',
25
+ // Identity errors
26
+ IDENTITY_NOT_FOUND: 'IDENTITY_NOT_FOUND',
27
+ IDENTITY_ALREADY_EXISTS: 'IDENTITY_ALREADY_EXISTS',
28
+ IDENTITY_NOT_AVAILABLE_ON_WEB: 'IDENTITY_NOT_AVAILABLE_ON_WEB',
29
+ IDENTITY_NOT_SYNCED: 'IDENTITY_NOT_SYNCED',
30
+ INVALID_PUBLIC_KEY: 'INVALID_PUBLIC_KEY',
31
+ INVALID_PRIVATE_KEY: 'INVALID_PRIVATE_KEY',
32
+ IDENTITY_CREATION_FAILED: 'IDENTITY_CREATION_FAILED',
33
+ IDENTITY_IMPORT_FAILED: 'IDENTITY_IMPORT_FAILED',
34
+ IDENTITY_DELETE_FAILED: 'IDENTITY_DELETE_FAILED',
35
+ BACKUP_DECRYPTION_FAILED: 'BACKUP_DECRYPTION_FAILED',
36
+ // Session errors
37
+ SESSION_NOT_FOUND: 'SESSION_NOT_FOUND',
38
+ SESSION_EXPIRED: 'SESSION_EXPIRED',
39
+ SESSION_INVALID: 'SESSION_INVALID',
40
+ SESSION_CREATION_FAILED: 'SESSION_CREATION_FAILED',
41
+ SESSION_REFRESH_FAILED: 'SESSION_REFRESH_FAILED',
42
+ // Device errors
43
+ DEVICE_NOT_FOUND: 'DEVICE_NOT_FOUND',
44
+ DEVICE_CREATION_FAILED: 'DEVICE_CREATION_FAILED',
45
+ // Validation errors
46
+ VALIDATION_ERROR: 'VALIDATION_ERROR',
47
+ BAD_REQUEST: 'BAD_REQUEST',
48
+ MISSING_PARAMETER: 'MISSING_PARAMETER',
49
+ INVALID_FORMAT: 'INVALID_FORMAT',
50
+ // Resource errors
51
+ NOT_FOUND: 'NOT_FOUND',
52
+ ALREADY_EXISTS: 'ALREADY_EXISTS',
53
+ CONFLICT: 'CONFLICT',
54
+ // Server errors
55
+ INTERNAL_ERROR: 'INTERNAL_ERROR',
56
+ SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE',
57
+ TIMEOUT: 'TIMEOUT',
58
+ // Network errors
59
+ NETWORK_ERROR: 'NETWORK_ERROR',
60
+ CONNECTION_FAILED: 'CONNECTION_FAILED',
61
+ // Storage errors
62
+ STORAGE_ERROR: 'STORAGE_ERROR',
63
+ STORAGE_NOT_AVAILABLE: 'STORAGE_NOT_AVAILABLE',
64
+ SECURE_STORAGE_NOT_AVAILABLE: 'SECURE_STORAGE_NOT_AVAILABLE',
65
+ // Unknown
66
+ UNKNOWN_ERROR: 'UNKNOWN_ERROR'
67
+ };
68
+ /**
69
+ * IdentitySessionError - Custom error class for identity and session operations
70
+ */
71
+ class IdentitySessionError extends Error {
72
+ constructor(message, code = IdentitySessionErrorCodes.UNKNOWN_ERROR, statusCode = 500) {
73
+ super(message);
74
+ this.name = 'IdentitySessionError';
75
+ this.code = code;
76
+ this.statusCode = statusCode;
77
+ Object.setPrototypeOf(this, IdentitySessionError.prototype);
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Create error from code
83
+ */
84
+ exports.IdentitySessionError = IdentitySessionError;
85
+ function createIdentitySessionError(code, message, statusCode) {
86
+ const defaultMessages = {
87
+ [IdentitySessionErrorCodes.UNAUTHORIZED]: 'Unauthorized',
88
+ [IdentitySessionErrorCodes.FORBIDDEN]: 'Forbidden',
89
+ [IdentitySessionErrorCodes.INVALID_TOKEN]: 'Invalid token',
90
+ [IdentitySessionErrorCodes.MISSING_TOKEN]: 'Missing token',
91
+ [IdentitySessionErrorCodes.TOKEN_EXPIRED]: 'Token has expired',
92
+ [IdentitySessionErrorCodes.TOKEN_NOT_YET_VALID]: 'Token not yet valid',
93
+ [IdentitySessionErrorCodes.INVALID_SIGNATURE]: 'Token signature is invalid',
94
+ [IdentitySessionErrorCodes.MALFORMED_TOKEN]: 'Token format is invalid',
95
+ [IdentitySessionErrorCodes.INVALID_SESSION]: 'Invalid session',
96
+ [IdentitySessionErrorCodes.IDENTITY_NOT_FOUND]: 'Identity not found',
97
+ [IdentitySessionErrorCodes.IDENTITY_ALREADY_EXISTS]: 'Identity already exists',
98
+ [IdentitySessionErrorCodes.IDENTITY_NOT_AVAILABLE_ON_WEB]: 'Identity operations are only available on native platforms',
99
+ [IdentitySessionErrorCodes.IDENTITY_NOT_SYNCED]: 'Identity not synced with server',
100
+ [IdentitySessionErrorCodes.INVALID_PUBLIC_KEY]: 'Invalid public key',
101
+ [IdentitySessionErrorCodes.INVALID_PRIVATE_KEY]: 'Invalid private key',
102
+ [IdentitySessionErrorCodes.IDENTITY_CREATION_FAILED]: 'Failed to create identity',
103
+ [IdentitySessionErrorCodes.IDENTITY_IMPORT_FAILED]: 'Failed to import identity',
104
+ [IdentitySessionErrorCodes.IDENTITY_DELETE_FAILED]: 'Failed to delete identity',
105
+ [IdentitySessionErrorCodes.BACKUP_DECRYPTION_FAILED]: 'Failed to decrypt backup',
106
+ [IdentitySessionErrorCodes.SESSION_NOT_FOUND]: 'Session not found',
107
+ [IdentitySessionErrorCodes.SESSION_EXPIRED]: 'Session expired',
108
+ [IdentitySessionErrorCodes.SESSION_INVALID]: 'Session invalid',
109
+ [IdentitySessionErrorCodes.SESSION_CREATION_FAILED]: 'Failed to create session',
110
+ [IdentitySessionErrorCodes.SESSION_REFRESH_FAILED]: 'Failed to refresh session',
111
+ [IdentitySessionErrorCodes.DEVICE_NOT_FOUND]: 'Device not found',
112
+ [IdentitySessionErrorCodes.DEVICE_CREATION_FAILED]: 'Failed to create device',
113
+ [IdentitySessionErrorCodes.VALIDATION_ERROR]: 'Validation error',
114
+ [IdentitySessionErrorCodes.BAD_REQUEST]: 'Bad request',
115
+ [IdentitySessionErrorCodes.MISSING_PARAMETER]: 'Missing required parameter',
116
+ [IdentitySessionErrorCodes.INVALID_FORMAT]: 'Invalid format',
117
+ [IdentitySessionErrorCodes.NOT_FOUND]: 'Resource not found',
118
+ [IdentitySessionErrorCodes.ALREADY_EXISTS]: 'Resource already exists',
119
+ [IdentitySessionErrorCodes.CONFLICT]: 'Conflict',
120
+ [IdentitySessionErrorCodes.INTERNAL_ERROR]: 'Internal server error',
121
+ [IdentitySessionErrorCodes.SERVICE_UNAVAILABLE]: 'Service unavailable',
122
+ [IdentitySessionErrorCodes.TIMEOUT]: 'Request timeout',
123
+ [IdentitySessionErrorCodes.NETWORK_ERROR]: 'Network error',
124
+ [IdentitySessionErrorCodes.CONNECTION_FAILED]: 'Connection failed',
125
+ [IdentitySessionErrorCodes.STORAGE_ERROR]: 'Storage error',
126
+ [IdentitySessionErrorCodes.STORAGE_NOT_AVAILABLE]: 'Storage not available',
127
+ [IdentitySessionErrorCodes.SECURE_STORAGE_NOT_AVAILABLE]: 'Secure storage not available',
128
+ [IdentitySessionErrorCodes.UNKNOWN_ERROR]: 'Unknown error'
129
+ };
130
+ const defaultStatusCodes = {
131
+ [IdentitySessionErrorCodes.UNAUTHORIZED]: 401,
132
+ [IdentitySessionErrorCodes.FORBIDDEN]: 403,
133
+ [IdentitySessionErrorCodes.INVALID_TOKEN]: 401,
134
+ [IdentitySessionErrorCodes.MISSING_TOKEN]: 401,
135
+ [IdentitySessionErrorCodes.TOKEN_EXPIRED]: 401,
136
+ [IdentitySessionErrorCodes.TOKEN_NOT_YET_VALID]: 401,
137
+ [IdentitySessionErrorCodes.INVALID_SIGNATURE]: 401,
138
+ [IdentitySessionErrorCodes.MALFORMED_TOKEN]: 401,
139
+ [IdentitySessionErrorCodes.INVALID_SESSION]: 401,
140
+ [IdentitySessionErrorCodes.IDENTITY_NOT_FOUND]: 404,
141
+ [IdentitySessionErrorCodes.IDENTITY_ALREADY_EXISTS]: 409,
142
+ [IdentitySessionErrorCodes.IDENTITY_NOT_AVAILABLE_ON_WEB]: 400,
143
+ [IdentitySessionErrorCodes.IDENTITY_NOT_SYNCED]: 400,
144
+ [IdentitySessionErrorCodes.INVALID_PUBLIC_KEY]: 400,
145
+ [IdentitySessionErrorCodes.INVALID_PRIVATE_KEY]: 400,
146
+ [IdentitySessionErrorCodes.IDENTITY_CREATION_FAILED]: 500,
147
+ [IdentitySessionErrorCodes.IDENTITY_IMPORT_FAILED]: 500,
148
+ [IdentitySessionErrorCodes.IDENTITY_DELETE_FAILED]: 500,
149
+ [IdentitySessionErrorCodes.BACKUP_DECRYPTION_FAILED]: 400,
150
+ [IdentitySessionErrorCodes.SESSION_NOT_FOUND]: 404,
151
+ [IdentitySessionErrorCodes.SESSION_EXPIRED]: 401,
152
+ [IdentitySessionErrorCodes.SESSION_INVALID]: 401,
153
+ [IdentitySessionErrorCodes.SESSION_CREATION_FAILED]: 500,
154
+ [IdentitySessionErrorCodes.SESSION_REFRESH_FAILED]: 500,
155
+ [IdentitySessionErrorCodes.DEVICE_NOT_FOUND]: 404,
156
+ [IdentitySessionErrorCodes.DEVICE_CREATION_FAILED]: 500,
157
+ [IdentitySessionErrorCodes.VALIDATION_ERROR]: 400,
158
+ [IdentitySessionErrorCodes.BAD_REQUEST]: 400,
159
+ [IdentitySessionErrorCodes.MISSING_PARAMETER]: 400,
160
+ [IdentitySessionErrorCodes.INVALID_FORMAT]: 400,
161
+ [IdentitySessionErrorCodes.NOT_FOUND]: 404,
162
+ [IdentitySessionErrorCodes.ALREADY_EXISTS]: 409,
163
+ [IdentitySessionErrorCodes.CONFLICT]: 409,
164
+ [IdentitySessionErrorCodes.INTERNAL_ERROR]: 500,
165
+ [IdentitySessionErrorCodes.SERVICE_UNAVAILABLE]: 503,
166
+ [IdentitySessionErrorCodes.TIMEOUT]: 408,
167
+ [IdentitySessionErrorCodes.NETWORK_ERROR]: 503,
168
+ [IdentitySessionErrorCodes.CONNECTION_FAILED]: 503,
169
+ [IdentitySessionErrorCodes.STORAGE_ERROR]: 500,
170
+ [IdentitySessionErrorCodes.STORAGE_NOT_AVAILABLE]: 503,
171
+ [IdentitySessionErrorCodes.SECURE_STORAGE_NOT_AVAILABLE]: 503,
172
+ [IdentitySessionErrorCodes.UNKNOWN_ERROR]: 500
173
+ };
174
+ return new IdentitySessionError(message || defaultMessages[code], code, statusCode || defaultStatusCodes[code]);
175
+ }
176
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IdentitySessionErrorCodes","exports","UNAUTHORIZED","FORBIDDEN","INVALID_TOKEN","MISSING_TOKEN","TOKEN_EXPIRED","TOKEN_NOT_YET_VALID","INVALID_SIGNATURE","MALFORMED_TOKEN","INVALID_SESSION","IDENTITY_NOT_FOUND","IDENTITY_ALREADY_EXISTS","IDENTITY_NOT_AVAILABLE_ON_WEB","IDENTITY_NOT_SYNCED","INVALID_PUBLIC_KEY","INVALID_PRIVATE_KEY","IDENTITY_CREATION_FAILED","IDENTITY_IMPORT_FAILED","IDENTITY_DELETE_FAILED","BACKUP_DECRYPTION_FAILED","SESSION_NOT_FOUND","SESSION_EXPIRED","SESSION_INVALID","SESSION_CREATION_FAILED","SESSION_REFRESH_FAILED","DEVICE_NOT_FOUND","DEVICE_CREATION_FAILED","VALIDATION_ERROR","BAD_REQUEST","MISSING_PARAMETER","INVALID_FORMAT","NOT_FOUND","ALREADY_EXISTS","CONFLICT","INTERNAL_ERROR","SERVICE_UNAVAILABLE","TIMEOUT","NETWORK_ERROR","CONNECTION_FAILED","STORAGE_ERROR","STORAGE_NOT_AVAILABLE","SECURE_STORAGE_NOT_AVAILABLE","UNKNOWN_ERROR","IdentitySessionError","Error","constructor","message","code","statusCode","name","Object","setPrototypeOf","prototype","createIdentitySessionError","defaultMessages","defaultStatusCodes"],"sourceRoot":"../../../../src","sources":["core/identity-session/errors.ts"],"mappings":"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","ignoreList":[]}