notebooklm-mcp-ultimate 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +420 -0
- package/dist/api/batch-execute-client.d.ts +232 -0
- package/dist/api/batch-execute-client.d.ts.map +1 -0
- package/dist/api/batch-execute-client.js +672 -0
- package/dist/api/batch-execute-client.js.map +1 -0
- package/dist/api/content-types.d.ts +44 -0
- package/dist/api/content-types.d.ts.map +1 -0
- package/dist/api/content-types.js +89 -0
- package/dist/api/content-types.js.map +1 -0
- package/dist/api/csrf-manager.d.ts +94 -0
- package/dist/api/csrf-manager.d.ts.map +1 -0
- package/dist/api/csrf-manager.js +178 -0
- package/dist/api/csrf-manager.js.map +1 -0
- package/dist/api/index.d.ts +27 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +56 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/operation-poller.d.ts +67 -0
- package/dist/api/operation-poller.d.ts.map +1 -0
- package/dist/api/operation-poller.js +132 -0
- package/dist/api/operation-poller.js.map +1 -0
- package/dist/api/request-builder.d.ts +196 -0
- package/dist/api/request-builder.d.ts.map +1 -0
- package/dist/api/request-builder.js +371 -0
- package/dist/api/request-builder.js.map +1 -0
- package/dist/api/response-parser.d.ts +124 -0
- package/dist/api/response-parser.d.ts.map +1 -0
- package/dist/api/response-parser.js +595 -0
- package/dist/api/response-parser.js.map +1 -0
- package/dist/api/rpc-ids.d.ts +92 -0
- package/dist/api/rpc-ids.d.ts.map +1 -0
- package/dist/api/rpc-ids.js +138 -0
- package/dist/api/rpc-ids.js.map +1 -0
- package/dist/api/streaming-chat-client.d.ts +50 -0
- package/dist/api/streaming-chat-client.d.ts.map +1 -0
- package/dist/api/streaming-chat-client.js +198 -0
- package/dist/api/streaming-chat-client.js.map +1 -0
- package/dist/api/types.d.ts +318 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +22 -0
- package/dist/api/types.js.map +1 -0
- package/dist/auth/auth-manager.d.ts +163 -0
- package/dist/auth/auth-manager.d.ts.map +1 -0
- package/dist/auth/auth-manager.js +1055 -0
- package/dist/auth/auth-manager.js.map +1 -0
- package/dist/auth/cookie-store.d.ts +121 -0
- package/dist/auth/cookie-store.d.ts.map +1 -0
- package/dist/auth/cookie-store.js +283 -0
- package/dist/auth/cookie-store.js.map +1 -0
- package/dist/config.d.ts +89 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +217 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +26 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +41 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +439 -0
- package/dist/index.js.map +1 -0
- package/dist/library/notebook-library.d.ts +79 -0
- package/dist/library/notebook-library.d.ts.map +1 -0
- package/dist/library/notebook-library.js +296 -0
- package/dist/library/notebook-library.js.map +1 -0
- package/dist/library/types.d.ts +67 -0
- package/dist/library/types.d.ts.map +1 -0
- package/dist/library/types.js +8 -0
- package/dist/library/types.js.map +1 -0
- package/dist/operations/content-operations.d.ts +78 -0
- package/dist/operations/content-operations.d.ts.map +1 -0
- package/dist/operations/content-operations.js +162 -0
- package/dist/operations/content-operations.js.map +1 -0
- package/dist/operations/hybrid-executor.d.ts +47 -0
- package/dist/operations/hybrid-executor.d.ts.map +1 -0
- package/dist/operations/hybrid-executor.js +114 -0
- package/dist/operations/hybrid-executor.js.map +1 -0
- package/dist/operations/notebook-crud-operations.d.ts +52 -0
- package/dist/operations/notebook-crud-operations.d.ts.map +1 -0
- package/dist/operations/notebook-crud-operations.js +248 -0
- package/dist/operations/notebook-crud-operations.js.map +1 -0
- package/dist/operations/research-operations.d.ts +42 -0
- package/dist/operations/research-operations.d.ts.map +1 -0
- package/dist/operations/research-operations.js +189 -0
- package/dist/operations/research-operations.js.map +1 -0
- package/dist/operations/source-operations.d.ts +59 -0
- package/dist/operations/source-operations.d.ts.map +1 -0
- package/dist/operations/source-operations.js +280 -0
- package/dist/operations/source-operations.js.map +1 -0
- package/dist/operations/studio-operations.d.ts +98 -0
- package/dist/operations/studio-operations.d.ts.map +1 -0
- package/dist/operations/studio-operations.js +309 -0
- package/dist/operations/studio-operations.js.map +1 -0
- package/dist/resources/resource-handlers.d.ts +22 -0
- package/dist/resources/resource-handlers.d.ts.map +1 -0
- package/dist/resources/resource-handlers.js +216 -0
- package/dist/resources/resource-handlers.js.map +1 -0
- package/dist/session/browser-session.d.ts +113 -0
- package/dist/session/browser-session.d.ts.map +1 -0
- package/dist/session/browser-session.js +670 -0
- package/dist/session/browser-session.js.map +1 -0
- package/dist/session/session-manager.d.ts +88 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +314 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/session/shared-context-manager.d.ts +107 -0
- package/dist/session/shared-context-manager.d.ts.map +1 -0
- package/dist/session/shared-context-manager.js +447 -0
- package/dist/session/shared-context-manager.js.map +1 -0
- package/dist/tools/definitions/ask-question.d.ts +8 -0
- package/dist/tools/definitions/ask-question.d.ts.map +1 -0
- package/dist/tools/definitions/ask-question.js +213 -0
- package/dist/tools/definitions/ask-question.js.map +1 -0
- package/dist/tools/definitions/content-generation.d.ts +52 -0
- package/dist/tools/definitions/content-generation.d.ts.map +1 -0
- package/dist/tools/definitions/content-generation.js +236 -0
- package/dist/tools/definitions/content-generation.js.map +1 -0
- package/dist/tools/definitions/notebook-crud.d.ts +9 -0
- package/dist/tools/definitions/notebook-crud.d.ts.map +1 -0
- package/dist/tools/definitions/notebook-crud.js +156 -0
- package/dist/tools/definitions/notebook-crud.js.map +1 -0
- package/dist/tools/definitions/notebook-management.d.ts +3 -0
- package/dist/tools/definitions/notebook-management.d.ts.map +1 -0
- package/dist/tools/definitions/notebook-management.js +243 -0
- package/dist/tools/definitions/notebook-management.js.map +1 -0
- package/dist/tools/definitions/research.d.ts +23 -0
- package/dist/tools/definitions/research.d.ts.map +1 -0
- package/dist/tools/definitions/research.js +108 -0
- package/dist/tools/definitions/research.js.map +1 -0
- package/dist/tools/definitions/session-management.d.ts +3 -0
- package/dist/tools/definitions/session-management.d.ts.map +1 -0
- package/dist/tools/definitions/session-management.js +41 -0
- package/dist/tools/definitions/session-management.js.map +1 -0
- package/dist/tools/definitions/source-management.d.ts +39 -0
- package/dist/tools/definitions/source-management.d.ts.map +1 -0
- package/dist/tools/definitions/source-management.js +224 -0
- package/dist/tools/definitions/source-management.js.map +1 -0
- package/dist/tools/definitions/studio.d.ts +36 -0
- package/dist/tools/definitions/studio.d.ts.map +1 -0
- package/dist/tools/definitions/studio.js +153 -0
- package/dist/tools/definitions/studio.js.map +1 -0
- package/dist/tools/definitions/system.d.ts +3 -0
- package/dist/tools/definitions/system.d.ts.map +1 -0
- package/dist/tools/definitions/system.js +143 -0
- package/dist/tools/definitions/system.js.map +1 -0
- package/dist/tools/definitions.d.ts +12 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +36 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/handlers/content-handlers.d.ts +287 -0
- package/dist/tools/handlers/content-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/content-handlers.js +244 -0
- package/dist/tools/handlers/content-handlers.js.map +1 -0
- package/dist/tools/handlers/notebook-crud-handlers.d.ts +69 -0
- package/dist/tools/handlers/notebook-crud-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/notebook-crud-handlers.js +117 -0
- package/dist/tools/handlers/notebook-crud-handlers.js.map +1 -0
- package/dist/tools/handlers/research-handlers.d.ts +37 -0
- package/dist/tools/handlers/research-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/research-handlers.js +87 -0
- package/dist/tools/handlers/research-handlers.js.map +1 -0
- package/dist/tools/handlers/source-handlers.d.ts +52 -0
- package/dist/tools/handlers/source-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/source-handlers.js +177 -0
- package/dist/tools/handlers/source-handlers.js.map +1 -0
- package/dist/tools/handlers/studio-handlers.d.ts +125 -0
- package/dist/tools/handlers/studio-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/studio-handlers.js +183 -0
- package/dist/tools/handlers/studio-handlers.js.map +1 -0
- package/dist/tools/handlers.d.ts +629 -0
- package/dist/tools/handlers.d.ts.map +1 -0
- package/dist/tools/handlers.js +833 -0
- package/dist/tools/handlers.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types.d.ts +82 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/cleanup-manager.d.ts +133 -0
- package/dist/utils/cleanup-manager.d.ts.map +1 -0
- package/dist/utils/cleanup-manager.js +673 -0
- package/dist/utils/cleanup-manager.js.map +1 -0
- package/dist/utils/cli-handler.d.ts +16 -0
- package/dist/utils/cli-handler.d.ts.map +1 -0
- package/dist/utils/cli-handler.js +102 -0
- package/dist/utils/cli-handler.js.map +1 -0
- package/dist/utils/logger.d.ts +61 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +92 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/page-utils.d.ts +54 -0
- package/dist/utils/page-utils.d.ts.map +1 -0
- package/dist/utils/page-utils.js +405 -0
- package/dist/utils/page-utils.js.map +1 -0
- package/dist/utils/settings-manager.d.ts +37 -0
- package/dist/utils/settings-manager.d.ts.map +1 -0
- package/dist/utils/settings-manager.js +120 -0
- package/dist/utils/settings-manager.js.map +1 -0
- package/dist/utils/stealth-utils.d.ts +135 -0
- package/dist/utils/stealth-utils.d.ts.map +1 -0
- package/dist/utils/stealth-utils.js +398 -0
- package/dist/utils/stealth-utils.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Notebook CRUD Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* Tools for creating and managing notebooks directly in NotebookLM.
|
|
5
|
+
* These operations use the API directly (not browser automation).
|
|
6
|
+
*/
|
|
7
|
+
export const notebookCRUDTools = [
|
|
8
|
+
{
|
|
9
|
+
name: "add_file_source",
|
|
10
|
+
description: `Upload a local file as a source to a NotebookLM notebook.
|
|
11
|
+
|
|
12
|
+
## Supported Formats
|
|
13
|
+
PDF, documents (docx, txt), images, audio files
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
- notebook_id (required): UUID of the target notebook
|
|
17
|
+
- file_path (required): Absolute path to the file on disk
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
User: "Add my research paper to the AI notebook"
|
|
21
|
+
You: Get file path and notebook ID, then call add_file_source
|
|
22
|
+
|
|
23
|
+
## Notes
|
|
24
|
+
- Uses browser automation (slightly slower than API)
|
|
25
|
+
- File must exist and be accessible
|
|
26
|
+
- Large files may take longer to upload`,
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: "object",
|
|
29
|
+
properties: {
|
|
30
|
+
notebook_id: {
|
|
31
|
+
type: "string",
|
|
32
|
+
description: "The notebook ID to add source to (UUID format)",
|
|
33
|
+
},
|
|
34
|
+
file_path: {
|
|
35
|
+
type: "string",
|
|
36
|
+
description: "Absolute path to the file to upload",
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
required: ["notebook_id", "file_path"],
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "create_notebook_remote",
|
|
44
|
+
description: `Create a new notebook directly in NotebookLM.
|
|
45
|
+
|
|
46
|
+
## What It Does
|
|
47
|
+
Creates a new empty notebook in your NotebookLM account via the API.
|
|
48
|
+
Returns the notebook ID and URL for immediate use.
|
|
49
|
+
|
|
50
|
+
## When to Use
|
|
51
|
+
- User wants to create a fresh notebook for a new topic
|
|
52
|
+
- Starting a new research project
|
|
53
|
+
- Need to organize sources into a new collection
|
|
54
|
+
|
|
55
|
+
## Parameters
|
|
56
|
+
- title (optional): Name for the notebook. Defaults to "Untitled notebook"
|
|
57
|
+
|
|
58
|
+
## Example
|
|
59
|
+
User: "Create a notebook for my Python learning"
|
|
60
|
+
You: Call create_notebook_remote with title="Python Learning"
|
|
61
|
+
|
|
62
|
+
## Notes
|
|
63
|
+
- The created notebook will be empty (no sources)
|
|
64
|
+
- Use add_url_source, add_text_source, etc. to add content
|
|
65
|
+
- The notebook is created in the authenticated user's account`,
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: "object",
|
|
68
|
+
properties: {
|
|
69
|
+
title: {
|
|
70
|
+
type: "string",
|
|
71
|
+
description: "Name for the new notebook (optional, defaults to 'Untitled notebook')",
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "rename_notebook_remote",
|
|
78
|
+
description: `Rename a notebook directly in NotebookLM.
|
|
79
|
+
|
|
80
|
+
## What It Does
|
|
81
|
+
Changes the title of an existing notebook via the API.
|
|
82
|
+
This updates the actual notebook in NotebookLM, not just local library metadata.
|
|
83
|
+
|
|
84
|
+
## When to Use
|
|
85
|
+
- User wants to rename an existing notebook
|
|
86
|
+
- Correcting typos in notebook names
|
|
87
|
+
- Updating notebook name to reflect new scope
|
|
88
|
+
|
|
89
|
+
## Parameters
|
|
90
|
+
- notebook_id (required): The notebook ID to rename
|
|
91
|
+
- new_title (required): The new name for the notebook
|
|
92
|
+
|
|
93
|
+
## Example
|
|
94
|
+
User: "Rename my AI notebook to 'Machine Learning Fundamentals'"
|
|
95
|
+
You: Get notebook ID from list_notebooks, then call rename_notebook_remote
|
|
96
|
+
|
|
97
|
+
## Notes
|
|
98
|
+
- This changes the name in NotebookLM, visible to all who have access
|
|
99
|
+
- Different from update_notebook which only updates local library metadata`,
|
|
100
|
+
inputSchema: {
|
|
101
|
+
type: "object",
|
|
102
|
+
properties: {
|
|
103
|
+
notebook_id: {
|
|
104
|
+
type: "string",
|
|
105
|
+
description: "The notebook ID to rename (UUID format)",
|
|
106
|
+
},
|
|
107
|
+
new_title: {
|
|
108
|
+
type: "string",
|
|
109
|
+
description: "The new title for the notebook",
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
required: ["notebook_id", "new_title"],
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: "delete_notebook_remote",
|
|
117
|
+
description: `DANGEROUS - Delete a notebook from NotebookLM permanently.
|
|
118
|
+
|
|
119
|
+
## What It Does
|
|
120
|
+
Permanently deletes a notebook and ALL its sources from NotebookLM.
|
|
121
|
+
This action CANNOT be undone.
|
|
122
|
+
|
|
123
|
+
## Confirmation Required
|
|
124
|
+
ALWAYS confirm with the user before calling this tool:
|
|
125
|
+
"Are you sure you want to PERMANENTLY DELETE '[notebook_name]' and all its sources? This cannot be undone."
|
|
126
|
+
|
|
127
|
+
## When to Use
|
|
128
|
+
- User explicitly asks to delete a notebook from NotebookLM
|
|
129
|
+
- Cleaning up unused notebooks
|
|
130
|
+
|
|
131
|
+
## Parameters
|
|
132
|
+
- notebook_id (required): The notebook ID to delete
|
|
133
|
+
|
|
134
|
+
## Example
|
|
135
|
+
User: "Delete my old test notebook"
|
|
136
|
+
You: "Are you sure you want to permanently delete 'Test Notebook' and all its X sources?"
|
|
137
|
+
User: "Yes, delete it"
|
|
138
|
+
You: Call delete_notebook_remote
|
|
139
|
+
|
|
140
|
+
## Notes
|
|
141
|
+
- Different from remove_notebook which only removes from local library
|
|
142
|
+
- This deletes from NotebookLM servers permanently
|
|
143
|
+
- All sources, notes, and generated content will be lost`,
|
|
144
|
+
inputSchema: {
|
|
145
|
+
type: "object",
|
|
146
|
+
properties: {
|
|
147
|
+
notebook_id: {
|
|
148
|
+
type: "string",
|
|
149
|
+
description: "The notebook ID to delete (UUID format)",
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
required: ["notebook_id"],
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
];
|
|
156
|
+
//# sourceMappingURL=notebook-crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-crud.js","sourceRoot":"","sources":["../../../src/tools/definitions/notebook-crud.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAW;IACvC;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT;;;;;;;;;;;;;;;;wCAgBkC;QACpC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gDAAgD;iBAC9D;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qCAAqC;iBACnD;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;SACvC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT;;;;;;;;;;;;;;;;;;;;;8DAqBwD;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uEAAuE;iBACrF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT;;;;;;;;;;;;;;;;;;;;;2EAqBqE;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;SACvC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT;;;;;;;;;;;;;;;;;;;;;;;;;;yDA0BmD;QACrD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-management.d.ts","sourceRoot":"","sources":["../../../src/tools/definitions/notebook-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,eAAO,MAAM,uBAAuB,EAAE,IAAI,EAwPzC,CAAC"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
export const notebookManagementTools = [
|
|
2
|
+
{
|
|
3
|
+
name: "add_notebook",
|
|
4
|
+
description: `PERMISSION REQUIRED — Only when user explicitly asks to add a notebook.
|
|
5
|
+
|
|
6
|
+
## Conversation Workflow (Mandatory)
|
|
7
|
+
When the user says: "I have a NotebookLM with X"
|
|
8
|
+
|
|
9
|
+
1) Ask URL: "What is the NotebookLM URL?"
|
|
10
|
+
2) Ask content: "What knowledge is inside?" (1–2 sentences)
|
|
11
|
+
3) Ask topics: "Which topics does it cover?" (3–5)
|
|
12
|
+
4) Ask use cases: "When should we consult it?"
|
|
13
|
+
5) Propose metadata and confirm:
|
|
14
|
+
- Name: [suggested]
|
|
15
|
+
- Description: [from user]
|
|
16
|
+
- Topics: [list]
|
|
17
|
+
- Use cases: [list]
|
|
18
|
+
"Add it to your library now?"
|
|
19
|
+
6) Only after explicit "Yes" → call this tool
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
- Do not add without user permission
|
|
23
|
+
- Do not guess metadata — ask concisely
|
|
24
|
+
- Confirm summary before calling the tool
|
|
25
|
+
|
|
26
|
+
## Example
|
|
27
|
+
User: "I have a notebook with n8n docs"
|
|
28
|
+
You: Ask URL → content → topics → use cases; propose summary
|
|
29
|
+
User: "Yes"
|
|
30
|
+
You: Call add_notebook
|
|
31
|
+
|
|
32
|
+
## How to Get a NotebookLM Share Link
|
|
33
|
+
|
|
34
|
+
Visit https://notebooklm.google/ → Login (free: 100 notebooks, 50 sources each, 500k words, 50 daily queries)
|
|
35
|
+
1) Click "+ New" (top right) → Upload sources (docs, knowledge)
|
|
36
|
+
2) Click "Share" (top right) → Select "Anyone with the link"
|
|
37
|
+
3) Click "Copy link" (bottom left) → Give this link to Claude
|
|
38
|
+
|
|
39
|
+
(Upgraded: Google AI Pro/Ultra gives 5x higher limits)`,
|
|
40
|
+
inputSchema: {
|
|
41
|
+
type: "object",
|
|
42
|
+
properties: {
|
|
43
|
+
url: {
|
|
44
|
+
type: "string",
|
|
45
|
+
description: "The NotebookLM notebook URL",
|
|
46
|
+
},
|
|
47
|
+
name: {
|
|
48
|
+
type: "string",
|
|
49
|
+
description: "Display name for the notebook (e.g., 'n8n Documentation')",
|
|
50
|
+
},
|
|
51
|
+
description: {
|
|
52
|
+
type: "string",
|
|
53
|
+
description: "What knowledge/content is in this notebook",
|
|
54
|
+
},
|
|
55
|
+
topics: {
|
|
56
|
+
type: "array",
|
|
57
|
+
items: { type: "string" },
|
|
58
|
+
description: "Topics covered in this notebook",
|
|
59
|
+
},
|
|
60
|
+
content_types: {
|
|
61
|
+
type: "array",
|
|
62
|
+
items: { type: "string" },
|
|
63
|
+
description: "Types of content (e.g., ['documentation', 'examples', 'best practices'])",
|
|
64
|
+
},
|
|
65
|
+
use_cases: {
|
|
66
|
+
type: "array",
|
|
67
|
+
items: { type: "string" },
|
|
68
|
+
description: "When should Claude use this notebook (e.g., ['Implementing n8n workflows'])",
|
|
69
|
+
},
|
|
70
|
+
tags: {
|
|
71
|
+
type: "array",
|
|
72
|
+
items: { type: "string" },
|
|
73
|
+
description: "Optional tags for organization",
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
required: ["url", "name", "description", "topics"],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "list_notebooks",
|
|
81
|
+
description: "List all library notebooks with metadata (name, topics, use cases, URL). " +
|
|
82
|
+
"Use this to present options, then ask which notebook to use for the task.",
|
|
83
|
+
inputSchema: {
|
|
84
|
+
type: "object",
|
|
85
|
+
properties: {},
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: "get_notebook",
|
|
90
|
+
description: "Get detailed information about a specific notebook by ID",
|
|
91
|
+
inputSchema: {
|
|
92
|
+
type: "object",
|
|
93
|
+
properties: {
|
|
94
|
+
id: {
|
|
95
|
+
type: "string",
|
|
96
|
+
description: "The notebook ID",
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
required: ["id"],
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: "select_notebook",
|
|
104
|
+
description: `Set a notebook as the active default (used when ask_question has no notebook_id).
|
|
105
|
+
|
|
106
|
+
## When To Use
|
|
107
|
+
- User switches context: "Let's work on React now"
|
|
108
|
+
- User asks explicitly to activate a notebook
|
|
109
|
+
- Obvious task change requires another notebook
|
|
110
|
+
|
|
111
|
+
## Auto-Switching
|
|
112
|
+
- Safe to auto-switch if the context is clear and you announce it:
|
|
113
|
+
"Switching to React notebook for this task..."
|
|
114
|
+
- If ambiguous, ask: "Switch to [notebook] for this task?"
|
|
115
|
+
|
|
116
|
+
## Example
|
|
117
|
+
User: "Now let's build the React frontend"
|
|
118
|
+
You: "Switching to React notebook..." (call select_notebook)`,
|
|
119
|
+
inputSchema: {
|
|
120
|
+
type: "object",
|
|
121
|
+
properties: {
|
|
122
|
+
id: {
|
|
123
|
+
type: "string",
|
|
124
|
+
description: "The notebook ID to activate",
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
required: ["id"],
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
name: "update_notebook",
|
|
132
|
+
description: `Update notebook metadata based on user intent.
|
|
133
|
+
|
|
134
|
+
## Pattern
|
|
135
|
+
1) Identify target notebook and fields (topics, description, use_cases, tags, url)
|
|
136
|
+
2) Propose the exact change back to the user
|
|
137
|
+
3) After explicit confirmation, call this tool
|
|
138
|
+
|
|
139
|
+
## Examples
|
|
140
|
+
- User: "React notebook also covers Next.js 14"
|
|
141
|
+
You: "Add 'Next.js 14' to topics for React?"
|
|
142
|
+
User: "Yes" → call update_notebook
|
|
143
|
+
|
|
144
|
+
- User: "Include error handling in n8n description"
|
|
145
|
+
You: "Update the n8n description to mention error handling?"
|
|
146
|
+
User: "Yes" → call update_notebook
|
|
147
|
+
|
|
148
|
+
Tip: You may update multiple fields at once if requested.`,
|
|
149
|
+
inputSchema: {
|
|
150
|
+
type: "object",
|
|
151
|
+
properties: {
|
|
152
|
+
id: {
|
|
153
|
+
type: "string",
|
|
154
|
+
description: "The notebook ID to update",
|
|
155
|
+
},
|
|
156
|
+
name: {
|
|
157
|
+
type: "string",
|
|
158
|
+
description: "New display name",
|
|
159
|
+
},
|
|
160
|
+
description: {
|
|
161
|
+
type: "string",
|
|
162
|
+
description: "New description",
|
|
163
|
+
},
|
|
164
|
+
topics: {
|
|
165
|
+
type: "array",
|
|
166
|
+
items: { type: "string" },
|
|
167
|
+
description: "New topics list",
|
|
168
|
+
},
|
|
169
|
+
content_types: {
|
|
170
|
+
type: "array",
|
|
171
|
+
items: { type: "string" },
|
|
172
|
+
description: "New content types",
|
|
173
|
+
},
|
|
174
|
+
use_cases: {
|
|
175
|
+
type: "array",
|
|
176
|
+
items: { type: "string" },
|
|
177
|
+
description: "New use cases",
|
|
178
|
+
},
|
|
179
|
+
tags: {
|
|
180
|
+
type: "array",
|
|
181
|
+
items: { type: "string" },
|
|
182
|
+
description: "New tags",
|
|
183
|
+
},
|
|
184
|
+
url: {
|
|
185
|
+
type: "string",
|
|
186
|
+
description: "New notebook URL",
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
required: ["id"],
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
name: "remove_notebook",
|
|
194
|
+
description: `Dangerous — requires explicit user confirmation.
|
|
195
|
+
|
|
196
|
+
## Confirmation Workflow
|
|
197
|
+
1) User requests removal ("Remove the React notebook")
|
|
198
|
+
2) Look up full name to confirm
|
|
199
|
+
3) Ask: "Remove '[notebook_name]' from your library? (Does not delete the actual NotebookLM notebook)"
|
|
200
|
+
4) Only on explicit "Yes" → call remove_notebook
|
|
201
|
+
|
|
202
|
+
Never remove without permission or based on assumptions.
|
|
203
|
+
|
|
204
|
+
Example:
|
|
205
|
+
User: "Delete the old React notebook"
|
|
206
|
+
You: "Remove 'React Best Practices' from your library?"
|
|
207
|
+
User: "Yes" → call remove_notebook`,
|
|
208
|
+
inputSchema: {
|
|
209
|
+
type: "object",
|
|
210
|
+
properties: {
|
|
211
|
+
id: {
|
|
212
|
+
type: "string",
|
|
213
|
+
description: "The notebook ID to remove",
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
required: ["id"],
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
name: "search_notebooks",
|
|
221
|
+
description: "Search library by query (name, description, topics, tags). " +
|
|
222
|
+
"Use to propose relevant notebooks for the task and then ask which to use.",
|
|
223
|
+
inputSchema: {
|
|
224
|
+
type: "object",
|
|
225
|
+
properties: {
|
|
226
|
+
query: {
|
|
227
|
+
type: "string",
|
|
228
|
+
description: "Search query",
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
required: ["query"],
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: "get_library_stats",
|
|
236
|
+
description: "Get statistics about your notebook library (total notebooks, usage, etc.)",
|
|
237
|
+
inputSchema: {
|
|
238
|
+
type: "object",
|
|
239
|
+
properties: {},
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
];
|
|
243
|
+
//# sourceMappingURL=notebook-management.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-management.js","sourceRoot":"","sources":["../../../src/tools/definitions/notebook-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Research Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* MCP tool definitions for research and source discovery.
|
|
5
|
+
*/
|
|
6
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Discover Sources tool
|
|
9
|
+
*/
|
|
10
|
+
export declare const discoverSourcesTool: Tool;
|
|
11
|
+
/**
|
|
12
|
+
* Import Source tool
|
|
13
|
+
*/
|
|
14
|
+
export declare const importSourceTool: Tool;
|
|
15
|
+
/**
|
|
16
|
+
* Research Topic tool
|
|
17
|
+
*/
|
|
18
|
+
export declare const researchTopicTool: Tool;
|
|
19
|
+
/**
|
|
20
|
+
* All research tools
|
|
21
|
+
*/
|
|
22
|
+
export declare const researchTools: Tool[];
|
|
23
|
+
//# sourceMappingURL=research.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../../src/tools/definitions/research.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,IAyBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,IA2B9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IA8B/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAAI,EAI/B,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Research Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* MCP tool definitions for research and source discovery.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Discover Sources tool
|
|
8
|
+
*/
|
|
9
|
+
export const discoverSourcesTool = {
|
|
10
|
+
name: 'discover_sources',
|
|
11
|
+
description: `Discover potential sources for a research topic.
|
|
12
|
+
|
|
13
|
+
Returns:
|
|
14
|
+
- Search query suggestions optimized for finding quality sources
|
|
15
|
+
- Recommended source types (academic papers, documentation, etc.)
|
|
16
|
+
- Tips for finding relevant content
|
|
17
|
+
|
|
18
|
+
Use this to get ideas for sources to add to your notebook.
|
|
19
|
+
After finding sources, use import_source to add them.`,
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: {
|
|
23
|
+
topic: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'The research topic or subject to find sources for.',
|
|
26
|
+
},
|
|
27
|
+
notebook_id: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
description: 'Optional notebook ID. If not provided, uses the active notebook.',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
required: ['topic'],
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Import Source tool
|
|
37
|
+
*/
|
|
38
|
+
export const importSourceTool = {
|
|
39
|
+
name: 'import_source',
|
|
40
|
+
description: `Import a source URL into a notebook.
|
|
41
|
+
|
|
42
|
+
Validates the URL and adds it as a source to the notebook.
|
|
43
|
+
Supported sources:
|
|
44
|
+
- Web pages (Wikipedia, documentation sites, etc.)
|
|
45
|
+
- YouTube videos
|
|
46
|
+
- Google Drive files
|
|
47
|
+
- Academic papers (arXiv, etc.)
|
|
48
|
+
- GitHub repositories
|
|
49
|
+
|
|
50
|
+
The source will be processed and indexed for Q&A and content generation.`,
|
|
51
|
+
inputSchema: {
|
|
52
|
+
type: 'object',
|
|
53
|
+
properties: {
|
|
54
|
+
url: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
description: 'The URL of the source to import.',
|
|
57
|
+
},
|
|
58
|
+
notebook_id: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: 'ID of the notebook to import into. If not provided, uses the active notebook.',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
required: ['url'],
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Research Topic tool
|
|
68
|
+
*/
|
|
69
|
+
export const researchTopicTool = {
|
|
70
|
+
name: 'research_topic',
|
|
71
|
+
description: `Research a topic and optionally auto-import sources.
|
|
72
|
+
|
|
73
|
+
This is a workflow tool that:
|
|
74
|
+
1. Generates search queries for the topic
|
|
75
|
+
2. Suggests source types to look for
|
|
76
|
+
3. Optionally auto-imports starter sources (Wikipedia, etc.)
|
|
77
|
+
|
|
78
|
+
Use this as a starting point for building a research notebook.
|
|
79
|
+
You can then manually add more specific sources using import_source.`,
|
|
80
|
+
inputSchema: {
|
|
81
|
+
type: 'object',
|
|
82
|
+
properties: {
|
|
83
|
+
topic: {
|
|
84
|
+
type: 'string',
|
|
85
|
+
description: 'The research topic or subject.',
|
|
86
|
+
},
|
|
87
|
+
notebook_id: {
|
|
88
|
+
type: 'string',
|
|
89
|
+
description: 'ID of the notebook to research in. If not provided, uses the active notebook.',
|
|
90
|
+
},
|
|
91
|
+
auto_import: {
|
|
92
|
+
type: 'boolean',
|
|
93
|
+
description: 'If true, automatically imports starter sources (e.g., Wikipedia). Default: false.',
|
|
94
|
+
default: false,
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
required: ['topic'],
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* All research tools
|
|
102
|
+
*/
|
|
103
|
+
export const researchTools = [
|
|
104
|
+
discoverSourcesTool,
|
|
105
|
+
importSourceTool,
|
|
106
|
+
researchTopicTool,
|
|
107
|
+
];
|
|
108
|
+
//# sourceMappingURL=research.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/tools/definitions/research.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAS;IACrC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE;;;;;;;;sDAQqC;IAClD,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oDAAoD;aACpE;YACD,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kEAAkE;aAClF;SACJ;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACtB;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAS;IAClC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE;;;;;;;;;;yEAUwD;IACrE,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,GAAG,EAAE;gBACD,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAClD;YACD,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+EAA+E;aAC/F;SACJ;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KACpB;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACnC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;;;;;;;;qEAQoD;IACjE,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gCAAgC;aAChD;YACD,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+EAA+E;aAC/F;YACD,WAAW,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,mFAAmF;gBAChG,OAAO,EAAE,KAAK;aACjB;SACJ;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACtB;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAW;IACjC,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;CACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-management.d.ts","sourceRoot":"","sources":["../../../src/tools/definitions/session-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,eAAO,MAAM,sBAAsB,EAAE,IAAI,EAyCxC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export const sessionManagementTools = [
|
|
2
|
+
{
|
|
3
|
+
name: "list_sessions",
|
|
4
|
+
description: "List all active sessions with stats (age, message count, last activity). " +
|
|
5
|
+
"Use to continue the most relevant session instead of starting from scratch.",
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: "close_session",
|
|
13
|
+
description: "Close a specific session by session ID. Ask before closing if the user might still need it.",
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: "object",
|
|
16
|
+
properties: {
|
|
17
|
+
session_id: {
|
|
18
|
+
type: "string",
|
|
19
|
+
description: "The session ID to close",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
required: ["session_id"],
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "reset_session",
|
|
27
|
+
description: "Reset a session's chat history (keep same session ID). " +
|
|
28
|
+
"Use for a clean slate when the task changes; ask the user before resetting.",
|
|
29
|
+
inputSchema: {
|
|
30
|
+
type: "object",
|
|
31
|
+
properties: {
|
|
32
|
+
session_id: {
|
|
33
|
+
type: "string",
|
|
34
|
+
description: "The session ID to reset",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
required: ["session_id"],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
//# sourceMappingURL=session-management.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-management.js","sourceRoot":"","sources":["../../../src/tools/definitions/session-management.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAW;IAC5C;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2EAA2E;YAC3E,6EAA6E;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6FAA6F;QAC1G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,yDAAyD;YACzD,6EAA6E;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Source Management Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* MCP tool definitions for managing sources in NotebookLM notebooks.
|
|
5
|
+
*/
|
|
6
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* List Sources tool
|
|
9
|
+
*/
|
|
10
|
+
export declare const listSourcesTool: Tool;
|
|
11
|
+
/**
|
|
12
|
+
* Add URL Source tool
|
|
13
|
+
*/
|
|
14
|
+
export declare const addURLSourceTool: Tool;
|
|
15
|
+
/**
|
|
16
|
+
* Add Text Source tool
|
|
17
|
+
*/
|
|
18
|
+
export declare const addTextSourceTool: Tool;
|
|
19
|
+
/**
|
|
20
|
+
* Add YouTube Source tool
|
|
21
|
+
*/
|
|
22
|
+
export declare const addYouTubeSourceTool: Tool;
|
|
23
|
+
/**
|
|
24
|
+
* Add Google Drive Source tool
|
|
25
|
+
*/
|
|
26
|
+
export declare const addDriveSourceTool: Tool;
|
|
27
|
+
/**
|
|
28
|
+
* Delete Source tool
|
|
29
|
+
*/
|
|
30
|
+
export declare const deleteSourceTool: Tool;
|
|
31
|
+
/**
|
|
32
|
+
* Summarize Source tool
|
|
33
|
+
*/
|
|
34
|
+
export declare const summarizeSourceTool: Tool;
|
|
35
|
+
/**
|
|
36
|
+
* All source management tools
|
|
37
|
+
*/
|
|
38
|
+
export declare const sourceManagementTools: Tool[];
|
|
39
|
+
//# sourceMappingURL=source-management.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-management.d.ts","sourceRoot":"","sources":["../../../src/tools/definitions/source-management.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAqB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,IA0B9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IA6B/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,IAyBlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,IA0BhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,IAyB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,IA0BjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,IAAI,EAQvC,CAAC"}
|