librechat-data-provider 0.8.402 → 0.8.404

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 (109) hide show
  1. package/dist/index.es.js +1 -1
  2. package/dist/index.es.js.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/react-query/index.es.js +1 -1
  6. package/dist/react-query/index.es.js.map +1 -1
  7. package/dist/types/accessPermissions.d.ts +744 -0
  8. package/dist/types/actions.d.ts +118 -0
  9. package/dist/types/api-endpoints.d.ts +150 -0
  10. package/dist/types/artifacts.d.ts +97 -0
  11. package/dist/types/azure.d.ts +22 -0
  12. package/dist/types/bedrock.d.ts +1220 -0
  13. package/dist/types/config.d.ts +14849 -0
  14. package/dist/types/config.spec.d.ts +1 -0
  15. package/dist/types/createPayload.d.ts +5 -0
  16. package/dist/types/data-service.d.ts +287 -0
  17. package/dist/types/feedback.d.ts +36 -0
  18. package/dist/types/file-config.d.ts +263 -0
  19. package/dist/types/file-config.spec.d.ts +1 -0
  20. package/dist/types/generate.d.ts +597 -0
  21. package/dist/types/headers-helpers.d.ts +2 -0
  22. package/{src/index.ts → dist/types/index.d.ts} +0 -15
  23. package/dist/types/keys.d.ts +92 -0
  24. package/dist/types/mcp.d.ts +2760 -0
  25. package/dist/types/messages.d.ts +10 -0
  26. package/dist/types/models.d.ts +1547 -0
  27. package/dist/types/parameterSettings.d.ts +69 -0
  28. package/dist/types/parsers.d.ts +110 -0
  29. package/dist/types/permissions.d.ts +522 -0
  30. package/dist/types/react-query/react-query-service.d.ts +85 -0
  31. package/dist/types/request.d.ts +25 -0
  32. package/dist/types/roles.d.ts +554 -0
  33. package/dist/types/roles.spec.d.ts +1 -0
  34. package/dist/types/schemas.d.ts +5110 -0
  35. package/dist/types/schemas.spec.d.ts +1 -0
  36. package/dist/types/types/agents.d.ts +433 -0
  37. package/dist/types/types/assistants.d.ts +547 -0
  38. package/dist/types/types/files.d.ts +172 -0
  39. package/dist/types/types/graph.d.ts +135 -0
  40. package/{src/types/mcpServers.ts → dist/types/types/mcpServers.d.ts} +12 -18
  41. package/dist/types/types/mutations.d.ts +209 -0
  42. package/dist/types/types/queries.d.ts +169 -0
  43. package/dist/types/types/runs.d.ts +36 -0
  44. package/dist/types/types/web.d.ts +520 -0
  45. package/dist/types/types.d.ts +503 -0
  46. package/dist/types/utils.d.ts +12 -0
  47. package/package.json +5 -1
  48. package/babel.config.js +0 -4
  49. package/check_updates.sh +0 -52
  50. package/jest.config.js +0 -19
  51. package/react-query/package-lock.json +0 -292
  52. package/react-query/package.json +0 -10
  53. package/rollup.config.js +0 -74
  54. package/server-rollup.config.js +0 -40
  55. package/specs/actions.spec.ts +0 -2533
  56. package/specs/api-endpoints-subdir.spec.ts +0 -140
  57. package/specs/api-endpoints.spec.ts +0 -74
  58. package/specs/azure.spec.ts +0 -844
  59. package/specs/bedrock.spec.ts +0 -862
  60. package/specs/filetypes.spec.ts +0 -175
  61. package/specs/generate.spec.ts +0 -770
  62. package/specs/headers-helpers.spec.ts +0 -24
  63. package/specs/mcp.spec.ts +0 -147
  64. package/specs/openapiSpecs.ts +0 -524
  65. package/specs/parsers.spec.ts +0 -601
  66. package/specs/request-interceptor.spec.ts +0 -304
  67. package/specs/utils.spec.ts +0 -196
  68. package/src/accessPermissions.ts +0 -346
  69. package/src/actions.ts +0 -813
  70. package/src/api-endpoints.ts +0 -440
  71. package/src/artifacts.ts +0 -3104
  72. package/src/azure.ts +0 -328
  73. package/src/bedrock.ts +0 -425
  74. package/src/config.spec.ts +0 -315
  75. package/src/config.ts +0 -2006
  76. package/src/createPayload.ts +0 -46
  77. package/src/data-service.ts +0 -1087
  78. package/src/feedback.ts +0 -141
  79. package/src/file-config.spec.ts +0 -1248
  80. package/src/file-config.ts +0 -764
  81. package/src/generate.ts +0 -634
  82. package/src/headers-helpers.ts +0 -13
  83. package/src/keys.ts +0 -99
  84. package/src/mcp.ts +0 -271
  85. package/src/messages.ts +0 -50
  86. package/src/models.ts +0 -69
  87. package/src/parameterSettings.ts +0 -1111
  88. package/src/parsers.ts +0 -563
  89. package/src/permissions.ts +0 -188
  90. package/src/react-query/react-query-service.ts +0 -566
  91. package/src/request.ts +0 -171
  92. package/src/roles.spec.ts +0 -132
  93. package/src/roles.ts +0 -225
  94. package/src/schemas.spec.ts +0 -355
  95. package/src/schemas.ts +0 -1234
  96. package/src/types/agents.ts +0 -470
  97. package/src/types/assistants.ts +0 -654
  98. package/src/types/files.ts +0 -191
  99. package/src/types/graph.ts +0 -145
  100. package/src/types/mutations.ts +0 -422
  101. package/src/types/queries.ts +0 -208
  102. package/src/types/runs.ts +0 -40
  103. package/src/types/web.ts +0 -588
  104. package/src/types.ts +0 -676
  105. package/src/utils.ts +0 -85
  106. package/tsconfig.json +0 -28
  107. package/tsconfig.spec.json +0 -10
  108. /package/{src/react-query/index.ts → dist/types/react-query/index.d.ts} +0 -0
  109. /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
- });