1
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
2026-04-20 09:54:17 +08:00
parent 67c584b4df
commit 50759f3c1e
159 changed files with 16938 additions and 16925 deletions

View File

@@ -9,7 +9,6 @@ import type {
CustomWorldGalleryResponse,
CustomWorldLibraryMutationResponse,
CustomWorldLibraryResponse,
PLATFORM_THEMES,
PlatformBrowseHistoryBatchSyncRequest,
PlatformBrowseHistoryResponse,
PlatformBrowseHistoryWriteEntry,
@@ -21,7 +20,10 @@ import type {
RuntimeSettings,
SavedGameSnapshotInput,
} from '../../../packages/shared/src/contracts/runtime.js';
import { CUSTOM_WORLD_GENERATION_MODES } from '../../../packages/shared/src/contracts/runtime.js';
import {
CUSTOM_WORLD_GENERATION_MODES,
PLATFORM_THEMES,
} from '../../../packages/shared/src/contracts/runtime.js';
import type {
QuestGenerationRequest,
RuntimeItemIntentRequest,
@@ -70,6 +72,12 @@ import { generateSceneNpcForLandmark } from '../services/customWorldSceneNpcGene
import { listCustomWorldWorkSummaries } from '../services/customWorldWorkSummaryService.js';
import { generateQuestForNpcEncounter } from '../services/questService.js';
import { generateRuntimeItemIntents } from '../services/runtimeItemService.js';
import {
customWorldCoverImageSchema,
customWorldCoverUploadSchema,
generateCustomWorldCoverImage,
uploadCustomWorldCoverImage,
} from '../services/customWorldCoverAssetService.js';
import {
generateSceneImage,
sceneImageSchema,
@@ -420,6 +428,24 @@ export function createRuntimeRoutes(context: AppContext) {
}),
);
router.post(
'/custom-world/cover-image',
routeMeta({ operation: 'runtime.customWorld.coverImage' }),
asyncHandler(async (request, response) => {
const payload = customWorldCoverImageSchema.parse(request.body);
sendApiResponse(response, await generateCustomWorldCoverImage(context, payload));
}),
);
router.post(
'/custom-world/cover-upload',
routeMeta({ operation: 'runtime.customWorld.coverUpload' }),
asyncHandler(async (request, response) => {
const payload = customWorldCoverUploadSchema.parse(request.body);
sendApiResponse(response, await uploadCustomWorldCoverImage(context, payload));
}),
);
router.post(
'/custom-world/scene-image',
routeMeta({ operation: 'runtime.customWorld.sceneImage' }),