@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.
- package/README.md +62 -19
- package/SECURITY.md +31 -61
- package/dist/auth/auth-manager.d.ts +2 -1
- package/dist/auth/auth-manager.d.ts.map +1 -1
- package/dist/auth/auth-manager.js +117 -44
- package/dist/auth/auth-manager.js.map +1 -1
- package/dist/auth/mcp-auth.d.ts +24 -4
- package/dist/auth/mcp-auth.d.ts.map +1 -1
- package/dist/auth/mcp-auth.js +149 -19
- package/dist/auth/mcp-auth.js.map +1 -1
- package/dist/compliance/alert-manager.d.ts.map +1 -1
- package/dist/compliance/alert-manager.js +7 -4
- package/dist/compliance/alert-manager.js.map +1 -1
- package/dist/compliance/breach-detection.d.ts.map +1 -1
- package/dist/compliance/breach-detection.js +14 -7
- package/dist/compliance/breach-detection.js.map +1 -1
- package/dist/compliance/change-log.d.ts.map +1 -1
- package/dist/compliance/change-log.js +7 -4
- package/dist/compliance/change-log.js.map +1 -1
- package/dist/compliance/compliance-logger.d.ts.map +1 -1
- package/dist/compliance/compliance-logger.js +11 -6
- package/dist/compliance/compliance-logger.js.map +1 -1
- package/dist/compliance/consent-manager.d.ts.map +1 -1
- package/dist/compliance/consent-manager.js +5 -3
- package/dist/compliance/consent-manager.js.map +1 -1
- package/dist/compliance/data-erasure.d.ts +1 -1
- package/dist/compliance/data-erasure.d.ts.map +1 -1
- package/dist/compliance/data-erasure.js +142 -83
- package/dist/compliance/data-erasure.js.map +1 -1
- package/dist/compliance/data-export.d.ts.map +1 -1
- package/dist/compliance/data-export.js +23 -12
- package/dist/compliance/data-export.js.map +1 -1
- package/dist/compliance/data-inventory.d.ts.map +1 -1
- package/dist/compliance/data-inventory.js +7 -6
- package/dist/compliance/data-inventory.js.map +1 -1
- package/dist/compliance/dsar-handler.d.ts +7 -1
- package/dist/compliance/dsar-handler.d.ts.map +1 -1
- package/dist/compliance/dsar-handler.js +74 -61
- package/dist/compliance/dsar-handler.js.map +1 -1
- package/dist/compliance/evidence-collector.d.ts.map +1 -1
- package/dist/compliance/evidence-collector.js +10 -6
- package/dist/compliance/evidence-collector.js.map +1 -1
- package/dist/compliance/health-monitor.d.ts.map +1 -1
- package/dist/compliance/health-monitor.js +15 -9
- package/dist/compliance/health-monitor.js.map +1 -1
- package/dist/compliance/incident-manager.d.ts.map +1 -1
- package/dist/compliance/incident-manager.js +5 -3
- package/dist/compliance/incident-manager.js.map +1 -1
- package/dist/compliance/policy-docs.d.ts.map +1 -1
- package/dist/compliance/policy-docs.js +14 -11
- package/dist/compliance/policy-docs.js.map +1 -1
- package/dist/compliance/privacy-notice-text.d.ts.map +1 -1
- package/dist/compliance/privacy-notice-text.js +3 -4
- package/dist/compliance/privacy-notice-text.js.map +1 -1
- package/dist/compliance/privacy-notice.d.ts.map +1 -1
- package/dist/compliance/privacy-notice.js +5 -3
- package/dist/compliance/privacy-notice.js.map +1 -1
- package/dist/compliance/report-generator.d.ts.map +1 -1
- package/dist/compliance/report-generator.js +5 -3
- package/dist/compliance/report-generator.js.map +1 -1
- package/dist/compliance/retention-engine.d.ts.map +1 -1
- package/dist/compliance/retention-engine.js +24 -10
- package/dist/compliance/retention-engine.js.map +1 -1
- package/dist/compliance/siem-exporter.d.ts.map +1 -1
- package/dist/compliance/siem-exporter.js +40 -16
- package/dist/compliance/siem-exporter.js.map +1 -1
- package/dist/config.d.ts +8 -31
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +26 -64
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +22 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +55 -4
- package/dist/errors.js.map +1 -1
- package/dist/gemini/gemini-client.d.ts +1 -0
- package/dist/gemini/gemini-client.d.ts.map +1 -1
- package/dist/gemini/gemini-client.js +50 -49
- package/dist/gemini/gemini-client.js.map +1 -1
- package/dist/gemini/types.d.ts +3 -1
- package/dist/gemini/types.d.ts.map +1 -1
- package/dist/gemini/types.js.map +1 -1
- package/dist/index.d.ts +52 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +412 -89
- package/dist/index.js.map +1 -1
- package/dist/library/notebook-library.d.ts.map +1 -1
- package/dist/library/notebook-library.js +2 -1
- package/dist/library/notebook-library.js.map +1 -1
- package/dist/logging/query-logger.d.ts +13 -1
- package/dist/logging/query-logger.d.ts.map +1 -1
- package/dist/logging/query-logger.js +62 -10
- package/dist/logging/query-logger.js.map +1 -1
- package/dist/notebook-creation/audio-manager.d.ts.map +1 -1
- package/dist/notebook-creation/audio-manager.js +19 -24
- package/dist/notebook-creation/audio-manager.js.map +1 -1
- package/dist/notebook-creation/browser-options.d.ts +28 -0
- package/dist/notebook-creation/browser-options.d.ts.map +1 -0
- package/dist/notebook-creation/browser-options.js +75 -0
- package/dist/notebook-creation/browser-options.js.map +1 -0
- package/dist/notebook-creation/data-table-manager.d.ts.map +1 -1
- package/dist/notebook-creation/data-table-manager.js +20 -21
- package/dist/notebook-creation/data-table-manager.js.map +1 -1
- package/dist/notebook-creation/discover-creation-flow.d.ts +0 -6
- package/dist/notebook-creation/discover-creation-flow.d.ts.map +1 -1
- package/dist/notebook-creation/discover-creation-flow.js +10 -10
- package/dist/notebook-creation/discover-creation-flow.js.map +1 -1
- package/dist/notebook-creation/discover-quota.d.ts +0 -6
- package/dist/notebook-creation/discover-quota.d.ts.map +1 -1
- package/dist/notebook-creation/discover-quota.js +12 -13
- package/dist/notebook-creation/discover-quota.js.map +1 -1
- package/dist/notebook-creation/discover-sources.js +15 -16
- package/dist/notebook-creation/discover-sources.js.map +1 -1
- package/dist/notebook-creation/dom-scripts.d.ts +10 -0
- package/dist/notebook-creation/dom-scripts.d.ts.map +1 -0
- package/dist/notebook-creation/dom-scripts.js +58 -0
- package/dist/notebook-creation/dom-scripts.js.map +1 -0
- package/dist/notebook-creation/errors.d.ts +18 -0
- package/dist/notebook-creation/errors.d.ts.map +1 -0
- package/dist/notebook-creation/errors.js +20 -0
- package/dist/notebook-creation/errors.js.map +1 -0
- package/dist/notebook-creation/index.d.ts +2 -1
- package/dist/notebook-creation/index.d.ts.map +1 -1
- package/dist/notebook-creation/index.js +2 -1
- package/dist/notebook-creation/index.js.map +1 -1
- package/dist/notebook-creation/notebook-creator.d.ts +6 -82
- package/dist/notebook-creation/notebook-creator.d.ts.map +1 -1
- package/dist/notebook-creation/notebook-creator.js +49 -835
- package/dist/notebook-creation/notebook-creator.js.map +1 -1
- package/dist/notebook-creation/notebook-nav.d.ts +19 -0
- package/dist/notebook-creation/notebook-nav.d.ts.map +1 -0
- package/dist/notebook-creation/notebook-nav.js +240 -0
- package/dist/notebook-creation/notebook-nav.js.map +1 -0
- package/dist/notebook-creation/notebook-sync.d.ts.map +1 -1
- package/dist/notebook-creation/notebook-sync.js +36 -38
- package/dist/notebook-creation/notebook-sync.js.map +1 -1
- package/dist/notebook-creation/selector-discovery.d.ts.map +1 -1
- package/dist/notebook-creation/selector-discovery.js +17 -24
- package/dist/notebook-creation/selector-discovery.js.map +1 -1
- package/dist/notebook-creation/selectors.d.ts +23 -37
- package/dist/notebook-creation/selectors.d.ts.map +1 -1
- package/dist/notebook-creation/selectors.js +56 -60
- package/dist/notebook-creation/selectors.js.map +1 -1
- package/dist/notebook-creation/source-manager.d.ts +25 -0
- package/dist/notebook-creation/source-manager.d.ts.map +1 -1
- package/dist/notebook-creation/source-manager.js +689 -50
- package/dist/notebook-creation/source-manager.js.map +1 -1
- package/dist/notebook-creation/types.d.ts +4 -0
- package/dist/notebook-creation/types.d.ts.map +1 -1
- package/dist/notebook-creation/video-manager.d.ts.map +1 -1
- package/dist/notebook-creation/video-manager.js +33 -35
- package/dist/notebook-creation/video-manager.js.map +1 -1
- package/dist/observability/metrics.d.ts +19 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +35 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/quota/quota-manager.d.ts +11 -3
- package/dist/quota/quota-manager.d.ts.map +1 -1
- package/dist/quota/quota-manager.js +139 -47
- package/dist/quota/quota-manager.js.map +1 -1
- package/dist/resources/resource-handlers.d.ts.map +1 -1
- package/dist/resources/resource-handlers.js +39 -17
- package/dist/resources/resource-handlers.js.map +1 -1
- package/dist/session/browser-session.d.ts.map +1 -1
- package/dist/session/browser-session.js +22 -22
- package/dist/session/browser-session.js.map +1 -1
- package/dist/session/session-timeout.d.ts.map +1 -1
- package/dist/session/session-timeout.js +4 -2
- package/dist/session/session-timeout.js.map +1 -1
- package/dist/session/shared-context-manager.d.ts.map +1 -1
- package/dist/session/shared-context-manager.js +31 -30
- package/dist/session/shared-context-manager.js.map +1 -1
- package/dist/tools/annotations.d.ts.map +1 -1
- package/dist/tools/annotations.js +9 -56
- package/dist/tools/annotations.js.map +1 -1
- package/dist/tools/definitions/ask-question.d.ts.map +1 -1
- package/dist/tools/definitions/ask-question.js +35 -100
- package/dist/tools/definitions/ask-question.js.map +1 -1
- package/dist/tools/definitions/chat-history.d.ts +47 -1
- package/dist/tools/definitions/chat-history.d.ts.map +1 -1
- package/dist/tools/definitions/chat-history.js +10 -1
- package/dist/tools/definitions/chat-history.js.map +1 -1
- package/dist/tools/definitions/data-tables.d.ts.map +1 -1
- package/dist/tools/definitions/data-tables.js +2 -0
- package/dist/tools/definitions/data-tables.js.map +1 -1
- package/dist/tools/definitions/gemini.d.ts.map +1 -1
- package/dist/tools/definitions/gemini.js +54 -11
- package/dist/tools/definitions/gemini.js.map +1 -1
- package/dist/tools/definitions/notebook-management.d.ts.map +1 -1
- package/dist/tools/definitions/notebook-management.js +100 -70
- package/dist/tools/definitions/notebook-management.js.map +1 -1
- package/dist/tools/definitions/query-history.d.ts +47 -1
- package/dist/tools/definitions/query-history.d.ts.map +1 -1
- package/dist/tools/definitions/query-history.js +7 -0
- package/dist/tools/definitions/query-history.js.map +1 -1
- package/dist/tools/definitions/session-management.d.ts.map +1 -1
- package/dist/tools/definitions/session-management.js +5 -0
- package/dist/tools/definitions/session-management.js.map +1 -1
- package/dist/tools/definitions/system.d.ts.map +1 -1
- package/dist/tools/definitions/system.js +71 -100
- package/dist/tools/definitions/system.js.map +1 -1
- package/dist/tools/definitions/video.d.ts.map +1 -1
- package/dist/tools/definitions/video.js +4 -1
- package/dist/tools/definitions/video.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +4 -0
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/handlers/ask-question.d.ts +1 -1
- package/dist/tools/handlers/ask-question.d.ts.map +1 -1
- package/dist/tools/handlers/ask-question.js +57 -13
- package/dist/tools/handlers/ask-question.js.map +1 -1
- package/dist/tools/handlers/audio-video.d.ts.map +1 -1
- package/dist/tools/handlers/audio-video.js +22 -161
- package/dist/tools/handlers/audio-video.js.map +1 -1
- package/dist/tools/handlers/auth.d.ts +14 -19
- package/dist/tools/handlers/auth.d.ts.map +1 -1
- package/dist/tools/handlers/auth.js +77 -121
- package/dist/tools/handlers/auth.js.map +1 -1
- package/dist/tools/handlers/error-utils.d.ts +16 -0
- package/dist/tools/handlers/error-utils.d.ts.map +1 -0
- package/dist/tools/handlers/error-utils.js +39 -0
- package/dist/tools/handlers/error-utils.js.map +1 -0
- package/dist/tools/handlers/gemini.d.ts +2 -0
- package/dist/tools/handlers/gemini.d.ts.map +1 -1
- package/dist/tools/handlers/gemini.js +88 -51
- package/dist/tools/handlers/gemini.js.map +1 -1
- package/dist/tools/handlers/index.d.ts +39 -47
- package/dist/tools/handlers/index.d.ts.map +1 -1
- package/dist/tools/handlers/index.js +15 -4
- package/dist/tools/handlers/index.js.map +1 -1
- package/dist/tools/handlers/notebook-creation.d.ts.map +1 -1
- package/dist/tools/handlers/notebook-creation.js +102 -86
- package/dist/tools/handlers/notebook-creation.js.map +1 -1
- package/dist/tools/handlers/notebook-management.d.ts +8 -8
- package/dist/tools/handlers/notebook-management.d.ts.map +1 -1
- package/dist/tools/handlers/notebook-management.js +34 -80
- package/dist/tools/handlers/notebook-management.js.map +1 -1
- package/dist/tools/handlers/session-management.d.ts +8 -10
- package/dist/tools/handlers/session-management.d.ts.map +1 -1
- package/dist/tools/handlers/session-management.js +34 -63
- package/dist/tools/handlers/session-management.js.map +1 -1
- package/dist/tools/handlers/system.d.ts.map +1 -1
- package/dist/tools/handlers/system.js +45 -10
- package/dist/tools/handlers/system.js.map +1 -1
- package/dist/tools/handlers/types.d.ts +1 -1
- package/dist/tools/handlers/types.d.ts.map +1 -1
- package/dist/tools/handlers/webhooks.d.ts.map +1 -1
- package/dist/tools/handlers/webhooks.js +15 -13
- package/dist/tools/handlers/webhooks.js.map +1 -1
- package/dist/types.d.ts +7 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/audit-logger.d.ts +19 -1
- package/dist/utils/audit-logger.d.ts.map +1 -1
- package/dist/utils/audit-logger.js +198 -30
- package/dist/utils/audit-logger.js.map +1 -1
- package/dist/utils/cleanup-manager.d.ts.map +1 -1
- package/dist/utils/cleanup-manager.js +6 -3
- package/dist/utils/cleanup-manager.js.map +1 -1
- package/dist/utils/crypto.d.ts +4 -1
- package/dist/utils/crypto.d.ts.map +1 -1
- package/dist/utils/crypto.js +32 -21
- package/dist/utils/crypto.js.map +1 -1
- package/dist/utils/file-lock.d.ts.map +1 -1
- package/dist/utils/file-lock.js +87 -16
- package/dist/utils/file-lock.js.map +1 -1
- package/dist/utils/file-permissions.d.ts +2 -0
- package/dist/utils/file-permissions.d.ts.map +1 -1
- package/dist/utils/file-permissions.js +2 -1
- package/dist/utils/file-permissions.js.map +1 -1
- package/dist/utils/logger.d.ts +4 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +16 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/page-utils.d.ts +13 -0
- package/dist/utils/page-utils.d.ts.map +1 -1
- package/dist/utils/page-utils.js +61 -39
- package/dist/utils/page-utils.js.map +1 -1
- package/dist/utils/response-validator.d.ts.map +1 -1
- package/dist/utils/response-validator.js +27 -22
- package/dist/utils/response-validator.js.map +1 -1
- package/dist/utils/secrets-scanner.d.ts +11 -0
- package/dist/utils/secrets-scanner.d.ts.map +1 -1
- package/dist/utils/secrets-scanner.js +65 -17
- package/dist/utils/secrets-scanner.js.map +1 -1
- package/dist/utils/secure-memory.d.ts +9 -31
- package/dist/utils/secure-memory.d.ts.map +1 -1
- package/dist/utils/secure-memory.js +17 -102
- package/dist/utils/secure-memory.js.map +1 -1
- package/dist/utils/security.d.ts +4 -3
- package/dist/utils/security.d.ts.map +1 -1
- package/dist/utils/security.js +43 -13
- package/dist/utils/security.js.map +1 -1
- package/dist/utils/stealth-utils.d.ts.map +1 -1
- package/dist/utils/stealth-utils.js +4 -4
- package/dist/utils/stealth-utils.js.map +1 -1
- package/dist/webhooks/types.d.ts +4 -0
- package/dist/webhooks/types.d.ts.map +1 -1
- package/dist/webhooks/webhook-dispatcher.d.ts +80 -12
- package/dist/webhooks/webhook-dispatcher.d.ts.map +1 -1
- package/dist/webhooks/webhook-dispatcher.js +497 -74
- package/dist/webhooks/webhook-dispatcher.js.map +1 -1
- package/docs/archive/ISSUES-legacy-2026-04-24.md +644 -0
- package/docs/dependency-risk.md +25 -0
- package/docs/testing-runbook.md +166 -0
- package/docs/usage-guide.md +2 -1
- package/package.json +34 -16
|
@@ -15,8 +15,7 @@ export const toolMetadata = {
|
|
|
15
15
|
ask_question: {
|
|
16
16
|
title: "Ask NotebookLM",
|
|
17
17
|
annotations: {
|
|
18
|
-
|
|
19
|
-
readOnlyHint: true, // Doesn't modify data, just queries
|
|
18
|
+
readOnlyHint: false, // Mutates quota counters, writes to query log
|
|
20
19
|
destructiveHint: false,
|
|
21
20
|
idempotentHint: false, // Same question may get different answers
|
|
22
21
|
openWorldHint: true, // Interacts with external NotebookLM
|
|
@@ -28,17 +27,15 @@ export const toolMetadata = {
|
|
|
28
27
|
add_notebook: {
|
|
29
28
|
title: "Add Notebook",
|
|
30
29
|
annotations: {
|
|
31
|
-
title: "Add Notebook to Library",
|
|
32
30
|
readOnlyHint: false,
|
|
33
31
|
destructiveHint: false,
|
|
34
|
-
idempotentHint:
|
|
32
|
+
idempotentHint: false, // Library creates a new entry per call (no dedupe)
|
|
35
33
|
openWorldHint: false, // Local library operation
|
|
36
34
|
},
|
|
37
35
|
},
|
|
38
36
|
list_notebooks: {
|
|
39
37
|
title: "List Notebooks",
|
|
40
38
|
annotations: {
|
|
41
|
-
title: "List Library Notebooks",
|
|
42
39
|
readOnlyHint: true,
|
|
43
40
|
destructiveHint: false,
|
|
44
41
|
idempotentHint: true,
|
|
@@ -48,7 +45,6 @@ export const toolMetadata = {
|
|
|
48
45
|
get_notebook: {
|
|
49
46
|
title: "Get Notebook",
|
|
50
47
|
annotations: {
|
|
51
|
-
title: "Get Notebook Details",
|
|
52
48
|
readOnlyHint: true,
|
|
53
49
|
destructiveHint: false,
|
|
54
50
|
idempotentHint: true,
|
|
@@ -58,7 +54,6 @@ export const toolMetadata = {
|
|
|
58
54
|
select_notebook: {
|
|
59
55
|
title: "Select Notebook",
|
|
60
56
|
annotations: {
|
|
61
|
-
title: "Set Active Notebook",
|
|
62
57
|
readOnlyHint: false,
|
|
63
58
|
destructiveHint: false,
|
|
64
59
|
idempotentHint: true,
|
|
@@ -68,7 +63,6 @@ export const toolMetadata = {
|
|
|
68
63
|
update_notebook: {
|
|
69
64
|
title: "Update Notebook",
|
|
70
65
|
annotations: {
|
|
71
|
-
title: "Update Notebook Metadata",
|
|
72
66
|
readOnlyHint: false,
|
|
73
67
|
destructiveHint: false,
|
|
74
68
|
idempotentHint: true,
|
|
@@ -78,7 +72,6 @@ export const toolMetadata = {
|
|
|
78
72
|
remove_notebook: {
|
|
79
73
|
title: "Remove Notebook",
|
|
80
74
|
annotations: {
|
|
81
|
-
title: "Remove from Library",
|
|
82
75
|
readOnlyHint: false,
|
|
83
76
|
destructiveHint: true, // Removes from library
|
|
84
77
|
idempotentHint: true,
|
|
@@ -88,7 +81,6 @@ export const toolMetadata = {
|
|
|
88
81
|
search_notebooks: {
|
|
89
82
|
title: "Search Notebooks",
|
|
90
83
|
annotations: {
|
|
91
|
-
title: "Search Library",
|
|
92
84
|
readOnlyHint: true,
|
|
93
85
|
destructiveHint: false,
|
|
94
86
|
idempotentHint: true,
|
|
@@ -98,7 +90,6 @@ export const toolMetadata = {
|
|
|
98
90
|
get_library_stats: {
|
|
99
91
|
title: "Library Stats",
|
|
100
92
|
annotations: {
|
|
101
|
-
title: "Get Library Statistics",
|
|
102
93
|
readOnlyHint: true,
|
|
103
94
|
destructiveHint: false,
|
|
104
95
|
idempotentHint: true,
|
|
@@ -108,8 +99,7 @@ export const toolMetadata = {
|
|
|
108
99
|
export_library: {
|
|
109
100
|
title: "Export Library",
|
|
110
101
|
annotations: {
|
|
111
|
-
|
|
112
|
-
readOnlyHint: true, // Just exports, doesn't modify
|
|
102
|
+
readOnlyHint: false, // Writes backup file to host filesystem
|
|
113
103
|
destructiveHint: false,
|
|
114
104
|
idempotentHint: true,
|
|
115
105
|
openWorldHint: false,
|
|
@@ -118,7 +108,6 @@ export const toolMetadata = {
|
|
|
118
108
|
create_notebook: {
|
|
119
109
|
title: "Create Notebook",
|
|
120
110
|
annotations: {
|
|
121
|
-
title: "Create NotebookLM Notebook",
|
|
122
111
|
readOnlyHint: false,
|
|
123
112
|
destructiveHint: false,
|
|
124
113
|
idempotentHint: false, // Creates new notebook each time
|
|
@@ -128,7 +117,6 @@ export const toolMetadata = {
|
|
|
128
117
|
sync_library: {
|
|
129
118
|
title: "Sync Library",
|
|
130
119
|
annotations: {
|
|
131
|
-
title: "Sync with NotebookLM",
|
|
132
120
|
readOnlyHint: false, // Can modify library
|
|
133
121
|
destructiveHint: false,
|
|
134
122
|
idempotentHint: true,
|
|
@@ -138,7 +126,6 @@ export const toolMetadata = {
|
|
|
138
126
|
batch_create_notebooks: {
|
|
139
127
|
title: "Batch Create",
|
|
140
128
|
annotations: {
|
|
141
|
-
title: "Batch Create Notebooks",
|
|
142
129
|
readOnlyHint: false,
|
|
143
130
|
destructiveHint: false,
|
|
144
131
|
idempotentHint: false,
|
|
@@ -151,7 +138,6 @@ export const toolMetadata = {
|
|
|
151
138
|
list_sources: {
|
|
152
139
|
title: "List Sources",
|
|
153
140
|
annotations: {
|
|
154
|
-
title: "List Notebook Sources",
|
|
155
141
|
readOnlyHint: true,
|
|
156
142
|
destructiveHint: false,
|
|
157
143
|
idempotentHint: true,
|
|
@@ -161,17 +147,15 @@ export const toolMetadata = {
|
|
|
161
147
|
add_source: {
|
|
162
148
|
title: "Add Source",
|
|
163
149
|
annotations: {
|
|
164
|
-
title: "Add Source to Notebook",
|
|
165
150
|
readOnlyHint: false,
|
|
166
151
|
destructiveHint: false,
|
|
167
|
-
idempotentHint:
|
|
152
|
+
idempotentHint: false, // NotebookLM creates a new source entry per call
|
|
168
153
|
openWorldHint: true,
|
|
169
154
|
},
|
|
170
155
|
},
|
|
171
156
|
remove_source: {
|
|
172
157
|
title: "Remove Source",
|
|
173
158
|
annotations: {
|
|
174
|
-
title: "Remove Source from Notebook",
|
|
175
159
|
readOnlyHint: false,
|
|
176
160
|
destructiveHint: true,
|
|
177
161
|
idempotentHint: true,
|
|
@@ -184,7 +168,6 @@ export const toolMetadata = {
|
|
|
184
168
|
generate_audio_overview: {
|
|
185
169
|
title: "Generate Audio",
|
|
186
170
|
annotations: {
|
|
187
|
-
title: "Generate Audio Overview",
|
|
188
171
|
readOnlyHint: false, // Creates audio
|
|
189
172
|
destructiveHint: false,
|
|
190
173
|
idempotentHint: false, // Regenerates each time
|
|
@@ -194,7 +177,6 @@ export const toolMetadata = {
|
|
|
194
177
|
get_audio_status: {
|
|
195
178
|
title: "Audio Status",
|
|
196
179
|
annotations: {
|
|
197
|
-
title: "Check Audio Generation Status",
|
|
198
180
|
readOnlyHint: true,
|
|
199
181
|
destructiveHint: false,
|
|
200
182
|
idempotentHint: true,
|
|
@@ -204,8 +186,7 @@ export const toolMetadata = {
|
|
|
204
186
|
download_audio: {
|
|
205
187
|
title: "Download Audio",
|
|
206
188
|
annotations: {
|
|
207
|
-
|
|
208
|
-
readOnlyHint: true, // Just downloads, doesn't modify source
|
|
189
|
+
readOnlyHint: false, // Writes file to host filesystem
|
|
209
190
|
destructiveHint: false,
|
|
210
191
|
idempotentHint: true,
|
|
211
192
|
openWorldHint: true,
|
|
@@ -217,7 +198,6 @@ export const toolMetadata = {
|
|
|
217
198
|
generate_video_overview: {
|
|
218
199
|
title: "Generate Video",
|
|
219
200
|
annotations: {
|
|
220
|
-
title: "Generate Video Overview",
|
|
221
201
|
readOnlyHint: false, // Creates video
|
|
222
202
|
destructiveHint: false,
|
|
223
203
|
idempotentHint: false, // Regenerates each time
|
|
@@ -227,7 +207,6 @@ export const toolMetadata = {
|
|
|
227
207
|
get_video_status: {
|
|
228
208
|
title: "Video Status",
|
|
229
209
|
annotations: {
|
|
230
|
-
title: "Check Video Generation Status",
|
|
231
210
|
readOnlyHint: true,
|
|
232
211
|
destructiveHint: false,
|
|
233
212
|
idempotentHint: true,
|
|
@@ -240,7 +219,6 @@ export const toolMetadata = {
|
|
|
240
219
|
generate_data_table: {
|
|
241
220
|
title: "Generate Table",
|
|
242
221
|
annotations: {
|
|
243
|
-
title: "Generate Data Table",
|
|
244
222
|
readOnlyHint: false, // Creates table
|
|
245
223
|
destructiveHint: false,
|
|
246
224
|
idempotentHint: false,
|
|
@@ -250,7 +228,6 @@ export const toolMetadata = {
|
|
|
250
228
|
get_data_table: {
|
|
251
229
|
title: "Get Table",
|
|
252
230
|
annotations: {
|
|
253
|
-
title: "Extract Data Table Content",
|
|
254
231
|
readOnlyHint: true,
|
|
255
232
|
destructiveHint: false,
|
|
256
233
|
idempotentHint: true,
|
|
@@ -263,7 +240,6 @@ export const toolMetadata = {
|
|
|
263
240
|
list_sessions: {
|
|
264
241
|
title: "List Sessions",
|
|
265
242
|
annotations: {
|
|
266
|
-
title: "List Active Sessions",
|
|
267
243
|
readOnlyHint: true,
|
|
268
244
|
destructiveHint: false,
|
|
269
245
|
idempotentHint: true,
|
|
@@ -273,7 +249,6 @@ export const toolMetadata = {
|
|
|
273
249
|
close_session: {
|
|
274
250
|
title: "Close Session",
|
|
275
251
|
annotations: {
|
|
276
|
-
title: "Close Browser Session",
|
|
277
252
|
readOnlyHint: false,
|
|
278
253
|
destructiveHint: true, // Closes session
|
|
279
254
|
idempotentHint: true,
|
|
@@ -283,7 +258,6 @@ export const toolMetadata = {
|
|
|
283
258
|
reset_session: {
|
|
284
259
|
title: "Reset Session",
|
|
285
260
|
annotations: {
|
|
286
|
-
title: "Reset Session History",
|
|
287
261
|
readOnlyHint: false,
|
|
288
262
|
destructiveHint: true, // Clears history
|
|
289
263
|
idempotentHint: true,
|
|
@@ -296,7 +270,6 @@ export const toolMetadata = {
|
|
|
296
270
|
get_health: {
|
|
297
271
|
title: "Health Check",
|
|
298
272
|
annotations: {
|
|
299
|
-
title: "Server Health Status",
|
|
300
273
|
readOnlyHint: true,
|
|
301
274
|
destructiveHint: false,
|
|
302
275
|
idempotentHint: true,
|
|
@@ -306,9 +279,8 @@ export const toolMetadata = {
|
|
|
306
279
|
setup_auth: {
|
|
307
280
|
title: "Setup Auth",
|
|
308
281
|
annotations: {
|
|
309
|
-
title: "Setup Google Authentication",
|
|
310
282
|
readOnlyHint: false,
|
|
311
|
-
destructiveHint:
|
|
283
|
+
destructiveHint: true, // Clears any existing saved credentials before re-login
|
|
312
284
|
idempotentHint: false, // Opens browser each time
|
|
313
285
|
openWorldHint: true, // Interacts with Google
|
|
314
286
|
},
|
|
@@ -316,7 +288,6 @@ export const toolMetadata = {
|
|
|
316
288
|
re_auth: {
|
|
317
289
|
title: "Re-authenticate",
|
|
318
290
|
annotations: {
|
|
319
|
-
title: "Re-authenticate with Google",
|
|
320
291
|
readOnlyHint: false,
|
|
321
292
|
destructiveHint: true, // Deletes existing auth
|
|
322
293
|
idempotentHint: false,
|
|
@@ -326,7 +297,6 @@ export const toolMetadata = {
|
|
|
326
297
|
cleanup_data: {
|
|
327
298
|
title: "Cleanup Data",
|
|
328
299
|
annotations: {
|
|
329
|
-
title: "Clean MCP Data Files",
|
|
330
300
|
readOnlyHint: false,
|
|
331
301
|
destructiveHint: true, // Deletes files
|
|
332
302
|
idempotentHint: true,
|
|
@@ -336,17 +306,15 @@ export const toolMetadata = {
|
|
|
336
306
|
get_quota: {
|
|
337
307
|
title: "Get Quota",
|
|
338
308
|
annotations: {
|
|
339
|
-
title: "Check Quota Status",
|
|
340
309
|
readOnlyHint: true,
|
|
341
310
|
destructiveHint: false,
|
|
342
311
|
idempotentHint: true,
|
|
343
|
-
openWorldHint:
|
|
312
|
+
openWorldHint: true, // sync=true navigates to notebooklm.google.com
|
|
344
313
|
},
|
|
345
314
|
},
|
|
346
315
|
set_quota_tier: {
|
|
347
316
|
title: "Set Tier",
|
|
348
317
|
annotations: {
|
|
349
|
-
title: "Set License Tier",
|
|
350
318
|
readOnlyHint: false,
|
|
351
319
|
destructiveHint: false,
|
|
352
320
|
idempotentHint: true,
|
|
@@ -356,7 +324,6 @@ export const toolMetadata = {
|
|
|
356
324
|
get_project_info: {
|
|
357
325
|
title: "Project Info",
|
|
358
326
|
annotations: {
|
|
359
|
-
title: "Get Project Context",
|
|
360
327
|
readOnlyHint: true,
|
|
361
328
|
destructiveHint: false,
|
|
362
329
|
idempotentHint: true,
|
|
@@ -369,7 +336,6 @@ export const toolMetadata = {
|
|
|
369
336
|
configure_webhook: {
|
|
370
337
|
title: "Configure Webhook",
|
|
371
338
|
annotations: {
|
|
372
|
-
title: "Configure Webhook Endpoint",
|
|
373
339
|
readOnlyHint: false,
|
|
374
340
|
destructiveHint: false,
|
|
375
341
|
idempotentHint: true,
|
|
@@ -379,7 +345,6 @@ export const toolMetadata = {
|
|
|
379
345
|
list_webhooks: {
|
|
380
346
|
title: "List Webhooks",
|
|
381
347
|
annotations: {
|
|
382
|
-
title: "List Configured Webhooks",
|
|
383
348
|
readOnlyHint: true,
|
|
384
349
|
destructiveHint: false,
|
|
385
350
|
idempotentHint: true,
|
|
@@ -389,8 +354,7 @@ export const toolMetadata = {
|
|
|
389
354
|
test_webhook: {
|
|
390
355
|
title: "Test Webhook",
|
|
391
356
|
annotations: {
|
|
392
|
-
|
|
393
|
-
readOnlyHint: true, // Doesn't modify webhook config
|
|
357
|
+
readOnlyHint: false, // Dispatches HTTP request with side effects on the third-party receiver
|
|
394
358
|
destructiveHint: false,
|
|
395
359
|
idempotentHint: true,
|
|
396
360
|
openWorldHint: true, // Sends HTTP request
|
|
@@ -399,7 +363,6 @@ export const toolMetadata = {
|
|
|
399
363
|
remove_webhook: {
|
|
400
364
|
title: "Remove Webhook",
|
|
401
365
|
annotations: {
|
|
402
|
-
title: "Remove Webhook Configuration",
|
|
403
366
|
readOnlyHint: false,
|
|
404
367
|
destructiveHint: true,
|
|
405
368
|
idempotentHint: true,
|
|
@@ -412,7 +375,6 @@ export const toolMetadata = {
|
|
|
412
375
|
deep_research: {
|
|
413
376
|
title: "Deep Research",
|
|
414
377
|
annotations: {
|
|
415
|
-
title: "Gemini Deep Research",
|
|
416
378
|
readOnlyHint: true,
|
|
417
379
|
destructiveHint: false,
|
|
418
380
|
idempotentHint: false, // Results may vary
|
|
@@ -426,7 +388,6 @@ export const toolMetadata = {
|
|
|
426
388
|
gemini_query: {
|
|
427
389
|
title: "Gemini Query",
|
|
428
390
|
annotations: {
|
|
429
|
-
title: "Quick Gemini Query",
|
|
430
391
|
readOnlyHint: true,
|
|
431
392
|
destructiveHint: false,
|
|
432
393
|
idempotentHint: false,
|
|
@@ -436,7 +397,6 @@ export const toolMetadata = {
|
|
|
436
397
|
get_research_status: {
|
|
437
398
|
title: "Research Status",
|
|
438
399
|
annotations: {
|
|
439
|
-
title: "Check Research Progress",
|
|
440
400
|
readOnlyHint: true,
|
|
441
401
|
destructiveHint: false,
|
|
442
402
|
idempotentHint: true,
|
|
@@ -446,17 +406,15 @@ export const toolMetadata = {
|
|
|
446
406
|
upload_document: {
|
|
447
407
|
title: "Upload Document",
|
|
448
408
|
annotations: {
|
|
449
|
-
title: "Upload to Gemini",
|
|
450
409
|
readOnlyHint: false, // Uploads file
|
|
451
410
|
destructiveHint: false,
|
|
452
|
-
idempotentHint:
|
|
411
|
+
idempotentHint: false, // Files API creates a new resource per upload
|
|
453
412
|
openWorldHint: true,
|
|
454
413
|
},
|
|
455
414
|
},
|
|
456
415
|
query_document: {
|
|
457
416
|
title: "Query Document",
|
|
458
417
|
annotations: {
|
|
459
|
-
title: "Ask About Document",
|
|
460
418
|
readOnlyHint: true,
|
|
461
419
|
destructiveHint: false,
|
|
462
420
|
idempotentHint: false,
|
|
@@ -466,7 +424,6 @@ export const toolMetadata = {
|
|
|
466
424
|
list_documents: {
|
|
467
425
|
title: "List Documents",
|
|
468
426
|
annotations: {
|
|
469
|
-
title: "List Uploaded Documents",
|
|
470
427
|
readOnlyHint: true,
|
|
471
428
|
destructiveHint: false,
|
|
472
429
|
idempotentHint: true,
|
|
@@ -476,7 +433,6 @@ export const toolMetadata = {
|
|
|
476
433
|
delete_document: {
|
|
477
434
|
title: "Delete Document",
|
|
478
435
|
annotations: {
|
|
479
|
-
title: "Delete from Gemini",
|
|
480
436
|
readOnlyHint: false,
|
|
481
437
|
destructiveHint: true,
|
|
482
438
|
idempotentHint: true,
|
|
@@ -486,7 +442,6 @@ export const toolMetadata = {
|
|
|
486
442
|
query_chunked_document: {
|
|
487
443
|
title: "Query Chunked Doc",
|
|
488
444
|
annotations: {
|
|
489
|
-
title: "Query Large Document",
|
|
490
445
|
readOnlyHint: true,
|
|
491
446
|
destructiveHint: false,
|
|
492
447
|
idempotentHint: false,
|
|
@@ -499,7 +454,6 @@ export const toolMetadata = {
|
|
|
499
454
|
get_query_history: {
|
|
500
455
|
title: "Query History",
|
|
501
456
|
annotations: {
|
|
502
|
-
title: "Get Query History",
|
|
503
457
|
readOnlyHint: true,
|
|
504
458
|
destructiveHint: false,
|
|
505
459
|
idempotentHint: true,
|
|
@@ -509,7 +463,6 @@ export const toolMetadata = {
|
|
|
509
463
|
get_notebook_chat_history: {
|
|
510
464
|
title: "Chat History",
|
|
511
465
|
annotations: {
|
|
512
|
-
title: "Get Notebook Chat History",
|
|
513
466
|
readOnlyHint: true,
|
|
514
467
|
destructiveHint: false,
|
|
515
468
|
idempotentHint: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/tools/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiC;IACxD,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAC7E,YAAY,EAAE;QACZ,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,
|
|
1
|
+
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/tools/annotations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-question.d.ts","sourceRoot":"","sources":["../../../src/tools/definitions/ask-question.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"ask-question.d.ts","sourceRoot":"","sources":["../../../src/tools/definitions/ask-question.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAqB5E;AAED,eAAO,MAAM,eAAe,EAAE,IAiI7B,CAAC"}
|
|
@@ -3,110 +3,24 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export function buildAskQuestionDescription(library) {
|
|
5
5
|
const active = library.getActiveNotebook();
|
|
6
|
-
const bt = "`"; // Backtick helper to avoid template literal issues
|
|
7
6
|
if (active) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
## What This Tool Is
|
|
19
|
-
- Query your NotebookLM notebooks via browser automation
|
|
20
|
-
- NO API key required - works with just browser authentication
|
|
21
|
-
- Source-cited responses grounded in YOUR uploaded documents
|
|
22
|
-
- Session-based: each follow-up uses prior context for deeper answers
|
|
23
|
-
|
|
24
|
-
## When To Use
|
|
25
|
-
- **PREFER THIS TOOL** for questions about your NotebookLM notebooks
|
|
26
|
-
- Use this instead of gemini_query when you have relevant notebooks
|
|
27
|
-
${useCases}
|
|
28
|
-
|
|
29
|
-
## Rules (Important)
|
|
30
|
-
- Always prefer continuing an existing session for the same task
|
|
31
|
-
- If you start a new thread, create a new session and keep its session_id
|
|
32
|
-
- Ask clarifying questions before implementing; do not guess missing details
|
|
33
|
-
- If multiple notebooks could apply, propose the top 1–2 and ask which to use
|
|
34
|
-
- If task context changes, ask to reset the session or switch notebooks
|
|
35
|
-
- If authentication fails, use the prompts 'notebooklm.auth-repair' (or 'notebooklm.auth-setup') and verify with 'get_health'
|
|
36
|
-
- After every NotebookLM answer: pause, compare with the user's goal, and only respond if you are 100% sure the information is complete. Otherwise, plan the next NotebookLM question in the same session.
|
|
37
|
-
|
|
38
|
-
## Session Flow (Recommended)
|
|
39
|
-
${bt}${bt}${bt}javascript
|
|
40
|
-
// 1) Start broad (no session_id → creates one)
|
|
41
|
-
ask_question({ question: "Give me an overview of [topic]" })
|
|
42
|
-
// ← Save: result.session_id
|
|
43
|
-
|
|
44
|
-
// 2) Go specific (same session)
|
|
45
|
-
ask_question({ question: "Key APIs/methods?", session_id })
|
|
46
|
-
|
|
47
|
-
// 3) Cover pitfalls (same session)
|
|
48
|
-
ask_question({ question: "Common edge cases + gotchas?", session_id })
|
|
49
|
-
|
|
50
|
-
// 4) Ask for production example (same session)
|
|
51
|
-
ask_question({ question: "Show a production-ready example", session_id })
|
|
52
|
-
${bt}${bt}${bt}
|
|
53
|
-
|
|
54
|
-
## Automatic Multi-Pass Strategy (Host-driven)
|
|
55
|
-
- Simple prompts return once-and-done answers.
|
|
56
|
-
- For complex prompts, the host should issue follow-up calls:
|
|
57
|
-
1. Implementation plan (APIs, dependencies, configuration, authentication).
|
|
58
|
-
2. Pitfalls, gaps, validation steps, missing prerequisites.
|
|
59
|
-
- Keep the same session_id for all follow-ups, review NotebookLM's answer, and ask more questions until the problem is fully resolved.
|
|
60
|
-
- Before replying to the user, double-check: do you truly have everything? If not, queue another ask_question immediately.
|
|
61
|
-
|
|
62
|
-
## 🔥 REAL EXAMPLE
|
|
63
|
-
|
|
64
|
-
Task: "Implement error handling in n8n workflow"
|
|
65
|
-
|
|
66
|
-
Bad (shallow):
|
|
67
|
-
${bt}${bt}${bt}
|
|
68
|
-
Q: "How do I handle errors in n8n?"
|
|
69
|
-
A: [basic answer]
|
|
70
|
-
→ Implement → Probably missing edge cases!
|
|
71
|
-
${bt}${bt}${bt}
|
|
72
|
-
|
|
73
|
-
Good (deep):
|
|
74
|
-
${bt}${bt}${bt}
|
|
75
|
-
Q1: "What are n8n's error handling mechanisms?" (session created)
|
|
76
|
-
A1: [Overview of error handling]
|
|
77
|
-
|
|
78
|
-
Q2: "What's the recommended pattern for API errors?" (same session)
|
|
79
|
-
A2: [Specific patterns, uses context from Q1]
|
|
80
|
-
|
|
81
|
-
Q3: "How do I handle retry logic and timeouts?" (same session)
|
|
82
|
-
A3: [Detailed approach, builds on Q1+Q2]
|
|
83
|
-
|
|
84
|
-
Q4: "Show me a production example with all these patterns" (same session)
|
|
85
|
-
A4: [Complete example with full context]
|
|
86
|
-
|
|
87
|
-
→ NOW implement with confidence!
|
|
88
|
-
${bt}${bt}${bt}
|
|
89
|
-
|
|
90
|
-
## Notebook Selection
|
|
91
|
-
- Default: active notebook (${active.id})
|
|
92
|
-
- Or set notebook_id to use a library notebook
|
|
93
|
-
- Or set notebook_url for ad-hoc notebooks (not in library)
|
|
94
|
-
- If ambiguous which notebook fits, ASK the user which to use`;
|
|
7
|
+
return `NotebookLM notebook Q&A via browser automation.
|
|
8
|
+
|
|
9
|
+
Active notebook is set; use get_notebook for details.
|
|
10
|
+
No Gemini API key is required, but browser authentication must be valid.
|
|
11
|
+
Prefer this tool for questions grounded in the user's NotebookLM sources.
|
|
12
|
+
Use the returned session_id for follow-up questions on the same task.
|
|
13
|
+
Use notebook_id or notebook_url only when overriding the active notebook.
|
|
14
|
+
If the right notebook is ambiguous, ask the user which one to use.
|
|
15
|
+
If authentication fails, use notebooklm.auth-repair or notebooklm.auth-setup.`;
|
|
95
16
|
}
|
|
96
17
|
else {
|
|
97
|
-
return
|
|
98
|
-
|
|
99
|
-
> **IMPORTANT:** This tool uses browser automation - NO GEMINI_API_KEY needed!
|
|
100
|
-
|
|
101
|
-
## No Active Notebook
|
|
102
|
-
- Visit https://notebooklm.google to create a notebook and get a share link
|
|
103
|
-
- Use **add_notebook** to add it to your library (explains how to get the link)
|
|
104
|
-
- Use **list_notebooks** to show available sources
|
|
105
|
-
- Use **select_notebook** to set one active
|
|
106
|
-
|
|
107
|
-
> Auth tip: If login is required, use the prompt 'notebooklm.auth-setup' and then verify with the 'get_health' tool.
|
|
18
|
+
return `NotebookLM notebook Q&A via browser automation.
|
|
108
19
|
|
|
109
|
-
|
|
20
|
+
No active notebook is selected.
|
|
21
|
+
Use list_notebooks and select_notebook to choose one, or pass notebook_url.
|
|
22
|
+
No Gemini API key is required, but browser authentication must be valid.
|
|
23
|
+
If login is required, use notebooklm.auth-setup and verify with get_health.`;
|
|
110
24
|
}
|
|
111
25
|
}
|
|
112
26
|
export const askQuestionTool = {
|
|
@@ -115,22 +29,29 @@ export const askQuestionTool = {
|
|
|
115
29
|
description: "Dynamic description placeholder",
|
|
116
30
|
inputSchema: {
|
|
117
31
|
type: "object",
|
|
32
|
+
additionalProperties: false,
|
|
118
33
|
properties: {
|
|
119
34
|
question: {
|
|
120
35
|
type: "string",
|
|
36
|
+
minLength: 1,
|
|
37
|
+
maxLength: 10000,
|
|
121
38
|
description: "The question to ask NotebookLM",
|
|
122
39
|
},
|
|
123
40
|
session_id: {
|
|
124
41
|
type: "string",
|
|
42
|
+
maxLength: 128,
|
|
125
43
|
description: "Optional session ID for contextual conversations. If omitted, a new session is created.",
|
|
126
44
|
},
|
|
127
45
|
notebook_id: {
|
|
128
46
|
type: "string",
|
|
47
|
+
maxLength: 128,
|
|
129
48
|
description: "Optional notebook ID from your library. If omitted, uses the active notebook. " +
|
|
130
49
|
"Use list_notebooks to see available notebooks.",
|
|
131
50
|
},
|
|
132
51
|
notebook_url: {
|
|
133
52
|
type: "string",
|
|
53
|
+
pattern: "^https://notebooklm\\.google\\.com/",
|
|
54
|
+
maxLength: 512,
|
|
134
55
|
description: "Optional notebook URL (overrides notebook_id). Use this for ad-hoc queries to notebooks not in your library.",
|
|
135
56
|
},
|
|
136
57
|
show_browser: {
|
|
@@ -153,6 +74,8 @@ export const askQuestionTool = {
|
|
|
153
74
|
},
|
|
154
75
|
timeout_ms: {
|
|
155
76
|
type: "number",
|
|
77
|
+
minimum: 1000,
|
|
78
|
+
maximum: 300000,
|
|
156
79
|
description: "Browser operation timeout in milliseconds (default: 30000)",
|
|
157
80
|
},
|
|
158
81
|
stealth: {
|
|
@@ -177,18 +100,26 @@ export const askQuestionTool = {
|
|
|
177
100
|
},
|
|
178
101
|
typing_wpm_min: {
|
|
179
102
|
type: "number",
|
|
103
|
+
minimum: 10,
|
|
104
|
+
maximum: 600,
|
|
180
105
|
description: "Minimum typing speed in WPM (default: 160)",
|
|
181
106
|
},
|
|
182
107
|
typing_wpm_max: {
|
|
183
108
|
type: "number",
|
|
109
|
+
minimum: 10,
|
|
110
|
+
maximum: 600,
|
|
184
111
|
description: "Maximum typing speed in WPM (default: 240)",
|
|
185
112
|
},
|
|
186
113
|
delay_min_ms: {
|
|
187
114
|
type: "number",
|
|
115
|
+
minimum: 0,
|
|
116
|
+
maximum: 10000,
|
|
188
117
|
description: "Minimum delay between actions in ms (default: 100)",
|
|
189
118
|
},
|
|
190
119
|
delay_max_ms: {
|
|
191
120
|
type: "number",
|
|
121
|
+
minimum: 0,
|
|
122
|
+
maximum: 10000,
|
|
192
123
|
description: "Maximum delay between actions in ms (default: 400)",
|
|
193
124
|
},
|
|
194
125
|
},
|
|
@@ -199,10 +130,14 @@ export const askQuestionTool = {
|
|
|
199
130
|
properties: {
|
|
200
131
|
width: {
|
|
201
132
|
type: "number",
|
|
133
|
+
minimum: 320,
|
|
134
|
+
maximum: 7680,
|
|
202
135
|
description: "Viewport width in pixels (default: 1920)",
|
|
203
136
|
},
|
|
204
137
|
height: {
|
|
205
138
|
type: "number",
|
|
139
|
+
minimum: 240,
|
|
140
|
+
maximum: 4320,
|
|
206
141
|
description: "Viewport height in pixels (default: 1080)",
|
|
207
142
|
},
|
|
208
143
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/tools/definitions/ask-question.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/tools/definitions/ask-question.ts"],"names":[],"mappings":"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"}
|