@roomi-fields/notebooklm-mcp 1.3.5 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -658
- package/dist/accounts/account-manager.d.ts +163 -0
- package/dist/accounts/account-manager.d.ts.map +1 -0
- package/dist/accounts/account-manager.js +614 -0
- package/dist/accounts/account-manager.js.map +1 -0
- package/dist/accounts/auto-login-manager.d.ts +62 -0
- package/dist/accounts/auto-login-manager.d.ts.map +1 -0
- package/dist/accounts/auto-login-manager.js +537 -0
- package/dist/accounts/auto-login-manager.js.map +1 -0
- package/dist/accounts/crypto.d.ts +45 -0
- package/dist/accounts/crypto.d.ts.map +1 -0
- package/dist/accounts/crypto.js +138 -0
- package/dist/accounts/crypto.js.map +1 -0
- package/dist/accounts/index.d.ts +14 -0
- package/dist/accounts/index.d.ts.map +1 -0
- package/dist/accounts/index.js +14 -0
- package/dist/accounts/index.js.map +1 -0
- package/dist/accounts/types.d.ts +103 -0
- package/dist/accounts/types.d.ts.map +1 -0
- package/dist/accounts/types.js +7 -0
- package/dist/accounts/types.js.map +1 -0
- package/dist/auth/auth-manager.d.ts +9 -2
- package/dist/auth/auth-manager.d.ts.map +1 -1
- package/dist/auth/auth-manager.js +60 -6
- package/dist/auth/auth-manager.js.map +1 -1
- package/dist/auto-discovery/auto-discovery.d.ts.map +1 -1
- package/dist/auto-discovery/auto-discovery.js +2 -1
- package/dist/auto-discovery/auto-discovery.js.map +1 -1
- package/dist/cli/accounts.d.ts +13 -0
- package/dist/cli/accounts.d.ts.map +1 -0
- package/dist/cli/accounts.js +195 -0
- package/dist/cli/accounts.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -0
- package/dist/config.js.map +1 -1
- package/dist/content/content-generator.d.ts +153 -0
- package/dist/content/content-generator.d.ts.map +1 -0
- package/dist/content/content-generator.js +637 -0
- package/dist/content/content-generator.js.map +1 -0
- package/dist/content/content-manager.d.ts +364 -0
- package/dist/content/content-manager.d.ts.map +1 -0
- package/dist/content/content-manager.js +3846 -0
- package/dist/content/content-manager.js.map +1 -0
- package/dist/content/content-templates.d.ts +183 -0
- package/dist/content/content-templates.d.ts.map +1 -0
- package/dist/content/content-templates.js +719 -0
- package/dist/content/content-templates.js.map +1 -0
- package/dist/content/index.d.ts +14 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +14 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/types.d.ts +285 -0
- package/dist/content/types.d.ts.map +1 -0
- package/dist/content/types.js +10 -0
- package/dist/content/types.js.map +1 -0
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/http-wrapper.d.ts +7 -0
- package/dist/http-wrapper.d.ts.map +1 -1
- package/dist/http-wrapper.js +449 -29
- package/dist/http-wrapper.js.map +1 -1
- package/dist/index.js +26 -2
- package/dist/index.js.map +1 -1
- package/dist/library/notebook-library.d.ts +4 -0
- package/dist/library/notebook-library.d.ts.map +1 -1
- package/dist/library/notebook-library.js +20 -3
- package/dist/library/notebook-library.js.map +1 -1
- package/dist/session/browser-session.d.ts +35 -8
- package/dist/session/browser-session.d.ts.map +1 -1
- package/dist/session/browser-session.js +242 -28
- package/dist/session/browser-session.js.map +1 -1
- package/dist/session/session-manager.d.ts +6 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +46 -14
- package/dist/session/session-manager.js.map +1 -1
- package/dist/session/shared-context-manager.d.ts +3 -3
- package/dist/session/shared-context-manager.d.ts.map +1 -1
- package/dist/session/shared-context-manager.js +8 -7
- package/dist/session/shared-context-manager.js.map +1 -1
- package/dist/stdio-http-proxy.d.ts +24 -0
- package/dist/stdio-http-proxy.d.ts.map +1 -0
- package/dist/stdio-http-proxy.js +592 -0
- package/dist/stdio-http-proxy.js.map +1 -0
- package/dist/tools/index.d.ts +106 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1028 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +81 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/citation-extractor.d.ts +66 -0
- package/dist/utils/citation-extractor.d.ts.map +1 -0
- package/dist/utils/citation-extractor.js +492 -0
- package/dist/utils/citation-extractor.js.map +1 -0
- package/dist/utils/page-utils.d.ts +8 -0
- package/dist/utils/page-utils.d.ts.map +1 -1
- package/dist/utils/page-utils.js +112 -8
- package/dist/utils/page-utils.js.map +1 -1
- package/docs/ARCHITECTURE_MIGRATION_STUDY.md +894 -0
- package/docs/CHROME_PROFILE_LIMITATION.md +15 -1
- package/docs/MULTI_ACCOUNT_SYSTEM.md +304 -0
- package/package.json +10 -10
- package/dist/__tests__/cleanup-manager.test.d.ts +0 -2
- package/dist/__tests__/cleanup-manager.test.d.ts.map +0 -1
- package/dist/__tests__/cleanup-manager.test.js +0 -341
- package/dist/__tests__/cleanup-manager.test.js.map +0 -1
- package/dist/__tests__/config-parsing.test.d.ts +0 -2
- package/dist/__tests__/config-parsing.test.d.ts.map +0 -1
- package/dist/__tests__/config-parsing.test.js +0 -338
- package/dist/__tests__/config-parsing.test.js.map +0 -1
- package/dist/__tests__/config.test.d.ts +0 -2
- package/dist/__tests__/config.test.d.ts.map +0 -1
- package/dist/__tests__/config.test.js +0 -267
- package/dist/__tests__/config.test.js.map +0 -1
- package/dist/__tests__/errors.test.d.ts +0 -2
- package/dist/__tests__/errors.test.d.ts.map +0 -1
- package/dist/__tests__/errors.test.js +0 -166
- package/dist/__tests__/errors.test.js.map +0 -1
- package/dist/__tests__/logger.test.d.ts +0 -2
- package/dist/__tests__/logger.test.d.ts.map +0 -1
- package/dist/__tests__/logger.test.js +0 -324
- package/dist/__tests__/logger.test.js.map +0 -1
- package/dist/__tests__/page-utils.test.d.ts +0 -2
- package/dist/__tests__/page-utils.test.d.ts.map +0 -1
- package/dist/__tests__/page-utils.test.js +0 -349
- package/dist/__tests__/page-utils.test.js.map +0 -1
- package/dist/__tests__/setup-verification.test.d.ts +0 -2
- package/dist/__tests__/setup-verification.test.d.ts.map +0 -1
- package/dist/__tests__/setup-verification.test.js +0 -15
- package/dist/__tests__/setup-verification.test.js.map +0 -1
- package/dist/__tests__/stealth-utils.test.d.ts +0 -2
- package/dist/__tests__/stealth-utils.test.d.ts.map +0 -1
- package/dist/__tests__/stealth-utils.test.js +0 -413
- package/dist/__tests__/stealth-utils.test.js.map +0 -1
- package/dist/__tests__/types.test.d.ts +0 -2
- package/dist/__tests__/types.test.d.ts.map +0 -1
- package/dist/__tests__/types.test.js +0 -461
- package/dist/__tests__/types.test.js.map +0 -1
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages multiple Google accounts for NotebookLM with:
|
|
5
|
+
* - Account pool with rotation strategies
|
|
6
|
+
* - Encrypted credential storage
|
|
7
|
+
* - Quota tracking per account
|
|
8
|
+
* - Session health monitoring
|
|
9
|
+
* - Auto-login when sessions expire
|
|
10
|
+
*/
|
|
11
|
+
import type { Account, AccountHealth, AccountSelection, RotationStrategy } from './types.js';
|
|
12
|
+
export declare class AccountManager {
|
|
13
|
+
private configPath;
|
|
14
|
+
private accountsDir;
|
|
15
|
+
private config;
|
|
16
|
+
private accounts;
|
|
17
|
+
private lastUsedIndex;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Initialize the account manager
|
|
21
|
+
*/
|
|
22
|
+
initialize(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Ensure required directories exist
|
|
25
|
+
*/
|
|
26
|
+
private ensureDirectories;
|
|
27
|
+
/**
|
|
28
|
+
* Load accounts configuration
|
|
29
|
+
*/
|
|
30
|
+
private loadConfig;
|
|
31
|
+
/**
|
|
32
|
+
* Save accounts configuration
|
|
33
|
+
*/
|
|
34
|
+
private saveConfig;
|
|
35
|
+
/**
|
|
36
|
+
* Load all accounts from disk
|
|
37
|
+
*/
|
|
38
|
+
private loadAccounts;
|
|
39
|
+
/**
|
|
40
|
+
* Load a single account
|
|
41
|
+
*/
|
|
42
|
+
private loadAccount;
|
|
43
|
+
/**
|
|
44
|
+
* Create fresh quota (resets at midnight UTC)
|
|
45
|
+
*/
|
|
46
|
+
private createFreshQuota;
|
|
47
|
+
/**
|
|
48
|
+
* Add a new account
|
|
49
|
+
*/
|
|
50
|
+
addAccount(email: string, password: string, totpSecret?: string, options?: {
|
|
51
|
+
priority?: number;
|
|
52
|
+
notes?: string;
|
|
53
|
+
}): Promise<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Remove an account
|
|
56
|
+
*/
|
|
57
|
+
removeAccount(accountId: string): Promise<boolean>;
|
|
58
|
+
/**
|
|
59
|
+
* List all accounts
|
|
60
|
+
*/
|
|
61
|
+
listAccounts(): Account[];
|
|
62
|
+
/**
|
|
63
|
+
* Get account by ID
|
|
64
|
+
*/
|
|
65
|
+
getAccount(accountId: string): Account | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Get credentials for an account
|
|
68
|
+
*/
|
|
69
|
+
getCredentials(accountId: string): Promise<{
|
|
70
|
+
email: string;
|
|
71
|
+
password: string;
|
|
72
|
+
totpSecret?: string;
|
|
73
|
+
} | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Get the best available account based on rotation strategy
|
|
76
|
+
* @param excludeAccountId Optional account ID to exclude (e.g., rate-limited account)
|
|
77
|
+
*/
|
|
78
|
+
getBestAccount(excludeAccountId?: string): Promise<AccountSelection | null>;
|
|
79
|
+
/**
|
|
80
|
+
* Get accounts that are available for use
|
|
81
|
+
*/
|
|
82
|
+
private getAvailableAccounts;
|
|
83
|
+
/**
|
|
84
|
+
* Select account with most remaining quota
|
|
85
|
+
*/
|
|
86
|
+
private selectLeastUsed;
|
|
87
|
+
/**
|
|
88
|
+
* Select account using round-robin
|
|
89
|
+
*/
|
|
90
|
+
private selectRoundRobin;
|
|
91
|
+
/**
|
|
92
|
+
* Select account by priority (failover)
|
|
93
|
+
*/
|
|
94
|
+
private selectFailover;
|
|
95
|
+
/**
|
|
96
|
+
* Record a query usage for an account
|
|
97
|
+
*/
|
|
98
|
+
recordUsage(accountId: string): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Mark account as rate-limited (quota exhausted)
|
|
101
|
+
* This ensures the account won't be selected again until quota resets
|
|
102
|
+
*/
|
|
103
|
+
markRateLimited(accountId: string): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Save the ID of the currently active account
|
|
106
|
+
* This is used to identify which account is currently loaded in the main profile
|
|
107
|
+
*/
|
|
108
|
+
saveCurrentAccountId(accountId: string): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Get the ID of the currently active account
|
|
111
|
+
* Returns null if no account is set or file doesn't exist
|
|
112
|
+
*/
|
|
113
|
+
getCurrentAccountId(): Promise<string | null>;
|
|
114
|
+
/**
|
|
115
|
+
* Record a login failure
|
|
116
|
+
*/
|
|
117
|
+
recordLoginFailure(accountId: string, error: string): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Record a successful login
|
|
120
|
+
*/
|
|
121
|
+
recordLoginSuccess(accountId: string): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Update session status for an account
|
|
124
|
+
*/
|
|
125
|
+
updateSessionStatus(accountId: string, status: 'valid' | 'expiring' | 'expired'): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Check health of all accounts
|
|
128
|
+
*/
|
|
129
|
+
healthCheck(): Promise<AccountHealth[]>;
|
|
130
|
+
/**
|
|
131
|
+
* Check health of a single account
|
|
132
|
+
*/
|
|
133
|
+
private checkAccountHealth;
|
|
134
|
+
/**
|
|
135
|
+
* Get current rotation strategy
|
|
136
|
+
*/
|
|
137
|
+
getRotationStrategy(): RotationStrategy;
|
|
138
|
+
/**
|
|
139
|
+
* Set rotation strategy
|
|
140
|
+
*/
|
|
141
|
+
setRotationStrategy(strategy: RotationStrategy): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Check if auto-login is enabled
|
|
144
|
+
*/
|
|
145
|
+
isAutoLoginEnabled(): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Enable/disable auto-login
|
|
148
|
+
*/
|
|
149
|
+
setAutoLoginEnabled(enabled: boolean): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Get account count
|
|
152
|
+
*/
|
|
153
|
+
getAccountCount(): number;
|
|
154
|
+
/**
|
|
155
|
+
* Check if any accounts are configured
|
|
156
|
+
*/
|
|
157
|
+
hasAccounts(): boolean;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get or create the account manager instance
|
|
161
|
+
*/
|
|
162
|
+
export declare function getAccountManager(): Promise<AccountManager>;
|
|
163
|
+
//# sourceMappingURL=account-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-manager.d.ts","sourceRoot":"","sources":["../../src/accounts/account-manager.ts"],"names":[],"mappings":"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"}
|