fix(server): standalone CLI builds again with Cursor usage - #71
Conversation
Upstream's Cursor usage reader (pingdotgg#10409) loads @napi-rs/keyring with a dynamic import(). A Node single executable can only import built-ins, so the release's build-exe check rejects the bundle. Load it through createRequire like node-pty and fff-node. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: RTVision/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe Cursor credential store now uses ChangesCursor credential loading
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~5 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The loader change has no demonstrated blocker to merging. The standalone executable check remains unrun on the reported host. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change appears limited to loading the same Cursor keyring package; it does not appear to broaden who can request or receive the credential. Risk remains low rather than minimal because keyring loading has not been exercised in the finished executable. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The RTVision 0.0.63 release run failed in
linux-cli:build-exerejecteddist-exe/bin.mjsbecause it imports@napi-rs/keyring. Upstream's Cursor usage history (pingdotgg#10409) added a dynamicimport("@napi-rs/keyring")incursorCredentialStore.ts, and a Node single executable can onlyimportbuilt-ins.This loads the package through
createRequire, the same wayNodePtyAdapter.tsandWorkspaceSearchIndex.tsload their native packages. Upstream main has the same import, so its next standalone build will hit this too.Validation
cursorCredentialStore.test.tsandsrc/usagepass (109 tests).vp packof the server bundle followed byfindEsmImportsOfExternalPackages(the build-exe check) finds no file-backed imports. Exe mode uses the same externals. This host (musl, Node 24) cannot run the SEA step itself.Failed run: https://github.com/RTVision/t3code/actions/runs/36180001882
Written by Claude Opus 5.5 through Claude Code in T3 Code.
🤖 Generated with Claude Code
Summary by CodeRabbit