@ralphkrauss/codex-account-switcher 0.1.5 → 0.1.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.7 - 2026-06-06
4
+
5
+ ### Added
6
+
7
+ - Add `docs/AGENT_SETUP.md`, a copy-pasteable agent setup guide for installing Codex, `cx`, and 1Password-backed profiles on personal devices without exposing auth secrets.
8
+ - Expand the README with quick-start setup steps, agent-safe verification commands, bootstrap/push guidance, and troubleshooting links.
9
+
10
+ ## 0.1.6 - 2026-06-06
11
+
12
+ ### Added
13
+
14
+ - Add native `cx 1password setup` for one-command 1Password-backed profile setup, vault verification, optional bulk pull, and optional account selection.
15
+ - Add `cx 1password status` as a friendly status alias for local/remote profile presence.
16
+ - Add `cx sync push --all` and `cx sync pull --all` for bulk profile syncing.
17
+ - Treat remote-only 1Password items as first-class profiles in `cx sync status`.
18
+
19
+ ### Changed
20
+
21
+ - `cx use <account>`, `cx run <account> -- ...`, and the backward-compatible `cx <account> ...` form now auto-pull a missing local profile from configured 1Password sync before switching.
22
+
3
23
  ## 0.1.5 - 2026-06-06
4
24
 
5
25
  ### Fixed
package/README.md CHANGED
@@ -18,6 +18,28 @@ npx -y @ralphkrauss/codex-account-switcher --help
18
18
 
19
19
  Requires Node.js 22+ and the native Codex CLI on `PATH`.
20
20
 
21
+ ## New personal device quick start
22
+
23
+ If your Codex profiles already exist in 1Password, a new machine should only need:
24
+
25
+ ```bash
26
+ npm install -g @openai/codex @ralphkrauss/codex-account-switcher
27
+ op signin
28
+ cx 1password setup --vault <VAULT_NAME> --pull --use <PROFILE_NAME>
29
+ cx doctor
30
+ cx 1password status
31
+ ```
32
+
33
+ Example:
34
+
35
+ ```bash
36
+ cx 1password setup --vault Codex --pull --use gi
37
+ ```
38
+
39
+ For a copy-pasteable prompt you can give another agent, plus macOS/Windows/Linux, bootstrap, headless EC2, and troubleshooting steps, see [`docs/AGENT_SETUP.md`](docs/AGENT_SETUP.md).
40
+
41
+ Agent safety rule: do not paste or print `auth.json`, `accounts/*.json`, OAuth tokens, refresh tokens, or 1Password concealed-field contents. Use `cx doctor`, `cx 1password status`, `cx sync status`, and `cx ls` for verification instead.
42
+
21
43
  ## Data layout
22
44
 
23
45
  `cx` uses `CODEX_HOME` when set, otherwise `~/.codex`:
@@ -46,11 +68,11 @@ cx run -- --help
46
68
  cx hermes use work
47
69
  cx hermes status
48
70
  cx hermes sync work
49
- cx remote configure 1password --vault Private
50
- cx remote status
51
- cx sync push work
71
+ cx 1password setup --vault Private --pull --use work
72
+ cx 1password status
73
+ cx sync push --all
74
+ cx sync pull --all
52
75
  cx sync status work
53
- cx sync pull work --force
54
76
  cx rename work work-prod
55
77
  cx rm work-prod
56
78
  cx doctor
@@ -101,9 +123,11 @@ cx hermes sync work # copy refreshed Hermes tokens back to the c
101
123
 
102
124
  `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
125
 
104
- ## 1Password remote sync
126
+ ## 1Password-backed profiles
105
127
 
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.
128
+ `cx` can use 1Password as a native profile backend through the 1Password CLI (`op`). This is intended for moving Codex auth between machines without committing secrets to git or publishing them to npm.
129
+
130
+ Full setup documentation for personal devices and delegated agent setup is in [`docs/AGENT_SETUP.md`](docs/AGENT_SETUP.md). It includes a prompt you can give your agent, OS-specific installation notes, first-machine bootstrapping, headless/service-account setup, and troubleshooting.
107
131
 
108
132
  Prerequisites:
109
133
 
@@ -111,38 +135,59 @@ Prerequisites:
111
135
  - Sign in first with `op signin`, or set `OP_SERVICE_ACCOUNT_TOKEN` for non-interactive hosts such as EC2.
112
136
  - Create or choose a vault where the items should live.
113
137
 
114
- Configure once per `CODEX_HOME`:
138
+ Easy setup on a new machine:
115
139
 
116
140
  ```bash
117
- cx remote configure 1password --vault Private
118
- cx remote configure 1password --vault Private --item-prefix codex-
141
+ cx 1password setup --vault Private --pull --use work
119
142
  ```
120
143
 
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.
144
+ That one command:
145
+
146
+ 1. writes `~/.codex/remote.json` with the 1Password vault/prefix settings,
147
+ 2. verifies that `op` can access the vault,
148
+ 3. discovers remote `cx-*` profile items,
149
+ 4. pulls missing profiles locally, and
150
+ 5. selects the requested profile with `cx use`.
151
+
152
+ If you do not want to pull immediately:
153
+
154
+ ```bash
155
+ cx 1password setup --vault Private
156
+ ```
122
157
 
123
- Check configuration and CLI availability:
158
+ After setup, remote-backed profiles behave naturally:
124
159
 
125
160
  ```bash
161
+ cx use work # auto-pulls work from 1Password if it is not local yet
162
+ cx run work -- exec ... # also auto-pulls before launching Codex
163
+ cx 1password status # local + remote profile presence, no token contents
164
+ ```
165
+
166
+ The legacy lower-level commands are still available:
167
+
168
+ ```bash
169
+ cx remote configure 1password --vault Private
170
+ cx remote configure 1password --vault Private --item-prefix codex-
126
171
  cx remote status
127
- cx remote status --json
128
172
  ```
129
173
 
130
- Push a local account to 1Password:
174
+ Push local profiles to 1Password:
131
175
 
132
176
  ```bash
133
177
  cx sync push work
178
+ cx sync push --all
134
179
  ```
135
180
 
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:
181
+ Pull profiles onto another machine:
139
182
 
140
183
  ```bash
141
184
  cx sync pull work
142
185
  cx sync pull work --force
186
+ cx sync pull --all
187
+ cx sync pull --all --force
143
188
  ```
144
189
 
145
- `pull` refuses to overwrite an existing local `~/.codex/accounts/work.json` unless `--force` is passed.
190
+ `pull --all` pulls every remote 1Password-backed profile that is not already local. Use `--force` to overwrite existing local profile slots.
146
191
 
147
192
  Compare local and remote presence without printing auth JSON:
148
193
 
@@ -154,7 +199,7 @@ cx sync status work --json
154
199
 
155
200
  Remote sync is for named account slots only. `default` is reserved as the live Codex auth target: choose which named account should be active/default on a machine with `cx use <name>`, rather than syncing a separate `default` profile.
156
201
 
157
- 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.
202
+ 1Password storage details: `cx` shells out to `op` with argv arrays. Reads prefer `op item get <item> --vault <vault> --format json` and extract the concealed `auth_json` field safely for multiline JSON. 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.
158
203
 
159
204
  ## Migrating from the prototype shell function
160
205
 
package/dist/cli.js CHANGED
@@ -2,9 +2,10 @@
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, configureOnePasswordRemote, getCodexPaths, inspectHermesStatus, inspectDoctor, inspectRemoteStatus, inspectSyncStatus, listAccounts, loginAccount, removeAccount, renameAccount, runCodex, saveAccount, syncHermesAccount, syncPullAccount, syncPushAccount, useAccount, useHermesAccount, validateAccountName, } from './index.js';
5
+ import { CxError, authFileExists, configureOnePasswordRemote, getCodexPaths, inspectHermesStatus, inspectDoctor, inspectRemoteStatus, inspectSyncStatus, listAccounts, loginAccount, removeAccount, renameAccount, runCodex, saveAccount, setupOnePasswordProfiles, syncHermesAccount, syncPullAccount, syncPullAllAccounts, syncPushAccount, syncPushAllAccounts, useAccount, useHermesAccount, validateAccountName, } from './index.js';
6
6
  const PACKAGE_NAME = '@ralphkrauss/codex-account-switcher';
7
7
  const SUBCOMMANDS = new Set([
8
+ '1password',
8
9
  'doctor',
9
10
  'hermes',
10
11
  'help',
@@ -47,10 +48,12 @@ Usage:
47
48
  cx hermes use <account> [--profile <name>] [--no-config]
48
49
  cx hermes sync <account> [--profile <name>]
49
50
  cx hermes status [--profile <name>] [--json]
51
+ cx 1password setup --vault <vault> [--item-prefix <prefix>] [--pull] [--force] [--use <account>]
52
+ cx 1password status [--json]
50
53
  cx remote configure 1password --vault <vault> [--item-prefix <prefix>]
51
54
  cx remote status [--json]
52
- cx sync push <account>
53
- cx sync pull <account> [--force]
55
+ cx sync push <account>|--all
56
+ cx sync pull <account>|--all [--force]
54
57
  cx sync status [account] [--json]
55
58
  cx doctor [--json]
56
59
  cx --help
@@ -96,15 +99,31 @@ Commands:
96
99
  Notes:
97
100
  The default 1Password item prefix is cx-. Token contents are never printed.`;
98
101
  }
102
+ function onePasswordHelpText() {
103
+ return `Usage:
104
+ cx 1password setup --vault <vault> [--item-prefix <prefix>] [--pull] [--force] [--use <account>]
105
+ cx 1password status [--json]
106
+
107
+ Commands:
108
+ setup Configure 1Password as the native profile backend, verify op/vault access,
109
+ optionally pull all remote profiles, and optionally select one profile.
110
+ status Show 1Password backend status and local/remote profile presence.
111
+
112
+ Examples:
113
+ cx 1password setup --vault Private --pull --use gi
114
+ cx 1password setup --vault Private --item-prefix codex-`;
115
+ }
99
116
  function syncHelpText() {
100
117
  return `Usage:
101
- cx sync push <account>
102
- cx sync pull <account> [--force]
118
+ cx sync push <account>|--all
119
+ cx sync pull <account>|--all [--force]
103
120
  cx sync status [account] [--json]
104
121
 
105
122
  Commands:
106
123
  push Upsert CODEX_HOME/accounts/<account>.json into the configured 1Password item.
124
+ With --all, push every local named account except reserved default.
107
125
  pull Read the configured 1Password item into CODEX_HOME/accounts/<account>.json.
126
+ With --all, pull every remote 1Password-backed profile not already local.
108
127
  Refuses to overwrite unless --force is passed.
109
128
  status Compare local account-file presence with remote item presence without printing tokens.`;
110
129
  }
@@ -197,6 +216,59 @@ function parseRemoteConfigureArgs(args) {
197
216
  }
198
217
  return { vault, ...(itemPrefix ? { itemPrefix } : {}) };
199
218
  }
219
+ function parseOnePasswordSetupArgs(args) {
220
+ let vault;
221
+ let itemPrefix;
222
+ let pull = false;
223
+ let force = false;
224
+ let use;
225
+ for (let index = 0; index < args.length; index += 1) {
226
+ const arg = args[index] ?? '';
227
+ if (arg === '--vault') {
228
+ const value = args[index + 1];
229
+ if (!value || value.startsWith('-')) {
230
+ throw new CxError('usage: cx 1password setup --vault <vault> [--item-prefix <prefix>] [--pull] [--force] [--use <account>]', 2);
231
+ }
232
+ vault = value;
233
+ index += 1;
234
+ continue;
235
+ }
236
+ if (arg === '--item-prefix') {
237
+ const value = args[index + 1];
238
+ if (!value || value.startsWith('-')) {
239
+ throw new CxError('usage: cx 1password setup --vault <vault> [--item-prefix <prefix>] [--pull] [--force] [--use <account>]', 2);
240
+ }
241
+ itemPrefix = value;
242
+ index += 1;
243
+ continue;
244
+ }
245
+ if (arg === '--pull') {
246
+ pull = true;
247
+ continue;
248
+ }
249
+ if (arg === '--force') {
250
+ force = true;
251
+ continue;
252
+ }
253
+ if (arg === '--use') {
254
+ const value = args[index + 1];
255
+ if (!value || value.startsWith('-')) {
256
+ throw new CxError('usage: cx 1password setup --vault <vault> [--item-prefix <prefix>] [--pull] [--force] [--use <account>]', 2);
257
+ }
258
+ use = value;
259
+ index += 1;
260
+ continue;
261
+ }
262
+ if (arg.startsWith('--')) {
263
+ throw new CxError(`unknown option '${arg}'`, 2);
264
+ }
265
+ throw new CxError('usage: cx 1password setup --vault <vault> [--item-prefix <prefix>] [--pull] [--force] [--use <account>]', 2);
266
+ }
267
+ if (!vault) {
268
+ throw new CxError('usage: cx 1password setup --vault <vault> [--item-prefix <prefix>] [--pull] [--force] [--use <account>]', 2);
269
+ }
270
+ return { vault, pull, force, ...(itemPrefix ? { itemPrefix } : {}), ...(use ? { use } : {}) };
271
+ }
200
272
  function parseLoginArgs(args) {
201
273
  let force = false;
202
274
  let name = null;
@@ -369,6 +441,26 @@ function formatSyncStatus(status) {
369
441
  async function printList(io, env) {
370
442
  write(io.stdout, formatAccounts(await listAccounts(getCodexPaths(env))));
371
443
  }
444
+ async function useAccountWithRemoteFallback(name, env, io) {
445
+ const paths = getCodexPaths(env);
446
+ try {
447
+ await useAccount(name, { paths });
448
+ return;
449
+ }
450
+ catch (error) {
451
+ if (!(error instanceof CxError) || !error.message.includes(`no account '${name}'`)) {
452
+ throw error;
453
+ }
454
+ try {
455
+ const pulled = await syncPullAccount(name, { env, paths });
456
+ write(io.stdout, `pulled 1Password-backed profile '${pulled.account}'`);
457
+ await useAccount(name, { paths });
458
+ }
459
+ catch {
460
+ throw error;
461
+ }
462
+ }
463
+ }
372
464
  function parseRunArgs(args) {
373
465
  const separatorIndex = args.indexOf('--');
374
466
  if (separatorIndex >= 0) {
@@ -468,6 +560,40 @@ async function handleRemoteCommand(args, env, io) {
468
560
  throw new CxError(`unknown remote command '${command}'`, 2);
469
561
  }
470
562
  }
563
+ async function handleOnePasswordCommand(args, env, io) {
564
+ const [command, ...rest] = args;
565
+ if (!command || command === 'help' || command === '--help' || command === '-h') {
566
+ write(io.stdout, onePasswordHelpText());
567
+ return 0;
568
+ }
569
+ switch (command) {
570
+ case 'setup': {
571
+ const parsed = parseOnePasswordSetupArgs(rest);
572
+ const result = await setupOnePasswordProfiles(parsed, { env, paths: getCodexPaths(env) });
573
+ write(io.stdout, 'configured 1Password-backed Codex profiles');
574
+ write(io.stdout, `config: ${result.configPath}`);
575
+ write(io.stdout, `vault: ${result.vault}`);
576
+ write(io.stdout, `item prefix: ${result.itemPrefix}`);
577
+ write(io.stdout, `remote profiles: ${result.remoteAccounts.length > 0 ? result.remoteAccounts.join(', ') : '(none)'}`);
578
+ if (parsed.pull) {
579
+ write(io.stdout, `pulled profiles: ${result.pulledAccounts.length > 0 ? result.pulledAccounts.join(', ') : '(none)'}`);
580
+ }
581
+ if (result.usedAccount) {
582
+ write(io.stdout, `active codex account: ${result.usedAccount}`);
583
+ }
584
+ return 0;
585
+ }
586
+ case 'status': {
587
+ const parsed = parseJsonArgs(rest);
588
+ requireArity('1password status [--json]', parsed.positionals, 0);
589
+ const status = await inspectSyncStatus(undefined, { env, paths: getCodexPaths(env) });
590
+ write(io.stdout, parsed.json ? JSON.stringify(status, null, 2) : formatSyncStatus(status));
591
+ return 0;
592
+ }
593
+ default:
594
+ throw new CxError(`unknown 1password command '${command}'`, 2);
595
+ }
596
+ }
471
597
  async function handleSyncCommand(args, env, io) {
472
598
  const [command, ...rest] = args;
473
599
  if (!command || command === 'help' || command === '--help' || command === '-h') {
@@ -476,7 +602,12 @@ async function handleSyncCommand(args, env, io) {
476
602
  }
477
603
  switch (command) {
478
604
  case 'push': {
479
- requireArity('sync push <account>', rest, 1);
605
+ requireArity('sync push <account>|--all', rest, 1);
606
+ if (rest[0] === '--all') {
607
+ const results = await syncPushAllAccounts({ env, paths: getCodexPaths(env) });
608
+ write(io.stdout, `pushed profiles: ${results.length > 0 ? results.map((entry) => entry.account).join(', ') : '(none)'}`);
609
+ return 0;
610
+ }
480
611
  const account = rest[0] ?? '';
481
612
  const result = await syncPushAccount(account, { env, paths: getCodexPaths(env) });
482
613
  write(io.stdout, `pushed account '${result.account}' to 1Password item '${result.item}'`);
@@ -485,13 +616,33 @@ async function handleSyncCommand(args, env, io) {
485
616
  return 0;
486
617
  }
487
618
  case 'pull': {
488
- const parsed = parseForceArgs(rest);
489
- requireArity('sync pull <account> [--force]', parsed.positionals, 1);
490
- const account = parsed.positionals[0] ?? '';
619
+ let force = false;
620
+ const positionals = [];
621
+ for (const arg of rest) {
622
+ if (arg === '--force') {
623
+ force = true;
624
+ continue;
625
+ }
626
+ if (arg !== '--all' && arg.startsWith('--')) {
627
+ throw new CxError(`unknown option '${arg}'`, 2);
628
+ }
629
+ positionals.push(arg);
630
+ }
631
+ requireArity('sync pull <account>|--all [--force]', positionals, 1);
632
+ if (positionals[0] === '--all') {
633
+ const results = await syncPullAllAccounts({
634
+ env,
635
+ paths: getCodexPaths(env),
636
+ force,
637
+ });
638
+ write(io.stdout, `pulled profiles: ${results.length > 0 ? results.map((entry) => entry.account).join(', ') : '(none)'}`);
639
+ return 0;
640
+ }
641
+ const account = positionals[0] ?? '';
491
642
  const result = await syncPullAccount(account, {
492
643
  env,
493
644
  paths: getCodexPaths(env),
494
- force: parsed.force,
645
+ force,
495
646
  });
496
647
  write(io.stdout, `pulled 1Password item '${result.item}' into account '${result.account}'`);
497
648
  write(io.stdout, `account file: ${result.accountFile}`);
@@ -540,7 +691,7 @@ export async function main(argv = process.argv.slice(2), env = process.env, io =
540
691
  throw new CxError(`unknown option '${first}'`, 2);
541
692
  }
542
693
  validateAccountName(first);
543
- await useAccount(first, { paths: getCodexPaths(env) });
694
+ await useAccountWithRemoteFallback(first, env, io);
544
695
  write(io.stdout, `→ codex on '${first}'`);
545
696
  return await runCodex(rest, { env });
546
697
  }
@@ -563,7 +714,7 @@ export async function main(argv = process.argv.slice(2), env = process.env, io =
563
714
  case 'use': {
564
715
  requireArity('use <name>', rest, 1);
565
716
  const name = rest[0] ?? '';
566
- await useAccount(name, { paths: getCodexPaths(env) });
717
+ await useAccountWithRemoteFallback(name, env, io);
567
718
  write(io.stdout, `active codex account: ${name}`);
568
719
  return 0;
569
720
  }
@@ -600,7 +751,7 @@ export async function main(argv = process.argv.slice(2), env = process.env, io =
600
751
  case 'run': {
601
752
  const parsed = parseRunArgs(rest);
602
753
  if (parsed.account) {
603
- await useAccount(parsed.account, { paths: getCodexPaths(env) });
754
+ await useAccountWithRemoteFallback(parsed.account, env, io);
604
755
  write(io.stdout, `→ codex on '${parsed.account}'`);
605
756
  }
606
757
  return await runCodex(parsed.codexArgs, { env });
@@ -616,6 +767,8 @@ export async function main(argv = process.argv.slice(2), env = process.env, io =
616
767
  }
617
768
  case 'hermes':
618
769
  return await handleHermesCommand(rest, env, io);
770
+ case '1password':
771
+ return await handleOnePasswordCommand(rest, env, io);
619
772
  case 'remote':
620
773
  return await handleRemoteCommand(rest, env, io);
621
774
  case 'sync':
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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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { ACCOUNT_NAME_PATTERN, AUTH_NON_EMPTY_BYTES, CxError, accountPathForName, authFileExists, authLooksNonEmpty, getCodexHome, getCodexPaths, inspectDoctor, listAccountNames, listAccounts, loginAccount, readCurrentMarker, removeAccount, renameAccount, resolveExecutable, runCodex, saveAccount, switchAndRunCodex, useAccount, validateAccountName, writebackCurrentAccount, } from './accounts.js';
2
2
  export { HERMES_CODEX_BASE_URL, HERMES_OPENAI_CODEX_PROVIDER, getHermesPaths, inspectHermesStatus, syncHermesAccount, useHermesAccount, } from './hermes.js';
3
- export { DEFAULT_ONEPASSWORD_ITEM_PREFIX, ONEPASSWORD_AUTH_FIELD, ONEPASSWORD_BACKEND, REMOTE_CONFIG_VERSION, configureOnePasswordRemote, getRemoteConfigPath, inspectRemoteStatus, inspectSyncStatus, readRemoteConfig, syncPullAccount, syncPushAccount, } from './remote.js';
3
+ export { DEFAULT_ONEPASSWORD_ITEM_PREFIX, ONEPASSWORD_AUTH_FIELD, ONEPASSWORD_BACKEND, REMOTE_CONFIG_VERSION, configureOnePasswordRemote, getRemoteConfigPath, inspectRemoteStatus, inspectSyncStatus, listRemoteAccountNames, readRemoteConfig, setupOnePasswordProfiles, syncPullAllAccounts, syncPullAccount, syncPushAllAccounts, syncPushAccount, } from './remote.js';
4
4
  export type { AccountEntry, AccountList, CodexPaths, CurrentMarker, DoctorReport, ForceOptions, OperationOptions, RemoveResult, RenameResult, SpawnCodexOptions, WritebackResult, } from './accounts.js';
5
5
  export type { HermesPaths, HermesProfileOptions, HermesStatus, HermesSyncResult, HermesUseOptions, HermesUseResult, } from './hermes.js';
6
- export type { ConfigureOnePasswordRemoteInput, ConfigureRemoteResult, OnePasswordRemoteConfig, RemoteBackend, RemoteCliOptions, RemoteConfig, RemoteForceOptions, RemotePathOptions, RemotePresence, RemoteStatus, SyncPullResult, SyncPushResult, SyncStatus, SyncStatusAccount, } from './remote.js';
6
+ export type { ConfigureOnePasswordRemoteInput, ConfigureRemoteResult, OnePasswordRemoteConfig, RemoteBackend, RemoteCliOptions, RemoteConfig, RemoteForceOptions, RemotePathOptions, RemotePresence, RemoteStatus, SetupOnePasswordProfilesInput, SetupOnePasswordProfilesResult, SyncPullResult, SyncPushResult, SyncStatus, SyncStatusAccount, } from './remote.js';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { ACCOUNT_NAME_PATTERN, AUTH_NON_EMPTY_BYTES, CxError, accountPathForName, authFileExists, authLooksNonEmpty, getCodexHome, getCodexPaths, inspectDoctor, listAccountNames, listAccounts, loginAccount, readCurrentMarker, removeAccount, renameAccount, resolveExecutable, runCodex, saveAccount, switchAndRunCodex, useAccount, validateAccountName, writebackCurrentAccount, } from './accounts.js';
2
2
  export { HERMES_CODEX_BASE_URL, HERMES_OPENAI_CODEX_PROVIDER, getHermesPaths, inspectHermesStatus, syncHermesAccount, useHermesAccount, } from './hermes.js';
3
- export { DEFAULT_ONEPASSWORD_ITEM_PREFIX, ONEPASSWORD_AUTH_FIELD, ONEPASSWORD_BACKEND, REMOTE_CONFIG_VERSION, configureOnePasswordRemote, getRemoteConfigPath, inspectRemoteStatus, inspectSyncStatus, readRemoteConfig, syncPullAccount, syncPushAccount, } from './remote.js';
3
+ export { DEFAULT_ONEPASSWORD_ITEM_PREFIX, ONEPASSWORD_AUTH_FIELD, ONEPASSWORD_BACKEND, REMOTE_CONFIG_VERSION, configureOnePasswordRemote, getRemoteConfigPath, inspectRemoteStatus, inspectSyncStatus, listRemoteAccountNames, readRemoteConfig, setupOnePasswordProfiles, syncPullAllAccounts, syncPullAccount, syncPushAllAccounts, syncPushAccount, } from './remote.js';
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,GAChB,MAAM,aAAa,CAAC"}
package/dist/remote.d.ts CHANGED
@@ -76,10 +76,29 @@ export interface SyncStatus {
76
76
  readonly opPath: string | null;
77
77
  readonly accounts: readonly SyncStatusAccount[];
78
78
  }
79
+ export interface SetupOnePasswordProfilesInput extends ConfigureOnePasswordRemoteInput {
80
+ readonly pull?: boolean;
81
+ readonly force?: boolean;
82
+ readonly use?: string;
83
+ }
84
+ export interface SetupOnePasswordProfilesResult {
85
+ readonly configPath: string;
86
+ readonly remoteConfigured: boolean;
87
+ readonly opAvailable: boolean;
88
+ readonly vault: string;
89
+ readonly itemPrefix: string;
90
+ readonly remoteAccounts: readonly string[];
91
+ readonly pulledAccounts: readonly string[];
92
+ readonly usedAccount: string | null;
93
+ }
79
94
  export declare function getRemoteConfigPath(paths?: CodexPaths): string;
80
95
  export declare function readRemoteConfig(options?: RemotePathOptions): Promise<RemoteConfig | null>;
81
96
  export declare function configureOnePasswordRemote(input: ConfigureOnePasswordRemoteInput, options?: RemotePathOptions): Promise<ConfigureRemoteResult>;
82
97
  export declare function inspectRemoteStatus(options?: RemoteCliOptions): Promise<RemoteStatus>;
83
98
  export declare function syncPushAccount(account: string, options?: RemoteCliOptions): Promise<SyncPushResult>;
84
99
  export declare function syncPullAccount(account: string, options?: RemoteForceOptions): Promise<SyncPullResult>;
100
+ export declare function listRemoteAccountNames(options?: RemoteCliOptions): Promise<string[]>;
101
+ export declare function syncPullAllAccounts(options?: RemoteForceOptions): Promise<SyncPullResult[]>;
102
+ export declare function syncPushAllAccounts(options?: RemoteCliOptions): Promise<SyncPushResult[]>;
103
+ export declare function setupOnePasswordProfiles(input: SetupOnePasswordProfilesInput, options?: RemoteCliOptions): Promise<SetupOnePasswordProfilesResult>;
85
104
  export declare function inspectSyncStatus(account?: string, options?: RemoteCliOptions): Promise<SyncStatus>;