@tokensrc/codex 1.14.7 → 1.14.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/shortcuts.js CHANGED
@@ -1,28 +1,58 @@
1
1
  import { access, chmod, copyFile, lstat, mkdir, readFile, readlink, realpath, rename, rm, symlink, writeFile } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
- import { dirname, join, parse, resolve } from "node:path";
3
+ import { basename, dirname, isAbsolute, join, parse, relative, resolve } from "node:path";
4
+ import { PACKAGE_VERSION } from "./branding.js";
5
+ const BOOTSTRAP_MARKER = "NUMA_CODEX_SHORTCUT_BOOTSTRAP";
6
+ const BOOTSTRAP_FILE = ".numa-codex-shortcut-bootstrap.cjs";
7
+ const BOOTSTRAP_CONFIG_FILE = ".numa-codex-shortcut-bootstrap.json";
8
+ const BOOTSTRAP_CACHE_DIRECTORY = ".numa-codex-shortcut-cache";
4
9
  function quote(value) {
5
10
  return `'${value.replace(/'/g, `'"'"'`)}'`;
6
11
  }
7
- function paths(config, options) {
8
- if (process.platform !== "darwin" && process.platform !== "win32") {
9
- throw new Error("Codex shortcuts are supported on macOS and Windows only.");
12
+ function windowsQuote(value) {
13
+ return `"${value.replace(/%/g, "%%").replace(/"/g, '""')}"`;
14
+ }
15
+ function trustedRegistryUrl(value) {
16
+ try {
17
+ const url = new URL(value);
18
+ return !url.username && !url.password && !url.search && !url.hash
19
+ && (url.protocol === "https:"
20
+ || (url.protocol === "http:" && ["localhost", "127.0.0.1", "::1"].includes(url.hostname)));
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ }
26
+ function paths(config, options, runtime) {
27
+ if (runtime.platform !== "darwin" && runtime.platform !== "win32" && runtime.platform !== "linux") {
28
+ throw new Error("Codex shortcuts are supported on macOS, Windows, and Linux only.");
10
29
  }
11
30
  const user = options.scope !== "system";
12
31
  const commandDirectory = options.rootDirectory
13
32
  ? join(options.rootDirectory, "bin")
14
- : process.platform === "win32"
15
- ? join(process.env.LOCALAPPDATA ?? join(homedir(), "AppData", "Local"), "Programs", "tokensrc-codex", "bin")
16
- : user ? join(homedir(), ".local", "bin") : "/usr/local/bin";
33
+ : runtime.platform === "win32"
34
+ ? join(runtime.env.LOCALAPPDATA ?? join(runtime.homeDirectory, "AppData", "Local"), "Programs", "tokensrc-codex", "bin")
35
+ : user ? join(runtime.homeDirectory, ".local", "bin") : "/usr/local/bin";
17
36
  const appDirectory = options.rootDirectory
18
37
  ? join(options.rootDirectory, "Applications")
19
- : process.platform === "win32"
20
- ? join(process.env.APPDATA ?? join(homedir(), "AppData", "Roaming"), "Microsoft", "Windows", "Start Menu", "Programs")
21
- : user ? join(homedir(), "Applications") : "/Applications";
22
- const ext = process.platform === "win32" ? ".cmd" : "";
23
- const appRoot = join(appDirectory, process.platform === "win32"
38
+ : runtime.platform === "win32"
39
+ ? join(runtime.env.APPDATA ?? join(runtime.homeDirectory, "AppData", "Roaming"), "Microsoft", "Windows", "Start Menu", "Programs")
40
+ : runtime.platform === "linux"
41
+ ? user
42
+ ? join(runtime.env.XDG_DATA_HOME ?? join(runtime.homeDirectory, ".local", "share"), "applications")
43
+ : "/usr/local/share/applications"
44
+ : user ? join(runtime.homeDirectory, "Applications") : "/Applications";
45
+ const ext = runtime.platform === "win32" ? ".cmd" : "";
46
+ const appRoot = join(appDirectory, runtime.platform === "win32"
24
47
  ? `${config.branding.appName}.cmd`
25
- : `${config.branding.appName}.app`);
48
+ : runtime.platform === "linux"
49
+ ? `${config.launcher.appCommandName}.desktop`
50
+ : `${config.branding.appName}.app`);
51
+ const app = runtime.platform === "win32"
52
+ ? appRoot
53
+ : runtime.platform === "linux"
54
+ ? join(commandDirectory, config.launcher.appCommandName)
55
+ : join(appRoot, "Contents", "MacOS", config.launcher.appCommandName);
26
56
  return {
27
57
  user,
28
58
  commandDirectory,
@@ -31,21 +61,22 @@ function paths(config, options) {
31
61
  : undefined,
32
62
  run: join(commandDirectory, `${config.launcher.runCommandName}${ext}`),
33
63
  appRoot,
34
- app: process.platform === "win32"
35
- ? appRoot
36
- : join(appRoot, "Contents", "MacOS", config.launcher.appCommandName),
37
- manifest: join(commandDirectory, config.launcher.manifestFileName)
64
+ app,
65
+ manifest: join(commandDirectory, config.launcher.manifestFileName),
66
+ bootstrap: join(commandDirectory, BOOTSTRAP_FILE),
67
+ bootstrapConfig: join(commandDirectory, BOOTSTRAP_CONFIG_FILE),
68
+ cacheDirectory: join(commandDirectory, BOOTSTRAP_CACHE_DIRECTORY)
38
69
  };
39
70
  }
40
- function npxWrapper(config, args, options) {
41
- const npx = ["npx", "-y", "--prefer-online", "--registry", options.registryUrl ?? config.branding.registryUrl];
42
- if (process.platform === "win32") {
43
- return `@echo off\r\nrem ${config.launcher.managedMarker}\r\n${npx.map((x) => `"${x.replace(/"/g, '""')}"`).join(" ")} "${config.launcher.wrapperPackage}@latest" ${args.map((x) => `"${x.replace(/"/g, '""')}"`).join(" ")}${args.length ? " " : ""}%*\r\n`;
71
+ function managedWrapper(config, args, bootstrap, bootstrapConfig, runtime) {
72
+ if (runtime.platform === "win32") {
73
+ const launchArgs = [bootstrap, bootstrapConfig, ...args].map(windowsQuote).join(" ");
74
+ return `@echo off\r\nrem ${config.launcher.managedMarker}\r\nsetlocal\r\nset "NUMA_SHORTCUT_NODE=${runtime.nodeExecutable.replace(/%/g, "%%").replace(/"/g, '""')}"\r\nif exist "%NUMA_SHORTCUT_NODE%" goto numa_shortcut_launch\r\n>&2 echo Numa shortcut: The trusted Node.js runtime captured during installation is unavailable. Reinstall the shortcut from a trusted terminal.\r\nexit /b 127\r\n:numa_shortcut_launch\r\n"%NUMA_SHORTCUT_NODE%" ${launchArgs}${args.length ? " " : ""}%*\r\nexit /b %ERRORLEVEL%\r\n`;
44
75
  }
45
- return `#!/bin/sh\n# ${config.launcher.managedMarker}\nexec ${npx.map(quote).join(" ")} ${quote(`${config.launcher.wrapperPackage}@latest`)}${args.length ? ` ${args.map(quote).join(" ")}` : ""} "$@"\n`;
76
+ return `#!/bin/sh\n# ${config.launcher.managedMarker}\nNUMA_SHORTCUT_NODE=${quote(runtime.nodeExecutable)}\nif [ ! -x "$NUMA_SHORTCUT_NODE" ]; then\n echo 'Numa shortcut: The trusted Node.js runtime captured during installation is unavailable. Reinstall the shortcut from a trusted terminal.' >&2\n exit 127\nfi\nexport NUMA_SHORTCUT_NODE\nexec "$NUMA_SHORTCUT_NODE" ${quote(bootstrap)} ${quote(bootstrapConfig)}${args.length ? ` ${args.map(quote).join(" ")}` : ""} "$@"\n`;
46
77
  }
47
- function codexWrapper(config, kind, options) {
48
- return npxWrapper(config, [
78
+ function codexWrapper(config, kind, options, bootstrap, bootstrapConfig, runtime) {
79
+ return managedWrapper(config, [
49
80
  ...config.launcher.wrapperCommand,
50
81
  kind,
51
82
  ...(kind === "app" ? [resolve(options.workspace ?? ".")] : []),
@@ -53,7 +84,149 @@ function codexWrapper(config, kind, options) {
53
84
  ...(options.selectAccount ? ["--select-account"] : []),
54
85
  ...(options.server ? ["--server", options.server] : []),
55
86
  ...(options.insecurePoc ? ["--insecure-poc"] : [])
56
- ], options);
87
+ ], bootstrap, bootstrapConfig, runtime);
88
+ }
89
+ async function isReadableFile(path) {
90
+ try {
91
+ const stats = await lstat(path);
92
+ return stats.isFile() || stats.isSymbolicLink();
93
+ }
94
+ catch {
95
+ return false;
96
+ }
97
+ }
98
+ function insideOrEqual(parent, child) {
99
+ const value = relative(parent, child);
100
+ return value === "" || (!value.startsWith(`..${process.platform === "win32" ? "\\" : "/"}`)
101
+ && value !== ".."
102
+ && !isAbsolute(value));
103
+ }
104
+ function nodeInstallationPrefix(nodeExecutable) {
105
+ const directory = dirname(nodeExecutable);
106
+ return basename(directory).toLowerCase() === "bin" ? dirname(directory) : directory;
107
+ }
108
+ async function isVerifiedNpmCli(candidate) {
109
+ if (basename(candidate).toLowerCase() !== "npm-cli.js")
110
+ return false;
111
+ let current = dirname(candidate);
112
+ const root = parse(current).root;
113
+ while (current !== root) {
114
+ try {
115
+ const manifest = JSON.parse(await readFile(join(current, "package.json"), "utf8"));
116
+ if (manifest.name !== "npm")
117
+ return false;
118
+ const declared = typeof manifest.bin === "string"
119
+ ? manifest.bin
120
+ : manifest.bin && typeof manifest.bin === "object"
121
+ ? manifest.bin.npm
122
+ : undefined;
123
+ return typeof declared === "string"
124
+ && await realpath(resolve(current, declared)) === candidate;
125
+ }
126
+ catch (error) {
127
+ if (error.code !== "ENOENT")
128
+ return false;
129
+ }
130
+ current = dirname(current);
131
+ }
132
+ return false;
133
+ }
134
+ async function resolveNpmExecutable(nodeExecutable, env, explicit) {
135
+ if (explicit === null)
136
+ return null;
137
+ const candidates = [
138
+ explicit,
139
+ isAbsolute(env.npm_execpath ?? "") ? env.npm_execpath : undefined,
140
+ join(dirname(nodeExecutable), "node_modules", "npm", "bin", "npm-cli.js"),
141
+ join(nodeInstallationPrefix(nodeExecutable), "lib", "node_modules", "npm", "bin", "npm-cli.js")
142
+ ].filter((value) => Boolean(value && isAbsolute(value)));
143
+ for (const candidate of candidates) {
144
+ if (await isReadableFile(candidate)) {
145
+ const actual = await realpath(candidate);
146
+ const samePrefix = insideOrEqual(nodeInstallationPrefix(nodeExecutable), actual);
147
+ let pairedByNpm = false;
148
+ try {
149
+ pairedByNpm = isAbsolute(env.npm_execpath ?? "")
150
+ && isAbsolute(env.npm_node_execpath ?? "")
151
+ && await realpath(env.npm_execpath) === actual
152
+ && await realpath(env.npm_node_execpath) === nodeExecutable;
153
+ }
154
+ catch { /* an invalid npm environment is never trusted */ }
155
+ if ((samePrefix || pairedByNpm) && await isVerifiedNpmCli(actual))
156
+ return actual;
157
+ }
158
+ }
159
+ return null;
160
+ }
161
+ async function resolveWrapperEntrypoint(config, explicit) {
162
+ if (explicit === null)
163
+ return null;
164
+ const candidate = explicit ?? process.argv[1];
165
+ if (!candidate || !isAbsolute(candidate) || !(await isReadableFile(candidate)))
166
+ return null;
167
+ try {
168
+ const actual = await realpath(candidate);
169
+ return await packageEntrypointBelongsTo(actual, config.launcher.wrapperPackage) ? actual : null;
170
+ }
171
+ catch {
172
+ return null;
173
+ }
174
+ }
175
+ async function shortcutRuntime(config, options) {
176
+ const runtime = options.runtime;
177
+ const env = runtime?.env ?? process.env;
178
+ const nodeExecutable = await realpath(process.execPath);
179
+ if (runtime?.nodeExecutable !== undefined) {
180
+ let requested;
181
+ try {
182
+ requested = await realpath(resolve(runtime.nodeExecutable));
183
+ }
184
+ catch {
185
+ throw new Error(`Cannot install Codex shortcut: Node executable is unavailable: ${runtime.nodeExecutable}`);
186
+ }
187
+ if (requested !== nodeExecutable) {
188
+ throw new Error("Cannot install Codex shortcut with a Node executable other than the current process.execPath runtime.");
189
+ }
190
+ }
191
+ return {
192
+ platform: runtime?.platform ?? process.platform,
193
+ env,
194
+ homeDirectory: runtime?.homeDirectory ?? homedir(),
195
+ nodeExecutable,
196
+ npmExecutable: await resolveNpmExecutable(nodeExecutable, env, runtime?.npmExecutable),
197
+ wrapperEntrypoint: await resolveWrapperEntrypoint(config, runtime?.wrapperEntrypoint),
198
+ wrapperVersion: runtime?.wrapperVersion ?? PACKAGE_VERSION
199
+ };
200
+ }
201
+ function launcherConfig(config, options, runtime, cacheDirectory) {
202
+ const registryUrl = options.registryUrl ?? config.branding.registryUrl;
203
+ if (!trustedRegistryUrl(registryUrl)) {
204
+ throw new Error("Codex shortcut registry must use HTTPS, except loopback HTTP registries used for local development.");
205
+ }
206
+ if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u.test(runtime.wrapperVersion)) {
207
+ throw new Error(`Codex shortcut wrapper version is not an exact semantic version: ${runtime.wrapperVersion}`);
208
+ }
209
+ return `${JSON.stringify({
210
+ schemaVersion: 1,
211
+ marker: config.launcher.managedMarker,
212
+ packageName: config.launcher.wrapperPackage,
213
+ commandName: config.launcher.cliCommandName || config.branding.cliName,
214
+ registryUrl,
215
+ installedVersion: runtime.wrapperVersion,
216
+ nodeExecutable: runtime.nodeExecutable,
217
+ npmExecutable: runtime.npmExecutable,
218
+ fallbackEntrypoint: runtime.wrapperEntrypoint,
219
+ cacheDirectory
220
+ }, null, 2)}\n`;
221
+ }
222
+ function desktopEntry(config, appExecutable) {
223
+ const escapedName = config.branding.appName.replace(/[\r\n]/g, " ");
224
+ const escapedExec = appExecutable
225
+ .replace(/\\/g, "\\\\")
226
+ .replace(/"/g, '\\"')
227
+ .replace(/\$/g, "\\$")
228
+ .replace(/`/g, "\\`");
229
+ return `# ${config.launcher.managedMarker}\n[Desktop Entry]\nType=Application\nVersion=1.0\nName=${escapedName}\nExec="${escapedExec}"\nTerminal=false\nCategories=Development;\n`;
57
230
  }
58
231
  async function ensureManaged(path, marker, force) {
59
232
  try {
@@ -151,7 +324,7 @@ async function writeAtomic(path, content, mode) {
151
324
  async function readShortcutManifest(path) {
152
325
  try {
153
326
  const value = JSON.parse(await readFile(path, "utf8"));
154
- return (value.schemaVersion === 1 || value.schemaVersion === 2)
327
+ return (value.schemaVersion === 1 || value.schemaVersion === 2 || value.schemaVersion === 3)
155
328
  && typeof value.marker === "string"
156
329
  && typeof value.wrapperPackage === "string"
157
330
  ? value
@@ -176,7 +349,9 @@ async function restorableCliSymlink(replacement, config, expectedPath) {
176
349
  }
177
350
  }
178
351
  export async function installCodexShortcuts(config, options = {}) {
179
- const value = paths(config, options);
352
+ const runtime = await shortcutRuntime(config, options);
353
+ const value = paths(config, options, runtime);
354
+ const managedLauncherConfig = launcherConfig(config, options, runtime, value.cacheDirectory);
180
355
  const target = options.target ?? "both";
181
356
  const artifacts = [];
182
357
  const previousManifest = await readShortcutManifest(value.manifest);
@@ -196,25 +371,42 @@ export async function installCodexShortcuts(config, options = {}) {
196
371
  }
197
372
  if (target === "app" || target === "both") {
198
373
  await ensureManaged(value.app, config.launcher.managedMarker, Boolean(options.force));
374
+ if (runtime.platform === "linux") {
375
+ await ensureManaged(value.appRoot, config.launcher.managedMarker, Boolean(options.force));
376
+ }
199
377
  artifacts.push({ kind: "application", path: value.appRoot });
200
378
  }
379
+ await ensureManaged(value.bootstrap, BOOTSTRAP_MARKER, Boolean(options.force));
380
+ await ensureManaged(value.bootstrapConfig, config.launcher.managedMarker, Boolean(options.force));
381
+ await mkdir(value.commandDirectory, { recursive: true });
382
+ await writeAtomic(value.bootstrap, await readFile(new URL("../assets/shortcut-bootstrap.cjs", import.meta.url), "utf8"), 0o755);
383
+ await writeAtomic(value.bootstrapConfig, managedLauncherConfig, 0o600);
384
+ artifacts.push({ kind: "launcher", path: value.bootstrap });
385
+ artifacts.push({ kind: "launcher", path: value.bootstrapConfig });
201
386
  await writeAtomic(value.manifest, `${JSON.stringify({
202
- schemaVersion: 2,
387
+ schemaVersion: 3,
203
388
  marker: config.launcher.managedMarker,
204
389
  bundleId: config.launcher.bundleId,
205
390
  wrapperPackage: config.launcher.wrapperPackage,
391
+ installedVersion: runtime.wrapperVersion,
392
+ nodeExecutable: runtime.nodeExecutable,
393
+ npmExecutable: runtime.npmExecutable,
394
+ fallbackEntrypoint: runtime.wrapperEntrypoint,
395
+ bootstrap: value.bootstrap,
396
+ bootstrapConfig: value.bootstrapConfig,
397
+ cacheDirectory: value.cacheDirectory,
206
398
  ...(replacedCliSymlink ? { replacedCliSymlink } : {}),
207
399
  artifacts: artifacts.map((item) => item.path)
208
400
  }, null, 2)}\n`, 0o600);
209
401
  if (value.cli && options.cliWrapper !== false) {
210
- await writeAtomic(value.cli, npxWrapper(config, [], options), 0o755);
402
+ await writeAtomic(value.cli, managedWrapper(config, [], value.bootstrap, value.bootstrapConfig, runtime), 0o755);
211
403
  }
212
404
  if (target === "run" || target === "both") {
213
- await writeAtomic(value.run, codexWrapper(config, "run", options), 0o755);
405
+ await writeAtomic(value.run, codexWrapper(config, "run", options, value.bootstrap, value.bootstrapConfig, runtime), 0o755);
214
406
  }
215
407
  if (target === "app" || target === "both") {
216
- await writeAtomic(value.app, codexWrapper(config, "app", options), 0o755);
217
- if (process.platform !== "win32") {
408
+ await writeAtomic(value.app, codexWrapper(config, "app", options, value.bootstrap, value.bootstrapConfig, runtime), 0o755);
409
+ if (runtime.platform === "darwin") {
218
410
  const resources = join(value.appRoot, "Contents", "Resources");
219
411
  await mkdir(resources, { recursive: true });
220
412
  await copyFile(new URL("../assets/codex-shortcut-icon.icns", import.meta.url), join(resources, "codex-shortcut-icon.icns"));
@@ -222,12 +414,16 @@ export async function installCodexShortcuts(config, options = {}) {
222
414
  .replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
223
415
  await writeAtomic(join(value.appRoot, "Contents", "Info.plist"), `<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n<plist version="1.0"><dict>\n<key>CFBundleExecutable</key><string>${escapeXml(config.launcher.appCommandName)}</string>\n<key>CFBundleIdentifier</key><string>${escapeXml(config.launcher.bundleId)}</string>\n<key>CFBundleName</key><string>${escapeXml(config.branding.appName)}</string>\n<key>CFBundleIconFile</key><string>codex-shortcut-icon</string>\n</dict></plist>\n`, 0o644);
224
416
  }
417
+ else if (runtime.platform === "linux") {
418
+ await writeAtomic(value.appRoot, desktopEntry(config, value.app), 0o644);
419
+ }
225
420
  }
226
421
  artifacts.push({ kind: "manifest", path: value.manifest });
227
- return { action: "installed", platform: process.platform, scope: value.user ? "user" : "system", commandDirectory: value.commandDirectory, pathReady: true, artifacts };
422
+ return { action: "installed", platform: runtime.platform, scope: value.user ? "user" : "system", commandDirectory: value.commandDirectory, pathReady: true, artifacts };
228
423
  }
229
424
  export async function removeCodexShortcuts(config, options = {}) {
230
- const value = paths(config, options);
425
+ const runtime = await shortcutRuntime(config, options);
426
+ const value = paths(config, options, runtime);
231
427
  const target = options.target ?? "both";
232
428
  const artifacts = [];
233
429
  const manifest = await readShortcutManifest(value.manifest);
@@ -270,10 +466,22 @@ export async function removeCodexShortcuts(config, options = {}) {
270
466
  }
271
467
  catch { /* directory app or missing */ }
272
468
  await rm(kind === "application" ? value.appRoot : path, { recursive: true, force: true });
469
+ if (kind === "application" && runtime.platform === "linux") {
470
+ await rm(value.app, { force: true });
471
+ }
273
472
  artifacts.push({ kind, path: kind === "application" ? value.appRoot : path });
274
473
  }
474
+ const managedManifest = manifest?.marker === config.launcher.managedMarker
475
+ && manifest.wrapperPackage === config.launcher.wrapperPackage;
476
+ if (managedManifest || options.force) {
477
+ await rm(value.bootstrap, { force: true });
478
+ await rm(value.bootstrapConfig, { force: true });
479
+ await rm(value.cacheDirectory, { recursive: true, force: true });
480
+ artifacts.push({ kind: "launcher", path: value.bootstrap });
481
+ artifacts.push({ kind: "launcher", path: value.bootstrapConfig });
482
+ }
275
483
  await rm(value.manifest, { force: true });
276
484
  artifacts.push({ kind: "manifest", path: value.manifest });
277
- return { action: "removed", platform: process.platform, scope: value.user ? "user" : "system", commandDirectory: value.commandDirectory, pathReady: true, artifacts };
485
+ return { action: "removed", platform: runtime.platform, scope: value.user ? "user" : "system", commandDirectory: value.commandDirectory, pathReady: true, artifacts };
278
486
  }
279
487
  //# sourceMappingURL=shortcuts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shortcuts.js","sourceRoot":"","sources":["../src/shortcuts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shortcuts.js","sourceRoot":"","sources":["../src/shortcuts.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -75,12 +75,9 @@ export interface CodexDesktopAppStatus {
75
75
  bundleId?: string;
76
76
  version?: string;
77
77
  build?: string;
78
- targetVersion?: string;
79
- remediationRequired?: boolean;
80
78
  }
81
79
  export interface CodexDesktopAppOptions {
82
80
  inspect?: () => Promise<CodexDesktopAppStatus>;
83
- prepare?: () => Promise<void>;
84
81
  }
85
82
  export interface CodexModuleOptions {
86
83
  profile?: ResolvedCodexProfile;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tokensrc/codex",
3
- "version": "1.14.7",
3
+ "version": "1.14.9",
4
4
  "description": "Standalone Codex account selection, authentication and launcher module.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -75,7 +75,7 @@
75
75
  },
76
76
  "dependencies": {
77
77
  "@clack/prompts": "^1.7.0",
78
- "@numa-tech/cli-auth": "1.14.7",
78
+ "@numa-tech/cli-auth": "1.14.9",
79
79
  "@openai/codex": "^0.146.0",
80
80
  "codex-multi-auth": "^2.8.0",
81
81
  "commander": "^14.0.3",