@gkorepanov/ccodex 0.4.6 → 0.4.7

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.
Files changed (43) hide show
  1. package/README.md +31 -3
  2. package/config/compatibility.json +1 -1
  3. package/dist/cli/args.d.ts +3 -0
  4. package/dist/cli/args.js +4 -1
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/delegate.js +1 -0
  7. package/dist/cli/delegate.js.map +1 -1
  8. package/dist/cli/main.js +21 -22
  9. package/dist/cli/main.js.map +1 -1
  10. package/dist/daemon/daemon.js +5 -4
  11. package/dist/daemon/daemon.js.map +1 -1
  12. package/dist/daemon/supervisor.d.ts +1 -0
  13. package/dist/daemon/supervisor.js +13 -3
  14. package/dist/daemon/supervisor.js.map +1 -1
  15. package/dist/desktop/launchAgent.d.ts +26 -0
  16. package/dist/desktop/launchAgent.js +122 -0
  17. package/dist/desktop/launchAgent.js.map +1 -0
  18. package/dist/desktop/stdioFrontend.d.ts +9 -0
  19. package/dist/desktop/stdioFrontend.js +305 -0
  20. package/dist/desktop/stdioFrontend.js.map +1 -0
  21. package/dist/gateway/clientConnection.js +1 -1
  22. package/dist/gateway/clientConnection.js.map +1 -1
  23. package/dist/handoff/service.d.ts +1 -1
  24. package/dist/handoff/service.js +109 -47
  25. package/dist/handoff/service.js.map +1 -1
  26. package/dist/handoff/store.d.ts +1 -0
  27. package/dist/handoff/store.js +13 -1
  28. package/dist/handoff/store.js.map +1 -1
  29. package/dist/management/doctor.js +31 -2
  30. package/dist/management/doctor.js.map +1 -1
  31. package/dist/management/lifecycle.js +80 -26
  32. package/dist/management/lifecycle.js.map +1 -1
  33. package/dist/management/setup.d.ts +3 -0
  34. package/dist/management/setup.js +75 -94
  35. package/dist/management/setup.js.map +1 -1
  36. package/dist/management/shellRouting.d.ts +14 -0
  37. package/dist/management/shellRouting.js +64 -0
  38. package/dist/management/shellRouting.js.map +1 -0
  39. package/dist/management/shims.d.ts +16 -3
  40. package/dist/management/shims.js +67 -12
  41. package/dist/management/shims.js.map +1 -1
  42. package/examples/config.toml +2 -0
  43. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/management/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/management/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,18 @@
1
1
  import { execFile } from "node:child_process";
2
2
  import { createHash } from "node:crypto";
3
- import { existsSync, lstatSync, readFileSync, readlinkSync, rmSync, statSync, } from "node:fs";
3
+ import { existsSync, lstatSync, readFileSync, readlinkSync, renameSync, rmSync, statSync, } from "node:fs";
4
4
  import { homedir } from "node:os";
5
5
  import { basename, join } from "node:path";
6
6
  import { promisify } from "node:util";
7
7
  import { atomicSymlink, atomicWrite, ensureLayout, installLayout } from "./layout.js";
8
8
  import { readInstallManifest, setup } from "./setup.js";
9
- import { reconcileManagedProcess } from "../daemon/supervisor.js";
9
+ import { reconcileManagedProcess, stopManagedProcess } from "../daemon/supervisor.js";
10
+ import { reconcileOwnedGateway, stopSocketOwner } from "../daemon/ownership.js";
10
11
  import { uninstallRemoteCodexShim } from "./remoteShim.js";
12
+ import { fileHash, installCliPathAgent, uninstallCliPathAgent, } from "../desktop/launchAgent.js";
13
+ import { fishManagedBlock as fishBlock, legacyFishManagedBlock as legacyFishBlock, legacyPosixManagedBlock as legacyPosixBlock, migrateDesktopShellBlocks, posixManagedBlock as posixBlock, restoreShellBlockChanges, } from "./shellRouting.js";
14
+ import { installManagedShims, restoreManagedShims, } from "./shims.js";
11
15
  const execute = promisify(execFile);
12
- const BEGIN = "# >>> ccodex >>>";
13
- const END = "# <<< ccodex <<<";
14
- function posixBlock(layout) {
15
- return `${BEGIN}\nexport PATH="${layout.bin}:$PATH"\n${END}\n`;
16
- }
17
- function fishBlock(layout) {
18
- return `${BEGIN}\nfish_add_path --move --prepend "${layout.bin}"\n${END}\n`;
19
- }
20
16
  async function registryVersion(channel) {
21
17
  const { stdout } = await execute("npm", ["view", "@gkorepanov/ccodex", `dist-tags.${channel}`, "--json"], {
22
18
  timeout: 30_000,
@@ -31,9 +27,8 @@ async function registryVersion(channel) {
31
27
  function daemonPidFile() {
32
28
  return join(process.env.CODEX_HOME ?? join(homedir(), ".codex"), "app-server-daemon", "app-server.pid");
33
29
  }
34
- async function daemon(layout, version, operation) {
35
- const command = join(layout.versions, version, "node_modules", ".bin", "ccodex");
36
- await execute(command, ["app-server", "daemon", operation], { timeout: 90_000, maxBuffer: 512 * 1024 });
30
+ function supportsDesktopApp(layout, version) {
31
+ return existsSync(join(layout.versions, version, "node_modules", "@gkorepanov", "ccodex", "dist", "desktop", "stdioFrontend.js"));
37
32
  }
38
33
  export async function update(args) {
39
34
  const channelIndex = args.indexOf("--channel");
@@ -72,22 +67,58 @@ export async function rollback(args) {
72
67
  const current = manifest.activeVersion;
73
68
  if (!existsSync(join(layout.versions, previous)))
74
69
  throw new Error(`Previous CCodex ${previous} is missing.`);
75
- const daemonWasRunning = Boolean(reconcileManagedProcess(daemonPidFile()));
76
- atomicSymlink(join("versions", previous), layout.current);
77
- atomicSymlink(join("versions", current), layout.previous);
70
+ const desktopWasActive = process.platform === "darwin" && Boolean(manifest.desktopCliPath);
71
+ const targetDesktop = process.platform === "darwin" && supportsDesktopApp(layout, previous);
72
+ let shellChanges = [];
73
+ let removedDesktop = false;
74
+ let installedDesktop;
75
+ let shimChanges = [];
78
76
  try {
79
- if (daemonWasRunning)
80
- await daemon(layout, previous, "restart");
81
- const next = { ...manifest, activeVersion: previous, previousVersion: current };
77
+ if (desktopWasActive && !targetDesktop) {
78
+ if (!existsSync(manifest.desktopCliPath.path)
79
+ || fileHash(manifest.desktopCliPath.path) !== manifest.desktopCliPath.contentHash) {
80
+ throw new Error("Cannot roll back: managed desktop files were modified.");
81
+ }
82
+ uninstallCliPathAgent(manifest.desktopCliPath);
83
+ removedDesktop = true;
84
+ shellChanges = migrateDesktopShellBlocks(layout, manifest.managedShellFiles, false);
85
+ }
86
+ atomicSymlink(join("versions", previous), layout.current);
87
+ atomicSymlink(join("versions", current), layout.previous);
88
+ const shims = installManagedShims(layout.bin, process.execPath, manifest.shimHashes);
89
+ shimChanges = shims.changes;
90
+ let desktopCliPath = targetDesktop ? manifest.desktopCliPath : undefined;
91
+ if (targetDesktop && !desktopWasActive) {
92
+ shellChanges = migrateDesktopShellBlocks(layout, manifest.managedShellFiles, true);
93
+ desktopCliPath = installCliPathAgent(join(layout.bin, "codex"));
94
+ installedDesktop = desktopCliPath;
95
+ }
96
+ const { desktopCliPath: _oldDesktop, desktopApp: _legacyDesktop, desktopAppActive: _legacyActive, ...base } = manifest;
97
+ const next = {
98
+ ...base,
99
+ activeVersion: previous,
100
+ previousVersion: current,
101
+ nodeExecutable: process.execPath,
102
+ shimHashes: shims.hashes,
103
+ ...(desktopCliPath ? { desktopCliPath } : {}),
104
+ };
82
105
  atomicWrite(layout.manifest, `${JSON.stringify(next, null, 2)}\n`, 0o600);
83
106
  }
84
107
  catch (error) {
85
108
  atomicSymlink(join("versions", current), layout.current);
86
109
  atomicSymlink(join("versions", previous), layout.previous);
87
- await daemon(layout, current, "restart").catch(() => undefined);
110
+ restoreManagedShims(shimChanges);
111
+ restoreShellBlockChanges(shellChanges);
112
+ if (installedDesktop)
113
+ uninstallCliPathAgent(installedDesktop);
114
+ if (removedDesktop && manifest.desktopCliPath) {
115
+ installCliPathAgent(manifest.desktopCliPath.entryShimPath, manifest.desktopCliPath);
116
+ }
117
+ atomicWrite(layout.manifest, `${JSON.stringify(manifest, null, 2)}\n`, 0o600);
88
118
  throw error;
89
119
  }
90
- process.stdout.write(`CCodex rolled back from ${current} to ${previous}.\n`);
120
+ process.stdout.write(`CCodex rolled back from ${current} to ${previous}.`
121
+ + `${process.platform === "darwin" ? " Reconnect Codex App." : ""}\n`);
91
122
  return 0;
92
123
  }
93
124
  function hashFile(path) {
@@ -105,10 +136,12 @@ function removeManagedShellFile(path, layout) {
105
136
  return true;
106
137
  }
107
138
  const block = path.endsWith("config.fish") ? fishBlock(layout) : posixBlock(layout);
108
- if (!content.includes(block))
139
+ const legacy = path.endsWith("config.fish") ? legacyFishBlock(layout) : legacyPosixBlock(layout);
140
+ const present = content.includes(block) ? block : content.includes(legacy) ? legacy : undefined;
141
+ if (!present)
109
142
  return false;
110
143
  const mode = statSync(path).mode & 0o777;
111
- atomicWrite(path, content.replace(block, ""), mode);
144
+ atomicWrite(path, content.replace(present, ""), mode);
112
145
  return true;
113
146
  }
114
147
  export async function uninstall(args) {
@@ -122,8 +155,26 @@ export async function uninstall(args) {
122
155
  if (!manifest)
123
156
  throw new Error("CCodex is not activated.");
124
157
  const publicSocket = manifest.publicSocket ?? join(process.env.CODEX_HOME ?? join(homedir(), ".codex"), "app-server-control", "app-server-control.sock");
125
- if (existsSync(daemonPidFile()) || existsSync(`${publicSocket}.ccodex-owner.json`)) {
126
- await daemon(layout, manifest.activeVersion, "stop");
158
+ const disabledCurrent = `${layout.current}.uninstalling-${process.pid}`;
159
+ const currentTarget = existsSync(layout.current) && lstatSync(layout.current).isSymbolicLink()
160
+ ? readlinkSync(layout.current)
161
+ : undefined;
162
+ if (currentTarget)
163
+ renameSync(layout.current, disabledCurrent);
164
+ try {
165
+ const managed = reconcileManagedProcess(daemonPidFile());
166
+ if (managed)
167
+ await stopManagedProcess(daemonPidFile(), managed);
168
+ else {
169
+ const owner = reconcileOwnedGateway(publicSocket);
170
+ if (owner)
171
+ await stopSocketOwner(publicSocket, owner);
172
+ }
173
+ }
174
+ catch (error) {
175
+ if (currentTarget && existsSync(disabledCurrent))
176
+ renameSync(disabledCurrent, layout.current);
177
+ throw error;
127
178
  }
128
179
  const preserved = [];
129
180
  for (const path of manifest.managedShellFiles) {
@@ -133,6 +184,9 @@ export async function uninstall(args) {
133
184
  if (manifest.remoteCodexShim && !uninstallRemoteCodexShim(manifest.remoteCodexShim)) {
134
185
  preserved.push(manifest.remoteCodexShim.path);
135
186
  }
187
+ if (manifest.desktopCliPath && !uninstallCliPathAgent(manifest.desktopCliPath)) {
188
+ preserved.push(manifest.desktopCliPath.path);
189
+ }
136
190
  for (const [name, expected] of Object.entries(manifest.shimHashes)) {
137
191
  const path = join(layout.bin, name);
138
192
  if (!existsSync(path))
@@ -142,7 +196,7 @@ export async function uninstall(args) {
142
196
  else
143
197
  preserved.push(path);
144
198
  }
145
- for (const path of [layout.current, layout.previous, layout.versions, layout.staging, layout.manifest]) {
199
+ for (const path of [disabledCurrent, layout.current, layout.previous, layout.versions, layout.staging, layout.manifest]) {
146
200
  rmSync(path, { recursive: true, force: true });
147
201
  }
148
202
  if (args.includes("--purge")) {
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/management/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/management/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { compatibilityManifest } from "../compatibility/probe.js";
2
2
  import { type InstallLayout } from "./layout.js";
3
3
  import { type RemoteCodexShim } from "./remoteShim.js";
4
+ import { type CliPathAgentInstall } from "../desktop/launchAgent.js";
4
5
  export interface InstallManifest {
5
6
  readonly schemaVersion: 1;
6
7
  readonly method: "npm" | "curl" | "migrated-local";
@@ -12,6 +13,8 @@ export interface InstallManifest {
12
13
  readonly managedShellFiles: string[];
13
14
  readonly shimHashes: Readonly<Record<string, string>>;
14
15
  readonly remoteCodexShim?: RemoteCodexShim;
16
+ readonly desktopCliPath?: CliPathAgentInstall;
17
+ readonly nodeExecutable?: string;
15
18
  readonly platformPackage: string;
16
19
  readonly compatibility: ReturnType<typeof compatibilityManifest>;
17
20
  readonly doctor: {
@@ -1,6 +1,6 @@
1
1
  import { execFile, spawn } from "node:child_process";
2
2
  import { createHash } from "node:crypto";
3
- import { chmodSync, cpSync, existsSync, lstatSync, readFileSync, readlinkSync, renameSync, rmSync, statSync, unlinkSync, realpathSync, } from "node:fs";
3
+ import { cpSync, existsSync, lstatSync, readFileSync, readlinkSync, renameSync, rmSync, statSync, unlinkSync, realpathSync, } from "node:fs";
4
4
  import { homedir } from "node:os";
5
5
  import { basename, join, relative, resolve } from "node:path";
6
6
  import { promisify } from "node:util";
@@ -8,13 +8,12 @@ import { compatibilityManifest } from "../compatibility/probe.js";
8
8
  import { defaultConfigToml, delegatedCodexExecutable, loadConfig } from "../config/config.js";
9
9
  import { pinnedCodexExecutable, runtimePlatformKey } from "../runtime/dependencies.js";
10
10
  import { probeAppServer } from "../daemon/probe.js";
11
- import { reconcileManagedProcess, stopManagedProcess } from "../daemon/supervisor.js";
12
11
  import { atomicSymlink, atomicWrite, ensureLayout, installLayout } from "./layout.js";
13
- import { managedShim } from "./shims.js";
12
+ import { fishManagedBlock as fishBlock, MANAGED_BLOCK_BEGIN as BEGIN, legacyFishManagedBlock as oldFishBlock, legacyPosixManagedBlock as legacyPosixBlock, posixManagedBlock as posixBlock, } from "./shellRouting.js";
13
+ import { installManagedShims, restoreManagedShims, } from "./shims.js";
14
14
  import { installRemoteCodexShim, relocatedDelegate, restoreRemoteCodexShim, } from "./remoteShim.js";
15
+ import { installCliPathAgent, uninstallCliPathAgent, } from "../desktop/launchAgent.js";
15
16
  const execute = promisify(execFile);
16
- const BEGIN = "# >>> ccodex >>>";
17
- const END = "# <<< ccodex <<<";
18
17
  function packageVersion() {
19
18
  return compatibilityManifest().productVersion;
20
19
  }
@@ -142,87 +141,69 @@ function migrateLegacyState(layout) {
142
141
  function hashFile(path) {
143
142
  return createHash("sha256").update(readFileSync(path)).digest("hex");
144
143
  }
145
- function installShims(layout) {
146
- for (const name of ["ccodex", "codex"]) {
147
- atomicWrite(join(layout.bin, name), managedShim(name), 0o755);
148
- chmodSync(join(layout.bin, name), 0o755);
149
- }
150
- return Object.fromEntries(["ccodex", "codex"].map((name) => [name, hashFile(join(layout.bin, name))]));
151
- }
152
- function appendManagedBlock(path, block) {
153
- const existing = existsSync(path) ? readFileSync(path, "utf8") : "";
154
- if (existing.includes(BEGIN)) {
155
- if (!existing.includes(block.trim()))
156
- throw new Error(`Refusing to overwrite a modified CCodex block in ${path}`);
144
+ function validateManagedBlock(path, desired, legacy) {
145
+ if (!existsSync(path))
157
146
  return;
158
- }
159
- const mode = existsSync(path) ? statSync(path).mode & 0o777 : 0o600;
160
- atomicWrite(path, `${existing}${existing && !existing.endsWith("\n") ? "\n" : ""}${block}`, mode);
161
- }
162
- function posixBlock(layout) {
163
- return `${BEGIN}\nexport PATH="${layout.bin}:$PATH"\n${END}\n`;
147
+ const existing = readFileSync(path, "utf8");
148
+ if (!existing.includes(BEGIN) || existing.includes(desired) || existing.includes(legacy))
149
+ return;
150
+ throw new Error(`Refusing to overwrite a modified CCodex block in ${path}`);
164
151
  }
165
- function fishBlock(layout) {
166
- return `${BEGIN}\nfish_add_path --move --prepend "${layout.bin}"\n${END}\n`;
152
+ function installManagedBlock(path, desired, legacy) {
153
+ const existed = existsSync(path);
154
+ const existing = existed ? readFileSync(path, "utf8") : "";
155
+ if (existing.includes(desired))
156
+ return undefined;
157
+ const mode = existed ? statSync(path).mode & 0o777 : 0o600;
158
+ const next = existing.includes(legacy)
159
+ ? existing.replace(legacy, desired)
160
+ : `${existing}${existing && !existing.endsWith("\n") ? "\n" : ""}${desired}`;
161
+ atomicWrite(path, next, mode);
162
+ return { path, ...(existed ? { content: existing } : {}), mode };
167
163
  }
168
164
  function installShellPaths(layout) {
169
165
  const home = homedir();
170
166
  const shellBlock = posixBlock(layout);
167
+ const oldShellBlock = legacyPosixBlock(layout);
171
168
  const bashLogin = existsSync(join(home, ".bash_profile")) ? join(home, ".bash_profile") : join(home, ".profile");
172
169
  const files = [bashLogin, join(home, ".bashrc"), join(home, ".zprofile"), join(home, ".zshrc")];
173
- for (const path of files) {
174
- const existing = existsSync(path) ? readFileSync(path, "utf8") : "";
175
- if (existing.includes(BEGIN) && !existing.includes(shellBlock.trim())) {
176
- throw new Error(`Refusing to overwrite a modified CCodex block in ${path}`);
177
- }
178
- }
170
+ for (const path of files)
171
+ validateManagedBlock(path, shellBlock, oldShellBlock);
179
172
  const fish = join(home, ".config", "fish", "config.fish");
180
173
  const fishConfigBlock = fishBlock(layout);
181
- const fishExisting = existsSync(fish) ? readFileSync(fish, "utf8") : "";
182
- if (fishExisting.includes(BEGIN) && !fishExisting.includes(fishConfigBlock.trim())) {
183
- throw new Error(`Refusing to overwrite a modified CCodex block in ${fish}`);
184
- }
174
+ const oldFishConfigBlock = oldFishBlock(layout);
175
+ validateManagedBlock(fish, fishConfigBlock, oldFishConfigBlock);
185
176
  const legacyFish = join(home, ".config", "fish", "conf.d", "ccodex.fish");
186
- const legacyFishBlock = `# Managed by CCodex.\nfish_add_path --prepend "${layout.bin}"\n`;
187
- if (existsSync(legacyFish) && readFileSync(legacyFish, "utf8") !== legacyFishBlock) {
177
+ const legacyFishFileBlock = `# Managed by CCodex.\nfish_add_path --prepend "${layout.bin}"\n`;
178
+ if (existsSync(legacyFish) && readFileSync(legacyFish, "utf8") !== legacyFishFileBlock) {
188
179
  throw new Error(`Refusing to overwrite ${legacyFish}`);
189
180
  }
190
- const added = [];
181
+ const changed = [];
191
182
  try {
192
183
  for (const path of files) {
193
- if (!existsSync(path) || !readFileSync(path, "utf8").includes(BEGIN)) {
194
- appendManagedBlock(path, shellBlock);
195
- added.push(path);
196
- }
197
- }
198
- if (!fishExisting.includes(BEGIN)) {
199
- appendManagedBlock(fish, fishConfigBlock);
200
- added.push(fish);
184
+ const change = installManagedBlock(path, shellBlock, oldShellBlock);
185
+ if (change)
186
+ changed.push(change);
201
187
  }
188
+ const fishChange = installManagedBlock(fish, fishConfigBlock, oldFishConfigBlock);
189
+ if (fishChange)
190
+ changed.push(fishChange);
202
191
  return {
203
192
  managed: [...files, fish, ...(existsSync(legacyFish) ? [legacyFish] : [])],
204
- added,
193
+ changed,
205
194
  };
206
195
  }
207
196
  catch (error) {
208
- removeFirstInstallRouting(layout, added, {});
197
+ removeFirstInstallRouting(layout, changed, {});
209
198
  throw error;
210
199
  }
211
200
  }
212
- function removeFirstInstallRouting(layout, files, hashes) {
213
- for (const path of files) {
214
- if (!existsSync(path))
215
- continue;
216
- const content = readFileSync(path, "utf8");
217
- if (path.endsWith("ccodex.fish")) {
218
- if (content === `# Managed by CCodex.\nfish_add_path --prepend "${layout.bin}"\n`)
219
- rmSync(path);
220
- }
221
- else {
222
- const block = path.endsWith("config.fish") ? fishBlock(layout) : posixBlock(layout);
223
- if (content.includes(block))
224
- atomicWrite(path, content.replace(block, ""), statSync(path).mode & 0o777);
225
- }
201
+ function removeFirstInstallRouting(layout, changed, hashes) {
202
+ for (const change of [...changed].reverse()) {
203
+ if (change.content === undefined)
204
+ rmSync(change.path, { force: true });
205
+ else
206
+ atomicWrite(change.path, change.content, change.mode);
226
207
  }
227
208
  for (const [name, hash] of Object.entries(hashes)) {
228
209
  const path = join(layout.bin, name);
@@ -270,17 +251,6 @@ export function activate(layout, version) {
270
251
  atomicSymlink(join("versions", version), layout.current);
271
252
  return previous;
272
253
  }
273
- function daemonPidFile() {
274
- return join(process.env.CODEX_HOME ?? join(homedir(), ".codex"), "app-server-daemon", "app-server.pid");
275
- }
276
- async function replaceRunningDaemon(layout, version) {
277
- const command = join(layout.versions, version, "node_modules", ".bin", "ccodex");
278
- await execute(command, ["app-server", "daemon", "restart"], { timeout: 90_000, maxBuffer: 512 * 1024 });
279
- }
280
- async function stopDaemon(layout, version) {
281
- const command = join(layout.versions, version, "node_modules", ".bin", "ccodex");
282
- await execute(command, ["app-server", "daemon", "stop"], { timeout: 90_000, maxBuffer: 512 * 1024 });
283
- }
284
254
  export async function setup(args) {
285
255
  if (process.getuid?.() === 0)
286
256
  throw new Error("Do not run CCodex setup as root or with sudo.");
@@ -325,23 +295,27 @@ export async function setup(args) {
325
295
  : undefined;
326
296
  const beforeManifest = existsSync(layout.manifest) ? readFileSync(layout.manifest, "utf8") : undefined;
327
297
  const previousManifest = beforeManifest ? JSON.parse(beforeManifest) : undefined;
328
- const daemonWasRunning = Boolean(reconcileManagedProcess(daemonPidFile()));
329
- const gatewayWasRunning = await probeAppServer(publicSocket).then(() => true, () => false);
330
- let installedShellFiles = [];
331
- let installedShimHashes = {};
298
+ let installedShellChanges = [];
299
+ let installedShimChanges = [];
332
300
  let installedRemoteShim;
301
+ let installedDesktopHook;
333
302
  const configPath = join(layout.home, "config.toml");
334
303
  let installedConfig = false;
335
304
  try {
336
305
  const previous = activate(layout, requestedVersion);
337
- const shimHashes = installShims(layout);
338
- installedShimHashes = shimHashes;
306
+ const installedShims = installManagedShims(layout.bin, process.execPath, previousManifest?.shimHashes);
307
+ const shimHashes = installedShims.hashes;
308
+ installedShimChanges = installedShims.changes;
339
309
  const shellRouting = installShellPaths(layout);
340
- installedShellFiles = shellRouting.added;
310
+ installedShellChanges = shellRouting.changed;
341
311
  await verifyShellPaths(layout);
342
312
  installedRemoteShim = installRemoteCodexShim(layout, previousManifest?.remoteCodexShim);
343
313
  delegateCodex = relocatedDelegate(installedRemoteShim, delegateCodex);
344
314
  installedConfig = installInitialConfig(layout);
315
+ const desktopCliPath = process.platform === "darwin"
316
+ ? installCliPathAgent(join(layout.bin, "codex"), previousManifest?.desktopCliPath)
317
+ : undefined;
318
+ installedDesktopHook = desktopCliPath;
345
319
  const manifest = {
346
320
  schemaVersion: 1,
347
321
  method: supplied ? "curl" : "npm",
@@ -353,35 +327,41 @@ export async function setup(args) {
353
327
  managedShellFiles: shellRouting.managed,
354
328
  shimHashes,
355
329
  ...(installedRemoteShim ? { remoteCodexShim: installedRemoteShim } : {}),
330
+ ...(desktopCliPath ? { desktopCliPath } : {}),
331
+ nodeExecutable: process.execPath,
356
332
  platformPackage: compatibility.relayPackages[runtimePlatformKey()] ?? "unsupported",
357
333
  compatibility,
358
334
  doctor: { ok: true, checkedAt: new Date().toISOString() },
359
335
  installedAt: new Date().toISOString(),
360
336
  };
361
337
  atomicWrite(layout.manifest, `${JSON.stringify(manifest, null, 2)}\n`, 0o600);
362
- // setup is the ownership boundary: after the remote shim is in place, always
363
- // leave one detached PID-managed gateway ready for App and proxy reconnects.
364
- await replaceRunningDaemon(layout, requestedVersion);
365
338
  }
366
339
  catch (error) {
367
- await stopDaemon(layout, requestedVersion).catch(async () => {
368
- const managed = reconcileManagedProcess(daemonPidFile());
369
- if (managed)
370
- await stopManagedProcess(daemonPidFile(), managed).catch((cleanupError) => {
371
- process.stderr.write(`CCodex rollback could not stop partial gateway: ${String(cleanupError)}\n`);
372
- });
373
- });
374
340
  if (installedConfig)
375
341
  rmSync(configPath, { force: true });
376
342
  if (before) {
377
343
  atomicSymlink(join("versions", before), layout.current);
378
- if (daemonWasRunning || gatewayWasRunning)
379
- await replaceRunningDaemon(layout, before).catch(() => undefined);
344
+ removeFirstInstallRouting(layout, installedShellChanges, {});
345
+ restoreManagedShims(installedShimChanges);
380
346
  }
381
347
  else {
382
348
  removeActivationLink(layout.current);
383
349
  restoreRemoteCodexShim(installedRemoteShim, previousManifest?.remoteCodexShim);
384
- removeFirstInstallRouting(layout, installedShellFiles, installedShimHashes);
350
+ removeFirstInstallRouting(layout, installedShellChanges, {});
351
+ restoreManagedShims(installedShimChanges);
352
+ }
353
+ if (installedDesktopHook) {
354
+ try {
355
+ if (previousManifest?.desktopCliPath) {
356
+ installCliPathAgent(previousManifest.desktopCliPath.entryShimPath, installedDesktopHook);
357
+ }
358
+ else {
359
+ uninstallCliPathAgent(installedDesktopHook);
360
+ }
361
+ }
362
+ catch (desktopError) {
363
+ process.stderr.write(`CCodex rollback could not restore the desktop hook: ${String(desktopError)}\n`);
364
+ }
385
365
  }
386
366
  if (before)
387
367
  restoreRemoteCodexShim(installedRemoteShim, previousManifest?.remoteCodexShim);
@@ -395,7 +375,8 @@ export async function setup(args) {
395
375
  rmSync(layout.manifest, { force: true });
396
376
  throw error;
397
377
  }
398
- process.stdout.write(`CCodex ${requestedVersion} activated. Open a new shell or run: export PATH="${layout.bin}:$PATH"\n`);
378
+ process.stdout.write(`CCodex ${requestedVersion} activated. Open a new shell or run: export PATH="${layout.bin}:$PATH"`
379
+ + `${process.platform === "darwin" ? "\nReconnect Codex App to use this version." : ""}\n`);
399
380
  return 0;
400
381
  }
401
382
  //# sourceMappingURL=setup.js.map