Files
safeline/extract/proto/fvm.proto
2025-03-11 19:01:30 +08:00

64 lines
1.1 KiB
Protocol Buffer

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;
}