@pan-sec/notebooklm-mcp 2026.2.1 โ†’ 2026.2.11

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 (117) hide show
  1. package/README.md +39 -18
  2. package/dist/auth/auth-manager.d.ts +37 -2
  3. package/dist/auth/auth-manager.d.ts.map +1 -1
  4. package/dist/auth/auth-manager.js +133 -11
  5. package/dist/auth/auth-manager.js.map +1 -1
  6. package/dist/auth/mcp-auth.d.ts +25 -4
  7. package/dist/auth/mcp-auth.d.ts.map +1 -1
  8. package/dist/auth/mcp-auth.js +145 -29
  9. package/dist/auth/mcp-auth.js.map +1 -1
  10. package/dist/compliance/retention-engine.js +1 -1
  11. package/dist/compliance/retention-engine.js.map +1 -1
  12. package/dist/config.d.ts +24 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +56 -8
  15. package/dist/config.js.map +1 -1
  16. package/dist/gemini/gemini-client.d.ts.map +1 -1
  17. package/dist/gemini/gemini-client.js +58 -20
  18. package/dist/gemini/gemini-client.js.map +1 -1
  19. package/dist/index.js +87 -180
  20. package/dist/index.js.map +1 -1
  21. package/dist/notebook-creation/audio-manager.js +2 -2
  22. package/dist/notebook-creation/audio-manager.js.map +1 -1
  23. package/dist/notebook-creation/data-table-manager.d.ts +13 -3
  24. package/dist/notebook-creation/data-table-manager.d.ts.map +1 -1
  25. package/dist/notebook-creation/data-table-manager.js +70 -32
  26. package/dist/notebook-creation/data-table-manager.js.map +1 -1
  27. package/dist/notebook-creation/discover-creation-flow.js +1 -1
  28. package/dist/notebook-creation/discover-creation-flow.js.map +1 -1
  29. package/dist/notebook-creation/discover-quota.js +1 -1
  30. package/dist/notebook-creation/discover-quota.js.map +1 -1
  31. package/dist/notebook-creation/discover-sources.js +1 -1
  32. package/dist/notebook-creation/discover-sources.js.map +1 -1
  33. package/dist/notebook-creation/notebook-creator.d.ts.map +1 -1
  34. package/dist/notebook-creation/notebook-creator.js +49 -26
  35. package/dist/notebook-creation/notebook-creator.js.map +1 -1
  36. package/dist/notebook-creation/notebook-sync.js +1 -1
  37. package/dist/notebook-creation/notebook-sync.js.map +1 -1
  38. package/dist/notebook-creation/selectors.d.ts +21 -16
  39. package/dist/notebook-creation/selectors.d.ts.map +1 -1
  40. package/dist/notebook-creation/selectors.js +37 -20
  41. package/dist/notebook-creation/selectors.js.map +1 -1
  42. package/dist/notebook-creation/source-manager.d.ts.map +1 -1
  43. package/dist/notebook-creation/source-manager.js +29 -6
  44. package/dist/notebook-creation/source-manager.js.map +1 -1
  45. package/dist/notebook-creation/video-manager.d.ts +10 -1
  46. package/dist/notebook-creation/video-manager.d.ts.map +1 -1
  47. package/dist/notebook-creation/video-manager.js +103 -42
  48. package/dist/notebook-creation/video-manager.js.map +1 -1
  49. package/dist/quota/quota-manager.d.ts.map +1 -1
  50. package/dist/quota/quota-manager.js +46 -15
  51. package/dist/quota/quota-manager.js.map +1 -1
  52. package/dist/session/browser-session.d.ts.map +1 -1
  53. package/dist/session/browser-session.js +21 -14
  54. package/dist/session/browser-session.js.map +1 -1
  55. package/dist/tools/definitions/notebook-management.d.ts.map +1 -1
  56. package/dist/tools/definitions/notebook-management.js +64 -0
  57. package/dist/tools/definitions/notebook-management.js.map +1 -1
  58. package/dist/tools/handlers/ask-question.d.ts +18 -0
  59. package/dist/tools/handlers/ask-question.d.ts.map +1 -0
  60. package/dist/tools/handlers/ask-question.js +236 -0
  61. package/dist/tools/handlers/ask-question.js.map +1 -0
  62. package/dist/tools/handlers/audio-video.d.ts +42 -0
  63. package/dist/tools/handlers/audio-video.d.ts.map +1 -0
  64. package/dist/tools/handlers/audio-video.js +356 -0
  65. package/dist/tools/handlers/audio-video.js.map +1 -0
  66. package/dist/tools/handlers/auth.d.ts +41 -0
  67. package/dist/tools/handlers/auth.d.ts.map +1 -0
  68. package/dist/tools/handlers/auth.js +171 -0
  69. package/dist/tools/handlers/auth.js.map +1 -0
  70. package/dist/tools/handlers/gemini.d.ts +142 -0
  71. package/dist/tools/handlers/gemini.d.ts.map +1 -0
  72. package/dist/tools/handlers/gemini.js +626 -0
  73. package/dist/tools/handlers/gemini.js.map +1 -0
  74. package/dist/tools/handlers/index.d.ts +295 -0
  75. package/dist/tools/handlers/index.d.ts.map +1 -0
  76. package/dist/tools/handlers/index.js +197 -0
  77. package/dist/tools/handlers/index.js.map +1 -0
  78. package/dist/tools/handlers/notebook-creation.d.ts +75 -0
  79. package/dist/tools/handlers/notebook-creation.d.ts.map +1 -0
  80. package/dist/tools/handlers/notebook-creation.js +598 -0
  81. package/dist/tools/handlers/notebook-creation.js.map +1 -0
  82. package/dist/tools/handlers/notebook-management.d.ts +64 -0
  83. package/dist/tools/handlers/notebook-management.d.ts.map +1 -0
  84. package/dist/tools/handlers/notebook-management.js +214 -0
  85. package/dist/tools/handlers/notebook-management.js.map +1 -0
  86. package/dist/tools/handlers/session-management.d.ts +68 -0
  87. package/dist/tools/handlers/session-management.d.ts.map +1 -0
  88. package/dist/tools/handlers/session-management.js +238 -0
  89. package/dist/tools/handlers/session-management.js.map +1 -0
  90. package/dist/tools/handlers/system.d.ts +102 -0
  91. package/dist/tools/handlers/system.d.ts.map +1 -0
  92. package/dist/tools/handlers/system.js +275 -0
  93. package/dist/tools/handlers/system.js.map +1 -0
  94. package/dist/tools/handlers/types.d.ts +19 -0
  95. package/dist/tools/handlers/types.d.ts.map +1 -0
  96. package/dist/tools/handlers/types.js +5 -0
  97. package/dist/tools/handlers/types.js.map +1 -0
  98. package/dist/tools/handlers/webhooks.d.ts +34 -0
  99. package/dist/tools/handlers/webhooks.d.ts.map +1 -0
  100. package/dist/tools/handlers/webhooks.js +122 -0
  101. package/dist/tools/handlers/webhooks.js.map +1 -0
  102. package/dist/tools/handlers.d.ts +27 -0
  103. package/dist/tools/handlers.d.ts.map +1 -1
  104. package/dist/tools/handlers.js +226 -5
  105. package/dist/tools/handlers.js.map +1 -1
  106. package/dist/tools/index.d.ts +1 -1
  107. package/dist/tools/index.d.ts.map +1 -1
  108. package/dist/tools/index.js +1 -1
  109. package/dist/tools/index.js.map +1 -1
  110. package/dist/utils/cleanup-manager.d.ts.map +1 -1
  111. package/dist/utils/cleanup-manager.js +8 -10
  112. package/dist/utils/cleanup-manager.js.map +1 -1
  113. package/dist/utils/file-permissions.d.ts.map +1 -1
  114. package/dist/utils/file-permissions.js +41 -6
  115. package/dist/utils/file-permissions.js.map +1 -1
  116. package/docs/improvement-sprint-2026.2.10.md +210 -0
  117. package/package.json +6 -3
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Handler Facade โ€” ToolHandlers class that delegates to domain modules
3
+ *
4
+ * This file re-exports the ToolHandlers class which is the public API
5
+ * used by index.ts. Internally it delegates to domain-specific handler functions.
6
+ */
7
+ import { SessionManager } from "../../session/session-manager.js";
8
+ import { AuthManager } from "../../auth/auth-manager.js";
9
+ import { NotebookLibrary } from "../../library/notebook-library.js";
10
+ import type { ProgressCallback } from "../../types.js";
11
+ import { handleAskQuestion } from "./ask-question.js";
12
+ import { handleCloseSession, handleResetSession, handleGetHealth } from "./session-management.js";
13
+ import { handleSetupAuth, handleReAuth } from "./auth.js";
14
+ import { handleAddNotebook, handleGetNotebook, handleSelectNotebook, handleUpdateNotebook, handleRemoveNotebook, handleSearchNotebooks } from "./notebook-management.js";
15
+ import { handleCreateNotebook, handleBatchCreateNotebooks, handleSyncLibrary, handleListSources, handleAddSource, handleAddFolder, handleRemoveSource } from "./notebook-creation.js";
16
+ import { handleExportLibrary, handleGetQuota, handleSetQuotaTier, handleCleanupData } from "./system.js";
17
+ import { handleGenerateAudioOverview, handleGetAudioStatus, handleDownloadAudio, handleGenerateVideoOverview, handleGetVideoStatus, handleGenerateDataTable, handleGetDataTable } from "./audio-video.js";
18
+ import { handleConfigureWebhook, handleTestWebhook, handleRemoveWebhook } from "./webhooks.js";
19
+ import { handleDeepResearch, handleGeminiQuery, handleGetResearchStatus, handleUploadDocument, handleQueryDocument, handleListDocuments, handleDeleteDocument, handleQueryChunkedDocument, handleGetQueryHistory, handleGetNotebookChatHistory } from "./gemini.js";
20
+ export type { HandlerContext } from "./types.js";
21
+ /**
22
+ * ToolHandlers โ€” facade class that delegates to domain handler functions.
23
+ *
24
+ * Each method delegates to a standalone function in its domain module,
25
+ * passing a shared HandlerContext.
26
+ */
27
+ export declare class ToolHandlers {
28
+ private ctx;
29
+ constructor(sessionManager: SessionManager, authManager: AuthManager, library: NotebookLibrary);
30
+ handleAskQuestion(args: Parameters<typeof handleAskQuestion>[1], sendProgress?: ProgressCallback): Promise<import("../../types.js").ToolResult<import("../../types.js").AskQuestionResult>>;
31
+ handleListSessions(): Promise<import("../../types.js").ToolResult<{
32
+ active_sessions: number;
33
+ max_sessions: number;
34
+ session_timeout: number;
35
+ oldest_session_seconds: number;
36
+ total_messages: number;
37
+ sessions: Array<{
38
+ id: string;
39
+ created_at: number;
40
+ last_activity: number;
41
+ age_seconds: number;
42
+ inactive_seconds: number;
43
+ message_count: number;
44
+ notebook_url: string;
45
+ }>;
46
+ }>>;
47
+ handleCloseSession(args: Parameters<typeof handleCloseSession>[1]): Promise<import("../../types.js").ToolResult<{
48
+ status: string;
49
+ message: string;
50
+ session_id: string;
51
+ }>>;
52
+ handleResetSession(args: Parameters<typeof handleResetSession>[1]): Promise<import("../../types.js").ToolResult<{
53
+ status: string;
54
+ message: string;
55
+ session_id: string;
56
+ }>>;
57
+ handleGetHealth(args?: Parameters<typeof handleGetHealth>[1]): Promise<import("../../types.js").ToolResult<{
58
+ status: string;
59
+ authenticated: boolean;
60
+ notebook_url: string;
61
+ active_sessions: number;
62
+ max_sessions: number;
63
+ session_timeout: number;
64
+ total_messages: number;
65
+ headless: boolean;
66
+ auto_login_enabled: boolean;
67
+ stealth_enabled: boolean;
68
+ chat_ui_accessible?: boolean;
69
+ deep_check_notebook?: string;
70
+ troubleshooting_tip?: string;
71
+ }>>;
72
+ handleSetupAuth(args: Parameters<typeof handleSetupAuth>[1], sendProgress?: ProgressCallback): Promise<import("../../types.js").ToolResult<{
73
+ status: string;
74
+ message: string;
75
+ authenticated: boolean;
76
+ duration_seconds?: number;
77
+ }>>;
78
+ handleReAuth(args: Parameters<typeof handleReAuth>[1], sendProgress?: ProgressCallback): Promise<import("../../types.js").ToolResult<{
79
+ status: string;
80
+ message: string;
81
+ authenticated: boolean;
82
+ duration_seconds?: number;
83
+ }>>;
84
+ handleAddNotebook(args: Parameters<typeof handleAddNotebook>[1]): Promise<import("../../types.js").ToolResult<{
85
+ notebook: any;
86
+ }>>;
87
+ handleListNotebooks(): Promise<import("../../types.js").ToolResult<{
88
+ notebooks: any[];
89
+ }>>;
90
+ handleGetNotebook(args: Parameters<typeof handleGetNotebook>[1]): Promise<import("../../types.js").ToolResult<{
91
+ notebook: any;
92
+ }>>;
93
+ handleSelectNotebook(args: Parameters<typeof handleSelectNotebook>[1]): Promise<import("../../types.js").ToolResult<{
94
+ notebook: any;
95
+ }>>;
96
+ handleUpdateNotebook(args: Parameters<typeof handleUpdateNotebook>[1]): Promise<import("../../types.js").ToolResult<{
97
+ notebook: any;
98
+ }>>;
99
+ handleRemoveNotebook(args: Parameters<typeof handleRemoveNotebook>[1]): Promise<import("../../types.js").ToolResult<{
100
+ removed: boolean;
101
+ closed_sessions: number;
102
+ }>>;
103
+ handleSearchNotebooks(args: Parameters<typeof handleSearchNotebooks>[1]): Promise<import("../../types.js").ToolResult<{
104
+ notebooks: any[];
105
+ }>>;
106
+ handleGetLibraryStats(): Promise<import("../../types.js").ToolResult<any>>;
107
+ handleCreateNotebook(args: Parameters<typeof handleCreateNotebook>[1], sendProgress?: ProgressCallback): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/types.js").CreatedNotebook>>;
108
+ handleBatchCreateNotebooks(args: Parameters<typeof handleBatchCreateNotebooks>[1], sendProgress?: ProgressCallback): Promise<import("../../types.js").ToolResult<{
109
+ total: number;
110
+ succeeded: number;
111
+ failed: number;
112
+ results: Array<{
113
+ name: string;
114
+ success: boolean;
115
+ url?: string;
116
+ error?: string;
117
+ }>;
118
+ }>>;
119
+ handleSyncLibrary(args: Parameters<typeof handleSyncLibrary>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/notebook-sync.js").SyncResult>>;
120
+ handleListSources(args: Parameters<typeof handleListSources>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/source-manager.js").ListSourcesResult>>;
121
+ handleAddSource(args: Parameters<typeof handleAddSource>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/source-manager.js").AddSourceResult>>;
122
+ handleAddFolder(args: Parameters<typeof handleAddFolder>[1], sendProgress?: ProgressCallback): Promise<import("../../types.js").ToolResult<{
123
+ files_found: number;
124
+ files_added: number;
125
+ files_failed: number;
126
+ files_skipped: number;
127
+ notebooks_used: string[];
128
+ failed_files: Array<{
129
+ file: string;
130
+ error: string;
131
+ }>;
132
+ dry_run: boolean;
133
+ }>>;
134
+ handleRemoveSource(args: Parameters<typeof handleRemoveSource>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/source-manager.js").RemoveSourceResult>>;
135
+ handleExportLibrary(args: Parameters<typeof handleExportLibrary>[1]): Promise<import("../../types.js").ToolResult<{
136
+ file_path: string;
137
+ format: string;
138
+ notebook_count: number;
139
+ size_bytes: number;
140
+ }>>;
141
+ handleGetProjectInfo(): Promise<import("../../types.js").ToolResult<{
142
+ project: {
143
+ id: string;
144
+ name: string;
145
+ path: string;
146
+ type: string;
147
+ } | null;
148
+ library_path: string;
149
+ is_project_library: boolean;
150
+ detected_project: {
151
+ id: string;
152
+ name: string;
153
+ path: string;
154
+ type: string;
155
+ } | null;
156
+ }>>;
157
+ handleGetQuota(args?: Parameters<typeof handleGetQuota>[1]): Promise<import("../../types.js").ToolResult<{
158
+ tier: string;
159
+ notebooks: {
160
+ used: number;
161
+ limit: number;
162
+ remaining: number;
163
+ percent: number;
164
+ };
165
+ sources: {
166
+ limit: number;
167
+ };
168
+ queries: {
169
+ used: number;
170
+ limit: number;
171
+ remaining: number;
172
+ percent: number;
173
+ should_stop: boolean;
174
+ reset_time: string;
175
+ };
176
+ warnings: string[];
177
+ auto_detected: boolean;
178
+ last_updated: string;
179
+ synced_from_google: boolean;
180
+ google_quota?: {
181
+ used: number;
182
+ limit: number;
183
+ } | null;
184
+ rate_limit_detected?: boolean;
185
+ }>>;
186
+ handleSetQuotaTier(args: Parameters<typeof handleSetQuotaTier>[1]): Promise<import("../../types.js").ToolResult<{
187
+ tier: string;
188
+ limits: {
189
+ notebooks: number;
190
+ sourcesPerNotebook: number;
191
+ queriesPerDay: number;
192
+ };
193
+ message: string;
194
+ }>>;
195
+ handleCleanupData(args: Parameters<typeof handleCleanupData>[1]): Promise<import("../../types.js").ToolResult<{
196
+ status: string;
197
+ mode: string;
198
+ preview?: {
199
+ categories: Array<{
200
+ name: string;
201
+ description: string;
202
+ paths: string[];
203
+ totalBytes: number;
204
+ optional: boolean;
205
+ }>;
206
+ totalPaths: number;
207
+ totalSizeBytes: number;
208
+ };
209
+ result?: {
210
+ deletedPaths: string[];
211
+ failedPaths: string[];
212
+ totalSizeBytes: number;
213
+ categorySummary: Record<string, {
214
+ count: number;
215
+ bytes: number;
216
+ }>;
217
+ };
218
+ }>>;
219
+ handleGenerateAudioOverview(args: Parameters<typeof handleGenerateAudioOverview>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/audio-manager.js").GenerateAudioResult>>;
220
+ handleGetAudioStatus(args: Parameters<typeof handleGetAudioStatus>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/audio-manager.js").AudioStatus>>;
221
+ handleDownloadAudio(args: Parameters<typeof handleDownloadAudio>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/audio-manager.js").DownloadAudioResult>>;
222
+ handleGenerateVideoOverview(args: Parameters<typeof handleGenerateVideoOverview>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/video-manager.js").GenerateVideoResult>>;
223
+ handleGetVideoStatus(args: Parameters<typeof handleGetVideoStatus>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/video-manager.js").VideoStatus>>;
224
+ handleGenerateDataTable(args: Parameters<typeof handleGenerateDataTable>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/data-table-manager.js").GenerateDataTableResult>>;
225
+ handleGetDataTable(args: Parameters<typeof handleGetDataTable>[1]): Promise<import("../../types.js").ToolResult<import("../../notebook-creation/data-table-manager.js").GetDataTableResult>>;
226
+ handleConfigureWebhook(args: Parameters<typeof handleConfigureWebhook>[1]): Promise<import("../../types.js").ToolResult<import("../../webhooks/types.js").WebhookConfig>>;
227
+ handleListWebhooks(): Promise<import("../../types.js").ToolResult<{
228
+ webhooks: import("../../webhooks/types.js").WebhookConfig[];
229
+ stats: import("../../webhooks/types.js").WebhookStats;
230
+ }>>;
231
+ handleTestWebhook(args: Parameters<typeof handleTestWebhook>[1]): Promise<import("../../types.js").ToolResult<{
232
+ success: boolean;
233
+ message: string;
234
+ }>>;
235
+ handleRemoveWebhook(args: Parameters<typeof handleRemoveWebhook>[1]): Promise<import("../../types.js").ToolResult<{
236
+ removed: boolean;
237
+ id: string;
238
+ }>>;
239
+ handleDeepResearch(args: Parameters<typeof handleDeepResearch>[1], sendProgress?: ProgressCallback): Promise<import("../../types.js").ToolResult<import("../../gemini/types.js").DeepResearchResult>>;
240
+ handleGeminiQuery(args: Parameters<typeof handleGeminiQuery>[1]): Promise<import("../../types.js").ToolResult<import("../../gemini/types.js").GeminiQueryResult>>;
241
+ handleGetResearchStatus(args: Parameters<typeof handleGetResearchStatus>[1]): Promise<import("../../types.js").ToolResult<import("../../gemini/types.js").GeminiInteraction>>;
242
+ handleUploadDocument(args: Parameters<typeof handleUploadDocument>[1]): Promise<import("../../types.js").ToolResult<import("../../gemini/types.js").UploadDocumentResult>>;
243
+ handleQueryDocument(args: Parameters<typeof handleQueryDocument>[1]): Promise<import("../../types.js").ToolResult<import("../../gemini/types.js").QueryDocumentResult>>;
244
+ handleListDocuments(args: Parameters<typeof handleListDocuments>[1]): Promise<import("../../types.js").ToolResult<import("../../gemini/types.js").ListDocumentsResult>>;
245
+ handleDeleteDocument(args: Parameters<typeof handleDeleteDocument>[1]): Promise<import("../../types.js").ToolResult<{
246
+ deleted: boolean;
247
+ fileName: string;
248
+ }>>;
249
+ handleQueryChunkedDocument(args: Parameters<typeof handleQueryChunkedDocument>[1]): Promise<import("../../types.js").ToolResult<{
250
+ answer: string;
251
+ model: string;
252
+ tokensUsed?: number;
253
+ chunksQueried: number;
254
+ filesUsed: string[];
255
+ }>>;
256
+ handleGetQueryHistory(args: Parameters<typeof handleGetQueryHistory>[1]): Promise<import("../../types.js").ToolResult<{
257
+ count: number;
258
+ queries: Array<{
259
+ timestamp: string;
260
+ queryId: string;
261
+ sessionId: string;
262
+ notebookId?: string;
263
+ notebookUrl: string;
264
+ notebookName?: string;
265
+ question: string;
266
+ answer: string;
267
+ answerLength: number;
268
+ durationMs: number;
269
+ quotaInfo: {
270
+ used: number;
271
+ limit: number;
272
+ remaining: number;
273
+ tier: string;
274
+ };
275
+ }>;
276
+ }>>;
277
+ handleGetNotebookChatHistory(args: Parameters<typeof handleGetNotebookChatHistory>[1]): Promise<import("../../types.js").ToolResult<{
278
+ notebook_url: string;
279
+ notebook_name?: string;
280
+ total_messages: number;
281
+ returned_messages: number;
282
+ user_messages: number;
283
+ assistant_messages: number;
284
+ offset?: number;
285
+ has_more?: boolean;
286
+ output_file?: string;
287
+ messages?: Array<{
288
+ role: "user" | "assistant";
289
+ content: string;
290
+ index: number;
291
+ }>;
292
+ }>>;
293
+ cleanup(): Promise<void>;
294
+ }
295
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * Handler Facade โ€” ToolHandlers class that delegates to domain modules
3
+ *
4
+ * This file re-exports the ToolHandlers class which is the public API
5
+ * used by index.ts. Internally it delegates to domain-specific handler functions.
6
+ */
7
+ import { RateLimiter } from "../../utils/security.js";
8
+ import { GeminiClient } from "../../gemini/index.js";
9
+ // Import domain handlers
10
+ import { handleAskQuestion } from "./ask-question.js";
11
+ import { handleListSessions, handleCloseSession, handleResetSession, handleGetHealth, } from "./session-management.js";
12
+ import { handleSetupAuth, handleReAuth } from "./auth.js";
13
+ import { handleAddNotebook, handleListNotebooks, handleGetNotebook, handleSelectNotebook, handleUpdateNotebook, handleRemoveNotebook, handleSearchNotebooks, handleGetLibraryStats, } from "./notebook-management.js";
14
+ import { handleCreateNotebook, handleBatchCreateNotebooks, handleSyncLibrary, handleListSources, handleAddSource, handleAddFolder, handleRemoveSource, } from "./notebook-creation.js";
15
+ import { handleExportLibrary, handleGetProjectInfo, handleGetQuota, handleSetQuotaTier, handleCleanupData, } from "./system.js";
16
+ import { handleGenerateAudioOverview, handleGetAudioStatus, handleDownloadAudio, handleGenerateVideoOverview, handleGetVideoStatus, handleGenerateDataTable, handleGetDataTable, } from "./audio-video.js";
17
+ import { handleConfigureWebhook, handleListWebhooks, handleTestWebhook, handleRemoveWebhook, } from "./webhooks.js";
18
+ import { handleDeepResearch, handleGeminiQuery, handleGetResearchStatus, handleUploadDocument, handleQueryDocument, handleListDocuments, handleDeleteDocument, handleQueryChunkedDocument, handleGetQueryHistory, handleGetNotebookChatHistory, } from "./gemini.js";
19
+ /**
20
+ * ToolHandlers โ€” facade class that delegates to domain handler functions.
21
+ *
22
+ * Each method delegates to a standalone function in its domain module,
23
+ * passing a shared HandlerContext.
24
+ */
25
+ export class ToolHandlers {
26
+ ctx;
27
+ constructor(sessionManager, authManager, library) {
28
+ this.ctx = {
29
+ sessionManager,
30
+ authManager,
31
+ library,
32
+ rateLimiter: new RateLimiter(100, 60000),
33
+ geminiClient: new GeminiClient(),
34
+ };
35
+ }
36
+ // === Ask Question ===
37
+ handleAskQuestion(args, sendProgress) {
38
+ return handleAskQuestion(this.ctx, args, sendProgress);
39
+ }
40
+ // === Session Management ===
41
+ handleListSessions() {
42
+ return handleListSessions(this.ctx);
43
+ }
44
+ handleCloseSession(args) {
45
+ return handleCloseSession(this.ctx, args);
46
+ }
47
+ handleResetSession(args) {
48
+ return handleResetSession(this.ctx, args);
49
+ }
50
+ handleGetHealth(args) {
51
+ return handleGetHealth(this.ctx, args);
52
+ }
53
+ // === Auth ===
54
+ handleSetupAuth(args, sendProgress) {
55
+ return handleSetupAuth(this.ctx, args, sendProgress);
56
+ }
57
+ handleReAuth(args, sendProgress) {
58
+ return handleReAuth(this.ctx, args, sendProgress);
59
+ }
60
+ // === Notebook Management ===
61
+ handleAddNotebook(args) {
62
+ return handleAddNotebook(this.ctx, args);
63
+ }
64
+ handleListNotebooks() {
65
+ return handleListNotebooks(this.ctx);
66
+ }
67
+ handleGetNotebook(args) {
68
+ return handleGetNotebook(this.ctx, args);
69
+ }
70
+ handleSelectNotebook(args) {
71
+ return handleSelectNotebook(this.ctx, args);
72
+ }
73
+ handleUpdateNotebook(args) {
74
+ return handleUpdateNotebook(this.ctx, args);
75
+ }
76
+ handleRemoveNotebook(args) {
77
+ return handleRemoveNotebook(this.ctx, args);
78
+ }
79
+ handleSearchNotebooks(args) {
80
+ return handleSearchNotebooks(this.ctx, args);
81
+ }
82
+ handleGetLibraryStats() {
83
+ return handleGetLibraryStats(this.ctx);
84
+ }
85
+ // === Notebook Creation ===
86
+ handleCreateNotebook(args, sendProgress) {
87
+ return handleCreateNotebook(this.ctx, args, sendProgress);
88
+ }
89
+ handleBatchCreateNotebooks(args, sendProgress) {
90
+ return handleBatchCreateNotebooks(this.ctx, args, sendProgress);
91
+ }
92
+ handleSyncLibrary(args) {
93
+ return handleSyncLibrary(this.ctx, args);
94
+ }
95
+ handleListSources(args) {
96
+ return handleListSources(this.ctx, args);
97
+ }
98
+ handleAddSource(args) {
99
+ return handleAddSource(this.ctx, args);
100
+ }
101
+ handleAddFolder(args, sendProgress) {
102
+ return handleAddFolder(this.ctx, args, sendProgress);
103
+ }
104
+ handleRemoveSource(args) {
105
+ return handleRemoveSource(this.ctx, args);
106
+ }
107
+ // === System ===
108
+ handleExportLibrary(args) {
109
+ return handleExportLibrary(this.ctx, args);
110
+ }
111
+ handleGetProjectInfo() {
112
+ return handleGetProjectInfo(this.ctx);
113
+ }
114
+ handleGetQuota(args) {
115
+ return handleGetQuota(this.ctx, args);
116
+ }
117
+ handleSetQuotaTier(args) {
118
+ return handleSetQuotaTier(this.ctx, args);
119
+ }
120
+ handleCleanupData(args) {
121
+ return handleCleanupData(this.ctx, args);
122
+ }
123
+ // === Audio / Video / Data Table ===
124
+ handleGenerateAudioOverview(args) {
125
+ return handleGenerateAudioOverview(this.ctx, args);
126
+ }
127
+ handleGetAudioStatus(args) {
128
+ return handleGetAudioStatus(this.ctx, args);
129
+ }
130
+ handleDownloadAudio(args) {
131
+ return handleDownloadAudio(this.ctx, args);
132
+ }
133
+ handleGenerateVideoOverview(args) {
134
+ return handleGenerateVideoOverview(this.ctx, args);
135
+ }
136
+ handleGetVideoStatus(args) {
137
+ return handleGetVideoStatus(this.ctx, args);
138
+ }
139
+ handleGenerateDataTable(args) {
140
+ return handleGenerateDataTable(this.ctx, args);
141
+ }
142
+ handleGetDataTable(args) {
143
+ return handleGetDataTable(this.ctx, args);
144
+ }
145
+ // === Webhooks ===
146
+ handleConfigureWebhook(args) {
147
+ return handleConfigureWebhook(this.ctx, args);
148
+ }
149
+ handleListWebhooks() {
150
+ return handleListWebhooks(this.ctx);
151
+ }
152
+ handleTestWebhook(args) {
153
+ return handleTestWebhook(this.ctx, args);
154
+ }
155
+ handleRemoveWebhook(args) {
156
+ return handleRemoveWebhook(this.ctx, args);
157
+ }
158
+ // === Gemini ===
159
+ handleDeepResearch(args, sendProgress) {
160
+ return handleDeepResearch(this.ctx, args, sendProgress);
161
+ }
162
+ handleGeminiQuery(args) {
163
+ return handleGeminiQuery(this.ctx, args);
164
+ }
165
+ handleGetResearchStatus(args) {
166
+ return handleGetResearchStatus(this.ctx, args);
167
+ }
168
+ handleUploadDocument(args) {
169
+ return handleUploadDocument(this.ctx, args);
170
+ }
171
+ handleQueryDocument(args) {
172
+ return handleQueryDocument(this.ctx, args);
173
+ }
174
+ handleListDocuments(args) {
175
+ return handleListDocuments(this.ctx, args);
176
+ }
177
+ handleDeleteDocument(args) {
178
+ return handleDeleteDocument(this.ctx, args);
179
+ }
180
+ handleQueryChunkedDocument(args) {
181
+ return handleQueryChunkedDocument(this.ctx, args);
182
+ }
183
+ handleGetQueryHistory(args) {
184
+ return handleGetQueryHistory(this.ctx, args);
185
+ }
186
+ handleGetNotebookChatHistory(args) {
187
+ return handleGetNotebookChatHistory(this.ctx, args);
188
+ }
189
+ // === Cleanup ===
190
+ async cleanup() {
191
+ const { log } = await import("../../utils/logger.js");
192
+ log.info(`๐Ÿงน Cleaning up tool handlers...`);
193
+ await this.ctx.sessionManager.closeAllSessions();
194
+ log.success(`โœ… Tool handlers cleanup complete`);
195
+ }
196
+ }
197
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/handlers/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Notebook creation and source management handlers
3
+ *
4
+ * Extracted from handlers.ts โ€” handles create_notebook, batch_create_notebooks,
5
+ * sync_library, list_sources, add_source, add_folder, and remove_source.
6
+ */
7
+ import type { HandlerContext } from "./types.js";
8
+ import type { ToolResult, ProgressCallback } from "../../types.js";
9
+ import type { CreateNotebookInput, CreatedNotebook, NotebookSource } from "../../notebook-creation/types.js";
10
+ import type { SyncResult } from "../../notebook-creation/notebook-sync.js";
11
+ import type { ListSourcesResult, AddSourceResult, RemoveSourceResult } from "../../notebook-creation/source-manager.js";
12
+ export declare function handleCreateNotebook(ctx: HandlerContext, args: CreateNotebookInput, sendProgress?: ProgressCallback): Promise<ToolResult<CreatedNotebook>>;
13
+ export declare function handleBatchCreateNotebooks(ctx: HandlerContext, args: {
14
+ notebooks: Array<{
15
+ name: string;
16
+ sources: Array<{
17
+ type: "url" | "text" | "file";
18
+ value: string;
19
+ title?: string;
20
+ }>;
21
+ description?: string;
22
+ topics?: string[];
23
+ }>;
24
+ stop_on_error?: boolean;
25
+ show_browser?: boolean;
26
+ }, sendProgress?: ProgressCallback): Promise<ToolResult<{
27
+ total: number;
28
+ succeeded: number;
29
+ failed: number;
30
+ results: Array<{
31
+ name: string;
32
+ success: boolean;
33
+ url?: string;
34
+ error?: string;
35
+ }>;
36
+ }>>;
37
+ export declare function handleSyncLibrary(ctx: HandlerContext, args: {
38
+ auto_fix?: boolean;
39
+ show_browser?: boolean;
40
+ }): Promise<ToolResult<SyncResult>>;
41
+ export declare function handleListSources(ctx: HandlerContext, args: {
42
+ notebook_id?: string;
43
+ notebook_url?: string;
44
+ }): Promise<ToolResult<ListSourcesResult>>;
45
+ export declare function handleAddSource(ctx: HandlerContext, args: {
46
+ notebook_id?: string;
47
+ notebook_url?: string;
48
+ source: NotebookSource;
49
+ }): Promise<ToolResult<AddSourceResult>>;
50
+ export declare function handleAddFolder(ctx: HandlerContext, args: {
51
+ folder_path: string;
52
+ notebook_id?: string;
53
+ notebook_url?: string;
54
+ recursive?: boolean;
55
+ file_types?: string[];
56
+ dry_run?: boolean;
57
+ notebook_name_prefix?: string;
58
+ }, sendProgress?: ProgressCallback): Promise<ToolResult<{
59
+ files_found: number;
60
+ files_added: number;
61
+ files_failed: number;
62
+ files_skipped: number;
63
+ notebooks_used: string[];
64
+ failed_files: Array<{
65
+ file: string;
66
+ error: string;
67
+ }>;
68
+ dry_run: boolean;
69
+ }>>;
70
+ export declare function handleRemoveSource(ctx: HandlerContext, args: {
71
+ notebook_id?: string;
72
+ notebook_url?: string;
73
+ source_id: string;
74
+ }): Promise<ToolResult<RemoveSourceResult>>;
75
+ //# sourceMappingURL=notebook-creation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-creation.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/notebook-creation.ts"],"names":[],"mappings":"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"}