From 4821b35e9a10ebe95ca4eb5aa2ac499048813e70 Mon Sep 17 00:00:00 2001 From: JohnDoe6345789 Date: Fri, 26 Dec 2025 01:05:24 +0000 Subject: [PATCH] code: stream,packages,lua (3 files) --- .../nextjs/src/lib/codegen/codegen-types.ts | 30 +++++++++++++++++++ .../stream_cast/seed/scripts/permissions.lua | 13 ++++++++ .../stream_cast/seed/scripts/scene_router.lua | 13 ++++++++ 3 files changed, 56 insertions(+) create mode 100644 frontends/nextjs/src/lib/codegen/codegen-types.ts create mode 100644 packages/stream_cast/seed/scripts/permissions.lua create mode 100644 packages/stream_cast/seed/scripts/scene_router.lua diff --git a/frontends/nextjs/src/lib/codegen/codegen-types.ts b/frontends/nextjs/src/lib/codegen/codegen-types.ts new file mode 100644 index 000000000..20914c52b --- /dev/null +++ b/frontends/nextjs/src/lib/codegen/codegen-types.ts @@ -0,0 +1,30 @@ +export type CodegenRuntime = 'web' | 'cli' | 'desktop' | 'hybrid' | 'server' + +export interface CodegenSpec { + projectName: string + packageId: string + runtime: CodegenRuntime + tone?: string + brief?: string +} + +export interface CodegenTemplateFile { + path: string + contents: string +} + +export interface CodegenManifest { + projectName: string + packageId: string + runtime: CodegenRuntime + tone?: string + brief?: string + generatedAt: string +} + +export interface CodegenProjectTemplate { + zipName: string + rootDir: string + manifest: CodegenManifest + files: CodegenTemplateFile[] +} diff --git a/packages/stream_cast/seed/scripts/permissions.lua b/packages/stream_cast/seed/scripts/permissions.lua new file mode 100644 index 000000000..e36330610 --- /dev/null +++ b/packages/stream_cast/seed/scripts/permissions.lua @@ -0,0 +1,13 @@ +local M = {} + +function M.can_publish(user) + local role = user.role or "public" + return role == "admin" or role == "god" or role == "supergod" +end + +function M.can_moderate(user) + local role = user.role or "public" + return role == "admin" or role == "god" or role == "supergod" +end + +return M diff --git a/packages/stream_cast/seed/scripts/scene_router.lua b/packages/stream_cast/seed/scripts/scene_router.lua new file mode 100644 index 000000000..1e121e4d4 --- /dev/null +++ b/packages/stream_cast/seed/scripts/scene_router.lua @@ -0,0 +1,13 @@ +local M = {} + +local routes = { + intro = "studio_a", + main = "studio_b", + qa = "studio_c" +} + +function M.route(scene) + return routes[scene] or "studio_b" +end + +return M