@mattermost/types 11.4.0 → 11.6.0

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.
package/lib/admin.d.ts CHANGED
@@ -86,6 +86,7 @@ export type AnalyticsState = {
86
86
  REGISTERED_USERS?: number;
87
87
  TOTAL_FILE_COUNT?: number;
88
88
  TOTAL_FILE_SIZE?: number;
89
+ SINGLE_CHANNEL_GUESTS?: number;
89
90
  };
90
91
  export type ClusterInfo = {
91
92
  id: string;
package/lib/agents.d.ts CHANGED
@@ -4,6 +4,7 @@ export type Agent = {
4
4
  username: string;
5
5
  service_id: string;
6
6
  service_type: string;
7
+ is_default?: boolean;
7
8
  };
8
9
  export type LLMService = {
9
10
  id: string;
package/lib/apps.d.ts CHANGED
@@ -142,6 +142,11 @@ export type AppSelectOption = {
142
142
  icon_data?: string;
143
143
  };
144
144
  export type AppFieldType = string;
145
+ export type DateTimeConfig = {
146
+ time_interval?: number;
147
+ location_timezone?: string;
148
+ allow_manual_time_entry?: boolean;
149
+ };
145
150
  export type AppField = {
146
151
  name: string;
147
152
  type: AppFieldType;
@@ -160,6 +165,7 @@ export type AppField = {
160
165
  subtype?: string;
161
166
  min_length?: number;
162
167
  max_length?: number;
168
+ datetime_config?: DateTimeConfig;
163
169
  min_date?: string;
164
170
  max_date?: string;
165
171
  time_interval?: number;
@@ -40,6 +40,10 @@ export type ChannelBookmarkPatch = {
40
40
  image_url?: string;
41
41
  emoji?: string;
42
42
  };
43
+ export type UpdateChannelBookmarkResponse = {
44
+ updated: ChannelBookmark;
45
+ deleted: ChannelBookmark;
46
+ };
43
47
  export type ChannelBookmarkWithFileInfo = ChannelBookmark & {
44
48
  file: FileInfo;
45
49
  };
package/lib/channels.d.ts CHANGED
@@ -51,6 +51,7 @@ export type Channel = {
51
51
  policy_enforced?: boolean;
52
52
  policy_is_active?: boolean;
53
53
  default_category_name?: string;
54
+ autotranslation?: boolean;
54
55
  };
55
56
  export type ServerChannel = Channel & {
56
57
  /**
@@ -101,6 +102,7 @@ export type ChannelMembership = {
101
102
  scheme_user: boolean;
102
103
  scheme_admin: boolean;
103
104
  post_root_id?: string;
105
+ autotranslation_disabled?: boolean;
104
106
  };
105
107
  export type ChannelUnread = {
106
108
  channel_id: string;
package/lib/cloud.d.ts CHANGED
@@ -163,10 +163,6 @@ export type TeamsUsage = {
163
163
  export type ValidBusinessEmail = {
164
164
  is_valid: boolean;
165
165
  };
166
- export interface NewsletterRequestBody {
167
- email: string;
168
- subscribed_content: string;
169
- }
170
166
  export declare const areShippingDetailsValid: (address: Address | null | undefined) => boolean;
171
167
  export type Feedback = {
172
168
  reason: string;
package/lib/config.d.ts CHANGED
@@ -223,12 +223,15 @@ export type ClientConfig = {
223
223
  ScheduledPosts: string;
224
224
  DeleteAccountLink: string;
225
225
  ContentFlaggingEnabled: 'true' | 'false';
226
+ UseAnonymousURLs: string;
226
227
  EnableBurnOnRead: string;
227
228
  BurnOnReadDurationSeconds: string;
228
229
  BurnOnReadMaximumTimeToLiveSeconds: string;
229
230
  EnableAttributeBasedAccessControl: string;
230
- EnableChannelScopeAccessControl: string;
231
231
  EnableUserManagedAttributes: string;
232
+ AutoTranslationLanguages: string;
233
+ EnableAutoTranslation: string;
234
+ RestrictDMAndGMAutotranslation: string;
232
235
  };
233
236
  export type License = {
234
237
  id: string;
@@ -316,6 +319,7 @@ export type ServiceSettings = {
316
319
  GoogleDeveloperKey: string;
317
320
  EnableOAuthServiceProvider: boolean;
318
321
  EnableDynamicClientRegistration: boolean;
322
+ DCRRedirectURIAllowlist: string[];
319
323
  EnableIncomingWebhooks: boolean;
320
324
  EnableOutgoingWebhooks: boolean;
321
325
  EnableOutgoingOAuthConnections: boolean;
@@ -417,6 +421,7 @@ export type ServiceSettings = {
417
421
  EnableWebHubChannelIteration: boolean;
418
422
  FrameAncestors: string;
419
423
  DeleteAccountLink: string;
424
+ MinimumDesktopAppVersion: string;
420
425
  };
421
426
  export type TeamSettings = {
422
427
  SiteName: string;
@@ -483,11 +488,6 @@ export type LogSettings = {
483
488
  export type ExperimentalAuditSettings = {
484
489
  FileEnabled: boolean;
485
490
  FileName: string;
486
- FileMaxSizeMB: number;
487
- FileMaxAgeDays: number;
488
- FileMaxBackups: number;
489
- FileCompress: boolean;
490
- FileMaxQueueSize: number;
491
491
  AdvancedLoggingJSON: Record<string, any>;
492
492
  Certificate: string;
493
493
  };
@@ -608,6 +608,7 @@ export type RateLimitSettings = {
608
608
  export type PrivacySettings = {
609
609
  ShowEmailAddress: boolean;
610
610
  ShowFullName: boolean;
611
+ UseAnonymousURLs: boolean;
611
612
  };
612
613
  export type SupportSettings = {
613
614
  TermsOfServiceLink: string;
@@ -717,16 +718,18 @@ export type LocalizationSettings = {
717
718
  };
718
719
  export type AutoTranslationSettings = {
719
720
  Enable: boolean;
720
- Provider: '' | 'libretranslate';
721
+ TargetLanguages: string[];
722
+ Workers: number;
723
+ Provider: '' | 'libretranslate' | 'agents';
721
724
  LibreTranslate: {
722
725
  URL: string;
723
726
  APIKey: string;
724
727
  };
725
- TimeoutsMs: {
726
- NewPost: number;
727
- Fetch: number;
728
- Notification: number;
728
+ Agents?: {
729
+ LLMServiceID: string;
729
730
  };
731
+ TimeoutMs: number;
732
+ RestrictDMAndGM: boolean;
730
733
  };
731
734
  export type SamlSettings = {
732
735
  Enable: boolean;
@@ -836,6 +839,7 @@ export type ElasticsearchSettings = {
836
839
  Password: string;
837
840
  EnableIndexing: boolean;
838
841
  EnableSearching: boolean;
842
+ EnableCJKAnalyzers: boolean;
839
843
  EnableAutocomplete: boolean;
840
844
  Sniff: boolean;
841
845
  PostIndexReplicas: number;
@@ -857,6 +861,7 @@ export type ElasticsearchSettings = {
857
861
  ClientKey: string;
858
862
  Trace: string;
859
863
  IgnoredPurgeIndexes: string;
864
+ EnableSearchPublicChannelsWithoutMembership: boolean;
860
865
  };
861
866
  export type DataRetentionSettings = {
862
867
  EnableMessageDeletion: boolean;
@@ -953,7 +958,6 @@ export type ExportSettings = {
953
958
  };
954
959
  export type AccessControlSettings = {
955
960
  EnableAttributeBasedAccessControl: boolean;
956
- EnableChannelScopeAccessControl: boolean;
957
961
  EnableUserManagedAttributes: boolean;
958
962
  };
959
963
  export type ContentFlaggingNotificationSettings = {
@@ -1041,12 +1045,6 @@ export type EnvironmentConfigSettings<T> = {
1041
1045
  export type EnvironmentConfig = {
1042
1046
  [P in keyof AdminConfig]: EnvironmentConfigSettings<AdminConfig[P]>;
1043
1047
  };
1044
- export type WarnMetricStatus = {
1045
- id: string;
1046
- limit: number;
1047
- acked: boolean;
1048
- store_status: string;
1049
- };
1050
1048
  export declare enum CollapsedThreads {
1051
1049
  DISABLED = "disabled",
1052
1050
  DEFAULT_ON = "default_on",
@@ -1,5 +1,7 @@
1
+ import type { Channel } from './channels';
1
2
  import type { Post } from './posts';
2
3
  import type { NameMappedPropertyFields, PropertyValue } from './properties';
4
+ import type { Team } from './teams';
3
5
  export type ContentFlaggingEvent = 'flagged' | 'assigned' | 'removed' | 'dismissed';
4
6
  export type NotificationTarget = 'reviewers' | 'author' | 'reporter';
5
7
  export type ContentFlaggingConfig = {
@@ -15,6 +17,15 @@ export type ContentFlaggingState = {
15
17
  postValues?: {
16
18
  [key: Post['id']]: Array<PropertyValue<unknown>>;
17
19
  };
20
+ flaggedPosts?: {
21
+ [key: Post['id']]: Post;
22
+ };
23
+ channels?: {
24
+ [key: Channel['id']]: Channel;
25
+ };
26
+ teams?: {
27
+ [key: Team['id']]: Team;
28
+ };
18
29
  };
19
30
  export declare enum ContentFlaggingStatus {
20
31
  Pending = "Pending",
package/lib/emojis.d.ts CHANGED
@@ -11,10 +11,8 @@ export type CustomEmoji = {
11
11
  export type SystemEmoji = {
12
12
  name: string;
13
13
  category: EmojiCategory;
14
- image: string;
15
14
  short_name: string;
16
15
  short_names: string[];
17
- batch: number;
18
16
  skins?: string[];
19
17
  skin_variations?: Record<string, SystemEmojiVariation>;
20
18
  unified: string;
@@ -42,3 +40,4 @@ export type RecentEmojiData = {
42
40
  name: string;
43
41
  usageCount: number;
44
42
  };
43
+ export declare function isSystemEmoji(emoji: Emoji): emoji is SystemEmoji;
package/lib/emojis.js CHANGED
@@ -2,3 +2,10 @@
2
2
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
3
3
  // See LICENSE.txt for license information.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.isSystemEmoji = isSystemEmoji;
6
+ function isSystemEmoji(emoji) {
7
+ if ('category' in emoji) {
8
+ return emoji.category !== 'custom';
9
+ }
10
+ return !('id' in emoji);
11
+ }
package/lib/errors.d.ts CHANGED
@@ -3,6 +3,7 @@ export type ServerError = {
3
3
  server_error_id?: string;
4
4
  stack?: string;
5
5
  message: string;
6
+ detailed_error?: string;
6
7
  status_code?: number;
7
8
  url?: string;
8
9
  };
package/lib/files.d.ts CHANGED
@@ -1,3 +1,20 @@
1
+ /**
2
+ * FileDownloadType represents the type of file download or access being performed.
3
+ */
4
+ export type FileDownloadType = 'file' | 'thumbnail' | 'preview' | 'public';
5
+ /**
6
+ * FileDownloadTypes contains constants for the different types of file downloads.
7
+ */
8
+ export declare const FileDownloadTypes: {
9
+ /** Full file download request */
10
+ readonly FILE: FileDownloadType;
11
+ /** Thumbnail image request */
12
+ readonly THUMBNAIL: FileDownloadType;
13
+ /** Preview image request */
14
+ readonly PREVIEW: FileDownloadType;
15
+ /** Public link access (unauthenticated) */
16
+ readonly PUBLIC: FileDownloadType;
17
+ };
1
18
  export type FileInfo = {
2
19
  id: string;
3
20
  user_id: string;
@@ -25,6 +42,7 @@ export type FilesState = {
25
42
  filePublicLink?: {
26
43
  link: string;
27
44
  };
45
+ rejectedFiles: Set<string>;
28
46
  };
29
47
  export type FileUploadResponse = {
30
48
  file_infos: FileInfo[];
package/lib/files.js CHANGED
@@ -2,3 +2,17 @@
2
2
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
3
3
  // See LICENSE.txt for license information.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.FileDownloadTypes = void 0;
6
+ /**
7
+ * FileDownloadTypes contains constants for the different types of file downloads.
8
+ */
9
+ exports.FileDownloadTypes = {
10
+ /** Full file download request */
11
+ FILE: 'file',
12
+ /** Thumbnail image request */
13
+ THUMBNAIL: 'thumbnail',
14
+ /** Preview image request */
15
+ PREVIEW: 'preview',
16
+ /** Public link access (unauthenticated) */
17
+ PUBLIC: 'public',
18
+ };
@@ -1,7 +1,8 @@
1
1
  export type PostAction = {
2
2
  id?: string;
3
3
  type?: string;
4
- name?: string;
4
+ name: string;
5
+ tooltip?: string;
5
6
  disabled?: boolean;
6
7
  style?: string;
7
8
  data_source?: string;
@@ -20,6 +20,9 @@ function isPostAction(v) {
20
20
  if ('disabled' in v && typeof v.disabled !== 'boolean') {
21
21
  return false;
22
22
  }
23
+ if ('tooltip' in v && typeof v.tooltip !== 'string') {
24
+ return false;
25
+ }
23
26
  if ('style' in v && typeof v.style !== 'string') {
24
27
  return false;
25
28
  }
@@ -127,13 +127,14 @@ export type IntegrationsState = {
127
127
  commands: IDMappedObjects<Command>;
128
128
  dialogArguments?: DialogArgs;
129
129
  dialogTriggerId: string;
130
- dialog?: {
131
- url: string;
132
- dialog: Dialog;
133
- trigger_id: string;
134
- };
130
+ dialog?: OpenDialogRequest;
131
+ };
132
+ export type OpenDialogRequest = {
133
+ trigger_id: string;
134
+ url: string;
135
+ dialog: Dialog;
135
136
  };
136
- type Dialog = {
137
+ export type Dialog = {
137
138
  callback_id?: string;
138
139
  elements?: DialogElement[];
139
140
  title: string;
@@ -176,6 +177,11 @@ export type DialogElement = {
176
177
  value: any;
177
178
  }>;
178
179
  refresh?: boolean;
180
+ datetime_config?: {
181
+ time_interval?: number;
182
+ location_timezone?: string;
183
+ allow_manual_time_entry?: boolean;
184
+ };
179
185
  min_date?: string;
180
186
  max_date?: string;
181
187
  time_interval?: number;
@@ -186,4 +192,3 @@ export type SubmitDialogResponse = {
186
192
  type?: string;
187
193
  form?: Dialog;
188
194
  };
189
- export {};
package/lib/limits.d.ts CHANGED
@@ -7,4 +7,6 @@ export type ServerLimits = {
7
7
  maxUsersHardLimit?: number;
8
8
  lastAccessiblePostTime?: number;
9
9
  postHistoryLimit?: number;
10
+ singleChannelGuestCount?: number;
11
+ singleChannelGuestLimit?: number;
10
12
  };
package/lib/posts.d.ts CHANGED
@@ -5,7 +5,7 @@ import type { Reaction } from './reactions';
5
5
  import type { TeamType } from './teams';
6
6
  import type { UserProfile } from './users';
7
7
  import { type RelationOneToOne, type RelationOneToMany, type IDMappedObjects } from './utilities';
8
- export type PostType = 'system_add_remove' | 'system_add_to_channel' | 'system_add_to_team' | 'system_channel_deleted' | 'system_channel_restored' | 'system_displayname_change' | 'system_convert_channel' | 'system_ephemeral' | 'system_header_change' | 'system_join_channel' | 'system_join_leave' | 'system_leave_channel' | 'system_purpose_change' | 'system_remove_from_channel' | 'system_combined_user_activity' | 'system_fake_parent_deleted' | 'system_generic' | 'reminder' | 'system_wrangler' | 'custom_spillage_report' | 'burn_on_read' | '';
8
+ export type PostType = 'system_add_remove' | 'system_add_to_channel' | 'system_add_to_team' | 'system_channel_deleted' | 'system_channel_restored' | 'system_displayname_change' | 'system_convert_channel' | 'system_ephemeral' | 'system_header_change' | 'system_join_channel' | 'system_join_leave' | 'system_leave_channel' | 'system_purpose_change' | 'system_remove_from_channel' | 'system_combined_user_activity' | 'system_fake_parent_deleted' | 'system_generic' | 'reminder' | 'system_wrangler' | 'custom_spillage_report' | 'system_autotranslation' | 'burn_on_read' | '';
9
9
  export type PostEmbedType = 'image' | 'link' | 'message_attachment' | 'opengraph' | 'permalink';
10
10
  export type PostEmbed = {
11
11
  type: PostEmbedType;
@@ -28,6 +28,13 @@ export type PostPriorityMetadata = {
28
28
  requested_ack?: boolean;
29
29
  persistent_notifications?: boolean;
30
30
  };
31
+ export type PostTranslation = {
32
+ object?: {
33
+ message: string;
34
+ };
35
+ state: 'ready' | 'skipped' | 'processing' | 'unavailable';
36
+ source_lang?: string;
37
+ };
31
38
  export type PostMetadata = {
32
39
  embeds: PostEmbed[];
33
40
  emojis: CustomEmoji[];
@@ -36,6 +43,7 @@ export type PostMetadata = {
36
43
  reactions?: Reaction[];
37
44
  priority?: PostPriorityMetadata;
38
45
  acknowledgements?: PostAcknowledgement[];
46
+ translations?: Record<string, PostTranslation>;
39
47
  expire_at?: number;
40
48
  recipients?: string[];
41
49
  };
@@ -48,6 +48,9 @@ export type UserPropertyField = PropertyField & {
48
48
  ldap?: string;
49
49
  saml?: string;
50
50
  managed?: string;
51
+ protected?: boolean;
52
+ source_plugin_id?: string;
53
+ access_mode?: '' | 'source_only' | 'shared_only';
51
54
  };
52
55
  };
53
56
  export type SelectPropertyField = PropertyField & {
package/lib/reports.d.ts CHANGED
@@ -17,6 +17,11 @@ export declare enum ReportDuration {
17
17
  PreviousMonth = "previous_month",
18
18
  Last6Months = "last_6_months"
19
19
  }
20
+ export declare enum GuestFilter {
21
+ All = "all",
22
+ SingleChannel = "single_channel",
23
+ MultipleChannel = "multi_channel"
24
+ }
20
25
  export declare enum CursorPaginationDirection {
21
26
  'prev' = "prev",
22
27
  'next' = "next"
@@ -28,6 +33,7 @@ export type UserReportFilter = {
28
33
  hide_active?: boolean;
29
34
  hide_inactive?: boolean;
30
35
  search_term?: string;
36
+ guest_filter?: string;
31
37
  };
32
38
  export type UserReportOptions = UserReportFilter & {
33
39
  page_size?: number;
@@ -57,9 +63,10 @@ export type UserReportOptions = UserReportFilter & {
57
63
  date_range?: ReportDuration;
58
64
  };
59
65
  export type UserReport = UserProfile & {
60
- last_login_at: number;
66
+ last_login: number;
61
67
  last_status_at?: number;
62
68
  last_post_date?: number;
63
69
  days_active?: number;
64
70
  total_posts?: number;
71
+ channel_count?: number;
65
72
  };
package/lib/reports.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
3
3
  // See LICENSE.txt for license information.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.CursorPaginationDirection = exports.ReportDuration = exports.ReportSortDirection = exports.UserReportSortColumns = void 0;
5
+ exports.CursorPaginationDirection = exports.GuestFilter = exports.ReportDuration = exports.ReportSortDirection = exports.UserReportSortColumns = void 0;
6
6
  var UserReportSortColumns;
7
7
  (function (UserReportSortColumns) {
8
8
  UserReportSortColumns["username"] = "Username";
@@ -24,6 +24,12 @@ var ReportDuration;
24
24
  ReportDuration["PreviousMonth"] = "previous_month";
25
25
  ReportDuration["Last6Months"] = "last_6_months";
26
26
  })(ReportDuration || (exports.ReportDuration = ReportDuration = {}));
27
+ var GuestFilter;
28
+ (function (GuestFilter) {
29
+ GuestFilter["All"] = "all";
30
+ GuestFilter["SingleChannel"] = "single_channel";
31
+ GuestFilter["MultipleChannel"] = "multi_channel";
32
+ })(GuestFilter || (exports.GuestFilter = GuestFilter = {}));
27
33
  var CursorPaginationDirection;
28
34
  (function (CursorPaginationDirection) {
29
35
  CursorPaginationDirection["prev"] = "prev";
package/lib/store.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { AdminState } from './admin';
2
+ import type { LLMService } from './agents';
2
3
  import type { AppsState } from './apps';
3
4
  import type { Bot } from './bots';
4
5
  import type { ChannelBookmarksState } from './channel_bookmarks';
@@ -49,6 +50,11 @@ export type GlobalState = {
49
50
  service_id: string;
50
51
  service_type: string;
51
52
  }>;
53
+ llmServices: LLMService[];
54
+ agentsStatus: {
55
+ available: boolean;
56
+ reason?: string;
57
+ };
52
58
  };
53
59
  bots: {
54
60
  accounts: Record<string, Bot>;
package/lib/users.d.ts CHANGED
@@ -70,7 +70,6 @@ export type UsersState = {
70
70
  profiles: IDMappedObjects<UserProfile>;
71
71
  profilesInTeam: RelationOneToManyUnique<Team, UserProfile>;
72
72
  profilesNotInTeam: RelationOneToManyUnique<Team, UserProfile>;
73
- profilesWithoutTeam: Set<string>;
74
73
  profilesInChannel: RelationOneToManyUnique<Channel, UserProfile>;
75
74
  profilesNotInChannel: RelationOneToManyUnique<Channel, UserProfile>;
76
75
  profilesInGroup: RelationOneToManyUnique<Group, UserProfile>;
@@ -138,3 +137,7 @@ export type GetFilteredUsersStatsOpts = {
138
137
  export type AuthChangeResponse = {
139
138
  follow_link: string;
140
139
  };
140
+ export type UserAuthUpdate = {
141
+ auth_data?: string;
142
+ auth_service?: string;
143
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mattermost/types",
3
- "version": "11.4.0",
3
+ "version": "11.6.0",
4
4
  "description": "Shared type definitions used by the Mattermost web app",
5
5
  "keywords": [
6
6
  "mattermost"