harmony-development / harmony_rust_sdk Goto Github PK
View Code? Open in Web Editor NEWRust implementation of the Harmony chat protocol.
License: MIT License
Rust implementation of the Harmony chat protocol.
License: MIT License
Ideally there should be two seperate clients: one "stateless" and one "stateful", stateful one basically being a batteries included higher level API while the stateless one is for people who don't need the full stateful client (or they just want more flexibility).
This needs legato and postgresql running in CI.
It's probably best to seperate the stuff into seperate crates. Probably:
harmony_api
: holds generated api code (control server / client code generation via a feature)harmony_api_macros
: macros we'll use in api
cratesharmony_client_api
: client api methods, client: &Client
should be made generic using something like AsMut<...Service>
insteadharmony_federation_api
: same as above but for serverharmony_client_stateless
: stateless client #3harmony_client_stateful
: stateful client #3and a harmony
crate which re-exports these controlled with feature gates. Pretty much like ruma structure.
This will allow us to know if a method requires auth etc. It is blocked by tokio-rs/prost#317 and tokio-rs/prost#256.
In the meantime we should at least document these.
https://harmonyapp.io/harmony_rust_sdk/harmony_rust_sdk/client/api/chat/message/trait.SendMessageSelfBuilder.html genereted doc has #name
instead of the actual name. Fix this like we do with generated method comments, ie. do:
let doc_msg = format!("Builder trait for {}.", name);
// ...
quote! {
#[doc = #doc_msg]
// ...
}
...
instead of:
quote! {
/// Builder trait for #name.
// ...
}
This is blocked by tonic.
For some weird reason, protoc
on windows builds complain that a path is missing, but the path is actually there.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.