notelm-mcp 1.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 (323) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +456 -0
  3. package/dist/auth/auth-manager.d.ts +139 -0
  4. package/dist/auth/auth-manager.d.ts.map +1 -0
  5. package/dist/auth/auth-manager.js +960 -0
  6. package/dist/auth/auth-manager.js.map +1 -0
  7. package/dist/config.d.ts +92 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +219 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/constants.d.ts +58 -0
  12. package/dist/constants.d.ts.map +1 -0
  13. package/dist/constants.js +133 -0
  14. package/dist/constants.js.map +1 -0
  15. package/dist/errors.d.ts +26 -0
  16. package/dist/errors.d.ts.map +1 -0
  17. package/dist/errors.js +41 -0
  18. package/dist/errors.js.map +1 -0
  19. package/dist/index.d.ts +32 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +325 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/library/notebook-library.d.ts +70 -0
  24. package/dist/library/notebook-library.d.ts.map +1 -0
  25. package/dist/library/notebook-library.js +279 -0
  26. package/dist/library/notebook-library.js.map +1 -0
  27. package/dist/library/types.d.ts +67 -0
  28. package/dist/library/types.d.ts.map +1 -0
  29. package/dist/library/types.js +8 -0
  30. package/dist/library/types.js.map +1 -0
  31. package/dist/playwright.config.d.ts +3 -0
  32. package/dist/playwright.config.d.ts.map +1 -0
  33. package/dist/playwright.config.js +38 -0
  34. package/dist/playwright.config.js.map +1 -0
  35. package/dist/resources/resource-handlers.d.ts +22 -0
  36. package/dist/resources/resource-handlers.d.ts.map +1 -0
  37. package/dist/resources/resource-handlers.js +216 -0
  38. package/dist/resources/resource-handlers.js.map +1 -0
  39. package/dist/scripts/save-auth-state.d.ts +2 -0
  40. package/dist/scripts/save-auth-state.d.ts.map +1 -0
  41. package/dist/scripts/save-auth-state.js +91 -0
  42. package/dist/scripts/save-auth-state.js.map +1 -0
  43. package/dist/session/browser-session.d.ts +108 -0
  44. package/dist/session/browser-session.d.ts.map +1 -0
  45. package/dist/session/browser-session.js +636 -0
  46. package/dist/session/browser-session.js.map +1 -0
  47. package/dist/session/session-manager.d.ts +76 -0
  48. package/dist/session/session-manager.d.ts.map +1 -0
  49. package/dist/session/session-manager.js +273 -0
  50. package/dist/session/session-manager.js.map +1 -0
  51. package/dist/session/shared-context-manager.d.ts +107 -0
  52. package/dist/session/shared-context-manager.d.ts.map +1 -0
  53. package/dist/session/shared-context-manager.js +447 -0
  54. package/dist/session/shared-context-manager.js.map +1 -0
  55. package/dist/src/auth/auth-manager.d.ts +139 -0
  56. package/dist/src/auth/auth-manager.d.ts.map +1 -0
  57. package/dist/src/auth/auth-manager.js +960 -0
  58. package/dist/src/auth/auth-manager.js.map +1 -0
  59. package/dist/src/config.d.ts +92 -0
  60. package/dist/src/config.d.ts.map +1 -0
  61. package/dist/src/config.js +219 -0
  62. package/dist/src/config.js.map +1 -0
  63. package/dist/src/constants.d.ts +58 -0
  64. package/dist/src/constants.d.ts.map +1 -0
  65. package/dist/src/constants.js +133 -0
  66. package/dist/src/constants.js.map +1 -0
  67. package/dist/src/errors.d.ts +26 -0
  68. package/dist/src/errors.d.ts.map +1 -0
  69. package/dist/src/errors.js +41 -0
  70. package/dist/src/errors.js.map +1 -0
  71. package/dist/src/index.d.ts +32 -0
  72. package/dist/src/index.d.ts.map +1 -0
  73. package/dist/src/index.js +325 -0
  74. package/dist/src/index.js.map +1 -0
  75. package/dist/src/library/notebook-library.d.ts +70 -0
  76. package/dist/src/library/notebook-library.d.ts.map +1 -0
  77. package/dist/src/library/notebook-library.js +279 -0
  78. package/dist/src/library/notebook-library.js.map +1 -0
  79. package/dist/src/library/types.d.ts +67 -0
  80. package/dist/src/library/types.d.ts.map +1 -0
  81. package/dist/src/library/types.js +8 -0
  82. package/dist/src/library/types.js.map +1 -0
  83. package/dist/src/resources/resource-handlers.d.ts +22 -0
  84. package/dist/src/resources/resource-handlers.d.ts.map +1 -0
  85. package/dist/src/resources/resource-handlers.js +216 -0
  86. package/dist/src/resources/resource-handlers.js.map +1 -0
  87. package/dist/src/scripts/health-check.d.ts +13 -0
  88. package/dist/src/scripts/health-check.d.ts.map +1 -0
  89. package/dist/src/scripts/health-check.js +100 -0
  90. package/dist/src/scripts/health-check.js.map +1 -0
  91. package/dist/src/session/browser-session.d.ts +108 -0
  92. package/dist/src/session/browser-session.d.ts.map +1 -0
  93. package/dist/src/session/browser-session.js +642 -0
  94. package/dist/src/session/browser-session.js.map +1 -0
  95. package/dist/src/session/session-manager.d.ts +76 -0
  96. package/dist/src/session/session-manager.d.ts.map +1 -0
  97. package/dist/src/session/session-manager.js +273 -0
  98. package/dist/src/session/session-manager.js.map +1 -0
  99. package/dist/src/session/shared-context-manager.d.ts +107 -0
  100. package/dist/src/session/shared-context-manager.d.ts.map +1 -0
  101. package/dist/src/session/shared-context-manager.js +447 -0
  102. package/dist/src/session/shared-context-manager.js.map +1 -0
  103. package/dist/src/tools/definitions/ask-question.d.ts +8 -0
  104. package/dist/src/tools/definitions/ask-question.d.ts.map +1 -0
  105. package/dist/src/tools/definitions/ask-question.js +211 -0
  106. package/dist/src/tools/definitions/ask-question.js.map +1 -0
  107. package/dist/src/tools/definitions/notebook-management.d.ts +3 -0
  108. package/dist/src/tools/definitions/notebook-management.d.ts.map +1 -0
  109. package/dist/src/tools/definitions/notebook-management.js +243 -0
  110. package/dist/src/tools/definitions/notebook-management.js.map +1 -0
  111. package/dist/src/tools/definitions/session-management.d.ts +3 -0
  112. package/dist/src/tools/definitions/session-management.d.ts.map +1 -0
  113. package/dist/src/tools/definitions/session-management.js +41 -0
  114. package/dist/src/tools/definitions/session-management.js.map +1 -0
  115. package/dist/src/tools/definitions/system.d.ts +3 -0
  116. package/dist/src/tools/definitions/system.d.ts.map +1 -0
  117. package/dist/src/tools/definitions/system.js +143 -0
  118. package/dist/src/tools/definitions/system.js.map +1 -0
  119. package/dist/src/tools/definitions.d.ts +12 -0
  120. package/dist/src/tools/definitions.d.ts.map +1 -0
  121. package/dist/src/tools/definitions.js +26 -0
  122. package/dist/src/tools/definitions.js.map +1 -0
  123. package/dist/src/tools/handlers.d.ts +212 -0
  124. package/dist/src/tools/handlers.d.ts.map +1 -0
  125. package/dist/src/tools/handlers.js +712 -0
  126. package/dist/src/tools/handlers.js.map +1 -0
  127. package/dist/src/tools/index.d.ts +8 -0
  128. package/dist/src/tools/index.d.ts.map +1 -0
  129. package/dist/src/tools/index.js +8 -0
  130. package/dist/src/tools/index.js.map +1 -0
  131. package/dist/src/types.d.ts +88 -0
  132. package/dist/src/types.d.ts.map +1 -0
  133. package/dist/src/types.js +5 -0
  134. package/dist/src/types.js.map +1 -0
  135. package/dist/src/utils/auth-manager.d.ts +2 -0
  136. package/dist/src/utils/auth-manager.d.ts.map +1 -0
  137. package/dist/src/utils/auth-manager.js +25 -0
  138. package/dist/src/utils/auth-manager.js.map +1 -0
  139. package/dist/src/utils/cleanup-manager.d.ts +133 -0
  140. package/dist/src/utils/cleanup-manager.d.ts.map +1 -0
  141. package/dist/src/utils/cleanup-manager.js +673 -0
  142. package/dist/src/utils/cleanup-manager.js.map +1 -0
  143. package/dist/src/utils/cli-handler.d.ts +16 -0
  144. package/dist/src/utils/cli-handler.d.ts.map +1 -0
  145. package/dist/src/utils/cli-handler.js +102 -0
  146. package/dist/src/utils/cli-handler.js.map +1 -0
  147. package/dist/src/utils/logger.d.ts +61 -0
  148. package/dist/src/utils/logger.d.ts.map +1 -0
  149. package/dist/src/utils/logger.js +92 -0
  150. package/dist/src/utils/logger.js.map +1 -0
  151. package/dist/src/utils/page-utils.d.ts +54 -0
  152. package/dist/src/utils/page-utils.d.ts.map +1 -0
  153. package/dist/src/utils/page-utils.js +381 -0
  154. package/dist/src/utils/page-utils.js.map +1 -0
  155. package/dist/src/utils/rate-limit-handler.d.ts +42 -0
  156. package/dist/src/utils/rate-limit-handler.d.ts.map +1 -0
  157. package/dist/src/utils/rate-limit-handler.js +88 -0
  158. package/dist/src/utils/rate-limit-handler.js.map +1 -0
  159. package/dist/src/utils/rate-limit-handler.test.d.ts +7 -0
  160. package/dist/src/utils/rate-limit-handler.test.d.ts.map +1 -0
  161. package/dist/src/utils/rate-limit-handler.test.js +86 -0
  162. package/dist/src/utils/rate-limit-handler.test.js.map +1 -0
  163. package/dist/src/utils/settings-manager.d.ts +37 -0
  164. package/dist/src/utils/settings-manager.d.ts.map +1 -0
  165. package/dist/src/utils/settings-manager.js +121 -0
  166. package/dist/src/utils/settings-manager.js.map +1 -0
  167. package/dist/src/utils/stealth-utils.d.ts +135 -0
  168. package/dist/src/utils/stealth-utils.d.ts.map +1 -0
  169. package/dist/src/utils/stealth-utils.js +396 -0
  170. package/dist/src/utils/stealth-utils.js.map +1 -0
  171. package/dist/src/utils/stealth-utils.test.d.ts +7 -0
  172. package/dist/src/utils/stealth-utils.test.d.ts.map +1 -0
  173. package/dist/src/utils/stealth-utils.test.js +72 -0
  174. package/dist/src/utils/stealth-utils.test.js.map +1 -0
  175. package/dist/tests/e2e/authenticated.spec.d.ts +2 -0
  176. package/dist/tests/e2e/authenticated.spec.d.ts.map +1 -0
  177. package/dist/tests/e2e/authenticated.spec.js +41 -0
  178. package/dist/tests/e2e/authenticated.spec.js.map +1 -0
  179. package/dist/tests/e2e/mocked.spec.d.ts +2 -0
  180. package/dist/tests/e2e/mocked.spec.d.ts.map +1 -0
  181. package/dist/tests/e2e/mocked.spec.js +32 -0
  182. package/dist/tests/e2e/mocked.spec.js.map +1 -0
  183. package/dist/tests/mocks/handlers.d.ts +4 -0
  184. package/dist/tests/mocks/handlers.d.ts.map +1 -0
  185. package/dist/tests/mocks/handlers.js +55 -0
  186. package/dist/tests/mocks/handlers.js.map +1 -0
  187. package/dist/tests/mocks/setup.d.ts +3 -0
  188. package/dist/tests/mocks/setup.d.ts.map +1 -0
  189. package/dist/tests/mocks/setup.js +77 -0
  190. package/dist/tests/mocks/setup.js.map +1 -0
  191. package/dist/tools/definitions/ask-question.d.ts +8 -0
  192. package/dist/tools/definitions/ask-question.d.ts.map +1 -0
  193. package/dist/tools/definitions/ask-question.js +211 -0
  194. package/dist/tools/definitions/ask-question.js.map +1 -0
  195. package/dist/tools/definitions/notebook-management.d.ts +3 -0
  196. package/dist/tools/definitions/notebook-management.d.ts.map +1 -0
  197. package/dist/tools/definitions/notebook-management.js +243 -0
  198. package/dist/tools/definitions/notebook-management.js.map +1 -0
  199. package/dist/tools/definitions/session-management.d.ts +3 -0
  200. package/dist/tools/definitions/session-management.d.ts.map +1 -0
  201. package/dist/tools/definitions/session-management.js +41 -0
  202. package/dist/tools/definitions/session-management.js.map +1 -0
  203. package/dist/tools/definitions/system.d.ts +3 -0
  204. package/dist/tools/definitions/system.d.ts.map +1 -0
  205. package/dist/tools/definitions/system.js +143 -0
  206. package/dist/tools/definitions/system.js.map +1 -0
  207. package/dist/tools/definitions.d.ts +12 -0
  208. package/dist/tools/definitions.d.ts.map +1 -0
  209. package/dist/tools/definitions.js +26 -0
  210. package/dist/tools/definitions.js.map +1 -0
  211. package/dist/tools/handlers.d.ts +212 -0
  212. package/dist/tools/handlers.d.ts.map +1 -0
  213. package/dist/tools/handlers.js +712 -0
  214. package/dist/tools/handlers.js.map +1 -0
  215. package/dist/tools/index.d.ts +8 -0
  216. package/dist/tools/index.d.ts.map +1 -0
  217. package/dist/tools/index.js +8 -0
  218. package/dist/tools/index.js.map +1 -0
  219. package/dist/types.d.ts +82 -0
  220. package/dist/types.d.ts.map +1 -0
  221. package/dist/types.js +5 -0
  222. package/dist/types.js.map +1 -0
  223. package/dist/utils/cleanup-manager.d.ts +133 -0
  224. package/dist/utils/cleanup-manager.d.ts.map +1 -0
  225. package/dist/utils/cleanup-manager.js +673 -0
  226. package/dist/utils/cleanup-manager.js.map +1 -0
  227. package/dist/utils/cli-handler.d.ts +16 -0
  228. package/dist/utils/cli-handler.d.ts.map +1 -0
  229. package/dist/utils/cli-handler.js +102 -0
  230. package/dist/utils/cli-handler.js.map +1 -0
  231. package/dist/utils/logger.d.ts +61 -0
  232. package/dist/utils/logger.d.ts.map +1 -0
  233. package/dist/utils/logger.js +92 -0
  234. package/dist/utils/logger.js.map +1 -0
  235. package/dist/utils/page-utils.d.ts +54 -0
  236. package/dist/utils/page-utils.d.ts.map +1 -0
  237. package/dist/utils/page-utils.js +381 -0
  238. package/dist/utils/page-utils.js.map +1 -0
  239. package/dist/utils/rate-limit-handler.d.ts +42 -0
  240. package/dist/utils/rate-limit-handler.d.ts.map +1 -0
  241. package/dist/utils/rate-limit-handler.js +88 -0
  242. package/dist/utils/rate-limit-handler.js.map +1 -0
  243. package/dist/utils/rate-limit-handler.test.d.ts +7 -0
  244. package/dist/utils/rate-limit-handler.test.d.ts.map +1 -0
  245. package/dist/utils/rate-limit-handler.test.js +91 -0
  246. package/dist/utils/rate-limit-handler.test.js.map +1 -0
  247. package/dist/utils/settings-manager.d.ts +37 -0
  248. package/dist/utils/settings-manager.d.ts.map +1 -0
  249. package/dist/utils/settings-manager.js +121 -0
  250. package/dist/utils/settings-manager.js.map +1 -0
  251. package/dist/utils/stealth-utils.d.ts +135 -0
  252. package/dist/utils/stealth-utils.d.ts.map +1 -0
  253. package/dist/utils/stealth-utils.js +396 -0
  254. package/dist/utils/stealth-utils.js.map +1 -0
  255. package/dist/utils/stealth-utils.test.d.ts +7 -0
  256. package/dist/utils/stealth-utils.test.d.ts.map +1 -0
  257. package/dist/utils/stealth-utils.test.js +72 -0
  258. package/dist/utils/stealth-utils.test.js.map +1 -0
  259. package/docs/01_configuration.md +94 -0
  260. package/docs/02_tools.md +34 -0
  261. package/docs/03_troubleshooting.md +59 -0
  262. package/docs/04_usage-guide.md +245 -0
  263. package/docs/05_project-analysis.qmd +309 -0
  264. package/docs/06_integration-analysis.html +914 -0
  265. package/docs/06_integration-analysis.qmd +255 -0
  266. package/docs/06_integration-analysis_files/libs/bootstrap/bootstrap-4f0954b6b0dd6bf39f4bb9151ba984db.min.css +12 -0
  267. package/docs/06_integration-analysis_files/libs/bootstrap/bootstrap-icons.css +2106 -0
  268. package/docs/06_integration-analysis_files/libs/bootstrap/bootstrap-icons.woff +0 -0
  269. package/docs/06_integration-analysis_files/libs/bootstrap/bootstrap.min.js +7 -0
  270. package/docs/06_integration-analysis_files/libs/clipboard/clipboard.min.js +7 -0
  271. package/docs/06_integration-analysis_files/libs/quarto-html/anchor.min.js +9 -0
  272. package/docs/06_integration-analysis_files/libs/quarto-html/axe/axe-check.js +145 -0
  273. package/docs/06_integration-analysis_files/libs/quarto-html/popper.min.js +6 -0
  274. package/docs/06_integration-analysis_files/libs/quarto-html/quarto-syntax-highlighting-587c61ba64f3a5504c4d52d930310e48.css +236 -0
  275. package/docs/06_integration-analysis_files/libs/quarto-html/quarto.js +847 -0
  276. package/docs/06_integration-analysis_files/libs/quarto-html/tabsets/tabsets.js +95 -0
  277. package/docs/06_integration-analysis_files/libs/quarto-html/tippy.css +1 -0
  278. package/docs/06_integration-analysis_files/libs/quarto-html/tippy.umd.min.js +2 -0
  279. package/docs/07_e2e-testing-safety.qmd +754 -0
  280. package/docs/08_project-re-evaluation.html +609 -0
  281. package/docs/08_project-re-evaluation.qmd +86 -0
  282. package/docs/08_project-re-evaluation_files/libs/bootstrap/bootstrap-4f0954b6b0dd6bf39f4bb9151ba984db.min.css +12 -0
  283. package/docs/08_project-re-evaluation_files/libs/bootstrap/bootstrap-icons.css +2106 -0
  284. package/docs/08_project-re-evaluation_files/libs/bootstrap/bootstrap-icons.woff +0 -0
  285. package/docs/08_project-re-evaluation_files/libs/bootstrap/bootstrap.min.js +7 -0
  286. package/docs/08_project-re-evaluation_files/libs/clipboard/clipboard.min.js +7 -0
  287. package/docs/08_project-re-evaluation_files/libs/quarto-html/anchor.min.js +9 -0
  288. package/docs/08_project-re-evaluation_files/libs/quarto-html/axe/axe-check.js +145 -0
  289. package/docs/08_project-re-evaluation_files/libs/quarto-html/popper.min.js +6 -0
  290. package/docs/08_project-re-evaluation_files/libs/quarto-html/quarto-syntax-highlighting-587c61ba64f3a5504c4d52d930310e48.css +236 -0
  291. package/docs/08_project-re-evaluation_files/libs/quarto-html/quarto.js +847 -0
  292. package/docs/08_project-re-evaluation_files/libs/quarto-html/tabsets/tabsets.js +95 -0
  293. package/docs/08_project-re-evaluation_files/libs/quarto-html/tippy.css +1 -0
  294. package/docs/08_project-re-evaluation_files/libs/quarto-html/tippy.umd.min.js +2 -0
  295. package/docs/notebooklm-mcp-usage.html +704 -0
  296. package/docs/notebooklm-mcp-usage.qmd +119 -0
  297. package/docs/notebooklm-mcp-usage_files/libs/bootstrap/bootstrap-6b71f2156b6a5230c6677325978bcf08.min.css +12 -0
  298. package/docs/notebooklm-mcp-usage_files/libs/bootstrap/bootstrap-icons.css +2106 -0
  299. package/docs/notebooklm-mcp-usage_files/libs/bootstrap/bootstrap-icons.woff +0 -0
  300. package/docs/notebooklm-mcp-usage_files/libs/bootstrap/bootstrap.min.js +7 -0
  301. package/docs/notebooklm-mcp-usage_files/libs/clipboard/clipboard.min.js +7 -0
  302. package/docs/notebooklm-mcp-usage_files/libs/quarto-html/anchor.min.js +9 -0
  303. package/docs/notebooklm-mcp-usage_files/libs/quarto-html/axe/axe-check.js +145 -0
  304. package/docs/notebooklm-mcp-usage_files/libs/quarto-html/popper.min.js +6 -0
  305. package/docs/notebooklm-mcp-usage_files/libs/quarto-html/quarto-syntax-highlighting-587c61ba64f3a5504c4d52d930310e48.css +236 -0
  306. package/docs/notebooklm-mcp-usage_files/libs/quarto-html/quarto.js +847 -0
  307. package/docs/notebooklm-mcp-usage_files/libs/quarto-html/tabsets/tabsets.js +95 -0
  308. package/docs/notebooklm-mcp-usage_files/libs/quarto-html/tippy.css +1 -0
  309. package/docs/notebooklm-mcp-usage_files/libs/quarto-html/tippy.umd.min.js +2 -0
  310. package/docs/repomix-usage_files/libs/bootstrap/bootstrap-6b71f2156b6a5230c6677325978bcf08.min.css +12 -0
  311. package/docs/repomix-usage_files/libs/bootstrap/bootstrap-icons.css +2106 -0
  312. package/docs/repomix-usage_files/libs/bootstrap/bootstrap-icons.woff +0 -0
  313. package/docs/repomix-usage_files/libs/bootstrap/bootstrap.min.js +7 -0
  314. package/docs/repomix-usage_files/libs/clipboard/clipboard.min.js +7 -0
  315. package/docs/repomix-usage_files/libs/quarto-html/anchor.min.js +9 -0
  316. package/docs/repomix-usage_files/libs/quarto-html/axe/axe-check.js +145 -0
  317. package/docs/repomix-usage_files/libs/quarto-html/popper.min.js +6 -0
  318. package/docs/repomix-usage_files/libs/quarto-html/quarto-syntax-highlighting-587c61ba64f3a5504c4d52d930310e48.css +236 -0
  319. package/docs/repomix-usage_files/libs/quarto-html/quarto.js +847 -0
  320. package/docs/repomix-usage_files/libs/quarto-html/tabsets/tabsets.js +95 -0
  321. package/docs/repomix-usage_files/libs/quarto-html/tippy.css +1 -0
  322. package/docs/repomix-usage_files/libs/quarto-html/tippy.umd.min.js +2 -0
  323. package/package.json +62 -0
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Settings Manager
3
+ *
4
+ * Handles persistent configuration for the NotebookLM MCP Server.
5
+ * Manages profiles, disabled tools, and environment variable overrides.
6
+ */
7
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
8
+ export type ProfileName = "minimal" | "standard" | "full";
9
+ export interface Settings {
10
+ profile: ProfileName;
11
+ disabledTools: string[];
12
+ customSettings?: Record<string, any>;
13
+ }
14
+ export declare class SettingsManager {
15
+ private settingsPath;
16
+ private settings;
17
+ constructor();
18
+ /**
19
+ * Load settings from file, falling back to defaults
20
+ */
21
+ private loadSettings;
22
+ /**
23
+ * Save current settings to file
24
+ */
25
+ saveSettings(newSettings: Partial<Settings>): Promise<void>;
26
+ /**
27
+ * Get effective configuration (merging File settings with Env Vars)
28
+ */
29
+ getEffectiveSettings(): Settings;
30
+ /**
31
+ * Filter tools based on effective configuration
32
+ */
33
+ filterTools(allTools: Tool[]): Tool[];
34
+ getSettingsPath(): string;
35
+ getProfiles(): Record<ProfileName, string[]>;
36
+ }
37
+ //# sourceMappingURL=settings-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-manager.d.ts","sourceRoot":"","sources":["../../src/utils/settings-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AA8BD,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAW;;IAQ3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE;;OAEG;IACH,oBAAoB,IAAI,QAAQ;IAmBhC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;IAmBrC,eAAe,IAAI,MAAM;IAIzB,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;CAG7C"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Settings Manager
3
+ *
4
+ * Handles persistent configuration for the NotebookLM MCP Server.
5
+ * Manages profiles, disabled tools, and environment variable overrides.
6
+ */
7
+ import fs from "fs/promises";
8
+ import { existsSync, mkdirSync, readFileSync } from "fs";
9
+ import path from "path";
10
+ import { CONFIG } from "../config.js";
11
+ import { log } from "./logger.js";
12
+ const DEFAULT_SETTINGS = {
13
+ profile: "full",
14
+ disabledTools: [],
15
+ };
16
+ const PROFILES = {
17
+ minimal: [
18
+ "ask_question",
19
+ "get_health",
20
+ "list_notebooks",
21
+ "select_notebook",
22
+ "get_notebook" // Added as it is read-only and useful
23
+ ],
24
+ standard: [
25
+ "ask_question",
26
+ "get_health",
27
+ "list_notebooks",
28
+ "select_notebook",
29
+ "get_notebook",
30
+ "setup_auth",
31
+ "list_sessions",
32
+ "add_notebook",
33
+ "update_notebook",
34
+ "search_notebooks"
35
+ ],
36
+ full: ["*"] // All tools
37
+ };
38
+ export class SettingsManager {
39
+ settingsPath;
40
+ settings;
41
+ constructor() {
42
+ // Use the config directory from env-paths defined in config.ts
43
+ this.settingsPath = path.join(CONFIG.configDir, "settings.json");
44
+ this.settings = this.loadSettings();
45
+ }
46
+ /**
47
+ * Load settings from file, falling back to defaults
48
+ */
49
+ loadSettings() {
50
+ try {
51
+ // Ensure config dir exists
52
+ if (!existsSync(CONFIG.configDir)) {
53
+ mkdirSync(CONFIG.configDir, { recursive: true });
54
+ }
55
+ if (existsSync(this.settingsPath)) {
56
+ // Use the already imported readFileSync for synchronous file reading
57
+ const data = readFileSync(this.settingsPath, "utf-8");
58
+ return { ...DEFAULT_SETTINGS, ...JSON.parse(data) };
59
+ }
60
+ }
61
+ catch (error) {
62
+ log.warning(`⚠️ Failed to load settings: ${error}. Using defaults.`);
63
+ }
64
+ return { ...DEFAULT_SETTINGS };
65
+ }
66
+ /**
67
+ * Save current settings to file
68
+ */
69
+ async saveSettings(newSettings) {
70
+ this.settings = { ...this.settings, ...newSettings };
71
+ try {
72
+ await fs.writeFile(this.settingsPath, JSON.stringify(this.settings, null, 2), "utf-8");
73
+ }
74
+ catch (error) {
75
+ throw new Error(`Failed to save settings: ${error}`);
76
+ }
77
+ }
78
+ /**
79
+ * Get effective configuration (merging File settings with Env Vars)
80
+ */
81
+ getEffectiveSettings() {
82
+ const envProfile = process.env.NOTEBOOKLM_PROFILE;
83
+ const envDisabled = process.env.NOTEBOOKLM_DISABLED_TOOLS;
84
+ const effectiveProfile = (envProfile && PROFILES[envProfile]) ? envProfile : this.settings.profile;
85
+ let effectiveDisabled = [...this.settings.disabledTools];
86
+ if (envDisabled) {
87
+ const envDisabledList = envDisabled.split(",").map(t => t.trim());
88
+ effectiveDisabled = [...new Set([...effectiveDisabled, ...envDisabledList])];
89
+ }
90
+ return {
91
+ profile: effectiveProfile,
92
+ disabledTools: effectiveDisabled,
93
+ customSettings: this.settings.customSettings
94
+ };
95
+ }
96
+ /**
97
+ * Filter tools based on effective configuration
98
+ */
99
+ filterTools(allTools) {
100
+ const { profile, disabledTools } = this.getEffectiveSettings();
101
+ const allowedTools = PROFILES[profile];
102
+ return allTools.filter(tool => {
103
+ // 1. Check if allowed by profile (unless profile is full/wildcard)
104
+ if (!allowedTools.includes("*") && !allowedTools.includes(tool.name)) {
105
+ return false;
106
+ }
107
+ // 2. Check if explicitly disabled
108
+ if (disabledTools.includes(tool.name)) {
109
+ return false;
110
+ }
111
+ return true;
112
+ });
113
+ }
114
+ getSettingsPath() {
115
+ return this.settingsPath;
116
+ }
117
+ getProfiles() {
118
+ return PROFILES;
119
+ }
120
+ }
121
+ //# sourceMappingURL=settings-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/utils/settings-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Stealth utilities for human-like browser behavior
3
+ *
4
+ * This module provides functions to simulate realistic human interactions:
5
+ * - Human-like typing (speed configurable via CONFIG.typingWpmMin/Max)
6
+ * - Realistic mouse movements (Bezier curves with jitter)
7
+ * - Random delays (normal distribution)
8
+ * - Smooth scrolling
9
+ * - Reading pauses
10
+ *
11
+ * Based on the Python implementation from stealth_utils.py
12
+ */
13
+ import type { Page } from "patchright";
14
+ /**
15
+ * Sleep for specified milliseconds
16
+ */
17
+ export declare function sleep(ms: number): Promise<void>;
18
+ /**
19
+ * Generate random integer between min and max (inclusive)
20
+ */
21
+ export declare function randomInt(min: number, max: number): number;
22
+ /**
23
+ * Generate random float between min and max
24
+ */
25
+ export declare function randomFloat(min: number, max: number): number;
26
+ /**
27
+ * Generate random character (for typos)
28
+ */
29
+ export declare function randomChar(): string;
30
+ /**
31
+ * Generate Gaussian (normal) distributed random number
32
+ * Uses Box-Muller transform
33
+ */
34
+ export declare function gaussian(mean: number, stdDev: number): number;
35
+ /**
36
+ * Add a random delay to simulate human thinking/reaction time
37
+ * Uses normal distribution for more realistic delays
38
+ *
39
+ * @param minMs Minimum delay in milliseconds (default: from CONFIG)
40
+ * @param maxMs Maximum delay in milliseconds (default: from CONFIG)
41
+ */
42
+ export declare function randomDelay(minMs?: number, maxMs?: number): Promise<void>;
43
+ /**
44
+ * Type text in a human-like manner with variable speed and optional typos
45
+ *
46
+ * Simulates realistic typing patterns:
47
+ * - Variable speed (45-65 WPM by default)
48
+ * - Occasional typos (2% chance)
49
+ * - Longer pauses after punctuation
50
+ * - Realistic character delays
51
+ *
52
+ * @param page Playwright page instance
53
+ * @param selector CSS selector of input element
54
+ * @param text Text to type
55
+ * @param options Typing options (wpm, withTypos)
56
+ */
57
+ export declare function humanType(page: Page, selector: string, text: string, options?: {
58
+ wpm?: number;
59
+ withTypos?: boolean;
60
+ }): Promise<void>;
61
+ /**
62
+ * Move mouse in a realistic curved path to target coordinates
63
+ * Uses Bezier-like curves with jitter for natural movement
64
+ *
65
+ * @param page Playwright page instance
66
+ * @param targetX Target X coordinate (default: random)
67
+ * @param targetY Target Y coordinate (default: random)
68
+ * @param steps Number of steps in movement (default: random 10-25)
69
+ */
70
+ export declare function randomMouseMovement(page: Page, targetX?: number, targetY?: number, steps?: number): Promise<void>;
71
+ /**
72
+ * Click an element with realistic human behavior
73
+ * Includes mouse movement, pause, and click
74
+ *
75
+ * @param page Playwright page instance
76
+ * @param selector CSS selector of element to click
77
+ * @param withMouseMovement Whether to move mouse first (default: true)
78
+ */
79
+ export declare function realisticClick(page: Page, selector: string, withMouseMovement?: boolean): Promise<void>;
80
+ /**
81
+ * Scroll the page smoothly like a human
82
+ * Uses multiple small steps for smooth animation
83
+ *
84
+ * @param page Playwright page instance
85
+ * @param amount Scroll amount in pixels (default: random 100-400)
86
+ * @param direction Scroll direction ("down" or "up")
87
+ */
88
+ export declare function smoothScroll(page: Page, amount?: number, direction?: "up" | "down"): Promise<void>;
89
+ /**
90
+ * Pause as if reading text, based on length
91
+ * Calculates realistic reading time based on text length and WPM
92
+ *
93
+ * @param textLength Number of characters to "read"
94
+ * @param wpm Reading speed in words per minute (default: random 200-250)
95
+ */
96
+ export declare function readingPause(textLength: number, wpm?: number): Promise<void>;
97
+ /**
98
+ * Add small random mouse movements to simulate natural fidgeting
99
+ *
100
+ * @param page Playwright page instance
101
+ * @param iterations Number of small movements (default: 3)
102
+ */
103
+ export declare function randomMouseJitter(page: Page, iterations?: number): Promise<void>;
104
+ /**
105
+ * Hover over an element with realistic mouse movement
106
+ *
107
+ * @param page Playwright page instance
108
+ * @param selector CSS selector of element to hover
109
+ */
110
+ export declare function hoverElement(page: Page, selector: string): Promise<void>;
111
+ /**
112
+ * Simulate reading a page with scrolling and pauses
113
+ * Adds realistic behavior of scrolling and reading content
114
+ *
115
+ * @param page Playwright page instance
116
+ */
117
+ export declare function simulateReadingPage(page: Page): Promise<void>;
118
+ declare const _default: {
119
+ sleep: typeof sleep;
120
+ randomInt: typeof randomInt;
121
+ randomFloat: typeof randomFloat;
122
+ randomChar: typeof randomChar;
123
+ gaussian: typeof gaussian;
124
+ randomDelay: typeof randomDelay;
125
+ humanType: typeof humanType;
126
+ randomMouseMovement: typeof randomMouseMovement;
127
+ realisticClick: typeof realisticClick;
128
+ smoothScroll: typeof smoothScroll;
129
+ readingPause: typeof readingPause;
130
+ randomMouseJitter: typeof randomMouseJitter;
131
+ hoverElement: typeof hoverElement;
132
+ simulateReadingPage: typeof simulateReadingPage;
133
+ };
134
+ export default _default;
135
+ //# sourceMappingURL=stealth-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stealth-utils.d.ts","sourceRoot":"","sources":["../../src/utils/stealth-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOvC;;GAEG;AACH,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK7D;AAMD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAsBf;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CAChB,GACL,OAAO,CAAC,IAAI,CAAC,CAwEf;AAMD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAuCf;AAMD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,iBAAiB,GAAE,OAAc,GAChC,OAAO,CAAC,IAAI,CAAC,CAgCf;AAMD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,IAAI,GAAG,MAAe,GAChC,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAMD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAMD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAaf;AAMD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB9E;AAMD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnE;;;;;;;;;;;;;;;;;AAMD,wBAeE"}