@tryglen/cli 0.26.0 → 0.26.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.
@@ -4,6 +4,11 @@ declare const importCodexDesktopThread: (input: {
4
4
  readonly binary: string;
5
5
  readonly workspace: string;
6
6
  readonly name: string | null;
7
- readonly items: readonly Record<string, unknown>[];
7
+ readonly sessionPath: string;
8
+ readonly messages: readonly {
9
+ readonly role: "user" | "assistant";
10
+ readonly content: string;
11
+ }[];
12
+ readonly provenanceItem: Record<string, unknown>;
8
13
  }) => Promise<Result<string, CliError>>;
9
14
  export { importCodexDesktopThread };
@@ -4,13 +4,56 @@ import { err, ok } from "../../../_utils/result.js";
4
4
  import { cliVersion } from "../../../_utils/version.js";
5
5
  import { archiveCodexDesktopThread } from "./archive-codex-desktop-thread.js";
6
6
  const TIMEOUT_MS = 15_000;
7
+ const IMPORT_MARKER = "<EXTERNAL SESSION IMPORTED>";
8
+ const transcriptMessage = (role, content) => ({
9
+ role,
10
+ content,
11
+ });
12
+ const visibleMessages = (value) => {
13
+ const turns = value && typeof value === "object" && "thread" in value
14
+ ? value.thread?.turns
15
+ : null;
16
+ if (!Array.isArray(turns))
17
+ return [];
18
+ return turns.flatMap((turn) => {
19
+ const items = turn && typeof turn === "object" && "items" in turn
20
+ ? turn.items
21
+ : null;
22
+ if (!Array.isArray(items))
23
+ return [];
24
+ return items.flatMap((item) => {
25
+ if (!item || typeof item !== "object" || !("type" in item))
26
+ return [];
27
+ const typed = item;
28
+ if (typed.type === "agentMessage")
29
+ return typeof typed.text === "string" && typed.text !== IMPORT_MARKER
30
+ ? [transcriptMessage("assistant", typed.text)]
31
+ : [];
32
+ if (typed.type !== "userMessage" || !Array.isArray(typed.content))
33
+ return [];
34
+ const text = typed.content
35
+ .flatMap((part) => part &&
36
+ typeof part === "object" &&
37
+ "type" in part &&
38
+ part.type === "text" &&
39
+ "text" in part &&
40
+ typeof part.text === "string"
41
+ ? [part.text]
42
+ : [])
43
+ .join("");
44
+ return [transcriptMessage("user", text)];
45
+ });
46
+ });
47
+ };
7
48
  const importCodexDesktopThread = (input) => new Promise((resolve) => {
8
49
  const child = spawn(input.binary, ["app-server"], {
9
50
  stdio: ["pipe", "pipe", "ignore"],
10
51
  });
11
52
  const state = {
12
53
  buffer: "",
54
+ importId: null,
13
55
  threadId: null,
56
+ archiveQueue: [],
14
57
  pendingError: null,
15
58
  finished: false,
16
59
  };
@@ -20,13 +63,21 @@ const importCodexDesktopThread = (input) => new Promise((resolve) => {
20
63
  state.finished = true;
21
64
  clearTimeout(timer);
22
65
  child.kill();
23
- const cleanup = cleanupPartialThread && state.threadId
24
- ? archiveCodexDesktopThread({
25
- binary: input.binary,
26
- threadId: state.threadId,
27
- })
28
- : Promise.resolve();
29
- void cleanup.then(() => resolve(result));
66
+ const cleanupIds = cleanupPartialThread
67
+ ? [state.threadId, ...state.archiveQueue].flatMap((threadId) => threadId ? [threadId] : [])
68
+ : [];
69
+ const uniqueCleanupIds = [...new Set(cleanupIds)];
70
+ const cleanup = Promise.all(uniqueCleanupIds.map((threadId) => archiveCodexDesktopThread({
71
+ binary: input.binary,
72
+ threadId,
73
+ })));
74
+ void cleanup.then((archived) => resolve(archived.some((didArchive) => !didArchive)
75
+ ? err(cliErr({
76
+ what: "Codex Desktop left partial imported tasks behind",
77
+ why: `could not archive ${uniqueCleanupIds.join(", ")}`,
78
+ remedy: `archive tasks ${uniqueCleanupIds.join(", ")} in Codex Desktop, then retry`,
79
+ }))
80
+ : result));
30
81
  };
31
82
  const failure = (why) => cliErr({
32
83
  what: "Codex Desktop could not import the verified transcript",
@@ -38,6 +89,33 @@ const importCodexDesktopThread = (input) => new Promise((resolve) => {
38
89
  return;
39
90
  child.stdin.write(`${JSON.stringify({ jsonrpc: "2.0", ...message })}\n`);
40
91
  };
92
+ const archiveNext = () => {
93
+ const threadId = state.archiveQueue[0];
94
+ if (!threadId) {
95
+ const pendingError = state.pendingError;
96
+ finish(err(pendingError ??
97
+ failure("imported task cleanup finished without an error")));
98
+ return;
99
+ }
100
+ write({
101
+ id: 6,
102
+ method: "thread/archive",
103
+ params: { threadId },
104
+ });
105
+ };
106
+ const rejectImportedThreads = (error, threadIds) => {
107
+ const uniqueThreadIds = [...new Set(threadIds)];
108
+ if (uniqueThreadIds.length === 0) {
109
+ finish(err(error));
110
+ return;
111
+ }
112
+ state.pendingError = error;
113
+ state.archiveQueue = uniqueThreadIds;
114
+ archiveNext();
115
+ };
116
+ const rejectImportedThread = (error) => {
117
+ rejectImportedThreads(error, state.threadId ? [state.threadId] : []);
118
+ };
41
119
  const timer = setTimeout(() => finish(err(failure("codex app-server timed out")), true), TIMEOUT_MS);
42
120
  child.on("error", () => finish(err(failure("could not start codex app-server"))));
43
121
  child.on("close", () => finish(err(failure("codex app-server exited before import completed")), true));
@@ -57,27 +135,66 @@ const importCodexDesktopThread = (input) => new Promise((resolve) => {
57
135
  return null;
58
136
  }
59
137
  })();
60
- if (!message || typeof message.id !== "number")
138
+ if (!message)
139
+ continue;
140
+ if (message.method === "externalAgentConfig/import/completed") {
141
+ const params = message.params;
142
+ if (params?.importId !== state.importId)
143
+ continue;
144
+ const results = Array.isArray(params.itemTypeResults)
145
+ ? params.itemTypeResults
146
+ : [];
147
+ const sessionResult = results.find((result) => result &&
148
+ typeof result === "object" &&
149
+ "itemType" in result &&
150
+ result.itemType === "SESSIONS");
151
+ const failures = Array.isArray(sessionResult?.failures)
152
+ ? sessionResult.failures
153
+ : [];
154
+ const targets = (Array.isArray(sessionResult?.successes)
155
+ ? sessionResult.successes
156
+ : []).flatMap((success) => success &&
157
+ typeof success === "object" &&
158
+ "target" in success &&
159
+ typeof success.target === "string"
160
+ ? [success.target]
161
+ : []);
162
+ if (failures.length > 0) {
163
+ const reported = failures[0];
164
+ rejectImportedThreads(failure(typeof reported.message === "string"
165
+ ? reported.message
166
+ : "external session import failed"), targets);
167
+ continue;
168
+ }
169
+ if (targets.length !== 1) {
170
+ rejectImportedThreads(failure(targets.length === 0
171
+ ? "session import returned no task ID"
172
+ : "session import returned more than one task ID"), targets);
173
+ continue;
174
+ }
175
+ state.threadId = targets[0] ?? null;
176
+ write({
177
+ id: 3,
178
+ method: "thread/read",
179
+ params: { threadId: state.threadId, includeTurns: true },
180
+ });
61
181
  continue;
62
- const rpcError = message.error;
63
- if (rpcError) {
64
- const reported = typeof rpcError.message === "string"
65
- ? rpcError.message
182
+ }
183
+ if (typeof message.id !== "number")
184
+ continue;
185
+ if (message.error) {
186
+ const reported = typeof message.error.message === "string"
187
+ ? message.error.message
66
188
  : "unknown app-server error";
67
189
  const importedError = failure(reported);
68
- if ((message.id === 3 || message.id === 4) && state.threadId) {
69
- state.pendingError = importedError;
70
- write({
71
- id: 5,
72
- method: "thread/archive",
73
- params: { threadId: state.threadId },
74
- });
75
- }
76
- else if (message.id === 5 && state.pendingError) {
77
- finish(err(state.pendingError), true);
190
+ if (message.id >= 3 && state.threadId) {
191
+ if (message.id === 6 && state.pendingError)
192
+ finish(err(state.pendingError), true);
193
+ else
194
+ rejectImportedThread(importedError);
78
195
  }
79
196
  else {
80
- finish(err(importedError), Boolean(state.threadId));
197
+ finish(err(importedError));
81
198
  }
82
199
  continue;
83
200
  }
@@ -85,34 +202,66 @@ const importCodexDesktopThread = (input) => new Promise((resolve) => {
85
202
  write({ method: "initialized", params: {} });
86
203
  write({
87
204
  id: 2,
88
- method: "thread/start",
205
+ method: "externalAgentConfig/import",
89
206
  params: {
90
- cwd: input.workspace,
91
- ephemeral: false,
92
- sessionStartSource: "startup",
93
- threadSource: "vscode",
207
+ source: "glen",
208
+ migrationItems: [
209
+ {
210
+ itemType: "SESSIONS",
211
+ description: "Import Glen takeover transcript",
212
+ cwd: input.workspace,
213
+ details: {
214
+ sessions: [
215
+ {
216
+ path: input.sessionPath,
217
+ cwd: input.workspace,
218
+ title: input.name,
219
+ },
220
+ ],
221
+ },
222
+ },
223
+ ],
94
224
  },
95
225
  });
96
226
  continue;
97
227
  }
98
228
  if (message.id === 2) {
99
- const threadId = message.result?.thread?.id;
100
- if (typeof threadId !== "string" || !threadId) {
101
- finish(err(failure("thread/start returned no thread ID")));
229
+ const importId = message.result?.importId;
230
+ if (typeof importId !== "string" || !importId) {
231
+ finish(err(failure("session import returned no import ID")));
232
+ continue;
233
+ }
234
+ state.importId = importId;
235
+ continue;
236
+ }
237
+ if (message.id === 3 && state.threadId) {
238
+ const importedMessages = visibleMessages(message.result);
239
+ if (JSON.stringify(importedMessages) !== JSON.stringify(input.messages)) {
240
+ rejectImportedThread(failure("imported task did not expose the canonical visible turns"));
102
241
  continue;
103
242
  }
104
- state.threadId = threadId;
105
243
  write({
106
- id: 3,
244
+ id: 4,
245
+ method: "thread/resume",
246
+ params: { threadId: state.threadId },
247
+ });
248
+ continue;
249
+ }
250
+ if (message.id === 4 && state.threadId) {
251
+ write({
252
+ id: 5,
107
253
  method: "thread/inject_items",
108
- params: { threadId, items: input.items },
254
+ params: {
255
+ threadId: state.threadId,
256
+ items: [input.provenanceItem],
257
+ },
109
258
  });
110
259
  continue;
111
260
  }
112
- if (message.id === 3 && state.threadId) {
261
+ if (message.id === 5 && state.threadId) {
113
262
  if (input.name) {
114
263
  write({
115
- id: 4,
264
+ id: 7,
116
265
  method: "thread/name/set",
117
266
  params: { threadId: state.threadId, name: input.name },
118
267
  });
@@ -120,12 +269,13 @@ const importCodexDesktopThread = (input) => new Promise((resolve) => {
120
269
  else {
121
270
  finish(ok(state.threadId));
122
271
  }
123
- continue;
124
272
  }
125
- if (message.id === 4 && state.threadId)
273
+ if (message.id === 6 && state.pendingError) {
274
+ state.archiveQueue = state.archiveQueue.slice(1);
275
+ archiveNext();
276
+ }
277
+ if (message.id === 7 && state.threadId)
126
278
  finish(ok(state.threadId));
127
- if (message.id === 5 && state.pendingError)
128
- finish(err(state.pendingError));
129
279
  }
130
280
  });
131
281
  queueMicrotask(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"import-codex-desktop-thread.js","sourceRoot":"","sources":["../../../../src/commands/takeover/_utils/import-codex-desktop-thread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-codex-desktop-thread.js","sourceRoot":"","sources":["../../../../src/commands/takeover/_utils/import-codex-desktop-thread.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { codexDesktopRecovery } from "./codex-desktop-recovery.js";
3
3
  import { importCodexDesktopThread } from "./import-codex-desktop-thread.js";
4
4
  import { launchDesktopUrl } from "./launch-desktop-url.js";
5
5
  import { provenanceContext } from "./provenance-context.js";
6
+ declare const removeCodexDesktopSource: (path: string) => Promise<import("../../../_utils/result.js").Result<void, unknown>>;
6
7
  declare const writeCodexDesktopSession: (payload: {
7
8
  readonly takeoverId: string;
8
9
  readonly canonicalDigest: string;
@@ -18,6 +19,7 @@ declare const writeCodexDesktopSession: (payload: {
18
19
  readonly launchUrl?: typeof launchDesktopUrl;
19
20
  readonly recovery?: typeof codexDesktopRecovery;
20
21
  readonly archiveThread?: typeof archiveCodexDesktopThread;
22
+ readonly removeSource?: typeof removeCodexDesktopSource;
21
23
  }) => {
22
24
  probe: () => Promise<import("../../../_utils/result.js").Result<{
23
25
  binary: string;
@@ -45,7 +47,7 @@ declare const writeCodexDesktopSession: (payload: {
45
47
  } | {
46
48
  readonly ok: true;
47
49
  readonly value: {
48
- role: string;
50
+ role: "user" | "assistant";
49
51
  content: string;
50
52
  }[];
51
53
  }>;
@@ -1,7 +1,10 @@
1
+ import { randomUUID } from "node:crypto";
1
2
  import { readFile } from "node:fs/promises";
3
+ import { rm } from "node:fs/promises";
2
4
  import { cliErr } from "../../../_utils/cli-error.js";
3
5
  import { findBin, isExecutable } from "../../../_utils/find-bin.js";
4
6
  import { err, fromPromise, ok } from "../../../_utils/result.js";
7
+ import { agentPaths } from "./agent-paths.js";
5
8
  import { archiveCodexDesktopThread } from "./archive-codex-desktop-thread.js";
6
9
  import { codexDesktopRecovery } from "./codex-desktop-recovery.js";
7
10
  import { importCodexDesktopThread } from "./import-codex-desktop-thread.js";
@@ -10,37 +13,48 @@ import { nativeFile } from "./native-file.js";
10
13
  import { probeAgent } from "./probe-agent.js";
11
14
  import { provenanceContext } from "./provenance-context.js";
12
15
  const bundledCodexPath = "/Applications/ChatGPT.app/Contents/Resources/codex";
16
+ const transcriptMessage = (role, content) => ({
17
+ role,
18
+ content,
19
+ });
20
+ const removeCodexDesktopSource = (path) => fromPromise(rm(path, { force: true }));
13
21
  const writeCodexDesktopSession = (payload, workspace, options = {}) => {
14
22
  const recovery = options.recovery ?? codexDesktopRecovery;
15
23
  const archiveThread = options.archiveThread ?? archiveCodexDesktopThread;
24
+ const removeSource = options.removeSource ?? removeCodexDesktopSource;
16
25
  const resolveBinary = () => options.binary ??
17
26
  process.env.GLEN_CODEX_DESKTOP_BIN ??
18
27
  (process.platform === "darwin" && isExecutable(bundledCodexPath)
19
28
  ? bundledCodexPath
20
29
  : findBin("codex"));
21
- const items = [
22
- {
23
- type: "message",
24
- role: "developer",
25
- content: [
26
- {
27
- type: "input_text",
28
- text: `<glen_takeover_provenance>${provenanceContext(payload.provenance)}</glen_takeover_provenance>`,
29
- },
30
- ],
31
- },
30
+ const timestamp = new Date().toISOString();
31
+ const records = [
32
32
  ...payload.messages.map((message) => ({
33
- type: "message",
34
- role: message.role,
35
- content: [
33
+ type: message.role,
34
+ cwd: workspace,
35
+ timestamp,
36
+ message: { content: message.content },
37
+ })),
38
+ ...(payload.provenance.sourceTitle
39
+ ? [
36
40
  {
37
- type: message.role === "user" ? "input_text" : "output_text",
38
- text: message.content,
41
+ type: "custom-title",
42
+ customTitle: payload.provenance.sourceTitle,
39
43
  },
40
- ],
41
- })),
44
+ ]
45
+ : []),
42
46
  ];
43
- const parseItems = async (path) => {
47
+ const provenanceItem = {
48
+ type: "message",
49
+ role: "developer",
50
+ content: [
51
+ {
52
+ type: "input_text",
53
+ text: `<glen_takeover_provenance>${provenanceContext(payload.provenance)}</glen_takeover_provenance>`,
54
+ },
55
+ ],
56
+ };
57
+ const parseRecords = async (path) => {
44
58
  const raw = await fromPromise(readFile(path, "utf8"));
45
59
  if (!raw.ok)
46
60
  return err(cliErr({
@@ -66,6 +80,16 @@ const writeCodexDesktopSession = (payload, workspace, options = {}) => {
66
80
  }));
67
81
  return ok(parsed);
68
82
  };
83
+ const messagesFromRecords = (parsed) => parsed.flatMap((record) => {
84
+ if (record.type !== "user" && record.type !== "assistant")
85
+ return [];
86
+ const message = record.message && typeof record.message === "object"
87
+ ? record.message
88
+ : null;
89
+ return typeof message?.content === "string"
90
+ ? [transcriptMessage(record.type, message.content)]
91
+ : [];
92
+ });
69
93
  const installedFromId = (destinationSessionId) => {
70
94
  const url = `codex://threads/${encodeURIComponent(destinationSessionId)}`;
71
95
  return {
@@ -108,28 +132,16 @@ const writeCodexDesktopSession = (payload, workspace, options = {}) => {
108
132
  });
109
133
  },
110
134
  stage: async () => {
111
- const staged = await nativeFile.stage("glen-codex-desktop-takeover-", items);
135
+ const staged = await nativeFile.stage("glen-codex-desktop-takeover-", records);
112
136
  return staged.ok
113
137
  ? ok({ ...staged.value, recoveryCommand: "open Codex Desktop" })
114
138
  : staged;
115
139
  },
116
140
  parse: async (staged) => {
117
- const parsed = await parseItems(staged.path);
141
+ const parsed = await parseRecords(staged.path);
118
142
  if (!parsed.ok)
119
143
  return parsed;
120
- const messages = parsed.value.flatMap((item) => {
121
- if (item.role !== "user" && item.role !== "assistant")
122
- return [];
123
- const content = Array.isArray(item.content) ? item.content : [];
124
- const text = content
125
- .map((part) => part && typeof part === "object" && "text" in part
126
- ? part.text
127
- : null)
128
- .filter((part) => typeof part === "string")
129
- .join("");
130
- return [{ role: item.role, content: text }];
131
- });
132
- return ok(messages);
144
+ return ok(messagesFromRecords(parsed.value));
133
145
  },
134
146
  install: async (staged) => {
135
147
  const binary = resolveBinary();
@@ -138,15 +150,42 @@ const writeCodexDesktopSession = (payload, workspace, options = {}) => {
138
150
  what: "Codex Desktop is not installed or discoverable",
139
151
  remedy: "install or update Codex Desktop, then retry",
140
152
  }));
141
- const parsed = await parseItems(staged.path);
153
+ const parsed = await parseRecords(staged.path);
142
154
  if (!parsed.ok)
143
155
  return parsed;
156
+ const messages = messagesFromRecords(parsed.value);
157
+ const sourcePath = agentPaths.claude(workspace, `.glen-takeover-${randomUUID()}`);
158
+ const sourceInstalled = await nativeFile.install(staged.path, sourcePath, "");
159
+ if (!sourceInstalled.ok)
160
+ return sourceInstalled;
144
161
  const imported = await (options.importThread ?? importCodexDesktopThread)({
145
162
  binary,
146
163
  workspace,
147
164
  name: payload.provenance.sourceTitle,
148
- items: parsed.value,
165
+ sessionPath: sourcePath,
166
+ messages,
167
+ provenanceItem,
149
168
  });
169
+ const sourceRemoved = await removeSource(sourcePath);
170
+ if (!sourceRemoved.ok) {
171
+ if (imported.ok) {
172
+ const archived = await archiveThread({
173
+ binary,
174
+ threadId: imported.value,
175
+ });
176
+ if (!archived)
177
+ return err(cliErr({
178
+ what: "temporary Codex import cleanup failed and the imported task remains",
179
+ path: sourcePath,
180
+ remedy: `archive task ${imported.value} in Codex Desktop, remove the reported temporary session, then retry`,
181
+ }));
182
+ }
183
+ return err(cliErr({
184
+ what: "could not remove the temporary Codex import source",
185
+ path: sourcePath,
186
+ remedy: "remove the reported temporary session, then retry the takeover",
187
+ }));
188
+ }
150
189
  if (!imported.ok)
151
190
  return imported;
152
191
  const saved = await recovery.save({
@@ -1 +1 @@
1
- {"version":3,"file":"write-codex-desktop-session.js","sourceRoot":"","sources":["../../../../src/commands/takeover/_utils/write-codex-desktop-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-codex-desktop-session.js","sourceRoot":"","sources":["../../../../src/commands/takeover/_utils/write-codex-desktop-session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryglen/cli",
3
- "version": "0.26.0",
3
+ "version": "0.26.1",
4
4
  "description": "Glen CLI — memory for coding agents",
5
5
  "type": "module",
6
6
  "bin": {