@ralphkrauss/codex-account-switcher 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.3 - 2026-06-06
4
+
5
+ ### Fixed
6
+
7
+ - Use 1Password CLI's accepted `Secure Note` category label when creating remote sync items.
8
+
9
+ ## 0.1.2 - 2026-06-06
10
+
11
+ ### Added
12
+
13
+ - `cx hermes use <account>` imports a saved Codex account into Hermes' `openai-codex` auth/config without forking Hermes.
14
+ - `cx hermes sync <account>` copies refreshed Hermes Codex tokens back into the selected `cx` account slot.
15
+ - `cx hermes status` reports Hermes Codex auth/config state without revealing token contents.
16
+ - `cx remote configure 1password` configures a 1Password CLI (`op`) remote backend for account sync.
17
+ - `cx sync push`, `cx sync pull`, and `cx sync status` sync saved account slots through 1Password secure-note items with a concealed `auth_json` field.
18
+
19
+ ### Changed
20
+
21
+ - Documented Hermes bridging and 1Password remote sync workflows.
22
+ - Expanded test coverage for Hermes auth bridging and 1Password sync using fake local credentials/`op` fixtures.
23
+
3
24
  ## 0.1.1 - 2026-06-04
4
25
 
5
26
  ### Added
package/README.md CHANGED
@@ -26,6 +26,7 @@ Requires Node.js 22+ and the native Codex CLI on `PATH`.
26
26
  ~/.codex/auth.json # Codex's live auth file
27
27
  ~/.codex/accounts/<name>.json # saved account slots
28
28
  ~/.codex/.current-account # active account marker
29
+ ~/.codex/remote.json # optional remote sync backend config
29
30
  ```
30
31
 
31
32
  On POSIX, newly-created directories are `0700` and credential copies are `0600` where supported.
@@ -42,6 +43,14 @@ cx login work -- --with-api-key
42
43
  cx use work
43
44
  cx run work -- exec "fix the tests"
44
45
  cx run -- --help
46
+ cx hermes use work
47
+ cx hermes status
48
+ cx hermes sync work
49
+ cx remote configure 1password --vault Private
50
+ cx remote status
51
+ cx sync push work
52
+ cx sync status work
53
+ cx sync pull work --force
45
54
  cx rename work work-prod
46
55
  cx rm work-prod
47
56
  cx doctor
@@ -74,7 +83,76 @@ Empty names, dot-only names, slashes, backslashes, spaces, unicode, and path tra
74
83
  - `cx rm <active>` removes the saved slot and clears `.current-account`; it leaves live `auth.json` untouched until you switch or login.
75
84
  - `cx save` and `cx rename` refuse overwrites unless `--force` is passed.
76
85
  - `cx login <name>` forwards extra arguments to `codex login`, so headless flows such as `cx login personal --device-auth` work on remote machines.
77
- - `cx doctor` never prints token contents.
86
+ - `cx doctor`, `cx remote status`, and `cx sync status` never print token contents.
87
+
88
+ ## Hermes integration
89
+
90
+ `cx` can seed Hermes' existing `openai-codex` auth store from a saved cx account without changing or forking Hermes:
91
+
92
+ ```bash
93
+ cx hermes use work # import ~/.codex/accounts/work.json into ~/.hermes/auth.json
94
+ cx hermes use work --profile team # target ~/.hermes/profiles/team/auth.json
95
+ cx hermes use work --no-config # import auth only; leave config.yaml untouched
96
+ cx hermes status # show auth/config state without printing token values
97
+ cx hermes sync work # copy refreshed Hermes tokens back to the cx account slot
98
+ ```
99
+
100
+ `cx hermes use` writes `providers.openai-codex.tokens` and a `credential_pool.openai-codex` entry labelled `cx:<account>`. By default it also sets `model.provider: openai-codex` in Hermes' `config.yaml`.
101
+
102
+ `cx hermes sync` is the manual writeback path for phase 1: if Hermes refreshes the token in `~/.hermes/auth.json`, this copies that refreshed pair back into `~/.codex/accounts/<account>.json`.
103
+
104
+ ## 1Password remote sync
105
+
106
+ `cx` can sync saved account slots through 1Password using the 1Password CLI (`op`) as the remote backend. This is intended for moving Codex auth between machines without committing secrets to git or publishing them to npm.
107
+
108
+ Prerequisites:
109
+
110
+ - Install 1Password CLI v2 (`op`) on each machine.
111
+ - Sign in first with `op signin`, or set `OP_SERVICE_ACCOUNT_TOKEN` for non-interactive hosts such as EC2.
112
+ - Create or choose a vault where the items should live.
113
+
114
+ Configure once per `CODEX_HOME`:
115
+
116
+ ```bash
117
+ cx remote configure 1password --vault Private
118
+ cx remote configure 1password --vault Private --item-prefix codex-
119
+ ```
120
+
121
+ The config is written to `~/.codex/remote.json` (or `CODEX_HOME/remote.json`) with mode `0600` where supported. It stores only backend settings such as backend, vault, and item prefix; it does not store token contents.
122
+
123
+ Check configuration and CLI availability:
124
+
125
+ ```bash
126
+ cx remote status
127
+ cx remote status --json
128
+ ```
129
+
130
+ Push a local account to 1Password:
131
+
132
+ ```bash
133
+ cx sync push work
134
+ ```
135
+
136
+ This reads `~/.codex/accounts/work.json` and upserts it into item `<prefix>work` in the configured vault. The default prefix is `cx-`, so the default item title is `cx-work`.
137
+
138
+ Pull an account onto another machine:
139
+
140
+ ```bash
141
+ cx sync pull work
142
+ cx sync pull work --force
143
+ ```
144
+
145
+ `pull` refuses to overwrite an existing local `~/.codex/accounts/work.json` unless `--force` is passed.
146
+
147
+ Compare local and remote presence without printing auth JSON:
148
+
149
+ ```bash
150
+ cx sync status
151
+ cx sync status work
152
+ cx sync status work --json
153
+ ```
154
+
155
+ 1Password storage details: `cx` shells out to `op` with argv arrays. Reads use `op item get <item> --vault <vault> --fields label=auth_json --reveal`. Writes use a `Secure Note` item with a concealed field named `auth_json` via `op item create ... --category "Secure Note" ... auth_json[concealed]=<json>` and `op item edit ... auth_json[concealed]=<json>`. Status commands only report presence/configuration and never reveal field contents.
78
156
 
79
157
  ## Migrating from the prototype shell function
80
158
 
package/dist/cli.js CHANGED
@@ -2,17 +2,20 @@
2
2
  import { realpathSync } from 'node:fs';
3
3
  import { readFile } from 'node:fs/promises';
4
4
  import { fileURLToPath, pathToFileURL } from 'node:url';
5
- import { CxError, authFileExists, getCodexPaths, inspectDoctor, listAccounts, loginAccount, removeAccount, renameAccount, runCodex, saveAccount, useAccount, validateAccountName, } from './index.js';
5
+ import { CxError, authFileExists, configureOnePasswordRemote, getCodexPaths, inspectHermesStatus, inspectDoctor, inspectRemoteStatus, inspectSyncStatus, listAccounts, loginAccount, removeAccount, renameAccount, runCodex, saveAccount, syncHermesAccount, syncPullAccount, syncPushAccount, useAccount, useHermesAccount, validateAccountName, } from './index.js';
6
6
  const PACKAGE_NAME = '@ralphkrauss/codex-account-switcher';
7
7
  const SUBCOMMANDS = new Set([
8
8
  'doctor',
9
+ 'hermes',
9
10
  'help',
10
11
  'login',
11
12
  'ls',
12
13
  'rename',
14
+ 'remote',
13
15
  'rm',
14
16
  'run',
15
17
  'save',
18
+ 'sync',
16
19
  'use',
17
20
  ]);
18
21
  function write(stream, text) {
@@ -41,6 +44,14 @@ Usage:
41
44
  cx rename <old> <new> [--force]
42
45
  cx rm <name>
43
46
  cx run [name] -- [codex args...]
47
+ cx hermes use <account> [--profile <name>] [--no-config]
48
+ cx hermes sync <account> [--profile <name>]
49
+ cx hermes status [--profile <name>] [--json]
50
+ cx remote configure 1password --vault <vault> [--item-prefix <prefix>]
51
+ cx remote status [--json]
52
+ cx sync push <account>
53
+ cx sync pull <account> [--force]
54
+ cx sync status [account] [--json]
44
55
  cx doctor [--json]
45
56
  cx --help
46
57
  cx --version
@@ -53,9 +64,139 @@ Data layout:
53
64
  Uses CODEX_HOME when set, otherwise ~/.codex.
54
65
  Accounts are stored as CODEX_HOME/accounts/<name>.json.
55
66
  The active account marker is CODEX_HOME/.current-account.
67
+ Remote sync config is stored as CODEX_HOME/remote.json.
56
68
 
57
69
  Account names may contain letters, numbers, dot, underscore, and dash only.`;
58
70
  }
71
+ function hermesHelpText() {
72
+ return `Usage:
73
+ cx hermes use <account> [--profile <name>] [--no-config]
74
+ cx hermes sync <account> [--profile <name>]
75
+ cx hermes status [--profile <name>] [--json]
76
+
77
+ Commands:
78
+ use Import CODEX_HOME/accounts/<account>.json into Hermes openai-codex auth.
79
+ Also sets model.provider=openai-codex unless --no-config is passed.
80
+ sync Copy Hermes openai-codex tokens back to the cx account slot.
81
+ status Show the selected Hermes home, auth/config state, and linked cx account.
82
+
83
+ Paths:
84
+ Default Hermes home uses HERMES_HOME when set, otherwise ~/.hermes.
85
+ --profile <name> explicitly targets ~/.hermes/profiles/<name>.`;
86
+ }
87
+ function remoteHelpText() {
88
+ return `Usage:
89
+ cx remote configure 1password --vault <vault> [--item-prefix <prefix>]
90
+ cx remote status [--json]
91
+
92
+ Commands:
93
+ configure Store remote sync settings in CODEX_HOME/remote.json.
94
+ status Show configured backend/vault/prefix and whether the op CLI is available.
95
+
96
+ Notes:
97
+ The default 1Password item prefix is cx-. Token contents are never printed.`;
98
+ }
99
+ function syncHelpText() {
100
+ return `Usage:
101
+ cx sync push <account>
102
+ cx sync pull <account> [--force]
103
+ cx sync status [account] [--json]
104
+
105
+ Commands:
106
+ push Upsert CODEX_HOME/accounts/<account>.json into the configured 1Password item.
107
+ pull Read the configured 1Password item into CODEX_HOME/accounts/<account>.json.
108
+ Refuses to overwrite unless --force is passed.
109
+ status Compare local account-file presence with remote item presence without printing tokens.`;
110
+ }
111
+ function parseHermesArgs(command, args, allowed) {
112
+ let json = false;
113
+ let noConfig = false;
114
+ let profile;
115
+ const positionals = [];
116
+ for (let index = 0; index < args.length; index += 1) {
117
+ const arg = args[index] ?? '';
118
+ if (arg === '--profile') {
119
+ const value = args[index + 1];
120
+ if (!value || value.startsWith('-')) {
121
+ throw new CxError(`usage: cx hermes ${command}`, 2);
122
+ }
123
+ profile = value;
124
+ index += 1;
125
+ continue;
126
+ }
127
+ if (arg === '--json') {
128
+ if (allowed.json !== true) {
129
+ throw new CxError(`unknown option '${arg}'`, 2);
130
+ }
131
+ json = true;
132
+ continue;
133
+ }
134
+ if (arg === '--no-config') {
135
+ if (allowed.noConfig !== true) {
136
+ throw new CxError(`unknown option '${arg}'`, 2);
137
+ }
138
+ noConfig = true;
139
+ continue;
140
+ }
141
+ if (arg.startsWith('--')) {
142
+ throw new CxError(`unknown option '${arg}'`, 2);
143
+ }
144
+ positionals.push(arg);
145
+ }
146
+ return { json, noConfig, ...(profile ? { profile } : {}), positionals };
147
+ }
148
+ function parseJsonArgs(args) {
149
+ let json = false;
150
+ const positionals = [];
151
+ for (const arg of args) {
152
+ if (arg === '--json') {
153
+ json = true;
154
+ continue;
155
+ }
156
+ if (arg.startsWith('--')) {
157
+ throw new CxError(`unknown option '${arg}'`, 2);
158
+ }
159
+ positionals.push(arg);
160
+ }
161
+ return { json, positionals };
162
+ }
163
+ function parseRemoteConfigureArgs(args) {
164
+ const [backend, ...rest] = args;
165
+ if (backend !== '1password') {
166
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
167
+ }
168
+ let vault;
169
+ let itemPrefix;
170
+ for (let index = 0; index < rest.length; index += 1) {
171
+ const arg = rest[index] ?? '';
172
+ if (arg === '--vault') {
173
+ const value = rest[index + 1];
174
+ if (!value || value.startsWith('-')) {
175
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
176
+ }
177
+ vault = value;
178
+ index += 1;
179
+ continue;
180
+ }
181
+ if (arg === '--item-prefix') {
182
+ const value = rest[index + 1];
183
+ if (!value || value.startsWith('-')) {
184
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
185
+ }
186
+ itemPrefix = value;
187
+ index += 1;
188
+ continue;
189
+ }
190
+ if (arg.startsWith('--')) {
191
+ throw new CxError(`unknown option '${arg}'`, 2);
192
+ }
193
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
194
+ }
195
+ if (!vault) {
196
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
197
+ }
198
+ return { vault, ...(itemPrefix ? { itemPrefix } : {}) };
199
+ }
59
200
  function parseLoginArgs(args) {
60
201
  let force = false;
61
202
  let name = null;
@@ -152,6 +293,79 @@ function formatDoctor(report) {
152
293
  }
153
294
  return lines.join('\n');
154
295
  }
296
+ function yesNo(value) {
297
+ return value ? 'yes' : 'no';
298
+ }
299
+ function formatHermesStatus(status) {
300
+ const tokenBits = status.hasTokens
301
+ ? `access=${yesNo(status.hasAccessToken)}, refresh=${yesNo(status.hasRefreshToken)}`
302
+ : 'missing';
303
+ const linked = status.linkedAccounts.length === 0
304
+ ? '(none detected)'
305
+ : status.linkedAccounts.join(', ');
306
+ const lines = [
307
+ 'Hermes Codex integration status',
308
+ `profile: ${status.profile ?? 'default'}`,
309
+ `hermes home: ${status.hermesHome}`,
310
+ `auth.json: ${status.authExists ? 'present' : 'missing'}`,
311
+ `auth readable: ${yesNo(status.authReadable)}`,
312
+ `openai-codex auth: ${status.openaiCodexAuthExists ? 'present' : 'missing'}`,
313
+ `tokens: ${tokenBits}`,
314
+ `last refresh: ${status.lastRefresh ?? '(unknown)'}`,
315
+ `auth mode: ${status.authMode ?? '(unknown)'}`,
316
+ `credential pool openai-codex entries: ${status.poolEntryCount}`,
317
+ `linked cx account: ${linked}`,
318
+ `configured provider: ${status.configuredProvider ?? '(not set)'}`,
319
+ `config.yaml: ${status.configExists ? 'present' : 'missing'}`,
320
+ ];
321
+ if (status.authError) {
322
+ lines.push(`auth warning: ${status.authError}`);
323
+ }
324
+ if (status.configError) {
325
+ lines.push(`config warning: ${status.configError}`);
326
+ }
327
+ return lines.join('\n');
328
+ }
329
+ function formatRemoteStatus(status) {
330
+ const lines = [
331
+ 'Remote sync status',
332
+ `config: ${status.configPath}`,
333
+ `configured: ${yesNo(status.configured)}`,
334
+ `backend: ${status.backend ?? '(not configured)'}`,
335
+ `vault: ${status.vault ?? '(not configured)'}`,
336
+ `item prefix: ${status.itemPrefix ?? '(not configured)'}`,
337
+ `op CLI: ${status.opAvailable ? `available (${status.opPath ?? 'op'})` : 'not found'}`,
338
+ ];
339
+ return lines.join('\n');
340
+ }
341
+ function remotePresenceText(status) {
342
+ if (status.remote.presence === 'unknown') {
343
+ return status.remote.error ? `unknown (${status.remote.error})` : 'unknown';
344
+ }
345
+ return status.remote.presence;
346
+ }
347
+ function formatSyncStatus(status) {
348
+ const lines = [
349
+ 'Remote sync status',
350
+ `config: ${status.configPath}`,
351
+ `configured: ${yesNo(status.configured)}`,
352
+ `backend: ${status.backend ?? '(not configured)'}`,
353
+ `vault: ${status.vault ?? '(not configured)'}`,
354
+ `item prefix: ${status.itemPrefix ?? '(not configured)'}`,
355
+ `op CLI: ${status.opAvailable ? `available (${status.opPath ?? 'op'})` : 'not found'}`,
356
+ ];
357
+ if (status.accounts.length === 0) {
358
+ lines.push('accounts: (none)');
359
+ return lines.join('\n');
360
+ }
361
+ lines.push('accounts:');
362
+ for (const account of status.accounts) {
363
+ lines.push(` - ${account.account}: local=${account.local.exists ? 'present' : 'missing'}, remote=${remotePresenceText(account)}`);
364
+ lines.push(` file: ${account.local.file}`);
365
+ lines.push(` item: ${account.item ?? '(unknown)'}`);
366
+ }
367
+ return lines.join('\n');
368
+ }
155
369
  async function printList(io, env) {
156
370
  write(io.stdout, formatAccounts(await listAccounts(getCodexPaths(env))));
157
371
  }
@@ -176,6 +390,127 @@ function parseRunArgs(args) {
176
390
  }
177
391
  return { account, codexArgs };
178
392
  }
393
+ async function handleHermesCommand(args, env, io) {
394
+ const [command, ...rest] = args;
395
+ if (!command || command === 'help' || command === '--help' || command === '-h') {
396
+ write(io.stdout, hermesHelpText());
397
+ return 0;
398
+ }
399
+ switch (command) {
400
+ case 'use': {
401
+ const parsed = parseHermesArgs('use <account> [--profile <name>] [--no-config]', rest, { noConfig: true });
402
+ requireArity('hermes use <account> [--profile <name>] [--no-config]', parsed.positionals, 1);
403
+ const account = parsed.positionals[0] ?? '';
404
+ const result = await useHermesAccount(account, {
405
+ env,
406
+ ...(parsed.profile ? { profile: parsed.profile } : {}),
407
+ updateConfig: !parsed.noConfig,
408
+ });
409
+ write(io.stdout, `Hermes openai-codex auth now uses cx account '${result.account}'`);
410
+ write(io.stdout, `hermes home: ${result.hermesHome}`);
411
+ write(io.stdout, `auth.json: ${result.hermesAuthFile}`);
412
+ write(io.stdout, result.hermesConfigFile
413
+ ? `config.yaml: ${result.hermesConfigFile} (model.provider=openai-codex)`
414
+ : 'config.yaml: skipped (--no-config)');
415
+ return 0;
416
+ }
417
+ case 'sync': {
418
+ const parsed = parseHermesArgs('sync <account> [--profile <name>]', rest, {});
419
+ requireArity('hermes sync <account> [--profile <name>]', parsed.positionals, 1);
420
+ const account = parsed.positionals[0] ?? '';
421
+ const result = await syncHermesAccount(account, {
422
+ env,
423
+ ...(parsed.profile ? { profile: parsed.profile } : {}),
424
+ });
425
+ write(io.stdout, `synced Hermes openai-codex tokens to cx account '${result.account}'`);
426
+ write(io.stdout, `cx account file: ${result.codexAccountFile}`);
427
+ write(io.stdout, `hermes home: ${result.hermesHome}`);
428
+ return 0;
429
+ }
430
+ case 'status': {
431
+ const parsed = parseHermesArgs('status [--profile <name>] [--json]', rest, { json: true });
432
+ requireArity('hermes status [--profile <name>] [--json]', parsed.positionals, 0);
433
+ const status = await inspectHermesStatus({
434
+ env,
435
+ ...(parsed.profile ? { profile: parsed.profile } : {}),
436
+ });
437
+ write(io.stdout, parsed.json ? JSON.stringify(status, null, 2) : formatHermesStatus(status));
438
+ return 0;
439
+ }
440
+ default:
441
+ throw new CxError(`unknown hermes command '${command}'`, 2);
442
+ }
443
+ }
444
+ async function handleRemoteCommand(args, env, io) {
445
+ const [command, ...rest] = args;
446
+ if (!command || command === 'help' || command === '--help' || command === '-h') {
447
+ write(io.stdout, remoteHelpText());
448
+ return 0;
449
+ }
450
+ switch (command) {
451
+ case 'configure': {
452
+ const parsed = parseRemoteConfigureArgs(rest);
453
+ const result = await configureOnePasswordRemote(parsed, { paths: getCodexPaths(env) });
454
+ write(io.stdout, 'configured remote backend: 1password');
455
+ write(io.stdout, `config: ${result.configPath}`);
456
+ write(io.stdout, `vault: ${result.config.vault}`);
457
+ write(io.stdout, `item prefix: ${result.config.itemPrefix}`);
458
+ return 0;
459
+ }
460
+ case 'status': {
461
+ const parsed = parseJsonArgs(rest);
462
+ requireArity('remote status [--json]', parsed.positionals, 0);
463
+ const status = await inspectRemoteStatus({ env, paths: getCodexPaths(env) });
464
+ write(io.stdout, parsed.json ? JSON.stringify(status, null, 2) : formatRemoteStatus(status));
465
+ return 0;
466
+ }
467
+ default:
468
+ throw new CxError(`unknown remote command '${command}'`, 2);
469
+ }
470
+ }
471
+ async function handleSyncCommand(args, env, io) {
472
+ const [command, ...rest] = args;
473
+ if (!command || command === 'help' || command === '--help' || command === '-h') {
474
+ write(io.stdout, syncHelpText());
475
+ return 0;
476
+ }
477
+ switch (command) {
478
+ case 'push': {
479
+ requireArity('sync push <account>', rest, 1);
480
+ const account = rest[0] ?? '';
481
+ const result = await syncPushAccount(account, { env, paths: getCodexPaths(env) });
482
+ write(io.stdout, `pushed account '${result.account}' to 1Password item '${result.item}'`);
483
+ write(io.stdout, `vault: ${result.vault}`);
484
+ write(io.stdout, `operation: ${result.operation}`);
485
+ return 0;
486
+ }
487
+ case 'pull': {
488
+ const parsed = parseForceArgs(rest);
489
+ requireArity('sync pull <account> [--force]', parsed.positionals, 1);
490
+ const account = parsed.positionals[0] ?? '';
491
+ const result = await syncPullAccount(account, {
492
+ env,
493
+ paths: getCodexPaths(env),
494
+ force: parsed.force,
495
+ });
496
+ write(io.stdout, `pulled 1Password item '${result.item}' into account '${result.account}'`);
497
+ write(io.stdout, `account file: ${result.accountFile}`);
498
+ write(io.stdout, `overwrote local account: ${yesNo(result.overwritten)}`);
499
+ return 0;
500
+ }
501
+ case 'status': {
502
+ const parsed = parseJsonArgs(rest);
503
+ if (parsed.positionals.length > 1) {
504
+ throw new CxError('usage: cx sync status [account] [--json]', 2);
505
+ }
506
+ const status = await inspectSyncStatus(parsed.positionals[0], { env, paths: getCodexPaths(env) });
507
+ write(io.stdout, parsed.json ? JSON.stringify(status, null, 2) : formatSyncStatus(status));
508
+ return 0;
509
+ }
510
+ default:
511
+ throw new CxError(`unknown sync command '${command}'`, 2);
512
+ }
513
+ }
179
514
  export async function main(argv = process.argv.slice(2), env = process.env, io = { stdout: process.stdout, stderr: process.stderr }) {
180
515
  const metadata = await readPackageMetadata();
181
516
  const [first, ...rest] = argv;
@@ -279,6 +614,12 @@ export async function main(argv = process.argv.slice(2), env = process.env, io =
279
614
  write(io.stdout, json ? JSON.stringify(report, null, 2) : formatDoctor(report));
280
615
  return 0;
281
616
  }
617
+ case 'hermes':
618
+ return await handleHermesCommand(rest, env, io);
619
+ case 'remote':
620
+ return await handleRemoteCommand(rest, env, io);
621
+ case 'sync':
622
+ return await handleSyncCommand(rest, env, io);
282
623
  default:
283
624
  throw new CxError(`unknown command '${first}'`, 2);
284
625
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ export declare const HERMES_OPENAI_CODEX_PROVIDER = "openai-codex";
2
+ export declare const HERMES_CODEX_BASE_URL = "https://chatgpt.com/backend-api/codex";
3
+ export interface HermesPaths {
4
+ readonly home: string;
5
+ readonly authFile: string;
6
+ readonly configFile: string;
7
+ readonly profile: string | null;
8
+ }
9
+ export interface HermesProfileOptions {
10
+ readonly env?: NodeJS.ProcessEnv;
11
+ readonly profile?: string | null;
12
+ }
13
+ export interface HermesUseOptions extends HermesProfileOptions {
14
+ readonly updateConfig?: boolean;
15
+ }
16
+ export interface HermesUseResult {
17
+ readonly account: string;
18
+ readonly codexAccountFile: string;
19
+ readonly hermesHome: string;
20
+ readonly hermesAuthFile: string;
21
+ readonly hermesConfigFile: string | null;
22
+ readonly profile: string | null;
23
+ }
24
+ export interface HermesSyncResult {
25
+ readonly account: string;
26
+ readonly codexAccountFile: string;
27
+ readonly hermesHome: string;
28
+ readonly hermesAuthFile: string;
29
+ readonly profile: string | null;
30
+ }
31
+ export interface HermesStatus {
32
+ readonly hermesHome: string;
33
+ readonly authFile: string;
34
+ readonly configFile: string;
35
+ readonly profile: string | null;
36
+ readonly authExists: boolean;
37
+ readonly authReadable: boolean;
38
+ readonly authError: string | null;
39
+ readonly openaiCodexAuthExists: boolean;
40
+ readonly hasTokens: boolean;
41
+ readonly hasAccessToken: boolean;
42
+ readonly hasRefreshToken: boolean;
43
+ readonly lastRefresh: string | null;
44
+ readonly authMode: string | null;
45
+ readonly linkedAccount: string | null;
46
+ readonly linkedAccounts: readonly string[];
47
+ readonly poolEntryCount: number;
48
+ readonly configuredProvider: string | null;
49
+ readonly configExists: boolean;
50
+ readonly configReadable: boolean;
51
+ readonly configError: string | null;
52
+ }
53
+ export declare function getHermesPaths(options?: HermesProfileOptions): HermesPaths;
54
+ export declare function useHermesAccount(account: string, options?: HermesUseOptions): Promise<HermesUseResult>;
55
+ export declare function syncHermesAccount(account: string, options?: HermesProfileOptions): Promise<HermesSyncResult>;
56
+ export declare function inspectHermesStatus(options?: HermesProfileOptions): Promise<HermesStatus>;