Freeze SCUM typed RCON run contract

This commit is contained in:
npc0-hue
2026-08-13 13:37:37 +08:00
parent 467d5c3a8c
commit ac6f5419fe
17 changed files with 643 additions and 11 deletions
+82
View File
@@ -74,6 +74,14 @@ const (
SCUMTerminalResultCancelled SCUMTerminalResultStatus = "cancelled"
)
type SCUMRCONConfirmationStatus string
const (
SCUMRCONConfirmationConfirmed SCUMRCONConfirmationStatus = "confirmed"
SCUMRCONConfirmationFailed SCUMRCONConfirmationStatus = "failed"
SCUMRCONConfirmationUnknown SCUMRCONConfirmationStatus = "unknown"
)
type SCUMSafeError struct {
Code SCUMSafeErrorCode
Message string
@@ -118,6 +126,17 @@ func DefaultSCUMSQLiteTemplateBounds() SCUMSQLiteTemplateBounds {
return SCUMSQLiteTemplateBounds{MaxParameters: 64, MaxRows: 500, TimeoutMS: 5000, BusyTimeoutMS: 250, MaxResultBytes: 1024 * 1024}
}
type SCUMTypedRCONTemplateBounds struct {
MaxPayloadBytes int
TimeoutMS int
MaxResponseBytes int
MaxConfirmRecords int
}
func DefaultSCUMTypedRCONTemplateBounds() SCUMTypedRCONTemplateBounds {
return SCUMTypedRCONTemplateBounds{MaxPayloadBytes: 2048, TimeoutMS: 5000, MaxResponseBytes: 16 * 1024, MaxConfirmRecords: 16}
}
type SCUMSchemaProbeRequest struct {
RequestID string
JobID string
@@ -142,6 +161,27 @@ type SCUMSQLiteTemplateRequest struct {
RequestedAt time.Time
}
type SCUMTypedRCONTemplateRequest struct {
RequestID string
JobID string
Binding SCUMBindingIdentity
Capability SCUMDataCapability
TransportKey string
TargetKey string
TemplateKey string
AdapterVersion string
RequiredSchemaFingerprint string
AssetDigest string
PayloadDigest string
ConfirmationDigest string
TargetIdentityDigest string
IdempotencyKey string
Payload map[string]any
ReviewReason string
Bounds SCUMTypedRCONTemplateBounds
RequestedAt time.Time
}
type SCUMSchemaProbeDeclaration struct {
Capability string
TargetKey string
@@ -231,6 +271,31 @@ type SCUMSQLiteTemplateResult struct {
Limits SCUMSQLiteTemplateBounds
}
type SCUMTypedRCONTemplateResult struct {
RequestID string
JobID string
Binding SCUMBindingIdentity
Status SCUMTerminalResultStatus
Capability SCUMDataCapability
TransportKey string
TargetKey string
TemplateKey string
AdapterVersion string
SchemaFingerprint string
AssetDigest string
PayloadDigest string
ConfirmationDigest string
TargetIdentityDigest string
ObservedAt time.Time
ResultDigest string
ResponseDigest string
ConfirmationStatus SCUMRCONConfirmationStatus
ConfirmationDigestID string
SafeSummary string
SafeError SCUMSafeError
Limits SCUMTypedRCONTemplateBounds
}
type SCUMCapabilityRequirement struct {
Capability SCUMDataCapability
AdapterVersion string
@@ -332,6 +397,15 @@ func CopySCUMSQLiteTemplateRequestPtr(value *SCUMSQLiteTemplateRequest) *SCUMSQL
return &copy
}
func CopySCUMTypedRCONTemplateRequestPtr(value *SCUMTypedRCONTemplateRequest) *SCUMTypedRCONTemplateRequest {
if value == nil {
return nil
}
copy := *value
copy.Payload = CopySCUMValueMap(value.Payload)
return &copy
}
func CopySCUMSQLiteTemplateResultPtr(value *SCUMSQLiteTemplateResult) *SCUMSQLiteTemplateResult {
if value == nil {
return nil
@@ -341,6 +415,14 @@ func CopySCUMSQLiteTemplateResultPtr(value *SCUMSQLiteTemplateResult) *SCUMSQLit
return &copy
}
func CopySCUMTypedRCONTemplateResultPtr(value *SCUMTypedRCONTemplateResult) *SCUMTypedRCONTemplateResult {
if value == nil {
return nil
}
copy := *value
return &copy
}
func CopySCUMValueMap(value map[string]any) map[string]any {
if value == nil {
return nil