Protocol Documentation
Table of Contents
Top
Component.proto
AgentQuery
Used for different filters that can be applied to the query.
AgentRequest
Field |
Type |
Label |
Description |
uuid |
string |
|
The universal identifier of the agent we want to get. |
AgentStartRequest
Field |
Type |
Label |
Description |
egg |
Agent |
|
The egg that will be used only when creating the agent. It contains the uuid of the agent |
AgentStatusResponse
Field |
Type |
Label |
Description |
running |
bool |
|
|
ListOfAgents
The list of avalable agents.
Field |
Type |
Label |
Description |
agents |
Agent |
repeated |
|
Component
The Api whic is implemented by the different components.
It is caled by the hatchery to instantiate the agents.
Top
Hatchery.proto
AgentRegisterRequest
Field |
Type |
Label |
Description |
agent |
Agent |
|
|
AgentRegisterResponse
AgentStoppedEvent
ComponentRegisterRequest
Field |
Type |
Label |
Description |
uuid |
string |
|
The universal id of the component. |
address |
string |
|
The place we can connect to the component to call methods on it. |
runnerType |
string |
repeated |
The types of eggs this component can run as agents. |
ComponentRegisterResponse
ComponentUnregisterRequest
Field |
Type |
Label |
Description |
uuid |
string |
|
|
Hatchery
The interface used by the components to call the hatchery.
Top
Shared.proto
Agent
All the data that defines an agent and is needed for executing it.
Field |
Type |
Label |
Description |
uuid |
string |
|
|
eggData |
bytes |
|
optional |
componentType |
string |
|
|
componentId |
string |
|
id of the component in which the agent is running |
inputs |
string |
repeated |
|
Void
Top
Stream.proto
AcknowledgeRequest
DataMessage
PublishRequest
PublishResponse
Field |
Type |
Label |
Description |
index |
string |
repeated |
|
PullRequest
Field |
Type |
Label |
Description |
id |
string |
|
|
returnImmediately |
bool |
|
|
maxMessages |
uint32 |
|
|
PullResponse
Field |
Type |
Label |
Description |
messages |
DataMessage |
repeated |
|
SeekRequest
StreamingPullRequest
Field |
Type |
Label |
Description |
id |
string |
|
|
StreamingPullResponse
SubscriptionRequest
Field |
Type |
Label |
Description |
id |
string |
|
Can be the id of an agent, but also the id of onother hatchery. |
agentType |
string |
|
The type of agent we want to subscribe to. Used when subscriing to remote agents that |
agetnId |
string |
|
The agent's output that we will subscribe to. |
strongOrdering |
bool |
|
Used to determine if we want the order of the messages to be absoulte. |
timeout |
uint64 |
|
The subscriber will be deleted after inactivity. |
bufferSize |
uint32 |
|
The subscriber will have a buffer to help with backbressure and/or not to overload the client. |
SubscriptionResponse
Field |
Type |
Label |
Description |
agentId |
string |
|
|
UnsubscribeRequest
Field |
Type |
Label |
Description |
id |
string |
|
|
Publisher
The publishing api that will be used exclusively by the agents.
Subscriber
The subscriber api is used both by agents and other hatcheries.
Scalar Value Types
.proto Type |
Notes |
C++ Type |
Java Type |
Python Type |
double |
|
double |
double |
float |
float |
|
float |
float |
float |
int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int |
int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
long |
int/long |
uint32 |
Uses variable-length encoding. |
uint32 |
int |
int/long |
uint64 |
Uses variable-length encoding. |
uint64 |
long |
int/long |
sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
int |
sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
long |
int/long |
fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
int |
int |
fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
long |
int/long |
sfixed32 |
Always four bytes. |
int32 |
int |
int |
sfixed64 |
Always eight bytes. |
int64 |
long |
int/long |
bool |
|
bool |
boolean |
boolean |
string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
String |
str/unicode |
bytes |
May contain any arbitrary sequence of bytes. |
string |
ByteString |
str |