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.
66 lines
1.1 KiB
Protocol Buffer
66 lines
1.1 KiB
Protocol Buffer
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;
|
|
}
|