syntax = "proto3";
import "node.proto";
import "vscode.proto";

message ClientMessage {
	oneof msg {
		// node.proto
		NewEvalMessage new_eval = 11;
		EvalEventMessage eval_event = 12;
	}
}

message ServerMessage {
	oneof msg {
		// node.proto
		EvalFailedMessage eval_failed = 13;
		EvalDoneMessage eval_done = 14;
		EvalEventMessage eval_event = 15;

		WorkingInitMessage init = 16;

		// vscode.proto
		SharedProcessActiveMessage shared_process_active = 17;
	}
}

message WorkingInitMessage {
	string home_directory = 1;
	string tmp_directory = 2;
	string data_directory = 3;
	string working_directory = 4;
	enum OperatingSystem {
		Windows = 0;
		Linux = 1;
		Mac = 2;
	}
	OperatingSystem operating_system = 5;
	string shell = 6;
	string builtin_extensions_dir = 7;
}
