diff --git a/apps/backend/src/main.ts b/apps/backend/src/main.ts index 776ef144..c1bc50b0 100644 --- a/apps/backend/src/main.ts +++ b/apps/backend/src/main.ts @@ -21,11 +21,12 @@ async function bootstrap() { rawBody: true, cors: { ...(!process.env.NOT_SECURED ? { credentials: true } : {}), - allowedHeaders: ['Content-Type', 'Authorization'], + allowedHeaders: ['Content-Type', 'Authorization', 'x-copilotkit-runtime-client-gql-version'], exposedHeaders: [ 'reload', 'onboarding', 'activate', + 'x-copilotkit-runtime-client-gql-version', ...(process.env.NOT_SECURED ? ['auth', 'showorg', 'impersonate'] : []), ], origin: [ diff --git a/libraries/nestjs-libraries/src/chat/mastra.service.ts b/libraries/nestjs-libraries/src/chat/mastra.service.ts index daa88da5..27f1b0a3 100644 --- a/libraries/nestjs-libraries/src/chat/mastra.service.ts +++ b/libraries/nestjs-libraries/src/chat/mastra.service.ts @@ -1,4 +1,4 @@ -import { type Mastra } from '@mastra/core/mastra'; +import { Mastra } from '@mastra/core/mastra'; import { ConsoleLogger } from '@mastra/core/logger'; import { pStore } from '@gitroom/nestjs-libraries/chat/mastra.store'; import { Injectable } from '@nestjs/common'; @@ -9,22 +9,17 @@ export class MastraService { static mastra: Mastra; constructor(private _loadToolsService: LoadToolsService) {} async mastra() { - if (MastraService.mastra) { - return MastraService.mastra; - } - - const MastraInstance = await import('@mastra/core/mastra').then( - (m) => m.Mastra - ); - MastraService.mastra = new MastraInstance({ - storage: pStore, - agents: { - postiz: await this._loadToolsService.agent(), - }, - logger: new ConsoleLogger({ - level: 'info', - }), - }); + MastraService.mastra = + MastraService.mastra || + new Mastra({ + storage: pStore, + agents: { + postiz: await this._loadToolsService.agent(), + }, + logger: new ConsoleLogger({ + level: 'info', + }), + }); return MastraService.mastra; } diff --git a/libraries/nestjs-libraries/src/chat/mastra.store.ts b/libraries/nestjs-libraries/src/chat/mastra.store.ts index 5a035651..d5601601 100644 --- a/libraries/nestjs-libraries/src/chat/mastra.store.ts +++ b/libraries/nestjs-libraries/src/chat/mastra.store.ts @@ -1,4 +1,4 @@ -import { PostgresStore } from '@mastra/pg'; +import { PostgresStore, PgVector } from '@mastra/pg'; export const pStore = new PostgresStore({ connectionString: process.env.DATABASE_URL, diff --git a/libraries/nestjs-libraries/src/chat/start.mcp.ts b/libraries/nestjs-libraries/src/chat/start.mcp.ts index 4a09f1ba..d2089a90 100644 --- a/libraries/nestjs-libraries/src/chat/start.mcp.ts +++ b/libraries/nestjs-libraries/src/chat/start.mcp.ts @@ -1,11 +1,11 @@ import { INestApplication } from '@nestjs/common'; import { Request, Response } from 'express'; import { MastraService } from '@gitroom/nestjs-libraries/chat/mastra.service'; +import { MCPServer } from '@mastra/mcp'; import { randomUUID } from 'crypto'; import { OrganizationService } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.service'; import { runWithContext } from './async.storage'; export const startMcp = async (app: INestApplication) => { - const MCPServer = await import('@mastra/mcp').then(m => m.MCPServer); const mastraService = app.get(MastraService, { strict: false }); const organizationService = app.get(OrganizationService, { strict: false });