overleaf-codex 0.1.0-rc.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.

Potentially problematic release.


This version of overleaf-codex might be problematic. Click here for more details.

Files changed (155) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +25 -0
  3. package/README.md +217 -0
  4. package/assets/olcx-mark.svg +22 -0
  5. package/dist/auth/projectAuth.d.ts +19 -0
  6. package/dist/auth/projectAuth.js +163 -0
  7. package/dist/auth/projectAuth.js.map +1 -0
  8. package/dist/auth/redact.d.ts +3 -0
  9. package/dist/auth/redact.js +7 -0
  10. package/dist/auth/redact.js.map +1 -0
  11. package/dist/auth/types.d.ts +10 -0
  12. package/dist/auth/types.js +4 -0
  13. package/dist/auth/types.js.map +1 -0
  14. package/dist/backend/index.d.ts +6 -0
  15. package/dist/backend/index.js +2 -0
  16. package/dist/backend/index.js.map +1 -0
  17. package/dist/backend/olcli/client.d.ts +329 -0
  18. package/dist/backend/olcli/client.js +1757 -0
  19. package/dist/backend/olcli/client.js.map +1 -0
  20. package/dist/backend/olcli/index.d.ts +2 -0
  21. package/dist/backend/olcli/index.js +2 -0
  22. package/dist/backend/olcli/index.js.map +1 -0
  23. package/dist/backend/overleafBackend.d.ts +41 -0
  24. package/dist/backend/overleafBackend.js +200 -0
  25. package/dist/backend/overleafBackend.js.map +1 -0
  26. package/dist/backend/types.d.ts +73 -0
  27. package/dist/backend/types.js +2 -0
  28. package/dist/backend/types.js.map +1 -0
  29. package/dist/cli-behavior.d.ts +14 -0
  30. package/dist/cli-behavior.js +59 -0
  31. package/dist/cli-behavior.js.map +1 -0
  32. package/dist/cli.d.ts +30 -0
  33. package/dist/cli.js +441 -0
  34. package/dist/cli.js.map +1 -0
  35. package/dist/commands/auth.d.ts +21 -0
  36. package/dist/commands/auth.js +104 -0
  37. package/dist/commands/auth.js.map +1 -0
  38. package/dist/commands/compile.d.ts +7 -0
  39. package/dist/commands/compile.js +73 -0
  40. package/dist/commands/compile.js.map +1 -0
  41. package/dist/commands/doctor.d.ts +11 -0
  42. package/dist/commands/doctor.js +9 -0
  43. package/dist/commands/doctor.js.map +1 -0
  44. package/dist/commands/endpoint.d.ts +23 -0
  45. package/dist/commands/endpoint.js +69 -0
  46. package/dist/commands/endpoint.js.map +1 -0
  47. package/dist/commands/init.d.ts +14 -0
  48. package/dist/commands/init.js +48 -0
  49. package/dist/commands/init.js.map +1 -0
  50. package/dist/commands/status.d.ts +4 -0
  51. package/dist/commands/status.js +5 -0
  52. package/dist/commands/status.js.map +1 -0
  53. package/dist/commands/sync.d.ts +26 -0
  54. package/dist/commands/sync.js +139 -0
  55. package/dist/commands/sync.js.map +1 -0
  56. package/dist/commands/watch.d.ts +28 -0
  57. package/dist/commands/watch.js +124 -0
  58. package/dist/commands/watch.js.map +1 -0
  59. package/dist/compile/compileFlow.d.ts +32 -0
  60. package/dist/compile/compileFlow.js +290 -0
  61. package/dist/compile/compileFlow.js.map +1 -0
  62. package/dist/compile/pdfOutput.d.ts +12 -0
  63. package/dist/compile/pdfOutput.js +64 -0
  64. package/dist/compile/pdfOutput.js.map +1 -0
  65. package/dist/config/ignoreRules.d.ts +5 -0
  66. package/dist/config/ignoreRules.js +53 -0
  67. package/dist/config/ignoreRules.js.map +1 -0
  68. package/dist/config/overleafProject.d.ts +9 -0
  69. package/dist/config/overleafProject.js +61 -0
  70. package/dist/config/overleafProject.js.map +1 -0
  71. package/dist/config/projectConfig.d.ts +6 -0
  72. package/dist/config/projectConfig.js +180 -0
  73. package/dist/config/projectConfig.js.map +1 -0
  74. package/dist/config/projectRoot.d.ts +1 -0
  75. package/dist/config/projectRoot.js +36 -0
  76. package/dist/config/projectRoot.js.map +1 -0
  77. package/dist/config/types.d.ts +50 -0
  78. package/dist/config/types.js +34 -0
  79. package/dist/config/types.js.map +1 -0
  80. package/dist/config/vscode.d.ts +10 -0
  81. package/dist/config/vscode.js +134 -0
  82. package/dist/config/vscode.js.map +1 -0
  83. package/dist/diagnostics/doctor.d.ts +8 -0
  84. package/dist/diagnostics/doctor.js +209 -0
  85. package/dist/diagnostics/doctor.js.map +1 -0
  86. package/dist/diagnostics/status.d.ts +6 -0
  87. package/dist/diagnostics/status.js +110 -0
  88. package/dist/diagnostics/status.js.map +1 -0
  89. package/dist/diagnostics/types.d.ts +33 -0
  90. package/dist/diagnostics/types.js +2 -0
  91. package/dist/diagnostics/types.js.map +1 -0
  92. package/dist/endpoint/overleafEndpoint.d.ts +36 -0
  93. package/dist/endpoint/overleafEndpoint.js +105 -0
  94. package/dist/endpoint/overleafEndpoint.js.map +1 -0
  95. package/dist/errors.d.ts +32 -0
  96. package/dist/errors.js +53 -0
  97. package/dist/errors.js.map +1 -0
  98. package/dist/sync/apply.d.ts +14 -0
  99. package/dist/sync/apply.js +92 -0
  100. package/dist/sync/apply.js.map +1 -0
  101. package/dist/sync/conflicts.d.ts +7 -0
  102. package/dist/sync/conflicts.js +59 -0
  103. package/dist/sync/conflicts.js.map +1 -0
  104. package/dist/sync/ignore.d.ts +5 -0
  105. package/dist/sync/ignore.js +74 -0
  106. package/dist/sync/ignore.js.map +1 -0
  107. package/dist/sync/plan.d.ts +3 -0
  108. package/dist/sync/plan.js +197 -0
  109. package/dist/sync/plan.js.map +1 -0
  110. package/dist/sync/snapshot.d.ts +13 -0
  111. package/dist/sync/snapshot.js +82 -0
  112. package/dist/sync/snapshot.js.map +1 -0
  113. package/dist/sync/state.d.ts +16 -0
  114. package/dist/sync/state.js +214 -0
  115. package/dist/sync/state.js.map +1 -0
  116. package/dist/sync/types.d.ts +113 -0
  117. package/dist/sync/types.js +4 -0
  118. package/dist/sync/types.js.map +1 -0
  119. package/dist/testing/fakeBackend.d.ts +27 -0
  120. package/dist/testing/fakeBackend.js +213 -0
  121. package/dist/testing/fakeBackend.js.map +1 -0
  122. package/dist/watch/queue.d.ts +2 -0
  123. package/dist/watch/queue.js +91 -0
  124. package/dist/watch/queue.js.map +1 -0
  125. package/dist/watch/types.d.ts +52 -0
  126. package/dist/watch/types.js +2 -0
  127. package/dist/watch/types.js.map +1 -0
  128. package/dist/watch/watcher.d.ts +6 -0
  129. package/dist/watch/watcher.js +58 -0
  130. package/dist/watch/watcher.js.map +1 -0
  131. package/dist/watch/workflow.d.ts +30 -0
  132. package/dist/watch/workflow.js +62 -0
  133. package/dist/watch/workflow.js.map +1 -0
  134. package/docs/architecture.md +603 -0
  135. package/docs/auth.md +65 -0
  136. package/docs/cli-behavior.md +95 -0
  137. package/docs/compile.md +51 -0
  138. package/docs/design.md +82 -0
  139. package/docs/endpoint.md +84 -0
  140. package/docs/npm-packaging.md +148 -0
  141. package/docs/quickdev-queue-audit.md +193 -0
  142. package/docs/release-gates.md +119 -0
  143. package/docs/release-notes-v1.md +97 -0
  144. package/docs/security.md +61 -0
  145. package/docs/sync-state.md +305 -0
  146. package/docs/sync.md +50 -0
  147. package/docs/troubleshooting.md +124 -0
  148. package/docs/usage.md +184 -0
  149. package/examples/minimal-paper/.olcx/auth.local.example.json +7 -0
  150. package/examples/minimal-paper/.olcx/config.json +23 -0
  151. package/examples/minimal-paper/README.md +88 -0
  152. package/examples/minimal-paper/main.tex +23 -0
  153. package/package.json +66 -0
  154. package/src/backend/olcli/LICENSE +21 -0
  155. package/src/backend/olcli/README.md +26 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/backend/olcli/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { OverleafClient, USER_AGENT } from "./client.js";
2
+ export type { AddCommentOptions, CommentContext, CommentMessage, CommentStatus, Credentials, DocEntry, FileEntry, FolderEntry, ListCommentsOptions, Project, ProjectComment, ProjectInfo, } from "./client.js";
@@ -0,0 +1,2 @@
1
+ export { OverleafClient, USER_AGENT } from "./client.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backend/olcli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { ProjectAuth } from "../auth/types.js";
2
+ import type { OverleafBackend } from "./types.js";
3
+ type RawEntity = {
4
+ path: string;
5
+ type: "doc" | "file";
6
+ };
7
+ type RawUploadResult = {
8
+ success: boolean;
9
+ entityId?: string;
10
+ entityType?: string;
11
+ };
12
+ type RawCompileResult = {
13
+ status: "success" | "failure" | "error";
14
+ pdfUrl?: string;
15
+ outputFiles: {
16
+ path: string;
17
+ type: string;
18
+ url: string;
19
+ }[];
20
+ };
21
+ interface OlcliClientLike {
22
+ listProjects(): Promise<unknown[]>;
23
+ getEntities(projectId: string): Promise<RawEntity[]>;
24
+ downloadByPath(projectId: string, path: string): Promise<Buffer>;
25
+ uploadFile(projectId: string, folderId: string | null, fileName: string, content: Buffer): Promise<RawUploadResult>;
26
+ deleteByPath(projectId: string, path: string): Promise<void>;
27
+ compileWithOutputs(projectId: string, options?: {
28
+ timeoutMs?: number;
29
+ draft?: boolean;
30
+ }): Promise<RawCompileResult>;
31
+ downloadOutputFile(url: string): Promise<Buffer>;
32
+ downloadPdf(projectId: string): Promise<Buffer>;
33
+ }
34
+ export interface OlcliBackendOptions {
35
+ baseUrl?: string;
36
+ cookieName?: string;
37
+ now?: () => number;
38
+ createClient?: (auth: ProjectAuth) => Promise<OlcliClientLike>;
39
+ }
40
+ export declare function createOlcliOverleafBackend(options?: OlcliBackendOptions): OverleafBackend;
41
+ export {};
@@ -0,0 +1,200 @@
1
+ import { createOlcxError, isOlcxError } from "../errors.js";
2
+ import { OverleafClient } from "./olcli/index.js";
3
+ const FAST_FALLBACK_PDF_WARNING = "Fast/draft fallback PDF: generated with Overleaf draft mode; images may be omitted or simplified.";
4
+ export function createOlcliOverleafBackend(options = {}) {
5
+ return new OlcliOverleafBackend(options);
6
+ }
7
+ class OlcliOverleafBackend {
8
+ options;
9
+ now;
10
+ constructor(options) {
11
+ this.options = options;
12
+ this.now = options.now ?? Date.now;
13
+ }
14
+ async validateAuth(input) {
15
+ const client = await this.createClientFor("validateAuth", input.auth, "BACKEND_AUTH_FAILED");
16
+ await this.callRaw("validateAuth", () => client.listProjects(), "BACKEND_AUTH_FAILED");
17
+ return {
18
+ authenticated: true,
19
+ accountLabel: input.auth.accountLabel,
20
+ };
21
+ }
22
+ async listFiles(input) {
23
+ const client = await this.createClientFor("listFiles", input.auth, "BACKEND_PROTOCOL_ERROR");
24
+ const entities = await this.callRaw("listFiles", () => client.getEntities(input.projectId), "BACKEND_PROTOCOL_ERROR");
25
+ return entities
26
+ .map((entity) => ({
27
+ path: normalizeRemotePath(entity.path),
28
+ kind: "file",
29
+ binary: entity.type === "file",
30
+ }))
31
+ .sort((a, b) => a.path.localeCompare(b.path));
32
+ }
33
+ async downloadFile(input) {
34
+ const client = await this.createClientFor("downloadFile", input.auth, "BACKEND_PROTOCOL_ERROR");
35
+ const bytes = await this.callRaw("downloadFile", () => client.downloadByPath(input.projectId, input.path), "BACKEND_PROTOCOL_ERROR");
36
+ return new Uint8Array(bytes);
37
+ }
38
+ async uploadFile(input) {
39
+ const client = await this.createClientFor("uploadFile", input.auth, "BACKEND_PROTOCOL_ERROR");
40
+ const result = await this.callRaw("uploadFile", () => client.uploadFile(input.projectId, null, normalizeRemotePath(input.path), Buffer.from(input.bytes)), "BACKEND_PROTOCOL_ERROR");
41
+ assertSuccessfulUploadResult(result);
42
+ return {
43
+ path: normalizeRemotePath(input.path),
44
+ kind: "file",
45
+ remoteId: result.entityId,
46
+ size: input.bytes.byteLength,
47
+ binary: result.entityType === "file",
48
+ };
49
+ }
50
+ async deleteFile(input) {
51
+ const client = await this.createClientFor("deleteFile", input.auth, "BACKEND_PROTOCOL_ERROR");
52
+ await this.callRaw("deleteFile", () => client.deleteByPath(input.projectId, input.path), "BACKEND_PROTOCOL_ERROR");
53
+ }
54
+ async compile(input) {
55
+ const startedAt = this.now();
56
+ const fastMode = input.fastMode === true;
57
+ const client = await this.createClientFor("compile", input.auth, "COMPILE_FAILED");
58
+ const compiled = await this.callRaw("compile", () => client.compileWithOutputs(input.projectId, { timeoutMs: input.timeoutMs, draft: fastMode }), "COMPILE_FAILED");
59
+ if (compiled.status !== "success" || !compiled.pdfUrl) {
60
+ return {
61
+ status: "failure",
62
+ projectId: input.projectId,
63
+ logs: [],
64
+ warnings: [],
65
+ elapsedMs: Math.max(0, this.now() - startedAt),
66
+ fallbackUsed: fastMode,
67
+ error: createOlcxError({
68
+ code: "COMPILE_FAILED",
69
+ message: "Overleaf reported a compile failure.",
70
+ hint: "Open the project on Overleaf or inspect the compile logs before retrying.",
71
+ details: { status: compiled.status, outputFiles: compiled.outputFiles.map((file) => file.path), fastMode },
72
+ }),
73
+ };
74
+ }
75
+ const pdfBytes = await this.callRaw("downloadCompilePdf", () => client.downloadOutputFile(compiled.pdfUrl), "COMPILE_FAILED");
76
+ return {
77
+ status: fastMode ? "fallback-success" : "success",
78
+ projectId: input.projectId,
79
+ pdfBytes: new Uint8Array(pdfBytes),
80
+ logs: [],
81
+ warnings: fastMode ? [FAST_FALLBACK_PDF_WARNING] : [],
82
+ elapsedMs: Math.max(0, this.now() - startedAt),
83
+ fallbackUsed: fastMode,
84
+ };
85
+ }
86
+ async beginFastCompile() {
87
+ return {
88
+ strategy: "request-draft",
89
+ compileOptions: { fastMode: true },
90
+ async restore() {
91
+ return { status: "restore-not-needed" };
92
+ },
93
+ };
94
+ }
95
+ async downloadPdf(input) {
96
+ const client = await this.createClientFor("downloadPdf", input.auth, "COMPILE_FAILED");
97
+ const bytes = await this.callRaw("downloadPdf", () => client.downloadPdf(input.projectId), "COMPILE_FAILED");
98
+ return new Uint8Array(bytes);
99
+ }
100
+ async createClientFor(operation, auth, fallbackCode) {
101
+ return this.callRaw(`${operation}:createClient`, () => this.createClient(auth), fallbackCode);
102
+ }
103
+ async createClient(auth) {
104
+ if (!auth.sessionCookie) {
105
+ throw createOlcxError({
106
+ code: "PROJECT_AUTH_INVALID",
107
+ message: "Project-local Overleaf auth is missing a session cookie.",
108
+ hint: "Run olcx auth again before using Overleaf-backed commands.",
109
+ });
110
+ }
111
+ if (this.options.createClient) {
112
+ return this.options.createClient(auth);
113
+ }
114
+ return OverleafClient.fromSessionCookie(auth.sessionCookie, this.options.baseUrl, this.options.cookieName);
115
+ }
116
+ async callRaw(operation, run, fallbackCode) {
117
+ try {
118
+ return await run();
119
+ }
120
+ catch (error) {
121
+ throw toOlcxBackendError(operation, error, fallbackCode);
122
+ }
123
+ }
124
+ }
125
+ function normalizeRemotePath(path) {
126
+ return path.replace(/\\/g, "/").replace(/^\/+/, "");
127
+ }
128
+ function toOlcxBackendError(operation, error, fallbackCode) {
129
+ if (isOlcxError(error)) {
130
+ return error;
131
+ }
132
+ const message = error instanceof Error ? error.message : String(error);
133
+ const code = classifyRawError(message, fallbackCode);
134
+ return createOlcxError({
135
+ code,
136
+ message: backendMessage(operation, code),
137
+ hint: backendHint(code),
138
+ details: { operation, rawMessage: redactRawBackendMessage(message) },
139
+ });
140
+ }
141
+ function assertSuccessfulUploadResult(result) {
142
+ if (typeof result === "object" &&
143
+ result !== null &&
144
+ result.success === true &&
145
+ optionalString(result, "entityId") &&
146
+ optionalString(result, "entityType")) {
147
+ return;
148
+ }
149
+ throw createOlcxError({
150
+ code: "BACKEND_PROTOCOL_ERROR",
151
+ message: "Overleaf backend returned an unexpected upload response.",
152
+ hint: "Retry the command; if it repeats, update the backend adapter for the current Overleaf response.",
153
+ details: { operation: "uploadFile", responseShape: typeof result },
154
+ });
155
+ }
156
+ function optionalString(value, key) {
157
+ const entry = value[key];
158
+ return entry === undefined || typeof entry === "string";
159
+ }
160
+ function classifyRawError(message, fallbackCode) {
161
+ if (/\b(401|403)\b|csrf|expired|unauth|forbidden|session/i.test(message)) {
162
+ return "BACKEND_AUTH_FAILED";
163
+ }
164
+ if (fallbackCode === "COMPILE_FAILED" && /timeout|timed out|compile timeout|time limit|upgrade required/i.test(message)) {
165
+ return "COMPILE_TIMEOUT";
166
+ }
167
+ if (/timeout|timed out|ENOTFOUND|ECONNRESET|ECONNREFUSED|EAI_AGAIN|socket|network/i.test(message)) {
168
+ return "BACKEND_NETWORK_ERROR";
169
+ }
170
+ return fallbackCode;
171
+ }
172
+ function backendMessage(operation, code) {
173
+ if (code === "BACKEND_AUTH_FAILED")
174
+ return "Overleaf authentication was rejected.";
175
+ if (code === "BACKEND_NETWORK_ERROR")
176
+ return `Overleaf network request failed during ${operation}.`;
177
+ if (code === "COMPILE_TIMEOUT")
178
+ return `Overleaf compile timed out during ${operation}.`;
179
+ if (code === "COMPILE_FAILED")
180
+ return `Overleaf compile or PDF retrieval failed during ${operation}.`;
181
+ return `Overleaf backend returned an unexpected response during ${operation}.`;
182
+ }
183
+ function backendHint(code) {
184
+ if (code === "BACKEND_AUTH_FAILED")
185
+ return "Run olcx auth again with a fresh Overleaf session cookie.";
186
+ if (code === "BACKEND_NETWORK_ERROR")
187
+ return "Check network access to Overleaf and retry the command.";
188
+ if (code === "COMPILE_TIMEOUT")
189
+ return "Increase compile.timeoutMs in .olcx/config.json or retry when Overleaf is responsive.";
190
+ if (code === "COMPILE_FAILED")
191
+ return "Inspect the Overleaf compile result, then retry olcx compile.";
192
+ return "Retry the command; if it repeats, update the backend adapter for the current Overleaf response.";
193
+ }
194
+ function redactRawBackendMessage(message) {
195
+ return message
196
+ .replace(/https:\/\/(?:www\.|cn\.)?overleaf\.com\/project\/[A-Za-z0-9_-]+/g, "https://www.overleaf.com/project/<redacted-project-id>")
197
+ .replace(/\b[A-Fa-f0-9]{24}\b/g, "<redacted-project-id>")
198
+ .replace(/(session|cookie|csrf|token|auth)[^,\s]*/gi, "<redacted-secret>");
199
+ }
200
+ //# sourceMappingURL=overleafBackend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overleafBackend.js","sourceRoot":"","sources":["../../src/backend/overleafBackend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { ProjectAuth } from "../auth/types.js";
2
+ import type { OlcxError } from "../errors.js";
3
+ export interface BackendAuthInput {
4
+ auth: ProjectAuth;
5
+ }
6
+ export interface BackendAccount {
7
+ accountLabel?: string;
8
+ authenticated: boolean;
9
+ }
10
+ export interface BackendProjectInput {
11
+ projectId: string;
12
+ auth: ProjectAuth;
13
+ }
14
+ export interface BackendFileInput extends BackendProjectInput {
15
+ path: string;
16
+ remoteId?: string;
17
+ }
18
+ export interface BackendUploadInput extends BackendProjectInput {
19
+ path: string;
20
+ bytes: Uint8Array;
21
+ }
22
+ export interface BackendCompileInput extends BackendProjectInput {
23
+ timeoutMs: number;
24
+ rootDocument: string;
25
+ fastMode?: boolean;
26
+ }
27
+ export type BackendFastCompileRestoreStatus = "restored" | "restore-not-needed";
28
+ export interface BackendFastCompileRestoreResult {
29
+ status: BackendFastCompileRestoreStatus;
30
+ warning?: string;
31
+ }
32
+ export interface BackendFastCompileSession {
33
+ strategy: "request-draft" | "project-settings";
34
+ compileOptions: Pick<BackendCompileInput, "fastMode">;
35
+ restore(): Promise<BackendFastCompileRestoreResult>;
36
+ }
37
+ export interface RemoteFile {
38
+ path: string;
39
+ kind: "file" | "directory";
40
+ remoteId?: string;
41
+ size?: number;
42
+ contentHash?: string;
43
+ modifiedAt?: string;
44
+ revision?: string;
45
+ binary?: boolean;
46
+ }
47
+ export interface CompileLogEntry {
48
+ level: "info" | "warning" | "error";
49
+ message: string;
50
+ file?: string;
51
+ line?: number;
52
+ }
53
+ export interface CompileResult {
54
+ status: "success" | "failure" | "timeout" | "fallback-success";
55
+ projectId: string;
56
+ pdfBytes?: Uint8Array;
57
+ pdfPath?: string;
58
+ logs: CompileLogEntry[];
59
+ warnings: string[];
60
+ elapsedMs: number;
61
+ fallbackUsed: boolean;
62
+ error?: OlcxError;
63
+ }
64
+ export interface OverleafBackend {
65
+ validateAuth(input: BackendAuthInput): Promise<BackendAccount>;
66
+ listFiles(input: BackendProjectInput): Promise<RemoteFile[]>;
67
+ downloadFile(input: BackendFileInput): Promise<Uint8Array>;
68
+ uploadFile(input: BackendUploadInput): Promise<RemoteFile>;
69
+ deleteFile(input: BackendFileInput): Promise<void>;
70
+ compile(input: BackendCompileInput): Promise<CompileResult>;
71
+ beginFastCompile?(input: BackendProjectInput): Promise<BackendFastCompileSession>;
72
+ downloadPdf(input: BackendProjectInput): Promise<Uint8Array>;
73
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { type ExitCode, type OlcxErrorCode } from "./errors.js";
2
+ export { ERROR_CODE_EXIT_CODES, EXIT_CODES, createOlcxError, isOlcxError, mapErrorCodeToExitCode, } from "./errors.js";
3
+ export type { ExitCode, ExitCodeName, OlcxError, OlcxErrorCode } from "./errors.js";
4
+ export interface CliFailure {
5
+ code: OlcxErrorCode;
6
+ exitCode: ExitCode;
7
+ message: string;
8
+ hint: string;
9
+ details?: unknown;
10
+ }
11
+ export declare function isNonInteractive(env?: Record<string, string | undefined>, stdinIsTTY?: boolean): boolean;
12
+ export declare function plannedCommandFailure(commandName: string, details?: unknown): CliFailure;
13
+ export declare function redactSensitive(value: unknown): string;
14
+ export declare function formatCliFailure(failure: CliFailure): string;
@@ -0,0 +1,59 @@
1
+ import { EXIT_CODES, } from "./errors.js";
2
+ export { ERROR_CODE_EXIT_CODES, EXIT_CODES, createOlcxError, isOlcxError, mapErrorCodeToExitCode, } from "./errors.js";
3
+ export function isNonInteractive(env = process.env, stdinIsTTY = Boolean(process.stdin.isTTY)) {
4
+ return env.OLCX_NON_INTERACTIVE === "1" || env.CI === "1" || env.CI === "true" || !stdinIsTTY;
5
+ }
6
+ export function plannedCommandFailure(commandName, details) {
7
+ return {
8
+ code: "INTERNAL_ERROR",
9
+ exitCode: EXIT_CODES.INTERNAL_ERROR,
10
+ message: `olcx ${commandName} is part of the v1 interface, but this scaffold does not implement it yet.`,
11
+ hint: "Follow the current QuickDev task queue before using this command against a paper repository.",
12
+ details,
13
+ };
14
+ }
15
+ export function redactSensitive(value) {
16
+ const normalized = typeof value === "string" ? value : JSON.stringify(redactByKey(value));
17
+ return redactText(normalized ?? String(value));
18
+ }
19
+ export function formatCliFailure(failure) {
20
+ const detailText = failure.details === undefined ? "" : `\nDetails: ${redactSensitive(failure.details)}`;
21
+ return [`Error: ${redactSensitive(failure.message)}`, `Next: ${redactSensitive(failure.hint)}`, detailText.trim()]
22
+ .filter(Boolean)
23
+ .join("\n")
24
+ .concat("\n");
25
+ }
26
+ function redactByKey(value) {
27
+ if (Array.isArray(value)) {
28
+ return value.map((entry) => redactByKey(entry));
29
+ }
30
+ if (!value || typeof value !== "object") {
31
+ return value;
32
+ }
33
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
34
+ const normalizedKey = key.toLowerCase();
35
+ if (normalizedKey.includes("cookie") ||
36
+ normalizedKey.includes("session") ||
37
+ normalizedKey.includes("password") ||
38
+ normalizedKey.includes("token") ||
39
+ normalizedKey.includes("auth")) {
40
+ return [key, "<redacted-secret>"];
41
+ }
42
+ if (normalizedKey === "account" || normalizedKey === "email" || normalizedKey === "accountlabel") {
43
+ return [key, "<redacted-account>"];
44
+ }
45
+ if (normalizedKey === "projectid" || normalizedKey === "projecturl" || normalizedKey === "overleafprojectid") {
46
+ return [key, "<redacted-project-id>"];
47
+ }
48
+ return [key, redactByKey(entry)];
49
+ }));
50
+ }
51
+ function redactText(value) {
52
+ return value
53
+ .replace(/https:\/\/(?:www\.|cn\.)?overleaf\.com\/project\/[A-Za-z0-9_-]+/g, "https://www.overleaf.com/project/<redacted-project-id>")
54
+ .replace(/\b[A-Fa-f0-9]{24}\b/g, "<redacted-project-id>")
55
+ .replace(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/gi, "<redacted-account>")
56
+ .replace(/(["']?(?:accountLabel|account|email)["']?\s*[:=]\s*)(["'])?[^"',;\s}]+(\2)?/gi, "$1$2<redacted-account>$2")
57
+ .replace(/(["']?(?:sessionCookie|cookie|session|password|passwd|token|auth|authorization|csrf|connect\.sid|_overleaf_session)["']?\s*[:=]\s*)(["'])?[^"',;\s}]+(\2)?/gi, "$1$2<redacted-secret>$2");
58
+ }
59
+ //# sourceMappingURL=cli-behavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-behavior.js","sourceRoot":"","sources":["../src/cli-behavior.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from "commander";
3
+ import { type ExitCode } from "./cli-behavior.js";
4
+ import { type AuthCookiePrompt } from "./commands/auth.js";
5
+ import { type OverleafBackend, type OverleafBackendFactory } from "./backend/index.js";
6
+ import type { FetchLike } from "./endpoint/overleafEndpoint.js";
7
+ import type { WatchAdapter, WatchSignalRuntime } from "./watch/types.js";
8
+ export declare const VERSION = "0.1.0";
9
+ export interface CliIo {
10
+ writeOut: (value: string) => void;
11
+ writeErr: (value: string) => void;
12
+ setExitCode: (value: ExitCode) => void;
13
+ }
14
+ export interface CliRuntime {
15
+ cwd?: () => string;
16
+ env?: Record<string, string | undefined>;
17
+ stdinIsTTY?: boolean;
18
+ now?: () => Date;
19
+ promptCookie?: AuthCookiePrompt;
20
+ nodeVersion?: string;
21
+ backendAvailable?: boolean;
22
+ backend?: OverleafBackend;
23
+ createBackend?: OverleafBackendFactory;
24
+ endpointFetch?: FetchLike;
25
+ endpointNowMs?: () => number;
26
+ watchAdapter?: WatchAdapter;
27
+ watchSignals?: WatchSignalRuntime;
28
+ }
29
+ export declare function buildCli(io?: CliIo, runtime?: CliRuntime): Command;
30
+ export declare function run(argv?: string[], io?: CliIo, runtime?: CliRuntime): Promise<ExitCode>;