feat: add official game audio generation client

This commit is contained in:
2026-09-21 12:17:32 +08:00
parent d222d17500
commit 09e0ce5cf3
28 changed files with 1835 additions and 31 deletions

View File

@@ -12,6 +12,8 @@ import {
CODE_OWNED_PLUGIN_PERMISSION_IDS,
GAME_RESOURCE_BUNDLED_RELEASE_ID,
GAME_RESOURCE_PLUGIN_ID,
GAME_AUDIO_PLUGIN_ID,
GAME_AUDIO_BUNDLED_RELEASE_ID,
PROJECT_SCAFFOLD_BUNDLED_RELEASE_ID,
PROJECT_SCAFFOLD_PLUGIN_ID,
DATA_SERVICE_CAPABILITY_IDS,
@@ -38,9 +40,17 @@ export const BUNDLED_CODING_PLUGIN_ROOTS = Object.freeze([
'data-service',
'game-resource',
'project-scaffold',
'game-audio',
] as const);
const BUNDLED_CODING_PLUGIN_METADATA = Object.freeze({
'game-audio': Object.freeze({
pluginId: GAME_AUDIO_PLUGIN_ID,
runtimeKind: 'platform_hosted' as const,
acquisitionMode: 'user_acquired' as const,
releaseId: GAME_AUDIO_BUNDLED_RELEASE_ID,
bundledV2: true,
}),
'data-service': Object.freeze({
pluginId: DATA_SERVICE_PLUGIN_ID,
runtimeKind: 'bundled_typed' as const,
@@ -1182,9 +1192,10 @@ function validateBundledDefinitions(definitions: readonly CodingPluginDefinition
}
for (const tool of definition.tools) {
if (toolIds.has(tool.name)) throw new Error(`Duplicate bundled tool identifier: ${tool.name}`);
if (operationIds.has(tool.operation)) throw new Error(`Duplicate bundled operation identifier: ${tool.operation}`);
const operationKey = `${definition.id}:${tool.capabilityId}:${tool.operation}`;
if (operationIds.has(operationKey)) throw new Error(`Duplicate bundled operation identifier: ${operationKey}`);
toolIds.add(tool.name);
operationIds.add(tool.operation);
operationIds.add(operationKey);
capabilityIds.add(tool.capabilityId);
}
}