snapshot of https://github.com/mountain-loop/yaak.git (main, 2026-09-23; blobs > 131072B omitted)
Some checks failed
Lint and Test / Lint/Test (push) Has been cancelled
Generate Sponsors README / deploy (push) Has been skipped

This commit is contained in:
upstream-mirror
2026-09-23 17:39:41 +05:00
commit 906fb231cc
1544 changed files with 164131 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import type { Color, Icon } from "@yaakapp/api";
import * as z from "zod";
import type { McpServerContext } from "../types.js";
const ICON_VALUES = [
"alert_triangle",
"check",
"check_circle",
"chevron_down",
"copy",
"info",
"pin",
"search",
"trash",
] as const satisfies readonly Icon[];
const COLOR_VALUES = [
"primary",
"secondary",
"info",
"success",
"notice",
"warning",
"danger",
] as const satisfies readonly Color[];
export function registerToastTools(server: McpServer, ctx: McpServerContext) {
server.registerTool(
"show_toast",
{
title: "Show Toast",
description: "Show a toast notification in Yaak",
inputSchema: {
message: z.string().describe("The message to display"),
icon: z.enum(ICON_VALUES).optional().describe("Icon name"),
color: z.enum(COLOR_VALUES).optional().describe("Toast color"),
timeout: z.number().optional().describe("Timeout in milliseconds"),
},
},
async ({ message, icon, color, timeout }) => {
await ctx.yaak.toast.show({
message,
icon,
color,
timeout,
});
return {
content: [
{
type: "text" as const,
text: `✓ Toast shown: "${message}"`,
},
],
};
},
);
}