notebooklm-mcp-ultimate 2.2.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.
- package/LICENSE +21 -0
- package/README.md +420 -0
- package/dist/api/batch-execute-client.d.ts +232 -0
- package/dist/api/batch-execute-client.d.ts.map +1 -0
- package/dist/api/batch-execute-client.js +672 -0
- package/dist/api/batch-execute-client.js.map +1 -0
- package/dist/api/content-types.d.ts +44 -0
- package/dist/api/content-types.d.ts.map +1 -0
- package/dist/api/content-types.js +89 -0
- package/dist/api/content-types.js.map +1 -0
- package/dist/api/csrf-manager.d.ts +94 -0
- package/dist/api/csrf-manager.d.ts.map +1 -0
- package/dist/api/csrf-manager.js +178 -0
- package/dist/api/csrf-manager.js.map +1 -0
- package/dist/api/index.d.ts +27 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +56 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/operation-poller.d.ts +67 -0
- package/dist/api/operation-poller.d.ts.map +1 -0
- package/dist/api/operation-poller.js +132 -0
- package/dist/api/operation-poller.js.map +1 -0
- package/dist/api/request-builder.d.ts +196 -0
- package/dist/api/request-builder.d.ts.map +1 -0
- package/dist/api/request-builder.js +371 -0
- package/dist/api/request-builder.js.map +1 -0
- package/dist/api/response-parser.d.ts +124 -0
- package/dist/api/response-parser.d.ts.map +1 -0
- package/dist/api/response-parser.js +595 -0
- package/dist/api/response-parser.js.map +1 -0
- package/dist/api/rpc-ids.d.ts +92 -0
- package/dist/api/rpc-ids.d.ts.map +1 -0
- package/dist/api/rpc-ids.js +138 -0
- package/dist/api/rpc-ids.js.map +1 -0
- package/dist/api/streaming-chat-client.d.ts +50 -0
- package/dist/api/streaming-chat-client.d.ts.map +1 -0
- package/dist/api/streaming-chat-client.js +198 -0
- package/dist/api/streaming-chat-client.js.map +1 -0
- package/dist/api/types.d.ts +318 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +22 -0
- package/dist/api/types.js.map +1 -0
- package/dist/auth/auth-manager.d.ts +163 -0
- package/dist/auth/auth-manager.d.ts.map +1 -0
- package/dist/auth/auth-manager.js +1055 -0
- package/dist/auth/auth-manager.js.map +1 -0
- package/dist/auth/cookie-store.d.ts +121 -0
- package/dist/auth/cookie-store.d.ts.map +1 -0
- package/dist/auth/cookie-store.js +283 -0
- package/dist/auth/cookie-store.js.map +1 -0
- package/dist/config.d.ts +89 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +217 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +26 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +41 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +439 -0
- package/dist/index.js.map +1 -0
- package/dist/library/notebook-library.d.ts +79 -0
- package/dist/library/notebook-library.d.ts.map +1 -0
- package/dist/library/notebook-library.js +296 -0
- package/dist/library/notebook-library.js.map +1 -0
- package/dist/library/types.d.ts +67 -0
- package/dist/library/types.d.ts.map +1 -0
- package/dist/library/types.js +8 -0
- package/dist/library/types.js.map +1 -0
- package/dist/operations/content-operations.d.ts +78 -0
- package/dist/operations/content-operations.d.ts.map +1 -0
- package/dist/operations/content-operations.js +162 -0
- package/dist/operations/content-operations.js.map +1 -0
- package/dist/operations/hybrid-executor.d.ts +47 -0
- package/dist/operations/hybrid-executor.d.ts.map +1 -0
- package/dist/operations/hybrid-executor.js +114 -0
- package/dist/operations/hybrid-executor.js.map +1 -0
- package/dist/operations/notebook-crud-operations.d.ts +52 -0
- package/dist/operations/notebook-crud-operations.d.ts.map +1 -0
- package/dist/operations/notebook-crud-operations.js +248 -0
- package/dist/operations/notebook-crud-operations.js.map +1 -0
- package/dist/operations/research-operations.d.ts +42 -0
- package/dist/operations/research-operations.d.ts.map +1 -0
- package/dist/operations/research-operations.js +189 -0
- package/dist/operations/research-operations.js.map +1 -0
- package/dist/operations/source-operations.d.ts +59 -0
- package/dist/operations/source-operations.d.ts.map +1 -0
- package/dist/operations/source-operations.js +280 -0
- package/dist/operations/source-operations.js.map +1 -0
- package/dist/operations/studio-operations.d.ts +98 -0
- package/dist/operations/studio-operations.d.ts.map +1 -0
- package/dist/operations/studio-operations.js +309 -0
- package/dist/operations/studio-operations.js.map +1 -0
- package/dist/resources/resource-handlers.d.ts +22 -0
- package/dist/resources/resource-handlers.d.ts.map +1 -0
- package/dist/resources/resource-handlers.js +216 -0
- package/dist/resources/resource-handlers.js.map +1 -0
- package/dist/session/browser-session.d.ts +113 -0
- package/dist/session/browser-session.d.ts.map +1 -0
- package/dist/session/browser-session.js +670 -0
- package/dist/session/browser-session.js.map +1 -0
- package/dist/session/session-manager.d.ts +88 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +314 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/session/shared-context-manager.d.ts +107 -0
- package/dist/session/shared-context-manager.d.ts.map +1 -0
- package/dist/session/shared-context-manager.js +447 -0
- package/dist/session/shared-context-manager.js.map +1 -0
- package/dist/tools/definitions/ask-question.d.ts +8 -0
- package/dist/tools/definitions/ask-question.d.ts.map +1 -0
- package/dist/tools/definitions/ask-question.js +213 -0
- package/dist/tools/definitions/ask-question.js.map +1 -0
- package/dist/tools/definitions/content-generation.d.ts +52 -0
- package/dist/tools/definitions/content-generation.d.ts.map +1 -0
- package/dist/tools/definitions/content-generation.js +236 -0
- package/dist/tools/definitions/content-generation.js.map +1 -0
- package/dist/tools/definitions/notebook-crud.d.ts +9 -0
- package/dist/tools/definitions/notebook-crud.d.ts.map +1 -0
- package/dist/tools/definitions/notebook-crud.js +156 -0
- package/dist/tools/definitions/notebook-crud.js.map +1 -0
- package/dist/tools/definitions/notebook-management.d.ts +3 -0
- package/dist/tools/definitions/notebook-management.d.ts.map +1 -0
- package/dist/tools/definitions/notebook-management.js +243 -0
- package/dist/tools/definitions/notebook-management.js.map +1 -0
- package/dist/tools/definitions/research.d.ts +23 -0
- package/dist/tools/definitions/research.d.ts.map +1 -0
- package/dist/tools/definitions/research.js +108 -0
- package/dist/tools/definitions/research.js.map +1 -0
- package/dist/tools/definitions/session-management.d.ts +3 -0
- package/dist/tools/definitions/session-management.d.ts.map +1 -0
- package/dist/tools/definitions/session-management.js +41 -0
- package/dist/tools/definitions/session-management.js.map +1 -0
- package/dist/tools/definitions/source-management.d.ts +39 -0
- package/dist/tools/definitions/source-management.d.ts.map +1 -0
- package/dist/tools/definitions/source-management.js +224 -0
- package/dist/tools/definitions/source-management.js.map +1 -0
- package/dist/tools/definitions/studio.d.ts +36 -0
- package/dist/tools/definitions/studio.d.ts.map +1 -0
- package/dist/tools/definitions/studio.js +153 -0
- package/dist/tools/definitions/studio.js.map +1 -0
- package/dist/tools/definitions/system.d.ts +3 -0
- package/dist/tools/definitions/system.d.ts.map +1 -0
- package/dist/tools/definitions/system.js +143 -0
- package/dist/tools/definitions/system.js.map +1 -0
- package/dist/tools/definitions.d.ts +12 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +36 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/handlers/content-handlers.d.ts +287 -0
- package/dist/tools/handlers/content-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/content-handlers.js +244 -0
- package/dist/tools/handlers/content-handlers.js.map +1 -0
- package/dist/tools/handlers/notebook-crud-handlers.d.ts +69 -0
- package/dist/tools/handlers/notebook-crud-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/notebook-crud-handlers.js +117 -0
- package/dist/tools/handlers/notebook-crud-handlers.js.map +1 -0
- package/dist/tools/handlers/research-handlers.d.ts +37 -0
- package/dist/tools/handlers/research-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/research-handlers.js +87 -0
- package/dist/tools/handlers/research-handlers.js.map +1 -0
- package/dist/tools/handlers/source-handlers.d.ts +52 -0
- package/dist/tools/handlers/source-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/source-handlers.js +177 -0
- package/dist/tools/handlers/source-handlers.js.map +1 -0
- package/dist/tools/handlers/studio-handlers.d.ts +125 -0
- package/dist/tools/handlers/studio-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/studio-handlers.js +183 -0
- package/dist/tools/handlers/studio-handlers.js.map +1 -0
- package/dist/tools/handlers.d.ts +629 -0
- package/dist/tools/handlers.d.ts.map +1 -0
- package/dist/tools/handlers.js +833 -0
- package/dist/tools/handlers.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types.d.ts +82 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/cleanup-manager.d.ts +133 -0
- package/dist/utils/cleanup-manager.d.ts.map +1 -0
- package/dist/utils/cleanup-manager.js +673 -0
- package/dist/utils/cleanup-manager.js.map +1 -0
- package/dist/utils/cli-handler.d.ts +16 -0
- package/dist/utils/cli-handler.d.ts.map +1 -0
- package/dist/utils/cli-handler.js +102 -0
- package/dist/utils/cli-handler.js.map +1 -0
- package/dist/utils/logger.d.ts +61 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +92 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/page-utils.d.ts +54 -0
- package/dist/utils/page-utils.d.ts.map +1 -0
- package/dist/utils/page-utils.js +405 -0
- package/dist/utils/page-utils.js.map +1 -0
- package/dist/utils/settings-manager.d.ts +37 -0
- package/dist/utils/settings-manager.d.ts.map +1 -0
- package/dist/utils/settings-manager.js +120 -0
- package/dist/utils/settings-manager.js.map +1 -0
- package/dist/utils/stealth-utils.d.ts +135 -0
- package/dist/utils/stealth-utils.d.ts.map +1 -0
- package/dist/utils/stealth-utils.js +398 -0
- package/dist/utils/stealth-utils.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-execute-client.js","sourceRoot":"","sources":["../../src/api/batch-execute-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Type Mapping for NotebookLM Unified Content Generation RPC
|
|
3
|
+
*
|
|
4
|
+
* All content generation uses the unified RPC ID `R7cb6c` with a type code
|
|
5
|
+
* to specify which kind of content to generate.
|
|
6
|
+
*/
|
|
7
|
+
import type { RPCRequest } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Numeric type codes for R7cb6c unified content generation RPC.
|
|
10
|
+
* These values are passed as the third element of the third argument array.
|
|
11
|
+
*/
|
|
12
|
+
export declare const ContentTypeCode: {
|
|
13
|
+
readonly AUDIO_OVERVIEW: 1;
|
|
14
|
+
readonly STUDY_GUIDE: 2;
|
|
15
|
+
readonly BRIEFING: 3;
|
|
16
|
+
readonly FLASHCARDS: 4;
|
|
17
|
+
readonly QUIZ: 5;
|
|
18
|
+
readonly FAQ: 6;
|
|
19
|
+
readonly TIMELINE: 7;
|
|
20
|
+
readonly OUTLINE: 8;
|
|
21
|
+
readonly INFOGRAPHIC: 9;
|
|
22
|
+
readonly DATA_TABLE: 10;
|
|
23
|
+
};
|
|
24
|
+
export type ContentTypeCode = typeof ContentTypeCode[keyof typeof ContentTypeCode];
|
|
25
|
+
/** Human-readable labels for each content type code */
|
|
26
|
+
export declare const CONTENT_TYPE_LABELS: Record<ContentTypeCode, string>;
|
|
27
|
+
/**
|
|
28
|
+
* Build a R7cb6c content generation request for any content type.
|
|
29
|
+
*
|
|
30
|
+
* @param notebookId - Target notebook ID
|
|
31
|
+
* @param typeCode - Content type code from ContentTypeCode
|
|
32
|
+
* @param sourceIds - Optional source IDs to restrict generation
|
|
33
|
+
* @returns Formatted RPCRequest ready for batchexecute
|
|
34
|
+
*/
|
|
35
|
+
export declare function buildContentGenerationRequest(notebookId: string, typeCode: ContentTypeCode, sourceIds?: string[]): RPCRequest;
|
|
36
|
+
/**
|
|
37
|
+
* Build a R7cb6c list-artifacts request (used by the operation poller).
|
|
38
|
+
*
|
|
39
|
+
* @param notebookId - Target notebook ID
|
|
40
|
+
* @param filterExpression - Optional filter expression (e.g. status filter)
|
|
41
|
+
* @returns Formatted RPCRequest
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildListArtifactsRequest(notebookId: string, filterExpression?: string): RPCRequest;
|
|
44
|
+
//# sourceMappingURL=content-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/api/content-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;CAWlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEnF,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAW/D,CAAC;AAgBF;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,eAAe,EACzB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,UAAU,CAWZ;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,UAAU,CAUZ"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Type Mapping for NotebookLM Unified Content Generation RPC
|
|
3
|
+
*
|
|
4
|
+
* All content generation uses the unified RPC ID `R7cb6c` with a type code
|
|
5
|
+
* to specify which kind of content to generate.
|
|
6
|
+
*/
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Content Type Enum
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Numeric type codes for R7cb6c unified content generation RPC.
|
|
12
|
+
* These values are passed as the third element of the third argument array.
|
|
13
|
+
*/
|
|
14
|
+
export const ContentTypeCode = {
|
|
15
|
+
AUDIO_OVERVIEW: 1,
|
|
16
|
+
STUDY_GUIDE: 2,
|
|
17
|
+
BRIEFING: 3,
|
|
18
|
+
FLASHCARDS: 4,
|
|
19
|
+
QUIZ: 5,
|
|
20
|
+
FAQ: 6,
|
|
21
|
+
TIMELINE: 7,
|
|
22
|
+
OUTLINE: 8,
|
|
23
|
+
INFOGRAPHIC: 9,
|
|
24
|
+
DATA_TABLE: 10,
|
|
25
|
+
};
|
|
26
|
+
/** Human-readable labels for each content type code */
|
|
27
|
+
export const CONTENT_TYPE_LABELS = {
|
|
28
|
+
[ContentTypeCode.AUDIO_OVERVIEW]: 'Audio Overview',
|
|
29
|
+
[ContentTypeCode.STUDY_GUIDE]: 'Study Guide',
|
|
30
|
+
[ContentTypeCode.BRIEFING]: 'Briefing / Report',
|
|
31
|
+
[ContentTypeCode.FLASHCARDS]: 'Flashcards',
|
|
32
|
+
[ContentTypeCode.QUIZ]: 'Quiz',
|
|
33
|
+
[ContentTypeCode.FAQ]: 'FAQ',
|
|
34
|
+
[ContentTypeCode.TIMELINE]: 'Timeline',
|
|
35
|
+
[ContentTypeCode.OUTLINE]: 'Outline / Mind Map',
|
|
36
|
+
[ContentTypeCode.INFOGRAPHIC]: 'Infographic',
|
|
37
|
+
[ContentTypeCode.DATA_TABLE]: 'Data Table',
|
|
38
|
+
};
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Request Builder
|
|
41
|
+
// ============================================================================
|
|
42
|
+
/**
|
|
43
|
+
* Standard first-argument payload used by all R7cb6c list-artifact calls.
|
|
44
|
+
* This queries for existing artifacts of all statuses.
|
|
45
|
+
*/
|
|
46
|
+
const LIST_ARTIFACTS_FIRST_ARG = [
|
|
47
|
+
2, null, null,
|
|
48
|
+
[1, null, null, null, null, null, null, null, null, null, [1]],
|
|
49
|
+
[[2, 1, 3]],
|
|
50
|
+
];
|
|
51
|
+
/**
|
|
52
|
+
* Build a R7cb6c content generation request for any content type.
|
|
53
|
+
*
|
|
54
|
+
* @param notebookId - Target notebook ID
|
|
55
|
+
* @param typeCode - Content type code from ContentTypeCode
|
|
56
|
+
* @param sourceIds - Optional source IDs to restrict generation
|
|
57
|
+
* @returns Formatted RPCRequest ready for batchexecute
|
|
58
|
+
*/
|
|
59
|
+
export function buildContentGenerationRequest(notebookId, typeCode, sourceIds) {
|
|
60
|
+
const srcFilter = sourceIds ? [sourceIds.map((id) => [id])] : null;
|
|
61
|
+
return {
|
|
62
|
+
rpcId: 'R7cb6c',
|
|
63
|
+
args: [
|
|
64
|
+
LIST_ARTIFACTS_FIRST_ARG,
|
|
65
|
+
notebookId,
|
|
66
|
+
[null, null, typeCode, srcFilter, null, null, null, null, null, null, null, null, 1],
|
|
67
|
+
],
|
|
68
|
+
requestId: 'generic',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build a R7cb6c list-artifacts request (used by the operation poller).
|
|
73
|
+
*
|
|
74
|
+
* @param notebookId - Target notebook ID
|
|
75
|
+
* @param filterExpression - Optional filter expression (e.g. status filter)
|
|
76
|
+
* @returns Formatted RPCRequest
|
|
77
|
+
*/
|
|
78
|
+
export function buildListArtifactsRequest(notebookId, filterExpression) {
|
|
79
|
+
return {
|
|
80
|
+
rpcId: 'gArtLc',
|
|
81
|
+
args: [
|
|
82
|
+
LIST_ARTIFACTS_FIRST_ARG,
|
|
83
|
+
notebookId,
|
|
84
|
+
filterExpression ?? 'NOT artifact.status = "ARTIFACT_STATUS_SUGGESTED"',
|
|
85
|
+
],
|
|
86
|
+
requestId: 'generic',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=content-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-types.js","sourceRoot":"","sources":["../../src/api/content-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,EAAE;CACN,CAAC;AAIX,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAoC;IAClE,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,gBAAgB;IAClD,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,aAAa;IAC5C,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,mBAAmB;IAC/C,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,YAAY;IAC1C,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM;IAC9B,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,KAAK;IAC5B,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,UAAU;IACtC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,oBAAoB;IAC/C,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,aAAa;IAC5C,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,YAAY;CAC3C,CAAC;AAEF,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,wBAAwB,GAAG;IAC/B,CAAC,EAAE,IAAI,EAAE,IAAI;IACb,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACZ,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAAkB,EAClB,QAAyB,EACzB,SAAoB;IAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE;YACJ,wBAAwB;YACxB,UAAU;YACV,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SACrF;QACD,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAkB,EAClB,gBAAyB;IAEzB,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE;YACJ,wBAAwB;YACxB,UAAU;YACV,gBAAgB,IAAI,mDAAmD;SACxE;QACD,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSRF Token Manager for NotebookLM API
|
|
3
|
+
*
|
|
4
|
+
* Google's batchexecute endpoint requires CSRF protection via:
|
|
5
|
+
* 1. A hash derived from SAPISID cookie (authorization header)
|
|
6
|
+
* 2. A token extracted from the page (for some operations)
|
|
7
|
+
*
|
|
8
|
+
* This manager handles:
|
|
9
|
+
* - SAPISIDHASH generation from cookies
|
|
10
|
+
* - CSRF token extraction and caching
|
|
11
|
+
* - Token refresh when expired
|
|
12
|
+
*/
|
|
13
|
+
import type { Cookie } from './types.js';
|
|
14
|
+
/**
|
|
15
|
+
* CSRF Manager for NotebookLM API authentication
|
|
16
|
+
*/
|
|
17
|
+
export declare class CSRFManager {
|
|
18
|
+
private cachedToken;
|
|
19
|
+
/** Token validity duration (15 minutes) */
|
|
20
|
+
private readonly TOKEN_TTL_MS;
|
|
21
|
+
/** Origin for SAPISIDHASH calculation */
|
|
22
|
+
private readonly ORIGIN;
|
|
23
|
+
/**
|
|
24
|
+
* Generate SAPISIDHASH for Authorization header
|
|
25
|
+
*
|
|
26
|
+
* The hash is calculated as:
|
|
27
|
+
* SAPISIDHASH <timestamp>_<sha1(timestamp + " " + SAPISID + " " + origin)>
|
|
28
|
+
*
|
|
29
|
+
* @param cookies - Browser cookies containing SAPISID
|
|
30
|
+
* @returns Authorization header value or null if SAPISID not found
|
|
31
|
+
*/
|
|
32
|
+
generateSAPISIDHash(cookies: Cookie[]): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* Extract CSRF token from page HTML
|
|
35
|
+
*
|
|
36
|
+
* The token is embedded in the page as a JavaScript variable.
|
|
37
|
+
* Common patterns:
|
|
38
|
+
* - window.WIZ_global_data.SNlM0e = "token"
|
|
39
|
+
* - "SNlM0e":"token"
|
|
40
|
+
*
|
|
41
|
+
* @param html - Page HTML content
|
|
42
|
+
* @returns Extracted token or null if not found
|
|
43
|
+
*/
|
|
44
|
+
extractTokenFromHTML(html: string): string | null;
|
|
45
|
+
/**
|
|
46
|
+
* Get cached CSRF token if still valid
|
|
47
|
+
*
|
|
48
|
+
* @returns Cached token value or null if expired/missing
|
|
49
|
+
*/
|
|
50
|
+
getCachedToken(): string | null;
|
|
51
|
+
/**
|
|
52
|
+
* Set/update cached CSRF token
|
|
53
|
+
*
|
|
54
|
+
* @param token - The token value to cache
|
|
55
|
+
*/
|
|
56
|
+
setCachedToken(token: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* Clear cached token (e.g., after auth failure)
|
|
59
|
+
*/
|
|
60
|
+
clearCache(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Check if we have a valid cached token
|
|
63
|
+
*/
|
|
64
|
+
hasValidToken(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Get token age in seconds (for debugging)
|
|
67
|
+
*/
|
|
68
|
+
getTokenAge(): number | null;
|
|
69
|
+
/**
|
|
70
|
+
* Build required cookies header value from cookie array
|
|
71
|
+
*
|
|
72
|
+
* @param cookies - Array of cookies
|
|
73
|
+
* @returns Cookie header value string
|
|
74
|
+
*/
|
|
75
|
+
buildCookieHeader(cookies: Cookie[]): string;
|
|
76
|
+
/**
|
|
77
|
+
* Get essential cookies for API requests
|
|
78
|
+
*
|
|
79
|
+
* These are the minimum cookies required for authentication.
|
|
80
|
+
*
|
|
81
|
+
* @param cookies - All browser cookies
|
|
82
|
+
* @returns Filtered essential cookies
|
|
83
|
+
*/
|
|
84
|
+
getEssentialCookies(cookies: Cookie[]): Cookie[];
|
|
85
|
+
/**
|
|
86
|
+
* Validate that required cookies are present
|
|
87
|
+
*
|
|
88
|
+
* @param cookies - Cookies to validate
|
|
89
|
+
* @returns True if all required cookies are present
|
|
90
|
+
*/
|
|
91
|
+
hasRequiredCookies(cookies: Cookie[]): boolean;
|
|
92
|
+
}
|
|
93
|
+
export declare const csrfManager: CSRFManager;
|
|
94
|
+
//# sourceMappingURL=csrf-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csrf-manager.d.ts","sourceRoot":"","sources":["../../src/api/csrf-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAczC;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAA0B;IAE7C,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAE/C,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAE1D;;;;;;;;OAQG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI;IAoBrD;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAsBjD;;;;OAIG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAc/B;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASnC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAO5B;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;IAI5C;;;;;;;OAOG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAmBhD;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO;CAkB/C;AAGD,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSRF Token Manager for NotebookLM API
|
|
3
|
+
*
|
|
4
|
+
* Google's batchexecute endpoint requires CSRF protection via:
|
|
5
|
+
* 1. A hash derived from SAPISID cookie (authorization header)
|
|
6
|
+
* 2. A token extracted from the page (for some operations)
|
|
7
|
+
*
|
|
8
|
+
* This manager handles:
|
|
9
|
+
* - SAPISIDHASH generation from cookies
|
|
10
|
+
* - CSRF token extraction and caching
|
|
11
|
+
* - Token refresh when expired
|
|
12
|
+
*/
|
|
13
|
+
import crypto from 'crypto';
|
|
14
|
+
/**
|
|
15
|
+
* CSRF Manager for NotebookLM API authentication
|
|
16
|
+
*/
|
|
17
|
+
export class CSRFManager {
|
|
18
|
+
cachedToken = null;
|
|
19
|
+
/** Token validity duration (15 minutes) */
|
|
20
|
+
TOKEN_TTL_MS = 15 * 60 * 1000;
|
|
21
|
+
/** Origin for SAPISIDHASH calculation */
|
|
22
|
+
ORIGIN = 'https://notebooklm.google.com';
|
|
23
|
+
/**
|
|
24
|
+
* Generate SAPISIDHASH for Authorization header
|
|
25
|
+
*
|
|
26
|
+
* The hash is calculated as:
|
|
27
|
+
* SAPISIDHASH <timestamp>_<sha1(timestamp + " " + SAPISID + " " + origin)>
|
|
28
|
+
*
|
|
29
|
+
* @param cookies - Browser cookies containing SAPISID
|
|
30
|
+
* @returns Authorization header value or null if SAPISID not found
|
|
31
|
+
*/
|
|
32
|
+
generateSAPISIDHash(cookies) {
|
|
33
|
+
// Find SAPISID cookie
|
|
34
|
+
const sapisidCookie = cookies.find((c) => c.name === 'SAPISID' || c.name === '__Secure-3PAPISID');
|
|
35
|
+
if (!sapisidCookie) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const sapisid = sapisidCookie.value;
|
|
39
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
40
|
+
const input = `${timestamp} ${sapisid} ${this.ORIGIN}`;
|
|
41
|
+
// Calculate SHA1 hash
|
|
42
|
+
const hash = crypto.createHash('sha1').update(input).digest('hex');
|
|
43
|
+
return `SAPISIDHASH ${timestamp}_${hash}`;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Extract CSRF token from page HTML
|
|
47
|
+
*
|
|
48
|
+
* The token is embedded in the page as a JavaScript variable.
|
|
49
|
+
* Common patterns:
|
|
50
|
+
* - window.WIZ_global_data.SNlM0e = "token"
|
|
51
|
+
* - "SNlM0e":"token"
|
|
52
|
+
*
|
|
53
|
+
* @param html - Page HTML content
|
|
54
|
+
* @returns Extracted token or null if not found
|
|
55
|
+
*/
|
|
56
|
+
extractTokenFromHTML(html) {
|
|
57
|
+
// Try multiple patterns
|
|
58
|
+
const patterns = [
|
|
59
|
+
// WIZ_global_data pattern
|
|
60
|
+
/window\.WIZ_global_data\s*=\s*\{[^}]*"SNlM0e"\s*:\s*"([^"]+)"/,
|
|
61
|
+
// Direct JSON pattern
|
|
62
|
+
/"SNlM0e"\s*:\s*"([^"]+)"/,
|
|
63
|
+
// Alternative patterns
|
|
64
|
+
/SNlM0e\s*=\s*["']([^"']+)["']/,
|
|
65
|
+
/\\"SNlM0e\\":\\"([^\\]+)\\"/,
|
|
66
|
+
];
|
|
67
|
+
for (const pattern of patterns) {
|
|
68
|
+
const match = html.match(pattern);
|
|
69
|
+
if (match && match[1]) {
|
|
70
|
+
return match[1];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get cached CSRF token if still valid
|
|
77
|
+
*
|
|
78
|
+
* @returns Cached token value or null if expired/missing
|
|
79
|
+
*/
|
|
80
|
+
getCachedToken() {
|
|
81
|
+
if (!this.cachedToken) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
const now = Date.now();
|
|
85
|
+
if (now >= this.cachedToken.expiresAt) {
|
|
86
|
+
this.cachedToken = null;
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return this.cachedToken.value;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Set/update cached CSRF token
|
|
93
|
+
*
|
|
94
|
+
* @param token - The token value to cache
|
|
95
|
+
*/
|
|
96
|
+
setCachedToken(token) {
|
|
97
|
+
const now = Date.now();
|
|
98
|
+
this.cachedToken = {
|
|
99
|
+
value: token,
|
|
100
|
+
extractedAt: now,
|
|
101
|
+
expiresAt: now + this.TOKEN_TTL_MS,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Clear cached token (e.g., after auth failure)
|
|
106
|
+
*/
|
|
107
|
+
clearCache() {
|
|
108
|
+
this.cachedToken = null;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Check if we have a valid cached token
|
|
112
|
+
*/
|
|
113
|
+
hasValidToken() {
|
|
114
|
+
return this.getCachedToken() !== null;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get token age in seconds (for debugging)
|
|
118
|
+
*/
|
|
119
|
+
getTokenAge() {
|
|
120
|
+
if (!this.cachedToken) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
return Math.floor((Date.now() - this.cachedToken.extractedAt) / 1000);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Build required cookies header value from cookie array
|
|
127
|
+
*
|
|
128
|
+
* @param cookies - Array of cookies
|
|
129
|
+
* @returns Cookie header value string
|
|
130
|
+
*/
|
|
131
|
+
buildCookieHeader(cookies) {
|
|
132
|
+
return cookies.map((c) => `${c.name}=${c.value}`).join('; ');
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get essential cookies for API requests
|
|
136
|
+
*
|
|
137
|
+
* These are the minimum cookies required for authentication.
|
|
138
|
+
*
|
|
139
|
+
* @param cookies - All browser cookies
|
|
140
|
+
* @returns Filtered essential cookies
|
|
141
|
+
*/
|
|
142
|
+
getEssentialCookies(cookies) {
|
|
143
|
+
const essentialNames = [
|
|
144
|
+
'SID',
|
|
145
|
+
'HSID',
|
|
146
|
+
'SSID',
|
|
147
|
+
'APISID',
|
|
148
|
+
'SAPISID',
|
|
149
|
+
'OSID',
|
|
150
|
+
'__Secure-OSID',
|
|
151
|
+
'__Secure-1PSID',
|
|
152
|
+
'__Secure-1PAPISID',
|
|
153
|
+
'__Secure-3PSID',
|
|
154
|
+
'__Secure-3PAPISID',
|
|
155
|
+
'NID',
|
|
156
|
+
];
|
|
157
|
+
return cookies.filter((c) => essentialNames.includes(c.name));
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Validate that required cookies are present
|
|
161
|
+
*
|
|
162
|
+
* @param cookies - Cookies to validate
|
|
163
|
+
* @returns True if all required cookies are present
|
|
164
|
+
*/
|
|
165
|
+
hasRequiredCookies(cookies) {
|
|
166
|
+
const required = ['SID', 'HSID', 'SSID'];
|
|
167
|
+
// Also check for at least one PSID cookie
|
|
168
|
+
const hasPSID = cookies.some((c) => c.name === '__Secure-1PSID' ||
|
|
169
|
+
c.name === '__Secure-3PSID' ||
|
|
170
|
+
c.name === 'OSID' ||
|
|
171
|
+
c.name === '__Secure-OSID');
|
|
172
|
+
const hasRequired = required.every((name) => cookies.some((c) => c.name === name));
|
|
173
|
+
return hasRequired && hasPSID;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Export singleton instance
|
|
177
|
+
export const csrfManager = new CSRFManager();
|
|
178
|
+
//# sourceMappingURL=csrf-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csrf-manager.js","sourceRoot":"","sources":["../../src/api/csrf-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NotebookLM Internal API Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides direct API access to NotebookLM without browser automation.
|
|
5
|
+
* It's faster for many operations but requires valid authentication cookies.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { getAPIClient, initializeAPIClientWithCookies, cookieStore } from './api/index.js';
|
|
10
|
+
*
|
|
11
|
+
* // Initialize client with cookies
|
|
12
|
+
* const client = getAPIClient();
|
|
13
|
+
* await initializeAPIClientWithCookies(client);
|
|
14
|
+
*
|
|
15
|
+
* // Use the client
|
|
16
|
+
* const notebooks = await client.listNotebooks();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export { BatchExecuteClient, NotebookLMAPIClient, getAPIClient, resetAPIClient, type BatchExecuteClientConfig, } from './batch-execute-client.js';
|
|
20
|
+
export type { RPCRequest, APIRequestConfig, Cookie, BatchExecuteResponse, RPCResponse, APINotebook, CreateNotebookRequest, RenameNotebookRequest, SourceType, APISource, AddURLSourceRequest, AddTextSourceRequest, AddYouTubeSourceRequest, AddDriveSourceRequest, AudioStatus, AudioConfig, APIAudioOverview, ContentType, GeneratedContent, GenerateContentRequest, DiscoveredSource, DiscoverSourcesRequest, SuggestedQuestion, QuestionResponse, Citation, APIError, APIErrorCode, } from './types.js';
|
|
21
|
+
export { API_ERROR_CODES } from './types.js';
|
|
22
|
+
export { RPC_IDS, RPC_NAMES, getRPCName, type RPCId } from './rpc-ids.js';
|
|
23
|
+
export { CSRFManager, csrfManager } from './csrf-manager.js';
|
|
24
|
+
export { buildSingleRequest, buildBatchPayload, buildRequestBody, buildRequestHeaders, buildEndpointURL, buildListNotebooksRequest, buildGetNotebookRequest, buildCreateNotebookRequest, buildDeleteNotebookRequest, buildRenameNotebookRequest, buildListSourcesRequest, buildAddURLSourceRequest, buildAddTextSourceRequest, buildAddYouTubeSourceRequest, buildAddDriveSourceRequest, buildDeleteSourceRequest, buildGetSourceRequest, buildGetAudioStatusRequest, buildCreateAudioRequest, buildDeleteAudioRequest, buildGetAudioURLRequest, buildGenerateFAQRequest, buildGenerateBriefingRequest, buildGenerateTimelineRequest, buildGenerateStudyGuideRequest, buildGetSuggestionsRequest, logRequests, } from './request-builder.js';
|
|
25
|
+
export { parseBatchExecuteResponse, extractResponse, getFirstSuccessfulResponse, parseNotebookList, parseNotebookItem, parseCreateNotebookResponse, parseSourceList, parseSourceItem, parseAudioStatus, parseAudioURL, parseGeneratedContent, parseSuggestedQuestions, isAuthError, isRateLimited, logResponse, } from './response-parser.js';
|
|
26
|
+
export { CookieStore, cookieStore, initializeAPIClientWithCookies, } from '../auth/cookie-store.js';
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,KAAK,wBAAwB,GAC9B,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EAEV,UAAU,EACV,gBAAgB,EAChB,MAAM,EAEN,oBAAoB,EACpB,WAAW,EAEX,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EAErB,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EAErB,WAAW,EACX,WAAW,EACX,gBAAgB,EAEhB,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EAEtB,gBAAgB,EAChB,sBAAsB,EAEtB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EAER,QAAQ,EACR,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAEhB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAE1B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EAErB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EAEvB,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,8BAA8B,EAE9B,0BAA0B,EAE1B,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAE1B,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAE3B,eAAe,EACf,eAAe,EAEf,gBAAgB,EAChB,aAAa,EAEb,qBAAqB,EAErB,uBAAuB,EAEvB,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,WAAW,EACX,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NotebookLM Internal API Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides direct API access to NotebookLM without browser automation.
|
|
5
|
+
* It's faster for many operations but requires valid authentication cookies.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { getAPIClient, initializeAPIClientWithCookies, cookieStore } from './api/index.js';
|
|
10
|
+
*
|
|
11
|
+
* // Initialize client with cookies
|
|
12
|
+
* const client = getAPIClient();
|
|
13
|
+
* await initializeAPIClientWithCookies(client);
|
|
14
|
+
*
|
|
15
|
+
* // Use the client
|
|
16
|
+
* const notebooks = await client.listNotebooks();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
// Core client
|
|
20
|
+
export { BatchExecuteClient, NotebookLMAPIClient, getAPIClient, resetAPIClient, } from './batch-execute-client.js';
|
|
21
|
+
export { API_ERROR_CODES } from './types.js';
|
|
22
|
+
// RPC IDs
|
|
23
|
+
export { RPC_IDS, RPC_NAMES, getRPCName } from './rpc-ids.js';
|
|
24
|
+
// CSRF Manager
|
|
25
|
+
export { CSRFManager, csrfManager } from './csrf-manager.js';
|
|
26
|
+
// Request Builder
|
|
27
|
+
export { buildSingleRequest, buildBatchPayload, buildRequestBody, buildRequestHeaders, buildEndpointURL,
|
|
28
|
+
// Notebook requests
|
|
29
|
+
buildListNotebooksRequest, buildGetNotebookRequest, buildCreateNotebookRequest, buildDeleteNotebookRequest, buildRenameNotebookRequest,
|
|
30
|
+
// Source requests
|
|
31
|
+
buildListSourcesRequest, buildAddURLSourceRequest, buildAddTextSourceRequest, buildAddYouTubeSourceRequest, buildAddDriveSourceRequest, buildDeleteSourceRequest, buildGetSourceRequest,
|
|
32
|
+
// Audio requests
|
|
33
|
+
buildGetAudioStatusRequest, buildCreateAudioRequest, buildDeleteAudioRequest, buildGetAudioURLRequest,
|
|
34
|
+
// Content generation requests
|
|
35
|
+
buildGenerateFAQRequest, buildGenerateBriefingRequest, buildGenerateTimelineRequest, buildGenerateStudyGuideRequest,
|
|
36
|
+
// Q&A requests
|
|
37
|
+
buildGetSuggestionsRequest,
|
|
38
|
+
// Utilities
|
|
39
|
+
logRequests, } from './request-builder.js';
|
|
40
|
+
// Response Parser
|
|
41
|
+
export { parseBatchExecuteResponse, extractResponse, getFirstSuccessfulResponse,
|
|
42
|
+
// Notebook parsing
|
|
43
|
+
parseNotebookList, parseNotebookItem, parseCreateNotebookResponse,
|
|
44
|
+
// Source parsing
|
|
45
|
+
parseSourceList, parseSourceItem,
|
|
46
|
+
// Audio parsing
|
|
47
|
+
parseAudioStatus, parseAudioURL,
|
|
48
|
+
// Content parsing
|
|
49
|
+
parseGeneratedContent,
|
|
50
|
+
// Q&A parsing
|
|
51
|
+
parseSuggestedQuestions,
|
|
52
|
+
// Error checking
|
|
53
|
+
isAuthError, isRateLimited, logResponse, } from './response-parser.js';
|
|
54
|
+
// Re-export from cookie store
|
|
55
|
+
export { CookieStore, cookieStore, initializeAPIClientWithCookies, } from '../auth/cookie-store.js';
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,cAAc;AACd,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,cAAc,GAEf,MAAM,2BAA2B,CAAC;AA0CnC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,cAAc,CAAC;AAE1E,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,kBAAkB;AAClB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB;AAChB,oBAAoB;AACpB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B;AAC1B,kBAAkB;AAClB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB;AACrB,iBAAiB;AACjB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB;AACvB,8BAA8B;AAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,8BAA8B;AAC9B,eAAe;AACf,0BAA0B;AAC1B,YAAY;AACZ,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,kBAAkB;AAClB,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,0BAA0B;AAC1B,mBAAmB;AACnB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B;AAC3B,iBAAiB;AACjB,eAAe,EACf,eAAe;AACf,gBAAgB;AAChB,gBAAgB,EAChB,aAAa;AACb,kBAAkB;AAClB,qBAAqB;AACrB,cAAc;AACd,uBAAuB;AACvB,iBAAiB;AACjB,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,8BAA8B;AAC9B,OAAO,EACL,WAAW,EACX,WAAW,EACX,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async Operation Poller for NotebookLM Content Generation
|
|
3
|
+
*
|
|
4
|
+
* Content generation via R7cb6c returns immediately while the actual work
|
|
5
|
+
* happens asynchronously. This module polls the gArtLc (list artifacts) RPC
|
|
6
|
+
* until the content is ready (status code 3 = completed) or a timeout occurs.
|
|
7
|
+
*/
|
|
8
|
+
import type { BatchExecuteResponse } from './types.js';
|
|
9
|
+
import { buildListArtifactsRequest, ContentTypeCode } from './content-types.js';
|
|
10
|
+
/** Artifact status codes returned by gArtLc */
|
|
11
|
+
export declare const ArtifactStatus: {
|
|
12
|
+
readonly UNKNOWN: 0;
|
|
13
|
+
readonly PENDING: 1;
|
|
14
|
+
readonly PROCESSING: 2;
|
|
15
|
+
readonly COMPLETED: 3;
|
|
16
|
+
readonly ERROR: 4;
|
|
17
|
+
};
|
|
18
|
+
/** A single artifact entry from gArtLc response */
|
|
19
|
+
export interface Artifact {
|
|
20
|
+
id: string;
|
|
21
|
+
title: string;
|
|
22
|
+
type: number;
|
|
23
|
+
status: number;
|
|
24
|
+
sourceIds?: string[];
|
|
25
|
+
content?: string;
|
|
26
|
+
createdAt?: number;
|
|
27
|
+
}
|
|
28
|
+
/** Result from generateAndWait */
|
|
29
|
+
export interface GenerateAndWaitResult {
|
|
30
|
+
success: boolean;
|
|
31
|
+
content?: string;
|
|
32
|
+
artifact?: Artifact;
|
|
33
|
+
error?: string;
|
|
34
|
+
timedOut?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/** Minimal client interface needed by the poller */
|
|
37
|
+
export interface PollerClient {
|
|
38
|
+
executeBatch(requests: ReturnType<typeof buildListArtifactsRequest>[]): Promise<BatchExecuteResponse>;
|
|
39
|
+
execute(request: ReturnType<typeof buildListArtifactsRequest>): Promise<BatchExecuteResponse>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Poll for a completed artifact of the given type in a notebook.
|
|
43
|
+
*
|
|
44
|
+
* @param client - BatchExecuteClient-compatible instance
|
|
45
|
+
* @param notebookId - Target notebook ID
|
|
46
|
+
* @param artifactType - ContentTypeCode to look for
|
|
47
|
+
* @param maxWaitMs - Maximum time to wait (default: 120_000)
|
|
48
|
+
* @param intervalMs - Polling interval (default: 5_000)
|
|
49
|
+
* @param createdAfter - Only match artifacts created after this timestamp (ms)
|
|
50
|
+
* @param signal - Optional AbortSignal to cancel polling
|
|
51
|
+
* @returns The first matching completed artifact, or null on timeout/error/cancellation
|
|
52
|
+
*/
|
|
53
|
+
export declare function pollOperation(client: PollerClient, notebookId: string, artifactType: ContentTypeCode, maxWaitMs?: number, intervalMs?: number, createdAfter?: number, signal?: AbortSignal): Promise<Artifact | null>;
|
|
54
|
+
/**
|
|
55
|
+
* Generate content and wait for it to be ready.
|
|
56
|
+
*
|
|
57
|
+
* Triggers generation via R7cb6c then polls gArtLc until complete.
|
|
58
|
+
*
|
|
59
|
+
* @param client - NotebookLMAPIClient-compatible instance
|
|
60
|
+
* @param notebookId - Target notebook ID
|
|
61
|
+
* @param contentType - Content type to generate
|
|
62
|
+
* @param sourceIds - Optional source ID filter
|
|
63
|
+
* @param maxWaitMs - Maximum polling duration (default: 120_000)
|
|
64
|
+
* @returns Result with content string when successful
|
|
65
|
+
*/
|
|
66
|
+
export declare function generateAndWait(client: PollerClient, notebookId: string, contentType: ContentTypeCode, sourceIds?: string[], maxWaitMs?: number): Promise<GenerateAndWaitResult>;
|
|
67
|
+
//# sourceMappingURL=operation-poller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-poller.d.ts","sourceRoot":"","sources":["../../src/api/operation-poller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAC;AAIrG,+CAA+C;AAC/C,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX,mDAAmD;AACnD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,kCAAkC;AAClC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtG,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC/F;AAwCD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,eAAe,EAC7B,SAAS,SAAU,EACnB,UAAU,SAAQ,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,eAAe,EAC5B,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,SAAS,SAAU,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAuBhC"}
|