Pre-flight checks
OpenCode version tested
1.17.10
opencode-quota version tested
3.10.1
Bug summary
The server plugin loads, but the TUI plugin does not register on OpenCode 1.17.10. The quota sidebar is missing and /quota does not appear in the TUI command list even though @slkiser/opencode-quota is configured in both opencode.json and tui.json.
This appears to be caused by the package depending on @opentui/solid / @opentui/core ^0.2.7, which installs a nested @opentui/solid@0.2.16. OpenCode 1.17.10 / @opencode-ai/plugin@1.17.10 expects @opentui/* >=0.4.2.
Steps to reproduce
- Use OpenCode
1.17.10 with @slkiser/opencode-quota@3.10.1.
- Configure the server plugin:
{
"plugin": ["@slkiser/opencode-quota"]
}
- Configure the TUI plugin:
{
"plugin": ["@slkiser/opencode-quota"]
}
- Start OpenCode.
- Open the command palette or type
/quo.
- Check the right sidebar under LSP.
Additional repro signal from the package cache:
bun -e "import('/path/to/node_modules/@slkiser/opencode-quota/dist/tui.tsx').then(() => console.log('ok'))"
Before the workaround below, this failed because dist/tui.tsx resolved @opentui/solid to the nested 0.2.16 copy.
Expected behavior
The TUI plugin should register successfully:
- quota sidebar panel appears
/quota appears in the command list
- related slash commands like
/quota_status are available from the TUI
Actual behavior
The server-side plugin/tool is present, but the TUI features are missing:
- quota sidebar does not render
/quota does not appear
- local package cache contains both:
- top-level
@opentui/solid@0.4.2
- nested
node_modules/@slkiser/opencode-quota/node_modules/@opentui/solid@0.2.16
Applying npm overrides in the cache wrapper fixed the import locally:
{
"overrides": {
"@opentui/core": "0.4.2",
"@opentui/solid": "0.4.2"
}
}
After reinstalling, the nested 0.2.16 copy disappeared and the TUI import succeeded.
Relevant logs/output
SyntaxError: Export named 'jsxDEV' not found in module '.../node_modules/@slkiser/opencode-quota/node_modules/@opentui/solid/jsx-runtime.d.ts'
Package export:
"./tui": {
"types": "./dist/tui.d.ts",
"default": "./dist/tui.tsx"
}
Dependency range in @slkiser/opencode-quota@3.10.1:
"@opentui/core": "^0.2.7",
"@opentui/solid": "^0.2.7"
@opencode-ai/plugin@1.17.10 peer dependency range:
"@opentui/core": ">=0.4.2",
"@opentui/solid": ">=0.4.2"
If not tested on current production OpenCode, explain why
Tested on OpenCode 1.17.10, which is the current version installed by opencode --version in this environment.
Pre-flight checks
OpenCode version tested
1.17.10
opencode-quota version tested
3.10.1
Bug summary
The server plugin loads, but the TUI plugin does not register on OpenCode 1.17.10. The quota sidebar is missing and
/quotadoes not appear in the TUI command list even though@slkiser/opencode-quotais configured in bothopencode.jsonandtui.json.This appears to be caused by the package depending on
@opentui/solid/@opentui/core^0.2.7, which installs a nested@opentui/solid@0.2.16. OpenCode 1.17.10 /@opencode-ai/plugin@1.17.10expects@opentui/* >=0.4.2.Steps to reproduce
1.17.10with@slkiser/opencode-quota@3.10.1.{ "plugin": ["@slkiser/opencode-quota"] }{ "plugin": ["@slkiser/opencode-quota"] }/quo.Additional repro signal from the package cache:
bun -e "import('/path/to/node_modules/@slkiser/opencode-quota/dist/tui.tsx').then(() => console.log('ok'))"Before the workaround below, this failed because
dist/tui.tsxresolved@opentui/solidto the nested0.2.16copy.Expected behavior
The TUI plugin should register successfully:
/quotaappears in the command list/quota_statusare available from the TUIActual behavior
The server-side plugin/tool is present, but the TUI features are missing:
/quotadoes not appear@opentui/solid@0.4.2node_modules/@slkiser/opencode-quota/node_modules/@opentui/solid@0.2.16Applying npm overrides in the cache wrapper fixed the import locally:
{ "overrides": { "@opentui/core": "0.4.2", "@opentui/solid": "0.4.2" } }After reinstalling, the nested
0.2.16copy disappeared and the TUI import succeeded.Relevant logs/output
Package export:
Dependency range in
@slkiser/opencode-quota@3.10.1:@opencode-ai/plugin@1.17.10peer dependency range:If not tested on current production OpenCode, explain why
Tested on OpenCode 1.17.10, which is the current version installed by
opencode --versionin this environment.