@acorex/components 21.0.0-next.25 → 21.0.0-next.27
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/conversation2/README.md +10 -5
- package/conversation2/index.d.ts +672 -135
- package/fesm2022/acorex-components-command.mjs +1 -1
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +15060 -14212
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +6 -6
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +28 -5
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +1 -1
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +1 -1
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +8 -3
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/form/index.d.ts +3 -3
- package/package.json +7 -7
- package/search-box/index.d.ts +6 -1
package/conversation2/index.d.ts
CHANGED
|
@@ -793,34 +793,10 @@ type AXPresenceStatus = 'online' | 'offline' | 'away' | 'busy' | 'invisible';
|
|
|
793
793
|
type AXUserRole = 'owner' | 'admin' | 'member' | 'guest';
|
|
794
794
|
|
|
795
795
|
/**
|
|
796
|
-
* Abstract
|
|
797
|
-
* Handle user
|
|
796
|
+
* Abstract User Management API
|
|
797
|
+
* Handle user profile management and user operations for conversations
|
|
798
798
|
*/
|
|
799
799
|
|
|
800
|
-
/**
|
|
801
|
-
* Login credentials
|
|
802
|
-
*/
|
|
803
|
-
interface AXLoginCredentials {
|
|
804
|
-
/** Username or email */
|
|
805
|
-
username: string;
|
|
806
|
-
/** Password */
|
|
807
|
-
password: string;
|
|
808
|
-
/** Remember me flag */
|
|
809
|
-
rememberMe?: boolean;
|
|
810
|
-
}
|
|
811
|
-
/**
|
|
812
|
-
* Login response
|
|
813
|
-
*/
|
|
814
|
-
interface AXLoginResponse {
|
|
815
|
-
/** Access token */
|
|
816
|
-
accessToken: string;
|
|
817
|
-
/** Refresh token */
|
|
818
|
-
refreshToken?: string;
|
|
819
|
-
/** Token expiry timestamp */
|
|
820
|
-
expiresAt?: Date;
|
|
821
|
-
/** User information */
|
|
822
|
-
user: AXParticipant;
|
|
823
|
-
}
|
|
824
800
|
/**
|
|
825
801
|
* User profile update data
|
|
826
802
|
*/
|
|
@@ -861,20 +837,20 @@ interface AXBlockReportReason {
|
|
|
861
837
|
description?: string;
|
|
862
838
|
}
|
|
863
839
|
/**
|
|
864
|
-
* Abstract
|
|
840
|
+
* Abstract User Management API
|
|
865
841
|
*
|
|
866
|
-
* Implement this abstract class to handle user
|
|
842
|
+
* Implement this abstract class to handle user management for conversations.
|
|
867
843
|
*
|
|
868
844
|
* @example
|
|
869
845
|
* ```typescript
|
|
870
846
|
* @Injectable()
|
|
871
|
-
* export class
|
|
847
|
+
* export class MyUserApi extends AXUserApi {
|
|
872
848
|
* constructor(private http: HttpClient) {
|
|
873
849
|
* super();
|
|
874
850
|
* }
|
|
875
851
|
*
|
|
876
|
-
* async
|
|
877
|
-
* const response = await this.http.
|
|
852
|
+
* async getCurrentUser(): Promise<AXParticipant> {
|
|
853
|
+
* const response = await this.http.get('/api/users/me').toPromise();
|
|
878
854
|
* return response;
|
|
879
855
|
* }
|
|
880
856
|
*
|
|
@@ -882,36 +858,7 @@ interface AXBlockReportReason {
|
|
|
882
858
|
* }
|
|
883
859
|
* ```
|
|
884
860
|
*/
|
|
885
|
-
declare abstract class
|
|
886
|
-
/**
|
|
887
|
-
* Login with credentials
|
|
888
|
-
*
|
|
889
|
-
* @param credentials - Login credentials
|
|
890
|
-
* @returns Login response with tokens and user info
|
|
891
|
-
* @throws {AXApiError} If login fails
|
|
892
|
-
*/
|
|
893
|
-
abstract login(credentials: AXLoginCredentials): Promise<AXLoginResponse>;
|
|
894
|
-
/**
|
|
895
|
-
* Logout current user
|
|
896
|
-
* Invalidate tokens and clear session
|
|
897
|
-
*
|
|
898
|
-
* @throws {AXApiError} If logout fails
|
|
899
|
-
*/
|
|
900
|
-
abstract logout(): Promise<void>;
|
|
901
|
-
/**
|
|
902
|
-
* Refresh access token
|
|
903
|
-
*
|
|
904
|
-
* @param refreshToken - Refresh token
|
|
905
|
-
* @returns New access token
|
|
906
|
-
* @throws {AXApiError} If refresh fails
|
|
907
|
-
*/
|
|
908
|
-
abstract refreshToken(refreshToken: string): Promise<AXLoginResponse>;
|
|
909
|
-
/**
|
|
910
|
-
* Check if user is authenticated
|
|
911
|
-
*
|
|
912
|
-
* @returns True if authenticated
|
|
913
|
-
*/
|
|
914
|
-
abstract isAuthenticated(): boolean;
|
|
861
|
+
declare abstract class AXUserApi {
|
|
915
862
|
/**
|
|
916
863
|
* Get current authenticated user
|
|
917
864
|
*
|
|
@@ -1183,7 +1130,7 @@ declare abstract class AXConversationApi {
|
|
|
1183
1130
|
* @param conversationId - Conversation ID
|
|
1184
1131
|
* @throws {AXApiError} If deletion fails
|
|
1185
1132
|
*/
|
|
1186
|
-
abstract deleteConversation(conversationId: string): Promise<
|
|
1133
|
+
abstract deleteConversation(conversationId: string): Promise<boolean>;
|
|
1187
1134
|
/**
|
|
1188
1135
|
* Archive conversation
|
|
1189
1136
|
*
|
|
@@ -2701,7 +2648,7 @@ declare class AXRegistryService {
|
|
|
2701
2648
|
*/
|
|
2702
2649
|
declare class AXConversationService {
|
|
2703
2650
|
private readonly config;
|
|
2704
|
-
readonly
|
|
2651
|
+
readonly userApi: AXUserApi;
|
|
2705
2652
|
readonly conversationApi: AXConversationApi;
|
|
2706
2653
|
readonly messageApi: AXMessageApi;
|
|
2707
2654
|
readonly realtimeApi: AXRealtimeApi;
|
|
@@ -2923,7 +2870,7 @@ declare class AXConversationService {
|
|
|
2923
2870
|
* Shows confirmation dialog, then deletes from server and store
|
|
2924
2871
|
* @param conversationId - Conversation ID
|
|
2925
2872
|
*/
|
|
2926
|
-
deleteConversation(conversationId: string): Promise<
|
|
2873
|
+
deleteConversation(conversationId: string): Promise<boolean>;
|
|
2927
2874
|
/**
|
|
2928
2875
|
* Get reply count for a message
|
|
2929
2876
|
* @param messageId - Message ID
|
|
@@ -3076,6 +3023,7 @@ declare class AXConversationService {
|
|
|
3076
3023
|
updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
|
|
3077
3024
|
/**
|
|
3078
3025
|
* Validate message content before sending
|
|
3026
|
+
* Uses centralized validation utilities for consistency
|
|
3079
3027
|
* @param command - Message command to validate
|
|
3080
3028
|
* @throws {Error} If message content is invalid
|
|
3081
3029
|
*/
|
|
@@ -3298,6 +3246,7 @@ declare class AXComposerComponent implements OnDestroy {
|
|
|
3298
3246
|
private readonly conversationService;
|
|
3299
3247
|
private readonly messageApi;
|
|
3300
3248
|
private readonly composerService;
|
|
3249
|
+
private readonly messageListService;
|
|
3301
3250
|
private readonly popupService;
|
|
3302
3251
|
private readonly config;
|
|
3303
3252
|
/** Access registry through conversation service */
|
|
@@ -3405,6 +3354,18 @@ declare class AXComposerComponent implements OnDestroy {
|
|
|
3405
3354
|
getReplyingSenderName(): string;
|
|
3406
3355
|
/** Get replying message text */
|
|
3407
3356
|
getReplyingMessageText(): string;
|
|
3357
|
+
/** Preview object for replying banner (type, icon, value) */
|
|
3358
|
+
getReplyingPreview(): {
|
|
3359
|
+
value: string;
|
|
3360
|
+
type: string;
|
|
3361
|
+
icon: string;
|
|
3362
|
+
} | null;
|
|
3363
|
+
/** Preview object for editing banner (type, icon, value) */
|
|
3364
|
+
getEditingPreview(): {
|
|
3365
|
+
value: string;
|
|
3366
|
+
type: string;
|
|
3367
|
+
icon: string;
|
|
3368
|
+
} | null;
|
|
3408
3369
|
/** Handle reply preview click - scroll to original message */
|
|
3409
3370
|
onReplyPreviewClick(): void;
|
|
3410
3371
|
/** Get inputs for dynamic component */
|
|
@@ -3438,6 +3399,7 @@ interface AXConversationConfig {
|
|
|
3438
3399
|
messageHighlightDuration?: number;
|
|
3439
3400
|
/** Search debounce delay in milliseconds */
|
|
3440
3401
|
debounceSearch?: number;
|
|
3402
|
+
/** Date separator inactivity fade delay in milliseconds */
|
|
3441
3403
|
/** Maximum messages per conversation */
|
|
3442
3404
|
maxMessagesPerConversation?: number;
|
|
3443
3405
|
/** Maximum total messages in store */
|
|
@@ -3470,6 +3432,24 @@ interface AXConversationConfig {
|
|
|
3470
3432
|
messageReadThreshold?: number;
|
|
3471
3433
|
}
|
|
3472
3434
|
|
|
3435
|
+
/**
|
|
3436
|
+
* Default Configuration Values
|
|
3437
|
+
* Centralized defaults to avoid magic numbers throughout the codebase
|
|
3438
|
+
*/
|
|
3439
|
+
|
|
3440
|
+
/**
|
|
3441
|
+
* Default conversation configuration
|
|
3442
|
+
* All values are explicitly defined here for easy maintenance and documentation
|
|
3443
|
+
*/
|
|
3444
|
+
declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
|
|
3445
|
+
/**
|
|
3446
|
+
* Helper function to merge user config with defaults
|
|
3447
|
+
* Properly handles array merging to avoid reference issues
|
|
3448
|
+
* @param userConfig - User-provided configuration
|
|
3449
|
+
* @returns Merged configuration with all required fields
|
|
3450
|
+
*/
|
|
3451
|
+
declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
|
|
3452
|
+
|
|
3473
3453
|
/**
|
|
3474
3454
|
* Dependency Injection Tokens
|
|
3475
3455
|
* InjectionTokens for configuration and dependencies
|
|
@@ -3477,7 +3457,7 @@ interface AXConversationConfig {
|
|
|
3477
3457
|
|
|
3478
3458
|
/**
|
|
3479
3459
|
* Configuration token for conversation component
|
|
3480
|
-
*
|
|
3460
|
+
* Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
|
|
3481
3461
|
*/
|
|
3482
3462
|
declare const CONVERSATION_CONFIG: InjectionToken<AXConversationConfig>;
|
|
3483
3463
|
/**
|
|
@@ -3544,8 +3524,6 @@ interface AXRegistryConfiguration {
|
|
|
3544
3524
|
infoBarActions?: AXInfoBarAction[];
|
|
3545
3525
|
/** Conversation item actions to register by default */
|
|
3546
3526
|
conversationItemActions?: AXConversationItemAction[];
|
|
3547
|
-
/** Auto-initialize defaults */
|
|
3548
|
-
autoInitialize?: boolean;
|
|
3549
3527
|
}
|
|
3550
3528
|
/**
|
|
3551
3529
|
* Complete registry configuration token
|
|
@@ -3850,6 +3828,7 @@ interface FilePreview {
|
|
|
3850
3828
|
type: 'image' | 'video' | 'audio' | 'file';
|
|
3851
3829
|
}
|
|
3852
3830
|
declare class AXFileUploadService {
|
|
3831
|
+
private readonly config;
|
|
3853
3832
|
private uploadProgress$;
|
|
3854
3833
|
/**
|
|
3855
3834
|
* Get upload progress observable
|
|
@@ -3899,6 +3878,24 @@ declare class AXFileUploadService {
|
|
|
3899
3878
|
* Filter files by type
|
|
3900
3879
|
*/
|
|
3901
3880
|
filterFilesByType(files: File[], allowedTypes: string[]): File[];
|
|
3881
|
+
/**
|
|
3882
|
+
* Validate file type against conversation config
|
|
3883
|
+
*/
|
|
3884
|
+
isFileTypeAllowed(file: File): boolean;
|
|
3885
|
+
/**
|
|
3886
|
+
* Validate file size against conversation config
|
|
3887
|
+
*/
|
|
3888
|
+
isFileSizeAllowed(file: File): boolean;
|
|
3889
|
+
/**
|
|
3890
|
+
* Validate a set of files using conversation config
|
|
3891
|
+
*/
|
|
3892
|
+
validateFilesWithConfig(files: File[]): {
|
|
3893
|
+
accepted: File[];
|
|
3894
|
+
rejected: {
|
|
3895
|
+
file: File;
|
|
3896
|
+
reason: string;
|
|
3897
|
+
}[];
|
|
3898
|
+
};
|
|
3902
3899
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileUploadService, never>;
|
|
3903
3900
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXFileUploadService>;
|
|
3904
3901
|
}
|
|
@@ -4152,6 +4149,8 @@ declare class AXMessageListService {
|
|
|
4152
4149
|
readonly loadingMore: _angular_core.WritableSignal<boolean>;
|
|
4153
4150
|
/** Show scroll to bottom button */
|
|
4154
4151
|
readonly showScrollButton: _angular_core.WritableSignal<boolean>;
|
|
4152
|
+
/** Scroll requests counter */
|
|
4153
|
+
readonly scrollRequests: _angular_core.WritableSignal<number>;
|
|
4155
4154
|
/** Current page for pagination */
|
|
4156
4155
|
private readonly currentPage;
|
|
4157
4156
|
/** Has more messages to load */
|
|
@@ -4173,6 +4172,8 @@ declare class AXMessageListService {
|
|
|
4173
4172
|
getMenuActions(message: AXMessage): _acorex_components_conversation2.AXMessageAction[];
|
|
4174
4173
|
executeAction(message: AXMessage, actionId: string): Promise<void>;
|
|
4175
4174
|
reactToMessage(messageId: string, emoji: string): Promise<void>;
|
|
4175
|
+
/** Request message list to scroll to bottom */
|
|
4176
|
+
requestScrollToBottom(): void;
|
|
4176
4177
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMessageListService, never>;
|
|
4177
4178
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMessageListService>;
|
|
4178
4179
|
}
|
|
@@ -4322,11 +4323,7 @@ declare class AXInfiniteScrollDirective {
|
|
|
4322
4323
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXInfiniteScrollDirective, "[axInfiniteScroll]", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "edge": { "alias": "edge"; "required": false; "isSignal": true; }; }, { "scrollThreshold": "scrollThreshold"; }, never, never, true, never>;
|
|
4323
4324
|
}
|
|
4324
4325
|
|
|
4325
|
-
declare class
|
|
4326
|
-
login(_credentials: AXLoginCredentials): Promise<AXLoginResponse>;
|
|
4327
|
-
logout(): Promise<void>;
|
|
4328
|
-
refreshToken(_refreshToken: string): Promise<AXLoginResponse>;
|
|
4329
|
-
isAuthenticated(): boolean;
|
|
4326
|
+
declare class AXIndexedDBUserApi extends AXUserApi {
|
|
4330
4327
|
getCurrentUser(): Promise<AXParticipant>;
|
|
4331
4328
|
updateProfile(updates: AXUserProfileUpdate): Promise<AXParticipant>;
|
|
4332
4329
|
uploadAvatar(file: File): Promise<string>;
|
|
@@ -4342,8 +4339,8 @@ declare class AXIndexedDBAuthApi extends AXAuthApi {
|
|
|
4342
4339
|
reportUser(_userId: string, _reason: AXBlockReportReason): Promise<void>;
|
|
4343
4340
|
getUserSettings(): Promise<Record<string, any>>;
|
|
4344
4341
|
updateUserSettings(_settings: Record<string, any>): Promise<void>;
|
|
4345
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
4346
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
4342
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXIndexedDBUserApi, never>;
|
|
4343
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXIndexedDBUserApi>;
|
|
4347
4344
|
}
|
|
4348
4345
|
|
|
4349
4346
|
declare class AXIndexedDBConversationApi extends AXConversationApi {
|
|
@@ -4351,7 +4348,7 @@ declare class AXIndexedDBConversationApi extends AXConversationApi {
|
|
|
4351
4348
|
getConversation(conversationId: string): Promise<AXConversation>;
|
|
4352
4349
|
getConversations(pagination: AXPagination, _filters?: AXConversationFilters): Promise<AXPaginatedResult<AXConversation>>;
|
|
4353
4350
|
updateConversation(conversationId: string, updates: AXConversationUpdateData): Promise<AXConversation>;
|
|
4354
|
-
deleteConversation(conversationId: string): Promise<
|
|
4351
|
+
deleteConversation(conversationId: string): Promise<boolean>;
|
|
4355
4352
|
archiveConversation(conversationId: string): Promise<void>;
|
|
4356
4353
|
unarchiveConversation(conversationId: string): Promise<void>;
|
|
4357
4354
|
pinConversation(_conversationId: string): Promise<void>;
|
|
@@ -4620,11 +4617,8 @@ declare class AXAudioPickerComponent {
|
|
|
4620
4617
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXAudioPickerComponent, "ax-conversation-audio-picker", never, { "conversation": { "alias": "conversation"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4621
4618
|
}
|
|
4622
4619
|
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
* Import and register these in your app configuration
|
|
4626
|
-
*/
|
|
4627
|
-
declare function getDefaultComposerTabs(): AXComposerTab[];
|
|
4620
|
+
declare const AX_CONVERSATION_COMPOSER_EMOJI_TAB: AXComposerTab;
|
|
4621
|
+
declare const AX_CONVERSATION_COMPOSER_STICKER_TAB: AXComposerTab;
|
|
4628
4622
|
|
|
4629
4623
|
declare class AXContactPickerComponent {
|
|
4630
4624
|
private readonly composerService;
|
|
@@ -4915,40 +4909,35 @@ declare class AXVoiceRecorderComponent {
|
|
|
4915
4909
|
/**
|
|
4916
4910
|
* Emoji & Stickers picker action
|
|
4917
4911
|
*/
|
|
4918
|
-
declare const
|
|
4912
|
+
declare const AX_CONVERSATION_COMPOSER_EMOJI_ACTION: AXComposerAction;
|
|
4919
4913
|
/**
|
|
4920
4914
|
* Image picker action
|
|
4921
4915
|
*/
|
|
4922
|
-
declare const
|
|
4916
|
+
declare const AX_CONVERSATION_COMPOSER_IMAGE_ACTION: AXComposerAction;
|
|
4923
4917
|
/**
|
|
4924
4918
|
* Video picker action
|
|
4925
4919
|
*/
|
|
4926
|
-
declare const
|
|
4920
|
+
declare const AX_CONVERSATION_COMPOSER_VIDEO_ACTION: AXComposerAction;
|
|
4927
4921
|
/**
|
|
4928
4922
|
* File picker action
|
|
4929
4923
|
*/
|
|
4930
|
-
declare const
|
|
4924
|
+
declare const AX_CONVERSATION_COMPOSER_FILE_ACTION: AXComposerAction;
|
|
4931
4925
|
/**
|
|
4932
4926
|
* Voice recording action
|
|
4933
4927
|
*/
|
|
4934
|
-
declare const
|
|
4928
|
+
declare const AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION: AXComposerAction;
|
|
4935
4929
|
/**
|
|
4936
4930
|
* Audio file picker action
|
|
4937
4931
|
*/
|
|
4938
|
-
declare const
|
|
4932
|
+
declare const AX_CONVERSATION_COMPOSER_AUDIO_ACTION: AXComposerAction;
|
|
4939
4933
|
/**
|
|
4940
4934
|
* Contact picker action
|
|
4941
4935
|
*/
|
|
4942
|
-
declare const
|
|
4936
|
+
declare const AX_CONVERSATION_COMPOSER_CONTACT_ACTION: AXComposerAction;
|
|
4943
4937
|
/**
|
|
4944
4938
|
* Location picker action
|
|
4945
4939
|
*/
|
|
4946
|
-
declare const
|
|
4947
|
-
/**
|
|
4948
|
-
* Get all default composer actions
|
|
4949
|
-
* @deprecated Use individual action constants instead
|
|
4950
|
-
*/
|
|
4951
|
-
declare function getDefaultComposerActions(): AXComposerAction[];
|
|
4940
|
+
declare const AX_CONVERSATION_COMPOSER_LOCATION_ACTION: AXComposerAction;
|
|
4952
4941
|
|
|
4953
4942
|
declare class AXConversationInfoPanelComponent extends AXClosableComponent implements OnInit, OnDestroy {
|
|
4954
4943
|
private readonly toastService;
|
|
@@ -5044,38 +5033,33 @@ declare class AXInfoBarSearchComponent {
|
|
|
5044
5033
|
/**
|
|
5045
5034
|
* Search in conversation action (inline)
|
|
5046
5035
|
*/
|
|
5047
|
-
declare const
|
|
5036
|
+
declare const AX_CONVERSATION_INFO_BAR_SEARCH_ACTION: AXInfoBarAction;
|
|
5048
5037
|
/**
|
|
5049
5038
|
* Show conversation info action (menu)
|
|
5050
5039
|
*/
|
|
5051
|
-
declare const
|
|
5040
|
+
declare const AX_CONVERSATION_INFO_BAR_INFO_ACTION: AXInfoBarAction;
|
|
5052
5041
|
/**
|
|
5053
5042
|
* Mute/Unmute notifications action (menu)
|
|
5054
5043
|
*/
|
|
5055
|
-
declare const
|
|
5044
|
+
declare const AX_CONVERSATION_INFO_BAR_MUTE_ACTION: AXInfoBarAction;
|
|
5056
5045
|
/**
|
|
5057
5046
|
* Divider separator (menu)
|
|
5058
5047
|
*/
|
|
5059
|
-
declare const
|
|
5048
|
+
declare const AX_CONVERSATION_INFO_BAR_DIVIDER: AXInfoBarAction;
|
|
5060
5049
|
/**
|
|
5061
5050
|
* Archive/Unarchive conversation action (menu)
|
|
5062
5051
|
*/
|
|
5063
|
-
declare const
|
|
5052
|
+
declare const AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION: AXInfoBarAction;
|
|
5064
5053
|
/**
|
|
5065
5054
|
* Delete/Leave conversation action (smart action that adapts based on conversation type)
|
|
5066
5055
|
* - Private: "Delete" - Deletes the conversation
|
|
5067
5056
|
* - Group/Channel: "Leave & Delete" - Leaves the group and removes it from list
|
|
5068
5057
|
*/
|
|
5069
|
-
declare const
|
|
5058
|
+
declare const AX_CONVERSATION_INFO_BAR_DELETE_ACTION: AXInfoBarAction;
|
|
5070
5059
|
/**
|
|
5071
5060
|
* Block user action (private chats only, menu)
|
|
5072
5061
|
*/
|
|
5073
|
-
declare const
|
|
5074
|
-
/**
|
|
5075
|
-
* Get all default info bar actions
|
|
5076
|
-
* @deprecated Use individual action constants instead
|
|
5077
|
-
*/
|
|
5078
|
-
declare function getDefaultInfoBarActions(): AXInfoBarAction[];
|
|
5062
|
+
declare const AX_CONVERSATION_INFO_BAR_BLOCK_ACTION: AXInfoBarAction;
|
|
5079
5063
|
|
|
5080
5064
|
declare class AudioRendererComponent {
|
|
5081
5065
|
private readonly platformId;
|
|
@@ -5264,7 +5248,7 @@ declare class SystemRendererComponent {
|
|
|
5264
5248
|
/** System payload */
|
|
5265
5249
|
readonly payload: _angular_core.Signal<AXSystemPayload>;
|
|
5266
5250
|
/** Icon class based on system message type */
|
|
5267
|
-
readonly iconClass: _angular_core.Signal<"fa-light fa-
|
|
5251
|
+
readonly iconClass: _angular_core.Signal<"fa-light fa-image" | "fa-light fa-user-plus" | "fa-light fa-user-minus" | "fa-light fa-pen" | "fa-light fa-info-circle">;
|
|
5268
5252
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SystemRendererComponent, never>;
|
|
5269
5253
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SystemRendererComponent, "ax-conversation-system-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5270
5254
|
}
|
|
@@ -5369,39 +5353,40 @@ declare class VoiceRendererComponent {
|
|
|
5369
5353
|
/**
|
|
5370
5354
|
* Copy message text to clipboard
|
|
5371
5355
|
*/
|
|
5372
|
-
declare const
|
|
5356
|
+
declare const AX_CONVERSATION_MESSAGE_COPY_ACTION: AXMessageAction;
|
|
5373
5357
|
/**
|
|
5374
5358
|
* Reply to message
|
|
5375
5359
|
*/
|
|
5376
|
-
declare const
|
|
5360
|
+
declare const AX_CONVERSATION_MESSAGE_REPLY_ACTION: AXMessageAction;
|
|
5377
5361
|
/**
|
|
5378
5362
|
* Edit own message (text only)
|
|
5379
5363
|
*/
|
|
5380
|
-
declare const
|
|
5364
|
+
declare const AX_CONVERSATION_MESSAGE_EDIT_ACTION: AXMessageAction;
|
|
5381
5365
|
/**
|
|
5382
5366
|
* Delete own message
|
|
5383
5367
|
*/
|
|
5384
|
-
declare const
|
|
5368
|
+
declare const AX_CONVERSATION_MESSAGE_DELETE_ACTION: AXMessageAction;
|
|
5385
5369
|
/**
|
|
5386
5370
|
* Forward message to another conversation
|
|
5387
5371
|
*/
|
|
5388
|
-
declare const
|
|
5389
|
-
/**
|
|
5390
|
-
* Get all default message actions
|
|
5391
|
-
* @deprecated Use individual action constants instead
|
|
5392
|
-
*/
|
|
5393
|
-
declare function getDefaultMessageActions(): AXMessageAction[];
|
|
5372
|
+
declare const AX_CONVERSATION_MESSAGE_FORWARD_ACTION: AXMessageAction;
|
|
5394
5373
|
|
|
5395
5374
|
/**
|
|
5396
5375
|
* Default Message Renderers Plugin
|
|
5397
5376
|
* Provides standard message type renderers (text, image, video, etc.)
|
|
5398
5377
|
*/
|
|
5399
5378
|
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
5404
|
-
declare
|
|
5379
|
+
declare const AX_CONVERSATION_TEXT_RENDERER: AXMessageRenderer;
|
|
5380
|
+
declare const AX_CONVERSATION_IMAGE_RENDERER: AXMessageRenderer;
|
|
5381
|
+
declare const AX_CONVERSATION_VIDEO_RENDERER: AXMessageRenderer;
|
|
5382
|
+
declare const AX_CONVERSATION_AUDIO_RENDERER: AXMessageRenderer;
|
|
5383
|
+
declare const AX_CONVERSATION_VOICE_RENDERER: AXMessageRenderer;
|
|
5384
|
+
declare const AX_CONVERSATION_FILE_RENDERER: AXMessageRenderer;
|
|
5385
|
+
declare const AX_CONVERSATION_LOCATION_RENDERER: AXMessageRenderer;
|
|
5386
|
+
declare const AX_CONVERSATION_STICKER_RENDERER: AXMessageRenderer;
|
|
5387
|
+
declare const AX_CONVERSATION_CONTACT_RENDERER: AXMessageRenderer;
|
|
5388
|
+
declare const AX_CONVERSATION_SYSTEM_RENDERER: AXMessageRenderer;
|
|
5389
|
+
declare const AX_CONVERSATION_FALLBACK_RENDERER: AXMessageRenderer;
|
|
5405
5390
|
|
|
5406
5391
|
/**
|
|
5407
5392
|
* Default Conversation Item Actions Plugin
|
|
@@ -5445,24 +5430,25 @@ declare function getDefaultConversationItemActions(): AXConversationItemAction[]
|
|
|
5445
5430
|
* Provides sidebar conversation filter tabs (all, private, groups, etc.)
|
|
5446
5431
|
*/
|
|
5447
5432
|
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
declare
|
|
5433
|
+
declare const AX_CONVERSATION_TAB_ALL: AXConversationTab;
|
|
5434
|
+
declare const AX_CONVERSATION_TAB_PRIVATE: AXConversationTab;
|
|
5435
|
+
declare const AX_CONVERSATION_TAB_GROUPS: AXConversationTab;
|
|
5436
|
+
declare const AX_CONVERSATION_TAB_CHANNELS: AXConversationTab;
|
|
5437
|
+
declare const AX_CONVERSATION_TAB_UNREAD: AXConversationTab;
|
|
5438
|
+
declare const AX_CONVERSATION_TAB_ARCHIVED: AXConversationTab;
|
|
5453
5439
|
|
|
5454
5440
|
/**
|
|
5455
5441
|
* Configuration options for conversation module
|
|
5456
5442
|
*/
|
|
5457
5443
|
interface AXConversationOptions {
|
|
5458
|
-
/**
|
|
5459
|
-
|
|
5444
|
+
/** User API implementation (required) */
|
|
5445
|
+
userApi: Type<AXUserApi>;
|
|
5460
5446
|
/** Conversation Management API implementation (required) */
|
|
5461
5447
|
conversationApi: Type<AXConversationApi>;
|
|
5462
5448
|
/** Message API implementation (required) */
|
|
5463
5449
|
messageApi: Type<AXMessageApi>;
|
|
5464
|
-
/** Realtime API implementation (
|
|
5465
|
-
realtimeApi
|
|
5450
|
+
/** Realtime API implementation (optional) */
|
|
5451
|
+
realtimeApi?: Type<AXRealtimeApi>;
|
|
5466
5452
|
/** Configuration overrides */
|
|
5467
5453
|
config?: Partial<AXConversationConfig>;
|
|
5468
5454
|
/** Registry configuration */
|
|
@@ -5478,7 +5464,7 @@ declare class AXConversation2Module {
|
|
|
5478
5464
|
* Configure module for lazy-loaded feature modules.
|
|
5479
5465
|
* Reuses singleton services from root, optionally overrides config/registry.
|
|
5480
5466
|
*/
|
|
5481
|
-
static forChild(options?: Omit<AXConversationOptions, '
|
|
5467
|
+
static forChild(options?: Omit<AXConversationOptions, 'userApi' | 'conversationApi' | 'messageApi' | 'realtimeApi'>): ModuleWithProviders<AXConversation2Module>;
|
|
5482
5468
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversation2Module, never>;
|
|
5483
5469
|
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXConversation2Module, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof AXConversationContainerComponent, typeof AXSidebarComponent, typeof AXInfoBarComponent, typeof AXMessageListComponent, typeof AXComposerComponent, typeof TextRendererComponent, typeof ImageRendererComponent, typeof VideoRendererComponent, typeof AudioRendererComponent, typeof VoiceRendererComponent, typeof FileRendererComponent, typeof LocationRendererComponent, typeof StickerRendererComponent, typeof FallbackRendererComponent, typeof AXInfiniteScrollDirective], [typeof AXConversationContainerComponent, typeof AXSidebarComponent, typeof AXInfoBarComponent, typeof AXMessageListComponent, typeof AXComposerComponent, typeof TextRendererComponent, typeof ImageRendererComponent, typeof VideoRendererComponent, typeof AudioRendererComponent, typeof VoiceRendererComponent, typeof FileRendererComponent, typeof LocationRendererComponent, typeof StickerRendererComponent, typeof FallbackRendererComponent, typeof AXInfiniteScrollDirective]>;
|
|
5484
5470
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXConversation2Module>;
|
|
@@ -5490,7 +5476,7 @@ declare class AXConversation2Module {
|
|
|
5490
5476
|
* @example
|
|
5491
5477
|
* ```typescript
|
|
5492
5478
|
* import {
|
|
5493
|
-
*
|
|
5479
|
+
* AXIndexedDBUserApi,
|
|
5494
5480
|
* AXIndexedDBConversationApi,
|
|
5495
5481
|
* AXIndexedDBMessageApi,
|
|
5496
5482
|
* AXIndexedDBRealtimeApi
|
|
@@ -5499,7 +5485,7 @@ declare class AXConversation2Module {
|
|
|
5499
5485
|
* export const appConfig: ApplicationConfig = {
|
|
5500
5486
|
* providers: [
|
|
5501
5487
|
* provideConversation({
|
|
5502
|
-
*
|
|
5488
|
+
* userApi: AXIndexedDBUserApi,
|
|
5503
5489
|
* conversationApi: AXIndexedDBConversationApi,
|
|
5504
5490
|
* messageApi: AXIndexedDBMessageApi,
|
|
5505
5491
|
* realtimeApi: AXIndexedDBRealtimeApi,
|
|
@@ -5598,5 +5584,556 @@ declare class AXConversationMessageUtilsService {
|
|
|
5598
5584
|
static getConversationSubtitle(conversation: AXConversation): string;
|
|
5599
5585
|
}
|
|
5600
5586
|
|
|
5601
|
-
|
|
5602
|
-
|
|
5587
|
+
/**
|
|
5588
|
+
* Validation Utilities
|
|
5589
|
+
* Centralized validation functions for messages, files, and user input
|
|
5590
|
+
*/
|
|
5591
|
+
|
|
5592
|
+
/**
|
|
5593
|
+
* Validation result interface
|
|
5594
|
+
*/
|
|
5595
|
+
interface AXValidationResult {
|
|
5596
|
+
/** Whether validation passed */
|
|
5597
|
+
valid: boolean;
|
|
5598
|
+
/** Error message if validation failed */
|
|
5599
|
+
error?: string;
|
|
5600
|
+
/** Error code for programmatic handling */
|
|
5601
|
+
errorCode?: string;
|
|
5602
|
+
}
|
|
5603
|
+
/**
|
|
5604
|
+
* File validation result with additional metadata
|
|
5605
|
+
*/
|
|
5606
|
+
interface AXFileValidationResult extends AXValidationResult {
|
|
5607
|
+
/** File size in bytes */
|
|
5608
|
+
size?: number;
|
|
5609
|
+
/** File type/MIME type */
|
|
5610
|
+
type?: string;
|
|
5611
|
+
}
|
|
5612
|
+
/**
|
|
5613
|
+
* Validate message text content
|
|
5614
|
+
* @param text - Text to validate
|
|
5615
|
+
* @param config - Configuration for validation rules
|
|
5616
|
+
* @returns Validation result
|
|
5617
|
+
*/
|
|
5618
|
+
declare function validateMessageText(text: string | undefined, config: AXConversationConfig): AXValidationResult;
|
|
5619
|
+
/**
|
|
5620
|
+
* Validate file upload
|
|
5621
|
+
* @param file - File to validate
|
|
5622
|
+
* @param config - Configuration for validation rules
|
|
5623
|
+
* @returns File validation result
|
|
5624
|
+
*/
|
|
5625
|
+
declare function validateFile(file: File, config: AXConversationConfig): AXFileValidationResult;
|
|
5626
|
+
/**
|
|
5627
|
+
* Validate conversation ID
|
|
5628
|
+
* @param conversationId - Conversation ID to validate
|
|
5629
|
+
* @returns Validation result
|
|
5630
|
+
*/
|
|
5631
|
+
declare function validateConversationId(conversationId: string | undefined): AXValidationResult;
|
|
5632
|
+
/**
|
|
5633
|
+
* Validate message type
|
|
5634
|
+
* @param type - Message type to validate
|
|
5635
|
+
* @returns Validation result
|
|
5636
|
+
*/
|
|
5637
|
+
declare function validateMessageType(type: AXMessageType | undefined): AXValidationResult;
|
|
5638
|
+
/**
|
|
5639
|
+
* Validate message payload
|
|
5640
|
+
* @param payload - Message payload to validate
|
|
5641
|
+
* @param type - Message type
|
|
5642
|
+
* @returns Validation result
|
|
5643
|
+
*/
|
|
5644
|
+
declare function validateMessagePayload(payload: AXMessagePayload | undefined, type: AXMessageType): AXValidationResult;
|
|
5645
|
+
/**
|
|
5646
|
+
* Validate user ID
|
|
5647
|
+
* @param userId - User ID to validate
|
|
5648
|
+
* @returns Validation result
|
|
5649
|
+
*/
|
|
5650
|
+
declare function validateUserId(userId: string | undefined): AXValidationResult;
|
|
5651
|
+
/**
|
|
5652
|
+
* Validate array of user IDs
|
|
5653
|
+
* @param userIds - Array of user IDs to validate
|
|
5654
|
+
* @param minCount - Minimum number of users required
|
|
5655
|
+
* @param maxCount - Maximum number of users allowed
|
|
5656
|
+
* @returns Validation result
|
|
5657
|
+
*/
|
|
5658
|
+
declare function validateUserIds(userIds: string[] | undefined, minCount?: number, maxCount?: number): AXValidationResult;
|
|
5659
|
+
/**
|
|
5660
|
+
* Validate email address
|
|
5661
|
+
* @param email - Email to validate
|
|
5662
|
+
* @returns Validation result
|
|
5663
|
+
*/
|
|
5664
|
+
declare function validateEmail(email: string | undefined): AXValidationResult;
|
|
5665
|
+
/**
|
|
5666
|
+
* Validate URL
|
|
5667
|
+
* @param url - URL to validate
|
|
5668
|
+
* @returns Validation result
|
|
5669
|
+
*/
|
|
5670
|
+
declare function validateUrl(url: string | undefined): AXValidationResult;
|
|
5671
|
+
/**
|
|
5672
|
+
* Sanitize user input to prevent XSS
|
|
5673
|
+
* Note: Angular provides built-in sanitization, but this is an additional layer
|
|
5674
|
+
* @param input - User input to sanitize
|
|
5675
|
+
* @returns Sanitized input
|
|
5676
|
+
*/
|
|
5677
|
+
declare function sanitizeInput(input: string): string;
|
|
5678
|
+
/**
|
|
5679
|
+
* Validate latitude coordinate
|
|
5680
|
+
* @param latitude - Latitude to validate
|
|
5681
|
+
* @returns Validation result
|
|
5682
|
+
*/
|
|
5683
|
+
declare function validateLatitude(latitude: number | undefined | null): AXValidationResult;
|
|
5684
|
+
/**
|
|
5685
|
+
* Validate longitude coordinate
|
|
5686
|
+
* @param longitude - Longitude to validate
|
|
5687
|
+
* @returns Validation result
|
|
5688
|
+
*/
|
|
5689
|
+
declare function validateLongitude(longitude: number | undefined | null): AXValidationResult;
|
|
5690
|
+
|
|
5691
|
+
/**
|
|
5692
|
+
* Error Message Constants
|
|
5693
|
+
* Centralized error messages with i18n support structure
|
|
5694
|
+
*
|
|
5695
|
+
* This file provides a foundation for internationalization.
|
|
5696
|
+
* Each error has a code and default English message.
|
|
5697
|
+
* Future i18n implementation can use these codes to look up translated messages.
|
|
5698
|
+
*/
|
|
5699
|
+
/**
|
|
5700
|
+
* Error message interface
|
|
5701
|
+
*/
|
|
5702
|
+
interface AXErrorMessage {
|
|
5703
|
+
/** Error code for programmatic handling and i18n lookup */
|
|
5704
|
+
code: string;
|
|
5705
|
+
/** Default English message */
|
|
5706
|
+
message: string;
|
|
5707
|
+
/** Optional message template with placeholders */
|
|
5708
|
+
template?: string;
|
|
5709
|
+
}
|
|
5710
|
+
/**
|
|
5711
|
+
* Message validation errors
|
|
5712
|
+
*/
|
|
5713
|
+
declare const MESSAGE_ERRORS: {
|
|
5714
|
+
readonly EMPTY_MESSAGE: {
|
|
5715
|
+
readonly code: "MESSAGE.EMPTY";
|
|
5716
|
+
readonly message: "Message text cannot be empty";
|
|
5717
|
+
};
|
|
5718
|
+
readonly MESSAGE_TOO_SHORT: {
|
|
5719
|
+
readonly code: "MESSAGE.TOO_SHORT";
|
|
5720
|
+
readonly message: "Message is too short";
|
|
5721
|
+
readonly template: "Message must be at least {minLength} character(s)";
|
|
5722
|
+
};
|
|
5723
|
+
readonly MESSAGE_TOO_LONG: {
|
|
5724
|
+
readonly code: "MESSAGE.TOO_LONG";
|
|
5725
|
+
readonly message: "Message is too long";
|
|
5726
|
+
readonly template: "Message exceeds {maxLength} character limit";
|
|
5727
|
+
};
|
|
5728
|
+
readonly MISSING_CONVERSATION_ID: {
|
|
5729
|
+
readonly code: "MESSAGE.MISSING_CONVERSATION_ID";
|
|
5730
|
+
readonly message: "Conversation ID is required";
|
|
5731
|
+
};
|
|
5732
|
+
readonly MISSING_MESSAGE_TYPE: {
|
|
5733
|
+
readonly code: "MESSAGE.MISSING_TYPE";
|
|
5734
|
+
readonly message: "Message type is required";
|
|
5735
|
+
};
|
|
5736
|
+
readonly MISSING_PAYLOAD: {
|
|
5737
|
+
readonly code: "MESSAGE.MISSING_PAYLOAD";
|
|
5738
|
+
readonly message: "Message payload is required";
|
|
5739
|
+
};
|
|
5740
|
+
readonly INVALID_TEXT_PAYLOAD: {
|
|
5741
|
+
readonly code: "MESSAGE.INVALID_TEXT_PAYLOAD";
|
|
5742
|
+
readonly message: "Text message must have a text property";
|
|
5743
|
+
};
|
|
5744
|
+
readonly INVALID_MEDIA_PAYLOAD: {
|
|
5745
|
+
readonly code: "MESSAGE.INVALID_MEDIA_PAYLOAD";
|
|
5746
|
+
readonly message: "Media message must have a url property";
|
|
5747
|
+
};
|
|
5748
|
+
readonly INVALID_LOCATION_PAYLOAD: {
|
|
5749
|
+
readonly code: "MESSAGE.INVALID_LOCATION_PAYLOAD";
|
|
5750
|
+
readonly message: "Location message must have latitude and longitude properties";
|
|
5751
|
+
};
|
|
5752
|
+
};
|
|
5753
|
+
/**
|
|
5754
|
+
* File upload errors
|
|
5755
|
+
*/
|
|
5756
|
+
declare const FILE_ERRORS: {
|
|
5757
|
+
readonly FILE_TOO_LARGE: {
|
|
5758
|
+
readonly code: "FILE.TOO_LARGE";
|
|
5759
|
+
readonly message: "File is too large";
|
|
5760
|
+
readonly template: "File size exceeds {maxSize} limit";
|
|
5761
|
+
};
|
|
5762
|
+
readonly FILE_TYPE_NOT_ALLOWED: {
|
|
5763
|
+
readonly code: "FILE.TYPE_NOT_ALLOWED";
|
|
5764
|
+
readonly message: "File type is not allowed";
|
|
5765
|
+
readonly template: "File type \"{fileType}\" is not allowed";
|
|
5766
|
+
};
|
|
5767
|
+
readonly UPLOAD_FAILED: {
|
|
5768
|
+
readonly code: "FILE.UPLOAD_FAILED";
|
|
5769
|
+
readonly message: "File upload failed";
|
|
5770
|
+
};
|
|
5771
|
+
};
|
|
5772
|
+
/**
|
|
5773
|
+
* User validation errors
|
|
5774
|
+
*/
|
|
5775
|
+
declare const USER_ERRORS: {
|
|
5776
|
+
readonly MISSING_USER_ID: {
|
|
5777
|
+
readonly code: "USER.MISSING_ID";
|
|
5778
|
+
readonly message: "User ID is required";
|
|
5779
|
+
};
|
|
5780
|
+
readonly INVALID_USER_IDS: {
|
|
5781
|
+
readonly code: "USER.INVALID_IDS";
|
|
5782
|
+
readonly message: "User IDs must be an array";
|
|
5783
|
+
};
|
|
5784
|
+
readonly TOO_FEW_USERS: {
|
|
5785
|
+
readonly code: "USER.TOO_FEW";
|
|
5786
|
+
readonly message: "Not enough users";
|
|
5787
|
+
readonly template: "At least {minCount} user(s) required";
|
|
5788
|
+
};
|
|
5789
|
+
readonly TOO_MANY_USERS: {
|
|
5790
|
+
readonly code: "USER.TOO_MANY";
|
|
5791
|
+
readonly message: "Too many users";
|
|
5792
|
+
readonly template: "Maximum {maxCount} user(s) allowed";
|
|
5793
|
+
};
|
|
5794
|
+
readonly INVALID_USER_ID: {
|
|
5795
|
+
readonly code: "USER.INVALID_ID";
|
|
5796
|
+
readonly message: "All user IDs must be non-empty strings";
|
|
5797
|
+
};
|
|
5798
|
+
readonly MISSING_EMAIL: {
|
|
5799
|
+
readonly code: "USER.MISSING_EMAIL";
|
|
5800
|
+
readonly message: "Email is required";
|
|
5801
|
+
};
|
|
5802
|
+
readonly INVALID_EMAIL: {
|
|
5803
|
+
readonly code: "USER.INVALID_EMAIL";
|
|
5804
|
+
readonly message: "Invalid email format";
|
|
5805
|
+
};
|
|
5806
|
+
};
|
|
5807
|
+
/**
|
|
5808
|
+
* Conversation errors
|
|
5809
|
+
*/
|
|
5810
|
+
declare const CONVERSATION_ERRORS: {
|
|
5811
|
+
readonly NOT_FOUND: {
|
|
5812
|
+
readonly code: "CONVERSATION.NOT_FOUND";
|
|
5813
|
+
readonly message: "Conversation not found";
|
|
5814
|
+
};
|
|
5815
|
+
readonly ALREADY_EXISTS: {
|
|
5816
|
+
readonly code: "CONVERSATION.ALREADY_EXISTS";
|
|
5817
|
+
readonly message: "Conversation already exists";
|
|
5818
|
+
};
|
|
5819
|
+
readonly CREATE_FAILED: {
|
|
5820
|
+
readonly code: "CONVERSATION.CREATE_FAILED";
|
|
5821
|
+
readonly message: "Failed to create conversation";
|
|
5822
|
+
};
|
|
5823
|
+
readonly DELETE_FAILED: {
|
|
5824
|
+
readonly code: "CONVERSATION.DELETE_FAILED";
|
|
5825
|
+
readonly message: "Failed to delete conversation";
|
|
5826
|
+
};
|
|
5827
|
+
readonly UPDATE_FAILED: {
|
|
5828
|
+
readonly code: "CONVERSATION.UPDATE_FAILED";
|
|
5829
|
+
readonly message: "Failed to update conversation";
|
|
5830
|
+
};
|
|
5831
|
+
readonly LOAD_FAILED: {
|
|
5832
|
+
readonly code: "CONVERSATION.LOAD_FAILED";
|
|
5833
|
+
readonly message: "Failed to load conversations";
|
|
5834
|
+
};
|
|
5835
|
+
};
|
|
5836
|
+
/**
|
|
5837
|
+
* Connection errors
|
|
5838
|
+
*/
|
|
5839
|
+
declare const CONNECTION_ERRORS: {
|
|
5840
|
+
readonly DISCONNECTED: {
|
|
5841
|
+
readonly code: "CONNECTION.DISCONNECTED";
|
|
5842
|
+
readonly message: "Connection lost";
|
|
5843
|
+
};
|
|
5844
|
+
readonly FAILED_TO_CONNECT: {
|
|
5845
|
+
readonly code: "CONNECTION.FAILED";
|
|
5846
|
+
readonly message: "Failed to connect to server";
|
|
5847
|
+
};
|
|
5848
|
+
readonly TIMEOUT: {
|
|
5849
|
+
readonly code: "CONNECTION.TIMEOUT";
|
|
5850
|
+
readonly message: "Connection timeout";
|
|
5851
|
+
};
|
|
5852
|
+
readonly UNAUTHORIZED: {
|
|
5853
|
+
readonly code: "CONNECTION.UNAUTHORIZED";
|
|
5854
|
+
readonly message: "Unauthorized access";
|
|
5855
|
+
};
|
|
5856
|
+
};
|
|
5857
|
+
/**
|
|
5858
|
+
* Location validation errors
|
|
5859
|
+
*/
|
|
5860
|
+
declare const LOCATION_ERRORS: {
|
|
5861
|
+
readonly MISSING_LATITUDE: {
|
|
5862
|
+
readonly code: "LOCATION.MISSING_LATITUDE";
|
|
5863
|
+
readonly message: "Latitude is required";
|
|
5864
|
+
};
|
|
5865
|
+
readonly MISSING_LONGITUDE: {
|
|
5866
|
+
readonly code: "LOCATION.MISSING_LONGITUDE";
|
|
5867
|
+
readonly message: "Longitude is required";
|
|
5868
|
+
};
|
|
5869
|
+
readonly INVALID_LATITUDE: {
|
|
5870
|
+
readonly code: "LOCATION.INVALID_LATITUDE";
|
|
5871
|
+
readonly message: "Latitude must be between -90 and 90";
|
|
5872
|
+
};
|
|
5873
|
+
readonly INVALID_LONGITUDE: {
|
|
5874
|
+
readonly code: "LOCATION.INVALID_LONGITUDE";
|
|
5875
|
+
readonly message: "Longitude must be between -180 and 180";
|
|
5876
|
+
};
|
|
5877
|
+
};
|
|
5878
|
+
/**
|
|
5879
|
+
* URL validation errors
|
|
5880
|
+
*/
|
|
5881
|
+
declare const URL_ERRORS: {
|
|
5882
|
+
readonly MISSING_URL: {
|
|
5883
|
+
readonly code: "URL.MISSING";
|
|
5884
|
+
readonly message: "URL is required";
|
|
5885
|
+
};
|
|
5886
|
+
readonly INVALID_URL: {
|
|
5887
|
+
readonly code: "URL.INVALID";
|
|
5888
|
+
readonly message: "Invalid URL format";
|
|
5889
|
+
};
|
|
5890
|
+
};
|
|
5891
|
+
/**
|
|
5892
|
+
* Permission errors
|
|
5893
|
+
*/
|
|
5894
|
+
declare const PERMISSION_ERRORS: {
|
|
5895
|
+
readonly CANNOT_SEND_MESSAGES: {
|
|
5896
|
+
readonly code: "PERMISSION.CANNOT_SEND_MESSAGES";
|
|
5897
|
+
readonly message: "You do not have permission to send messages";
|
|
5898
|
+
};
|
|
5899
|
+
readonly CANNOT_SEND_MEDIA: {
|
|
5900
|
+
readonly code: "PERMISSION.CANNOT_SEND_MEDIA";
|
|
5901
|
+
readonly message: "You do not have permission to send media";
|
|
5902
|
+
};
|
|
5903
|
+
readonly CANNOT_ADD_MEMBERS: {
|
|
5904
|
+
readonly code: "PERMISSION.CANNOT_ADD_MEMBERS";
|
|
5905
|
+
readonly message: "You do not have permission to add members";
|
|
5906
|
+
};
|
|
5907
|
+
readonly CANNOT_REMOVE_MEMBERS: {
|
|
5908
|
+
readonly code: "PERMISSION.CANNOT_REMOVE_MEMBERS";
|
|
5909
|
+
readonly message: "You do not have permission to remove members";
|
|
5910
|
+
};
|
|
5911
|
+
readonly CANNOT_EDIT_INFO: {
|
|
5912
|
+
readonly code: "PERMISSION.CANNOT_EDIT_INFO";
|
|
5913
|
+
readonly message: "You do not have permission to edit conversation info";
|
|
5914
|
+
};
|
|
5915
|
+
readonly CANNOT_DELETE_MESSAGES: {
|
|
5916
|
+
readonly code: "PERMISSION.CANNOT_DELETE_MESSAGES";
|
|
5917
|
+
readonly message: "You do not have permission to delete messages";
|
|
5918
|
+
};
|
|
5919
|
+
};
|
|
5920
|
+
/**
|
|
5921
|
+
* All error messages combined
|
|
5922
|
+
*/
|
|
5923
|
+
declare const ERROR_MESSAGES: {
|
|
5924
|
+
readonly MESSAGE: {
|
|
5925
|
+
readonly EMPTY_MESSAGE: {
|
|
5926
|
+
readonly code: "MESSAGE.EMPTY";
|
|
5927
|
+
readonly message: "Message text cannot be empty";
|
|
5928
|
+
};
|
|
5929
|
+
readonly MESSAGE_TOO_SHORT: {
|
|
5930
|
+
readonly code: "MESSAGE.TOO_SHORT";
|
|
5931
|
+
readonly message: "Message is too short";
|
|
5932
|
+
readonly template: "Message must be at least {minLength} character(s)";
|
|
5933
|
+
};
|
|
5934
|
+
readonly MESSAGE_TOO_LONG: {
|
|
5935
|
+
readonly code: "MESSAGE.TOO_LONG";
|
|
5936
|
+
readonly message: "Message is too long";
|
|
5937
|
+
readonly template: "Message exceeds {maxLength} character limit";
|
|
5938
|
+
};
|
|
5939
|
+
readonly MISSING_CONVERSATION_ID: {
|
|
5940
|
+
readonly code: "MESSAGE.MISSING_CONVERSATION_ID";
|
|
5941
|
+
readonly message: "Conversation ID is required";
|
|
5942
|
+
};
|
|
5943
|
+
readonly MISSING_MESSAGE_TYPE: {
|
|
5944
|
+
readonly code: "MESSAGE.MISSING_TYPE";
|
|
5945
|
+
readonly message: "Message type is required";
|
|
5946
|
+
};
|
|
5947
|
+
readonly MISSING_PAYLOAD: {
|
|
5948
|
+
readonly code: "MESSAGE.MISSING_PAYLOAD";
|
|
5949
|
+
readonly message: "Message payload is required";
|
|
5950
|
+
};
|
|
5951
|
+
readonly INVALID_TEXT_PAYLOAD: {
|
|
5952
|
+
readonly code: "MESSAGE.INVALID_TEXT_PAYLOAD";
|
|
5953
|
+
readonly message: "Text message must have a text property";
|
|
5954
|
+
};
|
|
5955
|
+
readonly INVALID_MEDIA_PAYLOAD: {
|
|
5956
|
+
readonly code: "MESSAGE.INVALID_MEDIA_PAYLOAD";
|
|
5957
|
+
readonly message: "Media message must have a url property";
|
|
5958
|
+
};
|
|
5959
|
+
readonly INVALID_LOCATION_PAYLOAD: {
|
|
5960
|
+
readonly code: "MESSAGE.INVALID_LOCATION_PAYLOAD";
|
|
5961
|
+
readonly message: "Location message must have latitude and longitude properties";
|
|
5962
|
+
};
|
|
5963
|
+
};
|
|
5964
|
+
readonly FILE: {
|
|
5965
|
+
readonly FILE_TOO_LARGE: {
|
|
5966
|
+
readonly code: "FILE.TOO_LARGE";
|
|
5967
|
+
readonly message: "File is too large";
|
|
5968
|
+
readonly template: "File size exceeds {maxSize} limit";
|
|
5969
|
+
};
|
|
5970
|
+
readonly FILE_TYPE_NOT_ALLOWED: {
|
|
5971
|
+
readonly code: "FILE.TYPE_NOT_ALLOWED";
|
|
5972
|
+
readonly message: "File type is not allowed";
|
|
5973
|
+
readonly template: "File type \"{fileType}\" is not allowed";
|
|
5974
|
+
};
|
|
5975
|
+
readonly UPLOAD_FAILED: {
|
|
5976
|
+
readonly code: "FILE.UPLOAD_FAILED";
|
|
5977
|
+
readonly message: "File upload failed";
|
|
5978
|
+
};
|
|
5979
|
+
};
|
|
5980
|
+
readonly USER: {
|
|
5981
|
+
readonly MISSING_USER_ID: {
|
|
5982
|
+
readonly code: "USER.MISSING_ID";
|
|
5983
|
+
readonly message: "User ID is required";
|
|
5984
|
+
};
|
|
5985
|
+
readonly INVALID_USER_IDS: {
|
|
5986
|
+
readonly code: "USER.INVALID_IDS";
|
|
5987
|
+
readonly message: "User IDs must be an array";
|
|
5988
|
+
};
|
|
5989
|
+
readonly TOO_FEW_USERS: {
|
|
5990
|
+
readonly code: "USER.TOO_FEW";
|
|
5991
|
+
readonly message: "Not enough users";
|
|
5992
|
+
readonly template: "At least {minCount} user(s) required";
|
|
5993
|
+
};
|
|
5994
|
+
readonly TOO_MANY_USERS: {
|
|
5995
|
+
readonly code: "USER.TOO_MANY";
|
|
5996
|
+
readonly message: "Too many users";
|
|
5997
|
+
readonly template: "Maximum {maxCount} user(s) allowed";
|
|
5998
|
+
};
|
|
5999
|
+
readonly INVALID_USER_ID: {
|
|
6000
|
+
readonly code: "USER.INVALID_ID";
|
|
6001
|
+
readonly message: "All user IDs must be non-empty strings";
|
|
6002
|
+
};
|
|
6003
|
+
readonly MISSING_EMAIL: {
|
|
6004
|
+
readonly code: "USER.MISSING_EMAIL";
|
|
6005
|
+
readonly message: "Email is required";
|
|
6006
|
+
};
|
|
6007
|
+
readonly INVALID_EMAIL: {
|
|
6008
|
+
readonly code: "USER.INVALID_EMAIL";
|
|
6009
|
+
readonly message: "Invalid email format";
|
|
6010
|
+
};
|
|
6011
|
+
};
|
|
6012
|
+
readonly CONVERSATION: {
|
|
6013
|
+
readonly NOT_FOUND: {
|
|
6014
|
+
readonly code: "CONVERSATION.NOT_FOUND";
|
|
6015
|
+
readonly message: "Conversation not found";
|
|
6016
|
+
};
|
|
6017
|
+
readonly ALREADY_EXISTS: {
|
|
6018
|
+
readonly code: "CONVERSATION.ALREADY_EXISTS";
|
|
6019
|
+
readonly message: "Conversation already exists";
|
|
6020
|
+
};
|
|
6021
|
+
readonly CREATE_FAILED: {
|
|
6022
|
+
readonly code: "CONVERSATION.CREATE_FAILED";
|
|
6023
|
+
readonly message: "Failed to create conversation";
|
|
6024
|
+
};
|
|
6025
|
+
readonly DELETE_FAILED: {
|
|
6026
|
+
readonly code: "CONVERSATION.DELETE_FAILED";
|
|
6027
|
+
readonly message: "Failed to delete conversation";
|
|
6028
|
+
};
|
|
6029
|
+
readonly UPDATE_FAILED: {
|
|
6030
|
+
readonly code: "CONVERSATION.UPDATE_FAILED";
|
|
6031
|
+
readonly message: "Failed to update conversation";
|
|
6032
|
+
};
|
|
6033
|
+
readonly LOAD_FAILED: {
|
|
6034
|
+
readonly code: "CONVERSATION.LOAD_FAILED";
|
|
6035
|
+
readonly message: "Failed to load conversations";
|
|
6036
|
+
};
|
|
6037
|
+
};
|
|
6038
|
+
readonly CONNECTION: {
|
|
6039
|
+
readonly DISCONNECTED: {
|
|
6040
|
+
readonly code: "CONNECTION.DISCONNECTED";
|
|
6041
|
+
readonly message: "Connection lost";
|
|
6042
|
+
};
|
|
6043
|
+
readonly FAILED_TO_CONNECT: {
|
|
6044
|
+
readonly code: "CONNECTION.FAILED";
|
|
6045
|
+
readonly message: "Failed to connect to server";
|
|
6046
|
+
};
|
|
6047
|
+
readonly TIMEOUT: {
|
|
6048
|
+
readonly code: "CONNECTION.TIMEOUT";
|
|
6049
|
+
readonly message: "Connection timeout";
|
|
6050
|
+
};
|
|
6051
|
+
readonly UNAUTHORIZED: {
|
|
6052
|
+
readonly code: "CONNECTION.UNAUTHORIZED";
|
|
6053
|
+
readonly message: "Unauthorized access";
|
|
6054
|
+
};
|
|
6055
|
+
};
|
|
6056
|
+
readonly LOCATION: {
|
|
6057
|
+
readonly MISSING_LATITUDE: {
|
|
6058
|
+
readonly code: "LOCATION.MISSING_LATITUDE";
|
|
6059
|
+
readonly message: "Latitude is required";
|
|
6060
|
+
};
|
|
6061
|
+
readonly MISSING_LONGITUDE: {
|
|
6062
|
+
readonly code: "LOCATION.MISSING_LONGITUDE";
|
|
6063
|
+
readonly message: "Longitude is required";
|
|
6064
|
+
};
|
|
6065
|
+
readonly INVALID_LATITUDE: {
|
|
6066
|
+
readonly code: "LOCATION.INVALID_LATITUDE";
|
|
6067
|
+
readonly message: "Latitude must be between -90 and 90";
|
|
6068
|
+
};
|
|
6069
|
+
readonly INVALID_LONGITUDE: {
|
|
6070
|
+
readonly code: "LOCATION.INVALID_LONGITUDE";
|
|
6071
|
+
readonly message: "Longitude must be between -180 and 180";
|
|
6072
|
+
};
|
|
6073
|
+
};
|
|
6074
|
+
readonly URL: {
|
|
6075
|
+
readonly MISSING_URL: {
|
|
6076
|
+
readonly code: "URL.MISSING";
|
|
6077
|
+
readonly message: "URL is required";
|
|
6078
|
+
};
|
|
6079
|
+
readonly INVALID_URL: {
|
|
6080
|
+
readonly code: "URL.INVALID";
|
|
6081
|
+
readonly message: "Invalid URL format";
|
|
6082
|
+
};
|
|
6083
|
+
};
|
|
6084
|
+
readonly PERMISSION: {
|
|
6085
|
+
readonly CANNOT_SEND_MESSAGES: {
|
|
6086
|
+
readonly code: "PERMISSION.CANNOT_SEND_MESSAGES";
|
|
6087
|
+
readonly message: "You do not have permission to send messages";
|
|
6088
|
+
};
|
|
6089
|
+
readonly CANNOT_SEND_MEDIA: {
|
|
6090
|
+
readonly code: "PERMISSION.CANNOT_SEND_MEDIA";
|
|
6091
|
+
readonly message: "You do not have permission to send media";
|
|
6092
|
+
};
|
|
6093
|
+
readonly CANNOT_ADD_MEMBERS: {
|
|
6094
|
+
readonly code: "PERMISSION.CANNOT_ADD_MEMBERS";
|
|
6095
|
+
readonly message: "You do not have permission to add members";
|
|
6096
|
+
};
|
|
6097
|
+
readonly CANNOT_REMOVE_MEMBERS: {
|
|
6098
|
+
readonly code: "PERMISSION.CANNOT_REMOVE_MEMBERS";
|
|
6099
|
+
readonly message: "You do not have permission to remove members";
|
|
6100
|
+
};
|
|
6101
|
+
readonly CANNOT_EDIT_INFO: {
|
|
6102
|
+
readonly code: "PERMISSION.CANNOT_EDIT_INFO";
|
|
6103
|
+
readonly message: "You do not have permission to edit conversation info";
|
|
6104
|
+
};
|
|
6105
|
+
readonly CANNOT_DELETE_MESSAGES: {
|
|
6106
|
+
readonly code: "PERMISSION.CANNOT_DELETE_MESSAGES";
|
|
6107
|
+
readonly message: "You do not have permission to delete messages";
|
|
6108
|
+
};
|
|
6109
|
+
};
|
|
6110
|
+
};
|
|
6111
|
+
/**
|
|
6112
|
+
* Helper function to format error message with parameters
|
|
6113
|
+
* Optimized to avoid creating regex objects in loop
|
|
6114
|
+
* @param template - Message template with placeholders
|
|
6115
|
+
* @param params - Parameters to replace in template
|
|
6116
|
+
* @returns Formatted message
|
|
6117
|
+
*
|
|
6118
|
+
* @example
|
|
6119
|
+
* formatErrorMessage('Message exceeds {maxLength} character limit', { maxLength: 1000 })
|
|
6120
|
+
* // Returns: 'Message exceeds 1000 character limit'
|
|
6121
|
+
*/
|
|
6122
|
+
declare function formatErrorMessage(template: string, params: Record<string, string | number>): string;
|
|
6123
|
+
/**
|
|
6124
|
+
* Get error message by code
|
|
6125
|
+
* This function can be extended to support i18n by looking up translations
|
|
6126
|
+
* Uses caching for better performance
|
|
6127
|
+
* @param code - Error code
|
|
6128
|
+
* @param params - Optional parameters for message template
|
|
6129
|
+
* @returns Error message
|
|
6130
|
+
*/
|
|
6131
|
+
declare function getErrorMessage(code: string, params?: Record<string, string | number>): string;
|
|
6132
|
+
/**
|
|
6133
|
+
* Type for error codes
|
|
6134
|
+
* Useful for type-safe error handling
|
|
6135
|
+
*/
|
|
6136
|
+
type AXErrorCode = typeof MESSAGE_ERRORS[keyof typeof MESSAGE_ERRORS]['code'] | typeof FILE_ERRORS[keyof typeof FILE_ERRORS]['code'] | typeof USER_ERRORS[keyof typeof USER_ERRORS]['code'] | typeof CONVERSATION_ERRORS[keyof typeof CONVERSATION_ERRORS]['code'] | typeof CONNECTION_ERRORS[keyof typeof CONNECTION_ERRORS]['code'] | typeof LOCATION_ERRORS[keyof typeof LOCATION_ERRORS]['code'] | typeof URL_ERRORS[keyof typeof URL_ERRORS]['code'] | typeof PERMISSION_ERRORS[keyof typeof PERMISSION_ERRORS]['code'];
|
|
6137
|
+
|
|
6138
|
+
export { AI_API_KEY, AXAIResponderService, AXAudioPickerComponent, AXBaseRegistry, AXComposerActionRegistry, AXComposerComponent, AXComposerPopupComponent, AXComposerService, AXComposerTabRegistry, AXContactPickerComponent, AXConversation2Module, AXConversationApi, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationInfoPanelComponent, AXConversationItemActionRegistry, AXConversationMessageUtilsService, AXConversationService, AXConversationStoreService, AXConversationTabRegistry, AXEmojiTabComponent, AXErrorHandlerService, AXFilePickerComponent, AXFileUploadService, AXForwardMessageDialogComponent, AXImagePickerComponent, AXIndexedDBConversationApi, AXIndexedDBMessageAIApi, AXIndexedDBMessageApi, AXIndexedDBRealtimeApi, AXIndexedDBUserApi, AXInfiniteScrollDirective, AXInfoBarActionRegistry, AXInfoBarComponent, AXInfoBarSearchComponent, AXInfoBarService, AXLocationPickerComponent, AXMessageActionRegistry, AXMessageApi, AXMessageListComponent, AXMessageListService, AXMessageRendererRegistry, AXNewConversationDialogComponent, AXPickerFooterComponent, AXPickerHeaderComponent, AXRealtimeApi, AXRegistryService, AXSidebarComponent, AXSidebarService, AXStickerTabComponent, AXUserApi, AXVideoPickerComponent, AXVoiceRecorderComponent, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_CONTACT_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONTACT_RENDERER, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_INFO_ACTION, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_COPY_ACTION, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, AudioRendererComponent, CONNECTION_ERRORS, CONVERSATION_CONFIG, CONVERSATION_ERRORS, ContactRendererComponent, DEFAULT_COMPOSER_ACTIONS, DEFAULT_COMPOSER_TABS, DEFAULT_CONVERSATION_ITEM_ACTIONS, DEFAULT_CONVERSATION_TABS, DEFAULT_INFO_BAR_ACTIONS, DEFAULT_MESSAGE_ACTIONS, DEFAULT_MESSAGE_RENDERERS, ERROR_HANDLER_CONFIG, ERROR_MESSAGES, FILE_ERRORS, FallbackRendererComponent, FileRendererComponent, ImageRendererComponent, LOCATION_ERRORS, LocationRendererComponent, MESSAGE_ERRORS, PERMISSION_ERRORS, REGISTRY_CONFIG, StickerRendererComponent, SystemRendererComponent, TextRendererComponent, URL_ERRORS, USER_ERRORS, VideoRendererComponent, VoiceRendererComponent, formatErrorMessage, getDefaultConversationItemActions, getErrorMessage, mergeWithDefaults, provideConversation, sanitizeInput, validateConversationId, validateEmail, validateFile, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds };
|
|
6139
|
+
export type { AXAIResponderConfig, AXApiError, AXAudioPayload, AXBlockReportReason, AXCallEvent, AXComposerAction, AXComposerActionContext, AXComposerActiveComponent, AXComposerTab, AXConnectionEvent, AXConnectionOptions, AXConnectionStatus, AXContactPayload, AXConversation, AXConversationConfig, AXConversationCreateData, AXConversationError, AXConversationFilter, AXConversationFilters, AXConversationItemAction, AXConversationItemActionContext, AXConversationOptions, AXConversationPermissions, AXConversationSettings, AXConversationSettingsUpdate, AXConversationSort, AXConversationStatus, AXConversationTab, AXConversationType, AXConversationUpdateData, AXDeleteMessageCommand, AXEditMessageCommand, AXErrorCode, AXErrorHandlerConfig, AXErrorMessage, AXErrorSeverity, AXFilePayload, AXFileValidationResult, AXGroupedReaction, AXImagePayload, AXInfoBarAction, AXInfoBarActionContext, AXInfoBarActiveComponent, AXLink, AXLinkPreview, AXLocationPayload, AXMention, AXMessage, AXMessageAction, AXMessageActionContext, AXMessageAvatarTemplateContext, AXMessageForwardData, AXMessagePayload, AXMessageRenderer, AXMessageRendererCapabilities, AXMessageSearchFilters, AXMessageStatus, AXMessageType, AXNotificationEvent, AXPaginatedResult, AXPagination, AXParticipant, AXParticipantRole, AXParticipantStatus, AXParticipantUpdate, AXPinnedMessage, AXPollOption, AXPollPayload, AXPresenceStatus, AXPresenceUpdate, AXReaction, AXReadReceipt, AXRegistryConfiguration, AXRegistryItem, AXSendMessageCommand, AXStickerPayload, AXSystemPayload, AXTextFormat, AXTextPayload, AXTypingIndicator, AXUserProfileUpdate, AXUserRole, AXUserSearchFilters, AXValidationResult, AXVideoPayload, AXVoicePayload, DropdownMenuItem, FilePreview, FileUploadProgress };
|