omnigateway 0.13.7 → 0.14.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.
- package/README.md +23 -0
- package/bin/omni.js +904 -111
- package/gateway.js +973 -189
- package/package.json +1 -1
- package/public/assets/{_app.console-facio1_r.js → _app.console-BgA6_yPW.js} +1 -1
- package/public/assets/_app.keys-CY65Ov9F.js +107 -0
- package/public/assets/{_app.plugins._pluginId-cCDDM_D_.js → _app.plugins._pluginId-B825jp0T.js} +1 -1
- package/public/assets/client-CkeRVeTV.js +39 -0
- package/public/assets/{index-BYDVTknB.js → index-Ug93No6D.js} +2 -2
- package/public/assets/limits-iRyDMg04.js +1 -0
- package/public/assets/{login-BhkdR1f4.js → login-BBURVBwb.js} +1 -1
- package/public/index.html +1 -1
- package/public/assets/_app.keys-Dq5O0AG9.js +0 -92
- package/public/assets/client-DEALADtD.js +0 -39
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
|