notebooklm-kit 0.0.1 → 2.1.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 +22 -0
- package/README.md +4102 -0
- package/dist/src/auth/auth.d.ts +46 -0
- package/dist/src/auth/auth.d.ts.map +1 -0
- package/dist/src/auth/auth.js +323 -0
- package/dist/src/auth/auth.js.map +1 -0
- package/dist/src/auth/refresh.d.ts +150 -0
- package/dist/src/auth/refresh.d.ts.map +1 -0
- package/dist/src/auth/refresh.js +433 -0
- package/dist/src/auth/refresh.js.map +1 -0
- package/dist/src/client/notebooklm-client.d.ts +372 -0
- package/dist/src/client/notebooklm-client.d.ts.map +1 -0
- package/dist/src/client/notebooklm-client.js +550 -0
- package/dist/src/client/notebooklm-client.js.map +1 -0
- package/dist/src/index.d.ts +50 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +45 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/rpc/rpc-client.d.ts +48 -0
- package/dist/src/rpc/rpc-client.d.ts.map +1 -0
- package/dist/src/rpc/rpc-client.js +94 -0
- package/dist/src/rpc/rpc-client.js.map +1 -0
- package/dist/src/rpc/rpc-methods.d.ts +127 -0
- package/dist/src/rpc/rpc-methods.d.ts.map +1 -0
- package/dist/src/rpc/rpc-methods.js +169 -0
- package/dist/src/rpc/rpc-methods.js.map +1 -0
- package/dist/src/services/artifacts.d.ts +1017 -0
- package/dist/src/services/artifacts.d.ts.map +1 -0
- package/dist/src/services/artifacts.js +5413 -0
- package/dist/src/services/artifacts.js.map +1 -0
- package/dist/src/services/generation.d.ts +147 -0
- package/dist/src/services/generation.d.ts.map +1 -0
- package/dist/src/services/generation.js +479 -0
- package/dist/src/services/generation.js.map +1 -0
- package/dist/src/services/notebook-language.d.ts +109 -0
- package/dist/src/services/notebook-language.d.ts.map +1 -0
- package/dist/src/services/notebook-language.js +204 -0
- package/dist/src/services/notebook-language.js.map +1 -0
- package/dist/src/services/notebooks.d.ts +26 -0
- package/dist/src/services/notebooks.d.ts.map +1 -0
- package/dist/src/services/notebooks.js +539 -0
- package/dist/src/services/notebooks.js.map +1 -0
- package/dist/src/services/notes.d.ts +72 -0
- package/dist/src/services/notes.d.ts.map +1 -0
- package/dist/src/services/notes.js +340 -0
- package/dist/src/services/notes.js.map +1 -0
- package/dist/src/services/sources.d.ts +1085 -0
- package/dist/src/services/sources.d.ts.map +1 -0
- package/dist/src/services/sources.js +2675 -0
- package/dist/src/services/sources.js.map +1 -0
- package/dist/src/types/artifact.d.ts +258 -0
- package/dist/src/types/artifact.d.ts.map +1 -0
- package/dist/src/types/artifact.js +42 -0
- package/dist/src/types/artifact.js.map +1 -0
- package/dist/src/types/common.d.ts +226 -0
- package/dist/src/types/common.d.ts.map +1 -0
- package/dist/src/types/common.js +80 -0
- package/dist/src/types/common.js.map +1 -0
- package/dist/src/types/languages.d.ts +179 -0
- package/dist/src/types/languages.d.ts.map +1 -0
- package/dist/src/types/languages.js +254 -0
- package/dist/src/types/languages.js.map +1 -0
- package/dist/src/types/note.d.ts +41 -0
- package/dist/src/types/note.d.ts.map +1 -0
- package/dist/src/types/note.js +12 -0
- package/dist/src/types/note.js.map +1 -0
- package/dist/src/types/notebook.d.ts +81 -0
- package/dist/src/types/notebook.d.ts.map +1 -0
- package/dist/src/types/notebook.js +5 -0
- package/dist/src/types/notebook.js.map +1 -0
- package/dist/src/types/source.d.ts +241 -0
- package/dist/src/types/source.d.ts.map +1 -0
- package/dist/src/types/source.js +60 -0
- package/dist/src/types/source.js.map +1 -0
- package/dist/src/utils/batch-execute.d.ts +58 -0
- package/dist/src/utils/batch-execute.d.ts.map +1 -0
- package/dist/src/utils/batch-execute.js +398 -0
- package/dist/src/utils/batch-execute.js.map +1 -0
- package/dist/src/utils/chunked-decoder.d.ts +11 -0
- package/dist/src/utils/chunked-decoder.d.ts.map +1 -0
- package/dist/src/utils/chunked-decoder.js +326 -0
- package/dist/src/utils/chunked-decoder.js.map +1 -0
- package/dist/src/utils/chunked-parser.d.ts +61 -0
- package/dist/src/utils/chunked-parser.d.ts.map +1 -0
- package/dist/src/utils/chunked-parser.js +609 -0
- package/dist/src/utils/chunked-parser.js.map +1 -0
- package/dist/src/utils/errors.d.ts +58 -0
- package/dist/src/utils/errors.d.ts.map +1 -0
- package/dist/src/utils/errors.js +357 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/quota.d.ts +213 -0
- package/dist/src/utils/quota.d.ts.map +1 -0
- package/dist/src/utils/quota.js +518 -0
- package/dist/src/utils/quota.js.map +1 -0
- package/dist/src/utils/streaming-client.d.ts +129 -0
- package/dist/src/utils/streaming-client.d.ts.map +1 -0
- package/dist/src/utils/streaming-client.js +559 -0
- package/dist/src/utils/streaming-client.js.map +1 -0
- package/package.json +85 -7
- package/index.js +0 -2
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch execute client for NotebookLM RPC calls
|
|
3
|
+
* Full-fledged implementation matching nlm Go version
|
|
4
|
+
*/
|
|
5
|
+
import { NotebookLMError as ErrorClass, NotebookLMAuthError as AuthErrorClass, NotebookLMNetworkError as NetworkErrorClass } from '../types/common.js';
|
|
6
|
+
import { parseChunkedResponse } from './chunked-decoder.js';
|
|
7
|
+
import { isErrorResponse } from './errors.js';
|
|
8
|
+
/**
|
|
9
|
+
* Request ID generator for batchexecute requests
|
|
10
|
+
*/
|
|
11
|
+
class ReqIDGenerator {
|
|
12
|
+
base;
|
|
13
|
+
sequence = 0;
|
|
14
|
+
constructor() {
|
|
15
|
+
// Generate random 4-digit number (1000-9999)
|
|
16
|
+
this.base = Math.floor(Math.random() * 9000) + 1000;
|
|
17
|
+
}
|
|
18
|
+
next() {
|
|
19
|
+
const reqid = this.base + (this.sequence * 100000);
|
|
20
|
+
this.sequence++;
|
|
21
|
+
return reqid.toString();
|
|
22
|
+
}
|
|
23
|
+
reset() {
|
|
24
|
+
this.sequence = 0;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Batch execute client
|
|
29
|
+
*/
|
|
30
|
+
export class BatchExecuteClient {
|
|
31
|
+
config;
|
|
32
|
+
/**
|
|
33
|
+
* Update cookies (called when credentials are refreshed)
|
|
34
|
+
*/
|
|
35
|
+
updateCookies(cookies) {
|
|
36
|
+
this.config.cookies = cookies;
|
|
37
|
+
}
|
|
38
|
+
reqidGenerator;
|
|
39
|
+
constructor(config) {
|
|
40
|
+
// Get retry config from env vars or config, with very low defaults
|
|
41
|
+
const getEnvNumber = (key, defaultValue) => {
|
|
42
|
+
try {
|
|
43
|
+
const value = process.env[key];
|
|
44
|
+
if (value) {
|
|
45
|
+
const parsed = parseInt(value, 10);
|
|
46
|
+
if (!isNaN(parsed)) {
|
|
47
|
+
return parsed;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Ignore env access errors
|
|
53
|
+
}
|
|
54
|
+
return defaultValue;
|
|
55
|
+
};
|
|
56
|
+
// Set default retry configuration (very conservative - most requests succeed on first try)
|
|
57
|
+
// Defaults: 1 retry, 1s delay, 5s max delay
|
|
58
|
+
const maxRetries = config.maxRetries ?? getEnvNumber('NOTEBOOKLM_MAX_RETRIES', 1);
|
|
59
|
+
const retryDelay = config.retryDelay ?? getEnvNumber('NOTEBOOKLM_RETRY_DELAY', 1000);
|
|
60
|
+
const retryMaxDelay = config.retryMaxDelay ?? getEnvNumber('NOTEBOOKLM_RETRY_MAX_DELAY', 5000);
|
|
61
|
+
this.config = {
|
|
62
|
+
...config,
|
|
63
|
+
maxRetries,
|
|
64
|
+
retryDelay,
|
|
65
|
+
retryMaxDelay,
|
|
66
|
+
};
|
|
67
|
+
this.reqidGenerator = new ReqIDGenerator();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Execute a single RPC call
|
|
71
|
+
*/
|
|
72
|
+
async do(rpc) {
|
|
73
|
+
return this.execute([rpc]);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Execute one or more RPC calls
|
|
77
|
+
*/
|
|
78
|
+
async execute(rpcs) {
|
|
79
|
+
const protocol = 'https';
|
|
80
|
+
const baseUrl = `${protocol}://${this.config.host}/_/${this.config.app}/data/batchexecute`;
|
|
81
|
+
// Build URL with query parameters
|
|
82
|
+
const url = new URL(baseUrl);
|
|
83
|
+
url.searchParams.set('rpcids', rpcs.map(r => r.id).join(','));
|
|
84
|
+
url.searchParams.set('_reqid', this.reqidGenerator.next());
|
|
85
|
+
// Add URL parameters from config
|
|
86
|
+
for (const [key, value] of Object.entries(this.config.urlParams)) {
|
|
87
|
+
url.searchParams.set(key, value);
|
|
88
|
+
}
|
|
89
|
+
// Add request-specific URL parameters from first RPC
|
|
90
|
+
if (rpcs[0].urlParams) {
|
|
91
|
+
for (const [key, value] of Object.entries(rpcs[0].urlParams)) {
|
|
92
|
+
url.searchParams.set(key, value);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Build request body
|
|
96
|
+
const envelope = rpcs.map(rpc => this.buildRPCData(rpc));
|
|
97
|
+
const reqBody = JSON.stringify([envelope]);
|
|
98
|
+
// Build form data
|
|
99
|
+
const formData = new URLSearchParams();
|
|
100
|
+
formData.set('f.req', reqBody);
|
|
101
|
+
formData.set('at', this.config.authToken);
|
|
102
|
+
// Execute request with retry logic
|
|
103
|
+
let lastError = null;
|
|
104
|
+
let lastResponseStatus;
|
|
105
|
+
let lastResponseBody;
|
|
106
|
+
// Use configured retry values (guaranteed to be defined after constructor)
|
|
107
|
+
const maxRetries = this.config.maxRetries;
|
|
108
|
+
const retryDelay = this.config.retryDelay;
|
|
109
|
+
const retryMaxDelay = this.config.retryMaxDelay;
|
|
110
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
111
|
+
if (attempt > 0) {
|
|
112
|
+
// Calculate retry delay with exponential backoff
|
|
113
|
+
const multiplier = Math.pow(2, attempt - 1);
|
|
114
|
+
let delay = retryDelay * multiplier;
|
|
115
|
+
if (delay > retryMaxDelay) {
|
|
116
|
+
delay = retryMaxDelay;
|
|
117
|
+
}
|
|
118
|
+
await this.sleep(delay);
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
// Create request headers
|
|
122
|
+
const headers = {
|
|
123
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
124
|
+
'Cookie': this.config.cookies,
|
|
125
|
+
...this.config.headers,
|
|
126
|
+
};
|
|
127
|
+
let response;
|
|
128
|
+
try {
|
|
129
|
+
response = await fetch(url.toString(), {
|
|
130
|
+
method: 'POST',
|
|
131
|
+
headers,
|
|
132
|
+
body: formData.toString(),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
catch (fetchError) {
|
|
136
|
+
lastError = fetchError instanceof Error ? fetchError : new Error(String(fetchError));
|
|
137
|
+
if (this.isRetryableError(lastError) && attempt < maxRetries) {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
throw lastError;
|
|
141
|
+
}
|
|
142
|
+
lastResponseStatus = response.status;
|
|
143
|
+
// Read response body first (before checking status)
|
|
144
|
+
let body;
|
|
145
|
+
try {
|
|
146
|
+
body = await response.text();
|
|
147
|
+
lastResponseBody = body;
|
|
148
|
+
}
|
|
149
|
+
catch (readError) {
|
|
150
|
+
lastError = readError instanceof Error ? readError : new Error(String(readError));
|
|
151
|
+
if (this.isRetryableError(lastError) && attempt < maxRetries) {
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
throw lastError;
|
|
155
|
+
}
|
|
156
|
+
// Check if we should retry based on status
|
|
157
|
+
if (this.isRetryableStatus(response.status) && attempt < maxRetries) {
|
|
158
|
+
lastError = new Error(`Server returned status ${response.status}: ${response.statusText}`);
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
// Check for auth errors (401 - do not retry, credentials are invalid)
|
|
162
|
+
if (response.status === 401) {
|
|
163
|
+
throw new AuthErrorClass('Authentication failed (401). Please check your credentials.');
|
|
164
|
+
}
|
|
165
|
+
// Check for other error statuses
|
|
166
|
+
if (!response.ok) {
|
|
167
|
+
throw new ErrorClass(`Request failed: ${response.status} ${response.statusText}`, response.status);
|
|
168
|
+
}
|
|
169
|
+
// Decode response
|
|
170
|
+
let responses;
|
|
171
|
+
try {
|
|
172
|
+
responses = this.decodeResponse(body);
|
|
173
|
+
}
|
|
174
|
+
catch (decodeError) {
|
|
175
|
+
lastError = decodeError instanceof Error ? decodeError : new Error(String(decodeError));
|
|
176
|
+
if (this.isRetryableError(lastError) && attempt < maxRetries) {
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
throw lastError;
|
|
180
|
+
}
|
|
181
|
+
if (responses.length === 0) {
|
|
182
|
+
throw new ErrorClass('No valid responses found in server response');
|
|
183
|
+
}
|
|
184
|
+
// Check for API errors in first response
|
|
185
|
+
const firstResponse = responses[0];
|
|
186
|
+
const apiError = isErrorResponse(firstResponse);
|
|
187
|
+
if (apiError) {
|
|
188
|
+
throw apiError;
|
|
189
|
+
}
|
|
190
|
+
return firstResponse;
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
// Ensure we have an Error object
|
|
194
|
+
if (error instanceof Error) {
|
|
195
|
+
lastError = error;
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
lastError = new Error(String(error) || 'Unknown error');
|
|
199
|
+
}
|
|
200
|
+
// Check if error is retryable
|
|
201
|
+
if (error instanceof ErrorClass && 'isRetryable' in error) {
|
|
202
|
+
const retryable = error.isRetryable?.() ?? false;
|
|
203
|
+
if (retryable && attempt < maxRetries) {
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (this.isRetryableError(error) && attempt < maxRetries) {
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
// Non-retryable error or max retries reached
|
|
211
|
+
throw error;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
// All retries failed - build comprehensive error message
|
|
215
|
+
let errorMessage = 'Unknown error';
|
|
216
|
+
if (lastError) {
|
|
217
|
+
errorMessage = lastError.message || lastError.toString() || String(lastError) || 'Unknown error';
|
|
218
|
+
}
|
|
219
|
+
if (lastResponseStatus !== undefined) {
|
|
220
|
+
errorMessage += ` (HTTP ${lastResponseStatus})`;
|
|
221
|
+
}
|
|
222
|
+
if (lastResponseBody !== undefined && lastResponseBody.length < 500) {
|
|
223
|
+
errorMessage += ` - ${lastResponseBody}`;
|
|
224
|
+
}
|
|
225
|
+
throw new NetworkErrorClass(`All retry attempts failed: ${errorMessage}`, lastError || undefined);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Build RPC data array
|
|
229
|
+
*/
|
|
230
|
+
buildRPCData(rpc) {
|
|
231
|
+
const argsJSON = JSON.stringify(rpc.args);
|
|
232
|
+
return [
|
|
233
|
+
rpc.id,
|
|
234
|
+
argsJSON,
|
|
235
|
+
null,
|
|
236
|
+
'generic',
|
|
237
|
+
];
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Decode batchexecute response
|
|
241
|
+
*/
|
|
242
|
+
decodeResponse(raw) {
|
|
243
|
+
// Remove the standard prefix
|
|
244
|
+
raw = raw.trim().replace(/^\)\]\}'/, '');
|
|
245
|
+
if (!raw) {
|
|
246
|
+
throw new ErrorClass('Empty response after trimming prefix');
|
|
247
|
+
}
|
|
248
|
+
// Check if response starts with a digit (chunked format)
|
|
249
|
+
if (/^\d/.test(raw)) {
|
|
250
|
+
return parseChunkedResponse(raw, this.config.debug);
|
|
251
|
+
}
|
|
252
|
+
// Try to parse as regular JSON array
|
|
253
|
+
let responses;
|
|
254
|
+
try {
|
|
255
|
+
responses = JSON.parse(raw);
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
// Try parsing as numeric error code
|
|
259
|
+
const trimmed = raw.trim();
|
|
260
|
+
const code = parseInt(trimmed, 10);
|
|
261
|
+
if (!isNaN(code) && trimmed.length <= 10) {
|
|
262
|
+
// Single numeric error code
|
|
263
|
+
return [{
|
|
264
|
+
index: 0,
|
|
265
|
+
id: 'numeric',
|
|
266
|
+
data: code,
|
|
267
|
+
}];
|
|
268
|
+
}
|
|
269
|
+
// Try to parse as single array
|
|
270
|
+
try {
|
|
271
|
+
const singleArray = JSON.parse(raw);
|
|
272
|
+
if (Array.isArray(singleArray)) {
|
|
273
|
+
responses = [singleArray];
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
throw error;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
throw new ErrorClass(`Failed to parse response: ${error.message}`);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
const result = [];
|
|
284
|
+
for (const rpcData of responses) {
|
|
285
|
+
if (rpcData.length < 7) {
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
const rpcType = rpcData[0];
|
|
289
|
+
if (rpcType !== 'wrb.fr') {
|
|
290
|
+
continue;
|
|
291
|
+
}
|
|
292
|
+
const id = rpcData[1];
|
|
293
|
+
const response = {
|
|
294
|
+
id,
|
|
295
|
+
index: 0,
|
|
296
|
+
data: null,
|
|
297
|
+
};
|
|
298
|
+
// Try position 2 first for data
|
|
299
|
+
let responseData = null;
|
|
300
|
+
if (rpcData[2] !== null) {
|
|
301
|
+
if (typeof rpcData[2] === 'string') {
|
|
302
|
+
response.data = rpcData[2];
|
|
303
|
+
responseData = rpcData[2];
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
responseData = rpcData[2];
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
// If position 2 is null/empty, try position 5
|
|
310
|
+
if (responseData === null && rpcData.length > 5 && rpcData[5] !== null) {
|
|
311
|
+
responseData = rpcData[5];
|
|
312
|
+
}
|
|
313
|
+
// Convert responseData to final form
|
|
314
|
+
if (responseData !== null && response.data === null) {
|
|
315
|
+
response.data = responseData;
|
|
316
|
+
}
|
|
317
|
+
// Parse index
|
|
318
|
+
if (rpcData[6] === 'generic') {
|
|
319
|
+
response.index = 0;
|
|
320
|
+
}
|
|
321
|
+
else if (typeof rpcData[6] === 'string') {
|
|
322
|
+
response.index = parseInt(rpcData[6], 10) || 0;
|
|
323
|
+
}
|
|
324
|
+
result.push(response);
|
|
325
|
+
}
|
|
326
|
+
if (result.length === 0) {
|
|
327
|
+
throw new ErrorClass('No valid responses found in parsed data');
|
|
328
|
+
}
|
|
329
|
+
return result;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Check if error is retryable
|
|
333
|
+
*/
|
|
334
|
+
isRetryableError(error) {
|
|
335
|
+
const message = error.message.toLowerCase();
|
|
336
|
+
const retryablePatterns = [
|
|
337
|
+
'connection refused',
|
|
338
|
+
'connection reset',
|
|
339
|
+
'timeout',
|
|
340
|
+
'tls handshake',
|
|
341
|
+
'econnreset',
|
|
342
|
+
'enotfound',
|
|
343
|
+
'network',
|
|
344
|
+
'temporary failure',
|
|
345
|
+
];
|
|
346
|
+
return retryablePatterns.some(pattern => message.includes(pattern));
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Check if HTTP status is retryable
|
|
350
|
+
*/
|
|
351
|
+
isRetryableStatus(statusCode) {
|
|
352
|
+
return [429, 500, 502, 503, 504].includes(statusCode);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Mask sensitive value for logging
|
|
356
|
+
*/
|
|
357
|
+
maskSensitiveValue(value) {
|
|
358
|
+
if (value.length <= 8) {
|
|
359
|
+
return '*'.repeat(value.length);
|
|
360
|
+
}
|
|
361
|
+
else if (value.length <= 16) {
|
|
362
|
+
return value.substring(0, 2) + '*'.repeat(value.length - 4) + value.substring(value.length - 2);
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
return value.substring(0, 3) + '*'.repeat(value.length - 6) + value.substring(value.length - 3);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Mask cookie values for logging
|
|
370
|
+
*/
|
|
371
|
+
maskCookieValues(cookies) {
|
|
372
|
+
const parts = cookies.split(';');
|
|
373
|
+
const masked = parts.map(part => {
|
|
374
|
+
const trimmed = part.trim();
|
|
375
|
+
const equalIndex = trimmed.indexOf('=');
|
|
376
|
+
if (equalIndex > 0) {
|
|
377
|
+
const name = trimmed.substring(0, equalIndex);
|
|
378
|
+
const value = trimmed.substring(equalIndex + 1);
|
|
379
|
+
return `${name}=${this.maskSensitiveValue(value)}`;
|
|
380
|
+
}
|
|
381
|
+
return trimmed;
|
|
382
|
+
});
|
|
383
|
+
return masked.join('; ');
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Sleep helper
|
|
387
|
+
*/
|
|
388
|
+
sleep(ms) {
|
|
389
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Get current config
|
|
393
|
+
*/
|
|
394
|
+
getConfig() {
|
|
395
|
+
return { ...this.config };
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
//# sourceMappingURL=batch-execute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-execute.js","sourceRoot":"","sources":["../../../src/utils/batch-execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chunked response decoder for batchexecute format
|
|
3
|
+
* Handles the complex chunked format with size indicators
|
|
4
|
+
*/
|
|
5
|
+
import type { RPCResponse } from '../types/common.js';
|
|
6
|
+
/**
|
|
7
|
+
* Parse chunked response from batchexecute
|
|
8
|
+
* Format: <chunk-length>\n<chunk-data>\n<chunk-length>\n<chunk-data>...
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseChunkedResponse(raw: string, debug?: boolean): RPCResponse[];
|
|
11
|
+
//# sourceMappingURL=chunked-decoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunked-decoder.d.ts","sourceRoot":"","sources":["../../../src/utils/chunked-decoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,WAAW,EAAE,CAgFvF"}
|