@oxyhq/services 5.5.6 → 5.5.8

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 (34) hide show
  1. package/lib/commonjs/core/index.js +13 -13
  2. package/lib/commonjs/core/index.js.map +1 -1
  3. package/lib/commonjs/ui/context/OxyContext.js +467 -87
  4. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  5. package/lib/commonjs/ui/hooks/useAuthFetch.js +79 -29
  6. package/lib/commonjs/ui/hooks/useAuthFetch.js.map +1 -1
  7. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  8. package/lib/module/core/index.js +13 -6
  9. package/lib/module/core/index.js.map +1 -1
  10. package/lib/module/ui/context/OxyContext.js +467 -87
  11. package/lib/module/ui/context/OxyContext.js.map +1 -1
  12. package/lib/module/ui/hooks/useAuthFetch.js +79 -29
  13. package/lib/module/ui/hooks/useAuthFetch.js.map +1 -1
  14. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  15. package/lib/typescript/core/index.d.ts +7 -6
  16. package/lib/typescript/core/index.d.ts.map +1 -1
  17. package/lib/typescript/ui/context/OxyContext.d.ts +11 -7
  18. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  19. package/lib/typescript/ui/hooks/useAuthFetch.d.ts +10 -4
  20. package/lib/typescript/ui/hooks/useAuthFetch.d.ts.map +1 -1
  21. package/package.json +1 -1
  22. package/src/__tests__/backend-middleware.test.ts +209 -0
  23. package/src/__tests__/ui/hooks/useAuthFetch.test.ts +70 -0
  24. package/src/core/index.ts +13 -7
  25. package/src/ui/context/OxyContext.tsx +522 -99
  26. package/src/ui/hooks/useAuthFetch.ts +83 -29
  27. package/src/ui/screens/SessionManagementScreen.tsx +9 -9
  28. package/lib/commonjs/core/AuthManager.js +0 -352
  29. package/lib/commonjs/core/AuthManager.js.map +0 -1
  30. package/lib/module/core/AuthManager.js +0 -347
  31. package/lib/module/core/AuthManager.js.map +0 -1
  32. package/lib/typescript/core/AuthManager.d.ts +0 -100
  33. package/lib/typescript/core/AuthManager.d.ts.map +0 -1
  34. package/src/core/AuthManager.ts +0 -366
@@ -1,347 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * Centralized Authentication Manager
5
- *
6
- * Single source of truth for all authentication operations
7
- * Handles both JWT and session-based authentication seamlessly
8
- */
9
-
10
- export class AuthManager {
11
- currentState = {
12
- isAuthenticated: false,
13
- accessToken: null,
14
- user: null,
15
- activeSessionId: null,
16
- sessions: [],
17
- isLoading: false,
18
- error: null
19
- };
20
- constructor(config) {
21
- this.oxyServices = config.oxyServices;
22
- this.onStateChange = config.onStateChange;
23
- }
24
-
25
- /**
26
- * Get current authentication state
27
- */
28
- getState() {
29
- return {
30
- ...this.currentState
31
- };
32
- }
33
-
34
- /**
35
- * Get access token for API calls
36
- * This is the ONLY method that should be used to get tokens
37
- */
38
- async getAccessToken() {
39
- try {
40
- // If we already have a valid JWT token, return it
41
- let token = this.oxyServices.getAccessToken();
42
- if (token) {
43
- return token;
44
- }
45
-
46
- // If we have an active session, get token from session
47
- if (this.currentState.activeSessionId) {
48
- const tokenData = await this.oxyServices.getTokenBySession(this.currentState.activeSessionId);
49
- token = tokenData.accessToken;
50
-
51
- // Cache it for future calls
52
- this.oxyServices.setTokens(token, '');
53
- return token;
54
- }
55
- return null;
56
- } catch (error) {
57
- console.error('[AuthManager] Failed to get access token:', error);
58
- return null;
59
- }
60
- }
61
-
62
- /**
63
- * Login with username/password
64
- */
65
- async login(username, password, deviceName) {
66
- this.updateState({
67
- isLoading: true,
68
- error: null
69
- });
70
- try {
71
- // Use secure session login
72
- const response = await this.oxyServices.secureLogin(username, password, deviceName);
73
-
74
- // Get and cache the access token
75
- const tokenData = await this.oxyServices.getTokenBySession(response.sessionId);
76
- this.oxyServices.setTokens(tokenData.accessToken, '');
77
-
78
- // Load full user data
79
- const user = await this.oxyServices.getUserBySession(response.sessionId);
80
-
81
- // Load sessions list
82
- const sessions = await this.oxyServices.getSessionsBySessionId(response.sessionId);
83
- this.updateState({
84
- isAuthenticated: true,
85
- accessToken: tokenData.accessToken,
86
- user,
87
- activeSessionId: response.sessionId,
88
- sessions,
89
- isLoading: false,
90
- error: null
91
- });
92
- } catch (error) {
93
- this.updateState({
94
- isLoading: false,
95
- error: error.message || 'Login failed'
96
- });
97
- throw error;
98
- }
99
- }
100
-
101
- /**
102
- * Sign up new user
103
- */
104
- async signUp(username, email, password) {
105
- this.updateState({
106
- isLoading: true,
107
- error: null
108
- });
109
- try {
110
- // Create account
111
- await this.oxyServices.signUp(username, email, password);
112
-
113
- // Auto-login after signup
114
- await this.login(username, password);
115
- } catch (error) {
116
- this.updateState({
117
- isLoading: false,
118
- error: error.message || 'Sign up failed'
119
- });
120
- throw error;
121
- }
122
- }
123
-
124
- /**
125
- * Logout current session or specific session
126
- */
127
- async logout(targetSessionId) {
128
- if (!this.currentState.activeSessionId) return;
129
- const sessionToLogout = targetSessionId || this.currentState.activeSessionId;
130
- try {
131
- await this.oxyServices.logoutSecureSession(this.currentState.activeSessionId, sessionToLogout);
132
- } catch (error) {
133
- console.warn('[AuthManager] Logout API call failed:', error);
134
- }
135
-
136
- // If logging out current session, clear all state
137
- if (sessionToLogout === this.currentState.activeSessionId) {
138
- this.clearAuthState();
139
- } else {
140
- // Just remove the specific session from the list
141
- const updatedSessions = this.currentState.sessions.filter(s => s.sessionId !== sessionToLogout);
142
- this.updateState({
143
- sessions: updatedSessions
144
- });
145
- }
146
- }
147
-
148
- /**
149
- * Initialize authentication from stored data
150
- */
151
- async initialize(activeSessionId) {
152
- if (!activeSessionId) {
153
- this.clearAuthState();
154
- return;
155
- }
156
- this.updateState({
157
- isLoading: true,
158
- error: null
159
- });
160
- try {
161
- // Validate the session
162
- const validation = await this.oxyServices.validateSession(activeSessionId);
163
- if (!validation.valid) {
164
- this.clearAuthState();
165
- return;
166
- }
167
-
168
- // Get access token
169
- const tokenData = await this.oxyServices.getTokenBySession(activeSessionId);
170
- this.oxyServices.setTokens(tokenData.accessToken, '');
171
-
172
- // Load user data
173
- const user = await this.oxyServices.getUserBySession(activeSessionId);
174
-
175
- // Load sessions list
176
- const sessions = await this.oxyServices.getSessionsBySessionId(activeSessionId);
177
- this.updateState({
178
- isAuthenticated: true,
179
- accessToken: tokenData.accessToken,
180
- user,
181
- activeSessionId,
182
- sessions,
183
- isLoading: false,
184
- error: null
185
- });
186
- } catch (error) {
187
- console.error('[AuthManager] Initialization failed:', error);
188
- this.clearAuthState();
189
- }
190
- }
191
-
192
- /**
193
- * Refresh current token
194
- */
195
- async refreshToken() {
196
- if (!this.currentState.activeSessionId) {
197
- throw new Error('No active session to refresh');
198
- }
199
- try {
200
- const tokenData = await this.oxyServices.getTokenBySession(this.currentState.activeSessionId);
201
- this.oxyServices.setTokens(tokenData.accessToken, '');
202
- this.updateState({
203
- accessToken: tokenData.accessToken
204
- });
205
- } catch (error) {
206
- console.error('[AuthManager] Token refresh failed:', error);
207
- this.clearAuthState();
208
- throw error;
209
- }
210
- }
211
-
212
- /**
213
- * Check if user is authenticated
214
- */
215
- isAuthenticated() {
216
- return this.currentState.isAuthenticated;
217
- }
218
-
219
- /**
220
- * Get current user
221
- */
222
- getCurrentUser() {
223
- return this.currentState.user;
224
- }
225
-
226
- /**
227
- * Get current session ID
228
- */
229
- getActiveSessionId() {
230
- return this.currentState.activeSessionId;
231
- }
232
-
233
- /**
234
- * Get base URL for API calls
235
- */
236
- getBaseURL() {
237
- return this.oxyServices.getBaseURL();
238
- }
239
-
240
- /**
241
- * Refresh sessions list
242
- */
243
- async refreshSessions() {
244
- if (!this.currentState.activeSessionId) return;
245
- try {
246
- const sessions = await this.oxyServices.getSessionsBySessionId(this.currentState.activeSessionId);
247
- this.updateState({
248
- sessions
249
- });
250
- } catch (error) {
251
- console.error('[AuthManager] Failed to refresh sessions:', error);
252
- }
253
- }
254
-
255
- /**
256
- * Get current sessions
257
- */
258
- getSessions() {
259
- return this.currentState.sessions;
260
- }
261
-
262
- /**
263
- * Switch to a different session
264
- */
265
- async switchSession(sessionId) {
266
- if (sessionId === this.currentState.activeSessionId) return;
267
- this.updateState({
268
- isLoading: true,
269
- error: null
270
- });
271
- try {
272
- // Get access token for this session
273
- const tokenData = await this.oxyServices.getTokenBySession(sessionId);
274
- this.oxyServices.setTokens(tokenData.accessToken, '');
275
-
276
- // Load user data
277
- const user = await this.oxyServices.getUserBySession(sessionId);
278
- this.updateState({
279
- activeSessionId: sessionId,
280
- accessToken: tokenData.accessToken,
281
- user,
282
- isLoading: false
283
- });
284
- } catch (error) {
285
- console.error('[AuthManager] Switch session failed:', error);
286
- this.updateState({
287
- isLoading: false,
288
- error: 'Failed to switch session'
289
- });
290
- throw error;
291
- }
292
- }
293
-
294
- /**
295
- * Remove a session (alias for logout with sessionId)
296
- */
297
- async removeSession(sessionId) {
298
- await this.logout(sessionId);
299
- }
300
-
301
- /**
302
- * Logout all sessions
303
- */
304
- async logoutAll() {
305
- if (!this.currentState.activeSessionId) {
306
- throw new Error('No active session found');
307
- }
308
- try {
309
- await this.oxyServices.logoutAllSecureSessions(this.currentState.activeSessionId);
310
- this.clearAuthState();
311
- } catch (error) {
312
- console.error('[AuthManager] Logout all failed:', error);
313
- throw error;
314
- }
315
- }
316
-
317
- /**
318
- * Clear authentication state
319
- */
320
- clearAuthState() {
321
- this.oxyServices.setTokens('', ''); // Clear tokens from service
322
-
323
- this.updateState({
324
- isAuthenticated: false,
325
- accessToken: null,
326
- user: null,
327
- activeSessionId: null,
328
- sessions: [],
329
- isLoading: false,
330
- error: null
331
- });
332
- }
333
-
334
- /**
335
- * Update state and notify listeners
336
- */
337
- updateState(updates) {
338
- this.currentState = {
339
- ...this.currentState,
340
- ...updates
341
- };
342
- if (this.onStateChange) {
343
- this.onStateChange(this.currentState);
344
- }
345
- }
346
- }
347
- //# sourceMappingURL=AuthManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["AuthManager","currentState","isAuthenticated","accessToken","user","activeSessionId","sessions","isLoading","error","constructor","config","oxyServices","onStateChange","getState","getAccessToken","token","tokenData","getTokenBySession","setTokens","console","login","username","password","deviceName","updateState","response","secureLogin","sessionId","getUserBySession","getSessionsBySessionId","message","signUp","email","logout","targetSessionId","sessionToLogout","logoutSecureSession","warn","clearAuthState","updatedSessions","filter","s","initialize","validation","validateSession","valid","refreshToken","Error","getCurrentUser","getActiveSessionId","getBaseURL","refreshSessions","getSessions","switchSession","removeSession","logoutAll","logoutAllSecureSessions","updates"],"sourceRoot":"../../../src","sources":["core/AuthManager.ts"],"mappings":"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","ignoreList":[]}
@@ -1,100 +0,0 @@
1
- /**
2
- * Centralized Authentication Manager
3
- *
4
- * Single source of truth for all authentication operations
5
- * Handles both JWT and session-based authentication seamlessly
6
- */
7
- import { OxyServices } from './index';
8
- export interface AuthState {
9
- isAuthenticated: boolean;
10
- accessToken: string | null;
11
- user: any | null;
12
- activeSessionId: string | null;
13
- sessions: any[];
14
- isLoading: boolean;
15
- error: string | null;
16
- }
17
- export interface AuthConfig {
18
- oxyServices: OxyServices;
19
- onStateChange?: (state: AuthState) => void;
20
- }
21
- export declare class AuthManager {
22
- private oxyServices;
23
- private onStateChange?;
24
- private currentState;
25
- constructor(config: AuthConfig);
26
- /**
27
- * Get current authentication state
28
- */
29
- getState(): AuthState;
30
- /**
31
- * Get access token for API calls
32
- * This is the ONLY method that should be used to get tokens
33
- */
34
- getAccessToken(): Promise<string | null>;
35
- /**
36
- * Login with username/password
37
- */
38
- login(username: string, password: string, deviceName?: string): Promise<void>;
39
- /**
40
- * Sign up new user
41
- */
42
- signUp(username: string, email: string, password: string): Promise<void>;
43
- /**
44
- * Logout current session or specific session
45
- */
46
- logout(targetSessionId?: string): Promise<void>;
47
- /**
48
- * Initialize authentication from stored data
49
- */
50
- initialize(activeSessionId: string | null): Promise<void>;
51
- /**
52
- * Refresh current token
53
- */
54
- refreshToken(): Promise<void>;
55
- /**
56
- * Check if user is authenticated
57
- */
58
- isAuthenticated(): boolean;
59
- /**
60
- * Get current user
61
- */
62
- getCurrentUser(): any | null;
63
- /**
64
- * Get current session ID
65
- */
66
- getActiveSessionId(): string | null;
67
- /**
68
- * Get base URL for API calls
69
- */
70
- getBaseURL(): string;
71
- /**
72
- * Refresh sessions list
73
- */
74
- refreshSessions(): Promise<void>;
75
- /**
76
- * Get current sessions
77
- */
78
- getSessions(): any[];
79
- /**
80
- * Switch to a different session
81
- */
82
- switchSession(sessionId: string): Promise<void>;
83
- /**
84
- * Remove a session (alias for logout with sessionId)
85
- */
86
- removeSession(sessionId: string): Promise<void>;
87
- /**
88
- * Logout all sessions
89
- */
90
- logoutAll(): Promise<void>;
91
- /**
92
- * Clear authentication state
93
- */
94
- private clearAuthState;
95
- /**
96
- * Update state and notify listeners
97
- */
98
- private updateState;
99
- }
100
- //# sourceMappingURL=AuthManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthManager.d.ts","sourceRoot":"","sources":["../../../src/core/AuthManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CAC5C;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAC,CAA6B;IACnD,OAAO,CAAC,YAAY,CAQlB;gBAEU,MAAM,EAAE,UAAU;IAK9B;;OAEG;IACH,QAAQ,IAAI,SAAS;IAIrB;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyB9C;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnF;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9E;;OAEG;IACG,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BrD;;OAEG;IACG,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C/D;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBnC;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,cAAc,IAAI,GAAG,GAAG,IAAI;IAI5B;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtC;;OAEG;IACH,WAAW,IAAI,GAAG,EAAE;IAIpB;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrD;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAchC;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,WAAW;CAOpB"}