core/apps/webapp/app/trigger/integrations/integration-run.ts
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

88 lines
2.5 KiB
TypeScript

// import createLoadRemoteModule, {
// createRequires,
// } from "@paciolan/remote-module-loader";
// import { logger, task } from "@trigger.dev/sdk/v3";
// import axios from "axios";
// const fetcher = async (url: string) => {
// // Handle remote URLs with axios
// const response = await axios.get(url);
// return response.data;
// };
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
// const loadRemoteModule = async (requires: any) =>
// createLoadRemoteModule({ fetcher, requires });
// function createAxiosInstance(token: string) {
// const instance = axios.create();
// instance.interceptors.request.use((config) => {
// // Check if URL starts with /api and doesn't have a full host
// if (config.url?.startsWith("/api")) {
// config.url = `${process.env.BACKEND_HOST}${config.url.replace("/api/", "/")}`;
// }
// if (
// config.url.includes(process.env.FRONTEND_HOST) ||
// config.url.includes(process.env.BACKEND_HOST)
// ) {
// config.headers.Authorization = `Bearer ${token}`;
// }
// return config;
// });
// return instance;
// }
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
// const getRequires = (axios: any) => createRequires({ axios });
// export const integrationRun = task({
// id: "integration-run",
// run: async ({
// pat,
// eventBody,
// integrationAccount,
// integrationDefinition,
// event,
// }: {
// pat: string;
// // This is the event you want to pass to the integration
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
// event: any;
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
// eventBody?: any;
// integrationDefinition: IntegrationDefinition;
// integrationAccount?: IntegrationAccount;
// }) => {
// const remoteModuleLoad = await loadRemoteModule(
// getRequires(createAxiosInstance(pat)),
// );
// logger.info(
// `${integrationDefinition.url}/${integrationDefinition.version}/backend/index.js`,
// );
// const integrationFunction = await remoteModuleLoad(
// `${integrationDefinition.url}/${integrationDefinition.version}/backend/index.js`,
// );
// // const integrationFunction = await remoteModuleLoad(
// // `${integrationDefinition.url}`,
// // );
// return await integrationFunction.run({
// integrationAccount,
// integrationDefinition,
// event,
// eventBody: {
// ...(eventBody ? eventBody : {}),
// },
// });
// },
// });