1
import { SupabaseManagement, Supabase } from "@trigger.dev/supabase";
2
import { OpenAI } from "@trigger.dev/openai";
3
import { TriggerClient } from "@trigger.dev/sdk";
4
const supabaseManagement = new SupabaseManagement({
5
id: "supabase-management",
8
const openai = new OpenAI({
10
apiKey: process.env.OPENAI_API_KEY!,
14
const supabase = new Supabase({
16
supabaseKey: process.env.SUPABASE_SERVICE_ROLE_KEY!,
17
supabaseUrl: "https://<project id>.supabase.co",
21
const db = supabase.db<Database>("https://<project id>.supabase.co");
24
id: "auto-generate-blog-title",
25
name: "Auto generate blog title",
28
trigger: db.onInserted({
36
run: async (payload, io, ctx) => {
37
const result = await io.openai.backgroundCreateChatCompletion(
40
model: "gpt-3.5-turbo",
44
content: `Suggest some great titles for this blog post: \n ${payload.record.content}`,
50
const blogTitle = result.choices[0].message.content;
54
const { data, error } = await io.supabase.runTask(
59
.update({ title: blogTitle })
60
.eq("id", payload.record.id)