Add transport-agnostic RPC layer for proxy app

Introduces yaak-rpc (shared RPC infrastructure) and yaak-proxy-lib
(proxy app logic decoupled from any frontend). A single Tauri command
dispatches all RPC calls through a typed router, with TypeScript types
auto-generated via ts-rs and a generic rpc() function for type-safe
calls from the frontend.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Gregory Schier
2026-03-08 11:27:51 -07:00
parent 4c37e62146
commit 6f8c4c06bb
11 changed files with 332 additions and 67 deletions

26
Cargo.lock generated
View File

@@ -10306,11 +10306,12 @@ name = "yaak-app-proxy"
version = "0.0.0"
dependencies = [
"log 0.4.29",
"serde",
"serde_json",
"tauri",
"tauri-build",
"tauri-plugin-os",
"yaak-proxy",
"yaak-proxy-lib",
"yaak-rpc",
"yaak-window",
]
@@ -10590,6 +10591,17 @@ dependencies = [
"tokio-rustls",
]
[[package]]
name = "yaak-proxy-lib"
version = "0.0.0"
dependencies = [
"serde",
"serde_json",
"ts-rs",
"yaak-proxy",
"yaak-rpc",
]
[[package]]
name = "yaak-proxy-models"
version = "0.1.0"
@@ -10607,6 +10619,16 @@ dependencies = [
"yaak-database",
]
[[package]]
name = "yaak-rpc"
version = "0.0.0"
dependencies = [
"log 0.4.29",
"serde",
"serde_json",
"ts-rs",
]
[[package]]
name = "yaak-sse"
version = "0.1.0"