import { z } from "zod";
import { StargateTool } from "@sierai/stargate-toolmaker";

const getProviderToolSchemas = new StargateTool({
  name: "getProviderToolSchema",
  description:
    "This tool will get the tool schemas available for a specific provider",
  schema: z.object({
    provider: z.string().describe("Name of the provider to get the schema for"),
  }),
  runner: async (input, config, oauthProvider) => {
    return JSON.stringify({
      name: "gmail_schemas",
      description: "Tool schemas using Gmail API",
      schemas: [
        {
          name: "send_email",
          description:
            "Send an email to a given recipient with a subject and message.",
          parameters: {
            type: "object",
            properties: {
              to: {
                type: "string",
                description: "The recipient email address.",
              },
              subject: {
                type: "string",
                description: "Email subject line.",
              },
              body: {
                type: "string",
                description: "Body of the email message.",
              },
            },
            required: ["to", "subject", "body"],
            additionalProperties: false,
          },
        },
      ],
    });
  },
});

export default getProviderToolSchemas;
