oc-chatgpt-multi-auth 5.2.5-beta → 5.2.6-beta
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 +42 -7
- package/config/README.md +21 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +259 -17
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +13 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +155 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/prompts/codex-opencode-bridge.d.ts +16 -1
- package/dist/lib/prompts/codex-opencode-bridge.d.ts.map +1 -1
- package/dist/lib/prompts/codex-opencode-bridge.js +56 -15
- package/dist/lib/prompts/codex-opencode-bridge.js.map +1 -1
- package/dist/lib/prompts/codex.d.ts +16 -1
- package/dist/lib/prompts/codex.d.ts.map +1 -1
- package/dist/lib/prompts/codex.js +60 -18
- package/dist/lib/prompts/codex.js.map +1 -1
- package/dist/lib/request/fetch-helpers.d.ts +29 -2
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +194 -3
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/request/helpers/model-map.js +23 -23
- package/dist/lib/request/helpers/model-map.js.map +1 -1
- package/dist/lib/request/model-capabilities.d.ts +26 -0
- package/dist/lib/request/model-capabilities.d.ts.map +1 -0
- package/dist/lib/request/model-capabilities.js +274 -0
- package/dist/lib/request/model-capabilities.js.map +1 -0
- package/dist/lib/request/request-transformer.d.ts +23 -6
- package/dist/lib/request/request-transformer.d.ts.map +1 -1
- package/dist/lib/request/request-transformer.js +142 -44
- package/dist/lib/request/request-transformer.js.map +1 -1
- package/dist/lib/request/response-handler.d.ts +2 -0
- package/dist/lib/request/response-handler.d.ts.map +1 -1
- package/dist/lib/request/response-handler.js +132 -7
- package/dist/lib/request/response-handler.js.map +1 -1
- package/dist/lib/request/retry-policy.d.ts +23 -0
- package/dist/lib/request/retry-policy.d.ts.map +1 -0
- package/dist/lib/request/retry-policy.js +156 -0
- package/dist/lib/request/retry-policy.js.map +1 -0
- package/dist/lib/request/runtime-tool-capabilities.d.ts +23 -0
- package/dist/lib/request/runtime-tool-capabilities.d.ts.map +1 -0
- package/dist/lib/request/runtime-tool-capabilities.js +169 -0
- package/dist/lib/request/runtime-tool-capabilities.js.map +1 -0
- package/dist/lib/schemas.d.ts +44 -2
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +11 -1
- package/dist/lib/schemas.js.map +1 -1
- package/dist/lib/storage/paths.d.ts +5 -0
- package/dist/lib/storage/paths.d.ts.map +1 -1
- package/dist/lib/storage/paths.js +8 -0
- package/dist/lib/storage/paths.js.map +1 -1
- package/dist/lib/storage.d.ts +10 -0
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +46 -2
- package/dist/lib/storage.js.map +1 -1
- package/dist/lib/types.d.ts +10 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +3 -1
- package/scripts/audit-codex-releases.js +529 -0
package/README.md
CHANGED
|
@@ -121,10 +121,12 @@ opencode run "Hello" --model=openai/gpt-5.2 --variant=medium
|
|
|
121
121
|
|
|
122
122
|
---
|
|
123
123
|
|
|
124
|
-
## Beta Quickstart (v5.2.
|
|
124
|
+
## Beta Quickstart (v5.2.6-beta)
|
|
125
125
|
|
|
126
126
|
Use this only if you are testing the beta release.
|
|
127
127
|
|
|
128
|
+
Detailed beta release notes: `docs/releases/v5.2.6-beta.md`
|
|
129
|
+
|
|
128
130
|
### Install Beta
|
|
129
131
|
|
|
130
132
|
```bash
|
|
@@ -135,13 +137,19 @@ npm install -g oc-chatgpt-multi-auth@beta
|
|
|
135
137
|
|
|
136
138
|
No extra config is required.
|
|
137
139
|
|
|
140
|
+
The beta already enables safe defaults for:
|
|
141
|
+
|
|
142
|
+
- one-time tool argument recovery for known-safe missing fields (for example `run_in_background`)
|
|
143
|
+
- approval/policy errors returning actionable guidance without unnecessary account rotation
|
|
144
|
+
|
|
138
145
|
### Optional Beta Feature Config
|
|
139
146
|
|
|
140
147
|
Enable legacy bridge mode and hashline hint policy:
|
|
141
148
|
|
|
142
149
|
```bash
|
|
143
150
|
CODEX_AUTH_REQUEST_TRANSFORM_MODE=legacy
|
|
144
|
-
CODEX_AUTH_HASHLINE_HINTS_MODE=
|
|
151
|
+
CODEX_AUTH_HASHLINE_HINTS_MODE=auto # default; or: off | hints | strict
|
|
152
|
+
CODEX_AUTH_TOOL_ARGUMENT_RECOVERY_MODE=safe # default; set off to disable safe auto-recovery
|
|
145
153
|
```
|
|
146
154
|
|
|
147
155
|
Legacy compatibility toggle (used only when `CODEX_AUTH_HASHLINE_HINTS_MODE` is unset):
|
|
@@ -163,12 +171,19 @@ Then inspect plugin logs for markers:
|
|
|
163
171
|
- `hashline_beta_hints`
|
|
164
172
|
- `hashline_policy mode="strict"`
|
|
165
173
|
- `tool_unavailable_recovery`
|
|
174
|
+
- `tool_argument_recovery`
|
|
166
175
|
- `runtime_tool_alias_compat` (appears when runtime tool names conflict with generic alias rules)
|
|
167
176
|
|
|
177
|
+
Also watch warn logs for `Model reroute observed` when the upstream endpoint serves a different effective model than requested.
|
|
178
|
+
|
|
168
179
|
Hashline marker interpretation:
|
|
169
180
|
|
|
181
|
+
- `auto` mode checks the runtime tool manifest each turn.
|
|
182
|
+
- Detection uses runtime tool names and hashline capability signals from tool metadata (description/schema) for runtimes that keep the tool name as `edit`.
|
|
170
183
|
- If hashline tools are present, marker block is active.
|
|
171
|
-
- If hashline tools are missing, marker block is
|
|
184
|
+
- If hashline tools are missing, marker block is not injected in `auto`; guidance falls back to runtime-listed edit tools.
|
|
185
|
+
- In forced `hints`/`strict`, marker block is still emitted with `active="false"` when hashline tools are missing.
|
|
186
|
+
- True hashline execution requires runtime-exposed hashline edit tools (for example `hashline_*` / `line-hash-*`). If runtime only exposes `apply_patch`/`edit`, hashline cannot be forced.
|
|
172
187
|
|
|
173
188
|
### Roll Back To Stable
|
|
174
189
|
|
|
@@ -213,7 +228,9 @@ CODEX_AUTH_REQUEST_TRANSFORM_MODE=legacy CODEX_AUTH_HASHLINE_HINTS_MODE=strict o
|
|
|
213
228
|
|-------|----------|-------|
|
|
214
229
|
| `gpt-5.2` | none, low, medium, high, xhigh | Latest GPT-5.2 with reasoning levels |
|
|
215
230
|
| `gpt-5-codex` | low, medium, high | Canonical Codex model for code generation (default: high) |
|
|
231
|
+
| `gpt-5.3-codex` | low, medium, high, xhigh | Versioned Codex path (kept as-is in outbound requests) |
|
|
216
232
|
| `gpt-5.3-codex-spark` | low, medium, high, xhigh | Spark IDs are supported by the plugin, but access is entitlement-gated by account/workspace |
|
|
233
|
+
| `gpt-5.2-codex` | low, medium, high, xhigh | Versioned Codex path (kept as-is in outbound requests) |
|
|
217
234
|
| `gpt-5.1-codex-max` | low, medium, high, xhigh | Maximum context Codex |
|
|
218
235
|
| `gpt-5.1-codex` | low, medium, high | Standard Codex |
|
|
219
236
|
| `gpt-5.1-codex-mini` | medium, high | Lightweight Codex |
|
|
@@ -792,21 +809,29 @@ Create `~/.opencode/openai-codex-auth-config.json` for optional settings:
|
|
|
792
809
|
| Option | Default | What It Does |
|
|
793
810
|
|--------|---------|--------------|
|
|
794
811
|
| `requestTransformMode` | `native` | Request shaping mode: `native` keeps OpenCode payloads unchanged; `legacy` enables Codex compatibility rewrites |
|
|
812
|
+
| `policyProfile` | `stable` | Bundled defaults for advanced toggles (`stable`, `balanced`, `aggressive`) while preserving explicit per-setting overrides |
|
|
795
813
|
| `codexMode` | `true` | Legacy-only bridge prompt behavior (applies when `requestTransformMode=legacy`) |
|
|
796
|
-
| `hashlineBridgeHintsMode` | `
|
|
797
|
-
| `hashlineBridgeHintsBeta` | `false` | Legacy compatibility boolean
|
|
814
|
+
| `hashlineBridgeHintsMode` | `auto` | Legacy-transform hint mode for hashline runtimes: `auto` (enable hints only when runtime exposes hashline tools), `off`, `hints`, `strict` |
|
|
815
|
+
| `hashlineBridgeHintsBeta` | `false` | Legacy compatibility boolean used only when `hashlineBridgeHintsMode` is unset (`true -> hints`, `false -> off`) |
|
|
798
816
|
| `codexTuiV2` | `true` | Enables Codex-style terminal UI output (set `false` for legacy output) |
|
|
799
817
|
| `codexTuiColorProfile` | `truecolor` | Terminal color profile for Codex UI (`truecolor`, `ansi256`, `ansi16`) |
|
|
800
818
|
| `codexTuiGlyphMode` | `ascii` | Glyph mode for Codex UI (`ascii`, `unicode`, `auto`) |
|
|
801
819
|
| `fastSession` | `false` | Forces low-latency settings per request (`reasoningEffort=none/low`, `reasoningSummary=auto`, `textVerbosity=low`) |
|
|
802
820
|
| `fastSessionStrategy` | `hybrid` | `hybrid` speeds simple turns but keeps full-depth on complex prompts; `always` forces fast tuning on every turn |
|
|
803
821
|
| `fastSessionMaxInputItems` | `30` | Max input items kept when fast tuning is applied |
|
|
822
|
+
| `toolArgumentRecoveryMode` | `safe` | One-time safe retry guidance for common tool argument schema failures; supports `off`, `safe`, `schema-safe` |
|
|
823
|
+
| `retryPolicyMode` | `legacy` | Retry orchestration mode (`legacy` or `route-matrix`) |
|
|
824
|
+
| `rerouteNoticeMode` | `log` | Reroute visibility (`off`, `log`, `log+ui`) |
|
|
825
|
+
| `jsonRepairMode` | `safe` | Safe SSE JSON repair during non-stream conversion (`safe`, `off`) |
|
|
826
|
+
| `configDoctorMode` | `warn` | Startup warnings for conflicting/legacy config settings (`warn`, `off`) |
|
|
804
827
|
|
|
805
828
|
### Account Settings (v4.10.0+)
|
|
806
829
|
|
|
807
830
|
| Option | Default | What It Does |
|
|
808
831
|
|--------|---------|--------------|
|
|
809
|
-
| `
|
|
832
|
+
| `accountScopeMode` | `project` | Explicit account storage scope: `global`, `project`, or `worktree` |
|
|
833
|
+
| `perProjectAccounts` | `true` | Legacy boolean compatibility (`true -> project`, `false -> global`) |
|
|
834
|
+
| `tokenRefreshSkewMode` | `static` | Refresh-window mode: `static` uses `tokenRefreshSkewMs`, `adaptive` scales skew by expiry horizon + recent refresh failures |
|
|
810
835
|
| `toastDurationMs` | `5000` | How long toast notifications stay visible (ms) |
|
|
811
836
|
|
|
812
837
|
### Retry Behavior
|
|
@@ -838,7 +863,8 @@ CODEX_PLUGIN_LOG_BODIES=1 opencode # Include raw request/response
|
|
|
838
863
|
CODEX_PLUGIN_LOG_LEVEL=debug opencode # Set log level (debug|info|warn|error)
|
|
839
864
|
CODEX_AUTH_REQUEST_TRANSFORM_MODE=legacy opencode # Re-enable legacy Codex request rewrites
|
|
840
865
|
CODEX_MODE=0 opencode # Temporarily disable bridge prompt
|
|
841
|
-
|
|
866
|
+
CODEX_AUTH_POLICY_PROFILE=balanced opencode # Apply bundled defaults (stable|balanced|aggressive)
|
|
867
|
+
CODEX_AUTH_HASHLINE_HINTS_MODE=auto opencode # Hashline guidance mode: auto|off|hints|strict
|
|
842
868
|
CODEX_AUTH_HASHLINE_HINTS_BETA=1 opencode # Legacy toggle (maps to hints/off when MODE is unset)
|
|
843
869
|
CODEX_TUI_V2=0 opencode # Disable Codex-style UI (legacy output)
|
|
844
870
|
CODEX_TUI_COLOR_PROFILE=ansi16 opencode # Force UI color profile
|
|
@@ -847,6 +873,13 @@ CODEX_AUTH_PREWARM=0 opencode # Disable startup prewarm (prom
|
|
|
847
873
|
CODEX_AUTH_FAST_SESSION=1 opencode # Enable faster response defaults
|
|
848
874
|
CODEX_AUTH_FAST_SESSION_STRATEGY=always opencode # Force fast mode for all prompts
|
|
849
875
|
CODEX_AUTH_FAST_SESSION_MAX_INPUT_ITEMS=24 opencode # Tune fast-mode history window
|
|
876
|
+
CODEX_AUTH_ACCOUNT_SCOPE_MODE=worktree opencode # Explicit account storage scope (global|project|worktree)
|
|
877
|
+
CODEX_AUTH_TOOL_ARGUMENT_RECOVERY_MODE=schema-safe opencode # Runtime-schema-aware safe tool-arg recovery
|
|
878
|
+
CODEX_AUTH_RETRY_POLICY_MODE=route-matrix opencode # Route-aware retry policy engine (opt-in)
|
|
879
|
+
CODEX_AUTH_REROUTE_NOTICE_MODE=log+ui opencode # Warn log + TUI toast on upstream model reroute
|
|
880
|
+
CODEX_AUTH_JSON_REPAIR_MODE=safe opencode # Safe SSE JSON payload repair during non-stream parsing
|
|
881
|
+
CODEX_AUTH_CONFIG_DOCTOR_MODE=warn opencode # Startup warnings for conflicting/legacy config
|
|
882
|
+
CODEX_AUTH_TOKEN_REFRESH_SKEW_MODE=adaptive opencode # Adaptive token refresh windowing
|
|
850
883
|
CODEX_AUTH_UNSUPPORTED_MODEL_POLICY=fallback opencode # Enable generic unsupported-model fallback
|
|
851
884
|
CODEX_AUTH_FALLBACK_UNSUPPORTED_MODEL=1 opencode # Legacy fallback toggle (prefer policy var above)
|
|
852
885
|
CODEX_AUTH_FALLBACK_GPT53_TO_GPT52=0 opencode # Disable only the legacy gpt-5.3 -> gpt-5.2 edge
|
|
@@ -862,6 +895,8 @@ For all options, see [docs/configuration.md](docs/configuration.md).
|
|
|
862
895
|
|
|
863
896
|
- [Getting Started](docs/getting-started.md) — Complete installation guide
|
|
864
897
|
- [Configuration](docs/configuration.md) — All configuration options
|
|
898
|
+
- [Codex Release Audit](docs/audit/codex-release-parity.md) — Stable non-beta Codex release snapshot
|
|
899
|
+
- [Codex Release Parity Matrix](docs/audit/codex-release-parity-matrix.md) — Semantic release-note parity matrix (plugin relevance)
|
|
865
900
|
- [Troubleshooting](docs/troubleshooting.md) — Common issues and fixes
|
|
866
901
|
- [Architecture](docs/development/ARCHITECTURE.md) — How the plugin works
|
|
867
902
|
|
package/config/README.md
CHANGED
|
@@ -75,16 +75,33 @@ Current defaults are strict entitlement handling:
|
|
|
75
75
|
|
|
76
76
|
### Optional hashline guidance mode for edit-tool performance
|
|
77
77
|
|
|
78
|
-
If you use legacy request transforms
|
|
79
|
-
|
|
80
|
-
-
|
|
78
|
+
If you use legacy request transforms, `hashlineBridgeHintsMode` now defaults to `auto`.
|
|
79
|
+
That means the plugin checks runtime tool names each turn and only enables hashline hints when hashline-style edit tools are actually exposed.
|
|
80
|
+
It also checks runtime tool metadata signals (description/schema) so hashline-backed `edit` overrides can still be detected.
|
|
81
|
+
|
|
82
|
+
You can still force behavior manually:
|
|
83
|
+
- `hashlineBridgeHintsMode: "auto"` (default), `"off"`, `"hints"`, or `"strict"` in `~/.opencode/openai-codex-auth-config.json`
|
|
84
|
+
- or `CODEX_AUTH_HASHLINE_HINTS_MODE=auto|off|hints|strict`
|
|
81
85
|
|
|
82
86
|
Modes:
|
|
83
|
-
- `
|
|
87
|
+
- `auto` (default): automatic runtime detection
|
|
88
|
+
- `off`: disabled
|
|
84
89
|
- `hints`: soft preference for hashline-style edits over generic patch flows
|
|
85
90
|
- `strict`: hashline-first guidance for targeted edits
|
|
86
91
|
|
|
87
92
|
Legacy compatibility remains available via `hashlineBridgeHintsBeta` / `CODEX_AUTH_HASHLINE_HINTS_BETA`.
|
|
93
|
+
True hashline execution requires runtime-exposed hashline tools; if runtime only exposes generic edit tools, hashline cannot be forced by config alone.
|
|
94
|
+
|
|
95
|
+
### Policy profile + account scope defaults
|
|
96
|
+
|
|
97
|
+
- `policyProfile`: `stable` (default), `balanced`, `aggressive`
|
|
98
|
+
- `accountScopeMode`: `global`, `project` (default), `worktree`
|
|
99
|
+
- `tokenRefreshSkewMode`: `static` (default), `adaptive`
|
|
100
|
+
|
|
101
|
+
Profile defaults are applied only when specific keys are unset. Explicit settings still win.
|
|
102
|
+
Legacy compatibility:
|
|
103
|
+
- `perProjectAccounts: true|false` maps to `accountScopeMode=project|global`
|
|
104
|
+
- `CODEX_AUTH_PER_PROJECT_ACCOUNTS=1|0` works the same way
|
|
88
105
|
|
|
89
106
|
Default fallback chain (when policy is `fallback`):
|
|
90
107
|
- `gpt-5.3-codex -> gpt-5-codex -> gpt-5.2-codex`
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AA+J/D;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,iBAAiB,EAAE,MA63G/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAoB,CAAC;AAElD,eAAe,iBAAiB,CAAC"}
|