@bitkyc08/opencodex 2.46.0 → 2.47.0-preview.20260908

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 (66) hide show
  1. package/README.md +22 -0
  2. package/SPONSORS.md +105 -0
  3. package/gui/dist/assets/index-B8ZZ0ivI.css +1 -0
  4. package/gui/dist/assets/index-CNTWhC5F.js +115 -0
  5. package/gui/dist/index.html +2 -2
  6. package/package.json +2 -1
  7. package/src/adapters/cursor/protobuf-request.ts +34 -21
  8. package/src/adapters/cursor/tool-guidance.ts +2 -2
  9. package/src/adapters/cursor/tool-result-normalize.ts +22 -2
  10. package/src/adapters/exec-tool-result-normalize.ts +87 -0
  11. package/src/adapters/kiro.ts +29 -18
  12. package/src/adapters/responses-code-mode.ts +14 -4
  13. package/src/adapters/tool-catalog-nudge.ts +2 -2
  14. package/src/bridge.ts +40 -24
  15. package/src/claude/inbound.ts +21 -6
  16. package/src/claude/outbound.ts +43 -26
  17. package/src/cli/capabilities.ts +27 -0
  18. package/src/cli/integrations.ts +1 -1
  19. package/src/cli/models-runtime-subcommands.ts +2 -0
  20. package/src/cli/models-runtime.ts +108 -1
  21. package/src/cli/observe.ts +18 -3
  22. package/src/cli/usage-report.ts +6 -1
  23. package/src/clients/config-export.ts +5 -3
  24. package/src/codex/auth-api.ts +36 -0
  25. package/src/codex/catalog/provider-fetch.ts +2 -1
  26. package/src/codex/quota-auto-refresh-state.ts +8 -0
  27. package/src/codex/quota-auto-refresh.ts +157 -27
  28. package/src/codex/warmup.ts +5 -0
  29. package/src/config/provider-validation.ts +70 -1
  30. package/src/config.ts +73 -1
  31. package/src/generated/compatibility-version.json +67 -55
  32. package/src/lib/json-byte-size.ts +61 -0
  33. package/src/lib/provider-outbound.ts +11 -10
  34. package/src/oauth/index.ts +42 -8
  35. package/src/oauth/orcarouter.ts +200 -0
  36. package/src/providers/key-store.ts +22 -0
  37. package/src/providers/registry.ts +78 -29
  38. package/src/responses/citation-markers.ts +56 -24
  39. package/src/responses/reasoning-envelope.ts +53 -19
  40. package/src/server/auth-cors.ts +8 -0
  41. package/src/server/chat-completions.ts +7 -0
  42. package/src/server/chat-native.ts +65 -3
  43. package/src/server/claude-messages.ts +30 -10
  44. package/src/server/effort-policy.ts +183 -1
  45. package/src/server/management/agent-settings-routes.ts +50 -9
  46. package/src/server/management/config-routes.ts +2 -0
  47. package/src/server/management/logs-usage-routes.ts +11 -3
  48. package/src/server/management/model-routes.ts +65 -1
  49. package/src/server/management/model-rows.ts +5 -0
  50. package/src/server/management/provider-routes.ts +99 -6
  51. package/src/server/management/route-registry.ts +2 -0
  52. package/src/server/management/usage-aggregate-cache.ts +14 -7
  53. package/src/server/responses/compact.ts +3 -2
  54. package/src/server/responses/core.ts +16 -2
  55. package/src/server/startup-health-cache.ts +31 -9
  56. package/src/types/config.ts +5 -0
  57. package/src/types/provider.ts +4 -0
  58. package/src/usage/cost.ts +27 -31
  59. package/src/usage/summary.ts +52 -9
  60. package/src/usage/time-range.ts +48 -0
  61. package/src/usage/user-cost-overlays.ts +35 -3
  62. package/src/vision/anthropic-describe.ts +46 -2
  63. package/src/web-search/anthropic-executor.ts +49 -3
  64. package/src/web-search/parse.ts +1 -1
  65. package/gui/dist/assets/index-B72RPblC.js +0 -115
  66. package/gui/dist/assets/index-BFgUC17B.css +0 -1
package/README.md CHANGED
@@ -99,6 +99,26 @@ account exclusion, affinity expiry, or 401/403 and 429 recovery can rebind them.
99
99
  selection order when one of them — usually your Codex Desktop login — should only be reached for
100
100
  once the others are drained.
101
101
 
102
+ ### Sponsors
103
+
104
+ Sponsors keep opencodex maintained across every upstream protocol change. Interested?
105
+ See [SPONSORS.md](./SPONSORS.md).
106
+
107
+ <!-- sponsors:main — one banner, model developers only; empty until a Main sponsor signs -->
108
+
109
+ <!-- sponsors:standard — one row per sponsor, in order of signing. Uncomment the table with the first row:
110
+ <table>
111
+ <tbody>
112
+ <tr>
113
+ <td width="180"><a href="SPONSOR_URL"><img src="https://raw.githubusercontent.com/lidge-jun/opencodex/main/assets/sponsors/SPONSOR.png" alt="SPONSOR" width="150"></a></td>
114
+ <td>Thanks to SPONSOR for sponsoring this project! BLURB</td>
115
+ </tr>
116
+ </tbody>
117
+ </table>
118
+ -->
119
+
120
+ ---
121
+
102
122
  <details>
103
123
  <summary>Docker Compose</summary>
104
124
 
@@ -211,6 +231,7 @@ see the [installation docs](https://opencodex.me/getting-started/installation/).
211
231
  - **Sub-agents on any model** — feature routed models in Codex's sub-agent picker, with v1/v2
212
232
  surface control and fallback chains. See the
213
233
  [sub-agent guide](https://opencodex.me/guides/sub-agent-surface/).
234
+ <!-- sponsors:main-first-mention -->
214
235
  - **Log in once, skip the API key** — OAuth for xAI, Anthropic, and Kimi; or forward
215
236
  `codex login`, paste a key, or use `${ENV_VAR}` references.
216
237
  - **Web search & vision sidecars** — non-OpenAI models get real web search and image understanding
@@ -263,6 +284,7 @@ full-slash form keeps working too. Details: [model routing docs](https://opencod
263
284
 
264
285
  ## Providers & adapters
265
286
 
287
+ <!-- sponsors:main-first-mention -->
266
288
  OpenAI (ChatGPT login or API key), Anthropic, Google Gemini, xAI, Kimi, Azure OpenAI, Ollama
267
289
  (local + Cloud), Cursor (experimental), and every OpenAI-compatible endpoint — plus DeepSeek,
268
290
  Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax,
package/SPONSORS.md ADDED
@@ -0,0 +1,105 @@
1
+ # Sponsors
2
+
3
+ opencodex is an independent, MIT-licensed project maintained without company backing. Provider
4
+ sponsorships fund maintenance and keep the proxy current with every upstream protocol change.
5
+ This page is the public rule set: what a sponsor gets, who qualifies for which tier, and how to
6
+ ask. It is written so that a sponsor, a contributor, and a user reading the README all see the
7
+ same terms.
8
+
9
+ "Sponsor" here means a paying provider sponsor. It is unrelated to the `maintainer-sponsored`
10
+ label in [`MAINTAINERS.md`](./MAINTAINERS.md), which is about a maintainer vouching for a
11
+ contributor's change to a restricted surface.
12
+
13
+ Sponsorship buys placement and maintenance attention. It never buys a change in routing behavior,
14
+ a default model, a weaker security default, or an exception to the review policy in
15
+ [`MAINTAINERS.md`](./MAINTAINERS.md). A sponsored preset goes through the same registry
16
+ pattern, typecheck, tests, and review as any other provider.
17
+
18
+ ## Tiers
19
+
20
+ Two tiers, split by what the sponsor is.
21
+
22
+ ### Main — model developers
23
+
24
+ Reserved for organizations that train or host their own foundation models (the OpenAI,
25
+ Anthropic, Google, Moonshot, MiniMax class). API relays and gateways are never sold Main
26
+ regardless of budget.
27
+
28
+ Every model developer is supported as a first-class provider whether or not it sponsors; that
29
+ part does not change. A Main sponsor additionally receives:
30
+
31
+ - The single banner slot above the sponsor table in the README (one at a time; see
32
+ [Placement](#placement)).
33
+ - First mention in the README login and provider lines (the "Log in once" OAuth paragraph and
34
+ the Providers & adapters summary, both marked with a `sponsors:main-first-mention` comment)
35
+ and priority ordering in the built-in provider picker.
36
+ - Everything in the Standard tier below.
37
+
38
+ ### Standard — relays, gateways, and API resellers
39
+
40
+ For OpenAI-compatible relays, routers, gateways, and other resellers of model access. A Standard
41
+ sponsor receives:
42
+
43
+ - One row in the sponsor table: logo (about 150px wide, linking to the sponsor URL), a
44
+ "Thanks to X for sponsoring this project!" line, and a blurb of up to about 80 English words
45
+ supplied by the sponsor and published verbatim. The maintainer may decline or require edits to
46
+ text that is false, misleading, disparages third parties, or breaches applicable law or GitHub
47
+ policy. A second-language blurb (for example Chinese) may run alongside the English one.
48
+ - A built-in provider preset (`ocx provider select <id>`) shipped in a public npm release,
49
+ listed near the top of the provider picker in the dashboard and CLI and marked as a sponsor
50
+ there. (The registry field and picker ordering that back this land with the first sponsor
51
+ preset; today the picker follows registry order.)
52
+ - A detailed entry on the [providers page](https://opencodex.me/guides/providers/) of the docs
53
+ site.
54
+ - Maintenance: if a release breaks the preset or its adapter, the maintainer fixes it; issues
55
+ filed against that provider are triaged first. There is no response-time SLA.
56
+
57
+ ## Placement
58
+
59
+ The README sponsor section sits directly under **Quick start**, before the Docker Compose
60
+ details, so it is on screen before a first-time visitor scrolls. It carries one line of context
61
+ and the placements themselves:
62
+
63
+ 1. One Main banner (empty until a Main sponsor signs).
64
+ 2. The Standard table, one row per sponsor, in order of signing date.
65
+
66
+ The README says nothing else about sponsorship; tiers, pricing, and contact channels live only on
67
+ this page.
68
+
69
+ The translated READMEs under [`readme/`](./readme) carry one linking line right after their
70
+ own quick-start block instead of duplicating the section, so a sponsor change is one edit in
71
+ English.
72
+
73
+ ## Pricing
74
+
75
+ Pricing is by inquiry; there is no public rate card. Sponsors who sign before the repository
76
+ reaches 20,000 GitHub stars lock in their rate for the length of their agreement. Rates rise
77
+ once that mark is passed.
78
+
79
+ Agreements are integration-scoped: they name the deliverables above, anchor the term to the npm
80
+ release that ships them, and carry no marketing obligations on either side. Both sides can walk
81
+ away with a pro-rated refund of unused months if the integration cannot be delivered.
82
+
83
+ ## How to ask
84
+
85
+ - X: DM [@claudeebum](https://x.com/claudeebum)
86
+ - Discord: [discord.gg/JEaPEtkHwh](https://discord.gg/JEaPEtkHwh), channel `#sponsors`
87
+ - Email: jun@lidgeai.com
88
+
89
+ Send what you are (model developer or relay), the base URL and model list of your
90
+ OpenAI-compatible endpoint, and the tier you want. The maintainer replies with terms and a
91
+ draft agreement.
92
+
93
+ ## What sponsors do not get
94
+
95
+ - No influence on routing defaults, failover order, quota policy, or which provider a user's
96
+ request reaches.
97
+ - No relaxation of the [security review](./MAINTAINERS.md) that applies to authentication,
98
+ credentials, or workflow changes.
99
+ - No access to user data, request logs, or telemetry; opencodex does not collect any.
100
+ - No say over unrelated issues, pull requests, or the release schedule.
101
+
102
+ ## Current sponsors
103
+
104
+ Listed in the README sponsor section. This page carries the rules; the README carries the
105
+ names.