@christiandoxa/prodex 0.46.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +46 -71
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -1,42 +1,21 @@
1
1
  # prodex
2
2
 
3
- `prodex` is a wrapper for Codex and Claude Code when you want to work with multiple isolated profiles.
3
+ `prodex` is a wrapper for Codex and Claude Code for working with multiple profiles.
4
4
 
5
- Each profile can use a different account. For default OpenAI/Codex profiles, `prodex` checks quota and can route new work to another available profile. Existing sessions stay attached to the profile they started with.
5
+ The main feature is auto rotate. If one OpenAI/Codex profile runs out of quota, `prodex` can route new work to another profile that is still available. You do not need to switch accounts manually.
6
6
 
7
- If a profile's `config.toml` sets `model_provider` to a non-OpenAI backend such as `amazon-bedrock`, `prodex run` and `prodex caveman` launch directly without quota preflight or the local auto-rotate proxy, `prodex quota` is unavailable for that profile, and `prodex claude` is unsupported.
7
+ It also keeps profiles isolated and keeps existing sessions attached to the profile they started with.
8
8
 
9
- It can also run Caveman mode and optionally connect Claude-Mem to the active session path.
9
+ ## Why use it
10
10
 
11
- ## When to use it
11
+ Use `prodex` if you want to:
12
12
 
13
- `prodex` is useful if you:
13
+ - automatically use another available profile when quota runs out
14
+ - work with multiple accounts
15
+ - keep each profile isolated
16
+ - keep sessions tied to the original profile
14
17
 
15
- - use multiple accounts for CLI agent workflows
16
- - want isolated profile environments
17
- - need quota checks before launch
18
- - want session continuity tied to the original profile
19
-
20
- If you only use one account and do not care about quota-aware routing or isolated homes, you probably do not need it.
21
-
22
- ## Repository layout
23
-
24
- - `src/main.rs` — binary entrypoint
25
- - `src/lib.rs` — shared crate wiring and test support
26
- - `src/app_commands/`, `src/command_dispatch.rs`, `src/cli_args.rs` — CLI parsing and top-level command flow
27
- - `src/profile_commands/`, `src/quota_support/`, `src/secret_store/`, `src/profile_identity.rs` — profile, quota, secret storage, and identity management
28
- - `src/runtime_proxy/`, `src/runtime_launch/`, `src/runtime_persistence/`, `src/runtime_store/`, `src/runtime_broker/` — runtime internals
29
- - `src/runtime_claude/`, `src/runtime_anthropic/`, `src/runtime_caveman.rs`, `src/runtime_mem.rs` — Claude, Caveman, and memory integrations
30
- - `scripts/npm/` and `npm/` — npm packaging and publishing helpers
31
-
32
- ## Supported commands
33
-
34
- - `prodex` / `prodex run`
35
- - `prodex caveman`
36
- - `prodex caveman mem`
37
- - `prodex claude`
38
- - `prodex claude caveman`
39
- - `prodex claude caveman mem`
18
+ If you only use one account and do not need profile isolation or quota-aware routing, you probably do not need it.
40
19
 
41
20
  ## Requirements
42
21
 
@@ -45,7 +24,7 @@ You need at least one logged-in Prodex profile.
45
24
  Depending on your setup, you may also need:
46
25
 
47
26
  - Codex CLI for `prodex` and `prodex caveman`
48
- - Claude Code for `prodex claude` and `prodex claude caveman`
27
+ - Claude Code for `prodex claude`
49
28
  - `claude-mem` for `mem` variants
50
29
 
51
30
  ## Install
@@ -56,15 +35,13 @@ Depending on your setup, you may also need:
56
35
  npm install -g @christiandoxa/prodex
57
36
  ````
58
37
 
59
- This installs `prodex` and pulls in the current Codex runtime dependency.
60
-
61
38
  ### Cargo
62
39
 
63
40
  ```bash
64
41
  cargo install prodex
65
42
  ```
66
43
 
67
- Cargo installs use the `codex` binary already available in your `PATH`, so you need to keep that updated separately.
44
+ If you install with Cargo, make sure the `codex` binary in your `PATH` is already installed and up to date.
68
45
 
69
46
  ## Quick start
70
47
 
@@ -82,23 +59,21 @@ prodex profile add second
82
59
  prodex login --profile second
83
60
  ```
84
61
 
85
- Import a logged-in Copilot CLI account:
62
+ You can also import a logged-in Copilot CLI account:
86
63
 
87
64
  ```bash
88
65
  prodex profile import copilot
89
66
  prodex profile import copilot --name copilot-main --activate
90
67
  ```
91
68
 
92
- Check available profiles and quota:
69
+ Check your profiles and quota:
93
70
 
94
71
  ```bash
95
72
  prodex profile list
96
73
  prodex quota --all
97
74
  ```
98
75
 
99
- `prodex quota` supports OpenAI/Codex profiles and imported Copilot accounts. It does not support profiles whose `config.toml` selects a non-OpenAI `model_provider`.
100
-
101
- Run commands through `prodex`:
76
+ Run through `prodex`:
102
77
 
103
78
  ```bash
104
79
  prodex
@@ -107,29 +82,11 @@ prodex caveman mem
107
82
  prodex exec "review this repo"
108
83
  prodex claude -- -p "summarize this repo"
109
84
  prodex claude mem -- -p "recall past work on this repo"
110
- prodex claude caveman -- -p "summarize this repo briefly"
111
- prodex claude caveman mem -- -p "summarize this repo briefly"
112
- ```
113
-
114
- ## Profile commands
115
-
116
- ```bash
117
- prodex profile list
118
- prodex profile add second
119
- prodex profile import copilot
120
- prodex profile import-current main
121
- prodex login --profile second
122
- prodex use --profile main
123
- prodex logout --profile main
124
- prodex profile remove second
125
- prodex profile remove --all
126
85
  ```
127
86
 
128
- ### Note on Copilot import
87
+ ## Common commands
129
88
 
130
- `prodex profile import copilot` does not move the Copilot token into Prodex-managed storage. The token stays where Copilot already stores it. Prodex only records the provider identity and API endpoint in its own metadata.
131
-
132
- ## Codex examples
89
+ ### Run Codex
133
90
 
134
91
  ```bash
135
92
  prodex
@@ -140,9 +97,7 @@ prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
140
97
  printf 'context from stdin' | prodex run exec "summarize this"
141
98
  ```
142
99
 
143
- If the selected profile sets `model_provider` to a non-OpenAI backend, Prodex skips quota preflight and launches Codex directly without the local runtime proxy.
144
-
145
- ## Caveman examples
100
+ ### Run Caveman mode
146
101
 
147
102
  ```bash
148
103
  prodex caveman
@@ -154,11 +109,9 @@ prodex caveman 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
154
109
 
155
110
  `prodex caveman` runs Codex with a temporary overlay `CODEX_HOME`, so the base profile home stays unchanged after the session ends.
156
111
 
157
- If the selected profile sets `model_provider` to a non-OpenAI backend, Prodex skips quota preflight and launches Caveman directly without the local runtime proxy.
158
-
159
112
  If you use the `mem` variant, Prodex points an existing Claude-Mem Codex setup to the active Prodex session path instead of the default `~/.codex/sessions`.
160
113
 
161
- ## Claude Code examples
114
+ ### Run Claude Code
162
115
 
163
116
  ```bash
164
117
  prodex claude -- -p "summarize this repo"
@@ -173,11 +126,35 @@ prodex claude --profile second -- -p --output-format json "show the latest diff"
173
126
 
174
127
  `prodex claude` uses the normal Claude Code flow.
175
128
 
176
- This path requires the default OpenAI/Codex provider. Profiles whose `config.toml` sets a non-OpenAI `model_provider` are not supported by `prodex claude`.
129
+ `prodex claude caveman` enables Caveman for that session while keeping state under the Prodex-managed `CLAUDE_CONFIG_DIR`, not the global `~/.claude`.
177
130
 
178
- `prodex claude caveman` loads Caveman only for that session while keeping state under the Prodex-managed `CLAUDE_CONFIG_DIR`, not the global `~/.claude`.
131
+ `prodex claude caveman mem` combines Caveman and Claude-Mem.
179
132
 
180
- `prodex claude caveman mem` combines both Caveman and Claude-Mem.
133
+ ## Profile commands
134
+
135
+ ```bash
136
+ prodex profile list
137
+ prodex profile add second
138
+ prodex profile import copilot
139
+ prodex profile import-current main
140
+ prodex login --profile second
141
+ prodex use --profile main
142
+ prodex logout --profile main
143
+ prodex profile remove second
144
+ prodex profile remove --all
145
+ ```
146
+
147
+ ## Notes
148
+
149
+ Auto rotate and quota checks apply to supported OpenAI/Codex profiles.
150
+
151
+ If a profile's `config.toml` sets `model_provider` to a non-OpenAI backend such as `amazon-bedrock`, `prodex run` and `prodex caveman` launch directly without quota preflight or the local auto-rotate proxy.
152
+
153
+ `prodex quota` is not available for those profiles.
154
+
155
+ `prodex claude` is only supported with the default OpenAI/Codex provider.
156
+
157
+ When you import a Copilot profile, Prodex does not move the Copilot token into Prodex-managed storage. It only records the provider identity and API endpoint in its own metadata.
181
158
 
182
159
  ## Utility commands
183
160
 
@@ -188,8 +165,6 @@ prodex quota --all --once
188
165
  prodex doctor --runtime
189
166
  ```
190
167
 
191
- If Prodex returns `409 stale_continuation`, the request still carries continuation state, but the original binding is gone or no longer safe to reuse. Prodex refuses to fresh-replay that turn on another profile because continuation affinity is part of the request contract, and replaying it elsewhere can drop tool context or continue the wrong conversation. Start a new prompt or retry from the same live session if it still exists. If the failure looks unexpected, `prodex doctor --runtime` and the latest runtime log can show which continuation binding went stale.
192
-
193
168
  ## More
194
169
 
195
170
  See [QUICKSTART.md](./QUICKSTART.md) for a longer walkthrough.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christiandoxa/prodex",
3
- "version": "0.46.0",
3
+ "version": "0.47.0",
4
4
  "description": "Safe multi-account auto-rotate for Codex CLI with isolated CODEX_HOME profiles",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -16,12 +16,12 @@
16
16
  "@openai/codex": "latest"
17
17
  },
18
18
  "optionalDependencies": {
19
- "@christiandoxa/prodex-linux-x64": "0.46.0",
20
- "@christiandoxa/prodex-linux-arm64": "0.46.0",
21
- "@christiandoxa/prodex-darwin-x64": "0.46.0",
22
- "@christiandoxa/prodex-darwin-arm64": "0.46.0",
23
- "@christiandoxa/prodex-win32-x64": "0.46.0",
24
- "@christiandoxa/prodex-win32-arm64": "0.46.0"
19
+ "@christiandoxa/prodex-linux-x64": "0.47.0",
20
+ "@christiandoxa/prodex-linux-arm64": "0.47.0",
21
+ "@christiandoxa/prodex-darwin-x64": "0.47.0",
22
+ "@christiandoxa/prodex-darwin-arm64": "0.47.0",
23
+ "@christiandoxa/prodex-win32-x64": "0.47.0",
24
+ "@christiandoxa/prodex-win32-arm64": "0.47.0"
25
25
  },
26
26
  "engines": {
27
27
  "node": ">=18"