@aloth/olcli 0.15.3 → 0.16.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/README.md +140 -437
- package/dist/browser-auth.d.ts +144 -0
- package/dist/browser-auth.d.ts.map +1 -0
- package/dist/browser-auth.js +442 -0
- package/dist/browser-auth.js.map +1 -0
- package/dist/cli.js +429 -174
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +20 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +103 -37
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +25 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +40 -7
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +50 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +115 -0
- package/dist/errors.js.map +1 -0
- package/dist/fast-export.d.ts +2 -0
- package/dist/fast-export.d.ts.map +1 -1
- package/dist/fast-export.js +5 -1
- package/dist/fast-export.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +4 -1
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp.js +1 -1
- package/dist/mcp.js.map +1 -1
- package/dist/paths.d.ts +18 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +45 -0
- package/dist/paths.js.map +1 -1
- package/dist/project-match.d.ts +37 -0
- package/dist/project-match.d.ts.map +1 -0
- package/dist/project-match.js +97 -0
- package/dist/project-match.js.map +1 -0
- package/dist/proxy.d.ts +52 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +189 -0
- package/dist/proxy.js.map +1 -0
- package/dist/remote-helper.d.ts +3 -2
- package/dist/remote-helper.d.ts.map +1 -1
- package/dist/remote-helper.js +130 -37
- package/dist/remote-helper.js.map +1 -1
- package/dist/term.d.ts +25 -0
- package/dist/term.d.ts.map +1 -0
- package/dist/term.js +42 -0
- package/dist/term.js.map +1 -0
- package/package.json +9 -4
package/dist/remote-helper.js
CHANGED
|
@@ -9,13 +9,16 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Protocol reference: gitremote-helpers(7)
|
|
11
11
|
*
|
|
12
|
-
* Capabilities: import + export with refspec.
|
|
13
|
-
* State stored in .git/overleaf/ (manifest).
|
|
12
|
+
* Capabilities: import + export with refspec, option (for push --force).
|
|
13
|
+
* State stored in .git/overleaf/ (manifest, marks, sha256 of every remote file).
|
|
14
|
+
* A push is refused while Overleaf has changes the clone has not fetched.
|
|
14
15
|
*/
|
|
15
16
|
import { execSync } from 'node:child_process';
|
|
17
|
+
import { createHash } from 'node:crypto';
|
|
16
18
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
17
19
|
import { join, resolve } from 'node:path';
|
|
18
20
|
import { OverleafClient } from './client.js';
|
|
21
|
+
import { formatErrorText } from './errors.js';
|
|
19
22
|
import { getSessionCookie, getBaseUrl, getSessionCookieName, getTimeout, getPasswordCredentials, } from './config.js';
|
|
20
23
|
import { loadIgnore, shouldIgnore } from './ignore.js';
|
|
21
24
|
import { ByteReader, parseFastExport } from './fast-export.js';
|
|
@@ -52,6 +55,35 @@ function parseRemoteUrl(url) {
|
|
|
52
55
|
}
|
|
53
56
|
fatal(`Cannot parse Overleaf URL: ${url}\n Expected: https://<host>/project/<24-char-id>`);
|
|
54
57
|
}
|
|
58
|
+
/** Download the project and hash every file in it. */
|
|
59
|
+
async function remoteSnapshot(client, projectId) {
|
|
60
|
+
const zipBuffer = await client.downloadProject(projectId);
|
|
61
|
+
const AdmZip = (await import('adm-zip')).default;
|
|
62
|
+
const files = [];
|
|
63
|
+
const hashes = {};
|
|
64
|
+
for (const entry of new AdmZip(zipBuffer).getEntries()) {
|
|
65
|
+
if (entry.isDirectory)
|
|
66
|
+
continue;
|
|
67
|
+
const data = entry.getData();
|
|
68
|
+
files.push({ path: entry.entryName, data });
|
|
69
|
+
hashes[entry.entryName] = createHash('sha256').update(data).digest('hex');
|
|
70
|
+
}
|
|
71
|
+
return { files, hashes };
|
|
72
|
+
}
|
|
73
|
+
/** Paths whose content differs between two snapshots, including added and removed files. */
|
|
74
|
+
function changedPaths(before, after) {
|
|
75
|
+
const paths = new Set([...Object.keys(before), ...Object.keys(after)]);
|
|
76
|
+
return [...paths].filter((p) => before[p] !== after[p]).sort();
|
|
77
|
+
}
|
|
78
|
+
function localRemoteSha() {
|
|
79
|
+
try {
|
|
80
|
+
const sha = execSync('git rev-parse --verify refs/overleaf/main 2>/dev/null', { encoding: 'utf-8', env: { ...process.env, GIT_DIR: getGitDir() } }).trim();
|
|
81
|
+
return /^[a-f0-9]{40}$/.test(sha) ? sha : undefined;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
55
87
|
function getGitDir() {
|
|
56
88
|
const gitDir = process.env.GIT_DIR;
|
|
57
89
|
if (!gitDir)
|
|
@@ -94,7 +126,7 @@ async function getClient(baseUrl) {
|
|
|
94
126
|
}
|
|
95
127
|
catch (err) {
|
|
96
128
|
if (!passwordCredentials) {
|
|
97
|
-
fatal(`Authentication failed: ${err
|
|
129
|
+
fatal(`Authentication failed: ${formatErrorText(err, { verbose: true })}\nRun 'olcli auth' or set OVERLEAF_SESSION.`);
|
|
98
130
|
}
|
|
99
131
|
}
|
|
100
132
|
}
|
|
@@ -130,6 +162,41 @@ async function pushChanges(client, projectId, parsed, _state) {
|
|
|
130
162
|
}
|
|
131
163
|
}
|
|
132
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Why a push must not go ahead, or undefined when it may. Mirrors git's
|
|
167
|
+
* non-fast-forward rejection: Overleaf has changes this clone has not fetched.
|
|
168
|
+
*/
|
|
169
|
+
function pushRefusal(recorded, current) {
|
|
170
|
+
if (!recorded) {
|
|
171
|
+
return 'this clone has no record of the Overleaf state (made by olcli 0.16.0 or earlier); run git pull once, then push again';
|
|
172
|
+
}
|
|
173
|
+
const changed = changedPaths(recorded, current);
|
|
174
|
+
if (changed.length === 0)
|
|
175
|
+
return undefined;
|
|
176
|
+
const shown = changed.slice(0, 3).join(', ') + (changed.length > 3 ? ` and ${changed.length - 3} more` : '');
|
|
177
|
+
return `Overleaf has changes you do not have yet (${shown}); run git pull, then push again, or git push --force to overwrite them`;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* The commit being pushed must contain the last import, or the push would
|
|
181
|
+
* replace what was fetched from Overleaf with an older version, for example
|
|
182
|
+
* after a git pull whose merge conflict was never resolved.
|
|
183
|
+
*/
|
|
184
|
+
function notMergedRefusal(refs) {
|
|
185
|
+
const fetchedSha = localRemoteSha();
|
|
186
|
+
if (!fetchedSha)
|
|
187
|
+
return undefined;
|
|
188
|
+
for (const ref of refs.length ? refs : ['HEAD']) {
|
|
189
|
+
try {
|
|
190
|
+
execSync(`git merge-base --is-ancestor ${fetchedSha} ${JSON.stringify(ref)}`, {
|
|
191
|
+
stdio: 'ignore', env: { ...process.env, GIT_DIR: getGitDir() },
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
return 'your branch does not contain the last fetch from Overleaf; merge it first (git pull, resolve any conflict, commit), then push again, or git push --force to overwrite';
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
133
200
|
// ─── Protocol handler ───
|
|
134
201
|
async function main() {
|
|
135
202
|
// Args: git-remote-overleaf <remote-name> <url>
|
|
@@ -143,6 +210,12 @@ async function main() {
|
|
|
143
210
|
debug(`Project ID: ${projectId}, Base URL: ${baseUrl}`);
|
|
144
211
|
ensureStateDir();
|
|
145
212
|
const state = loadState();
|
|
213
|
+
let clientPromise;
|
|
214
|
+
const client = () => (clientPromise ??= getClient(baseUrl));
|
|
215
|
+
// The snapshot `list` downloads is reused by the `import` that follows in the
|
|
216
|
+
// same process, so a fetch downloads the project once.
|
|
217
|
+
let fetched;
|
|
218
|
+
let force = false;
|
|
146
219
|
// Byte-exact reader: fast-export blobs are raw bytes, which a line reader
|
|
147
220
|
// such as readline would decode as text and corrupt.
|
|
148
221
|
const reader = new ByteReader(process.stdin);
|
|
@@ -168,6 +241,8 @@ async function main() {
|
|
|
168
241
|
const caps = [
|
|
169
242
|
'import',
|
|
170
243
|
'export',
|
|
244
|
+
// Lets git pass `option force true` for `git push --force`.
|
|
245
|
+
'option',
|
|
171
246
|
// Map remote refs/heads/* to a private namespace refs/overleaf/<remote>/*
|
|
172
247
|
// This is critical: git uses the private namespace to track what the remote has.
|
|
173
248
|
// Without a separate namespace, git can't compute the push delta.
|
|
@@ -182,25 +257,25 @@ async function main() {
|
|
|
182
257
|
continue;
|
|
183
258
|
}
|
|
184
259
|
if (trimmed === 'list' || trimmed === 'list for-push') {
|
|
185
|
-
//
|
|
186
|
-
//
|
|
187
|
-
//
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
process.stdout.write('? refs/heads/main\n');
|
|
260
|
+
// Tell git which commit the remote is at. refs/overleaf/main is the
|
|
261
|
+
// commit of the last import or push; it is only still true if Overleaf
|
|
262
|
+
// has not changed since. Before a fetch, download the project and
|
|
263
|
+
// compare: unchanged reports that commit (git has nothing to do),
|
|
264
|
+
// changed reports '?' so git asks for an import. For a push the check
|
|
265
|
+
// happens in export instead, against a fresh download.
|
|
266
|
+
const remoteSha = localRemoteSha();
|
|
267
|
+
let report = remoteSha ?? '?';
|
|
268
|
+
if (trimmed === 'list' && remoteSha) {
|
|
269
|
+
fetched = await remoteSnapshot(await client(), projectId);
|
|
270
|
+
const changed = state.remoteHashes ? changedPaths(state.remoteHashes, fetched.hashes) : ['(no record)'];
|
|
271
|
+
if (changed.length > 0)
|
|
272
|
+
report = '?';
|
|
273
|
+
debug(`Overleaf changed since last import: ${changed.length ? changed.join(', ') : 'nothing'}`);
|
|
200
274
|
}
|
|
275
|
+
process.stdout.write(`${report} refs/heads/main\n`);
|
|
201
276
|
process.stdout.write('@refs/heads/main HEAD\n');
|
|
202
277
|
process.stdout.write('\n'); // blank line terminates
|
|
203
|
-
debug(`> list response sent (sha=${
|
|
278
|
+
debug(`> list response sent (sha=${report})`);
|
|
204
279
|
continue;
|
|
205
280
|
}
|
|
206
281
|
if (trimmed.startsWith('import ')) {
|
|
@@ -220,13 +295,9 @@ async function main() {
|
|
|
220
295
|
}
|
|
221
296
|
}
|
|
222
297
|
debug(`Import requested for: ${refs.join(', ')}`);
|
|
223
|
-
// Authenticate and fetch
|
|
224
|
-
const client = await getClient(baseUrl);
|
|
225
298
|
debug('Generating fast-import stream...');
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
const zip = new AdmZip(zipBuffer);
|
|
229
|
-
const entries = zip.getEntries();
|
|
299
|
+
const snapshot = fetched ?? await remoteSnapshot(await client(), projectId);
|
|
300
|
+
fetched = undefined;
|
|
230
301
|
let mark = state.lastMark;
|
|
231
302
|
const newManifest = [];
|
|
232
303
|
const fileMarks = [];
|
|
@@ -238,14 +309,18 @@ async function main() {
|
|
|
238
309
|
process.stdout.write(`feature export-marks=${marks}\n`);
|
|
239
310
|
// feature done tells fast-import to expect "done" as terminator
|
|
240
311
|
process.stdout.write('feature done\n');
|
|
312
|
+
// Nothing changed on Overleaf since the last import or push: write no
|
|
313
|
+
// commit, so the history does not fill up with empty imports.
|
|
314
|
+
const parentSha = localRemoteSha();
|
|
315
|
+
if (parentSha && state.remoteHashes && changedPaths(state.remoteHashes, snapshot.hashes).length === 0) {
|
|
316
|
+
process.stdout.write('done\n');
|
|
317
|
+
debug('Import: Overleaf unchanged, no commit');
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
241
320
|
// Write blobs
|
|
242
|
-
for (const
|
|
243
|
-
if (entry.isDirectory)
|
|
244
|
-
continue;
|
|
245
|
-
const path = entry.entryName;
|
|
321
|
+
for (const { path, data } of snapshot.files) {
|
|
246
322
|
newManifest.push(path);
|
|
247
323
|
mark++;
|
|
248
|
-
const data = entry.getData();
|
|
249
324
|
process.stdout.write(`blob\nmark :${mark}\ndata ${data.length}\n`);
|
|
250
325
|
process.stdout.write(data);
|
|
251
326
|
process.stdout.write('\n');
|
|
@@ -261,8 +336,8 @@ async function main() {
|
|
|
261
336
|
const msg = 'Import from Overleaf';
|
|
262
337
|
process.stdout.write(`data ${Buffer.byteLength(msg)}\n`);
|
|
263
338
|
process.stdout.write(`${msg}\n`);
|
|
264
|
-
// Parent:
|
|
265
|
-
if (
|
|
339
|
+
// Parent: the last imported or pushed commit, if any
|
|
340
|
+
if (parentSha) {
|
|
266
341
|
process.stdout.write(`from refs/overleaf/main^0\n`);
|
|
267
342
|
}
|
|
268
343
|
// Deletions (files removed on Overleaf since last import)
|
|
@@ -279,6 +354,7 @@ async function main() {
|
|
|
279
354
|
// Update state
|
|
280
355
|
state.manifest = newManifest;
|
|
281
356
|
state.lastMark = mark;
|
|
357
|
+
state.remoteHashes = snapshot.hashes;
|
|
282
358
|
saveState(state);
|
|
283
359
|
debug(`Import complete: ${fileMarks.length} files, ${removedFiles.length} deletions`);
|
|
284
360
|
continue;
|
|
@@ -286,7 +362,6 @@ async function main() {
|
|
|
286
362
|
if (trimmed.startsWith('export')) {
|
|
287
363
|
// Push: git sends a fast-export stream on stdin
|
|
288
364
|
debug('Export (push) starting — reading fast-export stream...');
|
|
289
|
-
const client = await getClient(baseUrl);
|
|
290
365
|
const parsed = await parseFastExport(reader);
|
|
291
366
|
debug(`Parsed export: ${parsed.files.length} modifications, ${parsed.deletes.length} deletions`);
|
|
292
367
|
if (parsed.files.length === 0 && parsed.deletes.length === 0) {
|
|
@@ -296,7 +371,17 @@ async function main() {
|
|
|
296
371
|
process.stdout.write('\n');
|
|
297
372
|
}
|
|
298
373
|
else {
|
|
299
|
-
|
|
374
|
+
const overleaf = await client();
|
|
375
|
+
// Refuse to overwrite edits made on Overleaf since the last fetch, the
|
|
376
|
+
// way git refuses a non-fast-forward push. --force skips the check.
|
|
377
|
+
const before = await remoteSnapshot(overleaf, projectId);
|
|
378
|
+
const refusal = force ? undefined : (pushRefusal(state.remoteHashes, before.hashes) ?? notMergedRefusal(parsed.refs));
|
|
379
|
+
if (refusal) {
|
|
380
|
+
process.stdout.write(`error refs/heads/main ${refusal}\n\n`);
|
|
381
|
+
debug(`Push refused: ${refusal}`);
|
|
382
|
+
continue;
|
|
383
|
+
}
|
|
384
|
+
await pushChanges(overleaf, projectId, parsed, state);
|
|
300
385
|
// Report success for each ref that was pushed
|
|
301
386
|
process.stdout.write('ok refs/heads/main\n');
|
|
302
387
|
process.stdout.write('\n');
|
|
@@ -309,14 +394,22 @@ async function main() {
|
|
|
309
394
|
currentManifest.add(file.path);
|
|
310
395
|
}
|
|
311
396
|
state.manifest = [...currentManifest];
|
|
397
|
+
// Record Overleaf as it is after the push, as Overleaf stores it, so
|
|
398
|
+
// the next push does not mistake our own upload for a coauthor's edit.
|
|
399
|
+
state.remoteHashes = (await remoteSnapshot(overleaf, projectId)).hashes;
|
|
312
400
|
saveState(state);
|
|
313
401
|
}
|
|
314
402
|
debug('Export complete.');
|
|
315
403
|
continue;
|
|
316
404
|
}
|
|
317
405
|
if (trimmed.startsWith('option ')) {
|
|
318
|
-
|
|
319
|
-
|
|
406
|
+
if (trimmed === 'option force true' || trimmed === 'option force false') {
|
|
407
|
+
force = trimmed.endsWith('true');
|
|
408
|
+
process.stdout.write('ok\n');
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
process.stdout.write('unsupported\n');
|
|
412
|
+
}
|
|
320
413
|
continue;
|
|
321
414
|
}
|
|
322
415
|
// Unknown command
|
|
@@ -331,6 +424,6 @@ process.stdout.on('error', (err) => {
|
|
|
331
424
|
throw err;
|
|
332
425
|
});
|
|
333
426
|
main().catch((err) => {
|
|
334
|
-
fatal(err
|
|
427
|
+
fatal(formatErrorText(err, { verbose: true }));
|
|
335
428
|
});
|
|
336
429
|
//# sourceMappingURL=remote-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-helper.js","sourceRoot":"","sources":["../src/remote-helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-helper.js","sourceRoot":"","sources":["../src/remote-helper.ts"],"names":[],"mappings":"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"}
|
package/dist/term.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal behavior: color, emoji and symbols only where a human is looking.
|
|
3
|
+
*
|
|
4
|
+
* - Color follows NO_COLOR (https://no-color.org: set and non-empty turns it
|
|
5
|
+
* off) and the global --no-color flag. chalk already turns color off when
|
|
6
|
+
* stdout is not a TTY.
|
|
7
|
+
* - Spinners: ora only animates on an interactive stderr; createSpinner()
|
|
8
|
+
* also swaps its result symbols for words when stderr is not a terminal.
|
|
9
|
+
* - Emoji and decorative symbols are replaced with plain text when stdout is
|
|
10
|
+
* not a TTY, so piped output stays greppable.
|
|
11
|
+
*/
|
|
12
|
+
import { type Ora } from 'ora';
|
|
13
|
+
export declare function colorDisabled(env?: NodeJS.ProcessEnv, argv?: string[]): boolean;
|
|
14
|
+
export declare function isInteractive(stream?: {
|
|
15
|
+
isTTY?: boolean;
|
|
16
|
+
}, env?: NodeJS.ProcessEnv): boolean;
|
|
17
|
+
/** `fancy` on an interactive stdout, `plain` otherwise. */
|
|
18
|
+
export declare function icon(fancy: string, plain: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* An ora spinner that prints plain words instead of symbols when stderr (where
|
|
21
|
+
* ora writes) is not a terminal, so a log or CI output reads "error: ..."
|
|
22
|
+
* rather than a glyph. On a terminal it is ora unchanged.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createSpinner(text: string): Ora;
|
|
25
|
+
//# sourceMappingURL=term.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"term.d.ts","sourceRoot":"","sources":["../src/term.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAmB,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAE3C,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAI1G;AAED,wBAAgB,aAAa,CAAC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAmB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEzH;AAED,2DAA2D;AAC3D,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAS/C"}
|
package/dist/term.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal behavior: color, emoji and symbols only where a human is looking.
|
|
3
|
+
*
|
|
4
|
+
* - Color follows NO_COLOR (https://no-color.org: set and non-empty turns it
|
|
5
|
+
* off) and the global --no-color flag. chalk already turns color off when
|
|
6
|
+
* stdout is not a TTY.
|
|
7
|
+
* - Spinners: ora only animates on an interactive stderr; createSpinner()
|
|
8
|
+
* also swaps its result symbols for words when stderr is not a terminal.
|
|
9
|
+
* - Emoji and decorative symbols are replaced with plain text when stdout is
|
|
10
|
+
* not a TTY, so piped output stays greppable.
|
|
11
|
+
*/
|
|
12
|
+
import oraFactory from 'ora';
|
|
13
|
+
export function colorDisabled(env = process.env, argv = process.argv) {
|
|
14
|
+
if (env.NO_COLOR !== undefined && env.NO_COLOR !== '')
|
|
15
|
+
return true;
|
|
16
|
+
const end = argv.indexOf('--');
|
|
17
|
+
return (end === -1 ? argv : argv.slice(0, end)).includes('--no-color');
|
|
18
|
+
}
|
|
19
|
+
export function isInteractive(stream = process.stdout, env = process.env) {
|
|
20
|
+
return Boolean(stream.isTTY) && env.TERM !== 'dumb';
|
|
21
|
+
}
|
|
22
|
+
/** `fancy` on an interactive stdout, `plain` otherwise. */
|
|
23
|
+
export function icon(fancy, plain) {
|
|
24
|
+
return isInteractive() ? fancy : plain;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* An ora spinner that prints plain words instead of symbols when stderr (where
|
|
28
|
+
* ora writes) is not a terminal, so a log or CI output reads "error: ..."
|
|
29
|
+
* rather than a glyph. On a terminal it is ora unchanged.
|
|
30
|
+
*/
|
|
31
|
+
export function createSpinner(text) {
|
|
32
|
+
const spinner = oraFactory({ text });
|
|
33
|
+
if (isInteractive(process.stderr))
|
|
34
|
+
return spinner;
|
|
35
|
+
const plain = (symbol) => (message) => spinner.stopAndPersist({ symbol, text: message });
|
|
36
|
+
spinner.succeed = plain('ok:');
|
|
37
|
+
spinner.fail = plain('error:');
|
|
38
|
+
spinner.warn = plain('warning:');
|
|
39
|
+
spinner.info = plain('info:');
|
|
40
|
+
return spinner;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=term.js.map
|
package/dist/term.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"term.js","sourceRoot":"","sources":["../src/term.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,UAAwB,MAAM,KAAK,CAAC;AAE3C,MAAM,UAAU,aAAa,CAAC,MAAyB,OAAO,CAAC,GAAG,EAAE,OAAiB,OAAO,CAAC,IAAI;IAC/F,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAA8B,OAAO,CAAC,MAAM,EAAE,MAAyB,OAAO,CAAC,GAAG;IAC9G,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AACtD,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,IAAI,CAAC,KAAa,EAAE,KAAa;IAC/C,OAAO,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAO,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/G,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aloth/olcli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.16.1",
|
|
4
|
+
"description": "Overleaf CLI: pull, push, sync and compile LaTeX projects from your terminal. Git remote helper, MCP server and TypeScript library.",
|
|
5
5
|
"mcpName": "io.github.aloth/olcli",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -45,7 +45,12 @@
|
|
|
45
45
|
"arxiv",
|
|
46
46
|
"terminal",
|
|
47
47
|
"typescript",
|
|
48
|
-
"latex-tools"
|
|
48
|
+
"latex-tools",
|
|
49
|
+
"mcp",
|
|
50
|
+
"mcp-server",
|
|
51
|
+
"model-context-protocol",
|
|
52
|
+
"git-remote-helper",
|
|
53
|
+
"ai-agents"
|
|
49
54
|
],
|
|
50
55
|
"author": "Alexander Loth <home@alexloth.com> (https://alexloth.com)",
|
|
51
56
|
"license": "MIT",
|
|
@@ -62,7 +67,7 @@
|
|
|
62
67
|
"adm-zip": "^0.5.16",
|
|
63
68
|
"chalk": "^5.3.0",
|
|
64
69
|
"cheerio": "^1.0.0",
|
|
65
|
-
"commander": "^
|
|
70
|
+
"commander": "^14.0.3",
|
|
66
71
|
"conf": "^13.0.0",
|
|
67
72
|
"diff": "^9.0.0",
|
|
68
73
|
"ignore": "^7.0.5",
|