TerminalAPI
TopCommandStream()
Bidirectional streaming RPC for real-time terminal control and data exchange.
CommandStreamRequest
The request message must contain either a control message or an input message.
| Field | Type | Description |
| control | Control | Control messages can be used to configure and control the terminal. |
| input | Input | Input messages are used to send data to the terminal. |
CommandStreamResponse
The response message contains either a status message or stream of bytes.
| Field | Type | Description |
| status | Status | Details of any error that occurred on the call. |
| data | bytes | Bytes received from the terminal. |
Control
| Field | Type | Description |
| command | string | Optional command to execute on the terminal. If omitted, the default command is `bash` on linux and `zsh` on macos. |
| arg | string repeated | Optional arguments to pass to the command. |
| stop | string | Not currently used. |
| pause | string | Not currently used. |
| resume | string | Not currently used. |
| reset | string | Not currently used. |
| terminal_size | TerminalSize | Optional terminal size to set. |
| interrupt | int32 | If non-zero, a `kill` signal will be sent with this value to the running process. |
Input
| Field | Type | Description |
| data | bytes | The data to send to the terminal. |
TerminalSize
| Field | Type | Description |
| rows | int32 | The number of rows in the terminal. |
| cols | int32 | The number of columns in the terminal. |
Scalar Value Types
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | 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 | int32 | int | integer | Bignum or Fixnum (as required) |
| 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 | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |