notebooklm-api 0.2.0
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/CHANGELOG.md +42 -0
- package/LICENSE +21 -0
- package/README.md +113 -0
- package/dist/api/artifacts.d.ts +155 -0
- package/dist/api/artifacts.d.ts.map +1 -0
- package/dist/api/chat.d.ts +63 -0
- package/dist/api/chat.d.ts.map +1 -0
- package/dist/api/notebooks.d.ts +91 -0
- package/dist/api/notebooks.d.ts.map +1 -0
- package/dist/api/notes.d.ts +56 -0
- package/dist/api/notes.d.ts.map +1 -0
- package/dist/api/research.d.ts +63 -0
- package/dist/api/research.d.ts.map +1 -0
- package/dist/api/sources.d.ts +136 -0
- package/dist/api/sources.d.ts.map +1 -0
- package/dist/auth.d.ts +82 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/cli/commands/chat.d.ts +7 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/generate.d.ts +6 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/login.d.ts +8 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/notebook.d.ts +8 -0
- package/dist/cli/commands/notebook.d.ts.map +1 -0
- package/dist/cli/commands/research.d.ts +6 -0
- package/dist/cli/commands/research.d.ts.map +1 -0
- package/dist/cli/commands/source.d.ts +6 -0
- package/dist/cli/commands/source.d.ts.map +1 -0
- package/dist/cli/helpers.d.ts +55 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +18930 -0
- package/dist/client.d.ts +134 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/core.d.ts +65 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/errors.d.ts +68 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15519 -0
- package/dist/logger.d.ts +28 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/paths.d.ts +36 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/rpc/decoder.d.ts +81 -0
- package/dist/rpc/decoder.d.ts.map +1 -0
- package/dist/rpc/encoder.d.ts +48 -0
- package/dist/rpc/encoder.d.ts.map +1 -0
- package/dist/rpc/index.d.ts +7 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/types.d.ts +148 -0
- package/dist/rpc/types.d.ts.map +1 -0
- package/dist/types.d.ts +226 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +63 -0
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NotebookLM Client
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for interacting with Google NotebookLM.
|
|
5
|
+
*/
|
|
6
|
+
import { AuthTokens } from './auth.ts';
|
|
7
|
+
import { NotebooksAPI } from './api/notebooks.ts';
|
|
8
|
+
import { SourcesAPI } from './api/sources.ts';
|
|
9
|
+
import { ChatAPI } from './api/chat.ts';
|
|
10
|
+
import { ArtifactsAPI } from './api/artifacts.ts';
|
|
11
|
+
import { ResearchAPI } from './api/research.ts';
|
|
12
|
+
import { NotesAPI } from './api/notes.ts';
|
|
13
|
+
/**
|
|
14
|
+
* Main client for NotebookLM API.
|
|
15
|
+
*
|
|
16
|
+
* Provides access to NotebookLM functionality through namespaced sub-clients:
|
|
17
|
+
* - `notebooks` - Notebook management
|
|
18
|
+
* - `sources` - Source document management
|
|
19
|
+
* - `chat` - Conversational AI interactions
|
|
20
|
+
* - `artifacts` - AI-generated content (audio, video, reports, etc.)
|
|
21
|
+
* - `research` - Web and Drive research
|
|
22
|
+
* - `notes` - User notes management
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const client = await NotebookLMClient.fromStorage();
|
|
27
|
+
*
|
|
28
|
+
* // List notebooks
|
|
29
|
+
* const notebooks = await client.notebooks.list();
|
|
30
|
+
*
|
|
31
|
+
* // Create a notebook
|
|
32
|
+
* const nb = await client.notebooks.create("My Research");
|
|
33
|
+
*
|
|
34
|
+
* // Add a source
|
|
35
|
+
* const source = await client.sources.addUrl(nb.id, "https://example.com");
|
|
36
|
+
*
|
|
37
|
+
* // Ask a question
|
|
38
|
+
* const result = await client.chat.ask(nb.id, "Summarize this content");
|
|
39
|
+
* console.log(result.answer);
|
|
40
|
+
*
|
|
41
|
+
* // Generate audio overview
|
|
42
|
+
* const status = await client.artifacts.generateAudio(nb.id);
|
|
43
|
+
* await client.artifacts.waitForGeneration(nb.id, status.artifactId);
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare class NotebookLMClient {
|
|
47
|
+
private core;
|
|
48
|
+
/**
|
|
49
|
+
* Notebook management API
|
|
50
|
+
*/
|
|
51
|
+
readonly notebooks: NotebooksAPI;
|
|
52
|
+
/**
|
|
53
|
+
* Source document management API
|
|
54
|
+
*/
|
|
55
|
+
readonly sources: SourcesAPI;
|
|
56
|
+
/**
|
|
57
|
+
* Conversational AI API
|
|
58
|
+
*/
|
|
59
|
+
readonly chat: ChatAPI;
|
|
60
|
+
/**
|
|
61
|
+
* AI-generated content API
|
|
62
|
+
*/
|
|
63
|
+
readonly artifacts: ArtifactsAPI;
|
|
64
|
+
/**
|
|
65
|
+
* Web and Drive research API
|
|
66
|
+
*/
|
|
67
|
+
readonly research: ResearchAPI;
|
|
68
|
+
/**
|
|
69
|
+
* User notes management API
|
|
70
|
+
*/
|
|
71
|
+
readonly notes: NotesAPI;
|
|
72
|
+
/**
|
|
73
|
+
* Creates a new NotebookLMClient instance.
|
|
74
|
+
*
|
|
75
|
+
* Prefer using `fromStorage()` for most use cases.
|
|
76
|
+
*
|
|
77
|
+
* @param auth - Authentication tokens
|
|
78
|
+
*/
|
|
79
|
+
constructor(auth: AuthTokens);
|
|
80
|
+
/**
|
|
81
|
+
* Creates a NotebookLMClient from a Playwright storage state file.
|
|
82
|
+
*
|
|
83
|
+
* This is the recommended way to create a client after running
|
|
84
|
+
* `notebooklm login` to authenticate.
|
|
85
|
+
*
|
|
86
|
+
* @param storagePath - Path to storage state file (optional, uses default if not specified)
|
|
87
|
+
* @returns Promise resolving to a configured client
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* // Use default storage path (~/.notebooklm/storage-state.json)
|
|
92
|
+
* const client = await NotebookLMClient.fromStorage();
|
|
93
|
+
*
|
|
94
|
+
* // Use custom storage path
|
|
95
|
+
* const client = await NotebookLMClient.fromStorage('/path/to/storage.json');
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
static fromStorage(storagePath?: string): Promise<NotebookLMClient>;
|
|
99
|
+
/**
|
|
100
|
+
* Refreshes authentication tokens.
|
|
101
|
+
*
|
|
102
|
+
* Call this if you encounter "Session Expired" errors. The client
|
|
103
|
+
* will automatically attempt to refresh on auth errors, but you
|
|
104
|
+
* can call this proactively.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* // Proactively refresh before a long operation
|
|
109
|
+
* await client.refreshAuth();
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
refreshAuth(): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Gets the current authentication tokens.
|
|
115
|
+
*
|
|
116
|
+
* Useful for debugging or saving state.
|
|
117
|
+
*/
|
|
118
|
+
getAuth(): AuthTokens;
|
|
119
|
+
/**
|
|
120
|
+
* Checks if the client is authenticated.
|
|
121
|
+
*/
|
|
122
|
+
isAuthenticated(): boolean;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Creates a NotebookLMClient using the async context manager pattern.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* await using client = await createClient();
|
|
130
|
+
* const notebooks = await client.notebooks.list();
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
export declare function createClient(storagePath?: string): Promise<NotebookLMClient>;
|
|
134
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAa;IAEzB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;;;;;OAMG;gBACS,IAAI,EAAE,UAAU;IAc5B;;;;;;;;;;;;;;;;;OAiBG;WACU,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOzE;;;;;;;;;;;;OAYG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC;;;;OAIG;IACH,OAAO,IAAI,UAAU;IAIrB;;OAEG;IACH,eAAe,IAAI,OAAO;CAG3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
|
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Client Implementation for NotebookLM API
|
|
3
|
+
*
|
|
4
|
+
* Handles HTTP communication, RPC encoding/decoding, and authentication.
|
|
5
|
+
*/
|
|
6
|
+
import { AuthTokens } from './auth.ts';
|
|
7
|
+
import { type RPCMethod, type RPCParams } from './rpc/types.ts';
|
|
8
|
+
import type { ConversationTurn } from './types.ts';
|
|
9
|
+
/**
|
|
10
|
+
* Core client for NotebookLM API communication.
|
|
11
|
+
*
|
|
12
|
+
* This is an internal component used by higher-level sub-client APIs.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ClientCore {
|
|
15
|
+
private auth;
|
|
16
|
+
private refreshLock;
|
|
17
|
+
private conversationCache;
|
|
18
|
+
constructor(auth: AuthTokens);
|
|
19
|
+
/**
|
|
20
|
+
* Gets the current auth tokens.
|
|
21
|
+
*/
|
|
22
|
+
getAuth(): AuthTokens;
|
|
23
|
+
/**
|
|
24
|
+
* Executes an RPC call to the NotebookLM API.
|
|
25
|
+
*
|
|
26
|
+
* @param method - The RPC method to call
|
|
27
|
+
* @param params - Parameters for the RPC call
|
|
28
|
+
* @param retryOnAuthError - Whether to retry on auth failure
|
|
29
|
+
* @returns The decoded response data
|
|
30
|
+
*/
|
|
31
|
+
rpcCall(method: RPCMethod, params: RPCParams, retryOnAuthError?: boolean): Promise<unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Refreshes authentication tokens.
|
|
34
|
+
*
|
|
35
|
+
* Uses a lock to ensure only one refresh runs at a time.
|
|
36
|
+
*/
|
|
37
|
+
refreshAuth(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Uploads a file to NotebookLM.
|
|
40
|
+
*
|
|
41
|
+
* Uses Google's resumable upload protocol.
|
|
42
|
+
*/
|
|
43
|
+
uploadFile(notebookId: string, filename: string, content: Uint8Array, contentType: string): Promise<string>;
|
|
44
|
+
/**
|
|
45
|
+
* Downloads content from a URL with authentication.
|
|
46
|
+
*/
|
|
47
|
+
download(url: string): Promise<Response>;
|
|
48
|
+
/**
|
|
49
|
+
* Gets cached conversation turns for a conversation ID.
|
|
50
|
+
*/
|
|
51
|
+
getCachedTurns(conversationId: string): ConversationTurn[];
|
|
52
|
+
/**
|
|
53
|
+
* Adds a turn to the conversation cache.
|
|
54
|
+
*/
|
|
55
|
+
addCachedTurn(conversationId: string, turn: ConversationTurn): void;
|
|
56
|
+
/**
|
|
57
|
+
* Clears the conversation cache.
|
|
58
|
+
*/
|
|
59
|
+
clearConversationCache(conversationId?: string): void;
|
|
60
|
+
/**
|
|
61
|
+
* Extracts source IDs from a notebook response.
|
|
62
|
+
*/
|
|
63
|
+
extractSourceIds(notebookData: unknown): string[];
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AACtD,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAexB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOnD;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,iBAAiB,CAA8C;gBAE3D,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,OAAO,IAAI,UAAU;IAIrB;;;;;;;OAOG;IACG,OAAO,CACX,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,EACjB,gBAAgB,UAAO,GACtB,OAAO,CAAC,OAAO,CAAC;IA6CnB;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBlC;;;;OAIG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IAsDlB;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAa9C;;OAEG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAI1D;;OAEG;IACH,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAkBnE;;OAEG;IACH,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAYrD;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,EAAE;CAiBlD"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Classes for NotebookLM Client
|
|
3
|
+
*/
|
|
4
|
+
export { RPCError, AuthError } from './rpc/decoder.ts';
|
|
5
|
+
/**
|
|
6
|
+
* Base error class for source-related errors
|
|
7
|
+
*/
|
|
8
|
+
export declare class SourceError extends Error {
|
|
9
|
+
readonly sourceId?: string | undefined;
|
|
10
|
+
readonly notebookId?: string | undefined;
|
|
11
|
+
constructor(message: string, sourceId?: string | undefined, notebookId?: string | undefined);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Error thrown when source processing fails
|
|
15
|
+
*/
|
|
16
|
+
export declare class SourceProcessingError extends SourceError {
|
|
17
|
+
readonly errorCode?: number | undefined;
|
|
18
|
+
constructor(message: string, sourceId?: string, notebookId?: string, errorCode?: number | undefined);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Error thrown when waiting for source processing times out
|
|
22
|
+
*/
|
|
23
|
+
export declare class SourceTimeoutError extends SourceError {
|
|
24
|
+
readonly elapsedMs?: number | undefined;
|
|
25
|
+
constructor(message: string, sourceId?: string, notebookId?: string, elapsedMs?: number | undefined);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Error thrown when a source is not found
|
|
29
|
+
*/
|
|
30
|
+
export declare class SourceNotFoundError extends SourceError {
|
|
31
|
+
constructor(sourceId: string, notebookId?: string);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Error thrown when a notebook is not found
|
|
35
|
+
*/
|
|
36
|
+
export declare class NotebookNotFoundError extends Error {
|
|
37
|
+
readonly notebookId: string;
|
|
38
|
+
constructor(notebookId: string);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Error thrown when artifact generation fails
|
|
42
|
+
*/
|
|
43
|
+
export declare class GenerationError extends Error {
|
|
44
|
+
readonly artifactId?: string | undefined;
|
|
45
|
+
readonly contentType?: string | undefined;
|
|
46
|
+
constructor(message: string, artifactId?: string | undefined, contentType?: string | undefined);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Error thrown when artifact generation times out
|
|
50
|
+
*/
|
|
51
|
+
export declare class GenerationTimeoutError extends GenerationError {
|
|
52
|
+
readonly elapsedMs?: number | undefined;
|
|
53
|
+
constructor(message: string, artifactId?: string, contentType?: string, elapsedMs?: number | undefined);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Error thrown when research operations fail
|
|
57
|
+
*/
|
|
58
|
+
export declare class ResearchError extends Error {
|
|
59
|
+
readonly taskId?: string | undefined;
|
|
60
|
+
constructor(message: string, taskId?: string | undefined);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Error thrown for invalid configuration
|
|
64
|
+
*/
|
|
65
|
+
export declare class ConfigurationError extends Error {
|
|
66
|
+
constructor(message: string);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;aAGlB,QAAQ,CAAC,EAAE,MAAM;aACjB,UAAU,CAAC,EAAE,MAAM;gBAFnC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,UAAU,CAAC,EAAE,MAAM,YAAA;CAKtC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;aAKlC,SAAS,CAAC,EAAE,MAAM;gBAHlC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACH,SAAS,CAAC,EAAE,MAAM,YAAA;CAKrC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;aAK/B,SAAS,CAAC,EAAE,MAAM;gBAHlC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACH,SAAS,CAAC,EAAE,MAAM,YAAA;CAKrC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAIlD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAClB,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;CAI/C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,UAAU,CAAC,EAAE,MAAM;aACnB,WAAW,CAAC,EAAE,MAAM;gBAFpC,OAAO,EAAE,MAAM,EACC,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,WAAW,CAAC,EAAE,MAAM,YAAA;CAKvC;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;aAKvC,SAAS,CAAC,EAAE,MAAM;gBAHlC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACJ,SAAS,CAAC,EAAE,MAAM,YAAA;CAKrC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGpB,MAAM,CAAC,EAAE,MAAM;gBAD/B,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA;CAKlC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NotebookLM TypeScript Client
|
|
3
|
+
*
|
|
4
|
+
* An unofficial TypeScript client for Google NotebookLM.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { NotebookLMClient } from 'notebooklm';
|
|
9
|
+
*
|
|
10
|
+
* const client = await NotebookLMClient.fromStorage();
|
|
11
|
+
*
|
|
12
|
+
* // List notebooks
|
|
13
|
+
* const notebooks = await client.notebooks.list();
|
|
14
|
+
*
|
|
15
|
+
* // Create a notebook and add sources
|
|
16
|
+
* const nb = await client.notebooks.create("My Research");
|
|
17
|
+
* await client.sources.addUrl(nb.id, "https://example.com");
|
|
18
|
+
*
|
|
19
|
+
* // Ask questions
|
|
20
|
+
* const result = await client.chat.ask(nb.id, "Summarize this");
|
|
21
|
+
* console.log(result.answer);
|
|
22
|
+
*
|
|
23
|
+
* // Generate audio overview
|
|
24
|
+
* const status = await client.artifacts.generateAudio(nb.id);
|
|
25
|
+
* await client.artifacts.waitForGeneration(nb.id, status.artifactId);
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* This library uses undocumented Google APIs that can change without notice.
|
|
30
|
+
* It is best suited for prototyping, research, and personal projects.
|
|
31
|
+
*
|
|
32
|
+
* @packageDocumentation
|
|
33
|
+
*/
|
|
34
|
+
export { NotebookLMClient, createClient } from './client.ts';
|
|
35
|
+
export { AuthTokens } from './auth.ts';
|
|
36
|
+
export { DEFAULT_STORAGE_PATH, DEFAULT_DATA_DIR } from './paths.ts';
|
|
37
|
+
export type { Notebook, NotebookDescription, SuggestedTopic, Source, SourceType, SourceFulltext, SourceSection, SourceGuide, AskResult, ChatReference, ConversationTurn, ChatConfig, Artifact, GenerationStatus, AudioOptions, VideoOptions, ReportOptions, QuizOptions, FlashcardOptions, MindMapOptions, InfographicOptions, SlideOptions, DataTableOptions, ResearchTask, ResearchResult, ResearchSource, Note, Cookie, } from './types.ts';
|
|
38
|
+
export { StudioContentType, AudioFormat, AudioLength, VideoFormat, VideoStyle, QuizDifficulty, ReportFormat, InfographicOrientation, ChatMode, ResponseLength, ResearchSourceType, ResearchMode, SourceStatus, GenerationStatusCode, DriveDocType, ExportDestination, } from './types.ts';
|
|
39
|
+
export { RPCError, AuthError, SourceError, SourceProcessingError, SourceTimeoutError, SourceNotFoundError, NotebookNotFoundError, GenerationError, GenerationTimeoutError, ResearchError, ConfigurationError, } from './errors.ts';
|
|
40
|
+
export { setLogLevel, getLogLevel, createLogger } from './logger.ts';
|
|
41
|
+
export declare const VERSION = "0.1.0";
|
|
42
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGpE,YAAY,EAEV,QAAQ,EACR,mBAAmB,EACnB,cAAc,EAGd,MAAM,EACN,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EAGX,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,UAAU,EAGV,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAGhB,YAAY,EACZ,cAAc,EACd,cAAc,EAGd,IAAI,EAGJ,MAAM,GACP,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGrE,eAAO,MAAM,OAAO,UAAU,CAAC"}
|