Skip to content

Commit ca6c7d1

Browse files
authored
Merge branch 'main' into mg/add-validations
2 parents 0b4f932 + 9eb2644 commit ca6c7d1

3 files changed

Lines changed: 45 additions & 0 deletions

File tree

packages/server/api/src/app/ai/chat/ai-mcp-chat.controller.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { ModelMessage } from 'ai';
2626
import { FastifyReply } from 'fastify';
2727
import { StatusCodes } from 'http-status-codes';
2828
import removeMarkdown from 'markdown-to-text';
29+
import { getProjectScopedRoutePolicy } from '../../core/security/route-policies/route-security-policy-factory';
2930
import { extractUiToolResultsFromMessage } from '../mcp/tool-utils';
3031
import {
3132
createChatContext,
@@ -470,6 +471,9 @@ export const aiMCPChatController: FastifyPluginAsyncTypebox = async (app) => {
470471
const OpenChatOptions = {
471472
config: {
472473
allowedPrincipals: [PrincipalType.USER],
474+
security: getProjectScopedRoutePolicy({
475+
allowedPrincipals: [PrincipalType.USER],
476+
}),
473477
},
474478
schema: {
475479
tags: ['ai', 'ai-chat-mcp'],
@@ -482,6 +486,9 @@ const OpenChatOptions = {
482486
const NewMessageOptions = {
483487
config: {
484488
allowedPrincipals: [PrincipalType.USER],
489+
security: getProjectScopedRoutePolicy({
490+
allowedPrincipals: [PrincipalType.USER],
491+
}),
485492
},
486493
schema: {
487494
tags: ['ai', 'ai-chat-mcp'],
@@ -494,6 +501,9 @@ const NewMessageOptions = {
494501
const ChatNameOptions = {
495502
config: {
496503
allowedPrincipals: [PrincipalType.USER],
504+
security: getProjectScopedRoutePolicy({
505+
allowedPrincipals: [PrincipalType.USER],
506+
}),
497507
},
498508
schema: {
499509
tags: ['ai', 'ai-chat-mcp'],
@@ -505,6 +515,9 @@ const ChatNameOptions = {
505515
const CodeGenerationOptions = {
506516
config: {
507517
allowedPrincipals: [PrincipalType.USER],
518+
security: getProjectScopedRoutePolicy({
519+
allowedPrincipals: [PrincipalType.USER],
520+
}),
508521
},
509522
schema: {
510523
tags: ['ai', 'ai-chat'],
@@ -517,6 +530,9 @@ const CodeGenerationOptions = {
517530
const RenameChatOptions = {
518531
config: {
519532
allowedPrincipals: [PrincipalType.USER],
533+
security: getProjectScopedRoutePolicy({
534+
allowedPrincipals: [PrincipalType.USER],
535+
}),
520536
},
521537
schema: {
522538
tags: ['ai', 'ai-chat-mcp'],
@@ -529,6 +545,9 @@ const RenameChatOptions = {
529545
const DeleteChatOptions = {
530546
config: {
531547
allowedPrincipals: [PrincipalType.USER],
548+
security: getProjectScopedRoutePolicy({
549+
allowedPrincipals: [PrincipalType.USER],
550+
}),
532551
},
533552
schema: {
534553
tags: ['ai', 'ai-chat-mcp'],
@@ -541,6 +560,9 @@ const DeleteChatOptions = {
541560
const ListChatsOptions = {
542561
config: {
543562
allowedPrincipals: [PrincipalType.USER],
563+
security: getProjectScopedRoutePolicy({
564+
allowedPrincipals: [PrincipalType.USER],
565+
}),
544566
},
545567
schema: {
546568
tags: ['ai', 'ai-chat-mcp'],
@@ -555,6 +577,9 @@ const ListChatsOptions = {
555577
const UpdateChatModelOptions = {
556578
config: {
557579
allowedPrincipals: [PrincipalType.USER],
580+
security: getProjectScopedRoutePolicy({
581+
allowedPrincipals: [PrincipalType.USER],
582+
}),
558583
},
559584
schema: {
560585
tags: ['ai', 'ai-chat-mcp'],

packages/server/api/src/app/ai/config/ai-config.controller.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
import { AiConfig, PrincipalType, SaveAiConfigRequest } from '@openops/shared';
66
import { StatusCodes } from 'http-status-codes';
77
import { entitiesMustBeOwnedByCurrentProject } from '../../authentication/authorization';
8+
import { getProjectScopedRoutePolicy } from '../../core/security/route-policies/route-security-policy-factory';
89
import { aiConfigService } from './ai-config.service';
910

1011
export const aiConfigController: FastifyPluginAsyncTypebox = async (app) => {
@@ -84,6 +85,9 @@ export const aiConfigController: FastifyPluginAsyncTypebox = async (app) => {
8485
const SaveAiConfigOptions = {
8586
config: {
8687
allowedPrincipals: [PrincipalType.USER],
88+
security: getProjectScopedRoutePolicy({
89+
allowedPrincipals: [PrincipalType.USER],
90+
}),
8791
},
8892
schema: {
8993
tags: ['ai-config'],
@@ -96,6 +100,9 @@ const SaveAiConfigOptions = {
96100
const getAiConfigRequest = {
97101
config: {
98102
allowedPrincipals: [PrincipalType.USER],
103+
security: getProjectScopedRoutePolicy({
104+
allowedPrincipals: [PrincipalType.USER],
105+
}),
99106
},
100107
schema: {
101108
tags: ['ai-config'],
@@ -107,6 +114,9 @@ const getAiConfigRequest = {
107114
const aiConfigIdRequest = {
108115
config: {
109116
allowedPrincipals: [PrincipalType.USER],
117+
security: getProjectScopedRoutePolicy({
118+
allowedPrincipals: [PrincipalType.USER],
119+
}),
110120
},
111121
schema: {
112122
tags: ['ai-config'],

packages/server/api/src/app/mcp/config/mcp-config.controller.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
} from '@openops/shared';
1010
import { StatusCodes } from 'http-status-codes';
1111
import { entitiesMustBeOwnedByCurrentProject } from '../../authentication/authorization';
12+
import { getProjectScopedRoutePolicy } from '../../core/security/route-policies/route-security-policy-factory';
1213
import { mcpConfigService } from './mcp-config.service';
1314

1415
export const mcpConfigController: FastifyPluginAsyncTypebox = async (app) => {
@@ -50,6 +51,9 @@ export const mcpConfigController: FastifyPluginAsyncTypebox = async (app) => {
5051
const SaveMcpConfigOptions = {
5152
config: {
5253
allowedPrincipals: [PrincipalType.USER],
54+
security: getProjectScopedRoutePolicy({
55+
allowedPrincipals: [PrincipalType.USER],
56+
}),
5357
},
5458
schema: {
5559
tags: ['mcp-config'],
@@ -62,6 +66,9 @@ const SaveMcpConfigOptions = {
6266
const getMcpConfigRequest = {
6367
config: {
6468
allowedPrincipals: [PrincipalType.USER],
69+
security: getProjectScopedRoutePolicy({
70+
allowedPrincipals: [PrincipalType.USER],
71+
}),
6572
},
6673
schema: {
6774
tags: ['mcp-config'],
@@ -72,6 +79,9 @@ const getMcpConfigRequest = {
7279
const mcpConfigIdRequest = {
7380
config: {
7481
allowedPrincipals: [PrincipalType.USER],
82+
security: getProjectScopedRoutePolicy({
83+
allowedPrincipals: [PrincipalType.USER],
84+
}),
7585
},
7686
schema: {
7787
tags: ['mcp-config'],

0 commit comments

Comments
 (0)