feat: v2 Phase 1 — foundation, proto schemas, RPC framework, SDK skeleton
New workspace structure with 9 crates. Adds: - proto/qpq/v1/*.proto: 11 protobuf schemas covering all 33 RPC methods - quicproquo-proto: dual codegen (capnp legacy + prost v2) - quicproquo-rpc: QUIC RPC framework (framing, server, client, middleware) - quicproquo-sdk: client SDK (QpqClient, events, conversation store) - quicproquo-server/domain/: protocol-agnostic domain types and services - justfile: build commands Wire format: [method_id:u16][req_id:u32][len:u32][protobuf] per QUIC stream. All 151 existing tests pass. Backward compatible with v1 capnp code.
This commit is contained in:
65
proto/qpq/v1/federation.proto
Normal file
65
proto/qpq/v1/federation.proto
Normal file
@@ -0,0 +1,65 @@
|
||||
syntax = "proto3";
|
||||
package qpq.v1;
|
||||
|
||||
// Federation relay + proxy (6 methods).
|
||||
// Method IDs: 900-905.
|
||||
|
||||
message FederationAuth {
|
||||
string origin = 1;
|
||||
}
|
||||
|
||||
message RelayEnqueueRequest {
|
||||
bytes recipient_key = 1;
|
||||
bytes payload = 2;
|
||||
bytes channel_id = 3;
|
||||
FederationAuth auth = 4;
|
||||
}
|
||||
|
||||
message RelayEnqueueResponse {
|
||||
uint64 seq = 1;
|
||||
}
|
||||
|
||||
message RelayBatchEnqueueRequest {
|
||||
repeated bytes recipient_keys = 1;
|
||||
bytes payload = 2;
|
||||
bytes channel_id = 3;
|
||||
FederationAuth auth = 4;
|
||||
}
|
||||
|
||||
message RelayBatchEnqueueResponse {
|
||||
repeated uint64 seqs = 1;
|
||||
}
|
||||
|
||||
message ProxyFetchKeyPackageRequest {
|
||||
bytes identity_key = 1;
|
||||
FederationAuth auth = 2;
|
||||
}
|
||||
|
||||
message ProxyFetchKeyPackageResponse {
|
||||
bytes package = 1;
|
||||
}
|
||||
|
||||
message ProxyFetchHybridKeyRequest {
|
||||
bytes identity_key = 1;
|
||||
FederationAuth auth = 2;
|
||||
}
|
||||
|
||||
message ProxyFetchHybridKeyResponse {
|
||||
bytes hybrid_public_key = 1;
|
||||
}
|
||||
|
||||
message ProxyResolveUserRequest {
|
||||
string username = 1;
|
||||
FederationAuth auth = 2;
|
||||
}
|
||||
|
||||
message ProxyResolveUserResponse {
|
||||
bytes identity_key = 1;
|
||||
}
|
||||
|
||||
message FederationHealthRequest {}
|
||||
|
||||
message FederationHealthResponse {
|
||||
string status = 1;
|
||||
string server_domain = 2;
|
||||
}
|
||||
Reference in New Issue
Block a user