// Code generated by protoc-gen-micro. DO NOT EDIT. // source: agent/proto/agent.proto package agent import ( fmt "fmt" proto "google.golang.org/protobuf/proto" math "math" ) import ( context "context" client "go-micro.dev/v6/client" server "go-micro.dev/v6/server" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ client.Option var _ server.Option // Client API for Agent service type AgentService interface { Chat(ctx context.Context, in *ChatRequest, opts ...client.CallOption) (*ChatResponse, error) StreamChat(ctx context.Context, in *ChatRequest, opts ...client.CallOption) (Agent_StreamChatService, error) } type agentService struct { c client.Client name string } func NewAgentService(name string, c client.Client) AgentService { return &agentService{ c: c, name: name, } } func (c *agentService) Chat(ctx context.Context, in *ChatRequest, opts ...client.CallOption) (*ChatResponse, error) { req := c.c.NewRequest(c.name, "Agent.Chat", in) out := new(ChatResponse) err := c.c.Call(ctx, req, out, opts...) if err != nil { return nil, err } return out, nil } func (c *agentService) StreamChat(ctx context.Context, in *ChatRequest, opts ...client.CallOption) (Agent_StreamChatService, error) { req := c.c.NewRequest(c.name, "Agent.StreamChat", in) stream, err := c.c.Stream(ctx, req, opts...) if err != nil { return nil, err } if err := stream.Send(in); err != nil { _ = stream.Close() return nil, err } return &agentServiceStreamChat{stream}, nil } type Agent_StreamChatService interface { Close() error Recv() (*ChatResponse, error) } type agentServiceStreamChat struct { stream client.Stream } func (x *agentServiceStreamChat) Close() error { return x.stream.Close() } func (x *agentServiceStreamChat) Recv() (*ChatResponse, error) { m := new(ChatResponse) if err := x.stream.Recv(m); err != nil { return nil, err } return m, nil } // Server API for Agent service type AgentHandler interface { Chat(context.Context, *ChatRequest, *ChatResponse) error } func RegisterAgentHandler(s server.Server, hdlr AgentHandler, opts ...server.HandlerOption) error { type agent interface { Chat(ctx context.Context, in *ChatRequest, out *ChatResponse) error StreamChat(ctx context.Context, stream server.Stream) error } type Agent struct { agent } h := &agentHandler{hdlr} return s.Handle(s.NewHandler(&Agent{h}, opts...)) } type agentHandler struct { AgentHandler } func (h *agentHandler) Chat(ctx context.Context, in *ChatRequest, out *ChatResponse) error { return h.AgentHandler.Chat(ctx, in, out) } func (h *agentHandler) StreamChat(ctx context.Context, stream server.Stream) error { streamer, ok := h.AgentHandler.(interface { StreamChat(context.Context, Agent_StreamChatStream) error }) if !ok { return fmt.Errorf("agent: StreamChat unsupported") } return streamer.StreamChat(ctx, &agentStreamChatStream{stream}) } type Agent_StreamChatStream interface { Close() error Send(*ChatResponse) error Recv() (*ChatRequest, error) } type agentStreamChatStream struct { stream server.Stream } func (x *agentStreamChatStream) Close() error { return x.stream.Close() } func (x *agentStreamChatStream) Send(m *ChatResponse) error { return x.stream.Send(m) } func (x *agentStreamChatStream) Recv() (*ChatRequest, error) { m := new(ChatRequest) if err := x.stream.Recv(m); err != nil { return nil, err } return m, nil }