@roomi-fields/notebooklm-mcp 1.3.4 → 1.3.6

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 (96) hide show
  1. package/README.md +164 -715
  2. package/dist/__tests__/cleanup-manager.test.d.ts +2 -0
  3. package/dist/__tests__/cleanup-manager.test.d.ts.map +1 -0
  4. package/dist/__tests__/cleanup-manager.test.js +341 -0
  5. package/dist/__tests__/cleanup-manager.test.js.map +1 -0
  6. package/dist/__tests__/config-parsing.test.d.ts +2 -0
  7. package/dist/__tests__/config-parsing.test.d.ts.map +1 -0
  8. package/dist/__tests__/config-parsing.test.js +338 -0
  9. package/dist/__tests__/config-parsing.test.js.map +1 -0
  10. package/dist/__tests__/config.test.d.ts +2 -0
  11. package/dist/__tests__/config.test.d.ts.map +1 -0
  12. package/dist/__tests__/config.test.js +267 -0
  13. package/dist/__tests__/config.test.js.map +1 -0
  14. package/dist/__tests__/errors.test.d.ts +2 -0
  15. package/dist/__tests__/errors.test.d.ts.map +1 -0
  16. package/dist/__tests__/errors.test.js +166 -0
  17. package/dist/__tests__/errors.test.js.map +1 -0
  18. package/dist/__tests__/logger.test.d.ts +2 -0
  19. package/dist/__tests__/logger.test.d.ts.map +1 -0
  20. package/dist/__tests__/logger.test.js +324 -0
  21. package/dist/__tests__/logger.test.js.map +1 -0
  22. package/dist/__tests__/page-utils.test.d.ts +2 -0
  23. package/dist/__tests__/page-utils.test.d.ts.map +1 -0
  24. package/dist/__tests__/page-utils.test.js +349 -0
  25. package/dist/__tests__/page-utils.test.js.map +1 -0
  26. package/dist/__tests__/setup-verification.test.d.ts +2 -0
  27. package/dist/__tests__/setup-verification.test.d.ts.map +1 -0
  28. package/dist/__tests__/setup-verification.test.js +15 -0
  29. package/dist/__tests__/setup-verification.test.js.map +1 -0
  30. package/dist/__tests__/stealth-utils.test.d.ts +2 -0
  31. package/dist/__tests__/stealth-utils.test.d.ts.map +1 -0
  32. package/dist/__tests__/stealth-utils.test.js +413 -0
  33. package/dist/__tests__/stealth-utils.test.js.map +1 -0
  34. package/dist/__tests__/types.test.d.ts +2 -0
  35. package/dist/__tests__/types.test.d.ts.map +1 -0
  36. package/dist/__tests__/types.test.js +461 -0
  37. package/dist/__tests__/types.test.js.map +1 -0
  38. package/dist/auth/auth-manager.d.ts +2 -2
  39. package/dist/auth/auth-manager.d.ts.map +1 -1
  40. package/dist/auth/auth-manager.js +147 -145
  41. package/dist/auth/auth-manager.js.map +1 -1
  42. package/dist/auto-discovery/auto-discovery.d.ts.map +1 -1
  43. package/dist/auto-discovery/auto-discovery.js +17 -17
  44. package/dist/auto-discovery/auto-discovery.js.map +1 -1
  45. package/dist/cli/de-auth.js +19 -19
  46. package/dist/cli/help.js +60 -60
  47. package/dist/cli/setup-auth.js +39 -39
  48. package/dist/config.d.ts +1 -1
  49. package/dist/config.d.ts.map +1 -1
  50. package/dist/config.js +35 -20
  51. package/dist/config.js.map +1 -1
  52. package/dist/errors.d.ts.map +1 -1
  53. package/dist/errors.js +3 -3
  54. package/dist/errors.js.map +1 -1
  55. package/dist/http-wrapper.js +36 -30
  56. package/dist/http-wrapper.js.map +1 -1
  57. package/dist/index.js +104 -102
  58. package/dist/index.js.map +1 -1
  59. package/dist/library/notebook-library.d.ts +2 -2
  60. package/dist/library/notebook-library.d.ts.map +1 -1
  61. package/dist/library/notebook-library.js +24 -24
  62. package/dist/library/notebook-library.js.map +1 -1
  63. package/dist/session/browser-session.d.ts +4 -4
  64. package/dist/session/browser-session.d.ts.map +1 -1
  65. package/dist/session/browser-session.js +59 -55
  66. package/dist/session/browser-session.js.map +1 -1
  67. package/dist/session/session-manager.d.ts +3 -3
  68. package/dist/session/session-manager.d.ts.map +1 -1
  69. package/dist/session/session-manager.js +14 -14
  70. package/dist/session/session-manager.js.map +1 -1
  71. package/dist/session/shared-context-manager.d.ts +2 -2
  72. package/dist/session/shared-context-manager.d.ts.map +1 -1
  73. package/dist/session/shared-context-manager.js +60 -56
  74. package/dist/session/shared-context-manager.js.map +1 -1
  75. package/dist/tools/index.d.ts +6 -6
  76. package/dist/tools/index.d.ts.map +1 -1
  77. package/dist/tools/index.js +505 -505
  78. package/dist/tools/index.js.map +1 -1
  79. package/dist/types.d.ts +2 -2
  80. package/dist/utils/cleanup-manager.d.ts +1 -1
  81. package/dist/utils/cleanup-manager.d.ts.map +1 -1
  82. package/dist/utils/cleanup-manager.js +90 -92
  83. package/dist/utils/cleanup-manager.js.map +1 -1
  84. package/dist/utils/logger.d.ts +1 -2
  85. package/dist/utils/logger.d.ts.map +1 -1
  86. package/dist/utils/logger.js +15 -15
  87. package/dist/utils/page-utils.d.ts +1 -1
  88. package/dist/utils/page-utils.d.ts.map +1 -1
  89. package/dist/utils/page-utils.js +30 -30
  90. package/dist/utils/page-utils.js.map +1 -1
  91. package/dist/utils/stealth-utils.d.ts +2 -2
  92. package/dist/utils/stealth-utils.d.ts.map +1 -1
  93. package/dist/utils/stealth-utils.js +13 -13
  94. package/dist/utils/stealth-utils.js.map +1 -1
  95. package/docs/CHROME_PROFILE_LIMITATION.md +229 -212
  96. package/package.json +107 -79
@@ -0,0 +1,461 @@
1
+ import { describe, it, expect } from '@jest/globals';
2
+ describe('Type Definitions', () => {
3
+ describe('SessionInfo', () => {
4
+ it('should accept valid session info', () => {
5
+ const sessionInfo = {
6
+ id: 'session-123',
7
+ created_at: Date.now(),
8
+ last_activity: Date.now(),
9
+ age_seconds: 60,
10
+ inactive_seconds: 10,
11
+ message_count: 5,
12
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
13
+ };
14
+ expect(sessionInfo.id).toBeTruthy();
15
+ expect(typeof sessionInfo.id).toBe('string');
16
+ expect(typeof sessionInfo.created_at).toBe('number');
17
+ expect(typeof sessionInfo.last_activity).toBe('number');
18
+ expect(typeof sessionInfo.age_seconds).toBe('number');
19
+ expect(typeof sessionInfo.inactive_seconds).toBe('number');
20
+ expect(typeof sessionInfo.message_count).toBe('number');
21
+ expect(typeof sessionInfo.notebook_url).toBe('string');
22
+ });
23
+ it('should handle zero message count', () => {
24
+ const sessionInfo = {
25
+ id: 'session-new',
26
+ created_at: Date.now(),
27
+ last_activity: Date.now(),
28
+ age_seconds: 0,
29
+ inactive_seconds: 0,
30
+ message_count: 0,
31
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
32
+ };
33
+ expect(sessionInfo.message_count).toBe(0);
34
+ expect(sessionInfo.age_seconds).toBe(0);
35
+ });
36
+ it('should handle long-running sessions', () => {
37
+ const sessionInfo = {
38
+ id: 'session-old',
39
+ created_at: Date.now() - 3600000,
40
+ last_activity: Date.now(),
41
+ age_seconds: 3600,
42
+ inactive_seconds: 0,
43
+ message_count: 100,
44
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
45
+ };
46
+ expect(sessionInfo.age_seconds).toBeGreaterThan(0);
47
+ expect(sessionInfo.message_count).toBeGreaterThan(0);
48
+ });
49
+ it('should handle inactive sessions', () => {
50
+ const sessionInfo = {
51
+ id: 'session-inactive',
52
+ created_at: Date.now() - 3600000,
53
+ last_activity: Date.now() - 1800000,
54
+ age_seconds: 3600,
55
+ inactive_seconds: 1800,
56
+ message_count: 5,
57
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
58
+ };
59
+ expect(sessionInfo.inactive_seconds).toBeGreaterThan(0);
60
+ expect(sessionInfo.last_activity).toBeLessThan(Date.now());
61
+ });
62
+ });
63
+ describe('AskQuestionResult', () => {
64
+ it('should accept successful result', () => {
65
+ const result = {
66
+ status: 'success',
67
+ question: 'What is the capital of France?',
68
+ answer: 'Paris is the capital of France.',
69
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
70
+ session_id: 'session-123',
71
+ session_info: {
72
+ age_seconds: 60,
73
+ message_count: 5,
74
+ last_activity: Date.now(),
75
+ },
76
+ };
77
+ expect(result.status).toBe('success');
78
+ expect(result.answer).toBeDefined();
79
+ expect(result.error).toBeUndefined();
80
+ });
81
+ it('should accept error result', () => {
82
+ const result = {
83
+ status: 'error',
84
+ question: 'What is the capital of France?',
85
+ error: 'Failed to get answer',
86
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
87
+ };
88
+ expect(result.status).toBe('error');
89
+ expect(result.error).toBeDefined();
90
+ expect(result.answer).toBeUndefined();
91
+ });
92
+ it('should accept result without session info', () => {
93
+ const result = {
94
+ status: 'success',
95
+ question: 'Test question',
96
+ answer: 'Test answer',
97
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
98
+ };
99
+ expect(result.session_id).toBeUndefined();
100
+ expect(result.session_info).toBeUndefined();
101
+ });
102
+ it('should handle empty question', () => {
103
+ const result = {
104
+ status: 'error',
105
+ question: '',
106
+ error: 'Question is required',
107
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
108
+ };
109
+ expect(result.question).toBe('');
110
+ expect(result.status).toBe('error');
111
+ });
112
+ it('should handle long answers', () => {
113
+ const longAnswer = 'A'.repeat(10000);
114
+ const result = {
115
+ status: 'success',
116
+ question: 'Tell me a long story',
117
+ answer: longAnswer,
118
+ notebook_url: 'https://notebooklm.google.com/notebook/abc',
119
+ };
120
+ expect(result.answer?.length).toBe(10000);
121
+ });
122
+ });
123
+ describe('ToolResult', () => {
124
+ it('should accept successful result with data', () => {
125
+ const result = {
126
+ success: true,
127
+ data: 'Operation completed',
128
+ };
129
+ expect(result.success).toBe(true);
130
+ expect(result.data).toBe('Operation completed');
131
+ expect(result.error).toBeUndefined();
132
+ });
133
+ it('should accept error result', () => {
134
+ const result = {
135
+ success: false,
136
+ error: 'Operation failed',
137
+ };
138
+ expect(result.success).toBe(false);
139
+ expect(result.error).toBe('Operation failed');
140
+ expect(result.data).toBeUndefined();
141
+ });
142
+ it('should accept generic type parameter', () => {
143
+ const numberResult = {
144
+ success: true,
145
+ data: 42,
146
+ };
147
+ const objectResult = {
148
+ success: true,
149
+ data: { count: 5 },
150
+ };
151
+ expect(numberResult.data).toBe(42);
152
+ expect(objectResult.data?.count).toBe(5);
153
+ });
154
+ it('should accept any type as default', () => {
155
+ const result = {
156
+ success: true,
157
+ data: { anything: 'goes', here: true, count: 123 },
158
+ };
159
+ expect(result.success).toBe(true);
160
+ expect(result.data).toBeDefined();
161
+ });
162
+ it('should handle undefined data', () => {
163
+ const result = {
164
+ success: true,
165
+ data: undefined,
166
+ };
167
+ expect(result.success).toBe(true);
168
+ expect(result.data).toBeUndefined();
169
+ });
170
+ });
171
+ describe('Tool', () => {
172
+ it('should accept valid tool definition', () => {
173
+ const tool = {
174
+ name: 'ask_question',
175
+ title: 'Ask Question',
176
+ description: 'Ask a question to NotebookLM',
177
+ inputSchema: {
178
+ type: 'object',
179
+ properties: {
180
+ question: { type: 'string', description: 'The question to ask' },
181
+ },
182
+ required: ['question'],
183
+ },
184
+ };
185
+ expect(tool.name).toBe('ask_question');
186
+ expect(tool.title).toBe('Ask Question');
187
+ expect(tool.description).toBeTruthy();
188
+ expect(tool.inputSchema.type).toBe('object');
189
+ });
190
+ it('should accept tool without title', () => {
191
+ const tool = {
192
+ name: 'get_health',
193
+ description: 'Get server health',
194
+ inputSchema: {
195
+ type: 'object',
196
+ properties: {},
197
+ },
198
+ };
199
+ expect(tool.title).toBeUndefined();
200
+ expect(tool.name).toBe('get_health');
201
+ });
202
+ it('should accept tool with no required fields', () => {
203
+ const tool = {
204
+ name: 'list_notebooks',
205
+ description: 'List all notebooks',
206
+ inputSchema: {
207
+ type: 'object',
208
+ properties: {
209
+ limit: { type: 'number', description: 'Max results' },
210
+ },
211
+ },
212
+ };
213
+ expect(tool.inputSchema.required).toBeUndefined();
214
+ });
215
+ it('should accept tool with multiple required fields', () => {
216
+ const tool = {
217
+ name: 'create_notebook',
218
+ description: 'Create a notebook',
219
+ inputSchema: {
220
+ type: 'object',
221
+ properties: {
222
+ name: { type: 'string' },
223
+ description: { type: 'string' },
224
+ },
225
+ required: ['name', 'description'],
226
+ },
227
+ };
228
+ expect(tool.inputSchema.required).toHaveLength(2);
229
+ expect(tool.inputSchema.required).toContain('name');
230
+ });
231
+ it('should accept complex property definitions', () => {
232
+ const tool = {
233
+ name: 'complex_tool',
234
+ description: 'A complex tool',
235
+ inputSchema: {
236
+ type: 'object',
237
+ properties: {
238
+ options: {
239
+ type: 'object',
240
+ properties: {
241
+ enabled: { type: 'boolean' },
242
+ count: { type: 'number' },
243
+ },
244
+ },
245
+ tags: {
246
+ type: 'array',
247
+ items: { type: 'string' },
248
+ },
249
+ },
250
+ },
251
+ };
252
+ expect(tool.inputSchema.properties.options).toBeDefined();
253
+ expect(tool.inputSchema.properties.tags).toBeDefined();
254
+ });
255
+ });
256
+ describe('TypingOptions', () => {
257
+ it('should accept valid options', () => {
258
+ const options = {
259
+ wpm: 180,
260
+ withTypos: true,
261
+ };
262
+ expect(options.wpm).toBe(180);
263
+ expect(options.withTypos).toBe(true);
264
+ });
265
+ it('should accept partial options', () => {
266
+ const options1 = { wpm: 200 };
267
+ const options2 = { withTypos: false };
268
+ const options3 = {};
269
+ expect(options1.withTypos).toBeUndefined();
270
+ expect(options2.wpm).toBeUndefined();
271
+ expect(options3.wpm).toBeUndefined();
272
+ });
273
+ it('should accept various WPM values', () => {
274
+ const slow = { wpm: 60 };
275
+ const fast = { wpm: 300 };
276
+ const zero = { wpm: 0 };
277
+ expect(slow.wpm).toBe(60);
278
+ expect(fast.wpm).toBe(300);
279
+ expect(zero.wpm).toBe(0);
280
+ });
281
+ it('should accept typo configurations', () => {
282
+ const withTypos = { withTypos: true };
283
+ const noTypos = { withTypos: false };
284
+ expect(withTypos.withTypos).toBe(true);
285
+ expect(noTypos.withTypos).toBe(false);
286
+ });
287
+ });
288
+ describe('WaitForAnswerOptions', () => {
289
+ it('should accept all options', () => {
290
+ const options = {
291
+ question: 'What is AI?',
292
+ timeoutMs: 120000,
293
+ pollIntervalMs: 1000,
294
+ ignoreTexts: ['Loading...', 'Please wait...'],
295
+ debug: true,
296
+ };
297
+ expect(options.question).toBe('What is AI?');
298
+ expect(options.timeoutMs).toBe(120000);
299
+ expect(options.pollIntervalMs).toBe(1000);
300
+ expect(options.ignoreTexts).toHaveLength(2);
301
+ expect(options.debug).toBe(true);
302
+ });
303
+ it('should accept empty options', () => {
304
+ const options = {};
305
+ expect(options.question).toBeUndefined();
306
+ expect(options.timeoutMs).toBeUndefined();
307
+ expect(options.pollIntervalMs).toBeUndefined();
308
+ expect(options.ignoreTexts).toBeUndefined();
309
+ expect(options.debug).toBeUndefined();
310
+ });
311
+ it('should accept partial options', () => {
312
+ const options = {
313
+ timeoutMs: 60000,
314
+ debug: true,
315
+ };
316
+ expect(options.timeoutMs).toBe(60000);
317
+ expect(options.debug).toBe(true);
318
+ expect(options.question).toBeUndefined();
319
+ });
320
+ it('should accept empty ignore texts', () => {
321
+ const options = {
322
+ ignoreTexts: [],
323
+ };
324
+ expect(options.ignoreTexts).toEqual([]);
325
+ expect(options.ignoreTexts).toHaveLength(0);
326
+ });
327
+ it('should accept various timeout values', () => {
328
+ const short = { timeoutMs: 30000 };
329
+ const long = { timeoutMs: 300000 };
330
+ expect(short.timeoutMs).toBe(30000);
331
+ expect(long.timeoutMs).toBe(300000);
332
+ });
333
+ });
334
+ describe('ProgressCallback', () => {
335
+ it('should accept valid callback function', async () => {
336
+ const callback = async (message, _progress, _total) => {
337
+ expect(typeof message).toBe('string');
338
+ };
339
+ await callback('Processing...', 1, 10);
340
+ });
341
+ it('should accept callback with all parameters', async () => {
342
+ const callback = async (message, progress, total) => {
343
+ expect(message).toBe('Step 1');
344
+ expect(progress).toBe(1);
345
+ expect(total).toBe(5);
346
+ };
347
+ await callback('Step 1', 1, 5);
348
+ });
349
+ it('should accept callback with optional parameters', async () => {
350
+ const callback = async (message) => {
351
+ expect(message).toBeTruthy();
352
+ };
353
+ await callback('Message only');
354
+ });
355
+ it('should return promise', async () => {
356
+ const callback = async (_message) => {
357
+ return Promise.resolve();
358
+ };
359
+ const result = callback('Test');
360
+ expect(result).toBeInstanceOf(Promise);
361
+ await result;
362
+ });
363
+ it('should handle async operations', async () => {
364
+ let called = false;
365
+ const callback = async (_message) => {
366
+ await new Promise((resolve) => setTimeout(resolve, 10));
367
+ called = true;
368
+ };
369
+ await callback('Test');
370
+ expect(called).toBe(true);
371
+ });
372
+ });
373
+ describe('ServerState', () => {
374
+ it('should accept valid server state', () => {
375
+ const state = {
376
+ playwright: {},
377
+ sessionManager: {},
378
+ authManager: {},
379
+ };
380
+ expect(state.playwright).toBeDefined();
381
+ expect(state.sessionManager).toBeDefined();
382
+ expect(state.authManager).toBeDefined();
383
+ });
384
+ it('should accept actual manager instances', () => {
385
+ const mockPlaywright = { launch: () => { } };
386
+ const mockSessionManager = { getSessions: () => [] };
387
+ const mockAuthManager = { isAuthenticated: () => false };
388
+ const state = {
389
+ playwright: mockPlaywright,
390
+ sessionManager: mockSessionManager,
391
+ authManager: mockAuthManager,
392
+ };
393
+ expect(state.playwright).toBe(mockPlaywright);
394
+ expect(state.sessionManager).toBe(mockSessionManager);
395
+ expect(state.authManager).toBe(mockAuthManager);
396
+ });
397
+ it('should accept any type for managers', () => {
398
+ const state = {
399
+ playwright: null,
400
+ sessionManager: undefined,
401
+ authManager: { custom: 'property' },
402
+ };
403
+ expect(state.playwright).toBeNull();
404
+ expect(state.sessionManager).toBeUndefined();
405
+ expect(state.authManager).toBeDefined();
406
+ });
407
+ });
408
+ describe('Type compatibility', () => {
409
+ it('should allow session info in ask result', () => {
410
+ const sessionInfo = {
411
+ age_seconds: 60,
412
+ message_count: 5,
413
+ last_activity: Date.now(),
414
+ };
415
+ const result = {
416
+ status: 'success',
417
+ question: 'Test',
418
+ answer: 'Answer',
419
+ notebook_url: 'https://example.com',
420
+ session_info: sessionInfo,
421
+ };
422
+ expect(result.session_info).toBeDefined();
423
+ expect(result.session_info?.age_seconds).toBe(60);
424
+ });
425
+ it('should allow ToolResult with SessionInfo', () => {
426
+ const sessionInfo = {
427
+ id: 'session-123',
428
+ created_at: Date.now(),
429
+ last_activity: Date.now(),
430
+ age_seconds: 60,
431
+ inactive_seconds: 10,
432
+ message_count: 5,
433
+ notebook_url: 'https://example.com',
434
+ };
435
+ const result = {
436
+ success: true,
437
+ data: sessionInfo,
438
+ };
439
+ expect(result.data?.id).toBe('session-123');
440
+ });
441
+ it('should allow ToolResult with arrays', () => {
442
+ const sessions = [
443
+ {
444
+ id: 'session-1',
445
+ created_at: Date.now(),
446
+ last_activity: Date.now(),
447
+ age_seconds: 60,
448
+ inactive_seconds: 10,
449
+ message_count: 5,
450
+ notebook_url: 'https://example.com',
451
+ },
452
+ ];
453
+ const result = {
454
+ success: true,
455
+ data: sessions,
456
+ };
457
+ expect(result.data).toHaveLength(1);
458
+ });
459
+ });
460
+ });
461
+ //# sourceMappingURL=types.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@
11
11
  *
12
12
  * Based on the Python implementation from auth.py
13
13
  */
14
- import type { BrowserContext, Page } from "patchright";
15
- import type { ProgressCallback } from "../types.js";
14
+ import type { BrowserContext, Page } from 'patchright';
15
+ import type { ProgressCallback } from '../types.js';
16
16
  export declare class AuthManager {
17
17
  private stateFilePath;
18
18
  private sessionFilePath;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-manager.d.ts","sourceRoot":"","sources":["../../src/auth/auth-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAiB,MAAM,YAAY,CAAC;AAYtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiBpD,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;;IAWhC;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA2C9E;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IASvC;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAQ7B;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAejD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAgBlE;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC9D;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAiDtE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBxC;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqGjF;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IA2InB;;;;;OAKG;YACW,yBAAyB;IA4BvC;;;;;OAKG;YACW,eAAe;IAsB7B;;OAEG;YACW,oBAAoB;IA+BlC;;OAEG;YACW,cAAc;IA2H5B;;OAEG;YACW,YAAY;IA+F1B;;OAEG;YACW,SAAS;IAiBvB;;OAEG;IACH,OAAO,CAAC,SAAS;IAejB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBjF;;;;;;;;;;;;;;;;OAgBG;IACG,YAAY,CAAC,YAAY,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoFjG;;;;;;;;;OASG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBpC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAgDzC"}
1
+ {"version":3,"file":"auth-manager.d.ts","sourceRoot":"","sources":["../../src/auth/auth-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAiB,MAAM,YAAY,CAAC;AAYtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiBpD,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;;IAWhC;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA2C9E;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IASvC;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAQ7B;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAejD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAgBlE;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC9D;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA+CtE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBxC;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqGjF;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IAsInB;;;;;OAKG;YACW,yBAAyB;IAyBvC;;;;;OAKG;YACW,eAAe;IAsB7B;;OAEG;YACW,oBAAoB;IA+BlC;;OAEG;YACW,cAAc;IA6H5B;;OAEG;YACW,YAAY;IAiG1B;;OAEG;YACW,SAAS;IAiBvB;;OAEG;IACH,OAAO,CAAC,SAAS;IAejB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBjF;;;;;;;;;;;;;;;;OAgBG;IACG,YAAY,CAChB,YAAY,CAAC,EAAE,gBAAgB,EAC/B,gBAAgB,CAAC,EAAE,OAAO,GACzB,OAAO,CAAC,OAAO,CAAC;IAiFnB;;;;;;;;;OASG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBpC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAgDzC"}