Skip to content

Conversation

@homanp
Copy link
Contributor

@homanp homanp commented Jan 10, 2026

What does this PR do?

This PR refactors the entire project from using Ink (React) for its Terminal UI to OpenTUI (SolidJS).

The primary motivation is to align the TUI framework with what OpenCode uses, leveraging SolidJS's fine-grained reactivity and OpenTUI's native Zig renderer for improved performance and a more robust terminal experience.

Key changes include:

  • Updating package.json dependencies (removing Ink/React, adding OpenTUI/SolidJS, switching from Commander to Yargs).
  • Adjusting tsconfig.json for SolidJS JSX.
  • Adding bunfig.toml for OpenTUI preload.
  • Rewriting all UI components from React to SolidJS syntax and OpenTUI primitives.
  • Restructuring the TUI components into a more modular src/tui directory.
  • Deleting all old Ink/React UI files.

Fixes #

Checklist

  • I tested my changes
  • I reviewed my own code

Open in Cursor Open in Web

Co-authored-by: ismail <ismail@superagent.sh>
@cursor
Copy link

cursor bot commented Jan 10, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@homanp
Copy link
Contributor Author

homanp commented Jan 10, 2026

@cursor fix all the failing GitHub checks

@cursor
Copy link

cursor bot commented Jan 10, 2026

I've fixed the failing GitHub checks. Here's what was done:

Fixes Applied

1. Package Lock Synchronization

The package-lock.json was out of sync with the updated package.json (from the OpenTUI migration). The CI uses npm ci which requires an exact match. I regenerated the lock file with npm install.

2. Security Vulnerabilities

Fixed 4 npm vulnerabilities (2 moderate, 2 high) by running npm audit fix:

  • @modelcontextprotocol/sdk - DNS rebinding and ReDoS vulnerabilities
  • body-parser - DoS via URL encoding
  • js-yaml - Prototype pollution
  • qs - DoS via memory exhaustion

3. MCP SDK Compatibility

The updated @modelcontextprotocol/sdk package (from 1.17.0 to 1.26.0+) introduced API changes that caused TypeScript errors:

  • Line 56: Removed invalid tools: {} capability from client options (no longer supported in the new SDK)
  • Line 127: Fixed callTool return type by casting to CallToolResult for compatibility

Commit

fix: Update package-lock.json and fix MCP SDK compatibility

- Regenerate package-lock.json to sync with updated package.json
- Fix npm audit vulnerabilities by updating dependencies
- Fix TypeScript errors in MCP client caused by SDK update:
  - Remove invalid 'tools' capability from client options
  - Fix callTool return type compatibility

The changes have been pushed and the CI should now pass both the typecheck and security_scan jobs.


Open in Cursor Open in Web

Learn more about Cursor Agents

- Regenerate package-lock.json to sync with updated package.json
- Fix npm audit vulnerabilities by updating dependencies
- Fix TypeScript errors in MCP client caused by SDK update:
  - Remove invalid 'tools' capability from client options
  - Fix callTool return type compatibility
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants