syntax = "proto3"; package safeline_fvm; option go_package = "proto/fvm;safeline_fvm"; service FVM { rpc AppendFSL(stream Text) returns (Status); rpc GetVersion(Empty) returns (VersionInfo); rpc GetBytecode(Version) returns (stream Chunk); rpc GetFSL(Version) returns (stream Chunk); rpc GetTableSVG(Empty) returns (stream Chunk); rpc CompileFSL(FslText) returns (Status); rpc GetPartFSL(FslInfo) returns (FslText); rpc GetPartDot(FslInfo) returns (stream Chunk); rpc UpdateState(StateText) returns (StateText); } message StateText { string Text = 1; } message FslInfo { string TaName = 1; string Id = 2; } message FslText { string Text = 1; } message Text { bool Incremental = 1; string Text = 3; } message Status { bool Ok = 1; string Err = 2; int64 Version = 3; } message Empty { } message VersionInfo { int64 Latest = 1; int64 Oldest = 2; } message Version { int64 From = 1; } message Chunk { bool Ok = 1; string Err = 2; int64 Version = 3; bytes Payload = 4; int64 NumChunks = 5; int64 ChunkIndex = 6; }