feat: add props system and refactor asset library architecture

This commit is contained in:
saturn
2026-03-19 15:37:47 +08:00
parent 9aff44e37a
commit f364bbc9e4
139 changed files with 9112 additions and 2827 deletions

View File

@@ -1,4 +1,5 @@
export type RouteCategory =
| 'assets'
| 'asset-hub'
| 'novel-promotion'
| 'projects'
@@ -11,6 +12,7 @@ export type RouteCategory =
export type RouteContractGroup =
| 'llm-observe-routes'
| 'direct-submit-routes'
| 'crud-assets-routes'
| 'crud-asset-hub-routes'
| 'crud-novel-promotion-routes'
| 'task-infra-routes'
@@ -52,6 +54,15 @@ const ROUTE_FILES = [
'src/app/api/asset-hub/voices/[id]/route.ts',
'src/app/api/asset-hub/voices/route.ts',
'src/app/api/asset-hub/voices/upload/route.ts',
'src/app/api/assets/[assetId]/copy/route.ts',
'src/app/api/assets/[assetId]/generate/route.ts',
'src/app/api/assets/[assetId]/modify-render/route.ts',
'src/app/api/assets/[assetId]/revert-render/route.ts',
'src/app/api/assets/[assetId]/route.ts',
'src/app/api/assets/[assetId]/select-render/route.ts',
'src/app/api/assets/[assetId]/update-label/route.ts',
'src/app/api/assets/[assetId]/variants/[variantId]/route.ts',
'src/app/api/assets/route.ts',
'src/app/api/auth/[...nextauth]/route.ts',
'src/app/api/auth/register/route.ts',
'src/app/api/cos/image/route.ts',
@@ -157,6 +168,7 @@ const ROUTE_FILES = [
] as const
function resolveCategory(routeFile: string): RouteCategory {
if (routeFile.startsWith('src/app/api/assets/')) return 'assets'
if (routeFile.startsWith('src/app/api/asset-hub/')) return 'asset-hub'
if (routeFile.startsWith('src/app/api/novel-promotion/')) return 'novel-promotion'
if (routeFile.startsWith('src/app/api/projects/')) return 'projects'
@@ -191,7 +203,9 @@ function resolveContractGroup(routeFile: string): RouteContractGroup {
if (
routeFile.endsWith('/generate-image/route.ts')
|| routeFile.endsWith('/generate-video/route.ts')
|| routeFile.endsWith('/generate/route.ts')
|| routeFile.endsWith('/modify-image/route.ts')
|| routeFile.endsWith('/modify-render/route.ts')
|| routeFile.endsWith('/voice-design/route.ts')
|| routeFile.endsWith('/insert-panel/route.ts')
|| routeFile.endsWith('/lip-sync/route.ts')
@@ -206,6 +220,7 @@ function resolveContractGroup(routeFile: string): RouteContractGroup {
) {
return 'direct-submit-routes'
}
if (routeFile.startsWith('src/app/api/assets/')) return 'crud-assets-routes'
if (routeFile.startsWith('src/app/api/asset-hub/')) return 'crud-asset-hub-routes'
if (routeFile.startsWith('src/app/api/novel-promotion/')) return 'crud-novel-promotion-routes'
if (