@aloth/olcli 0.1.7 → 0.1.8

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/client.d.ts CHANGED
@@ -59,9 +59,10 @@ export declare class OverleafClient {
59
59
  */
60
60
  static fromSessionCookie(sessionCookie: string, baseUrl?: string, cookieName?: string): Promise<OverleafClient>;
61
61
  private getCookieHeader;
62
- private applySetCookieHeaders;
63
- private fetchWithTimeout;
64
62
  private getHeaders;
63
+ private normalizeHeaders;
64
+ private applySetCookieHeaders;
65
+ private httpRequest;
65
66
  /**
66
67
  * Get all projects (not archived, not trashed)
67
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -8,6 +8,8 @@ import * as cheerio from 'cheerio';
8
8
  import { readFileSync } from 'node:fs';
9
9
  import { dirname, join } from 'node:path';
10
10
  import { fileURLToPath } from 'node:url';
11
+ import * as https from 'node:https';
12
+ import * as http from 'node:http';
11
13
  // Read version from package.json
12
14
  const __dirname = dirname(fileURLToPath(import.meta.url));
13
15
  const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
@@ -48,24 +50,20 @@ export class OverleafClient {
48
50
  [cookieName]: sessionCookie
49
51
  };
50
52
  // Fetch CSRF token from project page
51
- const response = await fetch(`${baseUrl}/project`, {
52
- headers: {
53
- 'Cookie': Object.entries(cookies).map(([k, v]) => `${k}=${v}`).join('; '),
54
- 'User-Agent': USER_AGENT
55
- }
53
+ const initialHeaders = {
54
+ 'Cookie': Object.entries(cookies).map(([k, v]) => `${k}=${v}`).join('; '),
55
+ 'User-Agent': USER_AGENT
56
+ };
57
+ const bootstrapClient = new OverleafClient({ cookies, csrf: 'bootstrap', baseUrl });
58
+ const response = await bootstrapClient.httpRequest(`${baseUrl}/project`, {
59
+ headers: initialHeaders,
60
+ expect: 'text'
56
61
  });
57
62
  if (!response.ok) {
58
- throw new Error(`Failed to fetch projects page: ${response.status} ${response.statusText}`);
59
- }
60
- // Capture any new cookies from response
61
- const setCookieHeaders = response.headers.getSetCookie?.() || [];
62
- for (const setCookie of setCookieHeaders) {
63
- const match = setCookie.match(/^([^=]+)=([^;]+)/);
64
- if (match) {
65
- cookies[match[1]] = match[2];
66
- }
63
+ throw new Error(`Failed to fetch projects page: ${response.status}`);
67
64
  }
68
- const html = await response.text();
65
+ bootstrapClient.applySetCookieHeaders(response.headers['set-cookie']);
66
+ const html = response.body;
69
67
  const $ = cheerio.load(html);
70
68
  // Try multiple methods to find CSRF token (based on PR #66, #82)
71
69
  let csrf;
@@ -90,30 +88,13 @@ export class OverleafClient {
90
88
  if (!csrf) {
91
89
  throw new Error('Could not find CSRF token. Session may have expired.');
92
90
  }
93
- return new OverleafClient({ cookies, csrf, baseUrl });
91
+ // Update cookies if the bootstrap request added anything
92
+ const updatedCookies = bootstrapClient.cookies;
93
+ return new OverleafClient({ cookies: updatedCookies, csrf, baseUrl });
94
94
  }
95
95
  getCookieHeader() {
96
96
  return Object.entries(this.cookies).map(([k, v]) => `${k}=${v}`).join('; ');
97
97
  }
98
- applySetCookieHeaders(headers) {
99
- const setCookieHeaders = headers.getSetCookie?.() || [];
100
- for (const setCookie of setCookieHeaders) {
101
- const match = setCookie.match(/^([^=]+)=([^;]+)/);
102
- if (match) {
103
- this.cookies[match[1]] = match[2];
104
- }
105
- }
106
- }
107
- async fetchWithTimeout(url, init, timeoutMs) {
108
- const controller = new AbortController();
109
- const timeout = setTimeout(() => controller.abort(), timeoutMs);
110
- try {
111
- return await fetch(url, { ...init, signal: controller.signal });
112
- }
113
- finally {
114
- clearTimeout(timeout);
115
- }
116
- }
117
98
  getHeaders(includeContentType = false) {
118
99
  const headers = {
119
100
  'Cookie': this.getCookieHeader(),
@@ -125,17 +106,93 @@ export class OverleafClient {
125
106
  }
126
107
  return headers;
127
108
  }
109
+ normalizeHeaders(headers) {
110
+ const normalized = {};
111
+ if (!headers)
112
+ return normalized;
113
+ for (const [key, value] of Object.entries(headers)) {
114
+ if (typeof value === 'string') {
115
+ normalized[key] = value;
116
+ }
117
+ }
118
+ return normalized;
119
+ }
120
+ applySetCookieHeaders(setCookie) {
121
+ if (!setCookie)
122
+ return;
123
+ for (const setCookieHeader of setCookie) {
124
+ const match = setCookieHeader.match(/^([^=]+)=([^;]+)/);
125
+ if (match) {
126
+ this.cookies[match[1]] = match[2];
127
+ }
128
+ }
129
+ }
130
+ async httpRequest(url, options = {}) {
131
+ const method = options.method || 'GET';
132
+ const timeoutMs = options.timeoutMs ?? 10000;
133
+ const maxRedirects = options.maxRedirects ?? 5;
134
+ const expect = options.expect ?? 'text';
135
+ const doRequest = (reqUrl, redirectsLeft) => {
136
+ return new Promise((resolve, reject) => {
137
+ const parsedUrl = new URL(reqUrl);
138
+ const transport = parsedUrl.protocol === 'https:' ? https : http;
139
+ const headers = this.normalizeHeaders(options.headers);
140
+ const req = transport.request(reqUrl, { method, headers }, (res) => {
141
+ const status = res.statusCode || 0;
142
+ const resHeaders = res.headers;
143
+ if (status >= 300 && status < 400 && res.headers.location && redirectsLeft > 0) {
144
+ const redirectUrl = new URL(res.headers.location, reqUrl).toString();
145
+ res.resume();
146
+ doRequest(redirectUrl, redirectsLeft - 1).then(resolve, reject);
147
+ return;
148
+ }
149
+ const chunks = [];
150
+ res.on('data', (chunk) => chunks.push(chunk));
151
+ res.on('end', () => {
152
+ const buffer = Buffer.concat(chunks);
153
+ let body = buffer;
154
+ if (expect === 'text') {
155
+ body = buffer.toString('utf-8');
156
+ }
157
+ else if (expect === 'json') {
158
+ try {
159
+ body = JSON.parse(buffer.toString('utf-8'));
160
+ }
161
+ catch (e) {
162
+ return reject(new Error(`Failed to parse JSON response from ${reqUrl}`));
163
+ }
164
+ }
165
+ resolve({ status, ok: status >= 200 && status < 300, headers: resHeaders, body });
166
+ });
167
+ res.on('error', reject);
168
+ });
169
+ req.on('error', reject);
170
+ if (timeoutMs) {
171
+ req.setTimeout(timeoutMs, () => {
172
+ req.destroy(new Error(`Request timeout after ${timeoutMs}ms`));
173
+ });
174
+ }
175
+ if (options.body) {
176
+ req.write(options.body);
177
+ }
178
+ req.end();
179
+ });
180
+ };
181
+ return doRequest(url, maxRedirects);
182
+ }
128
183
  /**
129
184
  * Get all projects (not archived, not trashed)
130
185
  */
131
186
  async listProjects() {
132
- const response = await fetch(this.projectUrl(), {
133
- headers: this.getHeaders()
187
+ const response = await this.httpRequest(this.projectUrl(), {
188
+ headers: this.getHeaders(),
189
+ expect: 'text'
134
190
  });
135
191
  if (!response.ok) {
136
192
  throw new Error(`Failed to fetch projects: ${response.status}`);
137
193
  }
138
- const html = await response.text();
194
+ this.applySetCookieHeaders(response.headers['set-cookie']);
195
+ const html = response.body;
139
196
  const $ = cheerio.load(html);
140
197
  // Try new Overleaf structure first (PR #82)
141
198
  let projectsData = [];
@@ -212,13 +269,15 @@ export class OverleafClient {
212
269
  * Get detailed project info including file tree
213
270
  */
214
271
  async getProjectInfo(projectId) {
215
- const response = await fetch(`${this.projectUrl()}/${projectId}`, {
216
- headers: this.getHeaders()
272
+ const response = await this.httpRequest(`${this.projectUrl()}/${projectId}`, {
273
+ headers: this.getHeaders(),
274
+ expect: 'text'
217
275
  });
218
276
  if (!response.ok) {
219
277
  throw new Error(`Failed to fetch project info: ${response.status}`);
220
278
  }
221
- const html = await response.text();
279
+ this.applySetCookieHeaders(response.headers['set-cookie']);
280
+ const html = response.body;
222
281
  const $ = cheerio.load(html);
223
282
  // Look for project data in meta tags
224
283
  let projectInfo;
@@ -261,34 +320,15 @@ export class OverleafClient {
261
320
  * project names). See: https://github.com/aloth/olcli/issues/2
262
321
  */
263
322
  async downloadBuffer(url) {
264
- const { default: https } = await import('node:https');
265
- const { default: http } = await import('node:http');
266
- const doRequest = (reqUrl) => {
267
- return new Promise((resolve, reject) => {
268
- const parsedUrl = new URL(reqUrl);
269
- const transport = parsedUrl.protocol === 'https:' ? https : http;
270
- const req = transport.get(reqUrl, {
271
- headers: this.getHeaders(),
272
- }, (res) => {
273
- // Follow redirects
274
- if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
275
- const redirectUrl = new URL(res.headers.location, reqUrl).toString();
276
- doRequest(redirectUrl).then(resolve, reject);
277
- return;
278
- }
279
- if (res.statusCode && res.statusCode >= 400) {
280
- reject(new Error(`Download failed: ${res.statusCode}`));
281
- return;
282
- }
283
- const chunks = [];
284
- res.on('data', (chunk) => chunks.push(chunk));
285
- res.on('end', () => resolve(Buffer.concat(chunks)));
286
- res.on('error', reject);
287
- });
288
- req.on('error', reject);
289
- });
290
- };
291
- return doRequest(url);
323
+ const response = await this.httpRequest(url, {
324
+ headers: this.getHeaders(),
325
+ expect: 'buffer'
326
+ });
327
+ if (!response.ok) {
328
+ throw new Error(`Download failed: ${response.status}`);
329
+ }
330
+ this.applySetCookieHeaders(response.headers['set-cookie']);
331
+ return response.body;
292
332
  }
293
333
  /**
294
334
  * Download project as zip
@@ -303,7 +343,7 @@ export class OverleafClient {
303
343
  * Compile project and get PDF
304
344
  */
305
345
  async compileProject(projectId) {
306
- const response = await fetch(this.compileUrl(projectId), {
346
+ const response = await this.httpRequest(this.compileUrl(projectId), {
307
347
  method: 'POST',
308
348
  headers: this.getHeaders(true),
309
349
  body: JSON.stringify({
@@ -311,12 +351,14 @@ export class OverleafClient {
311
351
  draft: false,
312
352
  check: 'silent',
313
353
  incrementalCompilesEnabled: true
314
- })
354
+ }),
355
+ expect: 'json'
315
356
  });
316
357
  if (!response.ok) {
317
358
  throw new Error(`Failed to compile project: ${response.status}`);
318
359
  }
319
- const data = await response.json();
360
+ this.applySetCookieHeaders(response.headers['set-cookie']);
361
+ const data = response.body;
320
362
  if (data.status !== 'success') {
321
363
  throw new Error(`Compilation failed: ${data.status}`);
322
364
  }
@@ -340,13 +382,14 @@ export class OverleafClient {
340
382
  * Create a folder in a project
341
383
  */
342
384
  async createFolder(projectId, parentFolderId, name) {
343
- const response = await fetch(this.folderUrl(projectId), {
385
+ const response = await this.httpRequest(this.folderUrl(projectId), {
344
386
  method: 'POST',
345
387
  headers: this.getHeaders(true),
346
388
  body: JSON.stringify({
347
389
  parent_folder_id: parentFolderId,
348
390
  name
349
- })
391
+ }),
392
+ expect: 'json'
350
393
  });
351
394
  if (response.status === 400) {
352
395
  // Folder already exists
@@ -355,7 +398,8 @@ export class OverleafClient {
355
398
  if (!response.ok) {
356
399
  throw new Error(`Failed to create folder: ${response.status}`);
357
400
  }
358
- const data = await response.json();
401
+ this.applySetCookieHeaders(response.headers['set-cookie']);
402
+ const data = response.body;
359
403
  return data._id;
360
404
  }
361
405
  /**
@@ -454,16 +498,18 @@ export class OverleafClient {
454
498
  let sid = null;
455
499
  try {
456
500
  const handshakeUrl = `${this.baseUrl}/socket.io/1/?projectId=${encodeURIComponent(projectId)}&t=${Date.now()}`;
457
- const handshakeResponse = await this.fetchWithTimeout(handshakeUrl, {
501
+ const handshakeResponse = await this.httpRequest(handshakeUrl, {
458
502
  headers: {
459
503
  'Cookie': this.getCookieHeader(),
460
504
  'User-Agent': USER_AGENT
461
- }
462
- }, 5000);
505
+ },
506
+ expect: 'text',
507
+ timeoutMs: 5000
508
+ });
463
509
  if (!handshakeResponse.ok)
464
510
  return null;
465
- this.applySetCookieHeaders(handshakeResponse.headers);
466
- const handshakeBody = (await handshakeResponse.text()).trim();
511
+ this.applySetCookieHeaders(handshakeResponse.headers['set-cookie']);
512
+ const handshakeBody = handshakeResponse.body.trim();
467
513
  sid = handshakeBody.split(':')[0];
468
514
  if (!sid)
469
515
  return null;
@@ -471,16 +517,18 @@ export class OverleafClient {
471
517
  let discoveredRootFolderId = null;
472
518
  // poll a few frames, first is usually connect ack, next includes joinProjectResponse
473
519
  for (let attempt = 0; attempt < 3; attempt++) {
474
- const pollResponse = await this.fetchWithTimeout(buildPollUrl(), {
520
+ const pollResponse = await this.httpRequest(buildPollUrl(), {
475
521
  headers: {
476
522
  'Cookie': this.getCookieHeader(),
477
523
  'User-Agent': USER_AGENT
478
- }
479
- }, 5000);
524
+ },
525
+ expect: 'text',
526
+ timeoutMs: 5000
527
+ });
480
528
  if (!pollResponse.ok)
481
529
  return null;
482
- this.applySetCookieHeaders(pollResponse.headers);
483
- const payload = await pollResponse.text();
530
+ this.applySetCookieHeaders(pollResponse.headers['set-cookie']);
531
+ const payload = pollResponse.body;
484
532
  const packets = this.decodeSocketIoPayload(payload);
485
533
  for (const packet of packets) {
486
534
  const rootFolderId = this.extractRootFolderIdFromSocketPacket(packet);
@@ -490,16 +538,18 @@ export class OverleafClient {
490
538
  }
491
539
  if (packet.startsWith('2::')) {
492
540
  //reply to heartbeat to keep polling transport alive
493
- const heartbeatResponse = await this.fetchWithTimeout(buildPollUrl(), {
541
+ const heartbeatResponse = await this.httpRequest(buildPollUrl(), {
494
542
  method: 'POST',
495
543
  headers: {
496
544
  'Cookie': this.getCookieHeader(),
497
545
  'User-Agent': USER_AGENT,
498
546
  'Content-Type': 'text/plain;charset=UTF-8'
499
547
  },
500
- body: '2::'
501
- }, 5000);
502
- this.applySetCookieHeaders(heartbeatResponse.headers);
548
+ body: '2::',
549
+ expect: 'text',
550
+ timeoutMs: 5000
551
+ });
552
+ this.applySetCookieHeaders(heartbeatResponse.headers['set-cookie']);
503
553
  }
504
554
  }
505
555
  if (discoveredRootFolderId) {
@@ -514,16 +564,18 @@ export class OverleafClient {
514
564
  if (sid) {
515
565
  try {
516
566
  const disconnectUrl = `${this.baseUrl}/socket.io/1/xhr-polling/${sid}?projectId=${encodeURIComponent(projectId)}&t=${Date.now()}`;
517
- const disconnectResponse = await this.fetchWithTimeout(disconnectUrl, {
567
+ const disconnectResponse = await this.httpRequest(disconnectUrl, {
518
568
  method: 'POST',
519
569
  headers: {
520
570
  'Cookie': this.getCookieHeader(),
521
571
  'User-Agent': USER_AGENT,
522
572
  'Content-Type': 'text/plain;charset=UTF-8'
523
573
  },
524
- body: '0::'
525
- }, 5000);
526
- this.applySetCookieHeaders(disconnectResponse.headers);
574
+ body: '0::',
575
+ expect: 'text',
576
+ timeoutMs: 5000
577
+ });
578
+ this.applySetCookieHeaders(disconnectResponse.headers['set-cookie']);
527
579
  }
528
580
  catch {
529
581
  // Ignore cleanup failures.
@@ -540,47 +592,53 @@ export class OverleafClient {
540
592
  let sid = null;
541
593
  try {
542
594
  const handshakeUrl = `${this.baseUrl}/socket.io/1/?projectId=${encodeURIComponent(projectId)}&t=${Date.now()}`;
543
- const handshakeResponse = await this.fetchWithTimeout(handshakeUrl, {
595
+ const handshakeResponse = await this.httpRequest(handshakeUrl, {
544
596
  headers: {
545
597
  'Cookie': this.getCookieHeader(),
546
598
  'User-Agent': USER_AGENT
547
- }
548
- }, 5000);
599
+ },
600
+ expect: 'text',
601
+ timeoutMs: 5000
602
+ });
549
603
  if (!handshakeResponse.ok)
550
604
  return null;
551
- this.applySetCookieHeaders(handshakeResponse.headers);
552
- const handshakeBody = (await handshakeResponse.text()).trim();
605
+ this.applySetCookieHeaders(handshakeResponse.headers['set-cookie']);
606
+ const handshakeBody = handshakeResponse.body.trim();
553
607
  sid = handshakeBody.split(':')[0];
554
608
  if (!sid)
555
609
  return null;
556
610
  const buildPollUrl = () => `${this.baseUrl}/socket.io/1/xhr-polling/${sid}?projectId=${encodeURIComponent(projectId)}&t=${Date.now()}`;
557
611
  for (let attempt = 0; attempt < 3; attempt++) {
558
- const pollResponse = await this.fetchWithTimeout(buildPollUrl(), {
612
+ const pollResponse = await this.httpRequest(buildPollUrl(), {
559
613
  headers: {
560
614
  'Cookie': this.getCookieHeader(),
561
615
  'User-Agent': USER_AGENT
562
- }
563
- }, 5000);
616
+ },
617
+ expect: 'text',
618
+ timeoutMs: 5000
619
+ });
564
620
  if (!pollResponse.ok)
565
621
  return null;
566
- this.applySetCookieHeaders(pollResponse.headers);
567
- const payload = await pollResponse.text();
622
+ this.applySetCookieHeaders(pollResponse.headers['set-cookie']);
623
+ const payload = pollResponse.body;
568
624
  const packets = this.decodeSocketIoPayload(payload);
569
625
  for (const packet of packets) {
570
626
  const folderTree = this.extractFolderTreeFromSocketPacket(packet);
571
627
  if (folderTree)
572
628
  return folderTree;
573
629
  if (packet.startsWith('2::')) {
574
- const heartbeatResponse = await this.fetchWithTimeout(buildPollUrl(), {
630
+ const heartbeatResponse = await this.httpRequest(buildPollUrl(), {
575
631
  method: 'POST',
576
632
  headers: {
577
633
  'Cookie': this.getCookieHeader(),
578
634
  'User-Agent': USER_AGENT,
579
635
  'Content-Type': 'text/plain;charset=UTF-8'
580
636
  },
581
- body: '2::'
582
- }, 5000);
583
- this.applySetCookieHeaders(heartbeatResponse.headers);
637
+ body: '2::',
638
+ expect: 'text',
639
+ timeoutMs: 5000
640
+ });
641
+ this.applySetCookieHeaders(heartbeatResponse.headers['set-cookie']);
584
642
  }
585
643
  }
586
644
  }
@@ -592,15 +650,17 @@ export class OverleafClient {
592
650
  if (sid) {
593
651
  try {
594
652
  const disconnectUrl = `${this.baseUrl}/socket.io/1/xhr-polling/${sid}?projectId=${encodeURIComponent(projectId)}&t=${Date.now()}`;
595
- await this.fetchWithTimeout(disconnectUrl, {
653
+ await this.httpRequest(disconnectUrl, {
596
654
  method: 'POST',
597
655
  headers: {
598
656
  'Cookie': this.getCookieHeader(),
599
657
  'User-Agent': USER_AGENT,
600
658
  'Content-Type': 'text/plain;charset=UTF-8'
601
659
  },
602
- body: '0::'
603
- }, 5000);
660
+ body: '0::',
661
+ expect: 'text',
662
+ timeoutMs: 5000
663
+ });
604
664
  }
605
665
  catch {
606
666
  // Ignore cleanup failures.
@@ -704,16 +764,21 @@ export class OverleafClient {
704
764
  formData.append('name', testFileName);
705
765
  formData.append('type', 'text/plain');
706
766
  formData.append('qqfile', new Blob(['probe']), testFileName);
707
- const response = await fetch(`${this.uploadUrl(projectId)}?folder_id=${folderId}`, {
767
+ const response = await this.httpRequest(`${this.uploadUrl(projectId)}?folder_id=${folderId}`, {
708
768
  method: 'POST',
709
769
  headers: {
710
770
  'Cookie': this.getCookieHeader(),
711
771
  'User-Agent': USER_AGENT,
712
772
  'X-Csrf-Token': this.csrf
713
773
  },
714
- body: formData
774
+ body: formData,
775
+ expect: 'json'
715
776
  });
716
- const data = await response.json();
777
+ if (!response.ok) {
778
+ continue;
779
+ }
780
+ this.applySetCookieHeaders(response.headers['set-cookie']);
781
+ const data = response.body;
717
782
  if (data.success !== false && data.entity_id) {
718
783
  // Success! Delete the probe file and return this folder ID
719
784
  try {
@@ -771,17 +836,18 @@ export class OverleafClient {
771
836
  formData.append('name', baseName);
772
837
  formData.append('type', mimeType);
773
838
  formData.append('qqfile', new Blob([content]), baseName);
774
- const response = await fetch(`${this.uploadUrl(projectId)}?folder_id=${encodeURIComponent(fid)}`, {
839
+ const response = await this.httpRequest(`${this.uploadUrl(projectId)}?folder_id=${encodeURIComponent(fid)}`, {
775
840
  method: 'POST',
776
841
  headers: {
777
842
  'Cookie': this.getCookieHeader(),
778
843
  'User-Agent': USER_AGENT,
779
844
  'X-Csrf-Token': this.csrf
780
845
  },
781
- body: formData
846
+ body: formData,
847
+ expect: 'text'
782
848
  });
783
849
  if (!response.ok) {
784
- const text = await response.text();
850
+ const text = response.body;
785
851
  // Overleaf returns folder_not_found as HTTP 422 JSON.
786
852
  // Parse the body first so caller can trigger folder probing fallback.
787
853
  try {
@@ -795,7 +861,8 @@ export class OverleafClient {
795
861
  }
796
862
  return { success: false, error: `${response.status} - ${text}` };
797
863
  }
798
- const data = await response.json();
864
+ this.applySetCookieHeaders(response.headers['set-cookie']);
865
+ const data = JSON.parse(response.body);
799
866
  if (data.success === false && data.error === 'folder_not_found') {
800
867
  return { success: false, error: 'folder_not_found' };
801
868
  }
@@ -837,25 +904,29 @@ export class OverleafClient {
837
904
  */
838
905
  async deleteEntity(projectId, entityId, entityType) {
839
906
  const url = this.deleteUrl(projectId, entityType, entityId);
840
- const response = await fetch(url, {
907
+ const response = await this.httpRequest(url, {
841
908
  method: 'DELETE',
842
- headers: this.getHeaders()
909
+ headers: this.getHeaders(),
910
+ expect: 'text'
843
911
  });
844
912
  if (!response.ok) {
845
913
  throw new Error(`Failed to delete entity: ${response.status}`);
846
914
  }
915
+ this.applySetCookieHeaders(response.headers['set-cookie']);
847
916
  }
848
917
  /**
849
918
  * Get list of entities (files/docs) with paths
850
919
  */
851
920
  async getEntities(projectId) {
852
- const response = await fetch(`${this.baseUrl}/project/${projectId}/entities`, {
853
- headers: this.getHeaders()
921
+ const response = await this.httpRequest(`${this.baseUrl}/project/${projectId}/entities`, {
922
+ headers: this.getHeaders(),
923
+ expect: 'json'
854
924
  });
855
925
  if (!response.ok) {
856
926
  throw new Error(`Failed to get entities: ${response.status}`);
857
927
  }
858
- const data = await response.json();
928
+ this.applySetCookieHeaders(response.headers['set-cookie']);
929
+ const data = response.body;
859
930
  return data.entities || [];
860
931
  }
861
932
  /**
@@ -901,35 +972,38 @@ export class OverleafClient {
901
972
  */
902
973
  async downloadFile(projectId, fileId, fileType) {
903
974
  const endpoint = fileType === 'doc' ? 'doc' : 'file';
904
- const response = await fetch(`${this.baseUrl}/project/${projectId}/${endpoint}/${fileId}`, {
905
- headers: this.getHeaders()
975
+ const response = await this.httpRequest(`${this.baseUrl}/project/${projectId}/${endpoint}/${fileId}`, {
976
+ headers: this.getHeaders(),
977
+ expect: fileType === 'doc' ? 'json' : 'buffer'
906
978
  });
907
979
  if (!response.ok) {
908
980
  throw new Error(`Failed to download file: ${response.status}`);
909
981
  }
982
+ this.applySetCookieHeaders(response.headers['set-cookie']);
910
983
  if (fileType === 'doc') {
911
984
  // Docs return JSON with lines array
912
- const data = await response.json();
985
+ const data = response.body;
913
986
  const content = (data.lines || []).join('\n');
914
987
  return Buffer.from(content, 'utf-8');
915
988
  }
916
989
  else {
917
- const arrayBuffer = await response.arrayBuffer();
918
- return Buffer.from(arrayBuffer);
990
+ return response.body;
919
991
  }
920
992
  }
921
993
  /**
922
994
  * Rename a file, doc, or folder
923
995
  */
924
996
  async renameEntity(projectId, entityId, entityType, newName) {
925
- const response = await fetch(`${this.baseUrl}/project/${projectId}/${entityType}/${entityId}/rename`, {
997
+ const response = await this.httpRequest(`${this.baseUrl}/project/${projectId}/${entityType}/${entityId}/rename`, {
926
998
  method: 'POST',
927
999
  headers: this.getHeaders(true),
928
- body: JSON.stringify({ name: newName })
1000
+ body: JSON.stringify({ name: newName }),
1001
+ expect: 'text'
929
1002
  });
930
1003
  if (!response.ok) {
931
1004
  throw new Error(`Failed to rename entity: ${response.status}`);
932
1005
  }
1006
+ this.applySetCookieHeaders(response.headers['set-cookie']);
933
1007
  }
934
1008
  /**
935
1009
  * Delete a file by path
@@ -988,7 +1062,7 @@ export class OverleafClient {
988
1062
  * Compile project and get all output files
989
1063
  */
990
1064
  async compileWithOutputs(projectId) {
991
- const response = await fetch(this.compileUrl(projectId), {
1065
+ const response = await this.httpRequest(this.compileUrl(projectId), {
992
1066
  method: 'POST',
993
1067
  headers: this.getHeaders(true),
994
1068
  body: JSON.stringify({
@@ -996,12 +1070,14 @@ export class OverleafClient {
996
1070
  draft: false,
997
1071
  check: 'silent',
998
1072
  incrementalCompilesEnabled: true
999
- })
1073
+ }),
1074
+ expect: 'json'
1000
1075
  });
1001
1076
  if (!response.ok) {
1002
1077
  throw new Error(`Failed to compile project: ${response.status}`);
1003
1078
  }
1004
- const data = await response.json();
1079
+ this.applySetCookieHeaders(response.headers['set-cookie']);
1080
+ const data = response.body;
1005
1081
  const pdfFile = data.outputFiles?.find((f) => f.type === 'pdf');
1006
1082
  return {
1007
1083
  status: data.status,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aloth/olcli",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Command-line interface for Overleaf — Sync, manage, and compile LaTeX projects from your terminal",
5
5
  "type": "module",
6
6
  "bin": {