Harshith Mullapudi 54e535d57d
Feat: v2 (#12)
* Feat: v2

* feat: add chat functionality

* First cut: integrations

* Feat: add conversation API

* Enhance conversation handling and memory management

* Feat: added conversation

---------

Co-authored-by: Manoj K <saimanoj58@gmail.com>
2025-07-08 22:41:00 +05:30

65 lines
2.1 KiB
TypeScript

// import { PrismaClient } from "@prisma/client";
// import { logger, schedules, task } from "@trigger.dev/sdk/v3";
// import { integrationRunSchedule } from "./integration-run-schedule";
// const prisma = new PrismaClient();
// export const scheduler = task({
// id: "scheduler",
// run: async (payload: { integrationAccountId: string }) => {
// const { integrationAccountId } = payload;
// const integrationAccount = await prisma.integrationAccount.findUnique({
// where: { id: integrationAccountId, deleted: null },
// include: {
// integrationDefinition: true,
// workspace: true,
// },
// });
// if (!integrationAccount) {
// logger.error("Integration account not found");
// return null;
// }
// if (!integrationAccount.workspace) {
// return null;
// }
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
// const spec = integrationAccount.integrationDefinition.spec as any;
// if (spec.schedule && spec.schedule.frequency) {
// const createdSchedule = await schedules.create({
// // The id of the scheduled task you want to attach to.
// task: integrationRunSchedule.id,
// // The schedule in cron format.
// cron: spec.schedule.frequency,
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
// timezone: (integrationAccount.workspace.preferences as any).timezone,
// // this is required, it prevents you from creating duplicate schedules. It will update the schedule if it already exists.
// deduplicationKey: integrationAccount.id,
// externalId: integrationAccount.id,
// });
// await prisma.integrationAccount.update({
// where: {
// id: integrationAccount.id,
// },
// data: {
// settings: {
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
// ...(integrationAccount.settings as any),
// scheduleId: createdSchedule.id,
// },
// },
// });
// return createdSchedule;
// }
// return "No schedule for this task";
// },
// });