10x-chat 0.2.3 → 0.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/dist/core/bundle.d.ts.map +1 -1
- package/dist/core/bundle.js +0 -2
- package/dist/core/bundle.js.map +1 -1
- package/dist/notebooklm/api/artifacts.d.ts +60 -0
- package/dist/notebooklm/api/artifacts.d.ts.map +1 -0
- package/dist/notebooklm/api/artifacts.js +1246 -0
- package/dist/notebooklm/api/artifacts.js.map +1 -0
- package/dist/notebooklm/api/chat.d.ts +21 -0
- package/dist/notebooklm/api/chat.d.ts.map +1 -0
- package/dist/notebooklm/api/chat.js +353 -0
- package/dist/notebooklm/api/chat.js.map +1 -0
- package/dist/notebooklm/api/notebooks.d.ts +22 -0
- package/dist/notebooklm/api/notebooks.d.ts.map +1 -0
- package/dist/notebooklm/api/notebooks.js +109 -0
- package/dist/notebooklm/api/notebooks.js.map +1 -0
- package/dist/notebooklm/api/notes.d.ts +18 -0
- package/dist/notebooklm/api/notes.d.ts.map +1 -0
- package/dist/notebooklm/api/notes.js +140 -0
- package/dist/notebooklm/api/notes.js.map +1 -0
- package/dist/notebooklm/api/research.d.ts +12 -0
- package/dist/notebooklm/api/research.d.ts.map +1 -0
- package/dist/notebooklm/api/research.js +168 -0
- package/dist/notebooklm/api/research.js.map +1 -0
- package/dist/notebooklm/api/settings.d.ts +11 -0
- package/dist/notebooklm/api/settings.d.ts.map +1 -0
- package/dist/notebooklm/api/settings.js +55 -0
- package/dist/notebooklm/api/settings.js.map +1 -0
- package/dist/notebooklm/api/sharing.d.ts +14 -0
- package/dist/notebooklm/api/sharing.d.ts.map +1 -0
- package/dist/notebooklm/api/sharing.js +70 -0
- package/dist/notebooklm/api/sharing.js.map +1 -0
- package/dist/notebooklm/api/sources.d.ts +34 -0
- package/dist/notebooklm/api/sources.d.ts.map +1 -0
- package/dist/notebooklm/api/sources.js +539 -0
- package/dist/notebooklm/api/sources.js.map +1 -0
- package/dist/notebooklm/auth.d.ts +30 -0
- package/dist/notebooklm/auth.d.ts.map +1 -0
- package/dist/notebooklm/auth.js +265 -0
- package/dist/notebooklm/auth.js.map +1 -0
- package/dist/notebooklm/client.d.ts +29 -0
- package/dist/notebooklm/client.d.ts.map +1 -0
- package/dist/notebooklm/client.js +94 -0
- package/dist/notebooklm/client.js.map +1 -0
- package/dist/notebooklm/core.d.ts +52 -0
- package/dist/notebooklm/core.d.ts.map +1 -0
- package/dist/notebooklm/core.js +330 -0
- package/dist/notebooklm/core.js.map +1 -0
- package/dist/notebooklm/errors.d.ts +189 -0
- package/dist/notebooklm/errors.d.ts.map +1 -0
- package/dist/notebooklm/errors.js +325 -0
- package/dist/notebooklm/errors.js.map +1 -0
- package/dist/notebooklm/index.d.ts +16 -0
- package/dist/notebooklm/index.d.ts.map +1 -0
- package/dist/notebooklm/index.js +16 -0
- package/dist/notebooklm/index.js.map +1 -0
- package/dist/notebooklm/paths.d.ts +12 -0
- package/dist/notebooklm/paths.d.ts.map +1 -0
- package/dist/notebooklm/paths.js +49 -0
- package/dist/notebooklm/paths.js.map +1 -0
- package/dist/notebooklm/rpc/decoder.d.ts +8 -0
- package/dist/notebooklm/rpc/decoder.d.ts.map +1 -0
- package/dist/notebooklm/rpc/decoder.js +182 -0
- package/dist/notebooklm/rpc/decoder.js.map +1 -0
- package/dist/notebooklm/rpc/encoder.d.ts +12 -0
- package/dist/notebooklm/rpc/encoder.d.ts.map +1 -0
- package/dist/notebooklm/rpc/encoder.js +36 -0
- package/dist/notebooklm/rpc/encoder.js.map +1 -0
- package/dist/notebooklm/rpc/index.d.ts +4 -0
- package/dist/notebooklm/rpc/index.d.ts.map +1 -0
- package/dist/notebooklm/rpc/index.js +4 -0
- package/dist/notebooklm/rpc/index.js.map +1 -0
- package/dist/notebooklm/rpc/types.d.ts +168 -0
- package/dist/notebooklm/rpc/types.d.ts.map +1 -0
- package/dist/notebooklm/rpc/types.js +206 -0
- package/dist/notebooklm/rpc/types.js.map +1 -0
- package/dist/notebooklm/types.d.ts +220 -0
- package/dist/notebooklm/types.d.ts.map +1 -0
- package/dist/notebooklm/types.js +488 -0
- package/dist/notebooklm/types.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/notebooklm.d.ts +4 -0
- package/dist/providers/notebooklm.d.ts.map +1 -0
- package/dist/providers/notebooklm.js +98 -0
- package/dist/providers/notebooklm.js.map +1 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +2 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exceptions for notebooklm.
|
|
3
|
+
*
|
|
4
|
+
* All library exceptions inherit from NotebookLMError.
|
|
5
|
+
*/
|
|
6
|
+
export class NotebookLMError extends Error {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.name = 'NotebookLMError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class ValidationError extends NotebookLMError {
|
|
13
|
+
constructor(message) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.name = 'ValidationError';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class ConfigurationError extends NotebookLMError {
|
|
19
|
+
constructor(message) {
|
|
20
|
+
super(message);
|
|
21
|
+
this.name = 'ConfigurationError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class NetworkError extends NotebookLMError {
|
|
25
|
+
methodId;
|
|
26
|
+
originalError;
|
|
27
|
+
constructor(message, opts = {}) {
|
|
28
|
+
super(message);
|
|
29
|
+
this.name = 'NetworkError';
|
|
30
|
+
this.methodId = opts.methodId ?? null;
|
|
31
|
+
this.originalError = opts.originalError ?? null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class RPCError extends NotebookLMError {
|
|
35
|
+
methodId;
|
|
36
|
+
rawResponse;
|
|
37
|
+
rpcCode;
|
|
38
|
+
foundIds;
|
|
39
|
+
constructor(message, opts = {}) {
|
|
40
|
+
super(message);
|
|
41
|
+
this.name = 'RPCError';
|
|
42
|
+
this.methodId = opts.methodId ?? null;
|
|
43
|
+
this.rawResponse = opts.rawResponse ? opts.rawResponse.slice(0, 500) : null;
|
|
44
|
+
this.rpcCode = opts.rpcCode ?? null;
|
|
45
|
+
this.foundIds = opts.foundIds ?? [];
|
|
46
|
+
}
|
|
47
|
+
get rpcId() {
|
|
48
|
+
console.warn("The 'rpcId' property is deprecated, use 'methodId' instead.");
|
|
49
|
+
return this.methodId;
|
|
50
|
+
}
|
|
51
|
+
get code() {
|
|
52
|
+
console.warn("The 'code' property is deprecated, use 'rpcCode' instead.");
|
|
53
|
+
return this.rpcCode;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export class DecodingError extends RPCError {
|
|
57
|
+
constructor(message, opts = {}) {
|
|
58
|
+
super(message, opts);
|
|
59
|
+
this.name = 'DecodingError';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export class UnknownRPCMethodError extends DecodingError {
|
|
63
|
+
constructor(message, opts = {}) {
|
|
64
|
+
super(message, opts);
|
|
65
|
+
this.name = 'UnknownRPCMethodError';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export class AuthError extends RPCError {
|
|
69
|
+
recoverable;
|
|
70
|
+
constructor(message, opts = {}) {
|
|
71
|
+
super(message, opts);
|
|
72
|
+
this.name = 'AuthError';
|
|
73
|
+
this.recoverable = opts.recoverable ?? false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export class RateLimitError extends RPCError {
|
|
77
|
+
retryAfter;
|
|
78
|
+
constructor(message, opts = {}) {
|
|
79
|
+
super(message, opts);
|
|
80
|
+
this.name = 'RateLimitError';
|
|
81
|
+
this.retryAfter = opts.retryAfter ?? null;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export class ServerError extends RPCError {
|
|
85
|
+
statusCode;
|
|
86
|
+
constructor(message, opts = {}) {
|
|
87
|
+
super(message, opts);
|
|
88
|
+
this.name = 'ServerError';
|
|
89
|
+
this.statusCode = opts.statusCode ?? null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export class ClientError extends RPCError {
|
|
93
|
+
statusCode;
|
|
94
|
+
constructor(message, opts = {}) {
|
|
95
|
+
super(message, opts);
|
|
96
|
+
this.name = 'ClientError';
|
|
97
|
+
this.statusCode = opts.statusCode ?? null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export class RPCTimeoutError extends NetworkError {
|
|
101
|
+
timeoutSeconds;
|
|
102
|
+
constructor(message, opts = {}) {
|
|
103
|
+
super(message, opts);
|
|
104
|
+
this.name = 'RPCTimeoutError';
|
|
105
|
+
this.timeoutSeconds = opts.timeoutSeconds ?? null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export class NotebookError extends NotebookLMError {
|
|
109
|
+
constructor(message) {
|
|
110
|
+
super(message);
|
|
111
|
+
this.name = 'NotebookError';
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export class NotebookNotFoundError extends NotebookError {
|
|
115
|
+
notebookId;
|
|
116
|
+
constructor(notebookId) {
|
|
117
|
+
super(`Notebook not found: ${notebookId}`);
|
|
118
|
+
this.name = 'NotebookNotFoundError';
|
|
119
|
+
this.notebookId = notebookId;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
export class ChatError extends NotebookLMError {
|
|
123
|
+
constructor(message) {
|
|
124
|
+
super(message);
|
|
125
|
+
this.name = 'ChatError';
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
export class SourceError extends NotebookLMError {
|
|
129
|
+
constructor(message) {
|
|
130
|
+
super(message);
|
|
131
|
+
this.name = 'SourceError';
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
export class SourceAddError extends SourceError {
|
|
135
|
+
url;
|
|
136
|
+
cause;
|
|
137
|
+
constructor(url, opts = {}) {
|
|
138
|
+
const message = opts.message ??
|
|
139
|
+
[
|
|
140
|
+
`Failed to add source: ${url}`,
|
|
141
|
+
'Possible causes:',
|
|
142
|
+
' - URL is invalid or inaccessible',
|
|
143
|
+
' - Content is behind a paywall or requires authentication',
|
|
144
|
+
' - Page content is empty or could not be parsed',
|
|
145
|
+
' - Rate limiting or quota exceeded',
|
|
146
|
+
].join('\n');
|
|
147
|
+
super(message);
|
|
148
|
+
this.name = 'SourceAddError';
|
|
149
|
+
this.url = url;
|
|
150
|
+
this.cause = opts.cause ?? null;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export class SourceNotFoundError extends SourceError {
|
|
154
|
+
sourceId;
|
|
155
|
+
constructor(sourceId) {
|
|
156
|
+
super(`Source not found: ${sourceId}`);
|
|
157
|
+
this.name = 'SourceNotFoundError';
|
|
158
|
+
this.sourceId = sourceId;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
export class SourceProcessingError extends SourceError {
|
|
162
|
+
sourceId;
|
|
163
|
+
status;
|
|
164
|
+
constructor(sourceId, status = 3, message = '') {
|
|
165
|
+
super(message || `Source ${sourceId} failed to process`);
|
|
166
|
+
this.name = 'SourceProcessingError';
|
|
167
|
+
this.sourceId = sourceId;
|
|
168
|
+
this.status = status;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
export class SourceTimeoutError extends SourceError {
|
|
172
|
+
sourceId;
|
|
173
|
+
timeout;
|
|
174
|
+
lastStatus;
|
|
175
|
+
constructor(sourceId, timeout, lastStatus = null) {
|
|
176
|
+
const statusInfo = lastStatus === null ? '' : ` (last status: ${lastStatus})`;
|
|
177
|
+
super(`Source ${sourceId} not ready after ${timeout.toFixed(1)}s${statusInfo}`);
|
|
178
|
+
this.name = 'SourceTimeoutError';
|
|
179
|
+
this.sourceId = sourceId;
|
|
180
|
+
this.timeout = timeout;
|
|
181
|
+
this.lastStatus = lastStatus;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
export class ArtifactError extends NotebookLMError {
|
|
185
|
+
constructor(message) {
|
|
186
|
+
super(message);
|
|
187
|
+
this.name = 'ArtifactError';
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
export class ArtifactNotFoundError extends ArtifactError {
|
|
191
|
+
artifactId;
|
|
192
|
+
artifactType;
|
|
193
|
+
constructor(artifactId, artifactType = null) {
|
|
194
|
+
const typePrefix = artifactType
|
|
195
|
+
? `${artifactType.charAt(0).toUpperCase()}${artifactType.slice(1)} `
|
|
196
|
+
: '';
|
|
197
|
+
super(`${typePrefix}artifact ${artifactId} not found`);
|
|
198
|
+
this.name = 'ArtifactNotFoundError';
|
|
199
|
+
this.artifactId = artifactId;
|
|
200
|
+
this.artifactType = artifactType;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
export class ArtifactNotReadyError extends ArtifactError {
|
|
204
|
+
artifactType;
|
|
205
|
+
artifactId;
|
|
206
|
+
status;
|
|
207
|
+
constructor(artifactType, opts = {}) {
|
|
208
|
+
const artifactId = opts.artifactId ?? null;
|
|
209
|
+
const status = opts.status ?? null;
|
|
210
|
+
let message = `No completed ${artifactType} found`;
|
|
211
|
+
if (artifactId) {
|
|
212
|
+
message = `${artifactType.charAt(0).toUpperCase()}${artifactType.slice(1)} artifact ${artifactId} is not ready`;
|
|
213
|
+
if (status) {
|
|
214
|
+
message += ` (status: ${status})`;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
super(message);
|
|
218
|
+
this.name = 'ArtifactNotReadyError';
|
|
219
|
+
this.artifactType = artifactType;
|
|
220
|
+
this.artifactId = artifactId;
|
|
221
|
+
this.status = status;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
export class ArtifactParseError extends ArtifactError {
|
|
225
|
+
artifactType;
|
|
226
|
+
artifactId;
|
|
227
|
+
details;
|
|
228
|
+
cause;
|
|
229
|
+
constructor(artifactType, opts = {}) {
|
|
230
|
+
const artifactId = opts.artifactId ?? null;
|
|
231
|
+
const details = opts.details ?? null;
|
|
232
|
+
let message = `Failed to parse ${artifactType} artifact`;
|
|
233
|
+
if (artifactId) {
|
|
234
|
+
message += ` ${artifactId}`;
|
|
235
|
+
}
|
|
236
|
+
if (details) {
|
|
237
|
+
message += `: ${details}`;
|
|
238
|
+
}
|
|
239
|
+
super(message);
|
|
240
|
+
this.name = 'ArtifactParseError';
|
|
241
|
+
this.artifactType = artifactType;
|
|
242
|
+
this.artifactId = artifactId;
|
|
243
|
+
this.details = details;
|
|
244
|
+
this.cause = opts.cause ?? null;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
export class ArtifactDownloadError extends ArtifactError {
|
|
248
|
+
artifactType;
|
|
249
|
+
artifactId;
|
|
250
|
+
details;
|
|
251
|
+
cause;
|
|
252
|
+
constructor(artifactType, opts = {}) {
|
|
253
|
+
const artifactId = opts.artifactId ?? null;
|
|
254
|
+
const details = opts.details ?? null;
|
|
255
|
+
let message = `Failed to download ${artifactType} artifact`;
|
|
256
|
+
if (artifactId) {
|
|
257
|
+
message += ` ${artifactId}`;
|
|
258
|
+
}
|
|
259
|
+
if (details) {
|
|
260
|
+
message += `: ${details}`;
|
|
261
|
+
}
|
|
262
|
+
super(message);
|
|
263
|
+
this.name = 'ArtifactDownloadError';
|
|
264
|
+
this.artifactType = artifactType;
|
|
265
|
+
this.artifactId = artifactId;
|
|
266
|
+
this.details = details;
|
|
267
|
+
this.cause = opts.cause ?? null;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
export var RPCErrorCode;
|
|
271
|
+
(function (RPCErrorCode) {
|
|
272
|
+
RPCErrorCode[RPCErrorCode["UNKNOWN"] = 0] = "UNKNOWN";
|
|
273
|
+
RPCErrorCode[RPCErrorCode["INVALID_REQUEST"] = 400] = "INVALID_REQUEST";
|
|
274
|
+
RPCErrorCode[RPCErrorCode["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
|
|
275
|
+
RPCErrorCode[RPCErrorCode["FORBIDDEN"] = 403] = "FORBIDDEN";
|
|
276
|
+
RPCErrorCode[RPCErrorCode["NOT_FOUND"] = 404] = "NOT_FOUND";
|
|
277
|
+
RPCErrorCode[RPCErrorCode["RATE_LIMITED"] = 429] = "RATE_LIMITED";
|
|
278
|
+
RPCErrorCode[RPCErrorCode["SERVER_ERROR"] = 500] = "SERVER_ERROR";
|
|
279
|
+
})(RPCErrorCode || (RPCErrorCode = {}));
|
|
280
|
+
const ERROR_CODE_MESSAGES = {
|
|
281
|
+
[RPCErrorCode.INVALID_REQUEST]: {
|
|
282
|
+
message: 'Invalid request parameters. Check your input and try again.',
|
|
283
|
+
retryable: false,
|
|
284
|
+
},
|
|
285
|
+
[RPCErrorCode.UNAUTHORIZED]: {
|
|
286
|
+
message: 'Authentication required. Re-authenticate and retry.',
|
|
287
|
+
retryable: false,
|
|
288
|
+
},
|
|
289
|
+
[RPCErrorCode.FORBIDDEN]: {
|
|
290
|
+
message: 'Insufficient permissions for this operation.',
|
|
291
|
+
retryable: false,
|
|
292
|
+
},
|
|
293
|
+
[RPCErrorCode.NOT_FOUND]: {
|
|
294
|
+
message: 'Requested resource not found.',
|
|
295
|
+
retryable: false,
|
|
296
|
+
},
|
|
297
|
+
[RPCErrorCode.RATE_LIMITED]: {
|
|
298
|
+
message: 'API rate limit exceeded. Please wait before retrying.',
|
|
299
|
+
retryable: true,
|
|
300
|
+
},
|
|
301
|
+
[RPCErrorCode.SERVER_ERROR]: {
|
|
302
|
+
message: 'Server error occurred. This is usually temporary - try again later.',
|
|
303
|
+
retryable: true,
|
|
304
|
+
},
|
|
305
|
+
};
|
|
306
|
+
export function getErrorMessageForCode(code) {
|
|
307
|
+
if (code === null || code === undefined) {
|
|
308
|
+
return { message: 'Unknown error occurred.', retryable: false };
|
|
309
|
+
}
|
|
310
|
+
const mapped = ERROR_CODE_MESSAGES[code];
|
|
311
|
+
if (mapped) {
|
|
312
|
+
return mapped;
|
|
313
|
+
}
|
|
314
|
+
if (code >= 400 && code < 500) {
|
|
315
|
+
return { message: `Client error ${code}. Check your request parameters.`, retryable: false };
|
|
316
|
+
}
|
|
317
|
+
if (code >= 500 && code < 600) {
|
|
318
|
+
return {
|
|
319
|
+
message: `Server error ${code}. This is usually temporary - try again later.`,
|
|
320
|
+
retryable: true,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
return { message: `Error code: ${code}`, retryable: false };
|
|
324
|
+
}
|
|
325
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/notebooklm/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { ArtifactsAPI } from './api/artifacts.js';
|
|
2
|
+
export { ChatAPI } from './api/chat.js';
|
|
3
|
+
export { NotebooksAPI } from './api/notebooks.js';
|
|
4
|
+
export { NotesAPI } from './api/notes.js';
|
|
5
|
+
export { ResearchAPI } from './api/research.js';
|
|
6
|
+
export { SettingsAPI } from './api/settings.js';
|
|
7
|
+
export { SharingAPI } from './api/sharing.js';
|
|
8
|
+
export { SourcesAPI } from './api/sources.js';
|
|
9
|
+
export * from './auth.js';
|
|
10
|
+
export * from './client.js';
|
|
11
|
+
export * from './core.js';
|
|
12
|
+
export * from './errors.js';
|
|
13
|
+
export * from './paths.js';
|
|
14
|
+
export * from './rpc/index.js';
|
|
15
|
+
export * from './types.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notebooklm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { ArtifactsAPI } from './api/artifacts.js';
|
|
2
|
+
export { ChatAPI } from './api/chat.js';
|
|
3
|
+
export { NotebooksAPI } from './api/notebooks.js';
|
|
4
|
+
export { NotesAPI } from './api/notes.js';
|
|
5
|
+
export { ResearchAPI } from './api/research.js';
|
|
6
|
+
export { SettingsAPI } from './api/settings.js';
|
|
7
|
+
export { SharingAPI } from './api/sharing.js';
|
|
8
|
+
export { SourcesAPI } from './api/sources.js';
|
|
9
|
+
export * from './auth.js';
|
|
10
|
+
export * from './client.js';
|
|
11
|
+
export * from './core.js';
|
|
12
|
+
export * from './errors.js';
|
|
13
|
+
export * from './paths.js';
|
|
14
|
+
export * from './rpc/index.js';
|
|
15
|
+
export * from './types.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notebooklm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NotebookLM home directory.
|
|
3
|
+
*
|
|
4
|
+
* Precedence: `NOTEBOOKLM_HOME` env var > `~/.10x-chat/notebooklm`
|
|
5
|
+
*/
|
|
6
|
+
export declare function getHomeDir(create?: boolean): string;
|
|
7
|
+
export declare function getStoragePath(): string;
|
|
8
|
+
export declare function getContextPath(): string;
|
|
9
|
+
export declare function getBrowserProfileDir(): string;
|
|
10
|
+
export declare function getConfigPath(): string;
|
|
11
|
+
export declare function getPathInfo(): Record<string, string>;
|
|
12
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/notebooklm/paths.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,UAAQ,GAAG,MAAM,CAgBjD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUpD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { chmodSync, mkdirSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { getAppDir } from '../paths.js';
|
|
4
|
+
const NOTEBOOKLM_DIR_NAME = 'notebooklm';
|
|
5
|
+
/**
|
|
6
|
+
* NotebookLM home directory.
|
|
7
|
+
*
|
|
8
|
+
* Precedence: `NOTEBOOKLM_HOME` env var > `~/.10x-chat/notebooklm`
|
|
9
|
+
*/
|
|
10
|
+
export function getHomeDir(create = false) {
|
|
11
|
+
const configured = process.env.NOTEBOOKLM_HOME;
|
|
12
|
+
const resolved = configured
|
|
13
|
+
? path.resolve(configured.replace(/^~(?=$|[/])/, process.env.HOME ?? ''))
|
|
14
|
+
: path.join(getAppDir(), NOTEBOOKLM_DIR_NAME);
|
|
15
|
+
if (create) {
|
|
16
|
+
mkdirSync(resolved, { recursive: true, mode: 0o700 });
|
|
17
|
+
try {
|
|
18
|
+
chmodSync(resolved, 0o700);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// Ignore chmod failures on filesystems/platforms that do not support Unix modes.
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return resolved;
|
|
25
|
+
}
|
|
26
|
+
export function getStoragePath() {
|
|
27
|
+
return path.join(getHomeDir(), 'storage_state.json');
|
|
28
|
+
}
|
|
29
|
+
export function getContextPath() {
|
|
30
|
+
return path.join(getHomeDir(), 'context.json');
|
|
31
|
+
}
|
|
32
|
+
export function getBrowserProfileDir() {
|
|
33
|
+
return path.join(getHomeDir(), 'browser_profile');
|
|
34
|
+
}
|
|
35
|
+
export function getConfigPath() {
|
|
36
|
+
return path.join(getHomeDir(), 'config.json');
|
|
37
|
+
}
|
|
38
|
+
export function getPathInfo() {
|
|
39
|
+
const homeFromEnv = process.env.NOTEBOOKLM_HOME;
|
|
40
|
+
return {
|
|
41
|
+
homeDir: getHomeDir(),
|
|
42
|
+
homeSource: homeFromEnv ? 'NOTEBOOKLM_HOME' : 'default (~/.10x-chat/notebooklm)',
|
|
43
|
+
storagePath: getStoragePath(),
|
|
44
|
+
contextPath: getContextPath(),
|
|
45
|
+
configPath: getConfigPath(),
|
|
46
|
+
browserProfileDir: getBrowserProfileDir(),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/notebooklm/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,MAAM,GAAG,KAAK;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC/C,MAAM,QAAQ,GAAG,UAAU;QACzB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAEhD,IAAI,MAAM,EAAE,CAAC;QACX,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,iFAAiF;QACnF,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,oBAAoB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAChD,OAAO;QACL,OAAO,EAAE,UAAU,EAAE;QACrB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kCAAkC;QAChF,WAAW,EAAE,cAAc,EAAE;QAC7B,WAAW,EAAE,cAAc,EAAE;QAC7B,UAAU,EAAE,aAAa,EAAE;QAC3B,iBAAiB,EAAE,oBAAoB,EAAE;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AuthError, ClientError, NetworkError, RateLimitError, RPCError, RPCErrorCode, RPCTimeoutError, ServerError } from '../errors.js';
|
|
2
|
+
export { AuthError, ClientError, NetworkError, RPCError, RPCErrorCode, RPCTimeoutError, RateLimitError, ServerError, };
|
|
3
|
+
export declare function stripAntiXssi(response: string): string;
|
|
4
|
+
export declare function parseChunkedResponse(response: string): unknown[];
|
|
5
|
+
export declare function collectRpcIds(chunks: unknown[]): string[];
|
|
6
|
+
export declare function extractRpcResult(chunks: unknown[], rpcId: string): unknown;
|
|
7
|
+
export declare function decodeResponse(rawResponse: string, rpcId: string, allowNull?: boolean): unknown;
|
|
8
|
+
//# sourceMappingURL=decoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../../src/notebooklm/rpc/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EAEX,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,cAAc,EACd,WAAW,GACZ,CAAC;AAEF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CA+DhE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAwBzD;AAkBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CA+D1E;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAkD7F"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { AuthError, ClientError, getErrorMessageForCode, NetworkError, RateLimitError, RPCError, RPCErrorCode, RPCTimeoutError, ServerError, } from '../errors.js';
|
|
2
|
+
export { AuthError, ClientError, NetworkError, RPCError, RPCErrorCode, RPCTimeoutError, RateLimitError, ServerError, };
|
|
3
|
+
export function stripAntiXssi(response) {
|
|
4
|
+
if (response.startsWith(")]}'")) {
|
|
5
|
+
const match = /^\)\]\}'\r?\n/.exec(response);
|
|
6
|
+
if (match) {
|
|
7
|
+
return response.slice(match[0].length);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return response;
|
|
11
|
+
}
|
|
12
|
+
export function parseChunkedResponse(response) {
|
|
13
|
+
if (!response || response.trim().length === 0) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
const chunks = [];
|
|
17
|
+
let skippedCount = 0;
|
|
18
|
+
const lines = response.trim().split('\n');
|
|
19
|
+
let i = 0;
|
|
20
|
+
while (i < lines.length) {
|
|
21
|
+
const line = lines[i]?.trim() ?? '';
|
|
22
|
+
if (!line) {
|
|
23
|
+
i += 1;
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const byteCount = Number(line);
|
|
27
|
+
if (Number.isInteger(byteCount)) {
|
|
28
|
+
i += 1;
|
|
29
|
+
if (i < lines.length) {
|
|
30
|
+
const jsonStr = lines[i] ?? '';
|
|
31
|
+
try {
|
|
32
|
+
chunks.push(JSON.parse(jsonStr));
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
skippedCount += 1;
|
|
36
|
+
console.warn(`Skipping malformed chunk at line ${i + 1}: ${String(error)}. Preview: ${jsonStr.slice(0, 100)}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
i += 1;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
chunks.push(JSON.parse(line));
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
skippedCount += 1;
|
|
47
|
+
console.warn(`Skipping non-JSON line at ${i + 1}: ${String(error)}. Preview: ${line.slice(0, 100)}`);
|
|
48
|
+
}
|
|
49
|
+
i += 1;
|
|
50
|
+
}
|
|
51
|
+
if (skippedCount > 0) {
|
|
52
|
+
const errorRate = lines.length === 0 ? 0 : skippedCount / lines.length;
|
|
53
|
+
if (errorRate > 0.1) {
|
|
54
|
+
throw new RPCError(`Response parsing failed: ${skippedCount} of ${lines.length} chunks malformed. This may indicate API changes or data corruption.`, { rawResponse: response.slice(0, 500) });
|
|
55
|
+
}
|
|
56
|
+
console.warn(`Parsed response but skipped ${skippedCount} malformed chunks (${Math.trunc(errorRate * 100)}%). Results may be incomplete.`);
|
|
57
|
+
}
|
|
58
|
+
return chunks;
|
|
59
|
+
}
|
|
60
|
+
export function collectRpcIds(chunks) {
|
|
61
|
+
const foundIds = [];
|
|
62
|
+
for (const chunk of chunks) {
|
|
63
|
+
if (!Array.isArray(chunk)) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const items = chunk.length > 0 && Array.isArray(chunk[0]) ? chunk : [chunk];
|
|
67
|
+
for (const item of items) {
|
|
68
|
+
if (!Array.isArray(item) || item.length < 2) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const kind = item[0];
|
|
72
|
+
const id = item[1];
|
|
73
|
+
if ((kind === 'wrb.fr' || kind === 'er') && typeof id === 'string') {
|
|
74
|
+
foundIds.push(id);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return foundIds;
|
|
79
|
+
}
|
|
80
|
+
function containsUserDisplayableError(obj) {
|
|
81
|
+
if (typeof obj === 'string') {
|
|
82
|
+
return obj.includes('UserDisplayableError');
|
|
83
|
+
}
|
|
84
|
+
if (Array.isArray(obj)) {
|
|
85
|
+
return obj.some((item) => containsUserDisplayableError(item));
|
|
86
|
+
}
|
|
87
|
+
if (obj && typeof obj === 'object') {
|
|
88
|
+
return Object.values(obj).some((value) => containsUserDisplayableError(value));
|
|
89
|
+
}
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
export function extractRpcResult(chunks, rpcId) {
|
|
93
|
+
for (const chunk of chunks) {
|
|
94
|
+
if (!Array.isArray(chunk)) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const items = chunk.length > 0 && Array.isArray(chunk[0]) ? chunk : [chunk];
|
|
98
|
+
for (const item of items) {
|
|
99
|
+
if (!Array.isArray(item) || item.length < 3) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (item[0] === 'er' && item[1] === rpcId) {
|
|
103
|
+
const errorCode = item.length > 2 ? item[2] : null;
|
|
104
|
+
let errorMessage = 'Unknown error';
|
|
105
|
+
if (typeof errorCode === 'number') {
|
|
106
|
+
const { message, retryable } = getErrorMessageForCode(errorCode);
|
|
107
|
+
console.debug(`RPC error code ${errorCode} for ${rpcId}: ${message} (retryable: ${String(retryable)})`);
|
|
108
|
+
errorMessage = message;
|
|
109
|
+
}
|
|
110
|
+
else if (errorCode !== null && errorCode !== undefined) {
|
|
111
|
+
errorMessage = String(errorCode);
|
|
112
|
+
}
|
|
113
|
+
throw new RPCError(errorMessage, {
|
|
114
|
+
methodId: rpcId,
|
|
115
|
+
rpcCode: typeof errorCode === 'string' || typeof errorCode === 'number' ? errorCode : null,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
if (item[0] === 'wrb.fr' && item[1] === rpcId) {
|
|
119
|
+
const resultData = item[2];
|
|
120
|
+
if (resultData === null && item.length > 5 && item[5] !== null) {
|
|
121
|
+
if (containsUserDisplayableError(item[5])) {
|
|
122
|
+
throw new RateLimitError('API rate limit or quota exceeded. Please wait before retrying.', {
|
|
123
|
+
methodId: rpcId,
|
|
124
|
+
rpcCode: 'USER_DISPLAYABLE_ERROR',
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (typeof resultData === 'string') {
|
|
129
|
+
try {
|
|
130
|
+
return JSON.parse(resultData);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return resultData;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return resultData;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
export function decodeResponse(rawResponse, rpcId, allowNull = false) {
|
|
143
|
+
console.debug(`Decoding response: size=${rawResponse.length} bytes`);
|
|
144
|
+
const cleaned = stripAntiXssi(rawResponse);
|
|
145
|
+
const chunks = parseChunkedResponse(cleaned);
|
|
146
|
+
console.debug(`Parsed ${chunks.length} chunks from response`);
|
|
147
|
+
const responsePreview = cleaned.length > 500 ? cleaned.slice(0, 500) : cleaned;
|
|
148
|
+
const foundIds = collectRpcIds(chunks);
|
|
149
|
+
console.debug(`Looking for RPC ID: ${rpcId}`);
|
|
150
|
+
console.debug(`Found RPC IDs in response: ${JSON.stringify(foundIds)}`);
|
|
151
|
+
let result;
|
|
152
|
+
try {
|
|
153
|
+
result = extractRpcResult(chunks, rpcId);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
if (error instanceof RPCError) {
|
|
157
|
+
if (error.foundIds.length === 0) {
|
|
158
|
+
error.foundIds = foundIds;
|
|
159
|
+
}
|
|
160
|
+
if (!error.rawResponse) {
|
|
161
|
+
error.rawResponse = responsePreview;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
throw error;
|
|
165
|
+
}
|
|
166
|
+
if (result === null && !allowNull) {
|
|
167
|
+
if (foundIds.length > 0 && !foundIds.includes(rpcId)) {
|
|
168
|
+
throw new RPCError(`No result found for RPC ID '${rpcId}'. Response contains IDs: ${JSON.stringify(foundIds)}. The RPC method ID may have changed.`, {
|
|
169
|
+
methodId: rpcId,
|
|
170
|
+
foundIds,
|
|
171
|
+
rawResponse: responsePreview,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
console.debug(`Empty result for RPC ID '${rpcId}'. Chunks parsed: ${chunks.length}. Response preview: ${responsePreview}`);
|
|
175
|
+
throw new RPCError(`No result found for RPC ID: ${rpcId}`, {
|
|
176
|
+
methodId: rpcId,
|
|
177
|
+
rawResponse: responsePreview,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=decoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../../src/notebooklm/rpc/decoder.ts"],"names":[],"mappings":"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"}
|