@roomi-fields/notebooklm-mcp 1.5.2 → 1.5.7

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 (294) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +219 -201
  3. package/deployment/INDEX.md +0 -0
  4. package/deployment/PACKAGE-FILES.txt +180 -180
  5. package/deployment/QUICK-START.md +0 -0
  6. package/deployment/docs/01-INSTALL.md +0 -0
  7. package/deployment/docs/02-CONFIGURATION.md +0 -0
  8. package/deployment/docs/03-API.md +99 -13
  9. package/deployment/docs/04-N8N-INTEGRATION.md +0 -0
  10. package/deployment/docs/05-TROUBLESHOOTING.md +0 -0
  11. package/deployment/docs/06-NOTEBOOK-LIBRARY.md +0 -0
  12. package/deployment/docs/07-AUTO-DISCOVERY.md +0 -0
  13. package/deployment/docs/08-DOCKER.md +303 -0
  14. package/deployment/docs/08-WSL-USAGE.md +0 -0
  15. package/deployment/docs/09-MULTI-INTERFACE.md +0 -0
  16. package/deployment/docs/10-CONTENT-MANAGEMENT.md +0 -0
  17. package/deployment/docs/11-MULTI-ACCOUNT.md +0 -0
  18. package/deployment/docs/README.md +9 -2
  19. package/deployment/scripts/README.md +0 -0
  20. package/deployment/scripts/install.ps1 +114 -114
  21. package/deployment/scripts/setup-auth.ps1 +217 -217
  22. package/deployment/scripts/start-server.ps1 +72 -72
  23. package/deployment/scripts/stop-server.ps1 +51 -51
  24. package/deployment/scripts/test-api.ps1 +651 -651
  25. package/deployment/scripts/test-auth.ps1 +0 -0
  26. package/deployment/scripts/test-auto-discovery.ps1 +295 -295
  27. package/deployment/scripts/test-cors.ps1 +398 -398
  28. package/deployment/scripts/test-errors.ps1 +581 -581
  29. package/deployment/scripts/test-server.ps1 +140 -140
  30. package/deployment/scripts/test-sessions.ps1 +426 -426
  31. package/deployment/scripts/test-validation.ps1 +299 -299
  32. package/dist/accounts/account-manager.d.ts +15 -0
  33. package/dist/accounts/account-manager.d.ts.map +1 -1
  34. package/dist/accounts/account-manager.js +104 -0
  35. package/dist/accounts/account-manager.js.map +1 -1
  36. package/dist/accounts/auto-login-manager.d.ts +0 -0
  37. package/dist/accounts/auto-login-manager.d.ts.map +1 -1
  38. package/dist/accounts/auto-login-manager.js +45 -28
  39. package/dist/accounts/auto-login-manager.js.map +1 -1
  40. package/dist/accounts/crypto.d.ts +0 -0
  41. package/dist/accounts/crypto.d.ts.map +0 -0
  42. package/dist/accounts/crypto.js +0 -0
  43. package/dist/accounts/crypto.js.map +0 -0
  44. package/dist/accounts/index.d.ts +0 -0
  45. package/dist/accounts/index.d.ts.map +0 -0
  46. package/dist/accounts/index.js +0 -0
  47. package/dist/accounts/index.js.map +0 -0
  48. package/dist/accounts/types.d.ts +0 -0
  49. package/dist/accounts/types.d.ts.map +0 -0
  50. package/dist/accounts/types.js +0 -0
  51. package/dist/accounts/types.js.map +0 -0
  52. package/dist/auth/auth-manager.d.ts +1 -1
  53. package/dist/auth/auth-manager.d.ts.map +1 -1
  54. package/dist/auth/auth-manager.js +33 -13
  55. package/dist/auth/auth-manager.js.map +1 -1
  56. package/dist/auto-discovery/auto-discovery.d.ts +0 -0
  57. package/dist/auto-discovery/auto-discovery.d.ts.map +0 -0
  58. package/dist/auto-discovery/auto-discovery.js +0 -0
  59. package/dist/auto-discovery/auto-discovery.js.map +0 -0
  60. package/dist/cli/accounts.d.ts +0 -0
  61. package/dist/cli/accounts.d.ts.map +0 -0
  62. package/dist/cli/accounts.js +0 -0
  63. package/dist/cli/accounts.js.map +0 -0
  64. package/dist/cli/de-auth.d.ts +0 -0
  65. package/dist/cli/de-auth.d.ts.map +0 -0
  66. package/dist/cli/de-auth.js +0 -0
  67. package/dist/cli/de-auth.js.map +0 -0
  68. package/dist/cli/help.d.ts +0 -0
  69. package/dist/cli/help.d.ts.map +0 -0
  70. package/dist/cli/help.js +0 -0
  71. package/dist/cli/help.js.map +0 -0
  72. package/dist/cli/setup-auth.d.ts +0 -0
  73. package/dist/cli/setup-auth.d.ts.map +0 -0
  74. package/dist/cli/setup-auth.js +18 -10
  75. package/dist/cli/setup-auth.js.map +1 -1
  76. package/dist/config.d.ts +1 -0
  77. package/dist/config.d.ts.map +1 -1
  78. package/dist/config.js +15 -1
  79. package/dist/config.js.map +1 -1
  80. package/dist/content/content-generator.d.ts +0 -0
  81. package/dist/content/content-generator.d.ts.map +0 -0
  82. package/dist/content/content-generator.js +0 -0
  83. package/dist/content/content-generator.js.map +0 -0
  84. package/dist/content/content-manager.d.ts +0 -0
  85. package/dist/content/content-manager.d.ts.map +0 -0
  86. package/dist/content/content-manager.js +0 -0
  87. package/dist/content/content-manager.js.map +0 -0
  88. package/dist/content/content-templates.d.ts +0 -0
  89. package/dist/content/content-templates.d.ts.map +0 -0
  90. package/dist/content/content-templates.js +0 -0
  91. package/dist/content/content-templates.js.map +0 -0
  92. package/dist/content/index.d.ts +0 -0
  93. package/dist/content/index.d.ts.map +0 -0
  94. package/dist/content/index.js +0 -0
  95. package/dist/content/index.js.map +0 -0
  96. package/dist/content/types.d.ts +0 -0
  97. package/dist/content/types.d.ts.map +0 -0
  98. package/dist/content/types.js +0 -0
  99. package/dist/content/types.js.map +0 -0
  100. package/dist/errors.d.ts +0 -0
  101. package/dist/errors.d.ts.map +0 -0
  102. package/dist/errors.js +0 -0
  103. package/dist/errors.js.map +0 -0
  104. package/dist/http-wrapper.d.ts +0 -0
  105. package/dist/http-wrapper.d.ts.map +1 -1
  106. package/dist/http-wrapper.js +275 -7
  107. package/dist/http-wrapper.js.map +1 -1
  108. package/dist/i18n/en.json +0 -0
  109. package/dist/i18n/fr.json +0 -0
  110. package/dist/i18n/index.d.ts +0 -0
  111. package/dist/i18n/index.d.ts.map +0 -0
  112. package/dist/i18n/index.js +0 -0
  113. package/dist/i18n/index.js.map +0 -0
  114. package/dist/index.d.ts +0 -0
  115. package/dist/index.d.ts.map +0 -0
  116. package/dist/index.js +0 -0
  117. package/dist/index.js.map +0 -0
  118. package/dist/library/notebook-library.d.ts +0 -0
  119. package/dist/library/notebook-library.d.ts.map +0 -0
  120. package/dist/library/notebook-library.js +0 -0
  121. package/dist/library/notebook-library.js.map +0 -0
  122. package/dist/library/types.d.ts +0 -0
  123. package/dist/library/types.d.ts.map +0 -0
  124. package/dist/library/types.js +0 -0
  125. package/dist/library/types.js.map +0 -0
  126. package/dist/session/browser-session.d.ts +0 -0
  127. package/dist/session/browser-session.d.ts.map +1 -1
  128. package/dist/session/browser-session.js +215 -91
  129. package/dist/session/browser-session.js.map +1 -1
  130. package/dist/session/session-manager.d.ts +0 -0
  131. package/dist/session/session-manager.d.ts.map +0 -0
  132. package/dist/session/session-manager.js +0 -0
  133. package/dist/session/session-manager.js.map +0 -0
  134. package/dist/session/shared-context-manager.d.ts +0 -0
  135. package/dist/session/shared-context-manager.d.ts.map +1 -1
  136. package/dist/session/shared-context-manager.js +38 -5
  137. package/dist/session/shared-context-manager.js.map +1 -1
  138. package/dist/startup/startup-manager.d.ts +60 -0
  139. package/dist/startup/startup-manager.d.ts.map +1 -0
  140. package/dist/startup/startup-manager.js +468 -0
  141. package/dist/startup/startup-manager.js.map +1 -0
  142. package/dist/stdio-http-proxy.d.ts +0 -0
  143. package/dist/stdio-http-proxy.d.ts.map +0 -0
  144. package/dist/stdio-http-proxy.js +91 -16
  145. package/dist/stdio-http-proxy.js.map +1 -1
  146. package/dist/tools/index.d.ts +1 -0
  147. package/dist/tools/index.d.ts.map +1 -1
  148. package/dist/tools/index.js +55 -34
  149. package/dist/tools/index.js.map +1 -1
  150. package/dist/types.d.ts +0 -0
  151. package/dist/types.d.ts.map +0 -0
  152. package/dist/types.js +0 -0
  153. package/dist/types.js.map +0 -0
  154. package/dist/utils/citation-extractor.d.ts +6 -7
  155. package/dist/utils/citation-extractor.d.ts.map +1 -1
  156. package/dist/utils/citation-extractor.js +138 -303
  157. package/dist/utils/citation-extractor.js.map +1 -1
  158. package/dist/utils/cleanup-manager.d.ts +0 -0
  159. package/dist/utils/cleanup-manager.d.ts.map +0 -0
  160. package/dist/utils/cleanup-manager.js +0 -0
  161. package/dist/utils/cleanup-manager.js.map +0 -0
  162. package/dist/utils/logger.d.ts +0 -0
  163. package/dist/utils/logger.d.ts.map +0 -0
  164. package/dist/utils/logger.js +0 -0
  165. package/dist/utils/logger.js.map +0 -0
  166. package/dist/utils/page-utils.d.ts +0 -0
  167. package/dist/utils/page-utils.d.ts.map +1 -1
  168. package/dist/utils/page-utils.js +12 -13
  169. package/dist/utils/page-utils.js.map +1 -1
  170. package/dist/utils/stealth-utils.d.ts +0 -0
  171. package/dist/utils/stealth-utils.d.ts.map +0 -0
  172. package/dist/utils/stealth-utils.js +0 -0
  173. package/dist/utils/stealth-utils.js.map +0 -0
  174. package/docs/ADDING_A_LANGUAGE.md +0 -0
  175. package/docs/ARCHITECTURE_MIGRATION_STUDY.md +0 -0
  176. package/docs/CHROME_PROFILE_LIMITATION.md +0 -0
  177. package/docs/MULTI_ACCOUNT_SYSTEM.md +0 -0
  178. package/docs/archive/auto-discovery-complet.md +906 -0
  179. package/package.json +4 -2
  180. package/scripts/add-totp.ts +110 -0
  181. package/scripts/archive/add-and-activate-notebook.ps1 +0 -0
  182. package/scripts/archive/add-new-notebook.ps1 +0 -0
  183. package/scripts/archive/add-rom1pey.ps1 +0 -0
  184. package/scripts/archive/add-rpmonster.ps1 +0 -0
  185. package/scripts/archive/add-source-debug.ps1 +0 -0
  186. package/scripts/archive/add-source-e2e.ps1 +0 -0
  187. package/scripts/archive/add-source-visible.ps1 +0 -0
  188. package/scripts/archive/add-test-notebook.ps1 +0 -0
  189. package/scripts/archive/add-test-source.ps1 +0 -0
  190. package/scripts/archive/capture-screen.ps1 +0 -0
  191. package/scripts/archive/change-language.mjs +0 -0
  192. package/scripts/archive/change-language.ts +0 -0
  193. package/scripts/archive/check-account.ps1 +0 -0
  194. package/scripts/archive/check-notebook-2.ps1 +0 -0
  195. package/scripts/archive/check-test-notebook.ps1 +0 -0
  196. package/scripts/archive/create-notebook-auto.ps1 +0 -0
  197. package/scripts/archive/create-notebook.ps1 +0 -0
  198. package/scripts/archive/create-rom1pey-notebook.ps1 +0 -0
  199. package/scripts/archive/create-rom1pey.ps1 +0 -0
  200. package/scripts/archive/create-test-notebook-fresh.ps1 +0 -0
  201. package/scripts/archive/create-test-notebook.ps1 +0 -0
  202. package/scripts/archive/debug-add-source-auto.ps1 +0 -0
  203. package/scripts/archive/debug-add-source.ps1 +0 -0
  204. package/scripts/archive/debug-add-text-source.ps1 +0 -0
  205. package/scripts/archive/debug-home.ps1 +0 -0
  206. package/scripts/archive/debug-selectors.ps1 +0 -0
  207. package/scripts/archive/debug-sources-panel.ps1 +0 -0
  208. package/scripts/archive/debug-ui.ps1 +0 -0
  209. package/scripts/archive/discover-home.ps1 +0 -0
  210. package/scripts/archive/kill-automation-chrome.ps1 +0 -0
  211. package/scripts/archive/list-my-notebooks.ps1 +0 -0
  212. package/scripts/archive/navigate-home-visible.ps1 +0 -0
  213. package/scripts/archive/navigate-home.ps1 +0 -0
  214. package/scripts/archive/run-e2e-english.ps1 +0 -0
  215. package/scripts/archive/run-e2e-rom1pey-v2.ps1 +0 -0
  216. package/scripts/archive/run-e2e-rom1pey.ps1 +0 -0
  217. package/scripts/archive/setup-english-test.ps1 +0 -0
  218. package/scripts/archive/setup-test-notebook.ps1 +0 -0
  219. package/scripts/archive/simple-add-source.ps1 +0 -0
  220. package/scripts/archive/t10.ps1 +0 -0
  221. package/scripts/archive/t20.ps1 +0 -0
  222. package/scripts/archive/t30.ps1 +0 -0
  223. package/scripts/archive/t31.ps1 +0 -0
  224. package/scripts/archive/t32.ps1 +0 -0
  225. package/scripts/archive/t39.ps1 +0 -0
  226. package/scripts/archive/t40.ps1 +0 -0
  227. package/scripts/archive/t53.ps1 +0 -0
  228. package/scripts/archive/t54.ps1 +0 -0
  229. package/scripts/archive/t55.ps1 +0 -0
  230. package/scripts/archive/t9.ps1 +0 -0
  231. package/scripts/archive/test-access.ps1 +0 -0
  232. package/scripts/archive/test-add-delete-source.ps1 +0 -0
  233. package/scripts/archive/test-add-source-visible.ps1 +0 -0
  234. package/scripts/archive/test-add-source.ps1 +0 -0
  235. package/scripts/archive/test-add-text-debug.ps1 +0 -0
  236. package/scripts/archive/test-add-text-source.ps1 +0 -0
  237. package/scripts/archive/test-add-url-source.ps1 +0 -0
  238. package/scripts/archive/test-ask-ascii.ps1 +0 -0
  239. package/scripts/archive/test-ask-cnv.ps1 +0 -0
  240. package/scripts/archive/test-ask-headed.ps1 +0 -0
  241. package/scripts/archive/test-ask-ifs.ps1 +0 -0
  242. package/scripts/archive/test-ask-now.ps1 +0 -0
  243. package/scripts/archive/test-ask-real.ps1 +0 -0
  244. package/scripts/archive/test-ask-visible.ps1 +0 -0
  245. package/scripts/archive/test-create-notebook.ps1 +0 -0
  246. package/scripts/archive/test-create-then-add.ps1 +0 -0
  247. package/scripts/archive/test-delete-source.ps1 +0 -0
  248. package/scripts/archive/test-e2e-notebook.ps1 +0 -0
  249. package/scripts/archive/test-english-notebook.ps1 +0 -0
  250. package/scripts/archive/test-english.ps1 +0 -0
  251. package/scripts/archive/test-full-custom-instructions.ps1 +0 -0
  252. package/scripts/archive/test-full-infographic.ps1 +0 -0
  253. package/scripts/archive/test-full-language.ps1 +0 -0
  254. package/scripts/archive/test-full-presentation.ps1 +0 -0
  255. package/scripts/archive/test-full-report.ps1 +0 -0
  256. package/scripts/archive/test-full-source-selection.ps1 +0 -0
  257. package/scripts/archive/test-full-video-brief.ps1 +0 -0
  258. package/scripts/archive/test-full-video-explainer.ps1 +0 -0
  259. package/scripts/archive/test-full-video-styles.ps1 +0 -0
  260. package/scripts/archive/test-generate-report.ps1 +0 -0
  261. package/scripts/archive/test-generate-study-guide.ps1 +0 -0
  262. package/scripts/archive/test-headed-ask.ps1 +0 -0
  263. package/scripts/archive/test-headed-now.ps1 +0 -0
  264. package/scripts/archive/test-headed.ps1 +0 -0
  265. package/scripts/archive/test-hello.ps1 +0 -0
  266. package/scripts/archive/test-i18n-studio.ps1 +0 -0
  267. package/scripts/archive/test-i18n.ps1 +0 -0
  268. package/scripts/archive/test-manual-headed.ps1 +0 -0
  269. package/scripts/archive/test-mathieu-quota.ps1 +0 -0
  270. package/scripts/archive/test-notebook-1.ps1 +0 -0
  271. package/scripts/archive/test-notebook-2-sources.ps1 +0 -0
  272. package/scripts/archive/test-notebook1.ps1 +0 -0
  273. package/scripts/archive/test-personal-notebook.ps1 +0 -0
  274. package/scripts/archive/test-rate-limit.ps1 +0 -0
  275. package/scripts/archive/test-real-ask.ps1 +0 -0
  276. package/scripts/archive/test-real-ask2.ps1 +0 -0
  277. package/scripts/archive/test-rom1pey.ps1 +0 -0
  278. package/scripts/archive/test-rotation-complete.ps1 +0 -0
  279. package/scripts/archive/test-rotation.ps1 +0 -0
  280. package/scripts/archive/test-show-browser.ps1 +0 -0
  281. package/scripts/archive/test-update-notebook.ps1 +0 -0
  282. package/scripts/archive/verify-language-slow.ps1 +0 -0
  283. package/scripts/archive/verify-language.ps1 +0 -0
  284. package/scripts/check-server.ps1 +0 -0
  285. package/scripts/docker-entrypoint.sh +25 -0
  286. package/scripts/mcp-proxy-hidden.ps1 +31 -0
  287. package/scripts/mcp-wsl-helper.sh +146 -146
  288. package/scripts/start-server-hidden.vbs +13 -0
  289. package/scripts/start-server.ps1 +0 -0
  290. package/scripts/start-vnc.sh +37 -0
  291. package/scripts/stop-server.bat +5 -0
  292. package/scripts/stop-server.ps1 +0 -0
  293. package/scripts/switch-account-language.sh +0 -0
  294. package/scripts/test-account.ps1 +0 -0
@@ -12,6 +12,8 @@
12
12
  *
13
13
  * Based on the Python implementation from browser_session.py
14
14
  */
15
+ import { existsSync } from 'fs';
16
+ import { getAccountManager } from '../accounts/account-manager.js';
15
17
  import { humanType, randomDelay } from '../utils/stealth-utils.js';
16
18
  import { waitForLatestAnswer, snapshotAllResponses, isRateLimitMessage, } from '../utils/page-utils.js';
17
19
  import { extractCitations, } from '../utils/citation-extractor.js';
@@ -79,12 +81,43 @@ export class BrowserSession {
79
81
  // Wait for page to stabilize
80
82
  await randomDelay(2000, 3000);
81
83
  // Check if we need to login
82
- const isAuthenticated = await this.authManager.validateCookiesExpiry(this.context);
84
+ // IMPORTANT: Check actual URL first — Google can expire sessions server-side
85
+ // even when local cookies still have valid expiry dates
86
+ const postNavUrl = this.page.url();
87
+ const isOnGoogleSignIn = postNavUrl.includes('accounts.google.com');
88
+ if (isOnGoogleSignIn) {
89
+ log.warning(` ⚠️ Redirected to Google sign-in — server-side session expired`);
90
+ }
91
+ const isAuthenticated = isOnGoogleSignIn
92
+ ? false
93
+ : await this.authManager.validateCookiesExpiry(this.context);
83
94
  if (!isAuthenticated) {
84
95
  log.warning(` 🔑 Session ${this.sessionId} needs authentication`);
85
96
  const loginSuccess = await this.ensureAuthenticated();
86
97
  if (!loginSuccess) {
87
- throw new Error('Failed to authenticate session');
98
+ throw new Error('Google session expired and re-authentication failed.\n' +
99
+ 'Please re-authenticate:\n' +
100
+ ' 1. Stop the server (Ctrl+C)\n' +
101
+ ' 2. Run: npx notebooklm-mcp setup-auth --show-browser\n' +
102
+ ' 3. Restart: npm run start:http');
103
+ }
104
+ // After re-auth, navigate back to notebook (we may still be on Google sign-in page)
105
+ if (isOnGoogleSignIn) {
106
+ log.info(` 🌐 Re-navigating to notebook after auth...`);
107
+ await this.page.goto(this.notebookUrl, {
108
+ waitUntil: 'domcontentloaded',
109
+ timeout: CONFIG.browserTimeout,
110
+ });
111
+ await randomDelay(2000, 3000);
112
+ // Verify we actually made it to the notebook
113
+ const recheckUrl = this.page.url();
114
+ if (recheckUrl.includes('accounts.google.com')) {
115
+ throw new Error('Google session expired. Re-auth loaded cookies but Google still requires sign-in.\n' +
116
+ 'Please re-authenticate:\n' +
117
+ ' 1. Stop the server (Ctrl+C)\n' +
118
+ ' 2. Run: npx notebooklm-mcp setup-auth --show-browser\n' +
119
+ ' 3. Restart: npm run start:http');
120
+ }
88
121
  }
89
122
  }
90
123
  else {
@@ -184,35 +217,35 @@ export class BrowserSession {
184
217
  const startTime = Date.now();
185
218
  while (Date.now() - startTime < maxWaitMs) {
186
219
  // Check if skeleton UI is still visible
187
- const hasSkeletonUI = await this.page.evaluate(`
188
- (() => {
189
- // Look for skeleton/loading indicators
190
- const skeletonSelectors = [
191
- '.skeleton',
192
- '[class*="skeleton"]',
193
- '[class*="loading"]',
194
- '.mat-progress-bar',
195
- '.loading-indicator',
196
- '.shimmer',
197
- '[class*="shimmer"]',
198
- ];
199
-
200
- for (const selector of skeletonSelectors) {
201
- const elements = document.querySelectorAll(selector);
202
- for (const el of elements) {
203
- const style = window.getComputedStyle(el);
204
- if (style.display !== 'none' && style.visibility !== 'hidden') {
205
- return true;
206
- }
207
- }
208
- }
209
-
210
- // Also check for placeholder bars (common in loading states)
211
- const placeholderBars = document.querySelectorAll('[style*="background"][style*="animate"]');
212
- if (placeholderBars.length > 0) return true;
213
-
214
- return false;
215
- })()
220
+ const hasSkeletonUI = await this.page.evaluate(`
221
+ (() => {
222
+ // Look for skeleton/loading indicators
223
+ const skeletonSelectors = [
224
+ '.skeleton',
225
+ '[class*="skeleton"]',
226
+ '[class*="loading"]',
227
+ '.mat-progress-bar',
228
+ '.loading-indicator',
229
+ '.shimmer',
230
+ '[class*="shimmer"]',
231
+ ];
232
+
233
+ for (const selector of skeletonSelectors) {
234
+ const elements = document.querySelectorAll(selector);
235
+ for (const el of elements) {
236
+ const style = window.getComputedStyle(el);
237
+ if (style.display !== 'none' && style.visibility !== 'hidden') {
238
+ return true;
239
+ }
240
+ }
241
+ }
242
+
243
+ // Also check for placeholder bars (common in loading states)
244
+ const placeholderBars = document.querySelectorAll('[style*="background"][style*="animate"]');
245
+ if (placeholderBars.length > 0) return true;
246
+
247
+ return false;
248
+ })()
216
249
  `);
217
250
  if (!hasSkeletonUI) {
218
251
  // Also wait a small additional delay to be safe
@@ -248,15 +281,42 @@ export class BrowserSession {
248
281
  throw new Error('Page not initialized');
249
282
  }
250
283
  log.info(`🔑 Checking authentication for session ${this.sessionId}...`);
251
- // Check cookie validity
252
- const isValid = await this.authManager.validateCookiesExpiry(this.context);
253
- if (isValid) {
254
- log.success(` ✅ Cookies valid`);
255
- return true;
284
+ // IMPORTANT: Check actual page URL first — Google can expire sessions server-side
285
+ // even when local cookies still have valid expiry dates.
286
+ // If the browser is on accounts.google.com, cookies are worthless.
287
+ const currentUrl = this.page.url();
288
+ const onGoogleSignIn = currentUrl.includes('accounts.google.com');
289
+ if (onGoogleSignIn) {
290
+ log.warning(` ⚠️ Page is on Google sign-in — cookies valid locally but session expired server-side`);
291
+ }
292
+ else {
293
+ // Only trust cookie validity when NOT on Google sign-in page
294
+ const isValid = await this.authManager.validateCookiesExpiry(this.context);
295
+ if (isValid) {
296
+ log.success(` ✅ Cookies valid`);
297
+ return true;
298
+ }
256
299
  }
257
300
  log.warning(` ⚠️ Cookies expired or invalid`);
258
- // Try to get valid auth state
259
- const statePath = await this.authManager.getValidStatePath();
301
+ // Try to get valid auth state - prefer account-specific path
302
+ let statePath = null;
303
+ try {
304
+ const accountManager = await getAccountManager();
305
+ const currentAccountId = await accountManager.getCurrentAccountId();
306
+ if (currentAccountId) {
307
+ const account = accountManager.getAccount(currentAccountId);
308
+ if (account && existsSync(account.stateFilePath)) {
309
+ statePath = account.stateFilePath;
310
+ }
311
+ }
312
+ }
313
+ catch {
314
+ // Fall back to legacy path
315
+ }
316
+ // If no account-specific state, try legacy path
317
+ if (!statePath) {
318
+ statePath = await this.authManager.getValidStatePath();
319
+ }
260
320
  if (statePath) {
261
321
  // Load saved state
262
322
  log.info(` 📂 Loading auth state from: ${statePath}`);
@@ -265,11 +325,17 @@ export class BrowserSession {
265
325
  log.info(` 🔄 Reloading page...`);
266
326
  await this.page.reload({ waitUntil: 'domcontentloaded' });
267
327
  await randomDelay(2000, 3000);
268
- // Check if it worked
269
- const nowValid = await this.authManager.validateCookiesExpiry(this.context);
270
- if (nowValid) {
271
- log.success(` Auth state loaded successfully`);
272
- return true;
328
+ // Check if it worked — verify URL first (Google may still redirect)
329
+ const postReloadUrl = this.page.url();
330
+ if (postReloadUrl.includes('accounts.google.com')) {
331
+ log.warning(` ⚠️ Still on Google sign-in after loading auth state session expired server-side`);
332
+ }
333
+ else {
334
+ const nowValid = await this.authManager.validateCookiesExpiry(this.context);
335
+ if (nowValid) {
336
+ log.success(` ✅ Auth state loaded successfully`);
337
+ return true;
338
+ }
273
339
  }
274
340
  }
275
341
  // Need fresh login
@@ -292,8 +358,65 @@ export class BrowserSession {
292
358
  }
293
359
  }
294
360
  else {
295
- log.error(` ❌ Auto-login disabled and no valid auth state - manual login required`);
296
- return false;
361
+ // Try auto-login with stored credentials (AutoLoginManager),
362
+ // then fall back to manual performSetup if no credentials.
363
+ log.warning(` 🔑 Attempting re-authentication...`);
364
+ try {
365
+ const accountManager = await getAccountManager();
366
+ const currentAccountId = await accountManager.getCurrentAccountId();
367
+ let reAuthSuccess = false;
368
+ if (currentAccountId) {
369
+ const account = accountManager.getAccount(currentAccountId);
370
+ if (account?.config.hasCredentials) {
371
+ // Auto-login uses account.profileDir (not chrome_profile) → no lock conflict
372
+ log.info(` 🤖 Auto-login with stored credentials...`);
373
+ const { AutoLoginManager } = await import('../accounts/auto-login-manager.js');
374
+ const autoLoginManager = new AutoLoginManager(accountManager);
375
+ const result = await autoLoginManager.performAutoLogin(currentAccountId, {
376
+ showBrowser: true,
377
+ timeout: CONFIG.autoLoginTimeoutMs * 2,
378
+ });
379
+ if (result.success) {
380
+ log.success(` ✅ Auto-login successful`);
381
+ // Close current context → sync fresh profile → re-init
382
+ await this.sharedContextManager.closeContext();
383
+ this.page = null;
384
+ this.context = null;
385
+ this.initialized = false;
386
+ await accountManager.syncProfileToMain(currentAccountId);
387
+ await this.init();
388
+ return true;
389
+ }
390
+ log.warning(` ⚠️ Auto-login failed: ${result.error}`);
391
+ }
392
+ }
393
+ // Fall back to manual performSetup
394
+ log.warning(` 📝 Opening browser for manual login...`);
395
+ // Close context to release chrome_profile lock
396
+ await this.sharedContextManager.closeContext();
397
+ this.page = null;
398
+ this.context = null;
399
+ this.initialized = false;
400
+ reAuthSuccess = await this.authManager.performSetup(async (message) => {
401
+ log.info(` ${message}`);
402
+ }, true, // show_browser = visible
403
+ true // force = skip cookie check
404
+ );
405
+ if (reAuthSuccess) {
406
+ log.success(` ✅ Manual re-authentication successful`);
407
+ if (currentAccountId) {
408
+ await accountManager.syncMainToAccount(currentAccountId);
409
+ }
410
+ await this.init();
411
+ return true;
412
+ }
413
+ log.error(` ❌ Re-authentication failed`);
414
+ return false;
415
+ }
416
+ catch (error) {
417
+ log.error(` ❌ Re-authentication failed: ${error}`);
418
+ return false;
419
+ }
297
420
  }
298
421
  }
299
422
  getOriginFromUrl(url) {
@@ -379,15 +502,31 @@ export class BrowserSession {
379
502
  }
380
503
  log.info(`💬 [${this.sessionId}] Asking: "${question.substring(0, 100)}..."`);
381
504
  const page = this.page;
382
- // Ensure we're still authenticated
505
+ // Ensure we're still authenticated — check URL first (Google redirect = expired)
383
506
  await sendProgress?.('Verifying authentication...', 2, 5);
384
- const isAuth = await this.authManager.validateCookiesExpiry(this.context);
507
+ const currentUrl = page.url();
508
+ const isOnGoogle = currentUrl.includes('accounts.google.com');
509
+ const isAuth = isOnGoogle
510
+ ? false
511
+ : await this.authManager.validateCookiesExpiry(this.context);
385
512
  if (!isAuth) {
386
- log.warning(` 🔑 Session expired, re-authenticating...`);
513
+ log.warning(` 🔑 Session expired${isOnGoogle ? ' (redirected to Google sign-in)' : ''}, re-authenticating...`);
387
514
  await sendProgress?.('Re-authenticating session...', 2, 5);
388
515
  const reAuthSuccess = await this.ensureAuthenticated();
389
516
  if (!reAuthSuccess) {
390
- throw new Error('Failed to re-authenticate session');
517
+ throw new Error('SESSION_EXPIRED: Google session expired.\n' +
518
+ 'Re-authenticate:\n' +
519
+ ' 1. Stop the server (Ctrl+C)\n' +
520
+ ' 2. Run: npx notebooklm-mcp setup-auth --show-browser\n' +
521
+ ' 3. Restart: npm run start:http');
522
+ }
523
+ // After re-auth, navigate back to notebook if we were on Google
524
+ if (isOnGoogle) {
525
+ await this.page.goto(this.notebookUrl, {
526
+ waitUntil: 'domcontentloaded',
527
+ timeout: CONFIG.browserTimeout,
528
+ });
529
+ await randomDelay(2000, 3000);
391
530
  }
392
531
  }
393
532
  // Snapshot existing responses BEFORE asking
@@ -401,16 +540,6 @@ export class BrowserSession {
401
540
  if (await this.detectRateLimitError()) {
402
541
  throw new RateLimitError('NotebookLM daily limit reached - switching to another account');
403
542
  }
404
- // DEBUG: Take screenshot before asking to see UI state
405
- try {
406
- const debugPath = process.env.LOCALAPPDATA || 'C:\\Users\\romai\\AppData\\Local';
407
- const screenshotPath = `${debugPath}\\notebooklm-mcp\\Data\\debug-before-ask.png`;
408
- await page.screenshot({ path: screenshotPath, fullPage: true });
409
- log.info(` 📸 Debug screenshot saved: ${screenshotPath}`);
410
- }
411
- catch (e) {
412
- log.warning(` ⚠️ Could not save debug screenshot: ${e}`);
413
- }
414
543
  // Find the chat input
415
544
  const inputSelector = await this.findChatInput();
416
545
  if (!inputSelector) {
@@ -431,16 +560,6 @@ export class BrowserSession {
431
560
  await page.keyboard.press('Enter');
432
561
  // Small pause after submit
433
562
  await randomDelay(1000, 1500);
434
- // DEBUG: Take screenshot after submitting question
435
- try {
436
- const debugPath = process.env.LOCALAPPDATA || 'C:\\Users\\romai\\AppData\\Local';
437
- const screenshotPath = `${debugPath}\\notebooklm-mcp\\Data\\debug-after-submit.png`;
438
- await page.screenshot({ path: screenshotPath, fullPage: true });
439
- log.info(` 📸 Debug screenshot (after submit) saved: ${screenshotPath}`);
440
- }
441
- catch (e) {
442
- log.warning(` ⚠️ Could not save debug screenshot: ${e}`);
443
- }
444
563
  // Wait for the response with streaming detection
445
564
  log.info(` ⏳ Waiting for response (with streaming detection)...`);
446
565
  await sendProgress?.('Waiting for NotebookLM response (streaming detection active)...', 3, 5);
@@ -449,7 +568,7 @@ export class BrowserSession {
449
568
  timeoutMs: 120000, // 2 minutes
450
569
  pollIntervalMs: 1000,
451
570
  ignoreTexts: existingResponses,
452
- debug: true, // Enable debug to see exact text
571
+ debug: true,
453
572
  });
454
573
  if (!answer) {
455
574
  throw new Error('Timeout waiting for response from NotebookLM');
@@ -462,7 +581,7 @@ export class BrowserSession {
462
581
  // Check for rate limit errors in page elements AFTER receiving answer
463
582
  log.info(` 🔍 Checking for rate limit errors...`);
464
583
  if (await this.detectRateLimitError()) {
465
- throw new RateLimitError('NotebookLM rate limit reached (50 queries/day for free accounts)');
584
+ throw new RateLimitError('NotebookLM daily limit reached - switching to another account');
466
585
  }
467
586
  // Update session stats
468
587
  this.messageCount++;
@@ -578,35 +697,20 @@ export class BrowserSession {
578
697
  '.toast-error',
579
698
  ];
580
699
  // Keywords that indicate rate limiting (English + French)
581
- // IMPORTANT: Be specific! Generic terms like "quota" can appear anywhere on the page
700
+ // IMPORTANT: Must be VERY specific generic phrases like "limit exceeded", "revenez plus tard",
701
+ // or "too many requests" can appear in academic text and cause false positives.
582
702
  const keywords = [
583
- 'rate limit',
584
- 'limit exceeded',
585
- 'quota exhausted',
703
+ 'rate limit exceeded',
586
704
  'daily limit reached',
587
705
  'daily discussion limit',
588
- 'too many requests',
589
706
  'query limit reached',
590
707
  'request limit reached',
591
708
  // French keywords - SPECIFIC phrases only
592
709
  'limite quotidienne de discussions',
593
710
  'atteint la limite quotidienne',
594
- 'vous avez atteint la limite',
595
- 'revenez plus tard',
711
+ 'vous avez atteint la limite quotidienne',
596
712
  ];
597
- // FIRST: Check entire page body for rate limit messages (most reliable)
598
- try {
599
- const bodyText = await this.page.evaluate(`document.body.innerText`);
600
- const bodyLower = bodyText.toLowerCase();
601
- if (keywords.some((k) => bodyLower.includes(k))) {
602
- log.error(`🚫 Rate limit detected in page body!`);
603
- return true;
604
- }
605
- }
606
- catch {
607
- // Continue with specific selectors
608
- }
609
- // Check error containers for rate limit messages
713
+ // Check error containers for rate limit messages (NOT full body — too many false positives)
610
714
  for (const selector of errorSelectors) {
611
715
  try {
612
716
  const elements = await this.page.$$(selector);
@@ -751,6 +855,26 @@ export class BrowserSession {
751
855
  // Reload the page to clear chat history
752
856
  await this.page.reload({ waitUntil: 'domcontentloaded' });
753
857
  await randomDelay(2000, 3000);
858
+ // Check if reload redirected to Google sign-in (session expired server-side)
859
+ const page = this.page;
860
+ const postResetUrl = page.url();
861
+ if (postResetUrl.includes('accounts.google.com')) {
862
+ log.warning(` ⚠️ [${this.sessionId}] Google session expired during reset — attempting re-auth`);
863
+ const loginSuccess = await this.ensureAuthenticated();
864
+ if (!loginSuccess) {
865
+ throw new Error('SESSION_EXPIRED: Google session expired during reset.\n' +
866
+ 'Re-authenticate:\n' +
867
+ ' 1. Stop the server (Ctrl+C)\n' +
868
+ ' 2. Run: npx notebooklm-mcp setup-auth --show-browser\n' +
869
+ ' 3. Restart: npm run start:http');
870
+ }
871
+ // Re-navigate to notebook after auth
872
+ await page.goto(this.notebookUrl, {
873
+ waitUntil: 'domcontentloaded',
874
+ timeout: CONFIG.browserTimeout,
875
+ });
876
+ await randomDelay(2000, 3000);
877
+ }
754
878
  // Wait for interface to be ready again
755
879
  await this.waitForNotebookLMReady();
756
880
  // Reset message count
@@ -1 +1 @@
1
- {"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../../src/session/browser-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../../src/session/browser-session.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"shared-context-manager.d.ts","sourceRoot":"","sources":["../../src/session/shared-context-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,mBAAmB,CAAwB;gBAEvC,WAAW,EAAE,WAAW;IAapC;;;;;;;;;;;OAWG;IACG,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAkB7E;;OAEG;YACW,eAAe;IAqB7B;;;;;;;;;;;;;;;;OAgBG;YACW,eAAe;IAsI7B;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAkCrB,yBAAyB;YA4BzB,qBAAqB;YA2DrB,yBAAyB;IAmBvC;;OAEG;IACH,cAAc,IAAI;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,OAAO,CAAC;KACrB;IAwBD;;;;OAIG;IACH,sBAAsB,IAAI,OAAO,GAAG,IAAI;IAIxC;;;;;OAKG;IACH,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO;IAuB5D;;OAEG;IACH,OAAO,CAAC,YAAY;CAOrB"}
1
+ {"version":3,"file":"shared-context-manager.d.ts","sourceRoot":"","sources":["../../src/session/shared-context-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,mBAAmB,CAAwB;gBAEvC,WAAW,EAAE,WAAW;IAapC;;;;;;;;;;;OAWG;IACG,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAkB7E;;OAEG;YACW,eAAe;IAqB7B;;;;;;;;;;;;;;;;OAgBG;YACW,eAAe;IAuK7B;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAkCrB,yBAAyB;YA4BzB,qBAAqB;YA2DrB,yBAAyB;IAmBvC;;OAEG;IACH,cAAc,IAAI;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,OAAO,CAAC;KACrB;IAwBD;;;;OAIG;IACH,sBAAsB,IAAI,OAAO,GAAG,IAAI;IAIxC;;;;;OAKG;IACH,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO;IAuB5D;;OAEG;IACH,OAAO,CAAC,YAAY;CAOrB"}
@@ -14,6 +14,7 @@
14
14
  import { chromium } from 'patchright';
15
15
  import { CONFIG } from '../config.js';
16
16
  import { log } from '../utils/logger.js';
17
+ import { getAccountManager } from '../accounts/account-manager.js';
17
18
  import fs from 'fs';
18
19
  import path from 'path';
19
20
  /**
@@ -121,8 +122,27 @@ export class SharedContextManager {
121
122
  log.warning(` ⚠️ Error closing old context: ${error}`);
122
123
  }
123
124
  }
124
- // Check for saved auth
125
- const statePath = await this.authManager.getValidStatePath();
125
+ // Check for saved auth - prefer account-specific state file
126
+ let statePath = null;
127
+ try {
128
+ const accountManager = await getAccountManager();
129
+ const currentAccountId = await accountManager.getCurrentAccountId();
130
+ if (currentAccountId) {
131
+ const account = accountManager.getAccount(currentAccountId);
132
+ if (account && fs.existsSync(account.stateFilePath)) {
133
+ statePath = account.stateFilePath;
134
+ log.success(` 📂 Found account auth state: ${statePath}`);
135
+ }
136
+ }
137
+ }
138
+ catch {
139
+ // Fall back to legacy global AuthManager path
140
+ statePath = await this.authManager.getValidStatePath();
141
+ }
142
+ // If no account-specific state, try legacy path
143
+ if (!statePath) {
144
+ statePath = await this.authManager.getValidStatePath();
145
+ }
126
146
  if (statePath) {
127
147
  log.success(` 📂 Found auth state: ${statePath}`);
128
148
  log.info(' 💡 Will load cookies into persistent profile');
@@ -139,12 +159,15 @@ export class SharedContextManager {
139
159
  }
140
160
  // Build launch options for persistent context
141
161
  // NOTE: userDataDir is passed as first parameter, NOT in options!
162
+ // Map uiLocale to browser locale
163
+ const browserLocale = CONFIG.uiLocale === 'fr' ? 'fr-FR' : 'en-US';
164
+ const browserTimezone = CONFIG.uiLocale === 'fr' ? 'Europe/Paris' : 'America/New_York';
142
165
  const launchOptions = {
143
166
  headless: shouldBeHeadless,
144
- channel: 'chrome',
167
+ ...(CONFIG.browserChannel === 'chrome' && { channel: 'chrome' }),
145
168
  viewport: CONFIG.viewport,
146
- locale: 'en-US',
147
- timezoneId: 'Europe/Berlin',
169
+ locale: browserLocale,
170
+ timezoneId: browserTimezone,
148
171
  // ✅ CRITICAL FIX: Pass storageState directly at launch!
149
172
  // This is the PROPER way to handle session cookies (Playwright bug workaround)
150
173
  // Benefits:
@@ -157,6 +180,16 @@ export class SharedContextManager {
157
180
  '--disable-dev-shm-usage',
158
181
  '--no-first-run',
159
182
  '--no-default-browser-check',
183
+ // Docker-specific flags
184
+ '--no-sandbox',
185
+ '--disable-setuid-sandbox',
186
+ '--disable-gpu',
187
+ '--disable-software-rasterizer',
188
+ '--disable-features=VizDisplayCompositor',
189
+ // Suppress warnings
190
+ '--disable-infobars',
191
+ '--disable-sync',
192
+ '--log-level=3',
160
193
  ],
161
194
  };
162
195
  // 🔥 CRITICAL: launchPersistentContext creates/loads Chrome profile