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.
44 lines
743 B
Protocol Buffer
44 lines
743 B
Protocol Buffer
syntax = "proto3";
|
|
package qpq.v1;
|
|
|
|
// OPAQUE registration + login (4 methods).
|
|
// Method IDs: 100-103.
|
|
|
|
message OpaqueRegisterStartRequest {
|
|
string username = 1;
|
|
bytes request = 2;
|
|
}
|
|
|
|
message OpaqueRegisterStartResponse {
|
|
bytes response = 1;
|
|
}
|
|
|
|
message OpaqueRegisterFinishRequest {
|
|
string username = 1;
|
|
bytes upload = 2;
|
|
bytes identity_key = 3;
|
|
}
|
|
|
|
message OpaqueRegisterFinishResponse {
|
|
bool success = 1;
|
|
}
|
|
|
|
message OpaqueLoginStartRequest {
|
|
string username = 1;
|
|
bytes request = 2;
|
|
}
|
|
|
|
message OpaqueLoginStartResponse {
|
|
bytes response = 1;
|
|
}
|
|
|
|
message OpaqueLoginFinishRequest {
|
|
string username = 1;
|
|
bytes finalization = 2;
|
|
bytes identity_key = 3;
|
|
}
|
|
|
|
message OpaqueLoginFinishResponse {
|
|
bytes session_token = 1;
|
|
}
|