omnigateway 0.13.7 → 0.14.1

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/README.md CHANGED
@@ -174,6 +174,18 @@ pair is unlimited. Windows slide, `tokens` and `spend` are debited on
174
174
  completion, and limits are editable afterwards with `omni keys limits`; the
175
175
  semantics are in [docs/operations.md](docs/operations.md#key-limits).
176
176
 
177
+ One model can be held to a stricter ceiling than the rest of the key's traffic
178
+ with `--model-limit <model>:<dimension>:<window>=<value>` (or
179
+ `<model>:concurrency=<value>`) — `omni keys create --label ci --limit
180
+ requests:1m=600 --model-limit opus:requests:1m=20`. The model is the one the
181
+ request names, matched exactly; an override stacks with the key-wide limits, so
182
+ a request for that model must pass both. `omni keys limits <id>
183
+ --unset-model-limit opus:requests:1m` removes a slot, and the last slot takes
184
+ the override with it. **Rolling back** to a build without per-model limits
185
+ refuses every key that carries an override (the older build cannot parse the
186
+ stored limits, so the key answers 500 until its overrides are removed); keys
187
+ without one are unaffected.
188
+
177
189
  A key can also carry an expiry, which is optional and off by default — a key
178
190
  with none works until it is revoked, and no upgrade ever attaches one:
179
191
 
@@ -402,6 +414,17 @@ Worth knowing before you deploy it:
402
414
  Anthropic thinking fields (including beta controls) pass through only to
403
415
  Anthropic; supply any required beta header yourself. Hidden adaptive display
404
416
  omits generated Responses reasoning summaries, without inventing a default.
417
+ - **An OpenAI OAuth (ChatGPT) target presents itself as Codex, and answers like
418
+ it.** Requests on that leg match Codex 0.163.0's TUI field by field, which
419
+ changes model behaviour for every client routed there, Claude Code included:
420
+ one tool call per turn (`parallel_tool_calls: false`), terser answers
421
+ (`text.verbosity: "low"`), and a request that names no reasoning effort —
422
+ including adaptive thinking with no effort — runs at the model's Codex catalog
423
+ default (`low` or `medium`) rather than `medium`. A client's own `text`,
424
+ `reasoning` or tool choice still wins field by field. OpenAI API-key targets
425
+ are unaffected. Credentials connected before this pick up their per-credential
426
+ identity on their next token refresh. Details:
427
+ [the fingerprint design](docs/superpowers/specs/2026-10-16-codex-0163-fingerprint-design.md).
405
428
  - Not in scope: semantic caching, billing.
406
429
 
407
430
  What is missing on purpose, what is missing for now, and what is designed but not