behest 0.2.2

A Rust-native cloud agent runtime with typed tools, pluggable memory, queues, and observability.
Documentation
syntax = "proto3";

package agent.v1;

import "agent/v1/common.proto";

// Raw chat stream request (bypasses runtime, direct provider passthrough).
message RawChatRequest {
  ProviderId provider = 1;
  ModelName model = 2;
  string input = 3;
}

// Event from a raw chat stream.
message ChatStreamEvent {
  oneof event {
    ChatStreamStarted started = 1;
    ChatTextDelta text_delta = 2;
    ChatToolCallStarted tool_call_started = 3;
    ChatToolCallArgumentsDelta tool_call_arguments_delta = 4;
    ChatToolCallCompleted tool_call_completed = 5;
    ChatStreamFinished finished = 6;
  }
}

message ChatStreamStarted {
  string provider = 1;
  string model = 2;
}

message ChatTextDelta {
  string delta = 1;
}

message ChatToolCallStarted {
  string id = 1;
  string name = 2;
}

message ChatToolCallArgumentsDelta {
  string id = 1;
  string delta = 2;
}

message ChatToolCallCompleted {
  ToolCall call = 1;
}

message ChatStreamFinished {
  FinishReason finish_reason = 1;
  TokenUsage usage = 2;
}

// Raw chat service (provider passthrough, no runtime).
service ChatService {
  // Stream a raw chat response directly from a provider.
  rpc RawChatStream(RawChatRequest) returns (stream ChatStreamEvent);
}