feat(plugin): gate pages on companion features

This commit is contained in:
npc0-hue
2026-07-29 09:53:39 +08:00
parent 271e1e684f
commit c9494abc48
16 changed files with 300 additions and 61 deletions
+9
View File
@@ -250,8 +250,11 @@ export interface GameClientBridgePageContract {
commandTypes?: string[];
snapshotTypes?: string[];
queryTemplateKeys?: string[];
featureKeys?: string[];
}
export interface GameClientBridgeFeatureDeclaration { key: string; title: string; permission: PluginPermission; requiredHandlers?: string[]; requiredEventProducers?: string[]; }
export interface GameClientBridgeCompanionDeclaration {
profileKey: string;
configTemplateKey: string;
@@ -275,6 +278,7 @@ export interface GameClientBridgeManifest {
commandRetentionSeconds: number;
maxCommands: number;
pages?: GameClientBridgePageContract[];
features?: GameClientBridgeFeatureDeclaration[];
companion?: GameClientBridgeCompanionDeclaration;
}
@@ -286,14 +290,19 @@ export interface GameClientBridgeProfileStatus {
commandTypes: string[];
snapshotTypes: string[];
queryTemplateKeys: string[];
handlerTypes?: string[];
eventProducerTypes?: string[];
}
export interface GameClientBridgeFeatureAvailability { key: string; available: boolean; reason?: string; }
export interface GameClientBridgeStatus {
serverInstanceId: string;
pluginId: string;
available: boolean;
reason?: string;
profiles: GameClientBridgeProfileStatus[];
features?: GameClientBridgeFeatureAvailability[];
}
export interface GameClientBridgeCommandResult {