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.
Files changed (207) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +420 -0
  3. package/dist/api/batch-execute-client.d.ts +232 -0
  4. package/dist/api/batch-execute-client.d.ts.map +1 -0
  5. package/dist/api/batch-execute-client.js +672 -0
  6. package/dist/api/batch-execute-client.js.map +1 -0
  7. package/dist/api/content-types.d.ts +44 -0
  8. package/dist/api/content-types.d.ts.map +1 -0
  9. package/dist/api/content-types.js +89 -0
  10. package/dist/api/content-types.js.map +1 -0
  11. package/dist/api/csrf-manager.d.ts +94 -0
  12. package/dist/api/csrf-manager.d.ts.map +1 -0
  13. package/dist/api/csrf-manager.js +178 -0
  14. package/dist/api/csrf-manager.js.map +1 -0
  15. package/dist/api/index.d.ts +27 -0
  16. package/dist/api/index.d.ts.map +1 -0
  17. package/dist/api/index.js +56 -0
  18. package/dist/api/index.js.map +1 -0
  19. package/dist/api/operation-poller.d.ts +67 -0
  20. package/dist/api/operation-poller.d.ts.map +1 -0
  21. package/dist/api/operation-poller.js +132 -0
  22. package/dist/api/operation-poller.js.map +1 -0
  23. package/dist/api/request-builder.d.ts +196 -0
  24. package/dist/api/request-builder.d.ts.map +1 -0
  25. package/dist/api/request-builder.js +371 -0
  26. package/dist/api/request-builder.js.map +1 -0
  27. package/dist/api/response-parser.d.ts +124 -0
  28. package/dist/api/response-parser.d.ts.map +1 -0
  29. package/dist/api/response-parser.js +595 -0
  30. package/dist/api/response-parser.js.map +1 -0
  31. package/dist/api/rpc-ids.d.ts +92 -0
  32. package/dist/api/rpc-ids.d.ts.map +1 -0
  33. package/dist/api/rpc-ids.js +138 -0
  34. package/dist/api/rpc-ids.js.map +1 -0
  35. package/dist/api/streaming-chat-client.d.ts +50 -0
  36. package/dist/api/streaming-chat-client.d.ts.map +1 -0
  37. package/dist/api/streaming-chat-client.js +198 -0
  38. package/dist/api/streaming-chat-client.js.map +1 -0
  39. package/dist/api/types.d.ts +318 -0
  40. package/dist/api/types.d.ts.map +1 -0
  41. package/dist/api/types.js +22 -0
  42. package/dist/api/types.js.map +1 -0
  43. package/dist/auth/auth-manager.d.ts +163 -0
  44. package/dist/auth/auth-manager.d.ts.map +1 -0
  45. package/dist/auth/auth-manager.js +1055 -0
  46. package/dist/auth/auth-manager.js.map +1 -0
  47. package/dist/auth/cookie-store.d.ts +121 -0
  48. package/dist/auth/cookie-store.d.ts.map +1 -0
  49. package/dist/auth/cookie-store.js +283 -0
  50. package/dist/auth/cookie-store.js.map +1 -0
  51. package/dist/config.d.ts +89 -0
  52. package/dist/config.d.ts.map +1 -0
  53. package/dist/config.js +217 -0
  54. package/dist/config.js.map +1 -0
  55. package/dist/errors.d.ts +26 -0
  56. package/dist/errors.d.ts.map +1 -0
  57. package/dist/errors.js +41 -0
  58. package/dist/errors.js.map +1 -0
  59. package/dist/index.d.ts +32 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +439 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/library/notebook-library.d.ts +79 -0
  64. package/dist/library/notebook-library.d.ts.map +1 -0
  65. package/dist/library/notebook-library.js +296 -0
  66. package/dist/library/notebook-library.js.map +1 -0
  67. package/dist/library/types.d.ts +67 -0
  68. package/dist/library/types.d.ts.map +1 -0
  69. package/dist/library/types.js +8 -0
  70. package/dist/library/types.js.map +1 -0
  71. package/dist/operations/content-operations.d.ts +78 -0
  72. package/dist/operations/content-operations.d.ts.map +1 -0
  73. package/dist/operations/content-operations.js +162 -0
  74. package/dist/operations/content-operations.js.map +1 -0
  75. package/dist/operations/hybrid-executor.d.ts +47 -0
  76. package/dist/operations/hybrid-executor.d.ts.map +1 -0
  77. package/dist/operations/hybrid-executor.js +114 -0
  78. package/dist/operations/hybrid-executor.js.map +1 -0
  79. package/dist/operations/notebook-crud-operations.d.ts +52 -0
  80. package/dist/operations/notebook-crud-operations.d.ts.map +1 -0
  81. package/dist/operations/notebook-crud-operations.js +248 -0
  82. package/dist/operations/notebook-crud-operations.js.map +1 -0
  83. package/dist/operations/research-operations.d.ts +42 -0
  84. package/dist/operations/research-operations.d.ts.map +1 -0
  85. package/dist/operations/research-operations.js +189 -0
  86. package/dist/operations/research-operations.js.map +1 -0
  87. package/dist/operations/source-operations.d.ts +59 -0
  88. package/dist/operations/source-operations.d.ts.map +1 -0
  89. package/dist/operations/source-operations.js +280 -0
  90. package/dist/operations/source-operations.js.map +1 -0
  91. package/dist/operations/studio-operations.d.ts +98 -0
  92. package/dist/operations/studio-operations.d.ts.map +1 -0
  93. package/dist/operations/studio-operations.js +309 -0
  94. package/dist/operations/studio-operations.js.map +1 -0
  95. package/dist/resources/resource-handlers.d.ts +22 -0
  96. package/dist/resources/resource-handlers.d.ts.map +1 -0
  97. package/dist/resources/resource-handlers.js +216 -0
  98. package/dist/resources/resource-handlers.js.map +1 -0
  99. package/dist/session/browser-session.d.ts +113 -0
  100. package/dist/session/browser-session.d.ts.map +1 -0
  101. package/dist/session/browser-session.js +670 -0
  102. package/dist/session/browser-session.js.map +1 -0
  103. package/dist/session/session-manager.d.ts +88 -0
  104. package/dist/session/session-manager.d.ts.map +1 -0
  105. package/dist/session/session-manager.js +314 -0
  106. package/dist/session/session-manager.js.map +1 -0
  107. package/dist/session/shared-context-manager.d.ts +107 -0
  108. package/dist/session/shared-context-manager.d.ts.map +1 -0
  109. package/dist/session/shared-context-manager.js +447 -0
  110. package/dist/session/shared-context-manager.js.map +1 -0
  111. package/dist/tools/definitions/ask-question.d.ts +8 -0
  112. package/dist/tools/definitions/ask-question.d.ts.map +1 -0
  113. package/dist/tools/definitions/ask-question.js +213 -0
  114. package/dist/tools/definitions/ask-question.js.map +1 -0
  115. package/dist/tools/definitions/content-generation.d.ts +52 -0
  116. package/dist/tools/definitions/content-generation.d.ts.map +1 -0
  117. package/dist/tools/definitions/content-generation.js +236 -0
  118. package/dist/tools/definitions/content-generation.js.map +1 -0
  119. package/dist/tools/definitions/notebook-crud.d.ts +9 -0
  120. package/dist/tools/definitions/notebook-crud.d.ts.map +1 -0
  121. package/dist/tools/definitions/notebook-crud.js +156 -0
  122. package/dist/tools/definitions/notebook-crud.js.map +1 -0
  123. package/dist/tools/definitions/notebook-management.d.ts +3 -0
  124. package/dist/tools/definitions/notebook-management.d.ts.map +1 -0
  125. package/dist/tools/definitions/notebook-management.js +243 -0
  126. package/dist/tools/definitions/notebook-management.js.map +1 -0
  127. package/dist/tools/definitions/research.d.ts +23 -0
  128. package/dist/tools/definitions/research.d.ts.map +1 -0
  129. package/dist/tools/definitions/research.js +108 -0
  130. package/dist/tools/definitions/research.js.map +1 -0
  131. package/dist/tools/definitions/session-management.d.ts +3 -0
  132. package/dist/tools/definitions/session-management.d.ts.map +1 -0
  133. package/dist/tools/definitions/session-management.js +41 -0
  134. package/dist/tools/definitions/session-management.js.map +1 -0
  135. package/dist/tools/definitions/source-management.d.ts +39 -0
  136. package/dist/tools/definitions/source-management.d.ts.map +1 -0
  137. package/dist/tools/definitions/source-management.js +224 -0
  138. package/dist/tools/definitions/source-management.js.map +1 -0
  139. package/dist/tools/definitions/studio.d.ts +36 -0
  140. package/dist/tools/definitions/studio.d.ts.map +1 -0
  141. package/dist/tools/definitions/studio.js +153 -0
  142. package/dist/tools/definitions/studio.js.map +1 -0
  143. package/dist/tools/definitions/system.d.ts +3 -0
  144. package/dist/tools/definitions/system.d.ts.map +1 -0
  145. package/dist/tools/definitions/system.js +143 -0
  146. package/dist/tools/definitions/system.js.map +1 -0
  147. package/dist/tools/definitions.d.ts +12 -0
  148. package/dist/tools/definitions.d.ts.map +1 -0
  149. package/dist/tools/definitions.js +36 -0
  150. package/dist/tools/definitions.js.map +1 -0
  151. package/dist/tools/handlers/content-handlers.d.ts +287 -0
  152. package/dist/tools/handlers/content-handlers.d.ts.map +1 -0
  153. package/dist/tools/handlers/content-handlers.js +244 -0
  154. package/dist/tools/handlers/content-handlers.js.map +1 -0
  155. package/dist/tools/handlers/notebook-crud-handlers.d.ts +69 -0
  156. package/dist/tools/handlers/notebook-crud-handlers.d.ts.map +1 -0
  157. package/dist/tools/handlers/notebook-crud-handlers.js +117 -0
  158. package/dist/tools/handlers/notebook-crud-handlers.js.map +1 -0
  159. package/dist/tools/handlers/research-handlers.d.ts +37 -0
  160. package/dist/tools/handlers/research-handlers.d.ts.map +1 -0
  161. package/dist/tools/handlers/research-handlers.js +87 -0
  162. package/dist/tools/handlers/research-handlers.js.map +1 -0
  163. package/dist/tools/handlers/source-handlers.d.ts +52 -0
  164. package/dist/tools/handlers/source-handlers.d.ts.map +1 -0
  165. package/dist/tools/handlers/source-handlers.js +177 -0
  166. package/dist/tools/handlers/source-handlers.js.map +1 -0
  167. package/dist/tools/handlers/studio-handlers.d.ts +125 -0
  168. package/dist/tools/handlers/studio-handlers.d.ts.map +1 -0
  169. package/dist/tools/handlers/studio-handlers.js +183 -0
  170. package/dist/tools/handlers/studio-handlers.js.map +1 -0
  171. package/dist/tools/handlers.d.ts +629 -0
  172. package/dist/tools/handlers.d.ts.map +1 -0
  173. package/dist/tools/handlers.js +833 -0
  174. package/dist/tools/handlers.js.map +1 -0
  175. package/dist/tools/index.d.ts +8 -0
  176. package/dist/tools/index.d.ts.map +1 -0
  177. package/dist/tools/index.js +8 -0
  178. package/dist/tools/index.js.map +1 -0
  179. package/dist/types.d.ts +82 -0
  180. package/dist/types.d.ts.map +1 -0
  181. package/dist/types.js +5 -0
  182. package/dist/types.js.map +1 -0
  183. package/dist/utils/cleanup-manager.d.ts +133 -0
  184. package/dist/utils/cleanup-manager.d.ts.map +1 -0
  185. package/dist/utils/cleanup-manager.js +673 -0
  186. package/dist/utils/cleanup-manager.js.map +1 -0
  187. package/dist/utils/cli-handler.d.ts +16 -0
  188. package/dist/utils/cli-handler.d.ts.map +1 -0
  189. package/dist/utils/cli-handler.js +102 -0
  190. package/dist/utils/cli-handler.js.map +1 -0
  191. package/dist/utils/logger.d.ts +61 -0
  192. package/dist/utils/logger.d.ts.map +1 -0
  193. package/dist/utils/logger.js +92 -0
  194. package/dist/utils/logger.js.map +1 -0
  195. package/dist/utils/page-utils.d.ts +54 -0
  196. package/dist/utils/page-utils.d.ts.map +1 -0
  197. package/dist/utils/page-utils.js +405 -0
  198. package/dist/utils/page-utils.js.map +1 -0
  199. package/dist/utils/settings-manager.d.ts +37 -0
  200. package/dist/utils/settings-manager.d.ts.map +1 -0
  201. package/dist/utils/settings-manager.js +120 -0
  202. package/dist/utils/settings-manager.js.map +1 -0
  203. package/dist/utils/stealth-utils.d.ts +135 -0
  204. package/dist/utils/stealth-utils.d.ts.map +1 -0
  205. package/dist/utils/stealth-utils.js +398 -0
  206. package/dist/utils/stealth-utils.js.map +1 -0
  207. 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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAe5B;;GAEG;AACH,MAAM,OAAO,WAAW;IACd,WAAW,GAAqB,IAAI,CAAC;IAE7C,2CAA2C;IAC1B,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE/C,yCAAyC;IACxB,MAAM,GAAG,+BAA+B,CAAC;IAE1D;;;;;;;;OAQG;IACH,mBAAmB,CAAC,OAAiB;QACnC,sBAAsB;QACtB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAC9D,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,GAAG,SAAS,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAEvD,sBAAsB;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnE,OAAO,eAAe,SAAS,IAAI,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,IAAY;QAC/B,wBAAwB;QACxB,MAAM,QAAQ,GAAG;YACf,0BAA0B;YAC1B,+DAA+D;YAC/D,sBAAsB;YACtB,0BAA0B;YAC1B,uBAAuB;YACvB,+BAA+B;YAC/B,6BAA6B;SAC9B,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAa;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG;YACjB,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,YAAY;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,OAAiB;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,OAAiB;QACnC,MAAM,cAAc,GAAG;YACrB,KAAK;YACL,MAAM;YACN,MAAM;YACN,QAAQ;YACR,SAAS;YACT,MAAM;YACN,eAAe;YACf,gBAAgB;YAChB,mBAAmB;YACnB,gBAAgB;YAChB,mBAAmB;YACnB,KAAK;SACN,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,OAAiB;QAClC,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzC,0CAA0C;QAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC,IAAI,KAAK,MAAM;YACjB,CAAC,CAAC,IAAI,KAAK,eAAe,CAC7B,CAAC;QAEF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CACrC,CAAC;QAEF,OAAO,WAAW,IAAI,OAAO,CAAC;IAChC,CAAC;CACF;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -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"}