Appendix: TIE Response Protocol

The response wire format used by TIECloudApp.

Minimal response protocol

A minimal protocol that a Shadow Tunneling implements to stand in for The Inference Engine in the VRE.

Over the course of a response, TIECloudApp streams a sequence of Response messages, each carrying one of the cases in the responses oneof. A typical response streams generated tokens as a series of content messages; when the model invokes a tool, it emits a call message describing the tool and its arguments. The server sends an inference_complete message once it finishes generating, and a final_response message closes the response. A shadow remote reproduces this flow by replaying the same message sequence.

syntax = "proto3";

message Empty {}

message Response {
  oneof responses {
    ResponseContent content = 1;
    FinalResponse final_response = 2;
    Empty inference_complete = 5;
    ToolCall call = 8;
  }
}

message ResponseContent {
    string tokens = 1;
}

message FinalResponse {
    string sentence = 1;
}

message ToolCall {
    string call_id = 1;
    ToolCallContent content = 2;
}

message ToolCallContent {
    oneof Oneof_ToolCallContent {
        ToolCallFunction function = 1;
    }
}

message ToolCallFunction {
    string tool_name = 1;
    string arguments = 2; //json string
}