cosmoremote 2.2.2 → 2.2.3

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.
@@ -7,6 +7,16 @@ const path_1 = require("path");
7
7
  const HOME = process.env.HOME || "";
8
8
  const CLAUDE_PROJECTS = HOME ? (0, path_1.join)(HOME, ".claude", "projects") : "";
9
9
  const CODEX_SESSIONS = HOME ? (0, path_1.join)(HOME, ".codex", "sessions") : "";
10
+ // Bounded I/O limits. Transcripts routinely reach HUNDREDS of MB and even
11
+ // GIGABYTES (long Codex/Claude sessions), and this scan runs every 60s. Reading
12
+ // a whole file with readFileSync pegs a CPU core for seconds and balloons memory
13
+ // — and a file over ~536MB throws on UTF-16 string conversion anyway (silently
14
+ // swallowed, so it was pure wasted I/O). Never read more than a bounded head /
15
+ // tail / prefix per file, regardless of how big the transcript grows.
16
+ const SMALL_FILE_BYTES = 64 * 1024;
17
+ const HEAD_BYTES = 128 * 1024; // enough for the metadata first line + convo start
18
+ const TAIL_BYTES = 128 * 1024; // enough for the last line's timestamp
19
+ const PREVIEW_SCAN_BYTES = 4 * 1024 * 1024; // bounded prefix for preview + count
10
20
  /** True if `target` is `==` `root` or a descendant directory. */
11
21
  function isWithin(root, target) {
12
22
  const r = (0, path_1.resolve)(root);
@@ -15,39 +25,58 @@ function isWithin(root, target) {
15
25
  return true;
16
26
  return t.startsWith(r + "/");
17
27
  }
18
- function readFirstAndLastLine(path) {
19
- // Small files: read whole; large files: read first line + tail.
20
- let stat;
28
+ /** Read up to `length` bytes from `position` as UTF-8. Bounded; never loads the
29
+ * whole file. Returns "" on any error (missing, permission, etc.). */
30
+ function readChunk(path, length, position) {
31
+ if (length <= 0)
32
+ return "";
33
+ let fd = null;
21
34
  try {
22
- stat = (0, fs_1.statSync)(path);
35
+ fd = (0, fs_1.openSync)(path, "r");
36
+ const buf = Buffer.allocUnsafe(length);
37
+ const bytesRead = (0, fs_1.readSync)(fd, buf, 0, length, position);
38
+ return buf.toString("utf-8", 0, bytesRead);
23
39
  }
24
40
  catch {
25
- return { first: null, last: null };
41
+ return "";
26
42
  }
27
- if (stat.size === 0)
28
- return { first: null, last: null };
29
- if (stat.size < 64 * 1024) {
30
- let raw;
31
- try {
32
- raw = (0, fs_1.readFileSync)(path, "utf-8");
33
- }
34
- catch {
35
- return { first: null, last: null };
43
+ finally {
44
+ if (fd !== null) {
45
+ try {
46
+ (0, fs_1.closeSync)(fd);
47
+ }
48
+ catch { /* ignore */ }
36
49
  }
37
- const lines = raw.split(/\r?\n/).filter((l) => l.trim().length > 0);
38
- return { first: lines[0] ?? null, last: lines[lines.length - 1] ?? null };
39
50
  }
40
- // Larger: stream-style read. fs.readFileSync of large transcript is tens of MB
41
- // worst case which is acceptable on a Mac, but optimise: just read whole.
42
- let raw;
43
- try {
44
- raw = (0, fs_1.readFileSync)(path, "utf-8");
51
+ }
52
+ function firstNonEmptyLine(text) {
53
+ for (const line of text.split(/\r?\n/)) {
54
+ if (line.trim().length > 0)
55
+ return line;
45
56
  }
46
- catch {
47
- return { first: null, last: null };
57
+ return null;
58
+ }
59
+ function lastNonEmptyLine(text) {
60
+ const lines = text.split(/\r?\n/);
61
+ for (let i = lines.length - 1; i >= 0; i--) {
62
+ if (lines[i].trim().length > 0)
63
+ return lines[i];
48
64
  }
49
- const lines = raw.split(/\r?\n/).filter((l) => l.trim().length > 0);
50
- return { first: lines[0] ?? null, last: lines[lines.length - 1] ?? null };
65
+ return null;
66
+ }
67
+ /** Bounded read of the file's first chunk (whole file when small). */
68
+ function readHead(path, size) {
69
+ return readChunk(path, Math.min(size, HEAD_BYTES), 0);
70
+ }
71
+ /** Last non-empty line, reusing the already-read head for small files and a
72
+ * bounded tail read otherwise. A tail chunk may start mid-line; the last line
73
+ * stays complete (the file ends there), and a truncated front just makes
74
+ * JSON.parse fail → caller falls back to file mtime, which is fine. */
75
+ function readLastLine(path, size, headChunk) {
76
+ if (size <= SMALL_FILE_BYTES)
77
+ return lastNonEmptyLine(headChunk);
78
+ const tail = readChunk(path, TAIL_BYTES, Math.max(0, size - TAIL_BYTES));
79
+ return lastNonEmptyLine(tail);
51
80
  }
52
81
  function safeJsonParse(line) {
53
82
  if (!line)
@@ -59,6 +88,64 @@ function safeJsonParse(line) {
59
88
  return null;
60
89
  }
61
90
  }
91
+ /** Approximate preview + user-message count from a BOUNDED prefix of the file.
92
+ * The first user prompt lives near the top, so the prefix yields a real preview
93
+ * and a non-zero count for any non-empty conversation without reading gigabytes.
94
+ * `userText` returns the prompt text for a user line (possibly "") or null when
95
+ * the line is not a user message. */
96
+ function scanPreviewAndCount(path, size, userText) {
97
+ const bytes = Math.min(size, PREVIEW_SCAN_BYTES);
98
+ const raw = readChunk(path, bytes, 0);
99
+ const lines = raw.split(/\r?\n/);
100
+ // If we truncated the file, the final line may be a partial record — drop it.
101
+ if (size > bytes && lines.length > 0)
102
+ lines.pop();
103
+ let preview = "";
104
+ let messageCount = 0;
105
+ for (const line of lines) {
106
+ const obj = safeJsonParse(line);
107
+ if (!obj)
108
+ continue;
109
+ const text = userText(obj);
110
+ if (text === null)
111
+ continue;
112
+ messageCount++;
113
+ if (!preview && text) {
114
+ preview = String(text).replace(/\s+/g, " ").slice(0, 120);
115
+ }
116
+ }
117
+ return { preview, messageCount };
118
+ }
119
+ const scanCache = new Map();
120
+ /** Return the cached conversation for an unchanged file, or compute via `build`,
121
+ * cache it, and return it. */
122
+ function cachedConversation(filePath, stat, build) {
123
+ const cached = scanCache.get(filePath);
124
+ if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size) {
125
+ return cached.conv;
126
+ }
127
+ const conv = build();
128
+ scanCache.set(filePath, { mtimeMs: stat.mtimeMs, size: stat.size, conv });
129
+ return conv;
130
+ }
131
+ function claudeUserText(obj) {
132
+ if (obj?.type === "user" && obj?.message?.content) {
133
+ const c = obj.message.content;
134
+ const text = typeof c === "string"
135
+ ? c
136
+ : Array.isArray(c)
137
+ ? c.find((b) => b?.type === "text")?.text ?? ""
138
+ : "";
139
+ return String(text);
140
+ }
141
+ return null;
142
+ }
143
+ function codexUserText(obj) {
144
+ if (obj?.type === "user_message" || obj?.type === "user") {
145
+ return typeof obj?.payload?.text === "string" ? obj.payload.text : "";
146
+ }
147
+ return null;
148
+ }
62
149
  function listClaudeConversations(workspaceRoot) {
63
150
  if (!CLAUDE_PROJECTS || !(0, fs_1.existsSync)(CLAUDE_PROJECTS))
64
151
  return [];
@@ -92,52 +179,34 @@ function listClaudeConversations(workspaceRoot) {
92
179
  }
93
180
  if (!stat.isFile() || stat.size === 0)
94
181
  continue;
95
- const { first, last } = readFirstAndLastLine(filePath);
96
- const firstObj = safeJsonParse(first);
97
- const cwd = typeof firstObj?.cwd === "string" ? firstObj.cwd : null;
98
- const id = typeof firstObj?.sessionId === "string" ? firstObj.sessionId : entry.replace(/\.jsonl$/, "");
99
- if (!cwd || !id)
100
- continue;
101
- if (!isWithin(workspaceRoot, cwd))
102
- continue;
103
- // Last activity from last line timestamp, fall back to mtime.
104
- const lastObj = safeJsonParse(last);
105
- const lastActivity = (typeof lastObj?.timestamp === "string" && lastObj.timestamp)
106
- || stat.mtime.toISOString();
107
- // Best-effort first user prompt + count
108
- let preview = "";
109
- let messageCount = 0;
110
- try {
111
- const raw = (0, fs_1.readFileSync)(filePath, "utf-8");
112
- const lines = raw.split(/\r?\n/);
113
- for (const line of lines) {
114
- const obj = safeJsonParse(line);
115
- if (obj?.type === "user" && obj?.message?.content) {
116
- messageCount++;
117
- if (!preview) {
118
- const c = obj.message.content;
119
- const text = typeof c === "string"
120
- ? c
121
- : Array.isArray(c)
122
- ? c.find((b) => b?.type === "text")?.text ?? ""
123
- : "";
124
- preview = String(text).replace(/\s+/g, " ").slice(0, 120);
125
- }
126
- }
127
- }
128
- }
129
- catch {
130
- /* ignore */
131
- }
132
- out.push({
133
- cli: "CLAUDE",
134
- id,
135
- cwd,
136
- lastActivity,
137
- messageCount,
138
- preview,
139
- path: filePath,
182
+ const conv = cachedConversation(filePath, stat, () => {
183
+ // Read the head first and bail before the tail/prefix reads when this
184
+ // file isn't an importable conversation in our workspace (the common
185
+ // case) that keeps the cold scan of thousands of transcripts cheap.
186
+ const head = readHead(filePath, stat.size);
187
+ const firstObj = safeJsonParse(firstNonEmptyLine(head));
188
+ const cwd = typeof firstObj?.cwd === "string" ? firstObj.cwd : null;
189
+ const id = typeof firstObj?.sessionId === "string" ? firstObj.sessionId : entry.replace(/\.jsonl$/, "");
190
+ if (!cwd || !id)
191
+ return null;
192
+ if (!isWithin(workspaceRoot, cwd))
193
+ return null;
194
+ const lastObj = safeJsonParse(readLastLine(filePath, stat.size, head));
195
+ const lastActivity = (typeof lastObj?.timestamp === "string" && lastObj.timestamp)
196
+ || stat.mtime.toISOString();
197
+ const { preview, messageCount } = scanPreviewAndCount(filePath, stat.size, claudeUserText);
198
+ return {
199
+ cli: "CLAUDE",
200
+ id,
201
+ cwd,
202
+ lastActivity,
203
+ messageCount,
204
+ preview,
205
+ path: filePath,
206
+ };
140
207
  });
208
+ if (conv)
209
+ out.push(conv);
141
210
  }
142
211
  }
143
212
  return out;
@@ -201,46 +270,34 @@ function listCodexConversations(workspaceRoot) {
201
270
  }
202
271
  if (!stat.isFile() || stat.size === 0)
203
272
  continue;
204
- const { first, last } = readFirstAndLastLine(filePath);
205
- const firstObj = safeJsonParse(first);
206
- const meta = firstObj?.payload;
207
- const cwd = typeof meta?.cwd === "string" ? meta.cwd : null;
208
- const id = typeof meta?.id === "string" ? meta.id : null;
209
- if (!cwd || !id)
210
- continue;
211
- if (!isWithin(workspaceRoot, cwd))
212
- continue;
213
- const lastObj = safeJsonParse(last);
214
- const lastActivity = (typeof lastObj?.timestamp === "string" && lastObj.timestamp)
215
- || stat.mtime.toISOString();
216
- // Approximate count + preview via a quick scan
217
- let preview = "";
218
- let messageCount = 0;
219
- try {
220
- const raw = (0, fs_1.readFileSync)(filePath, "utf-8");
221
- const lines = raw.split(/\r?\n/);
222
- for (const line of lines) {
223
- const obj = safeJsonParse(line);
224
- if (obj?.type === "user_message" || obj?.type === "user") {
225
- messageCount++;
226
- if (!preview && typeof obj?.payload?.text === "string") {
227
- preview = obj.payload.text.replace(/\s+/g, " ").slice(0, 120);
228
- }
229
- }
230
- }
231
- }
232
- catch {
233
- /* ignore */
234
- }
235
- out.push({
236
- cli: "CODEX",
237
- id,
238
- cwd,
239
- lastActivity,
240
- messageCount,
241
- preview,
242
- path: filePath,
273
+ const conv = cachedConversation(filePath, stat, () => {
274
+ // Head-first, bail before tail/prefix reads when this file isn't an
275
+ // importable conversation in our workspace (keeps the cold scan cheap).
276
+ const head = readHead(filePath, stat.size);
277
+ const firstObj = safeJsonParse(firstNonEmptyLine(head));
278
+ const meta = firstObj?.payload;
279
+ const cwd = typeof meta?.cwd === "string" ? meta.cwd : null;
280
+ const id = typeof meta?.id === "string" ? meta.id : null;
281
+ if (!cwd || !id)
282
+ return null;
283
+ if (!isWithin(workspaceRoot, cwd))
284
+ return null;
285
+ const lastObj = safeJsonParse(readLastLine(filePath, stat.size, head));
286
+ const lastActivity = (typeof lastObj?.timestamp === "string" && lastObj.timestamp)
287
+ || stat.mtime.toISOString();
288
+ const { preview, messageCount } = scanPreviewAndCount(filePath, stat.size, codexUserText);
289
+ return {
290
+ cli: "CODEX",
291
+ id,
292
+ cwd,
293
+ lastActivity,
294
+ messageCount,
295
+ preview,
296
+ path: filePath,
297
+ };
243
298
  });
299
+ if (conv)
300
+ out.push(conv);
244
301
  }
245
302
  }
246
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-conversations.js","sourceRoot":"","sources":["../src/cli-conversations.ts"],"names":[],"mappings":";;AA0BA,4BAKC;AAkLD,kEAOC;AAxND,2BAAqE;AACrE,+BAAqC;AAoBrC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;AACpC,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAEpE,iEAAiE;AACjE,SAAgB,QAAQ,CAAC,IAAY,EAAE,MAAc;IACnD,MAAM,CAAC,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,gEAAgE;IAChE,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QAAC,IAAI,GAAG,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAExD,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QAC1B,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YAAC,GAAG,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAAC,CAAC;QACxF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED,+EAA+E;IAC/E,0EAA0E;IAC1E,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QAAC,GAAG,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAAC,CAAC;IACxF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACzD,CAAC;AAED,SAAS,uBAAuB,CAAC,aAAqB;IACpD,IAAI,CAAC,eAAe,IAAI,CAAC,IAAA,eAAU,EAAC,eAAe,CAAC;QAAE,OAAO,EAAE,CAAC;IAChE,MAAM,GAAG,GAAsB,EAAE,CAAC;IAElC,IAAI,WAAqB,CAAC;IAC1B,IAAI,CAAC;QAAC,WAAW,GAAG,IAAA,gBAAW,EAAC,eAAe,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAExE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YAAC,OAAO,GAAG,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAE3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACxC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAA,aAAQ,EAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;gBAAE,SAAS;YAEhD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,OAAO,QAAQ,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,EAAE,GAAG,OAAO,QAAQ,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACxG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;gBAAE,SAAS;YAC1B,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;gBAAE,SAAS;YAE5C,8DAA8D;YAC9D,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,YAAY,GAAG,CAAC,OAAO,OAAO,EAAE,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;mBAC7E,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAE9B,wCAAwC;YACxC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,GAAG,EAAE,IAAI,KAAK,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;wBAClD,YAAY,EAAE,CAAC;wBACf,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;4BAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ;gCAChC,CAAC,CAAC,CAAC;gCACH,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oCAChB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE;oCACpD,CAAC,CAAC,EAAE,CAAC;4BACT,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YAED,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,QAAQ;gBACb,EAAE;gBACF,GAAG;gBACH,YAAY;gBACZ,YAAY;gBACZ,OAAO;gBACP,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAqB;IACnD,IAAI,CAAC,cAAc,IAAI,CAAC,IAAA,eAAU,EAAC,cAAc,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAsB,EAAE,CAAC;IAElC,2EAA2E;IAC3E,uCAAuC;IACvC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAA,gBAAW,EAAC,cAAc,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,IAAA,WAAI,EAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACtC,IAAI,MAAgB,CAAC;QACrB,IAAI,CAAC;YAAC,MAAM,GAAG,IAAA,gBAAW,EAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,SAAS;YACjC,MAAM,KAAK,GAAG,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAc,CAAC;YACnB,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAA,gBAAW,EAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YACtD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACjC,MAAM,KAAK,GAAG,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC7B,IAAI,KAAe,CAAC;gBACpB,IAAI,CAAC;oBAAC,KAAK,GAAG,IAAA,gBAAW,EAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBACvD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBACpC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAChC,IAAI,IAAI,CAAC;oBACT,IAAI,CAAC;wBAAC,IAAI,GAAG,IAAA,aAAQ,EAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;wBAAE,SAAS;oBAEhD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACtC,MAAM,IAAI,GAAG,QAAQ,EAAE,OAAO,CAAC;oBAC/B,MAAM,GAAG,GAAG,OAAO,IAAI,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5D,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACzD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;wBAAE,SAAS;oBAC1B,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;wBAAE,SAAS;oBAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,YAAY,GAAG,CAAC,OAAO,OAAO,EAAE,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;2BAC7E,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBAE9B,+CAA+C;oBAC/C,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,IAAI,YAAY,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;4BAChC,IAAI,GAAG,EAAE,IAAI,KAAK,cAAc,IAAI,GAAG,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gCACzD,YAAY,EAAE,CAAC;gCACf,IAAI,CAAC,OAAO,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oCACvD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gCAChE,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;oBAED,GAAG,CAAC,IAAI,CAAC;wBACP,GAAG,EAAE,OAAO;wBACZ,EAAE;wBACF,GAAG;wBACH,YAAY;wBACZ,YAAY;wBACZ,OAAO;wBACP,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;8EAC8E;AAC9E,SAAgB,2BAA2B,CAAC,aAAqB;IAC/D,MAAM,GAAG,GAAG;QACV,GAAG,uBAAuB,CAAC,aAAa,CAAC;QACzC,GAAG,sBAAsB,CAAC,aAAa,CAAC;KACzC,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"cli-conversations.js","sourceRoot":"","sources":["../src/cli-conversations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cosmoremote",
3
- "version": "2.2.2",
4
- "description": "CosmoRemote bridge \u2014 connect your Mac to the CosmoRemote iOS/Android app to control Claude Code and Codex remotely",
3
+ "version": "2.2.3",
4
+ "description": "CosmoRemote bridge connect your Mac to the CosmoRemote iOS/Android app to control Claude Code and Codex remotely",
5
5
  "author": "Matheus Weber",
6
6
  "license": "MIT",
7
7
  "repository": {