@christiandoxa/prodex 0.2.131 → 0.2.133

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 +47 -53
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -2,30 +2,24 @@
2
2
 
3
3
  [![CI](https://github.com/christiandoxa/prodex/actions/workflows/ci.yml/badge.svg)](https://github.com/christiandoxa/prodex/actions/workflows/ci.yml)
4
4
 
5
- Run multiple isolated Codex profiles on the same OpenAI account pool, with smart quota checks, clean profile separation, and continuation-aware routing.
5
+ Run multiple isolated Codex profiles on the same OpenAI account pool.
6
6
 
7
- `prodex` helps you manage multiple Codex identities without turning your workflow into a mess.
7
+ `prodex` is a small CLI for managing multiple Codex profiles without manually switching logins and local state.
8
8
 
9
- It is designed around a simple model:
9
+ It uses a simple model:
10
10
 
11
11
  - **One account = one profile**
12
12
  - **Quota is checked before launch**
13
13
  - **Fresh work can move to another ready profile**
14
14
  - **Existing continuations stay with the profile that already owns them**
15
15
 
16
- That means you can keep working smoothly across multiple accounts while preserving session continuity where it matters.
17
-
18
16
  ## Why `prodex`?
19
17
 
20
- Not everyone wants to pay $200 for a single account.
21
-
22
- Sometimes it makes more sense to run 2 or 3 separate $20 accounts you already have. The problem is that doing it manually is annoying fast. You have to log in, log out, switch homes, check quota, and keep track of which session belongs to which account.
18
+ If you use multiple accounts, doing everything by hand gets old quickly.
23
19
 
24
- `prodex` exists to remove that pain.
20
+ A common case is having 2 or 3 separate $20 accounts instead of paying for a higher-tier plan. That works, but the workflow is annoying. You have to log in and out, switch homes, check quota manually, and remember which session belongs to which account.
25
21
 
26
- It manages isolated profiles for each account, checks quota before launch, routes fresh work to an available profile, and keeps ongoing continuations attached to the right one.
27
-
28
- Less account juggling, less friction, more actual work.
22
+ `prodex` handles that setup by keeping profiles isolated, checking quota before launch, and keeping continuations on the profile that already owns them.
29
23
 
30
24
  ## Requirements
31
25
 
@@ -36,7 +30,7 @@ Before using `prodex`, make sure you have:
36
30
  - **Claude Code (`claude`)**, if you want to use `prodex claude`
37
31
 
38
32
  > Installing `@christiandoxa/prodex` from npm also installs the Codex runtime dependency for you.
39
- > Claude Code is still a separate CLI and must already be available on your `PATH` if you want to use `prodex claude`.
33
+ > Claude Code is still a separate CLI and should already be available on your `PATH` when you use `prodex claude`.
40
34
 
41
35
  ## Install
42
36
 
@@ -44,7 +38,7 @@ Before using `prodex`, make sure you have:
44
38
 
45
39
  ```bash
46
40
  npm install -g @christiandoxa/prodex
47
- ```
41
+ ````
48
42
 
49
43
  ### Cargo
50
44
 
@@ -62,18 +56,18 @@ Check your installed version:
62
56
  prodex --version
63
57
  ```
64
58
 
65
- The current local version in this repo is `0.2.131`:
59
+ The current local version in this repo is `0.2.133`:
66
60
 
67
61
  ```bash
68
- npm install -g @christiandoxa/prodex@0.2.131
69
- cargo install prodex --force --version 0.2.131
62
+ npm install -g @christiandoxa/prodex@0.2.133
63
+ cargo install prodex --force --version 0.2.133
70
64
  ```
71
65
 
72
66
  Dependency status in this repo:
73
67
 
74
- - The npm runtime dependency is already at the latest published `@openai/codex` release: `0.118.0`
75
- - `cargo update` currently produces no Rust lockfile changes on the Rust `1.94.1` compatible graph used by this project
76
- - `generic-array` remains pinned transitively by `crypto-common`, and `sha2 0.11` would require a wider RustCrypto compatibility jump than this release
68
+ * The npm runtime dependency is already at the latest published `@openai/codex` release: `0.118.0`
69
+ * `cargo update` currently produces no Rust lockfile changes on the Rust `1.94.1` compatible graph used by this project
70
+ * `generic-array` remains pinned transitively by `crypto-common`, and `sha2 0.11` would require a wider RustCrypto compatibility jump than this release
77
71
 
78
72
  Switching from a Cargo-installed binary to npm?
79
73
 
@@ -97,7 +91,7 @@ prodex login
97
91
  prodex login --device-auth
98
92
  ```
99
93
 
100
- Want to name the profile first?
94
+ If you want to name the profile first:
101
95
 
102
96
  ```bash
103
97
  prodex profile add second
@@ -120,11 +114,11 @@ prodex exec "review this repo"
120
114
  prodex claude -- -p "summarize this repo"
121
115
  ```
122
116
 
123
- > `prodex` without a subcommand is shorthand for `prodex run`.
117
+ `prodex` without a subcommand is shorthand for `prodex run`.
124
118
 
125
119
  ## Common Workflows
126
120
 
127
- ### 1. Create or import profiles
121
+ ### Create or import profiles
128
122
 
129
123
  ```bash
130
124
  prodex profile import-current main
@@ -132,7 +126,7 @@ prodex profile add second
132
126
  prodex login --profile second
133
127
  ```
134
128
 
135
- ### 2. Inspect your pool
129
+ ### Inspect your pool
136
130
 
137
131
  ```bash
138
132
  prodex profile list
@@ -140,7 +134,7 @@ prodex quota --all
140
134
  prodex info
141
135
  ```
142
136
 
143
- ### 3. Run Codex with automatic profile selection
137
+ ### Run Codex with automatic profile selection
144
138
 
145
139
  ```bash
146
140
  prodex
@@ -148,20 +142,20 @@ prodex run
148
142
  prodex exec "review this repo"
149
143
  ```
150
144
 
151
- ### 4. Resume an existing session on the correct profile
145
+ ### Resume an existing session on the correct profile
152
146
 
153
147
  ```bash
154
148
  prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
155
149
  ```
156
150
 
157
- ### 5. Run Claude Code through the same profile pool
151
+ ### Run Claude Code through the same profile pool
158
152
 
159
153
  ```bash
160
154
  prodex claude -- -p "summarize this repo"
161
155
  prodex claude --profile second -- -p --output-format json "show the latest diff"
162
156
  ```
163
157
 
164
- For managed profiles, Prodex now seeds Claude state from your existing `~/.claude` and `~/.claude.json` on first use, then keeps Claude config and chat history in shared Prodex-managed state.
158
+ For managed profiles, Prodex can seed Claude state from your existing `~/.claude` and `~/.claude.json` on first use, then keep Claude config and chat history in shared Prodex-managed state.
165
159
 
166
160
  ## Command Reference
167
161
 
@@ -237,9 +231,9 @@ That pointer path lives in `/tmp` only when you keep the default runtime log dir
237
231
 
238
232
  Use `prodex cleanup` to remove stale local runtime logs, temporary login homes, dead broker leases and registries, plus old orphaned managed profile homes that are no longer tracked in state.
239
233
 
240
- ## Runtime Policy
234
+ ## Advanced Runtime Configuration
241
235
 
242
- Enterprise-style local deployments can pin runtime logging and proxy tuning in `$PRODEX_HOME/policy.toml` or `~/.prodex/policy.toml`.
236
+ If you want tighter control over runtime logging, secrets, or proxy behavior, you can pin local settings in `$PRODEX_HOME/policy.toml` or `~/.prodex/policy.toml`.
243
237
 
244
238
  ```toml
245
239
  version = 1
@@ -262,38 +256,38 @@ stream_idle_timeout_ms = 300000
262
256
 
263
257
  Notes:
264
258
 
265
- * Environment variables still win over `policy.toml`.
266
- * `prodex info` and `prodex doctor` show the active policy file, selected secret backend, and effective runtime log mode.
267
- * The default runtime log format remains `text`; set `log_format = "json"` or `PRODEX_RUNTIME_LOG_FORMAT=json` when you want machine-readable runtime logs.
268
- * Secret backend selection can be overridden with `PRODEX_SECRET_BACKEND` and `PRODEX_SECRET_KEYRING_SERVICE`.
269
- * `prodex audit` reads the local append-only audit log and supports `--tail`, `--component`, `--action`, `--outcome`, and `--json`.
259
+ * Environment variables still win over `policy.toml`
260
+ * `prodex info` and `prodex doctor` show the active policy file, selected secret backend, and effective runtime log mode
261
+ * The default runtime log format remains `text`; set `log_format = "json"` or `PRODEX_RUNTIME_LOG_FORMAT=json` when you want machine-readable runtime logs
262
+ * Secret backend selection can be overridden with `PRODEX_SECRET_BACKEND` and `PRODEX_SECRET_KEYRING_SERVICE`
263
+ * `prodex audit` reads the local append-only audit log and supports `--tail`, `--component`, `--action`, `--outcome`, and `--json`
270
264
 
271
- ## Enterprise Hardening
265
+ ## Hardening And Operational Notes
272
266
 
273
- The current hardening is still local-first, but it now includes:
267
+ The current setup is still local-first, but it already includes:
274
268
 
275
- - a secret-management abstraction for `auth.json` and exported profile bundles, plus global secret-backend selection via policy or environment
276
- - a stable live broker snapshot at `GET /__prodex/runtime/metrics`
277
- - a Prometheus scrape target at `GET /__prodex/runtime/metrics/prometheus`
278
- - `prodex info` and `prodex doctor --runtime --json` surfacing live broker metrics targets and the selected secret backend
279
- - enterprise audit logging for profile selection, rotation decisions, and admin-facing state changes, kept separate from transport behavior and discoverable via `prodex info` or `prodex doctor --runtime --json`
280
- - `prodex audit` as a local read-only CLI surface for browsing recent append-only audit events
269
+ * a secret-management abstraction for `auth.json` and exported profile bundles
270
+ * a stable live broker snapshot at `GET /__prodex/runtime/metrics`
271
+ * a Prometheus scrape target at `GET /__prodex/runtime/metrics/prometheus`
272
+ * `prodex info` and `prodex doctor --runtime --json` surfacing live broker metrics targets and the selected secret backend
273
+ * append-only audit logging for profile selection, rotation decisions, and admin-facing state changes
274
+ * `prodex audit` as a local read-only CLI surface for browsing recent audit events
281
275
 
282
276
  Current limitations:
283
277
 
284
- - local `auth.json` remains the compatibility source of truth for current Codex flows even when a non-file backend is selected
285
- - there is no keychain, Vault, or KMS-backed secret backend implementation yet
286
- - audit logs follow the resolved runtime log directory by default, or `PRODEX_AUDIT_LOG_DIR` when set
287
- - there is no central control plane, RBAC, SSO, or SCIM
288
- - `prodex doctor --runtime --json` is operationally useful, but it is not a full observability stack
289
- - the repo still assumes a per-host profile pool and local state ownership
290
- - runtime-store modularization is still in progress, so persistence and audit/event handling remain implementation details rather than a public API
278
+ * local `auth.json` remains the compatibility source of truth for current Codex flows even when a non-file backend is selected
279
+ * there is no keychain, Vault, or KMS-backed secret backend implementation yet
280
+ * audit logs follow the resolved runtime log directory by default, or `PRODEX_AUDIT_LOG_DIR` when set
281
+ * there is no central control plane, RBAC, SSO, or SCIM
282
+ * `prodex doctor --runtime --json` is useful operationally, but it is not a full observability stack
283
+ * the repo still assumes a per-host profile pool and local state ownership
284
+ * runtime-store modularization is still in progress, so persistence and audit/event handling remain implementation details rather than a public API
291
285
 
292
286
  ## Notes
293
287
 
294
- * Managed profiles share persisted Codex state through Prodex-owned shared storage.
295
- * `prodex quota --all` refreshes live by default.
296
- * Use `--once` if you only want a one-shot snapshot.
288
+ * Managed profiles share persisted Codex state through Prodex-owned shared storage
289
+ * `prodex quota --all` refreshes live by default
290
+ * Use `--once` if you only want a one-shot snapshot
297
291
 
298
292
  ## Learn More
299
293
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christiandoxa/prodex",
3
- "version": "0.2.131",
3
+ "version": "0.2.133",
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": "^0.118.0"
17
17
  },
18
18
  "optionalDependencies": {
19
- "@christiandoxa/prodex-linux-x64": "0.2.131",
20
- "@christiandoxa/prodex-linux-arm64": "0.2.131",
21
- "@christiandoxa/prodex-darwin-x64": "0.2.131",
22
- "@christiandoxa/prodex-darwin-arm64": "0.2.131",
23
- "@christiandoxa/prodex-win32-x64": "0.2.131",
24
- "@christiandoxa/prodex-win32-arm64": "0.2.131"
19
+ "@christiandoxa/prodex-linux-x64": "0.2.133",
20
+ "@christiandoxa/prodex-linux-arm64": "0.2.133",
21
+ "@christiandoxa/prodex-darwin-x64": "0.2.133",
22
+ "@christiandoxa/prodex-darwin-arm64": "0.2.133",
23
+ "@christiandoxa/prodex-win32-x64": "0.2.133",
24
+ "@christiandoxa/prodex-win32-arm64": "0.2.133"
25
25
  },
26
26
  "engines": {
27
27
  "node": ">=18"