Repository navigation
feat(desktop): move vAPI Desktop into the open-source monorepo - #23
Merged
Merged
Conversation
- core: createVault() without a first account; linkStates() per wallet; remotePaymentAccount signs through a caller-supplied channel. - mcp: VapiMcpServer.connect accepts caller-supplied streams. - mcp-shim: stdio to vAPI Desktop socket forwarder (.mcpb bundle) with a hello frame that names the agent wallet. Signed-off-by: vAPI Development <336934719+vapi-development@users.noreply.github.com>
vAPI Desktop, the macOS app that keeps agent-wallet keys on the user's Mac and connects Claude Desktop, Cursor, VS Code, Codex and Grok through a local MCP shim, moves here from the private console repo so the code that holds keys is public next to the wallet engine it uses. - apps/desktop with workspace deps on core, mcp and mcp-shim (no more local link: paths); design tokens and OFL fonts vendored; vite pinned 7.3.5. - CI: macOS job builds the Swift helpers and runs the desktop suite; the Linux job skips desktop tests. - Releases: desktop-v* tags build, sign and notarize on GitHub-hosted macOS runners behind the desktop-signing environment and publish a draft to this repo's Releases; apps/desktop/update-control.json is the update kill switch. - Desktop copy check ported; ESLint/Prettier cover the app. Signed-off-by: vAPI Development <336934719+vapi-development@users.noreply.github.com>
The Linux job typechecks before it builds, and desktop resolves core and mcp through their built types. The macOS job builds first, then typechecks desktop. Signed-off-by: vAPI Development <336934719+vapi-development@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Moves vAPI Desktop into this repo as
apps/desktop, plus the core/MCP/shim changes it needs (previously the unpublisheddesktop-spikebranch).vAPI Desktop is the macOS app that keeps agent-wallet keys on the user's Mac (signer process only), enforces per-payment and per-day limits, and connects Claude Desktop, Cursor, VS Code, Codex and Grok through a local MCP shim. Keeping it next to the wallet engine makes the key-holding code public and removes the local
link:dependency that blocked releases.Changes
packages/*:createVault()without a first account,linkStates(),remotePaymentAccountover a caller-supplied channel,VapiMcpServer.connectwith caller streams,mcp-shimsocket forwarder with a wallet hello frame.apps/desktop: the app (53 test files), workspace deps on core/mcp/mcp-shim, vendored design tokens with OFL font licences, vite pinned 7.3.5, desktop copy check.vAPI Desktop (macOS)) builds the Swift helpers and runs the desktop suite; the Linux job skips desktop tests..github/workflows/desktop-release.ymlruns only ondesktop-v*tags, signs and notarizes on a GitHub-hosted macOS runner behind thedesktop-signingenvironment, and uploads a draft release here.apps/desktop/update-control.jsonis the updater kill switch. Setup inapps/desktop/RELEASE.md. Not triggered yet (waits on the Apple Developer ID).Verification (local, macOS)
pnpm --dir apps/desktop test→ Test Files 53 passed, Tests 459 passedpnpm lint,pnpm format:check,pnpm typecheck,pnpm test,pnpm lint:copy→ exit 0pnpm --dir apps/desktop check:copy→ passed across 27 source files;node --test apps/desktop/scripts/*.test.mjs→ 11 passpnpm --dir apps/desktop pack:mac && check:packaged→ unsigned arm64 DMG + zip,packaged app OKFollow-up: remove
apps/desktopfrom the private console repo once this merges.