Integrate SCUM real ops workflows

This commit is contained in:
npc0-hue
2026-08-10 21:12:53 +08:00
parent 1063330710
commit a770bc6250
88 changed files with 6375 additions and 2719 deletions
+42
View File
@@ -266,11 +266,52 @@ export interface GameClientBridgeQueryTemplateDeclaration {
timeoutSeconds: number;
}
export type GameClientBridgeOperationKind = "rcon" | "sqlite-mutation";
export interface GameClientBridgeOperationSafety {
requiresApproval?: boolean;
requiresOfflinePlayer?: boolean;
requiresMaintenanceWindow?: boolean;
requiresBeforeValue?: boolean;
requiresConfirmation?: boolean;
backupRequired?: boolean;
}
export interface GameClientBridgeOperationMutationDeclaration {
fieldKey: string;
tableKey: string;
identityKey: string;
valueKey: string;
confirmationQueryKey: string;
allowedValueType: "integer" | "number" | "string" | "boolean";
minValue?: number;
maxValue?: number;
}
export interface GameClientBridgeOperationTemplateDeclaration {
key: string;
title: string;
permission: PluginPermission;
approvalLevel: Exclude<GameClientBridgeApprovalLevel, "none">;
kind: GameClientBridgeOperationKind;
transportKey: string;
targetKey: string;
payloadSchemaRef: string;
resultSchemaRef?: string;
confirmationSchemaRef?: string;
timeoutSeconds: number;
maxPayloadBytes: number;
maxRowsAffected?: number;
mutation?: GameClientBridgeOperationMutationDeclaration;
safety?: GameClientBridgeOperationSafety;
}
export interface GameClientBridgePageContract {
pageKey: string;
commandTypes?: string[];
snapshotTypes?: string[];
queryTemplateKeys?: string[];
operationKeys?: string[];
featureKeys?: string[];
}
@@ -296,6 +337,7 @@ export interface GameClientBridgeManifest {
commands: GameClientBridgeCommandDeclaration[];
snapshots: GameClientBridgeSnapshotDeclaration[];
queryTemplates?: GameClientBridgeQueryTemplateDeclaration[];
operationTemplates?: GameClientBridgeOperationTemplateDeclaration[];
commandRetentionSeconds: number;
maxCommands: number;
pages?: GameClientBridgePageContract[];