oc-chatgpt-multi-auth 5.2.5-beta → 5.3.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.
Files changed (51) hide show
  1. package/README.md +2 -88
  2. package/config/README.md +0 -13
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +238 -152
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/accounts.d.ts +1 -0
  7. package/dist/lib/accounts.d.ts.map +1 -1
  8. package/dist/lib/accounts.js +4 -0
  9. package/dist/lib/accounts.js.map +1 -1
  10. package/dist/lib/auth/token-utils.d.ts +1 -0
  11. package/dist/lib/auth/token-utils.d.ts.map +1 -1
  12. package/dist/lib/auth/token-utils.js +69 -9
  13. package/dist/lib/auth/token-utils.js.map +1 -1
  14. package/dist/lib/cli.d.ts.map +1 -1
  15. package/dist/lib/cli.js +14 -9
  16. package/dist/lib/cli.js.map +1 -1
  17. package/dist/lib/config.d.ts +1 -14
  18. package/dist/lib/config.d.ts.map +1 -1
  19. package/dist/lib/config.js +0 -35
  20. package/dist/lib/config.js.map +1 -1
  21. package/dist/lib/prompts/codex-opencode-bridge.d.ts +0 -4
  22. package/dist/lib/prompts/codex-opencode-bridge.d.ts.map +1 -1
  23. package/dist/lib/prompts/codex-opencode-bridge.js +10 -87
  24. package/dist/lib/prompts/codex-opencode-bridge.js.map +1 -1
  25. package/dist/lib/prompts/codex.d.ts +0 -6
  26. package/dist/lib/prompts/codex.d.ts.map +1 -1
  27. package/dist/lib/prompts/codex.js +0 -96
  28. package/dist/lib/prompts/codex.js.map +1 -1
  29. package/dist/lib/request/fetch-helpers.d.ts +1 -15
  30. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  31. package/dist/lib/request/fetch-helpers.js +1 -62
  32. package/dist/lib/request/fetch-helpers.js.map +1 -1
  33. package/dist/lib/request/request-transformer.d.ts +4 -5
  34. package/dist/lib/request/request-transformer.d.ts.map +1 -1
  35. package/dist/lib/request/request-transformer.js +9 -61
  36. package/dist/lib/request/request-transformer.js.map +1 -1
  37. package/dist/lib/schemas.d.ts +6 -6
  38. package/dist/lib/schemas.d.ts.map +1 -1
  39. package/dist/lib/schemas.js +2 -2
  40. package/dist/lib/schemas.js.map +1 -1
  41. package/dist/lib/storage/migrations.d.ts +2 -0
  42. package/dist/lib/storage/migrations.d.ts.map +1 -1
  43. package/dist/lib/storage/migrations.js +1 -0
  44. package/dist/lib/storage/migrations.js.map +1 -1
  45. package/dist/lib/storage.d.ts +8 -3
  46. package/dist/lib/storage.d.ts.map +1 -1
  47. package/dist/lib/storage.js +79 -17
  48. package/dist/lib/storage.js.map +1 -1
  49. package/dist/lib/types.d.ts +1 -1
  50. package/dist/lib/types.d.ts.map +1 -1
  51. package/package.json +2 -2
package/README.md CHANGED
@@ -13,6 +13,7 @@ OAuth plugin for OpenCode that lets you use ChatGPT Plus/Pro rate limits with mo
13
13
  - **GPT-5.2, GPT-5 Codex, GPT-5.1 Codex Max** and all GPT-5.x variants via ChatGPT OAuth
14
14
  - **Multi-account support** — Add up to 20 ChatGPT accounts, health-aware rotation with automatic failover
15
15
  - **Per-project accounts** — Each project gets its own account storage (new in v4.10.0)
16
+ - **Workspace-aware identity persistence** — Keeps workspace/org identity stable across token refresh and verify-flagged restore flows
16
17
  - **Click-to-switch** — Switch accounts directly from the OpenCode TUI
17
18
  - **Strict tool validation** — Automatically cleans schemas for compatibility with strict models
18
19
  - **Auto-update notifications** — Get notified when a new version is available
@@ -121,90 +122,6 @@ opencode run "Hello" --model=openai/gpt-5.2 --variant=medium
121
122
 
122
123
  ---
123
124
 
124
- ## Beta Quickstart (v5.2.4-beta)
125
-
126
- Use this only if you are testing the beta release.
127
-
128
- ### Install Beta
129
-
130
- ```bash
131
- npm install -g oc-chatgpt-multi-auth@beta
132
- ```
133
-
134
- ### Default (Recommended)
135
-
136
- No extra config is required.
137
-
138
- ### Optional Beta Feature Config
139
-
140
- Enable legacy bridge mode and hashline hint policy:
141
-
142
- ```bash
143
- CODEX_AUTH_REQUEST_TRANSFORM_MODE=legacy
144
- CODEX_AUTH_HASHLINE_HINTS_MODE=off # or: hints | strict
145
- ```
146
-
147
- Legacy compatibility toggle (used only when `CODEX_AUTH_HASHLINE_HINTS_MODE` is unset):
148
-
149
- ```bash
150
- CODEX_AUTH_HASHLINE_HINTS_BETA=1 # maps to hints
151
- CODEX_AUTH_HASHLINE_HINTS_BETA=0 # maps to off
152
- ```
153
-
154
- ### Verify Beta Behavior (Optional)
155
-
156
- ```bash
157
- ENABLE_PLUGIN_REQUEST_LOGGING=1
158
- CODEX_PLUGIN_LOG_BODIES=1
159
- ```
160
-
161
- Then inspect plugin logs for markers:
162
-
163
- - `hashline_beta_hints`
164
- - `hashline_policy mode="strict"`
165
- - `tool_unavailable_recovery`
166
- - `runtime_tool_alias_compat` (appears when runtime tool names conflict with generic alias rules)
167
-
168
- Hashline marker interpretation:
169
-
170
- - If hashline tools are present, marker block is active.
171
- - If hashline tools are missing, marker block is emitted with `active="false"` and guidance falls back to runtime-listed edit tools.
172
-
173
- ### Roll Back To Stable
174
-
175
- ```bash
176
- npm install -g oc-chatgpt-multi-auth@latest
177
- ```
178
-
179
- ### Beta Best Practices (Recommended Workflow)
180
-
181
- Use this workflow for reliable beta testing:
182
-
183
- 1. Use an isolated branch/worktree for beta runs.
184
- 2. Pin exact beta version (`@beta`) and record plugin version under test.
185
- 3. Run one baseline test with default config before enabling optional beta flags.
186
- 4. Enable one beta setting at a time and re-test.
187
- 5. Keep request logging enabled during beta sessions and capture reproducible failure logs.
188
- 6. Keep rollback command ready (`npm install -g oc-chatgpt-multi-auth@latest`).
189
-
190
- Suggested quick test order:
191
-
192
- ```bash
193
- # 1) baseline
194
- opencode run "hello" --model=openai/gpt-5.2 --variant=medium
195
-
196
- # 2) legacy mode only
197
- CODEX_AUTH_REQUEST_TRANSFORM_MODE=legacy opencode run "test legacy mode" --model=openai/gpt-5-codex
198
-
199
- # 3) legacy + hints
200
- CODEX_AUTH_REQUEST_TRANSFORM_MODE=legacy CODEX_AUTH_HASHLINE_HINTS_MODE=hints opencode run "test hints" --model=openai/gpt-5-codex
201
-
202
- # 4) legacy + strict
203
- CODEX_AUTH_REQUEST_TRANSFORM_MODE=legacy CODEX_AUTH_HASHLINE_HINTS_MODE=strict opencode run "test strict" --model=openai/gpt-5-codex
204
- ```
205
-
206
- ---
207
-
208
125
  ## Models
209
126
 
210
127
  ### Model Reference
@@ -586,6 +503,7 @@ OpenCode uses `~/.config/opencode/` on **all platforms** including Windows.
586
503
  | Auth tokens | `~/.opencode/auth/openai.json` |
587
504
  | Multi-account (global) | `~/.opencode/openai-codex-accounts.json` |
588
505
  | Multi-account (per-project) | `~/.opencode/projects/{project-key}/openai-codex-accounts.json` |
506
+ | Flagged accounts | `~/.opencode/openai-codex-flagged-accounts.json` |
589
507
  | Plugin config | `~/.opencode/openai-codex-auth-config.json` |
590
508
  | Debug logs | `~/.opencode/logs/codex-plugin/` |
591
509
 
@@ -793,8 +711,6 @@ Create `~/.opencode/openai-codex-auth-config.json` for optional settings:
793
711
  |--------|---------|--------------|
794
712
  | `requestTransformMode` | `native` | Request shaping mode: `native` keeps OpenCode payloads unchanged; `legacy` enables Codex compatibility rewrites |
795
713
  | `codexMode` | `true` | Legacy-only bridge prompt behavior (applies when `requestTransformMode=legacy`) |
796
- | `hashlineBridgeHintsMode` | `off` | Legacy-transform hint mode for hashline runtimes: `off` (disabled), `hints` (soft preference), `strict` (enforce hashline-first guidance for targeted edits) |
797
- | `hashlineBridgeHintsBeta` | `false` | Legacy compatibility boolean mapped to `hashlineBridgeHintsMode` (`true -> hints`, `false -> off`) |
798
714
  | `codexTuiV2` | `true` | Enables Codex-style terminal UI output (set `false` for legacy output) |
799
715
  | `codexTuiColorProfile` | `truecolor` | Terminal color profile for Codex UI (`truecolor`, `ansi256`, `ansi16`) |
800
716
  | `codexTuiGlyphMode` | `ascii` | Glyph mode for Codex UI (`ascii`, `unicode`, `auto`) |
@@ -838,8 +754,6 @@ CODEX_PLUGIN_LOG_BODIES=1 opencode # Include raw request/response
838
754
  CODEX_PLUGIN_LOG_LEVEL=debug opencode # Set log level (debug|info|warn|error)
839
755
  CODEX_AUTH_REQUEST_TRANSFORM_MODE=legacy opencode # Re-enable legacy Codex request rewrites
840
756
  CODEX_MODE=0 opencode # Temporarily disable bridge prompt
841
- CODEX_AUTH_HASHLINE_HINTS_MODE=hints opencode # Hashline guidance mode: off|hints|strict
842
- CODEX_AUTH_HASHLINE_HINTS_BETA=1 opencode # Legacy toggle (maps to hints/off when MODE is unset)
843
757
  CODEX_TUI_V2=0 opencode # Disable Codex-style UI (legacy output)
844
758
  CODEX_TUI_COLOR_PROFILE=ansi16 opencode # Force UI color profile
845
759
  CODEX_TUI_GLYPHS=unicode opencode # Override glyph mode (ascii|unicode|auto)
package/config/README.md CHANGED
@@ -73,19 +73,6 @@ Current defaults are strict entitlement handling:
73
73
  - `fallbackToGpt52OnUnsupportedGpt53: true` keeps the legacy `gpt-5.3-codex -> gpt-5.2-codex` edge inside fallback mode
74
74
  - `unsupportedCodexFallbackChain` lets you override fallback order per model
75
75
 
76
- ### Optional hashline guidance mode for edit-tool performance
77
-
78
- If you use legacy request transforms and your runtime exposes hashline edit tools, you can enable:
79
- - `hashlineBridgeHintsMode: "hints"` in `~/.opencode/openai-codex-auth-config.json`
80
- - or `CODEX_AUTH_HASHLINE_HINTS_MODE=hints`
81
-
82
- Modes:
83
- - `off` (default): disabled
84
- - `hints`: soft preference for hashline-style edits over generic patch flows
85
- - `strict`: hashline-first guidance for targeted edits
86
-
87
- Legacy compatibility remains available via `hashlineBridgeHintsBeta` / `CODEX_AUTH_HASHLINE_HINTS_BETA`.
88
-
89
76
  Default fallback chain (when policy is `fallback`):
90
77
  - `gpt-5.3-codex -> gpt-5-codex -> gpt-5.2-codex`
91
78
  - `gpt-5.3-codex-spark -> gpt-5-codex -> gpt-5.3-codex -> gpt-5.2-codex` (only relevant if Spark IDs are added manually)
@@ -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;AAgJ/D;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,iBAAiB,EAAE,MA4jG/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAoB,CAAC;AAElD,eAAe,iBAAiB,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;AA0I/D;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,iBAAiB,EAAE,MAisG/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAoB,CAAC;AAElD,eAAe,iBAAiB,CAAC"}