Files
2026-07-13 12:29:49 +08:00

40 lines
1.6 KiB
Zig

.{
.id = "dev.native_sdk.ai_chat_ts",
.name = "ai-chat-ts",
.display_name = "AI Chat TS",
.description = "A chat client for an OpenAI-compatible endpoint, authored entirely in TypeScript + Native markup.",
.version = "0.1.0",
.platforms = .{"macos"},
// The network permission covers the one effect the app performs:
// the buffered `Cmd.fetch` exchange with the configured
// chat-completions endpoint. Nothing else leaves the process.
.permissions = .{ "view", "network" },
.capabilities = .{ "native_views", "gpu_surfaces" },
// The stock theme pack, composed with the live system appearance —
// light/dark follows the OS with no core code.
.shell = .{
.windows = .{
.{
.label = "main",
.title = "AI Chat TS",
.width = 760,
.height = 640,
.min_width = 560,
.min_height = 420,
.restore_state = false,
.restore_policy = "center_on_primary",
.views = .{
.{ .label = "chat-canvas", .kind = "gpu_surface", .fill = true, .role = "Chat canvas", .accessibility_label = "AI chat conversation", .gpu_backend = "metal", .gpu_pixel_format = "bgra8_unorm", .gpu_present_mode = "timer", .gpu_alpha_mode = "opaque", .gpu_color_space = "srgb", .gpu_vsync = true },
},
},
},
},
.security = .{
.navigation = .{
.allowed_origins = .{ "zero://app", "zero://inline" },
.external_links = .{ .action = "deny" },
},
},
.web_engine = "system",
}