@pan-sec/notebooklm-mcp 2026.2.1 → 2026.2.10

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 (117) hide show
  1. package/README.md +26 -8
  2. package/dist/auth/auth-manager.d.ts +37 -2
  3. package/dist/auth/auth-manager.d.ts.map +1 -1
  4. package/dist/auth/auth-manager.js +133 -11
  5. package/dist/auth/auth-manager.js.map +1 -1
  6. package/dist/auth/mcp-auth.d.ts +25 -4
  7. package/dist/auth/mcp-auth.d.ts.map +1 -1
  8. package/dist/auth/mcp-auth.js +145 -29
  9. package/dist/auth/mcp-auth.js.map +1 -1
  10. package/dist/compliance/retention-engine.js +1 -1
  11. package/dist/compliance/retention-engine.js.map +1 -1
  12. package/dist/config.d.ts +24 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +56 -8
  15. package/dist/config.js.map +1 -1
  16. package/dist/gemini/gemini-client.d.ts.map +1 -1
  17. package/dist/gemini/gemini-client.js +58 -20
  18. package/dist/gemini/gemini-client.js.map +1 -1
  19. package/dist/index.js +87 -180
  20. package/dist/index.js.map +1 -1
  21. package/dist/notebook-creation/audio-manager.js +2 -2
  22. package/dist/notebook-creation/audio-manager.js.map +1 -1
  23. package/dist/notebook-creation/data-table-manager.d.ts +13 -3
  24. package/dist/notebook-creation/data-table-manager.d.ts.map +1 -1
  25. package/dist/notebook-creation/data-table-manager.js +70 -32
  26. package/dist/notebook-creation/data-table-manager.js.map +1 -1
  27. package/dist/notebook-creation/discover-creation-flow.js +1 -1
  28. package/dist/notebook-creation/discover-creation-flow.js.map +1 -1
  29. package/dist/notebook-creation/discover-quota.js +1 -1
  30. package/dist/notebook-creation/discover-quota.js.map +1 -1
  31. package/dist/notebook-creation/discover-sources.js +1 -1
  32. package/dist/notebook-creation/discover-sources.js.map +1 -1
  33. package/dist/notebook-creation/notebook-creator.d.ts.map +1 -1
  34. package/dist/notebook-creation/notebook-creator.js +49 -26
  35. package/dist/notebook-creation/notebook-creator.js.map +1 -1
  36. package/dist/notebook-creation/notebook-sync.js +1 -1
  37. package/dist/notebook-creation/notebook-sync.js.map +1 -1
  38. package/dist/notebook-creation/selectors.d.ts +16 -12
  39. package/dist/notebook-creation/selectors.d.ts.map +1 -1
  40. package/dist/notebook-creation/selectors.js +25 -15
  41. package/dist/notebook-creation/selectors.js.map +1 -1
  42. package/dist/notebook-creation/source-manager.d.ts.map +1 -1
  43. package/dist/notebook-creation/source-manager.js +29 -6
  44. package/dist/notebook-creation/source-manager.js.map +1 -1
  45. package/dist/notebook-creation/video-manager.d.ts +10 -1
  46. package/dist/notebook-creation/video-manager.d.ts.map +1 -1
  47. package/dist/notebook-creation/video-manager.js +93 -44
  48. package/dist/notebook-creation/video-manager.js.map +1 -1
  49. package/dist/quota/quota-manager.d.ts.map +1 -1
  50. package/dist/quota/quota-manager.js +46 -15
  51. package/dist/quota/quota-manager.js.map +1 -1
  52. package/dist/session/browser-session.d.ts.map +1 -1
  53. package/dist/session/browser-session.js +21 -14
  54. package/dist/session/browser-session.js.map +1 -1
  55. package/dist/tools/definitions/notebook-management.d.ts.map +1 -1
  56. package/dist/tools/definitions/notebook-management.js +64 -0
  57. package/dist/tools/definitions/notebook-management.js.map +1 -1
  58. package/dist/tools/handlers/ask-question.d.ts +18 -0
  59. package/dist/tools/handlers/ask-question.d.ts.map +1 -0
  60. package/dist/tools/handlers/ask-question.js +236 -0
  61. package/dist/tools/handlers/ask-question.js.map +1 -0
  62. package/dist/tools/handlers/audio-video.d.ts +42 -0
  63. package/dist/tools/handlers/audio-video.d.ts.map +1 -0
  64. package/dist/tools/handlers/audio-video.js +356 -0
  65. package/dist/tools/handlers/audio-video.js.map +1 -0
  66. package/dist/tools/handlers/auth.d.ts +41 -0
  67. package/dist/tools/handlers/auth.d.ts.map +1 -0
  68. package/dist/tools/handlers/auth.js +171 -0
  69. package/dist/tools/handlers/auth.js.map +1 -0
  70. package/dist/tools/handlers/gemini.d.ts +142 -0
  71. package/dist/tools/handlers/gemini.d.ts.map +1 -0
  72. package/dist/tools/handlers/gemini.js +626 -0
  73. package/dist/tools/handlers/gemini.js.map +1 -0
  74. package/dist/tools/handlers/index.d.ts +295 -0
  75. package/dist/tools/handlers/index.d.ts.map +1 -0
  76. package/dist/tools/handlers/index.js +197 -0
  77. package/dist/tools/handlers/index.js.map +1 -0
  78. package/dist/tools/handlers/notebook-creation.d.ts +75 -0
  79. package/dist/tools/handlers/notebook-creation.d.ts.map +1 -0
  80. package/dist/tools/handlers/notebook-creation.js +598 -0
  81. package/dist/tools/handlers/notebook-creation.js.map +1 -0
  82. package/dist/tools/handlers/notebook-management.d.ts +64 -0
  83. package/dist/tools/handlers/notebook-management.d.ts.map +1 -0
  84. package/dist/tools/handlers/notebook-management.js +214 -0
  85. package/dist/tools/handlers/notebook-management.js.map +1 -0
  86. package/dist/tools/handlers/session-management.d.ts +68 -0
  87. package/dist/tools/handlers/session-management.d.ts.map +1 -0
  88. package/dist/tools/handlers/session-management.js +238 -0
  89. package/dist/tools/handlers/session-management.js.map +1 -0
  90. package/dist/tools/handlers/system.d.ts +102 -0
  91. package/dist/tools/handlers/system.d.ts.map +1 -0
  92. package/dist/tools/handlers/system.js +275 -0
  93. package/dist/tools/handlers/system.js.map +1 -0
  94. package/dist/tools/handlers/types.d.ts +19 -0
  95. package/dist/tools/handlers/types.d.ts.map +1 -0
  96. package/dist/tools/handlers/types.js +5 -0
  97. package/dist/tools/handlers/types.js.map +1 -0
  98. package/dist/tools/handlers/webhooks.d.ts +34 -0
  99. package/dist/tools/handlers/webhooks.d.ts.map +1 -0
  100. package/dist/tools/handlers/webhooks.js +122 -0
  101. package/dist/tools/handlers/webhooks.js.map +1 -0
  102. package/dist/tools/handlers.d.ts +27 -0
  103. package/dist/tools/handlers.d.ts.map +1 -1
  104. package/dist/tools/handlers.js +226 -5
  105. package/dist/tools/handlers.js.map +1 -1
  106. package/dist/tools/index.d.ts +1 -1
  107. package/dist/tools/index.d.ts.map +1 -1
  108. package/dist/tools/index.js +1 -1
  109. package/dist/tools/index.js.map +1 -1
  110. package/dist/utils/cleanup-manager.d.ts.map +1 -1
  111. package/dist/utils/cleanup-manager.js +8 -10
  112. package/dist/utils/cleanup-manager.js.map +1 -1
  113. package/dist/utils/file-permissions.d.ts.map +1 -1
  114. package/dist/utils/file-permissions.js +41 -6
  115. package/dist/utils/file-permissions.js.map +1 -1
  116. package/docs/improvement-sprint-2026.2.10.md +210 -0
  117. package/package.json +5 -2
package/README.md CHANGED
@@ -4,20 +4,20 @@
4
4
 
5
5
  ### 🏆 The World's Most Advanced NotebookLM MCP Server
6
6
 
7
- **Zero-hallucination answers • Gemini Deep Research • 14 Security Layers • Enterprise Compliance**
7
+ **Zero-hallucination answers • Gemini Deep Research • 17 Security Layers • Enterprise Compliance**
8
8
 
9
9
  [![npm](https://img.shields.io/npm/v/@pan-sec/notebooklm-mcp?color=blue)](https://www.npmjs.com/package/@pan-sec/notebooklm-mcp)
10
10
  [![CalVer](https://img.shields.io/badge/CalVer-2026.x.x-blue.svg)](https://calver.org/)
11
11
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue.svg)](https://www.typescriptlang.org/)
12
12
  [![MCP](https://img.shields.io/badge/MCP-2026-green.svg)](https://modelcontextprotocol.io/)
13
13
  [![Platform](https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey.svg)](#cross-platform-support)
14
- [![Security](https://img.shields.io/badge/Security-14%20Layers-red.svg)](./SECURITY.md)
14
+ [![Security](https://img.shields.io/badge/Security-17%20Layers-red.svg)](./SECURITY.md)
15
15
  [![Post-Quantum](https://img.shields.io/badge/Encryption-Post--Quantum-purple.svg)](./SECURITY.md#post-quantum-encryption)
16
16
  [![Gemini](https://img.shields.io/badge/Gemini-Deep%20Research-4285F4.svg)](#-gemini-deep-research-v180)
17
17
  [![Documents](https://img.shields.io/badge/Documents-API%20Upload-34A853.svg)](#-document-api-v190)
18
18
  [![Notebooks](https://img.shields.io/badge/Notebooks-Create%20%26%20Manage-orange.svg)](#programmatic-notebook-creation-v170)
19
19
  [![Compliance](https://img.shields.io/badge/Compliance-GDPR%20%7C%20SOC2%20%7C%20CSSF-blue.svg)](./docs/COMPLIANCE-SPEC.md)
20
- [![Tests](https://img.shields.io/badge/Tests-111%20Passing-brightgreen.svg)](./tests/)
20
+ [![Tests](https://img.shields.io/badge/Tests-168%20Passing-brightgreen.svg)](./tests/)
21
21
 
22
22
  [**What's New 2026**](#-whats-new-in-2026) • [**Deep Research**](#-gemini-deep-research) • [**Document API**](#-document-api) • [**Create Notebooks**](#programmatic-notebook-creation) • [**Security**](#security-features) • [**Install**](#installation)
23
23
 
@@ -36,7 +36,7 @@
36
36
  - 📊 **Extract data tables** — structured JSON from notebook sources **NEW**
37
37
  - 🔬 **Gemini 3 + Deep Research** — latest models with thinking control (optional API) **NEW**
38
38
  - 📄 **Document API** — upload & query PDFs without browser (optional API)
39
- - 🔐 **14 security layers** — post-quantum encryption, audit logs, secrets scanning
39
+ - 🔐 **17 security layers** — post-quantum encryption, audit logs, secrets scanning
40
40
  - ✅ **Enterprise compliance** — GDPR, SOC2, CSSF ready
41
41
  - 💡 **No API key required** — core features work with just browser auth
42
42
 
@@ -44,10 +44,17 @@
44
44
 
45
45
  ## 🚀 What's New in 2026
46
46
 
47
- **Latest: v2026.2.1** — Standard profile now exposes all key features (33 tools by default)
47
+ **Latest: v2026.2.9** — Auth stability series complete: credentials now survive restarts, cleanups, and headless calls
48
48
 
49
49
  | Version | Highlights |
50
50
  |---------|------------|
51
+ | **v2026.2.9** | `performSetup` no longer wipes credentials before Chrome opens — prevents auth destruction on failed launch |
52
+ | **v2026.2.8** | `cleanup_data` never deletes auth dirs (`browser_state/`, `chrome_profile/`) — auth survives all cleanup paths |
53
+ | **v2026.2.7** | Block headless `setup_auth` calls; robust `auth-now.mjs` standalone script with Chrome profile lock handling |
54
+ | **v2026.2.6** | New `add_folder` tool for bulk PDF/file uploads; improved tier detection for NotebookLM Plus |
55
+ | **v2026.2.5** | Fix `show_browser` silently ignored in `setup_auth` — browser now reliably opens for auth |
56
+ | **v2026.2.4** | Auth stability: 7-day state expiry, `touchStateFile` on validation, block headless `re_auth` |
57
+ | **v2026.2.3** | Studio Panel tools restored: Video Overview, Data Table generation re-enabled |
51
58
  | **v2026.2.1** | Standard profile expanded: 14 → 33 tools — notebook creation, audio, source management now visible by default |
52
59
  | **v2026.2.0** | Gemini 3 models (2.5 retiring March 31), Video Overviews, Data Tables, thinking level, structured JSON, SDK 1.41 |
53
60
  | **v2026.1.12** | Security hardening: constant-time auth, command injection fix, memory leak fixes, MCP SDK 1.26.0 |
@@ -80,7 +87,7 @@ claude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
80
87
  | Deep health verification | ❌ | ✅ |
81
88
 
82
89
  <details>
83
- <summary><b>📋 Full Feature List (47 Tools)</b></summary>
90
+ <summary><b>📋 Full Feature List (48 Tools)</b></summary>
84
91
 
85
92
  #### Core NotebookLM (No API Key Required)
86
93
  | Tool | Description |
@@ -96,6 +103,7 @@ claude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
96
103
  | `sync_library` | Sync library with NotebookLM |
97
104
  | `list_sources` | List sources in a notebook |
98
105
  | `add_source` | Add source to notebook |
106
+ | `add_folder` | Bulk upload PDFs/files from a local folder to a notebook |
99
107
  | `remove_source` | Remove source from notebook |
100
108
  | `generate_audio_overview` | Create podcast-style audio |
101
109
  | `get_audio_status` | Check audio generation status |
@@ -226,7 +234,7 @@ Run deep research in the background and check progress:
226
234
  │ └────────────────────────────────┘ └──────────────────────────────────┘ │
227
235
  │ │
228
236
  │ ┌─────────────────────────────────┐ │
229
- │ │ 14 SECURITY LAYERS │ │
237
+ │ │ 17 SECURITY LAYERS │ │
230
238
  │ │ Post-Quantum • Audit Logs │ │
231
239
  │ │ Cert Pinning • Memory Wipe │ │
232
240
  │ │ GDPR • SOC2 • CSSF Ready │ │
@@ -627,7 +635,7 @@ The original NotebookLM MCP is excellent for productivity — but MCP servers ha
627
635
  - **Cookies and tokens** stored on disk
628
636
  - **Query history** that may contain proprietary information
629
637
 
630
- This fork adds **14 security hardening layers** to protect that data.
638
+ This fork adds **17 security hardening layers** to protect that data.
631
639
 
632
640
  ---
633
641
 
@@ -648,6 +656,9 @@ This fork adds **14 security hardening layers** to protect that data.
648
656
  | 🙈 | **Log Sanitization** | Credentials masked in all output |
649
657
  | 🐍 | **MEDUSA Integration** | Automated security scanning |
650
658
  | 🖥️ | **Cross-Platform** | Native support for Linux, macOS, Windows |
659
+ | 🔒 | **Secure-by-Default Auth** | Auth ON without configuration, explicit opt-out required |
660
+ | 📈 | **Exponential Backoff** | Lockout escalation: 5min → 15min → 45min → 4hr cap |
661
+ | 🗝️ | **Credential Isolation** | SecureCredential TTL + env var scrubbing from process.env |
651
662
 
652
663
  ### Post-Quantum Ready
653
664
 
@@ -1118,6 +1129,13 @@ Or integrate in CI/CD:
1118
1129
 
1119
1130
  | Version | Highlights |
1120
1131
  |---------|------------|
1132
+ | **v2026.2.9** | 🔐 `performSetup` no longer destroys credentials before Chrome opens — last root cause of auth loop fixed |
1133
+ | **v2026.2.8** | 🛡️ `cleanup_data` excludes `browser_state/` and `chrome_profile/` from all deletion paths — auth survives cleanup |
1134
+ | **v2026.2.7** | 🚫 Block headless `setup_auth`; `auth-now.mjs` standalone script handles Chrome profile locks and silent save failures |
1135
+ | **v2026.2.6** | 📁 New `add_folder` tool — bulk upload PDFs/files to a notebook with progress, dry_run, and auto-split support |
1136
+ | **v2026.2.5** | 🔧 Fix: `show_browser` now correctly passed to `performSetup` — browser reliably opens for auth |
1137
+ | **v2026.2.4** | 🔑 Auth stability: 7-day state expiry (was 24h), `touchStateFile` resets clock on each validation, headless `re_auth` blocked |
1138
+ | **v2026.2.3** | 🎬 Studio Panel tools restored — Video Overview generation and Data Table tools re-enabled after UI update |
1121
1139
  | **v2026.2.1** | 🔧 Standard profile expanded: 14 → 33 tools — all key features now visible by default |
1122
1140
  | **v2026.2.0** | 🚀 Gemini 3 models (2.5 retiring March 31), Video Overviews (10 styles), Data Table extraction (JSON), thinking level control, structured JSON output, SDK 1.41 |
1123
1141
  | **v2026.1.12** | 🔒 Security hardening — timing attack fix, command injection fix, 6 memory leak fixes, MCP SDK 1.26.0 |
@@ -6,7 +6,7 @@
6
6
  * - Auto-login with credentials (email/password from ENV)
7
7
  * - Browser state persistence (cookies + localStorage + sessionStorage)
8
8
  * - Cookie expiry validation
9
- * - State expiry checks (24h file age)
9
+ * - State expiry checks (7-day file age)
10
10
  * - Hard reset for clean start
11
11
  *
12
12
  * Based on the Python implementation from auth.py
@@ -49,7 +49,42 @@ export declare class AuthManager {
49
49
  */
50
50
  validateCookiesExpiry(context: BrowserContext): Promise<boolean>;
51
51
  /**
52
- * Check if the saved state file is too old (>24 hours)
52
+ * Race-condition-aware auth validation with automatic retry.
53
+ *
54
+ * In concurrent deployments each session runs its own isolated Chrome profile
55
+ * cloned from the shared base. When Google refreshes OAuth tokens for session A,
56
+ * the cookies held by sessions B/C become invalid even though the credentials
57
+ * themselves are fine. This method distinguishes that scenario from genuine
58
+ * cookie expiry and self-heals by reloading fresh cookies from state.json.pqenc.
59
+ *
60
+ * Decision logic per attempt:
61
+ * 1. Cookies valid → return true immediately (fast path).
62
+ * 2. .auth-in-progress lock is held OR state.json.pqenc was written within
63
+ * the last 2 minutes → race condition. Wait random jitter, reload cookies,
64
+ * re-validate, and repeat up to maxRetries times.
65
+ * 3. Neither signal present → genuine expiry. Break early, return false so
66
+ * the caller can prompt for setup_auth.
67
+ */
68
+ validateWithRetry(context: BrowserContext, maxRetries?: number): Promise<boolean>;
69
+ /**
70
+ * Get the mtime of the auth state file (tries .pqenc, .enc, plain in order).
71
+ * Returns null if no state file found.
72
+ */
73
+ private getStateFileMtimeMs;
74
+ /**
75
+ * Touch the state file to reset the 7-day expiry clock.
76
+ * Called after successful auth validation so sessions that use the
77
+ * existing credentials don't cause the file to silently expire.
78
+ */
79
+ private touchStateFile;
80
+ /**
81
+ * Reload fresh cookies from state.json.pqenc into the browser context.
82
+ * Uses addCookies() which overwrites existing cookies with the same key,
83
+ * replacing stale tokens with the latest ones saved by another session.
84
+ */
85
+ private reloadCookiesFromState;
86
+ /**
87
+ * Check if the saved state file is too old (>7 days)
53
88
  * Checks encrypted versions (.pqenc, .enc) as well as unencrypted
54
89
  */
55
90
  isStateExpired(): Promise<boolean>;
@@ -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,EAAE,MAAM,YAAY,CAAC;AAYvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoBpD,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;;IAa7B;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAsD9E;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAKvC;;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;IAuBlE;;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;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IA+BxC;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmFjF;;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;IAuBvB;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiCjF;;;;;;;;;;;;;;;;OAgBG;IACG,YAAY,CAAC,YAAY,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoFjG;;;;;;;;;;OAUG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+CvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBpC;;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,EAAE,MAAM,YAAY,CAAC;AAYvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoBpD,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;;IAa7B;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAsD9E;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAKvC;;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;IAuBlE;;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;;;;;;;;;;;;;;;;OAgBG;IACG,iBAAiB,CACrB,OAAO,EAAE,cAAc,EACvB,UAAU,SAAI,GACb,OAAO,CAAC,OAAO,CAAC;IAmDnB;;;OAGG;YACW,mBAAmB;IAYjC;;;;OAIG;YACW,cAAc;IAa5B;;;;OAIG;YACW,sBAAsB;IAoBpC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IA+BxC;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmFjF;;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;IAuBvB;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiCjF;;;;;;;;;;;;;;;;OAgBG;IACG,YAAY,CAAC,YAAY,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAmFjG;;;;;;;;;;OAUG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBpC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAgDzC"}
@@ -6,7 +6,7 @@
6
6
  * - Auto-login with credentials (email/password from ENV)
7
7
  * - Browser state persistence (cookies + localStorage + sessionStorage)
8
8
  * - Cookie expiry validation
9
- * - State expiry checks (24h file age)
9
+ * - State expiry checks (7-day file age)
10
10
  * - Hard reset for clean start
11
11
  *
12
12
  * Based on the Python implementation from auth.py
@@ -19,7 +19,7 @@ import { log } from "../utils/logger.js";
19
19
  import { humanType, randomDelay, realisticClick, randomMouseMovement, } from "../utils/stealth-utils.js";
20
20
  import { maskEmail } from "../utils/security.js";
21
21
  import { getSecureStorage } from "../utils/crypto.js";
22
- import { withLock } from "../utils/file-lock.js";
22
+ import { withLock, isLocked } from "../utils/file-lock.js";
23
23
  /**
24
24
  * Critical cookie names for Google authentication
25
25
  */
@@ -128,7 +128,7 @@ export class AuthManager {
128
128
  return null;
129
129
  }
130
130
  if (await this.isStateExpired()) {
131
- log.warning("⚠️ Saved state is expired (>24h old)");
131
+ log.warning("⚠️ Saved state is expired (>7 days old)");
132
132
  log.info("💡 Run setup_auth tool to re-authenticate");
133
133
  return null;
134
134
  }
@@ -235,7 +235,125 @@ export class AuthManager {
235
235
  }
236
236
  }
237
237
  /**
238
- * Check if the saved state file is too old (>24 hours)
238
+ * Race-condition-aware auth validation with automatic retry.
239
+ *
240
+ * In concurrent deployments each session runs its own isolated Chrome profile
241
+ * cloned from the shared base. When Google refreshes OAuth tokens for session A,
242
+ * the cookies held by sessions B/C become invalid even though the credentials
243
+ * themselves are fine. This method distinguishes that scenario from genuine
244
+ * cookie expiry and self-heals by reloading fresh cookies from state.json.pqenc.
245
+ *
246
+ * Decision logic per attempt:
247
+ * 1. Cookies valid → return true immediately (fast path).
248
+ * 2. .auth-in-progress lock is held OR state.json.pqenc was written within
249
+ * the last 2 minutes → race condition. Wait random jitter, reload cookies,
250
+ * re-validate, and repeat up to maxRetries times.
251
+ * 3. Neither signal present → genuine expiry. Break early, return false so
252
+ * the caller can prompt for setup_auth.
253
+ */
254
+ async validateWithRetry(context, maxRetries = 3) {
255
+ // Fast path — cookies already valid; touch file to reset 7-day expiry clock
256
+ if (await this.validateCookiesExpiry(context)) {
257
+ await this.touchStateFile();
258
+ return true;
259
+ }
260
+ const RECENT_STATE_MS = 120_000; // 2 min — state updated this recently = race condition
261
+ const AUTH_STALE_MS = 720_000; // 12 min stale threshold (matches shared-context-manager)
262
+ const BASE_JITTER_MS = 3_000;
263
+ const MAX_JITTER_MS = 15_000;
264
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
265
+ // Diagnose: is this a race condition or genuine expiry?
266
+ const lockHeld = isLocked(this.authLockPath, AUTH_STALE_MS);
267
+ const stateMtime = await this.getStateFileMtimeMs();
268
+ const stateRecent = stateMtime !== null && (Date.now() - stateMtime) < RECENT_STATE_MS;
269
+ if (!lockHeld && !stateRecent) {
270
+ log.warning(`⚠️ Auth failed — no concurrent session signal detected. Cookies likely genuinely expired.`);
271
+ break;
272
+ }
273
+ const reason = lockHeld && stateRecent
274
+ ? "auth lock held + state recently refreshed"
275
+ : lockHeld ? "auth lock held by another session"
276
+ : "state.json.pqenc refreshed by another session";
277
+ const jitter = BASE_JITTER_MS + Math.random() * (MAX_JITTER_MS - BASE_JITTER_MS);
278
+ log.warning(`⚠️ Auth race condition detected (${reason}). Waiting ${(jitter / 1000).toFixed(1)}s then reloading cookies… (attempt ${attempt}/${maxRetries})`);
279
+ await new Promise(resolve => setTimeout(resolve, jitter));
280
+ const reloaded = await this.reloadCookiesFromState(context);
281
+ if (!reloaded) {
282
+ log.warning(" ⚠️ Could not reload cookies from state file — will retry");
283
+ continue;
284
+ }
285
+ if (await this.validateCookiesExpiry(context)) {
286
+ log.success(` ✅ Auth recovered after race condition (attempt ${attempt})`);
287
+ // Touch state file so the 7-day expiry clock resets
288
+ await this.touchStateFile();
289
+ return true;
290
+ }
291
+ }
292
+ log.warning("⚠️ Auth validation failed after retries.");
293
+ log.info("💡 Run setup_auth tool to re-authenticate");
294
+ return false;
295
+ }
296
+ /**
297
+ * Get the mtime of the auth state file (tries .pqenc, .enc, plain in order).
298
+ * Returns null if no state file found.
299
+ */
300
+ async getStateFileMtimeMs() {
301
+ for (const ext of [".pqenc", ".enc", ""]) {
302
+ try {
303
+ const stats = await fs.stat(this.stateFilePath + ext);
304
+ return stats.mtimeMs;
305
+ }
306
+ catch {
307
+ continue;
308
+ }
309
+ }
310
+ return null;
311
+ }
312
+ /**
313
+ * Touch the state file to reset the 7-day expiry clock.
314
+ * Called after successful auth validation so sessions that use the
315
+ * existing credentials don't cause the file to silently expire.
316
+ */
317
+ async touchStateFile() {
318
+ for (const ext of [".pqenc", ".enc", ""]) {
319
+ const filePath = this.stateFilePath + ext;
320
+ try {
321
+ const now = new Date();
322
+ await fs.utimes(filePath, now, now);
323
+ return;
324
+ }
325
+ catch {
326
+ continue;
327
+ }
328
+ }
329
+ }
330
+ /**
331
+ * Reload fresh cookies from state.json.pqenc into the browser context.
332
+ * Uses addCookies() which overwrites existing cookies with the same key,
333
+ * replacing stale tokens with the latest ones saved by another session.
334
+ */
335
+ async reloadCookiesFromState(context) {
336
+ try {
337
+ const secureStorage = getSecureStorage();
338
+ const stateData = await secureStorage.load(this.stateFilePath);
339
+ if (!stateData)
340
+ return false;
341
+ const state = JSON.parse(stateData);
342
+ const cookies = state.cookies;
343
+ if (!cookies?.length)
344
+ return false;
345
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
346
+ await context.addCookies(cookies);
347
+ log.info(` 🔄 Reloaded ${cookies.length} cookies from state file into context`);
348
+ return true;
349
+ }
350
+ catch (error) {
351
+ log.warning(` ⚠️ Failed to reload cookies: ${error}`);
352
+ return false;
353
+ }
354
+ }
355
+ /**
356
+ * Check if the saved state file is too old (>7 days)
239
357
  * Checks encrypted versions (.pqenc, .enc) as well as unencrypted
240
358
  */
241
359
  async isStateExpired() {
@@ -246,10 +364,10 @@ export class AuthManager {
246
364
  try {
247
365
  const stats = await fs.stat(filePath);
248
366
  const fileAgeSeconds = (Date.now() - stats.mtimeMs) / 1000;
249
- const maxAgeSeconds = 24 * 60 * 60; // 24 hours
367
+ const maxAgeSeconds = 7 * 24 * 60 * 60; // 7 days (Google cookies last 2-4 weeks)
250
368
  if (fileAgeSeconds > maxAgeSeconds) {
251
369
  const hoursOld = fileAgeSeconds / 3600;
252
- log.warning(`⚠️ Saved state is ${hoursOld.toFixed(1)}h old (max: 24h)`);
370
+ log.warning(`⚠️ Saved state is ${hoursOld.toFixed(1)}h old (max: 7 days)`);
253
371
  return true;
254
372
  }
255
373
  return false; // Found a valid, non-expired file
@@ -841,10 +959,10 @@ export class AuthManager {
841
959
  // overrideHeadless contains show_browser value (true = show, false = hide)
842
960
  const shouldShowBrowser = overrideHeadless !== undefined ? overrideHeadless : true;
843
961
  try {
844
- // CRITICAL: Clear ALL old auth data FIRST (for account switching)
845
- log.info("🔄 Preparing for new account authentication...");
846
- await sendProgress?.("Clearing old authentication data...", 1, 10);
847
- await this.clearAllAuthData();
962
+ // Do NOT call clearAllAuthData() here. Deleting the Chrome profile and
963
+ // state file before the new login completes leaves auth in a broken state
964
+ // if Chrome fails to open or the user doesn't complete login in time.
965
+ // For account switching, call clearAllAuthData() explicitly before setup_auth.
848
966
  log.info("🚀 Launching persistent browser for interactive setup...");
849
967
  log.info(` 📍 Profile: ${CONFIG.chromeProfileDir}`);
850
968
  await sendProgress?.("Launching persistent browser...", 2, 10);
@@ -903,7 +1021,11 @@ export class AuthManager {
903
1021
  * Use this BEFORE authenticating a new account!
904
1022
  */
905
1023
  async clearAllAuthData() {
906
- log.warning("🗑️ Clearing ALL authentication data for account switch...");
1024
+ // Log a stack trace so we always know who called this
1025
+ const stack = new Error("clearAllAuthData caller").stack ?? "";
1026
+ const caller = stack.split("\n")[2]?.trim() ?? "unknown";
1027
+ log.warning("🗑️ Clearing ALL authentication data...");
1028
+ log.warning(` Called from: ${caller}`);
907
1029
  let deletedCount = 0;
908
1030
  const secureStorage = getSecureStorage();
909
1031
  // 1. Delete all state files in browser_state_dir (including encrypted versions)
@@ -1 +1 @@
1
- {"version":3,"file":"auth-manager.js","sourceRoot":"","sources":["../../src/auth/auth-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-manager.js","sourceRoot":"","sources":["../../src/auth/auth-manager.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * MCP Auth configuration
14
14
  */
15
15
  export interface MCPAuthConfig {
16
- /** Enable authentication (default: false for backwards compatibility) */
16
+ /** Enable authentication (default: true secure by default) */
17
17
  enabled: boolean;
18
18
  /** Token from environment or file */
19
19
  token?: string;
@@ -21,7 +21,7 @@ export interface MCPAuthConfig {
21
21
  tokenFile: string;
22
22
  /** Max failed auth attempts before lockout */
23
23
  maxFailedAttempts: number;
24
- /** Lockout duration in milliseconds */
24
+ /** Lockout duration in milliseconds (initial — escalates with exponential backoff) */
25
25
  lockoutDurationMs: number;
26
26
  }
27
27
  /**
@@ -39,6 +39,10 @@ export declare class MCPAuthenticator {
39
39
  * Initialize the authenticator
40
40
  */
41
41
  initialize(): Promise<void>;
42
+ /**
43
+ * Print token setup instructions to stderr
44
+ */
45
+ private printTokenInstructions;
42
46
  /**
43
47
  * Generate a secure random token
44
48
  */
@@ -61,6 +65,9 @@ export declare class MCPAuthenticator {
61
65
  private isLockedOut;
62
66
  /**
63
67
  * Record a failed authentication attempt
68
+ *
69
+ * Uses exponential backoff for lockout duration:
70
+ * 1st lockout: 5min, 2nd: 15min, 3rd: 45min, 4th+: 4hr (capped)
64
71
  */
65
72
  private recordFailedAttempt;
66
73
  /**
@@ -72,9 +79,10 @@ export declare class MCPAuthenticator {
72
79
  *
73
80
  * @param token - Token to validate
74
81
  * @param clientId - Client identifier for rate limiting (default: "unknown")
82
+ * @param forceValidation - If true, validate even when auth is globally disabled (for sensitive tools)
75
83
  * @returns true if valid, false if invalid
76
84
  */
77
- validateToken(token: string | undefined, clientId?: string): Promise<boolean>;
85
+ validateToken(token: string | undefined, clientId?: string, forceValidation?: boolean): Promise<boolean>;
78
86
  /**
79
87
  * Get authentication status for health check
80
88
  */
@@ -94,9 +102,22 @@ export declare class MCPAuthenticator {
94
102
  export declare function getMCPAuthenticator(): MCPAuthenticator;
95
103
  /**
96
104
  * Middleware function for MCP request authentication
105
+ *
106
+ * @param token - The auth token to validate
107
+ * @param clientId - Client identifier for rate limiting
108
+ * @param forceAuth - If true, require auth even when globally disabled (for sensitive tools)
97
109
  */
98
- export declare function authenticateMCPRequest(token: string | undefined, clientId?: string): Promise<{
110
+ export declare function authenticateMCPRequest(token: string | undefined, clientId?: string, forceAuth?: boolean): Promise<{
99
111
  authenticated: boolean;
100
112
  error?: string;
101
113
  }>;
114
+ /**
115
+ * CLI handler for `npx notebooklm-mcp token <subcommand>`
116
+ *
117
+ * Subcommands:
118
+ * show — Generate a new token (or show instructions to retrieve the current one)
119
+ * rotate — Rotate the token and display the new one
120
+ * (none) — Print help
121
+ */
122
+ export declare function handleTokenCommand(args: string[]): Promise<void>;
102
123
  //# sourceMappingURL=mcp-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-auth.d.ts","sourceRoot":"","sources":["../../src/auth/mcp-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAyBD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAI3C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+DjC;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhC;;OAEG;YACW,aAAa;IAa3B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;;OAMG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAE,MAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmD9F;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB;IASD;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;CAUrC;AAOD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBrD"}
1
+ {"version":3,"file":"mcp-auth.d.ts","sourceRoot":"","sources":["../../src/auth/mcp-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAgDD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAI3C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDjC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhC;;OAEG;YACW,aAAa;IAa3B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;;;OAOG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAE,MAAkB,EAAE,eAAe,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAmDhI;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB;IASD;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;CAUrC;AAOD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BrD;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDtE"}