@christiandoxa/prodex 0.2.127 → 0.2.129

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 +66 -3
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -62,13 +62,19 @@ Check your installed version:
62
62
  prodex --version
63
63
  ```
64
64
 
65
- The current local version in this repo is `0.2.127`:
65
+ The current local version in this repo is `0.2.129`:
66
66
 
67
67
  ```bash
68
- npm install -g @christiandoxa/prodex@0.2.127
69
- cargo install prodex --force --version 0.2.127
68
+ npm install -g @christiandoxa/prodex@0.2.129
69
+ cargo install prodex --force --version 0.2.129
70
70
  ```
71
71
 
72
+ Dependency status in this repo:
73
+
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
77
+
72
78
  Switching from a Cargo-installed binary to npm?
73
79
 
74
80
  ```bash
@@ -209,10 +215,13 @@ prodex quota --all
209
215
  prodex quota --all --once
210
216
  prodex quota --profile main --detail
211
217
  prodex info
218
+ prodex audit
219
+ prodex audit --tail 20 --component profile
212
220
  prodex cleanup
213
221
  prodex doctor
214
222
  prodex doctor --quota
215
223
  prodex doctor --runtime
224
+ prodex doctor --runtime --json
216
225
  ```
217
226
 
218
227
  If a runtime session looks stalled, inspect the latest runtime log:
@@ -222,8 +231,62 @@ prodex doctor --runtime
222
231
  tail -n 200 "$(cat /tmp/prodex-runtime-latest.path)"
223
232
  ```
224
233
 
234
+ That pointer path lives in `/tmp` only when you keep the default runtime log directory. If you override the runtime log directory through policy or environment, use `prodex doctor --runtime --json` to read the active `log_path` and live broker metrics.
235
+
225
236
  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.
226
237
 
238
+ ## Runtime Policy
239
+
240
+ Enterprise-style local deployments can pin runtime logging and proxy tuning in `$PRODEX_HOME/policy.toml` or `~/.prodex/policy.toml`.
241
+
242
+ ```toml
243
+ version = 1
244
+
245
+ [runtime]
246
+ log_format = "json"
247
+ log_dir = "runtime-logs"
248
+
249
+ [secrets]
250
+ backend = "file"
251
+ # keyring_service = "prodex"
252
+
253
+ [runtime_proxy]
254
+ worker_count = 16
255
+ active_request_limit = 128
256
+ responses_active_limit = 96
257
+ http_connect_timeout_ms = 5000
258
+ stream_idle_timeout_ms = 300000
259
+ ```
260
+
261
+ Notes:
262
+
263
+ * Environment variables still win over `policy.toml`.
264
+ * `prodex info` and `prodex doctor` show the active policy file, selected secret backend, and effective runtime log mode.
265
+ * The default runtime log format remains `text`; set `log_format = "json"` or `PRODEX_RUNTIME_LOG_FORMAT=json` when you want machine-readable runtime logs.
266
+ * Secret backend selection can be overridden with `PRODEX_SECRET_BACKEND` and `PRODEX_SECRET_KEYRING_SERVICE`.
267
+ * `prodex audit` reads the local append-only audit log and supports `--tail`, `--component`, `--action`, `--outcome`, and `--json`.
268
+
269
+ ## Enterprise Hardening
270
+
271
+ The current hardening is still local-first, but it now includes:
272
+
273
+ - a secret-management abstraction for `auth.json` and exported profile bundles, plus global secret-backend selection via policy or environment
274
+ - a stable live broker snapshot at `GET /__prodex/runtime/metrics`
275
+ - a Prometheus scrape target at `GET /__prodex/runtime/metrics/prometheus`
276
+ - `prodex info` and `prodex doctor --runtime --json` surfacing live broker metrics targets and the selected secret backend
277
+ - 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`
278
+ - `prodex audit` as a local read-only CLI surface for browsing recent append-only audit events
279
+
280
+ Current limitations:
281
+
282
+ - local `auth.json` remains the compatibility source of truth for current Codex flows even when a non-file backend is selected
283
+ - there is no keychain, Vault, or KMS-backed secret backend implementation yet
284
+ - audit logs follow the resolved runtime log directory by default, or `PRODEX_AUDIT_LOG_DIR` when set
285
+ - there is no central control plane, RBAC, SSO, or SCIM
286
+ - `prodex doctor --runtime --json` is operationally useful, but it is not a full observability stack
287
+ - the repo still assumes a per-host profile pool and local state ownership
288
+ - runtime-store modularization is still in progress, so persistence and audit/event handling remain implementation details rather than a public API
289
+
227
290
  ## Notes
228
291
 
229
292
  * Managed profiles share persisted Codex state through Prodex-owned shared storage.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christiandoxa/prodex",
3
- "version": "0.2.127",
3
+ "version": "0.2.129",
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.127",
20
- "@christiandoxa/prodex-linux-arm64": "0.2.127",
21
- "@christiandoxa/prodex-darwin-x64": "0.2.127",
22
- "@christiandoxa/prodex-darwin-arm64": "0.2.127",
23
- "@christiandoxa/prodex-win32-x64": "0.2.127",
24
- "@christiandoxa/prodex-win32-arm64": "0.2.127"
19
+ "@christiandoxa/prodex-linux-x64": "0.2.129",
20
+ "@christiandoxa/prodex-linux-arm64": "0.2.129",
21
+ "@christiandoxa/prodex-darwin-x64": "0.2.129",
22
+ "@christiandoxa/prodex-darwin-arm64": "0.2.129",
23
+ "@christiandoxa/prodex-win32-x64": "0.2.129",
24
+ "@christiandoxa/prodex-win32-arm64": "0.2.129"
25
25
  },
26
26
  "engines": {
27
27
  "node": ">=18"