Published to npm as @bitkyc08/opencodex@2.7.19 with dist-tag latest.
Commit log
Changes since v2.7.18:
- feat(provider): add OpenCode Free -- keyless public-tier provider (12c9907)
- feat(provider): add MiMo Free -- keyless Xiaomi MiMo public tier (bc79e57)
- fix(mimo-free): use abortSignal not signal on AdapterFetchContext (6eb8243)
- tooling: add pre-push hook matching the CI gate (21c459b)
- test: skip symlink test on Windows without elevated symlink rights (EPERM) (1f55000)
- feat(gui): expose keyOptional through presets API + Free badge + optional key field in AddProviderModal (8079793)
- feat(gui): expose keyOptional through presets API + Free badge + optional key field in AddProviderModal (1946064)
- test(mimo-free): verify deriveProviderPresets exposes keyOptional for GUI picker (837b106)
- test: skip symlink test on Windows without elevated symlink rights (EPERM) (3259351)
- test: skip symlink test on Windows without elevated symlink rights (EPERM) (fbb2fce)
- fix(gui): simplify free provider add flow and add provider icons (4ef3713)
- fix(gui): simplify free provider add flow and add provider icons (60e307d)
- fix(gui): add OAuth manual redirect URL / code paste fallback (74e8ce5)
- fix(gui): label saved free providers and preserve user auth headers (f5ca228)
- fix(gui): label saved free providers and preserve user auth headers (382fd25)
- test(opencode-free): lock user apiKey precedence over static auth header (2b7b879)
- fix(opencode-free): restrict live discovery to -free models (edcf29c)
- fix(opencode-free): avoid persisting registry-only auth headers (88cba66)
- fix(opencode-free): match public transport and replay reasoning (34e61bf)
- fix(opencode-free): dynamic model discovery, tool-schema normalization, and provider note exposure (0d64eda)
- tooling(pr130-stack): hooks-dir via git rev-parse, backup-then-install policy, prepush single source + privacy:scan, visible EPERM skip, BOM/claim cleanup (cac1192)
- provider(pr128-stack): restore header precedence, drop unused icon hints + premature mimo alias, bound non-JSON error-log inspection to 8KiB prefix, Zen free-tier data-use warning, dedupe symlink-test guard (3932acb)
- provider(pr129-stack): persisted random client id replaces machine fingerprint, 401-only retry with body drain, bootstrap timeout/abort/single-flight, contract-risk provider note, activation-level tests (65d3fdc)
- oauth(pr132-stack): kind-aware state enforcement + sync submit validation, 4KiB input cap, modal i18n + aria-label + explicit ok flag, address-bar hint copy, deterministic PKCE-continuity tests + route tests (06ee963)