@pan-sec/notebooklm-mcp 2026.2.11 → 2026.3.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 (305) hide show
  1. package/README.md +62 -19
  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 +117 -44
  6. package/dist/auth/auth-manager.js.map +1 -1
  7. package/dist/auth/mcp-auth.d.ts +24 -4
  8. package/dist/auth/mcp-auth.d.ts.map +1 -1
  9. package/dist/auth/mcp-auth.js +149 -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 +24 -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 +8 -31
  68. package/dist/config.d.ts.map +1 -1
  69. package/dist/config.js +26 -64
  70. package/dist/config.js.map +1 -1
  71. package/dist/errors.d.ts +22 -2
  72. package/dist/errors.d.ts.map +1 -1
  73. package/dist/errors.js +55 -4
  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 +412 -89
  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 -1
  122. package/dist/notebook-creation/index.d.ts.map +1 -1
  123. package/dist/notebook-creation/index.js +2 -1
  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 +240 -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 -37
  140. package/dist/notebook-creation/selectors.d.ts.map +1 -1
  141. package/dist/notebook-creation/selectors.js +56 -60
  142. package/dist/notebook-creation/selectors.js.map +1 -1
  143. package/dist/notebook-creation/source-manager.d.ts +25 -0
  144. package/dist/notebook-creation/source-manager.d.ts.map +1 -1
  145. package/dist/notebook-creation/source-manager.js +689 -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 +39 -17
  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.d.ts.map +1 -1
  173. package/dist/tools/annotations.js +9 -56
  174. package/dist/tools/annotations.js.map +1 -1
  175. package/dist/tools/definitions/ask-question.d.ts.map +1 -1
  176. package/dist/tools/definitions/ask-question.js +35 -100
  177. package/dist/tools/definitions/ask-question.js.map +1 -1
  178. package/dist/tools/definitions/chat-history.d.ts +47 -1
  179. package/dist/tools/definitions/chat-history.d.ts.map +1 -1
  180. package/dist/tools/definitions/chat-history.js +10 -1
  181. package/dist/tools/definitions/chat-history.js.map +1 -1
  182. package/dist/tools/definitions/data-tables.d.ts.map +1 -1
  183. package/dist/tools/definitions/data-tables.js +2 -0
  184. package/dist/tools/definitions/data-tables.js.map +1 -1
  185. package/dist/tools/definitions/gemini.d.ts.map +1 -1
  186. package/dist/tools/definitions/gemini.js +54 -11
  187. package/dist/tools/definitions/gemini.js.map +1 -1
  188. package/dist/tools/definitions/notebook-management.d.ts.map +1 -1
  189. package/dist/tools/definitions/notebook-management.js +100 -70
  190. package/dist/tools/definitions/notebook-management.js.map +1 -1
  191. package/dist/tools/definitions/query-history.d.ts +47 -1
  192. package/dist/tools/definitions/query-history.d.ts.map +1 -1
  193. package/dist/tools/definitions/query-history.js +7 -0
  194. package/dist/tools/definitions/query-history.js.map +1 -1
  195. package/dist/tools/definitions/session-management.d.ts.map +1 -1
  196. package/dist/tools/definitions/session-management.js +5 -0
  197. package/dist/tools/definitions/session-management.js.map +1 -1
  198. package/dist/tools/definitions/system.d.ts.map +1 -1
  199. package/dist/tools/definitions/system.js +71 -100
  200. package/dist/tools/definitions/system.js.map +1 -1
  201. package/dist/tools/definitions/video.d.ts.map +1 -1
  202. package/dist/tools/definitions/video.js +4 -1
  203. package/dist/tools/definitions/video.js.map +1 -1
  204. package/dist/tools/definitions.d.ts.map +1 -1
  205. package/dist/tools/definitions.js +4 -0
  206. package/dist/tools/definitions.js.map +1 -1
  207. package/dist/tools/handlers/ask-question.d.ts +1 -1
  208. package/dist/tools/handlers/ask-question.d.ts.map +1 -1
  209. package/dist/tools/handlers/ask-question.js +57 -13
  210. package/dist/tools/handlers/ask-question.js.map +1 -1
  211. package/dist/tools/handlers/audio-video.d.ts.map +1 -1
  212. package/dist/tools/handlers/audio-video.js +22 -161
  213. package/dist/tools/handlers/audio-video.js.map +1 -1
  214. package/dist/tools/handlers/auth.d.ts +14 -19
  215. package/dist/tools/handlers/auth.d.ts.map +1 -1
  216. package/dist/tools/handlers/auth.js +77 -121
  217. package/dist/tools/handlers/auth.js.map +1 -1
  218. package/dist/tools/handlers/error-utils.d.ts +16 -0
  219. package/dist/tools/handlers/error-utils.d.ts.map +1 -0
  220. package/dist/tools/handlers/error-utils.js +39 -0
  221. package/dist/tools/handlers/error-utils.js.map +1 -0
  222. package/dist/tools/handlers/gemini.d.ts +2 -0
  223. package/dist/tools/handlers/gemini.d.ts.map +1 -1
  224. package/dist/tools/handlers/gemini.js +88 -51
  225. package/dist/tools/handlers/gemini.js.map +1 -1
  226. package/dist/tools/handlers/index.d.ts +39 -47
  227. package/dist/tools/handlers/index.d.ts.map +1 -1
  228. package/dist/tools/handlers/index.js +15 -4
  229. package/dist/tools/handlers/index.js.map +1 -1
  230. package/dist/tools/handlers/notebook-creation.d.ts.map +1 -1
  231. package/dist/tools/handlers/notebook-creation.js +102 -86
  232. package/dist/tools/handlers/notebook-creation.js.map +1 -1
  233. package/dist/tools/handlers/notebook-management.d.ts +8 -8
  234. package/dist/tools/handlers/notebook-management.d.ts.map +1 -1
  235. package/dist/tools/handlers/notebook-management.js +34 -80
  236. package/dist/tools/handlers/notebook-management.js.map +1 -1
  237. package/dist/tools/handlers/session-management.d.ts +8 -10
  238. package/dist/tools/handlers/session-management.d.ts.map +1 -1
  239. package/dist/tools/handlers/session-management.js +34 -63
  240. package/dist/tools/handlers/session-management.js.map +1 -1
  241. package/dist/tools/handlers/system.d.ts.map +1 -1
  242. package/dist/tools/handlers/system.js +45 -10
  243. package/dist/tools/handlers/system.js.map +1 -1
  244. package/dist/tools/handlers/types.d.ts +1 -1
  245. package/dist/tools/handlers/types.d.ts.map +1 -1
  246. package/dist/tools/handlers/webhooks.d.ts.map +1 -1
  247. package/dist/tools/handlers/webhooks.js +15 -13
  248. package/dist/tools/handlers/webhooks.js.map +1 -1
  249. package/dist/types.d.ts +7 -17
  250. package/dist/types.d.ts.map +1 -1
  251. package/dist/utils/audit-logger.d.ts +19 -1
  252. package/dist/utils/audit-logger.d.ts.map +1 -1
  253. package/dist/utils/audit-logger.js +198 -30
  254. package/dist/utils/audit-logger.js.map +1 -1
  255. package/dist/utils/cleanup-manager.d.ts.map +1 -1
  256. package/dist/utils/cleanup-manager.js +6 -3
  257. package/dist/utils/cleanup-manager.js.map +1 -1
  258. package/dist/utils/crypto.d.ts +4 -1
  259. package/dist/utils/crypto.d.ts.map +1 -1
  260. package/dist/utils/crypto.js +32 -21
  261. package/dist/utils/crypto.js.map +1 -1
  262. package/dist/utils/file-lock.d.ts.map +1 -1
  263. package/dist/utils/file-lock.js +87 -16
  264. package/dist/utils/file-lock.js.map +1 -1
  265. package/dist/utils/file-permissions.d.ts +2 -0
  266. package/dist/utils/file-permissions.d.ts.map +1 -1
  267. package/dist/utils/file-permissions.js +2 -1
  268. package/dist/utils/file-permissions.js.map +1 -1
  269. package/dist/utils/logger.d.ts +4 -0
  270. package/dist/utils/logger.d.ts.map +1 -1
  271. package/dist/utils/logger.js +16 -0
  272. package/dist/utils/logger.js.map +1 -1
  273. package/dist/utils/page-utils.d.ts +13 -0
  274. package/dist/utils/page-utils.d.ts.map +1 -1
  275. package/dist/utils/page-utils.js +61 -39
  276. package/dist/utils/page-utils.js.map +1 -1
  277. package/dist/utils/response-validator.d.ts.map +1 -1
  278. package/dist/utils/response-validator.js +27 -22
  279. package/dist/utils/response-validator.js.map +1 -1
  280. package/dist/utils/secrets-scanner.d.ts +11 -0
  281. package/dist/utils/secrets-scanner.d.ts.map +1 -1
  282. package/dist/utils/secrets-scanner.js +65 -17
  283. package/dist/utils/secrets-scanner.js.map +1 -1
  284. package/dist/utils/secure-memory.d.ts +9 -31
  285. package/dist/utils/secure-memory.d.ts.map +1 -1
  286. package/dist/utils/secure-memory.js +17 -102
  287. package/dist/utils/secure-memory.js.map +1 -1
  288. package/dist/utils/security.d.ts +4 -3
  289. package/dist/utils/security.d.ts.map +1 -1
  290. package/dist/utils/security.js +43 -13
  291. package/dist/utils/security.js.map +1 -1
  292. package/dist/utils/stealth-utils.d.ts.map +1 -1
  293. package/dist/utils/stealth-utils.js +4 -4
  294. package/dist/utils/stealth-utils.js.map +1 -1
  295. package/dist/webhooks/types.d.ts +4 -0
  296. package/dist/webhooks/types.d.ts.map +1 -1
  297. package/dist/webhooks/webhook-dispatcher.d.ts +80 -12
  298. package/dist/webhooks/webhook-dispatcher.d.ts.map +1 -1
  299. package/dist/webhooks/webhook-dispatcher.js +497 -74
  300. package/dist/webhooks/webhook-dispatcher.js.map +1 -1
  301. package/docs/archive/ISSUES-legacy-2026-04-24.md +644 -0
  302. package/docs/dependency-risk.md +25 -0
  303. package/docs/testing-runbook.md +166 -0
  304. package/docs/usage-guide.md +2 -1
  305. package/package.json +34 -16
@@ -3,85 +3,114 @@
3
3
  */
4
4
  import { log } from "../../utils/logger.js";
5
5
  import { audit } from "../../utils/audit-logger.js";
6
- /**
7
- * Handle setup_auth tool
8
- *
9
- * Opens a browser window for manual login with live progress updates.
10
- * The operation waits synchronously for login completion (up to 10 minutes).
11
- */
12
- export async function handleSetupAuth(ctx, args, sendProgress) {
6
+ import { getErrorAuditArgs, getSanitizedErrorMessage, } from "./error-utils.js";
7
+ const AUTH_MODES = {
8
+ setup_auth: {
9
+ toolName: "setup_auth",
10
+ totalSteps: 10,
11
+ initialProgress: "Initializing authentication setup...",
12
+ preparingProgress: "Preparing authentication browser...",
13
+ successProgress: "Authentication saved successfully!",
14
+ failureMessage: "Authentication failed or was cancelled",
15
+ headlessError: "setup_auth requires show_browser:true. Calling it without a visible browser wipes your saved credentials then fails to restore them. Run the auth-now.mjs script instead, or pass show_browser:true.",
16
+ successMessage: "Successfully authenticated and saved browser state",
17
+ clearExisting: false,
18
+ },
19
+ re_auth: {
20
+ toolName: "re_auth",
21
+ totalSteps: 12,
22
+ initialProgress: "Preparing re-authentication...",
23
+ preparingProgress: "Starting fresh authentication...",
24
+ successProgress: "Re-authentication complete!",
25
+ failureMessage: "Re-authentication failed or was cancelled",
26
+ headlessError: "re_auth requires show_browser:true. Google login is interactive and cannot complete in headless mode. Calling re_auth headlessly wipes your saved credentials then fails to restore them, destroying auth for all concurrent sessions. Pass show_browser:true.",
27
+ successMessage: "Successfully re-authenticated with new account. All previous sessions have been closed.",
28
+ clearExisting: true,
29
+ },
30
+ };
31
+ async function authenticate(ctx, args, mode, sendProgress) {
32
+ const config = AUTH_MODES[mode];
13
33
  const { show_browser } = args;
14
- // CRITICAL: Send immediate progress to reset timeout from the very start
15
- await sendProgress?.("Initializing authentication setup...", 0, 10);
16
- log.info(`🔧 [TOOL] setup_auth called`);
34
+ await sendProgress?.(config.initialProgress, 0, config.totalSteps);
35
+ log.info(`🔧 [TOOL] ${config.toolName} called`);
17
36
  if (show_browser !== undefined) {
18
37
  log.info(` Show browser: ${show_browser}`);
19
38
  }
20
- // Guard: setup_auth ALWAYS clears all saved credentials before re-logging in.
21
- // Calling it headlessly will wipe auth and then fail to restore it, leaving
22
- // all sessions permanently unauthenticated. Require show_browser:true.
39
+ // Google login is interactive. Refuse headless operation before clearing
40
+ // any credentials, otherwise a failed headless login would break all sessions.
23
41
  if (!show_browser) {
24
- log.error("❌ setup_auth requires show_browser:true — cannot login interactively in headless mode");
42
+ log.error(`❌ ${config.toolName} requires show_browser:true — cannot login interactively in headless mode`);
25
43
  return {
26
44
  success: false,
27
- authenticated: false,
28
- error: "setup_auth requires show_browser:true. " +
29
- "Calling it without a visible browser wipes your saved credentials then fails to restore them. " +
30
- "Run the auth-now.mjs script instead, or pass show_browser:true.",
45
+ data: mode === "setup_auth"
46
+ ? { status: "error", message: "setup_auth requires show_browser:true", authenticated: false }
47
+ : null,
48
+ error: config.headlessError,
31
49
  };
32
50
  }
33
51
  const startTime = Date.now();
34
52
  try {
35
- // Progress: Starting
36
- await sendProgress?.("Preparing authentication browser...", 1, 10);
37
- log.info(` 🌐 Opening browser for interactive login...`);
38
- // Progress: Opening browser
39
- await sendProgress?.("Opening browser window...", 2, 10);
40
- // Perform setup with progress updates; pass show_browser so the caller
41
- // can force a visible browser even when HEADLESS=true is set in env
53
+ if (config.clearExisting) {
54
+ await sendProgress?.("Closing all active sessions...", 1, config.totalSteps);
55
+ log.info(" 🛑 Closing all sessions...");
56
+ await ctx.sessionManager.closeAllSessions();
57
+ log.success(" All sessions closed");
58
+ await sendProgress?.("Clearing authentication data...", 2, config.totalSteps);
59
+ log.info(" 🗑️ Clearing all auth data...");
60
+ await ctx.authManager.clearAllAuthData();
61
+ log.success(" ✅ Auth data cleared");
62
+ }
63
+ await sendProgress?.(config.preparingProgress, config.clearExisting ? 3 : 1, config.totalSteps);
64
+ log.info(" 🌐 Opening browser for interactive login...");
65
+ await sendProgress?.("Opening browser window...", config.clearExisting ? 4 : 2, config.totalSteps);
42
66
  const success = await ctx.authManager.performSetup(sendProgress, show_browser);
43
67
  const durationSeconds = (Date.now() - startTime) / 1000;
44
68
  if (success) {
45
- // Progress: Complete
46
- await sendProgress?.("Authentication saved successfully!", 10, 10);
47
- log.success(`✅ [TOOL] setup_auth completed (${durationSeconds.toFixed(1)}s)`);
48
- // Audit: successful authentication
49
- await audit.auth("setup_auth", true, { duration_seconds: durationSeconds });
50
- await audit.tool("setup_auth", {}, true, Date.now() - startTime);
69
+ await sendProgress?.(config.successProgress, config.totalSteps, config.totalSteps);
70
+ log.success(`✅ [TOOL] ${config.toolName} completed (${durationSeconds.toFixed(1)}s)`);
71
+ await audit.auth(config.toolName, true, { duration_seconds: durationSeconds });
72
+ await audit.tool(config.toolName, {}, true, Date.now() - startTime);
51
73
  return {
52
74
  success: true,
53
75
  data: {
54
76
  status: "authenticated",
55
- message: "Successfully authenticated and saved browser state",
77
+ message: config.successMessage,
56
78
  authenticated: true,
57
79
  duration_seconds: durationSeconds,
58
80
  },
59
81
  };
60
82
  }
61
- else {
62
- log.error(`❌ [TOOL] setup_auth failed (${durationSeconds.toFixed(1)}s)`);
63
- // Audit: failed authentication
64
- await audit.auth("setup_auth", false, { reason: "cancelled_or_failed" });
65
- await audit.tool("setup_auth", {}, false, Date.now() - startTime, "Authentication failed or was cancelled");
66
- return {
67
- success: false,
68
- error: "Authentication failed or was cancelled",
69
- };
70
- }
83
+ log.error(`❌ [TOOL] ${config.toolName} failed (${durationSeconds.toFixed(1)}s)`);
84
+ await audit.auth(config.toolName, false, { reason: "cancelled_or_failed" });
85
+ await audit.tool(config.toolName, getErrorAuditArgs(config.toolName, config.failureMessage), false, Date.now() - startTime, config.failureMessage);
86
+ return {
87
+ success: false,
88
+ data: null,
89
+ error: config.failureMessage,
90
+ };
71
91
  }
72
92
  catch (error) {
73
- const errorMessage = error instanceof Error ? error.message : String(error);
93
+ const errorMessage = getSanitizedErrorMessage(error);
74
94
  const durationSeconds = (Date.now() - startTime) / 1000;
75
- log.error(`❌ [TOOL] setup_auth failed: ${errorMessage} (${durationSeconds.toFixed(1)}s)`);
76
- // Audit: auth error
77
- await audit.auth("setup_auth", false, { error: errorMessage });
78
- await audit.tool("setup_auth", {}, false, Date.now() - startTime, errorMessage);
95
+ log.error(`❌ [TOOL] ${config.toolName} failed: ${errorMessage} (${durationSeconds.toFixed(1)}s)`);
96
+ await audit.auth(config.toolName, false, { error: errorMessage });
97
+ await audit.tool(config.toolName, getErrorAuditArgs(config.toolName, errorMessage), false, Date.now() - startTime, errorMessage);
79
98
  return {
80
99
  success: false,
100
+ data: null,
81
101
  error: errorMessage,
82
102
  };
83
103
  }
84
104
  }
105
+ /**
106
+ * Handle setup_auth tool
107
+ *
108
+ * Opens a browser window for manual login with live progress updates.
109
+ * The operation waits synchronously for login completion (up to 10 minutes).
110
+ */
111
+ export async function handleSetupAuth(ctx, args, sendProgress) {
112
+ return authenticate(ctx, args, "setup_auth", sendProgress);
113
+ }
85
114
  /**
86
115
  * Handle re_auth tool
87
116
  *
@@ -93,79 +122,6 @@ export async function handleSetupAuth(ctx, args, sendProgress) {
93
122
  * Use for switching Google accounts or recovering from rate limits.
94
123
  */
95
124
  export async function handleReAuth(ctx, args, sendProgress) {
96
- const { show_browser } = args;
97
- await sendProgress?.("Preparing re-authentication...", 0, 12);
98
- log.info(`🔧 [TOOL] re_auth called`);
99
- if (show_browser !== undefined) {
100
- log.info(` Show browser: ${show_browser}`);
101
- }
102
- // Guard: re_auth requires a visible browser — Google login is interactive.
103
- // Calling without show_browser:true would wipe saved credentials then fail,
104
- // leaving all sessions permanently unauthenticated.
105
- if (!show_browser) {
106
- log.error("❌ re_auth requires show_browser:true — cannot login interactively in headless mode");
107
- return {
108
- success: false,
109
- error: "re_auth requires show_browser:true. Google login is interactive and cannot complete " +
110
- "in headless mode. Calling re_auth headlessly wipes your saved credentials then fails to " +
111
- "restore them, destroying auth for all concurrent sessions. Pass show_browser:true.",
112
- };
113
- }
114
- const startTime = Date.now();
115
- try {
116
- // 1. Close all active sessions
117
- await sendProgress?.("Closing all active sessions...", 1, 12);
118
- log.info(" 🛑 Closing all sessions...");
119
- await ctx.sessionManager.closeAllSessions();
120
- log.success(" ✅ All sessions closed");
121
- // 2. Clear all auth data
122
- await sendProgress?.("Clearing authentication data...", 2, 12);
123
- log.info(" 🗑️ Clearing all auth data...");
124
- await ctx.authManager.clearAllAuthData();
125
- log.success(" ✅ Auth data cleared");
126
- // 3. Perform fresh setup
127
- await sendProgress?.("Starting fresh authentication...", 3, 12);
128
- log.info(" 🌐 Starting fresh authentication setup...");
129
- const success = await ctx.authManager.performSetup(sendProgress);
130
- const durationSeconds = (Date.now() - startTime) / 1000;
131
- if (success) {
132
- await sendProgress?.("Re-authentication complete!", 12, 12);
133
- log.success(`✅ [TOOL] re_auth completed (${durationSeconds.toFixed(1)}s)`);
134
- // Audit: successful re-auth
135
- await audit.auth("re_auth", true, { duration_seconds: durationSeconds });
136
- await audit.tool("re_auth", {}, true, Date.now() - startTime);
137
- return {
138
- success: true,
139
- data: {
140
- status: "authenticated",
141
- message: "Successfully re-authenticated with new account. All previous sessions have been closed.",
142
- authenticated: true,
143
- duration_seconds: durationSeconds,
144
- },
145
- };
146
- }
147
- else {
148
- log.error(`❌ [TOOL] re_auth failed (${durationSeconds.toFixed(1)}s)`);
149
- // Audit: failed re-auth
150
- await audit.auth("re_auth", false, { reason: "cancelled_or_failed" });
151
- await audit.tool("re_auth", {}, false, Date.now() - startTime, "Re-authentication failed or was cancelled");
152
- return {
153
- success: false,
154
- error: "Re-authentication failed or was cancelled",
155
- };
156
- }
157
- }
158
- catch (error) {
159
- const errorMessage = error instanceof Error ? error.message : String(error);
160
- const durationSeconds = (Date.now() - startTime) / 1000;
161
- log.error(`❌ [TOOL] re_auth failed: ${errorMessage} (${durationSeconds.toFixed(1)}s)`);
162
- // Audit: re-auth error
163
- await audit.auth("re_auth", false, { error: errorMessage });
164
- await audit.tool("re_auth", {}, false, Date.now() - startTime, errorMessage);
165
- return {
166
- success: false,
167
- error: errorMessage,
168
- };
169
- }
125
+ return authenticate(ctx, args, "re_auth", sendProgress);
170
126
  }
171
127
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/tools/handlers/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/tools/handlers/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared error helpers for tool handlers.
3
+ */
4
+ import type { HandlerContext } from "./types.js";
5
+ /**
6
+ * Resolve a notebook URL from either an explicit URL, a notebook ID, or the
7
+ * currently active notebook. Throws if no notebook can be identified.
8
+ */
9
+ export declare function resolveNotebookUrl(ctx: HandlerContext, args: {
10
+ notebook_id?: string;
11
+ notebook_url?: string;
12
+ }): string;
13
+ export declare function sanitizeErrorMessage(errorMsg: string): string;
14
+ export declare function getSanitizedErrorMessage(error: unknown): string;
15
+ export declare function getErrorAuditArgs(tool: string, error: unknown): Record<string, string>;
16
+ //# sourceMappingURL=error-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-utils.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/error-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,MAAM,CAiBR;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKtF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Shared error helpers for tool handlers.
3
+ */
4
+ import { log } from "../../utils/logger.js";
5
+ const ABSOLUTE_PATH_PATTERN = /\/[^\s:,'"]+/g;
6
+ /**
7
+ * Resolve a notebook URL from either an explicit URL, a notebook ID, or the
8
+ * currently active notebook. Throws if no notebook can be identified.
9
+ */
10
+ export function resolveNotebookUrl(ctx, args) {
11
+ if (args.notebook_url)
12
+ return args.notebook_url;
13
+ if (args.notebook_id) {
14
+ const notebook = ctx.library.getNotebook(args.notebook_id);
15
+ if (!notebook)
16
+ throw new Error(`Notebook not found in library: ${args.notebook_id}`);
17
+ log.info(` Resolved notebook: ${notebook.name}`);
18
+ return notebook.url;
19
+ }
20
+ const active = ctx.library.getActiveNotebook();
21
+ if (active) {
22
+ log.info(` Using active notebook: ${active.name}`);
23
+ return active.url;
24
+ }
25
+ throw new Error("No notebook specified. Provide notebook_id or notebook_url.");
26
+ }
27
+ export function sanitizeErrorMessage(errorMsg) {
28
+ return errorMsg.replace(ABSOLUTE_PATH_PATTERN, "[path]");
29
+ }
30
+ export function getSanitizedErrorMessage(error) {
31
+ return sanitizeErrorMessage(error instanceof Error ? error.message : String(error));
32
+ }
33
+ export function getErrorAuditArgs(tool, error) {
34
+ return {
35
+ tool,
36
+ error: getSanitizedErrorMessage(error),
37
+ };
38
+ }
39
+ //# sourceMappingURL=error-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../../src/tools/handlers/error-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAmB,EACnB,IAAqD;IAErD,IAAI,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC,YAAY,CAAC;IAEhD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,GAAG,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,oBAAoB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAc;IAC5D,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC"}
@@ -15,6 +15,7 @@ export declare function handleDeepResearch(ctx: HandlerContext, args: {
15
15
  query: string;
16
16
  wait_for_completion?: boolean;
17
17
  max_wait_seconds?: number;
18
+ thinking_level?: "minimal" | "low" | "medium" | "high";
18
19
  }, sendProgress?: ProgressCallback): Promise<ToolResult<DeepResearchResult>>;
19
20
  /**
20
21
  * Handle gemini_query tool
@@ -61,6 +62,7 @@ export declare function handleListDocuments(ctx: HandlerContext, args: {
61
62
  */
62
63
  export declare function handleDeleteDocument(ctx: HandlerContext, args: {
63
64
  file_name: string;
65
+ confirm: boolean;
64
66
  }): Promise<ToolResult<{
65
67
  deleted: boolean;
66
68
  fileName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAWnE,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAc/B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACxD,EACD,YAAY,CAAC,EAAE,gBAAgB,GAC9B,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CA6EzC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C,GACA,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAyGxC;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,cAAc,EAAE,MAAM,CAAC;CACxB,GACA,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAkCxC;AAID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAiD3C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,GACA,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAuD1C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CA4B1C;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,UAAU,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA0C7D;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,UAAU,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC,CAAC,CAgDF;AAID;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,UAAU,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7E,CAAC,CAAC;CACJ,CAAC,CAAC,CAoDF;AAID;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GACA,OAAO,CAAC,UAAU,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ,CAAC,CAAC,CA4MF"}