Implement hrpc with streaming and wire into setup

- Add spec/hyperschema and spec/hrpc codegen (scripts/build-hrpc.js)
  with unary, request/response-stream, duplex, and send-only commands
- Run build:hrpc and build:protomux from install.sh so setup is one-step
- Native host: add attachHrpc (Protomux channel + generated HRPC),
  handlers for ping, streamSum, fetchStream, duplex, notify
- Load HRPC lazily so missing spec does not crash host; use bare-stream
  for Duplex under Bare; add bare-stream, compact-encoding deps
This commit is contained in:
Raven Scott
2026-02-12 04:51:03 -05:00
parent a7f86f3af5
commit bb47954b9f
14 changed files with 1531 additions and 11 deletions
+2 -2
View File
@@ -3,7 +3,7 @@
"name": "BridgeSwarm",
"version": "1.0.0",
"description": "P2P Hyperswarm in the browser via native messaging host",
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwRj35u4A3WifVvGNkCjs4ezIDgHKATk4gB5WgJUmgPgNVSOxIcew8yTSkoVQURN+fP7qX1wwxfbvL6xno4i8s4iAbAEhs9WNXv9dXXNdo8nJFooQ6PME6kBZBh8by6IJdhJqxykrs7syuQDCsP+g06a3Ar5/tjGAdfX5c1cIiyT6m+VhQED/oezEV/d6qjBNJmsbMIuwhm2mRc5bmgCXDxXcn1CjvF555LCCLB4GH9tm/qqgK4NMhrzqx4bmktCdPaWHqImp+K8lEkhm82nPCuxoZXaxdkS9EaMFHlVR9MIBrzZs6EkXnWdPxnvrqsMg1G4jt9PWJsfqpUcqRgLmlwIDAQAB",
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkikOI5ZYZ170eU5L6YOjI5TP78Et2bCSxB4TD5n/K6zfCTZCuVeyX3B4jbtiJL3RHkJpeqXKpdveEn4Wkt/uYENin7bPMAVcUvBBCIidFXaEqiup0fzeRo+bNFbNwOaO+mG1qFQ77xgK0iHR6JCW/VHeAl8+pa1UaqWNTeRX/9j+kuLGAzQa+bVI3UhfBRlUFi4W4BO33y/O/5bRTWdg48c9CSJT09nIulMUCsI2TGkxvVK8lcvBWutfABpixyGVqadtUZ3Xpap0/K5iRm9WWdPM9BxgN1cAZq8reVXltpKePC64ZI2kzQQUQzJ2zmqXq98I2ikUbclD/n5NRDN9PQIDAQAB",
"permissions": [
"nativeMessaging",
"storage",
@@ -42,7 +42,7 @@
},
"browser_specific_settings": {
"gecko": {
"id": "bridgeswarm-7b9cba818d22b161@example.org",
"id": "bridgeswarm-395cda49a8e4c8d8@example.org",
"strict_min_version": "79.0"
}
}