Rebuild SCUM plugin-owned data flow

This commit is contained in:
npc0-hue
2026-08-18 07:01:17 +08:00
parent 302f1f64b7
commit 98bf944f4c
39 changed files with 1832 additions and 223 deletions
+40
View File
@@ -265,6 +265,7 @@ export interface GameClientBridgeQueryTemplateDeclaration {
sqlRef?: string;
maxRows: number;
timeoutSeconds: number;
pollIntervalSeconds?: number;
rowTarget?: PluginDataRowTargetDeclaration;
}
@@ -272,6 +273,44 @@ export interface PluginDataRowTargetDeclaration {
collection: string;
upsertKeys: string[];
columnMappings: Record<string, string>;
writeMode: "merge" | "replace";
}
export interface GameClientBridgeLogProjectionStepDeclaration {
pattern: string;
}
export interface GameClientBridgeLogProjectionTargetDeclaration {
collection: string;
upsertKeys: string[];
captureMappings: Record<string, string>;
fixedValues?: Record<string, string>;
observedAtField?: string;
}
export interface GameClientBridgeLogProjectionAnnouncementDeclaration {
profileKey: string;
commandType: string;
textField: string;
newTextTemplate: string;
returningTextTemplate: string;
}
export interface GameClientBridgeLogProjectionPresenceDeclaration {
timestampField: string;
activeWindowSeconds: number;
activityTarget?: GameClientBridgeLogProjectionTargetDeclaration;
announcement: GameClientBridgeLogProjectionAnnouncementDeclaration;
}
export interface GameClientBridgeLogProjectionDeclaration {
key: string;
streamKeys: string[];
steps: GameClientBridgeLogProjectionStepDeclaration[];
correlationFields: string[];
maxInterveningLines: number;
target: GameClientBridgeLogProjectionTargetDeclaration;
presence?: GameClientBridgeLogProjectionPresenceDeclaration;
}
export interface GameClientBridgeDataPackDeclaration {
@@ -352,6 +391,7 @@ export interface GameClientBridgeManifest {
commands: GameClientBridgeCommandDeclaration[];
snapshots: GameClientBridgeSnapshotDeclaration[];
queryTemplates?: GameClientBridgeQueryTemplateDeclaration[];
logProjections?: GameClientBridgeLogProjectionDeclaration[];
dataPacks?: GameClientBridgeDataPackDeclaration[];
operationTemplates?: GameClientBridgeOperationTemplateDeclaration[];
commandRetentionSeconds: number;