import { Chat } from "chat";
import { createMemoryState } from "@chat-adapter/state-memory";
import { createRelayAdapter } from "@relaymessenger/chat-sdk-adapter";
const chat = new Chat({
userName: "Relay example",
concurrency: { strategy: "burst", debounceMs: 2000 },
adapters: {
relay: createRelayAdapter({
baseUrl: "https://api.relayapp.im",
token: process.env.RELAY_AGENT_TOKEN,
webhookSecret: process.env.RELAY_WEBHOOK_SECRET,
markReadOnReceipt: true,
abortActiveTurnOnReceipt: true,
}),
},
state: createMemoryState(),
});
chat.onDirectMessage(async (thread, message) => {
await thread.post(`Echo: ${message.text}`);
});
export async function POST(request: Request): Promise<Response> {
return chat.webhooks.relay(request);
}