notebooklm-kit 0.0.1 → 2.1.1

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 (100) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +4102 -0
  3. package/dist/src/auth/auth.d.ts +46 -0
  4. package/dist/src/auth/auth.d.ts.map +1 -0
  5. package/dist/src/auth/auth.js +323 -0
  6. package/dist/src/auth/auth.js.map +1 -0
  7. package/dist/src/auth/refresh.d.ts +150 -0
  8. package/dist/src/auth/refresh.d.ts.map +1 -0
  9. package/dist/src/auth/refresh.js +433 -0
  10. package/dist/src/auth/refresh.js.map +1 -0
  11. package/dist/src/client/notebooklm-client.d.ts +372 -0
  12. package/dist/src/client/notebooklm-client.d.ts.map +1 -0
  13. package/dist/src/client/notebooklm-client.js +550 -0
  14. package/dist/src/client/notebooklm-client.js.map +1 -0
  15. package/dist/src/index.d.ts +50 -0
  16. package/dist/src/index.d.ts.map +1 -0
  17. package/dist/src/index.js +45 -0
  18. package/dist/src/index.js.map +1 -0
  19. package/dist/src/rpc/rpc-client.d.ts +48 -0
  20. package/dist/src/rpc/rpc-client.d.ts.map +1 -0
  21. package/dist/src/rpc/rpc-client.js +94 -0
  22. package/dist/src/rpc/rpc-client.js.map +1 -0
  23. package/dist/src/rpc/rpc-methods.d.ts +127 -0
  24. package/dist/src/rpc/rpc-methods.d.ts.map +1 -0
  25. package/dist/src/rpc/rpc-methods.js +169 -0
  26. package/dist/src/rpc/rpc-methods.js.map +1 -0
  27. package/dist/src/services/artifacts.d.ts +1017 -0
  28. package/dist/src/services/artifacts.d.ts.map +1 -0
  29. package/dist/src/services/artifacts.js +5413 -0
  30. package/dist/src/services/artifacts.js.map +1 -0
  31. package/dist/src/services/generation.d.ts +147 -0
  32. package/dist/src/services/generation.d.ts.map +1 -0
  33. package/dist/src/services/generation.js +479 -0
  34. package/dist/src/services/generation.js.map +1 -0
  35. package/dist/src/services/notebook-language.d.ts +109 -0
  36. package/dist/src/services/notebook-language.d.ts.map +1 -0
  37. package/dist/src/services/notebook-language.js +204 -0
  38. package/dist/src/services/notebook-language.js.map +1 -0
  39. package/dist/src/services/notebooks.d.ts +26 -0
  40. package/dist/src/services/notebooks.d.ts.map +1 -0
  41. package/dist/src/services/notebooks.js +539 -0
  42. package/dist/src/services/notebooks.js.map +1 -0
  43. package/dist/src/services/notes.d.ts +72 -0
  44. package/dist/src/services/notes.d.ts.map +1 -0
  45. package/dist/src/services/notes.js +340 -0
  46. package/dist/src/services/notes.js.map +1 -0
  47. package/dist/src/services/sources.d.ts +1085 -0
  48. package/dist/src/services/sources.d.ts.map +1 -0
  49. package/dist/src/services/sources.js +2675 -0
  50. package/dist/src/services/sources.js.map +1 -0
  51. package/dist/src/types/artifact.d.ts +258 -0
  52. package/dist/src/types/artifact.d.ts.map +1 -0
  53. package/dist/src/types/artifact.js +42 -0
  54. package/dist/src/types/artifact.js.map +1 -0
  55. package/dist/src/types/common.d.ts +226 -0
  56. package/dist/src/types/common.d.ts.map +1 -0
  57. package/dist/src/types/common.js +80 -0
  58. package/dist/src/types/common.js.map +1 -0
  59. package/dist/src/types/languages.d.ts +179 -0
  60. package/dist/src/types/languages.d.ts.map +1 -0
  61. package/dist/src/types/languages.js +254 -0
  62. package/dist/src/types/languages.js.map +1 -0
  63. package/dist/src/types/note.d.ts +41 -0
  64. package/dist/src/types/note.d.ts.map +1 -0
  65. package/dist/src/types/note.js +12 -0
  66. package/dist/src/types/note.js.map +1 -0
  67. package/dist/src/types/notebook.d.ts +81 -0
  68. package/dist/src/types/notebook.d.ts.map +1 -0
  69. package/dist/src/types/notebook.js +5 -0
  70. package/dist/src/types/notebook.js.map +1 -0
  71. package/dist/src/types/source.d.ts +241 -0
  72. package/dist/src/types/source.d.ts.map +1 -0
  73. package/dist/src/types/source.js +60 -0
  74. package/dist/src/types/source.js.map +1 -0
  75. package/dist/src/utils/batch-execute.d.ts +58 -0
  76. package/dist/src/utils/batch-execute.d.ts.map +1 -0
  77. package/dist/src/utils/batch-execute.js +398 -0
  78. package/dist/src/utils/batch-execute.js.map +1 -0
  79. package/dist/src/utils/chunked-decoder.d.ts +11 -0
  80. package/dist/src/utils/chunked-decoder.d.ts.map +1 -0
  81. package/dist/src/utils/chunked-decoder.js +326 -0
  82. package/dist/src/utils/chunked-decoder.js.map +1 -0
  83. package/dist/src/utils/chunked-parser.d.ts +61 -0
  84. package/dist/src/utils/chunked-parser.d.ts.map +1 -0
  85. package/dist/src/utils/chunked-parser.js +609 -0
  86. package/dist/src/utils/chunked-parser.js.map +1 -0
  87. package/dist/src/utils/errors.d.ts +58 -0
  88. package/dist/src/utils/errors.d.ts.map +1 -0
  89. package/dist/src/utils/errors.js +357 -0
  90. package/dist/src/utils/errors.js.map +1 -0
  91. package/dist/src/utils/quota.d.ts +213 -0
  92. package/dist/src/utils/quota.d.ts.map +1 -0
  93. package/dist/src/utils/quota.js +518 -0
  94. package/dist/src/utils/quota.js.map +1 -0
  95. package/dist/src/utils/streaming-client.d.ts +129 -0
  96. package/dist/src/utils/streaming-client.d.ts.map +1 -0
  97. package/dist/src/utils/streaming-client.js +559 -0
  98. package/dist/src/utils/streaming-client.js.map +1 -0
  99. package/package.json +85 -7
  100. package/index.js +0 -2
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Authentication management for NotebookLM
3
+ * Handles auto-login, credential extraction, and credential storage
4
+ */
5
+ /**
6
+ * Credentials structure
7
+ */
8
+ export interface Credentials {
9
+ authToken: string;
10
+ cookies: string;
11
+ }
12
+ /**
13
+ * Authentication configuration
14
+ */
15
+ export interface AuthConfig {
16
+ /** Google email for auto-login */
17
+ email?: string;
18
+ /** Google password for auto-login */
19
+ password?: string;
20
+ /** Enable headless mode for browser (default: true) */
21
+ headless?: boolean;
22
+ /** Enable debug logging */
23
+ debug?: boolean;
24
+ }
25
+ /**
26
+ * Save credentials to disk
27
+ */
28
+ export declare function saveCredentials(credentials: Credentials): Promise<void>;
29
+ /**
30
+ * Load credentials from disk
31
+ */
32
+ export declare function loadCredentials(): Promise<Credentials | null>;
33
+ /**
34
+ * Delete saved credentials
35
+ */
36
+ export declare function deleteCredentials(): Promise<void>;
37
+ /**
38
+ * Auto-login and extract credentials using Playwright
39
+ */
40
+ export declare function autoLogin(config?: AuthConfig): Promise<Credentials>;
41
+ /**
42
+ * Get credentials from various sources
43
+ * Priority: 1. Provided credentials 2. Environment variables 3. Saved credentials 4. Auto-login
44
+ */
45
+ export declare function getCredentials(providedCredentials?: Partial<Credentials>, config?: AuthConfig): Promise<Credentials>;
46
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAsBD;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7E;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CASnE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOvD;AA4ND;;GAEG;AACH,wBAAsB,SAAS,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAwC7E;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC1C,MAAM,GAAE,UAAe,GACtB,OAAO,CAAC,WAAW,CAAC,CA0CtB"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * Authentication management for NotebookLM
3
+ * Handles auto-login, credential extraction, and credential storage
4
+ */
5
+ import { chromium } from 'playwright';
6
+ import { NotebookLMAuthError } from '../types/common.js';
7
+ import * as fs from 'fs/promises';
8
+ import * as path from 'path';
9
+ import * as readline from 'readline';
10
+ const USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36';
11
+ /**
12
+ * Get credentials storage path
13
+ * Saves to project root (current working directory) for easy access
14
+ */
15
+ function getCredentialsPath() {
16
+ // Save in project root (current working directory)
17
+ // This is where you run the script from (e.g., notebooklm-kit/)
18
+ const projectRoot = process.cwd();
19
+ return path.join(projectRoot, 'credentials.json');
20
+ }
21
+ /**
22
+ * Ensure credentials directory exists
23
+ */
24
+ async function ensureCredentialsDir() {
25
+ const credsPath = getCredentialsPath();
26
+ const dir = path.dirname(credsPath);
27
+ await fs.mkdir(dir, { recursive: true });
28
+ }
29
+ /**
30
+ * Save credentials to disk
31
+ */
32
+ export async function saveCredentials(credentials) {
33
+ await ensureCredentialsDir();
34
+ const credsPath = getCredentialsPath();
35
+ await fs.writeFile(credsPath, JSON.stringify(credentials, null, 2), 'utf-8');
36
+ }
37
+ /**
38
+ * Load credentials from disk
39
+ */
40
+ export async function loadCredentials() {
41
+ try {
42
+ const credsPath = getCredentialsPath();
43
+ const data = await fs.readFile(credsPath, 'utf-8');
44
+ return JSON.parse(data);
45
+ }
46
+ catch (error) {
47
+ // File doesn't exist or invalid
48
+ return null;
49
+ }
50
+ }
51
+ /**
52
+ * Delete saved credentials
53
+ */
54
+ export async function deleteCredentials() {
55
+ try {
56
+ const credsPath = getCredentialsPath();
57
+ await fs.unlink(credsPath);
58
+ }
59
+ catch (error) {
60
+ // File doesn't exist, ignore
61
+ }
62
+ }
63
+ /**
64
+ * Authenticate with Google using Playwright
65
+ */
66
+ async function authenticateWithGoogle(page, email, password, debug = false) {
67
+ if (debug) {
68
+ console.log('Authenticating with Google...');
69
+ }
70
+ // Navigate to Google sign-in
71
+ await page.goto('https://accounts.google.com/signin', { waitUntil: 'domcontentloaded', timeout: 60000 });
72
+ // Enter email
73
+ await page.fill('input[type="email"]', email);
74
+ await page.click('button:has-text("Next"), #identifierNext, button[type="button"]:has-text("Next")');
75
+ await page.waitForTimeout(2000);
76
+ // Enter password
77
+ await page.fill('input[type="password"]', password);
78
+ await page.click('button:has-text("Next"), #passwordNext, button[type="button"]:has-text("Next")');
79
+ // Wait for authentication to complete (including 2FA)
80
+ await page.waitForTimeout(3000); // 3 seconds
81
+ // Check if we're still on sign-in page (2FA or other issues)
82
+ const currentUrl = page.url();
83
+ if (currentUrl.includes('accounts.google.com/signin') || currentUrl.includes('challenge')) {
84
+ // Give additional time for 2FA if still on sign-in page
85
+ console.log('⚠️ Still on sign-in page - waiting additional 10 seconds for 2FA completion...');
86
+ await page.waitForTimeout(10000); // 10 seconds - reduced from 30 seconds
87
+ const finalUrl = page.url();
88
+ if (finalUrl.includes('accounts.google.com/signin') || finalUrl.includes('challenge')) {
89
+ throw new NotebookLMAuthError('Authentication requires additional steps (2FA, verification, etc.). ' +
90
+ 'Please use manual authentication with NOTEBOOKLM_AUTH_TOKEN and NOTEBOOKLM_COOKIES environment variables instead.');
91
+ }
92
+ }
93
+ if (debug) {
94
+ console.log('✓ Google authentication successful');
95
+ }
96
+ }
97
+ /**
98
+ * Extract credentials from NotebookLM page
99
+ */
100
+ async function extractCredentials(page, debug = false) {
101
+ if (debug) {
102
+ console.log('Navigating to NotebookLM...');
103
+ }
104
+ // Navigate to NotebookLM
105
+ await page.goto('https://notebooklm.google.com/', {
106
+ waitUntil: 'domcontentloaded',
107
+ timeout: 60000
108
+ });
109
+ // Wait for page to load
110
+ await page.waitForTimeout(5000);
111
+ // Check if we're still on sign-in page
112
+ const currentUrl = page.url();
113
+ if (currentUrl.includes('accounts.google.com/signin')) {
114
+ throw new NotebookLMAuthError('Failed to access NotebookLM - authentication may have failed');
115
+ }
116
+ // Extract auth token from window.WIZ_global_data.SNlM0e
117
+ if (debug) {
118
+ console.log('Extracting auth token...');
119
+ }
120
+ let authToken = null;
121
+ for (let attempt = 0; attempt < 10; attempt++) {
122
+ authToken = await page.evaluate(() => {
123
+ // @ts-ignore
124
+ return window.WIZ_global_data?.SNlM0e || null;
125
+ });
126
+ if (authToken) {
127
+ break;
128
+ }
129
+ if (debug && attempt < 5) {
130
+ console.log(`Waiting for auth token... (attempt ${attempt + 1}/10)`);
131
+ }
132
+ await page.waitForTimeout(2000);
133
+ }
134
+ if (!authToken) {
135
+ // Try one more time with longer wait
136
+ await page.waitForTimeout(5000);
137
+ authToken = await page.evaluate(() => {
138
+ // @ts-ignore
139
+ return window.WIZ_global_data?.SNlM0e || null;
140
+ });
141
+ }
142
+ if (!authToken) {
143
+ throw new NotebookLMAuthError('Failed to extract auth token. The page may still be loading.');
144
+ }
145
+ // Automatically extract cookies from browser context
146
+ // Get cookies that would be sent to notebooklm.google.com
147
+ if (debug) {
148
+ console.log('Extracting cookies from browser context...');
149
+ }
150
+ let cookieString = '';
151
+ try {
152
+ // Method 1: Get cookies from the page's document.cookie (JavaScript accessible cookies)
153
+ let documentCookies = '';
154
+ try {
155
+ documentCookies = await page.evaluate(() => document.cookie);
156
+ if (debug && documentCookies) {
157
+ console.log(`Document cookies length: ${documentCookies.length}`);
158
+ }
159
+ }
160
+ catch (e) {
161
+ // Ignore if document.cookie is not accessible
162
+ }
163
+ // Method 2: Get cookies from browser context for notebooklm.google.com
164
+ const contextCookies = await page.context().cookies('https://notebooklm.google.com');
165
+ if (debug) {
166
+ console.log(`Found ${contextCookies.length} cookies from context for notebooklm.google.com`);
167
+ }
168
+ // Build a map of unique cookies (prefer context cookies as they're more complete)
169
+ const cookieMap = new Map();
170
+ // First, add cookies from document.cookie if available (these are the ones JavaScript can access)
171
+ if (documentCookies) {
172
+ const docCookiePairs = documentCookies.split(';').map(c => c.trim());
173
+ for (const pair of docCookiePairs) {
174
+ const [name, ...valueParts] = pair.split('=');
175
+ if (name && valueParts.length > 0) {
176
+ cookieMap.set(name.trim(), valueParts.join('='));
177
+ }
178
+ }
179
+ }
180
+ // Then, add/override with context cookies (these include HttpOnly cookies)
181
+ for (const cookie of contextCookies) {
182
+ // Only include cookies that are relevant for notebooklm.google.com
183
+ const domain = cookie.domain || '';
184
+ if (domain.includes('notebooklm.google.com') ||
185
+ domain.includes('.google.com') ||
186
+ domain === '' ||
187
+ !domain) {
188
+ cookieMap.set(cookie.name, cookie.value);
189
+ }
190
+ }
191
+ // Build cookie string
192
+ cookieString = Array.from(cookieMap.entries())
193
+ .map(([name, value]) => `${name}=${value}`)
194
+ .join('; ');
195
+ if (debug) {
196
+ console.log(`Extracted ${cookieMap.size} unique cookies (${cookieString.length} characters)`);
197
+ }
198
+ }
199
+ catch (error) {
200
+ if (debug) {
201
+ console.warn('Failed to extract cookies automatically:', error.message);
202
+ }
203
+ }
204
+ // Validate extracted cookies
205
+ if (!cookieString || cookieString.length < 100) {
206
+ if (debug) {
207
+ console.warn('⚠️ Automatic cookie extraction failed or cookies too short');
208
+ console.warn(` Cookie length: ${cookieString.length} (minimum: 100)`);
209
+ console.log('Falling back to manual cookie input...');
210
+ }
211
+ // Fall back to manual input
212
+ cookieString = await promptForCookies();
213
+ if (!cookieString || cookieString.length < 100) {
214
+ throw new NotebookLMAuthError('Invalid cookies - cookie string too short or empty');
215
+ }
216
+ }
217
+ else {
218
+ if (debug) {
219
+ console.log('✓ Cookies extracted successfully');
220
+ }
221
+ }
222
+ return {
223
+ authToken,
224
+ cookies: cookieString,
225
+ };
226
+ }
227
+ /**
228
+ * Prompt for cookies input from terminal
229
+ */
230
+ function promptForCookies() {
231
+ const rl = readline.createInterface({
232
+ input: process.stdin,
233
+ output: process.stdout,
234
+ });
235
+ return new Promise((resolve) => {
236
+ console.log('\n📋 Please copy cookies from your browser:');
237
+ console.log(' 1. Open DevTools (F12) in the browser');
238
+ console.log(' 2. Go to Network tab');
239
+ console.log(' 3. Click on any request to notebooklm.google.com');
240
+ console.log(' 4. Copy the "Cookie" header value');
241
+ console.log(' 5. Paste it below\n');
242
+ rl.question('Enter cookies: ', (cookies) => {
243
+ rl.close();
244
+ resolve(cookies.trim());
245
+ });
246
+ });
247
+ }
248
+ /**
249
+ * Auto-login and extract credentials using Playwright
250
+ */
251
+ export async function autoLogin(config = {}) {
252
+ const { email, password, headless = true, debug = false } = config;
253
+ if (!email || !password) {
254
+ throw new NotebookLMAuthError('Email and password are required for auto-login. ' +
255
+ 'Provide them via environment variables (GOOGLE_EMAIL, GOOGLE_PASSWORD) or config.');
256
+ }
257
+ let browser;
258
+ try {
259
+ // Launch browser
260
+ browser = await chromium.launch({ headless });
261
+ const context = await browser.newContext({
262
+ userAgent: USER_AGENT,
263
+ viewport: { width: 1280, height: 800 }
264
+ });
265
+ const page = await context.newPage();
266
+ // Authenticate with Google
267
+ await authenticateWithGoogle(page, email, password, debug);
268
+ // Extract both auth token and cookies from NotebookLM automatically
269
+ // Falls back to manual input if automatic extraction fails
270
+ const credentials = await extractCredentials(page, debug);
271
+ // Save credentials for future use
272
+ await saveCredentials(credentials);
273
+ return credentials;
274
+ }
275
+ catch (error) {
276
+ throw error;
277
+ }
278
+ finally {
279
+ if (browser) {
280
+ await browser.close();
281
+ }
282
+ }
283
+ }
284
+ /**
285
+ * Get credentials from various sources
286
+ * Priority: 1. Provided credentials 2. Environment variables 3. Saved credentials 4. Auto-login
287
+ */
288
+ export async function getCredentials(providedCredentials, config = {}) {
289
+ // 1. Use provided credentials if complete
290
+ if (providedCredentials?.authToken && providedCredentials?.cookies) {
291
+ return providedCredentials;
292
+ }
293
+ // 2. Try environment variables
294
+ const envAuthToken = process.env.NOTEBOOKLM_AUTH_TOKEN;
295
+ const envCookies = process.env.NOTEBOOKLM_COOKIES;
296
+ if (envAuthToken && envCookies) {
297
+ return {
298
+ authToken: envAuthToken,
299
+ cookies: envCookies,
300
+ };
301
+ }
302
+ // 3. Try saved credentials first (before auto-login)
303
+ // This allows saved credentials to be reused without re-authenticating
304
+ // Skip if FORCE_REAUTH=true is set
305
+ if (process.env.FORCE_REAUTH !== 'true') {
306
+ const savedCredentials = await loadCredentials();
307
+ if (savedCredentials && savedCredentials.authToken && savedCredentials.cookies) {
308
+ return savedCredentials;
309
+ }
310
+ }
311
+ // 4. Try auto-login if email/password available (only if no saved credentials)
312
+ const email = config.email || process.env.GOOGLE_EMAIL;
313
+ const password = config.password || process.env.GOOGLE_PASSWORD;
314
+ if (email && password) {
315
+ return await autoLogin({ ...config, email, password });
316
+ }
317
+ throw new NotebookLMAuthError('No credentials available. Provide credentials via:\n' +
318
+ ' - Config: { authToken, cookies }\n' +
319
+ ' - Environment: NOTEBOOKLM_AUTH_TOKEN, NOTEBOOKLM_COOKIES\n' +
320
+ ' - Saved credentials: credentials.json in project root\n' +
321
+ ' - Auto-login: GOOGLE_EMAIL, GOOGLE_PASSWORD (no 2FA)');
322
+ }
323
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/auth/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Authentication refresh utilities
3
+ * Keeps NotebookLM sessions alive by refreshing credentials
4
+ * Implements hybrid refresh strategy: expiration-based (primary) + time-based (fallback)
5
+ */
6
+ import type { Credentials } from './auth.js';
7
+ /**
8
+ * Refresh client for credential refresh
9
+ */
10
+ export declare class RefreshClient {
11
+ private sapisid;
12
+ private debug;
13
+ private cookies;
14
+ private onCredentialsUpdate?;
15
+ constructor(cookies: string, debug?: boolean, onCredentialsUpdate?: (cookies: string) => void);
16
+ /**
17
+ * Update cookies (called after refresh to keep credentials in sync)
18
+ */
19
+ updateCookies(cookies: string): void;
20
+ /**
21
+ * Get current cookies
22
+ */
23
+ getCookies(): string;
24
+ /**
25
+ * Refresh credentials
26
+ *
27
+ * @param gsessionId - Google session ID (optional)
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const refreshClient = new RefreshClient(cookies);
32
+ * await refreshClient.refreshCredentials();
33
+ * ```
34
+ */
35
+ refreshCredentials(gsessionId?: string): Promise<void>;
36
+ /**
37
+ * Generate SAPISIDHASH
38
+ * Format: SHA1(timestamp + " " + SAPISID + " " + origin)
39
+ */
40
+ private generateSAPISIDHASH;
41
+ /**
42
+ * Extract cookie value by name
43
+ */
44
+ private extractCookieValue;
45
+ }
46
+ /**
47
+ * Parse auth token to extract expiration time
48
+ * Token format: "tokenValue:timestamp" where timestamp is Unix milliseconds
49
+ * Expiry: timestamp + 1 hour
50
+ */
51
+ export declare function parseAuthToken(token: string): {
52
+ tokenValue: string;
53
+ expiryTime: Date;
54
+ };
55
+ /**
56
+ * Extract gsessionid from NotebookLM page
57
+ */
58
+ export declare function extractGSessionId(cookies: string): Promise<string | null>;
59
+ /**
60
+ * Auto-refresh configuration
61
+ */
62
+ export interface AutoRefreshConfig {
63
+ /** Enable auto-refresh */
64
+ enabled: boolean;
65
+ /** Refresh strategy: 'auto' | 'time' | 'expiration' */
66
+ strategy?: 'auto' | 'time' | 'expiration';
67
+ /** Refresh interval for time-based strategy (ms) - default: 10 minutes */
68
+ interval?: number;
69
+ /** Refresh ahead time for expiration-based strategy (ms) - default: 5 minutes before expiry */
70
+ refreshAhead?: number;
71
+ /** Check interval for expiration-based strategy (ms) - default: 1 minute */
72
+ checkInterval?: number;
73
+ /** Enable debug logging */
74
+ debug?: boolean;
75
+ /** Google session ID (will be extracted if not provided) */
76
+ gsessionId?: string;
77
+ /** Auth token (for expiration-based refresh) */
78
+ authToken?: string;
79
+ /** Callback when credentials are updated after refresh */
80
+ onCredentialsUpdate?: (credentials: Credentials) => void;
81
+ }
82
+ /**
83
+ * Default auto-refresh configuration
84
+ */
85
+ export declare function defaultAutoRefreshConfig(): AutoRefreshConfig;
86
+ /**
87
+ * Auto-refresh manager
88
+ * Automatically refreshes credentials in the background
89
+ * Supports three strategies: 'auto' (expiration-based + time-based fallback), 'time', 'expiration'
90
+ */
91
+ export declare class AutoRefreshManager {
92
+ private config;
93
+ private refreshClient;
94
+ private timeIntervalId;
95
+ private checkIntervalId;
96
+ private running;
97
+ private gsessionId?;
98
+ private authToken?;
99
+ private lastRefreshTime;
100
+ constructor(cookies: string, config: AutoRefreshConfig);
101
+ /**
102
+ * Update auth token (for expiration-based refresh)
103
+ */
104
+ updateAuthToken(authToken: string): void;
105
+ /**
106
+ * Update cookies
107
+ */
108
+ updateCookies(cookies: string): void;
109
+ /**
110
+ * Start auto-refresh
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const manager = new AutoRefreshManager(cookies, {
115
+ * enabled: true,
116
+ * strategy: 'auto', // or 'time' or 'expiration'
117
+ * interval: 10 * 60 * 1000, // 10 minutes (time-based)
118
+ * refreshAhead: 5 * 60 * 1000, // 5 minutes before expiry (expiration-based)
119
+ * });
120
+ *
121
+ * await manager.start();
122
+ * ```
123
+ */
124
+ start(): Promise<void>;
125
+ /**
126
+ * Check if token needs refresh based on expiration
127
+ */
128
+ private checkAndRefreshExpiration;
129
+ /**
130
+ * Perform actual refresh operation
131
+ */
132
+ private performRefresh;
133
+ /**
134
+ * Stop auto-refresh
135
+ */
136
+ stop(): void;
137
+ /**
138
+ * Check if auto-refresh is running
139
+ */
140
+ isRunning(): boolean;
141
+ /**
142
+ * Manually trigger a refresh
143
+ */
144
+ refresh(): Promise<void>;
145
+ /**
146
+ * Get last refresh time
147
+ */
148
+ getLastRefreshTime(): number;
149
+ }
150
+ //# sourceMappingURL=refresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/refresh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAe7C;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAC,CAA4B;gBAGtD,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,OAAe,EACtB,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAYjD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQpC;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkE5D;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAU3B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAiBtF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgC/E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAC;IAEjB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;IAE1C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,CAS5D;AAED;;;;GAIG;AACH,qBAAa,kBAAkB;IAW3B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAa;gBAGlC,OAAO,EAAE,MAAM,EACP,MAAM,EAAE,iBAAiB;IAmBnC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpC;;;;;;;;;;;;;;OAcG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2F5B;;OAEG;YACW,yBAAyB;IAwCvC;;OAEG;YACW,cAAc;IAI5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAkBZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;OAEG;IACH,kBAAkB,IAAI,MAAM;CAG7B"}