1#ifndef YAZE_CLI_SERVICE_NET_Z3ED_NETWORK_CLIENT_H_
2#define YAZE_CLI_SERVICE_NET_Z3ED_NETWORK_CLIENT_H_
7#include "absl/status/status.h"
8#include "absl/status/statusor.h"
11#include "nlohmann/json.hpp"
36 absl::Status
Connect(
const std::string& host,
int port = 8765);
41 absl::Status
JoinSession(
const std::string& session_code,
42 const std::string& username);
50 const std::string& proposal_json,
51 const std::string& username);
63 int timeout_seconds = 60);
68 absl::Status
SendMessage(
const std::string& message,
69 const std::string& sender);
74 absl::StatusOr<std::string>
QueryAI(
const std::string& query,
75 const std::string& username);
Simplified WebSocket client for z3ed CLI.
absl::StatusOr< bool > WaitForApproval(const std::string &proposal_id, int timeout_seconds=60)
absl::Status SendMessage(const std::string &message, const std::string &sender)
std::unique_ptr< Impl > impl_
absl::Status JoinSession(const std::string &session_code, const std::string &username)
absl::StatusOr< std::string > QueryAI(const std::string &query, const std::string &username)
absl::Status Connect(const std::string &host, int port=8765)
absl::StatusOr< std::string > GetProposalStatus(const std::string &proposal_id)
absl::Status SubmitProposal(const std::string &description, const std::string &proposal_json, const std::string &username)