Repository navigation
Releases
Releases · noppu-labs/opencode-permission-reviewer
v3.4.2
Changed
- The OpenRouter decision model list adds
cloudflare/clairic,morph/reflexand
parallel/decisions-fast:free. They are unbenchmarked, so selecting one raises a config notice
(Reviewer models). - The list drops
inception/mercury-decide, which OpenRouter no longer serves. A config that
namesopenrouter/inception/mercury-decideis no longer treated as a System One model. - Bumped the runtime dependencies
@opencode/clientto 2.2.6 andsemverto 7.8.6, and the dev
dependency@opencode/pluginto 2.2.6, withbun.locksynchronized. - Bumped the dev dependencies
@biomejs/biometo 2.6.4,knipto 6.44.1 andtsdownto 0.23.4,
and the CodeQL actions to 4.39.3.
Security
- GHSA-chp3-j5qr-2vfr (
effectbefore 4.0.0-beta.103, moderate) is documented as residual
exposure and ignored by ID in the audit.@opencode-ai/pluginpinseffect4.0.0-beta.83
exactly and has no release with the fix; the V1 host supplies that runtime, and this package
neither ships it nor imports from it (Supply chain).
v3.4.1
This release changes no runtime code.
Added
docs/toolkit-page.yaml, the plugin's page on toolkit.noppu.com.
v3.4.0
Changed
- Breaking: the TUI runtime dependencies move from OpenTUI 0.7 to 0.8.
@opentui/coreand
@opentui/solidare pinned at 0.8.2 andsolid-jsat 1.9.18, matching the@opentui/* >=0.8.0
that@opencode/pluginpeers from 2.2.3. Installs that pin@opentui/*orsolid-js
themselves, or that run the plugin beside another that expects OpenTUI 0.7, must move with it to
keep a single Solid runtime. The supported host ranges are unchanged: the real-host matrix
renders the TUI on every pinned V1 host and on V2 2.0.22 through 2.2.5. - Bumped the runtime dependency
@opencode/clientand the dev dependency@opencode/pluginto
2.2.5, withbun.locksynchronized. - The real-host matrix adds OpenCode 2.2.5, the first verified V2 host on OpenTUI 0.8.
- The OpenRouter decision model list adds
baseten/elephant-1,baseten/joey-1and
baseten/mammoth-1. They are unbenchmarked, so selecting one raises a config notice
(Reviewer models).
Security
solid-js1.9.18 resolvesseroval1.6.12, which fixes GHSA-p6vx-979v-rg4c,
GHSA-jp82-f5mq-hwhp, GHSA-97r2-qh9m-474h, GHSA-wp97-x4hv-qvhp, GHSA-7rv5-mrxv-xcr9 and
GHSA-9wx9-5pv9-3349. The audit no longer ignores any advisory, and the consumernpm audit
gate no longer admits a residual
(#112).- GHSA-3g3m-2fjr-6pw4 (
glob) and GHSA-g3hv-75wg-m249 (minimatch), both moderate, are fixed
only in new majors that upstream doesn't allow yet. Rootoverridestoglob14.0.3 and
minimatch11.0.4 clear them from this repository's tree. The consumer tree keeps them through
@opentui/solid'sbabel-plugin-module-resolver, which never calls the vulnerable code here, and
they are documented as residual exposure
(Supply chain,
#128).
v3.3.2
Changed
- Bumped the runtime dependency
@opencode/clientto 2.2.2. - Bumped the dev dependencies
@opencode/pluginto 2.2.2,get-east-asian-widthto 1.7.0 and
string-widthto 8.3.0, withbun.locksynchronized. The@opentui/*pins stay at 0.7.0
because@opencode/plugin2.2.2 still pins them, so theserovalresidual exposure tracked in
#112 is unchanged.
Fixed
- The TUI's East Asian Wide table is regenerated from
get-east-asian-width1.7.0, so characters
added as wide in Unicode 18 take two terminal columns when long commands are fitted.
v3.3.1
Changed
- Releases are tagged automatically: every push to
mainreads thepackage.jsonversion and, if
it is not tagged yet, runs the release checks, then tags the commitvX.Y.Zand publishes from
that tag (Releasing). - New npm package description that more accurately represents what the plugin does.
- Bumped the dev dependencies
@opencode-ai/pluginand@opencode-ai/sdkto 1.19.5, with
bun.locksynchronized (dependency bumps only; no behavior change). The@opencode-ai/plugin
peer range is unchanged.
Fixed
- The TUI fits long commands by terminal columns, so CJK text and emoji no longer overflow the row
or lose the end of the command, combining accents no longer cut it short, and a cut never splits
a flag, an emoji or an accented letter (#45).
Security
- GHSA-97r2-qh9m-474h, GHSA-wp97-x4hv-qvhp, GHSA-7rv5-mrxv-xcr9 and GHSA-9wx9-5pv9-3349 in
serovalare documented as residual exposure, alongside GHSA-p6vx-979v-rg4c and
GHSA-jp82-f5mq-hwhp.serovalarrives throughsolid-js1.9.12, which@opentui/solid0.7.0
pins exactly. Only the SSR renderersolid-js/webimports it, and neither this plugin nor
OpenTUI loads that renderer, so the vulnerable code is unreachable at runtime
(Supply chain). The upgrade is tracked in
#112. - The audit no longer ignores GHSA-ch52-4w7c-c8xp (
http-cache-semantics), which GitHub
withdrew.
v3.3.0
Added
- Liquid AI (
liquid-ai/d1,liquid-ai/d1-ultra) and Baseten
(baseten/decision-models/baseten-mammoth-27b-latest,
baseten/decision-models/baseten-elephant-9b-latest) System One reviewers, selected from one
provider table. Keys come fromLIQUID_API_KEYandBASETEN_API_KEY. A key that is not shaped
like a Liquid AI key is never sent, and Liquid keys are redacted from reviewer evidence
(Reviewer models; ported from upstream 2.5.0). - OpenRouter System One reviewers (
openrouter/<model>, for exampleopenrouter/typesafe/jev-1.14),
keyed byOPENROUTER_API_KEY. Listed models, routing suffixes such as:freeand:nitro, and
newtypesafe/jev-<n>andliquid/d1…releases are accepted. Unbenchmarked models raise a
config notice, and known-incompatible ones say every review will fail
(Reviewer models). - A weekly
openrouter-modelsworkflow that refreshes the list of OpenRouter decision models and
opens a pull request againstdevelop. - Redaction of OpenRouter keys (
sk-or-v1-…) in reviewer evidence.
Changed
- User-facing text says "System One" instead of "Jev" when it describes the mechanism: attribution
lines, toasts, config warnings and the docs. "Jev" now names only the Jev model itself. - The minimum Bun is now 1.3.14 (was 1.3.0), the floor
@opentui/core0.7 declares. The TUI
dependencies move from@opentui/coreand@opentui/solid0.5.11 to 0.7.0, which
@opencode/plugin2.2.0 pins exactly. - Update the
@opencode/clientdependency to 2.2.0, from upstream. OpenCode 2.2.0 joins the
real-host matrix as a verified V2 host. - Development tooling updates (Biome 2.6, knip, tsdown,
@types/bun) with no behaviour change.
The development tree also clears newzodandundiciadvisories.
Fixed
- On OpenCode V2, a reviewer model that lacks the default
mediumvariant now runs with its own
default variant instead of escalating every request, including whenmediumis set explicitly.
Any other variant the model lacks still fails closed, and the error lists the variants the model
offers (ported from upstream 2.5.0). - OpenCode session IDs (
ses_…) under a session key are kept in reviewer evidence instead of being
redacted as credentials. Lookalike values, and session IDs under other keys, are still redacted
(ported from upstream 2.5.0). - Package-script evidence now starts from the shell tool's
workdir, sobun run xin a
workspace package reports that package's script, not the root one. A workdir that is invalid or
does not exist is reported as unresolved, and the read roots do not widen (ported from upstream
2.5.0).
Security
@opentui/solid0.7.0 pins@babel/core7.29.7, so consumer installs no longer carry
GHSA-4x5r-pxfx-6jf8 (@babel/core <= 7.29.0).
v3.2.3
Changed
- The README's install section leads with
opencode plugin addon OpenCode V2 and keeps the
bunx ... init --tuicommand for V1, whereopencode plugindoes not register the TUI
overlay. The README also opens with a banner image. - The npm package has a fuller description and more search keywords.
CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md,MIGRATION.md,NOTICEand
LICENSE-APACHEmoved from the repository root todocs/. The npm package now ships
docs/MIGRATION.md,docs/NOTICE,docs/LICENSE-APACHEanddocs/SECURITY.mdin place of
the root copies.- No behaviour change: the plugin code, package exports, command-line interface and
configuration are the same as in 3.2.2.
v3.2.2
Changed
- Internal follow-ups to the
src/restructure: one shared logger type, clearer names for the
context reader and the review audit-record helpers, and a stricter layer test. No behaviour
change: the package exports, command-line interface, configuration and shipped files are the
same as in 3.2.1.
v3.2.1
Changed
- Internal restructure of
src/into layered modules, adapters and helpers, with a test that
enforces the dependency direction. No behaviour change: the package exports, command-line
interface, configuration and shipped files are the same as in 3.2.0.
v3.2.0
Changed
- OpenCode V2 hosts before 2.0.22 are no longer supported; V2 now requires
>=2.0.22 <3. The reviewer relies on plugin-context APIs introduced in
2.0.22. - On OpenCode V2 the reviewer now runs through the plugin's own context by
default, so it works in every server mode (background service, standalone, or
serve) with no setup.OPENCODE_PERMISSION_REVIEWER_HOST_URLand
OPENCODE_PASSWORDremain an explicit override for an independent server.
Removed
- OpenCode V2 registered-service discovery (
service.json) is gone; the host
connection no longer uses it, and it is no longer needed in any server mode.
Fixed
- When the reviewer reaches a different OpenCode server than the one it runs in, the error now
says which server it reached and which settings point it at the right one. - Jev answers where a supporting judgement (risk, authorization, scope, evidence, or basis) is
within 0.02 of the most probable option are no longer treated as invalid. The allow, deny,
or escalate outcome itself must still be the most probable option.