stream-chat 9.7.0 → 9.9.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/dist/cjs/index.browser.cjs +200 -8
- package/dist/cjs/index.browser.cjs.map +3 -3
- package/dist/cjs/index.node.cjs +205 -8
- package/dist/cjs/index.node.cjs.map +3 -3
- package/dist/esm/index.js +200 -8
- package/dist/esm/index.js.map +3 -3
- package/dist/types/client.d.ts +17 -1
- package/dist/types/messageComposer/middleware/messageComposer/commandInjection.d.ts +4 -0
- package/dist/types/messageComposer/middleware/messageComposer/index.d.ts +1 -0
- package/dist/types/messageComposer/middleware/textComposer/activeCommandGuard.d.ts +4 -0
- package/dist/types/messageComposer/middleware/textComposer/commandStringExtraction.d.ts +5 -0
- package/dist/types/messageComposer/middleware/textComposer/index.d.ts +2 -0
- package/dist/types/messageComposer/middleware/textComposer/textMiddlewareUtils.d.ts +6 -0
- package/dist/types/messageComposer/middleware/textComposer/types.d.ts +1 -0
- package/dist/types/messageComposer/textComposer.d.ts +6 -3
- package/dist/types/pagination/BasePaginator.d.ts +1 -1
- package/dist/types/pagination/ReminderPaginator.d.ts +6 -2
- package/dist/types/reminders/ReminderManager.d.ts +3 -3
- package/dist/types/types.d.ts +26 -1
- package/package.json +1 -1
- package/src/client.ts +28 -2
- package/src/messageComposer/messageComposer.ts +1 -0
- package/src/messageComposer/middleware/messageComposer/commandInjection.ts +72 -0
- package/src/messageComposer/middleware/messageComposer/index.ts +1 -0
- package/src/messageComposer/middleware/textComposer/activeCommandGuard.ts +20 -0
- package/src/messageComposer/middleware/textComposer/commandStringExtraction.ts +56 -0
- package/src/messageComposer/middleware/textComposer/commands.ts +22 -4
- package/src/messageComposer/middleware/textComposer/index.ts +2 -0
- package/src/messageComposer/middleware/textComposer/textMiddlewareUtils.ts +14 -0
- package/src/messageComposer/middleware/textComposer/types.ts +1 -0
- package/src/messageComposer/textComposer.ts +23 -3
- package/src/pagination/BasePaginator.ts +1 -1
- package/src/pagination/ReminderPaginator.ts +20 -2
- package/src/reminders/ReminderManager.ts +16 -2
- package/src/types.ts +30 -2
package/dist/cjs/index.node.cjs
CHANGED
|
@@ -10750,12 +10750,16 @@ __export(index_exports, {
|
|
|
10750
10750
|
calculateLevenshtein: () => calculateLevenshtein,
|
|
10751
10751
|
channelManagerEventToHandlerMapping: () => channelManagerEventToHandlerMapping,
|
|
10752
10752
|
chatCodes: () => chatCodes,
|
|
10753
|
+
createActiveCommandGuardMiddleware: () => createActiveCommandGuardMiddleware,
|
|
10753
10754
|
createAttachmentsCompositionMiddleware: () => createAttachmentsCompositionMiddleware,
|
|
10755
|
+
createCommandInjectionMiddleware: () => createCommandInjectionMiddleware,
|
|
10756
|
+
createCommandStringExtractionMiddleware: () => createCommandStringExtractionMiddleware,
|
|
10754
10757
|
createCommandsMiddleware: () => createCommandsMiddleware,
|
|
10755
10758
|
createCompositionDataCleanupMiddleware: () => createCompositionDataCleanupMiddleware,
|
|
10756
10759
|
createCompositionValidationMiddleware: () => createCompositionValidationMiddleware,
|
|
10757
10760
|
createCustomDataCompositionMiddleware: () => createCustomDataCompositionMiddleware,
|
|
10758
10761
|
createDraftAttachmentsCompositionMiddleware: () => createDraftAttachmentsCompositionMiddleware,
|
|
10762
|
+
createDraftCommandInjectionMiddleware: () => createDraftCommandInjectionMiddleware,
|
|
10759
10763
|
createDraftCompositionValidationMiddleware: () => createDraftCompositionValidationMiddleware,
|
|
10760
10764
|
createDraftCustomDataCompositionMiddleware: () => createDraftCustomDataCompositionMiddleware,
|
|
10761
10765
|
createDraftLinkPreviewsCompositionMiddleware: () => createDraftLinkPreviewsCompositionMiddleware,
|
|
@@ -10779,6 +10783,7 @@ __export(index_exports, {
|
|
|
10779
10783
|
formatMessage: () => formatMessage,
|
|
10780
10784
|
generateFileName: () => generateFileName,
|
|
10781
10785
|
getAttachmentTypeFromMimeType: () => getAttachmentTypeFromMimeType,
|
|
10786
|
+
getCompleteCommandInString: () => getCompleteCommandInString,
|
|
10782
10787
|
getExtensionFromMimeType: () => getExtensionFromMimeType,
|
|
10783
10788
|
getTokenizedSuggestionDisplayName: () => getTokenizedSuggestionDisplayName,
|
|
10784
10789
|
getTriggerCharWithToken: () => getTriggerCharWithToken,
|
|
@@ -17652,6 +17657,76 @@ var MessageDraftComposerMiddlewareExecutor = class extends MiddlewareExecutor {
|
|
|
17652
17657
|
}
|
|
17653
17658
|
};
|
|
17654
17659
|
|
|
17660
|
+
// src/messageComposer/middleware/messageComposer/commandInjection.ts
|
|
17661
|
+
var createCommandInjectionMiddleware = (composer) => ({
|
|
17662
|
+
handlers: {
|
|
17663
|
+
compose: ({
|
|
17664
|
+
forward,
|
|
17665
|
+
next,
|
|
17666
|
+
state
|
|
17667
|
+
}) => {
|
|
17668
|
+
const command = composer.textComposer.command;
|
|
17669
|
+
if (!command) {
|
|
17670
|
+
return forward();
|
|
17671
|
+
}
|
|
17672
|
+
const { text } = state.localMessage;
|
|
17673
|
+
const injection = `/${command?.name}`;
|
|
17674
|
+
const enrichedText = `${injection} ${text}`;
|
|
17675
|
+
return next({
|
|
17676
|
+
...state,
|
|
17677
|
+
localMessage: {
|
|
17678
|
+
...state.localMessage,
|
|
17679
|
+
text: enrichedText
|
|
17680
|
+
},
|
|
17681
|
+
message: {
|
|
17682
|
+
...state.message,
|
|
17683
|
+
text: enrichedText
|
|
17684
|
+
}
|
|
17685
|
+
});
|
|
17686
|
+
}
|
|
17687
|
+
},
|
|
17688
|
+
id: "stream-io/message-composer-middleware/command-string-injection"
|
|
17689
|
+
});
|
|
17690
|
+
var createDraftCommandInjectionMiddleware = (composer) => ({
|
|
17691
|
+
handlers: {
|
|
17692
|
+
compose: ({
|
|
17693
|
+
forward,
|
|
17694
|
+
next,
|
|
17695
|
+
state
|
|
17696
|
+
}) => {
|
|
17697
|
+
const command = composer.textComposer.command;
|
|
17698
|
+
if (!command) {
|
|
17699
|
+
return forward();
|
|
17700
|
+
}
|
|
17701
|
+
const { text } = state.draft;
|
|
17702
|
+
const injection = `/${command?.name}`;
|
|
17703
|
+
const enrichedText = `${injection} ${text}`;
|
|
17704
|
+
return next({
|
|
17705
|
+
...state,
|
|
17706
|
+
draft: {
|
|
17707
|
+
...state.draft,
|
|
17708
|
+
text: enrichedText
|
|
17709
|
+
}
|
|
17710
|
+
});
|
|
17711
|
+
}
|
|
17712
|
+
},
|
|
17713
|
+
id: "stream-io/message-composer-middleware/draft-command-string-injection"
|
|
17714
|
+
});
|
|
17715
|
+
|
|
17716
|
+
// src/messageComposer/middleware/textComposer/activeCommandGuard.ts
|
|
17717
|
+
var createActiveCommandGuardMiddleware = () => ({
|
|
17718
|
+
handlers: {
|
|
17719
|
+
onChange: ({ complete, forward, state }) => {
|
|
17720
|
+
if (state.command) {
|
|
17721
|
+
return complete(state);
|
|
17722
|
+
}
|
|
17723
|
+
return forward();
|
|
17724
|
+
},
|
|
17725
|
+
onSuggestionItemSelect: ({ forward }) => forward()
|
|
17726
|
+
},
|
|
17727
|
+
id: "stream-io/text-composer/active-command-guard"
|
|
17728
|
+
});
|
|
17729
|
+
|
|
17655
17730
|
// src/search/BaseSearchSource.ts
|
|
17656
17731
|
var DEFAULT_SEARCH_SOURCE_OPTIONS = {
|
|
17657
17732
|
debounceMs: 300,
|
|
@@ -18055,6 +18130,11 @@ var getTriggerCharWithToken = ({
|
|
|
18055
18130
|
);
|
|
18056
18131
|
return match && match[match.length - 1].trim();
|
|
18057
18132
|
};
|
|
18133
|
+
var getCompleteCommandInString = (text) => {
|
|
18134
|
+
const match = text.match(/^\/(\S+)\s+.*/);
|
|
18135
|
+
const commandName = match && match[1];
|
|
18136
|
+
return commandName;
|
|
18137
|
+
};
|
|
18058
18138
|
var insertItemWithTrigger = ({
|
|
18059
18139
|
insertText,
|
|
18060
18140
|
selection,
|
|
@@ -18171,9 +18251,21 @@ var createCommandsMiddleware = (channel, options) => {
|
|
|
18171
18251
|
handlers: {
|
|
18172
18252
|
onChange: ({ state, next, complete, forward }) => {
|
|
18173
18253
|
if (!state.selection) return forward();
|
|
18254
|
+
const finalText = state.text.slice(0, state.selection.end);
|
|
18255
|
+
const commandName = getCompleteCommandInString(finalText);
|
|
18256
|
+
if (commandName) {
|
|
18257
|
+
const command = searchSource?.query(commandName).items[0];
|
|
18258
|
+
if (command) {
|
|
18259
|
+
return next({
|
|
18260
|
+
...state,
|
|
18261
|
+
command,
|
|
18262
|
+
suggestions: void 0
|
|
18263
|
+
});
|
|
18264
|
+
}
|
|
18265
|
+
}
|
|
18174
18266
|
const triggerWithToken = getTriggerCharWithToken({
|
|
18175
18267
|
trigger: finalOptions.trigger,
|
|
18176
|
-
text:
|
|
18268
|
+
text: finalText,
|
|
18177
18269
|
acceptTrailingSpaces: false,
|
|
18178
18270
|
isCommand: true
|
|
18179
18271
|
});
|
|
@@ -18192,6 +18284,7 @@ var createCommandsMiddleware = (channel, options) => {
|
|
|
18192
18284
|
}
|
|
18193
18285
|
return complete({
|
|
18194
18286
|
...state,
|
|
18287
|
+
command: null,
|
|
18195
18288
|
suggestions: {
|
|
18196
18289
|
query: triggerWithToken.slice(1),
|
|
18197
18290
|
searchSource,
|
|
@@ -18199,12 +18292,12 @@ var createCommandsMiddleware = (channel, options) => {
|
|
|
18199
18292
|
}
|
|
18200
18293
|
});
|
|
18201
18294
|
},
|
|
18202
|
-
onSuggestionItemSelect: ({ state,
|
|
18295
|
+
onSuggestionItemSelect: ({ state, next, forward }) => {
|
|
18203
18296
|
const { selectedSuggestion } = state.change ?? {};
|
|
18204
18297
|
if (!selectedSuggestion || state.suggestions?.trigger !== finalOptions.trigger)
|
|
18205
18298
|
return forward();
|
|
18206
18299
|
searchSource.resetStateAndActivate();
|
|
18207
|
-
return
|
|
18300
|
+
return next({
|
|
18208
18301
|
...state,
|
|
18209
18302
|
...insertItemWithTrigger({
|
|
18210
18303
|
insertText: `/${selectedSuggestion.name} `,
|
|
@@ -18212,6 +18305,7 @@ var createCommandsMiddleware = (channel, options) => {
|
|
|
18212
18305
|
text: state.text,
|
|
18213
18306
|
trigger: finalOptions.trigger
|
|
18214
18307
|
}),
|
|
18308
|
+
command: selectedSuggestion,
|
|
18215
18309
|
suggestions: void 0
|
|
18216
18310
|
});
|
|
18217
18311
|
}
|
|
@@ -18219,6 +18313,45 @@ var createCommandsMiddleware = (channel, options) => {
|
|
|
18219
18313
|
};
|
|
18220
18314
|
};
|
|
18221
18315
|
|
|
18316
|
+
// src/messageComposer/middleware/textComposer/commandStringExtraction.ts
|
|
18317
|
+
var stripCommandFromText = (text, commandName) => text.replace(new RegExp(`^${escapeRegExp(`/${commandName}`)}\\s*`), "");
|
|
18318
|
+
var createCommandStringExtractionMiddleware = () => ({
|
|
18319
|
+
handlers: {
|
|
18320
|
+
onChange: ({ complete, forward, state }) => {
|
|
18321
|
+
const { command } = state;
|
|
18322
|
+
if (!command?.name) {
|
|
18323
|
+
return forward();
|
|
18324
|
+
}
|
|
18325
|
+
const newText = stripCommandFromText(state.text, command.name);
|
|
18326
|
+
return complete({
|
|
18327
|
+
...state,
|
|
18328
|
+
selection: {
|
|
18329
|
+
end: newText.length,
|
|
18330
|
+
start: newText.length
|
|
18331
|
+
},
|
|
18332
|
+
text: newText
|
|
18333
|
+
});
|
|
18334
|
+
},
|
|
18335
|
+
onSuggestionItemSelect: ({ next, forward, state }) => {
|
|
18336
|
+
const { command } = state;
|
|
18337
|
+
if (!command) {
|
|
18338
|
+
return forward();
|
|
18339
|
+
}
|
|
18340
|
+
const triggerWithCommand = `/${command?.name} `;
|
|
18341
|
+
const newText = state.text.slice(triggerWithCommand.length);
|
|
18342
|
+
return next({
|
|
18343
|
+
...state,
|
|
18344
|
+
selection: {
|
|
18345
|
+
end: newText.length,
|
|
18346
|
+
start: newText.length
|
|
18347
|
+
},
|
|
18348
|
+
text: newText
|
|
18349
|
+
});
|
|
18350
|
+
}
|
|
18351
|
+
},
|
|
18352
|
+
id: "stream-io/text-composer/command-string-extraction"
|
|
18353
|
+
});
|
|
18354
|
+
|
|
18222
18355
|
// src/messageComposer/middleware/textComposer/mentions.ts
|
|
18223
18356
|
var accentsMap = {
|
|
18224
18357
|
a: "\xE1|\xE0|\xE3|\xE2|\xC0|\xC1|\xC3|\xC2",
|
|
@@ -18551,6 +18684,7 @@ var initState4 = ({
|
|
|
18551
18684
|
if (!message) {
|
|
18552
18685
|
const text2 = composer.config.text.defaultValue ?? "";
|
|
18553
18686
|
return {
|
|
18687
|
+
command: null,
|
|
18554
18688
|
mentionedUsers: [],
|
|
18555
18689
|
text: text2,
|
|
18556
18690
|
selection: { start: text2.length, end: text2.length }
|
|
@@ -18589,6 +18723,10 @@ var TextComposer = class {
|
|
|
18589
18723
|
mentionedUsers.splice(existingUserIndex, 1);
|
|
18590
18724
|
this.state.partialNext({ mentionedUsers });
|
|
18591
18725
|
};
|
|
18726
|
+
this.setCommand = (command) => {
|
|
18727
|
+
if (command?.name === this.command?.name) return;
|
|
18728
|
+
this.state.partialNext({ command });
|
|
18729
|
+
};
|
|
18592
18730
|
this.setText = (text) => {
|
|
18593
18731
|
if (!this.enabled || text === this.text) return;
|
|
18594
18732
|
this.state.partialNext({ text });
|
|
@@ -18598,7 +18736,10 @@ var TextComposer = class {
|
|
|
18598
18736
|
if (!this.enabled || !selectionChanged) return;
|
|
18599
18737
|
this.state.partialNext({ selection });
|
|
18600
18738
|
};
|
|
18601
|
-
this.insertText = ({
|
|
18739
|
+
this.insertText = async ({
|
|
18740
|
+
text,
|
|
18741
|
+
selection
|
|
18742
|
+
}) => {
|
|
18602
18743
|
if (!this.enabled) return;
|
|
18603
18744
|
const finalSelection = selection ?? this.selection;
|
|
18604
18745
|
const { maxLengthOnEdit } = this.composer.config.text ?? {};
|
|
@@ -18614,7 +18755,7 @@ var TextComposer = class {
|
|
|
18614
18755
|
);
|
|
18615
18756
|
const expectedCursorPosition = currentText.slice(0, finalSelection.start).length + text.length;
|
|
18616
18757
|
const cursorPosition = expectedCursorPosition >= finalText.length ? finalText.length : currentText.slice(0, expectedCursorPosition).length;
|
|
18617
|
-
this.
|
|
18758
|
+
await this.handleChange({
|
|
18618
18759
|
text: finalText,
|
|
18619
18760
|
selection: {
|
|
18620
18761
|
start: cursorPosition,
|
|
@@ -18734,6 +18875,9 @@ var TextComposer = class {
|
|
|
18734
18875
|
this.composer.updateConfig({ text: { publishTypingEvents } });
|
|
18735
18876
|
}
|
|
18736
18877
|
// --- START STATE API ---
|
|
18878
|
+
get command() {
|
|
18879
|
+
return this.state.getLatestValue().command;
|
|
18880
|
+
}
|
|
18737
18881
|
get mentionedUsers() {
|
|
18738
18882
|
return this.state.getLatestValue().mentionedUsers;
|
|
18739
18883
|
}
|
|
@@ -18752,6 +18896,9 @@ var TextComposer = class {
|
|
|
18752
18896
|
setMentionedUsers(users) {
|
|
18753
18897
|
this.state.partialNext({ mentionedUsers: users });
|
|
18754
18898
|
}
|
|
18899
|
+
clearCommand() {
|
|
18900
|
+
this.state.partialNext({ command: null });
|
|
18901
|
+
}
|
|
18755
18902
|
// --- END TEXT PROCESSING ----
|
|
18756
18903
|
};
|
|
18757
18904
|
|
|
@@ -19503,6 +19650,7 @@ var _MessageComposer = class _MessageComposer extends WithSubscriptions {
|
|
|
19503
19650
|
this.state.partialNext({ showReplyInChannel: !this.showReplyInChannel });
|
|
19504
19651
|
};
|
|
19505
19652
|
this.clear = () => {
|
|
19653
|
+
this.setQuotedMessage(null);
|
|
19506
19654
|
this.initState();
|
|
19507
19655
|
};
|
|
19508
19656
|
this.restore = () => {
|
|
@@ -24300,6 +24448,20 @@ var ReminderPaginator = class extends BasePaginator {
|
|
|
24300
24448
|
this.filterQueryResults = (items) => items;
|
|
24301
24449
|
this.client = client;
|
|
24302
24450
|
}
|
|
24451
|
+
get filters() {
|
|
24452
|
+
return this._filters;
|
|
24453
|
+
}
|
|
24454
|
+
get sort() {
|
|
24455
|
+
return this._sort;
|
|
24456
|
+
}
|
|
24457
|
+
set filters(filters) {
|
|
24458
|
+
this._filters = filters;
|
|
24459
|
+
this.resetState();
|
|
24460
|
+
}
|
|
24461
|
+
set sort(sort) {
|
|
24462
|
+
this._sort = sort;
|
|
24463
|
+
this.resetState();
|
|
24464
|
+
}
|
|
24303
24465
|
};
|
|
24304
24466
|
|
|
24305
24467
|
// src/reminders/ReminderManager.ts
|
|
@@ -24314,7 +24476,8 @@ var DEFAULT_REMINDER_MANAGER_CONFIG = {
|
|
|
24314
24476
|
2 * oneHour2,
|
|
24315
24477
|
8 * oneHour2,
|
|
24316
24478
|
oneDay2
|
|
24317
|
-
]
|
|
24479
|
+
],
|
|
24480
|
+
stopTimerRefreshBoundaryMs: DEFAULT_STOP_REFRESH_BOUNDARY_MS
|
|
24318
24481
|
};
|
|
24319
24482
|
var isReminderExistsError = (error) => error.message.match("already has reminder created for this message_id");
|
|
24320
24483
|
var isReminderDoesNotExistError = (error) => error.message.match("reminder does not exist");
|
|
@@ -24465,13 +24628,19 @@ var _ReminderManager = class _ReminderManager extends WithSubscriptions {
|
|
|
24465
24628
|
};
|
|
24466
24629
|
this.client = client;
|
|
24467
24630
|
this.configState = new StateStore({
|
|
24468
|
-
scheduledOffsetsMs: config?.scheduledOffsetsMs ?? DEFAULT_REMINDER_MANAGER_CONFIG.scheduledOffsetsMs
|
|
24631
|
+
scheduledOffsetsMs: config?.scheduledOffsetsMs ?? DEFAULT_REMINDER_MANAGER_CONFIG.scheduledOffsetsMs,
|
|
24632
|
+
stopTimerRefreshBoundaryMs: config?.stopTimerRefreshBoundaryMs ?? DEFAULT_REMINDER_MANAGER_CONFIG.stopTimerRefreshBoundaryMs
|
|
24469
24633
|
});
|
|
24470
24634
|
this.state = new StateStore({ reminders: /* @__PURE__ */ new Map() });
|
|
24471
24635
|
this.paginator = new ReminderPaginator(client);
|
|
24472
24636
|
}
|
|
24473
24637
|
// Config API START //
|
|
24474
24638
|
updateConfig(config) {
|
|
24639
|
+
if (typeof config.stopTimerRefreshBoundaryMs === "number" && config.stopTimerRefreshBoundaryMs !== this.stopTimerRefreshBoundaryMs) {
|
|
24640
|
+
this.reminders.forEach((reminder) => {
|
|
24641
|
+
reminder.timer.stopRefreshBoundaryMs = config?.stopTimerRefreshBoundaryMs;
|
|
24642
|
+
});
|
|
24643
|
+
}
|
|
24475
24644
|
this.configState.partialNext(config);
|
|
24476
24645
|
}
|
|
24477
24646
|
get stopTimerRefreshBoundaryMs() {
|
|
@@ -26159,6 +26328,16 @@ var StreamChat = class _StreamChat {
|
|
|
26159
26328
|
...userID ? { user_id: userID } : {}
|
|
26160
26329
|
});
|
|
26161
26330
|
}
|
|
26331
|
+
/** getSharedLocations
|
|
26332
|
+
*
|
|
26333
|
+
* @returns {Promise<ActiveLiveLocationsAPIResponse>} The server response
|
|
26334
|
+
*
|
|
26335
|
+
*/
|
|
26336
|
+
async getSharedLocations() {
|
|
26337
|
+
return await this.get(
|
|
26338
|
+
this.baseURL + `/users/live_locations`
|
|
26339
|
+
);
|
|
26340
|
+
}
|
|
26162
26341
|
/** muteUser - mutes a user
|
|
26163
26342
|
*
|
|
26164
26343
|
* @param {string} targetID
|
|
@@ -26713,7 +26892,7 @@ var StreamChat = class _StreamChat {
|
|
|
26713
26892
|
if (this.userAgent) {
|
|
26714
26893
|
return this.userAgent;
|
|
26715
26894
|
}
|
|
26716
|
-
const version = "9.
|
|
26895
|
+
const version = "9.9.0";
|
|
26717
26896
|
const clientBundle = "node-cjs";
|
|
26718
26897
|
let userAgentString = "";
|
|
26719
26898
|
if (this.sdkIdentifier) {
|
|
@@ -27802,6 +27981,19 @@ var StreamChat = class _StreamChat {
|
|
|
27802
27981
|
...rest
|
|
27803
27982
|
});
|
|
27804
27983
|
}
|
|
27984
|
+
/**
|
|
27985
|
+
* updateLocation - Updates a location
|
|
27986
|
+
*
|
|
27987
|
+
* @param location UserLocation the location data to update
|
|
27988
|
+
*
|
|
27989
|
+
* @returns {Promise<APIResponse>} The server response
|
|
27990
|
+
*/
|
|
27991
|
+
async updateLocation(location) {
|
|
27992
|
+
return await this.put(
|
|
27993
|
+
this.baseURL + `/users/live_locations`,
|
|
27994
|
+
location
|
|
27995
|
+
);
|
|
27996
|
+
}
|
|
27805
27997
|
/**
|
|
27806
27998
|
* uploadFile - Uploads a file to the configured storage (defaults to Stream CDN)
|
|
27807
27999
|
*
|
|
@@ -28910,12 +29102,16 @@ var FixedSizeQueueCache = class {
|
|
|
28910
29102
|
calculateLevenshtein,
|
|
28911
29103
|
channelManagerEventToHandlerMapping,
|
|
28912
29104
|
chatCodes,
|
|
29105
|
+
createActiveCommandGuardMiddleware,
|
|
28913
29106
|
createAttachmentsCompositionMiddleware,
|
|
29107
|
+
createCommandInjectionMiddleware,
|
|
29108
|
+
createCommandStringExtractionMiddleware,
|
|
28914
29109
|
createCommandsMiddleware,
|
|
28915
29110
|
createCompositionDataCleanupMiddleware,
|
|
28916
29111
|
createCompositionValidationMiddleware,
|
|
28917
29112
|
createCustomDataCompositionMiddleware,
|
|
28918
29113
|
createDraftAttachmentsCompositionMiddleware,
|
|
29114
|
+
createDraftCommandInjectionMiddleware,
|
|
28919
29115
|
createDraftCompositionValidationMiddleware,
|
|
28920
29116
|
createDraftCustomDataCompositionMiddleware,
|
|
28921
29117
|
createDraftLinkPreviewsCompositionMiddleware,
|
|
@@ -28939,6 +29135,7 @@ var FixedSizeQueueCache = class {
|
|
|
28939
29135
|
formatMessage,
|
|
28940
29136
|
generateFileName,
|
|
28941
29137
|
getAttachmentTypeFromMimeType,
|
|
29138
|
+
getCompleteCommandInString,
|
|
28942
29139
|
getExtensionFromMimeType,
|
|
28943
29140
|
getTokenizedSuggestionDisplayName,
|
|
28944
29141
|
getTriggerCharWithToken,
|