A simple Bluesky bot to make sense of the noise, with responses powered by Gemini, similar to Grok.
1import { AtUri } from "@atproto/syntax";
2import { ai, bot } from "../core";
3import { Type } from "@google/genai";
4import { env } from "../env";
5import z from "zod";
6
7export const definition = {
8 name: "search_posts",
9 description: "Searches posts across the entire Bluesky network.",
10 parameters: {
11 type: Type.OBJECT,
12 properties: {
13 query: {
14 type: Type.STRING,
15 description: "The query to search for.",
16 },
17 },
18 required: ["query"],
19 },
20};
21
22export const validator = z.object({
23 query: z.string(),
24});
25
26export async function handler(args: z.infer<typeof validator>) {}