@sierai/stargate
Version:
Stargate Tools for AI Agents.
27 lines (24 loc) • 806 B
text/typescript
import { z } from "zod";
import { Google } from "@sierai/stargate-auth";
import { StargateTool } from "@sierai/stargate-toolmaker";
import { logger } from "@sierai/stargate-logger";
const listEvents = new StargateTool({
name: "list_google_calendar_events",
description:
"This tool will list the upcoming events from the user's Google Calendar.",
schema: z.object({
noOp: z.string().optional().describe("No-op parameter."),
}),
runner: async (_, config, oauthProvider: InstanceType<typeof Google>) => {
try {
logger.info({
message: "Auth check wrapper: Authed",
provider: oauthProvider.isAuthed,
});
return await oauthProvider.listEvents();
} catch (err) {
return "Error fetching events: " + err;
}
},
});
export default listEvents;