@pan-sec/notebooklm-mcp 2026.2.11 → 2026.3.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.
Files changed (302) hide show
  1. package/README.md +58 -17
  2. package/SECURITY.md +31 -61
  3. package/dist/auth/auth-manager.d.ts +2 -1
  4. package/dist/auth/auth-manager.d.ts.map +1 -1
  5. package/dist/auth/auth-manager.js +97 -42
  6. package/dist/auth/auth-manager.js.map +1 -1
  7. package/dist/auth/mcp-auth.d.ts +22 -4
  8. package/dist/auth/mcp-auth.d.ts.map +1 -1
  9. package/dist/auth/mcp-auth.js +120 -19
  10. package/dist/auth/mcp-auth.js.map +1 -1
  11. package/dist/compliance/alert-manager.d.ts.map +1 -1
  12. package/dist/compliance/alert-manager.js +7 -4
  13. package/dist/compliance/alert-manager.js.map +1 -1
  14. package/dist/compliance/breach-detection.d.ts.map +1 -1
  15. package/dist/compliance/breach-detection.js +14 -7
  16. package/dist/compliance/breach-detection.js.map +1 -1
  17. package/dist/compliance/change-log.d.ts.map +1 -1
  18. package/dist/compliance/change-log.js +7 -4
  19. package/dist/compliance/change-log.js.map +1 -1
  20. package/dist/compliance/compliance-logger.d.ts.map +1 -1
  21. package/dist/compliance/compliance-logger.js +11 -6
  22. package/dist/compliance/compliance-logger.js.map +1 -1
  23. package/dist/compliance/consent-manager.d.ts.map +1 -1
  24. package/dist/compliance/consent-manager.js +5 -3
  25. package/dist/compliance/consent-manager.js.map +1 -1
  26. package/dist/compliance/data-erasure.d.ts +1 -1
  27. package/dist/compliance/data-erasure.d.ts.map +1 -1
  28. package/dist/compliance/data-erasure.js +142 -83
  29. package/dist/compliance/data-erasure.js.map +1 -1
  30. package/dist/compliance/data-export.d.ts.map +1 -1
  31. package/dist/compliance/data-export.js +23 -12
  32. package/dist/compliance/data-export.js.map +1 -1
  33. package/dist/compliance/data-inventory.d.ts.map +1 -1
  34. package/dist/compliance/data-inventory.js +7 -6
  35. package/dist/compliance/data-inventory.js.map +1 -1
  36. package/dist/compliance/dsar-handler.d.ts +7 -1
  37. package/dist/compliance/dsar-handler.d.ts.map +1 -1
  38. package/dist/compliance/dsar-handler.js +74 -61
  39. package/dist/compliance/dsar-handler.js.map +1 -1
  40. package/dist/compliance/evidence-collector.d.ts.map +1 -1
  41. package/dist/compliance/evidence-collector.js +10 -6
  42. package/dist/compliance/evidence-collector.js.map +1 -1
  43. package/dist/compliance/health-monitor.d.ts.map +1 -1
  44. package/dist/compliance/health-monitor.js +15 -9
  45. package/dist/compliance/health-monitor.js.map +1 -1
  46. package/dist/compliance/incident-manager.d.ts.map +1 -1
  47. package/dist/compliance/incident-manager.js +5 -3
  48. package/dist/compliance/incident-manager.js.map +1 -1
  49. package/dist/compliance/policy-docs.d.ts.map +1 -1
  50. package/dist/compliance/policy-docs.js +14 -11
  51. package/dist/compliance/policy-docs.js.map +1 -1
  52. package/dist/compliance/privacy-notice-text.d.ts.map +1 -1
  53. package/dist/compliance/privacy-notice-text.js +3 -4
  54. package/dist/compliance/privacy-notice-text.js.map +1 -1
  55. package/dist/compliance/privacy-notice.d.ts.map +1 -1
  56. package/dist/compliance/privacy-notice.js +5 -3
  57. package/dist/compliance/privacy-notice.js.map +1 -1
  58. package/dist/compliance/report-generator.d.ts.map +1 -1
  59. package/dist/compliance/report-generator.js +5 -3
  60. package/dist/compliance/report-generator.js.map +1 -1
  61. package/dist/compliance/retention-engine.d.ts.map +1 -1
  62. package/dist/compliance/retention-engine.js +18 -10
  63. package/dist/compliance/retention-engine.js.map +1 -1
  64. package/dist/compliance/siem-exporter.d.ts.map +1 -1
  65. package/dist/compliance/siem-exporter.js +40 -16
  66. package/dist/compliance/siem-exporter.js.map +1 -1
  67. package/dist/config.d.ts +4 -31
  68. package/dist/config.d.ts.map +1 -1
  69. package/dist/config.js +25 -63
  70. package/dist/config.js.map +1 -1
  71. package/dist/errors.d.ts +21 -0
  72. package/dist/errors.d.ts.map +1 -1
  73. package/dist/errors.js +54 -1
  74. package/dist/errors.js.map +1 -1
  75. package/dist/gemini/gemini-client.d.ts +1 -0
  76. package/dist/gemini/gemini-client.d.ts.map +1 -1
  77. package/dist/gemini/gemini-client.js +50 -49
  78. package/dist/gemini/gemini-client.js.map +1 -1
  79. package/dist/gemini/types.d.ts +3 -1
  80. package/dist/gemini/types.d.ts.map +1 -1
  81. package/dist/gemini/types.js.map +1 -1
  82. package/dist/index.d.ts +52 -1
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +399 -85
  85. package/dist/index.js.map +1 -1
  86. package/dist/library/notebook-library.d.ts.map +1 -1
  87. package/dist/library/notebook-library.js +2 -1
  88. package/dist/library/notebook-library.js.map +1 -1
  89. package/dist/logging/query-logger.d.ts +13 -1
  90. package/dist/logging/query-logger.d.ts.map +1 -1
  91. package/dist/logging/query-logger.js +62 -10
  92. package/dist/logging/query-logger.js.map +1 -1
  93. package/dist/notebook-creation/audio-manager.d.ts.map +1 -1
  94. package/dist/notebook-creation/audio-manager.js +19 -24
  95. package/dist/notebook-creation/audio-manager.js.map +1 -1
  96. package/dist/notebook-creation/browser-options.d.ts +28 -0
  97. package/dist/notebook-creation/browser-options.d.ts.map +1 -0
  98. package/dist/notebook-creation/browser-options.js +75 -0
  99. package/dist/notebook-creation/browser-options.js.map +1 -0
  100. package/dist/notebook-creation/data-table-manager.d.ts.map +1 -1
  101. package/dist/notebook-creation/data-table-manager.js +20 -21
  102. package/dist/notebook-creation/data-table-manager.js.map +1 -1
  103. package/dist/notebook-creation/discover-creation-flow.d.ts +0 -6
  104. package/dist/notebook-creation/discover-creation-flow.d.ts.map +1 -1
  105. package/dist/notebook-creation/discover-creation-flow.js +10 -10
  106. package/dist/notebook-creation/discover-creation-flow.js.map +1 -1
  107. package/dist/notebook-creation/discover-quota.d.ts +0 -6
  108. package/dist/notebook-creation/discover-quota.d.ts.map +1 -1
  109. package/dist/notebook-creation/discover-quota.js +12 -13
  110. package/dist/notebook-creation/discover-quota.js.map +1 -1
  111. package/dist/notebook-creation/discover-sources.js +15 -16
  112. package/dist/notebook-creation/discover-sources.js.map +1 -1
  113. package/dist/notebook-creation/dom-scripts.d.ts +10 -0
  114. package/dist/notebook-creation/dom-scripts.d.ts.map +1 -0
  115. package/dist/notebook-creation/dom-scripts.js +58 -0
  116. package/dist/notebook-creation/dom-scripts.js.map +1 -0
  117. package/dist/notebook-creation/errors.d.ts +18 -0
  118. package/dist/notebook-creation/errors.d.ts.map +1 -0
  119. package/dist/notebook-creation/errors.js +20 -0
  120. package/dist/notebook-creation/errors.js.map +1 -0
  121. package/dist/notebook-creation/index.d.ts +2 -0
  122. package/dist/notebook-creation/index.d.ts.map +1 -1
  123. package/dist/notebook-creation/index.js +2 -0
  124. package/dist/notebook-creation/index.js.map +1 -1
  125. package/dist/notebook-creation/notebook-creator.d.ts +6 -82
  126. package/dist/notebook-creation/notebook-creator.d.ts.map +1 -1
  127. package/dist/notebook-creation/notebook-creator.js +49 -835
  128. package/dist/notebook-creation/notebook-creator.js.map +1 -1
  129. package/dist/notebook-creation/notebook-nav.d.ts +19 -0
  130. package/dist/notebook-creation/notebook-nav.d.ts.map +1 -0
  131. package/dist/notebook-creation/notebook-nav.js +239 -0
  132. package/dist/notebook-creation/notebook-nav.js.map +1 -0
  133. package/dist/notebook-creation/notebook-sync.d.ts.map +1 -1
  134. package/dist/notebook-creation/notebook-sync.js +36 -38
  135. package/dist/notebook-creation/notebook-sync.js.map +1 -1
  136. package/dist/notebook-creation/selector-discovery.d.ts.map +1 -1
  137. package/dist/notebook-creation/selector-discovery.js +17 -24
  138. package/dist/notebook-creation/selector-discovery.js.map +1 -1
  139. package/dist/notebook-creation/selectors.d.ts +23 -19
  140. package/dist/notebook-creation/selectors.d.ts.map +1 -1
  141. package/dist/notebook-creation/selectors.js +69 -33
  142. package/dist/notebook-creation/selectors.js.map +1 -1
  143. package/dist/notebook-creation/source-manager.d.ts +22 -0
  144. package/dist/notebook-creation/source-manager.d.ts.map +1 -1
  145. package/dist/notebook-creation/source-manager.js +716 -50
  146. package/dist/notebook-creation/source-manager.js.map +1 -1
  147. package/dist/notebook-creation/types.d.ts +4 -0
  148. package/dist/notebook-creation/types.d.ts.map +1 -1
  149. package/dist/notebook-creation/video-manager.d.ts.map +1 -1
  150. package/dist/notebook-creation/video-manager.js +33 -35
  151. package/dist/notebook-creation/video-manager.js.map +1 -1
  152. package/dist/observability/metrics.d.ts +19 -0
  153. package/dist/observability/metrics.d.ts.map +1 -0
  154. package/dist/observability/metrics.js +35 -0
  155. package/dist/observability/metrics.js.map +1 -0
  156. package/dist/quota/quota-manager.d.ts +11 -3
  157. package/dist/quota/quota-manager.d.ts.map +1 -1
  158. package/dist/quota/quota-manager.js +139 -47
  159. package/dist/quota/quota-manager.js.map +1 -1
  160. package/dist/resources/resource-handlers.d.ts.map +1 -1
  161. package/dist/resources/resource-handlers.js +29 -12
  162. package/dist/resources/resource-handlers.js.map +1 -1
  163. package/dist/session/browser-session.d.ts.map +1 -1
  164. package/dist/session/browser-session.js +22 -22
  165. package/dist/session/browser-session.js.map +1 -1
  166. package/dist/session/session-timeout.d.ts.map +1 -1
  167. package/dist/session/session-timeout.js +4 -2
  168. package/dist/session/session-timeout.js.map +1 -1
  169. package/dist/session/shared-context-manager.d.ts.map +1 -1
  170. package/dist/session/shared-context-manager.js +31 -30
  171. package/dist/session/shared-context-manager.js.map +1 -1
  172. package/dist/tools/annotations.js +9 -9
  173. package/dist/tools/annotations.js.map +1 -1
  174. package/dist/tools/definitions/ask-question.d.ts.map +1 -1
  175. package/dist/tools/definitions/ask-question.js +35 -100
  176. package/dist/tools/definitions/ask-question.js.map +1 -1
  177. package/dist/tools/definitions/chat-history.d.ts +47 -1
  178. package/dist/tools/definitions/chat-history.d.ts.map +1 -1
  179. package/dist/tools/definitions/chat-history.js +10 -1
  180. package/dist/tools/definitions/chat-history.js.map +1 -1
  181. package/dist/tools/definitions/data-tables.d.ts.map +1 -1
  182. package/dist/tools/definitions/data-tables.js +2 -0
  183. package/dist/tools/definitions/data-tables.js.map +1 -1
  184. package/dist/tools/definitions/gemini.d.ts.map +1 -1
  185. package/dist/tools/definitions/gemini.js +40 -10
  186. package/dist/tools/definitions/gemini.js.map +1 -1
  187. package/dist/tools/definitions/notebook-management.d.ts.map +1 -1
  188. package/dist/tools/definitions/notebook-management.js +100 -70
  189. package/dist/tools/definitions/notebook-management.js.map +1 -1
  190. package/dist/tools/definitions/query-history.d.ts +47 -1
  191. package/dist/tools/definitions/query-history.d.ts.map +1 -1
  192. package/dist/tools/definitions/query-history.js +7 -0
  193. package/dist/tools/definitions/query-history.js.map +1 -1
  194. package/dist/tools/definitions/session-management.d.ts.map +1 -1
  195. package/dist/tools/definitions/session-management.js +5 -0
  196. package/dist/tools/definitions/session-management.js.map +1 -1
  197. package/dist/tools/definitions/system.d.ts.map +1 -1
  198. package/dist/tools/definitions/system.js +71 -100
  199. package/dist/tools/definitions/system.js.map +1 -1
  200. package/dist/tools/definitions/video.d.ts.map +1 -1
  201. package/dist/tools/definitions/video.js +3 -0
  202. package/dist/tools/definitions/video.js.map +1 -1
  203. package/dist/tools/definitions.d.ts.map +1 -1
  204. package/dist/tools/definitions.js +4 -0
  205. package/dist/tools/definitions.js.map +1 -1
  206. package/dist/tools/handlers/ask-question.d.ts +1 -1
  207. package/dist/tools/handlers/ask-question.d.ts.map +1 -1
  208. package/dist/tools/handlers/ask-question.js +56 -12
  209. package/dist/tools/handlers/ask-question.js.map +1 -1
  210. package/dist/tools/handlers/audio-video.d.ts.map +1 -1
  211. package/dist/tools/handlers/audio-video.js +15 -7
  212. package/dist/tools/handlers/audio-video.js.map +1 -1
  213. package/dist/tools/handlers/auth.d.ts +14 -19
  214. package/dist/tools/handlers/auth.d.ts.map +1 -1
  215. package/dist/tools/handlers/auth.js +77 -121
  216. package/dist/tools/handlers/auth.js.map +1 -1
  217. package/dist/tools/handlers/error-utils.d.ts +7 -0
  218. package/dist/tools/handlers/error-utils.d.ts.map +1 -0
  219. package/dist/tools/handlers/error-utils.js +17 -0
  220. package/dist/tools/handlers/error-utils.js.map +1 -0
  221. package/dist/tools/handlers/gemini.d.ts +1 -0
  222. package/dist/tools/handlers/gemini.d.ts.map +1 -1
  223. package/dist/tools/handlers/gemini.js +81 -51
  224. package/dist/tools/handlers/gemini.js.map +1 -1
  225. package/dist/tools/handlers/index.d.ts +39 -47
  226. package/dist/tools/handlers/index.d.ts.map +1 -1
  227. package/dist/tools/handlers/index.js +13 -2
  228. package/dist/tools/handlers/index.js.map +1 -1
  229. package/dist/tools/handlers/notebook-creation.d.ts.map +1 -1
  230. package/dist/tools/handlers/notebook-creation.js +99 -20
  231. package/dist/tools/handlers/notebook-creation.js.map +1 -1
  232. package/dist/tools/handlers/notebook-management.d.ts +8 -8
  233. package/dist/tools/handlers/notebook-management.d.ts.map +1 -1
  234. package/dist/tools/handlers/notebook-management.js +34 -80
  235. package/dist/tools/handlers/notebook-management.js.map +1 -1
  236. package/dist/tools/handlers/session-management.d.ts.map +1 -1
  237. package/dist/tools/handlers/session-management.js +12 -5
  238. package/dist/tools/handlers/session-management.js.map +1 -1
  239. package/dist/tools/handlers/system.d.ts.map +1 -1
  240. package/dist/tools/handlers/system.js +45 -10
  241. package/dist/tools/handlers/system.js.map +1 -1
  242. package/dist/tools/handlers/types.d.ts +1 -1
  243. package/dist/tools/handlers/types.d.ts.map +1 -1
  244. package/dist/tools/handlers/webhooks.d.ts.map +1 -1
  245. package/dist/tools/handlers/webhooks.js +15 -13
  246. package/dist/tools/handlers/webhooks.js.map +1 -1
  247. package/dist/types.d.ts +7 -17
  248. package/dist/types.d.ts.map +1 -1
  249. package/dist/utils/audit-logger.d.ts +19 -1
  250. package/dist/utils/audit-logger.d.ts.map +1 -1
  251. package/dist/utils/audit-logger.js +193 -27
  252. package/dist/utils/audit-logger.js.map +1 -1
  253. package/dist/utils/cleanup-manager.d.ts.map +1 -1
  254. package/dist/utils/cleanup-manager.js +6 -3
  255. package/dist/utils/cleanup-manager.js.map +1 -1
  256. package/dist/utils/crypto.d.ts +4 -1
  257. package/dist/utils/crypto.d.ts.map +1 -1
  258. package/dist/utils/crypto.js +32 -21
  259. package/dist/utils/crypto.js.map +1 -1
  260. package/dist/utils/file-lock.d.ts.map +1 -1
  261. package/dist/utils/file-lock.js +80 -16
  262. package/dist/utils/file-lock.js.map +1 -1
  263. package/dist/utils/file-permissions.d.ts +2 -0
  264. package/dist/utils/file-permissions.d.ts.map +1 -1
  265. package/dist/utils/file-permissions.js +2 -1
  266. package/dist/utils/file-permissions.js.map +1 -1
  267. package/dist/utils/logger.d.ts +4 -0
  268. package/dist/utils/logger.d.ts.map +1 -1
  269. package/dist/utils/logger.js +16 -0
  270. package/dist/utils/logger.js.map +1 -1
  271. package/dist/utils/page-utils.d.ts.map +1 -1
  272. package/dist/utils/page-utils.js +22 -39
  273. package/dist/utils/page-utils.js.map +1 -1
  274. package/dist/utils/response-validator.d.ts.map +1 -1
  275. package/dist/utils/response-validator.js +27 -22
  276. package/dist/utils/response-validator.js.map +1 -1
  277. package/dist/utils/secrets-scanner.d.ts +11 -0
  278. package/dist/utils/secrets-scanner.d.ts.map +1 -1
  279. package/dist/utils/secrets-scanner.js +63 -15
  280. package/dist/utils/secrets-scanner.js.map +1 -1
  281. package/dist/utils/secure-memory.d.ts +9 -31
  282. package/dist/utils/secure-memory.d.ts.map +1 -1
  283. package/dist/utils/secure-memory.js +17 -102
  284. package/dist/utils/secure-memory.js.map +1 -1
  285. package/dist/utils/security.d.ts +4 -3
  286. package/dist/utils/security.d.ts.map +1 -1
  287. package/dist/utils/security.js +41 -11
  288. package/dist/utils/security.js.map +1 -1
  289. package/dist/utils/stealth-utils.d.ts.map +1 -1
  290. package/dist/utils/stealth-utils.js +4 -4
  291. package/dist/utils/stealth-utils.js.map +1 -1
  292. package/dist/webhooks/types.d.ts +2 -0
  293. package/dist/webhooks/types.d.ts.map +1 -1
  294. package/dist/webhooks/webhook-dispatcher.d.ts +80 -12
  295. package/dist/webhooks/webhook-dispatcher.d.ts.map +1 -1
  296. package/dist/webhooks/webhook-dispatcher.js +472 -72
  297. package/dist/webhooks/webhook-dispatcher.js.map +1 -1
  298. package/docs/archive/ISSUES-legacy-2026-04-24.md +644 -0
  299. package/docs/dependency-risk.md +25 -0
  300. package/docs/testing-runbook.md +166 -0
  301. package/docs/usage-guide.md +2 -1
  302. package/package.json +32 -15
@@ -1 +1 @@
1
- {"version":3,"file":"notebook-creator.js","sourceRoot":"","sources":["../../src/notebook-creation/notebook-creator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notebook-creator.js","sourceRoot":"","sources":["../../src/notebook-creation/notebook-creator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Page } from "patchright";
2
+ import { AuthManager } from "../auth/auth-manager.js";
3
+ import { SharedContextManager } from "../session/shared-context-manager.js";
4
+ export declare class NotebookNavigation {
5
+ private authManager;
6
+ private contextManager;
7
+ private page;
8
+ constructor(authManager: AuthManager, contextManager: SharedContextManager);
9
+ getCurrentPage(): Page | null;
10
+ validateCurrentAuth(): Promise<void>;
11
+ initialize(headless?: boolean): Promise<void>;
12
+ waitForNotebookReady(page: Page): Promise<void>;
13
+ clickNewNotebook(): Promise<void>;
14
+ setNotebookName(name: string): Promise<void>;
15
+ finalizeAndGetUrl(): Promise<string>;
16
+ safePageUrl(page: Page): string;
17
+ cleanup(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=notebook-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-nav.d.ts","sourceRoot":"","sources":["../../src/notebook-creation/notebook-nav.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AA2B5E,qBAAa,kBAAkB;IAI3B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IAJxB,OAAO,CAAC,IAAI,CAAqB;gBAGvB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,oBAAoB;IAG9C,cAAc,IAAI,IAAI,GAAG,IAAI;IAIvB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B7C,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiEjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+F5C,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAuB1C,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IASzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAU/B"}
@@ -0,0 +1,239 @@
1
+ import { waitForElement, getSelectors } from "./selectors.js";
2
+ import { NotebookCreationError, NotebookCreationErrorCode } from "./errors.js";
3
+ import { log } from "../utils/logger.js";
4
+ import { randomDelay, humanType, realisticClick } from "../utils/stealth-utils.js";
5
+ import { CONFIG, NOTEBOOKLM_URL } from "../config.js";
6
+ export class NotebookNavigation {
7
+ authManager;
8
+ contextManager;
9
+ page = null;
10
+ constructor(authManager, contextManager) {
11
+ this.authManager = authManager;
12
+ this.contextManager = contextManager;
13
+ }
14
+ getCurrentPage() {
15
+ return this.page;
16
+ }
17
+ async validateCurrentAuth() {
18
+ if (!this.page) {
19
+ throw new NotebookCreationError("Page not initialized", {
20
+ code: NotebookCreationErrorCode.PAGE_NOT_INITIALIZED,
21
+ });
22
+ }
23
+ const context = this.page.context();
24
+ const isAuthenticated = await this.authManager.validateWithRetry(context);
25
+ if (!isAuthenticated) {
26
+ throw new Error("NotebookLM authentication expired during notebook creation. Please run setup_auth first.");
27
+ }
28
+ }
29
+ async initialize(headless) {
30
+ log.info("🌐 Initializing browser for notebook creation...");
31
+ const context = await this.contextManager.getOrCreateContext(headless === false ? true : undefined);
32
+ const isAuthenticated = await this.authManager.validateWithRetry(context);
33
+ if (!isAuthenticated) {
34
+ throw new Error("Not authenticated to NotebookLM. Please run setup_auth first.");
35
+ }
36
+ this.page = await context.newPage();
37
+ await this.page.goto(NOTEBOOKLM_URL, {
38
+ waitUntil: "domcontentloaded",
39
+ timeout: CONFIG.browserTimeout,
40
+ });
41
+ await randomDelay(2000, 3000);
42
+ await this.waitForNotebookReady(this.page);
43
+ const anchor = await waitForElement(this.page, "newNotebookButton", {
44
+ timeout: 10000,
45
+ });
46
+ if (!anchor) {
47
+ log.warning("NotebookLM shell loaded but create-notebook anchor was not found before timeout; continuing with selector fallbacks.");
48
+ }
49
+ log.success("✅ Browser initialized and navigated to NotebookLM");
50
+ }
51
+ async waitForNotebookReady(page) {
52
+ try {
53
+ await page.waitForLoadState("networkidle", { timeout: 15000 });
54
+ }
55
+ catch (error) {
56
+ const pageUrl = this.safePageUrl(page);
57
+ log.warning(`Notebook creation waitForLoadState(networkidle) timed out; falling back to load. url=${pageUrl} error=${error instanceof Error ? error.message : String(error)}`);
58
+ try {
59
+ await page.waitForLoadState("load", { timeout: 5000 });
60
+ }
61
+ catch (fallbackError) {
62
+ log.warning(`Notebook creation fallback waitForLoadState(load) failed; continuing after fallback timeout. url=${pageUrl} error=${fallbackError instanceof Error ? fallbackError.message : String(fallbackError)}`);
63
+ }
64
+ }
65
+ }
66
+ async clickNewNotebook() {
67
+ if (!this.page) {
68
+ throw new NotebookCreationError("Page not initialized", {
69
+ code: NotebookCreationErrorCode.PAGE_NOT_INITIALIZED,
70
+ });
71
+ }
72
+ await this.validateCurrentAuth();
73
+ log.info("📝 Clicking 'New notebook' button...");
74
+ const selectors = getSelectors("newNotebookButton");
75
+ let lastError;
76
+ for (const selector of selectors) {
77
+ try {
78
+ const element = await this.page.$(selector);
79
+ if (element && await element.isVisible()) {
80
+ await realisticClick(this.page, selector, true);
81
+ await randomDelay(1000, 2000);
82
+ log.success("✅ Clicked 'New notebook' button");
83
+ return;
84
+ }
85
+ }
86
+ catch (err) {
87
+ lastError = err;
88
+ log.debug(`notebook-nav: clicking 'New notebook' button selector: ${err instanceof Error ? err.message : String(err)}`);
89
+ }
90
+ }
91
+ const textPatterns = ["New notebook", "Create notebook", "Create new", "New"];
92
+ for (const pattern of textPatterns) {
93
+ try {
94
+ const clicked = await this.page.evaluate((searchText) => {
95
+ const browser = globalThis;
96
+ const elements = browser.document.querySelectorAll('button, a, [role="button"]');
97
+ for (const el of elements) {
98
+ const elText = el.textContent?.toLowerCase() || "";
99
+ const ariaLabel = el.getAttribute("aria-label")?.toLowerCase() || "";
100
+ if (elText.includes(searchText.toLowerCase()) || ariaLabel.includes(searchText.toLowerCase())) {
101
+ el.click();
102
+ return true;
103
+ }
104
+ }
105
+ return false;
106
+ }, pattern);
107
+ if (clicked) {
108
+ await randomDelay(1000, 2000);
109
+ log.success("✅ Clicked 'New notebook' button (text match)");
110
+ return;
111
+ }
112
+ }
113
+ catch (err) {
114
+ lastError = err;
115
+ log.debug(`notebook-nav: clicking 'New notebook' button via text pattern: ${err instanceof Error ? err.message : String(err)}`);
116
+ }
117
+ }
118
+ throw new NotebookCreationError("Failed to click new notebook", {
119
+ code: NotebookCreationErrorCode.CLICK_NEW_NOTEBOOK_FAILED,
120
+ selector: selectors.join(" | "),
121
+ url: this.safePageUrl(this.page),
122
+ cause: lastError,
123
+ });
124
+ }
125
+ async setNotebookName(name) {
126
+ if (!this.page)
127
+ throw new Error("Page not initialized");
128
+ await this.validateCurrentAuth();
129
+ log.info(`📝 Setting notebook name: ${name}`);
130
+ const element = await waitForElement(this.page, "notebookNameInput", {
131
+ timeout: 10000,
132
+ });
133
+ if (!element) {
134
+ log.warning("⚠️ Name input not found - notebook may have been created with default name");
135
+ }
136
+ else {
137
+ const selectors = getSelectors("notebookNameInput");
138
+ for (const selector of selectors) {
139
+ try {
140
+ const input = await this.page.$(selector);
141
+ if (input && await input.isVisible()) {
142
+ await humanType(this.page, selector, name, { withTypos: false });
143
+ await randomDelay(500, 1000);
144
+ log.success(`✅ Set notebook name: ${name}`);
145
+ return;
146
+ }
147
+ }
148
+ catch (err) {
149
+ log.debug(`notebook-nav: typing notebook name into input selector: ${err instanceof Error ? err.message : String(err)}`);
150
+ }
151
+ }
152
+ }
153
+ try {
154
+ const renamed = await this.page.evaluate((nextName) => {
155
+ const browser = globalThis;
156
+ const visible = (el) => el.offsetParent !== null;
157
+ const textOf = (el) => `${el.textContent || ""} ${el.getAttribute("aria-label") || ""} ${el.placeholder || ""}`.toLowerCase();
158
+ const inDialog = (el) => Boolean(el.closest("[role='dialog'], mat-dialog-container, .cdk-overlay-pane"));
159
+ const inSearch = (el) => Boolean(el.closest("[role='search'], [aria-label*='search' i], [class*='search']"));
160
+ const candidates = Array.from(browser.document.querySelectorAll("header [contenteditable='true'], h1[contenteditable='true'], [role='heading'][contenteditable='true'], [contenteditable='true']"));
161
+ for (const candidate of candidates) {
162
+ if (!visible(candidate) || inDialog(candidate) || inSearch(candidate))
163
+ continue;
164
+ const text = textOf(candidate);
165
+ if (text.includes("emoji") || text.includes("search"))
166
+ continue;
167
+ if (typeof candidate.value === "string") {
168
+ candidate.focus();
169
+ candidate.value = nextName;
170
+ candidate.dispatchEvent(new browser.Event("input", { bubbles: true }));
171
+ candidate.dispatchEvent(new browser.Event("change", { bubbles: true }));
172
+ return true;
173
+ }
174
+ if (candidate.isContentEditable) {
175
+ candidate.focus();
176
+ candidate.textContent = nextName;
177
+ candidate.dispatchEvent(new browser.InputEvent("input", {
178
+ bubbles: true,
179
+ data: nextName,
180
+ inputType: "insertText",
181
+ }));
182
+ candidate.dispatchEvent(new browser.Event("change", { bubbles: true }));
183
+ return true;
184
+ }
185
+ }
186
+ return false;
187
+ }, name);
188
+ if (renamed) {
189
+ await randomDelay(500, 1000);
190
+ log.success(`✅ Set notebook name via DOM fallback: ${name}`);
191
+ return;
192
+ }
193
+ }
194
+ catch (err) {
195
+ log.warning(`⚠️ DOM fallback rename failed: ${err instanceof Error ? err.message : String(err)}`);
196
+ }
197
+ log.warning("⚠️ Name input not found - notebook may have been created with default name");
198
+ }
199
+ async finalizeAndGetUrl() {
200
+ if (!this.page)
201
+ throw new Error("Page not initialized");
202
+ await this.validateCurrentAuth();
203
+ log.info("🔗 Getting notebook URL...");
204
+ await randomDelay(1000, 2000);
205
+ const currentUrl = this.page.url();
206
+ if (currentUrl.includes("/notebook/")) {
207
+ return currentUrl;
208
+ }
209
+ const notebookLinks = await this.page.$$('a[href*="/notebook/"]');
210
+ if (notebookLinks.length > 0) {
211
+ const href = await notebookLinks[0].getAttribute("href");
212
+ if (href) {
213
+ return href.startsWith("http") ? href : `https://notebooklm.google.com${href}`;
214
+ }
215
+ }
216
+ return currentUrl;
217
+ }
218
+ safePageUrl(page) {
219
+ try {
220
+ return page.url();
221
+ }
222
+ catch (err) {
223
+ log.debug(`notebook-nav: reading page URL failed: ${err instanceof Error ? err.message : String(err)}`);
224
+ return "[unavailable]";
225
+ }
226
+ }
227
+ async cleanup() {
228
+ if (this.page) {
229
+ try {
230
+ await this.page.close();
231
+ }
232
+ catch (err) {
233
+ log.debug(`notebook-nav: closing page in cleanup: ${err instanceof Error ? err.message : String(err)}`);
234
+ }
235
+ this.page = null;
236
+ }
237
+ }
238
+ }
239
+ //# sourceMappingURL=notebook-nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-nav.js","sourceRoot":"","sources":["../../src/notebook-creation/notebook-nav.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notebook-sync.d.ts","sourceRoot":"","sources":["../../src/notebook-creation/notebook-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAItE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,YAAY,EAAE,KAAK,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,YAAY;IAIrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,IAAI,CAAqB;gBAGvB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,eAAe;IAGlC;;OAEG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,UAAU,CAAC;IA2CvB;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,cAAc,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAkGxF;;OAEG;YACW,gBAAgB;IAqD9B;;;OAGG;YACW,mBAAmB;IAgEjC;;;OAGG;YACW,kCAAkC;IAuFhD;;OAEG;YACW,yBAAyB;IAmEvC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmGhC;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;YACW,mBAAmB;IAejC;;OAEG;YACW,uBAAuB;IA6BrC;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;YACW,UAAU;IA+BxB;;OAEG;YACW,OAAO;CAUtB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACrD,OAAO,CAAC,UAAU,CAAC,CAGrB"}
1
+ {"version":3,"file":"notebook-sync.d.ts","sourceRoot":"","sources":["../../src/notebook-creation/notebook-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAmCtE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,YAAY,EAAE,KAAK,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,YAAY;IAIrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,IAAI,CAAqB;gBAGvB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,eAAe;IAGlC;;OAEG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,UAAU,CAAC;IA2CvB;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,cAAc,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiGxF;;OAEG;YACW,gBAAgB;IAoD9B;;;OAGG;YACW,mBAAmB;IAgEjC;;;OAGG;YACW,kCAAkC;IAwFhD;;OAEG;YACW,yBAAyB;IAoEvC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmGhC;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;YACW,mBAAmB;IAejC;;OAEG;YACW,uBAAuB;IA6BrC;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;YACW,UAAU;IA+BxB;;OAEG;YACW,OAAO;CAUtB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACrD,OAAO,CAAC,UAAU,CAAC,CAGrB"}
@@ -6,8 +6,7 @@
6
6
  */
7
7
  import { log } from "../utils/logger.js";
8
8
  import { randomDelay } from "../utils/stealth-utils.js";
9
- import { CONFIG } from "../config.js";
10
- const NOTEBOOKLM_URL = "https://notebooklm.google.com/";
9
+ import { CONFIG, NOTEBOOKLM_URL } from "../config.js";
11
10
  /**
12
11
  * Syncs library with actual NotebookLM notebooks
13
12
  */
@@ -71,8 +70,8 @@ export class NotebookSync {
71
70
  // Try to click on "My notebooks" tab if it exists
72
71
  try {
73
72
  const clicked = await this.page.evaluate(() => {
74
- // @ts-expect-error - DOM types
75
- const tabs = document.querySelectorAll('button, [role="tab"]');
73
+ const browser = globalThis;
74
+ const tabs = Array.from(browser.document.querySelectorAll('button, [role="tab"]'));
76
75
  for (const tab of tabs) {
77
76
  if (tab.textContent?.includes("My notebooks")) {
78
77
  tab.click();
@@ -86,8 +85,8 @@ export class NotebookSync {
86
85
  await randomDelay(1500, 2000);
87
86
  }
88
87
  }
89
- catch {
90
- // Tab might already be selected or doesn't exist
88
+ catch (err) {
89
+ log.debug(`notebook sync: failed to click My notebooks tab: ${err instanceof Error ? err.message : String(err)}`);
91
90
  }
92
91
  // Switch to grid view — UUIDs only exist in grid view's project-button elements
93
92
  await this.switchToGridView();
@@ -101,10 +100,9 @@ export class NotebookSync {
101
100
  // Collect diagnostics
102
101
  const diagnostic = [];
103
102
  const viewMode = await this.page.evaluate(() => {
104
- // @ts-expect-error - DOM types
105
- const pb = document.querySelectorAll('project-button').length;
106
- // @ts-expect-error - DOM types
107
- const tr = document.querySelectorAll('tr[role="row"]').length;
103
+ const browser = globalThis;
104
+ const pb = Array.from(browser.document.querySelectorAll('project-button')).length;
105
+ const tr = Array.from(browser.document.querySelectorAll('tr[role="row"]')).length;
108
106
  return { projectButtons: pb, tableRows: tr };
109
107
  });
110
108
  diagnostic.push(`view-detect: project-button=${viewMode.projectButtons}, table-rows=${viewMode.tableRows}`);
@@ -155,17 +153,17 @@ export class NotebookSync {
155
153
  try {
156
154
  // Check if already in grid view
157
155
  const alreadyGrid = await this.page.evaluate(() => {
158
- // @ts-expect-error - DOM types
159
- return document.querySelectorAll('project-button').length > 0;
156
+ const browser = globalThis;
157
+ return Array.from(browser.document.querySelectorAll('project-button')).length > 0;
160
158
  });
161
159
  if (alreadyGrid) {
162
160
  log.info(" 📊 Already in grid view");
163
161
  return;
164
162
  }
165
163
  const switched = await this.page.evaluate(() => {
164
+ const browser = globalThis;
166
165
  // Strategy 1: Find mat-button-toggle containing grid_view icon
167
- // @ts-expect-error - DOM types
168
- const toggles = document.querySelectorAll('mat-button-toggle');
166
+ const toggles = Array.from(browser.document.querySelectorAll('mat-button-toggle'));
169
167
  for (const toggle of toggles) {
170
168
  const text = toggle.textContent?.trim() || "";
171
169
  if (text.includes('grid_view')) {
@@ -176,8 +174,7 @@ export class NotebookSync {
176
174
  }
177
175
  }
178
176
  // Strategy 2: Find by aria-label
179
- // @ts-expect-error - DOM types
180
- const buttons = document.querySelectorAll('[role="radio"], button');
177
+ const buttons = Array.from(browser.document.querySelectorAll('[role="radio"], button'));
181
178
  for (const btn of buttons) {
182
179
  const label = btn.getAttribute('aria-label') || "";
183
180
  if (label.toLowerCase().includes('grid view') || label.toLowerCase().includes('grid_view')) {
@@ -194,8 +191,8 @@ export class NotebookSync {
194
191
  await randomDelay(1000, 1500);
195
192
  }
196
193
  }
197
- catch {
198
- // Grid toggle may not exist
194
+ catch (err) {
195
+ log.debug(`notebook sync: failed to switch to grid view: ${err instanceof Error ? err.message : String(err)}`);
199
196
  }
200
197
  }
201
198
  /**
@@ -206,9 +203,9 @@ export class NotebookSync {
206
203
  if (!this.page)
207
204
  return [];
208
205
  return await this.page.evaluate(() => {
206
+ const browser = globalThis;
209
207
  const results = [];
210
- // @ts-expect-error - DOM types
211
- const projectButtons = document.querySelectorAll('project-button');
208
+ const projectButtons = Array.from(browser.document.querySelectorAll('project-button'));
212
209
  for (const btn of projectButtons) {
213
210
  try {
214
211
  // Extract title from .project-button-title
@@ -225,9 +222,9 @@ export class NotebookSync {
225
222
  }
226
223
  // Fallback: search all element IDs and aria-labelledby for UUID
227
224
  if (!url) {
228
- const allIds = btn.querySelectorAll('[id]');
225
+ const allIds = Array.from(btn.querySelectorAll('[id]'));
229
226
  for (const el of allIds) {
230
- const idMatch = el.id.match(/project-([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/);
227
+ const idMatch = el.id?.match(/project-([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/);
231
228
  if (idMatch) {
232
229
  url = `https://notebooklm.google.com/notebook/${idMatch[1]}`;
233
230
  break;
@@ -248,8 +245,8 @@ export class NotebookSync {
248
245
  sourceCount = parseInt(sourceMatch[1], 10);
249
246
  results.push({ title, url, sourceCount, createdDate });
250
247
  }
251
- catch {
252
- // Skip individual failures
248
+ catch (err) {
249
+ log.debug(`notebook sync: failed to extract notebook card: ${err instanceof Error ? err.message : String(err)}`);
253
250
  }
254
251
  }
255
252
  return results;
@@ -264,10 +261,10 @@ export class NotebookSync {
264
261
  return [];
265
262
  // First extract metadata from table rows
266
263
  const rowData = await this.page.evaluate(() => {
264
+ const browser = globalThis;
267
265
  const results = [];
268
266
  // Select only data rows (with Source text), preserving DOM order
269
- // @ts-expect-error - DOM types
270
- const rows = document.querySelectorAll('tr[role="row"]');
267
+ const rows = Array.from(browser.document.querySelectorAll('tr[role="row"]'));
271
268
  for (const row of rows) {
272
269
  const rowText = row.textContent || "";
273
270
  if (!rowText.match(/\d+\s*Source/i))
@@ -298,16 +295,15 @@ export class NotebookSync {
298
295
  try {
299
296
  // Click the data row by index (skip non-data rows in evaluate)
300
297
  await this.page.evaluate((clickIdx) => {
301
- // @ts-expect-error - DOM types
302
- const allRows = document.querySelectorAll('tr[role="row"]');
298
+ const browser = globalThis;
299
+ const allRows = Array.from(browser.document.querySelectorAll('tr[role="row"]'));
303
300
  const dataRows = [];
304
301
  for (const r of allRows) {
305
302
  if (r.textContent?.match(/\d+\s*Source/i)) {
306
303
  dataRows.push(r);
307
304
  }
308
305
  }
309
- if (dataRows[clickIdx])
310
- dataRows[clickIdx].click();
306
+ dataRows[clickIdx]?.click();
311
307
  }, i);
312
308
  // Wait for navigation to complete
313
309
  await this.page.waitForURL(/\/notebook\//, { timeout: 10000 }).catch(() => { });
@@ -329,7 +325,8 @@ export class NotebookSync {
329
325
  await this.page.waitForLoadState("networkidle").catch(() => { });
330
326
  await randomDelay(1500, 2000);
331
327
  }
332
- catch {
328
+ catch (err) {
329
+ log.debug(`notebook-sync: navigating to notebook row for URL extraction: ${err instanceof Error ? err.message : String(err)}`);
333
330
  log.warning(` ⚠️ Could not navigate to notebook: ${row.title}`);
334
331
  }
335
332
  }
@@ -342,9 +339,9 @@ export class NotebookSync {
342
339
  if (!this.page)
343
340
  return [];
344
341
  return await this.page.evaluate(() => {
342
+ const browser = globalThis;
345
343
  const results = [];
346
- // @ts-expect-error - DOM types
347
- const rows = document.querySelectorAll('tr');
344
+ const rows = Array.from(browser.document.querySelectorAll('tr'));
348
345
  for (const row of rows) {
349
346
  const rowText = row.textContent || "";
350
347
  if (!rowText.match(/\d+\s*Source/i))
@@ -353,7 +350,7 @@ export class NotebookSync {
353
350
  const titleEl = row.querySelector('.project-table-title');
354
351
  let title = titleEl?.textContent?.trim() || "";
355
352
  if (!title) {
356
- const cells = row.querySelectorAll('td, th');
353
+ const cells = Array.from(row.querySelectorAll('td, th'));
357
354
  for (const cell of cells) {
358
355
  const cellText = cell.textContent?.trim() || "";
359
356
  if (cellText.length > 3 &&
@@ -378,7 +375,7 @@ export class NotebookSync {
378
375
  createdDate = dateMatch[1];
379
376
  // Try links/data attributes for URL
380
377
  let url = "";
381
- const links = row.querySelectorAll('a');
378
+ const links = Array.from(row.querySelectorAll('a'));
382
379
  for (const link of links) {
383
380
  const href = link.href || "";
384
381
  if (href.includes('/notebook/')) {
@@ -387,8 +384,9 @@ export class NotebookSync {
387
384
  }
388
385
  }
389
386
  if (!url) {
387
+ const childWithDataId = row.querySelector('[data-notebook-id]');
390
388
  const dataId = row.getAttribute('data-notebook-id') ||
391
- row.querySelector('[data-notebook-id]')?.getAttribute('data-notebook-id');
389
+ childWithDataId?.getAttribute('data-notebook-id');
392
390
  if (dataId)
393
391
  url = `https://notebooklm.google.com/notebook/${dataId}`;
394
392
  }
@@ -611,8 +609,8 @@ export class NotebookSync {
611
609
  try {
612
610
  await this.page.close();
613
611
  }
614
- catch {
615
- // Ignore cleanup errors
612
+ catch (err) {
613
+ log.debug(`notebook sync: failed to close page: ${err instanceof Error ? err.message : String(err)}`);
616
614
  }
617
615
  this.page = null;
618
616
  }