@kevin0181/rcodex 0.0.2 → 0.0.4

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/README.md CHANGED
@@ -62,8 +62,8 @@ Use the sidebar to add accounts and model slots. Drag model slots onto the canva
62
62
 
63
63
  Supported account types:
64
64
 
65
- - Claude with Anthropic API key.
66
- - OpenAI API key or OAuth flow.
65
+ - Claude with Anthropic API key or Claude Code OAuth.
66
+ - OpenAI API key, OAuth flow, or unofficial ChatGPT session token.
67
67
  - Google Gemini API key.
68
68
  - Antigravity OAuth, using Gemini / Cloud Code routing.
69
69
  - GitHub Copilot OAuth device login.
@@ -86,7 +86,7 @@ Supported account types:
86
86
 
87
87
  ### Claude
88
88
 
89
- rcodex supports Anthropic API-key accounts. Older unofficial Claude.ai session auth is not supported for direct inference; use an Anthropic API key for Claude model access.
89
+ rcodex supports Anthropic API-key accounts and Claude Code OAuth. Older unofficial Claude.ai session auth is not supported for direct inference, so the UI does not offer it.
90
90
 
91
91
  ### Ollama
92
92
 
@@ -18,7 +18,7 @@ export async function runDoctor() {
18
18
  if (codexOk)
19
19
  logger.success("Codex installed");
20
20
  else
21
- logger.warn("Codex NOT found ??https://github.com/openai/codex");
21
+ logger.warn("Codex NOT found: https://github.com/openai/codex");
22
22
  // Gateway
23
23
  const gw = loadConfig();
24
24
  try {
@@ -30,16 +30,16 @@ export async function runDoctor() {
30
30
  logger.success(`rcodex Gateway running on :${data.port} (${data.accountCount ?? 0} accounts)`);
31
31
  }
32
32
  else {
33
- logger.warn(`rcodex Gateway not running (port: ${gw.port}) ??run: rcodex`);
33
+ logger.warn(`rcodex Gateway not running (port: ${gw.port}); run: rcodex`);
34
34
  }
35
35
  }
36
36
  catch {
37
- logger.warn(`rcodex Gateway not running (port: ${gw.port}) ??run: rcodex`);
37
+ logger.warn(`rcodex Gateway not running (port: ${gw.port}); run: rcodex`);
38
38
  }
39
39
  // Connected accounts
40
40
  const accounts = gw.accounts ?? [];
41
41
  if (accounts.length === 0) {
42
- logger.warn("No accounts connected ??open the Gateway UI to add providers");
42
+ logger.warn("No accounts connected; open the Gateway UI to add providers");
43
43
  }
44
44
  else {
45
45
  logger.success(`Accounts: ${accounts.map(a => `${a.provider}(${a.label})`).join(", ")}`);
@@ -49,12 +49,12 @@ export async function runDoctor() {
49
49
  if (ollamaOk) {
50
50
  const models = await getOllamaModels();
51
51
  if (models.length === 0)
52
- logger.warn("Ollama installed but no models ??run: ollama pull <model>");
52
+ logger.warn("Ollama installed but no models; run: ollama pull <model>");
53
53
  else
54
- logger.success(`Ollama: ${models.length} model(s) ??${models.slice(0, 3).join(", ")}${models.length > 3 ? "..." : ""}`);
54
+ logger.success(`Ollama: ${models.length} model(s): ${models.slice(0, 3).join(", ")}${models.length > 3 ? "..." : ""}`);
55
55
  }
56
56
  else {
57
- logger.warn("Ollama NOT found ??https://ollama.com (optional)");
57
+ logger.warn("Ollama NOT found: https://ollama.com (optional)");
58
58
  }
59
59
  // Antigravity credentials check + auto-fix
60
60
  logger.separator();
@@ -65,7 +65,7 @@ export async function runDoctor() {
65
65
  logger.success("Antigravity credentials available");
66
66
  }
67
67
  else {
68
- logger.warn("Antigravity credentials not found ??attempting auto-fix...");
68
+ logger.warn("Antigravity credentials not found; attempting auto-fix...");
69
69
  // Try to extract bundled credentials and write to user path
70
70
  try {
71
71
  const creds = getAppCredentials(); // will throw if bundled also missing
@@ -91,7 +91,7 @@ export async function runDoctor() {
91
91
  return;
92
92
  }
93
93
  if (!existsSync(configPath)) {
94
- logger.warn("config.toml not found ??run: rcodex to create it");
94
+ logger.warn("config.toml not found; run: rcodex to create it");
95
95
  logger.done();
96
96
  return;
97
97
  }
@@ -104,10 +104,10 @@ export async function runDoctor() {
104
104
  if (gatewayRegistered)
105
105
  logger.success(" Gateway registered in Codex config");
106
106
  else
107
- logger.warn(" Gateway NOT registered ??run: rcodex");
107
+ logger.warn(" Gateway NOT registered; run: rcodex");
108
108
  }
109
109
  catch {
110
- logger.warn("config.toml parse failed ??file may be corrupted");
110
+ logger.warn("config.toml parse failed; file may be corrupted");
111
111
  }
112
112
  logger.done();
113
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AA2EA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA8E/C"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AA2EA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA+E/C"}
@@ -15,8 +15,8 @@ function getGatewayDaemonCommand() {
15
15
  const entry = process.argv[1] ?? "";
16
16
  if (entry.endsWith(".ts")) {
17
17
  return {
18
- command: process.platform === "win32" ? "npm.cmd" : "npm",
19
- args: ["run", "dev", "--", "_gateway"],
18
+ command: process.execPath,
19
+ args: ["--import", "tsx", entry, "_gateway"],
20
20
  };
21
21
  }
22
22
  return {
@@ -82,11 +82,12 @@ export async function runLaunch() {
82
82
  logger.info("Starting gateway in background...");
83
83
  if (!existsSync(RCODEX_DIR))
84
84
  mkdirSync(RCODEX_DIR, { recursive: true });
85
- const logFd = openSync(DAEMON_LOG, "a");
85
+ const stdoutFd = openSync(DAEMON_LOG, "a");
86
+ const stderrFd = openSync(DAEMON_LOG, "a");
86
87
  const daemon = getGatewayDaemonCommand();
87
88
  const child = spawn(daemon.command, daemon.args, {
88
89
  detached: true,
89
- stdio: ["ignore", logFd, logFd],
90
+ stdio: ["ignore", stdoutFd, stderrFd],
90
91
  windowsHide: true,
91
92
  });
92
93
  child.unref();
@@ -102,16 +103,16 @@ export async function runLaunch() {
102
103
  const codexPort = getCodexConfigPort(configPath);
103
104
  if (codexPort !== actualPort) {
104
105
  syncCodexConfigPort(configPath, actualPort);
105
- logger.success(`Config updated: ${MANAGED_PROVIDER_KEY} ??http://localhost:${actualPort}/v1` +
106
+ logger.success(`Config updated: ${MANAGED_PROVIDER_KEY} -> http://localhost:${actualPort}/v1` +
106
107
  (codexPort ? ` (was :${codexPort})` : " (new)"));
107
108
  }
108
109
  else {
109
- logger.success(`Config OK: ${MANAGED_PROVIDER_KEY} ??http://localhost:${actualPort}/v1`);
110
+ logger.success(`Config OK: ${MANAGED_PROVIDER_KEY} -> http://localhost:${actualPort}/v1`);
110
111
  }
111
112
  // 5. Migrate threads if needed (only when there's something to do)
112
113
  if (hasUnmigratedThreads(MANAGED_PROVIDER_KEY)) {
113
114
  logger.separator();
114
- logger.info("Unmigrated threads found ??migrating to rcodex Gateway...");
115
+ logger.info("Unmigrated threads found; migrating to rcodex Gateway...");
115
116
  const codexRunning = await isCodexRunning();
116
117
  if (codexRunning) {
117
118
  await killCodex();
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { isCodexRunning } from "../core/codex.js";
9
9
  const CODEX_DIR = join(homedir(), ".codex");
10
10
  const DB_PATH = join(CODEX_DIR, "state_5.sqlite");
11
11
  const SESSIONS_DIR = join(CODEX_DIR, "sessions");
12
- // rollout .jsonl ?뚯씪??泥?以?session_meta)?먯꽌 model_provider瑜??⑥튂?쒕떎.
12
+ // rollout .jsonl ???뵬??筌?餓?session_meta)?癒?퐣 model_provider????ν뒄??뺣뼄.
13
13
  function patchRolloutFile(filePath, targetProvider, dryRun) {
14
14
  try {
15
15
  const content = readFileSync(filePath, "utf-8");
@@ -33,7 +33,7 @@ function patchRolloutFile(filePath, targetProvider, dryRun) {
33
33
  return false;
34
34
  }
35
35
  }
36
- // sessions ?섏쐞 紐⑤뱺 .jsonl ?뚯씪???ш? ?먯깋
36
+ // sessions ??륁맄 筌뤴뫀諭?.jsonl ???뵬????? ?癒?퉳
37
37
  function findRolloutFiles(dir) {
38
38
  if (!existsSync(dir))
39
39
  return [];
@@ -77,7 +77,7 @@ export async function migrateThreads(targetProvider, dryRun) {
77
77
  logger.info("Run Codex once to create the database, then try again.");
78
78
  return;
79
79
  }
80
- // ?€?€ 1. SQLite ?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€
80
+ // ???? 1. SQLite ????????????????????????????????????????????????????????????????????????????????????????????????
81
81
  if (!dryRun) {
82
82
  copyFileSync(DB_PATH, `${DB_PATH}.backup-${Date.now()}`);
83
83
  }
@@ -109,19 +109,19 @@ export async function migrateThreads(targetProvider, dryRun) {
109
109
  finally {
110
110
  db.close();
111
111
  }
112
- // ?€?€ 2. Rollout .jsonl ?뚯씪 ?⑥튂 ?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€?€
112
+ // ???? 2. Rollout .jsonl ???뵬 ??ν뒄 ??????????????????????????????????????????????????????????
113
113
  const rolloutFiles = findRolloutFiles(SESSIONS_DIR);
114
114
  let fileChanged = 0;
115
115
  for (const f of rolloutFiles) {
116
116
  if (patchRolloutFile(f, targetProvider, dryRun))
117
117
  fileChanged++;
118
118
  }
119
- logger.success(`Threads migrated ??"${targetProvider}": ${dbChanged} DB rows, ${fileChanged} session files`);
119
+ logger.success(`Threads migrated -> "${targetProvider}": ${dbChanged} DB rows, ${fileChanged} session files`);
120
120
  }
121
121
  export async function runMigrate(dryRun = false, showHeader = true) {
122
122
  if (showHeader)
123
123
  logger.header();
124
- logger.info(`Migrating Codex threads ??"${MANAGED_PROVIDER_KEY}"...`);
124
+ logger.info(`Migrating Codex threads -> "${MANAGED_PROVIDER_KEY}"...`);
125
125
  logger.separator();
126
126
  if (await isCodexRunning()) {
127
127
  logger.error("Codex is running. Close it completely and try again.");
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAClG,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAClD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAEjD,mEAAmE;AACnE,SAAS,gBAAgB,CAAC,QAAgB,EAAE,cAAsB,EAAE,MAAe;IACjF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,KAAK,CAAC;QAEpD,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;QAC1D,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,cAAc;YAAE,OAAO,KAAK,CAAC;QAEzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,CAAC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;YAClD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACrC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,cAAsB;IACzD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE;iBACX,OAAO,CAAC,6DAA6D,CAAC;iBACtE,GAAG,CAAC,cAAc,CAAkB,CAAC;YACxC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,cAAsB,EAAE,MAAe;IAC1E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,kHAAkH;IAClH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,YAAY,CAAC,OAAO,EAAE,GAAG,OAAO,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,EAAiC,CAAC;IACtC,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CAAC,yEAAyE,CAAC;aAClF,GAAG,CAAC,cAAc,CAA4D,CAAC;QAElF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,EAAE;qBACX,OAAO,CAAC,iEAAiE,CAAC;qBAC1E,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;gBACvC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IAED,4FAA4F;IAC5F,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,gBAAgB,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC;YAAE,WAAW,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,uBAAuB,cAAc,MAAM,SAAS,aAAa,WAAW,gBAAgB,CAAC,CAAC;AAC/G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAM,GAAG,KAAK,EAAE,UAAU,GAAG,IAAI;IAChE,IAAI,UAAU;QAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,8BAA8B,oBAAoB,MAAM,CAAC,CAAC;IACtE,MAAM,CAAC,SAAS,EAAE,CAAC;IAEnB,IAAI,MAAM,cAAc,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,MAAM,cAAc,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAEnD,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export async function runSwitch(target) {
14
14
  config = readCodexConfig(configPath);
15
15
  }
16
16
  catch (err) {
17
- logger.error(`Config ?�싱 ?�패: ${err}`);
17
+ logger.error(`Config save failed: ${err}`);
18
18
  return;
19
19
  }
20
20
  backupCodexConfig(configPath);
@@ -32,7 +32,7 @@ export async function runSwitch(target) {
32
32
  config.model_provider = MANAGED_PROVIDER_KEY;
33
33
  // Clear top-level model so Codex picks from /v1/models
34
34
  delete config.model;
35
- logger.success(`Provider: ${MANAGED_PROVIDER_KEY} ??rcodex Gateway (${gatewayUrl})`);
35
+ logger.success(`Provider: ${MANAGED_PROVIDER_KEY} -> rcodex Gateway (${gatewayUrl})`);
36
36
  logger.info("Models are managed at the gateway web UI. Run 'rcodex' if not already running.");
37
37
  }
38
38
  else if (target === "openai") {
@@ -47,14 +47,14 @@ export async function runSwitch(target) {
47
47
  config.model = "gpt-5.5";
48
48
  logger.success(`Provider: native OpenAI (${DEFAULT_OPENAI_BASE_URL})`);
49
49
  logger.success(`Model: gpt-5.5`);
50
- logger.info("Bypassing rcodex Gateway ??using Codex built-in OpenAI auth.");
50
+ logger.info("Bypassing rcodex Gateway; using Codex built-in OpenAI auth.");
51
51
  }
52
52
  try {
53
53
  writeCodexConfig(configPath, config);
54
54
  logger.success(`Config saved: ${displayPath(configPath)}`);
55
55
  }
56
56
  catch (err) {
57
- logger.error(`?�???�패: ${err}`);
57
+ logger.error(`Config save failed: ${err}`);
58
58
  return;
59
59
  }
60
60
  // Kill Codex (if running) before migrating ??DB must not be locked
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/commands/switch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/commands/switch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0BrD,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuFjE"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0BrD,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4EjE"}
@@ -11,7 +11,7 @@ async function waitUntilCodexClosed() {
11
11
  const ask = () => new Promise((resolve) => {
12
12
  rl.question("", async () => {
13
13
  if (await isCodexRunning()) {
14
- logger.warn("?�직 Codex ?�행 중입?�다. ?�전??종료 ??Enter�??�러주세??");
14
+ logger.warn("Codex is still running. Close it completely, then press Enter.");
15
15
  resolve(ask());
16
16
  }
17
17
  else {
@@ -25,45 +25,39 @@ async function waitUntilCodexClosed() {
25
25
  export async function runSync(options) {
26
26
  if (options.showHeader !== false)
27
27
  logger.header();
28
- // 1. Codex ?�치 ?�인 (미감지 ??경고�? ?�정?� 계속 진행)
29
28
  if (!(await isCodexInstalled())) {
30
29
  logger.warn("Codex not found in PATH. Install it first: https://github.com/openai/codex");
31
- logger.warn("Continuing setup ??gateway config will be written but Codex won't launch automatically.");
30
+ logger.warn("Continuing setup; gateway config will be written but Codex will not launch automatically.");
32
31
  }
33
32
  else {
34
33
  logger.success("Codex detected");
35
34
  }
36
- // 2. Config 경로 ?�인
37
35
  let configPath;
38
36
  try {
39
37
  configPath = getCodexConfigPath();
40
38
  }
41
39
  catch (err) {
42
- logger.error(`Config 경로�??�인?????�습?�다: ${err}`);
40
+ logger.error(`Could not resolve Codex config path: ${err}`);
43
41
  return;
44
42
  }
45
43
  logger.success(`Config found: ${displayPath(configPath)}`);
46
- // 3. Config 백업
47
44
  try {
48
45
  const backupPath = backupCodexConfig(configPath);
49
46
  logger.success(`Backup created: ${displayPath(backupPath)}`);
50
47
  }
51
48
  catch (err) {
52
- logger.error(`Config 백업???�패?�습?�다: ${err}`);
49
+ logger.error(`Config backup failed: ${err}`);
53
50
  return;
54
51
  }
55
- // 4. Config ?�기
56
52
  let config;
57
53
  try {
58
54
  config = readCodexConfig(configPath);
59
55
  }
60
56
  catch (err) {
61
- logger.error(`Config ?�싱???�패?�습?�다: ${err}`);
57
+ logger.error(`Config parse failed: ${err}`);
62
58
  return;
63
59
  }
64
- // ?�전 버전 ?�거??provider ???�리
65
60
  removeLegacyProviders(config, MANAGED_PROVIDER_KEY);
66
- // 5. 게이?�웨??endpoint�??�일 provider�??�록
67
61
  const gatewayConfig = loadConfig();
68
62
  const gatewayUrl = `http://localhost:${gatewayConfig.port}/v1`;
69
63
  if (!config.model_providers)
@@ -75,32 +69,29 @@ export async function runSync(options) {
75
69
  wire_api: "responses",
76
70
  };
77
71
  config.model_provider = MANAGED_PROVIDER_KEY;
78
- logger.success(`Gateway provider ${existed ? "updated" : "registered"}: ${MANAGED_PROVIDER_KEY} ??${gatewayUrl}`);
72
+ logger.success(`Gateway provider ${existed ? "updated" : "registered"}: ${MANAGED_PROVIDER_KEY} -> ${gatewayUrl}`);
79
73
  logger.info("Run 'rcodex' to launch the gateway and configure providers.");
80
- // 6. Dry-run 처리
81
74
  if (options.dryRun) {
82
75
  logger.separator();
83
- logger.info("[DRY RUN] ?�제�??�?�되지 ?�았?�니??");
84
- logger.info(` ${existed ? "?�데?�트" : "추�?"}????��: provider:${MANAGED_PROVIDER_KEY} ??${gatewayUrl}`);
76
+ logger.info("[DRY RUN] No changes written.");
77
+ logger.info(` ${existed ? "Update" : "Add"}: provider:${MANAGED_PROVIDER_KEY} -> ${gatewayUrl}`);
85
78
  logger.done();
86
79
  return;
87
80
  }
88
- // 7. Config ?�??
89
81
  try {
90
82
  writeCodexConfig(configPath, config);
91
83
  logger.success(`Config saved: ${displayPath(configPath)}`);
92
84
  }
93
85
  catch (err) {
94
- logger.error(`Config ?�?�에 ?�패?�습?�다: ${err}`);
86
+ logger.error(`Config save failed: ${err}`);
95
87
  return;
96
88
  }
97
- // 8. Migrate ?�동 ?�행
98
89
  logger.separator();
99
90
  if (await isCodexRunning()) {
100
- logger.warn("Codex ?�이 ?�행 중입?�다. migrate�?진행?�려�??�을 종료?�주?�요.");
101
- logger.info("종료 ??Enter�??�르�??�동?�로 migrate 진행?�니??");
91
+ logger.warn("Codex is running. Close it before migration can continue.");
92
+ logger.info("Close Codex, then press Enter to migrate threads.");
102
93
  await waitUntilCodexClosed();
103
- logger.success("Codex ??종료 ?�인");
94
+ logger.success("Codex closed");
104
95
  }
105
96
  await runMigrate(false, false);
106
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"AA6DA,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAy0BnD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"AA6DA,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAg1BnD"}
@@ -174,10 +174,19 @@ export function createGatewayServer() {
174
174
  const body = (rl.rate_limit && typeof rl.rate_limit === "object" ? rl.rate_limit : rl);
175
175
  const primary = (body.primary_window ?? body.primary);
176
176
  const secondary = (body.secondary_window ?? body.secondary);
177
+ const resetValue = (w) => {
178
+ if (!w)
179
+ return null;
180
+ const absolute = w.reset_at ?? w.resets_at;
181
+ if (absolute != null)
182
+ return absolute;
183
+ const relative = w.reset_after_seconds ?? w.reset_after;
184
+ return typeof relative === "number" ? Date.now() + relative * 1000 : null;
185
+ };
177
186
  entry = {
178
187
  provider: "openai", label: account.label, id: account.id,
179
- primary: primary ? { used: Math.min(100, primary.used_percent ?? primary.percent_used ?? 0), resets_at: primary.reset_at ?? primary.resets_at ?? null } : undefined,
180
- secondary: secondary ? { used: Math.min(100, secondary.used_percent ?? secondary.percent_used ?? 0), resets_at: secondary.reset_at ?? secondary.resets_at ?? null } : undefined,
188
+ primary: primary ? { used: Math.min(100, primary.used_percent ?? primary.percent_used ?? 0), resets_at: resetValue(primary) } : undefined,
189
+ secondary: secondary ? { used: Math.min(100, secondary.used_percent ?? secondary.percent_used ?? 0), resets_at: resetValue(secondary) } : undefined,
181
190
  };
182
191
  }
183
192
  else {
@@ -302,7 +311,7 @@ export function createGatewayServer() {
302
311
  if (!provider || !label || !method)
303
312
  return reply.code(400).send("provider, label, method required");
304
313
  const account = addAccount(provider, label, method, { apiKey, sessionToken });
305
- glog(`[account] ??added: ${label} (${provider}, ${method})`);
314
+ glog(`[account] added: ${label} (${provider}, ${method})`);
306
315
  return account;
307
316
  });
308
317
  // ?�?� Remove account ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�
@@ -313,7 +322,7 @@ export function createGatewayServer() {
313
322
  if (!account)
314
323
  return reply.code(404).send("Account not found");
315
324
  removeAccount(id);
316
- glog(`[account] ??removed: ${account.label} (${account.provider})`);
325
+ glog(`[account] removed: ${account.label} (${account.provider})`);
317
326
  return { ok: true };
318
327
  });
319
328
  // ?�?� Account node state (canvas connection) ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�
@@ -339,7 +348,7 @@ export function createGatewayServer() {
339
348
  if (!account)
340
349
  return reply.code(404).send("Account not found");
341
350
  const slot = addModelSlot(id, model, slotId);
342
- glog(`[slot] ??added: ${account.label} ??${model}`);
351
+ glog(`[slot] added: ${account.label} -> ${model}`);
343
352
  return slot ?? reply.code(500).send("Failed to create slot");
344
353
  });
345
354
  // ?�?� Remove model slot ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�
@@ -351,7 +360,7 @@ export function createGatewayServer() {
351
360
  return reply.code(404).send("Account not found");
352
361
  const slot = account.activeModels?.find(s => s.slotId === slotId);
353
362
  removeModelSlot(id, slotId);
354
- glog(`[slot] ??removed: ${account.label} ??${slot?.model ?? slotId}`);
363
+ glog(`[slot] removed: ${account.label} -> ${slot?.model ?? slotId}`);
355
364
  return { ok: true };
356
365
  });
357
366
  // ?�?� Reorder all slots (cross-account) ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�