feat: persist fenced client command events

This commit is contained in:
2026-09-06 09:17:04 +00:00
parent 69a7e01f9d
commit 4e339ebe14
9 changed files with 147 additions and 18 deletions
+16 -5
View File
@@ -1829,9 +1829,12 @@ type CommandEvent struct {
// *CommandEvent_ScriptStatus
// *CommandEvent_OutputTruncation
// *CommandEvent_OutputIncomplete
Payload isCommandEvent_Payload `protobuf_oneof:"payload"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
Payload isCommandEvent_Payload `protobuf_oneof:"payload"`
// SHA-256 of this event with this field cleared. It makes retransmission
// conflicts detectable without trusting a reused event_seq.
ImmutableEventSha256 []byte `protobuf:"bytes,12,opt,name=immutable_event_sha256,json=immutableEventSha256,proto3" json:"immutable_event_sha256,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CommandEvent) Reset() {
@@ -1964,6 +1967,13 @@ func (x *CommandEvent) GetOutputIncomplete() *OutputIncomplete {
return nil
}
func (x *CommandEvent) GetImmutableEventSha256() []byte {
if x != nil {
return x.ImmutableEventSha256
}
return nil
}
type isCommandEvent_Payload interface {
isCommandEvent_Payload()
}
@@ -2211,7 +2221,7 @@ const file_rvbox_v1_common_proto_rawDesc = "" +
"\x12ScriptUploadStatus\x12%\n" +
"\x0ereceived_bytes\x18\x01 \x01(\x04R\rreceivedBytes\x12\x1a\n" +
"\bcomplete\x18\x02 \x01(\bR\bcomplete\x12\x16\n" +
"\x06detail\x18\x03 \x01(\tR\x06detail\"\x91\x05\n" +
"\x06detail\x18\x03 \x01(\tR\x06detail\"\xc7\x05\n" +
"\fCommandEvent\x12\x1d\n" +
"\n" +
"issue_uuid\x18\x01 \x01(\tR\tissueUuid\x12\x1b\n" +
@@ -2226,7 +2236,8 @@ const file_rvbox_v1_common_proto_rawDesc = "" +
"\rscript_status\x18\t \x01(\v2\x1c.rvbox.v1.ScriptUploadStatusH\x00R\fscriptStatus\x12I\n" +
"\x11output_truncation\x18\n" +
" \x01(\v2\x1a.rvbox.v1.OutputTruncationH\x00R\x10outputTruncation\x12I\n" +
"\x11output_incomplete\x18\v \x01(\v2\x1a.rvbox.v1.OutputIncompleteH\x00R\x10outputIncompleteB\t\n" +
"\x11output_incomplete\x18\v \x01(\v2\x1a.rvbox.v1.OutputIncompleteH\x00R\x10outputIncomplete\x124\n" +
"\x16immutable_event_sha256\x18\f \x01(\fR\x14immutableEventSha256B\t\n" +
"\apayload\"\xb2\x03\n" +
"\fControlError\x12/\n" +
"\x04code\x18\x01 \x01(\x0e2\x1b.rvbox.v1.ControlError.CodeR\x04code\x12\x18\n" +