librechat-data-provider 0.8.402 → 0.8.403

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/types/accessPermissions.d.ts +744 -0
  2. package/dist/types/actions.d.ts +118 -0
  3. package/dist/types/api-endpoints.d.ts +149 -0
  4. package/dist/types/artifacts.d.ts +97 -0
  5. package/dist/types/azure.d.ts +22 -0
  6. package/dist/types/bedrock.d.ts +1220 -0
  7. package/dist/types/config.d.ts +13916 -0
  8. package/dist/types/config.spec.d.ts +1 -0
  9. package/dist/types/createPayload.d.ts +5 -0
  10. package/dist/types/data-service.d.ts +284 -0
  11. package/dist/types/feedback.d.ts +36 -0
  12. package/dist/types/file-config.d.ts +263 -0
  13. package/dist/types/file-config.spec.d.ts +1 -0
  14. package/dist/types/generate.d.ts +597 -0
  15. package/dist/types/headers-helpers.d.ts +2 -0
  16. package/{src/index.ts → dist/types/index.d.ts} +0 -15
  17. package/dist/types/keys.d.ts +92 -0
  18. package/dist/types/mcp.d.ts +2760 -0
  19. package/dist/types/messages.d.ts +10 -0
  20. package/dist/types/models.d.ts +1677 -0
  21. package/dist/types/parameterSettings.d.ts +69 -0
  22. package/dist/types/parsers.d.ts +110 -0
  23. package/dist/types/permissions.d.ts +522 -0
  24. package/dist/types/react-query/react-query-service.d.ts +85 -0
  25. package/dist/types/request.d.ts +25 -0
  26. package/dist/types/roles.d.ts +554 -0
  27. package/dist/types/roles.spec.d.ts +1 -0
  28. package/dist/types/schemas.d.ts +4815 -0
  29. package/dist/types/schemas.spec.d.ts +1 -0
  30. package/dist/types/types/agents.d.ts +433 -0
  31. package/dist/types/types/assistants.d.ts +547 -0
  32. package/dist/types/types/files.d.ts +172 -0
  33. package/dist/types/types/graph.d.ts +135 -0
  34. package/{src/types/mcpServers.ts → dist/types/types/mcpServers.d.ts} +12 -18
  35. package/dist/types/types/mutations.d.ts +209 -0
  36. package/dist/types/types/queries.d.ts +169 -0
  37. package/dist/types/types/runs.d.ts +36 -0
  38. package/dist/types/types/web.d.ts +520 -0
  39. package/dist/types/types.d.ts +503 -0
  40. package/dist/types/utils.d.ts +12 -0
  41. package/package.json +4 -1
  42. package/babel.config.js +0 -4
  43. package/check_updates.sh +0 -52
  44. package/jest.config.js +0 -19
  45. package/react-query/package-lock.json +0 -292
  46. package/react-query/package.json +0 -10
  47. package/rollup.config.js +0 -74
  48. package/server-rollup.config.js +0 -40
  49. package/specs/actions.spec.ts +0 -2533
  50. package/specs/api-endpoints-subdir.spec.ts +0 -140
  51. package/specs/api-endpoints.spec.ts +0 -74
  52. package/specs/azure.spec.ts +0 -844
  53. package/specs/bedrock.spec.ts +0 -862
  54. package/specs/filetypes.spec.ts +0 -175
  55. package/specs/generate.spec.ts +0 -770
  56. package/specs/headers-helpers.spec.ts +0 -24
  57. package/specs/mcp.spec.ts +0 -147
  58. package/specs/openapiSpecs.ts +0 -524
  59. package/specs/parsers.spec.ts +0 -601
  60. package/specs/request-interceptor.spec.ts +0 -304
  61. package/specs/utils.spec.ts +0 -196
  62. package/src/accessPermissions.ts +0 -346
  63. package/src/actions.ts +0 -813
  64. package/src/api-endpoints.ts +0 -440
  65. package/src/artifacts.ts +0 -3104
  66. package/src/azure.ts +0 -328
  67. package/src/bedrock.ts +0 -425
  68. package/src/config.spec.ts +0 -315
  69. package/src/config.ts +0 -2006
  70. package/src/createPayload.ts +0 -46
  71. package/src/data-service.ts +0 -1087
  72. package/src/feedback.ts +0 -141
  73. package/src/file-config.spec.ts +0 -1248
  74. package/src/file-config.ts +0 -764
  75. package/src/generate.ts +0 -634
  76. package/src/headers-helpers.ts +0 -13
  77. package/src/keys.ts +0 -99
  78. package/src/mcp.ts +0 -271
  79. package/src/messages.ts +0 -50
  80. package/src/models.ts +0 -69
  81. package/src/parameterSettings.ts +0 -1111
  82. package/src/parsers.ts +0 -563
  83. package/src/permissions.ts +0 -188
  84. package/src/react-query/react-query-service.ts +0 -566
  85. package/src/request.ts +0 -171
  86. package/src/roles.spec.ts +0 -132
  87. package/src/roles.ts +0 -225
  88. package/src/schemas.spec.ts +0 -355
  89. package/src/schemas.ts +0 -1234
  90. package/src/types/agents.ts +0 -470
  91. package/src/types/assistants.ts +0 -654
  92. package/src/types/files.ts +0 -191
  93. package/src/types/graph.ts +0 -145
  94. package/src/types/mutations.ts +0 -422
  95. package/src/types/queries.ts +0 -208
  96. package/src/types/runs.ts +0 -40
  97. package/src/types/web.ts +0 -588
  98. package/src/types.ts +0 -676
  99. package/src/utils.ts +0 -85
  100. package/tsconfig.json +0 -28
  101. package/tsconfig.spec.json +0 -10
  102. /package/{src/react-query/index.ts → dist/types/react-query/index.d.ts} +0 -0
  103. /package/{src/types/index.ts → dist/types/types/index.d.ts} +0 -0
package/src/request.ts DELETED
@@ -1,171 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import axios, { AxiosError, AxiosRequestConfig } from 'axios';
3
- import { setTokenHeader } from './headers-helpers';
4
- import * as endpoints from './api-endpoints';
5
- import type * as t from './types';
6
-
7
- async function _get<T>(url: string, options?: AxiosRequestConfig): Promise<T> {
8
- const response = await axios.get(url, { ...options });
9
- return response.data;
10
- }
11
-
12
- async function _getResponse<T>(url: string, options?: AxiosRequestConfig): Promise<T> {
13
- return await axios.get(url, { ...options });
14
- }
15
-
16
- async function _post(url: string, data?: any) {
17
- const response = await axios.post(url, JSON.stringify(data), {
18
- headers: { 'Content-Type': 'application/json' },
19
- });
20
- return response.data;
21
- }
22
-
23
- async function _postMultiPart(url: string, formData: FormData, options?: AxiosRequestConfig) {
24
- const response = await axios.post(url, formData, {
25
- ...options,
26
- headers: { 'Content-Type': 'multipart/form-data' },
27
- });
28
- return response.data;
29
- }
30
-
31
- async function _postTTS(url: string, formData: FormData, options?: AxiosRequestConfig) {
32
- const response = await axios.post(url, formData, {
33
- ...options,
34
- headers: { 'Content-Type': 'multipart/form-data' },
35
- responseType: 'arraybuffer',
36
- });
37
- return response.data;
38
- }
39
-
40
- async function _put(url: string, data?: any) {
41
- const response = await axios.put(url, JSON.stringify(data), {
42
- headers: { 'Content-Type': 'application/json' },
43
- });
44
- return response.data;
45
- }
46
-
47
- async function _delete<T>(url: string): Promise<T> {
48
- const response = await axios.delete(url);
49
- return response.data;
50
- }
51
-
52
- async function _deleteWithOptions<T>(url: string, options?: AxiosRequestConfig): Promise<T> {
53
- const response = await axios.delete(url, { ...options });
54
- return response.data;
55
- }
56
-
57
- async function _patch(url: string, data?: any) {
58
- const response = await axios.patch(url, JSON.stringify(data), {
59
- headers: { 'Content-Type': 'application/json' },
60
- });
61
- return response.data;
62
- }
63
-
64
- let isRefreshing = false;
65
- let failedQueue: { resolve: (value?: any) => void; reject: (reason?: any) => void }[] = [];
66
-
67
- const refreshToken = (retry?: boolean): Promise<t.TRefreshTokenResponse | undefined> =>
68
- _post(endpoints.refreshToken(retry));
69
-
70
- const dispatchTokenUpdatedEvent = (token: string) => {
71
- setTokenHeader(token);
72
- window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));
73
- };
74
-
75
- const processQueue = (error: AxiosError | null, token: string | null = null) => {
76
- failedQueue.forEach((prom) => {
77
- if (error) {
78
- prom.reject(error);
79
- } else {
80
- prom.resolve(token);
81
- }
82
- });
83
- failedQueue = [];
84
- };
85
-
86
- if (typeof window !== 'undefined') {
87
- axios.interceptors.response.use(
88
- (response) => response,
89
- async (error) => {
90
- const originalRequest = error.config;
91
- if (!error.response) {
92
- return Promise.reject(error);
93
- }
94
-
95
- if (originalRequest.url?.includes('/api/auth/2fa') === true) {
96
- return Promise.reject(error);
97
- }
98
- if (originalRequest.url?.includes('/api/auth/logout') === true) {
99
- return Promise.reject(error);
100
- }
101
-
102
- /** Skip refresh when the Authorization header has been cleared (e.g. during logout),
103
- * but allow shared link requests to proceed so auth recovery/redirect can happen */
104
- if (
105
- !axios.defaults.headers.common['Authorization'] &&
106
- !window.location.pathname.startsWith('/share/')
107
- ) {
108
- return Promise.reject(error);
109
- }
110
-
111
- if (error.response.status === 401 && !originalRequest._retry) {
112
- console.warn('401 error, refreshing token');
113
- originalRequest._retry = true;
114
-
115
- if (isRefreshing) {
116
- try {
117
- const token = await new Promise((resolve, reject) => {
118
- failedQueue.push({ resolve, reject });
119
- });
120
- originalRequest.headers['Authorization'] = 'Bearer ' + token;
121
- return await axios(originalRequest);
122
- } catch (err) {
123
- return Promise.reject(err);
124
- }
125
- }
126
-
127
- isRefreshing = true;
128
-
129
- try {
130
- const response = await refreshToken(
131
- // Handle edge case where we get a blank screen if the initial 401 error is from a refresh token request
132
- originalRequest.url?.includes('api/auth/refresh') === true ? true : false,
133
- );
134
-
135
- const token = response?.token ?? '';
136
-
137
- if (token) {
138
- originalRequest.headers['Authorization'] = 'Bearer ' + token;
139
- dispatchTokenUpdatedEvent(token);
140
- processQueue(null, token);
141
- return await axios(originalRequest);
142
- } else {
143
- processQueue(error, null);
144
- window.location.href = endpoints.apiBaseUrl() + endpoints.buildLoginRedirectUrl();
145
- }
146
- } catch (err) {
147
- processQueue(err as AxiosError, null);
148
- return Promise.reject(err);
149
- } finally {
150
- isRefreshing = false;
151
- }
152
- }
153
-
154
- return Promise.reject(error);
155
- },
156
- );
157
- }
158
-
159
- export default {
160
- get: _get,
161
- getResponse: _getResponse,
162
- post: _post,
163
- postMultiPart: _postMultiPart,
164
- postTTS: _postTTS,
165
- put: _put,
166
- delete: _delete,
167
- deleteWithOptions: _deleteWithOptions,
168
- patch: _patch,
169
- refreshToken,
170
- dispatchTokenUpdatedEvent,
171
- };
package/src/roles.spec.ts DELETED
@@ -1,132 +0,0 @@
1
- import { Permissions, PermissionTypes, permissionsSchema } from './permissions';
2
- import { SystemRoles, roleDefaults } from './roles';
3
-
4
- const RESOURCE_MANAGEMENT_FIELDS: Permissions[] = [
5
- Permissions.CREATE,
6
- Permissions.SHARE,
7
- Permissions.SHARE_PUBLIC,
8
- ];
9
-
10
- /**
11
- * Permission types where CREATE/SHARE/SHARE_PUBLIC must default to false for USER.
12
- * MEMORIES is excluded: its CREATE/READ/UPDATE apply to the user's own private data.
13
- * AGENTS/PROMPTS are excluded: CREATE=true is intentional (users own their agents/prompts).
14
- * Add new types here if they gate shared/multi-user resources.
15
- */
16
- const RESOURCE_PERMISSION_TYPES: PermissionTypes[] = [
17
- PermissionTypes.MCP_SERVERS,
18
- PermissionTypes.REMOTE_AGENTS,
19
- ];
20
-
21
- describe('roleDefaults', () => {
22
- describe('USER role', () => {
23
- const userPerms = roleDefaults[SystemRoles.USER].permissions;
24
-
25
- it('should have explicit values for every field in every multi-field permission type', () => {
26
- const schemaShape = permissionsSchema.shape;
27
-
28
- for (const [permType, subSchema] of Object.entries(schemaShape)) {
29
- const fieldNames = Object.keys(subSchema.shape);
30
- if (fieldNames.length <= 1) {
31
- continue;
32
- }
33
-
34
- const userValues =
35
- userPerms[permType as PermissionTypes] as Record<string, boolean>;
36
-
37
- for (const field of fieldNames) {
38
- expect({
39
- permType,
40
- field,
41
- value: userValues[field],
42
- }).toEqual(
43
- expect.objectContaining({
44
- permType,
45
- field,
46
- value: expect.any(Boolean),
47
- }),
48
- );
49
- }
50
- }
51
- });
52
-
53
- it('should never grant CREATE, SHARE, or SHARE_PUBLIC by default for resource-management types', () => {
54
- for (const permType of RESOURCE_PERMISSION_TYPES) {
55
- const permissions = userPerms[permType] as Record<string, boolean>;
56
- for (const field of RESOURCE_MANAGEMENT_FIELDS) {
57
- if (permissions[field] === undefined) {
58
- continue;
59
- }
60
- expect({
61
- permType,
62
- field,
63
- value: permissions[field],
64
- }).toEqual(
65
- expect.objectContaining({
66
- permType,
67
- field,
68
- value: false,
69
- }),
70
- );
71
- }
72
- }
73
- });
74
-
75
- it('should cover every permission type that has CREATE, SHARE, or SHARE_PUBLIC fields', () => {
76
- const schemaShape = permissionsSchema.shape;
77
- const restrictedSet = new Set<string>(RESOURCE_PERMISSION_TYPES);
78
-
79
- for (const [permType, subSchema] of Object.entries(schemaShape)) {
80
- const fieldNames = Object.keys(subSchema.shape);
81
- const hasResourceFields = fieldNames.some((f) => RESOURCE_MANAGEMENT_FIELDS.includes(f as Permissions));
82
- if (!hasResourceFields) {
83
- continue;
84
- }
85
-
86
- const isTracked =
87
- restrictedSet.has(permType) ||
88
- permType === PermissionTypes.MEMORIES ||
89
- permType === PermissionTypes.PROMPTS ||
90
- permType === PermissionTypes.AGENTS;
91
-
92
- expect({
93
- permType,
94
- tracked: isTracked,
95
- }).toEqual(
96
- expect.objectContaining({
97
- permType,
98
- tracked: true,
99
- }),
100
- );
101
- }
102
- });
103
- });
104
-
105
- describe('ADMIN role', () => {
106
- const adminPerms = roleDefaults[SystemRoles.ADMIN].permissions;
107
-
108
- it('should have explicit values for every field in every permission type', () => {
109
- const schemaShape = permissionsSchema.shape;
110
-
111
- for (const [permType, subSchema] of Object.entries(schemaShape)) {
112
- const fieldNames = Object.keys(subSchema.shape);
113
- const adminValues =
114
- adminPerms[permType as PermissionTypes] as Record<string, boolean>;
115
-
116
- for (const field of fieldNames) {
117
- expect({
118
- permType,
119
- field,
120
- value: adminValues[field],
121
- }).toEqual(
122
- expect.objectContaining({
123
- permType,
124
- field,
125
- value: expect.any(Boolean),
126
- }),
127
- );
128
- }
129
- }
130
- });
131
- });
132
- });
package/src/roles.ts DELETED
@@ -1,225 +0,0 @@
1
- import { z } from 'zod';
2
- import {
3
- Permissions,
4
- PermissionTypes,
5
- permissionsSchema,
6
- agentPermissionsSchema,
7
- promptPermissionsSchema,
8
- memoryPermissionsSchema,
9
- runCodePermissionsSchema,
10
- bookmarkPermissionsSchema,
11
- webSearchPermissionsSchema,
12
- fileSearchPermissionsSchema,
13
- multiConvoPermissionsSchema,
14
- mcpServersPermissionsSchema,
15
- peoplePickerPermissionsSchema,
16
- remoteAgentsPermissionsSchema,
17
- temporaryChatPermissionsSchema,
18
- fileCitationsPermissionsSchema,
19
- } from './permissions';
20
-
21
- /**
22
- * Enum for System Defined Roles
23
- */
24
- export enum SystemRoles {
25
- /**
26
- * The Admin role
27
- */
28
- ADMIN = 'ADMIN',
29
- /**
30
- * The default user role
31
- */
32
- USER = 'USER',
33
- }
34
-
35
- export const roleSchema = z.object({
36
- name: z.string(),
37
- permissions: permissionsSchema,
38
- });
39
-
40
- export type TRole = z.infer<typeof roleSchema>;
41
-
42
- const defaultRolesSchema = z.object({
43
- [SystemRoles.ADMIN]: roleSchema.extend({
44
- name: z.literal(SystemRoles.ADMIN),
45
- permissions: permissionsSchema.extend({
46
- [PermissionTypes.PROMPTS]: promptPermissionsSchema.extend({
47
- [Permissions.USE]: z.boolean().default(true),
48
- [Permissions.CREATE]: z.boolean().default(true),
49
- [Permissions.SHARE]: z.boolean().default(true),
50
- [Permissions.SHARE_PUBLIC]: z.boolean().default(true),
51
- }),
52
- [PermissionTypes.BOOKMARKS]: bookmarkPermissionsSchema.extend({
53
- [Permissions.USE]: z.boolean().default(true),
54
- }),
55
- [PermissionTypes.MEMORIES]: memoryPermissionsSchema.extend({
56
- [Permissions.USE]: z.boolean().default(true),
57
- [Permissions.CREATE]: z.boolean().default(true),
58
- [Permissions.UPDATE]: z.boolean().default(true),
59
- [Permissions.READ]: z.boolean().default(true),
60
- [Permissions.OPT_OUT]: z.boolean().default(true),
61
- }),
62
- [PermissionTypes.AGENTS]: agentPermissionsSchema.extend({
63
- [Permissions.USE]: z.boolean().default(true),
64
- [Permissions.CREATE]: z.boolean().default(true),
65
- [Permissions.SHARE]: z.boolean().default(true),
66
- [Permissions.SHARE_PUBLIC]: z.boolean().default(true),
67
- }),
68
- [PermissionTypes.MULTI_CONVO]: multiConvoPermissionsSchema.extend({
69
- [Permissions.USE]: z.boolean().default(true),
70
- }),
71
- [PermissionTypes.TEMPORARY_CHAT]: temporaryChatPermissionsSchema.extend({
72
- [Permissions.USE]: z.boolean().default(true),
73
- }),
74
- [PermissionTypes.RUN_CODE]: runCodePermissionsSchema.extend({
75
- [Permissions.USE]: z.boolean().default(true),
76
- }),
77
- [PermissionTypes.WEB_SEARCH]: webSearchPermissionsSchema.extend({
78
- [Permissions.USE]: z.boolean().default(true),
79
- }),
80
- [PermissionTypes.PEOPLE_PICKER]: peoplePickerPermissionsSchema.extend({
81
- [Permissions.VIEW_USERS]: z.boolean().default(true),
82
- [Permissions.VIEW_GROUPS]: z.boolean().default(true),
83
- [Permissions.VIEW_ROLES]: z.boolean().default(true),
84
- }),
85
- [PermissionTypes.MARKETPLACE]: z.object({
86
- [Permissions.USE]: z.boolean().default(false),
87
- }),
88
- [PermissionTypes.FILE_SEARCH]: fileSearchPermissionsSchema.extend({
89
- [Permissions.USE]: z.boolean().default(true),
90
- }),
91
- [PermissionTypes.FILE_CITATIONS]: fileCitationsPermissionsSchema.extend({
92
- [Permissions.USE]: z.boolean().default(true),
93
- }),
94
- [PermissionTypes.MCP_SERVERS]: mcpServersPermissionsSchema.extend({
95
- [Permissions.USE]: z.boolean().default(true),
96
- [Permissions.CREATE]: z.boolean().default(true),
97
- [Permissions.SHARE]: z.boolean().default(true),
98
- [Permissions.SHARE_PUBLIC]: z.boolean().default(true),
99
- }),
100
- [PermissionTypes.REMOTE_AGENTS]: remoteAgentsPermissionsSchema.extend({
101
- [Permissions.USE]: z.boolean().default(true),
102
- [Permissions.CREATE]: z.boolean().default(true),
103
- [Permissions.SHARE]: z.boolean().default(true),
104
- [Permissions.SHARE_PUBLIC]: z.boolean().default(true),
105
- }),
106
- }),
107
- }),
108
- [SystemRoles.USER]: roleSchema.extend({
109
- name: z.literal(SystemRoles.USER),
110
- permissions: permissionsSchema,
111
- }),
112
- });
113
-
114
- export const roleDefaults = defaultRolesSchema.parse({
115
- [SystemRoles.ADMIN]: {
116
- name: SystemRoles.ADMIN,
117
- permissions: {
118
- [PermissionTypes.PROMPTS]: {
119
- [Permissions.USE]: true,
120
- [Permissions.CREATE]: true,
121
- [Permissions.SHARE]: true,
122
- [Permissions.SHARE_PUBLIC]: true,
123
- },
124
- [PermissionTypes.BOOKMARKS]: {
125
- [Permissions.USE]: true,
126
- },
127
- [PermissionTypes.MEMORIES]: {
128
- [Permissions.USE]: true,
129
- [Permissions.CREATE]: true,
130
- [Permissions.UPDATE]: true,
131
- [Permissions.READ]: true,
132
- [Permissions.OPT_OUT]: true,
133
- },
134
- [PermissionTypes.AGENTS]: {
135
- [Permissions.USE]: true,
136
- [Permissions.CREATE]: true,
137
- [Permissions.SHARE]: true,
138
- [Permissions.SHARE_PUBLIC]: true,
139
- },
140
- [PermissionTypes.MULTI_CONVO]: {
141
- [Permissions.USE]: true,
142
- },
143
- [PermissionTypes.TEMPORARY_CHAT]: {
144
- [Permissions.USE]: true,
145
- },
146
- [PermissionTypes.RUN_CODE]: {
147
- [Permissions.USE]: true,
148
- },
149
- [PermissionTypes.WEB_SEARCH]: {
150
- [Permissions.USE]: true,
151
- },
152
- [PermissionTypes.PEOPLE_PICKER]: {
153
- [Permissions.VIEW_USERS]: true,
154
- [Permissions.VIEW_GROUPS]: true,
155
- [Permissions.VIEW_ROLES]: true,
156
- },
157
- [PermissionTypes.MARKETPLACE]: {
158
- [Permissions.USE]: true,
159
- },
160
- [PermissionTypes.FILE_SEARCH]: {
161
- [Permissions.USE]: true,
162
- },
163
- [PermissionTypes.FILE_CITATIONS]: {
164
- [Permissions.USE]: true,
165
- },
166
- [PermissionTypes.MCP_SERVERS]: {
167
- [Permissions.USE]: true,
168
- [Permissions.CREATE]: true,
169
- [Permissions.SHARE]: true,
170
- [Permissions.SHARE_PUBLIC]: true,
171
- },
172
- [PermissionTypes.REMOTE_AGENTS]: {
173
- [Permissions.USE]: true,
174
- [Permissions.CREATE]: true,
175
- [Permissions.SHARE]: true,
176
- [Permissions.SHARE_PUBLIC]: true,
177
- },
178
- },
179
- },
180
- [SystemRoles.USER]: {
181
- name: SystemRoles.USER,
182
- permissions: {
183
- [PermissionTypes.PROMPTS]: {
184
- [Permissions.USE]: true,
185
- [Permissions.CREATE]: true,
186
- [Permissions.SHARE]: false,
187
- [Permissions.SHARE_PUBLIC]: false,
188
- },
189
- [PermissionTypes.BOOKMARKS]: {},
190
- [PermissionTypes.MEMORIES]: {},
191
- [PermissionTypes.AGENTS]: {
192
- [Permissions.USE]: true,
193
- [Permissions.CREATE]: true,
194
- [Permissions.SHARE]: false,
195
- [Permissions.SHARE_PUBLIC]: false,
196
- },
197
- [PermissionTypes.MULTI_CONVO]: {},
198
- [PermissionTypes.TEMPORARY_CHAT]: {},
199
- [PermissionTypes.RUN_CODE]: {},
200
- [PermissionTypes.WEB_SEARCH]: {},
201
- [PermissionTypes.PEOPLE_PICKER]: {
202
- [Permissions.VIEW_USERS]: false,
203
- [Permissions.VIEW_GROUPS]: false,
204
- [Permissions.VIEW_ROLES]: false,
205
- },
206
- [PermissionTypes.MARKETPLACE]: {
207
- [Permissions.USE]: false,
208
- },
209
- [PermissionTypes.FILE_SEARCH]: {},
210
- [PermissionTypes.FILE_CITATIONS]: {},
211
- [PermissionTypes.MCP_SERVERS]: {
212
- [Permissions.USE]: true,
213
- [Permissions.CREATE]: false,
214
- [Permissions.SHARE]: false,
215
- [Permissions.SHARE_PUBLIC]: false,
216
- },
217
- [PermissionTypes.REMOTE_AGENTS]: {
218
- [Permissions.USE]: false,
219
- [Permissions.CREATE]: false,
220
- [Permissions.SHARE]: false,
221
- [Permissions.SHARE_PUBLIC]: false,
222
- },
223
- },
224
- },
225
- });