// 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 : {}), // }, // }); // }, // });