40 lines
1.6 KiB
Zig
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",
|
|
}
|