@veltdev/sdk 5.0.1 → 5.0.2-beta.10
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/app/client/snippyly.model.d.ts +20 -1
- package/app/models/data/activity-resolver.data.model.d.ts +27 -0
- package/app/models/data/activity.data.model.d.ts +179 -0
- package/app/models/data/attachment-resolver.data.model.d.ts +2 -2
- package/app/models/data/attachment.model.d.ts +1 -0
- package/app/models/data/autocomplete.data.model.d.ts +3 -3
- package/app/models/data/base-metadata.data.model.d.ts +3 -0
- package/app/models/data/comment-actions.data.model.d.ts +4 -0
- package/app/models/data/comment-annotation.data.model.d.ts +13 -1
- package/app/models/data/comment-events.data.model.d.ts +21 -1
- package/app/models/data/comment-resolver.data.model.d.ts +3 -3
- package/app/models/data/config.data.model.d.ts +5 -0
- package/app/models/data/core-events.data.model.d.ts +74 -1
- package/app/models/data/crdt.data.model.d.ts +51 -0
- package/app/models/data/document.data.model.d.ts +2 -0
- package/app/models/data/live-state-events.data.model.d.ts +6 -0
- package/app/models/data/notification-resolver.data.model.d.ts +39 -0
- package/app/models/data/notification.model.d.ts +4 -0
- package/app/models/data/provider.data.model.d.ts +8 -1
- package/app/models/data/reaction-resolver.data.model.d.ts +3 -3
- package/app/models/data/recorder-annotation.data.model.d.ts +11 -0
- package/app/models/data/recorder-resolver.data.model.d.ts +58 -0
- package/app/models/data/resolver.data.model.d.ts +1 -0
- package/app/models/data/user-resolver.data.model.d.ts +17 -1
- package/app/models/data/user.data.model.d.ts +2 -0
- package/app/models/element/activity-element.model.d.ts +33 -0
- package/app/models/element/comment-element.model.d.ts +20 -0
- package/app/models/element/crdt-element.model.d.ts +88 -1
- package/app/utils/constants.d.ts +86 -0
- package/app/utils/enums.d.ts +25 -3
- package/models.d.ts +4 -0
- package/package.json +1 -1
- package/types.d.ts +1 -0
- package/velt.js +115 -115
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ResolverEndpointConfig, ResolverResponse, RetryConfig } from "./resolver.data.model";
|
|
2
|
+
import { User } from "./user.data.model";
|
|
3
|
+
export interface NotificationDataProvider {
|
|
4
|
+
get?: (request: GetNotificationResolverRequest) => Promise<ResolverResponse<Record<string, PartialNotification>>>;
|
|
5
|
+
delete?: (request: DeleteNotificationResolverRequest) => Promise<ResolverResponse<undefined>>;
|
|
6
|
+
config?: NotificationResolverConfig;
|
|
7
|
+
}
|
|
8
|
+
export interface NotificationResolverConfig {
|
|
9
|
+
resolveTimeout?: number;
|
|
10
|
+
getRetryConfig?: RetryConfig;
|
|
11
|
+
deleteRetryConfig?: RetryConfig;
|
|
12
|
+
getConfig?: ResolverEndpointConfig;
|
|
13
|
+
deleteConfig?: ResolverEndpointConfig;
|
|
14
|
+
}
|
|
15
|
+
export interface GetNotificationResolverRequest {
|
|
16
|
+
organizationId: string;
|
|
17
|
+
notificationIds: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface DeleteNotificationResolverRequest {
|
|
20
|
+
notificationId: string;
|
|
21
|
+
organizationId: string;
|
|
22
|
+
}
|
|
23
|
+
export interface PartialNotification {
|
|
24
|
+
notificationId: string;
|
|
25
|
+
displayHeadlineMessageTemplate?: string;
|
|
26
|
+
displayHeadlineMessageTemplateData?: {
|
|
27
|
+
actionUser?: User;
|
|
28
|
+
recipientUser?: User;
|
|
29
|
+
actionMessage?: string;
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
};
|
|
32
|
+
displayBodyMessage?: string;
|
|
33
|
+
displayBodyMessageTemplate?: string;
|
|
34
|
+
displayBodyMessageTemplateData?: {
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
};
|
|
37
|
+
notificationSourceData?: any;
|
|
38
|
+
[key: string]: any;
|
|
39
|
+
}
|
|
@@ -137,6 +137,10 @@ export declare class Notification {
|
|
|
137
137
|
* Is comment text available
|
|
138
138
|
*/
|
|
139
139
|
isCommentResolverUsed?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Is notification resolver used
|
|
142
|
+
*/
|
|
143
|
+
isNotificationResolverUsed?: boolean;
|
|
140
144
|
/**
|
|
141
145
|
* Display body message template
|
|
142
146
|
*/
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
+
import { ActivityAnnotationDataProvider } from "./activity-resolver.data.model";
|
|
1
2
|
import { CommentAnnotationDataProvider } from "./comment-resolver.data.model";
|
|
2
3
|
import { AttachmentDataProvider } from "./attachment-resolver.data.model";
|
|
4
|
+
import { NotificationDataProvider } from "./notification-resolver.data.model";
|
|
3
5
|
import { ReactionAnnotationDataProvider } from "./reaction-resolver.data.model";
|
|
4
|
-
import {
|
|
6
|
+
import { RecorderAnnotationDataProvider } from "./recorder-resolver.data.model";
|
|
7
|
+
import { AnonymousUserDataProvider, UserDataProvider } from "./user-resolver.data.model";
|
|
5
8
|
export interface VeltDataProvider {
|
|
6
9
|
comment?: CommentAnnotationDataProvider;
|
|
7
10
|
user?: UserDataProvider;
|
|
8
11
|
reaction?: ReactionAnnotationDataProvider;
|
|
9
12
|
attachment?: AttachmentDataProvider;
|
|
13
|
+
anonymousUser?: AnonymousUserDataProvider;
|
|
14
|
+
recorder?: RecorderAnnotationDataProvider;
|
|
15
|
+
notification?: NotificationDataProvider;
|
|
16
|
+
activity?: ActivityAnnotationDataProvider;
|
|
10
17
|
}
|
|
@@ -4,9 +4,9 @@ import { PartialUser } from "./comment-resolver.data.model";
|
|
|
4
4
|
import { ReactionAnnotation } from "./reaction-annotation.data.model";
|
|
5
5
|
import { ResolverConfig, ResolverResponse } from "./resolver.data.model";
|
|
6
6
|
export interface ReactionAnnotationDataProvider {
|
|
7
|
-
get
|
|
8
|
-
save
|
|
9
|
-
delete
|
|
7
|
+
get?: (request: GetReactionResolverRequest) => Promise<ResolverResponse<Record<string, PartialReactionAnnotation>>>;
|
|
8
|
+
save?: (request: SaveReactionResolverRequest) => Promise<ResolverResponse<undefined>>;
|
|
9
|
+
delete?: (request: DeleteReactionResolverRequest) => Promise<ResolverResponse<undefined>>;
|
|
10
10
|
config?: ResolverConfig;
|
|
11
11
|
}
|
|
12
12
|
export interface GetReactionResolverRequest {
|
|
@@ -150,6 +150,17 @@ export declare class RecorderAnnotation {
|
|
|
150
150
|
chunkUrls?: {
|
|
151
151
|
[key: number]: string;
|
|
152
152
|
};
|
|
153
|
+
/**
|
|
154
|
+
* Whether the recorder resolver is used for this annotation.
|
|
155
|
+
* Used by UI components to show loading states while resolver data is being fetched.
|
|
156
|
+
*/
|
|
157
|
+
isRecorderResolverUsed?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Whether the real recording URL is available.
|
|
160
|
+
* Set to false when the annotation is first saved (URL is still a local blob),
|
|
161
|
+
* and true once the actual URL from storage is available after the async upload completes.
|
|
162
|
+
*/
|
|
163
|
+
isUrlAvailable?: boolean;
|
|
153
164
|
}
|
|
154
165
|
export interface RecorderAnnotationEditVersion {
|
|
155
166
|
from?: User;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ResolverActions } from "../../utils/enums";
|
|
2
|
+
import { AttachmentDataProvider } from "./attachment-resolver.data.model";
|
|
3
|
+
import { BaseMetadata } from "./base-metadata.data.model";
|
|
4
|
+
import { RecorderAnnotation } from "./recorder-annotation.data.model";
|
|
5
|
+
import { ResolverConfig, ResolverResponse } from "./resolver.data.model";
|
|
6
|
+
import { Attachment } from "./attachment.model";
|
|
7
|
+
import { Transcription } from "./transcription.data.model";
|
|
8
|
+
import { User } from "./user.data.model";
|
|
9
|
+
export interface RecorderAnnotationDataProvider {
|
|
10
|
+
get?: (request: GetRecorderResolverRequest) => Promise<ResolverResponse<Record<string, PartialRecorderAnnotation>>>;
|
|
11
|
+
save?: (request: SaveRecorderResolverRequest) => Promise<ResolverResponse<SaveRecorderResolverData | undefined>>;
|
|
12
|
+
delete?: (request: DeleteRecorderResolverRequest) => Promise<ResolverResponse<undefined>>;
|
|
13
|
+
config?: ResolverConfig;
|
|
14
|
+
uploadChunks?: boolean;
|
|
15
|
+
storage?: AttachmentDataProvider;
|
|
16
|
+
}
|
|
17
|
+
export interface GetRecorderResolverRequest {
|
|
18
|
+
organizationId: string;
|
|
19
|
+
recorderAnnotationIds?: string[];
|
|
20
|
+
documentIds?: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface SaveRecorderResolverRequest {
|
|
23
|
+
recorderAnnotation: Record<string, PartialRecorderAnnotation>;
|
|
24
|
+
event?: ResolverActions;
|
|
25
|
+
metadata?: BaseMetadata;
|
|
26
|
+
}
|
|
27
|
+
export interface SaveRecorderResolverData {
|
|
28
|
+
transcription?: Transcription;
|
|
29
|
+
attachment?: Attachment | null;
|
|
30
|
+
attachments?: Attachment[];
|
|
31
|
+
}
|
|
32
|
+
export interface DeleteRecorderResolverRequest {
|
|
33
|
+
recorderAnnotationId: string;
|
|
34
|
+
metadata?: BaseMetadata;
|
|
35
|
+
event?: ResolverActions;
|
|
36
|
+
}
|
|
37
|
+
export interface PartialRecorderAnnotation {
|
|
38
|
+
annotationId: string;
|
|
39
|
+
metadata?: BaseMetadata;
|
|
40
|
+
from?: User;
|
|
41
|
+
transcription?: Transcription;
|
|
42
|
+
attachment?: Attachment | null;
|
|
43
|
+
attachments?: Attachment[];
|
|
44
|
+
chunkUrls?: Record<number, string>;
|
|
45
|
+
recordingEditVersions?: Record<number, PartialRecorderAnnotationEditVersion>;
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
}
|
|
48
|
+
export interface PartialRecorderAnnotationEditVersion {
|
|
49
|
+
from?: User;
|
|
50
|
+
attachment?: Attachment | null;
|
|
51
|
+
attachments?: Attachment[];
|
|
52
|
+
transcription?: Transcription;
|
|
53
|
+
}
|
|
54
|
+
export interface PartialRecorderAnnotationResult {
|
|
55
|
+
strippedData: Record<string, PartialRecorderAnnotation> | null;
|
|
56
|
+
originalData: RecorderAnnotation | null;
|
|
57
|
+
eventType?: ResolverActions;
|
|
58
|
+
}
|
|
@@ -9,6 +9,7 @@ export interface ResolverConfig {
|
|
|
9
9
|
getRetryConfig?: RetryConfig;
|
|
10
10
|
resolveUsersConfig?: ResolveUsersConfig;
|
|
11
11
|
fieldsToRemove?: string[];
|
|
12
|
+
additionalFields?: string[];
|
|
12
13
|
getConfig?: ResolverEndpointConfig;
|
|
13
14
|
saveConfig?: ResolverEndpointConfig;
|
|
14
15
|
deleteConfig?: ResolverEndpointConfig;
|
|
@@ -1,10 +1,24 @@
|
|
|
1
|
-
import { ResolverConfig } from "./resolver.data.model";
|
|
1
|
+
import { ResolverConfig, ResolverResponse, RetryConfig } from "./resolver.data.model";
|
|
2
2
|
import { User } from "./user.data.model";
|
|
3
3
|
export interface UserDataProvider {
|
|
4
4
|
get(userIds: string[]): Promise<Record<string, User>>;
|
|
5
5
|
config?: ResolverConfig;
|
|
6
6
|
resolveTimeout?: number;
|
|
7
7
|
}
|
|
8
|
+
export interface AnonymousUserDataProvider {
|
|
9
|
+
resolveUserIdsByEmail(request: ResolveUserIdsByEmailRequest): Promise<ResolverResponse<Record<string, string>>>;
|
|
10
|
+
config?: AnonymousUserDataProviderConfig;
|
|
11
|
+
}
|
|
12
|
+
export interface AnonymousUserDataProviderConfig {
|
|
13
|
+
resolveTimeout?: number;
|
|
14
|
+
getRetryConfig?: RetryConfig;
|
|
15
|
+
}
|
|
16
|
+
export interface ResolveUserIdsByEmailRequest {
|
|
17
|
+
organizationId: string;
|
|
18
|
+
documentId?: string;
|
|
19
|
+
folderId?: string;
|
|
20
|
+
emails: string[];
|
|
21
|
+
}
|
|
8
22
|
export interface GetUserResolverRequest {
|
|
9
23
|
organizationId: string;
|
|
10
24
|
userIds: string[];
|
|
@@ -19,6 +33,7 @@ export interface GetUserPermissionsResponse {
|
|
|
19
33
|
folders?: {
|
|
20
34
|
[folderId: string]: {
|
|
21
35
|
accessRole?: UserPermissionAccessRole;
|
|
36
|
+
accessType?: string;
|
|
22
37
|
expiresAt?: number;
|
|
23
38
|
error?: string;
|
|
24
39
|
errorCode?: UserPermissionAccessRoleResult;
|
|
@@ -35,6 +50,7 @@ export interface GetUserPermissionsResponse {
|
|
|
35
50
|
documents?: {
|
|
36
51
|
[documentId: string]: {
|
|
37
52
|
accessRole?: UserPermissionAccessRole;
|
|
53
|
+
accessType?: string;
|
|
38
54
|
expiresAt?: number;
|
|
39
55
|
error?: string;
|
|
40
56
|
errorCode?: UserPermissionAccessRoleResult;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
import { ActivityRecord, ActivitySubscribeConfig, CreateActivityData } from "../data/activity.data.model";
|
|
4
|
+
|
|
5
|
+
export declare class ActivityElement {
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Subscribe to activities with optional filtering configuration.
|
|
9
|
+
* Returns an Observable that, when unsubscribed, automatically cleans up the internal subscription.
|
|
10
|
+
* @param config Optional configuration to filter activities by scope, feature types, action types, etc.
|
|
11
|
+
* @returns Observable<ActivityRecord[] | null>
|
|
12
|
+
*/
|
|
13
|
+
getAllActivities: (config?: ActivitySubscribeConfig) => Observable<ActivityRecord[] | null>;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Create a new activity record.
|
|
17
|
+
* @param data The activity data including feature type, action type, target entity, etc.
|
|
18
|
+
* @returns Promise<void>
|
|
19
|
+
*/
|
|
20
|
+
createActivity: (data: CreateActivityData) => Promise<void>;
|
|
21
|
+
|
|
22
|
+
constructor();
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Subscribe to activities with optional filtering configuration.
|
|
26
|
+
*/
|
|
27
|
+
private _getAllActivities;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Create a new activity record.
|
|
31
|
+
*/
|
|
32
|
+
private _createActivity;
|
|
33
|
+
}
|
|
@@ -290,6 +290,16 @@ export declare class CommentElement {
|
|
|
290
290
|
*/
|
|
291
291
|
public disableStatus: () => any;
|
|
292
292
|
|
|
293
|
+
/**
|
|
294
|
+
* To enable visibility options on comments
|
|
295
|
+
*/
|
|
296
|
+
public enableVisibilityOptions: () => any;
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* To disable visibility options on comments
|
|
300
|
+
*/
|
|
301
|
+
public disableVisibilityOptions: () => any;
|
|
302
|
+
|
|
293
303
|
/**
|
|
294
304
|
* To enable feature to show resolve button
|
|
295
305
|
*/
|
|
@@ -1615,6 +1625,16 @@ export declare class CommentElement {
|
|
|
1615
1625
|
*/
|
|
1616
1626
|
private _disableStatus;
|
|
1617
1627
|
|
|
1628
|
+
/**
|
|
1629
|
+
* To enable visibility options on comments
|
|
1630
|
+
*/
|
|
1631
|
+
private _enableVisibilityOptions;
|
|
1632
|
+
|
|
1633
|
+
/**
|
|
1634
|
+
* To disable visibility options on comments
|
|
1635
|
+
*/
|
|
1636
|
+
private _disableVisibilityOptions;
|
|
1637
|
+
|
|
1618
1638
|
/**
|
|
1619
1639
|
* To enable feature to show resolve button
|
|
1620
1640
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import { CrdtGetDataQuery, CrdtGetVersionQuery, CrdtOnDataChangeQuery, CrdtOnPresenceChangeQuery, CrdtOnRegisteredUserChangeQuery, CrdtOnStateChangeQuery, CrdtRegisterSyncUserQuery, CrdtSetPresenceQuery, CrdtSaveVersionQuery, CrdtUpdateDataQuery, CrdtUpdateStateQuery } from "../data/crdt.data.model";
|
|
2
|
+
import { CrdtGetDataQuery, CrdtGetMessagesQuery, CrdtGetSnapshotQuery, CrdtGetVersionQuery, CrdtGetVersionsQuery, CrdtMessageData, CrdtOnDataChangeQuery, CrdtOnMessageQuery, CrdtOnPresenceChangeQuery, CrdtOnRegisteredUserChangeQuery, CrdtOnStateChangeQuery, CrdtPruneMessagesQuery, CrdtPushMessageQuery, CrdtRegisterSyncUserQuery, CrdtSaveSnapshotQuery, CrdtSetPresenceQuery, CrdtSaveVersionQuery, CrdtSnapshotData, CrdtUpdateDataQuery, CrdtUpdateStateQuery } from "../data/crdt.data.model";
|
|
3
3
|
import { CrdtEventTypesMap } from "../data/crdt-events.data.model";
|
|
4
4
|
|
|
5
5
|
export declare class CrdtElement {
|
|
@@ -80,6 +80,12 @@ export declare class CrdtElement {
|
|
|
80
80
|
*/
|
|
81
81
|
getVersion: (getVersionQuery: CrdtGetVersionQuery) => Promise<any>;
|
|
82
82
|
|
|
83
|
+
/**
|
|
84
|
+
* Get all versions of a specific CRDT document
|
|
85
|
+
* @param id Document ID
|
|
86
|
+
*/
|
|
87
|
+
getVersions: (getVersionsQuery: CrdtGetVersionsQuery) => Promise<any>;
|
|
88
|
+
|
|
83
89
|
/**
|
|
84
90
|
* Enable webhook
|
|
85
91
|
*/
|
|
@@ -96,6 +102,51 @@ export declare class CrdtElement {
|
|
|
96
102
|
*/
|
|
97
103
|
setWebhookDebounceTime: (time: number) => void;
|
|
98
104
|
|
|
105
|
+
/**
|
|
106
|
+
* Push a lib0-encoded message to the unified message stream.
|
|
107
|
+
* Uses Firebase push() for chronologically-ordered keys.
|
|
108
|
+
* Carries both sync (type 0) and awareness (type 1) messages.
|
|
109
|
+
* @param pushMessageQuery - contains id, data (encoded bytes), yjsClientId (Y.Doc client ID), optional messageType and eventData
|
|
110
|
+
*/
|
|
111
|
+
pushMessage: (pushMessageQuery: CrdtPushMessageQuery) => Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Subscribe to the unified message stream for real-time sync.
|
|
114
|
+
* Emits each new message individually as it arrives (streaming pattern).
|
|
115
|
+
* Returns an unsubscribe function.
|
|
116
|
+
* @param onMessageQuery - contains id, callback, and optional afterTs for filtering
|
|
117
|
+
*/
|
|
118
|
+
onMessage: (onMessageQuery: CrdtOnMessageQuery) => () => void;
|
|
119
|
+
/**
|
|
120
|
+
* Fetch all messages after a given timestamp (one-time read).
|
|
121
|
+
* Used for message replay during initial load (y-redis pattern).
|
|
122
|
+
* @param getMessagesQuery - contains id and optional afterTs
|
|
123
|
+
*/
|
|
124
|
+
getMessages: (getMessagesQuery: CrdtGetMessagesQuery) => Promise<CrdtMessageData[]>;
|
|
125
|
+
/**
|
|
126
|
+
* Get the latest full-state snapshot for a document.
|
|
127
|
+
* Used as the baseline for message replay during initial load.
|
|
128
|
+
* @param getSnapshotQuery - contains id
|
|
129
|
+
*/
|
|
130
|
+
getSnapshot: (getSnapshotQuery: CrdtGetSnapshotQuery) => Promise<CrdtSnapshotData | null>;
|
|
131
|
+
/**
|
|
132
|
+
* Save a full-state snapshot (state + vector) for fast initial load.
|
|
133
|
+
* Called periodically to create checkpoints, enabling message pruning.
|
|
134
|
+
* @param saveSnapshotQuery - contains id, state (Y.Doc update), and vector (state vector)
|
|
135
|
+
*/
|
|
136
|
+
saveSnapshot: (saveSnapshotQuery: CrdtSaveSnapshotQuery) => Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Remove messages older than the given timestamp from the message stream.
|
|
139
|
+
* Called after saving a snapshot to keep the message stream bounded.
|
|
140
|
+
* @param pruneMessagesQuery - contains id and beforeTs
|
|
141
|
+
*/
|
|
142
|
+
pruneMessages: (pruneMessagesQuery: CrdtPruneMessagesQuery) => Promise<void>;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* To set activity debounce time for batching CRDT edits (Default value is 10 minutes)
|
|
146
|
+
* @param time debounce time in milliseconds (minimum: 10 seconds)
|
|
147
|
+
*/
|
|
148
|
+
setActivityDebounceTime: (time: number) => void;
|
|
149
|
+
|
|
99
150
|
/**
|
|
100
151
|
* Subscribe to crdt actions
|
|
101
152
|
* @param action Action to subscribe to
|
|
@@ -188,6 +239,36 @@ export declare class CrdtElement {
|
|
|
188
239
|
*/
|
|
189
240
|
private _getVersions;
|
|
190
241
|
|
|
242
|
+
/**
|
|
243
|
+
* Push a message to the unified message stream
|
|
244
|
+
*/
|
|
245
|
+
private _pushMessage;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Subscribe to the unified message stream
|
|
249
|
+
*/
|
|
250
|
+
private _onMessage;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Fetch all messages after a given timestamp
|
|
254
|
+
*/
|
|
255
|
+
private _getMessages;
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Get the latest snapshot for a document
|
|
259
|
+
*/
|
|
260
|
+
private _getSnapshot;
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Save a full-state snapshot
|
|
264
|
+
*/
|
|
265
|
+
private _saveSnapshot;
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Remove messages older than a given timestamp
|
|
269
|
+
*/
|
|
270
|
+
private _pruneMessages;
|
|
271
|
+
|
|
191
272
|
/**
|
|
192
273
|
* Enable webhook
|
|
193
274
|
*/
|
|
@@ -204,6 +285,12 @@ export declare class CrdtElement {
|
|
|
204
285
|
*/
|
|
205
286
|
private _setWebhookDebounceTime;
|
|
206
287
|
|
|
288
|
+
/**
|
|
289
|
+
* Set activity debounce time for batching CRDT edits
|
|
290
|
+
* @param time debounce time in milliseconds (minimum: 10 seconds)
|
|
291
|
+
*/
|
|
292
|
+
private _setActivityDebounceTime;
|
|
293
|
+
|
|
207
294
|
/**
|
|
208
295
|
* Subscribe to crdt actions
|
|
209
296
|
* @param action Action to subscribe to
|
package/app/utils/constants.d.ts
CHANGED
|
@@ -57,6 +57,8 @@ export declare class Constants {
|
|
|
57
57
|
static FIREBASE_PARTIAL_PATH_NOTIFICATIONS: string;
|
|
58
58
|
static FIREBASE_PARTIAL_PATH_ORGANIZATION_NOTIFICATIONS: string;
|
|
59
59
|
static FIREBASE_PARTIAL_PATH_LAST_NOTIFICATION_TIMESTAMP: string;
|
|
60
|
+
static FIREBASE_PARTIAL_PATH_ACTIVITIES: string;
|
|
61
|
+
static FIREBASE_PARTIAL_PATH_LAST_ACTIVITY_TIMESTAMP: string;
|
|
60
62
|
static FIREBASE_PARTIAL_PATH_HEARTBEAT: string;
|
|
61
63
|
static FIREBASE_PARTIAL_PATH_HEARTBEAT_BY_DOCUMENT: string;
|
|
62
64
|
static FIREBASE_PARTIAL_PATH_USERS: string;
|
|
@@ -206,6 +208,33 @@ export declare class Constants {
|
|
|
206
208
|
VELT_TEXT_HIGHLIGHT: string;
|
|
207
209
|
VELT_COMMENT_TEXT_PORTAL: string;
|
|
208
210
|
VELT_COMMENTS_SIDEBAR: string;
|
|
211
|
+
VELT_COMMENTS_SIDEBAR_V2: string;
|
|
212
|
+
VELT_COMMENT_SIDEBAR_SKELETON_V2: string;
|
|
213
|
+
VELT_COMMENT_SIDEBAR_PANEL_V2: string;
|
|
214
|
+
VELT_COMMENT_SIDEBAR_LIST_V2: string;
|
|
215
|
+
VELT_COMMENT_SIDEBAR_LIST_ITEM_V2: string;
|
|
216
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_V2: string;
|
|
217
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_CATEGORY_V2: string;
|
|
218
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_CATEGORY_CONTENT_V2: string;
|
|
219
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_ITEM_V2: string;
|
|
220
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_ITEM_INDICATOR_V2: string;
|
|
221
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_LIST_ITEM_LABEL_V2: string;
|
|
222
|
+
VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_V2: string;
|
|
223
|
+
VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_TRIGGER_V2: string;
|
|
224
|
+
VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_CONTENT_V2: string;
|
|
225
|
+
VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_CONTENT_MARK_ALL_READ_V2: string;
|
|
226
|
+
VELT_COMMENT_SIDEBAR_MINIMAL_ACTIONS_DROPDOWN_CONTENT_MARK_ALL_RESOLVED_V2: string;
|
|
227
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_V2: string;
|
|
228
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_TRIGGER_V2: string;
|
|
229
|
+
VELT_COMMENT_SIDEBAR_FILTER_DROPDOWN_CONTENT_V2: string;
|
|
230
|
+
VELT_COMMENT_SIDEBAR_HEADER_V2: string;
|
|
231
|
+
VELT_COMMENT_SIDEBAR_CLOSE_BUTTON_V2: string;
|
|
232
|
+
VELT_COMMENT_SIDEBAR_EMPTY_PLACEHOLDER_V2: string;
|
|
233
|
+
VELT_COMMENT_SIDEBAR_RESET_FILTER_BUTTON_V2: string;
|
|
234
|
+
VELT_COMMENT_SIDEBAR_PAGE_MODE_COMPOSER_V2: string;
|
|
235
|
+
VELT_COMMENT_SIDEBAR_FOCUSED_THREAD_V2: string;
|
|
236
|
+
VELT_COMMENT_SIDEBAR_FOCUSED_THREAD_BACK_BUTTON_V2: string;
|
|
237
|
+
VELT_COMMENT_SIDEBAR_FOCUSED_THREAD_DIALOG_CONTAINER_V2: string;
|
|
209
238
|
VELT_COMMENT_BUBBLE: string;
|
|
210
239
|
VELT_COMMENT_THREAD: string;
|
|
211
240
|
VELT_COMMENT_PIN: string;
|
|
@@ -244,7 +273,64 @@ export declare class Constants {
|
|
|
244
273
|
VELT_NOTIFICATIONS_HISTORY_PANEL: string;
|
|
245
274
|
VELT_WIREFRAME: string;
|
|
246
275
|
VELT_AUTOCOMPLETE: string;
|
|
276
|
+
VELT_AUTOCOMPLETE_PANEL: string;
|
|
277
|
+
VELT_AUTOCOMPLETE_OPTION: string;
|
|
278
|
+
VELT_AUTOCOMPLETE_OPTION_ICON: string;
|
|
279
|
+
VELT_AUTOCOMPLETE_OPTION_NAME: string;
|
|
280
|
+
VELT_AUTOCOMPLETE_OPTION_DESCRIPTION: string;
|
|
281
|
+
VELT_AUTOCOMPLETE_OPTION_ERROR_ICON: string;
|
|
282
|
+
VELT_AUTOCOMPLETE_GROUP_OPTION: string;
|
|
283
|
+
VELT_AUTOCOMPLETE_TOOL: string;
|
|
284
|
+
VELT_AUTOCOMPLETE_EMPTY: string;
|
|
247
285
|
VELT_AUTOCOMPLETE_CHIP: string;
|
|
286
|
+
VELT_AUTOCOMPLETE_CHIP_TOOLTIP: string;
|
|
287
|
+
VELT_AUTOCOMPLETE_CHIP_TOOLTIP_ICON: string;
|
|
288
|
+
VELT_AUTOCOMPLETE_CHIP_TOOLTIP_NAME: string;
|
|
289
|
+
VELT_AUTOCOMPLETE_CHIP_TOOLTIP_DESCRIPTION: string;
|
|
290
|
+
VELT_AUTOCOMPLETE_CONTEXT_WRAPPER: string;
|
|
291
|
+
VELT_ACTIVITY_LOG: string;
|
|
292
|
+
VELT_ACTIVITY_LOG_HEADER: string;
|
|
293
|
+
VELT_ACTIVITY_LOG_HEADER_TITLE: string;
|
|
294
|
+
VELT_ACTIVITY_LOG_HEADER_CLOSE_BUTTON: string;
|
|
295
|
+
VELT_ACTIVITY_LOG_HEADER_FILTER: string;
|
|
296
|
+
VELT_ACTIVITY_LOG_HEADER_FILTER_TRIGGER: string;
|
|
297
|
+
VELT_ACTIVITY_LOG_HEADER_FILTER_TRIGGER_LABEL: string;
|
|
298
|
+
VELT_ACTIVITY_LOG_HEADER_FILTER_TRIGGER_ICON: string;
|
|
299
|
+
VELT_ACTIVITY_LOG_HEADER_FILTER_CONTENT: string;
|
|
300
|
+
VELT_ACTIVITY_LOG_HEADER_FILTER_CONTENT_ITEM: string;
|
|
301
|
+
VELT_ACTIVITY_LOG_HEADER_FILTER_CONTENT_ITEM_LABEL: string;
|
|
302
|
+
VELT_ACTIVITY_LOG_HEADER_FILTER_CONTENT_ITEM_ICON: string;
|
|
303
|
+
VELT_ACTIVITY_LOG_LOADING: string;
|
|
304
|
+
VELT_ACTIVITY_LOG_LIST: string;
|
|
305
|
+
VELT_ACTIVITY_LOG_LIST_DATE_GROUP: string;
|
|
306
|
+
VELT_ACTIVITY_LOG_LIST_DATE_GROUP_LABEL: string;
|
|
307
|
+
VELT_ACTIVITY_LOG_LIST_ITEM: string;
|
|
308
|
+
VELT_ACTIVITY_LOG_LIST_ITEM_ICON: string;
|
|
309
|
+
VELT_ACTIVITY_LOG_LIST_ITEM_AVATAR: string;
|
|
310
|
+
VELT_ACTIVITY_LOG_LIST_ITEM_CONTENT: string;
|
|
311
|
+
VELT_ACTIVITY_LOG_LIST_ITEM_CONTENT_USER: string;
|
|
312
|
+
VELT_ACTIVITY_LOG_LIST_ITEM_CONTENT_ACTION: string;
|
|
313
|
+
VELT_ACTIVITY_LOG_LIST_ITEM_CONTENT_TARGET: string;
|
|
314
|
+
VELT_ACTIVITY_LOG_LIST_ITEM_CONTENT_DETAIL: string;
|
|
315
|
+
VELT_ACTIVITY_LOG_LIST_ITEM_TIME: string;
|
|
316
|
+
VELT_ACTIVITY_LOG_LIST_SHOW_MORE: string;
|
|
317
|
+
VELT_ACTIVITY_LOG_EMPTY: string;
|
|
318
|
+
VELT_ACTIVITY_LOG_CONTEXT_WRAPPER: string;
|
|
319
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER: string;
|
|
320
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_ICON: string;
|
|
321
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_TEXT: string;
|
|
322
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN: string;
|
|
323
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER: string;
|
|
324
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_LABEL: string;
|
|
325
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_AVATAR_LIST: string;
|
|
326
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_AVATAR_LIST_ITEM: string;
|
|
327
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_AVATAR_LIST_REMAINING_COUNT: string;
|
|
328
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_TRIGGER_ICON: string;
|
|
329
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT: string;
|
|
330
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ITEM: string;
|
|
331
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ITEM_ICON: string;
|
|
332
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_ITEM_LABEL: string;
|
|
333
|
+
VELT_COMMENT_DIALOG_VISIBILITY_BANNER_DROPDOWN_CONTENT_USER_PICKER: string;
|
|
248
334
|
VELT_COMMENT_COMPOSER: string;
|
|
249
335
|
VELT_SKELETON_LOADER: string;
|
|
250
336
|
VELT_SHADOW_DOM_INTERNAL: string;
|
package/app/utils/enums.d.ts
CHANGED
|
@@ -25,7 +25,11 @@ export declare enum ResolverActions {
|
|
|
25
25
|
REACTION_ADD = "reaction.add",
|
|
26
26
|
REACTION_DELETE = "reaction.delete",
|
|
27
27
|
ATTACHMENT_ADD = "attachment.add",
|
|
28
|
-
ATTACHMENT_DELETE = "attachment.delete"
|
|
28
|
+
ATTACHMENT_DELETE = "attachment.delete",
|
|
29
|
+
RECORDER_ANNOTATION_ADD = "recorder_annotation.add",
|
|
30
|
+
RECORDER_ANNOTATION_UPDATE = "recorder_annotation.update",
|
|
31
|
+
RECORDER_ANNOTATION_DELETE = "recorder_annotation.delete",
|
|
32
|
+
ACTIVITY_SAVE = "activity.save"
|
|
29
33
|
}
|
|
30
34
|
export declare const CommentEventTypes: {
|
|
31
35
|
readonly ADD_COMMENT_ANNOTATION: "addCommentAnnotation";
|
|
@@ -60,9 +64,13 @@ export declare const CommentEventTypes: {
|
|
|
60
64
|
readonly COMMENT_PIN_CLICKED: "commentPinClicked";
|
|
61
65
|
readonly COMMENT_BUBBLE_CLICKED: "commentBubbleClicked";
|
|
62
66
|
readonly COMMENT_TOOL_CLICK: "commentToolClick";
|
|
67
|
+
readonly COMMENT_TOOL_CLICKED: "commentToolClicked";
|
|
63
68
|
readonly SIDEBAR_BUTTON_CLICK: "sidebarButtonClick";
|
|
69
|
+
readonly SIDEBAR_BUTTON_CLICKED: "sidebarButtonClicked";
|
|
64
70
|
readonly ATTACHMENT_DOWNLOAD_CLICKED: "attachmentDownloadClicked";
|
|
65
71
|
readonly COMMENT_SAVED: "commentSaved";
|
|
72
|
+
readonly COMMENT_SAVE_TRIGGERED: "commentSaveTriggered";
|
|
73
|
+
readonly VISIBILITY_OPTION_CLICKED: "visibilityOptionClicked";
|
|
66
74
|
};
|
|
67
75
|
export declare const RecorderEventTypes: {
|
|
68
76
|
readonly TRANSCRIPTION_DONE: "transcriptionDone";
|
|
@@ -83,6 +91,9 @@ export declare const CoreEventTypes: {
|
|
|
83
91
|
readonly COMMENT_RESOLVER: "commentResolver";
|
|
84
92
|
readonly ATTACHMENT_RESOLVER: "attachmentResolver";
|
|
85
93
|
readonly REACTION_RESOLVER: "reactionResolver";
|
|
94
|
+
readonly RECORDER_RESOLVER: "recorderResolver";
|
|
95
|
+
readonly NOTIFICATION_RESOLVER: "notificationResolver";
|
|
96
|
+
readonly ACTIVITY_RESOLVER: "activityResolver";
|
|
86
97
|
readonly VELT_BUTTON_CLICK: "veltButtonClick";
|
|
87
98
|
readonly USER_UPDATE: "userUpdate";
|
|
88
99
|
readonly INIT_UPDATE: "initUpdate";
|
|
@@ -168,7 +179,8 @@ export declare enum Features {
|
|
|
168
179
|
REWRITER = "rewriter",
|
|
169
180
|
LIVE_SELECTION = "liveSelection",
|
|
170
181
|
NOTIFICATION = "notification",
|
|
171
|
-
REACTION = "reaction"
|
|
182
|
+
REACTION = "reaction",
|
|
183
|
+
ACTIVITY = "activity"
|
|
172
184
|
}
|
|
173
185
|
export declare enum AnalyticsFeatures {
|
|
174
186
|
AREA = "area",
|
|
@@ -190,7 +202,7 @@ export declare enum AnalyticsFeatures {
|
|
|
190
202
|
INLINE_COMMENT = "inlineComment",
|
|
191
203
|
COMMENT_SIDEBAR = "commentSidebar"
|
|
192
204
|
}
|
|
193
|
-
export type FeatureType = 'area' | 'arrow' | 'audioHuddle' | 'comment' | 'cursor' | 'huddle' | 'liveStateSync' | 'presence' | 'recorder' | 'rewriter' | 'tag' | 'liveSelection' | 'notification' | 'reaction' | 'multiThread';
|
|
205
|
+
export type FeatureType = 'area' | 'arrow' | 'audioHuddle' | 'comment' | 'cursor' | 'huddle' | 'liveStateSync' | 'presence' | 'recorder' | 'rewriter' | 'tag' | 'liveSelection' | 'notification' | 'reaction' | 'multiThread' | 'activity';
|
|
194
206
|
export type AssignToType = 'dropdown' | 'checkbox';
|
|
195
207
|
export declare enum DeviceType {
|
|
196
208
|
DESKTOP = "Desktop",
|
|
@@ -309,3 +321,13 @@ export type NotificationSettingsItemType = 'ALL' | 'MINE' | 'NONE' | string;
|
|
|
309
321
|
* Type for notification settings layout
|
|
310
322
|
*/
|
|
311
323
|
export type NotificationSettingsLayout = 'accordion' | 'dropdown';
|
|
324
|
+
/**
|
|
325
|
+
* Enum for comment visibility options in the visibility banner dropdown
|
|
326
|
+
*/
|
|
327
|
+
export declare enum CommentVisibilityOption {
|
|
328
|
+
RESTRICTED_SELF = "restrictedSelf",
|
|
329
|
+
RESTRICTED_SELECTED_PEOPLE = "restrictedSelectedPeople",
|
|
330
|
+
ORGANIZATION_PRIVATE = "organizationPrivate",
|
|
331
|
+
PUBLIC = "public"
|
|
332
|
+
}
|
|
333
|
+
export type CommentVisibilityOptionType = `${CommentVisibilityOption}`;
|
package/models.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './app/utils/enums';
|
|
2
2
|
export * from './app/models/data/anchor-record.data.model';
|
|
3
3
|
export * from './app/models/data/attachment.model';
|
|
4
|
+
export * from './app/models/data/activity.data.model';
|
|
4
5
|
export * from './app/models/data/area-annotation.data.model';
|
|
5
6
|
export * from './app/models/data/arrow-annotation.data.model';
|
|
6
7
|
export * from './app/models/data/base-metadata.data.model';
|
|
@@ -37,6 +38,7 @@ export * from './app/models/data/location.model';
|
|
|
37
38
|
export * from './app/models/data/media-preview-config.data.model';
|
|
38
39
|
export * from './app/models/data/multi-thread.data.model';
|
|
39
40
|
export * from './app/models/data/notification.model';
|
|
41
|
+
export * from './app/models/data/notification-resolver.data.model';
|
|
40
42
|
export * from './app/models/data/notifications-events.data.model';
|
|
41
43
|
export * from './app/models/data/page-info.model';
|
|
42
44
|
export * from './app/models/data/permission.data.model';
|
|
@@ -71,7 +73,9 @@ export * from './app/models/data/views.data.model';
|
|
|
71
73
|
export * from './app/models/data/autocomplete.data.model';
|
|
72
74
|
export * from './app/models/data/reaction-annotation.data.model';
|
|
73
75
|
export * from './app/models/data/reaction-resolver.data.model';
|
|
76
|
+
export * from './app/models/data/recorder-resolver.data.model';
|
|
74
77
|
export * from './app/models/data/attachment-resolver.data.model';
|
|
78
|
+
export * from './app/models/data/activity-resolver.data.model';
|
|
75
79
|
export * from './app/models/data/reaction.data.model';
|
|
76
80
|
export * from './app/models/data/organization-groups.data.model';
|
|
77
81
|
export * from './app/models/data/organization-metadata.model';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veltdev/sdk",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.2-beta.10",
|
|
4
4
|
"description": "Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.",
|
|
5
5
|
"homepage": "https://velt.dev",
|
|
6
6
|
"keywords": [
|
package/types.d.ts
CHANGED
|
@@ -17,4 +17,5 @@ export * from './app/models/element/notification-element.model';
|
|
|
17
17
|
export * from './app/models/element/autocomplete-element.model';
|
|
18
18
|
export * from './app/models/element/reaction-element.model';
|
|
19
19
|
export * from './app/models/element/crdt-element.model';
|
|
20
|
+
export * from './app/models/element/activity-element.model';
|
|
20
21
|
export * from './models';
|