mirror of
https://github.com/eliasstepanik/core.git
synced 2026-01-10 08:58:31 +00:00
* 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>
88 lines
2.5 KiB
TypeScript
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 : {}),
|
|
// },
|
|
// });
|
|
// },
|
|
// });
|