@roomi-fields/notebooklm-mcp 1.3.6 → 1.5.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 (138) hide show
  1. package/README.md +69 -34
  2. package/dist/accounts/account-manager.d.ts +163 -0
  3. package/dist/accounts/account-manager.d.ts.map +1 -0
  4. package/dist/accounts/account-manager.js +614 -0
  5. package/dist/accounts/account-manager.js.map +1 -0
  6. package/dist/accounts/auto-login-manager.d.ts +62 -0
  7. package/dist/accounts/auto-login-manager.d.ts.map +1 -0
  8. package/dist/accounts/auto-login-manager.js +537 -0
  9. package/dist/accounts/auto-login-manager.js.map +1 -0
  10. package/dist/accounts/crypto.d.ts +45 -0
  11. package/dist/accounts/crypto.d.ts.map +1 -0
  12. package/dist/accounts/crypto.js +138 -0
  13. package/dist/accounts/crypto.js.map +1 -0
  14. package/dist/accounts/index.d.ts +14 -0
  15. package/dist/accounts/index.d.ts.map +1 -0
  16. package/dist/accounts/index.js +14 -0
  17. package/dist/accounts/index.js.map +1 -0
  18. package/dist/accounts/types.d.ts +103 -0
  19. package/dist/accounts/types.d.ts.map +1 -0
  20. package/dist/accounts/types.js +7 -0
  21. package/dist/accounts/types.js.map +1 -0
  22. package/dist/auth/auth-manager.d.ts +9 -2
  23. package/dist/auth/auth-manager.d.ts.map +1 -1
  24. package/dist/auth/auth-manager.js +60 -6
  25. package/dist/auth/auth-manager.js.map +1 -1
  26. package/dist/auto-discovery/auto-discovery.d.ts.map +1 -1
  27. package/dist/auto-discovery/auto-discovery.js +2 -1
  28. package/dist/auto-discovery/auto-discovery.js.map +1 -1
  29. package/dist/cli/accounts.d.ts +13 -0
  30. package/dist/cli/accounts.d.ts.map +1 -0
  31. package/dist/cli/accounts.js +195 -0
  32. package/dist/cli/accounts.js.map +1 -0
  33. package/dist/config.d.ts.map +1 -1
  34. package/dist/config.js +9 -0
  35. package/dist/config.js.map +1 -1
  36. package/dist/content/content-generator.d.ts +153 -0
  37. package/dist/content/content-generator.d.ts.map +1 -0
  38. package/dist/content/content-generator.js +637 -0
  39. package/dist/content/content-generator.js.map +1 -0
  40. package/dist/content/content-manager.d.ts +364 -0
  41. package/dist/content/content-manager.d.ts.map +1 -0
  42. package/dist/content/content-manager.js +3846 -0
  43. package/dist/content/content-manager.js.map +1 -0
  44. package/dist/content/content-templates.d.ts +183 -0
  45. package/dist/content/content-templates.d.ts.map +1 -0
  46. package/dist/content/content-templates.js +719 -0
  47. package/dist/content/content-templates.js.map +1 -0
  48. package/dist/content/index.d.ts +14 -0
  49. package/dist/content/index.d.ts.map +1 -0
  50. package/dist/content/index.js +14 -0
  51. package/dist/content/index.js.map +1 -0
  52. package/dist/content/types.d.ts +285 -0
  53. package/dist/content/types.d.ts.map +1 -0
  54. package/dist/content/types.js +10 -0
  55. package/dist/content/types.js.map +1 -0
  56. package/dist/errors.d.ts +1 -1
  57. package/dist/errors.d.ts.map +1 -1
  58. package/dist/errors.js.map +1 -1
  59. package/dist/http-wrapper.d.ts +7 -0
  60. package/dist/http-wrapper.d.ts.map +1 -1
  61. package/dist/http-wrapper.js +449 -29
  62. package/dist/http-wrapper.js.map +1 -1
  63. package/dist/index.js +26 -2
  64. package/dist/index.js.map +1 -1
  65. package/dist/library/notebook-library.d.ts +4 -0
  66. package/dist/library/notebook-library.d.ts.map +1 -1
  67. package/dist/library/notebook-library.js +20 -3
  68. package/dist/library/notebook-library.js.map +1 -1
  69. package/dist/session/browser-session.d.ts +35 -8
  70. package/dist/session/browser-session.d.ts.map +1 -1
  71. package/dist/session/browser-session.js +242 -28
  72. package/dist/session/browser-session.js.map +1 -1
  73. package/dist/session/session-manager.d.ts +6 -0
  74. package/dist/session/session-manager.d.ts.map +1 -1
  75. package/dist/session/session-manager.js +46 -14
  76. package/dist/session/session-manager.js.map +1 -1
  77. package/dist/session/shared-context-manager.d.ts +3 -3
  78. package/dist/session/shared-context-manager.d.ts.map +1 -1
  79. package/dist/session/shared-context-manager.js +8 -7
  80. package/dist/session/shared-context-manager.js.map +1 -1
  81. package/dist/stdio-http-proxy.d.ts +24 -0
  82. package/dist/stdio-http-proxy.d.ts.map +1 -0
  83. package/dist/stdio-http-proxy.js +592 -0
  84. package/dist/stdio-http-proxy.js.map +1 -0
  85. package/dist/tools/index.d.ts +106 -1
  86. package/dist/tools/index.d.ts.map +1 -1
  87. package/dist/tools/index.js +1028 -7
  88. package/dist/tools/index.js.map +1 -1
  89. package/dist/types.d.ts +81 -17
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/utils/citation-extractor.d.ts +66 -0
  92. package/dist/utils/citation-extractor.d.ts.map +1 -0
  93. package/dist/utils/citation-extractor.js +492 -0
  94. package/dist/utils/citation-extractor.js.map +1 -0
  95. package/dist/utils/page-utils.d.ts +8 -0
  96. package/dist/utils/page-utils.d.ts.map +1 -1
  97. package/dist/utils/page-utils.js +112 -8
  98. package/dist/utils/page-utils.js.map +1 -1
  99. package/docs/ARCHITECTURE_MIGRATION_STUDY.md +894 -0
  100. package/docs/CHROME_PROFILE_LIMITATION.md +15 -1
  101. package/docs/MULTI_ACCOUNT_SYSTEM.md +304 -0
  102. package/package.json +10 -10
  103. package/dist/__tests__/cleanup-manager.test.d.ts +0 -2
  104. package/dist/__tests__/cleanup-manager.test.d.ts.map +0 -1
  105. package/dist/__tests__/cleanup-manager.test.js +0 -341
  106. package/dist/__tests__/cleanup-manager.test.js.map +0 -1
  107. package/dist/__tests__/config-parsing.test.d.ts +0 -2
  108. package/dist/__tests__/config-parsing.test.d.ts.map +0 -1
  109. package/dist/__tests__/config-parsing.test.js +0 -338
  110. package/dist/__tests__/config-parsing.test.js.map +0 -1
  111. package/dist/__tests__/config.test.d.ts +0 -2
  112. package/dist/__tests__/config.test.d.ts.map +0 -1
  113. package/dist/__tests__/config.test.js +0 -267
  114. package/dist/__tests__/config.test.js.map +0 -1
  115. package/dist/__tests__/errors.test.d.ts +0 -2
  116. package/dist/__tests__/errors.test.d.ts.map +0 -1
  117. package/dist/__tests__/errors.test.js +0 -166
  118. package/dist/__tests__/errors.test.js.map +0 -1
  119. package/dist/__tests__/logger.test.d.ts +0 -2
  120. package/dist/__tests__/logger.test.d.ts.map +0 -1
  121. package/dist/__tests__/logger.test.js +0 -324
  122. package/dist/__tests__/logger.test.js.map +0 -1
  123. package/dist/__tests__/page-utils.test.d.ts +0 -2
  124. package/dist/__tests__/page-utils.test.d.ts.map +0 -1
  125. package/dist/__tests__/page-utils.test.js +0 -349
  126. package/dist/__tests__/page-utils.test.js.map +0 -1
  127. package/dist/__tests__/setup-verification.test.d.ts +0 -2
  128. package/dist/__tests__/setup-verification.test.d.ts.map +0 -1
  129. package/dist/__tests__/setup-verification.test.js +0 -15
  130. package/dist/__tests__/setup-verification.test.js.map +0 -1
  131. package/dist/__tests__/stealth-utils.test.d.ts +0 -2
  132. package/dist/__tests__/stealth-utils.test.d.ts.map +0 -1
  133. package/dist/__tests__/stealth-utils.test.js +0 -413
  134. package/dist/__tests__/stealth-utils.test.js.map +0 -1
  135. package/dist/__tests__/types.test.d.ts +0 -2
  136. package/dist/__tests__/types.test.d.ts.map +0 -1
  137. package/dist/__tests__/types.test.js +0 -461
  138. package/dist/__tests__/types.test.js.map +0 -1
@@ -1,413 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from '@jest/globals';
2
- import { sleep, randomInt, randomFloat, randomChar, gaussian, randomDelay, readingPause, } from '../utils/stealth-utils.js';
3
- import { CONFIG } from '../config.js';
4
- describe('Stealth Utils', () => {
5
- describe('sleep', () => {
6
- it('should sleep for specified milliseconds', async () => {
7
- const start = Date.now();
8
- await sleep(100);
9
- const elapsed = Date.now() - start;
10
- expect(elapsed).toBeGreaterThanOrEqual(95); // Allow small margin
11
- expect(elapsed).toBeLessThan(150);
12
- });
13
- it('should sleep for 0ms', async () => {
14
- const start = Date.now();
15
- await sleep(0);
16
- const elapsed = Date.now() - start;
17
- expect(elapsed).toBeLessThan(50);
18
- });
19
- it('should return a promise', () => {
20
- const result = sleep(10);
21
- expect(result).toBeInstanceOf(Promise);
22
- });
23
- });
24
- describe('randomInt', () => {
25
- it('should generate integer within range', () => {
26
- for (let i = 0; i < 100; i++) {
27
- const result = randomInt(1, 10);
28
- expect(result).toBeGreaterThanOrEqual(1);
29
- expect(result).toBeLessThanOrEqual(10);
30
- expect(Number.isInteger(result)).toBe(true);
31
- }
32
- });
33
- it('should handle single value range', () => {
34
- const result = randomInt(5, 5);
35
- expect(result).toBe(5);
36
- });
37
- it('should handle negative numbers', () => {
38
- const result = randomInt(-10, -5);
39
- expect(result).toBeGreaterThanOrEqual(-10);
40
- expect(result).toBeLessThanOrEqual(-5);
41
- });
42
- it('should handle range crossing zero', () => {
43
- const result = randomInt(-5, 5);
44
- expect(result).toBeGreaterThanOrEqual(-5);
45
- expect(result).toBeLessThanOrEqual(5);
46
- });
47
- it('should generate all values in range over many iterations', () => {
48
- const values = new Set();
49
- for (let i = 0; i < 1000; i++) {
50
- values.add(randomInt(1, 5));
51
- }
52
- expect(values.size).toBeGreaterThanOrEqual(4); // Should hit most values
53
- });
54
- it('should return integer for large ranges', () => {
55
- const result = randomInt(1, 1000000);
56
- expect(Number.isInteger(result)).toBe(true);
57
- expect(result).toBeGreaterThanOrEqual(1);
58
- expect(result).toBeLessThanOrEqual(1000000);
59
- });
60
- });
61
- describe('randomFloat', () => {
62
- it('should generate float within range', () => {
63
- for (let i = 0; i < 100; i++) {
64
- const result = randomFloat(1.0, 10.0);
65
- expect(result).toBeGreaterThanOrEqual(1.0);
66
- expect(result).toBeLessThan(10.0);
67
- }
68
- });
69
- it('should handle single value range', () => {
70
- const result = randomFloat(5.0, 5.0);
71
- expect(result).toBe(5.0);
72
- });
73
- it('should handle negative numbers', () => {
74
- const result = randomFloat(-10.5, -5.5);
75
- expect(result).toBeGreaterThanOrEqual(-10.5);
76
- expect(result).toBeLessThan(-5.5);
77
- });
78
- it('should handle range crossing zero', () => {
79
- const result = randomFloat(-5.5, 5.5);
80
- expect(result).toBeGreaterThanOrEqual(-5.5);
81
- expect(result).toBeLessThan(5.5);
82
- });
83
- it('should generate non-integer values', () => {
84
- let hasNonInteger = false;
85
- for (let i = 0; i < 100; i++) {
86
- const result = randomFloat(1.0, 10.0);
87
- if (!Number.isInteger(result)) {
88
- hasNonInteger = true;
89
- break;
90
- }
91
- }
92
- expect(hasNonInteger).toBe(true);
93
- });
94
- it('should have proper distribution', () => {
95
- const values = [];
96
- for (let i = 0; i < 1000; i++) {
97
- values.push(randomFloat(0, 100));
98
- }
99
- const avg = values.reduce((a, b) => a + b, 0) / values.length;
100
- expect(avg).toBeGreaterThan(40);
101
- expect(avg).toBeLessThan(60);
102
- });
103
- });
104
- describe('randomChar', () => {
105
- it('should generate lowercase letter', () => {
106
- const result = randomChar();
107
- expect(result).toMatch(/^[a-z]$/);
108
- expect(result.length).toBe(1);
109
- });
110
- it('should generate various letters over many iterations', () => {
111
- const chars = new Set();
112
- for (let i = 0; i < 1000; i++) {
113
- chars.add(randomChar());
114
- }
115
- expect(chars.size).toBeGreaterThan(15); // Should hit most letters
116
- });
117
- it('should only generate valid characters', () => {
118
- const validChars = 'qwertyuiopasdfghjklzxcvbnm';
119
- for (let i = 0; i < 100; i++) {
120
- const result = randomChar();
121
- expect(validChars).toContain(result);
122
- }
123
- });
124
- });
125
- describe('gaussian', () => {
126
- it('should generate number near mean', () => {
127
- const values = [];
128
- for (let i = 0; i < 1000; i++) {
129
- values.push(gaussian(100, 10));
130
- }
131
- const avg = values.reduce((a, b) => a + b, 0) / values.length;
132
- expect(avg).toBeGreaterThan(95);
133
- expect(avg).toBeLessThan(105);
134
- });
135
- it('should respect standard deviation', () => {
136
- const values = [];
137
- for (let i = 0; i < 1000; i++) {
138
- values.push(gaussian(0, 1));
139
- }
140
- // Most values should be within 3 standard deviations
141
- const withinRange = values.filter((v) => Math.abs(v) <= 3).length;
142
- expect(withinRange / values.length).toBeGreaterThan(0.95);
143
- });
144
- it('should handle zero standard deviation', () => {
145
- const result = gaussian(50, 0);
146
- expect(result).toBe(50);
147
- });
148
- it('should handle negative mean', () => {
149
- const values = [];
150
- for (let i = 0; i < 1000; i++) {
151
- values.push(gaussian(-100, 10));
152
- }
153
- const avg = values.reduce((a, b) => a + b, 0) / values.length;
154
- expect(avg).toBeGreaterThan(-105);
155
- expect(avg).toBeLessThan(-95);
156
- });
157
- it('should generate different values', () => {
158
- const values = new Set();
159
- for (let i = 0; i < 100; i++) {
160
- values.add(gaussian(0, 10));
161
- }
162
- expect(values.size).toBeGreaterThan(90); // Should be mostly unique
163
- });
164
- it('should have proper distribution shape', () => {
165
- const values = [];
166
- for (let i = 0; i < 10000; i++) {
167
- values.push(gaussian(0, 1));
168
- }
169
- // Check that values closer to mean are more common
170
- const nearMean = values.filter((v) => Math.abs(v) <= 0.5).length;
171
- const farFromMean = values.filter((v) => Math.abs(v) > 2).length;
172
- expect(nearMean).toBeGreaterThan(farFromMean);
173
- });
174
- });
175
- describe('randomDelay', () => {
176
- it('should delay within specified range', async () => {
177
- const start = Date.now();
178
- await randomDelay(50, 150);
179
- const elapsed = Date.now() - start;
180
- expect(elapsed).toBeGreaterThanOrEqual(45);
181
- expect(elapsed).toBeLessThan(200);
182
- });
183
- it('should delay for minimum value when min equals max', async () => {
184
- const start = Date.now();
185
- await randomDelay(100, 100);
186
- const elapsed = Date.now() - start;
187
- expect(elapsed).toBeGreaterThanOrEqual(95);
188
- expect(elapsed).toBeLessThan(150);
189
- });
190
- it('should handle zero delay', async () => {
191
- const start = Date.now();
192
- await randomDelay(0, 0);
193
- const elapsed = Date.now() - start;
194
- expect(elapsed).toBeLessThan(50);
195
- });
196
- it('should return a promise', () => {
197
- const result = randomDelay(10, 20);
198
- expect(result).toBeInstanceOf(Promise);
199
- });
200
- it('should use gaussian distribution for delays', async () => {
201
- const delays = [];
202
- for (let i = 0; i < 50; i++) {
203
- const start = Date.now();
204
- await randomDelay(100, 500);
205
- delays.push(Date.now() - start);
206
- }
207
- // Most delays should be closer to middle of range
208
- const avg = delays.reduce((a, b) => a + b, 0) / delays.length;
209
- expect(avg).toBeGreaterThan(200);
210
- expect(avg).toBeLessThan(400);
211
- });
212
- it('should use fixed average delay when stealth is disabled', async () => {
213
- const originalEnabled = CONFIG.stealthEnabled;
214
- CONFIG.stealthEnabled = false;
215
- try {
216
- const start = Date.now();
217
- await randomDelay(100, 200); // Average would be 150ms
218
- const elapsed = Date.now() - start;
219
- // Should use fixed delay (average of min and max)
220
- expect(elapsed).toBeGreaterThanOrEqual(140);
221
- expect(elapsed).toBeLessThan(200);
222
- }
223
- finally {
224
- CONFIG.stealthEnabled = originalEnabled;
225
- }
226
- });
227
- it('should use fixed average delay when random delays are disabled', async () => {
228
- const originalDelays = CONFIG.stealthRandomDelays;
229
- CONFIG.stealthRandomDelays = false;
230
- try {
231
- const start = Date.now();
232
- await randomDelay(100, 200);
233
- const elapsed = Date.now() - start;
234
- // Should use fixed delay
235
- expect(elapsed).toBeGreaterThanOrEqual(140);
236
- expect(elapsed).toBeLessThan(200);
237
- }
238
- finally {
239
- CONFIG.stealthRandomDelays = originalDelays;
240
- }
241
- });
242
- it('should use CONFIG defaults when no parameters provided', async () => {
243
- const start = Date.now();
244
- await randomDelay(); // Uses CONFIG.minDelayMs and CONFIG.maxDelayMs
245
- const elapsed = Date.now() - start;
246
- // Should be between CONFIG defaults (100-400ms by default)
247
- expect(elapsed).toBeGreaterThanOrEqual(90);
248
- expect(elapsed).toBeLessThan(500);
249
- });
250
- });
251
- describe('edge cases', () => {
252
- it('should handle very small numbers', () => {
253
- const result = randomInt(0, 1);
254
- expect([0, 1]).toContain(result);
255
- });
256
- it('should handle very large numbers', () => {
257
- const result = randomInt(1000000, 1000001);
258
- expect(result).toBeGreaterThanOrEqual(1000000);
259
- expect(result).toBeLessThanOrEqual(1000001);
260
- });
261
- it('should handle decimal ranges in randomFloat', () => {
262
- const result = randomFloat(0.001, 0.002);
263
- expect(result).toBeGreaterThanOrEqual(0.001);
264
- expect(result).toBeLessThan(0.002);
265
- });
266
- it('should handle large standard deviation in gaussian', () => {
267
- const result = gaussian(0, 1000);
268
- expect(typeof result).toBe('number');
269
- expect(isNaN(result)).toBe(false);
270
- });
271
- });
272
- describe('randomness quality', () => {
273
- it('randomInt should have good distribution', () => {
274
- const counts = [0, 0, 0, 0, 0];
275
- for (let i = 0; i < 5000; i++) {
276
- const val = randomInt(0, 4);
277
- counts[val]++;
278
- }
279
- // Each bucket should have roughly 1000 values (20% of 5000)
280
- // Allow variance between 15% and 25%
281
- counts.forEach((count) => {
282
- expect(count).toBeGreaterThan(750);
283
- expect(count).toBeLessThan(1250);
284
- });
285
- });
286
- it('randomFloat should have uniform distribution', () => {
287
- const buckets = [0, 0, 0, 0, 0];
288
- for (let i = 0; i < 5000; i++) {
289
- const val = randomFloat(0, 5);
290
- const bucket = Math.floor(val);
291
- if (bucket < 5)
292
- buckets[bucket]++;
293
- }
294
- // Each bucket should have roughly 1000 values
295
- buckets.forEach((count) => {
296
- expect(count).toBeGreaterThan(750);
297
- expect(count).toBeLessThan(1250);
298
- });
299
- });
300
- it('gaussian should produce bell curve', () => {
301
- const values = [];
302
- for (let i = 0; i < 10000; i++) {
303
- values.push(gaussian(0, 1));
304
- }
305
- // Count values in different ranges
306
- const veryClose = values.filter((v) => Math.abs(v) <= 0.5).length;
307
- const close = values.filter((v) => Math.abs(v) > 0.5 && Math.abs(v) <= 1).length;
308
- const medium = values.filter((v) => Math.abs(v) > 1 && Math.abs(v) <= 2).length;
309
- const far = values.filter((v) => Math.abs(v) > 2).length;
310
- // Bell curve: more values near center
311
- expect(veryClose).toBeGreaterThan(close);
312
- expect(close).toBeGreaterThan(medium);
313
- expect(medium).toBeGreaterThan(far);
314
- });
315
- });
316
- describe('readingPause', () => {
317
- // Store original config values
318
- let originalStealthEnabled;
319
- let originalStealthRandomDelays;
320
- beforeEach(() => {
321
- originalStealthEnabled = CONFIG.stealthEnabled;
322
- originalStealthRandomDelays = CONFIG.stealthRandomDelays;
323
- });
324
- afterEach(() => {
325
- // Restore original config
326
- CONFIG.stealthEnabled = originalStealthEnabled;
327
- CONFIG.stealthRandomDelays =
328
- originalStealthRandomDelays;
329
- });
330
- it('should return immediately when stealth is disabled', async () => {
331
- CONFIG.stealthEnabled = false;
332
- const start = Date.now();
333
- await readingPause(100); // 100 characters
334
- const elapsed = Date.now() - start;
335
- // Should return almost immediately
336
- expect(elapsed).toBeLessThan(50);
337
- });
338
- it('should return immediately when random delays are disabled', async () => {
339
- CONFIG.stealthEnabled = true;
340
- CONFIG.stealthRandomDelays = false;
341
- const start = Date.now();
342
- await readingPause(100);
343
- const elapsed = Date.now() - start;
344
- expect(elapsed).toBeLessThan(50);
345
- });
346
- it('should pause for short text when stealth is enabled', async () => {
347
- CONFIG.stealthEnabled = true;
348
- CONFIG.stealthRandomDelays = true;
349
- const start = Date.now();
350
- await readingPause(25); // ~5 words at 5 chars/word
351
- const elapsed = Date.now() - start;
352
- // Should pause but not too long
353
- // At 200-250 WPM, 5 words = ~1.2-1.5 seconds
354
- expect(elapsed).toBeGreaterThan(0);
355
- // Could be up to 3 seconds max with randomness
356
- expect(elapsed).toBeLessThan(4000);
357
- });
358
- it('should pause longer for longer text', async () => {
359
- CONFIG.stealthEnabled = true;
360
- CONFIG.stealthRandomDelays = true;
361
- const startShort = Date.now();
362
- await readingPause(10);
363
- const elapsedShort = Date.now() - startShort;
364
- const startLong = Date.now();
365
- await readingPause(100);
366
- const elapsedLong = Date.now() - startLong;
367
- // Longer text should take longer (with some variance allowed)
368
- // Note: Due to randomness, we just check general expectation
369
- expect(typeof elapsedShort).toBe('number');
370
- expect(typeof elapsedLong).toBe('number');
371
- });
372
- it('should respect custom WPM parameter', async () => {
373
- CONFIG.stealthEnabled = true;
374
- CONFIG.stealthRandomDelays = true;
375
- // Very fast reading speed
376
- const startFast = Date.now();
377
- await readingPause(50, 500); // 500 WPM (very fast)
378
- const elapsedFast = Date.now() - startFast;
379
- // Slow reading speed
380
- const startSlow = Date.now();
381
- await readingPause(50, 100); // 100 WPM (slow)
382
- const elapsedSlow = Date.now() - startSlow;
383
- // Both should complete (basic sanity check)
384
- expect(elapsedFast).toBeGreaterThanOrEqual(0);
385
- expect(elapsedSlow).toBeGreaterThanOrEqual(0);
386
- });
387
- it('should cap reading time at 3 seconds', async () => {
388
- CONFIG.stealthEnabled = true;
389
- CONFIG.stealthRandomDelays = true;
390
- const start = Date.now();
391
- // Very long text (1000 chars = 200 words)
392
- // At 200 WPM, this would be 60 seconds without cap
393
- await readingPause(1000, 200);
394
- const elapsed = Date.now() - start;
395
- // Should be capped at ~3 seconds (with some tolerance for randomness)
396
- expect(elapsed).toBeLessThan(4500); // 3s cap + 1.2x random + margin
397
- });
398
- it('should handle zero text length', async () => {
399
- CONFIG.stealthEnabled = true;
400
- CONFIG.stealthRandomDelays = true;
401
- const start = Date.now();
402
- await readingPause(0);
403
- const elapsed = Date.now() - start;
404
- // Zero text = 0 words = 0 time, but with randomness factor
405
- expect(elapsed).toBeLessThan(1000);
406
- });
407
- it('should return a promise', () => {
408
- const result = readingPause(50);
409
- expect(result).toBeInstanceOf(Promise);
410
- });
411
- });
412
- });
413
- //# sourceMappingURL=stealth-utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stealth-utils.test.js","sourceRoot":"","sources":["../../src/__tests__/stealth-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":""}