Get desktop application:
View/edit binary Protocol Buffers messages
metadata is a map of client specific metadata.
env field provides an initial set of environment variables for a newly created session.
project from which to load environment variables. They will be appended to the list from the env field. The env field has a higher priority.
Deprecated use config instead. optional selection of which env store implementation to use.
(message has no fields)
metadata is a map of client specific metadata.
env field provides an initial set of environment variables for a newly created session.
project from which to load environment variables. They will be appended to the list from the env field. The env field has a higher priority.
(message has no fields)
Execute executes a program. Examine "ExecuteRequest" to explore configuration options. It's a bidirectional stream RPC method. It expects the first "ExecuteRequest" to contain details of a program to execute. Subsequent "ExecuteRequest" should only contain "input_data" as other fields will be ignored.
input_data is a byte array that will be send as input to the program.
stop requests the running process to be stopped. It is allowed only in the consecutive calls.
sets pty winsize has no effect in non-interactive mode
session_id indicates in which Session the program should execute. Executing in a Session might provide additional context like environment variables.
session_strategy is a strategy for selecting the session.
project used to load environment variables from .env files.
store_stdout_in_env, if true, will store the stdout under well known name and the last ran block in the environment variable `__`.
exit_code is sent only in the final message.
stdout_data contains bytes from stdout since the last response.
stderr_data contains bytes from stderr since the last response.
pid contains the process' PID. This is only sent once in an initial response for background processes.
mime_type is a detected MIME type of the stdout_data. This is only sent once in the first response containing stdout_data.
ResolveProgram resolves variables from a script or a list of commands using the provided sources, which can be a list of environment variables, a session, or a project. For now, the resolved variables are only the exported ones using `export`.
use script for unnormalized cell content whereas commands is for normalized shell commands
commands are commands to be executed by the program. The commands are joined and executed as a script.
script is code to be executed by the program. Individual lines are joined with the new line character.
mode determines how variables resolution occurs. It is usually based on document or cell annotation config.
env is a list of explicit environment variables that will be used to resolve the environment variables found in the source.
session_id indicates which session is the source of environment variables. If not provided, the most recent session can be used using session_strategy.
session_strategy is a strategy for selecting the session.
project used to load environment variables from .env files.
language id associated with script.
retention determines how variables are retained once resolved.
use script until commands normalization is implemented
Used in:
COMMAND_MODE_INLINE indicates that the command should be executed inline. For example: bash -c "echo 'Hello, World'"
COMMAND_MODE_FILE indicates that the command should be executed as a file. For example: bash /tmp/script.sh
COMMAND_MODE_TERMINAL indicates that the command should be executed as a Runme Terminal. This is used by the VS Code extension.
COMMAND_MODE_CLI indicates that the command is executed via runme CLI. It is executed as a native command.
Used in:
optional selection of which env store implementation to use.
how to seed initial ENV
Used in:
default seeding; ignore system
enable seeding from system
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
possible expansion to have a "timeline" view MONITOR_ENV_STORE_TYPE_TIMELINE = 2;
ProgramConfig is a configuration for a program to execute. From this configuration, any program can be built.
Used in:
program_name is a name of the program to execute. If it's not a path (relative or absolute), the runner will try to resolve the name. For example: "sh", "/bin/bash".
arguments is a list of arguments passed to the program.
directory to execute the program in.
language_id associated with script to allow interpreter detection if no specific interpreter program is provided.
background indicates a background process required to handle running background tasks via CLI in C/I
file_extension associated with script. Some interpreters are strict about file extensions, such as tsc which requires "ts" extension.
env is a list of additional environment variables that will be injected to the executed program.
commands are commands to be executed by the program. The commands are joined and executed as a script.
script is code to be executed by the program. Individual lines are joined with the new line character.
interactive, if true, uses a pseudo-tty to execute the program. Otherwise, the program is executed using in-memory buffers for I/O.
TODO(adamb): understand motivation for this. In theory, source should tell whether to execute it inline or as a file.
optional well known id for cell/block
optional well known name for cell/block
Used in:
commands are commands to be executed by the program. The commands are joined and executed as a script. For example: ["echo 'Hello, World'", "ls -l /etc"].
Used in:
, , ,root is a root directory of the project. The semantic is the same as for the "--project" flag in "runme".
env_load_order is list of environment files to try and load env from.
Used in:
,commands are commands to be executed by the program. The commands are joined and executed as a script. For example: ["echo 'Hello, World'", "ls -l /etc"].
Used in:
unspecified is auto (default) which prompts for all unresolved environment variables. Subsequent runs will likely resolve via the session.
prompt always means to prompt for all environment variables.
skip means to not prompt for any environment variables. All variables will be marked as resolved.
Used in:
first run means to always retain the first resolved value.
last run means to always retain the last resolved value.
Used in:
unspecified is the default value and it means unresolved.
resolved means that the variable is resolved.
unresolved with message means that the variable is unresolved but it contains a message. E.g. FOO=this is message.
unresolved with placeholder means that the variable is unresolved but it contains a placeholder. E.g. FOO="this is placeholder".
unresolved with secret means that the variable is unresolved and it requires treatment as a secret.
Used in:
prompt indicates the resolution status of the env variable.
name is the name of the environment variable.
original_value is a default value of the environment variable. It might be a value that is assigned to the variable in the script, like FOO=bar or FOO=${FOO:-bar}. If the variable is not assigned, it is an empty string.
resolved_value is a value of the environment variable resolved from a source. If it is an empty string, it means that the environment variable is not resolved.
Used in:
, , , ,env keeps track of session environment variables. They can be modified by executing programs which alter them through "export" and "unset" commands.
metadata is a map of client specific metadata.
env store implementation
Used in:
,uses default env store
uses owl store
SessionStrategy determines a session selection in an initial execute request.
Used in:
,Uses the session_id field to determine the session. If none is present, a new session is created.
Uses the most recent session on the server. If there is none, a new one is created.
Used in: