feat(ai): add mcp-metadata (#13150)

Co-authored-by: Félix Malfait <felix@twenty.com>
This commit is contained in:
Antoine Moreaux
2025-07-16 21:32:32 +02:00
committed by GitHub
parent b25f50e288
commit 11abe5440b
50 changed files with 1288 additions and 230 deletions
@@ -2,12 +2,10 @@ import { HttpService } from '@nestjs/axios';
import { Injectable } from '@nestjs/common';
import { AxiosResponse } from 'axios';
import { Request } from 'express';
import { Query } from 'src/engine/api/rest/core/types/query.type';
import { RestApiException } from 'src/engine/api/rest/errors/RestApiException';
import { TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service';
import { getServerUrl } from 'src/utils/get-server-url';
import { RequestContext } from 'src/engine/api/rest/types/RequestContext';
export enum GraphqlApiType {
CORE = 'core',
@@ -16,18 +14,15 @@ export enum GraphqlApiType {
@Injectable()
export class RestApiService {
constructor(
private readonly twentyConfigService: TwentyConfigService,
private readonly httpService: HttpService,
) {}
constructor(private readonly httpService: HttpService) {}
async call(graphqlApiType: GraphqlApiType, request: Request, data: Query) {
const baseUrl = getServerUrl(
request,
this.twentyConfigService.get('SERVER_URL'),
);
async call(
graphqlApiType: GraphqlApiType,
requestContext: RequestContext,
data: Query,
) {
let response: AxiosResponse;
const url = `${baseUrl}/${
const url = `${requestContext.baseUrl}/${
graphqlApiType === GraphqlApiType.CORE
? 'graphql'
: GraphqlApiType.METADATA
@@ -37,7 +32,7 @@ export class RestApiService {
response = await this.httpService.axiosRef.post(url, data, {
headers: {
'Content-Type': 'application/json',
Authorization: request.headers.authorization,
Authorization: requestContext.headers.authorization,
},
});
} catch (err) {